Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Razdel_3_2011

.pdf
Скачиваний:
11
Добавлен:
16.04.2015
Размер:
329.91 Кб
Скачать

1. Кодирование видеосигналов

Для того чтобы представить, насколько более сложной является проблема компрессии подвижных видеоизображений по сравнению с компрессией речевых сообщений, оценим скорость так называемого "сырого" цифрового потока, получаемого при непосредственном преобразовании в цифровой формат последовательности кадров размером 864х625 точек (сэмплов), полагая, что частота кадров составляет Fr=25 Гц, а на кодирование каждой точки изображения в цветовом пространстве RGB требуется 24 бита (по 8 бит для каждой из компонент красного (R), зеленого (G) и синего (В) цветов): Wв=864·625·25·24=324 Мбит/с. Скорость такого цифрового потока в 3375 раз (!) превышает скорость Wа=96 кбит/с нескомпрессированного цифрового потока, получаемого после преобразования в цифровой формат речевых сообщений. Конечно, отчасти такое значительное различие обусловлено тем, что по своей физической природе любое видеоизображение, являющееся не только функцией времени, но и функцией пространственных координат, намного сложнее речевых сообщений, которые можно рассматривать только как функции времени. Однако, с другой стороны, такое отличие скоростей цифровых потоков является свидетельством того, что для видеоизображений характерна очень большая избыточность. Прежде чем приступить к рассмотрению основных принципов ее устранения, остановимся на особенностях зрительной системы человека, рациональный учет которых позволяет снизить до определенных пределов скорость цифрового потока.

Цветовое пространство YCbCr

Известно, что органы зрения человека менее чувствительны к цвету предметов, чем к их яркости [2, 6]. В цветовом пространстве RGB все три компоненты считаются одинаково важными и представляются с одинаковым разрешением. Это обстоятельство, в частности, и было учтено в рассмотренном выше примере. Однако если перейти в другое цветовое пространство, компоненты которого обозначают как YCbCr, где Y=krR+kbB+kgG – яркость (светимость) элемента изображения, выражаемая через компоненты R, G и B с помощью весовых коэффициентов kr, kb, kg, а Cb=B-Y и Cr=R-Y получили название цветоразностных компонент, то скорость цифрового потока можно уменьшить. Это обусловлено тем, что с учетом уже упоминавшейся пониженной чувствительности зрительной системы человека цветоразностные компоненты Cb и Cr могут быть представлены с меньшим разрешением без заметного ухудшения качества передачи цветовых оттенков изображения. Так, если воспользоваться параметрами изображения, принятыми в

стандарте PAL, где число точек яркости на линию равно 864, а число хроматических точек на линию в два раза меньше и составляет соответственно 432, то при количестве линий в полном кадре 625, частоте кадров 25 Гц и использовании 8 бит для кодирования сэмплов скорость цифрового потока уменьшится на треть и будет равна:

Wв=864·625·25·8+ 2·432·625·25·8=216 Мбит/с.

Первое слагаемое в этом выражении определяет скорость цифрового потока, связанного с кодированием компоненты Y, а второе слагаемое, входящее с коэффициентом 2, - цветоразностных компонент Cb и Cr.

Форматы сэмплирования YCbCr

На практике можно встретить 3 наиболее часто применяющихся формата сэмплирования. Формат 4:4:4 подразумевает, что все три компоненты (Y, Cb, Cr) имеют одинаковое разрешение и, следовательно, сэмплы всех компонентов присутствуют в каждом пикселе. Число в пропорции означает относительную долю каждой компоненты при сэмплировании в горизонтальном направлении, т.е. для каждой из четырех компонент яркости отбирается по четыре хроматические компоненты (рис. 1, а). Сэмплирование по формату 4:4:4 означает полную точность в передаче хроматических компонент, однако за это приходится расплачиваться высокой скоростью цифрового потока.

При сэмплировании, описываемом пропорцией 4:2:2, хроматические компоненты по вертикали имеют одинаковое разрешение с яркостью, а по горизонтали они имеют половину от разрешения яркости (рис. 1, б). Числа 4:2:2 означают, что на каждые четыре сэмпла яркости Y по горизонтали отбирается только две компоненты Cb и две компоненты Cr. Формат 4:2:2 используется для высококачественного цветного видео.

