Введение в сжатие видео
Причины сжатия видео
Что используется при сжатии
Что используется при сжатии
Пространственная и временная избыточность
Межкадровая разница
Качество видео
PSNR
Типы кадров в потоке
Компенсация движения
Компенсация движения (2)
Компенсация движения (3)
Движение для B-кадра
Сжатие межкадровой разности
Схема простого видеокодека
1.17M
Categories: informaticsinformatics softwaresoftware

Введение в сжатие видео

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. Типы кадров в потоке

I
P
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 Videogroup
2
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 Control
Control 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
English     Русский Rules