Вот, зацените функцию преобразования RGB->YUV в референсном коде mpeg2 - mpeg2v12.zip в readpic.c функция read_ppm: Код (Text): for (i=0; i<vertical_size; i++) { yp = frame[0] + i*width; up = u444 + i*width; vp = v444 + i*width; for (j=0; j<horizontal_size; j++) { r=getc(fd); g=getc(fd); b=getc(fd); /* convert to YUV */ y = cr*r + cg*g + cb*b; u = cu*(b-y); v = cv*(r-y); yp[j] = (219.0/256.0)*y + 16.5; /* nominal range: 16..235 */ up[j] = (224.0/256.0)*u + 128.5; /* 16..240 */ vp[j] = (224.0/256.0)*v + 128.5; /* 16..240 */ } } Я встречал просто тучу DVD с такой коррекцией и на качественном S-IPS\S-PVA это выглядет неочень хорошо, т.к. в отлиние от ЭЛТ телевизора\моника яркость 16 для него вовсе не черный) Да и вообще такой сжатый диапазон не есть хорошо, сильно сжатая картинка в таком диапазоне выглядит намного жуже если диапазон разжать и потратить на нее столько же бит.
kaspersky "Королевская битва", она же "Battle Royale". Кто видел - тот надолго запомнит и с легкостью узнает.
fluderast #В видео применять информацию от одного кадра к другому не всегда корректно. на соседних кадрах (если только не происходит смены сцены) изображение меняется вполне предсказуемо, а вектор перемещения кодек вычисляет на нас так что можно даже не трудится #Какой софт реализует этот метод в таком чудесном виде? в чистом - не знаю, не интересовался. а в в "нечистом" входит в состав многих астрономических программ. это на www.astronomy.ru в разделе астрография лучше задать вопрос. #но убрать шум на всем видео - чудес не бывает первыми с шумами начали бороться астрономы, поскольку они первыми перешли на ПЗС матрицы (простой народ тогда вообще не знал что это такое) а они шумят даже при охлаждении жидким гелеем, а выдержки у астрономов длинные... а "лишние" звезды для них смертельны... чуть позже теже алгоритмы применили и для видео. никто не говорит о чуде. есть реально работающие методики, дающие реальный результат. почему они не получили массового распростанения в народе? ну тут уж - хрен знает. почему не получил того же _массовго_ распростанения FFDShow, умеющий многое из того, что я описал и кстати, opensource, т.е. бери и смотри... только ведь не хочет массовый пользователь ничего делать этого... более того, тут говорили о мыле, но пропустили мою реплеку о квантовой последовательности, которая во многих кодеках по умолчанию имеет вид Q, Q+1, Q+2... Q+N, Q, Q+1, Q+2... Q+N, из чего следует, что мы можем повысить качество сжатого файла, поскольку имея на руках вектора перемещения и макроблоки качества Q, мы можем восстановить практически все детали блоков Q+x. Bob на счет матрицы - согласен. CyberManiac увы. не видел. в моей коллекции такого нет. а может и есть. надо сейчас посмотреть... semen сжатая схема возникла еще во времена цветного TV, и тут выяснилось, что передача "чистого" RGB требует охренительно широкой полосы пропускания, которую, ес-но, никто давать не собирался. вот и пришлось, используя особенности чел. воспрития ее ужимать. в книгах по ремонту телевизоров это хорошо описано. на DVD таже история. только тут не полоса пропускания, а битрейт, но суть таже. вот только colorspace много хороших и разных ;( и в процессе перегона материала с пленки на DVD, а с DVD в mpeg4 они переконверитруются несколько раз, постепенно ухужшая качество... к тому же не все карты корректно отображают что-то отличиное от RGB. во всяком случае моя NVIDIA на аппаратном уровне кажет в YUV значительно хуже, чем в RGB, при условии применения алгоритма "качественной конвретрации", поддерживаемого FFDShow Bob # Можно у Вас вопрос спросить, # не совсем по теме видео (точнее совсем не по теме), а про DVD. на DVD все значительно сложнее. начнем с того, что обычно он защифрован а рекордеры ключи писать не умеют и они уже "зашиты" в болванку. поэтому, чтобы скопировать DVD надо сначала его расшифровать, чем занимается масса утилит, например, DVD Decryptor (взять можно на doom9.org). semen # Что касается самого сжатия, то с h264\AVC, особенно в # CABAC профайле(но CABAC жрет больше ресурсов намного # и нужен мощный комп) можно достьчь гораздо большего # нежели с DIVX\XVID и другими mpeg4 подобными. базовые алгоритмы сжатия не изменились со времен mp3 делаем dtc преобразование, квантуем (убираем коффициенты, теряя детали), ну и все... это и есть фундмент всех кодеков. а вот что над ним - храним только различия между кадрами, распознаем движение, наезд, проч. виды трансформации, остекаем больше деталей в ярких светах и темных тенях (где человек их не видит), отделяем задний план от перед. и замыливаем задний сильнее... прорыва в области сжатия не произошло... H.264 фактически стандартизует идеи уже реализованные в разных mpeg4 кодеках, типа XviD.
kaspersky Первая часть ответа я не понял к чему) Я вкурсе что такое и зачем YUV и зачем UV прореживают) я лишь указывал на ненужную операцию уже с преобразованными в YUV компонентами а именно запихивание а рэндж 16..235 y компоненты и в 16..240 u и v компоненты. Что вдобавок при многократной перепаковке может дать сильные искажения даже при макс. качестве сжатия т.к. он будет сжимать диапазон каждый раз. В этом легко убедиться, сжимая референсным кодом полностью черный кадр RGB(0,0,0) на выходе получаем кадр YUV(16,0,0) после преобразования в RGB этот порог останется и если его сжать снова, то на выходе получим YUV(32,0,0) итд. тоесть нижня планка повышается а верхняя понижается и при 8й перепаковке уровень яркости схлопнется посередине. Насчет второго несогласен h264 имеет принципиальные отличия, так же как имеет их mpeg4 по сравнению с mpeg2 (правда намного меньше чем h264 vs mpeg4). Для h264 это прежде всего 6-tap фильтр, DCT 4х4, встроенный в стандарт деблокинг, FMO, моушн тоже изменился до 4х4, буффер референсных кадров, лонг и шорт референсы и многое другое, формат битстрима тоже переделан с нуля, не держа "тяжелое наследие", внесено кодирование арифметическим кодером - аналог SAC в h263, формат потока тоже другой, поток делится не на vop`ы а на nal`ы упрощая пакетизацию. Насчет деблокинга можно возразить - мол в дивиксе и иксвиде он тоже есть, но есть одно но - там он как постпроцесс, тоесть в реконструкции кадра учавствовать не может, а тут он в стандарте и улучшенный деблокингом кадр учавствует в восстановлении других. Вообще субъективно h264 _намного_ качественее mpeg4. Не просто наобум , а если с умом и то и то кодировать, добиваясь лучшего результата. h264 уже закреплен как стандарт для HD контента который будет на HD-DVD и BR, тоесть замещает mpeg2. Единственный конкурент ему пока только новый WMV VC-1, который собственно и является переделаным немного h264 - так же как flv (flash video) является переделанным h263) На подходе уже новые алгоритмы с новыми отличиями, использующие не только DCT но и другие преобразования, моушн у которых не прямоугольный, а использующие афинные преобразования, например Nokia MVC. И даже после этого поколения есть что улучшать. Так что прогресс тут не стоит на месте.
semen никто не спорит, что H.264 - будущий промышленный стандарт, и что, будучи не связанным бременем совместимости, он может (и должен обеспечивать лучшее качество при том же битрейте. я просто говорил, что _прорывом_ там и не пахнет ;(
kaspersky Ну смотря что считать прорывом) как по мне так лучше сжимать им, получая выигрыш до 1.5-2 раза в размере при субективно одинаковом качестве (для моего глаза разумеется) или гораздо лучшем качеством при одном размере) (при качественном сжатии - например HDTV ff7 без видимых искажений у меня сжался в 2 гига, тогда как xvid - в 4 и все равно немного хуже субъективно) Разумеется это относится к тому что формат лучше а не конкретный кодер, конечно можно сжать плохо в любой формат) Все равно большинство кодеров не выжимают все даже из mpeg4, а h264 чтобы все фишки поддерживал кодер я вообще такого незнаю) ни nero ни x264 всего что есть в стандарте не поддерживают, ffdshow даже декодирует далеко не все, насколько я помню даже CABAC не декодирует.
kaspersky Как же ты их сравнишь, если в потоке хранятся только отличия текущего кадра от предыдущего(их)? Или сравнивать предполагается каждые 60 и более кадров?
Quantum наверное, поток сначала нужно декодировать сохранение различий (и векторов) это та часть компрессии, в которой потерь деталей нет
semen что такое HDTV? 2.5 часовой фильм с DVD9 и XviD в однин проход с Q = 2 жмет до ~ 2х гигов (или даже менее того!), а при Q == 2 теряется _очень_ мало деталей. в XviD'е настройки по умолчанию они... как бы сказать... рассчитаны так, чтобы филь загнать в 1 CD. на высоких битрейтах они поганят качество и занимают дофига размера. если есть желание поэкспериментировать, поставть в XviD'е MAX B-frames = 3, Q-ratio = 1.00, Q-offset = 0.00, MIN Q = 2, и попробуй сжать еще раз. а потом сравни результат. и матрицу не H.263, а MPEG-2. кстати, при проходе в один раз, все настроки типа GMC сразу приобретают свой изначальный смыл, т.к. реально сэкономленные биты идут на реальное уменьшение размера файла, а качество уже задано Q и оно константа (надеюсь, все знают, что Q должен быть целым, иначе будет муть), а при сжатии в два прохода, отвоеванные биты позволяют сжать _некоторые_ фреймы с меньшим Q, но! на общую картину это очень слабо влияет. в результате мы имеем качество на уровне средней руки и офигенный размер... P.S. я не имеют ничего против x264, и я просто хочу сказать, что используя XviD (должным образрм настроенный) можно получить результат _тогоже_порядра_. ну никак не сжать файл плотнее в 2 раза с тем же качеством!!! сейчас вот спросил тех, кто с ним плотно работал - они называют более правдоподобную цифрую ~30%, да и то, только с 263-martix, а она "замыливает"... но это все равно речь про низкие битрейты. на высоких битрейтах разрыв между x264 и XviD'ом еще больше сокращается...
kaspersky HDTV(High-Definition Television) фильмы это фильмы в разрешени 1920x1080 (60i, 30p, 24p), 1280x720 (60p, 30p, 24p) Стандартный h264 рип занимает 4-8гб(обычно с AAC или AC3 дорожкой), когда исходник фильма в mpeg2 (пока других источников нет) занимает ~30гб. HDTV или не HDTV вобщем неважно, хотя h264 показывает себя лучше именно на высоких разрешениях. Я незнаю кто называет 30% но мне это ноичем не говорит пока я не узнаю как они сжимали, чем и в какой профайл, включали ли CABAC, FMO, деблокинг, задействован ли lowpass фильтр. Я говорю за себя и что сам получал. Вобщем почему бы самому не попробовать? К слову подавляющее число рипов HDTV именно в h264, качество этих рипов намного выше неперепакованного DVD.
semen ну вообще-то, x264 это mpeg4 кодек ну почти он определяется ISO 14496-10, а DivX, XdiV - ISO 14496-2. VfW Build'ы для x264 уже не поддерживаются ;( ну это понятно - стало тесно в рамках vfw... cli меня если честно не вдохновляет... заюзал AviDemux. сжал гозиллу с дефлотными настройками. расжать не смог. на P-III 733 под FFDShow вообще не тянет ;( на P-4 с NeroDigital декодером тоже не вытягивает... не для моих машин в общем это дело...
kaspersky Да со стороны ISO это стандарт ISO/IEC 14496-10 ака MPEG-4 Part 10 ака MPEG-4 AVC, со стороны ITU - ITU H.264 Я же говорю именно различие "старого" mpeg4 ака ISO 14496-2 и нового 14496-10, алгоритмы которых различаются ну очень сильно. Что касается скорости то можно в и h264 сжать так, что есть будет примерно столько же сколько и обычный mpeg4, если не заюзать ничего жрущего ресурсы, а именно CABAC, lowpass filter, деблокинг, новые виды компенсации движения, но и выигрвывать по сравнению с ним будем соответствующе.
semen зажевал короче я этот самый старндарт x.264 и основательного его погрыз. все мои худшие опасения подтвердились - это не шаг вперед, а шажок вот, кстати, неплохой реферат на эту тему: http://compression.graphicon.ru/download/articles/video/standards/state-of-the-art-video-compression.pdf
kaspersky Так быстро его зажевать нельзя. В статье что ты указал вообще ни про что не сказано, только DCT4x4 упомянуто - и ты радосно думаешь что больше нет отличий?) ты хотябы фильтр взгляни и опробуй его эксперементально, смотреть референсный JM->transform8x8.c Проблема же эффективного сжатия в этот формат будет стоять еще очень долго, так же как развивались алгоритмы качественного сжатия в MPEG2\MPEG4 - даже будучи гораздо простыми форматами выжать из них все за разумное время сжатия довольно сложно. В h264 это _намного_ сложнее и таких кодеров пока нет. Конечно h264 это не чтото сверхестественное, есть что улучшать и в неизменяющих требования к ресурсам частях, так и добавлять много что от форматов следеющего поколения требовательного к ресурсам. Для первого уже позно, для второго пока и так хватит, для текущих мощностей - h264 может быть _очень_ жрущим ресурсы.
semen > Так быстро его зажевать нельзя. мыщъх вообще быстро грызет и еще быстрее читает > В статье что ты указал вообще ни про что не сказано, > только DCT4x4 упомянуто - и ты радосно думаешь что больше нет отличий?) фундамент остается прежним. DCT -> квантование -> сжатие (арифмет. или хауф) в xvid'е уже обсуждается динамическая генерация адаптивных матриц, которая способа дать значительный выигрыш в сжатии... ты лучше скажи что нового в x264? именно нового? а не просто "узаконенного"?! вот _нового_ я в нем в упор ничего не вижу. ну CAVLC/CABAC, согласен. а что еще?! только по существу! не нужно хорошего деблокинга, ибо на разумных битрейтах он нафиг не нужен... > ты хотябы фильтр взгляни и опробуй его эксперементально, > смотреть референсный JM->transform8x8.c ну я распотрошил x264 - a free h264/avc encoder http://developers.videolan.org/x264.html > так же как развивались алгоритмы качественного сжатия в MPEG2\MPEG4 > даже будучи гораздо простыми форматами выжать из них все за разумное а ты в курсе что 90% алгоритмов MPEG4 перешло из MPEG1? c минимальными изменениями, таким как, например, поддержка черезстрочечного режима... I, P, B фреймы, предсказание движение в нем уже были... на счет S-фрймов сейчас точно не скажу, но ладно, фундамент ведь тот же.
извините что не совсем в тему.. Есть ли проги для покадрового просмотра DVD? Мне нужно доказать озону что они продали некачественный DVD, мне кажется что он вообще пиратский, слишком много в нем странностей наряду с визуальными дефектами и звуковыми. Есть ли какие-то организации куда можно отправить DVD на экспертизу?
Asterix AVIDEMUX - шикарная программа для работы с видео http://fixounet.free.fr/avidemux/ (файлы > 4 Гб не понимает, если DVD зашифрован CSS, перед работы с ним его нужно расшифровать DVDDecryptor'ом) там же хороший видео-редактор VirtualDubMod, который вместе с декруптором можно найти на www.doom9.org - бесплатно дефекты на DVD встречаются сплошь и рядом. я еще не видел ни одного DVD не нарушающего в чем-то стандарт. например, диск "FOG" от "Мега-Видео" имеет изображение в PAL, криво перегнанный из NTSC, а eng-звуковую дорожку... в NTSC! чтобы ее синхронизовать пришлось выставить нестандартый fps равный 24.06, но все равно получилось слегка неточно, а точнее нельзя, т.к. 24.06x задать не получается ;( хотя можно вручую повозиться и добиться синхрона, но это же охрененть можно будет... кстати, диск писался в Nero как и большинство других вполне лицензионных дисков... какая еще организация по экспертизе? обычное общество по борбе с качеством p.s. что за дефекты? в большинстве случаев они устранимы...
спасибо, попробую а вот это плохо, хотя DVD ведь обычно состоит из нескольких файлов размером ~ 1 гиг, так что проблемой не должно быть вот такие, скрин я выкладывал несколькими постами ранее http://www.wasm.ru/forum/viewtopic.php?pid=149024#p149024 такие не устранимы %) причем периодические по всему фильму, ozon утверждает что они проверили диск из партии и дефекта не обнаружили, предлагает прислать им диск на "экспертизу" %) я сам уже попробовал юзать Light Alloy, но ее излишняя "падучесть" удручает, в ней есть покадровый просмотр в направлении "вперед"
Asterix 1) avidemux действительно рулит. очень мощная и простая. хотя может далеко не все, что бывает нужно. но с просмотром фильма справляется на раз. покрадровый просмотр, переход по времени, просмотр только ключевых кадров (I-frame), да и вообще - все... 2) по стандарнту на DVD не должно быть vob'ов > 4 Гб 3) я не совсем понимаю что это вобще такое (в смысле скрина), но сдается мне что это черезстрочечная.... артефакты характерные силуэт от соседнего кадра похоже.... но это может быть и твой кривой DVD-плеер. очень даже может быть.... смотри в avidemux, смотри в Dub'е... тогда разберешься смени плеер или попробуй срипай диск с фильтром SmartBob. можно даже не жать, а просто перегнать без сжатия обратно в DVD...