Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
345
Добавлен:
15.03.2016
Размер:
2.59 Mб
Скачать

Мгновенная очистка буфера декодера

Кодер посылает закодированный снимок IDR(InstantaneousDecoderRefresh–мгновенная очистка декодера), который состоит из слоевIиSI, для очищения содержимого буфера ссылочных кадров. При получении снимкаIDRдекодер помечает все снимки в ссылочном буфере как «неиспользуемые для ссылок». Все последующие переданные слои можно будет декодировать без ссылок на любой кадр, декодированный до снимкаIDR. Первый снимок кодируемой видеопоследовательности также является снимкомIDR.

Кодер стандарта Н.264 может опционно помещать ограничитель снимка – единицу RBSPна границу между снимками. Это указывает на начало нового кодированного снимка и, кроме того, дает возможность обозначить допустимые типы слоев в следующем снимке. Если ограничитель снимка не используется, декодер может обнаружить появление нового снимка с помощью заголовка первого слоя этого снимка.

Лишний кодированный снимок

Снимок, помеченный как «лишний», содержит избыточное представление части или всего закодированного снимка. В обычной ситуации декодер реконструирует кадр из «первичных» (неизбыточных) снимков и игнорирует все лишние снимки. Однако, если первичный снимок был испорчен (например, из-за ошибок в начале передачи), декодер может попытаться заменить испорченную область декодированными данными из избыточного снимка.

Произвольный порядок слоев

Базовый профиль допускает произвольный порядок слоев ASO, это означает, что слои кодируемого кадра могут следовать в любом порядке декодирования. Использование ASO можно распознать, если первый макроблок в любом слое декодируемого кадра имеет меньший адрес макроблока, чем первый макроблок из ранее декодированного слоя на том же снимке.

Прогнозирование макроблоков

Каждый закодированный макроблок в Н.264 имеет прогноз по ранее закодированным данным. Пиксели макроблоков в моде intraпрогнозируются по уже закодированным и реконструированным элементам изображения текущего слоя, а пиксели макроблоков в модеinter– по элементам изображения ранее закодированных слоев.

При прогнозировании в моде interсоздается образец прогноза по одному или нескольким ранее закодированным видеокадрам и полукадрам на основе поблочной компенсации движения. Важным отличием от предыдущих стандартов видеокомпрессии является возможность варьирования размеров блока (от 1616 до 44 пикселей) и выбора малого шага для измерения размера векторов движения (до четверти яркостного элемента изображения).

Древовидная структура компенсации движения

Компоненту яркости каждого макроблока (1616 пикселей) можно разбить на части четырьмя способами (рис. 3.40), и поэтому компенсацию движения возможно строить в виде одного макроблока 1616, двух блоков 168, двух блоков 816 или четырех блоков 88 [33]. Если выбран размер 88, то каждый из четырех подмакроблоков 88 данного макроблока можно далее разбить четырьмя способами и получить один блок 88, два блока 84, два блока 48 или четыре блока 44 (рис. 3.41). Предложенные способы разделения на подмакроблоки дают большое число возможных комбинаций для обращения с каждым макроблоком. Такой метод деления макроблоков на подблоки компенсации движения переменных размеровназывается древовидной структурой компенсации движения.

Рис. 3.40.Деление макроблока: 1616, 816, 168, 88

Рис. 3.41.Деление макроблока: 88, 48, 84, 44

Для каждой части макроблока или подмакроблока необходимо задать отдельный вектор движения. Каждый вектор движения должен быть закодирован и передан по сети связи. Кроме того, необходимо закодировать в битовом потоке выбранный метод разделения. Выбор размера частей деления существенным образом влияет на степень сжатия видеоизображения. Фактически большой размер частей деления подходит для однородных областей видеокадров, а малый размер будет целесообразен для областей с множеством мелких деталей.

Каждая компонента цветности макроблока (СB или СR) имеет половинное разрешение по вертикали и горизонтали от разрешения компоненты яркости. Каждый блок цветности делится на части тем же способом, что и соответствующий блок компоненты яркости с учетом половинного разрешения.

Каждая часть деления макроблока или подмакроблока в моде interпрогнозируется по области того же размера на ссылочном снимке. Вектор смещения между двумя областями (вектор движения) имеет разрешение в четверть пикселя для компоненты яркости и одну восьмую пикселя для компонент цветности.

Соседние файлы в папке 399_Mamchev-Cifrovoe_televizionnoe_veschanie_2012