См. также:
Стандарт MPEG4
Формат Windows Media VC-1 (VC-9)
Эволюция стандартов цифровой видеокомпрессии
В процессе MPEG кодирования устраняются избыточные видеоданные в серии рядом расположенных кадров.
Два соседних кадра обычно содержат много одинаковых элементов изображения. Информация в них отличается на малую часть от всей информации содержащейся в кадре. Производится сжатие видео, при котором используются не все данные каждого видеокадра, а динамика изменений кадров, так как в большинстве последовательных кадров одного видео-сюжета фон почти не изменяется, а хорошо заметные изменения происходят на переднем плане.
Например, происходит плавное перемещение небольшого объекта на фоне неизменного заднего плана. В этом случае полная информация о изображении сохраняется только для опорных изображений. Для остальных кадров оцифровывается только разностная информация: о положении объекта, направлении и величине его смещения, о новых элементах фона, открывающихся за объектом по мере его движения. Причем эта разностная информация вычисляется не только по сравнению с предыдущими изображениями, но и с последующими (поскольку именно в них по мере движения объекта открывается ранее скрытая часть фона).
Процесс сокращения данных производится следующим образом. Прежде всего создается опорный кадр (I, Intra frame).
Опорные I-кадры используются для восстановлении остальных кадров и размещаются последовательно через каждые 10-15 кадров. Только некоторые фрагменты кадров, которые находятся между I-кадрами, успевают измениться, и именно эти изменения фиксируются в процессе сжатия.
Кроме I-кадров, в MPEG различают еще два типа кадров:
I-кадры составляют основу MPEG потока и через них осуществляется случайный доступ к какому-либо отрывку видео. Сами I-кадры для обеспечения визуально высокого качества сжимаются незначительно.
P-кадры кодируются относительно предыдущих кадров (I или P) и используются как сравнительный образец для дальнейшей последовательности P-кадров. В этом случае достигается высокий уровень сжатия.
B-кадры кодируются с высокой степенью сжатия. Для привязки B-кадров к видеопоследовательности необходимо использовать не только предыдущее, но и последующее изображение. B-кадры никогда не используются для сравнения.
I, P, B кадры объединяются в группы (GOP- Group Of Pictures), представляющие собой минимальный повторяемый набор последовательных кадров, например:
(I0 B1 B2 P3 B4 B5 P6 B7 B8 P9 B10 B11) (I12 B13 B14 P15 B16 B17 P18 ...)
Кадры состоят из макроблоков, представляющих собой небольшие фрагменты изображения размером 16 × 16 пикселов. Процессор MPEG-энкодера анализирует кадры и ищет идентичные или очень близкие макроблоки, сравнивая базовый и последующие кадры. В результате сохраняются только данные о различиях между кадрами, называемые вектором смещения (vector movement code). Макроблоки, которые не содержат изменений, игнорируются, и количество данных для передачи, таким образом, значительно снижается. Для снижения влияния ошибок при передаче данных последовательные макроблоки объединяют в независимые друг от друга разделы (slices). В свою очередь каждый макроблок состоит из шести блоков, четыре из которых несут информацию о яркости (Y), а остальные 2 блока несут информацию цветоразностных сигналов (U/V). Блоки являются базовыми единицами, над которыми осуществляются основные математические операции кодирования, например, дискретно-косинусное преобразование.
Используются схемы блоков 4:2:0 или для студийного (вещательного) качества 4:2:2.
Это важный момент, требующий более подробного пояснения:
Полезно знать, что полученные от видеокамеры цветовые RGB данные, могут быть эквивалентно представлены как сумма яркостного сигнала (Y) и двух цветоразностных сигналов (U и V), называемых хроматическими. Яркостной сигнал Y определяет яркость точки. Цветоразностные сигналы U и V вместе с Y-сигналом позволяют полностью восстановить исходные RGB данные.
Y вычисляется из RGB данных по формуле: Y = 0.299R + 0.587G + 0.114B
U и V сигналы вычисляются так: U = R - Y, а V = B – Y
При приёме сигнала происходит обратный процесс:
RGB данные вычисляются так: R = Y + U; B = Y + V; G = Y - 0.509U - 0.194V
Известно, что информация хроматических данных может быть сокращена в большей степени, чем яркостная информация, без видимого ущерба для качества восприятия изображения человеком.
Для видео стандартного разрешения используется рекомендация 601 [3] CCIR, определяющая - как компонентный (YUV) видео сигнал может быть оцифрован, чтобы сформировать дискретные пикселы.
Специалистами часто используются термины формат 4:2:2 и формат 4:2:0, чтобы описать структуру осуществления выборки цифрового изображения:
- формат 4:2:2 означает, что частота горизонтальных выборок хроматических данных сокращена в два раза по сравнению с яркостными данными;
- формат 4:2:0 означает, что частота как горизонтальных так и вертикальных выборок хроматических данных сокращена в два раза по сравнению с яркостными данными.
Согласно рекомендации 601 CCIR, активная область оцифрованного телевизионного кадра (SD) представлена 576 линиями по 720 пикселей в каждой, с частотой кадров 25 гц. При использовании по 8 битов для записи значения каждого из яростных и хроматических параметров (Y, U/V), полный размер потока оцифрованного некомпрессированного видео будет следующим для схем 4:2:2 и 4:2:0:
Для 4:2:2 720 × 576 × 25 × 8 + 360 × 576 × 25 × (8 + 8) = 166 Мб/с
Для 4:2:0 720 × 576 × 25 × 8 + 360 × 288 × 25 × (8 + 8) = 124 Мб/с
В то же время, видео сжатое MPEG 2-кодером до потока всего 5-6 Мб/с визуально воспринимается как совершенное высококачественное изображение.
Таким образом MPEG кодеры сокращают следующие видео данные:
Кроме сокращения данных в процессе MPEG кодирования повышается информационная плотность результирующего цифрового потока путем использования эффективного математического кода для его описания.