ГОСТ Р 53556.3—2012
Конфигурация
frame_size:
Эго поле обозначает число отсчетов во фрейме.
window_offset[):
Этот массив содержит смещение окна.
window_size[]:
Этот массив содержит размер окна анализа
LPC.
windows[]:
Этот массив содержит окна, используемые для взвешивания речевого сигнала.
датта_Ье{].
Этот массив содержит гамма-коэффициенты, которые используются для расширения полосы
пропускания коэффициентов
LPC.
1рс_огбвг.
Это поле указывает порядок
LPC.
n_lpc_anatysis:
Это поле обозначает номер анализа
LPC.
В.5.3 Процесс кодирования
Анализ линейного предсказания выполняется
n_lpc_analysis
раз. каждый раз с различным размером окна
и смещением, как определено в массивах
\vindow_size
и
wmdowoffset.
Каждый раз входной сигнал
PPJnputSignal
взвешивается ю{л].
Посредством взвешенного сигнала получают коэффициенты автокорреляции, используя:
window siio - * -1
ас7(Л] =£sw[n] siv[n+*l. 0 £ Л £ /pc_orde/-_
л-о
Имеется
lpc_order
+1 коэффициентов автокорреляции. Для кодера режима II расширение полосы пропуска
ния и коррекция белого шума применяются путем модификации коэффициентов автокорреляции следующим
образом:
for(к =0: к <lpc_ordar. к++)
{
ас([к]
*=
lag_win[k];
}
где
lag_win[)
является коэффициентами для расширения полосы пропускания.
Коэффициенты
LPC
вычисляются с помощью рекурсии
Levinson-Durbin
(Левинсона-Дурбина). Первый ко
эффициент
LPC
назначается для
first_ofder_Spc_раг.
Для кодера режима I расширение полосы пропускания при
меняется к коэффициентам LPC. используя массив
датта_Ьв.
Для каждого анализа
LPC
рассчетные /рс_
coefficients
располагают в стеке, приводя к коэффициентам
n_lpc_analysis ’ !pc_order.
В.6 Квантизатор
LPC CELP
и интерполятор
Коэффициенты
LPC
квантуются при использовании одного из трех квантователей, инструмента узкополос
ного квантования
LSP,
инструмента широкополосного квантования
LSP
или инструмента квантования
LSP
с мас
штабируемой полосой пропускания.
В.6.1 Инструмент узкополосного квантования
LSP
В.6.1.1 Описание инструмента
Инструмент узкополосного квантования
LSP
квантует коэффициенты
LPC
как параметры
LSP.
используя
двухступенчатую и с разбиением вектора методику квантования.
В.6.1.2 Определения
Вход
lpc_coefficients[):
Это массив размерности
lpc_order,
содержит текущие неквантованные коэффициенты
LPC.
Выход
int_Qtpc_coefficients{):
Это массив длиной
nrof_subfrantes ’ lpc_order,
содержит интерполированные и кван
тованные коэффициенты
LPC
для каждого подфрейма. Коэффициенты
LPC
для каждого подфрейма располага ют
в стеке один задругим, образуя массив
nrof_subframes
*
lpc__order.
tpcjndices
[): Это массив размерности
numlpcjndices.
содержит упакованные индексы
1рс.
которые при
писаны потоку бит.
Конфигурация
(pc_order.
Это поле содержит порядок
LPC.
num_lpcjndices
: Эти поля указывают число упакованных кодов
LPC.
пит_/pc_analysis:
Это поле содержит число параметров
LPC.
nrofjsubframes
: Это поле содержит число подфреймов.
В.6.1.3 Процесс кодирования
LPCs
конвертируются в
LSPs
и квантуются. Какописано в процессе декодирования, есть два метода кванто
вания
LSPs:
двухступенчатый
VQ
без межфреймового предсказания, и комбинация
VQ
и
VQ
с межфреймовым
предсказанием. В ходе процесса кодирования пытаются применить оба метода, чтобы квантовать
LSPs,
и какой
метод должен быть применен, определяется сравнением ошибки квантования. Ошибка квантования вычисляется
как взвешенное Евклидово расстояние. Коэффициенты взвешивания w[] следующие
74