Деинтерлейс

aver.ru → Видео → Домашнее видео и Интерлейсинг

Печать

Домашнее видео и Интерлейсинг .

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

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

Между тем бороться с интерлейсингом можно, это довольно просто — однако не всегда нужно. Попробуем разобраться, что к чему, и сделаем всё так, чтобы качество фильма не пострадало.

Что такое интерлейсинг?

Сначала определим противоположность интерлейсинга – прогрессивное видео. Такое видео устроено так, как все мы представляем с раннего детства: последовательность из 25 кадров-фотографий превращается в одну секунду «движущейся картинки».

Интерлейсинг (или черезстрочная развёртка) – это хитрый приём, благодаря которому видео-изображение передаётся с частотой не 25 кадров в секунду, а 50, причём каждый кадр по-вертикали в два раза меньше самого видео. Чтобы получить исходный размер кадра по-вертикали, чётный и нечётный кадр «складываются» через строчку сверху вниз. Таким образом, если просматривать интерлейсное видео на компьютере без дополнительной обработки, мы будем видеть два соседних кадра как один — получится точно такой же эффект, как на верхней картинке в начале этой статьи.

Даже если схема работы интерлейсинга пока до конца не понятна, важно знать, что в интерлейсном формате работает всё телевидение в России. В таком же формате работает и ваша видеокамера (иначе она бы стоила несколько тысяч долларов, и вы бы вряд ли стали читать этот материал). Компьютерные видеокарты и мониторы, наоборот, работают только в прогрессивном режиме, из-за чего на них и возникают «полоски».

Чтобы понять, для чего нужен интерлейсинг, проведём небольшой экскурс в историю.

Откуда пошёл интерлейсинг?

Интерлейсинг берёт своё начало во времена появления первых телевизоров с электронно-лучевыми трубками (ЭЛТ). Он был нужен для того, чтобы телевизоры показывали качественную картинку, а мерцание экрана было не заметно. Несмотря на то, что сегодняшние электронно-лучевые трубки вполне способны отображать прогрессивную картинку (пример: ЭЛТ-мониторы для компьютеров), всё равно все телевизоры с электронно-лучевой трубкой, а также большинство бытовых проигрывателей DVD и игровые приставки работают с интерлейсингом.

Необходимость использования интерлейсинга была вызвана особенностью работы электронно-лучевых трубок.

Изображение в них формируется с помощью луча, который «пробегает» по внутренней поверхности экрана, заставляя светиться его точки, которые складываются в картинку. На заре развития ЭЛТ было физически невозможно заставить светиться одновременно все точки на экране – когда луч «добегал» до нижней его части, верхняя уже практически угасала. Увидеть похожий эффект сегодня можно, сняв ЭЛТ-телевизор на видеокамеру: по его экрану сверху вниз будут идти «слепые» полоски. Чтобы избежать этого, потребовалось «рисовать» лучом по экрану быстрее, чем 25 раз за одну секунду. Скорость увеличили вдвое. Сначала один кадр просто «рисовался» дважды, а потом, для улучшения качества видео, добавили «лишних» кадров, и картинка стала выводится на экраны телевизоров с частотой в 50 полукадров (т.е. в два раза меньших по вертикальному разрешению) в секунду. Полные кадры с частотой 50 в секунду не используются из-за того, что такие объёмы информации было бы невозможно передавать в аналоговом формате.

Вынужденное введение интерлейсинга принесло и пользу. Поскольку частота кадров возросла, видео на экранах телевизоров стало выглядеть плавнее. Наверняка геймерам знакома гонка за частотой кадров в играх – именно такой позитивный эффект даёт интерлейсинг телепередачам и поныне.

Важно заметить, что даже формат телевидения высокого разрешения Full HD 1080i работает с интерлейсингом. Почему? Потому что никто бы не купил телевизор, изображение на котором «тормозит» по сравнению с тем, к которому он привыкал на протяжении всей его жизни. А создать доступную по цене технику, которая могла бы снимать и воспроизводить 50 кадров в секунду в разрешении 1920×1080, пока невозможно. Современные LCD-панели и плазменные телевизоры могут воспроизводить прогрессивную картинку, однако большая часть населения, по крайней в ближайшие несколько лет, не будет в массовом порядке менять свои телевизоры на новые.

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

Зачем нужно прогрессивное видео?

Если интерлейсинг так хорош, зачем вообще нужно прогрессивное видео? Как уже говорилось выше, компьютерные мониторы работают только с прогрессивной развёрткой. Любое видео, записанное в режиме интерлейсинга и проигрываемое на компьютере, преобразовывается в прогрессивное с помощью операции де-интерлейсинга или воспроизводится с неприятным эффектом «гребёнки», например, таким:

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

Все компьютерные программы, воспроизводящие DVD, а так же программы просмотра телепередач через ТВ-тюнер делают де-интерлейсинг автоматически и незаметно для пользователя. Однако, этого нельзя сказать о плеерах AVI-файлов, а также о кодеках. Казалось бы: что мешает разработчикам софта включить де-интерлейсинг по умолчанию? Ан нет — предсказать, как поведёт себя тот же Windows Media Player на каждом отдельно взятом компьютере невозможно. К тому же, кодеку гораздо проще кодировать прогрессивное видео. В связи с этим мы подошли ко второму важному выводу материала: для проигрывания на компьютере лучше делать прогрессивное видео.

Самым оптимальным вариантом, конечно, является изначальная съёмка в прогрессивном формате.

При таком раскладе во время монтажа не возникнет проблем, да и конвертация в интерлейсный формат не составит труда. Но на рынке нет видеокамер по доступной цене, способных вести подобную запись (стоимость самых «доступных» моделей колеблется в районе двух тысяч долларов).

По-этому большинству кинолюбителей придётся делать де-интерлейсинг.

Как правильно проводить де-интерлейсинг?

Мы подошли к главной части материала: как же можно преобразовать интерлейсное видео, чтобы его качество было наилучшим? Ответ очевиден: нужно свести количество любых преобразований к минимуму. Так как бытовые камеры снимают в интерлейсном режиме, для проигрывания на телевизоре преобразовывать его не нужно. Однако монтировать-то свой фильм вы будете на компьютере, да и наверняка захотите показать его людям через интернет, а значит здесь потребуется прогрессивный режим. Как же быть?

На самой ранней стадии создания фильма необходимо принять решение, будет ли оно проигрываться на телевизоре или будет сугубо онлайново-компьютерным зрелищем. В принципе, сконвертированное из интерлейсного в прогрессивное видео можно будет потом сконвертировать снова, однако его качество (прежде всего плавность, но на самом деле не только она) будет заметно хуже. При этом учтите, что даже если вы запишете прогрессивный DVD, обычный DVD-плеер, подключённый к телевизору, будет конвертировать видео в интерлейс автоматически.

Если вам не важно, как будет выглядеть видео на экране телевизора, можно прямо в программе видеомонтажа установить такие настройки, которые будут делать де-интерлейс на лету. Вот, например, как это делается в Sony Vegas.

Нужно зайти в окно свойств проекта через меню File > Project Properties и на первой вкладке (Video) установить Field Order: «None (Progressive scan)» (выделено красным). Затем ниже необходимо установить метод де-интерлейсинга. Для этого в том же окне чуть ниже изменяем параметр Deinterlace method (выделено зелёным). В том, чем отличаются методы, мы сейчас разберёмся.

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

Как вы можете заметить, Вегас предлагает два метода де-интерлейсинга: Blend fields [Объединение полей] и Interpolate fields [Интерполяция полей]. Существуют и другие методы де-интерлейсинга, которые можно применять с использованием сторонних программных продуктов, однако для большинства фильмов подойдёт один из стандартных методов.

Метод объединения полей, Blend fields, теоретически предназначен для видео с не слишком активным движением. В этом методе два соседних полукадра объединяются в один, в результате чего получается прогрессивная картинка с почти сохранённым разрешением по-вертикали. Однако при таком раскладе в моментах с быстрым движением за объектами появляется неприятный полупрозрачный шлейф.

