SlideShare una empresa de Scribd logo
1 de 32
ВИДЕОТЕХНОЛОГИИ
ЛЕКЦИЯ 3: КОДИРОВАНИЕ ВИДЕО
(ПРОДОЛЖЕНИЕ)
Денис Королев
Чтобы не скучали…
• Возьмите свой смартфон/планшет/ноутбук
• Поставьте приложение Socrative Student
• С компьютера – socrative.com
• Зайдите (Google login или регистрация)
• Введите код ictmiem
• Там будут появляться вопросы, отвечайте.
Опрос
• Ответьте на вопросы мини-теста на своих
гаджетах
Природа информации (в видео)
• Аналоговая
• Требуется оцифровка
• Аналого-цифровое преобразование – что это?
• Какие два основных процесса происходят при
АЦП?
• Дискретизация (Sampling)
• Квантование (Quantization) цветовые
пространства и модели
+ Дискретизация (Sampling)
• О том, как превратить свет и звук в цифры
• Могут встречаться формулы!
• Надо будет вспомнить физические основы из КГ
• Все это по материалам Параграфа 2 из Книги*
• * Рекомендованная вам книга Compression for Great Video and Audio – B. Waggoner, Elsevier,
2010, p. 15
Аналоговая природа и цифровая форма сигнала
• Свет и звук – это непрерывный аналоговый
сигнал.
• Сигнал для датчиков (глаза, уха, камеры,
микрофона)
• Непрерывный – значит бесконечно подробный
• Мы не можем записать в дискретной форме всё -
>
• Как часто мы будем замерять сигнал?
• Это частота дискретизации
Что будем дискретизировать?
Пространство Время
DPI/LPI, lines, pixels fps, Hz
Теорема Найквеста-Шеннона, она же – Котельникова
• Теорема Найквеста-Шеннона
• В России называется теоремой Котельникова
Если аналоговый сигнал имеет конечный
(ограниченный по ширине) спектр,
то он может быть восстановлен однозначно и без
потерь по своим отсчётам, взятым с частотой,
большей или равной удвоенной верхней частоте
Критерий Найквеста во времени
Почему колеса в кино
крутятся «назад»?
Критерий Найквеста в пространстве
3 px
256/320*3=2,4
2 px
256/320*2=1,6
320x240 -> 256x192
Квантование
• Сколько значений может принимать каждый
дискретный элемент (sample) 2^x bit
• Помним допустимые пределы:
8bit RGB: 0 255 (256)
8bit YCbCr: 16 235 (219) – «так принято»
Динамический диапазон
• Помните, что это?
• Для монитора отношение яркости около 4000:1
• В кинозале шагов может быть чуть больше 100.
• Человек видит разницу, а не абсолютное
значение
• Для яркости могут выделять больше бит (10-16)
• Цветность обычно урезают (субдискретизация)
Работа с видеокодеками
• Профиль
• Уровень
• Поток (data rate)
H.264 High 4:2:0 @ 2.1
Кодек Профиль
Цветовая
субдискретизация Уровень
Эффективность сжатия
800kbps 160x120 Apple Video codec 800kbps 640x480 H.264
High profile 3-pass Quality optimized
Терминология объёма памяти (вдруг забыли?)
Контроль потока (VBR and CBR)
• VBV (Video buffering verifier): under/over-run
• CBR for streaming
• VBR for download
• Quality-limited VBR
Поток и квантование
Поток и квантование
Кодирование в несколько проходов
• 1-pass
• 1-Pass lookahead
• 2-pass
• Segment re-encoding
Размер кадра
Rule of “ˆ0,75”
640 x 360 @ 1000 Kbps
1280 x 720 @ ?
(1280 x 720)/(640 x 360) = 4
40.75 = 2.828
1000 Kbps x 2.828 = 2828 Kbps
Неквадратный пиксель
• Когда это требуется выходным форматом (DVD).
• Когда это определено исходным форматом.
• При активном движении по одной оси.
• Компьютерное видео имеет квадратный пиксель.
Глубина цвета
• Обычно: 8 бит/канал
• Профессиональные кодеки: 10, 12, 16 бит/канал
• Для съемки и промежуточного сохранения
• Просмотр – только 8 бит/канал.
Частота кадров
Частота ключевых кадров
B-кадры
• Минимальный размер,
• Могут быть хуже, на них никто не ссылается.
• Сэкономленное место уходит в I, P кадры, на которых
строятся те же B кадры.
• Их можно пропускать, от них другие не зависят
• Упрощают навигацию – меньше P кадров декодировать
Open/Closed GOP
Некоторые особенности H.264
Pyramid B-frames
Они все-таки ссылаются на обычные b-кадры.
Но и на I и P тоже.
Некоторые особенности H.264
• CABAC Entropy Coding
• Context Adaptive Binary Arithmetic Coding
• +40% нагрузки на декодер*
• +10-20% эффективности сжатия (при сильном сжатии)
• Не используется в Baseline профиле.
* По сравнению с ранее применявшимся CAVLC.
Профили и уровни H.264
Профили и уровни H.264
Проснемся и ответим на вопросы!
• Ответьте на вопросы мини-теста на своих
гаджетах
Итого: Критерии выбора кодека
• Эффективность сжатия
• Производительность воспроизведения
• Доступность на стороне зрителя

