Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


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. Примеры прогноза по целым и дробным пикселам.

 



<< ПредыдущаяОглавлениеСледующая >>