Черезстрочное видео

Черезстрочность в телевещании была заложена еще в эпоху становления телевидения. Решено было показывать по телевизору с частотой 25 кадров в секунду, как в кино. Но оказалось, что реализовать такое был очень проблеммно. Потому что, пока луч телевизора пробегал по всем строчкам люминофора, верхние, подсвеченные строки уже начинали гаснуть. Получилось, что пол экрана показывала изображение, а вторая половина нет. Возникал эффект мерцания. Инженеры подумали и придумали. Раз уж люминофор такой тормозной, то давайте по нему рисовать не весь кадр, а только половину. Сказано, сделано, поделили весь кадр пополам. Только не тупо пополам. В первой половине все нечетные строки, во второй все четные. Вот теперь луч уже успевал пробежаться по экрану и когда он подсвечивал нижние строки, то верхние еще не успевали погаснуть. Так как кадров стало больше, то и частоту пришлось увеличить в два раза, до 50.
Экраны компьютеров, LCD и плазма — это устройства, которые призваны работать с прогрессивным видео. Они просто показывают кадр, который им необходимо показать и ни на какие поля его не делят.Видео они показывают кадр за кадром и если видео черезстрочное, то появляются артефакты в виде гребенки. Чтобы избавиться от этих артефактов нужно перевести видео из черезстрочного в прогрессивное, провести деинтерлейсинг.

Есть два распространенных метода деинтерлейсинга:
linear blend простейший деинтерлейсер, все что он делает, так это смешивает два полукадра (по полям) в один. Работает очень быстро. Движение, панорамарование, переходы передаются гладко, без рывков. Минусы: при большой разнице в полях появляются паразитные изображения, «ghost, что приводит к раздвоению картинки. Чтобы использовать этот метод надо запустить mencoder с параметром pp=lb.

yadif более продвинутый деинтрлейсер, который пытается анализировать такие параметры, как границы объектов и векторы движения. В результате получается картинка на которой абсолютно не видно эффектов черезстрочности. Правда этот фильтр слегка медленнее чем pp=lb и еще он спотыкается на сложных сценах, таких как панорамирование, что приводит к рывкам в движении.

Ну и какой же из них использовать? Записанные телепередачи, которые представляют собой черезстрочное видео лучше всего кодировать с опцией pp=lb. Движение будет плавным, но будут встречаться артефакты в том месте видео, где движение очень быстрое.

Если же вы конвертируете видео, которое было снято на пленку (то есть прогрессивное), а затем на каком-нибудь студийном оборудовании записанное как черезстрочное, то для деинтерлейсинга лучше использовать yadif. С помощью него можно добиться результатов, как в прогрессивном оригинале.

Кроме linear blend и yadif есть еще методы деинтерлейсинга, но эти пожалуй самые распространенные.

Почитать еще