Más contenido relacionado

Similar a ВТ-2015 Лекция 3. Кодирование, часть 2

Вячеслав Борилин, SPIRITDSP - Построение системы видеокоммуникаций для большо...
Вячеслав Борилин, SPIRITDSP - Построение системы видеокоммуникаций для большо...Вячеслав Борилин, SPIRITDSP - Построение системы видеокоммуникаций для большо...
Вячеслав Борилин, SPIRITDSP - Построение системы видеокоммуникаций для большо...Media Gorod
 
Построение системы видеокоммуникаций для большого числа пользователей в сети ...
Построение системы видеокоммуникаций для большого числа пользователей в сети ...Построение системы видеокоммуникаций для большого числа пользователей в сети ...
Построение системы видеокоммуникаций для большого числа пользователей в сети ...yaevents
 
Обзор нового функционала последних версий ПО для систем телеприсутствия Cisco
Обзор нового функционала последних версий ПО для систем телеприсутствия CiscoОбзор нового функционала последних версий ПО для систем телеприсутствия Cisco
Обзор нового функционала последних версий ПО для систем телеприсутствия CiscoCisco Russia
 
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновВидео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновTrueConf__
 
Оптимизация работы сотрудников с использованием сервисов видео конференций
Оптимизация работы сотрудников с использованием сервисов видео конференцийОптимизация работы сотрудников с использованием сервисов видео конференций
Оптимизация работы сотрудников с использованием сервисов видео конференцийYaryomenko
 
Растровая и векторная графика
Растровая и векторная графикаРастровая и векторная графика
Растровая и векторная графикаSergey Kolodin
 
Eco savvy — плавный переход к H.265
Eco savvy — плавный переход к H.265Eco savvy — плавный переход к H.265
Eco savvy — плавный переход к H.265Alex Vladimirovich
 
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновВидео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновTrueConf
 
Video Streaming. NGINX RTMP in particular
Video Streaming. NGINX RTMP in particularVideo Streaming. NGINX RTMP in particular
Video Streaming. NGINX RTMP in particularAnton Pinchuk
 
внутренний семинар: обработка видео и аудио сигналов, передача данных
внутренний семинар: обработка видео и аудио сигналов, передача данныхвнутренний семинар: обработка видео и аудио сигналов, передача данных
внутренний семинар: обработка видео и аудио сигналов, передача данныхOksana Teslenko
 
Семинар о технологиях ВКС
Семинар о технологиях ВКССеминар о технологиях ВКС
Семинар о технологиях ВКСTrueConf_
 
Семинар о технологиях видеоконференцсвязи
Семинар о технологиях видеоконференцсвязиСеминар о технологиях видеоконференцсвязи
Семинар о технологиях видеоконференцсвязиOksana Teslenko
 
