Обработка видео

Устройство алгоритмов сжатия видео-группы кадров

Устройство алгоритмов сжатия видео-группы кадров

Группой кадров (GOP, Group Of Pictures) называют последовательность между двумя ключевыми кадрами. Подгруппой кадров (Sub GOP) называют последовательность между двумя промежуточными кадрами. Традиционно у MPEG–1 и MPEG–2 кодеров задаётся длина групп и подгрупп кадров. Типичные параметры для MPEG-кодеров: 15 и 3, что соответствует последовательности кадров I BB P BB P BB P BB P BB I … Простые MPEG–1/2 кодеры используют эти параметры как руководство к действию, более сложные — как рекомендацию.

Очевидно, что когда в видеоряде сменилась сцена — новый кадр содержит абсолютно не похожее на предыдущий кадр изображение — имеет смысл начать новую сцену с ключевого кадра. Алгоритм, который вставляет ключевой кадр в начале новой сцены, называется «определением смены сцены» (scene change detection), он реализован во всех современных MPEG–4 кодерах. Несложные MPEG–1 и MPEG–2 кодеры, которые содержатся в программах для захвата видео, лишены его.

Ввиду особенностей развития MPEG–4 кодеров, поддержка двунаправленных кадров была реализована не сразу. DivX и XviD имеют настройки, которые позволяют включать и выключать использование двунаправленных кадров. В DivX можно ограничить последовательность двунаправленных кадров одним (последовательность кадров вида …IBPBPB…) или двумя (последовательность вида …IBBPBBP…), XviD также позволяет указать допустимое количество идущих подряд В-frame (по умолчанию — 2). И DivX, и XviD содержат параметр, который ограничивает сверху длину группы кадров — максимальное расстояние между ключевыми кадрами. Поскольку все MPEG–4 кодеры содержат алгоритм обнаружения смены сцены, этот параметр традиционно достаточно велик и равен по умолчанию примерно 10 секундам (240-300 кадров). Ключевые кадры добавляются кодером в случае необходимости, а ограничение длины группы кадров больше нужно для облегчения перемотки.

В случае если вы хотите использовать MPEG сжатие в качестве промежуточного, то вам крайне желательно отключить использование двунаправленных кадров, укоротить длину группы кадров. Это позволит повысить скорость доступа к произвольному кадру вашей видеозаписи, также снизится вычислительная сложность кодирования видео. С другой стороны такой способ сжатия потребует больше места. В идеале нужно заставить кодер сохранять последовательность из одних ключевых кадров, что сделает его подобным методу сжатия MJPEG.

Яндекс.Метрика Copyright by www.Malbred.com 2005