64
- зывают, закодированы они по частотной или временной оси. Абсолютные индексы, обозначенные gSaIndex и gPanIndex, получаются из приведенных ниже формул
g'saindex (i) + bs_ sa_data(i), bs_ sa_dt_ flag = 1, 0 < i < N^nds ■gsaindex(i -1) + bs_ sa_data(i), bs_ sa_dt_ flag = 0, 1 <i < NsaBands bs_ sa_data(i), bs_ sa_dt_ flag = 0, i = 0
g'panindex (i) + bs_pan_data(i), bs_pan_dt_ flag = 1, 0 <i <NpanBands ■ gPanindex (i - 1) + bs_ pan_data(i), bs_ pan_dt_ flag = 0, 1< i < NpanBands bs_ pan_data(i), bs_pan_dt_ flag = 0, i = 0 где ' обозначает величины из предыдущего фрейма.
После декодирования данных SA и Pan по Хаффману и дельта алгоритму векторы gSaIndex и gPanIndex будут содержать индексы, используемые для получения реальных величин для декодирования. Таблицы, связанные с этими индексами, частотно-селективные и могут быть найдены в матрицах квантования CSaQMatrix и CPanQMatrix соответственно. Какую таблицу использовать в матрице для определенной полосы масштабных коэффициентов SA и P an, определяется векторами класса квантования cSaQClass и cPanQClass.
Деквантизация производится по следующим формулам
gSa(i) ~ CSaQMatrix(cSaQClass(i),gSaIndex(i)), 0 < i < NSaBands, (34)
где CSaQClass и CpanQciass определены в таблицах К.10 и К.11.
Данные SA и Pan, извлеченные из битового потока, являются векторами, содержащими элементы данных, представляющие диапазон нескольких частотных полос QMF. Для упрощения последующего изложения, а временами и по необходимости, эти сгруппированные данные отображаются на максимально доступное частотное разрешение, т. е. на наибольшее число каналов QMF. Это означает, что несколько соседних каналов в отображаемом векторе могут иметь одинаковую величину.
Отображение данных SA и P an показано ниже:
gSaMapped(m) = gSa(i), fSaTable(i) < m < fSaTable(i + 1), 0 < i < NSaBands; gPanMapped(m) = gPan(i), fPanTable(i) < m < fPanTable(i + 1), 0 < i < NPanBands
где fSaTabe и fPanTable определены в таблицах К.14 и К.15.
- Декодирование SA
Как показано на рисунке 20, блок обработки SA принимает входной сигнал X и совместно с параметрами SA создает выходные сигналы SA Yleft и Yright. X является суммой верхней и нижней полос области QMF, причем верхняя полоса — это сигнал в системе SBR, который скорректирован по частоте (т. е. соответствует сигналу Y, определенному в MPEG-4 Audio, подраздел «Компоновка ВЧ сигналов»).
Расчет матрицы усиления SA GSaMapped
Как первый шаг, рассчитываются матрицы усиления SA, основанные на фреймах.
Коэффициенты усиления SA gSaDrMapped и gSaMapped линейно интерполируются внутри фрейма в соответствии с выражениями:
, . . SsaMapped (m)- g SaMapped (m) 0 < , . ,30\
KSaMapped(m) = NUM OF SUBSAMPLES ,0 <m < 'SaTable \NSaßands /> (30\
где gSaDirMapped (m) = yj 1 - g2SaMapped(m) , 3 'обозначает данные из предыдущего фрейма.