презентация Spyg
презентация Spygпрезентация Spyg
презентация SpygSpyG
 
Видеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложенииВидеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложенииVoximplant
 
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)Ontico
 
Artisto App, Highload 2016
Artisto App, Highload 2016Artisto App, Highload 2016
Artisto App, Highload 2016Eduard Tyantov
 
Двоичное кодирование звука, изображения
Двоичное кодирование звука, изображенияДвоичное кодирование звука, изображения
Двоичное кодирование звука, изображенияkvlar
 

Similar a ВТ-2015 Лекция 3. Кодирование, часть 2 (20)

Вячеслав Борилин, SPIRITDSP - Построение системы видеокоммуникаций для большо...
Вячеслав Борилин, SPIRITDSP - Построение системы видеокоммуникаций для большо...Вячеслав Борилин, SPIRITDSP - Построение системы видеокоммуникаций для большо...
Вячеслав Борилин, SPIRITDSP - Построение системы видеокоммуникаций для большо...
 
Построение системы видеокоммуникаций для большого числа пользователей в сети ...
Построение системы видеокоммуникаций для большого числа пользователей в сети ...Построение системы видеокоммуникаций для большого числа пользователей в сети ...
Построение системы видеокоммуникаций для большого числа пользователей в сети ...
 
Обзор нового функционала последних версий ПО для систем телеприсутствия Cisco
Обзор нового функционала последних версий ПО для систем телеприсутствия CiscoОбзор нового функционала последних версий ПО для систем телеприсутствия Cisco
Обзор нового функционала последних версий ПО для систем телеприсутствия Cisco
 
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновВидео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
 
12.pptx
12.pptx12.pptx
12.pptx
 
Оптимизация работы сотрудников с использованием сервисов видео конференций
Оптимизация работы сотрудников с использованием сервисов видео конференцийОптимизация работы сотрудников с использованием сервисов видео конференций
Оптимизация работы сотрудников с использованием сервисов видео конференций
 
Растровая и векторная графика
Растровая и векторная графикаРастровая и векторная графика
Растровая и векторная графика
 
Hd cctv
Hd cctvHd cctv
Hd cctv
 
Eco savvy — плавный переход к H.265
Eco savvy — плавный переход к H.265Eco savvy — плавный переход к H.265
Eco savvy — плавный переход к H.265
 
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновВидео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
 
Video Streaming. NGINX RTMP in particular
Video Streaming. NGINX RTMP in particularVideo Streaming. NGINX RTMP in particular
Video Streaming. NGINX RTMP in particular
 
внутренний семинар: обработка видео и аудио сигналов, передача данных
внутренний семинар: обработка видео и аудио сигналов, передача данныхвнутренний семинар: обработка видео и аудио сигналов, передача данных
внутренний семинар: обработка видео и аудио сигналов, передача данных
 
Семинар о технологиях ВКС
Семинар о технологиях ВКССеминар о технологиях ВКС
Семинар о технологиях ВКС
 
Семинар о технологиях видеоконференцсвязи
Семинар о технологиях видеоконференцсвязиСеминар о технологиях видеоконференцсвязи
Семинар о технологиях видеоконференцсвязи
 
презентация Spyg
презентация Spygпрезентация Spyg
презентация Spyg
 
Hd cctv
Hd cctvHd cctv
Hd cctv
 
Видеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложенииВидеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложении
 
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
 
Artisto App, Highload 2016
Artisto App, Highload 2016Artisto App, Highload 2016
Artisto App, Highload 2016
 
Двоичное кодирование звука, изображения
Двоичное кодирование звука, изображенияДвоичное кодирование звука, изображения
Двоичное кодирование звука, изображения
 

Más de Denis Korolev

МООК в МИЭМ публичная версия
МООК в МИЭМ публичная версияМООК в МИЭМ публичная версия
МООК в МИЭМ публичная версияDenis Korolev
 
