Усечение и масштабирование


Вспомните из предыдущего раздела, что конечный размер картинки, подлежащей кодированию, должен быть кратен 16 (как высота, так и ширина). Это может быть достигнуто усечением, масштабированием или комбинацией того и другого.

Есть несколько рекомендаций для усечения, которым необходимо следовать для избежания повреждения фильма. Обычный формат YUV, 4:2:0, сохраняет цветность (информацию о цвете) половинной дискретизации, т.е. цветность сохраняется в два раза реже в каждом направлении, чем яркостность (информация об интенсивности). Рассмотрите следующую диаграмму, где L обозначает точки дискретизации яркостности и C - цветности.

L L L L L L L L
C C C C
L L L L L L L L
L L L L L L L L
C C C C
L L L L L L L L

Как Вы видите, строки и столбцы изображения естественным образом идут в парах. Поэтому смещения и размеры усечения должны быть чётными числами. Иначе цветность перестанет правильно соответствовать яркостности. Теоретически возможно усечение с нечётными смещениями, но оно потребует переквантования цветности, что потенциально является операцией с потерей качества и не поддерживается фильтром усечения сторон crop.

Более того, видео с чересстрочной развёрткой дискретизируется следующим образом:

Верхнее поле Нижнее поле
L L L L L L L L                
C C C C                
                L L L L L L L L
L L L L L L L L                
                C C C C
                L L L L L L L L
L L L L L L L L                
C C C C                
                L L L L L L L L
L L L L L L L L                
                C C C C
                L L L L L L L L

Как Вы видите, структура повторяется только после 4 строк. Так что для чересстрочного видео Ваше y-смещение и высота усечения должны быть кратны 4.

Естественные разрешения DVD составляют 720x480 для NTSC и 720x576 для PAL, но существует флаг соотношения сторон, который указывает является ли видео полноэкранным (4:3) или широкоэкранным (16:9). Многие (если не большинство) широкоэкранных DVD не точно соответствуют формату 16:9 и могут быть как 1.85:1, так и 2.35:1 (кинематографический формат). Это означает, что в видео будут чёрные полосы, которые нужно усечь.

MPlayer предоставляет фильтр обнаружения усечения, который определяет прямоугольник, до которго нужно усечь (-vf cropdetect). Запустите MPlayer с -vf cropdetect и он выдаст настройки усечения для удаления полей. С целью получения точных параметров усечения, Вы должны проигрывать фильм достаточно долго для того, чтоб была использована вся область изображения.

Затем проверьте значения, полученные с помощью MPlayer, используя командную строку, выведенную cropdetect, и подстройте прямоугольник при необходимости. Фильтр rectangle может быть полезен, позволив Вам интерактивно менять прямоугольник усечения для Вашего фильма. Не забывайте следовать указанным выше руководствам по делимости, чтобы не испортить выравнивание цветности.

В ряде случаев масштабирование может быть нежелательным. Масштабирование по вертикальному направлению затруднено для чересстрочного видео, и если Вы хотите сохранить чересстрочность, Вам, как правило, будет необходимо воздерживаться от масштабирования. Если Вы не будете масштабировать, но всё ещё желаете размеры, кратные 16, то Вам придётся проводить излишнее усечение. Не проводите неполное усечение, поскольку чёрные полосы очень плохи для кодирования!

Поскольку MPEG-4 использует макроблоки 16х16, Вы должны убедиться, что каждое измерение кодируемого видео кратно 16; иначе Вы ухудшите качество, особенно на малых битпотоках. Вы можете сделать это, округлив ширину и высоту прямоугольника усечения до ближайшего меньшего целого, кратного 16. Как указано выше, при усечении Вам необходимо увеличить смещение по Y на половину разности старой и новой высоты, так что полученное видео будет браться из центра кадра. И из-за способа дискретизации DVD видео, убедитесь, что смещение есть чётное число. (Фактически, возьмите за правило никогда не использовать нечётные величины для любых параметров усечения или масштабирования видео.) Если Вы беспокоитесь из-за нескольких излишне отброшенных битов, возможно, Вы предпочтёте взамен масштабировать видео. Мы рассмотрим это ниже в нашем примере. В действительности, Вы можете доверить фильтру cropdetect сделать для Вас всё вышеупомянутое, т.к. у него есть необязательный параметр округления round, равный 16 по умолчанию.

Также будьте осторожны с "полутёмными" пикселями на краях. Убедитесь, что они тоже отрезаются, иначе Вы будете тратить биты, которым есть лучшее применение.

После всего выше сказанного и сделанного, Вы, вероятно, получите видео не точно формата 1:85.1 или 2.35:1, а с чем-то близким к этому. Вы можете вычислить новый коэффициент соотношения сторон вручную, но MEncoder предоставляет опцию для libavcodec, называемую autoaspect, которая сделает это для Вас. Ни в коем случае не увеличивайте размер этого видео с целью квадратизации пикселей, если Вы не желаете впустую потратить место на жёстком диске. Масштабирование должно выполняться при воспроизведении, и плеер использует коэффициент соотношения сторон, сохранённый в AVI, для определения правильного разрешения. К сожалению, не все плееры используют эту информацию автомасштабирования, поэтому Вам всё ещё может быть необходимо перемасштабирование.



Дата добавления: 2018-11-26; просмотров: 705;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.