Стандарт сжатия движущихся изображений 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 не используются для предсказания других кадров.
Дата добавления: 2015-03-20; просмотров: 1440;