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