Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Борискевич А.А. Цифровая обработка речи и изображений - файл тема11.doc


Борискевич А.А. Цифровая обработка речи и изображений
скачать (5335.1 kb.)

Доступные файлы (16):

Литература.doc34kb.28.04.2007 17:48скачать
Содержание.doc68kb.28.04.2007 17:09скачать
тема10.doc1416kb.28.04.2007 17:42скачать
тема11.doc917kb.28.04.2007 17:47скачать
тема12.doc1926kb.28.04.2007 17:45скачать
Тема 13.doc5561kb.28.04.2007 17:46скачать
тема14.doc177kb.28.04.2007 17:46скачать
Тема 1.doc182kb.28.04.2007 17:34скачать
Тема 2.doc549kb.28.04.2007 17:41скачать
Тема 3.doc243kb.28.04.2007 17:33скачать
тема 4.doc297kb.28.04.2007 17:34скачать
Тема 5.doc1150kb.28.04.2007 17:35скачать
Тема 6.doc3287kb.28.04.2007 17:41скачать
Тема 7.doc529kb.28.04.2007 17:38скачать
Тема 8.doc985kb.28.04.2007 17:39скачать
тема 9.doc1022kb.28.04.2007 17:42скачать

тема11.doc

Тема 11. Сжатие изображений на основе психовизуальной модели зрительного анализатора (4 часа) [8, 17-20, 22].

11.1 Особенности зрительного анализатора

Свойства системы зрения человека. Очень часто окончательную оценку изображения делает человек. Если бы человеческое зрение было идеальным и отвечало на световое воздействие с абсолютной точностью и совершенной линейностью, то его можно было бы и не изучать. Однако система зрения человека обладает нелинейной характеристикой, а ее отклик не является абсолютно верным. Важность этих положений для получения изображений признана довольно давно, однако они не в полной мере использовались при обработке изображений. Одной из характеристик системы зрения человека является способность восприятия яркости света. Эксперименты по определению восприятия людьми минимально различимых градаций яркости света, поступающего от калиброванного источника, показали, что яркость света воспринимается глазом нелинейно. Если начертить график зависимости величины этой минимально различимой градации яркости от эталонной яркости, то при изменении яркости в пределах нескольких порядком этот график имеет логарифмический характер. Такие субъективные экспериментальные результаты согласуются с объективными данными, полученными в экспериментах на животных, в которых было показано, что светочувствительные клетки сетчатки и оптический нерв возбуждаются с частотой, пропорциональной логарифму интенсивности подводимого к ним света. По вполне понятным причинам подобные объективные измерения на людях не проводились. Тем не менее объективные данные для животных и субъективные показания для людей более чем убедительно подтверждают вывод о том, что яркость света воспринимается по логарифмическому закону. Это существенно нелинейный закон.


Рис. 11.1 Импульсный и частотный отклики зрительной системы человека:

a - сечение (асеcимметричной) аппаратной функции глаза человека; б - сечение (осесимметричной) частотной характеристики глаза человека.
Другой отличительной характеристикой системы зрения человека является ее пространственно-частотный отклик. Импульсный отклик глаза, рассматриваемого в виде двумерной линейной системы (т.е. линейной после начального логарифмического преобразования интенсивности наблюдаемого света), не является - функцией Дирака. Реакция глаза на приходящее световое поле описывается аппаратной функцией, сечение которой показано на рис. 11.1, а. Острый центральный пик и отрицательные боковые лепестки импульсного отклика глаза показывают, что глаз обрабатывает пространственные частоты так же, как фильтр верхних частот. Точная форма частотной характеристики глаза исследовалась с помощью ряда психовизуальных экспериментов; было показано, что глаз подавляет низкие и ослабляет высокие пространственные частоты. В грубом приближении пространственно-частотный отклик глаза имеет полосовой характер.

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

1) объясняет ряд важных явлений, таких, как восприятие яркости света и полосы Маха;



Рис. 11.2. Блок-схема системы зрения человека.

2) указывает, что в системе зрения содержатся некоторые элементы системы обработки информации. В частности система зрения человека, по-видимому, выполняет некоторые операции гомоморфной обработки информации.

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

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

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

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

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

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

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

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

Рассмотрим как человек воспринимает стереоизображение.




Когда человек смотрит на расположенный перед ним небольшой объект , говорят, что наблюдатель «фиксирует предмет». Лучи, проходящие от через хрусталики глаз и попадающие на сетчатку глаз, фоку­сируются на ней в областях и рис.11.3 В сознании наблюдателя два образа объекта (воспринимаемые правым и левым глазом) «сливаются» в еди­ный образ.
Рис. 11.3 Сетчаточная диспаратность
При этом угол между «осями зрения» и (угол конвергенции) и разность смещений изображений и относительно центров сетчаток (диспаратность) служат мерой представления наблюдателя об удаленности предмета А.

Лучи от второго объекта фокусируются на сетчатке в областях и , угол конвергенции и диспаратность принимают другие значения, и наблюдатель воспринимает объект как удаленный на иное, нежели объект , расстояние. Если наблюдатель осознает, что объекты и принадлежат одному предмету, то возникает естественное ощущение про­тяженности этого предмета в глубину.

Исследования зрения человека (и животных) показали, что для восприятия глубины важны два явления – аккомодация и конвергенция. Аккомодация глаза – это его «приспособление к отчетливому видению предметов на различных расстояниях; при помощи глазных мышц хрусталик глаза изменяет свою форму так, что предмет дает отчетливое изображение на сетчатке».

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

