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

(по цифровому вещанию) Dvorkovich_V_Cifrovye_videoinformacionnye_sistemy

.pdf
Скачиваний:
258
Добавлен:
15.03.2016
Размер:
23.26 Mб
Скачать

Глава14. Стандарты кодирования динамических изображений

Рис. 14.6. PB-кадры в стандарте Н.263

Вкодере/декодере, соответствующем Рекомендации Н.263, возможно также использование кодов восстановления ошибок, аналогичных приведенным в Рекомендации Н.261.

В1998 году была выпущена вторая версия Рекомендации ITU-R Н.263 (известная как Н.263+); третья версия этой Рекомендации разработана в 2000 году (ее зачастую обозначают H.263++ или H.263 2000) [5.43, 5.54]. В этих версиях добавлено множество новых дополнительных режимов, повышающих эффективность кодирования и увеличивающих количество возможных областей применения стандарта.

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

Новые типы кадров

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

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

ипоследующего по времени кадров; EI-кадр — кадр, имеющий в качестве опорного кадр с той же временной меткой; ЕР-кадр — кадр, имеющий в качестве опорных предшествующий по времени кадр и кадр с той же временной меткой.

Вводится новый тип улучшенных РВ-кадров, которые более удобны и надежны при непрерывном кодировании, чем стандартные РВ-кадры.

Вводится возможность использования, в дополнение к пяти стандартным размерам видеокадра, кадра с произвольными размерами по горизонтали и вертикали.

14.3. H.263. Видеокодирование для систем связи с низкой пропускной способностью

Новые режимы кодирования

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

Использование деблокирующего фильтра позволяет снизить блокинг-эффект за счет фильтрации по границам блоков.

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

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

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

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

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

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

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

Дополнительная информация

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

Глава14. Стандарты кодирования динамических изображений

- -

!

"# $%&

MPEG-1 стандартизует запись динамических изображений и сопутствующего звука на компакт-диски (CD-ROM, VideoCD/DVD) и передачу видеоизображений пониженной четкости по сравнительно низкоскоростным каналам связи (скорость цифрового потока до 1,5–3 Мбита/с) [5.29–5.32].

Стандарт определяет принципы обработки информации и структуру цифрового потока. Упрощенная функциональная схема декодера приведена на рис. 14.7.

Рис. 14.7. Упрощенная функциональная схема декодера MPEG-1

Далее описаны принципы обработки видеоинформации. Обычно используются два формата динамических изображений: SIF (352 × 240 пикселов) при 30 кадрах в секунду и CIF (352 ×288 пикселов) при 25 кадрах в секунду. MPEG-1 предполагает использование цветовой схемы Y CRCB с разрешением 4 : 2 : 0, при котором на каждые 4 пиксела сигнала яркости Y приходится по одному пикселу цветоразностных сигналов CR и CB .

На рис. 14.8 приведены упрощенные структуры кодирующего и декодирующего устройств MPEG-1.

Несмотря на то что MPEG-1 применяется для кодирования изображений с пониженным разрешением при относительно малом цифровом потоке, стандарт позволяет использовать любое разрешение вплоть до 4095 × 4095. Самым крупным недостатком видеокодера MPEG-1 является поддержка только прогрессивной развертки.

Синтаксис кодированного битового потока содержит шесть уровней:

уровень кадров видеопоследовательности,

уровень группы кадров,

уровень кадров,

уровень слайсов,

14.3. MPEG-1 — кодирование видео- и аудиоинформации для цифровых систем

Рис. 14.8. Структуры видеокодера (а) и видеодекодера (б) стандарта MPEG-1

уровень макроблоков,

уровень блоков.

Первые четыре уровня имеют сходную структуру. Каждому из них предшествует заголовок.

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

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

I-кадры (Intra frame), подвергающиеся только внутрикадровому кодированию;

P-кадры (Predirected frame), в которых осуществляется однонаправленный анализ движения деталей; при кодировании этих кадров используется информация из предшествующего I- или P-кадра;

В-кадры (Bidirectional predicted frame), в которых осуществляется двунаправленный анализ движения деталей; при кодировании этих кадров используется информация из предшествующего I- или P-кадра и последующего I- или P-кадра.

