Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
6.4.5. Прогнозирование в моде inter
При
прогнозировании в моде inter создается образец
прогноза по одному или нескольким ранее закодированным видеокадрам и полукадрам
на основе поблочной компенсации движения. Важным отличием от предыдущих
стандартов является возможность варьирования размеров блока (от 16х16 до 4х4) и выбора малого шага
подсэмплов для векторов движения (до четверти сэмпла яркости). В этом параграфе
будут описаны инструменты, доступные в базовом профиле. Добавлением к этим
инструментам в основном и расширенном профилях служат В-слои (§ 6.5.1) и
модуль взвешенного прогноза (§ 6.5.2).
6.4.5.1. Древовидная структура компенсации движения
Компоненту
яркости каждого макроблока (сэмплы 16 х 16) можно разбить на части четырьмя
способами (см. рис. 6.10), и поэтому компенсацию движения можно строить в виде
одного макроблока 16 х 16, двух блоков 16 х 8, двух блоков 8 х 16 или четырех
блоков 8x8. Если выбран размер 8x8, то каждый из четырех подмакроблоков 8x8 данного макроблока можно далее разбить четырьмя
способами (рис. 6.11) и получить один блок 8x8,
два блока 8x4, два блока 4x8 или четыре блока 4x4. Эти способы разделения на
подмакроблоки дают большое число возможных комбинаций для обращения с каждым
макроблоком. Такой метод деления макроблоков на подблоки компенсации движения
переменных размеров называется древовидной структурой компенсации движения.
Рис. 6.10. Деление макроблока: 16 х 16, 8 х 16, 16 х
8, 8 х 8.
Рис. 6.11. Деление подмакроблока: 8 х 8, 4 х 8, 8 х
4, 4 х 4.
Для каждой части макроблока
или подмакроблока необходимо задать отдельный вектор движения. Каждый вектор
движения должен быть закодирован и передан по сети. Кроме того, необходимо
закодировать в битовом потоке выбранный метод разделения. Использование
большого размера частей деления (16 х 16, 16 х 8, 8 х 16) означает, что для
передачи векторов движения потребуется меньше бит, но, с другой стороны, это
приводит к большой энергии остаточных блоков в областях изображения с мелкими
деталями. Выбор малого размера частей деления (8 х 4, 4 х 4 и т.д.) приводит к
малой энергии остаточных блоков после компенсации движения, но заставляет
потратить больший объем информации для передачи векторов движения и способов
деления. Таким образом, выбор размера деления существенным образом влияет на
степень сжатия видеоизображения. Говоря общими словами, большой размер частей
подходит для однородных областей видеокадров, а малый размер будет
целесообразен для областей с множеством мелких деталей.
Каждая компонента
хроматичности макроблока (Сb или Сr) имеет
половинное разрешение по вертикали и по горизонтали от разрешения компоненты
яркости. Каждый хроматический блок делится на части тем же способом, что и
соответствующий блок компонент яркости с учетом половинного разрешения (т.е.
части 8x16 сэмплов яркости
соответствует часть 4 х 8, а части 8x4
соответствует блок 4 х 2 и т.д.). Горизонтальные и вертикальные компоненты
векторов движения (по одному на часть деления) делятся пополам перед их
применением к хроматическим блокам.
Рис. 6.12. Остаток, демонстрирующий выбор размеров
блоков.
Пример
На
рис. 6.12 показан остаточный кадр (без компенсации движения) Ссылочный кодер
Н.264 выбирает «наилучший» размер деления для каждой части кадра и в этом
случае размеры деления, минимизирующие объем посылаемой информации, и
выбранное деление показаны наложением на остаточный кадр. В областях, где
имеется малое изменение между кадрами (остаточная область серого цвета),
выбирается деление 16 х 16, а в областях с повышенной детализацией движения
(остаточные области белого или черного цвета) более эффективным будет малый
размер частей деления.
|
Рис. 6.13. Примеры прогноза по целым и дробным
пикселам.