Видеокодер Dr.DivX

B-кадры, двунаправленное кодирование


Существует три типа кадров, которые возможны в DivX видео-потоке. Эти кадры называются I-кадры (Intra), P-кадры (Predicted – кадры предсказания) и B-кадры (двунаправленные). До появления кодека DivX версии 5.0 использовались только I и P кадры. I-кадры кодируются, используя информацию только из самого кодируемого кадра, они не используют информацию из других кадров (временнУю компрессию). I-кадры основаны на обычном сжатии одиночных кадров в формат JPEG.

P-кадры (Predicted – кадры предсказания) предсказывают следующие кадры и могут также ссылаться на I- или P-кадры, т.е. Р-кадры кодируются с использованием информации из предыдущих кадров. В любой видеопоследовательности всегда найдется группа кадров, многие из которых будут одинаковыми и будут содержать одно и то же изображение. Например, если вы смотрите новости, и обратите внимание на какого либо движущегося персонажа, то можете заметить, что для нескольких кадров фон за ним почти всегда остается без изменений. (Помните, что обычно кадры сменяются с частотой 25 или 30 кадров в секунду). Таким образом, вместо независимого JPEG-кодирования каждого кадра, вы можете использовать избыточность предыдущих кадров, применяя P-кадры. По существу, P-кадры это будущие кадры, которые определяют как блок в предыдущем кадре переместился в текущем Р-кадре. Таким образом, вместо пространственного JPEG-кодирования кадра, P-кадр только говорит «Эй, блок, в предыдущем кадре, двигайся в точку с координатами (X,Y)». Данный алгоритм временнОго кодирования требует гораздо меньше данных, чем пространственное кодирование каждого кадра. По существу, мы передаем разность между соседними кадрами, а это более эффективно, чем передача обычного I-кадра.

Версия DivX Pro 5.0 позволяет также использовать B-кадры, которые помогают DivX кодеку предсказывать будущие кадры, выбирая наилучшее предсказанное соответствие между двумя кадрами, вместо одного. B-кадры это кадры, которые строятся на анализе предсказания кодеком не только бедующих кадров, но и кадров предсказанных ранее, а такими кадрами могут быть I или P-кадры. Использование сокращает объем данных, требуемых для кодирования кадра. Кроме того, использование B-кадров улучшает качество фильма, особенно в областях кадра, где движущиеся объекты открывают скрытые области.



Содержание раздела