Однако конвергенция, как и аккомодация, в стереоскопическом видении решающей роли не играет. Одним из основных факторов в стереоскопическом видении является несоответствие изображений на сетчатках двух глаз. Однако не всякое несоответствие изображений, возникающих на сетчатках, влечет за собой впечатление стереоскопичности объекта. Если это несоответствие слишком велико или если точка предмета, дающая в одном глазу изображение на левой половине сетчатки, в другом глазу дает изображение на правой ее половине, мы получаем впечатление двойственности, видим эту точку двойной. Возьмем две спицы и поставим их одну за другой на расстоянии примерно 15 см друг от друга. Будем при этом фиксировать ближнюю спицу, находящуюся в точке с на рис.11.4, тогда дальняя (находящаяся в точке а), увидится нами уже двойной в точках а' и а". При фиксировании же более удален­ной спицы (в точке с) раздвоится более близкая (помещенная в точку в) и даст в свою очередь два изображения в' и в". Как можно видеть на рис.11.4, в обоих случаях изображение нефиксируемой спицы падает на разноименные половины сетчаток.




Рис. 11.4 Опыт с двумя спицами

Если же несоответствие не слишком велико или же оно односторонне (т. е. раздраженные несоответствующие точки сетчатки в обоих глазах лежат в правых половинах сетчаток или в обоих глазах — в левых половинах), двоения не получается, но получается впечатле­ние третьего измерения, близости или от­даленности предмета сравнительно с фиксируемой точкой.

Степень и направление видимой удаленности предмета зависят при этом от так называемого относительного бинокулярного параллакса» .

Бинокулярный параллакс p видимой точки равен углу на рис. 11.3 и при малых значениях p<<1

, (11.1)

где d расстояние между зрачками глаз; l – расстояние до точки .

Относительный бинокулярный параллакс dp двух точек и равен

, (11.2)

где dl разница удаленностей точек и .

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

Как и для других органов чувств человека (например, осязания или слуха), для различения двух точек по удаленности имеется порог; обычно порого­вая величина углового параллакса составляет 5 угловых секунд. Этому поро­говому значению соответствует предельная дальность (так называемый радиус стереоскопического видения), за которым глаз уже не в состоянии воспринять различий рельефа. В соответствии с формулой (11.1) величина радиуса стереоскопического видения у разных людей составляет 1 -1,5 км.
^

11.2 Стандарт сжатия JPEG 2000 и система ROI.


Одно из успешных применений вейвлетов - их использование для сжатия изображений. Многочисленные исследования в этом направлении вылились в конце концов в принятие нового стандарта - JPEG2000. Пока изображения в этом формате еще не очень распространены, но нет никаких сомнений в том, что он полностью вытеснит нынешний популярный JPEG. Поэтому темой данной курсовой работы является описание и основные параметры алгоритма сжатия JPEG 2000, а так же описания технологии сжатия отдельных частей изображения (Region of Interests, ROI).

Разработка JPEG2000 началась в 1996 году. Как раз к этому времени стало ясно существенное преимущество алгоритмов сжатия на основе вейвлетов перед ДКП, использованным в JPEG. Однако, только лишь ради увеличения степени сжатия вряд ли бы стали тратить громадные деньги. При создании нового стандарта наряду с достижением большей эффективности сжатия ставились еще и следующие цели:

Объединение в рамках единой технологии сжатия с потерями и без потерь. В дополнениях к JPEG есть режим сжатия без потерь, но эта технология защищена патентами.

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

2. Унифицированная архитектура декодера. В ^ JPEG имеется порядка 44 различных режимов декодирования, в зависимости от приложения. Синтаксис JPEG2000 таков, что в независимости от применяемого способа кодирования используется один и тот же декодер.

3. Масштабируемость. В зависимости от потребности, это может быть масштабируемость по размеру, разрешению, частотному содержанию, количеству цветов.

4. Обработка отдельных областей на изображении (Region Of Interest, смотрите далее). Например, пользователя может интересовать не все изображение улицы, а лишь фото отдельной машины, он выделяет его (мышью), и декодер с высоким качеством восстанавливает этот фрагмент. (Все невозможно "поднять" с высоким качеством из-за ограничений на объем передаваемой информации). Кстати говоря, такой режим имеется в видеокодеке Analog Devices ADV611/ADV613.

5. Сжатие изображений больших размеров.

6. Возможность обработки сжатого изображения без декомпрессии.

Рассмотрим основные блоки, входящие в структурную схему алгоритма сжатия JPEG2000.

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

  2. Вейвлет-преобразование. В первой части определены два вейвлет-фильтра: фильтр Добеши, для сжатия с потерями и биортогональный фильтр с целочисленными коэффициентами для сжатия без потерь. Во второй части стандарта разрешается применение любых фильтров, а также не только октавополосное разбиение, но и произвольное (вейвлет-пакеты и т.д.).

  3. Квантование. В первой части стандарта определен равномерный квантователь с мертвой зоной.

  4. Энтропийное кодирование. Применяется адаптивный арифметический кодер (в JPEG используется кодер Хаффмана). Ввиду патентных ограничений используется не QM-кодер разработки IBM, а чуть худший MQ-кодер, специально разработанный для JPEG2000. Кодирование ведется не всего изображения в целом и даже не отдельных субполос, а более мелких объектов - кодируемых блоков (КБ). Размер кодируемого блока может быть не более 4096 пикселов, высота не менее 4 пикселов. Такое разбиение хотя и снижает несколько коэффициент сжатия, но повышает устойчивость сжатого потока к ошибкам канала связи: ошибка испортит лишь небольшой блок. Кодирование блоков ведется в три этапа, битовыми плоскостями.

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



