Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
llama / llama_master_thesis_MPiTK_2006_VM-1.pdf
Скачиваний:
29
Добавлен:
16.04.2013
Размер:
1.6 Mб
Скачать

1. Сжатие статических изображений и видеосигналов

j1, j2 ,, jr < i – предшествующие символы, причем это отображение переводит набор символов в некоторый числовой вектор. Можно обобщить определение, если

допустить, что f : (s j , s j

,, s j

)→ Ψ, где Ψ

– множество объектов произвольной

1

2

r

 

природы, в частности числа, векторы и таблицы частот. В простейшем случае контекстом символа si является сам набор предшествующих символов s j1 , s j2 ,, s jr .

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

Контекстное моделирование заключается в выборе статистической модели перед кодированием очередного символа si по известному контексту C(si ) этого символа с тем, чтобы с помощью адаптивной модели оценить по выборке условную вероятность P{Si C(si )}. Далее следует эффективное кодирование символа на основе оценки условного распределения вероятностей. Этапы контекстного моделирования и эффективного (энтропийного) кодирования вместе составляют контекстное кодирование.

Показатели сжатия при контекстном кодировании зависят от следующих факторов:

1.Выбор подходящего контекста.

2.Правило выбора статистической модели по контексту.

3.Алгоритм накопления статистики в адаптивной модели.

4.Алгоритм формирования эффективных кодов по данным статистической модели.

1.3.Обзор методов цифровой видеокомпрессии

1.3.1.Общие идеи

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

10

1. Сжатие статических изображений и видеосигналов

раз без существенной потери качества. Это легко объясняется самим принципом работы видео, который заключается в частой передаче изображений с датчика. Так как интервал между регистрацией соседних кадров выражается обычно в десятках миллисекунд, то снимаемая сцена практически не успевает измениться за такое маленькое время. Это означает, что соседние кадры, скорее всего, будут очень похожи друг на друга, то есть, помимо пространственной корреляции значений близких пикселов в рамках одного кадра, налицо еще и высокая темпоральная корреляция, которую также используют алгоритмы видеокомпрессии. Третью возможность для сжатия дает цветовая избыточность видеоданных. Известно, что человеческий глаз не столь чувствителен к цветовым компонентам сигнала, сколько к перепадам его яркости, что позволяет кодировать информацию о цвете значительно грубее (а значит и эффективнее), чем информацию о яркости. Для этого используется преобразование сигнала из цветового пространства RGB в пространство YUV (Y – канал яркости, U, V – цветоразностные каналы), причем уже на этом этапе каналы U и V могут подвергаться прореживанию. Главная задача видеокодека – сжатие Y-канала, который фактически является исходной видеопоследовательностью, представленной в оттенках серого. При наличии эффективного алгоритма кодирования яркостного канала обобщение кодека на случай цветных видеоданных не представляет сложности. Поэтому в данной работе понятие видеопотока, за исключением специально оговоренных случаев, подразумевает последовательность именно полутоновых кадров.

Основным методом использования временной межкадровой зависимости в современных системах является разделение видеокадров на несколько типов:

I-кадры (intra frames), также называемые ключевыми; закодированы независимо от других кадров в видеопотоке.

– P-кадры (predicted frames) – кадры, использующие при кодировании информацию с предыдущего I- или P-кадра.

B-кадры (bidirectional frames) – кадры, использующие при кодировании информацию с предыдущего и следующего I- или P-кадров.

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

11

1. Сжатие статических изображений и видеосигналов

последовательности за минимальное время, так как в этом случае для декодирования P-кадра нужно предварительно декодировать все предыдущие P- кадры до ближайшего I-кадра, включая сам этот I-кадр.

Рассмотрим стандартные методы сжатия цифровых видеопоследовательностей.

1.3.2. Motion JPEG

Motion JPEG – простейший алгоритм сжатия видеоданных. Каждый кадр кодируется независимо от других алгоритмом JPEG (то есть все кадры являются I- кадрами), что позволяет декодеру иметь быстрый произвольный доступ к каждому кадру последовательности. Кроме того, в случае сбоя при передаче по каналу связи, ведущего к потере данных, Motion JPEG позволяет быстро восстановить изображение. Этот метод допускает простую аппаратную реализацию и обеспечивает хоть и низкую, но достаточную для многих приложений степень сжатия данных. Motion JPEG до сих пор используется, например, в системах видеонаблюдения, веб-камерах и другой аппаратуре. К сожалению, для этого алгоритма не существует общепринятого стандарта, поэтому реализации алгоритма от различных производителей, как правило, несовместимы друг с другом.

1.3.3. H.261

