Видеоконференции в сети INTERNET
(backward differencing) и усреднение (averaging) фрагментов изображения.
Даже на CD-ROM c одинарной скоростью передачи данных (1,2 Мбит/с) MPEG-1
позволяет добиться качества, сравнимого с качеством кассеты VHS, записанной
на профессиональной аппаратуре. Кроме того, MPEG-1 нормирует кодирование
аудиосигнала, синхронизированного с видеосигналом. 2.2.4.1.[10]
ВИДЕО MPEG
Цветное цифровое изображение из сжимаемой последовательности переводится в
цветовое пространство YUV (YCbCr). Компонента Y представляет собой
интенсивность, а U и V - цветность. Так как человеческий глаз менее
восприимчив к цветности, чем к интенсивности, то разрешений цветовых
компонент может быть уменьшено в 2 раза по вертикали, или и по вертикали и
по горизонтали. К анимации и высококачественному студийному видео
уменьшение разрешения не применяется для сохранения качества, а для
бытового применения, где потоки более низкие, а аппаратура более дешевая,
такое действие не приводит к заметным потерям в визуальном восприятии,
сохраняя в то же время драгоценные биты данных.
Основная идея всей схемы - это предсказывать движение от кадра к кадру, а
затем применить дискретное косинусное преобразование (ДКП), чтобы
перераспределить избыточность в пространстве. ДКП выполняется на блоках 8х8
точек, предсказание движения выполняется на канале интенсивности (Y) на
блоках 16х16 точек, или, в зависимости от характеристик исходной
последовательности изображении (чересстрочная развертка, содержимое), на
блоках 16х8 точек. Другими словами, данный блок 16х16 точек в текущем кадре
ищется в соответствующей области большего размера в предыдущих или
последующих кадрах. Коэффициенты ДКП (исходных данных или разности этого
блока и ему соответствующего) квантуются, то есть делятся на некоторое
число, чтобы отбросить несущественные биты. Многие коэффициенты после такой
операции оказываются нулями. Коэффициент квантизации может изменяться для
каждого "макроблока" (макроблок - блок 16х16 точек из Y-компонент и
соответствующие блоки 8х8 в случае отношения YUV 4:2:0, 16х8 в случае 4:2:2
и 16х16 в случае 4:4:4. Коэффициенты ДКП, параметры квантизации, векторы
движения и пр. кодируется по Хаффману с использованием фиксированных
таблиц, определенных стандартом. Закодированные данные складываются в
пакеты, которые формируют поток согласно синтаксису MPEG.
Соотношение кадров друг с другом
Существует три типа закодированных кадров. I-фремы - это кадры,
закодированные как неподвижные изображения - без ссылок на последующие или
предыдущие. Они используются как стартовые. P- фреймы - это кадры,
предсказанные из предыдущих I- или P-кадров. Каждый макроблок в P-
фрейме может идти с вектором и разностью коэффициентов ДКП от
соответствующего блока последнего раскодированного I или P, или может быть
закодирован как в I, если не соответствующего блока не нашлось.
И, наконец, существуют B- фреймы, которые предсказаны из двух ближайших I
или P-фреймов , одного предыдущего и другого - последующего.
Соответствующие блоки ищутся в этих кадрах и из них выбирается лучший.
Ищется прямой вектор, затем обратный и вычисляется среднее между
соответствующими макроблоками в прошлом и будущем. Если это не работает, то
блок может быть закодирован как в I- фрейме.
Последовательность раскодированных кадров обычно выглядит как
I B B P B B P B B P B B I B B P B B P B ...
Здесь 12 кадров от I до I фрейма. Это основано на требовании
произвольного доступа, согласно которому начальная точка должна повторяться
каждые 0.4 секунды. Соотношение P и B основано на опыте.
Чтобы декодер мог работать, необходимо, чтобы первый P- фрейм в потоке
встретился до первого B, поэтому сжатый поток выгдядит так:
0 x x 3 1 2 6 4 5 ...
где числа - это номера кадров. xx может не быть ничем, если это начало
последовательности, или B- фреймы -2 и -1, если это фрагмент из середины
потока.
Сначала необходимо раскодировать I- фрейм , затем P, затем, имея их оба в
памяти, раскодировать B. Во время декодирования P показывается I- фрейм , B
показываются сразу, а раскодированный P показывается во время декодирования
следующего. [11]
Сжатие аудио
При сжатии аудио используются хорошо разработанные психоакустические
модели, полученные из экспериментов с самыми взыскательными слушателями,
чтобы выбросить звуки, которые не слышны человеческому уху. Это то, что
называется "маскированием", например, большая составляющая в некоторой
частоте не позволяет услышать компоненты с более низким коэфициентом в
близлежащих частотах, где соотношение между энергиями частот, которые
маскируются, описывается некоторой эмпирической кривой. Существуют похожие
временные эффекты маскирования, а также более сложные взаимодействия, когда
временной эффект может выделить частоту или наоборот.
Звук разбивается на спектральные блоки с помощью гибридной схемы, которая
объединяет синусные и полосные преобразования, и психоакустической модели,
описанной на языке этих блоков. Все, что может быть убрано или сокращено,
убирается и сокращается, а остаток посылается в выходной поток. В
действительности, все выглядит несколько сложнее, поскольку биты должны
распределяться между полосами. И, конечно же, все, что посылается,
кодируется с сокращением избыточности.
MPEG ( коэффициент сжатия).
Коэффициент сжатия свыше 100:1.
Считают, что MPEG достигает необычайно высокого качества видео при степени
сжатия свыше 100:1. Эти заявления обычно не включают понижение цветового
разрешения исходного цифрового изображения. На практике, поток кодируемого
изображения редко превышает величину потока, закодированного в MPEG, более
чем в 30 раз. Предварительное сжатие за счет уменьшения цветового
разрешения играет основную роль в формировании коэффициентов сжатия с 3
нулями во всех методах кодирования видео, включая отличные от MPEG.
Как MPEG-1, так и MPEG-2, могут быть применены к широкому классу потоков,
частот и размеров кадров. MPEG-1, знакомый большинству людей, позволяет
передавать 25 кадров/с с разрешением 352x288 в PAL или 30 кадр/с с
разрешением 352x240 в NTSC при величине потока менее 1.86 Мбит/с -
комбинация, известная как "Constrained Parameters Bitstreams". Это цифры
введены спецификацией White Book для видео на CD (VideoCD).
Фактически, синтаксис позволяет кодировать изображения с разрешением до
4095х4095 с потоком до 100 Мбит/с. Эти числа могли бы быть и бесконечными,
если бы не ограничение на количество бит в заголовках.
С появлением спецификации MPEG-2, самые популярные комбинации были
объединены в уровни и профили. Самые общие из них:
•Source Input Format (SIF), 352 точки x 240 линий x 30 кадр/с, известный
также как Low Level (LL) - нижний уровень, и •"CCIR 601" (например 720
точек/линию x 480 линий x 30 кадр/с), илиMain Level - основной уровень.
Компенсация движения заменяет макроблоки макроблоками из предыдущих
картинок
Предсказания макроблоков формируются из соответствующих 16х16 блоков точек
(16х8 в MPEG-2) из предыдущих восстановленных кадров. Никаких ограничений
на положение макроблока в предыдущей картинке, кроме ее границ, не
существует.
Исходные кадры - reference - (из которых формируются предсказания) показаны
безотносительно своей закодированной формы. Как только кадр раскодирован,
он становится не набором блоков, а обычным плоским цифровым изображением из
точек.
В MPEG размеры отображаемой картинки и частота кадров может отличаться от
закодированного в потоке. Например, перед кодированием некоторое
подмножество кадров в исходной последовательности может быть опущено, а
затем каждый кадр фильтруется и обрабатывается. При восстановлении
интерполированы для восстановления исходного размера и частоты кадров.
Фактически, три фундаментальных фазы (исходная частота, кодированная и
показываемая) могут отличаться в параметрах. Синтаксис MPEG описывает
кодированную и показываемую частоту через заголовки, а исходная частота
кадров и размер известен только кодеру. Именно поэтому в заголовки MPEG-2
введены элементы, описывающие размер экрана для показа видеоряда.
В I, P и B-фреймах все макроблоки одного типа.
В I- фрейме макроблоки должны быть закодированы как внутренние - без ссылок
на предыдущие или последующие, если не используются масштабируемые режимы.
Однако, макроблоки в P- фрейме могут быть как внутренними, так и ссылаться
на предыдущие кадры. Макроблоки в B- фрейме могут быть как внутренними, так
и ссылаться на предыдущий кадр, последующий или оба. В заголовке каждого
макроблока есть элемент, определяющий его тип.
Без компенсации движения:
С компенсацией движения:
Пропущенные макроблоки в P- фреймах
Пропущенные макроблоки в B- фреймах
Структура последовательности строго фиксирована шаблоном I,P,B.
Последовательность кадров может иметь любую структуру размещения I, P и
B фреймов. В промышленной практике принято иметь фиксированную
последовательность (вроде IBBPBBPBBPBBPBB), однако, более мощные кодеры
могут оптимизировать выбор типа кадра в зависимости от контекста и
глобальных характеристик видеоряда. Каждый тип кадра имеет свои
преимущества в зависимости от особенностей изображения (активность
движения, временные эффекты маскирования,...). Например, если
последовательность изображений мало меняется от кадра к кадру, есть смысл
кодировать больше B- фреймов , чем P. Поскольку B- фреймы не используются
в дальнейшем процессе декодирования, они могут быть сжаты сильнее, без
влияния на качество видеоряда в целом.
Требования конкретного приложения также влияют на выбор типа кадров:
ключевые кадры, переключение каналов, индексирование программ,
восстановление от ошибок и т.д.
Коэффициенты сжатия.
Коэффициент сжатия MPEG видео часто заявляется как 100:1, тогда как в
действительности он находится в районе от 8:1 до 30:1.
Можно получить "более 100:1" для видео на компакт-диске (White Book) с
потоком 1.15 Мбит/с.
1. Высокое разрешение исходного видео.
Большинство источников видеосигнала для кодирования имеют большее
разрешение, чем то, которое актуально оказывается в закодированном потоке.
Самый популярный студийный сигнал, известный как цифровое видео "D-1" или
"CCIR 601", кодируется на 270 Мбит/с.
Цифра 270 Мбит/с получается из следующих вычислений:
Интенсивность (Y):858 точек/линию x 525 линий/кадр x 30 кадр/с x 10
бит/точку ~= 135 Мбит/сR-Y (Cb):429 точек/линию x 525 линий/кадр x 30
кадр/с x 10 бит/точку ~= 68 Мбит/сB-Y (Cb):429 точек/линию x 525 линий/кадр
x 30 кадр/с x 10 бит/точку ~= 68 Мбит/сИтого:27 млн. точек/с x 10 бит/точку
= 270 Мбит/с
2. Следует выбросить гасящие интервалы.
Из 858 точек яркости на линию под информацию изображения задействованы
только 720. В действительности, количество точек на линию - предмет многих
ссор на инженерных семинарах, и это значение лежит в пределах от 704 до
720. Аналогично, только 480 линий из 525 задействованы под изображение по
вертикали. Настоящее значение лежит в пределах от 480 до 496. В целях
совместимости MPEG-1 и MPEG-2 определяет эти числа как 704х480 точек на
интенсивность и 352х480 для цветоразностей. Пересчитывая исходный поток,
будем иметь:
Y704 точек/линию x 480 линий x 30 кадр/с x 10 бит/точку ~= 104 Мбит/сC2
компоненты x 352 точки/линию x 480 линий x 30 кадр/с x 10 бит/точку ~= 104
Мбит/сИтого:~ 207 Мбит/сОтношение (207/1.15) составляет всего 180:1.
3. Следует учесть большее количество бит/точку.
В MPEG на точку отводится 8 бит. Принимая во внимание этот фактор,
отношение становится 180 * (8/10) = 144:1.
4. Учтем более высокое разрешение цветности. Известный студийный сигнал
CCIR-601 представляет сигнал цветности с половинным разрешением по
горизонтали, но с полным вертикальным разрешением. Это соотношение частот
оцифровки известно как 4:2:2. Однако, MPEG-1 и MPEG-2 Main Profile
устанавливают использование формата 4:2:0, который считается достаточным
для бытовых приложений. В этом формате разрешение цветоразностных сигналов
в 2 раза меньше по горизонтали и вертикали, чем интенсивность. Таки
образом, имеем:
720 точек x 480 линий x 30 кадр/с x 8 бит/отсчет x 1.5 остчетов/точку = 124
Мбит/с, и, таким образом, отношение становится 108:1.
5. Учтем размер кодируемого изображения.
Последняя стадия предварительной обработки - это преобразование кадра
формата CCIR-601 в формат SIF уменьшением в 2 раза по горизонтали и
вертикали. Всего в 4 раза. Качественное масштабирование по горизонтали
выполняется с помощью взвешенного цифрового фильтра с 7 или 4-мя узлами, а
по вертикали - выбрасыванием каждого второй линии, второго поля или, опять,
цифровым фильтром, управляемым алгоритмом оценки движения между полями.
Отношение теперь становится 352 точек x 240 линий x 30 кадр/с x 8
бит/отсчет x 1.5 отсчетов/точку ~= 30 Мбит/с.
Таким образом, настоящее отношение A/B должно вычисляться между исходной
последовательностью в стадии 30 Мбит/с перед кодированием, поскольку это
есть действительная частота оцифровки, записываемая в заголовках потока и
воспроизводимая при декодировании. Так, сжатия можно добиться уже одним
сокращением частоты оцифровки.
6. Частота кадров.
Большинство коммерческих видеофильмов снимаются с киноленты, а не с видео.
Основная часть фильмов, записанных на компакт-диски, была оцифрована и
редактирована при 24 кадр/с. В такой последовательности 6 из 30 кадров,
отображаемых на телевизионном мониторе (30 кадр/с или 60 полей/с а NTSC),
фактически избыточна, и может быть не кодирована в MPEG поток. Это ведет
нас к шокирующему выводу, что действительный поток был всего 24 Мбит/с (24
кадр/с / 30 кадр/с * 30 Мбит/с), и коэффициент сжатия составляет всего
каких-то 21:1.
Даже при таком коэффициенте сжатия, как 20:1, несоответствия могут
возникнуть между исходной последовательность изображений и восстановленной.
Только консервативные коэффициенты в районе 12:1 и 8:1 демонстрируют почти
полную прозрачность процесса сжатия последовательностей с сложными
пространственно-временными характеристиками (резкие движения, сложные
текстуры, резкие контуры и т.д.). Несмотря на это, правильно закодированное
видео с использованием предварительной обработки и грамотного распределения
битов, может достигать и более высоких коэффициентов сжатия при приемлемом
качестве восстановленного изображения. [2]
Сжатие видео
При сжатии видео используются следующие статистические характеристики:
1.Пространственная корреляция: дискретное косинусное преобразование 8х8
точек.
2. Особенности человеческого зрения - невосприимчивость к высокочастотным
составляющим: скалярное квантование коэффициентов ДКП с потерей качества.
3. Большая пространственная корреляция изображения в целом: предсказание
первого низкочастотного коэффициента преобразования в блоке 8х8 (среднее
значение всего блока).
4.Статистика появления синтаксических элементов в наиболее вероятном
кодируемом потоке: оптимальное кодирование векторов движения, коэффициентов
ДКП, типов макроблоков и пр.
5.Разряженная матрица квантованных коэффициентов ДКП: кодирование
повторяющихся нулевых элементов с обозначением конца блока.
6.Пространственное маскирование: степень квантования макроблока.
7.Кодирование участков с учетом содержания сцены: степень квантования
макроблока.
8.Адаптация к локальным характеристикам изображения: кодирование блоков,
тип макроблока, адаптивное квантование.
9.Постоянный размер шага при адаптивном квантовании: новая степень
квантования устанавливается только специальным типом макроблока и не
передается по умолчанию.
10.Временная избыточность: прямые и обратные векторы движения на уровне
макроблоков 16х16 точек.
11.Кодирование ошибки предсказаний макроблоков с учетом восприятия:
адаптивное квантование и квантование коэффициентов преобразования.
12.Малая ошибка предсказания: для макроблока может быть сигнализировано
отсутствие ошибки.
13.Тонкое кодирование ошибки предсказания на уровне макроблоков: каждый из
блоков внутри макроблока может быть кодирован или пропущен.
14.Векторы движения - медленное движение фрагмента изображения со сложным
рисунком: предсказание векторов движения.
15.Появления и исчезновения: прямое и обратное предсказание в B- фреймах.
16.Точность межкадрового предсказания: билинейно интерполированные
(фильтрованные) разности блоков. В реальном мире движения объектов от кадра
к кадру редко попадают на границы точек. Интерполяция позволяет выяснить
настоящее положение объекта, зачастую увеличивая эффективность сжатия на 1
дБ.
17.Ограниченная активность движения в P- фреймах: пропущенные макроблоки.
Когда вектор движения и ошибка предсказания нулевые. Пропущенные макроблоки
очень желательны в кодированном потоке, поскольку не занимают битов, кроме
как в заголовке следующего макроблока.
18.Компланарное движение в B- фреймах : пропущенные макроблоки. Когда
вектор движения тот же, а ошибка предсказания нулевая.
Стандарт MPEG-2 [10] полностью перекрывает стандарт MPEG-1 и содержит
новые, более строгие нормы, ориентированные на требования телевизионного
вещания. Например, он поддерживает чересстрочную развертку, как в
аналоговом телевидении. Широкое распространение стандарта MPEG-2 способно
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9
|