Стандарт сжатия движущихся изображений MPEG-2

Устранение внутрикадровой и межкадровой избыточности в стандарте MPEG-2 является наиболее эффективным.

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

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

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

Ø P -кадры (predictive - предсказанные), при передаче которых используется межкадровое кодирование путём предсказания с компенсацией движения по ближайшему предшествующему I -кадру или P -кадру. Если макроблок в P -кадре не может быть описан с использованием компенсации движения, что случается при появлении неизвестного объекта, то он кодируется тем же способом, что и макроблок в I -кадре. P -кадры сжаты в 3 раза сильнее, чем I -кадры, и служат опорными для поступающих P - и B -кадров.

Ø B -кадры (bidirectional - двунаправленные), которые передаются с межкадровым кодированием путём предсказания с компенсацией движения по ближайшим к ним как спереди, так и сзади I -кадрам и P -кадрам, а сами не могут использоваться для предсказания других кадров (некоторые фрагменты B -кадра могут кодироваться внутрикадровым методом) [21].

Таким образом, в стандарте MPEG-2 используются 3 вида кодирования:

внутрикадровое, межкадровое вперёд с компенсацией движения, межкадровое двунаправленное также с компенсацией движения.

Полученные кадры объединяются в группы последовательных кадров (GOP). Каждая последовательность начинается с I -кадра и состоит из переменного числа P - и B -кадров.

В начале сюжета должен стоять I -кадр, в конце P -кадр. Увеличивать долю B -кадров можно только в рамках одного сюжета, иначе возникнут большие ошибки предсказания и компенсации движения. Поскольку типичная длительность группы кадров (во временном представлении 0,5с – 12 кадров) значительно меньше характерного расстояния между границами сюжетов, то в большинстве случаев жесткое задание структуры группы кадров не приводит к существенным визуальным ошибкам из-за того, что смена сюжета попадает внутрь группы кадров.

Рассмотрим пример последовательности кадров:

Здесь кадры с 1 по 15 образуют группу кадров. Число кадров в группе может быть и другим, но они всегда начинаются с I -кадра. P -кадр 4 предсказывается по I -кадру 1, P -кадр 7 – по P -кадру 4, P -кадр 10 – по P -кадру 7 и т. д. I -кадр передаётся с внутрикадровым кодированием независимо от всех предшествующих ему кадров. B -кадры 2 и 3 предсказываются по I -кадру 1 и P -кадру 4, B -кадры 5 и 6 - по P -кадрам 4 и 7 и т. д. B -кадры 14 и 15 предсказываются по I -кадру 16 и P -кадру 13. Перед кодированием порядок следования кадров изменяется, так как каждый B -кадр должен идти после обоих кадров, по которым он предсказывается:

В таком порядке кадры кодируются и передаются, а в процессе декодирования восстанавливается исходный порядок кадров. Изменение порядка передачи кадров B, B, P объясняется тем, что при их декодировании на приёмном конце системы потребуются кадры I и P.

Изображение типа B компрессированы наиболее глубоко. Если P -кадры требуют для своей передачи в 3 раза меньше битов, чем I -кадры, то в B изображениях число битов для большинства сюжетов в 2-5 раз меньше, чем в P [5]. Как следствие, страдает помехоустойчивость B -кадров. Поэтому для защиты от возможных ошибок изображения B не используются для предсказания других кадров.


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



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