Избежать шлейфа позволяет метод интерполяциии, Interpolate Fields. В нём каждый нечётный полукадр просто удаляется, а оставшиеся 25 полукадров растягиваются по вертикали до полного разрешения. Минусы такого подхода очевидны: вертикальное разрешение падает в два раза, в результате чего на контурах контрастных объектов становится заметна «лесенка».

Однако существует хитрость. Скорее всего для выкладывания в сети вам не понадобится видео с полным разрешением (например, такие сайты, как Google Videos или YouTube используют картинку не более, чем в 360×288 пикселей), а значит, разрешение готового видео можно безболезненно уменьшить вдвое (как раз до 360×288). При таком раскладе метод интерполяции представляется единственно верным — фактически, вы получите изначально снятую в прогрессивном формате картинку.

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

Выбрать подходящий метод де-интерлейсинга для вашего фильма можно, сделав кусочек с помощью Blend fields и кусочек с помощью Interpolate Fields. Метод де-интерлейсинга можно безболезненно менять на любой стадии монтажа (как, кстати, и разрешение получаемого видео). Сравните результаты, получившиеся при обоих методах, и выберите тот, который вам понравится больше другого. Заодно можете посмотреть, как видео будет выглядеть на экране телевизора и сравнить его с исходным интерлейсным вариантом — лучше один раз увидеть разницу самому, чем прочитать десяток статей на эту тему.

Если вы не планируете выпускать свой фильм для просмотра на телевизорах, то информации, приведённой в этом материале, будет вполне достаточно. Напоследок заметим, что если вы будете работать с видео и в других программах, например, в Adobe After Effects, там нужно выставить такие же настройки, как в Вегасе. Причём если вы будете использовать видео, уже однажды обработанное де-интерлейсингом, в настройках нужно установить параметр «Progressive source» [Прогрессивный источник], и обязательно отключить де-интерлейсинг (ведь он уже однажды был сделан).

Домашнее видео и Интерлейсинг.

Источник: http://www.smx.ru/

В этой теме речь пойдет об устранении интерлейса – дефектов изображения видимых на устройствах отображения с прогрессивной (построчной или последовательно-строчной) разверткой при попытке просмотреть видео, полученное с устройств с чересстрочной разверткой (точнее сказать чересстрочным сканированием). Если Вы не знакомы с понятиями: интерлейс, поля, прогрессивная и чересстрочная развертка, настоятельно рекомендую изучить предыдущую тему.

В прошлой теме мы выяснили, что причиной интерлейса является смещение изображения объекта в кадре за промежуток времени между его фиксацией в нижнем и верхнем поле. И время это, для видеокамер, равно 1/50 секунды.

Как же можно избавиться от этой противной “гребенки”?

У нас на выбор целых 4 методики устранения интерлейса (здесь мы рассматриваем только общедоступные программные методы, без уменьшения физического разрешения по вертикали):

1. Отбрасывание информации одного из полей и копирование в него информации из другого поля, т.е. дублирование одного из полей;

2. Смешивание цветов из обоих полей;

3. Отбрасывание информации одного из полей и интерполяция пикселей по окружающим его пикселям другого поля;

4. Компенсация движения между полями, т.е. расчет векторов смещения объектов в одном поле относительно другого и возврат их в нужное положение.

Рассмотрим уже знакомый фрагмент кадра:

 

 

Рис.1.

Ниже приведена его часть, увеличенная в два раза, после обработки фильтрами деинтерлейса по каждой из методик (Рис.2).

Рис.2. Результаты работы фильтров деинтерлеса.

Рассмотрим подробнее каждую из методик:
Дублирование – самый простой и быстрый метод, однако на изображении явно заметны “ступеньки”. Фактически данный метод вдвое уменьшает вертикальное разрешение изображения, отбрасывая одно поле — теряем ровно половину информации.
Смешение цветов – так же достаточно простой и быстрый метод, с одной стороны потери информации не происходит, но смазывает детали и образует отражения движущихся объектов (как на следующем фрагменте).

 

