В статье рассматриваются различные форматы видеоизображений и основные принципы, в соответствии с которыми работают современные системы обработки мультимедийной информации.
Понимание принципов работы наших глаз сыграло важную роль в развитии систем обработки изображений. Глаза содержат два типа зрительных клеток: палочки и колбочки. Палочки более чувствительны к яркости, но не к цвету. Колбочки, в свою очередь, не реагируют на интенсивность света, зато чувствительны к световым длинам волн в диапазоне от 400 нм (фиолетовый) до 770 нм (красный цвет). Существует три типа колбочек — каждая со своим пигментом, наиболее чувствительным к энергии красного, зеленого или синего цветов. При этом их отклики в значительной степени пересекаются. Совместный отклик колбочек имеет резонанс в области зеленого цвета (примерно 555 нм). Открытие синих, зеленых и красных колбочек привело к появлению трихроматической теории цвета, которая гласит, что любой цвет может быть получен путем смешивания в определенных пропорциях монохроматических длин волн красного, зеленого и синего цветов. Поскольку палочек намного больше, чем колбочек, глаза более чувствительны к интенсивности света, чем к цвету. Это позволяет сократить требуемую для представления изображений полосу путем субдискретизации (оцифровки с пониженной частотой) информации цветности.
Восприятие яркости имеет логарифмический характер. Другими словами, реальная сила света, необходимая для формирования 50-процентного серого изображения (точно посередине между полностью черным и полностью белым), составляет около 18% от силы света, необходимой для формирования полностью белого изображения. Это свойство должно учитываться при выводе информации на дисплеи и обработке изображений, поступающих с сенсоров видеокамер. Из-за нелинейного восприятия яркости при интенсивном свете снижается чувствительность глаза к погрешностям квантования, и эта особенность эксплуатируется во многих алгоритмах кодирования мультимедийных данных.
Еще одной особенностью зрения является то, что наши глаза непрерывно подстраиваются к зрительной среде, создавая собственную опору белого даже при слабом или искусственном освещении. Поскольку сенсоры камер не имеют такой возможности, в камерах требуется регулировка баланса белого, при которой выбирается опорная точка для абсолютно белого цвета.
Вероятно, наиболее важным свойством с точки зрения кодеков неподвижных и движущихся изображений является то, что глаз менее чувствителен к высокочастотной, чем к низкочастотной информации. Более того, он способен выделять мелкие детали и разрешать цвета в неподвижных изображениях, но не способен делать то же самое при быстром изменении картинки. Поэтому для уменьшения полной полосы, необходимой для представления неподвижного или движущегося изображения, может использоваться кодирование с преобразованием и низкочастотная фильтрация.
В условиях яркого света наши глаза реагируют на «мерцание» изображения при скорости обновления картинки, составляющей менее 50…60 кадров в секунду (50…60 Гц). При слабом освещении эта частота уменьшается примерно до 24 Гц. Кроме того, мы более чувствительны к мерцанию в больших равномерных областях, чем в локализованных. Эти моменты оказали значительное влияние на развитие систем с чересстрочной разверткой, методов отображения и выбор частот регенерации.
Видеосигнал — это двухмерный массив данных о яркости и цветности, который обновляется с регулярной частотой кадров. В стандартных электронно-лучевых телевизорах и мониторах электронный луч, который модулирован аналоговым видеосигналом, показанным на рисунке 1, подсвечивает люминофорные точки на экране в направлении сверху вниз, слева направо.

Входящие в композитный аналоговый видеосигнал сигналы синхронизации отмечают интервалы времени, в которых луч не подсвечивает точки на экране, а возвращается из правой части экрана в левую — для вывода новой строки или из нижней части в верхнюю — для вывода нового кадра или поля (полукадра). Сигналы синхронизации показаны на рисунке 2.

Сигнал строчной синхронизации (HSYNC) отмечает начало активного видеоизображения в каждой строке видеокадра. Гашением обратного хода строчной развертки называется интервал времени, в течение которого электронная пушка возвращается из правой части экрана в левую для начала вывода новой строки. Сигнал кадровой синхронизации (VSYNC) выделяет начало нового поля изображения. Гашением обратного хода кадровой развертки называется интервал времени, в течение которого электронная пушка возвращается из нижнего правого угла экрана в левый верхний угол. Сигнал FIELD в системах с чересстрочной разверткой указывает, какое из полей отображается в текущий момент времени.