^

11.3 Алгоритм сжатия JPEG 2000 и его отличия от JPEG.


Алгоритм JPEG-2000 разработан той же группой экспертов в области фотографии, что и JPEG. Основные отличия алгоритма в JPEG 2000 от алгоритма в JPEG заключаются в следующем:

  1. Лучшее качество изображения при сильной степени сжатия. Или, что тоже самое, большая степень сжатия при том же качестве для высоких степеней сжатия. Фактически это означает заметное уменьшение размеров графики «WEB-качества», используемой большинством сайтов.

  2. ^ Поддержка кодирования отдельных областей с лучшим качеством. Известно, что отдельные области изображения критичны для восприятия человеком (например, глаза на фотографии), в то время как качеством других можно пожертвовать (например, задний план). При «ручной» оптимизации увеличение степени сжатия проводится до тех пор, пока не будет потеряно качество в какой-то важной части изображения. Сейчас появляется возможность задать качество в критичных областях, сжав остальные области сильнее, т.е. мы получаем еще большую окончательную степень сжатия при субъективно равном качестве изображения.

  3. ^ Основной алгоритм сжатия заменён на алгоритм wavelet. Помимо указанного повышения степени сжатия это позволило избавиться от 8-пиксельной блочности, возникающей при повышении степени сжатия. Кроме того, плавное проявление изображения теперь изначально заложено в стандарт (Progressive JPEG, активно применяемый в Интернет, появился много позднее JPEG).

  4. ^ Для повышения степени сжатия в алгоритме использу­ется арифметическое сжатие. Изначально в стандарте JPEG также было заложено арифметическое сжатие, однако позднее оно было заменено менее эффективным сжатием по Хаффману, поскольку арифметическое сжатие было защи­щено патентами. Сейчас срок действия основного патента истек, и появилась возможность улучшить алгоритм.

  5. ^ Поддержка сжатия без потерь. Помимо привычного сжатия с потерями новый JPEG теперь будет поддерживать и сжатие без потерь. Таким образом, становится возможным использование JPEG для сжатия медицинских изображений, в полиграфии, при сохранении текста под распознавание OCR системами и т.д.

  6. ^ Поддержка сжатия однобитных (2-ух цветных) изображе­ний. Для сохранения однобитных изображений (рисунки тушью, отсканированный текст и т.п.) ранее повсеместно рекомендовался формат GIF, поскольку сжатие с использованием ДКП весьма неэффективно к изображениям с резкими переходами цветов. В JPEG при сжатии 1-битная картинка приводилась к 8-битной, т.е. увеличивалась в 8 раз, после чего делалась попытка сжимать, нередко менее чем в 8 раз. Сейчас можно рекомендовать JPEG 2000 как универсальный алгоритм.

  7. ^ На уровне формата поддерживается прозрачность. Плав­но накладывать фон при создании WWW страниц теперь можно будет не только в GIF, но и в JPEG 2000. Кроме того, поддерживается не только 1 бит прозрачности (пиксель прозрачен/непрозрачен), а отдельный канал, что позволит зада­вать плавный переход от непрозрачного изображения к прозрачному фону.
^

Идея алгоритма (базовая схема).


Базовая схема JPEG-2000 очень похожа на базовую схему JPEG. Отличия заключаются в следующем:

1. Вместо дискретного косинусного преобразования (DGT) используется дискретное wavelet-преобразование (DWT).

2. Вместо кодирования по Хаффману используется арифме­тическое сжатие.

3. В алгоритм изначально заложено управление качеством областей изображения.

4. Не используется явно дискретизация компонент U и V после преобразования цветовых пространств, поскольку при DWT можно достичь того же результата, но более аккуратно,

11.4 Последовательность операций, используемых в алгоритме JPEG-2000.
^

Шаг 1. Сдвиг по яркости (DC level shift).


В JPEG-2000 предусмотрен сдвиг яркости (DC level shift) ка­дой компоненты (RGB) изображения перед преобразованием в YUV. Это делается для выравнивания динамического диапазона (приближения к U гистограммы частот), что приводит к увели­чению степени сжатия. Формулу преобразования можно записать как:

(11.3)

Значение степени ST для как каждой компоненты R, G и B свое (определяется при сжатии компрессором). При восстановлении изображения выполняется обратное преобразование:

(11.4)
^

Шаг 2. Изменение цветового пространства (RGB – YUY).


Переводим изображение из цветового пространства RGB. с компонентами, отвечающими за красную (Red), зеленую (Green) и синюю (Blue) составляющие цвета точки, в цветовое пространство YUV. Этот шаг аналогичен JPEG, за тем исключением, что кроме преобразования с потерями, предусмотрено также и преобразование без потерь. Его матрица выглядит так:



Обратное преобразование осуществляется с помощью обратной матрицы:


^

Шаг 3. Дискретное wavelet преобразование (DWT).


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

Для сжатия с потерями коэффициенты выглядят как:




Для сжатия без потерь коэффициенты задаются так:



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

11.6

Поскольку большинство hL(i), кроме окрестности i=0, равны 0, то можно переписать приведенные формулы с меньшим количеством операций.

