Сжатие в кодере MPEG 2

Сжатие в кодере MPEG 2 — сложный шестиуровневый процесс в виде иерархической структуры: блок - макроблок - слайс (вырезка) - кадр - группа кадров - последовательность кадров (рис. 4).

Рисунок 4 – Иерархическая структура кодирования MPEG 2

Сначала обрабатываются фрагменты изображения – блоки - размером 8x8 пикселов, несущие информацию о яркости или цветности. Блок(основной объект, к которому применяется ДКП) является базовой структурной единицей, над которой осуществляются все основные операции кодирования. Матрица блока состоит из 8x8 = 64 пикселей, т. е. имеет 64 отсчета. В телевизионном кадре по вертикали размещается 576/8 = 72 столбцов матрицы, а по горизонтали 704/8 = 88 строк матрицы. В итоге полное телевизионное изображение формируется из (72x88) = 6336 блоков, т. е. матриц яркостных данных, на которых возможно провести ДКП.

Яркостные блоки Y организуются в макроблоки (16x16 пикселов), состоящие из четырех блоков. Макроблок – это основной объект для предсказания с компенсацией движения.

Один или более смежных макроблоков группируются вместе и образуют вырезку (слайс), в которой по вертикали 16 пикселов, а по горизонтали 16 n (где n — 1, 2, 3 и т.д.) пикселов.

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

В области поиска осуществляется поиск «своего» макроблока в текущем кадре, смежном с опорным. Область поиска включают в себя 64x64 пикселей, т. е. ограничена размерами в 4x4 макроблока.

Таким образом, кадр, состоящий из группы слайсов, является первичной кодированной единицей передаваемого изображения. Последовательность из 12...15 кадров составляет группу кадров (GoP — Group of Picture) трех типов (I, Р, В), из которых только один I-кадр (Interframe) с внутрикадровым кодированием является опорным для декодирования остальных кадров (Р и В) группы, три или четыре Р-кадра (Predictive — предсказанные) используют межкадровое кодирование с компенсацией движения по ближайшему предшествующему I-кадру и 8...10 В-кадров (Bidirectional — двунаправленные) с межкадровым кодированием и предсказанием по последующим и предыдущим I- и Р-кадрами.

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

Последовательность кадров при межкадровом сжатии видеоданных

Для межкадрового сжатия видеоданных выбирается группа кадров (группа изображений GOP - Group of Pictures), которая состоит из нескольких последовательных кадров, объединении вместе и обеспечивающих возможность условного доступа к каждому ее кадру.

I-кадры. Группа кадров всегда начинается с опорного I-кадра (Intra Frames), т. е. с изображения, которое подвергается только внутрикадровому сжатию - ДКП. Изображение I-кадра кодируется автономно, независимо от других кадров, и внутрикадровое сжатие видео данных здесь относительно небольшое. Это нужно для того, чтобы на приемной стороне изображение I-кадра меньше подвергалось изменениям, ошибкам и обеспечивало бы тем самым высокую точность восстановления В- и Р-кадров, что очень важно. При наличии ошибок и искажений в опорных кадрах они автоматически переносятся на следующие кадры. Количество I-кадров, входящих в группу GOP, может быть самым разным - все определяется возможностям кодера и может изменяться. I-кадры играют также решающую роль при синхронизации видеопоследовательностей и звуковых последовательностей. Структура группы кадров показана на рис. 5 и 6.

Рисунок 5 - Типовая последовательность I-, B- и P-кадров   P-кадр может ссылаться только на предшествующие I- или P-кадры, тогда как B-кадр может ссылаться и на предшествующие, и на последующие I- или P-кадры.

Рисунок 6 - Структура группы кадров (изображений) при передаче по каналу связи

Как видно из рис. 5, после определенного количества Р- и В- кадров снова следует опорный I-кадр. Группа кадров должна быть достаточно большой, если необходимо получить высокую степень сжатия информации. С другой стороны, чем чаще следуют I-кадры, тем выше качество изображения, но тем больший объем информации в реальном масштабе времени нужно передать по каналу связи, т. е. тем шире должна быть его частотная полоса. Считается оптимальным, если на один I-кадр приходится в среднем от 7 до 15 Р- и В-кадров.

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

В-кадры (Bidirectional Interpolated Frames) кодируются в зависимости от характера передаваемых сюжетов телевизионного изображения следующими способами:

§ Предсказанием следующего ближайшего В-кадра на основе предыдущего опорного I- или Р-кадра (предсказанием вперед с компенсацией движения).

§ Обратным предсказанием (предсказанием назад с компенсацией движения). Опорным служит следующий, соседний I- или Р-кадр. Такое предсказание реализуется при появлении больших площадей в изображении (в кадре), которых не было в предшествующем кадре.

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

§ Внутрикадровым предсказанием без компенсации движения только на основе I-кадров. При этом в текущем кадре информация сравнивается по макроблокам с опорным I-кадром и выделяется разностная информация между ними. Такое предсказание используется при резкой смене сюжета или при больших скоростях перемещения объекта изображения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: