66
для 0 < m < fsaTable(NsaBands) и 0 < n < NUM_OF_SUBSAMPLES.
Затухание переходных процессов GTransientRatio далее вычисляется следующим образом
для 0 < m < fsaTable(NsaBands) и 0 < n < NUM_OF_SUBSAMPLES, где у=1,5 — коэффициент учета быстрого провала уровня.
Добавление окружения к выходным сигналам YLeft и YRight
SA процесс добавляет скорректированный по уровню сигнал окружения к боковому выходному сигналу, где YLeft и YRight — выходные матрицы SA процесса для левого и правого каналов соответственно. Если SA включено сигналом элемента битового потока bs_enable_sa = 1, выход SA будет определяться выражениями:
YLeft(m,n) ~ GSaDirMapped(m,n) ' X(m,n) + GTransientRatio(m,n) ' GSaMapped(m,n) ' SAmbience(m>n)’ (52)
YRight(m,n) = GSaDirMapped(m,n) X(m,n) — GTransientRatio(m,n) GSaMapped(m,n) SAmbience(m,n) (53)
для 0 < m < fsaTabie(NsaBands) и 0 < n < NUM_OF_SUBSAMPLES.
Установить некоторые полосы Q MF в режим моно для областей, не охватываемых SA:
YLeft (m,n) = X(m,n),
YRight(m,n) = X(m,n)
для fSaTabe(NSaBands) < m < NUM_OF_QMF_CHANNELS, 0 < n < NUM_OF_SUBSAMPLES.
В противном случае (если bs_enable_sa = 0) SA игнорируется и
YLeft = X,
YRight = X.
- Декодирование P an
Как видно из рисунка 20, для обработки Pan в качестве входных используются сигналы Yieft и Yrjght, которые являются выходными сигналами декодера SA совместно с параметрами Pan, что позволяет получить на выходе сигналы Pan ZLeft и ZRight. Эти выходные сигналы подаются на оконечную гребенку QMF синтеза, как описано в системе SBR.
Расчет матрицы Pan, GpanMapped
Коэффициент P an gPanMapped линейно интерполируется внутри фрейма согласно выражению
k (m) — gPanMapped)- g PanMapped (m) 0 < m < f , n ) /c/i\
kPanMapped(m) — NUM OF SUBSAMPLES ’ 0 <m < 'PanTable (NPanBands), (54)
где ' обозначает величины из предыдущего фрейма.
kPanMapped(m) — это крутизна наклона, используемая для интерполяции. Интерполированная матрица Pan , GPanMapped вычисляется затем в соответствии с выражением