Наличие В-кадров в закодированной информации позволяет существенно повысить коэффициент сжатия в стандарте MPEG-1.

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

Глава14. Стандарты кодирования динамических изображений

Рис. 14.9. Пример последовательности составляющих динамических изображений

ных сигналов. Размер каждого квадратного блока равен 8 ×8 пикселов, а размер макроблока сигнала яркости — 16 × 16 пикселов.

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

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

Последовательности I-, P-, B-кадров объединяются в группы кадров (GOP — Group of Pictures), которые обычно фиксированы по длине и структуре. Каждая такая группа начинается с I-кадра и с определенной периодичностью содержит P-кадры. Для кадров разных типов реализуется различный уровень компрессии. Наименьшей степенью сжатия обладают I-кадры. P-кадр обычно составляет по размеру примерно третью часть от I-кадра, а B-кадр — восьмую часть. Поэтому суммарный поток данных в значительной степени зависит от состава GOP. В зависимости от назначения и требуемого качества записи (видеофильм, мультимедиапродукция, фильм для демонстрации в Интернете и т. д.) используется различный состав и длительность GOP.

Типичная группа кадров приведена на рис. 14.10 и имеет следующий вид: IBBPBBPBB, пронумерованная от 0 до 8. Следующий I-кадр обозначен числом 9.

MPEG-1 позволяет значительно уменьшить суммарный поток данных. Так, при обработке группы из девяти кадров, состоящей из одного I-кадра, двух P-кад- ров и шести B-кадров, цифровой битовый поток приблизительно составит такую же величину, как при внутрикадровом кодировании 2,5 I-кадров.

14.3. MPEG-1 — кодирование видео- и аудиоинформации для цифровых систем

Рис. 14.10. Типичная группа кадров при кодировании и декодировании

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

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

Сокращение избыточности видеоинформации в стандарте MPEG-1 осуществляется практически так же, как в стандартах JPEG и H.261 [5.55, 5.56]:

межпиксельная корреляция в блоках 8 × 8 пикселов существенно уменьшается с использованием дискретного косинусного преобразования (ДКП);

квантование коэфициентов ДКП учитывает особенности человеческого зрения — невосприимчивость к высокочастотным составляющим;

предсказание первого низкочастотного коэфициента преобразования в блоке 8 × 8 (среднее значение яркости блока) учитывает большую пространственную корреляцию кадра изображения в целом;

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

учет структуры участков изображения, пространственное маскирование осуществляются путем изменения степени квантования макроблоков и слайсов;

использование «прямых» и «обратных» векторов движения макроблоков 16 × 16 пикселов существенно сокращает временную избыточность;

применение адаптивного квантования при кодировании ошибок компенсации движения;

предсказание векторов движения при медленном движении деталей изображения со сложным рисунком;

Глава14. Стандарты кодирования динамических изображений

индикация пропущенных макроблоков, если вектор движения и ошибка предсказания нулевые;

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

Формат MPEG-2 был создан путем эволюционной переделки стандарта MPEG-1 под нужды заказчиков. А заказчиками данного формата являлись крупнейшие массмедиа-компании, которые сделали ставку на спутниковое телевидение и нелинейный цифровой видеомонтаж.

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

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

кабельное ТВ, распространяемое по оптоволоконным и другим сетям;

цифровое наземное и спутниковое телевизионное вещание (включая ТВЧ);

кабельное цифровое распространение звука;

цифровое звуковое вещание (наземное и спутниковое);

электронное кино;

электронный сбор новостей (включая спутниковые системы);

домашний телевизионный театр;

общение между людьми (видеоконференции, видеотелефон и др.);

интерактивные устройства хранения (оптические диски и др.);

новости и текущие дела;

сервисные сетевые базы данных;

дистанционный просмотр видео;

цифровые видеосерверы;

последовательные устройства хранения (цифровые видеомагнитофоны и др.).

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

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

14.4. MPEG-2. Кодирование динамических изображений

Важные изменения коснулись алгоритмов квантования, при котором стало возможным в процессе кодирования задавать точность частотных коэффициентов матрицы квантования, что непосредственно влияет на качество получаемого в результате сжатия изображения (и на размер тоже). Используя MPEG-2, пользователь может задавать следующие значения точности квантования — 8, 9, 10 и 11 битов на одно значение элемента, что делает этот формат значительно более гибким по сравнению с MPEG-1, в котором было только одно фиксированное значение — 8 битов на элемент.

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

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

