ГОСТ Р 54713—2011
Кодирование выполняется отдельно для каждой группы окон. Выполняются следующие шаги:
- Интенсивностное стерео кодирование соответствующей области полос масштабных коэффициентов выполняет
ся, начиная с граничной частоты f0. Среднее значение /0 = 6 кГц является подходящим для большинства типов
сигналов.
- Для каждой полосы масштабных коэффициентов вычисляются энергии левого, правого и суммарного каналов
путем суммирования спектральных коэффициентов в квадрате, B[sfb], Е, [sfb], Еа[sib]. Если группа окон включает в
себя несколько окон, энергии входящих в группу окон складываются.
- Для каждой полосы масштабных коэффициентов соответствующее значение позиции интенсивности вычисляет
ся как
- Затем вычисляются интенсивностью спектральные коэффициенты speci р] для каждой полосы масштабных
коэффициентов путем сложения спектральных отсчетов левого и правого каналов (spec, [i] и specr[i]) и масштаби
рованием полученных значений
- Спектральные компоненты интенсивностного сигнала используются для замены соответствующих спектраль
ных коэффициентов левого канала. Соответствующие спектральные коэффициенты правого канала обнуляются.
Затем, выполняется стандартный процесс квантования и кодирования спектральных данных обоих кана
лов. Однако состояние предсказателей в правом канале устанавливается в "быкл" для всех полос масштабных
коэффициентов, кодированных в режиме интенсивностного стерео. Эти предсказатели обновляются с помощью
декодируемой интенсивностей версии квантованных спектральных коэффициентов.
Наконец, перед передачей кодовой книги Хаффмана устанавливается INTENSITY_HCB в соответствующем
разделе для всех полос масштабных коэффициентов, которые кодируются в режиме интенсивностного стерео.
В.7 Квантование
В.7.1 Введение
Описание модуля квантования ААС подразделяется на три уровня. Верхний уровень называется «програм
мой циклов фрейма». Эта программа вызывает подпрограмму «внешний итеративный цикл», которая в свою
очередь вызывает подпрограмму «внутренний итеративный цикл». Для каждого уровня дана соответствующая
блок-схема. Модуль циклов квантует входной вектор спектральных данных в итеративном процессе согласно
нескольким требованиям. Внутренний цикл квантует входной вектор и увеличивает размер шага квантователя,
пока выходной вектор не будет кодирован с доступным числом битое. После завершения внутреннего цикла
внешний цикл проверяет искажение в каждой полосе масштабных коэффициентов и, если допустимый уровень
искажений превышен, полоса масштабных коэффициентов ослабляется, и снова вызывается внутренний цикл.
Вход модуля циклов ААС:
1 Вектор спектральных значений mdcljme (0.. 1023).
2 xmi’n (sb).
3 mean_bits (среднее число битов, доступных для кодирования потока битов).
4 more_bHs, число битое в дополнение к среднему числу битов, вычисленное психоакустичесхим модулем
из перцепционной энтропии (РЕ).
5 Число и ширина полос масштабных коэффициентов (см. таблицы 45—57).
6 Для группы коротких блоков спектральные значения должны чередоваться так, чтобы спектральные
линии, принадлежащие к одной полосе масштабных коэффициентов, но различным типам блоков, которые дол
жны быть квантованы с одинаковыми масштабными коэффициентами, были соединены в одной (большей) поло се
масштабных коэффициентов (для полного описания группировки см. 6.3.4),
Выход модуля цикловААС:
1 Вектор квантованных значений x_quant (0.. 1023).
2 Масштабный коэффициент для каждой полосы масштабных коэффициентов (sb).
3 common_scalefac (информация о размере шага квантователя для всех полос масштабных коэффици
ентов).
4 Количество неиспользованных битов, доступных для дальнейшего использования.
В.7.2 Предварительные шаги
Сброс всех итеративных переменных:
1Вычисляется начальное значение common_scalelac для квантователя так. чтобы все квантованные зна
чения МДКП могли быть закодированы в потоке битое:
138