Инструменты кодера MPEG-4 CELP
В.1 Введение в набор инструментов кодера MPEG-4 CELP
Это приложение дает краткое описание функциональных возможностей, определение параметров и процессов кодирования инструментов, поддерживаемых ядром MPEG-4 CELP. Описание каждого инструмента включает до четырех частей: описание инструмента, определения, процесс кодирования и таблицы.
Поддерживаются следующие инструменты кодера:
предварительная обработка CELP
анализ CELP LPC
квантизатор CELP LPC и интерполятор
векторный квантователь
кодер с масштабируемой полосой пропускания
фильтр анализа CELP LPC
модуль взвешивания CELP
анализ возбуждения CELP
возбуждение регулярным импульсом
мультиимпульсное возбуждение
мультиплексор потока бит CELP
Кодирование выполнено на основе фрейма, и каждый фрейм разделен на подфреймы. Инструмент анализа возбуждения CELP использует каждый подфрейм, в то время как другие инструменты используют каждый фрейм.
В.2. Переменные справки
Для каждого инструмента кодера дается описание переменных, которые он использует. В этом подпункте предоставлены переменные, которые используются совместно многими инструментами.
frame_size: Это поле указывает число отсчетов во фрейме. Декодер выводит фрейм с frame_size выборками.
nrof_subframes: Фрейм построен из ряда подфреймов. Число подфреймов определяется в этом поле.
sbfrm_size: Подфрейм состоит из ряда отсчетов, их число определяется в этом поле. Число отсчетов во фрейме всегда должно быть равным сумме чисел отсчетов в подфреймах. Так, что всегда должно соблюдаться следующее соотношение
frame_size = nrof_subframes * sbfrm_size.
Эти три параметра зависят от настройки параметров частоты дискретизации и битовой скорости, как представлено в таблице 73 для кодера режима I и в таблице 74 для кодера режима II.
lpc_order. Это поле указывает число коэффициентов, используемых для линейного предсказания. По умолчанию значение этого поля равно 20 для частоты дискретизации 16 кГц и 10 для 8 кГц.
num_lpc_indices. Этот параметр определяет число индексов, содержащих информацию LPC, которая должна быть записана в поток бит. Оно не равно порядку LPC. num_lpc_indices равно 5 в режиме 8 кГц и дополнительно 6 для уровня с масштабируемой полосой пропускания.
n_lpc_analysis: Это поле указывает, как часто во фрейме выполняется анализ LPC. Существует возможность выполнять несколько анализов LPC во фрейме с вариациями размера окна и смещения. Для частоты дискретизации 16 кГц значение этого поля равно 1, указывая, что анализ LPC выполняется только однажды. Для частоты дискретизации 8 кГц значение этого поля определяется отношением sbfrm_size/80.
window_offsets[ ]: Этот массив содержит смещения окон анализа LPC, и его размерность равна n_lpc_analysis.
window_sizes[ ]: Этот массив содержит размеры окна для анализа LPC. Так как анализ LPC выполняется n_lpc_analysis раз, размерность этого массива равна n_lpc_analysis.