Из-за некоторых особенностей реализации алгоритмов предсказания движения в MPEG-2 появились некоторые ограничения на размер изображения. Стало необходимо, чтобы разрешение изображения по вертикали и горизонтали было кратно 16 в режиме покадрового кодирования, и 32 по вертикали в режиме кодирования полей.

Помимо вышеперечисленных изменений в формат MPEG-2 были введены еще несколько новых, нигде ранее не использовавшихся алгоритмов компрессии видеоданных.

Стандарт MPEG-2 призван облегчить обмен битовыми потоками между различными приложениями. Он поддерживает постоянную и переменную скорости передачи, произвольный доступ, переключение каналов, масштабируемое декодирование, редактирование битового потока, а также такие специальные функции, как быстрое воспроизведение, быстрое обратное воспроизведение, обратное воспроизведение с нормальной скоростью, медленное движение, пауза и неподвижные изображения.

14.4.1. Общие положения

Cтандарт MPEG-2 состоит из трех основных частей: системной, видео и звуковой. Видеочасть стандарта описывает кодированный битовый поток для высококачественного цифрового видео. MPEG-2 является совместимым расширением MPEG-1, он поддерживает чересстрочный формат видео- и ряд развитых средств, в том числе средства для поддержки ТВЧ.

Стандарт MPEG-2 определяется в терминах расширяемых профилей, каждый из которых, являясь частным случаем стандарта, поддерживает черты, необходимые важным классам приложений.

Иерархические масштабируемые профили могут поддерживать такие приложения, как совместимое наземное многопрограммное ТВ/ТВЧ, пакетные сетевые видеосистемы, обратную совместимость с другими существующими стандартами (MPEG-1), и другие приложения, использующие многоуровневое кодирование.

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

Глава14. Стандарты кодирования динамических изображений

Звуковая часть стандарта MPEG-2 определяет низкоскоростное кодирование многоканального звука. MPEG-2 поддерживает до 5 полных широкополосных каналов плюс дополнительный низкочастотный канал и/или до семи многоязычных комментаторских каналов. Он также расширяет возможности кодирования моно- и стереозвуковых сигналов в MPEG-1.

Звуковой стандарт многоканального кодирования обеспечивает совместимость с MPEG-1. В нем рассматриваются также до трех несовместимых кодеков.

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

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

Таким образом, системный уровень выполняет пять основных функций:

синхронизацию нескольких сжатых потоков при воспроизведении;

объединение нескольких сжатых потоков в единый поток;

инициализацию буферизации для начала воспроизведения;

дальнейшее обслуживание буфера;

определение временной шкалы.

Мультиплексированный поток MPEG-2 — это или программный, или транспортный поток. Оба типа потоков конструируются из пакетов пакетированных элементарных потоков (ПЭП) и пакетов, содержащих другую необходимую информацию. Оба типа потоков поддерживают мультиплексирование сжатых видео- и звуковых потоков с общей временной базой, а транспортный поток, кроме того, поддерживает мультиплексирование сжатых видео- и звуковых потоков с независимыми временными базами.

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

Мультиплексированный битовый поток MPEG-2 (или программный, или транспортный) конструируется из двух слоев:

внешнего слоя — системного слоя и

внутреннего слоя — слоя компрессии.

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

Кодирование других видов данных не определяется стандартом, но поддерживается системным слоем при условии, что другие типы данных удовлетворяют ограничениям, описанным в системной части стандарта.

Системное кодирование осуществляется в двух формах: программный поток и транспортный поток. Каждый из них оптимизирован для различных классов приложений.

14.4. MPEG-2. Кодирование динамических изображений

Рис. 14.11. Мультиплексирование видео- и звукового элементарных потоков

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

Эта информация кодируется с использованием временных меток, относящихся к кодированию и представлению видео- и звуковых данных, и временных меток, относящихся к доставке самого потока данных. Оба потока определяются как пакетно-ориентированные, мультиплексированные.

Базовый метод мультиплексирования одного видео и одного звукового элементарных потоков проиллюстрирован на рис. 14.11.

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

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

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

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