Базовым объектом кодирования в стандарте МРЕG-2 является кадр ТВ изображения. При этом очевидно, что для ТВ сигналов, в которых смешаны различные сюжеты с разными типами движений «от ничего до много» простое предсказание, в принципе не обеспечит высокую эффективность. По той причине в стандарте МРЕG-2 используются три вида предсказаний: внутрикадровое и межкадровое предсказание вперед с компенсацией движения, межкадровое двунаправленное предсказание также с компенсацией движения.
Формат видеоинформации в стандарте МРЕG-2 содержит три типа кадров (I, P, B). Основные, так называемые кадры I-кадры обрабатываются только с применением внутрикадрового предсказания. Они кодируются независимо от других кадров, т.к. обрабатываются с использованием собственной информации, т.е. по принципу случайного доступа к сжатым видеоданным. Они применяют кодовое преобразование блоков элементов изображения и обеспечивают умеренное сжатие. Это первый этап сжатия видеоданных, Зато при восстановлении ТВ изображения по I-кадрам оно менее всего деградирует и зависит от ошибок кодирования и передачи видеоданных по каналу связи. I-кадры служат опорными при межкадровом предсказании Р и В кадров.
P-кадры, т.е. кадры с предсказанием, с компенсацией движения. Кодирование осуществляется с учетом ближайших предшествующих I или P-кадров. Этот способ называется с предсказанием вперед, так как используется «разностная» схема сжатия, при которой сохраняются только отличия от предшествующего кадра. В P-кадрах, если сравнивать их с I-кадрами, в три раза выше достижимая степень сжатия видеоданных.
Обработка видеоданных в P-кадре выполняется по макроблокам. Каждый макроблок обрабатывается с использованием алгоритмов компенсации движения и предсказания вперед, пока в блоке не появится новый объект. С этого момента процесс кодирования переключается на алгоритмы, используемые в I-кадрах, т.е. на внутрикадровое предсказание. P-кадры являются опорными для последующих Р или В-кадров. Отметим, что необходима высокая точность восстановления исходного изображения при декодировании опорных P-кадров. Дело в том, что ошибки опорного кадра распределяются по всем кадрам, связанным с опорным. При компенсации движения, применяемой к макроблокам P-кадров, вырабатывается два вида информации: векторы движения (разница между базовыми и кодированными макроблоками) и значения ошибок (разница между предсказанными величинами и действительными результатами). Если макроблок в P-кадре не может быть описан с использованием компенсации движения, что случается при появлении некоторого неизвестного объекта, то он кодируется тем же способом, что и макроблок в I-кадре.
В-кадры, т.е. кадры с двунаправленным предсказанием, с компенсацией движения. Для формирования В-кадров также используется «разностная» схема сжатия аналогично P-кадрам, однако, в качестве «базовых» кадров используются оба соседних кадра: предыдущий и последующий. Этот способ называется двунаправленным предсказанием.
Алгоритмы кодирования В-кадров зависят от характера ТВ изображения. Предусмотрено четыре способа кодирования. В одном применяет компенсация движения и предсказание вперед по ближайшим предшествующим опорным I или P-кадрам, в другом - компенсация движения и ратное предсказание по ближайшим последующим I или P-кадрам. Обратное предсказание используется в тех случаях, когда в кодируемом В-кадре появляются новые объекты изображения. Третий алгоритм - компенсация движения и двунаправленное предсказание, при котором опорными являются предшествующий или последующий I или P-кадры. И, наконец, внутрикадровое предсказание без компенсации движения. Такое кодирование нужно при резкой смене передаваемых сюжетов, а также при больших скоростях перемещения объектов ТВ изображения. С В-кадрами связано наиболее глубокое сжатие видеоданных. Поскольку высокая степень сжатия снижает точность восстановления исходного ТВ изображения, В-кадры не используются в качестве опорных. Ошибки при их декодировании не распределяются по другим кадрам.
Очевидно, что точность кодирования должна быть максимальной для 1- кадров, ниже для P-кадров и минимальной для В-кадров.
В стандарте МРЕG-2 порядок записи информации о ТВ кадрах не совпадает с порядком кодирования и декодирования. Так, для декодирования текущего В-кадра требуется обработать следующий кадр, поэтому необходимо иметь дополнительный буферный блок памяти в декодирующем устройстве для хранения информации об очередном кадре. Рассмотренное усложнение декодирующего устройства компенсируется улучшением субъективного качества воспроизводимого изображения за счет В-кадров на 20%.
Рисунок 2.1 Цикл кодирования и декодирования по стандарту MPEG: а - порядок кодирования и декодирования изображений, б - порядок воспроизведения изображений
Изображения различных типов объединяются в повторяющиеся серии, называемые группами видеокадров (ГВК). Порядок Кодирования декодирования и воспроизведения видеокадров указанных трех типов может быть Различным для примера на рис. 2.1 изображен один из вариантов сочетания видеокадров, обеспечивающих минимизацию энтропии, т.е. количества битов на элемент изображения. Группа начинается с I-кадра, образующего опорный сигнал для предсказания при кодировании изображений других типов. Группа изображений должна быть достаточно большой, если необходимо добиться высокой степени компрессии ГВК заканчивается непосредственно перед появлением следующего I-кадра. ГВК определяет границы межкадрового кодирования, Многочисленные исследования эффективности различных сочетаний Р и В-кадров в ГВК показали, что последовательности длинных ГВК целесообразно использовать только для высококачественных незашумленных изображений. Однако большое число В-кадров означает значительную задержку, т.к. I или P-кадры, окружающие кадры В-типа, уже должны быть в декодере к моменту декодирования В-кадра.
В начале каждого сюжета должен стоять I-кадр, в конце - P-кадр. Увеличивать долю В-кадров можно только в рамках одного сюжета, иначе возникнут большие ошибки предсказания и компенсации движения. Поскольку типичная длительность группы кадров (во временном представлении примерно 0,5 с) значительно меньше характерного расстояния между границами сюжетов, то в большинстве случаев жесткое задание структуры не приводит к существенным визуальным ошибкам из-за того, что смена сюжета попадает внутрь группы кадров. При передаче по каналу связи порядок следования I, P и В-кадров меняется.