Интерлейсинг — Кадр с интерлейсингом Деинтерлейсинг процесс создания одного кадра из двух полукадров чересстрочного формата для дальнейшего вывода на экран с прогрессивной развёрткой, такой как компьютерный монитор. Применяется в компьютерных системах обработки … Википедия

Рип — Риппинг (от англ. ripping, отрывать) перенос информации с носителя аудио видео информации в файл. Иногда термин употребляется и для обратного действия, чаще назывемого «мастеринг» (например, DVD мастеринг) или «ремастеринг». Обычно источником… … Википедия

Видеопиратство — Видеопиратство незаконное копирование и распространение защищённого авторским правом экземпляра аудиовизуального произведения (видеопродукции), вид нарушения авторского права. Содержание 1 Типы видеофайлов 2 Стандарты качества … Википедия

Риппинг — Эта статья должна быть полностью переписана. На странице обсуждения могут быть пояснения. Риппинг (англ. ripping отрывать) … Википедия

Колоризация — Колоризация разновидность технологии цветного кинематографа или фотографии, в которой исходное чёрно белое изображение преобразуется в цветное. Содержание 1 Колоризация в кино 1.1 Технология … Википедия

Телевизионные поля — Пример телевизионных полей, полученных при преобразовании полных кинокадров в телевизионные поля Телевизионные поля (полукадры, англ. fields) части целого кадра при передаче телевизионного изображения способом чересстрочной развёртки.… … Википедия

The KMPlayer — Не следует путать с KMPlayer. The KMPlayer … Википедия

Auto Gordian Knot — скриншот Gordian Knot Тип Кодирование видео Разработчик Gerhard Berger (Жирар Бергер), Tony Lenox (Тони Ленокс), Chris Clark(Крис Кларк), tHe gLouCh, Wolfgang Ruthensteiner (Вольфганг … Википедия

Деинтерле́йсинг (англ. Deinterlacing — устранение чересстрочности) — процесс создания одного кадра из двух полукадров чересстрочного формата для дальнейшего вывода на экран с прогрессивной развёрткой, такой как компьютерный монитор. Применяется в компьютерных системах обработки видео, плоскопанельных телевизорах и т. д.

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

Европейский вещательный союз, чтобы исключить деинтерлейсинг, рекомендует подготавливать фильмы в разрешении 1080 строк, 50 кадров в секунду (построчное). При конвертации такого видео на любой имеющийся формат телевещания/видеозаписи не потребуется ни увеличение, ни деинтерлейсинг.

Содержание

Эффект «гребёнки» [ править | править код ]

Видео чересстрочного формата, применяемое в телевидении, представляет собой последовательность полукадров, каждый из которых несёт только половину визуальной информации (нечётные полукадры состоят только из нечётных строк, чётные — из чётных). Если в каждом кадре совмещать предыдущий полукадр с текущим (например, чётные строки — из текущего полукадра, нечётные — из предыдущего), на движущихся объектах появляется зазубренность: края объектов будут иметь вид «гребёнки». Это возникает вследствие того, что фазы движения фиксируются в двух полукадрах в разные моменты времени, которые потом при совмещении будут иметь несостыковку чётных и нечётных строк. Чтобы избавиться от этого неприятного эффекта, применяются различные математические методы, которые и называются деинтерлейсингом.

Технологии деинтерлейсинга [ править | править код ]

  • Простейшая технология деинтерлейсинга — смешивание в некоторой пропорции интерполированного текущего полукадра с предыдущим. Такая технология приводит к потерям и временно́го, и пространственного разрешения, а также к «эффекту призрака» (англ. Blend ): за быстро движущимся объектом виден полупрозрачный «призрак».
  • Если видео получено пересъёмкой киноплёнки с помощью телекинодатчика или конвертацией иного нечересстрочного источника с малой кадровой частотой (до 25 fps в PAL/SECAM, до 30 в NTSC), то, угадав частоту источника и алгоритм конвертации, можно получить практически точную копию исходного видео. Эта операция называется reverse pulldown или inverse telecine (см. телекино)..
  • Bob deinterlacing. Если видео снято теле- или видеокамерой (50i), можно разложить чересстрочное видео путём отделения чётных строк от нечётных и получения полноценных 50 кадров (в случае телесистем PAL/SECAM) и 60 (для NTSC). Полученное видео будет сжато по вертикали и потребует растягивания до формата 4:3, что повлечёт потерю разрешения по вертикали, но позволит без потерь кадров оцифровывать записи, сделанные в формате 50i (концерты, телепередачи, а также видео, снятое бытовыми видеокамерами и т. п.)
  • Адаптивный деинтерлейсинг — это семейство алгоритмов, которые определяют по последовательности кадров, является изображение статичным или динамичным. Для пикселей, которые неподвижны, полукадры просто объединяются без смешивания. В динамичных картинках полукадры смешиваются вместе. Может также применяться компенсация движения — для движущихся объектов деинтерлейсер пытается заполнить недостающую информацию информацией оттуда, где этот объект находится на предыдущем/следующем кадре. Адаптивные алгоритмы дают лучшую детализацию изображения, но требуют больше вычислений. Кроме того, на компрессированном чересстрочном видео деинтерлейсеры с компенсацией движения склонны к созданию несуществующих деталей.

Деинтерлейсинг в охранных системах [ править | править код ]

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

Содержание

Первое, что надо сделать — выкинуть из головы идею воспользоваться фильтром 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 deinterlacing». Суть её в том, что частота кадров — удвояется, используя поля в качестве кадров. Одновременно с этим восстанавливаются недостающие строки в каждом поле при помощи интерполяции или дублирования. Минусы вытекают из удвоения частоты кадров — более ресурсоёмкое декодирование и увеличение размера видеопотока.

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

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

DirectShowSource("00581.mts")
AssumeTFF()
Bob()

Название — аббревиатура от 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 проверки.

DirectShowSource("00581.mts")
AssumeTFF()
Yadif(0)

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

DirectShowSource("00581.mts")
AssumeTFF()
Yadif()

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

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

DirectShowSource("00581.mts")
AssumeTFF()
SmoothDeinterlace()

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

DirectShowSource("00581.mts")
AssumeTFF()
SmoothDeinterlace(doublerate=true)

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

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

DirectShowSource("00581.mts")
AssumeTFF()
TomsMoComp(-1, 1, 0)

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

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

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

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

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

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