Интерполяция – заметно проигрывает в производительности первым двум методам, однако, на первый взгляд, дает более симпатичный результат. Но, не будем забывать, что информация одного из полей интерполируется по информации из другого поля, детали, зафиксированные камерой в одном из полей потеряны. Фактически этот метод, как и первый, вдвое снижает эффективное разрешение изображения.
Компенсация движения – теоретически самый эффективный метод, поскольку должен предотвратить потерю информации из второго поля и сохранить лучшую детализацию по сравнению со всеми предыдущими методами. Хотя на практике этого практически не заметно, видимо, весьма сложно достаточно точно определить те самые вектора смещения изображения. Рассмотрим искусственно созданный пример с высокой вертикальной детализацией (Рис.3).

 

 

Рис.3.

Попытка фильтра, основанного на компенсации движения, сохранить детализацию (4) сильно похожа на шум и выглядит даже хуже чем результат интерполяции (3). При наличии в движении еще и вращательного момента, ситуация только усугубляется – появляются ложные детали. Вторая проблема – поля далеко не всегда дополняют друг друга. Такой простой пример – прыгающий матрос в тельняшке. Пусть в первый момент времени в первом поле были зафиксированы темные полосы тельняшки, какова вероятность того, что через 1/50 секунды во втором поле окажутся белые полосы? Думаю – 50/50. Т.е. запросто может оказаться, что и в первом и во втором поле будут зафиксированы темные полосы, и какой суперфильтр не применяй, а матрос будет не в полосатом тельнике, а в темной майке. Но все-таки, при малом движении существующие фильтры, применяющие компенсацию, показывают лучший результат.

Итак, мы пришли к тому, что практически любой способ деинтерлейса ведет к понижению эффективного вертикального разрешения вдвое. Не отчаивайтесь, не все так плохо. Здесь на сцену выступают так называемые area-based фильтры. До сих пор мы говорили о движущихся в пределах кадра изображениях, что же происходит с неподвижной частью кадра? Отличительной особенностью area-based фильтров является то, что они пытаются определить и подвергнуть обработке только движущиеся части изображения, в то время как неподвижная часть изображения остается не тронутой, т.е. сохраняется вся информация из обоих полей. А движущиеся изображения объектов и так немного смазаны. Вас это радует? Идем дальше…

Вернемся к рис.2, вы обратили внимание, что в результатах 2, 3 и 4 на некоторых участках изображения присутствуют горизонтальные полосы?

А это как раз недостаток area-based фильтров. Дело в том, что фильтру необходимо по какому-то признаку определять является ли конкретный пиксель частью движущегося изображения и подлежит обработке или нет. А определяется это на основе сравнения соседних пикселей в разных полях, либо сравнением одного пикселя в разных кадрах, либо применяются оба метода вместе. Сравнение может проходить по цвету или по яркости. Т.о. должно существовать некоторое пороговое значение, если разница меньше – пиксель признается принадлежащим статичной части изображения и не подлежит обработке, если разница больше – пиксель принадлежит движущейся части изображения и подлежит обработке. Некоторые фильтры позволяют настраивать все эти параметры: производить сравнение в полях или кадрах, или и обоими способами, сравнивать по цветовой или яркостной составляющей, задавать пороговое значение. Чем больше величина порогового значения, тем меньше пикселей подвергаются обработке, чем меньше значение, тем больше размывается статичных элементов (Рис.4).

 

Рис.4.

Опять дилемма, – какой способ сравнения выбрать, и какое выставить пороговое значение? Вообще, для каждого фильма приходится подбирать настройки индивидуально. Единственное, что могу посоветовать – оставить сравнение по цветовой составляющей для мультфильмов, а для фильмов выбирать сравнение по яркостной составляющей.

И на последок выскажу еще несколько соображений.