Основы сетей и web
Основы сетей и webОсновы сетей и web
Основы сетей и webDenis Korolev
 
11 кг видеотехнологии
11 кг видеотехнологии11 кг видеотехнологии
11 кг видеотехнологииDenis Korolev
 
08 КГ Устройства вывода
08 КГ Устройства вывода08 КГ Устройства вывода
08 КГ Устройства выводаDenis Korolev
 
07-1 КГ Устройства ввода
07-1 КГ Устройства ввода07-1 КГ Устройства ввода
07-1 КГ Устройства вводаDenis Korolev
 
05 КГ Форматы файлов
05 КГ Форматы файлов05 КГ Форматы файлов
05 КГ Форматы файловDenis Korolev
 
06 КГ Консольные редакторы
06 КГ Консольные редакторы06 КГ Консольные редакторы
06 КГ Консольные редакторыDenis Korolev
 
04 КГ Алгоритмы сжатия изображений
04 КГ Алгоритмы сжатия изображений04 КГ Алгоритмы сжатия изображений
04 КГ Алгоритмы сжатия изображенийDenis Korolev
 
03 КГ Основы компьютерной графики
03 КГ Основы компьютерной графики03 КГ Основы компьютерной графики
03 КГ Основы компьютерной графикиDenis Korolev
 
02 КГ Цветовые модели
02 КГ Цветовые модели02 КГ Цветовые модели
02 КГ Цветовые моделиDenis Korolev
 
01 КГ Физические основы
01 КГ Физические основы01 КГ Физические основы
01 КГ Физические основыDenis Korolev
 
00 кг Вводная лекция
00 кг Вводная лекция00 кг Вводная лекция
00 кг Вводная лекцияDenis Korolev
 
Основы ИКТ 02: Корпоративные информационные системы
Основы ИКТ 02: Корпоративные информационные системыОсновы ИКТ 02: Корпоративные информационные системы
Основы ИКТ 02: Корпоративные информационные системыDenis Korolev
 
Основы ИКТ 07 Проектная работа
Основы ИКТ 07 Проектная работаОсновы ИКТ 07 Проектная работа
Основы ИКТ 07 Проектная работаDenis Korolev
 
Основы ИКТ 04-05 Сетевая самоидентификация и нетикет
Основы ИКТ 04-05 Сетевая самоидентификация и нетикетОсновы ИКТ 04-05 Сетевая самоидентификация и нетикет
Основы ИКТ 04-05 Сетевая самоидентификация и нетикетDenis Korolev
 
ИКГ 08 Заключение
ИКГ 08 ЗаключениеИКГ 08 Заключение
ИКГ 08 ЗаключениеDenis Korolev
 
ИКТ 03 Проектирование интерфейсов
ИКТ 03 Проектирование интерфейсовИКТ 03 Проектирование интерфейсов
ИКТ 03 Проектирование интерфейсовDenis Korolev
 
Основы ИКТ 00 Вводная
Основы ИКТ 00 ВводнаяОсновы ИКТ 00 Вводная
Основы ИКТ 00 ВводнаяDenis Korolev
 
Основы ИКТ 02 Информационные системы и не только
Основы ИКТ 02 Информационные системы и не толькоОсновы ИКТ 02 Информационные системы и не только
Основы ИКТ 02 Информационные системы и не толькоDenis Korolev
 
Основы ИКТ 01 Полиграфия
Основы ИКТ 01 ПолиграфияОсновы ИКТ 01 Полиграфия
Основы ИКТ 01 ПолиграфияDenis Korolev
 

Más de Denis Korolev (20)

МООК в МИЭМ публичная версия
МООК в МИЭМ публичная версияМООК в МИЭМ публичная версия
МООК в МИЭМ публичная версия
 
Основы сетей и web
Основы сетей и webОсновы сетей и web
Основы сетей и web
 
11 кг видеотехнологии
11 кг видеотехнологии11 кг видеотехнологии
11 кг видеотехнологии
 