Стандарт ITU-T H.261 был принят в 1990 г. для передачи видеосигнала с разрешением CIF (352×288 пикселов) и QCIF (176×144 пиксела) по ISDN-линиям на скоростях от 40 кбит/с до 2 Мбит/с. Этот стандарт был первым, получившим широкое распространение, и он послужил базой для современных стандартов видеокомпрессии.

Основной единицей данных в стандарте является макроблок, состоящий из блока 16×16 пикселов из Y-канала и двух блоков 8×8 из прореженных (4:2:0) каналов U и V соответственно.

В кодеке использовались I- и P-кадры. Для построения P-кадров, снижающих темпоральную корреляцию, применялась блочная компенсация движения, рассмотренная ниже в п. 1.4. Для устранения пространственной корреляции использовалось ДКП над блоками 8×8 пикселов. Коэффициенты ДКП кодировались по схеме, аналогичной JPEG.

12

1. Сжатие статических изображений и видеосигналов

Стандарт H.261 регламентировал фактически только схему работы декодера. Разработчики кодеров, таким образом, в своих реализациях могли выбирать для составных частей кодера любые алгоритмы с различной скоростью и качеством работы.

Стандарт позволял декодеру выполнять любую постобработку восстановленного изображения, в том числе и устранение блочных искажений, неизбежно возникающих при работе с блочной компенсацией и ДКП. Постобработка, улучшающая визуальное качество восстановленных видеокадров, стала одним из главных элементов любого кодека.

Со временем H.261 был вытеснен более современными стандартами, но идеи, заложенные его создателями, продолжают успешно развиваться до сих пор.

1.3.4. MPEG-2

По сравнению с H.261 в стандарте MPEG-2 [23] существенным продвижением вперед стала возможность использования B-кадров. Стандарт поддерживает цветовое пространство YUV без прореживания или с прореживанием, например, 4:2:0 и 4:2:2. Важным нововведением стали так называемые профили и уровни стандарта, поддерживающие различные разрешения, частоты кадров, битрейты и пр. Это позволило значительно расширить диапазон применений кодека, начиная от мобильных устройств и заканчивая телевидением высокой четкости (HDTV) с 5- канальным звуком. В настоящее время MPEG-2, несмотря на недостаточную по сегодняшним меркам эффективность, широко используется, в частности, для распространения фильмов на DVD и цифрового телевещания в стандарте DVB.

1.3.5. MPEG-4

Это семейство стандартов (ISO/IEC 14496) – дальнейшее развитие своего предшественника. В нем предложено множество нововведений, таких, как объектные видеоплоскости (video object plane – VOP) и субпиксельная компенсация движения c точностью до 1/ 4 пиксела. Стандарт предусматривает особый тип компенсации – компенсация с перекрытием (overlapped motion compensation). Этот тип компенсации используется только для блоков компонента Y. При использовании этого метода разность берется не между текущим блоком и некоторым схожим блоком, принадлежащим предыдущим плоскостям, а между

13

1. Сжатие статических изображений и видеосигналов

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

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

В настоящее время большинство кодеков использует идеи, заложенные в основу стандарта MPEG-4.

1.3.6. H.264

H.264 (ISO/IEC 14496-10) – самый современный на сегодняшний день стандарт, совместно разработанный ITU-T и ISO/IEC. Разработчики отказались от идеи объектных плоскостей, оптимизировав стандарт для хранения исключительно видеоданных (спецификации MPEG-4 позволяют хранить не только видео, но и трехмерные сцены, синтезированный голос и т.д.).

В новом стандарте было сделано несколько интересных нововведений, существенно улучшивших качество сжатия видеопотока. В частности, несмотря на размер макроблока 16 ×16 , оставшийся еще со времен H.261, в H.264 используются и блоки других размеров: 8×8 , 4×4 , а также прямоугольные блоки 8×16, 4×8 и т.д. Макроблок может делиться на блоки различных размеров, каждый из которых может иметь свой вектор движения. Для блоков 4×4 предусмотрен особый тип преобразования, напоминающий косинусное, но за счет использования только операций сложения и сдвига работающий быстрее. Допустимая точность компенсации движения повышена с 1/ 4 до 1/8 пиксела. Уделено внимание и алгоритмам постобработки.

Шагом вперед стала возможность использовать арифметическое кодирование вместо кодирования Хаффмана, позволяющее сжимать данные без потерь на 5-10% лучше.

Стандарт H.264 обеспечивает высокое качество декодированного сигнала за счет существенно повысившейся вычислительной сложности. Однако быстрое развитие технологий дает полное право утверждать, что в ближайшие годы этот

14

Соседние файлы в папке llama