В популярном на практике формате сэмплирования по схеме 4:2:0, получившем широкое распространение в таких приложениях, как видеоконференцсвязь, цифровое телевидение и диски DVD, хроматические компоненты Cb и Cr и по горизонтали и по вертикали отбираются в 2 раза реже компонент яркости Y (рис. 1, в), в связи с чем пространство 4:2:0 YCbCr требует в два раза меньше сэмплов по сравнению с форматами 4:4:4 или R,G,B. В данном случае пропорция 4:2:0 не имеет четкой геометрической интерпретации и, по сути, является данью исторической традиции, когда таким образом условно обозначили формат сэмплирования, отличный от форматов 4:4:4 и 4:2:2.

Сэмпл Y

Сэмпл Cr

Сэмпл Cb

а)

б)

в)

 

Рис. 1

Видеоформаты

Стандарты кодирования видеоизображений, которые будут рассмотрены в разделе 2, предусматривают для кодеков возможность работы с большим набором форматов видеокадров. Общий промежуточный формат CIF (от англ. Common Intermediate Format) является базисным для семейства распространенных форматов

(см. табл. 1). Стандарт Quarter Common Intermediate Format (QCIF) имеет разрешение вдвое ниже CIF по каждому измерению, т.е. в четыре раза меньшее общее число пикселей. Кроме этого, получил распространение и ряд производных от CIF и QCIF форматов: Sub-QCIF, 4CIF, 16CIF (табл. 1).

Таблица 1

 

Форматы видеокадров

Формат кадра

 

Размер в пикселах

Sub-QCIF

 

128x96

QCIF

 

176x144

CIF

 

352x288

4CIF

 

702x576

16CIF

 

1408x1152

Выбор разрешения видеокадра зависит от конкретного приложения, доступной емкости устройства хранения, а также от пропускной способности телекоммуникационного канала. Например, 4CIF подходит для телевидения стандартного разрешения и для DVD-видео. Форматы CIF и QCIF нашли широкое применение в видеоконференсвязи. В мобильном мультимедиа, где размеры дисплея и битовая скорость приема и передачи данных весьма ограничены, популярны форматы QCIF и Sub-QCIF.

Основные виды избыточности и способы их уменьшения

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

Большинство применяемых в настоящее время методов компрессии видеоизображений сводятся к следующей последовательности:

шаг №1 – устранение временной избыточности; шаг №2 – устранение пространственной избыточности;

шаг №3 – статистическое кодирование (кодирование по Хаффману). Реализация шага №1 подразумевает формирование кадра-предсказания,

который вычитается из текущего кадра. Точно так же, как это уже отмечалось выше по отношению к методу АДИКМ, применяемому для компрессии аудиосообщений, чем точнее осуществляется предсказание, тем меньшее количество бит потребуется для передачи разностного кадра. Пример, иллюстрирующий указанный подход, показан на рис. 2. Первое изображение кодируется полностью, при этом формируется так называемый I-кадр – опорный кадр. В двух последующих изображениях (P-кадрах – от англ. predictive frames) ставятся ссылки на первое изображение в отношении статичных элементов (в данном случае в отношении изображения дома) и кодируются только движущиеся элементы (бегущий человек), что снижает объем информации, подлежащей передачи или хранению.

Рис. 2 Формирование кадра-предсказания может осуществляться по одному или

нескольким предыдущим и последующим кадрам, получившим название "ссылочных" кадров. Необходимо учесть, что изображаемые в кадре объекты могут изменять свое положение от кадра к кадру при сохранении формы (в спортивных состязаниях, например, спортсмены перемещаются по площадке, автомобиль движется по дороге, герои фильма ходят по комнате и т.п.). По этой причине разностный кадр может потребовать для его передачи большое количество бит. Для его уменьшения в стандартах кодирования видеоизображений формирование кадрапрогноза происходит с учетом изменения положения объектов. Эта процедура получила название "компенсация движения". Данную задачу можно было бы решить разными способами. Один из них заключается в определении параметров, описывающих перемещение каждого пиксела изображения. Очевидно, что получаемое при этом количество параметров, описывающих изменение положения для всей совокупности пикселов, образующих кадр, было бы достаточно велико и, соответственно, требовало бы большое количество бит для их передачи по телекоммуникационному каналу. Поэтому на практике получил применение другой подход, основанный на компенсации движения не для отдельного пиксела, а для блока, объединяющего группу из МхN пикселов. С учетом сказанного, последовательность операций при формировании разностного кадра с учетом компенсации движения сводится к следующему [6, 8]:

1. Поиск на ссылочном кадре (предыдущем или следующем, ранее закодированном и переданном декодеру) "подходящего" блока из МхN пикселов (рис. 3). Это делается путем сравнения текущего МхN -блока с некоторыми или со всеми МхN -блоками области поиска (обычно она представляет собой часть кадра с центром в середине выбранного блока) и нахождение "самого подходящего" блока. В качестве критерия схожести блоков может быть использовано требуемое число бит, получаемое вычитанием блока-кандидата из текущего МхN-блока. В результате выполнения указанной операции выбирается блок-кандидат, минимизирующий

требуемое для передачи число бит. Этот процесс поиска подходящего блока называется оценкой движения.

2.Выбранный кандидат становится прогнозом текущего МхN-блока и его вычитают из этого блока для получения остаточного МхN-блока. Этот шаг называют

компенсацией движения.

3.Остаточный блок кодируется и передается на приемную сторону декодеру. Помимо остаточного блока декодер получает также координаты вектора, определяющего смещение блока-кандидата по отношению к позиции текущего блока (вектор движения) (рис. 3).

Рис. 3

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

Несмотря на определенные трудности, которые могут возникнуть на практике (реальные объекты редко имеют четкие прямоугольные границы, объекты могут перемещаться на нецелое число пиксельных позиций, некоторые виды перемещений

– деформацию объектов, изменение их масштаба при приближении или удалении от камеры и ряд других – трудно скомпенсировать, используя методы на основе блоков), компенсация движения на основе блоков применяется при построении временных моделей во всех современных стандартах цифрового видеокодирования

[6].

Полученные на шаге №1 разностные кадры при дальнейшей обработке (шаг №2) подвергаются процедуре устранения пространственной избыточности. Она заключается в разложении сигналов разностных блоков на пространственновременные гармоники с использованием так называемого дискретного косинусного преобразования (ДКП). Поскольку основная доля энергии в таких блоках обычно сосредоточена в небольшом числе пространственно-временных гармоник, расположенных в низкочастотной части спектра сигнала, вкладом высших гармоник можно пренебречь. Так как для описания учитываемых низкочастотных гармоник требуется сравнительно небольшое число коэффициентов ДКП, то объем информации, подлежащей передаче на приемную сторону после устранения пространственной избыточности, может быть заметно уменьшен по сравнению со случаем, если бы передавались параметры каждого пиксела изображения.

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

2 Международные стандарты кодирования видеоизображений

2.1Рекомендация H.261

ВРекомендации H.261, принятой МСЭ-Т в 1990 году, определены процедуры кодирования и декодирования видеоизображений. Хотя ей предшествовала принятая еще в 1982 г. Рекомендация H.120 цифрового кодирования видео, Рекомендация H.261 стала, по существу, первым стандартом, получившим широкое распространение в реальных продуктах. Первоначально она была разработана для передачи видеоизображений по каналам ISDN со скоростью выходного потока nх64 кбит/с, где n=1, 2,…, 30. Алгоритм кодирования, разработанный в рамках данной Рекомендации, был предназначен для работы с цифровыми потоками, скорость которых варьируется от 40 кбит/с до 2 Мбит/с. Рекомендация H.261 поддерживает размеры кадров CIF и QCIF и использует схему сэмплирования 4:2:0. В 1993 г. Рекомендация H.261 была дополнена в части поддержки передачи неподвижных изображений с разрешением 704x576 пикселов по яркости и 352x288 пикселов по цветоразностным компонентам.

Несмотря на то что последующие работы по совершенствованию методов компрессии видеоизображений привели к появлению улучшенных по своим

характеристикам алгоритмов, Рекомендация H.261 считается исторической вехой в развитии технологий кодирования видеоизображений. Это, в частности, обусловлено и тем, что все последующие международные рекомендации в области кодирования видео (MPEG-1, MPEG-2, H.263, H.264) опирались на заложенные в H.261 принципы, которые были рассмотрены в разделе 2.2, в том числе [7]:

-межкадровое предсказание;

-компенсацию движения;

-разложение остаточного сигнала на пространственно-временные гармоники и учет только тех из них, в которых содержится основная доля энергии данного сигнала;

-статистическое кодирование по Хаффману.

2.2 Рекомендация H.263

Первая версия Рекомендации H.263 была завершена в 1995 г. и пришла на смену устаревшей к тому времени Рекомендации H.261. Дальнейшим развитием работ в этом направлении являются Рекомендации H.263v2 (также известная как

H.263+ или H.263 1998) и H.263v3 (известная как H.263++ или H.263 2000).