08 КГ Устройства вывода
08 КГ Устройства вывода08 КГ Устройства вывода
08 КГ Устройства вывода
 
07-1 КГ Устройства ввода
07-1 КГ Устройства ввода07-1 КГ Устройства ввода
07-1 КГ Устройства ввода
 
05 КГ Форматы файлов
05 КГ Форматы файлов05 КГ Форматы файлов
05 КГ Форматы файлов
 
06 КГ Консольные редакторы
06 КГ Консольные редакторы06 КГ Консольные редакторы
06 КГ Консольные редакторы
 
04 КГ Алгоритмы сжатия изображений
04 КГ Алгоритмы сжатия изображений04 КГ Алгоритмы сжатия изображений
04 КГ Алгоритмы сжатия изображений
 
03 КГ Основы компьютерной графики
03 КГ Основы компьютерной графики03 КГ Основы компьютерной графики
03 КГ Основы компьютерной графики
 
02 КГ Цветовые модели
02 КГ Цветовые модели02 КГ Цветовые модели
02 КГ Цветовые модели
 
01 КГ Физические основы
01 КГ Физические основы01 КГ Физические основы
01 КГ Физические основы
 
00 кг Вводная лекция
00 кг Вводная лекция00 кг Вводная лекция
00 кг Вводная лекция
 
Основы ИКТ 02: Корпоративные информационные системы
Основы ИКТ 02: Корпоративные информационные системыОсновы ИКТ 02: Корпоративные информационные системы
Основы ИКТ 02: Корпоративные информационные системы
 
Основы ИКТ 07 Проектная работа
Основы ИКТ 07 Проектная работаОсновы ИКТ 07 Проектная работа
Основы ИКТ 07 Проектная работа
 
Основы ИКТ 04-05 Сетевая самоидентификация и нетикет
Основы ИКТ 04-05 Сетевая самоидентификация и нетикетОсновы ИКТ 04-05 Сетевая самоидентификация и нетикет
Основы ИКТ 04-05 Сетевая самоидентификация и нетикет
 
ИКГ 08 Заключение
ИКГ 08 ЗаключениеИКГ 08 Заключение
ИКГ 08 Заключение
 
ИКТ 03 Проектирование интерфейсов
ИКТ 03 Проектирование интерфейсовИКТ 03 Проектирование интерфейсов
ИКТ 03 Проектирование интерфейсов
 
Основы ИКТ 00 Вводная
Основы ИКТ 00 ВводнаяОсновы ИКТ 00 Вводная
Основы ИКТ 00 Вводная
 
Основы ИКТ 02 Информационные системы и не только
Основы ИКТ 02 Информационные системы и не толькоОсновы ИКТ 02 Информационные системы и не только
Основы ИКТ 02 Информационные системы и не только
 
Основы ИКТ 01 Полиграфия
Основы ИКТ 01 ПолиграфияОсновы ИКТ 01 Полиграфия
Основы ИКТ 01 Полиграфия
 

ВТ-2015 Лекция 3. Кодирование, часть 2

