Введение в технологию сжатия видео

Полезно ли изучать спецификацию H.261 для ознакомления с современной технологией сжатия видео, или мне следует начать с чего-то другого? Я не знаю, с чего начать, но H.261 кажется достаточно простым, чтобы было легко понять основные принципы.


person greg    schedule 17.06.2010    source источник


Ответы (2)


Спецификация не очень хорошее введение — она написана в первую очередь для точности и содержит мало объяснений того, почему все так, а не иначе. H.261 по сути такой же, как MPEG-1. Одна книга, которой я пользовался (и нахожу ее довольно хорошо написанной), называется Стандарт сжатия видео MPEG, авторами которой являются Митчелл, Пеннебейкер, Фогг и ЛеГалл. FWIW, это охватывает как MPEG-1, так и MPEG-2 (он же h.261 и h.262 соответственно).

person Jerry Coffin    schedule 17.06.2010

Я частично согласен с Джерри Коффином; Я думаю, что H.261, безусловно, является хорошей отправной точкой для всех, кто изучает сжатие видео, но непосредственное чтение спецификации не является хорошей идеей.

Основными строительными блоками H.261, на которых я хотел бы сосредоточиться, являются компенсация движения, макроблоки, DCT для уменьшения пространственной избыточности и дифференциальная ИКМ (DPCM) для уменьшения временной избыточности.

Если бы мне пришлось выбрать один общий принцип сжатия видео для учебных целей, я бы начал с оценки движения и компенсации движения. Попробуйте это мысленное упражнение: представьте два последовательных видеокадра, разделенных всего 1/30 секунды. Они будут очень похожи, верно? Не заглядывая в Интернет, что бы вы сделали, чтобы использовать информацию, закодированную в кадре 1, для уменьшения длины кода кадра 2? Теперь выполните поиск по запросу оценка движения.

Далее, как бы вы уменьшили пространственную избыточность? H.261 использует что-то вроде JPEG и использует DCT.

Изменить: от Вана, Остермана и Чжана (стр. 293-4 о блочном гибридном кодировании видео, которым по сути является H.261):

В этом кодере каждый видеокадр делится на блоки фиксированного размера, и каждый блок обрабатывается более или менее независимо, отсюда и название «блочный». Слово «гибрид» означает, что каждый блок кодируется с использованием комбинации временного предсказания с компенсацией движения и кодирования с преобразованием. ... Сначала блок прогнозируется из ранее закодированного опорного кадра с использованием оценки движения на основе блоков. Вектор движения определяет смещение между текущим блоком и наиболее подходящим блоком. Прогнозируемый блок получается из предыдущего кадра оцениваемого MV с использованием компенсации движения. Затем блок ошибки прогнозирования кодируется путем его преобразования с использованием ДКП, квантования коэффициентов ДКП и преобразования их в двоичные кодовые слова с использованием кодирования переменной длины.

person Steve Tjoa    schedule 17.06.2010