Similar presentations:
Введение в сжатие видео
1. Введение в сжатие видео
Дмитрий ВатолинМосковский Государственный Университет
CS MSU Graphics&Media Lab
Version 2.4
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/
2
3. Что используется при сжатии
Когерентность областей изображения —малое локальное изменение цвета
Избыточность в цветовых плоскостях —
используется большая важность яркости для
восприятия
Подобие между кадрами — на скорости 25
кадров в секунду соседние кадры, как правило,
изменяются незначительно
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
3
4. Что используется при сжатии
Используется избыточность:Пространственная ( используется DCT
или Wavelet преобразования)
Временная (между кадрами, сжимается
межкадровая разница)
Цветового пространства ( RGB
переводится в YUV и цветовые
компоненты прореживаются)
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
4
5. Пространственная и временная избыточность
Соседние кадрыфильма
(Терминатор-2)
Пространственная
избыточность – цвет
большинства соседних
точек одинаков.
Временная
избыточность – кадры
весьма похожи
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
5
6. Межкадровая разница
Именно такие кадры (с учетом поправки на компенсациюдвижения) и сжимает кодек. Их больше 99% в потоке.
(Амплитуды – малы, изображение практически однородно)
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
6
7. Качество видео
Не существует метода оценки качествакадра, полностью адекватного
человеческому восприятию
Не существует метода оценки пропущенных
кадров, полностью адекватного
человеческому восприятию
Следствие: Можно декларировать любую
степень сжатия в маркетинговых
материалах.
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
7
8. PSNR
Базовые метрики –Y-PSNR, U-PSNR, V-PSNR
d(x,y) 10 log 10
2552 n 2
x y
n, n
i 1, j 1
2
ij
ij
Хорошо работают только на высоком
качестве.
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
8
9. Типы кадров в потоке
IP
B
P
B
P
B
P
I
P
I-кадры — независимо сжатые (I-Intrapictures),
P-кадры — сжатые с использованием ссылки на
одно изображение (P-Predicted),
B-кадры — сжатые с использованием ссылки на
два изображения (B-Bidirection),
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
9
10. Компенсация движения
Простая межкадровая разница работает плохопри сильном движении в кадре
Алгоритмы компенсации движения отслеживают
движение объектов в кадре
Уменьшение межкадровой разницы (увеличение ее
степени сжатия)
Необходимость сохранения информации о движении в
кадре
Существенно бОльшее время, необходимое для
сжатия
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
10
11. Компенсация движения (2)
Идеальный алгоритм: выделение в кадреобъектов и компактное описание их
движений. Проблема: огромные объемы
вычислений и весьма сложные алгоритмы.
Реально используются квадратные блоки, с
размером, кратным 8 и достаточно простая
организация блоков.
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
11
12. Компенсация движения (3)
Prepared by MSU VideogroupСжимаемое
изображение
Блок, для которого
мы ищем похожий
Область
предыдущего кадра
Найденный
подобный блок
Для каждого блока в кадре мы находим похожий в предыдущем
кадре в некоторой окрестности положения блока.
Если достаточно похожий блок в предыдущем кадре не найден –
блок сжимается независимо (Intra-Blocks).
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
12
13. Движение для B-кадра
Prepared by MSU Videogroup2
3
4
4
8
1
6 7
12
5
11
10
16
9
15
14
13
Предыдущий кадр
3
2
1
8
7
6
5
12
11
10
9
14
13
P-кадр
1
5
16
15
2
6
3
7
11
9 10 15
14
13
4
4
8
12
3
2
1
6
5
12
11
16
Предыдущий кадр
8
7
10
9
16
15
14
13
B-кадр
3 4
8
2
1
7
6
12
5
11
10
9
15 16
14
13
Следующий кадр
Для B-кадров у нас появляется возможность
выбирать как наиболее близкий блок из любого
кадра, так и интерполировать блоки из двух
кадров.
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
13
14. Сжатие межкадровой разности
DCTКвантование
Зигзаг
сканирова
ние
RLE
Сжатие
по
Хаффману
Классическая схема сжатия межкадровой
разницы очень похожа на сжатие JPEG:
блоки 8х8 сжимаются помощью
дискретного косинусного
преобразования
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
14
15. Схема простого видеокодека
Coding ControlControl signals
Residual data
Original frames
Video
Input
-
DCT
Quantization
Residual or
I-frame selector
Inverse
Quantization
Motion
Compensation
IDCT
Video
Output
Frame
Store
Entropy
Coding
Out Bit
Stream
+
Decompressed
frames
Motion Estimation
CS MSU Graphics & Media Lab (Video Group) http://www.compression.ru/video/
Motion
Vectors data
15