Notas del editor

  1. Main Concept H.264 and x264 are different codecs that both make H.264 bitstreams. So even when you know the bitstream you need to make, there are still plenty of choices between implementations of the major codec standards. Bitstream The most basic codec setting is the setting that determines which codec is being used. profiles and Level Profile and Level define the technical constraints on the encode and the features needed in the decoder. They’re generally described together as profile@level, for example, “H.264 High 4:2:0 Profile @ Level 2.1.” Profile A profile defines the basic set of tools that can be used in the bitstream. This is to constrain decoder requirements; the standardized codecs have a variety of profiles tuned for different © 2010 Elsevier, Inc. All rights reserved. 137 138 Chapter 7 complexities of devices and decoder scenarios. For example, H.264 has a Baseline Profile for playback on low-power devices, which leaves out features that would take a lot of battery life, a lot of RAM, or a lot of silicon to implement. Conversely, PC and consumer device with a plug instead of a battery typically use High Profile, which requires more watts/pixel but fewer bits/pixel. And MPEG-2 has a Main Profile used for content delivery with 4:2:0 color and a High Profile used for content authoring that does 4:2:2. Profiles define the maximum set of tools that can be used on encode, and the minimum that need to be supported on decode. Level Level defines particular constraints within the profile, like frame size, frame rate, data rate, and buffer size. Like Profile, Level is a maximum constraint on encoder and minimum constraint on decoder. Typically the maximum bitrate allowed by a Level is much higher than you’d use in practice, and many devices have further constraints that must be kept to. Data rates Data rate is typically the single most critical parameter when compressing, or at least when compression is hard. quality improves with increased data rate. Beyond a certain point (at the same resolution, frame rate, and so on), increasing the data rate doesn’t appreciably improve quality. Below a certain data rate (again, with all parameters fixed), the codec won’t be able to encode all the frames at the requested bitrate; either frames are dropped (better) or the file just comes out bigger than requested (worse).
  2. Compression Efficiency Compression efficiency is the key competitive feature between codecs and bitstreams. When people talk about a “best codec” they’re really talking “most efficient.” When a codec is described as “20 percent better than X” this means it can deliver equivalent quality at a 20 percent lower data rate, even if it’s used to improve quality at the original data rate. Some authoring and special-use codecs don’t offer a data rate control at all, either because the data rate is fixed (as in DV) or because it is solely determined by image complexity (like PNG, Lagarith, and Cineform).
  3. Back in 1875, the metric system was fully codified, and it defined the common kilo-, mega-, and giga- prefixes, each 1000x greater than the one before. These are power-of-ten numbers, and thus can be written in scientific notation. However, computer technology is based on binary calculation and hence uses power- of-two numbers. Ten binary digits (1  210) is 1024, very close to three decimal digits (1  102) 1000. And so computer folks started calling 1024 “kilo.” And then extended that to mega, tera, and on to penta and so on.
  4. All interframe compressed video codecs are variable in the sense that not every frame uses the same number of bits as every other frame. Even codecs labeled “CBR” can vary data rate quite a bit throughout the file. The only true CBR video codecs are some fixed frame-size authoring codecs like DV. A CBR codec will vary quality in order to maintain bitrate, and a VBR codec will vary bitrate in order to maintain quality. What the decoder really cares about is getting new video data fast enough that it’s able to have a frame ready by the time that frame needs to be displayed, but doesn’t get so much video data that it can’t store all the frames it hasn’t decoded yet. Video buffering verifier (VBV) defines what a decoder has to be able to handle for a particular profile@level, and hence how much variability the encoder could face. A 4-second buffer at 1000 Kbps would be 4000 Kbits, or 500,000 bytes. a stream is a constant flow of water. If the video fades to black for a few seconds, there simply isn’t enough detail to spend it on. Depending on format, it’s perfectly possible to use VBR files for streaming. This is sometimes used as a cost-saving measure in order to reduce total bandwidth consumption. The average and peak rates are really independent axes. Average bitrate gets down to how big a file you want, and the peak is based on how much CPU you need to play it back. Take a DVD with video at a pretty typical 5 Mbps average 9 Mbps peak. If a bunch of content gets added, meaning more minutes need to be stuffed into the same space, the average bitrate may need to be dropped to 4 Mbps, but the 9 Mbps maximum peak will stay the same. Conversely, if the project shifts from using replication to DVD-R without any change in content, the peak bitrate may be dropped to 6.5 Mbps for better compatibility with old DVD players, but the average wouldn’t need to change. VBR when data rate isn’t controlled at all; each frame gets as many bits as it needs in order to hit the quality target. In some cases, this can be a fixed- QP encode. Other models can be a little more sophisticated in targeting a constant perceptual quality; for example allowing B-frames to have higher QP.
  5. Lrft: these graphs all aim to show the relationship between two values over time: data rate and the quantization parameter (Qp). Right: three CBr encodes with the same bitrate, with a 1, 4, and 8 second buffer. the larger buffer results in a little more variability in bitrate (higher spikes) and a slight reduction in variability of Qp
  6. Left: three 500Kbps encodes with different peaks: one CBR (so 500Kbps peak), one VBr at 750 Kbps peak, the last VBr with 1500 Kbps peak. as bitrate variability increases, we see bigger changes in bitrate, but much smaller changes in Qp. Right: three encodes with the same peak bitrate of 750Kbps, but different averages of 250, 500, and 750. as you’d expect, the CBr encode has a flat bitrate and a pretty variable Qp, always lower than the streams with a lower average. But the 500 and 750 Kbps streams match closely in terms of the hardest part of the video, where they both use the full 750 Kbps peak and hit the same Qp.
  7. Any live encoding will require 1-pass encoding. The limitation of traditional 1-pass codecs is that they have no foreknowledge of how complex future content is and thus how to optimally set frame types and distribute bits. most VC-1 implementations are able to buffer up to 16 frames to analyze for scene changes, fades to/from black, and flash frames, and then set each frame for the optimum mode. Some also support lookahead rate control, where bitrate itself is tuned based on future frames in the buffer. 2-pass codecs first do an analysis pass, where they essentially do a scratch encode to figure out how hard each frame is. this lets the codec see into the future, so it always knows when and how much to vary the data rate. 2-pass compression can yield substantial improvements in compression efficiency for VBR encodes, easily 50 percent with highly variable content. Segment re-encoding is when the encoder is able to encode just specific sections of the video, leaving others alone. More commonly, segment re-encoding is a manual process, with a compressionist picking particular shots that aren’t quite perfect and adjusting encoding settings for them. This is the domain of high-end, high-touch compression products
  8. the relationship between frame size and bitrate isn’t linear.  Math Warning!  There’s an old rule of thumb called the “Power of 0.75” that says data rate needs to be changed by the power of 0.75 of the relative change in frame size.
  9. 3: By squeezing the video to 75 percent of the original wide (like 480  360 instead of 640  360) we were able to get better overall compression efficiency. Square-pixel is slightly more efficient to encode, so it’s the right default when there’s not an obvious reason to do something else.
  10. Modern codecs in common use for content delivery are all 8-bit per channel. 10-bit would mainly be used in making an archival or mezzanine file for later processing using a codec like Cineform, DNxHD, or ProRes. (W149)
  11. Modern formats let you specify duration per frame, changing frame rate on the fly. MPEG-1 and MPEG-2 have a limited number of options (the native frame rates for PAL, NTSC, and film). Frame rate has a less linear impact on bitrate than you might imagine,
  12. having a keyframe rate of “every 100” normally doesn’t mean you’ll get a keyframe at frames 1, 101, 201, 301, and so on. In this case, if you had scene changes triggering natural keyframes at 30 and 140, you’d get keyframes at 1, 30, 130, 140, 240, and so on. With a short GOP, a regular pulsing can be quite visible and annoying. Modern codecs have made great strides in reducing strobing, particularly when doing 2-pass, lookahead, or VBR encoding. Open GOP also reduces keyframe strobing. MPEG-1 and MPEG-2 typically use a keyframe every half second. For the web, the GOP lengths are typically 1–10 seconds. A few tools let you manually specify particular frames to be keyframes. Like natural keyframes, inserted keyframes typically reset the GOP length target.
  13. B-frame is a bidirectional frame that can reference the previous and next I or P frame.
  14. In an Open GOP, the first frame of the GOP can actually be a B- frame, with the I-frame following. That B-frame can reference the last P-frame in the previous GOP Can be a big help in reducing keyframe strobing
  15. H.264 High Profile can achieve quality at 100 Kbps that Cinepak required more than 1,000 Kbps for. Some codecs work well across a wide range of data rates; others have a minimum floor below which results aren’t acceptable. Playback performance is typically proportional to pixels per second: height x width x fps. B-frames may also be dropped on playback on slower machines. The worst case would be that only keyframes would be played. Great-looking content that can’t be seen doesn’t count.