СИСТЕМА И СПОСОБ ВОЗБУЖДЕНИЯ СМЕШАННОЙ КОДОВОЙ КНИГИ ДЛЯ КОДИРОВАНИЯ РЕЧИ
SYSTEM AND METHOD OF EXCITATING MIXED CODEBOOK FOR SPEECH CODING

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение, в целом, относится к области кодирования сигналов. В частности, настоящее изобретение относится к области кодирования речи с низкой частотой следования битов (битрейт).
УРОВЕНЬ ТЕХНИКИ
Традиционно, все способы параметрического кодирования речи пользуются избыточностью, присущей речевому сигналу, для сокращения объема информации, которую нужно отправлять, и для оценивания параметров речевых выборок сигнала в короткие интервалы. Эта избыточность, в основном, возникает вследствие квазипериодического повторения форм волны речевого сигнала и медленного изменения спектральной огибающей речевого сигнала.
Избыточность форм волны речевого сигнала можно рассматривать в отношении нескольких различных типов речевого сигнала, например, вокализованного и невокализованного. Для вокализованной речи, речевой сигнал является, по существу, периодическим; однако эта периодичность может изменяться на протяжении речевого сегмента, и форма периодической волны обычно постепенно изменяется от сегмента к сегменту. Кодирование речи с низкой частотой следования битов может извлекать большую пользу из исследования такой периодичности. Период вокализованной речи также называется основным тоном, и прогнозирование (предсказание) основного тона часто называют долгосрочным прогнозированием (LTP). Что касается невокализованной речи, сигнал больше напоминает случайный шум и обладает меньшей предсказуемостью.
В любом случае, параметрическое кодирование можно использовать для снижения избыточности речевых сегментов за счет отделения компоненты возбуждения речевого сигнала от компоненты спектральной огибающей. Медленно изменяющуюся спектральную огибающую можно представить посредством кодирования с линейным прогнозированием (LPC), также известного как краткосрочное прогнозирование (STP). Кодирование речи с низкой частотой следования битов также может извлекать пользу из исследования такого краткосрочного прогнозирования. Преимущество кодирования обусловлено медленным изменением параметров. Кроме того, параметры редко значительно отличаются от значений, сохраняющихся в течение нескольких миллисекунд. Соответственно, при частоте дискретизации 8 кГц, 12,8 кГц или 16 кГц, алгоритм кодирования речи предусматривает номинальную длительность кадра в диапазоне от десяти до тридцати миллисекунд, причем длительность кадра двадцать миллисекунд является наиболее распространенной. В более новых общеизвестных стандартах, например, G.723.1, G.729, G.718, EFR, SMV, AMR, VMR-WB или AMR-WB, применяется метод линейного прогнозирования с кодовым возбуждением ("CELP"), который обычно рассматривается как техническая комбинация кодированного возбуждения, долгосрочного прогнозирования и краткосрочного прогнозирования. Кодирование речи методом линейного прогнозирования с кодовым возбуждением (CELP) является очень популярным алгоритмом в области сжатия речи, хотя детали CELP для разных кодеков значительно отличаются.
c
Фиг.1 демонстрирует традиционный кодер CELP, где взвешенная ошибка 109 между синтезированной речью 102 и исходной речью 101 часто минимизируется с использованием так называемого подхода "анализ посредством синтеза". W(z) - это фильтр 110 взвешивания ошибки, 1/B(z) - это фильтр 105 долгосрочного линейного прогнозирования, и 1/A(z) - это фильтр 103 краткосрочного линейного прогнозирования. Кодированное возбуждение 108, которое также называется возбуждением с помощью фиксированной кодовой книги, масштабируется коэффициентом 106 усиления G до прохождения через линейные фильтры. Краткосрочный линейный фильтр 103 получается путем анализа исходного сигнала 101 и представляется набором коэффициентов:
. (1)
Взвешивающий фильтр 110 тем или иным образом связан с вышеупомянутым фильтром краткосрочного прогнозирования. Взвешивающий фильтр обычно выражается в виде:
(2)
где,,,. В стандартном кодеке ITU-T G.718, перцептивный взвешивающий фильтр выражается следующим образом:
, (3)
где
(4)
и  равен 0,68.
Долгосрочное прогнозирование 105 зависит от основного тона и коэффициента усиления основного тона. Основной тон можно оценивать, например, из исходного сигнала, остаточного сигнала или взвешенного исходного сигнала. Функцию долгосрочного прогнозирования, в основном, можно выразить в виде
. (5)
Кодированное возбуждение 108 обычно содержит импульсоподобный сигнал или шумоподобный сигнал, которые математически строятся или сохраняются в кодовой книге. Наконец, индекс кодированного возбуждения, индекс квантованного коэффициента усиления, индекс квантованного параметра долгосрочного прогнозирования и индекс квантованного параметра краткосрочного прогнозирования передаются на декодер.
Фиг.2 демонстрирует первоначальный декодер, куда, после синтезированной речи 206, добавлен блок 207 постобработки. Декодер является комбинацией нескольких блоков, а именно, кодированного возбуждения 201, коэффициента усиления 202 возбуждения, долгосрочного прогнозирования 203, краткосрочного прогнозирования 205 и постобработки 207. Каждый блок, кроме блока 207 постобработки, имеет такое же определение, как описанный в кодере, показанном на фиг.1. Блок 207 постобработки также может включать в себя краткосрочную постобработку и долгосрочную постобработку.
p
c
c
p
c
Фиг.3 демонстрирует основной кодер CELP, который реализует долгосрочное линейное прогнозирование с использованием адаптивной кодовой книги 307 содержащей прошлое синтезированное возбуждение 304 или повторяющийся цикл основного тона прошлого возбуждения с периодом основного тона. Отставание основного тона можно кодировать целочисленным значением, когда оно велико или длинно. И отставание основного тона можно кодировать более точным дробным значением, когда оно мало или коротко. Периодическая информация основного тона применяется для генерации адаптивной компоненты возбуждения. Затем эта компонента возбуждения масштабируется коэффициентом 305 усиления G (также именуемым коэффициентом усиления основного тона). Вторая компонента возбуждения генерируется блоком 308 кодового возбуждения, который масштабируется коэффициентом 306 усиления G. G также именуется коэффициент усиления фиксированной кодовой книги, поскольку кодовое возбуждение часто поступает из фиксированной кодовой книги. Две масштабированных компоненты возбуждения суммируются друг с другом до прохождения через фильтр 303 краткосрочного линейного прогнозирования. Два коэффициента усиления (G и G) квантуются и затем оправляются на декодер.
Фиг.4 демонстрирует традиционный декодер, соответствующий кодеру, показанному на фиг.3, где, после синтезированной речи 407, добавлен блок 408 постобработки. Этот декодер аналогичен показанному на фиг.2, за исключением добавления адаптивной кодовой книги 307. Декодер является комбинацией нескольких блоков, а именно, кодированного возбуждения 402, адаптивной кодовой книги 401, краткосрочного прогнозирования 406 и постобработки 408. Каждый блок, кроме блока 408 постобработки, имеет такое же определение, как описанный в кодере, показанном на фиг.3. Блок 408 постобработки может дополнительно включать в себя краткосрочную постобработку и долгосрочную постобработку.
p
Долгосрочное прогнозирование играет очень важную роль для кодирования вокализованной речи, поскольку вокализованная речь обладает значительной периодичностью. Смежные циклы основного тона вокализованной речи аналогичны друг другу, и это математически означает, что коэффициент усиления основного тона G в нижеследующем выражении возбуждения высок или близок к 1,
(6)
p
p
c
c
p
p
где e(n) – один подкадр последовательности выборок с индексом n, поступающей из адаптивной кодовой книги 307, которая содержит прошлое возбуждение 304; e(n) можно подвергать адаптивной низкочастотной фильтрации, поскольку низкочастотная область часто бывает более периодической или более гармонической, чем высокочастотная область; e(n) поступает из кодовой книги 308 кодированного возбуждения (также именуемой фиксированной кодовой книгой), которая является текущим вкладом в возбуждение; и e(n) также можно улучшать с использованием улучшения высокочастотной фильтрации, улучшения основного тона, дисперсионного улучшения, формантного улучшения и пр. Для вокализованной речи, вклад e(n) из адаптивной кодовой книги может преобладать, и коэффициент 305 усиления основного тона G может иметь значение, близкое к 1. Возбуждение обычно обновляется для каждого подкадра. Типичный размер кадра равен 20 миллисекундам, и типичный размер подкадра равен 5 миллисекундам.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В соответствии с вариантом осуществления, способ кодирования аудио/речевого сигнала включает в себя определение вектора смешанной кодовой книги на основании поступающего аудио/речевого сигнала, причем вектор смешанной кодовой книги содержит сумму записи первой кодовой книги из первой кодовой книги и записи второй кодовой книги из второй кодовой книги. Способ дополнительно включает в себя генерацию кодированного аудиосигнала на основании определенного вектора смешанной кодовой книги и передачу кодированного индекса возбуждения определенного вектора смешанной кодовой книги.
Согласно первому аспекту, вариант осуществления настоящего изобретения предусматривает способ кодирования аудио/речевого сигнала, причем способ содержит:
определение вектора смешанной кодовой книги на основании поступающего аудио/речевого сигнала, причем вектор смешанной кодовой книги содержит сумму записи первой кодовой книги из первой кодовой книги и записи второй кодовой книги из второй кодовой книги, причем первая кодовая книга содержит импульсоподобные записи, и вторая кодовая книга содержит шумоподобные записи;
генерацию кодированного аудиосигнала на основании определенного вектора смешанной кодовой книги; и
передачу кодированного индекса возбуждения определенного вектора смешанной кодовой книги, причем определение и генерация осуществляются с использованием аппаратного аудиокодера.
В первом возможном варианте реализации первого аспекта, первая и вторая кодовые книги содержат фиксированные кодовые книги.
Во втором возможном варианте реализации первого аспекта, определение вектора смешанной кодовой книги содержит:
вычисление первых корреляций между фильтрованным целевым вектором и фильтрованными записями в первой кодовой книге, причем фильтрованный целевой вектор основан на поступающем аудиосигнале;
определение первой группы наивысших первых корреляций;
вычисление корреляций между фильтрованным целевым вектором и фильтрованными записями во второй кодовой книге;
определение второй группы наивысших вторых корреляций; и
вычисление функции первого критерия комбинаций первой и второй групп, причем функция первого критерия содержит функцию одной из первой группы наивысших первых корреляций, одной из второй группы наивысших вторых корреляций и энергии соответствующих записей из первой кодовой книги и второй кодовой книги.
Согласно второму возможному варианту реализации первого аспекта, третий возможный вариант реализации дополнительно содержит:
определение третьей группы возможных корреляций на основании наивысших вычисленных функций первого критерия; и
выбор вектора смешанной кодовой книги на основании применения функции второго критерия к третьей группе, причем вектор смешанной кодовой книги соответствует записям кодовой книги из первой кодовой книги и второй кодовой книги, связанным с наивысшим значением функции второго критерия.
Согласно третьему возможному варианту реализации первого аспекта, в четвертом возможном варианте реализации:
функция первого критерия представляет собой
,
CB1
CB2
CB1
CB2
где R(i) – корреляция между фильтрованным целевым вектором и i-ой первой записью первой кодовой книги, R(j) – корреляция между фильтрованным целевым вектором и j-ой записью второй кодовой книги, E(i) – энергия i-ой записи первой кодовой книги, и E(i) – энергия j-ой записи второй кодовой книги, – количество записей первой кодовой книги в первой группе, и  – количество записей второй кодовой книги во второй группе; и
функция второго критерия представляет собой,
K
где  – фильтрованный вектор i-ой записи первой кодовой книги, и  – фильтрованный вектор j-ой записи второй кодовой книги, и  – количество записей в третьей группе.
Согласно второму возможному варианту реализации первого аспекта, в пятом возможном варианте реализации выбор вектора смешанной кодовой книги осуществляется на основании наивысшей вычисленной функции первого критерия.
Согласно пятому возможному варианту реализации первого аспекта, в шестом возможном варианте реализации функция первого критерия представляет собой
,
CB1
CB2
CB1
CB2
где R(i) – корреляция между фильтрованным целевым вектором и i-ой первой записью первой кодовой книги, R(j) – корреляция между фильтрованным целевым вектором и j-ой записью второй кодовой книги, E(i) – энергия i-ой записи первой кодовой книги, и E(i) – энергия j-ой записи второй кодовой книги, и  – количество записей первой кодовой книги в первой группе, и  – количество записей второй кодовой книги во второй группе.
Согласно второму возможному варианту реализации первого аспекта, седьмой возможный вариант реализации, дополнительно содержит вычисление энергий соответствующих записей из первой кодовой книги и второй кодовой книги.
Согласно второму возможному варианту реализации первого аспекта, в восьмом возможном варианте реализации энергии соответствующих записей из первой кодовой книги и второй кодовой книги сохраняются в памяти.
Согласно второму возможному варианту реализации первого аспекта, в девятом возможном варианте реализации, первая группа содержит больше записей, чем вторая группа.
Десятый возможный вариант реализации первого аспекта, дополнительно содержит:
применение первой функции выделения к записи первой кодовой книги; и
применение второй функции выделения к записи второй кодовой книги.
Согласно десятому возможному варианту реализации первого аспекта, в одиннадцатом возможном варианте реализации:
первая функция выделения содержит функцию фильтрации нижних частот; и
вторая функция выделения содержит функцию фильтрации верхних частот.
В двенадцатом возможном варианте реализации первого аспекта аппаратный аудиокодер содержит процессор.
В тринадцатом возможном варианте реализации первого аспекта аппаратный аудиокодер содержит специализированное аппаратное обеспечение.
Согласно второму аспекту, вариант осуществления настоящего изобретения предусматривает систему для кодирования аудио/речевого сигнала, причем система содержит:
аппаратный аудиокодер, выполненный с возможностью:
определения вектора смешанной кодовой книги на основании поступающего аудио/речевого сигнала, причем вектор смешанной кодовой книги содержит сумму записи первой кодовой книги из импульсоподобной кодовой книги и записи второй кодовой книги из шумоподобной кодовой книги;
генерации кодированного аудио/речевого сигнала на основании определенного вектора смешанной кодовой книги; и
передачи кодированного индекса возбуждения определенного вектора смешанной кодовой книги.
В первом возможном варианте реализации второго аспекта, аппаратный аудиокодер дополнительно выполнен с возможностью:
вычисления первых корреляций между фильтрованным целевым вектором и записями в импульсоподобной кодовой книге, причем фильтрованный целевой вектор основан на поступающем аудиосигнале;
определения первой группы наивысших первых корреляций;
вычисления корреляций между фильтрованным целевым вектором и записями в шумоподобной кодовой книге;
определения второй группы наивысших вторых корреляций; и
вычисления функции первого критерия комбинаций первой и второй групп, причем функция первого критерия содержит функцию одной из первой группы наивысших первых корреляций, одной из второй группы наивысших вторых корреляций и энергию соответствующих записей из импульсоподобной кодовой книги и шумоподобной кодовой книги.
Согласно первому возможному варианту реализации второго аспекта, второй возможный вариант реализации дополнительно содержит память, выполненную с возможностью хранения значений энергии соответствующих записей из импульсоподобной кодовой книги и шумоподобной кодовой книги.
Согласно первому возможному варианту реализации второго аспекта, в третьем возможном варианте реализации, аппаратный аудиокодер дополнительно выполнен с возможностью выбора вектора смешанной кодовой книги на основании наивысшей вычисленной функции первого критерия.
Согласно первому возможному варианту реализации второго аспекта, в четвертом возможном варианте реализации функция первого критерия представляет собой
,
CB1
CB2
CB1
CB2
где R(i) – корреляция между фильтрованным целевым вектором и i-ой первой записью первой кодовой книги, R(j) – корреляция между фильтрованным целевым вектором и j-ой записью второй кодовой книги, E(i) – энергия i-ой записи первой кодовой книги, и E(i) – энергия j-ой записи второй кодовой книги, и  – количество записей первой кодовой книги в первой группе, и  – количество записей второй кодовой книги во второй группе.
В пятом возможном варианте реализации второго аспекта аппаратный аудиокодер содержит процессор.
В шестом возможном варианте реализации второго аспекта аппаратный аудиокодер содержит специализированное аппаратное обеспечение.
Согласно третьему аспекту, вариант осуществления настоящего изобретения предусматривает способ быстрого поиска смешанной кодовой книги для кодирования аудио/речевого сигнала, причем способ содержит:
определение вектора смешанной кодовой книги на основании поступающего аудио/речевого сигнала, причем вектор смешанной кодовой книги содержит сумму записи первой кодовой книги из первой кодовой книги и записи второй кодовой книги из второй кодовой книги;
вычисление первых корреляций между фильтрованным целевым вектором и фильтрованными записями в первой кодовой книге, причем фильтрованный целевой вектор основан на поступающем аудиосигнале;
определение первой группы наивысших первых корреляций;
вычисление корреляций между фильтрованным целевым вектором и фильтрованными записями во второй кодовой книге;
определение второй группы наивысших вторых корреляций;
вычисление функции первого критерия комбинаций первой и второй групп, причем функция первого критерия содержит функцию одной из первой группы наивысших первых корреляций, одной из второй группы наивысших вторых корреляций и энергии соответствующих записей из первой кодовой книги и второй кодовой книги;
определение третьей группы возможных корреляций на основании наивысших вычисленных функций первого критерия;
выбор вектора смешанной кодовой книги на основании применения функции второго критерия к третьей группе, причем вектор смешанной кодовой книги соответствует записям кодовой книги из первой кодовой книги и второй кодовой книги, связанным с наивысшим значением функции второго критерия;
генерацию кодированного аудиосигнала на основании определенного вектора смешанной кодовой книги; и
передачу кодированного индекса возбуждения определенного вектора смешанной кодовой книги, причем определение и генерация осуществляются с использованием аппаратного аудиокодера
В первом возможном варианте реализации третьего аспекта:
функция первого критерия представляет собой
,
CB1
CB2
CB1
CB2
где R(i) – корреляция между фильтрованным целевым вектором и i-ой первой записью первой кодовой книги, R(j) – корреляция между фильтрованным целевым вектором и j-ой записью второй кодовой книги, E(i) – энергия i-ой записи первой кодовой книги, и E(i) – энергия j-ой записи второй кодовой книги,  – количество записей первой кодовой книги в первой группе, и  – количество записей второй кодовой книги во второй группе; и
функция второго критерия представляет собой
,
K
где  – фильтрованный вектор i-ой записи первой кодовой книги, и  – фильтрованный вектор j-ой записи второй кодовой книги, и  – количество записей в третьей группе.
Во втором возможном варианте реализации третьего аспекта первая кодовая книга содержит импульсоподобную кодовую книгу, и вторая кодовая книга содержит шумоподобную кодовую книгу.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Для обеспечения более полного понимания настоящего изобретения и его преимуществ, обратимся к нижеследующим описаниям, приведенным совместно с прилагаемыми чертежами, в которых:
фиг.1 демонстрирует традиционный речевой кодер CELP;
фиг.2 демонстрирует традиционный речевой декодер CELP;
фиг.3 демонстрирует традиционный кодер CELP, который использует адаптивную кодовую книгу;
фиг.4 демонстрирует традиционный речевой декодер CELP, который использует адаптивную кодовую книгу;
фиг.5 демонстрирует структуру FCB, которая содержит шумоподобные возможные векторы для построения кодированного возбуждения;
фиг.6 демонстрирует структуру FCB, которая содержит импульсоподобные возможные векторы для построения кодированного возбуждения;
фиг.7 демонстрирует структуру импульсно-шумовой смешанной FCB согласно варианту осуществления;
фиг.8 демонстрирует структуру импульсно-шумовой смешанной FCB согласно варианту осуществления;
фиг.9 демонстрирует общую структуру импульсно-шумовой смешанной FCB согласно варианту осуществления;
фиг.10 демонстрирует общую структуру импульсно-шумовой смешанной FCB согласно дополнительному варианту осуществления;
фиг.11 демонстрирует общую структуру импульсно-шумовой смешанной FCB согласно дополнительному варианту осуществления;
фиг.12 демонстрирует более общую структуру смешанной FCB согласно варианту осуществления;
фиг.13 демонстрирует блок-схему системы кодирования с возбуждением;
фиг.14 демонстрирует блок-схему варианта осуществления системы кодирования с возбуждением на основе смешанной кодовой книги;
фиг.15a-b демонстрируют блок-схемы операций способов согласно варианту осуществления; и
фиг.16 демонстрирует систему связи согласно варианту осуществления.
Соответствующие числа и символы в разных фигурах, в целом, относятся к соответствующим деталям, если не указано обратное. Фигуры призваны наглядно демонстрировать соответствующие аспекты предпочтительных вариантов осуществления и не обязательно выполнены в масштабе. Чтобы более наглядно продемонстрировать определенные варианты осуществления, за номером фигуры может следовать буква, указывающая разновидности одной и той же структуры, материала или этапа процесса.
ПОДРОБНОЕ ОПИСАНИЕ ИЛЛЮСТРАТИВНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Ниже подробно рассматриваются предпочтительные в настоящее время варианты осуществления и их использование. Однако очевидно, что настоящее изобретение выдвигает многие применимые принципы изобретения, которые можно реализовать в разнообразных конкретных контекстах. Рассматриваемые конкретные варианты осуществления призваны лишь иллюстрировать различные подходы к реализации изобретения, но не ограничивать объем изобретения.
Настоящее изобретение будет описано в отношении вариантов осуществления в конкретном контексте, а именно, применительно к кодеру и декодеру аудиосигнала на основе CELP. Следует понимать, что варианты осуществления настоящего изобретения можно применять и к другим системам.
Как упомянуто выше, CELP в основном используется для кодирования речевого сигнала на основе конкретных характеристик человеческого голоса или модели создания человеческого вокального голоса. Алгоритм CELP является очень популярной технологией, которая использовалась в различных стандартах ITU-T, MPEG, 3GPP и 3GPP2. Для более эффективного кодирования речевого сигнала, речевой сигнал можно подразделить на разные классы, и по-разному кодировать каждый класс. Например, в некоторых стандартах, например, G.718, VMR-WB или AMR-WB, речевой сигнал подразделяется на невокализованный, "переходный", универсальный, вокализованный и шумовой. Для каждого класса, для представления спектральной огибающей всегда используется фильтр LPC или STP; но возбуждать фильтр LPC можно по-разному. "Невокализованный" и "шумовой" можно кодировать шумовым возбуждением и некоторым улучшением возбуждения. "Переходный" можно кодировать импульсным возбуждением и некоторым улучшением возбуждения без использования адаптивной кодовой книги или LTP. "Универсальный" можно кодировать согласно традиционному подходу CELP, например, алгебраическому CELP, используемому в G.729 или AMR-WB, в котором один 20 мс кадр содержит четыре 5 мс подкадра, компонента возбуждения адаптивной кодовой книги и компонента возбуждения фиксированной кодовой книги создаются с некоторыми улучшениями возбуждения для каждого подкадра, отставания основного тона для адаптивной кодовой книги в первом и третьем подкадрах кодируются в полном диапазоне от минимального предела основного тона PIT_MIN до максимального предела основного тона PIT_MAX, и отставания основного тона для адаптивной кодовой книги во втором и четвертом подкадрах кодируются иначе, чем ранее кодированное отставание основного тона. Сигнал класса "вокализованный" можно кодировать немного иначе, чем "универсальный", в котором отставание основного тона в первом подкадре кодируется в полном диапазоне от минимального предела основного тона PIT_MIN до максимального предела основного тона PIT_MAX, и отставания основного тона в других подкадрах кодируются иначе, чем предыдущий ранее отставание основного тона.
c
Блоки кодового возбуждения, обозначенные позициями 402 на фиг.4 и 308 на фиг.3, показывают местоположение фиксированной кодовой книги (FCB) для общего кодирования CELP; выбранный кодовый вектор из FCB масштабируется коэффициентом усиления, часто обозначаемым как G. Для сигнала класса "шумовой" или "невокализованный", FCB, содержащая шумоподобные векторы, может быть наилучшей структурой с точки зрения воспринимаемого качества, поскольку вклад адаптивной кодовой книги или вклад LTP будет малым или ничтожно малым, и поскольку главный вклад в возбуждение опирается на компоненту FCB для сигнала класса "шумовой" или "невокализованный". В этом случае, если используется импульсоподобная FCB, например, показанная на фиг.6, выходной синтезированный речевой сигнал может звучать резко вследствие большого количества нулей в кодовом векторе, выбранном из импульсоподобной FCB, предназначенной для кодирования с низкой частотой следования битов. Фиг.5 демонстрирует структуру FCB, которая содержит шумоподобные возможные векторы для построения кодированного возбуждения. 501 обозначает шумоподобную FCB; 502 обозначает шумоподобный кодовый вектор; и выбранный кодовый вектор масштабируется коэффициентом 503 усиления.
Для сигнала класса "вокализованный", импульсоподобная FCB дает выходной сигнал более высокого качества, чем шумоподобная FCB с перцептивной точки зрения, поскольку вклад адаптивной кодовой книги или вклад LTP преобладает для весьма периодического сигнала класса "вокализованный", и главный вклад в возбуждение не опирается на компоненту FCB для сигнала класса "вокализованный". В этом случае, если используется шумоподобная FCB, выходной синтезированный речевой сигнал может звучать как зашумленный или менее периодический, поскольку с использованием кодового вектора, выбранного из шумоподобной FCB, предназначенной для кодирования с низкой частотой следования битов, труднее получить хорошее совпадение формы волны. Фиг.6 демонстрирует структуру FCB, которая содержит импульсоподобные возможные векторы для построения кодированного возбуждения. 601 представляет импульсоподобную FCB, и 602 представляет импульсоподобный кодовый вектор. Выбранный кодовый вектор масштабируется коэффициентом 603 усиления.
Большинство кодеков CELP хорошо работают для нормальных речевых сигналов; однако кодеки CELP с низкой частотой следования битов могут отказывать в присутствии особо зашумленного речевого сигнала или для сигнала класса "универсальный". Как описано выше, шумоподобная FCB может быть наилучшим выбором для сигнала класса "шумовой" или "невокализованный", и импульсоподобная FCB может быть наилучшим выбором для сигнала класса "вокализованный". Класс "универсальный" занимает промежуточное положение между классом "вокализованный" и классом "невокализованный". Статистически, коэффициент усиления LTP или коэффициент усиления основного тона для класса "универсальный" может быть ниже, чем для класса "вокализованный", но выше, чем для класса "невокализованный". Класс "универсальный" может содержать как сигнал шумоподобной компоненты, так и сигнал периодической компоненты. На низких частотах следования битов, если для сигнала класса "универсальный" используется импульсоподобная FCB, выходной синтезированный речевой сигнал все же может звучать резко, вследствие большого количества нулей в кодовом векторе, выбранном из импульсоподобной FCB, предназначенной для кодирования с низкой частотой следования битов. Например, когда кодек со скоростью 6800 бит/с или 7600 бит/с кодирует речевой сигнал, дискретизированный с частотой 12,8 кГц, кодовый вектор из импульсоподобной кодовой книги может позволять себе иметь лишь два ненулевых импульса, что обуславливает резкий звук для зашумленной речи. Если для сигнала класса "универсальный" используется шумоподобная FCB, выходной синтезированный речевой сигнал может не иметь достаточно хорошего совпадения формы волны для генерации периодической компоненты, что обуславливает зашумленный звук для чистой речи. Таким образом, для кодирования класса "универсальный" на низких частотах следования битов может потребоваться новая структура FCB, промежуточная между шумоподобной и импульсоподобной.
c
Одно из решений для улучшения кодирования речи на низких частотах следования битов для сигнала класса "универсальный" предусматривает использование импульсно-шумовой смешанной FCB вместо импульсоподобной FCB или шумоподобной FCB. Фиг.7 демонстрирует структуру импульсно-шумовой смешанной FCB согласно варианту осуществления. 701 указывает импульсно-шумовую смешанную FCB целиком. Выбранный кодовый вектор 702 генерируется путем комбинирования (суммирования) вектора из импульсоподобной кодовой подкниги 704 и вектора из шумоподобной кодовой подкниги 705. Затем выбранный кодовый вектор 702 масштабируется коэффициентом 703 усиления FCB G. Например, импульсоподобной кодовой подкниге 704 назначается 6 битов, из которых 5 битов предназначены для кодирования одной позиции импульса, и 1 бит предназначен для кодирования знака импульсоподобных векторов; шумоподобной кодовой подкниге 705 назначается 6 битов, из которых 5 битов предназначены для кодирования 32 разных шумоподобных векторов, и 1 бит предназначен для кодирования знака шумоподобных векторов.
c
Фиг.8 демонстрирует структуру импульсно-шумовой смешанной FCB 801 согласно варианту осуществления. Поскольку кодовый вектор из импульсно-шумовой смешанной FCB является комбинацией вектора из импульсоподобной кодовой подкниги и вектора из шумоподобной кодовой подкниги, к вектору из импульсоподобной кодовой подкниги и вектору из шумоподобной кодовой подкниги, можно применять, соответственно, разные улучшения. Например, к вектору из импульсоподобной кодовой подкниги можно применять фильтр нижних частот; дело в том, что низкочастотная область часто бывает более периодической, чем высокочастотная область, и низкочастотная область больше нуждается в импульсоподобном возбуждении, чем высокочастотная область; к вектору из шумоподобной кодовой подкниги можно применять фильтр верхних частот; дело в том, что высокочастотная область часто бывает более зашумленной, чем низкочастотная область, и высокочастотная область больше нуждается в шумоподобном возбуждении, чем низкочастотная область. Выбранный кодовый вектор 802 генерируется путем комбинирования (суммирования) фильтрованного по нижним частотам вектора из импульсоподобной кодовой подкниги 804 и фильтрованного по верхним частотам вектора из шумоподобной кодовой подкниги 805. 806 указывает фильтр нижних частот, который может быть фиксированным или адаптивным. Например, для универсального речевого кадра вблизи вокализованного речевого сигнала используется фильтр первого порядка , и для универсального речевого кадра вблизи невокализованного речевого сигнала используется фильтр первого порядка . 807 указывает фильтр верхних частот, который может быть фиксированным или адаптивным; например, для универсального речевого кадра вблизи невокализованного речевого сигнала используется фильтр первого порядка , и для универсального речевого кадра вблизи вокализованного речевого сигнала используется фильтр первого порядка . Улучшающие фильтры 806 и 807 обычно не расходуют биты для кодирования коэффициентов фильтрации, и коэффициенты улучшающих фильтров могут быть адаптивны к доступным параметрам в кодере и декодере. Затем выбранный кодовый вектор 802 масштабируется коэффициентом 803 усиления FCB G. Согласно примеру, приведенному на фиг.8, если 12 битов доступны для кодирования импульсно-шумовой смешанной FCB, показанной на фиг.8, импульсоподобной кодовой подкниге 804 можно назначить 6 битов, из которых 5 битов предназначены для кодирования одной позиции импульса, и 1 бит предназначен для кодирования знака импульсоподобных векторов. Например, шумоподобной кодовой подкниге 805 можно назначить 6 битов, из которых 5 битов предназначены для кодирования 32 разных шумоподобных векторов, и 1 бит предназначен для кодирования знака шумоподобных векторов.
c
Фиг.9 демонстрирует более общую структуру импульсно-шумовой смешанной FCB 901 согласно варианту осуществления. Поскольку кодовый вектор из импульсно-шумовой смешанной FCB, показанной на фиг.9, является комбинацией вектора из импульсоподобной кодовой подкниги и вектора из шумоподобной кодовой подкниги, к вектору из импульсоподобной кодовой подкниги и вектору из шумоподобной кодовой подкниги можно применять, соответственно, разные улучшения. Например, к вектору из импульсоподобной кодовой подкниги можно применять улучшение, включающее в себя фильтр нижних частот, фильтр верхних частот, фильтр основного тона и/или формантный фильтр; аналогично, к вектору из шумоподобной кодовой подкниги можно применять улучшение, включающее в себя фильтр нижних частот, фильтр верхних частот, фильтр основного тона и/или формантный фильтр. Выбранный кодовый вектор 902 генерируется путем комбинирования (суммирования) улучшенного вектора из импульсоподобной кодовой подкниги 904 и улучшенного вектора из шумоподобной кодовой подкниги 905. 906 указывает улучшение для импульсоподобных векторов, которые могут быть фиксированными или адаптивными. 907 указывает улучшение для шумоподобных векторов, которые также могут быть фиксированными или адаптивными. Улучшения 906 и 907 обычно не расходуют бит для кодирования параметров улучшения. Параметры улучшений могут быть адаптивны к доступным параметрам в кодере и декодере. Затем выбранный кодовый вектор 902 масштабируется коэффициентом 903 усиления FCB G. Согласно примеру, приведенному на фиг.9, если 12 битов доступны для кодирования импульсно-шумовой смешанной FCB, показанной на фиг.9, импульсоподобной кодовой подкниге 904 можно назначить 6 битов, из которых 5 битов предназначены для кодирования одной позиции импульса, и 1 бит предназначен для кодирования знака импульсоподобных векторов; и шумоподобной кодовой подкниге 905 можно назначить 6 битов, из которых 5 битов предназначены для кодирования 32 разных шумоподобных векторов, и 1 бит предназначен для кодирования знака шумоподобных векторов.
c
c
Фиг.10 демонстрирует общую структуру импульсно-шумовой смешанной FCB согласно дополнительному варианту осуществления. Поскольку кодовый вектор из импульсно-шумовой смешанной FCB, показанной на фиг.10, является комбинацией вектора из импульсоподобной кодовой подкниги и вектора из шумоподобной кодовой подкниги, к вектору из импульсоподобной кодовой подкниги и вектору из шумоподобной кодовой подкниги можно применять, соответственно, разные улучшения. Например, к вектору из импульсоподобной кодовой подкниги можно применять первое улучшение, включающее в себя фильтр нижних частот, фильтр верхних частот, фильтр основного тона и/или формантный фильтр; аналогично, к вектору из шумоподобной кодовой подкниги можно применять второе улучшение, включающее в себя фильтр нижних частот, фильтр верхних частот, фильтр основного тона и/или формантный фильтр. 1001 указывает импульсно-шумовую смешанную FCB целиком. Выбранный кодовый вектор 1002 генерируется путем комбинирования (суммирования) первого улучшенного вектора из импульсоподобной кодовой подкниги 1004 и второго улучшенного вектора из шумоподобной кодовой подкниги 1005. 1006 указывает первое улучшение для импульсоподобных векторов, которые могут быть фиксированными или адаптивными. 1007 указывает второе улучшение для шумоподобных векторов, которые также могут быть фиксированными или адаптивными. 1008 указывает третье улучшение для импульсно-шумовых комбинированных векторов, которые также могут быть фиксированными или адаптивными. Улучшения 1006, 1007, и 1008 обычно не расходуют биты для кодирования параметров улучшения; поскольку параметры улучшений могут быть адаптивны доступным параметрам в кодере и декодере. Затем выбранный кодовый вектор 1002 масштабируется коэффициентом 1003 усиления FCB G. Согласно примеру, приведенному на фиг.10, если 12 битов доступны для кодирования импульсно-шумовой смешанной FCB, показанной на фиг.10, импульсоподобной кодовой подкниге 1004 можно назначить 6 битов, из которых 5 битов предназначены для кодирования одной позиции импульса, и 1 бит предназначен для кодирования знака импульсоподобных векторов; шумоподобной кодовой подкниге 1005 можно назначить 6 битов, из которых 5 битов предназначены для кодирования 32 разных шумоподобных векторов, и 1 бит предназначен для кодирования знака шумоподобных векторов. Если коэффициент усиления FCB G имеет знак, необходимо кодировать только один из знака для импульсоподобных векторов и знака для шумоподобных векторов.
1
2
1
2
3
c
c
Фиг.11 демонстрирует общую структуру импульсно-шумовой смешанной FCB согласно дополнительному варианту осуществления. Поскольку кодовый вектор из импульсно-шумовой смешанной FCB, показанной на фиг.11, является комбинацией вектора из импульсоподобной кодовой подкниги и вектора из шумоподобной кодовой подкниги, к вектору из импульсоподобной кодовой подкниги и вектору из шумоподобной кодовой подкниги можно применять, соответственно, разные улучшения. Например, к вектору из импульсоподобной кодовой подкниги можно применять первое улучшение H(z), включающее в себя фильтр нижних частот, фильтр верхних частот, фильтр основного тона и/или формантный фильтр; аналогично, к вектору из шумоподобной кодовой подкниги можно применять второе улучшение H(z), включающее в себя фильтр нижних частот, фильтр верхних частот, фильтр основного тона и/или формантный фильтр. 1101 указывает импульсно-шумовую смешанную FCB целиком. Выбранный кодовый вектор 1102 генерируется путем комбинирования (суммирования) первого улучшенного вектора из импульсоподобной кодовой подкниги 1104 и второго улучшенного вектора из шумоподобной кодовой подкниги 1105. 1106 указывает первое улучшение H(z) для импульсоподобных векторов, которые могут быть фиксированными или адаптивными. 1107 указывает второе улучшение H(z) для шумоподобных векторов, которые также могут быть фиксированными или адаптивными. 1108 указывает третье улучшение H(z) для импульсно-шумовых комбинированных векторов, которые также могут быть фиксированными или адаптивными. Обычно для кодирования параметров улучшения для улучшений 1106, 1107 и 1108 биты не расходуются; поскольку параметры улучшений могут быть адаптивны доступным параметрам в кодере и декодере. Затем выбранный кодовый вектор 1102 масштабируется коэффициентом усиления FCB G 1103. Согласно примеру, приведенному на фиг.11, если 12 битов доступны для кодирования импульсно-шумовой смешанной FCB, показанной на фиг.11, импульсоподобной кодовой подкниге 1104 можно назначить 6 битов, из которых 5 битов предназначены для кодирования одной позиции импульса, и 1 бит предназначен для кодирования знака импульсоподобных векторов; шумоподобной кодовой подкниге 1105 можно назначить 6 битов, из которых 5 битов предназначены для кодирования 32 разных шумоподобных векторов, и 1 бит предназначен для кодирования знака шумоподобных векторов. Если коэффициент 1103 усиления FCB G имеет знак, необходимо кодировать только один из знака для импульсоподобных векторов и знака для шумоподобных векторов.
1
2
1
2
3
c
Фиг.12 демонстрирует более общую структуру смешанной FCB согласно варианту осуществления. Главное различие между фиг.12 и фиг.11 состоит в том, что кодовая книга 1 в блоке 1204 может содержать импульсоподобные или шумоподобные векторы, и кодовая книга 2 в блоке 1205 также может содержать импульсоподобные или шумоподобные векторы; это означает, что смешанная кодовая книга может быть любой комбинацией импульсоподобных и/или шумоподобных векторов. Поскольку кодовый вектор из смешанной FCB, показанной на фиг.12, является комбинацией вектора из кодовой книги 1 и вектора из кодовой книги 2, к вектору из кодовой книги 1 и вектору из кодовой книги 2 можно применять, соответственно, разные улучшения. Например, к вектору из кодовой книги 1 можно применять улучшение H(z), включающее в себя фильтр нижних частот, фильтр верхних частот, фильтр основного тона и/или формантный фильтр. Аналогично, к вектору из кодовой книги 2 можно применять улучшение H(z), включающее в себя фильтр нижних частот, фильтр верхних частот, фильтр основного тона и/или формантный фильтр. 1201 указывает смешанную FCB целиком. Выбранный кодовый вектор 1202 генерируется путем комбинирования (суммирования) улучшенного вектора из кодовой книги 1 и улучшенного вектора из кодовой книги 2. 1206 указывает улучшение H(z) для векторов кодовой книги 1, которая может быть фиксированной или адаптивной. 1207 указывает улучшение H(z) для векторов кодовой книги 2, которая также может быть фиксированной или адаптивной. 1208 указывает третье улучшение H(z) для комбинированных векторов, которые также могут быть фиксированными или адаптивными. Улучшения 1206, 1207 и 1208 обычно не расходуют биты для кодирования параметров улучшения; поскольку параметры улучшений могут быть адаптивны к доступным параметрам в кодере и декодере. Затем выбранный кодовый вектор 1202 масштабируется коэффициентом 1203 усиления FCB G.
Предположим, что структура фиксированной кодовой книги выглядит, как показано на фиг.11, и сигнал возбуждения кодируется для каждого подкадра из 64 выборок, т.е. четыре раза за кадр; в этом разделе рассмотрен подход быстрого поиска импульсно-шумовой смешанной кодовой книги. На фиг.13 схематически показан принцип кодирования с возбуждением, который фактически аналогичен принципу, показанному на фиг.3. Теоретически, фиг.3 допускает совместную оптимизацию компоненты возбуждения адаптивной кодовой книги и компоненты возбуждения фиксированной кодовой книги (т.е. компоненты кодового возбуждения). На практике, для простоты, часто сначала определяется компонента возбуждения адаптивной кодовой книги, а затем компонента возбуждения фиксированной кодовой книги.
Для каждого подкадра, остаток LP выражается в виде
,(7)
где s(n) – входной сигнал 1301, который часто бывает предварительно выделен и используется для кодирования широкополосной речи, но не для кодирования узкополосной речи. Например, фильтр предварительного выделения может иметь вид
(8)
и  равен 0,68. Альтернативно,  может принимать разные значения.
Целевой сигнал 1303 x(n) для поиска адаптивной кодовой книги 1307 можно вычислить путем вычитания отклика при отсутствии входного сигнала (не показан на фиг.13) взвешивающего синтезирующего фильтра W(z)/A(z) из взвешенного предварительно выделенного входного сигнала, который получается фильтрацией входного сигнала 1301 s(n) через взвешивающий фильтр 1302. Эта операция осуществляется на подкадровой основе. Эквивалентной процедурой для вычисления целевого сигнала является фильтрация остаточного сигнала  через комбинацию синтезирующего фильтра 1/A(z) и взвешивающего фильтра W(z).
p
p
p
Импульсная характеристика  взвешивающего синтезирующего фильтра W(z)/A(z) вычисляется для каждого подкадра. В вышеприведенном уравнении, A(z) это квантованный фильтр LP. Импульсная характеристика  необходима для поиска адаптивной и фиксированной кодовых книг. Поиск адаптивной кодовой книги включает в себя осуществление поиск основного тона замкнутого цикла и затем вычисление адаптивного кодового вектора, e(n), путем интерполяции прошлого возбуждения при выбранном дробном отставании основного тона P. e(n) можно улучшить, например, путем применения адаптивного фильтра нижних частот. Параметрами адаптивной кодовой книги (или параметрами основного тона) являются основной тон P замкнутого цикла и коэффициент усиления 1305 основного тона, G (коэффициент усиления адаптивной кодовой книги), вычисленный для каждого подкадра. y(n) обозначает фильтрованный вклад адаптивной кодовой книги до применения коэффициента усиления 1305 основного тона. Детали, касающиеся вычисления параметров адаптивной кодовой книги здесь рассмотрены не будут, поскольку этот раздел посвящен описанию поиска смешанной FCB (фиксированной кодовой книги).
2
c
c
После вычитания фильтрованного и усиленного вклада адаптивной кодовой книги из целевого сигнала x(n), полученный разностный сигнал x(n) 1304 становится вторым целевым сигналом для определения вклада в кодовое возбуждение. Кодовое возбуждение e(n) 1308 и соответствующий коэффициент 1306 усиления G определяются путем минимизации 1309 взвешенной ошибки 1310.
p
2
c
c
c
Фиг.14 демонстрирует структуру, аналогичную показанной на фиг.13, за исключением того, что фиксированная кодовая книга или кодовое возбуждение, показанные на фиг.14, теперь являются конкретно структурой смешанной кодовой книги. Целевой сигнал 1403 x(n) для поиска адаптивной кодовой книги 1407 вычисляется путем вычитания отклика при отсутствии входного сигнала (не показан на фиг.14) взвешивающего синтезирующего фильтра W(z)/A(z) из взвешенного предварительно выделенного входного сигнала; и взвешенный предварительно выделенный входной сигнал получается фильтрацией входного сигнала s(n) 1401 через взвешивающий фильтр 1402. Параметрами адаптивной кодовой книги (или параметрами основного тона) являются основной тон замкнутого цикла и коэффициент усиления 1405 основного тона, G (коэффициент усиления адаптивной кодовой книги), вычисленный для каждого подкадра. y(n) обозначает фильтрованный вклад адаптивной кодовой книги до применения коэффициента усиления 1405 основного тона. После вычитания фильтрованного и усиленного вклада адаптивной кодовой книги из целевого сигнала 1403 x(n), полученный разностный сигнал x(n) 1404 становится вторым целевым сигналом для определения вклада в возбуждение смешанной кодовой книги. Возбуждение 1408 смешанной кодовой книги e(n) и соответствующий коэффициент 1406 усиления G определяются путем минимизации 1409 взвешенной ошибки 1410. z(n) обозначает фильтрованный вклад смешанной кодовой книги до применения коэффициента 1406 усиления G.
1
2
3
1
2
3
1
2
3
Предположим, что CB 1 в смешанной кодовой книге 1408 является импульсоподобной кодовой книгой, и CB 2 в смешанной кодовой книге 1408 является шумоподобной кодовой книгой. H(z) в 1408 обозначает улучшающий фильтр для векторов CB 1, H(z) в 1408 обозначает улучшающий фильтр для векторов CB 2, и H(z) в 1408 обозначает улучшающий фильтр для обоих векторов CB1 и CB 2. Для удобства нижеследующего описания, импульсная характеристика H(z), H(z) или H(z) обозначается как h(n), h(n) или h(n) соответственно.
1
3
1
3
Индекс импульсоподобной кодовой книги CB 1, или кодовое слово, представляет позиции и знаки импульсов. Таким образом, хранилище кодовых книг не требуется, поскольку кодовый вектор можно построить в декодере на основании информации, содержащейся в самом индексе (без поисковых таблиц). Разные импульсоподобные кодовые книги можно построить, помещая некоторое количество импульсов со знаком в некоторое количество дорожек. Независимый или временной поиск импульсоподобной кодовой книги можно осуществлять, сначала комбинируя улучшающие фильтры H(z) и H(z) со взвешивающим синтезирующим фильтром W(z)/A(z) до поиска кодовой книги. Таким образом, импульсную характеристику h(n) взвешивающего синтезирующего фильтра необходимо модифицировать для включения улучшающих фильтров H(z) и H(z). То есть,
. (9)
2
3
2
3
Индекс шумоподобной кодовой книги CB 2, или кодовое слово, представляет шумовые векторы и знаки. Шумоподобная кодовая книга обычно сохраняется в памяти. Для сокращения размера памяти, шумовые векторы могут перекрываться и генерироваться путем сдвига позиции шумового вектора. Независимый или временной поиск шумоподобной кодовой книги можно осуществлять, сначала комбинируя улучшающие фильтры H(z) и H(z) со взвешивающим синтезирующим фильтром W(z)/A(z) до поиска кодовой книги. Таким образом, импульсную характеристику h(n) взвешивающего синтезирующего фильтра необходимо модифицировать для включения улучшающих фильтров H(z) и H(z). То есть,
. (10)
3
3
Поскольку H(z) обычно используется как для импульсоподобных векторов, так и для шумоподобных векторов, импульсная характеристика комбинации синтезирующего фильтра 1/A(z), взвешивающего фильтра W(z) и улучшающего фильтра H(z) конкретно обозначается как
. (11)
2
Поиск смешанной кодовой книги осуществляется путем минимизации ошибки между обновленным целевым сигналом 1404 x(n) и масштабированным фильтрованным кодовым вектором. Обновленный целевой сигнал выражается в виде
, (12)
p
p
2
где y(n) = e(n)*h(n) – фильтрованный адаптивный кодовый вектор, и G – коэффициент усиления адаптивной кодовой книги. Пусть матрица H задается как нижняя треугольная сверточная матрица Теплица с главной диагональю hh(0) и нижними диагоналями hh(1),…,hh(63), и d=HTx2 (также известный как обратно фильтрованный целевой вектор) является корреляцией между обновленным сигналом x(n) и импульсной характеристикой hh(n). Кроме того, пусть Φ = HTH является матрицей корреляций hh(n). Теоретически, элементы вектора d(n) можно вычислить согласно
(13)
и элементы симметричной матрицы Φ можно вычислить согласно
(14)
В некоторых вариантах осуществления, уравнение (13) можно вычислить с использованием упрощенной обратной фильтрации, и в этом случае уравнение (14) может не требоваться для быстрого поиска смешанной импульсно-шумовой кодовой книги.
k
Пусть c(n) – смешанный кодовый вектор, то есть
(15)
p
n
k
c
Здесь, c(n) – возможный вектор из импульсоподобной кодовой книги, и c(n) – возможный вектор из шумоподобной кодовой книги. Возбуждение смешанной кодовой книги c(n) или  и соответствующий коэффициент 1103 усиления G возбуждения смешанной кодовой книги можно определить путем минимизации 1109 взвешенной ошибки 1110:
. (16)
Минимизация (16) эквивалентна максимизации следующего критерия:
. (17)
k
В (17), z это фильтрованный вклад кодовой книги смешанного возбуждения:
. (18)
В некоторых вариантах осуществления, вектор d(n) и матрица Φ вычисляются до поиска кодовой книги. В некоторых вариантах осуществления, вычисление матрицы Φ может не требоваться и, таким образом, пропускается.
Корреляция в числителе уравнения (17) выражается в виде
(19)
1
2
1
2
В (19),  и  можно предварительно вычислять просто посредством обратной фильтрации d(n) через фильтр H(z) и H(z). Если H(z) и H(z) реализуются с использованием фильтров первого порядка, процессы обратной фильтрации просты. Энергия в знаменателе уравнения (17) выражается в виде
(20)
В (20), можно предварительно вычислять посредством следующих процессов фильтрации или сверток:
(21)
. (22)
1
2
В некоторых вариантах осуществления, H(z) и H(z) можно реализовать с использованием фильтров первого порядка; поэтому фильтрационная обработка в (21) или (22) столь же проста, поскольку hh(n) уже вычислен в (11).
p
В (20) z – фильтрованный импульсный вклад:
(23)
n
и z – фильтрованный шумовой вклад:
. (24)
уравнение (20) можно дополнительно выразить в виде
,(25)
где
(26)
это энергия фильтрованного импульсного вклада, и
(27)
это энергия фильтрованного шумового вклада.
p
Предположим, что кодовый вектор c(n) в (15) из импульсной кодовой подкниги является вектором со знаком:
(28)
n
и кодовый вектор c(n) в (15) из шумовой кодовой подкниги также является вектором со знаком:
, (29)
p
p
p
n
n
n
p
n
p
n
где v(i) обозначает i-й импульсный вектор размерности 64 (размер подкадра), состоящий из одного или нескольких импульсов; v(i) обозначает i-й шумовой вектор размерности 64 (размер подкадра), считывающий из таблицы шума; s и s – знаки, равные –1 или 1, и i и i – индексы, задающие векторы.
p
n
p
n
p
p
n
n
Задачей процедуры поиска является нахождение индексов i и i двух наилучших векторов и их соответствующих знаков, s и s. Для этого осуществляется максимизация критерия поиска (17), где числитель вычисляется с использованием уравнения (19), и знаменатель вычисляется с использованием уравнения (25). Если посмотреть на числитель (19) и знаменатель (25), можно увидеть, что сложное вычисление присутствует в среднем члене знаменателя (25),  , который содержит все возможные комбинации кросс-корреляций. Например, если c имеет K возможностей, и c имеет K возможностей, то средний член, , может иметь до  возможностей.
p
n
Фиг.15a демонстрирует блок-схему операций способа 1500 быстрого поиска смешанной кодовой книги согласно варианту осуществления. На этапе 1502 вычисляется корреляция между вектором кодовой книги и каждым фильтрованным целевым вектором для импульсной кодовой книги и для шумовой кодовой книги. В одном примере, после вычисления векторов  в (19), процесс предварительного определения используется для идентификации  из всех K возможных импульсных векторов и  из всех K возможных шумовых векторов, в результате чего, процесс поиска ограничивается этими  возможными импульсными векторами и  возможными шумовыми векторами.
p
1
p
i
p
p
Предварительное определение импульса осуществляется путем испытания  в (19) на предмет K импульсных векторов, которые имеют наибольшую абсолютную величину скалярного произведения (или квадрата скалярного произведения) между d и c. То есть остаются индексы  импульсных векторов, которые дают  наибольших значений. Эти индексы сохраняются в векторе индекса m, i=0,..., . Для дополнительного упрощения поиска, также заранее устанавливается информация знака, соответствующая каждому заранее определенному вектору. Знак, соответствующий каждому заранее определенному вектору, определяется знаком  для этого вектора. Эти заранее установленные знаки сохраняются в векторе знака s (i), i=0,...,. . Поскольку возможные векторы c содержат много нулей, вышеупомянутое предварительное определение, в некоторых вариантах осуществления, может быть вычислительно простым.
n
2
n
j
n
Предварительное определение шума осуществляется путем испытания  в (19) на предмет K шумовых векторов, которые имеют наибольшую абсолютную величину скалярного произведения (или квадрата скалярного произведения) между d и c. То есть остаются индексы  шумовых векторов, которые дают  наибольших значений . Эти индексы сохраняются в векторе индекса n, j=0,..., . Для дополнительного упрощения поиска, также заранее устанавливается информация знака, соответствующая каждому заранее определенному вектору. Знак, соответствующий каждому заранее определенному вектору, определяется знаком  для этого вектора. Эти заранее установленные знаки сохраняются в векторе знака s (j), j=0,..., .
p
n
Поскольку кодовая книга смешанного возбуждения часто используется для кодирования речи на низких частотах следования битов, K или K невелико; в этом случае, процесс предварительного определения просто рассматривает все  возможных импульсных векторов в качестве кандидатов и все  возможных шумовых векторов в качестве кандидатов.
i
p
На этапе 1504 энергия каждого фильтрованного вектора кодовой книги определяется для импульсной кодовой книги и для шумовой кодовой книги. Например, энергетический член  фильтрованных импульсных векторов в уравнении (25) вычисляется для ограниченного количества  возможных импульсных векторов из этапа 1502, и сохраняется с вектором индекса m, i=0,..., . В некоторых вариантах осуществления, импульсные векторы содержат лишь несколько ненулевых импульсов, что делает вычисление z в уравнении (23) сравнительно простым. Например, если импульсные векторы содержат только один импульс, это вычисление энергетического члена можно осуществлять просто рекурсивным образом, сдвигая позицию импульса слева направо.
j
n
Энергетический член  фильтрованных шумовых векторов в (25) вычисляется для ограниченного количества  возможных шумовых векторов из этапа 1502, и сохраняется с вектором индекса n, j=0,..., . Если все шумовые векторы сохраняются в таблице с перекрыванием, то вычисление z в уравнении (24) можно осуществлять рекурсивным образом, сдвигая позицию шумового вектора в таблице шума.
Затем, на этапе 1506 вычисляется первая группа наивысших корреляций фильтрованных целевых векторов и фильтрованных импульсных векторов кодовой книги, и на этапе 1508 вычисляется вторая группа наивысших корреляций фильтрованных целевых векторов и фильтрованных импульсных шумовых векторов. Например, в одном варианте осуществления, вычисляется и выбирается K возможных комбинаций смешанных импульсно-шумовых вкладов происходят из  возможных комбинаций, полученных на этапе 1502 и этапе 1504. В одном варианте осуществления, K значительно меньше , то есть . В одном примере, четыре шумовых вектора и шесть импульсных векторов выбираются с образованием K возможных комбинаций, что позволяет испытывать всего 24 комбинации. В других примерах можно выбирать другие количества шумовых векторов и импульсных векторов. Согласно варианту осуществления, количество импульсных возможных векторов может превышать количество шумовых возможных векторов, поскольку вычисления в отношении импульсных векторов могут быть более вычислительно эффективными, чем вычисления, осуществляемые в отношении шумовых векторов, вследствие разреженного характера некоторых импульсных векторов. (Т.е. многие элементы в импульсных векторах могут быть заданы равными нулю.)
Затем, на этапе 1510, к этим комбинациям первой и второй группы применяется функция первого критерия. В одном варианте осуществления, выбор из K возможных комбинаций можно осуществлять путем максимизации следующего упрощенного критерия (17),
(30)
. (31)
p
n
p
n
В вышеприведенном выражении, R(i) и R(j) вычислены на этапе 1502; E(i) и E(j) вычислены на этапе 1504.
Затем, на этапе 1512, первая группа комбинаций импульсного вектора и шумового вектора определяется на основании наивысших функций первого критерия. Например, в одном варианте осуществления, остаются индексы K комбинаций, которые дают K наибольших значений . Эти индексы сохраняются в матрице индексов . K значительно меньше количества всех возможных комбинаций импульсных и шумовых векторов.
k
Затем, на этапе 1514, функция второго критерия применяется к третьей группе комбинаций импульсного вектора и шумового вектора, и выбираются индексы импульсного вектора и шумового вектора, имеющие наивысший второй критерий. Например, в одном варианте осуществления, когда K наиболее перспективных комбинаций импульсных и шумовых векторов и их соответствующие знаки заранее определены на вышеупомянутых этапах 1502, 1504, 1506, 1508, 1510 и 1512, поиск сопровождается выбором одного импульсного вектора и одного шумового вектора из тех K комбинаций, которые будут максимизировать полный критерий поиска Q (17):
(32)
. (33)
p
k
n
k
p
k
n
k
p
k
n
k
p
k
В (32), R(i), R(j), E(i) и E(j) получены на этапах 1502 и 1504, z(i) и z(j) вычислены на этапе 1504. В случае, когда импульсные векторы содержат только один импульс, фильтрованный импульсный вектор z(i) в (32) может иметь нули от первого элемента вектора до позиции импульса, что может дополнительно упрощать вычисление.
В некоторых вариантах осуществления настоящего изобретения, этапы 1510 и 1512 могут быть пропущены в вариантах осуществления, имеющих сравнительно небольшое количество записей кодовой книги. В таком варианте осуществления, возможные комбинации первой и второй группы применяются непосредственно к функции второго критерия, например, уравнения (32) и (33), и выбираются индексы, соответствующие максимальному значению функции второго критерия.
В отсутствие ограничения, согласно которому CB 1 содержит импульсные векторы, и CB 2 содержит шумовые векторы, быстрый поиск общей смешанной кодовой книги может осуществляться следующим образом по аналогии с вышеприведенным описанием, касающимся кодовой книги, с использованием импульсных и шумовых векторов. Импульсная характеристика для возбуждения CB 1 выражается в виде
. (34)
Импульсная характеристика для возбуждения CB 2 выражается в виде
. (35)
k
Пусть c(n) – смешанный кодовый вектор, который выражается в виде
(36)
k
c
Возбуждение смешанной кодовой книги c(n) или  и соответствующий коэффициент 1406 усиления G можно определить путем минимизации критерия:
,(37)
где
(38)
(39)
(40)
. (41)
Предположим, что кодовые векторы  и  являются векторами со знаком:
(42)
. (43)
CB1
CB2
CB1
CB2
Задачей процедуры поиска является нахождение индексов i и i двух наилучших векторов и их соответствующих знаков, s и s.
Фиг.15b демонстрирует способ 1550 осуществления быстрого поиска общей смешанной кодовой книги согласно варианту осуществления. Очевидно, что способ 1500, представленный на вышеописанной фиг.15a, можно рассматривать как особый случай способа 1550 в некоторых вариантах осуществления.
CB1
CB2
CB1
1
CB1
i
CB1
Согласно варианту осуществления, на этапе 1552, после вычисления векторов  в (37), процесс предварительного определения используется для идентификации  из всех K возможных векторов CB 1 и  из всех K возможных векторов CB 2. Предварительное определение CB 1 осуществляется путем испытания  в уравнении (37) на предмет K векторов CB 1, которые имеют наибольшую абсолютную величину скалярного произведения (или квадрата скалярного произведения) между d и c. То есть, остаются индексы  векторов CB 1, которые дают  наибольших значений . Эти индексы сохраняются в векторе индекса m, i=0,..., . Для дополнительного упрощения поиска, также заранее устанавливается информация знака, соответствующая каждому заранее определенному вектору. Знак, соответствующий каждому заранее определенному вектору, определяется знаком  для этого вектора. Эти заранее установленные знаки сохраняются в векторе знака s(i), i=0,..., .
CB2
2
CB2
j
CB2
Согласно варианту осуществления, предварительное определение CB 2 осуществляется путем испытания  в уравнении (37) на предмет K векторов CB 2, которые имеют наибольшую абсолютную величину скалярного произведения (или квадрата скалярного произведения) между d и c. То есть, остаются индексы  векторов CB 2, которые дают  наибольших значений . Эти индексы сохраняются в векторе индекса n, j=0,..., . Для дополнительного упрощения поиска, также заранее устанавливается информация знака, соответствующая каждому заранее определенному вектору. Знак, соответствующий каждому заранее определенному вектору, определяется знаком  для этого вектора. Эти заранее установленные знаки сохраняются в векторе знака s(j), j=0,..., .
CB1
CB2
Поскольку кодовая книга смешанного возбуждения часто используется для кодирования речи на низких частотах следования битов, K или K невелико. В этом случае, процесс предварительного определения просто рассматривает все  возможных векторов CB 1 в качестве кандидатов и все  возможных векторов CB 2 в качестве кандидатов.
CB1
CB2
i
Затем, на этапе 1554, вычисляются энергетические члены E и E. Согласно варианту осуществления, член  фильтрованных векторов CB 1 в уравнении (40) вычисляется для ограниченного количества  возможных векторов CB 1 из этапа 1552, сохраненных с вектором индекса m, i=0,..., .
j
CB1
CB2
Энергетический член  фильтрованных векторов CB 2 в уравнении (41) также вычисляется для ограниченного количества  возможных векторов CB 2 из этапа 1552, сохраненных с вектором индекса, n, j=0,..., . В некоторых вариантах осуществления, энергетические члены E и E могут заранее вычисляться и сохраняться в памяти.
На этапе 1556, вычисляется и выбирается K возможных комбинаций вкладов смешанной кодовой книги из  возможных комбинаций, полученных на этапе 1552 и этапе 1554. В некоторых вариантах осуществления, K меньше, чем , то есть . Выбор из K возможных комбинаций достигается путем максимизации следующего упрощенного критерия (37),
(44)
. (45)
CB1
CB2
CB1
CB2
В вышеприведенном выражении, R(i) и R(j) вычислены на этапе 1552, и E(i) и E(j) вычислены на этапе 1554. Остаются индексы K комбинаций, которые дают K наибольших значений. Эти индексы сохраняются в матрице индексов . K значительно меньше количества всех возможных комбинаций векторов смешанной кодовой книги.
k
Затем на этапе 1558, вектор выбирается из K возможных комбинаций, определенных на этапе 1556. Например, когда K наиболее перспективных комбинаций векторов смешанной кодовой книги и их соответствующих знаков заранее определено на вышеупомянутых этапе 1552, этапе 1554 и этапе 1556, поиск сопровождается выбором одного вектора CB 1 и одного вектора CB 2 из тех K комбинаций, которые будут максимизировать полный критерий поиска Q (37):
(46)
. (47)
CB1
k
CB2
k
CB1
k
CB2
k
CB1
k
CB2
k
В (46), R(i), R(j), E(i) и E(j) получены на этапе 1556; z(i) и z(j) вычислены на этапе 1554.
В некоторых вариантах осуществления настоящего изобретения, вычисление уравнений (44) и (45) может быть пропущено, и уравнения (46) и (47) можно использовать для определения выбранного вектора смешанной кодовой книги непосредственно для вариантов осуществления, имеющих кодовую книгу сравнительно небольшого размера.
Этапы 1510 и 1512 могут быть пропущены в вариантах осуществления, имеющих сравнительно небольшое количество записей кодовой книги. В таком варианте осуществления, возможные комбинации первой и второй группы применяются непосредственно к функции второго критерия, например, уравнения (32) и (33), и индексы, соответствующие максимальному значению функции второго критерия, выбираются и оцениваются следующим образом:
(48)
(49)
Уравнения (48) и (49) также можно применять к способу 1500, рассмотренному выше в некоторых вариантах осуществления.
Отношение сигнал-шум (SNR) является одним из способов объективного испытательного измерения для кодирования речи. Другим объективным измерением является взвешенное сегментальное SNR (WsegSNR). WsegSNR должен быть немного ближе к реальному измерению воспринимаемого качества, чем SNR. Малая разность значений SNR или WsegSNR может не восприниматься на слух. Большая разность значений SNR или WsegSNR, очевидно, воспринимается на слух. Для чистого речевого сигнала, SNR или WsegSNR, полученное с помощью импульсно-шумовой смешанной FCB, может быть эквивалентно полученным с использованием импульсоподобной FCB при том же размере FCB. Для зашумленного речевого сигнала, SNR или WsegSNR, полученное с помощью импульсно-шумовой смешанной FCB, может быть немного выше полученных с использованием импульсоподобной FCB при том же размере FCB. Кроме того, для всех видов речевых сигналов, SNR или WsegSNR, полученное с помощью быстрого поиска смешанной FCB, очень близко к полученным с помощью полного поиска смешанной FCB.
В некоторых вариантах осуществления, результаты пробного прослушивания указывают, что воспринимаемое качество зашумленного речевого сигнала заметно повышается с использованием импульсно-шумовой смешанной FCB вместо импульсоподобной FCB, которая звучит мягче, более естественно и менее резко. Кроме того, результаты испытания демонстрируют, что воспринимаемое качество с быстрым поиском смешанной FCB эквивалентно воспринимаемое качество с полным поиском смешанной FCB.
Фиг.16 демонстрирует систему 10 связи согласно варианту осуществления настоящего изобретения. Система 10 связи имеет устройства 6 и 8 доступа к аудио, подключенные к сети 36 через линии 38 и 40 связи. В одном варианте осуществления, устройства 6 и 8 доступа к аудио являются устройствами голосовой связи посредством интернет-протокола (VOIP), и сеть 36 является глобальной сетью (WAN), коммутируемой телефонной сетью общего пользования (PTSN) и/или Интернетом. Линии 38 и 40 связи являются проводными и/или беспроводными широкополосными соединениями. В альтернативном варианте осуществления, устройства 6 и 8 доступа к аудио являются сотовыми или мобильными телефонами, линии 38 и 40 связи являются беспроводными каналами мобильной телефонной связи, и сеть 36 представляет сеть мобильной телефонной связи.
Устройство 6 доступа к аудио использует микрофон 12 для преобразования звука, например, музыки или человеческого голоса в аналоговый входной аудиосигнал 28. Микрофонный интерфейс 16 преобразует аналоговый входной аудиосигнал 28 в цифровой аудиосигнал 32 для ввода в кодер 22 кодека 20. Кодер 22 вырабатывает кодированный аудиосигнал TX для передачи в сеть 26 через сетевой интерфейс 26 согласно вариантам осуществления настоящего изобретения. Декодер 24 в кодеке 20 принимает кодированный аудиосигнал RX из сети 36 через сетевой интерфейс 26 и преобразует кодированный аудиосигнал RX в цифровой аудиосигнал 34. Интерфейс 18 громкоговорителя преобразует цифровой аудиосигнал 34 в аудиосигнал 30, пригодный для возбуждения громкоговорителя 14.
В вариантах осуществления настоящего изобретения, где устройство 6 доступа к аудио является устройством VOIP, некоторые или все из компонентов в устройстве 6 доступа к аудио реализуются в телефонной трубке. Однако в некоторых вариантах осуществления, микрофон 12 и громкоговоритель 14 являются отдельными блоками и микрофонный интерфейс 16, интерфейс 18 громкоговорителя, кодек 20 и сетевой интерфейс 26 реализуются на персональном компьютере. Кодек 20 можно реализовать либо в виде программного обеспечения, выполняющегося на компьютере, либо на специализированном процессоре, либо на специализированном аппаратном обеспечении, например, на специализированной интегральной схеме (ASIC). Микрофонный интерфейс 16 реализуется посредством аналого-цифрового (A/D) преобразователя, а также другой интерфейсной схемы, находящейся в телефонной трубке и/или в компьютере. Аналогично, интерфейс 18 громкоговорителя реализуется посредством цифро-аналогового преобразователя и другой интерфейсной схемы, находящейся в телефонной трубке и/или в компьютере. В дополнительных вариантах осуществления, устройство 6 доступа к аудио можно реализовать и разбивать другими способами, известными в технике.
В вариантах осуществления настоящего изобретения, где устройство 6 доступа к аудио является сотовым или мобильным телефоном, элементы в устройстве 6 доступа к аудио реализуются в сотовой телефонной трубке. Кодек 20 реализуется посредством программного обеспечения, выполняющегося на процессоре в телефонной трубке, или посредством специализированного аппаратного обеспечения. В дополнительных вариантах осуществления настоящего изобретения, устройство доступа к аудио можно реализовать в других устройствах, например, одноранговых проводных и беспроводных цифровых системах связи, например, системах внутренней связи и переносных радиостанциях. В таких вариантах применения, как потребительских аудиоустройствах, устройство доступа к аудио может содержать кодек, имеющий только кодер 22 или декодер 24, например, в системе цифрового микрофона или устройстве воспроизведения музыки. В других вариантах осуществления настоящего изобретения, кодек 20 можно использовать без микрофона 12 и громкоговорителя 14, например, в сотовых базовых станциях, которые осуществляют доступ к PTSN.
В соответствии с вариантом осуществления, способ кодирования аудио/речевого сигнала включает в себя определение вектора смешанной кодовой книги на основании поступающего аудио/речевого сигнала, причем вектор смешанной кодовой книги содержит сумму записи первой кодовой книги из первой кодовой книги и записи второй кодовой книги из второй кодовой книги. Способ дополнительно включает в себя генерацию кодированного аудиосигнала на основании определенного вектора смешанной кодовой книги и передачу кодированного индекса возбуждения определенного вектора смешанной кодовой книги. Согласно варианту осуществления, первая кодовая книга включает в себя импульсоподобные записи, и вторая кодовая книга включает в себя шумоподобные записи. В некоторых вариантах осуществления, первая и вторая кодовые книги включают в себя фиксированные кодовые книги. Этапы определения и генерации можно осуществлять с использованием аппаратного аудиокодера. Аппаратный аудиокодер может включать в себя процессор и/или специализированное аппаратное обеспечение.
Согласно варианту осуществления, определение вектора смешанной кодовой книги включает в себя вычисление первых корреляций между фильтрованным целевым вектором и фильтрованными записями в первой кодовой книге, определение первой группы наивысших первых корреляций, вычисление корреляций между фильтрованным целевым вектором и фильтрованными записями во второй кодовой книге, определение второй группы наивысших вторых корреляций, и вычисление функции первого критерия комбинаций первой и второй групп. Функция первого критерия включает в себя функцию одной из первой группы наивысших первых корреляций, одной из второй группы наивысших вторых корреляций и энергии соответствующих записей из первой кодовой книги и второй кодовой книги. Фильтрованный целевой вектор основан на поступающем аудиосигнале.
Согласно варианту осуществления способ дополнительно включает в себя определение третьей группы возможных корреляций на основании наивысших вычисленных функций первого критерия, и выбор вектора смешанной кодовой книги на основании применения функции второго критерия к третьей группе. Вектор смешанной кодовой книги соответствует записям кодовой книги из первой кодовой книги и второй кодовой книги, связанным с наивысшим значением функции второго критерия.
Согласно варианту осуществления, функция первого критерия представляет собой
,
CB1
CB2
CB1
CB2
где R(i) – корреляция между фильтрованным целевым вектором и i-ой первой записью первой кодовой книги, R(j) – корреляция между фильтрованным целевым вектором и j-ой записью второй кодовой книги, E(i) – энергия i-ой записи первой кодовой книги, и E(i) – энергия j-ой записи второй кодовой книги,  – количество записей первой кодовой книги в первой группе, и  – количество записей второй кодовой книги во второй группе. Второй критерий можно выразить в виде
,
K
где  – фильтрованный вектор i-ой записи первой кодовой книги, и  – фильтрованный вектор j-ой записи второй кодовой книги, и  – количество записей в третьей группе.
В некоторых вариантах осуществления, способ включает в себя выбор вектора смешанной кодовой книги на основании наивысшей вычисленной функции первого критерия. Эта наивысшая вычисленная функция первого критерия может быть выражена в виде
,
CB1
CB2
CB1
CB2
где R(i) – корреляция между фильтрованным целевым вектором и i-ой первой записью первой кодовой книги, R(j) – корреляция между фильтрованным целевым вектором и j-ой записью второй кодовой книги, E(i) – энергия i-ой записи первой кодовой книги, и E(i) – энергия j-ой записи второй кодовой книги, и  – количество записей первой кодовой книги в первой группе, и  – количество записей второй кодовой книги во второй группе.
Согласно варианту осуществления, способ дополнительно включает в себя вычисление энергий соответствующих записей из первой кодовой книги и второй кодовой книги. В ряде случаев, энергии соответствующих записей из первой кодовой книги и второй кодовой книги сохраняются в памяти. Кроме того, первая группа может включать в себя больше записей, чем вторая группа.
Согласно варианту осуществления, способ дополнительно включает в себя применение первой функции выделения к записи первой кодовой книги, и применение второй функции выделения к записи второй кодовой книги. Первая функция выделения может включать в себя функцию фильтрации нижних частот, и вторая функция выделения может включать в себя функцию фильтрации верхних частот.
В соответствии с дополнительным вариантом осуществления, система для кодирования аудио/речевого сигнала, которая включает в себя аппаратный аудиокодер, выполненный с возможностью определения вектора смешанной кодовой книги на основании поступающего аудио/речевого сигнала, генерации кодированного аудио/речевого сигнала на основании определенного вектора смешанной кодовой книги, передачи кодированного индекса возбуждения определенного вектора смешанной кодовой книги. Вектор смешанной кодовой книги включает в себя сумму записи первой кодовой книги из импульсоподобной кодовой книги и записи второй кодовой книги из шумоподобной кодовой книги. Аппаратный аудиокодер может включать в себя процессор и/или специализированное аппаратное обеспечение.
Согласно варианту осуществления, аппаратный аудиокодер дополнительно выполнен с возможностью вычисления первых корреляций между фильтрованным целевым вектором и записями в импульсоподобной кодовой книге, определения первой группы наивысших первых корреляций, вычисления корреляций между фильтрованным целевым вектором и записями в шумоподобной кодовой книге, определения второй группы наивысших вторых корреляций, и вычисления функции первого критерия комбинаций первой и второй групп. Функция первого критерия включает в себя функцию одной из первой группы наивысших первых корреляций, одной из второй группы наивысших вторых корреляций и энергию соответствующих записей из импульсоподобной кодовой книги и шумоподобной кодовой книги. Кроме того, фильтрованный целевой вектор основан на поступающем аудиосигнале. В некоторых вариантах осуществления, система дополнительно включает в себя память, выполненную с возможностью хранения значений энергии соответствующих записей из импульсоподобной кодовой книги и шумоподобной кодовой книги.
Согласно варианту осуществления, аппаратный аудиокодер может быть дополнительно выполнен с возможностью выбора вектора смешанной кодовой книги на основании наивысшей вычисленной функции первого критерия. Эту функцию первого критерия можно выразить в виде
,
CB1
CB2
CB1
CB2
где R(i) – корреляция между фильтрованным целевым вектором и i-ой первой записью первой кодовой книги, R(j) – корреляция между фильтрованным целевым вектором и j-ой записью второй кодовой книги, E(i) – энергия i-ой записи первой кодовой книги, и E(i) – энергия j-ой записи второй кодовой книги, и  – количество записей первой кодовой книги в первой группе, и  – количество записей второй кодовой книги во второй группе.
В соответствии с дополнительным вариантом осуществления, способ быстрого поиска смешанной кодовой книги для кодирования аудио/речевого сигнала включает в себя определение вектора смешанной кодовой книги на основании поступающего аудио/речевого сигнала, причем вектор смешанной кодовой книги включает в себя сумму записи первой кодовой книги из первой кодовой книги и записи второй кодовой книги из второй кодовой книги. Способ дополнительно включает в себя вычисление первых корреляций между фильтрованным целевым вектором и фильтрованными записями в первой кодовой книге, определение первой группы наивысших первых корреляций, вычисление корреляций между фильтрованным целевым вектором и фильтрованными записями во второй кодовой книге, определение второй группы наивысших вторых корреляций, и вычисление функции первого критерия комбинаций первой и второй групп. Функция первого критерия включает в себя функцию одной из первой группы наивысших первых корреляций, одной из второй группы наивысших вторых корреляций и энергии соответствующих записей из первой кодовой книги и второй кодовой книги, и фильтрованный целевой вектор основан на поступающем аудиосигнале. Способ дополнительно включает в себя определение третьей группы возможных корреляций на основании наивысших вычисленных функций первого критерия, выбор вектора смешанной кодовой книги на основании применения функции второго критерия к третьей группе, причем вектор смешанной кодовой книги соответствует записям кодовой книги из первой кодовой книги и второй кодовой книги, связанным с наивысшим значением функции второго критерия. Кроме того, способ дополнительно включает в себя генерацию кодированного аудиосигнала на основании определенного вектора смешанной кодовой книги и передачу кодированного индекса возбуждения определенного вектора смешанной кодовой книги, причем определение и генерация осуществляются с использованием аппаратного аудиокодера. Аппаратный аудиокодер может включать в себя процессор и/или специализированное аппаратное обеспечение.
Согласно варианту осуществления, функция первого критерия представляет собой
,
CB1
CB2
CB1
CB2
где R(i) – корреляция между фильтрованным целевым вектором и i-ой первой записью первой кодовой книги, R(j) – корреляция между фильтрованным целевым вектором и j-ой записью второй кодовой книги,E(i) – энергия i-ой записи первой кодовой книги, и E(i) – энергия j-ой записи второй кодовой книги,  – количество записей первой кодовой книги в первой группе, и  – количество записей второй кодовой книги во второй группе. Функция второго критерия представляет собой
,
K
где  – фильтрованный вектор i-ой записи первой кодовой книги, и  – фильтрованный вектор j-ой записи второй кодовой книги, и  – количество записей в третьей группе. В некоторых вариантах осуществления, первая кодовая книга может быть импульсоподобной кодовой книгой, и вторая кодовая книга может быть шумоподобной кодовой книгой.
Преимущество систем, отвечающих варианту осуществления, которые используют смешанное импульсно-шумовое возбуждение, включают в себя способность обеспечивать более высокое воспринимаемое качество универсального речевого сигнала по сравнению с системами, использующими только импульсное возбуждение или только шумовое возбуждение. Кроме того, в некоторых вариантах осуществления, подход быстрого поиска импульсно-шумового возбуждения позволяет снизить сложность системы, что делает алгоритм импульсно-шумового возбуждения более привлекательным.
Хотя это изобретение описано со ссылкой на иллюстративные варианты осуществления, это описание не следует рассматривать в ограничительном смысле. Специалисты в данной области техники, на основании описания, могут предложить различные модификации и комбинации иллюстративных вариантов осуществления, а также другие варианты осуществления изобретения. Таким образом, предполагается, что нижеследующая формула изобретения охватывает все подобные модификации или варианты осуществления.