Технология MPEG
ОГЛАВЛЕНИЕ
Видеоданные по своей природе занимают чрезвычайно большой объем. Над задачей возможно более эффективного сжатия видео уже много лет бьются специалисты в этой области. В начале третьего тысячелетия в связи с острой необходимостью передавать большие объемы видео по различным сетям, задача оптимального по соотношению качество/объем способа кодирования видео стала еще более актуальной.
Концепция сжатия видео в MPEG очень проста - определить, какая именно информация в потоке повторяется хотя бы в течении какого-то отрезка времени и принять меры к избежанию дублирования этой информации. Наиболее ценное достоинство MPEG кодирования, особенно удобное для передачи по различным сетям - возможность гибкой настройки качества изображения в зависимости от пропускной способности сети. Это и сделало MPEG-2 фактическим стандартом для приема/передачи цифрового телевидения по различным сетям.
К сожалению, не существует возможности однозначно оценить качество кодирования некими приборами и измерениями. Единственный критерий здесь - человек и как он воспримет сжатую информацию. Поэтому правила сжатия видеоданных при MPEG кодировании вырабатывались на основе модели восприятия человеком видеоизображений (HVS - Human Visual Sense).
Избыточность изображения согласно HVS определяется по трем основным критериям:
-
Невидимые человеческим глазом детали изображения - места гашения по вертикали и горизонтали. Удаление этой информации вообще никак не сказывается на изображении
-
Статистическая избыточность. Подразделяется на пространственную и временную. Под пространственной избыточностью понимаются участки изображения, на которых смежные пиксели практически одинаковы. Под временной - не изменяемые во времени фрагменты изображения.
-
Избыточность по цвету и яркости - рассчитывается исходя из ограниченной чувствительности человека к небольшим изменениям цветов и яркости деталей изображения.
Как реализуется
Для удобства кодирования видеоданных весь видеопоток разбивается на группы, называемые GOP (Group of Pictures- группой изображений). Такая группа строится следующим образом:
где:
I - Intra кадры, которые обычно называются опорными и содержат всю информацию об изображении. MPEG последовательности без этих кадров быть не может в принципе. При компрессии I кадров происходит удаление только пространственной избыточности. Именно с этого кадра начинается декодирование изображения в последовательности.
P- Predictive кадры. "Предсказанные" кадры, при формировании которых используется метод предсказания изображения на следующем кадре с учетом компенсации движения от последнего I или P кадра перед формируемым. P кадр также служит для дальнейшего предсказания изображения. P кадр создается с помощью межкадровой компрессии, уменьшающей как пространственную, так и временную избыточность. Изображение P кадра вычитается из следующего изображения и эта разница кодируется и вместе с вектором движения добавляется к сжатым данным.
B - Bi-directional, "двунаправленные" кадры. Они названы так потому, что хранят наиболее существенную информацию с окружающих их I и P кадров. B кадры имеют наивысшую степень компрессии, но требуют предыдущего и последующего изображения для компенсации движения объектов на изображении.
Такую структуру MPEG потока обычно описывают в виде дроби M/N, для которой M сообщает общее число кадров в GOP, а N - каким по счету будет очередной P кадр после предыдущего. Таким образом, GOP последовательность, изображенная на рисунке выше, может быть записана как 12/3.
Собственно поток данных MPEG состоит из 6-ти иерархических уровней
-
Блок - данные по яркости и цветности для блоков 8х8 изображения. Блоки анализируются по значениям Y (яркость), CB и CR (цветоразностные сигналы)
-
Макроблок - как следует из названия, состоит из 4 простых блоков в окне 16х16 пикселей соответственно. В формате 4:2:0 макроблок содержит 4 блока яркостных данных Y и по одному CB и CR.
-
Слой - содержит несколько смежных макроблоков
-
Кадр - состоит из группы слоев, содержащих изображение, которое, в свою очередь, может быть как I, так P или B.
-
Группа изображений (она же GOP) - содержит последовательность кадров. Может включать до 15 кадров и должна обязательно начинаться с I кадра.
-
Видеопоследовательность - должна содержать минимум одну GOP, а также заголовок в начале последовательности и код конца последовательности.