Видео маппинг, видео перформансы

Кадры, поля и чересстрочное изображение

В настоящее время применяется два способа передачи видео: устаревший чересстрочный и более новый прогрессивный. Вещательный телевизионный сигнал по историческим причинам использует чересстрочный способ. Это означает, что кадр (frame) передаётся не целиком, а из двух половинок: сначала передаётся первый полукадр (или поле — field), который отображается в нечётные строки кадра, а потом — второй полукадр, соответственно он отображается в чётные строки.

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

Очевидно, разрешение каждого полукадра (количество строк) вдвое меньше разрешения полного кадра.



Особенности чересстрочного видео!

Следует понимать, что в ТВ сигнале или при съёмке камерой каждый полукадр содержит изображение, отснятое на 1/50 секунды позже: то есть между первым и вторым полукадром проходит 20 мс. За это время объекты, находящиеся в кадре, могут сместиться. С другой стороны поля — элементы полного кадра, то есть 2–я строка (принадлежащая второму полю) расположена ниже 1–й строки (принадлежащей первому полю), 4–я (2–е поле) — ниже 3–й (1–е поле) и так далее. Таким образом, чётные полукадры находятся ниже нечётных. В силу этой особенности полукадры часто называют верхними (top) и нижними (bottom).

Всё сказанное выше справедливо также и для стандарта NTSC, с той только разницей что количество кадров в секунду составляет 30, соответственно полей в секунду — 60. Также различается и порядок следования полей: в PAL верхние поля следуют после (позже) нижних, а в NTSC — наоборот.


Захват чересстрочного видео!

При захвате видео компьютеру передаётся набор полных кадров с частотой 25 к/сек, чётные строки кадра содержат одно поле, нечётные — другое. Порядок полей не оговорен стандартами и зависит от аппаратуры: первым может быть как верхнее, так и нижнее поле. Этот метод имеет как свои преимущества, так и ряд недостатков — подробнее про них рассказано в следующем разделе.

Очень важно, чтобы при захвате чересстрочного видео использовалось полное разрешение по вертикали (обычно это 576 строк). В противном случае из-за уменьшения размера по вертикали часть строк будет потеряна; будет нарушено правило «одно поле в чётных строках, другое — в нечётных». Полученную видеозапись никакой алгоритм deinterlace не сможет исправить. Уменьшение размера по вертикали нужно обязательно делать не при захвате, а при обработке видео: после применения deinterlace или же каким-то другим методом, который не нарушит структуры полей (см. следующий раздел).


Отображение чересстрочного видео на компьютере

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

Иначе обстоит дело, когда мы пытаемся воспроизвести чересстрочное видео на прогрессивном устройстве, каким является монитор компьютера. Существует ряд способов, как показать на компьютере чересстрочное видео:

1. показывать только чётные или только нечётные поля, получим 25 кадров в секунду;

2. показывать все поля по очереди, получим 50 кадров в секунду;

3. составить полный кадр из двух полей и показывать 25 кадров в секунду.

Оставляем только половину полей

Недостатки первого способа очевидны: мы теряем половину информации из исходного видео. Получаем картинку с половинным разрешением по вертикали и теряем половину фаз движения (половинное разрешение по времени). Этот способ исключительно прост, потому он достаточно распространён. Для восстановления исходных пропорций изображения обычно уменьшается вдвое разрешение по горизонтали, что ещё больше снижает чёткость оцифрованного видео. Безусловно, несложно программно увеличить вдвое разрешение по вертикали, что, конечно же, не добавит чёткости по вертикали (см. раздел «Разрешение и чёткость изображения»).

Сохраняем 50 кадров в секунду

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

Реальная необходимость сохранять 50 фаз движения в секунду имеет смысл для записей ТВ трансляций спортивных передач: часто их просматривают в замедленном виде или же вообще покадрово. Также желательно сохранить 50 кадров в секунду для плохо снятых любительских записей видео камерой, когда камера у «оператора» постоянно дрожит.

Подробнее о работе с оцифрованным видео с сохранением 50 фаз движения в секунду вы можете прочесть в статье 50 кадров в секунду.

Формируем 25 кадров в секунду — deinterlace

Самый распространённый способ представления оцифрованного видео на компьютере — это составление полного кадра из двух полукадров: в нечётные строки записывается содержимое одного поля, в чётные — другого. Необходимо учитывать то, что разные полукадры могут относиться к разным моментам времени. За 20 мс, которые разделяют два полукадра, объекты в кадре могут сместиться. При выводе прогрессивного видео с частотой кадров 25 в секунду будут заметны дефекты изображения (артефакты), которые очень часто за характерную форму называют «гребёнкой» или «расчёской». Посмотрите, на этом примере автомобили движутся влево:

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

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

