Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Самый новый ММТвО-1-11н.doc
Скачиваний:
120
Добавлен:
01.06.2015
Размер:
3.91 Mб
Скачать

1.7.6. Стандарт mpeg

Концепция поточного межкадрового сжатия видео в MPEG основана на том, что два соседних кадра обычно очень похожи, и состоит в том, чтобы определить, какая именно информация в потоке повторяется хотя бы в течение какого-то отрезка времени и принять меры к устранению ее дублирования [6, 50, 53-55].

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

  • невидимые человеческим глазом детали изображения – места гашения по вертикали и горизонтали. Удаление этой информации вообще никак не влияет на изображение;

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

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

В сценах, когда камера и задний план неподвижны, а 1-2 актера медленно двигаются или какой-то человек что-то рассказывает (система «говорящая голова»), почти все пикселы в соседних кадрах будут идентичны. В этом случае простое вычитание каждого кадра из предыдущего и обработка разности алгоритмом JPEG даст достаточно хороший результат. Но такой подход дает плохой результат для сцен, когда камера поворачивается или наезжает на снимаемый объект. Для таких сцен необходим какой-либо способ компенсировать это движение камеры. В этом и состоит основное отличие MPEG от JPEG [6].

Вообще MPEG – это не формат или группа форматов сжатия, а набор стандартных средств или алгоритмов, которые могут комбинироваться многими способами при реализации аппаратуры цифрового сжатия. Известны 4 стандарта MPEG. MPEG-1 и MPEG-2 во многом схожи за исключением целей своей разработки, объема и качества видеоинформации. Файл MPEG состоит из трех частей, называемых потоками: Audio, Video, а также System Stream, обеспечивающего объединение и синхронизацию первых двух.

MPEG-1 (1992 г.) создавался как стандарт для сжатия цифрового видео (Video-CD), но, к сожалению, не позволяет работать с кадрами большого размера. Обычно по методу MPEG-1 изображение кодируется с SIF-разрешением 352×240 для 30 кадров/с или 352×288 для 25 кадров/с, формат 4:2:0, 8 бит/пиксел, что соответствует качеству VHS и имеет разрешение в 4 раза ниже стандартного изображения вещательного телевидения. При воспроизведении такой видеоролик «растягивается» аппаратно или программно до полного экрана. Хотя при этом теряется качество, зато остается возможность проигрывать полноэкранное видео даже на устаревшей технике [55].

MPEG-1 ориентирован на обработку последовательностей кадров и использование высокой избыточности информации (до 95% и более), содержащейся в реальных изображениях, разделенных малыми временными интервалами. Действительно, фон между смежными кадрами обычно меняется мало, а все действие связано со смещениями относительно небольших фрагментов изображения. По этой причине необходимость передачи полной информацию о кадре изображения возникает только при смене сюжета, а в остальное время можно ограничиваться выделением и передачей разностной информации, характеризующей направления и величины смещения элементов изображения, появление новых объектов или исчезновение старых. Причем такие различия могут выделяться как относительно предыдущих, так и относительно последующих кадров [47].

Частота дискретизации для яркостного сигнала Y установлена равной 13,5 МГц, для цветоразностных сигналов R-Y (Cr) и B-Y (Cb) - 6,75 МГц, т.е. частота дискретизации яркостного сигнала в 2 раза больше частоты дискретизации цветоразностных сигналов. Если взять, как принято, в качестве условной (базовой для иерархии цифровых стандартов) единицы частоту 3,375 МГц, то частоты дискретизации яркостного и двух цветоразностных сигналов будут находиться в соотношении 4:2:2, которое и дает часто используемое название стандарта [52]. На рис.1.44 показаны фрагменты схем кодирования форматов 4:2:0 (другое обозначение YUV12) и 4:2:2 (YUV2).

Особенности MPEG-сжатия состоят в том, что

  • полностью записываются лишь опорные кадры, составляющие менее 10 % общего числа кадров и обычно появляющиеся через 11 или 14 других кадров;

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

  • сжатие опорных кадров производится в те же 7 этапов, как по методу JPEG (преобразование базиса RGB→YUV, прореживание U и V, ДКП, квантование, уточнение элемента (0,0), зигзаг и подавление нулей, кодирование по Хаффману).

