Смешанное кодирование


Здесь будет подробно рассмотрена сама процедура смешанного кодирования с использованием конкретной программы ProjectDivX. Можете воспользоваться русификатором программы от Сибирского Лихомана. Файл russian.ini надо поместить в папку Language в директории, где лежит ProjectDivX 1.5, затем выбрать в Options=>Language=>Russian-SL.

По ходу дела одна рекомендация - скачайте новый вариант кодеков Low-Motion и Fast-Motion, позволяющих реально вставлять ключевые кадры в необходимые места, что позволит улучшить в конечном итоге качество компрессии... После скачивания и распаковки поместите файлы DivXc32.dll и DivXc32f.dll в папку c:\\windows\system, заменив имеющиеся, которые были установлены при инсталляции кодека divx_311alpha.

Итак, у Вас имеется некий фильм на DVD-диске, в котором иногда присутствуют динамичные сцены... Есть, также, желание сохранить фильм с наименьшими потерями в качестве. Поскольку добиться этого с применением какого-либо кодека (Fast-Motion или Low-Motion) скорее всего не удастся, то на помощь нам приходит технология смешанного кодирования. Для начала хотелось бы посоветовать ориентироваться на объем двух матриц для размещения фильма после компрессии, особенно если Вы сохраняете звук, близкий к оригиналу, по схеме AC-3 5.1 downmix to MP3-stereo x 2 (не ищите такую формулировку, поскольку я сам так выразился и это - тема для отдельной страницы), кроме того, это позволит Вам применить большую скорость потока для звука, скажем 224кбит/сек.

На самом деле сам процесс смешанного кодирования пока не автоматизирован полностью и скорее является творческим, я бы сказал... Если Вы ознакомились со статьей henkel, то представляете себе суть методики. После двойной компрессии разными кодеками, необходимо отследить места с артефактами в варианте Low-Motion и попытаться заменить их вариантами Fast-Motion. Именно этот этап и не выглядит привлекательным, поскольку необходимо напрягать внимание, не ошибиться в численных значениях фреймов, нуждающихся в замене и т.д.. Гораздо привлекательнее выглядит функция автоматического создания листа чередования отрывков фильма из разных вариантов (о ней будет подробнее рассказано ниже), но для ее использования необходим эталонный вариант фильма, сжатый в формате Intel Indeo, Motion-JPEG, что представляет уже определенную сложность... Если же такой вариант есть, то процесс комбинирования фильма из разных вариантов компрессии (Low и Fast) практически автоматизируется и после обработки Вы получаете некую схему чередования отрывков, в которую, кстати, можно при желании внеси изменения на свое усмотрение.

Итак, для начала компрессируем фильм в двух вариантах, с одинаковым разрешением картинки (в настройках кодеков в поле Keyframe должны стаять одинаковые значения), причем объем любого из них не должен превышать тот, который Вы примерно подсчитали для своего количества матриц. Далее, запускаем программу и открываем поочередно оба варианта в соответсвтующих окнах программы (назавем эти варианты low.avi и fast.avi):

Назначение некоторых клавиш управления программы: Интерфейс программы ProjectDivX

Теперь наша задача выявлять места, в которых наблюдаются явные артефакты в каком-либо варианте и чередовать их. Делается это следующим образом: проходим фильм по ключевым кадрам, наблюдая изображение в окнах и в какой-то момент замечаем, что вариант Low выглядит хуже, чем вариант Fast. Нажимаем клавишу Set end и Add as "low" part. В поле Encoding List появляется строка, говорящая о том, что вплоть до того фрейма на котором мы остановились, будет применяться отрывок фильма в варианте Low-Motion. Далее,проходим необходимое количество ключевых кадров и нажимаем Set end и Add as "fast" part, тем самым задавая промежуток использования варианта Fast-Motion. В строке Encoding List появляется следующая строка. Аналогичным образом проходим весь фильм, выявляя места с артефактами и выбирая лучшие варианты компрессии. После того, как это сделано и фильм просмотрен полностью, необходимо запустить сам процесс комбинирования по заданной нами схеме, нажав клавишу Start Creation. Программа попросит указать имя и расположение создаваемого файла. Рекомендую сохранить вариант листа кодирования, нажав клавишу Save Project Settings, а вызвать в дальнейшем для корректировки или повторного использования созданную ранее схему, можно клавишей Load Project Settings.

Рассмотренная схема создания листа кодирования не является автоматизированной, как Вы наверное заметили:), на мой взгляд интерес представляет как раз возможность автоматического создания листа кодирования... Для этого необходимо нажать клавишу Auto Create Encoding List. Но самое главное, что необходимо для использования этой возможности программы - эталонный *.avi-файл, причем имеющий то же разрешение картинки, что и у обоих вариантов, сжатых разными кодеками. Вот здесь-то и возникает самая большая на мой взгляд проблема - создать эталонный вариант фильма. Автор программы ProjectDivX рекомендует сжатое видео кодеком Intel Indeo, Motion-JPEG и т.п.. Я эксперементировал с кодеком Indeo@ video 5.07, выбирая максимальные параметры для наилучшего качества получаемого файла. Надо сказать, что объем сжатого файла в результате был ненамного меньше оригинала, а сама процедура была уж о-о-чень продолжительной...

Если все-таки есть возможность создать такой эталонный вариант, то дальше, что необходимо сделать - выбрать в соответствующем поле расположение эталонного файла и нажать клавишу Start. Через определенное время программа проанализирует файлы и выдаст свой вариант чередования отрывков в поле Encoding List.

Полученый вариант листа можно подкорректировать на свое усмотрение при необходимости или сразу принять его, нажав клавишу Start Creation и выбрав имя и расположение конечного варианта, который и будет результатом смешанного кодирования.

Применяя новые кодеки DivX.Scene-Detect.Patch.v1.0 (рекомендованные мною в начале статьи), для получения Fast- и Low-вариантов фильмов, общее количество ключевых кадров в том и другом варианте скорее всего не совпадет (в варианте Low их будет больше). Однако, в абсолютном большинстве КК будут размещены в одних и тех же местах. При комбинировании в автоматическом режиме, программа сама справится с выбором лучших вариантов компрессии и с подбором одинаковых (имеющихся у того и другого варианта) КК. Если Вы будете самостоятельно создавать лист комбинирования, то обращайте внимание на то, что необходимо будет выбирать КК, имеющиеся у обоих вариантов.

В заключении хотел бы сказать, что применение обновленных кодеков компрессии в совокупности с технологией смешанного кодирования, позволит значительно улучшить качество картинки, вплотную приблизившись к оригиналу и, пожалуй, является наилучшим вариантом создания качественных копий на данный момент...

Hosted by uCoz