На необычных видеоэффектах артефакты чересстрочности приобретают ещё более причудливые формы:

Нужно добавить, что «гребёнка» содержит множество мелких деталей, а это чрезмерно усложняет процесс последующего сжатия видео.

Для устранения эффекта чересстрочности применяются специальные меры, которые называются deinterlace (произносится как «деинтерлейс»). Существует несколько методов deinterlace. Bob deinterlace применяется для вывода 50 фаз движения на прогрессивном устройстве: растягиваем первое поле вдвое по вертикали и при помощи интерполяции смещаем изображение на половину пикселя вниз, растягиваем второе поле вдвое по вертикали и при помощи интерполяции смещаем изображение на половину пикселя вверх. Field deinterlace строит один кадр из двух полукадров, результат обработки имеет 25 кадров в секунду. Способов устранения артефактов чересстрочности несколько: от простого усреднения содержимого двух полей, до сложных алгоритмов детектирования движения в кадре и построения результирующего прогрессивного кадра при помощи интерполяции. В результате применения таких методов несколько снижается чёткость изображения: у готового прогрессивного кадра чёткость практически равна чёткости исходного видеосигнала в статичных сценах, в динамичных сценах она несколько меньше.


 

Восстановление  и чересстрочного прогрессивного видео.


Восстановление прогрессивного видео

Иногда прогрессивное видео передаётся посредством чересстрочного сигнала — например кинофильм транслируется по ТВ. В таком случае верхний и нижний полукадры могут попадать в поля одного чересстрочного кадра ( …[1в 1н] [2в 2н] [3в 3н] [4в 4н]…), но возможен такой вариант: …[1н 2в] [2н 3в] [3н 4в]… — то есть полукадры смещены на один. При просмотре кадра такого видео будет заметна «гребёнка», характерная для чересстрочного видео. В результате применения deinterlace мы получим гало — полупрозрачную дымку — вокруг всех движущихся объектов, будем видеть два полупрозрачных контура движущихся объектов.

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

Восстановление чересстрочного видео

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

Чтобы нормально обработать такую видеозапись вам необходимо переставить поля или кадры так, чтобы восстановить исходный порядок полей. Необходимыми возможностями обладают наиболее универсальные фильтры для проведения deinterlace. Комбинацию настроек, скорее всего, вам придётся подбирать экспериментально.

Сохраняем чересстрочное видео

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

Проблем при этом подходе несколько. Во–первых на 20–30% вырастают требования к размеру сжатого видео. Вторая проблема — как организовать вывод с компьютера на ТВ «честного» чересстрочного видео: с правильным порядком полей, которые бы сменялись 50 раз в секунду. Некоторые видеокарты с ТВ выходом позволяют это делать (например, ATI Radeon или Matrox), другие — нет.

Описанную выше проблему можно обойти, записав видео в доступном для аппаратных проигрывателей формате. До недавнего времени таким форматом был только MPEG–2 — его сможет воспроизвести любой DVD проигрыватель. Но для качественного сжатия видео в формат MPEG–2 необходимы огромные объёмы данных (25–30 минут на CD) — видео в формате MPEG–2 удобно записывать только на DVD. Такой вариант решения на сегодня достаточно дорог.

В последнее время начали появляться DVD проигрыватели с возможностью декодирования видео в формате MPEG–4. Последние версии кодеров DivX и XviD имеют режимы для сохранения чересстрочного видео. Но эти режимы пока мало протестированы, даже сами авторы кодеров не рекомендуют их использовать. Также сегодняшние версии программных декодеров не позволяют качественно воспроизвести чересстрочное видео на компьютере: DivX производит во время воспроизведения некий вариант field deinterlace, что приводит к «размазыванию» краёв движущихся объектов. Лучше доверить deinterlace более сложному алгоритму на этапе обработки видео, там он не будет стеснён жёсткими временными рамками «40 мс на кадр» и в состоянии обеспечить более высокое качество. Также вы можете использовать аппаратные проигрыватели с возможностью декодирования MPEG-4, например проигрыватель Xoro в состоянии воспроизводить чересстрочное видео, закодированное DivX.

Также видео можно хранить непосредственно в формате DV. Такой вариант позволяет избежать дополнительных потерь при обработке и сжатии видео, с другой стороны — видео в формате DV занимает много места: 13 Гбайт/час. Вы можете хранить DV-записи на DV-кассетах, однако такой вариант достаточно дорог; кроме того кассеты подвержены механическому износу.

EventCatalog.ru — всё для организации мероприятий!