Оптимизация методов внутрикадрового предсказания формата H.265(HEVC) для потокового вещания
1. Дипломная работа на тему:
«Оптимизация методов внутрикадрового
предсказания формата H.265(HEVC) для
потокового вещания»
Руководитель: Крапивенко А.В.
Дипломник 08-606: Инеев Д.Н.
МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(национальный исследовательский университет)
2. О чем вообще речь?
• Потоковое вещание видео – это
непрерывная передача и отображении
пользователю цифрового видео от
источника потокового вещания.
• Видекодек - программа или алгоритм для
сжатия и восстановления видеоданных.
3. Особенности потокового видео
• Потоковое видео не имеет размера
• Качество отображения зависит от
пропускной способности сети вещания
• Восприятие видео зависит от величины
сетевой задержки
4. Реакция на время отклика
• Границы времени отклика по Я. Нильсену:
o 0.1 секунды – система отвечает мгновенно
o 1 секунда – задержка становится заметной
o 10 секунд – предел внимания пользователя
o > 10 секунд – полная потеря внимания
5. Задержки в потоковом вещании
• Основные причины задержек следующие:
– Низкая скорость кодирования/декодирования
– Большой размер кодированных кадров
– Удалённость сервера вещания
– Помехи в сети передачи данных
6. Почему H.265 (HEVC)?
• Стандарт находится в свободном доступе
• H.264, предыдущий стандарт от тех же
авторов – широко распространен
• Заявленная цель «уменьшение битовой
скорости на 50%» уже выполняется
• Активно развивается, как сам стандарт, так
и его программные реализации
8. Внутрикадровое предсказание
• Кодер формирует предсказание для
X на основе A, B, C
• К примеру, P(X) = (2A + B + C)/4
• Затем вычитает P(X) из X и кодирует
полученную разность.
• Декодер вычисляет P(X) и прибавляет
к декодированной разности, тем
самым получая X
• Для сжатия с потерями вместо A, B, C
используется соответствующие
A’,B’,C’, уже спрогнозированные
9. HEVC: разбиение на блоки
• Всё изображение
разбивается на
крупные блоки
кодового дерева
размером 64x64
• Каждый из этих
блоков может
рекурсивно
разбиваться на
более мелкие вплоть
до размеров 8x8
11. RD-стоимость
• RD-стоимость – мера вносимых искажений при
заданной битовой скорости
• Jm = Dm + λRm
• Jm – RD-стоимость режима m
• Dm – мера искажений, SSD
• λ – коэффициент, зависящий от параметра
квантизации
• Rm – оценка количество бит, необходимых для
кодирования
12. Поиск режима предсказания
1. Для каждого режима вычисляется SATD
между текущим блоком и предсказанным.
2. Выбирается N (от 3 до 8) режимов с
минимальным SATD
3. Из этих N режимов выбирается один с
наименьшей RD-стоимостью
13. Зачем что-то менять?
• Поиск производится для всех возможных
подблоков размерами от 64x64 до 4x4
• Получается, что поиск режима предсказания
выполняется 11935 раз для каждого блока
• При этом SATD вычисляется 341*35 раз
• Оценка количества битов необходимых для
кодирования – 2623 раза
• Это много, учитывая размер всего
изображения
14. Как предлагается это ускорить
• Сократить количество
возможных разбиений
• Сократить количество
вычислений RD-
стоимости
15. Откуда могут быть проблемы
• При оптимизации скорости поиска режима
предсказания могут возникнуть следующие
проблемы:
1. Изменится качество видео
2. Изменится битовая скорость видео
16. Кодек для программной реализации
• Для модификации был выбран кодек
Kvazaar:
– Открытые и понятные исходные коды
– Свободная лицензия GPLv2
– Кроссплатформенный
17. Наборы настроек кодирования
• fast – быстро кодирует, низкое качество
• slow – медленно кодирует, высокое
качество
• medium – компромиссный вариант