В последнее время в нашу жизнь все больше проникают технологии цифрового видео. Они используются при съемках фильмов и телепрограмм, на них основаны уже ставшие привычными диски Video CD и их потомки - DVD-Video. Подобное стало возможным благодаря использованию мощных алгоритмов сжатия данных, которые позволяют втиснуть в относительно небольшие объемы современных массовых цифровых носителей часовые фильмы со звуковым сопровождением. Основными алгоритмами сжатия, используемыми сегодня на массовом рынке, являются методы MPEG-1 и MPEG-2, предложенные группой Moving Picture Expert Group. Первый из них используется в основном для записи на диски Video CD и обеспечивает качество изображения на уровне видеокассеты VHS. Он позволяет записать на один компакт-диск более часа видео и воспроизводить его на устройстве с двукратной скоростью. Второй применяется в цифровом спутниковом вещании, телевидении высокой четкости и дисках DVD и имеет несколько уровней качества изображения от VHS до HDTV.
Все сильные алгоритмы сжатия изображения, к которым относятся и алгоритмы MPEG, используют сжатие с потерями, т.е. оригинальное и сжатое изображения не полностью совпадают. Основанием для применения таких методов является тот факт, что глаз человека воспринимает яркость точки значительно лучше, чем ее оттенок. Поэтому во всех подобных алгоритмах изображение сначала преобразуется из формата RGB в какой-либо формат с отдельными значениями общей яркости и цветности. Далее информация о яркости и цветности отдельно прореживается и упаковывается, причем о яркости информации сохраняется значительно больше, чем о цветности. В результате для глаза полученное после распаковки изображение будет лишь незначительно отличаться от оригинала, занимая при этом в сжатом виде во много раз меньший объем.
Основы MPEG-1
Стандарт сжатия видео MPEG-1 предусматривает при сжатии изображений, кодированных в системе PAL, разрешение 352х288 при 24 кадрах/с, при этом суммарный поток видео и звука не превышает 1,86 Мбит/с. Информация о цветности прореживается вдвое по каждой координате.
В данном стандарте изображение состоит из блоков – участков изображения размером 8х8 точек. Четыре блока образуют макроблок. Каждый макроблок состоит из четырех Y-блоков (яркость), Сr- и Cb-блоков (цветность).
К каждому элементу блока применяется дискретное косинусное преобразование, которое преобразует набор значений яркости в дискретный спектр частот. Затем к частотам применяется алгоритм квантования, суть которого состоит в замене каждого коэффициента числом из набора фиксированных значений. Человеческий глаз менее восприимчив к ошибкам квантования на высоких частотах, нежели на низких, поэтому на высокие частоты обычно выделяется меньший набор значений, чем на низкие. Совместное применение косинусного преобразования и квантования приводит к тому, что многие из частотных коэффициентов будут нулевыми.
Для дальнейшей упаковки матрица 8х8 преобразуется в зигзагообразном порядке в линейный массив из 64 элементов, содержащий последовательности нулей, который преобразуется в серию пар, состоящих из числа нулевых элементов и последующего ненулевого значения. Каждой паре ставится в соответствие элемент кода с переменной длиной символов, причем коротким кодам ставятся в соответствие наиболее распространенные пары, а длинным – менее распространенные. Некоторые блоки требуют более аккуратного кодирования, нежели остальные. К таковым, например, относятся блоки с резкими градиентами яркости. Для учета различий между блоками алгоритм кодирования предусматривает использование своего набора коэффициентов квантования для каждого макроблока. Подобный механизм используется так же для настройки алгоритма на заданную фиксированную скорость потока данных при воспроизведении. Каждый кадр, таким образом, кроме служебной информации включает в себя переменное число кодов. Для дальнейшей упаковки потока алгоритм MPEG предусматривает деление кадров на три типа — I, P и B.
Кадры I-типа сжаты описанным выше методом и не содержат ссылок на какие-либо другие кадры. Средняя степень сжатия составляет примерно 2 бита на точку. Подобный кадр является первым кадром последовательности, с него начинается новый видеоряд, при этом между двумя I-кадрами может находиться не более 12 кадров других типов. Обычно последовательность выглядит следующим образом:
I B B P B B P B B P B B I B B P B B P B
Кадры P-типа, или предсказанные кадры, обычно следуют через два B-кадра. Для увеличения степени сжатия они не содержат информации, которая может быть получена из предыдущего P- или I- кадра с использованием алгоритма компенсации движения.
Кадры B-типа содержат ссылки как на предыдущие, так и на последующие кадры I- или P- типа и обрабатываются методом двустороннего предсказания. Они имеют наибольший уровень сжатия и не вносят дополнительных ошибок, поскольку на них не ссылаются никакие кадры.
Поскольку B-кадры ссылаются как назад, так и вперед по последовательности, то для оптимизации процесса воспроизведения кадры в потоке перераспределяются следующим образом:
компенсация движения является методом увеличения степени сжатия Р- и В- кадров путем использования информации из предыдущих кадров. Этот алгоритм действует на уровне макроблоков и обеспечивает примерно трехкратное сжатие по сравнению с I-кадрами. Сжатый с его использованием кадр содержит дополнительно вектор перемещения макроблока, на который имеется ссылка и отличия между кодируемым макроблоком и макроблоком по ссылке. Обычно не вся информация в кадре может быть эффективно описана методом компенсации движения. В подобном случае макроблок, не имеющий анологов в предыдущих кадрах, кодируется так же, как и все макроблоки в I-кадре.
Для B-кадра компенсация движения может осуществляться как вперед, так и назад, поэтому для данного типа возможно четыре варианта кодирования макроблоков:
- кодирование без компенсации движения
- компенсация с прямым предсказанием
- компенсация с обратным предсказанием
- компенсация с двунаправленным
предсказанием
Обратное предсказание применяется тогда, когда нет возможности выполнить прямое.
Отличия MPEG2
Стандарт MPEG2 был разработан как развитие MPEG-1 и является методом сжатия видео с широким диапазоном скоростей потоков и качества изображения. Эти стандарты обладают обратной совместимостью, т.е. любой декодер MPEG-2 способен корректно воспроизводить и потоки MPEG-1. Основным форматом изображения в данном стандарте является 720х480. Изменения в алгоритме кодирования коснулись возможностей использования форматов кадра 16х9 и 4х3, а так же поддержки черезстрочной развертки, т.е. деления кадра на два полукадра (поля) с нечетными и четными строками соответственно. Изменено так же соотношение между яркостной и цветовыми компонентами – 4:2:2 вместо 4:1:1. Все это отразилось на требуемой полосе пропускания. Так, фильм формата VHS требует теперь 3 Мбит/с, а HDTV — 60 Мбит/с. Поэтому основную сферу использования данного стандарта в настоящее время составляют устройства DVD, которые имеют соответствующие скорость и емкость, а так же цифровое спутниковое телевидение.