142
для предсказания должно быть передано к декодеру. Для управления предсказанием предсказатели группируются в полосы масштабных коэффициентов.
Следующее описание допустимо для любого одного single_channel_element () или одного channel_pair_element () и должно быть применено к каждому такому элементу. Так как предсказание используется, только если window_sequence имеет типы ONLY_LoNG_SeQUENCE, LONG_START_SEQUENCE или LONG_STOP_SEQUENCE для канала, связанного с single_channel_element () или для обоих каналов, связанных с channel_pair_element (), следующее применяется только в этих случаях.
Управляющая информация предсказания для каждого фрейма, которая должна быть передана как служебная, определяется в двух шагах. Во-первых, для каждой полосы масштабных коэффициентов определяется, приводит ли предсказание к улучшению эффективности кодирования и если да, бит prediction_used для соответствующей полосы масштабных коэффициентов устанавливается в '1'. После того как это было сделано для всех полос масштабных коэффициентов вплоть до PRED SFB MAX, определяется, компенсирует ли общее усиление кодирования за счет предсказания в этом фрейме, по крайней мере, дополнительные биты служебной информации, необходимые для предсказания. Если да, бит predictor_data_present устанавливается в '1', и полная служебная информация, включая необходимые данные для сброса предсказания (см. ниже), должна быть передана, и ошибка предсказания подается в квантователь. В противном случае бит predictor_data_present устанавливается в '0', все биты prediction_used сбрасываются и не передаются. В этом случае на вход квантователя поступают спектральные компоненты. На рисунке В.5 показана блок-схема модуля предсказания для одной полосы масштабных коэффициентов. Как описано выше, управление предсказанием сначала работает для всех предсказателей одной полосы масштабных коэффициентов, а затем, согласно второму шагу, для всех полос масштабных коэффициентов.
В случае single_channel_element () или channel_pair_element () с common_window = 0 управляющая информация вычисляется и является допустимой для банка(ов) предсказателей канала(ов), связанных с тем элементом. В случае channel_pair_element () с common_window = 1 управляющая информация вычисляется с учетом обоих каналов, связанных с этим элементом. В этом случае управляющая информация допустима для обоих банков предсказателей двух каналов.
В.4.2.2 Восстановление квантованного спектрального компонента
Так как восстановленное значение квантованного спектрального компонента требуется в качестве входного сигнала для предсказания, оно должно быть вычислено в кодере (см. также рисунки 8 и В.5). В зависимости от значения бита prediction_used восстановленное значение является либо квантованным спектральным компонентом, либо квантованной ошибкой предсказания. Поэтому следующие шаги необходимы:
Если бит установлен (1), то квантованная ошибка предсказания, восстановленная из данных, которые будут переданы, добавляется к оценке xest (n), вычисленной в результате предсказания, что приводит к восстановленному значению квантованного спектрального компонента, т. е.
Xrec (n) = Xest (n) + eq(n).
Если бит не установлен (0), то квантованное значение спектрального компонента идентично значению, восстановленному непосредственно из данных, которые будут переданы.
В.4.3 Схемы
Рисунок В.5 — Блок-схема модуля предсказания для одной полосы масштабных коэффициентов
Полная обработка показана только для предсказателя Pi (Q — квантователь, REC — реконструкция последнего квантованного значения). Управление предсказанием работает для всех предсказателей Pi... Pj... Pk полосы масштабных коэффициентов и сопровождается вторым управлением всеми полосами масштабных коэффициентов.
В.5 Временное формирование шума (TNS)
Временное формирование шума используется для управления временной формой шумов