а) формат 4:2:0

YU

YV

YU

YV

Y

Y

Y

Y

YU

YV

YU

YV

Y

Y

Y

Y

б) формат 4:2:2

YU

YV

YU

YV

YU

YV

YU

YV

YU

YV

YU

YV

YU

YV

YU

YV

Рис. 1.44. Фрагменты схем кодирования

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

В MPEG имеется 3 типа кадров (фреймов):

  • Intracoded (I) – исходные (автономные), содержащие основное изображение. Являются базовыми (опорными), в последовательности кадров появляются через 11 (или 14) других, имеют довольно низкий коэффициент сжатия и составляют основу MPEG-файла. Именно благодаря им возможен случайный доступ к какому-либо отрывку видео. При их сжатии происходит удаление только пространственной избыточности. Именно с I-кадра начинается декодирование изображения в последовательности;

  • Predicted (P) – предсказанные, содержащие разность текущего изображения с определенным предыдущим или учитывающие смещение отдельных фрагментов (компенсацию движения от предыдущего I-кадра или P-кадра). Используются как сравнительный образец для дальнейшей последовательности P-кадров (предсказания изображения), создаются с помощью межкадровой компрессии, уменьшающей как пространственную, так и временную избыточность. Полученная разность кодируется и вместе с вектором движения добавляется к сжатым данным. Дают высокий коэффициент сжатия (размер P-кадра составляет ~1/3 от размера I-кадра);

  • Bi-directional Interpolated (B) – двунаправленные интерполированные, содержащие наиболее существенную информацию из окружающих их I-кадров или P-кадров (только отсылки к предыдущему и последующему кадрам с учетом смещений отдельных фрагментов). Имеют наибольший коэффициент сжатия (размер B-кадра составляет ~1/8 от размера I-кадра), но требуют предыдущего и последующего изображения для компенсации движения объектов на изображении.

В MPEG-1 предусмотрено 4 способа кодирования В-кадров в зависимости от характера картинки кадра:

  • 1 (самый простой) – компенсация движения и предсказание вперед по предшествующему I или Р-кадру;

  • 2 – при появлении в кодируемом В-кадре новых объектов применяется предсказание назад по ближайшему последующему I или Р-кадру вместе с компенсацией движения;

  • 3 – компенсация движения и двунаправленное предсказание по предшествующему и последующему I или Р-кадрам;

  • 4 – внутрикадровое предсказание без компенсации движения (он обычно используется при резкой смене плана или высоких скоростях движения отдельных фрагментов картинки) [47].

Поток данных MPEG состоит из 6 иерархических уровней (снизу вверх):

  • блок – данные о фрагменте изображения 8×8 пикселов, содержащие значения яркости Y и цветности Cb и Cr (для формата 4:2:0), 16×8 пикселов – (для формата 4:2:2), 16×16 пикселов – (для формата 4:4:4);

  • макроблок, состоящий из 4 простых блоков в окне 16×16 пикселов. В формате 4:2:0 макроблок содержит 4 блока данных яркости Y и по одному блоку (прореженных) данных цветности Cb и Cr;

  • слой, содержащий несколько смежных макроблоков;

  • кадр, состоящий из группы слоев, формирующих изображение (I, P, B);

  • группа изображений до 15 кадров, начинающаяся с I-кадра;

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

Сжатие исходных I-кадров похоже на сжатие неподвижного изображения по формату JPEG, при котором картинка делится на фрагменты (макроблоки) 16×16 пикселов. P-кадр получается на основе информации одного предыдущего I- или P-кадра. А вот B-кадр получается на основе I- или P-кадров, причем одного из них в прошлом (предыдущего), другого в будущем (последующего).

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

I0, B1, B2, P3, B4, B5, P6, B7, B8, P9, B10, B11, I12, B13, B14, P15...

Изображения объединяются в группы (I0-B11), (I12-B23),...

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

I0, P3, B1, B2, P6, B4, B5, P9, B7, B8, I12, B10, B11, P15, B13, B14...

В случае предсказанных P- и двунаправленных B-кадров кодировщик изображения может выделять макроблоки 16×16 пикселов в одном кадре, а затем декодировщик восстанавливает эти блоки в новом кадре.

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

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

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

  • системный слой, содержащий временную и другую информацию для разделения и синхронизации видео и аудио;

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

Для синхронизации аудио- и видеопотоков в системный поток встраивается таймер, работающий с частотой 90 КГц. Используются метки: системная, по которой происходят увеличения значений счетчика времени в декодере, и начала воспроизведения, которая сообщает декодеру, когда воспроизводить картинку или звуковой кадр (ее длина – 33 бита, что обеспечивает возможность представления временного цикла длительностью до 24 часов).

Стандарт MPEG-1 со скоростью передачи (интенсивностью потока данных сжатого видео и звука) до 1,5 Мбайт/с обеспечивает звук и изображение примерно CD-качества, тогда как при использовании сжатия в формате JPEG для получения такого же качества потребовалось бы примерно в 3 раза больше данных. Таким образом, MPEG не является более быстрым форматом, в его задачу входит:

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

  • либо использовать меньшее число битов для получения изображения такого же качества.

MPEG-2 (1993 г.) – усовершенствованный вариант, ориентирован на бытовые приложения цифрового телевидения, в том числе телевидения высокой четкости (HD TV, HDTV), кабельное телевидение, высококачественное цифровое видео (DVD-технологии), интерактивные носители информации и, в первую очередь, используется профессионалами [47].

MPEG-2 поддерживает более высокие разрешения (например, 720×480 в формате NTSC или 704×576 в формате PAL). Вместо ДКП использует метод Wavelet Image Compression, отличающийся только тем, что использует в качестве базовых более сложные функции. В отличие от MPEG-1, после создания I-, P- и B-кадров осуществляется поиск дублирующейся информации, которая заменяется ссылкой на нее в предыдущих кадрах. Это также позволяет повысить степень сжатия фильма. MPEG-2 используется для сжатия фильмов, записанных в стандарте VideoCD. При этом как I-кадр записывается каждый 15-й кадр, а P-кадром является каждый 3-й.

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

В MPEG-2 выделяют различные уровни и профили, допустимые сочетания которых приведены в табл.1.6 [56-59]. Она имеет два заголовка (верхний горизонтальный и левый вертикальный).

Профиль MPEG-2 определяет набор методов обработки видеоизображения, в пределах которого возможен широкий разброс параметров потока, а также кодеров и декодеров для них. В табл.1.6. представлено 6 различных профилей, образующих ее столбцы. В профиле Simple отсутствуют B-кадры, профиль Main – это MPEG-1+. В профилях Main+ и Next используется разделение на три слоя, что позволяет организовать различные приоритеты и варианты масштабирования при передаче данных.

При пространственном масштабировании основной менее приоритетный слой кодируется с меньшим разрешением и затем используется как предсказание для более приоритетных. При масштабировании отношения сигнал/шум (Signal to Noise Ratio, SNR) SNR-каналы кодируются с одинаковой скоростью, но с разным качеством: менее приоритетный слой содержит плохую картинку – более дискретные шаги, а высокоприоритетный слой содержит довесок, позволяющий построить качественную картинку. При временном масштабировании слои различаются по скорости передачи информации. Обычно больший приоритет имеют низкочастотные компоненты, а меньший – более высокочастотные компоненты (мелкие детали) изображения.

Таблица 1.6

Профиль (Profile) →

Уровень (Level) ↓

Простой (Simple)

I, P

4:2:0

Основной (Main)

I, P, В

4:2:0

Основной+(Main+)

I, P, В

4:2:2

Следую-щий (Next,

SNR Scalable)

I, P, B 4:2:0

Простран-ственный (Spatially Scalable)

I, P, В 4:2:0

Высокий

(High)

I, P, В 4:2:0 или 4:2:2

Самый высокий (High Level)

1920×1152, 80 Мбит/с

1920×1152, 100 Мбит/с

Высокий (High 1440 Level)

1440×1152, 60 Мбит/с

1440×1152, 60 Мбит/с

1440×1152, 80 Мбит/с

Основной (Main Level)

720×576, 15 Мбит/с

720×576, 15 Мбит/с

720×608, 50 Мбит/с

720×576, 15 Мбит/с

720×608, 20 Мбит/с

Низкий (Low Level)

