ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к области кодирования и декодирования звукового сигнала, например аудиосигнала. В частности, настоящее изобретение относится к устройству и способу квантования и обратного квантования LPC-фильтров (фильтров коэффициентов линейного предсказания), например, в суперкадре.
УРОВЕНЬ ТЕХНИКИ
В различных областях применения, таких как, например, проведение телеконференций, передача мультимедийной информации и беспроводная связь, растет потребность в эффективных способах цифрового кодирования речевой и звуковой информации, обеспечивающих хорошее субъективное качество и скорость передачи битов.
Кодер речи осуществляет преобразование речевого сигнала в цифровой поток битов, который передают по каналу связи или сохраняют на носителе информации. Речевой сигнал, подлежащий кодированию, преобразовывают в цифровую форму, а именно производят выборку и квантование с использованием, например, 16 битов на каждую выборку. Проблемой для кодера речи является представление цифровых выборок посредством меньшего количества битов, сохраняя при этом хорошее субъективное качество речевого сигнала. Декодер речи или синтезатор осуществляют преобразование переданного или сохраненного потока битов обратно в звуковой сигнал.
Кодирование с линейным предсказанием с кодовым возбуждением (CELP-кодирование) является одним из наилучших способов достижения хорошего компромисса между субъективным качеством и скоростью передачи битов. Способ CELP-кодирования является основой для нескольких стандартов кодирования речи, применяемых как для беспроводных линий связи, так и для проводных линий связи. При CELP-кодировании производят выборку речевого сигнала и выполняют его обработку в виде последовательных блоков из выборок, обычно именуемых кадрами, где - заданное количество выборок, обычно соответствующее 10-30 мс речевого сигнала. Вычисление и передачу фильтра линейного предсказания (LP-фильтра) производят в каждом кадре; LP-фильтр также известен как LPC-фильтр (фильтр коэффициентов линейного предсказания). При вычислении LPC-фильтра обычно используют упреждающий сегмент речевого сигнала длительностью, например, 5-15 мс из последующего кадра. Кадр из выборок разделяют на блоки меньшего размера, именуемые подкадрами. В каждом подкадре сигнал возбуждения обычно получают из двух составляющих: прошлого возбуждения и нового возбуждения по фиксированной кодовой книге. Прошлое возбуждение часто именуют возбуждением по адаптивной кодовой книге или по пошаговой кодовой книге. Параметры, характеризующие сигнал возбуждения, кодируют и передают в декодер, где сигнал возбуждения восстанавливают и используют в качестве входного сигнала LPC-фильтра.
В таких областях применения, как, например, потоковая и широковещательная передача мультимедийной информации, может оказаться необходимым, чтобы кодирование речи, музыки и смешанного контента выполнялось с низкой скоростью передачи битов. Для этого были разработаны модели кодирования, в которых CELP-кодирование, оптимизированное для речевых сигналов, сочетают с кодированием с преобразованием, оптимизированным для звуковых сигналов. Примером таких моделей является кодек AMR-WB+ (расширенный адаптивный многоскоростной широкополосный кодек) [1], который обеспечивает переключение между CELP-кодированием и TCX-кодированием (кодированием с преобразованием кодированного возбуждения). Для повышения качества музыкального и смешанного контента используют длинную задержку для учета более высокой разрешающей способности по частоте в области преобразования. В кодеке AMR-WB+ используют так называемый суперкадр, который состоит из четырех кадров CELP (обычно длительностью 80 мс).
Несмотря на то, что в кодеке AMR-WB+ параметры CELP-кодирования передают один раз через каждые 4 кадра, квантование LPC-фильтра выполняют отдельно в каждом кадре. К тому же, в случае кадров CELP LPC-фильтр квантуют с постоянным количеством битов в каждом кадре.
Для преодоления вышеизложенного недостатка существует потребность в создании способа, в котором используют квантование LPC-фильтров с переменной скоростью передачи битов, в котором используют структуру с суперкадрами для сокращения количества битов, задействованных в квантовании LPC-фильтров. К тому же, такой способ будет соответствовать моделям кодирования речевой и звуковой информации, в которых используют обе структуры: структуру с суперкадрами и многорежимную структуру, например кодек AMR-WB+ [1] и кодек USAC (унифицированный кодек для речевой и звуковой информации), разрабатываемые в Экспертной группе по вопросам движущихся изображений (MPEG).
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Согласно первому аспекту настоящего изобретения, предложен способ квантования, в суперкадре, включающем в себя последовательность кадров, LPC-фильтров, вычисленных во время кадров из этой последовательности, причем способ квантования LPC-фильтров содержит: выполняют первое квантование одного из LPC-фильтров с использованием абсолютного квантования; и выполняют квантование остальных LPC-фильтров с использованием режима квантования, выбранного из группы, состоящей из абсолютного квантования и дифференциального квантования относительно, по меньшей мере, одного ранее квантованного фильтра из LPC-фильтров.
Согласно второму аспекту настоящего изобретения, предложено устройство для квантования, в суперкадре, включающем в себя последовательность кадров, LPC-фильтров, вычисленных во время кадров из этой последовательности, причем устройство квантования LPC-фильтров содержит: средство первого квантования одного из LPC-фильтров с использованием абсолютного квантования; и средство квантования других LPC-фильтров с использованием режима квантования, выбранного из группы, состоящей из абсолютного квантования и дифференциального квантования относительно, по меньшей мере, одного ранее квантованного фильтра из LPC-фильтров.
Согласно третьему аспекту настоящего изобретения, предложен способ обратного квантования, по меньшей мере, одного LPC-фильтра в суперкадре, включающем в себя последовательность кадров, каждый из которых поставлен в соответствие LPC-фильтру, причем один из LPC-фильтров квантован первым с использованием абсолютного квантования, а после этого квантованы другие LPC-фильтры с использованием способа квантования, выбранного из группы, состоящей из абсолютного квантования и дифференциального квантования относительно, по меньшей мере, одного ранее квантованного фильтра из LPC-фильтров, при этом способ обратного квантования, по меньшей мере, одного LPC-фильтра содержит этапы, на которых: принимают, по меньшей мере, LPC-фильтр, квантованный первым; выполняют обратное квантование LPC-фильтра, квантованного первым, с использованием абсолютного обратного квантования; и если принят какой-либо иной квантованный LPC-фильтр, чем LPC-фильтр, квантованный первым, то выполняют обратное квантование упомянутого квантованного LPC-фильтра с использованием одного из следующих способов квантования: абсолютного обратного квантования и дифференциального обратного квантования относительно, по меньшей мере, одного ранее принятого квантованного LPC-фильтра.
Согласно четвертому аспекту настоящего изобретения, в нем предложено устройство для обратного квантования, по меньшей мере, одного LPC-фильтра в суперкадре, включающем в себя последовательность кадров, каждый из которых поставлен в соответствие LPC-фильтру, причем первым квантован один из LPC-фильтров с использованием абсолютного квантования, а после этого квантованы другие LPC-фильтры с использованием способа квантования, выбранного из группы, состоящей из абсолютного квантования и дифференциального квантования относительно, по меньшей мере, одного ранее квантованного фильтра из LPC-фильтров, и при этом устройство для обратного квантования, по меньшей мере, одного LPC-фильтра содержит: средство приема, по меньшей мере, LPC-фильтра, квантованного первым; средство обратного квантования LPC-фильтра, квантованного первым, с использованием абсолютного обратного квантования; и средство обратного квантования квантованного LPC-фильтра с использованием одного из следующих способов квантования: абсолютного обратного квантования и дифференциального обратного квантования относительно, по меньшей мере, одного ранее принятого квантованного LPC-фильтра, если принят какой-либо иной квантованный LPC-фильтр, чем LPC-фильтр, квантованный первым.
Вышеизложенные и другие аспекты, преимущества и отличительные признаки настоящего изобретения станут более очевидными при прочтении изложенного ниже неограничивающего описания иллюстративных вариантов осуществления, приведенных в качестве примера, со ссылкой на сопроводительные чертежи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На приложенных чертежах изображено следующее.
Фиг.1 - блок-схема, на которой проиллюстрирован абсолютный квантователь LPC-фильтра и дифференциальный квантователь LPC-фильтра по множеству образцов и способ квантования.
Фиг.2 - диаграмма, на которой проиллюстрирована схема квантования без обратной связи.
Фиг.3 - схема последовательности операций, на которой проиллюстрированы устройство и способ определения LPC-фильтров, подлежащих передаче, в конфигурации, в которой используют четыре (4) LPC-фильтра и производят их передачу в суперкадре.
Фиг.4А - типичное окно LPC-анализа и типичное положение центра LPC-анализа, когда производят оценку одного LPC-фильтра в каждом кадре (или суперкадре) в кодеке, основанном на LPC, где LPC0 соответствует последнему LPC-фильтру, вычисленному во время предыдущего кадра (или суперкадра).
Фиг.4Б - типичное окно LPC-анализа, когда производят оценку четырех (4) LPC-фильтров в каждом кадре (или суперкадре) в кодеке, основанном на LPC, где центр окна LPC-анализа расположен в конце кадра.
Фиг.5 - схема последовательности операций, на которой проиллюстрирован пример схемы апостериорного ("out-of-the-loop") квантования.
Фиг.6 - принципиальная блок-схема алгебраического LPC-квантователя с весовой обработкой и способа квантования.
Фиг.7 - принципиальная блок-схема алгебраического LPC-квантователя с обратной весовой обработкой и способа обратного квантования.
Фиг.8 - принципиальная блок-схема квантователя и способа квантования; и
Фиг.9 - принципиальная блок-схема декодера и способа декодирования.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Дифференциальное квантование с выбором возможных образцов
Используется дифференциальное квантование с выбором между несколькими возможными образцами. В частности, выполняют дифференциальное квантование LPC-фильтра относительно нескольких возможных образцов.
Известно, что последовательные LPC-фильтры имеют определенную степень корреляции. Для целесообразного использования этой корреляции в LPC-квантователях обычно используют предсказание. Вместо квантования вектора коэффициентов линейного предсказания (LPC-вектора) непосредственно представляющего LPC-фильтр, дифференциальный (или предиктивный) квантователь сперва вычисляет предсказанное значение этого LPC-вектора, а затем квантует разность (часто именуемую разностью предсказания) между исходным вектором LPC и предсказанным LPC-вектором.
Предсказание обычно основано на предыдущих значениях LPC-фильтра. Обычно используют предикторы двух типов: предикторы на основе метода скользящего среднего (MA) и предикторы на основе авторегрессии (AR). Несмотря на то, что AR-предикторы часто являются более эффективными при уменьшении L2-нормы (среднеквадратичного значения) данных, подлежащих квантованию, чем MA-предикторы, последние иногда являются полезными, поскольку в меньшей степени подвержены распространению ошибок в случае наличия ошибок при передачи [2].
Так как L2-норма невязки предсказания является в среднем более низкой, чем L2-норма исходного LPC-вектора (отношение между двумя в зависимости от степени предсказуемости LPC-фильтра), дифференциальный (или предиктивный) квантователь может достичь той же самой степени эффективности, что и абсолютный квантователь, но при более низкой скорости передачи битов.
В среднем, предсказание действительно является эффективным при уменьшении L2-нормы данных, подлежащих квантованию. Однако этот характер поведения не является постоянным; предсказание является намного более эффективным во время устойчивых сегментов сигнала, чем во время переходных сегментов. Предсказание даже может привести к увеличенным значениям L2-нормы, когда происходит быстрое изменение LPC-фильтров. Некоторое улучшение функционирования может быть достигнуто при учете двух различных предикторов, одного - для хорошо предсказуемых сегментов, а другого - для менее предсказуемых сегментов [3, 4]. Как упомянуто в приведенном выше описании, в этом способе используют только прошлые значения LPC-фильтра.
Для преодоления этой проблемы предложено выполнять дифференциальное квантование LPC-фильтра относительно образца, например образцового фильтра, выбранного из нескольких возможных образцов. Возможные образцовые фильтры представляют собой уже квантованные прошлые или будущие LPC-фильтры (следовательно, имеющиеся как в декодере, так и в кодере) или результаты различных операций экстраполяции или интерполяции, примененных к уже квантованным прошлым или будущим LPC-фильтрам. Выбирают образцовый фильтр, который обеспечивает меньшее искажение при заданной скорости передачи или при более низкой скорости передачи битов для заданного целевого уровня искажений.
На Фиг.1 изображена блок-схема, на которой проиллюстрированы устройство и способ квантования LPC-фильтра по множеству образцов. Заданный LPC-фильтр 101, представленный вектором коэффициентов линейного предсказания, вводят в устройство и в способ квантования LPC-фильтра по множеству образцов. Выполняют дифференциальное квантование введенного LPC-фильтра 101 относительно образца, выбранного из нескольких возможных образцов 1, 2, …, n. Возможные образцы включают в себя:
- прошлые или будущие квантованные LPC-фильтры;
- результат операций экстраполяции или интерполяции, примененных к прошлым или будущим квантованным LPC-фильтрам; или
- любое квантованное значение, имеющееся как в кодере, так и в декодере.
В качестве примера, не являющегося ограничивающим признаком, может быть выполнено дифференциальное квантование входного LPC-фильтра 101 относительно предыдущего квантованного LPC-фильтра, последующего квантованного LPC-фильтра или среднего значения этих двух квантованных LPC-фильтров: предыдущего и последующего. Образец также может представлять собой LPC-фильтр, квантованный с использованием абсолютного квантователя, или результат интерполяции, экстраполяции или предсказания (AR или MA) любого вида, примененный к уже квантованным LPC-фильтрам.
Операции 102 и 1031, 1032, …, 103n: по-прежнему со ссылкой на Фиг.1, входной LPC-фильтр 101 подают в абсолютный квантователь (Операция 102) и в дифференциальные квантователи (операции 1031, 1032, …, 103n). Абсолютный квантователь (операция 102) квантует абсолютное значение (не разность) входного LPC-фильтра 101. Дифференциальные квантователи (операции 1031, 1032, …, 103n) предназначены для дифференциального квантования входного LPC-фильтра 101 относительно соответствующих образцов 1, 2, …, n.
Операция 104: устройство и способ квантования LPC-фильтра по множеству образцов из Фиг.1 содержат средство выбора, предназначенное для выбора из образцов 1, 2, …, n того образца, который обеспечивает самый низкий уровень искажений при заданной скорости передачи битов или при самой низкой скорости передачи битов для заданного целевого уровня искажений. В частности, средство выбора (операция 104) использует такой критерий выбора, который минимизирует скорость передачи битов для достижения определенного целевого уровня искажений, или который минимизирует уровень искажений, созданный при заданной скорости передачи битов.
При операции 104 может быть произведен выбор образца из образцов 1, 2, …, n для фактического использования в способе дифференциального квантования в схеме с обратной связью или без обратной связи.
В схеме с обратной связью проводят пробные испытания всех возможных образцов и выбирают тот образец, который оптимизирует определенный критерий искажений или скорость передачи битов. Например, в схеме с обратной связью выбор может быть основан на минимизации взвешенной среднеквадратической ошибки между входным LPC-вектором и квантованным LPC-вектором, соответствующим каждому образцу. Также может использоваться спектральное искажение между входным LPC-вектором и квантованным LPC-вектором. В альтернативном варианте квантование с использованием возможных образцов может быть выполнено таким образом, что при этом уровень искажений поддерживается ниже определенного порогового значения, и выбирают тот образец, который не только удовлетворяет этому критерию, но и использует меньшее количество битов. Как будет объяснено в приведенном ниже описании, для квантования масштабированного вектора невязки (разности между входным LPC-вектором и образцом) может использоваться алгебраический векторный квантователь с переменной скоростью передачи битов, который использует определенный ресурс битов на основании энергии масштабированного вектора невязки. В этом случае выбирают тот образец, который дает меньшее количество битов.
В схеме без обратной связи при операции 104 средство выбора задает образец на основании значения коэффициентов линейного предсказания входного LPC-фильтра, подлежащего квантованию, и коэффициентов линейного предсказания имеющихся образцовых LPC-фильтров. Например, вычисляют L2-норму вектора невязки для всех образцов и выбирают тот образец, который дает меньшее значение.
Операция 105: после выбора одного из образцов 1, 2, …, n при операции 104 передатчик (операция 105) передает или сообщает в декодер (не показан) квантованный LPC-фильтр (не показан) и индекс, указывающий режим квантования (подоперация 1051), например абсолютное или дифференциальное квантование. К тому же, когда используют дифференциальное квантование, то передатчик (операция 105) сообщает или передает в декодер индексы, характеризующие выбранный образец и соответствующий дифференциальный квантователь из операций 1031, 1032, …, 103n (подоперация 1052). Для такого оповещения в декодер передают несколько особых битов.
Использование нескольких различных возможных образцов делает дифференциальное квантование более эффективным с точки зрения снижения L2-нормы невязки предсказания по сравнению с ограничением только лишь прошлыми значениями, как при обычном предсказании. К тому же, для заданного целевого уровня искажений этот способ является более эффективным с точки зрения средней скорости передачи битов.
Абсолютное или дифференциальное квантование с переключением
Согласно второму объекту настоящего изобретения, используют абсолютное/дифференциальное (или предиктивное) квантование с переключением. На Фиг.1 проиллюстрирован пример абсолютной/дифференциальной схемы, в которой производят выбор между одним абсолютным квантователем (операция 102) и n дифференциальными квантователями (операции 1031, 1032, …, 103n) с использованием соответствующих различных образцов 1, 2, …, n. И вновь, при операции 104 средством выбора может быть произведен выбор квантователя из абсолютного квантователя и дифференциальных квантователей (операции 102 и 1031, 1032, …, 103n), где выбранный квантователь, согласно критерию выбора, минимизирует уровень искажений, создаваемый при заданной скорости передачи битов, или минимизирует скорость передачи битов для достижения целевого уровня искажений.
Некоторые LPC-фильтры могут быть закодированы с использованием абсолютного квантователя (операция 102). Другие LPC-фильтры кодируют путем дифференциального кодирования относительно одного или нескольких образцовых LPC-фильтров в дифференциальных квантователях (операции 1031, 1032, …, 103n).
Абсолютный квантователь (операция 102) может быть использован в качестве страховочного решения для LPC-фильтров, которые в противном случае являются дифференциально квантованными, например, в случае больших отклонений LPC или в тех случаях, когда абсолютный квантователь (операция 102) является более эффективным, чем дифференциальные квантователи (операции 1031, 1032, …, 103n), с точки зрения скорости передачи битов. Образцовый LPC-фильтр может (все образцовые LPC-фильтры могут) находиться в пределах одного и того же суперкадра во избежание введения зависимостей между суперкадрами, что обычно приводит к возникновению проблем в случае ошибок при передаче (потерь пакетов или разрушений кадров).
Как объяснено в приведенном выше описании, использование предсказания при квантовании LPC приводит к уменьшенной L2-норме данных, подлежащих квантованию, и, следовательно, к снижению средней скорости передачи битов для достижения определенного уровня производительности. Однако предсказание не всегда является одинаково эффективным. В переключаемом LPC [3, 4] выполняют предварительную классификация LPC-фильтра и используют различные предикторы в зависимости от предсказуемости LPC-фильтра, подлежащего квантованию. Однако этот способ был разработан применительно к фиксированной скорости передачи битов, поскольку два дифференциальных квантователя требуют одинакового количества битов для кодирования LPC-фильтра.
Также может быть предусмотрено наличие одного или нескольких абсолютных квантователей (операция 102). Кроме того, может быть предусмотрено наличие одного или нескольких дифференциальных (предиктивных) квантователей (операции 1031, 1032, …, 103n). Несколько дифференциальных квантователей (операции 1031, 1032, …, 103n) включают в себя несколько возможных образцов, таких как, например, 1, 2, …, n, и/или дифференциальные квантователи нескольких размеров и/или структур.
Как описано в приведенном выше описании, когда используют несколько дифференциальных квантователей (операции 1031, 1032, …, 103n), то выбор фактического дифференциального квантователя, подлежащего использованию, может быть выполнен способом выбора без обратной связи или с обратной связью.
Когда дифференциальное квантование не способно обеспечить достижение целевого уровня искажений, или когда абсолютное квантование требует меньшего количества битов, чем дифференциальное квантование, для достижения этого уровня искажений, то в качестве страховочного решения используют абсолютное квантование. Для того чтобы указать декодеру (не показан) фактически используемый квантователь, посредством передатчика передают (операция 105) один или несколько битов, в зависимости от количества возможных абсолютных и дифференциальных квантователей.
Абсолютное/дифференциальное квантование объединяет преимущества предиктивного квантования (снижение скорости передачи битов, связанное со снижением L2-нормы данных, подлежащих квантованию) с универсальностью абсолютного квантования (которое используют в качестве страховки в том случае, если дифференциальное (или предиктивное) квантование не обеспечивает достижения целевого, например незаметного, уровня искажений).
Когда содержатся несколько дифференциальных квантователей (операции 1031, 1032, …, 103n), то эти дифференциальные квантователи могут использовать либо один и тот же предиктор, либо различные предикторы. В частности, но не исключительно, эти несколько дифференциальных квантователей могут использовать одинаковые коэффициенты предсказания или различные коэффициенты предсказания.
Декодер содержит средство приема и извлечения из потока битов, которым является, например, демультиплексор, (a) квантованного LPC-фильтра и (b) индекса (индексов) или информации:
- о режиме квантования для определения того, был ли LPC-фильтр квантован с использованием абсолютного квантования или дифференциального квантования; и
- об образце из множества возможных образцов, которые были использованы для квантования LPC-фильтра.
Если информация о режиме квантования указывает, что LPC-фильтр был квантован с использованием абсолютного квантования, то для обратного квантования квантованного LPC-фильтра предоставляют обратный абсолютный квантователь (не показан). Если же информация о режиме квантования указывает, что LPC-фильтр был квантован с использованием дифференциального квантования, то тогда обратный дифференциальный квантователь (не показан) выполняет обратное дифференциальное квантование дифференциально квантованного LPC-фильтра по множеству образцов с использованием образца, соответствующего извлеченной информации об образце.
Схема апостериорного (out-of-the-loop) квантования
Кодек AMR-WB+ представляет собой гибридный кодек, который обеспечивает переключение между моделью кодирования во временной области, основанной на алгоритме ACELP-кодирования (кодирования с линейным предсказанием с алгебраическим кодовым возбуждением), и моделью кодирования в области преобразования, именуемой TCX. Кодек AMR-WB+ выполняется следующим образом [1]:
- входной сигнал разделяют на суперкадры из четырех (4) кадров;
- каждый суперкадр кодируют с использованием комбинации из четырех (4) возможных режимов кодирования, причем каждый режим кодирования охватывает различную длительность:
- ACELP (охватывает длительность, равную одному (1) кадру);
- TCX256 (охватывает длительность, равную одному (1) кадру);
- TCX512 (охватывает длительность, равную двум (2) кадрам); и
- TCX1024 (охватывает длительность, равную четырем (4) кадрам).
Следовательно, имеется 26 возможных комбинаций режимов для кодирования каждого суперкадра.
Для конкретного суперкадра комбинация режимов, которая минимизирует общую взвешенную ошибку, определяется процедурой выбора режима "с обратной связью". В частности, вместо тестирования этих 26 комбинаций, выбор режима выполняют путем одиннадцати (11) пробных испытаний (поиск по дереву, см. таблицу 1). В кодеке AMR-WB+ выбор режима с обратной связью основан на минимизации среднеквадратичной ошибки между входным сигналом и сигналом кодека во взвешенной области (или на максимизации отношения сигнал - шум квантования).
11 пробных испытаний для выбора режима с обратной связью в кодеке AMR-WB+
LPC-фильтры являются одним из различных параметров, передаваемых кодеком AMR-WB+. Ниже описаны некоторые ключевые элементы, относящиеся к квантованию и передаче этих LPC-фильтров.
Несмотря на то, что различные режимы кодирования не охватывают одинаковое количество кадров, количество LPC-фильтров, передаваемых в декодер, является одним и тем же для всех режимов кодирования и равно 1. Передается только тот LPC-фильтр, который соответствует концу охваченного сегмента. В частности, в случае TCX1024 вычисляют и передают один (1) LPC-фильтр в течение длительности четырех (4) кадров. В случае TCX512 вычисляют и передают один (1) LPC-фильтр в течение длительности двух (2) кадров. В случае TCX256 или ACELP вычисляют и передают один (1) LPC-фильтр в течение длительности одного (1) кадра.
В кодеке AMR-WB+ используется предиктивный LPC-квантователь (на основе скользящего среднего значения первого порядка). Функционирование последнего квантователя зависит от предварительно переданного LPC-фильтра и, следовательно, от предварительно выбранного режима кодирования. Следовательно, поскольку точная комбинация режимов не известна до тех пор, пока не будет закодирован весь суперкадр, некоторые LPC-фильтры кодируются несколько раз, прежде чем будет определена конечная комбинация режимов.
Например, LPC-фильтр, расположенный в конце кадра 3, передается в декодер только тогда, когда третий кадр закодирован как ACELP или TCX256. Он не передается, когда кадры 3 и 4 закодированы совместно с использованием TCX512. Что касается LPC-фильтра, расположенного в конце кадра 2, то он передается при всех комбинациях режимов, кроме TCX1024. Следовательно, предсказание, выполненное при квантовании последнего LPC-фильтра суперкадра, зависит от комбинации режимов для всего суперкадра.
Принцип раскрытого способа заключается в том, что порядок, в котором выполняется квантование LPC-фильтров, выбран таким образом, чтобы после того, как было окончательно принято решение относительно обратной связи, передача информации о квантовании, соответствующей ненужным LPC-фильтрам, могла быть пропущена без какого-либо влияния на передачу и декодирование в декодере других фильтров. Для каждого LPC-фильтра, подлежащего квантованию с использованием описанной выше стратегии дифференциального квантования, это налагает некоторые ограничения на возможные образцовые LPC-фильтры.
Приведенный ниже пример дан со ссылкой на Фиг.2.
Операция 1 на Фиг.2: во избежание каких-либо зависимостей между суперкадрами, квантование, по меньшей мере, одного LPC-фильтра выполняется с использованием абсолютного LPC-квантователя. Поскольку фильтр LPC4 кадра 4 из суперкадра всегда передается при любой комбинации режимов кодирования, определенной посредством процедуры выбора с обратной связью, то удобно квантовать этот фильтр LPC4 с использованием абсолютного квантователя.
Операция 2 на Фиг.2: следующим LPC-фильтром, подлежащим квантованию, является фильтр LPC2 кадра 2 из суперкадра, который передается для всех комбинаций режимов за исключением TCX1024. Дифференциальный квантователь может использоваться, например, для кодирования разности между фильтром LPC2 и версией фильтра LPC4, квантованной путем абсолютного квантования. В качестве страховочного решения, например в случае больших отклонений LPC или когда абсолютный LPC-квантователь является более эффективным, чем дифференциальный квантователь, с точки зрения скорости передачи битов и/или уровня искажений, также может быть использован тот же самый абсолютный квантователь, который был использован для кодирования фильтра LPC4.
Операция 3 на Фиг.2: остальные два LPC-фильтра (фильтр LPC1 кадра 1 из суперкадра и фильтр LPC3 кадра 3 из суперкадра) также квантуют с использованием той же самой стратегии дифференциального/абсолютного квантования. Оба LPC-фильтра могут быть квантованы относительно квантованной версии фильтра LPC2. Ниже приведено описание некоторых альтернативных стратегий.
На Фиг.5 изображена схема последовательности операций, на которой более подробно проиллюстрирован пример схемы апостериорного квантования.
Операция 501: абсолютный квантователь квантует фильтр LPC4.
Операция 502: операция 502 является необязательной и используется при первом кодировании кадра на основании LPC после кодирования кадра не на основании LPC. Абсолютный квантователь квантует фильтр LPC0, или дифференциальный квантователь выполняет дифференциальное квантование фильтра LPC0 относительно квантованного фильтра LPC4. Фильтр LPC0 является последним LPC-фильтром (LPC4) из предыдущего суперкадра и может быть использован в качестве возможного образца для квантования фильтров LPC1 - LPC4.
Операция 503: абсолютный квантователь квантует фильтр LPC2, или дифференциальный квантователь выполняет дифференциальное квантование фильтра LPC2 относительно квантованного фильтра LPC4, используемого в качестве образца.
Операция 504: абсолютный квантователь квантует фильтр LPC1, дифференциальный квантователь выполняет дифференциальное квантование фильтра LPC1 относительно квантованного фильтра LPC2, используемого в качестве образца, или дифференциальный квантователь выполняет дифференциальное квантование фильтра LPC1 относительно фильтра (квантованный фильтр LPC2 + квантованный фильтр LPC0)/2, используемого в качестве образца.
Операция 505: абсолютный квантователь квантует фильтр LPC3, дифференциальный квантователь выполняет дифференциальное квантование фильтра LPC3 относительно квантованного фильтра LPC2, используемого в качестве образца, дифференциальный квантователь выполняет дифференциальное квантование фильтра LPC3 относительно квантованного фильтра LPC4, используемого в качестве образца, или дифференциальный квантователь выполняет дифференциальное квантование фильтра LPC3 относительно фильтра (квантованный фильтр LPC2 + квантованный фильтр LPC4)/2, используемого в качестве образца.
На Фиг.3 изображена схема последовательности операций, на которой проиллюстрировано определение LPC-фильтров, подлежащих передаче, в конфигурации, в которой могут быть вычислены и переданы в суперкадре четыре (4) LPC-фильтра.
Прежде всего, следует иметь в виду, что квантованный фильтр LPC1 передается только тогда, когда для первой половины суперкадра выбран режим ACELP и/или TCX256. Аналогичным образом, фильтр LPC3 передается только тогда, когда для второй половины этого суперкадра используются ACELP и/или TCX256.
Операция 301: выполнят квантование фильтра LPC1 кадра 1 из суперкадра, фильтра LPC2 кадра 2 из суперкадра, фильтра LPC3 кадра 3 из суперкадра и фильтра LPC4 кадра 4 из суперкадра с использованием, например, стратегии квантования, проиллюстрированной и описанной применительно к Фиг.2 и Фиг.5. Разумеется, возможны и другие стратегии квантования.
Операция 302: производят выбор режимов кодирования с обратной связью, как описано выше.
Операция 303: квантованный фильтр LPC4 передается в декодер, например, передатчиком 105 из Фиг.1. Декодер содержит:
- средство приема и извлечения из принятого потока битов, которым является, например, демультиплексор, квантованного фильтра LPC4; и
- обратный абсолютный квантователь, в который подан квантованный фильтр LPC4, для обратного квантования квантованного фильтра LPC4.
Операция 304: Если суперкадр закодирован с использованием режима TCX1024, то дополнительная передача не требуется.
Операция 305: если первый, второй, третий и четвертый кадры суперкадра не являются закодированными с использованием режима TCX1024, то в декодер передают квантованный фильтр LPC2 и индекс, указывающий один из режимов квантования: режим абсолютного квантования и режим дифференциального квантования, например, посредством передатчика 105 из Фиг.1. Декодер содержит:
- средство приема и извлечения из принятого потока битов, которым является, например, демультиплексор, квантованного фильтра LPC2 и индекса, указывающего один из режимов квантования: режим абсолютного квантования и режим дифференциального квантования; и
- обратный абсолютный квантователь, в который подан квантованный фильтр LPC2 и индекс, указывающий режим абсолютного квантования, для обратного квантования квантованного фильтра LPC2, или обратный дифференциальный квантователь, в который подан квантованный фильтр LPC2 и индекс, указывающий режим дифференциального квантования, для обратного квантования квантованного фильтра LPC2.
Операция 306: если кадры 1 и 2 из суперкадра закодированы с использованием режима TCX512, то квантованный фильтр LPC1 не передают в декодер.
Операция 307: если кадры 1 и 2 из суперкадра не закодированы с использованием режима TCX512, то есть, если кадры 1 и 2 из суперкадра закодированы с использованием режима ACELP или TCX256, то в декодер передают квантованный фильтр LPC1 и индекс, указывающий один из режимов квантования: режим абсолютного квантования, режим дифференциального квантования относительно квантованного фильтра LPC2, используемого в качестве образца, и режим дифференциального квантования относительно фильтра (квантованный фильтр LPC2 + квантованный фильтр LPC0)/2, используемого в качестве образца, например, посредством передатчика 105 из Фиг.1. Декодер содержит:
- средство приема и извлечения из принятого потока битов, которым является, например, демультиплексор, квантованного фильтра LPC1 и индекса, указывающего один из режимов квантования: режим абсолютного квантования, режим дифференциального квантования относительно квантованного фильтра LPC2, используемого в качестве образца, и режим дифференциального квантования относительно фильтра (квантованный фильтр LPC2 + квантованный фильтр LPC0)/2, используемого в качестве образца; и
- обратный абсолютный квантователь, в который подан квантованный фильтр LPC1 и индекс, указывающий один из режимов квантования: режим абсолютного квантования, режим дифференциального квантования относительно квантованного фильтра LPC2, используемого в качестве образца, и режим дифференциального квантования относительно фильтра (квантованный фильтр LPC2 + квантованный фильтр LPC0)/2, используемого в качестве образца, для обратного квантования квантованного фильтра LPC1.
Операция 308: если кадры 3 и 4 из суперкадра закодированы с использованием режима TCX512, то квантованный фильтр LPC3 не передается в декодер.
Операция 309: если кадры 3 и 4 из суперкадра не закодированы с использованием режима TCX512, то есть если кадры 3 и 4 из суперкадра закодированы с использованием режима ACELP или TCX256, то в декодер передается квантованный фильтр LPC3 и индекс, указывающий один из режимов квантования: режим абсолютного квантования, режим дифференциального квантования относительно квантованного фильтра LPC2, используемого в качестве образца, режим дифференциального квантования относительно квантованного фильтра LPC4, используемого в качестве образца, и режим дифференциального квантования относительно фильтра (квантованный фильтр LPC2 + квантованный фильтр LPC4)/2, используемого в качестве образца, например, посредством передатчика 105 из Фиг.1. Декодер содержит:
- средство приема и извлечения из принятого потока битов, которым является, например, демультиплексор, квантованного фильтра LPC3 и индекса, указывающего один из режимов квантования: режим абсолютного квантования, режим дифференциального квантования относительно квантованного фильтра LPC2, используемого в качестве образца, режим дифференциального квантования относительно квантованного фильтра LPC4, используемого в качестве образца, и режим дифференциального квантования относительно фильтра (квантованный фильтр LPC2 + квантованный фильтр LPC4)/2, используемого в качестве образца; и
- обратный абсолютный квантователь, в который подан квантованный фильтр LPC3 и индекс, указывающий один из режимов квантования: режим абсолютного квантования, режим дифференциального квантования относительно квантованного фильтра LPC2, используемого в качестве образца, режим дифференциального квантования относительно квантованного фильтра LPC4, используемого в качестве образца, и режим дифференциального квантования относительно фильтра (квантованный фильтр LPC2 + квантованный фильтр LPC4)/2, используемого в качестве образца, для обратного квантования квантованного фильтра LPC3.
Некоторыми преимуществами вышеописанного технического решения являются, в том числе, следующие:
- квантование всего набора LPC-фильтров до выбора режимов кодирования с обратной связью уменьшает сложность;
- использование дифференциального квантователя в схеме глобального квантования сберегает часть скорости передачи битов, сохраняя то, что было достигнуто, например, посредством предиктивного квантователя в исходной схеме квантования согласно кодеку AMR-WB+.
Приведенные ниже варианты могут использоваться для построения образцовых LPC-фильтров, используемых в дифференциальных квантователях (такие операции, как, например, 1031, 1032, …, 103n):
- если зависимость между суперкадрами не является проблемой, то последний LPC-фильтр (LPC4) из предыдущего суперкадра (LPC0) может быть использован в качестве возможного образца для кодирования фильтров LPC1-LPC4;
- когда имеются различные образцовые LPC-фильтры, например фильтры LPC0 и LPC4, при кодировании фильтра LPC2, то в декодер может быть передана особая комбинация битов для указания того, какой из образцов фактически используется. Например, выбор образца может быть выполнен так, как описано выше со ссылкой на Фиг.1, например, на основе результатов измерения расстояния или скорости передачи битов;
- когда имеются различные образцовые LPC-фильтры, то могут быть получены дополнительные вторичные образцовые LPC-фильтры путем применения различных схем экстраполяции или интерполяции к уже имеющимся образцовым LPC-фильтрам. Может быть передана особая комбинация битов для указания фактической стратегии интерполяции или экстраполяции, выбранной кодером. Например, может быть выполнено дифференциальное квантование фильтра LPC3 относительно квантованных версий любого из следующих фильтров: фильтра LPC2 или фильтра LPC4, или даже относительно интерполированного значения (например, среднего значения) между этими двумя квантованными фильтрами LPC2 и LPC4 (см. операцию 505 на Фиг.5).
Описанная выше схема "апостериорного" квантования может быть расширена на кодирование более четырех LPC-фильтров: например, для квантования и передачи фильтра LPC0 вместе с суперкадром. В этом случае фильтр LPC0, соответствующий последнему LPC-фильтру (LPC4), вычисленному во время предыдущего суперкадра, может быть, в качестве примера, не являющегося ограничивающим признаком, квантован относительно фильтра LPC4, поскольку этот фильтр LPC4 всегда имеется в качестве образца. Квантованный фильтр LPC0 передается в декодер вместе с индексом, указывающим один из режимов квантования: режим абсолютного квантования и режим дифференциального квантования. Декодер содержит:
- средство приема и извлечения из принятого потока битов, которым является, например, демультиплексор, квантованного фильтра LPC0 и индекса, указывающего один из режимов квантования: режим абсолютного квантования и режим дифференциального квантования; и
- обратный абсолютный квантователь, в который подан квантованный фильтр LPC0 и индекс, указывающий режим абсолютного квантования, для обратного квантования квантованного фильтра LPC0, или обратный дифференциальный квантователь, в который подан квантованный фильтр LPC0 и индекс, указывающий режим дифференциального квантования, для обратного квантования квантованного фильтра LPC0.
Передача фильтра LPC0 в декодер является полезной для инициализации кодека, основанного на LPC, в случае переключения из режима кодирования, не основанного на LPC, в режим кодирования, основанный на LPC. Примерами режимов кодирования, не основанных на LPC, являются следующие: импульсно-кодовая модуляция (PCM) и кодирование с преобразованием, используемое, например, кодеком MP3 и усовершенствованным кодеком для звука AAC. Примерами режимов кодирования, основанных на LPC, являются следующие: линейное предсказание с кодовым возбуждением (CELP) и алгебраическое CELP (ACELP), используемое в кодеке AMR-WB+ [1].
В кодеках, основанных на LPC, производят оценку и передачу в декодер одного или нескольких LPC-фильтров для каждого кадра (или для каждого суперкадра). Когда оценивается и передается один-единственный LPC-фильтр для каждого кадра, то этот LPC-фильтр чаще всего оценивается с использованием окна LPC-анализа с центром в конце кадра, как изображено на чертеже Фиг.4А. Когда передается несколько LPC-фильтров для каждого (или для каждого суперкадра, как в кодеке AMR-WB+), то они чаще всего оцениваются через равные интервалы по длине кадра, как изображено на Фиг.4Б. Фильтр LPC0 на Фиг.4А и Фиг.4Б фактически является последним LPC-фильтром предыдущего кадра (или суперкадра), который квантован и передан в декодер.
В типичных кодеках, основанных на LPC, обычно используют интерполированные значения для LPC-фильтров. Например, в примере на Фиг.4А в кодеке, основанном на LPC, кадр обычно разделяют на четыре (4) подкадра и используют различный интерполированный LPC-фильтр для каждого подкадра, причем LPC-фильтр первого подкадра является более близким к фильтру LPC0, а LPC-фильтр 4 подкадра является более близким к фильтру LPC1.
В кодеке, который переключается из режима кодирования, не основанного на LPC, в режим кодирования, основанный на LPC, фильтр LPC0, используемый для работы кодека, основанного на LPC, обычно не доступен в первом кадре после переключения из режима кодирования, не основанного на LPC, в режим кодирования, основанный на LPC.
В этом контексте, предложено предоставлять значение для фильтра LPC0, доступное как в кодере, так и в декодере, при кодировании и декодировании первого кадра после переключения из режима кодирования, не основанного на LPC, в режим кодирования, основанный на LPC. В частности, значение фильтра LPC0 получают в декодере из параметров, переданных из кодера.
Согласно первому техническому решению, фильтр LPC0 определяют в кодере (с использованием LPC-анализа, хорошо известного для специалистов в данной области техники, имеющих средний уровень квалификации), квантуют и передают в декодер после того, как было принято решение о переключении из режима кодирования, не основанного на LPC, в режим кодирования, основанный на LPC. Декодер использует переданное квантованное значение и фильтр LPC0. Для эффективного квантования фильтра LPC0 может использоваться описанная выше схема апостериорного квантования, расширенная до более чем четырех (4) LPC-фильтров.
Ниже приведено описание второго и третьего технических решений для оценки фильтра LPC0 в декодере по переданным параметрам:
- оценка фильтра LPC0 по другим переданным LPC-фильтрам с использованием, например, экстраполяции; и
- оценка фильтра LPC0 по другим переданным параметрам. Например, фильтр LPC0 может быть оценен путем применения обычной процедуры LPC-анализа к прошлому декодированному сигналу, в частности к сигналу с выхода переключаемого декодера, до переключения из режима кодирования, не основанного на LPC, в режим кодирования, основанный на LPC.
Квантование посредством унифицированного алгебраического векторного квантователя
Принцип стохастического векторного квантования заключается в поиске кодовой книги векторов для ближайшего соседа (обычно с точки зрения евклидова расстояния или взвешенного евклидова расстояния) вектора, подлежащего квантованию. При квантовании LPC-фильтров в области LSF (линейных спектральных частот) или ISF (иммитансных спектральных частот) обычно используют взвешенное евклидово расстояние, причем каждый компонент вектора умножен на различный весовой коэффициент в зависимости от его величины и от величины других компонентов [5]. Цель этой весовой обработки состоит в том, чтобы характер поведения минимизации евклидова расстояния был как можно более близким к минимизации спектрального искажения, насколько это возможно. В отличие от стохастического квантователя, унифицированный алгебраический векторный квантователь не выполняет исчерпывающий поиск кодовой книги. Следовательно, трудно ввести весовую функцию в процедуру вычисления расстояния.
В качестве примера, не являющегося ограничивающим признаком, в предложенном здесь техническом решении квантование LPC-фильтров осуществляют в области LSF. Следовательно, предусмотрено надлежащее средство преобразования LPC-фильтра в области квантования LSF для формирования входного вектора LSF. В частности, вектор невязки LSF, то есть разность между входным вектором LSF и первым приближением этого входного вектора LSF, трансформируют с использованием весовой функции, вычисленной из первого приближения, где в этом первом приближении используют стохастический абсолютный квантователь входного вектора LSF, дифференциальный квантователь входного вектора LSF, интерполятор входного вектора LSF, или иной элемент, который дает оценочное значение входного вектора LSF, подлежащего квантованию. Термин "трансформация" означает, что к компонентам вектора невязки LSF применяют различные весовые коэффициенты. Поскольку первое приближение также имеется в декодере, то в декодере также могут быть вычислены обратные весовые коэффициенты, и к квантованному вектору невязки LSF может быть применена обратная трансформация. Трансформация вектора невязки LSF согласно модели, которая минимизирует спектральное искажение, полезна тогда, когда квантователь является унифицированным. Квантованные LSF, принятые в декодере, представляют собой комбинацию первого приближения с уточненным квантованием с переменной скоростью передачи битов, например AVQ (алгебраическим векторным квантованием), которое подвергают обратной трансформации в декодере.
Некоторыми преимуществами предложенного технического решения являются следующие.
- При хорошей весовой функции унифицированный квантователь может обеспечивать относительно единообразное спектральное искажение.
- Преимуществами векторного квантования с переменной скоростью передачи битов, например AVQ (алгебраического векторного квантования) по сравнению с SVQ (стохастическим векторным квантованием), являются меньшее количество таблиц (меньший объем памяти), меньшая сложность и более высокая гранулярность скорости передачи битов.
- Другим преимуществом в пользу векторного квантования с переменной скоростью передачи битов, например AVQ (алгебраического векторного квантования), является его неограниченный размер кодовой книги; это гарантирует одно и то же спектральное искажение для сигнала любого типа.
Общий принцип квантования конкретного LPC-фильтра приведен на Фиг.6. В этом примере, не являющемся ограничивающим, LPC-фильтр квантуют в области LSF.
Операция 601: вычислитель вычисляет первое приближение 608 входного вектора 607 LSF.
Операция 602: блок вычитания вычитает первое приближение 608 из операции 601 из входного вектора 607 LSF для получения вектора 609 невязки LSF.
Операция 603: вычислитель получает весовую функцию 610 LSF из первого приближения 608 из операции 601.
Операция 604: умножитель, или блок трансформации, применяет весовую функцию 610 LSF из операции 603 к вектору 609 невязки LSF из операции 602.
Операция 605: квантователь с переменной скоростью передачи битов, например алгебраический векторный квантователь (AVQ), квантует результирующий взвешенный вектор 611 невязки LSF для обеспечения квантованного взвешенного вектора 612 невязки LSF.
Операция 606: в ответ на первое приближение 608 из операции 601 и квантованный взвешенный вектор 612 невязки LSF из операции 605 мультиплексор выполняет мультиплексирование и передачу соответствующих закодированных индексов 613.
Первое приближение (операция 601) может быть вычислено различными способами. В качестве не ограничивающего примера, вычислителем первого приближения 608 может являться абсолютный стохастический векторный квантователь входного вектора 607 LSF с малым количеством битов или дифференциальный квантователь входного вектора 607 LSF с использованием образца, как объяснено выше, где первым приближением является сам образец. Например, при квантовании вектора LPC1 так, как показано на Фиг.5, операция 504, вычислителем первого приближения 608 может являться абсолютный квантователь с 8 битами, или квантованный фильтр LPC2, или (квантованный фильтр LPC2 + квантованный фильтр LPC0)/2.
Вычисление и предназначение весовой функции (операция 603) описаны ниже.
Соответствующий обратный квантователь проиллюстрирован на Фиг.7.
Операция 701: выполняют демультиплексирование закодированных индексов 707 из кодера посредством демультиплексора.
Операция 702: демультиплексированные закодированные индексы включают в себя первое приближение 708.
Операция 703: поскольку первое приближение имеется как в декодере, так и в кодере (операция 702), то вычислитель может использоваться для вычисления обратной весовой функции 709 LSF.
Операция 704: декодированные индексы 710, отображающие квантованный взвешенный вектор невязки LSF, подают в обратный векторный квантователь с переменной скоростью передачи битов, например, в алгебраический обратный векторный квантователь (обратный AVQ), для восстановления взвешенного вектора 711 невязки LSF.
Операция 705: умножитель умножает взвешенный вектор 711 невязки LSF из операции 704 на обратную весовую функцию 709 LSF из операции 703 для восстановления вектора 712 невязки LSF.
Операция 706: сумматор суммирует первое приближение 708 из операции 702 с вектором 712 невязки LSF из операции 705 для формирования декодированного вектора 713 LSF. Декодированный вектор 713 LSF представляет собой комбинацию первого приближения из операции 702 с уточнением обратного квантования с переменной скоростью передачи битов (операция 704), умноженную на обратную весовую функцию (операция 705) в декодере.
Первое приближение
Как объяснено выше, квантование конкретного LPC-фильтра может быть выполнено с использованием нескольких режимов квантования, включая абсолютное квантование и дифференциальное квантование, с использованием нескольких образцов. Первое приближение зависит от режима квантования. В случае абсолютного квантования для первого приближения может быть использован векторный квантователь с малым количеством битов (например, 8 битами). В случае дифференциального квантования первое приближение само является образцом. Например, при квантовании вектора LPC3, как проиллюстрировано на Фиг.5 (операция 505), первым приближением может являться одно из следующих:
- 8-битовое векторное квантование (VQ) (абсолютное квантование);
- квантованный фильтр LPC2 (дифференциальное квантование с использованием квантованного фильтра LPC2 в качестве образца);
- квантованный фильтр LPC4 (дифференциальное квантование с использованием квантованного фильтра LPC4 в качестве образца); или
- среднее значение квантованных фильтров LPC2 и LPC4 (дифференциальное квантование с использованием фильтра (квантованный фильтр LPC2 + квантованный фильтр LPC4)/2 в качестве образца).
В качестве примера, не являющегося ограничивающим признаком, в случае LPC-фильтра p-го порядка, выраженного посредством параметров LSF, в режиме абсолютного квантования первое приближение вычисляют с использованием p-мерного 8-битового стохастического векторного квантователя, примененного к входному вектору LSF. При поиске кодовой книги используют взвешенное евклидово расстояние, в котором каждый компонент разности между входным вектором LSF и записью в кодовой книге, возведенной в квадрат, умножают на весовой коэффициент . Например, весовой коэффициент может быть задан следующим выражением:
, i=0, ... , p-1 ,
где
,
где представляет собой входной вектор LSF, подлежащий квантованию, - порядок анализа линейного предсказания (LP), а - внутренняя частота дискретизации кодека, основанного на LPC (в герцах (Гц)).
В режимах дифференциального квантования первое приближение основано на уже квантованных LPC-фильтрах.
Как объяснено со ссылкой на Фиг.5, набор LPC-фильтров квантуют в следующем порядке: LPC4, LPC2, LPC1 а затем LPC3. При необходимости после фильтра LPC4 квантуют необязательный фильтр LPC0. Следовательно, дифференциальное квантование фильтра LPC2 может быть выполнено только относительно LPC4, в то время как дифференциальное квантование фильтра LPC3 может быть выполнено относительно LPC2, LPC4 или комбинации обоих фильтров: LPC2 и LPC4; LPC1 не считается хорошим выбором, поскольку он не является соседним с LPC3.
Для каждого первого приближения вектор невязки LSF вычисляют следующим образом:
.
Как показано на Фиг.6, вектор 609 невязки LSF из операции 602 умножают на весовой коэффициент (операция 604) с весовой функцией 610 из операции 603, вычисленной на основании первого приближения для получения трансформированного вектора 611 невязки LSF (операция 604). Трансформированный вектор 611 невязки LSF затем квантуют с использованием квантователя с переменной скоростью передачи битов, например, алгебраического векторного квантователя (операция 605).
Например, весовые коэффициенты, применяемые к компонентам -го вектора невязки LSF, могут быть заданы следующим соотношением:
, i=0, ... , p-1 ,
где
,
где - первое приближение, - внутренняя частота дискретизации кодека, основанного на LPC, выраженная в герцах (Гц), а - масштабный коэффициент, который зависит от режима квантования. Значение выбрано таким образом, чтобы получить определенное целевое спектральное искажение и/или определенную целевую среднюю скорость передачи битов после квантования трансформированного вектора невязки LSF квантователем с переменной скоростью передачи битов. В качестве примера, не являющегося ограничивающим признаком, векторный квантователь с переменной скоростью передачи битов производит выбор скорости передачи битов для определенного вектора на основании его средней энергии.
В иллюстративном примере четыре (4) LPC-фильтра в суперкадре, а также необязательный фильтр LPC0 квантуют согласно Фиг.5. В таблице 2 показан используемый масштабный коэффициент для каждого режима квантования и кодирование индекса режима, использованное в этом примере. Следует отметить, что режим квантования определяет, какой режим квантования используется: абсолютное квантование или дифференциальное квантование, и в случае дифференциального квантования он определяет используемый образцовый фильтр. Как объяснено выше, образцовый фильтр, используемый при дифференциальном квантовании, фактически является первым приближением для квантования с переменной скоростью передачи битов.
Возможные режимы квантования: абсолютное и относительное, и соответствующая передача потока битов, масштабный коэффициент и весовая функция
На Фиг.8 изображена принципиальная блок-схема, поясняющая процедуру квантования, описанную выше.
Операции 801, 8011, 8012, …, 801n: входной вектор 800 LSF подают в абсолютный квантователь (операция 801) для выполнения, например, 8-битового абсолютного векторного квантования входного вектора 800 LSF. Входной вектор LSF также подают в дифференциальные квантователи (операции 8011, 8012, …, 801n) для выполнения дифференциального квантования входного вектора 800 LSF. Как объяснено выше со ссылкой на Фиг.1, дифференциальные квантователи используют, соответственно, различные образцы. 8-битовый VQ (векторный квантователь) из операции 801 и образцы из операций 8011, 8012, …, 801n представляют первое приближение.
При операциях 802, 8021, 8022, …, 802n вычислитель вычисляет вектор невязки LSF из вектора первого приближения из операций, соответственно, 801, 8011, 8012, …, 801n. Вектор невязки вычисляют как разность между входным вектором и первым приближением. Это соответствует операциям 601 и 602 из Фиг.6.
При операциях 803, 8031, 8032, …, 803n вычислитель вычисляет весовую функцию для трансформирования вектора невязки LSF из операций, соответственно 802, 8021, 8022, …, 802n. Это соответствует операциям 601 и 603 из Фиг.6.
При операциях 804, 8041, 8042, …, 804n блок трансформации умножает вектор невязки LSF из операций, соответственно, 802, 8021, 8022, …, 802n на весовую функцию из операций, соответственно, 803, 8031, 8032, …, 803n.
При операциях 805, 8051, 8052, …, 805n квантователь с переменной скоростью передачи битов, например алгебраический векторный квантователь (AVQ), квантует результирующий взвешенный вектор невязки LSF из операций, соответственно, 804, 8041, 8042, …, 804n для обеспечения квантованного взвешенного вектора невязки LSF.
При операции 806 средство выбора производит выбор режима квантования из режима абсолютного квантования (операция 801) и режима дифференциального квантования с использованием одного из образцов 1, 2, …, n (Операции 8011, 8012, …, 801n). Например, при операции 806 может быть выбран такой режим квантования (операции 801, 8011, 8012, …, 801n), который дает меньшее искажение при заданной скорости передачи битов или при более низкой скорости передачи битов для целевого уровня искажений. Что касается выбора из 8-битового VQ и образцов 1, 2, …, n, то выбор может быть произведен в схеме с обратной связью или без обратной связи. В схеме с обратной связью проводят пробные испытания всех возможных образцов и выбирают тот образец, который оптимизирует определенный критерий искажений или скорость передачи битов, например меньшее искажение для заданной скорости передачи битов или более низкая скорость передачи битов для целевого уровня искажений. В схеме без обратной связи при операции 806 задают образец на основании значения коэффициентов линейного предсказания LPC-фильтра, подлежащего квантованию, и коэффициентов линейного предсказания имеющихся образцовых LPC-фильтров.
Операция 807: после выбора при операции 806 передатчик (операция 807) сообщает или передает в декодер (не показан) индекс, указывающий:
- режим квантования (подоперация 8071), например режим абсолютного квантования или режим дифференциального квантования; и
- в случае дифференциального квантования, выбранный образец и соответствующий дифференциальный квантователь из операций 8011, 8012, …, 801n (подоперация 8072).
Для такого оповещения в декодер передают несколько особых битов.
Алгебраический векторный квантователь
Возможный алгебраический векторный квантователь (AVQ), используемый, например, при операции 605 из Фиг.6 и при операциях 805, 8051, 8052, …, 805n из Фиг.8, основан на векторном квантователе с использованием 8-мерной решетки , который используют для квантования спектра в режимах TCX кодека AMR-WB+ [1].
Для LPC 16-го порядка каждый взвешенный вектор невязки LSF разделяют на два 8-мерных субвектора и . Каждый из этих двух субвекторов квантуют с использованием подхода, содержащего три операции, который описан ниже.
Не все векторы LSF имеют одинаковую чувствительность к ошибке квантования, вследствие чего определенная ошибка квантования, приложенная к одному вектору LSF, может оказывать большее влияние на спектральное искажение, чем та же самая ошибка квантования, приложенная к другому вектору LSF. Операция весовой обработки дает одинаковую относительную чувствительность всем взвешенным векторам LSF. AVQ имеет особенность, заключающуюся в том, что он вносит одинаковый уровень ошибки квантования для взвешенных векторов LSF (единообразную ошибку квантования). При выполнении обратного квантования обратная весовая обработка, которую применяют к взвешенным векторам LSF, подвергнутым обратному квантованию, также, очевидно, применяется и к ошибке квантования. Таким образом, первоначально единообразная ошибка квантования распределена среди квантованных векторов LSF, причем более чувствительные векторы LSF получают меньшую ошибку квантования, а менее чувствительные векторы LSF получают более значительную ошибку квантования. В результате, минимизировано влияние ошибки квантования на спектральное искажение.
Как объяснено в [1], в квантователе используют неизменное и заданное квантование. Вследствие этого, скорость передачи битов, необходимая для кодирования субвектора, возрастает при увеличении амплитуды этого субвектора.
Масштабный коэффициент регулирует амплитуду взвешенных векторов LSF. Следовательно, масштабный коэффициент также регулирует как скорость передачи битов, необходимую для квантования вектора LSF, так и среднее спектральное искажение.
Первая операция: поиск ближайшего соседа в решетке RE 8
В этой первой операции 8-мерный субвектор округляют как узел в решетке для получения его квантованной версии . До рассмотрения процедуры квантования стоит рассмотреть свойства этой решетки. Решетка определена следующим образом:
то есть как объединение решетки и версии , сдвинутой на вектор (1,1,1,1,1,1,1,1). Следовательно, поиск ближайшего соседа в решетке
эквивалентен поиску ближайшего соседа в решетке , затем поиску ближайшего соседа в двумерной решетке + (1,1,1,1,1,1,1,1), и, наконец, выбору наилучшего из этих двух узлов решетки. Решетка представляет собой решетку , масштабированную с коэффициентом 2, причем решетка задана следующим образом:
То есть все узлы в решетке являются целыми числами с ограничением, что сумма всех компонентов является четной. Это также означает, что сумма компонентов узла в решетке равна целому числу, кратному 4.
Непосредственным результатом этого определения решетки является разработка быстрого алгоритма поиска ближайшего соседа 8-мерного субвектора по всем узлам решетки в решетке . Это может быть сделано путем применения описанных ниже операций. Компоненты субвектора представляют собой значения с плавающей запятой, и результат квантования, которым является , представляет собой вектор из целочисленных значений.
1.
2. Округление каждого компонента до ближайшего целого числа для генерации
3.
4. Вычисление S как суммы компонентов
5. Если S не равно целому числу, кратному 4 (возможны отрицательные величины), то один из его компонентов изменяют следующим образом:
- находят местоположение , где значение является наибольшим
- если , то
- если , то
6. , где обозначает вектор, в котором все компоненты равны 1
7. Округление каждого компонента до ближайшего целого числа для генерации
8.
9. Вычисление как суммы компонентов
10. Если не равно целому числу, кратному 4 (возможны отрицательные величины), то один из его компонентов изменяют следующим образом:
- находят местоположение , где значение
- если , то
- если , то
11.
12. Вычисление и
13. Если , то наилучшим узлом решетки (ближайшим соседом в решетке) является , а в противном случае - наилучшим узлом решетки является .
, где - наилучший узел решетки, выбранный выше.
Вторая операция: вычисление индексов
В первой операции каждый 8-мерный субвектор был округлен как узел в решетке . Результатом является , квантованная версия . В данной второй операции вычисляют индекс для каждого для его передачи в декодер. Вычисление этого индекса выполняют следующим образом.
Вычисление индекса для заданного узла в решетке основано на двух основных принципах:
1. Все узлы в решетке лежат на концентрических сферах радиуса , где m=0, 1, 2, 3 и т.д., а каждый узел решетки на конкретной сфере может быть сгенерирован путем перестановки координат опорных точек, именуемых ведущими точками (leaders). На сфере имеется очень мало ведущих точек по сравнению с общим количеством узлов решетки, которые лежат на сфере. Кодовые книги для различных скоростей передачи битов могут быть созданы путем включения в их состав только лишь сфер до заданного номера m. Для больших подробностей см. ссылку [6], где кодовые книги , , , , и построены, соответственно, с 0, 4, 8, 12, 16 и 20 битами. Следовательно, кодовая книга требует наличия 4n битов для индексации любого узла в этой кодовой книге.
2. Из базовой кодовой книги C (то есть кодовой книги, содержащей все узлы решетки из заданного набора сфер до номера m) может быть сгенерирована расширенная кодовая книга путем умножения элементов базовой кодовой книги C на коэффициент M и добавления кодовой книги второго этапа, именуемой расширением Вороного (Voronoi extension). Это построение задано выражением , где M - масштабный коэффициент, z - точка в основной кодовой книге, а ν - расширение Вороного. Расширение вычислено таким образом, что любая точка также является узлом в решетке . Расширенная кодовая книга включает в себя узлы решетки, которые расположены дальше от начала координат, чем обеспечивается базовой кодовой книгой.
В данном случае базовой кодовой книгой C в LPC-квантователе может являться любая кодовая книга , , или из ссылки [6]. Когда конкретный узел решетки не содержится в этих базовых кодовых книгах, то применяют расширение Вороного, используя в этом случае только лишь кодовую книгу или . Следует отметить, что здесь , но .
Затем выполняют вычисление индекса для каждого узла решетки, полученного при первой операции, согласно следующим операциям.
Проверяют, содержится ли с k в базовой кодовой книге C. Это подразумевает проверку того, является ли элементом кодовых книг , , или из ссылки [6].
- Если является элементом базовой кодовой книги , то в этом случае индексом, используемым для кодирования , является номер кодовой книги плюс индекс кодового вектора в кодовой книге . Номер кодовой книги кодируют так, как описано в третьей операции. Индекс указывает ранг кодового вектора , то есть перестановку, которая должна быть применена к конкретной ведущей точке для получения (см. [7]). Если = 0, то для биты не используют. В противном случае для индекса используют битов.
- Если отсутствует в базовой кодовой книге, то применяют расширение Вороного посредством следующих подопераций, используя в этом случае только лишь кодовую книгу или в качестве базовой кодовой книги.
Устанавливают порядок расширения r=1 и масштабный коэффициент .
Вычисляют индекс k Вороного узла решетки. Индекс k Вороного зависит от порядка r расширения и от масштабного коэффициента M. Индекс Вороного вычисляют посредством операций "по модулю", так что k зависит только от относительного местоположения в масштабированной и смещенной области Вороного:
,
где - порождающая матрица, а - покомпонентная операция "по модулю M". Следовательно, индекс k Вороного представляет собой вектор целых чисел, причем каждый компонент заключен в интервале от 0 до M-1.
Вычисляют кодовый вектор ν Вороного из индекса k Вороного. Это может быть реализовано с использованием алгоритма, описанного в ссылке [8].
Вычисляют вектор w разности, . Этот вектор w разности всегда принадлежит масштабированной решетке , где - решетка . Вычисляют , то есть применяют обратное масштабирование к вектору w разности. Кодовый вектор z принадлежит решетке , так как w принадлежит .
Проверяют, содержится ли z в базовой кодовой книге C (то есть в или ).
Если z отсутствует в базовой кодовой книге C, то выполняют приращение порядка r расширения на 1, умножают масштабный коэффициент M на 2 и возвращаются к подоперации . В противном случае, если z содержится в базовой кодовой книге C, то были найдены порядок r расширения и масштабный коэффициент , являющиеся достаточно большими для кодирования индекса . Индекс сформирован из трех частей: 1) номера кодовой книги в виде унарного кода, определенного ниже; 2) ранга для z в соответствующей базовой кодовой книге (или , или ); и 3) 8-ми индексов вектора индекса Вороного, вычисленных при подоперации , где каждый индекс требует ровно r битов (r - порядок расширения Вороного, установленный при подоперации ). Номер кодовой книги закодирован так, как описано в третьей операции.
В таком случае узел решетки описывается следующим выражением:
.
Третья операция: кодирование номеров кодовых книг с переменной длиной
Номера кодовых книг кодируют с использованием кода переменной длины, который, как указано в таблице 3, зависит от местоположения LPC-фильтра и от режима квантования.
Кодирование режимов для номеров n
k кодовых книг
Режимы 0 и 3 для :
Номер кодовой книги кодируют как код переменной длины следующим образом:
код для равен 00
код для равен 01
код для равен 10
Другие: код для равен 11, после которого следуют:
0
10
110
1110
11110
и т.д.
Режим 1 для :
Номер кодовой книги кодируют как унарный код следующим образом:
унарный код для равен 0
унарный код для равен 10
унарный код для равен 110
унарный код для равен 1110
и т.д.
Режим 2 для :
Номер кодовой книги кодируют как код переменной длины следующим образом:
код для равен 00
код для равен 01
код для равен 10
Другие: код для равен 11, после которого следуют:
0
10
110
и т.д.
Принятие решения относительно режима квантования
Для каждого вектора LSF пробуют каждый из всех возможных режимов абсолютного и дифференциального квантования, как описано в Таблице 2, и выбирают, например, режим квантования, требующий минимального количества битов. Закодированный режим квантования и соответствующий набор индексов квантования передают в декодер.
Как упомянуто в приведенном выше описании, фактическое количество квантованных LPC-фильтров, переданных из кодера в декодер, не является неизменным, а, наоборот, зависит от решения относительно ACELP/TCX, принятого в кодере. Например, длинное TCX-кодирование (TCX1024) требует передачи только лишь квантованного фильтра LPC4, в то время как любая комбинация, включающая в себя ACELP или короткое TCX-кодирование (TCX256), требуют передачи всех четырех (4) квантованных LPC-фильтров LPC1-LPC4. Фактически передают только те квантованные LPC-фильтры, которые требует конфигурация режима ACELP/TCX.
Способ декодирования в алгебраическом векторном квантователе
Как упомянуто здесь выше, фактическое количество квантованных LPC-фильтров, закодированных в потоке битов, зависит от комбинации режимов ACELP/TCX в суперкадре. Комбинацию режимов ACELP/TCX извлекают из потока битов и определяют режимы кодирования, mod[k] для k=0-3, для каждого из четырех (4) кадров, из которых состоит суперкадр. Для ACELP значение режима равно 0, для TCX256 оно равно 1, для TCX512 оно равно 2, для TCX1024 оно равно 3.
В дополнение квантованным LPC-фильтрам суперкадра, количество которых составляет от одного (1) до четырех (4), для первого суперкадра каждого сегмента передают вышеописанный необязательный квантованный фильтр LPC0, закодированный с использованием кодека, основанного на линейном предсказании.
Порядком, в котором квантованные LPC-фильтры находятся в потоке битов, обычно является следующий порядок следования: LPC4, необязательный LPC0, LPC2, LPC1 и LPC3.
Условие наличия конкретного LPC-фильтра в потоке битов приведено в таблице 4.
Условие наличия конкретного LPC-фильтра в потоке битов
На Фиг.9 изображена принципиальная блок-схема способа декодирования.
Операции 901 и 902: декодер содержит средство приема и извлечения, которым является, например, демультиплексор, из принятого потока битов индексов квантования, соответствующих каждому из квантованных LPC-фильтров, необходимых для комбинации режимов ACELP/TCX. Для конкретного квантованного LPC-фильтра средство определения режима квантования извлекает из потока битов, принятого из кодера, индекс или информацию относительно режима квантования и определяет, является ли режим квантования режимом абсолютного квантования или режимом дифференциального квантования, как указано в таблице 2.
Операции 903 и 905: когда при операциях 901 и 902 определено, что режимом квантования является режим абсолютного квантования, то устройство извлечения извлекает из потока битов индекс или индексы, соответствующий (соответствующие) первому приближению, квантованному путем стохастического векторного квантования (VQ) (операция 903). Затем вычислитель вычисляет первое приближение путем обратного квантования (операция 905).
Операции 904 и 905: когда при операциях 901 и 902 определено, что режимом квантования является режим дифференциального квантования (а не режим абсолютного квантования), то устройство извлечения извлекает из потока битов индексы или информацию, характеризующие (характеризующую) образец из множества возможных образцов, например LPC-вектор образца (операция 904). Затем вычислитель вычисляет из этой информации первое приближение так, как описано со ссылкой на таблицу 2 (операция 905).
При операции 906 устройство извлечения информации о VQ извлекает из потока битов, принятого из кодера, информацию о VQ с переменной скоростью передачи битов, например информацию об AVQ. В частности, в качестве примера, не являющегося ограничивающим признаком, из потока битов извлекают информацию об AVQ для двух субвекторов невязки LSF. Информация об AVQ обычно содержит два закодированных номера кодовых книг и соответствующие индексы AVQ. Единственным исключением является то, когда выполняют дифференциальное квантование фильтра LPC1 относительно фильтра (квантованный фильтр LPC0 + квантованный фильтр LPC2)/2, поскольку в этом случае в потоке битов отсутствует какая-либо информация об AVQ. В случае последнего исключения в качестве первого приближения из операции 905 выводят квантованный вектор 909 LSF.
Операция 907: обратный алгебраический векторный квантователь принимает извлеченную информацию об AVQ из операции 906 для обратного квантования или для обратной весовой обработки и восстановления вклада AVQ.
Декодирование индексов AVQ
Декодирование LPC-фильтров включает в себя декодирование извлеченной информации AVQ, например параметров AVQ, описывающих каждый квантованный субвектор взвешенного вектора невязки LSF. В вышеизложенном примере каждый субвектор имеет размерность, равную 8. Параметры AVQ для каждого субвектора описаны во второй операции вышеописанного алгебраического векторного квантования. Для каждого квантованного субвектора кодер посылает в декодер три набора двоичных индексов:
a) номер кодовой книги, переданный с использованием статистического кода, описанного в третьей операции алгебраического векторного квантования, которое описано выше;
б) ранг выбранного узла z решетки в базовой кодовой книге, который указывает, какая перестановка должна быть применена к конкретной ведущей точке (см. вторую операцию вышеописанного алгебраического векторного квантования) для получения узла z решетки; и
в) если квантованный субвектор (узел решетки в решетке ) отсутствовал в базовой кодовой книге, то 8 индексов вектора k индексов расширения Вороного, вычисленных при подоперации второй операции вышеописанного алгебраического векторного квантования; из индексов расширения Вороного может быть вычислен вектор ν расширения согласно ссылки [8]. Количество битов в каждом компоненте вектора k индексов задано порядком r расширения, который может быть получен из значения кода индекса n k. Масштабный коэффициент M расширения Вороного задан выражением .
Затем, исходя из масштабного коэффициента M, вектора ν расширения Вороного (узла решетки в решетке ) и узла z решетки в базовой кодовой книге (также узла решетки в решетке ), может быть вычислен каждый масштабированный квантованный субвектор с использованием следующего соотношения:
Когда расширение Вороного отсутствует (то есть n k<5, M=1 и z=0), то базовой кодовой книгой является любая кодовая книга , , или из [6]. В этом случае не требуются какие-либо биты для передачи вектора k. В противном случае, когда используют расширение Вороного, поскольку является достаточно большим, то в качестве базовой кодовой книги используют только или из [6]. Выбор или является неявным при значении n k номера кодовой книги, как описано во второй операции вышеописанного алгебраического векторного квантования.
Операция 908: сумматор суммирует первое приближение из операции 905 с вкладом AVQ из операции 907, подвергнутым обратной весовой обработке, для реконструкции и восстановления квантованного вектора 909 LSF.
Несмотря на то, что в приведенном выше описании настоящее изобретение было описано посредством иллюстративных вариантов его осуществления, эти варианты осуществления изобретения могут быть по желанию изменены в рамках объема прилагаемой формулы изобретения, не выходя за пределы сущности и предмета настоящего изобретения.
Ссылки
[1] 3GPP Technical Specification TS 26.290, "Audio Codec Processing Functions; Extended Adaptive Multi-Rate - Wideband (AMR-WB+) Codec; Transcoding Functions," June 2005.
[2] J. Skoglund, J. Linden, "Predictive VQ for Noisy Channel Spectrum Coding: AR Or MA?," IEEE 1997 International Conference on Acoustics, Speech, and Signal Processing (ICASSP'97), pp. 1351-1354, Munich, Germany, April 21-24, 1997.
[3] H. Zarrinkoub, P. Mermelstein, "Switched Prediction and Quantization of LSP Frequencies," IEEE 1996 International Conference on Acoustics, Speech, and Signal Processing (ICASSP'96), Vol. 2, pp.757-760, 7-10 May 1996.
[4] A. V. McCree, "Method for Switched-Predictive Quantization", патент США № 6,122,608.
[5] R. Laroia, N. Phamdo, and N. Farvardin, "Robust and Efficient Quantization of Speech LSP Parameters Using Structured Vector Quantizers," IEEE Int. Conf. on Acoustics, Speech and Signal Processing (ICASSP'1991), pp. 641-644, Washington, DC, April 14-17, 1991.
[6] M. Xie and J.-P. Adoul, "Embedded Algebraic Vector Quantization (EAVQ) with Application to Wideband Audio Coding," IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), Atlanta, GA, USA, Vol. 1, pp. 240-243, 1996.
[7] P. Rault, C. Guillemot, "Indexing Algorithm for Zn, An, Dn and Dn++ Lattice Vector Quantizers, IEEE Transactions on Multimedia, Vol. 3, No. 4, December 2001.
[8] J .H. Conway and N.J.A. Sloane, "A Fast Encoding Method for Lattice Codes and Quantizers," IEEE Trans. Inform. Theory, Vol. IT-29, No. 6, pp. 820-824, Nov. 1983.
Предложены устройство и способ квантования, в суперкадре, включающем в себя последовательность кадров, LPC-фильтров, вычисленных во время кадров из этой последовательности. Устройство и способ квантования LPC-фильтров содержат: абсолютный квантователь для квантования, в первую очередь, одного из LPC-фильтров с использованием абсолютного квантования; и, по меньшей мере, один квантователь других LPC-фильтров с использованием режима квантования, выбранного из группы, состоящей из абсолютного квантования и дифференциального квантования относительно, по меньшей мере, одного ранее квантованного фильтра из LPC-фильтров. Для обратного квантования принимают, по меньшей мере, LPC-фильтр, квантованный первым, и обратный квантователь выполняет обратное квантование LPC-фильтра, квантованного первым, с использованием абсолютного обратного квантования. Если принят какой-либо иной квантованный LPC-фильтр, чем LPC-фильтр, квантованный первым, то обратный квантователь выполняет обратное квантование этого квантованного LPC-фильтра с использованием одного из следующих режимов обратного квантования: абсолютного обратного квантования и дифференциального обратного квантования относительно, по меньшей мере, одного ранее принятого квантованного LPC-фильтра. Технический результат - сокращение количества битов, задействованных в квантовании LCP-фильтров. 4 н. и 28 з.п. ф-лы, 10 ил., 4 табл.
1. Способ квантования в суперкадре, включающем в себя последовательность кадров, LPC-фильтров, вычисленных в течение кадров упомянутой последовательности, причем способ квантования LPC-фильтров содержит этапы, на которых:
выполняют первое квантование одного из LPC-фильтров с использованием абсолютного квантования; и
выполняют квантование других LPC-фильтров с использованием процесса квантования, обеспечивающего, для каждого из других LPC-фильтров, выбор из абсолютного квантования и дифференциального квантования относительно по меньшей мере одного ранее квантованного фильтра из LPC-фильтров.
2. Способ по п.1, в котором упомянутый один из LPC-фильтров, квантованный первым с использованием абсолютного квантования, выбран из группы, состоящей из одного из LPC-фильтров, вычисленных в течение кадров последовательности суперкадра, который всегда передают в декодер, и одного из LPC-фильтров, вычисленного в течение последнего кадра из кадров последовательности суперкадра.
3. Способ по п.1, в котором:
последовательность кадров в суперкадре содержит первый кадр, в течение которого вычислен фильтр LPC1, второй кадр, в течение которого вычислен фильтр LPC2, третий кадр, в течение которого вычислен фильтр LPC3, и четвертый кадр, в течение которого вычислен фильтр LPC4, причем фильтры LPC1, LPC2, LPC3 и LPC4 образуют упомянутые LPC-фильтры, вычисленные в течение кадров последовательности;
первое квантование одного из LPC-фильтров и использованием абсолютного квантования содержит квантование фильтра LPC4 с использованием абсолютного квантования, причем упомянутый фильтр LPC4 образует упомянутый один из LPC-фильтров, квантованный первым с использованием абсолютного квантования; и квантование других LPC-фильтров содержит:
квантование фильтра LPC2 с использованием режима квантования, выбранного из группы, состоящей из абсолютного квантования и дифференциального квантования относительно квантованного фильтра LPC4, формируя при этом упомянутый по меньшей мере один ранее квантованный фильтр из LPC-фильтров;
квантование фильтра LPC1 с использованием режима квантования, выбранного из группы, состоящей из абсолютного квантования и дифференциального квантования относительно квантованного фильтра LPC2, формируя при этом упомянутый по меньшей один ранее квантованный фильтр из LPC-фильтров; и
квантование фильтра LPC3 с использованием режима квантования, выбранного из группы, состоящей из абсолютного квантования, дифференциального квантования относительно квантованного фильтра LPC2, формируя при этом упомянутый по меньшей один ранее квантованный фильтр из LPC-фильтров, дифференциального квантования относительно квантованного фильтра LPC4, формируя при этом упомянутый по меньшей один ранее квантованный фильтр из LPC-фильтров, и дифференциального квантования относительно обоих квантованных фильтров LPC2 и LPC4, формируя при этом упомянутый по меньшей один ранее квантованный фильтр из LPC-фильтров.
4. Способ по п.3, содержащий использование набора режимов кодирования для кодирования суперкадра, причем набор включает в себя по меньшей мере один первый режим кодирования, охватывающий длительность одного кадра, второй режим кодирования, охватывающий длительность двух кадров, и третий режим кодирования, охватывающий длительность четырех кадров.
5. Способ по п.4, в котором по меньшей мере один первый режим кодирования включает в себя АСЕLP (кодирование с линейным предсказанием с алгебраическим кодовым возбуждением) и ТСХ256 (кодирование с преобразованием кодированного возбуждения длительностью 256 выборок), вторым режимом кодирования является ТСХ512, а третьим режимом кодирования является ТСХ1024.
6. Способ по п.4, содержащий этапы, на которых: передают квантованный фильтр LPC4 в декодер;
если первый, второй, третий и четвертый кадры суперкадра не закодированы с использованием третьего режима кодирования, то передают квантованный фильтр LPC2 в декодер;
если первый и второй кадры суперкадра закодированы с использованием по меньшей мере одного первого режима кодирования, то передают квантованный фильтр LPC1 в декодер; и
если третий и четвертый кадры суперкадра закодированы с использованием по меньшей мере одного первого режима кодирования, то передают квантованный фильтр LPC3 в декодер.
7. Способ по п.3, в котором квантование фильтра LPC3 с использованием дифференциального квантования относительно обоих квантованных фильтров LPC2 и LPC4 содержит дифференциальное квантование фильтра LPC3 относительно (LPC2+LPC4)/2.
8. Способ по п.3, дополнительно содержащий этап, на котором выполняют квантование фильтра LPC0, соответствующего последнему LPC-фильтру, вычисленному в течение предыдущего суперкадра, причем квантование фильтра LPC1 содержит использование режима квантования, выбранного из группы, состоящей из абсолютного квантования, дифференциального квантования относительно квантованного фильтра LPC2 и дифференциального квантования относительно обоих квантованных фильтров LPC0 и LPC2.
9. Способ по п.3, содержащий выбор по меньшей мере одного режима кодирования из по меньшей мере одного первого режима кодирования, второго режима кодирования и третьего режима кодирования для кодирования первого, второго, третьего и четвертого кадров из суперкадра после того, как были квантованы все фильтры LPC1, LPC2, LPC3 и LPC4.
10. Устройство для квантования, в суперкадре, включающем в себя последовательность кадров, LPC-фильтров, вычисленных в течение кадров последовательности, причем устройство квантования LPC-фильтров содержит:
средство первого квантования одного из LPC-фильтров с использованием абсолютного квантования; и
средство квантования других LPC-фильтров с использованием процесса квантования, обеспечивающего для каждого из других LPC-фильтров выбор из абсолютного квантования и дифференциального квантования относительно по меньшей мере одного ранее квантованного фильтра среди LPC-фильтров.
11. Устройство по п.10, в котором упомянутый один из LPC- фильтров, квантованный первым с использованием абсолютного квантования, выбран из группы, состоящей из одного из LPC- фильтров, вычисленного в течение кадров последовательности суперкадра, который всегда передается в декодер, и одного из LPC-фильтров, вычисленного в течение последнего кадра среди кадров последовательности суперкадра.
12. Устройство по п.10, в котором:
последовательность кадров в суперкадре содержит первый кадр, в течение которого вычислен фильтр LPC1, второй кадр, в течение которого вычислен фильтр LPC2, третий кадр, в течение которого вычислен фильтр LPC3, и четвертый кадр, в течение которого вычислен фильтр LPC4, причем фильтры LPC1, LРС2, LPC3 и LPC4 образуют упомянутые LPC-фильтры, вычисленные в течение кадров последовательности;
средство первого квантования одного из LPC-фильтров с использованием абсолютного квантования содержит средство квантования фильтра LPC4 с использованием абсолютного квантования, причем упомянутый фильтр LPC4 образует упомянутый один из LPC-фильтров, квантованный первым с использованием абсолютного квантования; и
средство квантования других LPC-фильтров содержит: средство квантования фильтра LPC2 с использованием режима квантования, выбранного из группы, состоящей из абсолютного квантования и дифференциального квантования относительно квантованного фильтра LPC4, формируя при этом упомянутый по меньшей один ранее квантованный фильтр из LPC-фильтров;
средство квантования фильтра LPC1 с использованием режима квантования, выбранного из группы, состоящей из абсолютного квантования и дифференциального квантования относительно квантованного фильтра LPC2, формируя при этом упомянутый по меньшей один ранее квантованный фильтр из LPC-фильтров; и
средство квантования фильтра LPC3 с использованием режима квантования, выбранного из группы, состоящей из абсолютного квантования, дифференциального квантования относительно квантованного фильтра LPC2, формируя при этом упомянутый по меньшей один ранее квантованный фильтр из LPC-фильтров, дифференциального квантования относительно квантованного фильтра LPC4, формируя при этом упомянутый по меньшей один ранее квантованный фильтр из LPC-фильтров, и дифференциального квантования относительно обоих квантованных фильтров LPC2 и LPC4, формируя при этом упомянутый по меньшей один ранее квантованный фильтр из LPC-фильтров.
13. Устройство по п.12, содержащее средство кодирования суперкадра с использованием набора режимов кодирования, включающего в себя по меньшей мере один первый режим кодирования, охватывающий длительность одного кадра, второй режим кодирования, охватывающий длительность двух кадров, и третий режим кодирования, охватывающий длительность четырех кадров.
14. Устройство по п.13, в котором по меньшей мере один первый режим кодирования включает в себя АСЕLP и ТСХ256, вторым режимом кодирования является ТСХ512, а третьим режимом кодирования является ТСХ1024.
15. Устройство по п.13, содержащее:
средство передачи квантованного фильтра LPC4 в декодер; средство передачи в декодер квантованного фильтра LPC2, если первый, второй, третий и четвертый кадры суперкадра не закодированы с использованием третьего режима кодирования;
средство передачи в декодер квантованного фильтра LPC1, если первый и второй кадры суперкадра закодированы с использованием по меньшей мере одного первого режима кодирования; и
средство передачи в декодер квантованного фильтра LPC3, если третий и четвертый кадры суперкадра закодированы с использованием по меньшей мере одного первого режима кодирования.
16. Устройство по п.12, в котором средство квантования фильтра LPC3 с использованием дифференциального квантования относительно обоих квантованных фильтров LPC2 и LPC4 содержит средство дифференциального квантования фильтра LPC3 относительно (LPC2+LPC4)/2.
17. Устройство по п.12, дополнительно содержащее средство квантования фильтра LPC0, соответствующего последнему LPC-фильтру, вычисленному в течение предыдущего суперкадра, причем средство квантования фильтра LPC1 содержит средство использования режима квантования, выбранного из группы, состоящей из абсолютного квантования, дифференциального квантования относительно квантованного фильтра LPC2 и дифференциального квантования относительно обоих квантованных фильтров LPC0 и LPC2.
18. Устройство по п.12, содержащее средство выбора по меньшей мере одного режима кодирования из по меньшей мере одного первого режима кодирования, второго режима кодирования и третьего режима кодирования для кодирования первого, второго, третьего и четвертого кадров из суперкадра после того, как были квантованы все фильтры LPC1, LPC2, LPC3 и LPC4.
19. Способ обратного квантования по меньшей мере одного LPC-фильтра в суперкадре, включающем в себя последовательность кадров, каждый из которых ассоциирован с LPC-фильтром, причем первым квантован один из LPC-фильтров с использованием абсолютного квантования, а после этого квантованы другие LPC-фильтры с использованием процесса квантования, обеспечивающего для каждого из других LPC-фильтров выбор из абсолютного квантования и дифференциального квантования относительно по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, и при этом способ обратного квантования по меньшей мере одного LPC-фильтра содержит этапы, на которых:
принимают по меньшей мере LPC-фильтр, квантованный первым; выполняют обратное квантование LPC-фильтра, квантованного первым, с использованием абсолютного обратного квантования; и
если принят какой-либо иной квантованный LPC-фильтр, чем LPC-фильтр, квантованный первым, то принимают информацию об абсолютном или дифференциальном квантовании упомянутого принятого другого квантованного LPC фильтра и, если использовалось дифференциальное квантование, об упомянутом по меньшей мере одном ранее квантованном фильтре из LPC-фильтров и, с использованием упомянутой информации, выполняют обратное квантование упомянутого другого квантованного LPC-фильтра согласно выбору из абсолютного обратного квантования и дифференциального обратного квантования относительно по меньшей мере одного ранее принятого квантованного LPC-фильтра, соответствующего упомянутому по меньшей мере одному ранее квантованному LPC-фильтру среди LPC-фильтров.
20. Способ по п.19, в котором:
суперкадр включает в себя последовательность из первого кадра, ассоциированного с фильтром LPC1, второго кадра, ассоциированного с фильтром LPC2, третьего кадра, ассоциированного с фильтром LPC3, и четвертого кадра, ассоциированного с фильтром LPC4;
фильтром LPC4 является LPC-фильтр, квантованный первым с использованием абсолютного квантования, фильтр LPC2 квантован с использованием процесса квантования, обеспечивающего выбор из абсолютного квантования и дифференциального квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC4, фильтр LPC1 квантован с использованием процесса квантования, обеспечивающего выбор из абсолютного квантования и дифференциального квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC2, и фильтр LPC3 квантован с использованием процесса квантования, обеспечивающего выбор из абсолютного квантования, дифференциального квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC2, дифференциального квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC4, и дифференциального квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного обоими квантованными фильтрами LPC2 и LPC4.
21. Способ по п.20, в котором суперкадр закодирован с использованием набора режимов кодирования, включающего в себя по меньшей мере один первый режим кодирования, охватывающий длительность одного кадра, второй режим кодирования, охватывающий длительность двух кадров, и третий режим кодирования, охватывающий длительность четырех кадров, и при этом способ содержит этапы, на которых:
если первый, второй, третий и четвертый кадры суперкадра не закодированы с использованием третьего режима кодирования, то принимают квантованный фильтр LPC2 и первый индекс, образующий часть упомянутой информации, указывающий одно из абсолютного квантования и дифференциального квантования;
если первый и второй кадры суперкадра закодированы с использованием по меньшей мере одного первого режима кодирования, то принимают квантованный фильтр LPC1 и второй индекс, образующий часть упомянутой информации, указывающий одно из абсолютного квантования и дифференциального квантования;
если третий и четвертый кадры суперкадра закодированы с использованием по меньшей мере одного первого режима кодирования, то принимают квантованный фильтр LPC3 и третий индекс, образующий часть упомянутой информации, указывающий одно из абсолютного квантования и дифференциального квантования;
если принят квантованный фильтр LPC2, то выполняют обратное квантование фильтра LPC2 с использованием указанного посредством первого индекса одного из абсолютного обратного квантования и дифференциального обратного квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC4;
если принят квантованный фильтр LPC1, то выполняют обратное квантование фильтра LPC1 с использованием указанного посредством второго индекса одного из абсолютного обратного квантования и дифференциального обратного квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC2; и
если принят квантованный фильтр LPC3, то выполняют обратное квантование фильтра LPC3 с использованием указанного третьим индексом одного из абсолютного обратного квантования, дифференциального обратного квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC2, дифференциального обратного квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC4, и дифференциального обратного квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного обоими квантованными фильтрами LPC2 и LPC4.
22. Способ по п.21, в котором по меньшей мере один первый режим кодирования, охватывающий длительность одного кадра, включает в себя ACELP и ТСХ256, вторым режимом кодирования, охватывающим длительность двух кадров, является ТСХ512, и третьим режимом кодирования, охватывающим длительность четырех кадров, является ТСХ1024.
23. Способ по п.21, в котором обратное квантование фильтра LPC3 с использованием дифференциального обратного квантования относительно обоих квантованных фильтров LPC2 и LPC4 содержит обратное квантование фильтра LPC3 относительно (LPC2+LPC4)/2.
24. Способ по п.21, дополнительно содержащий прием квантованного фильтра LPC0, соответствующего последнему LPC-фильтру, вычисленному во время предыдущего суперкадра, причем обратное квантование фильтра LPC1 содержит использование одного из абсолютного обратного квантования, дифференциального обратного квантования относительно квантованного фильтра LPC2 и дифференциального обратного квантования относительно обоих квантованных фильтров LPC2 и LPC0.
25. Способ по п.21, в котором обратное квантование фильтра LPC1 содержит использование одного из абсолютного обратного квантования, дифференциального обратного квантования относительно квантованного фильтра LPC2 и дифференциального обратного квантования относительно обоих квантованных фильтров LPC2 и LPC0, причем способ содержит оценивание в декодере квантованного фильтра LPC0 при переключении из режима кодирования, не основанного на LPC, в режим кодирования, основанный на LPC.
26. Устройство для обратного квантования по меньшей мере одного LPC-фильтра в суперкадре, включающем в себя последовательность кадров, каждый из которых ассоциирован с LPC-фильтром, причем первым квантован один из LPC-фильтров с использованием абсолютного квантования, а после этого квантованы другие LPC-фильтры с использованием процесса квантования, обеспечивающего для каждого из других LPC-фильтров выбор из абсолютного квантования и дифференциального квантования относительно по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, и при этом устройство для обратного квантования по меньшей мере одного LPC-фильтра содержит:
средство приема по меньшей мере LPC-фильтра, квантованного первым;
средство обратного квантования LPC-фильтра, квантованного первым, с использованием абсолютного обратного квантования; и
если принят какой-либо другой квантованный LPC-фильтр, чем LPC-фильтр, квантованный первым, средство для приема информации об абсолютном или дифференциальном квантовании упомянутого принятого другого квантованного LPC-фильтра, и, если использовалось дифференциальное квантование, об упомянутом по меньшей мере одном ранее квантованном фильтре из LPC-фильтров, средство использования упомянутой информации для обратного квантования упомянутого другого квантованного LPC-фильтра согласно выбору из абсолютного обратного квантования и дифференциального обратного квантования относительно по меньшей мере одного ранее принятого квантованного LPC-фильтра, соответствующего упомянутому по меньшей мере одному ранее квантованному LPC-фильтру из LPC-фильтров.
27. Устройство по п.26, в котором:
суперкадр включает в себя последовательность из первого кадра, ассоциированного с фильтром LPC1, второго кадра, ассоциированного с фильтром LPC2, третьего кадра, ассоциированного с фильтром LPC3, и четвертого кадра, ассоциированного с фильтром LPC4;
фильтром LPC4 является LPC-фильтр, квантованный первым с использованием абсолютного квантования, фильтр LPC2 квантован с использованием процесса квантования, обеспечивающего выбор из абсолютного квантования и дифференциального квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC4, фильтр LPC1 квантован с использованием процесса квантования, обеспечивающего выбор из абсолютного квантования и дифференциального квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC2, и фильтр LPC3 квантован с использованием процесса квантования, обеспечивающего выбор из абсолютного квантования, дифференциального квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC2, дифференциального квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC4, и дифференциального квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного обоими квантованными фильтрами LPC2 и LPC4.
28. Устройство по п.27, в котором суперкадр закодирован с использованием набора режимов кодирования, включающего в себя по меньшей мере один первый режим кодирования, охватывающий длительность одного кадра, второй режим кодирования, охватывающий длительность двух кадров, и третий режим кодирования, охватывающий длительность четырех кадров, причем устройство содержит:
средство приема квантованного фильтра LPC2 и первого индекса, образующего часть упомянутой информации, указывающего одно из абсолютного квантования и дифференциального квантования, если первый, второй, третий и четвертый кадры суперкадра не закодированы с использованием третьего режима кодирования;
средство приема квантованного фильтра LPC1 и второго индекса, образующего часть упомянутой информации, указывающего одно из абсолютного квантования и дифференциального квантования, если первый и второй кадры суперкадра закодированы с использованием по меньшей мере одного первого режима кодирования;
средство приема квантованного фильтра LPC3 и третьего индекса, образующего часть упомянутой информации, указывающего одно из абсолютного квантования и дифференциального квантования, если третий и четвертый кадры суперкадра закодированы с использованием по меньшей мере одного первого режима кодирования;
средство обратного квантования фильтра LPC2 с использованием указанного посредством первого индекса одного из абсолютного обратного квантования и дифференциального обратного квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC4, если принят квантованный фильтр LPC2;
средство обратного квантования фильтра LPC1 с использованием указанного посредством второго индекса одного из абсолютного обратного квантования и дифференциального обратного квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC2, если принят квантованный фильтр LPC1; и
средство обратного квантования фильтра LPC3 с использованием указанного посредством третьего индекса одного из абсолютного обратного квантования, дифференциального обратного квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC2, дифференциального обратного квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного квантованным фильтром LPC4, и дифференциального обратного квантования относительно упомянутого по меньшей мере одного ранее квантованного фильтра из LPC-фильтров, образованного обоими квантованными фильтрами LPC2 и LPC4, если принят квантованный фильтр LPC3.
29. Устройство по п.28, в котором по меньшей мере один первый режим кодирования, охватывающий длительность одного кадра, включает в себя ACELP и ТСХ256, вторым режимом кодирования, охватывающим длительность двух кадров, является ТСХ512, и третьим режимом кодирования, охватывающим длительность четырех кадров, является ТСХ1024.
30. Устройство по п.28, в котором средство обратного квантования фильтра LPC3 с использованием дифференциального обратного квантования относительно обоих квантованных фильтров LPC2 и LPC4 содержит средство обратного квантования фильтра LPC3 относительно (LPC2+LPC4)/2.
31. Устройство по п.28, дополнительно содержащее средство приема квантованного фильтра LPC0, соответствующего последнему
LPC-фильтру, вычисленному в течение предыдущего суперкадра, причем средство обратного квантования фильтра LPC1 содержит средство использования одного из абсолютного обратного квантования, дифференциального обратного квантования относительно квантованного фильтра LPC2 и дифференциального обратного квантования относительно обоих квантованных фильтров LPC2 и LPC0.
32. Устройство по п.28, в котором средство обратного квантования фильтра LPC1 содержит средство использования одного из абсолютного обратного квантования, дифференциального обратного квантования относительно квантованного фильтра LPC2 и дифференциального обратного квантования относительно обоих квантованных фильтров LPC2 и LPC0, содержащее средство оценки в декодере квантованного фильтра LPC0 при переключении из режима кодирования, не основанного на LPC, в режим кодирования, основанный на LPC.
US 7315815 B1, 01.01.2008 | |||
US 6687667 В1, 03.02.2004 | |||
WO 2006049179 A1, 11.05.2006 | |||
Устройство для зачистки труб | 1989 |
|
SU1719116A1 |
Авторы
Даты
2014-03-10—Публикация
2009-07-10—Подача