74
channel_pair_element () есть два варианта. Если common_window = 1, есть только один набор управляющей информации, которая допустима для двух банков предсказателей двух каналов, связанных с этим элементом. Если common_window = 0, есть два набора управляющей информации для каждого из двух банков предсказателей двух каналов, связанных с этим элементом.
Если window_sequence имеет тип ONLY_LONG_SEQUENCE, LONG_START_SEQUENCE или LONG_STOP_SEQUENCE, бит predictor_data_present считывается. Если этот бит не установлен в (0), то предсказание выключается для всего текущего фрейма, и нет дальнейшей служебной информации о предсказании. В этом случае бит prediction_used для каждой полосы масштабных коэффициентов, сохраненной в декодере, должен быть обнулен. Если бит predictor_data_present установлен в (1), то предсказание используется для текущего фрейма, и бит predictor_reset считывается, определяя, применяется ли сброс предсказателя в текущем фрейме (1), или нет (0). Если predictor_reset установлен, то считываются следующие 5 битов, соответствующие числу, определяющему группу предсказателей, которые будут сброшены в текущем фрейме (см. также 11.3.2.4). Если predictor_reset не установлен, то в потоке битов указанное 5-битное число отсутствует. Затем считываются биты prediction_used, которые управляют использованием предсказания в каждой полосе масштабных коэффициентов индивидуально, т. е. если бит установлен для определенной полосы масштабных коэффициентов, предсказание включается для всех спектральных компонентов этой полосы масштабных коэффициентов, и квантованная ошибка предсказания каждого спектрального компонента передается вместо квантованного значения спектрального компонента. Иначе предсказание отключается для этой полосы масштабных коэффициентов, и передаются квантованные значения спектральных компонентов.
- Обработка предсказателя
- Общие сведения
Следующее описание действительно для одного предсказателя и должно быть применено к каждому предсказателю. Используется обратное адаптивное предсказание второго порядка с решетчатой структурой. На рисунке 7 показана соответствующая блок-схема предсказания в декодере. Оценка xest (n) текущего значения спектрального компонента x (n), вычисленная по предыдущим восстановленным значениям xrec (n-1) и xrec (n-2), сохраняется в элементах регистра структуры предсказателя с помощью коэффициентов предсказания k1 (n) и k2 (n). Эта оценка затем добавляется к квантованной ошибке предсказания eq (n), восстановленной по переданным данным, которая приводит к восстановленному значению xrec (n) текущего спектрального компонента x (n). На рисунке 8 показана блок-схема этого процесса восстановления для одного предсказателя. Предсказатель состоит из двух основных элементов, которые располагаются каскадом. В каждом элементе части xest, м (n), m = 1, 2 оценки вычисляются согласно
xest>m (n) = b'km(n)'rq,m-1(n—1),
где
rq,0(n) = axrec(n),
rq,1(n) = a(rqß(n-1) - b-^ (n)-e^(n))
и eq,m(n) = eq,m-1(n) - xest,m(n).
Следовательно, полная оценка:
xest(n) = xest,1(n) + xest, 2(n).
Константы a и b, 0 < a, b <1 являются коэффициентами затухания, которые применяются в целях стабилизации рекурсивной структуры. Благодаря им возможные колебания из-за ошибок передачи или дрейфа между коэффициентами предсказания из-за численной погрешности в кодере и декодере могут постепенно быть устранены или даже предотвращены.
В случае стационарных сигналов и с = b = 1 коэффициент предсказания элемента m вычисляется
E [q,m-1(n) ■ rq,m-1(n-1)]
Чтобы адаптировать коэффициенты к текущим сигнальным свойствам, математические ожидания в приведенном выше уравнении заменяют на усредненные по времени оценки, измеренные за ограниченный прошлый сигнальный период. Должен быть принят компромисс между хорошей сходимостью и оптимальной настройкой предсказателя в течение периодов сигнала с квазистационарной характеристикой и возможностью быстрой адаптации в случае нестационарности. В этом контексте особенно интересны алгорит-