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