Для простоты рассмотрим случай сжатия без потерь.

11.7

11.8

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

11.9

1.10

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



Рис. 11.5 Симметричное расширение изображения (яркости АБ .. Е)

по строке вправо и влево

Пусть мы преобразуем строку из 10 пикселей. Расширим её значения вправо и влево и применим DWT преобразование.



Получившаяся строка 1, 0, 3, 1, 11, 4, 13, -2, 8, -5 и является цепочкой, однозначно задающей исходные данные. Совершив аналогичные преобразования с коэффициентами дня распаковки, приведенными выше в таблице, получим необходимые формулы:

11.11

11.12

Легко проверить (используя преобразование упаковки), что значения на концах строк в yout также симметричны относительно n=0 и 9. Воспользовавшись этим способом, расширим строку вправо и влево и применим обратное преобразование:



Как видим, мы получили исходную цепочку (xin=xout ).

Далее к строке применяется чересстрочное преобразование, суть которого заключается в том, что все четные коэффициенты переписываются в начало строки, а все нечетные - в конец. В результате этого преобразования в начале строки формируется «уменьшенная копия» всей строки (низкочастотная составляющая), а в конце строки информация о колебаниях значений промежуточных пикселей (высокочастотная составляющая).



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



Для корректного сохранения результатов под данные 2 и 3 квадрантов выделяется на один бит больше, а под данные 4-го квадранта на 2 бита больше. Т.е. если исходные данные были 8-битные, то на 2 и 3 квадранты нужно 9 бит, а на 4-й 10, независимо от уровня применения DWT. При записи коэффициентов в файл можно использовать иерархическую структуру DWT, помещая коэффициенты преобразований с большего уровня в начало файла. Это позволяет получить «изображение для предварительного просмотра», прочитав небольшой участок данных из начала файла, а не распаковывая весь файл, как это приходилось делать при сжатии изображения целиком. Иерархичность преобразования может также использоваться для плавного улучшения качества изображения при передаче его по сети.
^

Шаг 4. Квантование.


Так же, как и в алгоритме JPEG, после DWT применяется квантование. Коэффициенты квадрантов делятся на заранее заданное число. При увеличении этого числа снижается динамический диапазон коэффициентов, они становятся ближе к U, и мы получаем большую степень сжатия. Варьируя эти числа для разных уровней преобразования, для разных цветовых компонент и для разных квадрантов, мы очень гибко управляем степенью потерь в изображении. Рассчитанные в компрессоре оптимальные коэффициенты квантования передаются в декомпрсссор для однозначной распаковки.
^

Шаг 5. Арифметическое сжатие.


Для сжатия получающихся массивов данных в JPEG 2000 используется вариант арифметического сжатия, называемый MQ-кодер, прообраз которого (QM-кодер) рассматривался еще в стандарте JPEG, но реально не использовался из-за патентных ограничений. Ввиду этого, используется не QM-кодер разработки IBM, а чуть худший, MQ-кодер, специально разработанный для JPEG2000. Кодирование ведется не всего изображения в целом и даже не отдельных субполос, а более мелких объектов - кодируемых блоков. Размер кодируемого блока может быть не более 4096 пикселов, высота не менее 4 пикселов. Такое разбиение хотя и снижает несколько коэффициент сжатия, но повышает устойчивость сжатого потока к ошибкам канала связи: ошибка испортит лишь небольшой блок. Кодирование блоков ведется в три этапа, битовыми плоскостями.

Области повышенного качества (Regions of Interest). Основная задача, которую мы решаем - повышение степени сжатия изображений. Когда практически достигнут предел сжатия изображения в целом и различные методы дают очень не­большой выигрыш, мы можем существенно (в разы) увеличить степень сжатия за счет изменения качества разных участков изображения.


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


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

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

Такой подход логично применять, если:

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

2. Изображение сжимается один раз, а разжимается множество раз.

В качестве примеров приложений, удовлетворяющим этим ограничениям, можно привести практически все мультимедийные продукты на CD-ROM. И для CD-ROM энциклопедий, и для игр важно записать на диск как можно больше информации, а графика, как правило, занимает до 70% всего объема диска. При этом технология производства дисков позволяет сжимать каждое изображение индивидуально, максимально повышая степень сжатия.

Интересным примером являются WWW-сервера. Для них тоже, как правило, выполняются оба изложенных выше условия. При этом совершенно не обязательно индивидуально подходить к каждому изображению, поскольку по статистике 10% изображений будут запрашиваться 90% раз. Т.е. для крупных справочных или игровых серверов появляется возможность уменьшать время загрузки изображений и степень загруженности каналов связи адаптивно.

^ 11.5. Двумерное дискретное косинусное преобразование

ДКП (DCT – discrete cosine transform) является унитарным преобразованием, так как масштабирующие множители являются одинаковыми для прямого и обратного преобразования.

Прямое и обратное дискретное косинусное преобразование последовательности отсчетов одномерного сигнала x(n) может быть представлено в виде

, (11.13)

, (11.14)

где , , ,

– множество отсчетов одномерного сигнала x(n),

– множество ДКП-коэффициентов,

Вычислительная сложность ДКП –.

Прямое и обратное ДКП исходного изображения размером MxN определяется соотношениями
=

= = (2.3)
, (11.15)
,; ,,
, ,
– (m,n)-е значение пикселя исходного изображения,

– (p,q)-е значение ДКП-коэффициента.

На рис. 11.7 представлено строчно-столбцовое ДКП исходного изображения



