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

17

Лекция 14

Тема: Стандарты сжатия изображения и звука

Учебные вопросы:

  1. Сжатие изображения.

  2. 2. Сжатия звука

Стандарты сжатия движущихся изображений MPEG (Motion Picture Experts Group) вырабатываются и принимаются имеющей такое же название группой экспертов при Международной органи­зации стандартизации ISO. Стандарт MPEG-1, используемый в ос­новном при записи видеопрограмм на компакт-диски, был оконча­тельно утвержден в 1993 г. [5-7], а стандарт MPEG-2, предназна­ченный в первую очередь для телевизионного вещания, был принят в ноябре 1994 г. [8-10].

Стандарты MPEG-1 и MPEG-2 имеют много общего, но меж­ду ними есть и различия. В данном разделе в основном излагается содержание стандарта MPEG-2, и указываются его отличия от MPEG-1.

Вопрос №1

Кодирование и декодирование движущихся изображений

Метод кодирования движущихся изображений, используе­мый в стандартах MPEG-1 и MPEG-2, называется гибридным, так как в нем сочетаются внутрикадровое (intraframe) кодирование, направленное на уменьшение в основном психофизиологической избыточности в отдельных кадрах, и межкадровое (interframe) ко­дирование, с помощью которого уменьшается избыточность, обу­словленная межкадровой корреляцией [6, 9]. Использование меж-кадрового кодирования позволяет получить существенно большую степень сжатия движущегося изображения, чем при раздельном сжатии отдельных кадров по методу JPEG.

Внутрикадровое кодирование содержит операции, аналогич­ные используемым в методе JPEG, т. е. поблочное дискретное ко­синусное преобразование, квантование и кодирование с перемен­ной длиной кодовых слов. Межкадровое кодирование содержит операции оценки и компенсации движения и кодирования с пред­сказанием. Сущность этих операций, взятых по отдельности, была изложена в § 3.4 и 3.5.

Целые кадры и фрагменты кадров могут кодироваться с при­менением совместно межкадрового и внутрикадрового кодирова­ния (для краткости этот случай далее называется просто межкадро­вым кодированием) или только с применением внутрикадрового кодирования.

ГРУППЫ ИЗОБРАЖЕНИЙ

Изображением (picture) в стандартах MPEG-1, MPEG-2 мо­жет быть как целый кадр, так и одно из полей кадра. Далее для уп­рощения изложения термин "кадр" используется вместо термина "изображение" везде за исключением подраздела, в котором специ­ально говорится о кадровом и полевом режимах кодирования.

Последовательность кадров делится на группы, называемые GOP (group of pictire). В группе есть кадры трех типов:

  • I-кадры (Intraframe - внутрикадровые), которые передаются только с внутрикадровым кодированием и являются опорными для декодирования остальных кадров группы, обеспечивая возмож­ность начала декодирования и воспроизведения принятого ТВ-сигнала практически в любой момент времени;

  • Р-кадры (Predictive - предсказанные), при передаче которых используется межкадровое кодирование путем предсказания с ком­пенсацией движения по ближайшему предшествующему 1-кадру или Р-кадру (как будет пояснено далее, некоторые фрагменты Р-кадра могут кодироваться без предсказания с помощью внутри-кадрового кодирования);

  • В-кадры (Bidirectional - двунаправленные), которые пере­даются с межкадровым кодированием путем предсказания с ком­пенсацией движения по ближайшим к ним как спереди, так и сзади I-кадрам и Р-кадрам, а сами не могут использоваться для предска-

зания других кадров (некоторые фрагменты В-кадра могут кодиро­ваться внутрикадровым методом).

Рассмотрим пример последовательности кадров.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 I bbpbbpbbpbbpbbi вврв

Здесь кадры с 1 по 15 образуют группу кадров. Число кадров в группе может быть и другим, но она всегда начинается с 1-кадра. Р-кадр 4 предсказывается по 1-кадру 1, Р-кадр 7 - по Р-кадру 4, Р-кадр 10 - по Р-кадру 7 и т.д. 1-кадр 16 передается с внутрикадро­вым кодированием независимо от всех предшествующих ему кад­ров. В-кадры 2 и 3 предсказываются по 1-кадру 1 и по Р-кадру 4, В-кадры 5 и 6 - по Р-кадрам 4 и 7 и т.д. В-кадры 14 и 15 предска­зываются по 1-кадру 16 и по Р-кадру 13. Перед кодированием поря­док следования кадров изменяется, так как каждый В-кадр должен идти после обоих кадров, по которым он предсказывается.

