Введение в сжатие видео
DESCRIPTION
О том, зачем, как и почему.TRANSCRIPT
Введение в сжатие видео
Дмитрий Ватолин
Московский Государственный УниверситетCS MSU Graphics&Media Lab
Version 2.4
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
2
Причины сжатия видео Причины сжатия видео
Основные проблемы с видео: Несжатые данные занимают очень много места Каналы передачи и возможности хранения
ограничены Пример: Видео 720х576 пикселов 25 кадров в секунду в
системе RGB и прогрессивной развертке потребует потока данных примерно в 240 Мбит/сек (т.е. 1.8 Гб в минуту). На DVD-ROM диск размером 4.7Гб войдет всего 2.5 минуты. => Нужно сжатие в 35 раз для записи фильма.
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
3
Что используется при Что используется при сжатиисжатии
Когерентность областей изображения — малое локальное изменение цвета
Избыточность в цветовых плоскостях — используется большая важность яркости для восприятия
Подобие между кадрами — на скорости 25 кадров в секунду соседние кадры, как правило, изменяются незначительно
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
4
Что используется при Что используется при сжатиисжатии
Используется избыточность: Пространственная ( используется DCT
или Wavelet преобразования) Временная (между кадрами, сжимается
межкадровая разница) Цветового пространства ( RGB
переводится в YUV и цветовые компоненты прореживаются)
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
5
Пространственная и Пространственная и временная избыточностьвременная избыточность
Соседние кадры фильма (Терминатор-2)
Пространственная избыточность – цвет большинства соседних точек одинаков.
Временная избыточность – кадры весьма похожи
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
6
Межкадровая разницаМежкадровая разница
Именно такие кадры (с учетом поправки на компенсацию движения) и сжимает кодек. Их больше 99% в потоке.
(Амплитуды – малы, изображение практически однородно)
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
7
Качество видеоКачество видео
Не существует метода оценки качества кадра, полностью адекватного человеческому восприятию
Не существует метода оценки пропущенных кадров, полностью адекватного человеческому восприятию
Следствие: Можно декларировать любую степень сжатия в маркетинговых материалах.
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
8
PSNRPSNR
Базовые метрики – Y-PSNR, U-PSNR, V-PSNR
Хорошо работают только на высоком качестве.
nn
jiijij yx
nd(x,y) ,
1,1
2
22
10
255log10
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
9
Типы кадров в потокеТипы кадров в потоке
I-кадры — независимо сжатые (I-Intrapictures),P-кадры — сжатые с использованием ссылки на одно изображение (P-Predicted), B-кадры — сжатые с использованием ссылки на два изображения (B-Bidirection),
II PP PP BB PP PP BB PP PP BB II PP
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
10
Компенсация движенияКомпенсация движения
Простая межкадровая разница работает плохо при сильном движении в кадре
Алгоритмы компенсации движения отслеживают движение объектов в кадре Уменьшение межкадровой разницы (увеличение ее
степени сжатия) Необходимость сохранения информации о движении
в кадре Существенно бОльшее время, необходимое для
сжатия
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
11
Компенсация движения (2)Компенсация движения (2)
Идеальный алгоритм: выделение в кадре объектов и компактное описание их движений. Проблема: огромные объемы вычислений и весьма сложные алгоритмы.
Реально используются квадратные блоки, с размером, кратным 8 и достаточно простая организация блоков.
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
12
Компенсация движения (3)Компенсация движения (3)
Для каждого блока в кадре мы находим похожий в предыдущем кадре в некоторой окрестности положения блока.
Если достаточно похожий блок в предыдущем кадре не найден – блок сжимается независимо (Intra-Blocks).
Сжимаемое изображение
Блок, для которого мы ищем похожий
Область предыдущего кадра
Найденный подобный блок
Prepared by MSU Videogroup
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
13
Движение для Движение для B-B-кадракадра
Для B-кадров у нас появляется возможность выбирать как наиболее близкий блок из любого кадра, так и интерполировать блоки из двух кадров.
12
34
56
78
910
1112
1314
1516
1 2
3 4
56
78
9 1011
12
1314
15 16
12
34
5
78
9
6
10
1112
13
1415
16
12
34
56
78
910
1112
1314
1516
23
4
56
17
8
910
1112
13
1415
16
Предыдущий кадрP-кадр B-кадр Следующий кадрПредыдущий кадр
Prepared by MSU Videogroup
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
14
Сжатие межкадровой Сжатие межкадровой разностиразности
Классическая схема сжатия межкадровой разницы очень похожа на сжатие JPEG: блоки 8х8 сжимаются помощью дискретного косинусного преобразования
DCT
Квантова-
ние
Зигзаг сканирова
ние
RLE
Сжатие по
Хаффману
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
15
Схема простого Схема простого видеокодекавидеокодека
Coding Control
DCT QuantizationVideoInput
-
MotionCompensation
FrameStore
Motion Estimation
InverseQuantization
Out BitStream
+
IDCTEntropyCoding
VideoOutput
Original frames
Decompressedframes
Control signalsResidual data
MotionVectors data
Residual orI-frame selector