Обращали ли вы внимание на то, что miniDV видеокамеры, имеющие (по проводимым тестам) горизонтальное разрешение чуть ли не более 600ТВЛ (что само по себе сомнительно, поскольку теоретический предел PAL кадра 720х576 – 540ТВЛ), в то же время, в вертикальном разрешении имеют показатели не многим более 400? Возможно, производители видеокамер намеренно занижают показатель вертикального разрешения, чтобы в изображении снизить искажения (изломы) тонких наклонных линий.

И второе, коли речь идет о деинтерлейсе, вероятно, что видео предназначается для просмотра на ПК, тогда есть смысл сразу привести его к нормальному соотношению сторон, исправив тем самым некоторую вытянутость изображения по вертикали. Ближайшее “правильное” разрешение (с учетом дальнейшего сжатия в MPEG) составляет 720х544, можно уменьшить и до 640х480, или, если фильм захвачен с VHS видеомагнитофона, и мы хотим уместить 1.5 часа на 1 CD – уменьшить до 512х384.

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

Я нарочно не приводил здесь сравнения фильтров различных производителей, поскольку многое зависит от самого видео, да и у пользователей нет единого мнения на их счет, тем более ПО постоянно обновляется. Многие фильтры являются встроенными в пакеты обработки видео (Adobe Premier, Canopus ProCoder), в кодеки (DivX), некоторые поставляются отдельными подключаемыми модулями (QS Deinterlace, Alparysoft Deinterlace). Я ставил себе задачу помочь начинающим разобраться в применяемых методиках и выбрать наилучший для себя вариант.

p.s.: если у вас ничего путного не получается с деинтерлейсом вашего видео — остается эффект отражения, или, хуже того, в видео наблюдается жуткий строб, смотрите следующую тему “Проблемы чередования полей”.

 

материал любезно предоставлен Александром Шустиковым
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript  

 

https://habr.com/post/61822//

Хабрахабр

Video rip. Часть 2-3. Избавление от обычной чересстрочности (deinterlace)

Работа с видео

Содержание

  1. Подготовка DVD
    1. vStrip
    2. DGMPGDec

  2. Обработка видео
    1. Что такое interlace и с чем его едят
    2. Как определить что у нас: progressive, interlaced или telecined?
    3. Избавление от обычной чересстрочности (deinterlace)
    4. IVTC

  3. Сжимаем и запаковываем

Первое, что надо сделать — выкинуть из головы идею воспользоваться фильтром deinterlace из VirtualDub. Я знаю, это непросто, но необходимо. Всё дело в том, что после обработки этим фильтром (с некоторыми настройками) на видео появляются паразитные изображения, например т.н. ghost effect. Выглядит он примерно вот так или вот так.

Это ужасно.

Скриншоты для примеров я делал с видео, которым со мной поделился madnut.

Избавляться от чересстрочности мы будем при помощи плагинов для AviSynth. Придумано их много, поэтому все возможные упомянуты не будут. Если забыл ваш любимый — не сердитесь. Подчеркну, что в этой статье не рассматриваются плагины для удаления pulldown и IVTC. О них — потом.

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

Для начала требуется установить правильный порядок появления полей. Top Field First (TFF) или Bottom Field First(BFF). Для этого в AviSynth существуют две команды AssumeTFF или AssumeBFF. Как это сделать хорошо написано здесь. Также, это показывает DGMpgDec. Также, вам в этом может помочь MeGUI. Как? Читайте предыдущую часть, только вместо Source type смотрите на поле Field order.

В результате у вас будет нечто такое:

Перейдём непосредственно к фильтрам.

Bob

Это даже не название конкретного плагина, а название целой техники «Bob deinterlacing». Суть её в том, что частота кадров — удвояется, используя поля в качестве кадров. Одновременно с этим восстанавливаются недостающие строки в каждом поле при помощи интерполяции или дублирования. Минусы вытекают из удвоения частоты кадров — более ресурсоёмкое декодирование и увеличение размера видеопотока.

Считается лучшим методом, если судить только по выходному качеству.

Для применения «Bob deinterlacing» добавьте в конец скрипта команду Bob. В результате получится:

Скриншот

YADIF

Название — аббревиатура от Yet Another DeInterlacing Filter. Этот фильтр был портирован для AviSynth Михаэлем Ниедермауэром (Michael Niedermayer). Он проверяет пикселы предыдущего, текущего и следующего кадра для восстановления полей посредством локального адаптивного метода (edge-directed interpolation) и использует spatial check для предотвращения появления большинства артефактов.

Подробное объяснение алгоритма здесь.

Один из самых простых в использовании фильтров. У меня версия 0.9.

На вход принимает 4 параметра:

  • 0 — производит temporal и spatial проверки, используется по умолчанию;
  • 1 — то же что и 0, но удваивает частоту кадров (старый знакомый bob);
  • 2 — не производит temporal и spatial проверки;
  • 3 — удваивает частоту кадров, но не производит temporal и spatial проверки.

Скриншоты: 0,1, 2, 3.

Пример использования:

или, что тоже самое,

Какой из методов использовать?

Используйте — 0, если вы не знаете, что вам нужны другие.

SmoothDeinterlace

Этот плагин посложнее. Имеет кучу всяких параметров для тонкой подстройки. Использовать его, впрочем, достаточно просто.

Можно добавлять разные настройки, например, doublerate — удвоение частоты кадров.

Скриншоты: по умолчанию, с удвоением.

TomsMoComp

Процитирую официальный источник.

TomsMoComp.dll – это фильтр деинтерлейса, использующий компенсацию движения и адаптивную обработку. Он работает с различной скоростью в зависимости от параметра SearchEffort, который в данной версии варьируется от 0 (просто чуть более качественный BOB-деинтерлейс) до 30 (слишком большой объём вычислений для современных компьютеров). Из этого диапазона реально используется несколько значений (в данной версии 0,1,3,5,9,11,13,15,19,21,max), если задать другое значение, то используется ближайшее из перечисленных. Значения свыше 15 пока ещё не очень тщательно тестировались и, вероятно, их следует избегать.

Собственно, не добавить и не убавить.

Пример использования:

Параметр SearchEffort — второй.

Скриншоты для SearchEffort = 1, 30.

На этом, пожалуй, остановлюсь. Какой фильтр использовать, спросите вы? А я отвечу — не знаю. Выбор фильтра сродни спорам о выборе кодека или операционной системы. Пробуйте. Какой вам кажется лучшим — тот и используйте. Если всё же вас раздирают сомнения, то пробуйте сначала YADIF, потом TomsMoComp и если ни один из этих не подошёл SmoothDeinterlace. Чистый Bob используйте в том случае, если вы точно уверены в необходимости его использования.

Скачать TomsMoComp 0.0.1.7
Скачать SmoothDeinterlace 1.5.5
Скачать YADIF 0.9

Дополнения от читателей
Xitsa

Разговор был бы неполным без легендарного скрипта MVBob, считается лучшим в своём роде. О нём лучше прочитать всё, что найдётся на doom9.
Если кто-то хочет попробовать, то вот не очень свежая сборка (зато всё в комплекте).

sabox

А как же TDeint? На мой взгляд, его можно в ряд с вышеперечисленными ставить.

TDeint — это двунаправленый, компенсированный по движению (резкостный) удалитель чересстрочности (деинтерлейсер). Он также может адаптивно выбирать между использованием адаптации к движению по целым полям и по пикселам. Может использовать кубическую интерполяцию, ядерную (матричную) интерполяцию (с переключением временнОго направления), или одну из двух форм модифицированой краевой адаптивной (ELA) интерполяции, которая помогает уменьшить «зубчатые» края в движущихся областях, где интерполяция должна использоваться. TDeint также поддерживает ручную коррекцию пользователем через специальный входной файл и может работать как интеллектуальный преобразователь полей в полноформатный кадр (bobber) или удалитель черестрочности с сохранением исходной частоты кадров, а также как пост-обработчик обратного преобразования телекино (IVTC).

Добавить комментарий

Закрыть меню