Рис.11.7 Строчно-столбцовое ДКП (DCT) исходного изображения
Для ДКП семейство из MхN базисных функций задается формулой

,. (11.16)

и представлено на рис.11.8 и 11.9.

Рис.11.8 Семейство из 8x8 двухмерных базисных функций ДКП преобразования с различной частотой на плоскости



Рис. 11.9 Семейство из 8x8 двухмерных базисных функций ДКП преобразования с различной частотой в пространстве
На рис.11.10 проиллюстрирована взаимосвязь ДКП коэффициентов и базисных функций ДКП. Семейство ДКП-коэффициентов состоит из DC-коэффициента и AC-коэффициентов. DC (direct current)-коэффициент отвечает за среднюю яркость изображения, а AC (alternating current) –коэффициенты за низкочастотные и высокочастотные компоненты.


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

Одной из особенностей является то, что практически невозможно выполнить ДКП для всего изображения сразу. В качестве решения этой проблемы было предложено разбивать изображение на блоки размером 8x8 точек.

Увеличивая размеры блока дискретного косинусного преобразования, можно добиться некоторого увеличения результатов сжатия. Ограничения в коэффициенте сжатия объясняются малой вероятностью того, что удаленные на значительное расстояние точки изображения имеют одинаковые атрибуты.

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

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

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

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


^

11.6. Особенности сжатия видеоданных в формате MPEG