Рекомендация H.263 определяет кодирование видеосигнала для связи по каналам с низкой пропускной способностью. Базовая конфигурация алгоритма кодирования источника изображения основана на Рекомендации Н.261. Кодер источника поддерживает пять стандартных форматов источника изображения: SubQCIF, QCIF, CIF, 4CIF и 16CIF, и, кроме того, может работать с широким диапазоном пользовательских форматов изображения. В отличие от Рекомендации H.261, в которой точность компенсации движения равна целому пикселу, в Рекомендации H.263 точность компенсации движения улучшена и составляет половину пиксела. Кроме базового алгоритма в Рекомендацию H.263 включено 18 дополнительных функций, которые могут использоваться как вместе, так и по отдельности (в зависимости от определенных ограничений) [8]:

-постоянная работа в режиме "связь пункта со многими пунктами" и режим видеомультиплексирования;

-режим с неограниченным вектором движения;

-режим улучшенного предсказания;

-упреждающая коррекция ошибок;

-режим улучшенного внутриблокового кодирования INTRA;

-дополнительная вспомогательная информация и др.

Включение дополнительной информации в бинарный поток может быть использовано для [8]:

-указания расширенных функциональных возможностей дисплея;

-передачи информации для внешнего использования;

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

Дополнительные данные могут быть представлены в бинарном потоке, даже если декодер не способен обработать или даже просто правильно истолковать их. В таких декодерах вспомогательная информация будет отброшена, если только не достигнута договоренность о ее обработке при помощи внешних средств.

2.3 Рекомендация H.264/AVC

Рекомендация H.264/AVC (от англ. Advanced Video Coding - прогрессивное кодирование видео) является результатом общего проекта, выполненного группой экспертов по движущимся изображениям (англ. Moving Picture Experts Group, MPEG) Международной организации по стандартизации (англ. International Organization for Standardization, ISO) и группой экспертов по видеокодированию (англ. Video Coding Experts Group, VCEG) организации МСЭ-Т. Этот документ был опубликован одновременно как стандарт MPEG-4, Part 10 и как Рекомендация МСЭ-Т H.264. Кодер H.264 без ущерба для качества изображения может снижать скорость цифрового потока более чем на 80% по сравнению с форматом Motion JPEG и на 50% - по сравнению со стандартом MPEG-4, Part 2. По сути это означает гораздо меньшие требования к полосе пропускания для передачи и объему памяти для хранения видеофайла или же, с другой стороны, возможность получения гораздо лучшего качества видеоизображения при той же скорости передачи данных.

Рекомендация H.264/AVC была разработана для обеспечения подходящих технических решений для широкого спектра возможных приложений, включая такие, как [6]:

- широкополосное вещание по проводам, через спутник, кабельный модем и

др.;

- интерактивное или периодическое сохранение данных на оптических и магнитных носителях, DVD и т.п.

-интерактивное взаимодействие через ISDN, локальную вычислительную сеть (ЛВС), цифровые абонентские линии (англ. Digital Subscriber Line(s), DSL), беспроводные и мобильные сети и модемы;

-видео по запросу и мультимедийные потоковые сервисы по кабельным модемам, DSL, ISDN, ЛВС, беспроводным сетям;

-службы мультимедийной почты по каналам DSL, ISDN.

Диапазон битовых скоростей и размеров изображений, поддерживаемых Рекомендацией H.264/AVC, весьма широк. Заложенные в нее возможности видеокодирования простираются от малых битовых скоростей и малой частоты кадров с размером видеокадра типа "почтовая марка" для мобильной телефонии и соединений по обычным телефонным линиям до скоростей, требуемых для передачи высококачественного вещательного и развлекательного телевидения высокой четкости (англ. High-Definition Television, HDTV).

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

По ходу разработки Рекомендации H.264/AVC было применено много новых технических приемов и усовершенствований. В их числе следует отметить [6]:

-компенсацию движения на основе малых блоков, позволяющую существенно повысить точность выделения области движения за счет адаптивного изменения размера блока от 16х16 до 4х4 пиксела;

-повышение точности компенсации движения до 1/4 сэмпла, что позволяет существенно улучшить точность описания медленно движущихся объектов;

-работу с векторами движения, выходящими за границы кадров (такая возможность впервые была предусмотрена в Рекомендации H.263 как опция, а в MPEG-2 и предшествовавших ему стандартах векторы движения могли указывать

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]