1 4 2 3 7 5 6 10 8 9 13 11 12 16 14 15 19 17 18 22 I PBBPBBPBBPBBI BBPBBP

В таком порядке кадры кодируются и передаются, а в про­цессе декодирования восстанавливается исходный порядок кадров.

Макроблоки

Макроблоком называется квадратный фрагмент изображения размером 16x16 элементов (пикселов). Макроблок содержит ин­формацию как о яркости (Y), так и о цветности (Св, CR). В случае использования формата дискретизации 4:2:0 каждый макроблок содержит четыре блока 8x8 элементов сигнала яркости У и по од­ному блоку 8x8 элементов цветоразностных сигналов Ск и С в- При использовании формата 4:2:2 каждый макроблок содержит при том же количестве блоков Y по два блока CR и Св, а при использовании формата 4:4:4 - по четыре блока CR и Св.

Группа следующих друг за другом макроблоков называется слайсом (slice - доля, часть, квант). Число макроблоков в слайсе может быть произвольным. Слайсы в изображении не должны пе­рекрываться, но их положение может изменяться от одного изо­бражения к другому.

ПРОГРЕССИВНАЯ И ЧЕРЕССТРОЧНАЯ РАЗВЕРТКИ

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

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

В случае кадрового кодирования (frame) кодируемым изобра­жением является полный кадр, который целиком хранится в ЗУ ко-• дера, вследствие чего для кодирования одновременно доступны как четные, так и нечетные строки. Блоки элементов сигнала яркости и блоки элементов цветоразностных сигналов для форматов 4:2:2 и 4:4:4 выделяются из макроблока, как это показано на рис. 4.3,а, где заштрихованными показаны нечетные строки, а не заштрихован­ными - четные. В случае формата 4:2:0 в блоки цветоразностных сигналов берутся элементы из каждой второй строки. Кадровое ко­дирование выбирается в случаях, когда изменения во втором поле кадра относительно первого поля того же кадра незначительные.

Рис. 4.3. Формирование блоков при чересстрочной развертки в случаях кадрового (а) и полевого (б) режимов

В случае полевого кодирования (field) кодируемым изобра­жением является каждое поле. Первое поле кадра может использо­ваться для предсказания макроблоков второго поля того же кадра. При этом в каждый блок элементов сигнала яркости или элементов цветоразностных сигналов для форматов 4:2:2 и 4:4:4 входят эле­менты из одного поля, как это показано на рис. 4.3,6. Блоки эле­ментов цветоразностных сигналов для формата 4:2:0 образуются также, как при кадровом кодировании.

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

КОДЕР ВИДЕОИНФОРМАЦИИ

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

Рис. 4.4. Структурная схема видеокодера MPEG-2

На схеме обозначены ДКП - блок прямого дискретного ко­синусного преобразования; ДКП-1 - блок обратного дискретного косинусного преобразования; Кв - квантователь; Кв~' - декванто-ватель, т. е. блок, выполняющий обратную квантованию операцию; 102

IЗУ - запоминающее устройство; Пред - блок, выполняющий фор­мирование предсказанного кадра; ОД - блок оценки движения ; формирования векторов движения; КПДС - блок, в котором вы-олняется кодирование с переменной длиной кодового слова; Мп -ультиплексор; БЗУ - буферное запоминающее устройство; УКС -блок управления коэффициентом сжатия изображения. Кроме того, на схеме показаны сумматор, вычитающее устройство и переклю­чатель. Работа всех блоков синхронизируется общей тактовой час­тотой 27 МГц.

В кодере реализуются два режима кодирования: внутрикад-ровое кодирование (переключатель в положении 1) и межкадровое кодирование с предсказанием и компенсацией движения (переклю­чатель в положении 2).

Все макроблоки I-кадров кодируются в режиме внутрикадро-вого кодирования. Метод аналогичен JPEG: разложение на блоки 8x8 пикселов, поблочное ДКП, квантование полученных коэффи­циентов в соответствии с формулой (4.1), считывание в зигзагооб­разном порядке, кодирование с переменной длиной кодовых слов. При квантовании могут использоваться, например, табл. 4.1 и 4.2. В случае использования нестандартных таблиц коэффициентов квантования они включаются в общий выходной поток данных.

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

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

Изображение, по которому выполняется предсказание, фор­мируется из кодированных данных предыдущего I- или Р-кадра.

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

Оценка движения осуществляется путем сравнения текущего изображения, поступающего на вход кодера, с изображением, на­ходящимся в ЗУ и используемым для предсказания (опорным изо­бражением). Эта процедура поясняется рис. 4.5,а. Для каждого макроблока кодируемого изображения отыскивается, как это было описано в § 3.4, соответствующая ему область А1 размером 16x16 элементов в опорном изображении. Положение соответствующей области определяется с точностью до половины пиксела по обеим координатам.

Рис. 4.5. Получение предсказанного макроблока в Р-кадре (а) и в В-кадре (б).

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

Если соответствующая область А1 найдена, то макроблок ко­дируется в межкадровом режиме, и для него определяется вектор движения V1. Векторы движения кодируются с переменной длиной кодовых слов и через мультиплексор включаются в общий поток данных.

Если для макроблока выбран межкадровый режим кодирова­ния, то формируется предсказанный макроблок (Предск.МБ), в ка­честве которого берется найденная соответствующая область А1 из , опорного изображения. Предсказанный макроблок поэлементно i вычитается из настоящего макроблока. Полученный разностный \ макроблок (ошибка предсказания) проходит поблочное ДКП, кван-j; тование и кодирование с переменной длиной кодовых слов. Мат-| рица коэффициентов квантования для ошибок предсказания со-| держит 64 числа 16 и используется для квантования как яркостных, |, так и цветоразностных составляющих.

Для макроблоков В-кадров поиск соответствующей области осуществляется как в предшествующем I- или Р-кадре так и в по­следующем Р-кадре (рис. 4.5,6). В зависимости от результатов по­иска соответствующей области возможны следующие варианты:

  • макроблок кодируется во внутрикадровом режиме;

  • формируется предсказанный макроблок в виде соответст-I вующей области А1 предыдущего I- или Р-кадра;

  • формируется предсказанный макроблок в виде соответст­вующей области А2 последующего Р-кадра;

  • формируется предсказанный макроблок в виде поэлемент­ной полусуммы соответствующей области А1 предыдущего I- или Р-кадра, и соответствующей области А2 последующего Р-кадра, т. е. в виде результата интерполяции по этим областям.

В последних трех вариантах макроблок кодируется в меж­кадровом режиме, как это было описано для Р-кадров. В случае предсказания путем интерполяции для макроблока необходимо пе­редавать два вектора движения VI и V2, показывающие положения соответствующих областей в предыдущем и в последующем кадрах.

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

Кроме того, стандарт позволяет пропускать некоторые мак­роблоки при кодировании (skipped macroblock). Для таких макро­блоков никакие данные не передаются. Этот вариант используется, если кодируемый макроблок не имеет отличий от соответствующе­го макроблока в опорном изображении.

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

Кодированные видеоданные и векторы движения через муль­типлексор поступают в БЗУ, работающее по принципу "первым вошел - первым вышел".

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

Помимо различия типов кадров на степень заполнения буфе­ра может влиять характер передаваемого изображения. Если в изо­бражении много мелких деталей, возрастает количество и уровень

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

Для оптимизации работы системы желательно поддерживать уровень заполнения БЗУ приблизительно постоянным. Если БЗУ переполняется, то, очевидно, будет происходить потеря части дан­ных, т. е. ухудшение качества изображения на выходе системы. Ес­ли же БЗУ полностью освобождается, то по каналу связи прихо­дится передавать "пустые" блоки, что приводит к снижению эф­фективности его использования. Чтобы избежать обоих нежелательных случаев, в кодере изображения введена обратная связь с БЗУ на блок УКС, управляющий степенью сжатия изобра­жения.

Сущность действия этой обратной связи заключается в сле­дующем. Если передается мелкоструктурное изображение, и за­полнение БЗУ увеличивается, то под воздействием обратной связи увеличивается параметр квантования коэффициентов ДКП [см. формулу (4.1)]. При этом число бит на каждый коэффициент уменьшается, и уровень потока данных поддерживается примерно постоянным. Наоборот, при передаче "гладких" изображений кван­тование становится более точным. Такой метод соответствует свойствам человеческого зрения: на мелкоструктурных изображе­ниях менее заметны неточности в передаче уровней яркости, так как в первую очередь воспринимаются контуры деталей. Измене­ние параметра квантования может осуществляться или после коди­рования каждого кадра с учетом его типа, или в пределах одного кадра после кодирования каждого слайса. Данные о параметре квантования включаются в общий поток данных в заголовки слайсов.

Соседние файлы в папке Лекции ОТВ