Рассмотрим структурную схему алгоритма сжатия стандарта MPEG 1 (рис. 11.13. Можно выделить три основные подсистемы кодера: подсистема устранения пространственной избыточности, подсистема устранения временной избыточности и подсистема управления скоростью потока.

Избыточность является следствием определенных корреляционных связей. Наличие корреляции означает, что некоторый элемент изображения находится в определенной зависимости от соседних элементов в пространстве и во времени. Избыточность по восприятию (психовизуальная) связана с особенностями зрения человека. Например, цветовое разрешение человеческого зрения ниже яркостного, и эта особенность учтена во всех стандартных аналоговых системах цветового кодирования. В NTSC, PAL, SECAM цветовое разрешение существенно понижено по отношению к яркостному.

В первой подсистеме блок преобразования цветового пространства и субдискретизации (уменьшения разрешения компонентов цветности) предназначен для первичного устранения психовизуальной избыточности кадра. Блок смены порядка обработки кадров необходим для работы системы компенсации движения, блок дискретного косинусного преобразования – для получения спектральных коэффициентов и устранения пространственной корреляции пикселей, блок квантования – для устранения вторичной психовизуальной избыточности. Блок преобразования матрицы коэффициентов ДКП (Дискретного Косинусного Преобразования) в вектор зигзагообразным сканированием – для увеличения эффективности кода Хаффмана. Данная подсистема позволяет получить коэффициент сжатия до 10 : 1.


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

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

Исходные видеоданные представляются в виде потока растровых изображений. Растр – форма представления изображения в виде элементов (пикселей), упорядоченных в строки и столбцы. Название “пиксель” образовано как сокращение от английского pixel (picture cell – ячейка изображения) – это наименьший элемент, из множества которых создается растровое изображение. Несмотря на четкую структуру пиксельной сетки, тоновые переходы в растровых картинках не выглядят дискретными. Это обусловлено, во-первых, тем, что пиксели обычно очень малы и при отображении без увеличения практически неразличимы. Во-вторых, плавные изменения цвета или света передаются за счет постепенного изменения значений соседних пикселей от одного к другому.

При записи изображения обычно используется по 8 бит (1 байт) для представления 256 уровней яркости красного, зеленого и синего цветов (RGB). Таким образом, для хранения одного элемента изображения (пикселя) требуется 3 байта памяти. Например, стандартный видеокадр формата 352 х 288 пикселей требует 304 128 байтов.

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

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


В связи с этим в схеме кодирования MPEG (см. рис. 11.19, блок преобразования в YUV) видеоданные переводятся в YUV-представление, также называемое YCrCb (Y – компонент яркости и U (или Cr) и V (или Cb) – два компонента цветности, где Cr – Chromatic red (хроматический красный), Cb – Сhromatic blue (хроматический синий)). Это необходимо потому, что при представлении изображений в RGB–виде нельзя различить яркостную и цветовую информацию.

Преобразование цветового пространства RGB в цветовое пространство YUV представляется с помощью матрицы перехода в виде

. (11.17)

Обратное преобразование осуществляется с помощью обратной матрицы перехода в виде

. (11.18)
Теоретически каждый элемент изображения требует 3 байта. Такое представление, когда и яркость, и компоненты цветности имеют равное число независимых значений, обычно обозначают как схема 4 : 4 : 4. Способ сжатия цветовой информации называется субдискретизацией и заключается в объединении цветовой информации для соседних элементов изображений. При использовании данного способа значения яркости Y запоминаются для каждого элемента изображения. Для значений U и V вычисляется и запоминается только среднее значение для четырех (схема субдискретизации 4 : 2 : 2), восьми (схема субдискретизации 4 : 1 : 1) и 16 элементов (схема субдискретизации 16 : 1 : 1). Требуемый объем памяти на каждый пиксел при таких способах составляет, соответственно, 12, 10 и 9 битов. Таким образом, количество данных на элемент изображения можно сократить с 24 до 12, 10 или 9 битов соответственно.

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


При использовании частотно-временных преобразований используется понятие периодического расширения функции, заключающееся в следующем: если преобразуется дискретный ряд отсчетов, то его спектр становится периодичным, а в случае преобразования частотного спектра периодически продолжается восстановленный дискретный ряд данных. В точках нечетного периодического расширения исходного ряда вперед и назад (на стыках сегментов) имеет место разрыв амплитуд (рис.11.12, б). В этом случае из-за скачков амплитуды Фурье-спектр B'(p) убывает пропорционально 1/p, где р – индекс спектрального коэффициента. Четное расширение приводит к разрыву не амплитуд, а первой производной (рис.2, в), вследствие чего частотный спектр ДКП B''(p) убывает пропорционально 1/p2. Таким образом, из-за сужения спектра, для восстановления сигнала с заданной точностью требуется меньшее число коэффициентов. ДКП представляет изображение в виде набора спектральных компонентов, что позволяет вести дальнейшую обработку изображения, в частности, уменьшение точности представления коэффициентов с учетом особенностей визуальной системы человека. Данное преобразование в стандарте MPEG выполняется поблочно.



Рис.11.12 Сравнение спектральных особенностей ДКП и ДПФ

а – последовательность исходных отсчетов А(m); б – расширение последовательности для преобразования Фурье А'(m) и ее частотный спектр B(p) ~ 1/p; в – расширение последовательности для косинусного преобразования А''(m) и ее частотный спектр B'(p) ~ 1/p2
Прямое двухмерное ДКП блока размером M x N исходного изображения определяется следующим образом:

,(11.19)

где B[p,q] – значения спектральных коэффициентов в преобразованном блоке; ; ; m,n – координаты пикселей в исходном блоке изображения; p,q – индексы коэффициентов в преобразованном блоке; A[m,n] – значения пикселей в исходном блоке .

В результате исходный блок точек преобразуется в матрицу частотных коэффициентов ДКП такого же размера. Наиболее важным коэффициентом является коэффициент с координатами (0,0), поскольку он представляет собой среднее значение всей матрицы и является постоянной составляющей сигнала DC (Direct Current). Все остальные коэффициенты являются переменными составляющими АС (Alternating Current).

Обратное ДКП определяется следующим выражением:

, (11.20)

Для стандартного блока 8 x 8, который используется в стандарте MPEG, M = N = 8, поэтому ДКП имеет вид:

, (11.21)

где ; .
Матричная форма выражения (11.20) имеет следующий вид
, (11.22)

где – значения элементов матрицы Т; M – сдвинутый блок исходного изображения; – транспонированная матрица T.

В выражении (11.22) матрица М получена из исходной матрицы путем вычитания 128 из каждого элемента пикселя, так как пиксельные значения черно-белого изображения изменяются от 0 до 255 (чисто черный цвет представляется 0, чисто белый цвет – 255), а ДКП работает со значениями пикселей от –128 до +127.

Восстановленный блок вычисляется по формуле , где round(x) – функция округления до целого.

Матрица частотных коэффициентов ДКП не имеет прямой геометрической связи с положением пикселей видеосигнала на растре, а представляет собой форму математической записи, при которой частотные коэффициенты ДКП являются двумерным спектром изображения по горизонтальному и вертикальному направлениях кадра. Изображение базисных функций преобразования ДКП представлено на рис. 11.12. Графический смысл этого преобразования заключается в том, что блок изображения рассматривается как суперпозиция изображений синусоидальных колебаний разной частоты. Так, если изображение имеет постоянную яркость, то (для простоты рассматривается черно-белое изображение) его блок коэффициентов будет содержать только один коэффициент DC с координатами (0,0). Если яркость изображения меняется по косинусоиде вдоль горизонтальной оси, то его блок ДКП будет содержать два коэффициента (0,0) и (2,0). Численные значения коэффициентов соответствуют яркостям соответствующих составляющих. Более сложные изображения представляются большим количеством коэффициентов ДКП.

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

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

Наиболее распространенный порядок просмотра матрицы – сканирование зигзагом. В стандарте MPEG предусмотрен еще один вид сканирования – альтернативное сканирование (рис.11.13). Оно применяется в случаях, когда видеосигнал подается с чересстрочной разверткой – метод развертки, при котором в первом полукадре (поле) воспроизводятся четные строки видеоизображения, а во втором – нечетные, образуя в результате полное изображение.


Сканирование зигзагом

Альтернативное сканирование

Рис. 11.13. Способы формирования вектора коэффициентов
Большинство из существующих стандартных алгоритмов видеосжатия, например таких, как MPEG-1, MPEG-2, MPEG-4, H.261, H.263, divX, основаны на разбиении изображения на блоки (обычно размером 8 х 8 пикселей) и использовании ДКП внутри каждого блока. Подобные алгоритмы имеют следующие недостатки:

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

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

  • энтропийное кодирование спектральных коэффициентов из различных блоков не зависит от информации в соседних блоках.

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

Квантование как средство управления соотношением качество-сжатие. Динамический диапазон коэффициентов ДКП превышает в 8 раз динамический диапазон значений пикселей исходного изображения. Например, при 8-битном представлении отсчетов изображения его динамический диапазон составляет 256 дискретных уровней (значения от 0 до 255), а динамический диапазон коэффициентов спектра ДКП – 2 048 значений уровней (от 0 до 2 048 для коэффициентов постоянной составляющей DC, и от – 1 023 до + 1 024 для переменных составляющих AC).


Кодирование коэффициентов ДКП в таком широком динамическом интервале потребует в последующих блоках MPEG кодера перехода от 8-битного к 11- битному коду. Для предотвращения усложнения кодера после ДКП производится сжатие динамического диапазона сигналов коэффициентов ДКП за счет увеличения шага квантования в 8 раз. Эта операция сводится к делению полученных в матрице значений коэффициентов ДКП на 8. Результат деления затем округляется до ближайших целых значений уровней новой шкалы квантования. Например, если исходное значение коэффициента ДКП было 22, то после деления на 8 (22/8 = 2,75) и округления до ближайшего целого значения новое значение будет 3. При этом новый динамический интервал составит 256 дискретных уровней от – 128 до +127.

После выравнивания динамического диапазона над коэффициентами ДКП осуществляется взвешенное квантование для сокращения избыточности в высокочастотной области. Математически данное квантование представляет собой деление рабочей матрицы на матрицу квантования поэлементно (6). Для каждого компонента (Y, U и V) в общем случае, задается своя матрица квантования (QY[p,q], QU[p,q], QV[p,q], которая позволяет выбирать уровни сжатия и качества изображения:

. (11.23)

Матрицы квантования в формуле (11.23) задаются таким образом, чтобы обеспечить более точную передачу низкочастотной информации, так как чувствительность глаз в данной области наибольшая, и обнулить большинство высокочастотных коэффициентов. Это обеспечивает значительное сжатие потока данных, но приводит к снижению разрешения изображения и возможному появлению ложных деталей (в частности на границах блоков). Чем грубее используемое квантование, тем больше степень сжатия, но ниже качество результирующего сигнала Точность кодирования коэффициентов зависит от шага квантования, который выбирается разным для различных коэффициентов матрицы ДКП.

Коэффициент, соответствующий постоянной составляющей ТВ сигнала, кодируется с использованием 10 бит, потому что при более грубом квантовании соседние блоки начинают отличаться по яркости. На экране это проявляются в виде шахматной структуры.

Структура потока данных MPEG. Поток MPEG разделен на несколько иерархических уровней (рис.11.14) для улучшения обработки ошибок и упрощения произвольного доступа и редактирования. Каждый слой имеет свой уникальный заголовок длинной в 32 бита.


Первый уровень – это собственно поток видео (Video sequence layer). Второй уровень – групповой кадр (ГК, Group of Pictures – GOP), состоящий из нескольких кадров разного типа: I кадры (Intracoded – внутрикадровое кодирование) кодируются (сжимаются) без учета соседних кадров; предсказываемые P кадры (Predicted – кодирование с предсказанием) кодируются с учетом предыдущего I или P кадра; B кадры двунаправленного предсказания (Bidirectional – двунаправленное предсказание) кодируются с учетом предыдущего и последующего I или P кадров. ). Каждая GOP обязательно начинается с I и с определенной периодичностью содержит P-кадры. Ее структуру описывают как M/N, где M - общее число кадров в группе, а N - интервал между P-кадрами. Обычно группа кадров состоит из 12 кадров разного типа.


Рис. 11.14. Структура потока MPEG
Третий уровень потока данных – это слой отдельных кадров (Picture layer) того или иного типа, а четвертый уровень – секционный (Slice layer). Секция (обычно ее ширина равна ширине кадра) состоит из определенного количества макроблоков размером 16 х 16 пикселей. Пятый уровень потока данных – уровень макроблоков. В I кадре макроблоки должны быть закодированы как внутренние, т.е. без ссылок на предыдущие или последующие. Макроблоки в P кадре могут быть как внутренними I блоками, так и использовать данные предыдущих кадров. Алгоритмы кодирования В кадров зависят от динамики изображения.

В MPEG-2 предусмотрено пять способов кодирования. Первый – это компенсация движения и предсказание вперед по ближайшим предшествующим I или Р кадрам. При появлении в кодируемом В кадре новых объектов применяется предсказание назад по ближайшим последующим I или Р кадрам вместе с компенсацией движения. Третий алгоритм включает в себя компенсацию движения и двунаправленное предсказание по предшествующим и последующим I или Р кадрам. Четвертый основан на внутрикадровом предсказании без компенсации движения (он чаще всего используется при резкой смене плана или высоких скоростях движения отдельных фрагментов картинки). Пятый способ представления необходим, если в нескольких кадрах изменений нет или они незначительны. В этом случае блок пропускается, а декодер (декомпрессор) при восстановлении использует самый ранний вариант блока. В заголовке каждого макроблока есть элемент, определяющий его тип.

Рассмотрим формат битового потока (рис. 11.15). MPEG-файл состоит из одной или нескольких видеопоследовательностей. В заголовке видеопоследо-вательности основными параметрами являются следующие: старт-код, обозначающий начало видеопоследовательности; видеопараметры (ширина, высота, скорость кадров); параметры потока (битовая скорость, размер буфера, флаг стандартизированных параметров, наличие которого означает, что при кодировании применялись стандартные параметры и видео можно декодировать на большинстве декодеров); два типа таблиц квантования для кадров с внутрикадровым кодированием (I кадры) и для кадров с межкадровым кодированием (P и B кадры).

Заголовок группового кадра содержит следующие поля. Временной код – это битовое поле с временным кодом (часы, минуты, секунды, номер кадра). Параметры ГК – это поле, содержащее биты, описывающие структуру ГК.

Заголовок кадра включает следующие поля: тип кадра (I, P или B) и параметры буфера, показывающие, насколько полным должен быть буфер в момент начала декодирования.

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



Рис. 11.15. Структура битового потока данных в формате MPEG
Заголовок макроблока включает поля, содержащие инкремент (количество пропускаемых макроблоков), тип, показывающий, используются ли вектора движения и какого типа, масштаб квантования, задающий матрицу квантования в данном макроблоке, и массив кодированных блоков (МКБ), являющийся битовой картой, показывающей, какой блок закодирован, а какой пропущен.
^ Межкадровое предсказание движения. Компенсация движения является одной из важнейших составных частей стандартов MPEG 1 и MPEG 2 (рис.11.16). Метод компенсационного предсказания движения позволяет значительно уменьшить временную избыточность видео-потока. Если следующий кадр содержит сдвинутые части предыдущего кадра, то в этом случае выгодно передавать не весь кадр, а только информацию о движении и изменении сдвинутого пикселя. В виду высокой пространственной корреляции достаточно передавать один общий вектор движения для макроблока размером 16 х 16 пикселей.

Для каждого блока первого кадра производится поиск наиболее похожего блока во втором и вычисляется вектор движения, указывающий направление движения блока от первого кадра ко второму. Поправка компенсации движения E[m,n] вычисляется вычитанием значений пикселей найденного сдвинутого блока из значений пикселей исходного блока первого кадра:

,

где E[m,n] – значения ошибок предсказания для каждого пикселя; Ai[m,n] – значения (m,n)-го пикселя в блоке i-го кадра; Aj[m,n] – значения (m,n)-го пикселя в блоке j-го кадра; Mi,j – вектор движения для макроблока в i-м кадре относительно макроблока в j - м кадре, состоящий из двух значений, задающих смещение макроблока по вертикали и горизонтали.

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

Рис.11.16. Иллюстрация принципа компенсации движения

Чаще всего размеры зоны поиска задаются в 4 раза больше размеров отдельного макроблока (64 х 64). Например, во время формирования P кадра надо определить координаты движения при предсказании вперед. Для этого берется макроблок текущего P кадра и ищется его новое положение в зоне поиска предыдущего I или P кадра, затем вычисляются межкадровые разности точек. Положение макроблока, при котором суммарное значение модулей межкадровых разностей макроблока получается наименьшим, принимается за его реальное перемещение, после чего координаты вектора движения рассчитываются как смещение макроблока по вертикали и горизонтали относительно его начального положения


Рис.11.17. Порядок обработки кадров в группе кадров: а – порядок передачи и демонстрации кадров, б – порядок декодирования кадров
Для корректного восстановления видеопотока последовательность декодирования кадров (рис.11.17, б) должна отличаться от последовательности их передачи и показа зрителю (рис.11.17, а). Так как внутри группы кадров, состоящей обычно из 12 кадров, каждый B - кадр восстанавливается по окружающим его P-кадрам (в начале и конце группы – по I и Р), а в свою очередь каждый Р - кадр - по предыдущему Р - (или I -) кадру. I - кадры могут быть восстановлены независимо от других, они являются опорными для всех P - и B - кадров группы. Соответственно у I наименьшая степень компрессии, а у В - наибольшая. По размеру типичный Р - кадр составляет 1/3 от I, а B – 1/8. Два последовательных В кадра, формирующиеся по одному алгоритму и использующие одни и те же опорные кадры, не являются одинаковыми, так как представляют разные моменты времени видеопоказа.

Сжатие информации после компенсации движения. Вектор коэффициентов ДКП сжимается с помощью алгоритма кодирования длин серий КДС (RLERun Length Encoding). При этом получаются пары типа (“пропустить”, “число”), где “пропустить” является счетчиком пропускаемых нулей, а “число” значение, которое необходимо поставить в следующую ячейку. Так, вектор (42, 3, 0, 0, 0, 2, 0, 0, 0, 0, 1, ...) будет свернут в пары (0, 42) (0, 3) (3, 2) (4, 1) ... . Для обозначения конца вектора применяется маркер EOB (End Of Block).


Последний из алгоритмов сокращения избыточности связан с кодами переменной длительности. При этом те коэффициенты ДКП, которые повторяются наиболее часто, кодируются короткими кодовыми комбинациями, а редкие значения коэффициентов – более длинными. В MPEG применяется код Хаффмана с фиксированными таблицами, определенными в стандарте. Например, для последовательности (0, 8) (0, 4) (0, 4) (0, 2) (0, 2) (0, 2) (0, 1) (0, 1) (0, 1) (0, 1) (12, 1) (42 нуля) коды Хаффмана будут иметь значения, показанные в таблице.


Таблица. Пример значений кодов Хаффмана для коэффициентов ДКП

Количество нулей

Коэффициент

Код

-

8 (DC)

110 1000

0

4(АС)

0000 1100

0

4(АС)

0000 1100

0

2(АС)

0100 0

0

2(АС)

0100 0

0

2(АС)

0100 0

0

1(АС)

110

0

1(АС)

110

0

1(АС)

110

0

1(АС)

110

12

1

0010 0010 0

EOB

EOB

10



Следует отметить, что 12 нулей представлены всего лишь 9 битами, а последние 43 нуля вообще отброшены и заменены двумя битами флага конца блока (EOB – End Of Block). Учитывая, что блок коэффициентов 8 х 8 занимает 512 бит, а после кодирования всего 61, можно говорить о сжатии на этом этапе с коэффициентом, примерно, 8 : 1. 

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


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







Скачать файл (5335.1 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации