ГОСТ Р 54713—2011
Полная обработка показана только для предсказателя Р, (О — квантователь.
REC
— реконструкция
последнего квантованного значения). Управление предсказанием работает для всех предсказателей
Р>... Pt...
Р*
полосы масштабных коэффициентов и сопровождается вторым управлением всеми полосами масштабных коэф
фициентов.
В.5 Временное формирование шума
(TNS)
Временное формирование шума используется для управления временной формой шумов квантования в
пределах каждого окна преобразования. Это достигается в процессе фильтрации частей спектральных данных
каждого канала.
Кодирование выполняется на основе окна. Следующие шаги выполняются, чтобы применить инструмент
временного формирования шума к одному окну спектральных данных:
- Выбирается целевой частотный диапазон для инструмента
TNS.
Подходящий выбор состоит в том.
чтобы покрыть частотный диапазон от 1.5 кГц до высшей полосы масштабных коэффициентов одним фильт ром.
Этот параметр {
TNS_MAX_BANDS
)
зависит от профиля и частоты дискретизации, как обозначено в норма тивной
части.
- Далее кодирование с линейным предсказанием
(LPC)
выполняется для спектральных коэффициентов
МДКП, соответствующих выбранному целевому частотному диапазону. Для лучшей устойчивости коэффициен ты.
соответствующие частотам ниже 2.5 кГц. могут быть исключены из этого процесса. Стандартные процедуры
LPC
могут использоваться для вычисления
LPC.
например алгоритм
Л
евинсона-Дербина. Вычисление
выполняется для максимального разрешенного порядка фильтра формирования шума (
TNS_MAX_ORDER
).
В результате вычисления
LPC
становится известен ожидаемый коэффициент усиления предсказания
др,
так же как и коэффициенты отражения
TNS_MAX_ORDER г{]
(так называемые коэффициенты
PARCOR).
Если усиление предсказания
др
не превышает определенный порог
t.
временное формирование шума
не используется. В этом случав бит tns
_
dala
_
present устанавливается в X)’. и обработка
TNS
заканчивается. Под
ходящее пороговое значение t
=
1.4.
Если коэффициент усиления предсказания
др
превышает порог
I,
временное ограничение шума исполь
зуется.
На следующем шаге коэффициенты отражения квантуются, используя биты
coef_res.
Длина
coef_res
состав
ляет 4 бита. Следующий псевдокод описывает преобразование коэффициентов отражения
г []
в индексы
index]),
и обратное преобразование к квантованным коэффициентам отражения
rq[).
iqfac
=
((1 « (coef_res-t))
-
0.5) / (л/2.0):
iqfac_m = ((1
«
(coef_res-1))
+
0.5) / (л/2.0):
Г Reflection coefficient quantization
7
for
(i = 0 : i < TNS_MAX_ORDER: i+ *) {
index)/]
=
NINT(arcsin( r[i) )
*
((rfi) >= 0) ? iqfac : iqfac_m)):
}
/* Inverse quantization V
for (i = 0:i<
TNS_MAX_ORDER:
i++)
{
rq[i] =sin( index[i]/ ((indexfi] >= 0) ? iqfac : iq(ac_m) ):
}
где
arcsin
()
соответствует функции арксинус.
Порядок используемого фильтра формирования шума определяется путем последовательного удаления
всех коэффициентов отражения с "хвоста" массива коэффициентов отражения, с абсолютными значениями, мень
шими чем порог
р.
Число оставшихся коэффициентов отражения является порядком фильтра формирования
шума. Соответствующий порог для усечения
р
-
0.1.
Оставшиеся коэффициенты отражения л?(] преобразовываются в
order*
1 коэффициентов линейного пред
сказания эЦ.
Вычисленные коэффициенты
LPC
() используются в качестве коэффициентов фильтра формирования шума
в кодере. Этот КИХ-фильтр скользит по определенном целевому частотному диапазону по способу, который
описывается в нормативной части для процесса декодирования (описание инструмента). Различие между филь
трацией при декодировании и кодировании заключается в том. что всеполосный (авторегрессивный) фильтр,
используемый для декодирования, заменяется его инверсным всенулевым (усредняющим) фильтром, т.е. проис
ходит замена уравнения фильтра декодера
ф ] =х[п
) - а/1
1 ’yjn
- V -... -
a[order]‘yln- order]
инверсным уравнением
у{п]
=
х(п]
+
а/1/ *х/л-1/ +...
+
a[order]’x[n- order).
По умолчанию используется восходящее направление фильтрации.
Наконец, передается следующая служебная информация для временного формирования шума (табли
ца В.25).
136