352×288, 4 Мбит/с

352×288, 4 Мбит/с

Уровень определяет параметры MPEG-потока – разрешение выходного изображения (размер кадра) и величину потока. В табл.1.6. представлено 4 различных уровня, образующих ее строки.

При записи MPEG-2 поддерживает разделение видеосигнала на несколько (два или более) независимо кодируемых потоков данных с различным разрешением (и качеством изображения). Такое разделение обеспечивает возможность одновременной трансляции HDTV и обычного (стандартного) TV-сигнала. Новый стандарт HDTV c MPEG-2 ориентирован на поддержку двух следующих режимов: 1440×960 при 50 Гц и 1280×720 при 60 Гц, обеспечивая отличное качество TV-передач. Для MPEG-2 интенсивность потока составляет 2-10 Мбайт/c. Достижимая с его использованием степень сжатия позволяет разместить в одном аналоговом канале 6-10 цифровых каналов. Объем файлов MPEG-2 примерно в 4 раза больше, чем MPEG-1, что позволяет записывать полноэкранные фильмы вещательного качества.

MPEG-3 разработан в рамках HDTV. Он обеспечивает разрешение до 1920×1080 при 30 Гц и интенсивность потока данных 20-40 Мбайт/с. Но разработка была свернута и вошла в MPEG-2.

MPEG-4 (1993 г.) – усовершенствованный вариант, внедренный в 1999 г. Он обеспечивает повышение в несколько раз степени сжатия, а также улучшение качества изображения. Но MPEG-4 требует значительных ресурсов как при кодировании, так и при декодировании.

MPEG-4 достаточно универсален, так как поддерживает широкий диапазон скоростей потока и форматов кадра. Применяется как для крохотных роликов размером 80х60 точек, передаваемых через Интернет, так и для перезаписи DVD-дисков на обычные CD. Формат использует более прогрессивный способ сжатия изображения, чем предшествующие. Если в MPEG-1 и 2 поле кадра всегда разбивается на одинаковые блоки, то MPEG-4 разделяет его на различные области. Границы между ними вычисляются исходя из особенностей конкретного кадра. Поэтому как резкие, так и плавные переходы при этом способе сжатия прописываются лучше. Более сложный алгоритм кодирования, естественно, требует и гораздо больших вычислительных мощностей. Он постоянно совершенствуется, поэтому существует большое разнообразие различных несовместимых друг с другом кодеков (например, DivX, XviD) [60].

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

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

В MPEG-4 используется язык описания Binary Format for Scenes (BIFS), похожий на язык VRML, но обладающий дополнительными функциями: поддержкой потоков данных, способностью к динамическому наращиванию и эффективному представлению данных. Язык BIFS имеет все 3D-характеристики языка VRML и расширенную поддержку 2D-анимации [55].

Есть вариант MPEG-4 – MPEG-J, использующий язык Java [61-62].

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

MPEG-4 рассчитан на очень низко интенсивные потоки данных для применения в видеотелефонах, ММ почте, электронных информационных изданиях и т.п. MPEG-4 оптимизирован для минимальных разрешений до 176×144 при 10 Гц, имеет интенсивность потока 4800-64000 бит/с. Но при этом потребовалась новая технология сжатия.

Следует отметить, что MPEG не приспособлен для монтажа и редактирования, поскольку ориентирован на хранение и передачу видеоданных, а не на их обработку [60].

MPEG-7 представляет собой интерфейс для описания и поиска различных типов ММ информации (а не для ее кодирования). MPEG-7 определяет стандартный набор дискрипторов для различных типов ММ информации, стандартизует способ их определения и их взаимосвязи. Для этого вводится язык описания определений (Descrption Definition Language). Примеры возможностей поиска:

  • музыка. Сыграв несколько нот на клавиатуре, можно получить список музыкальных произведений, содержащих сыгранную последовательность;

  • графика. Нарисовав несколько линий на экране, получим набор рисунков, содержащих данный фрагмент;

  • картины. Определив объект (задав его форму и текстуру), получим список картин, его содержащих;

  • видео. Задав объект и движение, получим набор видео или анимации;

  • голос. Задав фрагмент голоса певца, получим набор песен и видеороликов, где он поет.