Введение в сжатие видео Дмитрий Ватолин Московский Государственный Университет CS MSU Graphics&Media Lab Version 2.4
CS MSU Graphics & Media Lab (Video Group) Причины сжатия видео u Основные проблемы с видео: Несжатые данные занимают очень много места Каналы передачи и возможности хранения ограничены u Пример: Видео 720х576 пикселов 25 кадров в секунду в системе RGB и прогрессивной развертке потребует потока данных примерно в 240 Мбит/сек (т.е. 1.8 Гб в минуту). На DVD-ROM диск размером 4.7Гб войдет всего 2.5 минуты. => Нужно сжатие в 35 раз для записи фильма.
CS MSU Graphics & Media Lab (Video Group) Что используется при сжатии u Когерентность областей изображения малое локальное изменение цвета u Избыточность в цветовых плоскостях используется большая важность яркости для восприятия u Подобие между кадрами на скорости 25 кадров в секунду соседние кадры, как правило, изменяются незначительно
CS MSU Graphics & Media Lab (Video Group) Что используется при сжатии Используется избыточность: u Пространственная ( используется DCT или Wavelet преобразования) u Временная (между кадрами, сжимается межкадровая разница) u Цветового пространства ( RGB переводится в YUV и цветовые компоненты прореживаются)
CS MSU Graphics & Media Lab (Video Group) Пространственная и временная избыточность Соседние кадры фильма (Терминатор-2) Пространственная избыточность – цвет большинства соседних точек одинаков. Временная избыточность – кадры весьма похожи
CS MSU Graphics & Media Lab (Video Group) Межкадровая разница Именно такие кадры (с учетом поправки на компенсацию движения) и сжимает кодек. Их больше 99% в потоке. (Амплитуды – малы, изображение практически однородно)
CS MSU Graphics & Media Lab (Video Group) Качество видео u Не существует метода оценки качества кадра, полностью адекватного человеческому восприятию u Не существует метода оценки пропущенных кадров, полностью адекватного человеческому восприятию Следствие: Можно декларировать любую степень сжатия в маркетинговых материалах.
CS MSU Graphics & Media Lab (Video Group) PSNR Базовые метрики – Y-PSNR, U-PSNR, V-PSNR Хорошо работают только на высоком качестве.
CS MSU Graphics & Media Lab (Video Group) Типы кадров в потоке I-кадры независимо сжатые (I-Intrapictures), P-кадры сжатые с использованием ссылки на одно изображение (P-Predicted), B-кадры сжатые с использованием ссылки на два изображения (B-Bidirection),
CS MSU Graphics & Media Lab (Video Group) Компенсация движения u Простая межкадровая разница работает плохо при сильном движении в кадре u Алгоритмы компенсации движения отслеживают движение объектов в кадре Уменьшение межкадровой разницы (увеличение ее степени сжатия) Необходимость сохранения информации о движении в кадре Существенно бОльшее время, необходимое для сжатия
CS MSU Graphics & Media Lab (Video Group) Компенсация движения (2) u Идеальный алгоритм: выделение в кадре объектов и компактное описание их движений. Проблема: огромные объемы вычислений и весьма сложные алгоритмы. u Реально используются квадратные блоки, с размером, кратным 8 и достаточно простая организация блоков.
CS MSU Graphics & Media Lab (Video Group) Компенсация движения (3) Для каждого блока в кадре мы находим похожий в предыдущем кадре в некоторой окрестности положения блока. Если достаточно похожий блок в предыдущем кадре не найден – блок сжимается независимо (Intra-Blocks).
CS MSU Graphics & Media Lab (Video Group) Движение для B-кадра Для B-кадров у нас появляется возможность выбирать как наиболее близкий блок из любого кадра, так и интерполировать блоки из двух кадров.
CS MSU Graphics & Media Lab (Video Group) Сжатие межкадровой разности Классическая схема сжатия межкадровой разницы очень похожа на сжатие JPEG: блоки 8х8 сжимаются помощью дискретного косинусного преобразования
CS MSU Graphics & Media Lab (Video Group) Схема простого видеокодека