Первоначально в системах черно-белого телевидения вывод видеоинформации осуществлялся посредством отображения относительной яркости от белого к черному. С появлением цветного телевидения потребовалось обеспечить его обратную совместимость с черно-белыми системами. Поэтому информация цветовой синхронизации в цветном телевидении добавляется, как показано на рисунке 3, поверх существующего сигнала яркости.
Стандарты аналогового видеоизображения различаются способами кодирования информации о яркости и цветности. В системах широковещательного телевидения доминируют два стандарта — NTSC и PAL. Стандарт NTSC (National Television System Committee) используется преимущественно в Азии и Северной Америке, а PAL (Phase Alternation Line) — в Европе и Южной Америке. Третий стандарт, SECAM, популярен во Франции и отдельных странах Восточной Европы, хотя во многих этих регионах используется также и PAL. Мы будем вести речь о системах стандарта NTSC, однако рассматриваемые положения распространяются и на системы стандарта PAL.
Разрешающая способность по горизонтали определяется количеством пикселов в каждой строке изображения, а разрешающая способность по вертикали — количеством строк в полном кадре. В системах NTSC стандартной четкости (SD, standard definition) используется чересстрочная развертка с 480 строками активного изображения по 720 активных пикселов (то есть 720 × 480 пикселов). Обновление кадров происходит с частотой около 30 (в реальности 29,97) кадров в секунду, а вывод полей изображения — с частотой 60 (в реальности 59,94) полей в секунду. В системах высокой четкости (HD, high definition) часто используется прогрессивная развертка. Разрешающие способности по горизонтали и вертикали в таких системах могут быть намного больше, чем в SD-системах.
|
Области использования |
Видеостандарт |
Разрешение по горизонтали, пикселы |
Разрешение по вертикали, пикселы |
Полное количество пикселов |
|
Вещательное ТВ |
QCIF |
176 |
144 |
25344 |
|
Графика |
QVGA |
320 |
240 |
76800 |
|
Вещательное ТВ |
CIF |
352 |
288 |
101376 |
|
Графика |
VGA |
640 |
480 |
307200 |
|
Вещательное ТВ |
NTSC |
720 |
480 |
345600 |
|
Вещательное ТВ |
PAL |
720 |
576 |
414720 |
|
Графика |
SVGA |
800 |
600 |
480000 |
|
Графика |
XGA |
1024 |
768 |
786432 |
|
Вещательное ТВ |
HDTV (720p) |
1280 |
720 |
921600 |
|
Графика |
SXGA |
1280 |
1024 |
1310720 |
|
Графика |
UXGA |
1600 |
1200 |
1920000 |
|
Графика |
OXGA |
2048 |
1536 |
3145728 |
Существуют два основных направления развития разрешения и частот обновления кадров: форматы компьютерной графики и форматы широковещательной передачи видеоизображений. В таблице 1 перечислены некоторые распространенные варианты разрешений экрана.
Формат чересстрочной развертки зародился на раннем этапе развития аналогового телевидения. Поскольку для минимизации визуального дрожания требовалась высокая частота обновления, а доступные технологии не позволяли столь быстро обновлять весь экран, каждый кадр в этом формате выводился в два этапа. То есть полный кадр разделяется на два поля, один из которых состоит из нечетных, а второй — из четных строк. Чтобы достичь компромисса между доступной шириной полосы и необходимостью учитывать повышенную чувствительность глаза к мерцаниям в больших равномерных областях изображения, было принято считать, что частота обновления кадров в формате NTSC (PAL) составляет примерно 30 кадров в секунду.
При чересстрочном выводе изображения может проявляться некоторое остаточное мерцание. Кроме того, полный видеокадр состоит из двух полей, принадлежащих различным интервалам времени. Это может вызывать появление зубчатых краев в движущихся изображениях при преобразовании изображений с чересстрочной разверткой в формат прогрессивной развертки.
С появлением цифрового телевидения большую популярность получил формат видеоизображений с прогрессивной разверткой, который позволяет получить изображение повышенного качества. В этом формате изображение обновляется полностью сверху вниз с удвоенной (по сравнению с чересстрочной разверткой) частотой, за счет чего устраняются многие побочные эффекты чересстрочной развертки. Различий между полями в системах с прогрессивной разверткой не делается.
Существует множество разных способов представления цвета, и каждая цветовая система имеет свою область применения. Наиболее фундаментальным представлением является цветовое пространство RGB (зеленый-синий-красный). Сумма этих трех первичных цветов, взятых в определенных пропорциях, позволяет получить практически любой цвет видимой части спектра. Система RGB является базисной для всех остальных цветовых пространств.
Параметр «гамма» описывает нелинейный характер человеческого восприятия яркости и параметров дисплея. Человеческий глаз воспринимает яркость нелинейно, и физические устройства (ЭЛТ или ЖК-дисплеи) также отображают яркостную информацию нелинейно. При этом восприятие яркости человеком практически инверсно выходным характеристикам ЭЛТ. Яркость дисплея примерно пропорциональна напряжению входного аналогового сигнала, возведенному в степень «гамма» (для ЭЛТ- или ЖК-дисплеев — обычно от 2,2 до 2,5).
При обработке сигналов в видеокамере или при работе с компьютерной графикой необходимо выполнять процедуру гамма-коррекции, которая заключается в преобразовании выходного потока RGB (путем возведения отдельных составляющих в степень (1/ гамма) для компенсации нелинейности устройства отображения.
Координаты RGB, получаемые после гамма-коррекции, называют пространством R’G’B’, и на основе этих координат можно сформировать скорректированный сигнал яркости, Y’.
Гамма-коррекция является обязательной процедурой при подключении камеры и/или дисплея к процессору, и, поскольку форма записи не влияет на суть изложения, чтобы избежать путаницы, мы будем использовать обозначение YcbCr/RGB даже когда речь идет о том, что выполняется гамма-коррекция. Исключение составляют только те случаи, когда будут рассматриваться преобразования между цветовыми пространствами.
Формат RGB является естественной схемой для представления реальных цветов, однако каждый из трех каналов в этом представлении сильно коррелирован с двумя другими. В этом можно убедиться, независимо просматривая каналы R, G и B — даже в этом случае можно распознать картинку.
Для сокращения занимаемой видеосигналом ширины полосы и повышения коэффициентов сжатия видеоизображений были разработаны альтернативные цветовые пространства, наиболее популярными из которых являются YPbPr, YCbCr и YUV. Во всех этих схемах используются отдельная яркостная составляющая и две составляющих цветности. Разделение на составляющие осуществляется с помощью масштабированных цветоразностных коэффициентов (B’ – Y’) и (R’ – Y’). Компонент Pb/Cb/U соответствует коэффициенту (B’ – Y’), а Pr/Cr/V — коэффициенту (R’ – Y’).
В качестве примера приведем выражения, с помощью которых осуществляется преобразование между 8-разрядными пространствами Y’CbCr и R’G’B’:
Y’ = (0,299)R + (0,587)G + (0,114)B;
Cb = –(0,168)R – (0,330)G + (0,498)B + 128;
Cr = (0,498)R – (0,417)G – (0,081)B + 128;
R = Y’ + 1,397(Cr – 128);
G = Y’ – 0,711(Cr – 128) – 0,343(Cb – 128);
B = Y’ + 1,765(Cb – 128).
Мы уже выяснили, что человеческий глаз в большей степени чувствителен к яркости, чем к разнице цветов. Таким образом, в цветовой системе YCbCr можно уделять большее внимание составляющей Y, чем составляющим Cb и Cr. В результате субдискретизации цветовых составляющих можно добиться значительного сокращения полосы видеосигнала в видеостандартах и алгоритмах сжатия.
Предположим, что перед субдискретизацией мы имеем поток YCbCr с полной полосой (см. рис. 2а). Такой поток имеет название 4 : 4 : 4 YCbCr. Эта запись выглядит необычно, однако расшифровывается она довольно просто. Первое число всегда равно «4» и соответствует исторически сложившемуся соотношению между частотой дискретизации сигнала яркости и частотой поднесущей сигнала цветности стандарта NTSC. Второе число соответствует соотношению числа элементов яркости и цветности в отдельно взятой строке (по горизонтали); в отсутствии субдискретизации составляющих цветности это значение равно «4». Третье число совпадает со вторым и показывает, что субдискретизация по вертикали также отсутствует. Если бы оно было равно нулю, то это означало бы, что выполняется субдискретизация сигнала цветности по строкам с коэффициентом 2 : 1. Таким образом, запись «4 : 4 : 4» подразумевает, что каждому пикселу в каждой строке соответствует собственное уникальное значение компонентов Y, Cb и Cr.

Выполнив субдискретизацию сигнала цветности с коэффициентом 2 по горизонтали, мы получим из потока 4 : 4 : 4 YCbCr поток 4 : 2 : 2 YCbCr. Запись «4 : 2 : 2» означает, что в отдельно взятой строке на 2 значения цветности приходятся 4 значения яркости (см. рис. 4б). Сигнал 4 : 2 : 2 YCbCr очень немного проигрывает по качеству изображения сигналу 4 : 4 : 4 YCbCr, зато требуемая ширина полосы сокращается на 33% от исходной.
Схема «4 : 2 : 2» — не единственный вариант субдискретизации. Например, при субдискретизации сигнала цветности потока 4 : 4 : 4 YCbCr по горизонтали с коэффициентом 4 получается поток 4 : 1 : 1 YCbCr, который широко применяется для представления входной (выходной) информации в алгоритмах сжатия (декомпрессии) видеосигналов. Еще одним популярным форматом, используемым в алгоритмах сжатия и декомпрессии, является формат 4 : 2 : 0 YCbCr. Он несколько сложнее описанных выше форматов, поскольку каждый из компонентов Cb и Cr подвергается в нем субдискретизации с коэффициентом 2 и по горизонтали, и по вертикали.
До середины 90-х гг. ХХ в. практически повсеместно использовалась аналоговая форма представления видеоизображений. И только с появлением таких движущих сил, как формат сжатия MPEG 2, широкое распространение интернета и принятие FCC-стандарта цифрового телевидения (DTV), стало возможным использование преимуществ цифрового представления видеосигналов. Эти преимущества заключаются в улучшении отношения сигнал/шум (ОСШ), более эффективном использовании пропускной способности (внутри существующего аналогового канала может быть размещено несколько цифровых видеоканалов) и снижении требуемого объема памяти в алгоритмах цифрового сжатия.
Оцифровка аналогового видеосигнала предполагает его дискретизацию и квантование. В двухмерном контексте видеокадра дискретизация заключается в разбиении пространства изображения на малые области и назначении относительных уровней амплитуды компонентам цветового пространства в каждой из областей в соответствии с их интенсивностью. Нужно обратить внимание на то, что аналоговый видеосигнал уже дискретизирован по вертикали (имеет дискретное количество строк) и во времени (дискретное количество кадров в секунду).
Квантованием называется процесс назначения дискретных значений амплитуды полученным в результате дискретизации относительным уровням. В потребительских приложениях широко распространено 8-разрядное квантование отдельных каналов изображения, когда максимально темному уровню соответствует значение «0», а максимально яркому — «255». В последнее время в бытовой видеоаппаратуре быстро набирает популярность также 10- и 12-разрядное квантование.
Появление цифрового видео предоставило превосходную возможность до значительной степени стандартизировать интерфейсы с системами NTSC и PAL. ITU (International Telecommunication Union) разработал две отдельные рекомендации (ITU-R-BT.601 и ITU-R-BT.656), определяющие структуру, которая позволяет различным цифровым видеосистемам взаимодействовать друг с другом.
Рекомендация BT.601 определяет методы для цифрового кодирования видеосигналов с применением цветового пространства YCbCr. В качестве предпочтительного формата передачи видеоизображений рекомендуется формат 4 : 2 : 2 YCbCr. Для выделения границ областей активного видеоизображения в этой рекомендации вводятся сигналы синхронизации (HSYNC, VSYNC, FIELD) и тактовый сигнал.
Каждая составляющая пиксела (Y, Cr или Cb) в BT.601 квантуется 8 или 10 битами. Каждая строка изображения форматов NTSC и PAL разбивается на 720 пикселов активного видеоизображения. При этом, в отличие от стандарта NTSC с частотой обновления 30 кадров/с, где полный кадр состоит из 525 строк (включая области гашения обратного хода кадровой развёртки), для поддержания частоты обновления 25 кадров/с к кадру стандарта PAL добавляется 100 дополнительных строк (всего 625 строк). Для компонента Y в рекомендации BT.601 определен номинальный диапазон значений от 16 (полностью черный) до 235 (полностью белый). Компоненты цветности Cb и Cr имеют диапазон от 16 до 240, при этом значение 128 соответствует отсутствию цвета.
В то время как рекомендация BT.601 регламентирует представление видеосигнала в цифровой форме, рекомендация BT.656 определяет физические интерфейсы и потоки данных, необходимые для практической реализации BT.601. В BT.656 описаны два варианта режима работы: параллельный и последовательный. Для реализации параллельного режима достаточно сигнала тактовой частоты 27 МГц (для получения частоты кадров NTSC — 30 кадров/с) и, в зависимости от разрешения пикселов, 8 или 10 линий данных. Все сигналы синхронизации интегрируются в поток данных, поэтому дополнительные аппаратные линии не требуются.

В последовательном режиме данные с разрядностью 10 бит на пиксел передаются последовательно в виде единого мультиплексированного потока. Такой режим требует применения сложных схем синхронизации, восстановления тактовой частоты и т.д. Более того, тактовая частота в этом режиме близка к 300 МГц, поэтому во многих системах его реализация сопряжена со значительными трудностями. Мы рассмотрим только особенности параллельного режима. На рисунках 5 и 6 показано разбиение кадра и характеристики потока данных ITU-R BT.656, соответственно, для систем 525/60 (NTSC) и 625/50 (PAL).
В рекомендации BT.656 сигналы строчной (H), кадровой (V) синхронизации и сигнал поля (F) включаются в поток данных видеосигнала в виде последовательности байтов, формирующих управляющее слово. Сигналами начала активного видеоизображения (SAV, Start of Active Video) и конца активного видеоизображения (EAV, End of Active Video) выделяется начало и конец элементов данных, принадлежащих одной строке. Сигнал SAV соответствует переходу H из 1 в 0, а EAV — переходу H из 0 в 1. Полное поле видеоизображения включает активное видеоизображение, а также интервалы гашения обратного хода строчной (промежуток между кодами EAV и SAV) и кадровой (промежуток, на котором V = 1) развертки.
Начало поля видеоизображения отмечается изменением бита F. Нечетному полю соответствует значение F = 0, четному — F = 1. В случае прогрессивной развертки различий между полями 1 и 2 не делается, в то время как при чересстрочной развертке каждое поле должно обрабатываться по-своему, поскольку реальное видеоизображение формируется совмещением строк двух смежных полей.

Подробное описание кодов EAV и SAV содержится в таблице 2. За определенной преамбулой из трех байтов следует слово состояния XY. Помимо битов F (поле), V (гашение обратного хода кадровой развертки) и H (гашение обратного хода строчной развертки) оно содержит четыре защитных бита (P3—P0) для обнаружения и исправления одиночных ошибок.
|
8-разрядные данные |
||||||||
|
D9 (MSB) |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
|
|
Преамбула |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
Байт управления |
1 |
F |
V |
H |
P3 |
P2 |
P1 |
P0 |
P3-P0 — биты обнаружения/исправления ошибок.
Интервал гашения обратного хода кадровой развертки (V = 1) может использоваться для передачи телетекста, титров и другой информации. В BT.656 эта возможность поддерживается с помощью пакетов служебных данных. В отличие от управляющих кодов все пакеты служебных данных имеют преамбулу «0×00, 0×FF, 0×FF».
Если служебные данные не посылаются, то на интервалах гашения обратного хода кадровой и строчной развертки поток (Cb, Y, Cr, Y, Cb, Y) имеет вид (0×80, 0×10, 0×80, 0×10, 0×80, 0×10). Поскольку значения «0×00» и «0×FF» используются как специальные символы для выделения преамбулы, их использование в составе потока активного видеоизображения не допускается. Для совместимости в 10-разрядных системах также резервируются значения «0×000 — 0×003» и «0×3FC — 0×3FF».
На этом мы завершаем обзор основных принципов, используемых в работе видеосистем и форматов видеоизображений. В следующей публикации, продолжая тему, мы рассмотрим составные блоки встраиваемых систем обработки видеоизображений.

