УСТРОЙСТВО ВЕКТОРНОГО КВАНТОВАНИЯ, УСТРОЙСТВО ВЕКТОРНОГО ОБРАТНОГО КВАНТОВАНИЯ И СПОСОБЫ ДЛЯ ЭТОГО
VECTOR QUANTISER, VECTOR INVERSE QUANTISER AND METHODS THEREFOR

Область техники, к которой относится изобретение
Данное изобретение относится к устройству и способу векторного квантования, устройству и способу векторного деквантования (обратного квантования), выполняющим векторное квантование на параметрах линейных спектральных пар (LSP). Более конкретно, настоящее изобретение относится к устройству и способу векторного квантования, устройству и способу векторного деквантования, выполняющим векторное квантование на параметрах LSP, используемых для устройства кодирования/декодирования речи, передающего речевой сигнал, в областях техники системы связи с передачей пакетов, представленной системой Интернет-связи и мобильной связи или подобной.
Предшествующий уровень техники
В областях техники цифровой радиосвязи, связи с передачей пакетов, представленной Интернет-связью или хранением речевых сигналов или подобным, способы кодирования/декодирования речевого сигнала необходимы, чтобы реализовывать эффективное использование емкости канала передачи и среды хранения для радиосигналов или подобного. В числе этих способов способы кодирования/декодирования речи по схеме линейного предсказания с кодовым возбуждением (CELP) составляют основной способ.
8
Использующее CELP устройство кодирования речи кодирует входной речевой сигнал на основании предварительно сохраненной модели речи. Для большей конкретности, использующее CELP устройство кодирования речи делит оцифрованный речевой сигнал на кадры фиксированного временного интервала порядка 10-20 мс, выполняет анализ с линейным предсказанием речевого сигнала в каждом кадре, вычисляет коэффициент линейного предсказания (LPC) и вектор остатка линейного предсказания и кодирует коэффициент линейного предсказания и вектор остатка линейного предсказания отдельно. В качестве способа кодирования коэффициента линейного предсказания общей практикой является преобразовывать коэффициент линейного предсказания в параметр LSP (линейных спектральных пар) и кодировать параметр LSP. Кроме того, в качестве способа кодирования параметра LSP, общей практикой является подвергать параметр LSP векторному квантованию. Векторное квантование является способом, посредством чего кодовый вектор, ближайший к вектору, подлежащему квантованию, выбирается из кодовой книги, содержащей множество векторов-представителей, и индекс (код), назначенный выбранному кодовому вектору, выводится в качестве результата квантования. В векторном квантовании размер кодовой книги определяется согласно количеству доступной информации. Если, например, векторное квантование выполняется при количестве информации 8 битов, конфигурация кодовой книги может задаваться с использованием 256 (=2) типов кодовых векторов.
Кроме того, для уменьшения объема информации и объема вычислений в векторном квантовании, используются различные способы, такие как многостадийное векторное квантование (MSVQ), векторное квантование с разделенным вектором (SVQ) (например, см. непатентную литературу 1). Многостадийное векторное квантование является способом векторного квантования вектора однократно и последующего векторного квантования ошибки квантования, и векторное квантование с разделенным вектором является способом разделения вектора на множество порций и квантования соответственных полученных разделенных векторов.
Кроме того, существует классифицированное векторное квантование (классифицированное VQ) в качестве способа переключения между кодовыми книгами, используемыми для векторного квантования, по ситуации в соответствии с фонетическими характеристиками (например, информации относительно произнесения голосом, приглушения и режима речи или подобного), имеющими корреляцию с LSP, подлежащим квантованию, выполняя посредством этого векторное квантование, подходящее для характеристик LSP и дополнительно улучшающее рабочую характеристику кодирования LSP (например, см. непатентную литературу 2). Например, используя взаимную корреляцию между "широкополосным" LSP (LSP, полученным, исходя из широкополосного сигнала) и "узкополосным" LSP (LSP, полученным, исходя из узкополосного сигнала), масштабируемое кодирование классифицирует узкополосный LSP в соответствии с его характеристиками, переключает кодовую книгу первой стадии в многостадийном векторном квантовании в соответствии с типом характеристик узкополосного LSP (в дальнейшем сокращенно именуемый "тип узкополосного LSP") и векторно квантует широкополосный LSP.
Кроме того, выполняются исследования относительно выполнения векторного квантования путем комбинирования многостадийного векторного квантования и классификационного векторного квантования (с группировкой на классы). В этом случае рабочая характеристика квантования может быть улучшена путем обеспечения множества групп кодовых книг (кодовая книга первой стадии, кодовая книга второй стадии, …), составляемых из множества стадий многостадийного векторного квантования в соответствии с типом узкополосного LSP, поскольку должно обеспечиваться множество групп кодовых книг, и в связи с этим требуется более большая машинная память. Соответственно выполняются исследования относительно возможности, чтобы при выполнении векторного квантования путем комбинирования многостадийного векторного квантования и классифицированного векторного квантования могла переключаться только кодовая книга первой стадии в соответствии с типом узкополосного LSP, а общие кодовые книги со второй стадии далее используются для всех типов узкополосного LSP (например, см. патентную литературу 1). В многостадийном векторном квантовании это позволяет препятствовать возрастанию необходимой машинной памяти, при этом получая эффект улучшения рабочей характеристики квантования посредством классифицированного векторного квантования.
Перечень ссылок
Патентная литература
Патентная литература (PTL) 1 WO 2006/030865
Непатентная литература
Непатентная литература (NPL) 1 Allen Gersho, Robert M. Gray, переведено Furui и (тремя) другими, "Vector quantization and information compression", CORONA PUBLISHING CO., LTD. (Векторное квантование и сжатие информации, издательство CORONA PUBLISHING CO., LTD.), 10 ноября, 1998, с. 506, 524-531.
Непатентная литература (NPL) 2 Allen Gersho, Robert M. Gray, переведено Furui и (тремя) другими, "Vector quantization and information compression", изд. CORONA PUBLISHING CO., LTD., 10 ноября, 1998, с.491-493.
Краткое описание сущности изобретения
Техническая задача изобретения
В многостадийном векторном квантовании, использующем вышеописанное классификационное векторное квантование, векторное квантование первой стадии выполняется с использованием кодовой книги, соответствующей типу узкополосного LSP, и, следовательно, отклонение распределения ошибок квантования для векторного квантования первой стадии различается в зависимости от типа узкополосного LSP. Однако, поскольку используется одна общая кодовая книга независимо от типа узкополосного LSP в векторном квантовании со второй стадии и далее, имеется проблема, что точность векторного квантования со второй стадии становится недостаточной.
На фиг.1 иллюстрируются проблемы вышеописанного многостадийного векторного квантования. На фиг.1 черные окружности представляют двумерные векторы, пунктирные окружности схематично представляют величину дисперсии векторного множества, и центр окружности представляет среднее для векторного множества. Кроме того, на фиг.1 CBa1, CBa2,..., CBan соответствуют соответственным типам узкополосного LSP и представляют множество кодовых книг, используемых для векторного квантования на первой стадии. CBb представляет кодовую книгу, используемую для векторного квантования на второй стадии.
Как показано на фиг.1, в качестве результата выполнения векторного квантования первой стадии, использующего кодовые книги CBa1, CBa2,..., CBan, отклонения распределения (распределение черных окружностей, показанных на фиг.1) для векторов ошибки квантования, использующих множество выборок, отличаются друг от друга. Когда векторное квантование второй стадии выполняется на векторах ошибки квантования при различных отклонениях распределения с использованием общего второго кодового вектора, точность квантования на второй стадии ухудшается.
Следовательно, задачей настоящего изобретения является создание устройства и способа векторного квантования, устройства и способа векторного деквантования в многостадийном векторном квантовании, в которых кодовая книга первой стадии переключается в соответствии с типом характеристик, имеющих корреляцию с вектором, подлежащим квантованию, с тем, чтобы обеспечить повышение точности квантования для векторного квантования со второй стадии далее.
Решение технической задачи изобретения
Устройство векторного квантования по настоящему изобретению имеет конфигурацию, включающую в себя первую секцию выбора, которая выбирает классификационный кодовый вектор, указывающий тип характеристик, имеющих корреляцию с вектором, подлежащим квантованию, из множества классификационных кодовых векторов, вторую секцию выбора, которая выбирает первую кодовую книгу, соответствующую выбранному классификационному кодовому вектору, из множества первых кодовых книг, первую секцию квантования, которая квантует вектор, подлежащий квантованию, используя множество первых кодовых векторов, составляющих выбранную первую кодовую книгу, и получает первый код, третью секцию выбора, которая выбирает первую матрицу, соответствующую выбранному классификационному кодовому вектору, из множества матриц, и вторую секцию квантования, которая квантует первый вектор остатка, который является разностью между первым кодовым вектором, указанным первым кодом, и подлежащим квантованию вектором, используя множество вторых кодовых векторов и выбранную первую матрицу, и получает второй код.
Устройство векторного деквантования по настоящему изобретению имеет конфигурацию, включающую в себя приемную секцию, которая принимает первый код, полученный устройством векторного квантования, квантующим вектор, подлежащий квантованию, и второй код, полученный последующим квантованием ошибки квантования относительно квантования, первую секцию выбора, которая выбирает классификационный кодовый вектор, указывающий тип характеристик, имеющих корреляцию с вектором, подлежащим квантованию, из множества классификационных кодовых векторов, вторую секцию выбора, которая выбирает первую кодовую книгу, соответствующую выбранному классификационному кодовому вектору, из множества первых кодовых книг, первую секцию деквантования, которая указывает первый кодовый вектор, соответствующий первому коду, из множества первых кодовых векторов, составляющих выбранную первую кодовую книгу, третью секцию выбора, которая выбирает матрицу, соответствующую выбранному классификационному кодовому вектору, из множества матриц, и вторую секцию деквантования, которая указывает второй кодовый вектор, соответствующий второму коду, из множества вторых кодовых векторов и получает вектор квантования, используя указанный второй кодовый вектор, выбранную матрицу и указанный первый кодовый вектор.
Способ векторного квантования по настоящему изобретению включает в себя этап выбора классификационного кодового вектора, указывающего тип характеристик, имеющих корреляцию с вектором, подлежащим квантованию, из множества классификационных кодовых векторов, этап выбора первой кодовой книги, соответствующей выбранному классификационному кодовому вектору, из множества первых кодовых книг, этап квантования вектора, подлежащего квантованию, с использованием множества первых кодовых векторов, составляющих выбранную первую кодовую книгу, и получения первого кода, этап выбора первой матрицы, соответствующей выбранному классификационному кодовому вектору, из множества матриц и этап квантования первого вектора остатка, являющегося разностью между первым кодовым вектором, указанным первым кодом, и вектором, подлежащим квантованию, с использованием набора вторых кодовых векторов и выбранной первой матрицы, и получения второго кода.
Способ векторного деквантования по настоящему изобретению включает в себя этап приема первого кода, полученного устройством векторного квантования, квантующим вектор, подлежащий квантованию, и второго кода, полученного последующим квантованием ошибки квантования относительно квантования, этап выбора классификационного кодового вектора, указывающего тип характеристик, имеющих корреляцию с вектором, подлежащим квантованию, из множества классификационных кодовых векторов, этап выбора первой кодовой книги, соответствующей выбранному классификационному кодовому вектору, из множества первых кодовых книг, этап указания первого кодового вектора, соответствующего первому коду, из множества первых кодовых векторов, составляющих выбранную первую кодовую книгу, этап выбора матрицы, соответствующей выбранному классификационному кодовому вектору, из множества матриц и этап указания второго кодового вектора, соответствующего второму коду, из множества вторых кодовых векторов и получения вектора квантования с использованием указанного второго кодового вектора, выбранной матрицы и указанного первого кодового вектора.
Полезные эффекты изобретения
В соответствии с настоящим изобретением, в многостадийном векторном квантовании, посредством чего кодовая книга первой стадии переключается в соответствии с типом характеристик, имеющих корреляцию с вектором, подлежащим квантованию, векторное квантование со второй стадии выполняется с использованием матрицы, соответствующей вышеописанному типу, и посредством этого является возможным повысить точность квантования для векторного квантования со второй стадии и далее.
Краткое описание чертежей
Фиг.1 - иллюстрация вопросов многостадийного векторного квантования предшествующего уровня техники;
фиг.2 - блок-схема, показывающая основную конфигурацию устройства векторного квантования LSP согласно варианту осуществления настоящего изобретения;
фиг.3 - блок-схема, показывающая основную конфигурацию устройства векторного деквантования LSP согласно варианту осуществления настоящего изобретения;
фиг.4 - схема, условно иллюстрирующая эффект векторного квантования LSP согласно варианту осуществления настоящего изобретения;
фиг.5 - блок-схема, показывающая основную конфигурацию устройства CELP кодирования, оснащенного устройством векторного квантования LSP согласно варианту осуществления настоящего изобретения; и
фиг.6 - блок-схема, показывающая основную конфигурацию устройства CELP декодирования, оснащенного устройством векторного деквантования LSP согласно варианту осуществления настоящего изобретения.
Описание вариантов осуществления настоящего изобретения
Ниже в документе, вариант осуществления настоящего изобретения будет описан подробно со ссылкой на сопроводительные чертежи. Устройство и способ векторного квантования, устройство и способ векторного деквантования согласно настоящему изобретению будут описаны, рассматривая в качестве примера устройство и способ векторного квантования LSP, устройство и способ векторного деквантования LSP.
Кроме того, в варианте осуществления настоящего изобретения в качестве примера будет описан случай, где квантователь широкополосного LSP для масштабируемого кодирования представляет широкополосный LSP в качестве вектора, подлежащего квантованию, и осуществляет переключение между кодовыми книгами, используемыми для первой стадии квантования, используя тип узкополосного LSP с наличием корреляции с вектором, подлежащим квантованию. Также является возможным осуществлять переключение между кодовыми книгами, используемыми для первой стадии квантования, используя квантованный узкополосный LSP (узкополосный LSP, квантованный квантователем узкополосного LSP (не показан) заранее) вместо узкополосного LSP. Кроме того, также является возможным преобразовать квантованный узкополосный LSP в формат широкополосного и осуществлять переключение между кодовыми книгами, используемыми для первой стадии квантования, используя преобразованный квантованный узкополосный LSP.
Кроме того, полагается, что матрица для перемещения отклонения распределения кодовых векторов путем выполнения вычисления матрицы на всех кодовых векторах, составляющих кодовую книгу, называется "матрицей отображения" в варианте осуществления настоящего изобретения. Матрица отображения является фактически более часто используемой, чтобы выполнять вычисления матрицы на векторе, подлежащем квантованию, как в случае варианта осуществления настоящего изобретения, чем используемой, чтобы выполнять вычисления матрицы на кодовом векторе.
На фиг.2 показана блок-схема основной конфигурации устройства 100 векторного квантования LSP согласно варианту осуществления настоящего изобретения. Здесь в качестве примера будет описан случай, где устройство 100 векторного квантования LSP квантует вводимый вектор LSP посредством многостадийного (трехстадийного) векторного квантования.
На фиг.2 показано устройство 100 векторного квантования LSP, оснащенное классификатором 101, переключателем 102, первой кодовой книгой 103, сумматором 104, секцией 105 минимизации ошибки, секцией 106 определения матрицы, секцией 107 вычисления матрицы, второй кодовой книгой 108, сумматором 109, секцией 110 вычисления матрицы, третьей кодовой книгой 111 и сумматором 112.
Классификатор 101 заранее сохраняет классификационную кодовую книгу, составленную из множества порций классификационной информации, указывающей множество типов относительно вектора узкополосного LSP. Классификатор 101 выбирает классификационную информацию, которая указывает тип вектора широкополосного LSP, являющегося вектором, подлежащим квантованию, из классификационной кодовой книги и выводит классификационную информацию на переключатель 102 и секцию 106 определения матрицы. Для большей конкретности, классификатор 101 содержит классификационную кодовую книгу, составленную из кодовых векторов (классификационных кодовых векторов), соответствующих соответственным типам вектора узкополосного LSP. Классификатор 101 осуществляет поиск в классификационной кодовой книге, чтобы найти кодовый вектор, который минимизирует квадратичную ошибку по отношению к введенному вектору узкополосного LSP. Классификатор 101 рассматривает индекс кодового вектора, найденный посредством поиска, как классификационную информацию, указывающую тип вектора LSP.
Переключатель 102 выбирает одну кодовую подкнигу, соответствующую классификационной информации, введенной от классификатора 101, из первой кодовой книги 103 и устанавливает контакт выхода кодовой подкниги на сумматор 104.
Первая кодовая книга 103 заранее сохраняет кодовые подкниги (CBa1-CBan), соответствующие соответственным типам узкополосного LSP. Таким образом, когда, например, общим числом типов узкополосного LSP является n, числом кодовых подкниг, составляющих первую кодовую книгу 103, также является n. Первая кодовая книга 103 выводит первый кодовый вектор, указанный секцией 105 минимизации ошибки, из множества первых кодовых векторов, составляющих кодовую подкнигу, выбранную посредством переключателя 102, на переключатель 102.
Сумматор 104 вычисляет разность между вектором широкополосного LSP, введенным в качестве вектора, подлежащего квантованию, и первым кодовым вектором, введенным от переключателя 102, и выводит разность на секцию 105 минимизации ошибки в качестве первого вектора остатка. Кроме того, сумматор 104 выводит на секцию 107 вычисления матрицы один из первых векторов остатка, соответствующий всем первым кодовым векторам, выявленный при поиске, что будет минимальным, секцией 105 минимизации ошибки.
Секция 105 минимизации ошибки представляет результат возведения в квадрат первого вектора остатка, введенного от сумматора 104, в качестве квадратичной ошибки между вектором широкополосного LSP и первым кодовым вектором, осуществляет поиск в первой кодовой книге и посредством этого получает первый кодовый вектор, который минимизирует эту квадратичную ошибку. Подобным образом секция 105 минимизации ошибки представляет результат возведения в квадрат второго вектора остатка, введенного от сумматора 109, в качестве квадратичной ошибки между первым вектором остатка и вторым кодовым вектором, осуществляет поиск во второй кодовой книге и посредством этого получает второй кодовый вектор, который минимизирует эту квадратичную ошибку. Подобным образом секция 105 минимизации ошибки представляет результат возведения в квадрат третьего вектора остатка, введенного от сумматора 112, в качестве квадратичной ошибки между вторым вектором остатка и третьим кодовым вектором, осуществляет поиск в третьей кодовой книге и посредством этого получает третий кодовый вектор, который минимизирует эту квадратичную ошибку. Секция 105 минимизации ошибки совместно кодирует индексы, назначенные трем кодовым векторам, полученным посредством поиска, и выводит кодированные индексы в виде кодированных данных.
Секция 106 определения матрицы заранее сохраняет кодовую книгу матрицы отображения, составленную из матриц отображения, соответствующих различным типам вектора узкополосного LSP. Причем кодовая книга матрицы отображения составлена из двух кодовых книг матриц отображения: первой кодовой книги матрицы отображения и второй кодовой книги матрицы отображения. Кроме того, первая кодовая книга матрицы отображения составлена из первой матрицы отображения, используемой, чтобы выполнять вычисления матрицы на первом кодовом векторе, и вторая кодовая книга матрицы отображения составлена из второй матрицы отображения, используемой, чтобы выполнять вычисления матрицы на втором кодовом векторе. Секция 106 определения матрицы выбирает первую матрицу отображения и вторую матрицу отображения в соответствии с введенной от классификатора 101 классификационной информацией из кодовой книги матрицы отображения. Секция 106 определения матрицы выводит обратную матрицу для выбранной первой матрицы отображения на секцию 107 вычисления матрицы и выводит обратную матрицу для выбранной второй матрицы отображения на секцию 110 вычисления матрицы.
Секция 107 вычисления матрицы выполняет вычисления матрицы на первом векторе остатка, введенном от сумматора 104, используя обратную матрицу для первой матрицы отображения, введенную от секции 106 определения матрицы, и выводит вектор после вычисления матрицы на сумматор 109.
Вторая кодовая книга (CBb) 108 составлена из множества вторых кодовых векторов и выводит на сумматор 109 второй кодовый вектор, указанный указателем от секции 105 минимизации ошибки.
Сумматор 109 вычисляет разность между вектором после вычисления матрицы, введенным от секции 107 вычисления матрицы, и вторым кодовым вектором, введенным из второй кодовой книги 108, и выводит разность на секцию 105 минимизации ошибки в качестве второго вектора остатка. Кроме того, сумматор 109 выводит один из вторых векторов остатка, соответствующий всем вторым кодовым векторам, который был выявлен, что будет минимальным, при поиске секцией 105 минимизации ошибки, на секцию 110 вычисления матрицы.
Секция 110 вычисления матрицы выполняет вычисление матрицы на втором векторе остатка, введенном от сумматора 109, используя обратную матрицу для второй матрицы отображения, введенную от секции 106 определения матрицы, и выводит вектор после вычисления матрицы на сумматор 112.
Третья кодовая книга 111 (CBc) составлена из множества третьих кодовых векторов и выводит на сумматор 112 третий кодовый вектор, указанный указателем от секции 105 минимизации ошибки.
Сумматор 112 вычисляет разность между вектором после вычисления матрицы, введенным от секции 110 вычисления матрицы, и третьим кодовым вектором, введенным от третьей кодовой книги 111, и выводит эту разность на секцию 105 минимизации ошибки в качестве третьего вектора остатка.
Затем будут описаны операции, выполняемые устройством 100 векторного квантования LSP, рассматривая в качестве примера случай, где порядком вектора широкополосного LSP, подлежащим квантованию, является R-й порядок. В нижеследующем описании вектор широкополосного LSP будет представлен в виде LSP(i) (i=0, 1,..., R-1).
Классификатор 101 содержит классификационную кодовую книгу, составленную из n кодовых векторов (классификационных кодовых векторов), соответствующих n типам векторов узкополосного LSP. Классификатор 101 находит m-й кодовый вектор, в котором квадратичная ошибка при введенном узкополосном векторе LSP становится минимальной, путем просмотра кодовых векторов. Классификатор 101 выводит m (1≤m≤n) на переключатель 102 и секцию 106 определения матрицы в качестве классификационной информации.
Переключатель 102 выбирает кодовую подкнигу CBam, соответствующую классификационной информации m, из первой кодовой книги 103 и устанавливает контакт выхода кодовой подкниги на сумматор 104.
(d1')
(d1)
Первая кодовая книга 103 выводит первый кодовый вектор CODE_1(i) (i=0, 1,..., R-1), указанный указателем d1' от секции 105 минимизации ошибки, из каждого первого кодового вектора CODE_1(i) (d1=0, 1,..., D1-1, i=0, 1,..., R-1), составляющего CBam для n кодовых подкниг CBa1-CBan, на переключатель 102. Здесь D1 является общим числом кодовых векторов в первой кодовой книге, и d1 является индексом первого кодового вектора. Здесь первая кодовая книга 103 последовательно принимает значения d1' от d1'=0 до d1'=D1-1, указанные секцией 105 минимизации ошибки.
(d1')
(d1')
(d1
min)
(d1')
Сумматор 104 вычисляет разность между вектором LSP(i) (i=0, 1,..., R-1) широкополосного LSP, введенным в качестве вектора, подлежащего квантованию, и первым кодовым вектором CODE_1(i) (i=0, 1,..., R-1), введенным из первой кодовой книги 103 согласно уравнению 1 ниже, и выводит эту разность на секцию 105 минимизации ошибки в качестве первого вектора остатка Err_1(i) (i=0, 1,..., R-1). Кроме того, сумматор 104 выводит на секцию 107 вычисления матрицы первый вектор остатка Err_1-(i) (i=0, 1,..., R-1), выявленный, что будет минимальным, при поиске секцией 105 минимизации ошибки для первого вектора остатка Err_1(i) (i=0, 1,..., R-1), соответствующего d1' от d1'=0 до d1'=D1-1.
<img file="00000001.tif" he="7" wi="103" img-content="undefined" img-format="tif" />
(Уравнение 1)
(d1')
Секция 105 минимизации ошибки последовательно указывает значения d1' от d1'=0 до d1'=D1-1 на первую кодовую книгу 103, возводит в квадрат первый вектор остатка Err_1(i) (i=0, 1,..., R-1), введенный от сумматора 104, для d1' от d1'=0 до d1'=D1-1 согласно уравнению 2 ниже и находит квадратичную ошибку Err.
<img file="00000002.tif" he="12" wi="42" img-content="undefined" img-format="tif" />
(Уравнение 2)
Секция 105 минимизации ошибки сохраняет индекс d1' первого кодового вектора, квадратичная ошибка которого, Err, становится минимальной, в качестве первого индекса d1_min.
-1(m)
-1(m)
-1(m)
-1(m)
Секция 106 определения матрицы выбирает обратную матрицу MM_1 первой матрицы отображения, соответствующей классификационной информации m, из первой кодовой книги матриц отображения и выводит обратную матрицу MM_1 на секцию 107 вычисления матрицы. Кроме того, секция 106 определения матрицы выбирает обратную матрицу MM_2 для второй матрицы отображения, соответствующей классификационной информации m, из второй кодовой книги матрицы отображения и выводит обратную матрицу MM_2 на секцию 110 вычисления матрицы.
(d1
min)
-1(m)
(d1
min)
Секция 107 вычисления матрицы выполняет вычисление матрицы на первом векторе остатка Err_1-(i) (i=0, 1,..., R-1), введенном от сумматора 104, используя обратную матрицу MM_1 для первой матрицы отображения, введенную от секции 106 определения матрицы, согласно уравнению 3 ниже и выводит полученную Map_Err_1-(i) (i=0, 1,..., R-1) на сумматор 109.
<img file="00000003.tif" he="35" wi="123" img-content="undefined" img-format="tif" />
(Уравнение 3)
(d2')
(d2)
Вторая кодовая книга 108 выводит на сумматор 109 кодовый вектор CODE_2(i) (i=0, 1,..., R-1), указанный указателем d2' от секции 105 минимизации ошибки, из каждого второго кодового вектора CODE_2(i) (d2=0, 1,..., D2-1, i=0, 1,..., R-1), составляющего кодовую книгу. Здесь D2 является общим числом кодовых векторов второй кодовой книги, и d2 является индексом кодового вектора. Вторая кодовая книга 108 последовательно принимает значения d2' от d2'=0 до d2'=D2-1, указанные секцией 105 минимизации ошибки.
(d1
min)
(d2')
(d2')
(d2
min)
(d2')
Сумматор 109 вычисляет разность между первым вектором остатка Map_Err_1-(i) (i=0, 1,..., R-1) после вычисления матрицы, введенным от секции 107 вычисления матрицы, и вторым кодовым вектором CODE_2(i) (i=0, 1,..., R-1), введенным из второй кодовой книги 108, согласно уравнению 4 ниже и выводит эту разность на секцию 105 минимизации ошибки в качестве второго вектора остатка Err_2(i) (i=0, 1,..., R-1). Кроме того, сумматор 109 выводит на секцию 110 вычисления матрицы второй вектор остатка Err_2-(i) (i=0, 1,..., R-1), выявленный, что будет минимальным, при поиске секцией 105 минимизации ошибки для второго вектора остатка Err_2(i) (i=0, 1,..., R-1), соответствующего значению d2' от d2'=0 до d2'=D1-1.
<img file="00000004.tif" he="7" wi="124" img-content="undefined" img-format="tif" />
(Уравнение 4)
(d2')
Здесь секция 105 минимизации ошибки последовательно указывает значение d2' от d2'=0 до d2'=D2-1 на вторую кодовую книгу 108, возводит в квадрат второй вектор остатка Err_2(i) (i=0, 1,..., R-1), введенный от сумматора 109, при d2' от d2'=0 до d2'=D2-1 согласно уравнению 5 ниже и находит квадратичную ошибку Err.
<img file="00000005.tif" he="12" wi="44" img-content="undefined" img-format="tif" />
(Уравнение 5)
Секция 105 минимизации ошибки сохраняет индекс d2' второго кодового вектора, квадратичная ошибка которого, Err, становится минимальной, в качестве второго индекса d2_min.
(d2
min)
-1(m)
(d2
min)
Секции 110 вычисления матрицы выполняет вычисления матрицы на втором векторе остатка Err_2-(i) (i=0, 1,..., R-1), введенном от сумматора 109, используя обратную матрицу MM_2 для второй матрицы отображения, введенную от секции 106 определения матрицы, согласно уравнению 6 ниже и выводит полученную Map_Err_2-(i) (i=0, 1,..., R-1) на сумматор 112.
<img file="00000006.tif" he="33" wi="121" img-content="undefined" img-format="tif" />
(Уравнение 6)
(d3')
(d3)
Третья кодовая книга 111 выводит на сумматор 112 третий кодовый вектор CODE_3(i) (i=0, 1,..., R-1), указанный указателем d3' от секции 105 минимизации ошибки, из каждого третьего кодового вектора CODE_3(i) (d3=0, 1,..., D3-1, i=0, 1,..., R-1), составляющего кодовую книгу. Здесь D3 является общим числом кодовых векторов третьей кодовой книги, и d3 является индексом кодового вектора. Третья кодовая книга 111 последовательно принимает значения d3' от d3'=0 до d3'=D3-1, указанные секцией 105 минимизации ошибки.
(d2
min)
(d3')
(d3')
Сумматор 112 вычисляет разность между вторым вектором остатка Map_Err_2-(i) (i=0, 1,..., R-1) после вычисления матрицы, введенной от секции 110 вычисления матрицы, и кодовым вектором CODE_3(i) (i=0, 1,..., R-1), введенным из третьей кодовой книги 111, согласно уравнению 7 ниже и выводит эту разность на секцию 105 минимизации ошибки в качестве третьего вектора остатка Err_3(i) (i=0, 1,..., R-1).
<img file="00000007.tif" he="8" wi="126" img-content="undefined" img-format="tif" />
(Уравнение 7)
(d3')
Здесь секция 105 минимизации ошибки последовательно указывает значения d3' от d3'=0 до d3'=D3-1 для третьей кодовой книги 111, возводит в квадрат третий вектор остатка Err_3(i) (i=0, 1,..., R-1), введенный от сумматора 112, для d3' от d3'=0 до d3'=D3-1 согласно уравнению 8 ниже и находит квадратичную ошибку Err.
<img file="00000008.tif" he="12" wi="44" img-content="undefined" img-format="tif" />
(Уравнение 8)
Затем секция 105 минимизации ошибки сохраняет индекс d3' третьего кодового вектора, квадратичная ошибка которого, Err, становится минимальной, в качестве третьего индекса d3_min. Секция 105 минимизации ошибки затем совместно кодирует первый индекс d1_min, второй индекс d2_min и третий индекс d3_min и выводит кодированные индексы в виде кодированных данных.
На фиг.3 показана блок-схема основной конфигурации устройства 200 векторного деквантования LSP согласно настоящему варианту осуществления. Устройство 200 векторного деквантования LSP декодирует кодированные данные, выводимые от устройства 100 векторного квантования LSP, и формирует квантованный вектор LSP.
Устройство 200 векторного деквантования LSP оснащено классификатором 201, секцией 202 разделения кода, переключателем 203, первой кодовой книгой 204, секцией 205 определения матрицы, второй кодовой книгой (CBb) 206, секцией 207 вычисления матрицы, сумматором 208, третьей кодовой книгой (CBc) 209, секцией 210 вычисления матрицы и сумматором 211. Первая кодовая книга 204 обеспечивается кодовой подкнигой одинакового содержания с таковым для кодовой подкниги (CBa1-CBan), обеспечиваемой для первой кодовой книги 103, и секция 205 определения матрицы обеспечивается кодовой книгой матрицы отображения одинакового содержания с таковым для кодовой книги матрицы отображения, обеспечиваемой для секции 106 определения матрицы. Кроме того, вторая кодовая книга 206 обеспечивается кодовой книгой одинакового содержания с таковым для кодовой книги, обеспечиваемой для второй кодовой книги 108, и третья кодовая книга 209 обеспечивается кодовой книгой одинакового содержания с таковым для кодовой книги, обеспечиваемой для третьей кодовой книги 111.
Классификатор 201 хранит классификационную кодовую книгу, составленную из множества порций классификационной информации, указывающей множество типов векторов узкополосного LSP. Классификатор 201 выбирает из классификационной кодовой книги классификационную информацию, указывающую тип вектора широкополосного LSP, который является вектором, подлежащим квантованию, и выводит классификационную информацию на переключатель 203 и секцию 205 определения матрицы. Для большей конкретности, классификатор 201 содержит классификационную кодовую книгу, составленную из кодовых векторов (классификационных кодовых векторов), соответствующих соответственным типам векторов узкополосного LSP. Классификатор 201 осуществляет поиск в классификационной кодовой книге и посредством этого находит кодовый вектор, квадратичная ошибка которого по отношению к квантованному вектору узкополосного LSP, введенному от квантователя узкополосного LSP (не показан), становится минимальной. Классификатор 201 представляет индекс кодового вектора, найденного посредством поиска, в качестве классификационной информации, указывающей тип вектора LSP.
Секция 202 разделения кода разделяет кодированные данные, переданные от устройства 100 векторного квантования LSP, на первый индекс, второй индекс и третий индекс. Секция 202 разделения кода указывает первый индекс на первую кодовую книгу 204, указывает второй индекс на вторую кодовую книгу 206 и указывает третий индекс на третью кодовую книгу 209.
Переключатель 203 выбирает одну кодовую подкнигу (CBam), соответствующую классификационной информации, введенной от классификатора 201, из первой кодовой книги 204 и устанавливает контакт выхода кодовой подкниги на сумматор 208.
Первая кодовая книга 204 выводит один первый кодовый вектор, соответствующий первому индексу, указанному секцией 202 разделения кода, из множества первых кодовых векторов, составляющих первую кодовую книгу (кодовую подкнигу), выбранную посредством переключателя 203, на переключатель 203.
Секция 205 определения матрицы выбирает первую матрицу отображения, соответствующую классификационной информации, введенной от классификатора 201, из первой кодовой книги матрицы отображения и выводит выбранную первую матрицу отображения на секцию 207 вычисления матрицы и секцию 210 вычисления матрицы. Кроме того, секция 205 определения матрицы выбирает вторую матрицу отображения, соответствующую классификационной информации, введенной от классификатора 201, из второй кодовой книги матрицы отображения и выводит выбранную вторую матрицу отображения на секцию 210 вычисления матрицы.
Вторая кодовая книга 206 выводит один второй кодовый вектор, соответствующий второму индексу, указанному секцией 202 разделения кода, на секцию 207 вычисления матрицы.
Секция 207 вычисления матрицы выполняет вычисления матрицы на втором кодовом векторе, введенном из второй кодовой книги 206, используя первую матрицу отображения, введенную от секции 205 определения матрицы, и выводит результат вычисления матрицы на сумматор 208.
Сумматор 208 суммирует первый кодовый вектор, введенный от переключателя 203, и результат вычисления матрицы, введенный от секции 207 вычисления матрицы, и выводит результат суммирования на сумматор 211.
Третья кодовая книга 209 выводит один третий кодовый вектор, соответствующий третьему индексу, указанному секцией 202 разделения кода, на секцию 210 вычисления матрицы.
Секция 210 вычисления матрицы выполняет вычисление матрицы на третьем кодовом векторе, введенном из третьей кодовой книги 209, используя вторую матрицу отображения, введенную от секции 205 определения матрицы, и выводит результат вычисления матрицы на сумматор 211.
Сумматор 211 суммирует результат суммирования, введенный от сумматора 208, и результат вычисления матрицы, введенный от секции 210 вычисления матрицы, и выводит полученный результат суммирования в виде квантованного вектора широкополосного LSP.
Затем будут описаны операции устройства 200 векторного деквантования LSP.
Классификатор 201 содержит классификационную кодовую книгу, составленную из n кодовых векторов (классификационных кодовых векторов), соответствующих n типам векторов узкополосного LSP. Классификатор 201 осуществляет поиск кодового вектора и таким образом находит m-й кодовый вектор, квадратичная ошибка которого по отношению к квантованному вектору узкополосного LSP, введенному от квантователя узкополосного LSP (не показано), становится минимальной. Классификатор 201 выводит m (1≤m≤n) на переключатель 203 и секцию 205 определения матрицы в качестве классификационной информации.
Секция 202 разделения кода разделяет кодированные данные, переданные от устройства 100 векторного квантования LSP, на первый индекс d1_min, второй индекс d2_min и третий индекс d3_min. Секция 202 разделения кода указывает первый индекс d1_min на первую кодовую книгу 204, указывает второй индекс d2_min на вторую кодовую книгу 206 и указывает третий индекс d3_min на третью кодовую книгу 209.
Переключатель 203 выбирает кодовую подкнигу CBam, соответствующую классификационной информации m, введенной от классификатора 201, из первой кодовой книги 204 и устанавливает контакт выхода кодовой подкниги на сумматор 208.
(d1
min)
(d1)
Первая кодовая книга 204 выводит первый кодовый вектор CODE_1-(i) (i=0, 1,..., R-1), указанный указателем d1_min от секции 202 разделения кода, из каждого первого кодового вектора CODE_1(i) (d1=0, 1,..., D1-1, i=0, 1,..., R-1), составляющего кодовую подкнигу CBam, на переключатель 203.
(m)
(m)
(m)
(m)
Секция 205 определения матрицы выбирает первую матрицу отображения MM_1, соответствующую классификационной информации m, введенной от классификатора 201, из первой кодовой книги матрицы отображения и выводит первую матрицу отображения MM_1 на секцию 207 вычисления матрицы и секцию 210 вычисления матрицы. Кроме того, секция 205 определения матрицы выбирает вторую матрицу отображения MM_2, соответствующую классификационной информации m, введенной от классификатора 201, из второй кодовой книги матрицы отображения и выводит вторую матрицу отображения MM_2 на секцию 210 вычисления матрицы.
(d2
min)
(d2)
Вторая кодовая книга 206 выводит второй кодовый вектор CODE_2-(i) (i=0, 1,..., R-1), указанный указателем d2_min от секции 202 разделения кода, из каждого второго кодового вектора CODE_2(i) (d2=0, 1,..., D2-1, i=0, 1,..., R-1), составляющего вторую кодовую книгу, на секцию 207 вычисления матрицы.
(d2
min)
(m)
Секция 207 вычисления матрицы выполняет вычисление матрицы на втором кодовом векторе CODE_2-(i) (i=0, 1,..., R-1), введенном из второй кодовой книги 206, используя первую матрицу отображения MM_1, введенную от секции 205 определения матрицы, согласно уравнению 9 ниже и выводит полученный результат TMP_1(i) (i=0, 1,..., R-1) вычисления матрицы на сумматор 208.
<img file="00000009.tif" he="38" wi="116" img-content="undefined" img-format="tif" />
(Уравнение 9)
(d1
min)
Сумматор 208 суммирует результат вычисления матрицы TMP_1(i), введенный от секции 207 вычисления матрицы, и первый кодовый вектор CODE_1-(i) (i=0, 1,..., R-1), введенный от переключателя 203, согласно уравнению 10 ниже и выводит полученный результат суммирования TMP_2(i) (i=0, 1,..., R-1) на сумматор 211.
<img file="00000010.tif" he="8" wi="112" img-content="undefined" img-format="tif" />
(Уравнение 10)
(d3
min)
(d3)
Третья кодовая книга 209 выводит третий кодовый вектор CODE_3-(i) (i=0, 1,..., R-1), указанный указателем d3_min от секции 202 разделения кода, из каждого третьего кодового вектора CODE_3(i) (d3=0, 1,..., D3-1, i=0, 1,..., R-1), составляющего третью кодовую книгу, на секцию 210 вычисления матрицы.
(d3
min)
(m)
(m)
Секция 210 вычисления матрицы выполняет вычисление матрицы на третьем кодовом векторе CODE_3-(i) (i=0, 1,..., R-1), введенном из третьей кодовой книги 209, используя первую матрицу отображения MM_1, введенную от секции 205 определения матрицы, согласно уравнению 11 ниже и получает результат TMP_3(i) (i=0, 1,..., R-1) вычисления матрицы. Секция 210 вычисления матрицы затем выполняет вычисление матрицы над результатом TMP_3(i) (i=0, 1,..., R-1) вычисления матрицы, используя вторую матрицу отображения MM_2, введенную от секции 205 определения матрицы, согласно уравнению 12 ниже и выводит полученный результат вычисления матрицы TMP_4(i) (i=0, 1,..., R-1) на сумматор 211.
<img file="00000011.tif" he="38" wi="118" img-content="undefined" img-format="tif" />
(Уравнение 11)
<img file="00000012.tif" he="38" wi="104" img-content="undefined" img-format="tif" />
(Уравнение 12)
Сумматор 211 суммирует результат суммирования TMP_2(i) (i=0, 1,..., R-1), введенный от сумматора 208, и результат вычисления матрицы TMP_4(i) (i=0, 1,..., R-1), введенный от секции 210 вычисления матрицы, согласно уравнению 13 ниже и выводит вектор Q_LSP(i) (i=0, 1,..., R-1), который становится результатом суммирования, в виде квантованного вектора широкополосного LSP.
<img file="00000013.tif" he="7" wi="98" img-content="undefined" img-format="tif" />
(Уравнение 13)
Первую кодовую книгу, кодовую книгу отображения матрицы, вторую кодовую книгу и третью кодовую книгу, используемые в устройстве 100 векторного квантования LSP и устройстве 200 векторного деквантования LSP, получают и создают путем обучения заранее, и будет описан способ обучения для этих кодовых книг.
(d1)
Чтобы путем обучения получать первую кодовую книгу, обеспечиваемую для первой кодовой книги 103 и первой кодовой книги 204, подготавливается множество, например, V векторов LSP, полученных, исходя из многих порций речевых данных для обучения. Затем V векторов LSP группируются по типу (n типов), D1 первых кодовых векторов CODE_1(i) (d1=0, 1,..., D1-1, i=0, 1,..., R-1) получают по алгоритму обучения, такому как алгоритм LBG (Linde Buzo Gray), используя вектор LSP, который принадлежит каждой группе, и формируется каждая кодовая подкнига.
(d1
min)
(d2)
(d1
min)
Чтобы путем обучения получать вторую кодовую книгу, обеспечиваемую для второй кодовой книги 108 и второй кодовой книги 206, векторное квантование по первой стадии выполняют, используя первую кодовую книгу, полученную согласно вышеописанному способу, используя V векторов LSP, и получают V первых векторов остатка Err_1-(i) (i=0, 1,..., R-1), выводимых из сумматора 104. Затем D2 вторых векторов кода CODE_2(i) (d2=0, 1,..., D1-1, i=0, 1,..., R-1) получают по алгоритму обучения, такому как алгоритм LBG (Linde Buzo Gray), используя V первых векторов остатка Err_1-(i) (i=0, 1,..., R-1), и формируется вторая кодовая книга.
(d1
min)
Чтобы путем обучения получать первую кодовую книгу матрицы отображения, обеспечиваемую для секции 106 определения матрицы и секции 205 определения матрицы, векторное квантование первой стадии выполняют согласно первой кодовой книге, полученной по вышеописанному способу, используя полученные вышеупомянутые V векторов LSP и V первых векторов остатка Err_1-(i) (i=0, 1,..., R-1), выводимых из сумматора 104. Затем полученные V первых векторов остатка группируют по типу (n типов) и получают центроид (среднее) C1 для первого набора векторов остатка, который принадлежит каждой группе.
Затем для второй кодовой книги получают центроид D1 путем вычисления среднего для всех вторых кодовых векторов таким же образом, как и для первой кодовой книги.
Это означает, что центроид C1 для первой кодовой книги и центроид D1 для второй кодовой книги получают для каждого типа (n типов). Затем вычисление матрицы выполняют на центроиде D1, соответствующем типу m, получают матрицу, в которой центроид C1 соответствует центроиду D1, и полученную матрицу представляют первой матрицей отображения, соответствующей типу m. Первую матрицу отображения получают для каждого типа (n типов), первым матрицам отображения различных типов назначаются порядковые номера, их сохраняют, и посредством этого формируется первая кодовая книга матрицы отображения.
(d2)
Например, когда размерным числом R вектора является два, первая матрица MM_1 отображения типа m получается решением нижеследующей системы уравнений в уравнении 14 ниже.
<img file="00000014.tif" he="49" wi="75" img-content="undefined" img-format="tif" />
(Уравнение 14)
(m)
С другой стороны, когда размерным числом R вектора является три или более, первая матрица отображения MM_1 может посредством этого формироваться путем получения матриц отображения в виде двумерных единиц и выполнения матричного умножения полученных матриц отображения. Когда, например, размерным числом R вектора является три, матрица TMP_1 позволяет, чтобы векторные элементы, соответствующие первому порядку и второму порядку, подлежащие отображению, были получены решением системы уравнений в уравнении 15 ниже.
<img file="00000015.tif" he="73" wi="92" img-content="undefined" img-format="tif" />
(Уравнение 15)
Затем матрицу TMP_2, которая позволяет, чтобы были отображены векторные элементы, соответствующие второму порядку и третьему порядку, получают решением системы уравнений в уравнении 16 ниже.
<img file="00000016.tif" he="63" wi="73" img-content="undefined" img-format="tif" />
(Уравнение 16)
(m)
Путем выполнения матричного умножения матрицы TMP_1 на матрицу TMP_2 по уравнению 17 ниже формируется первая матрица отображения MM_1.
<img file="00000017.tif" he="22" wi="117" img-content="undefined" img-format="tif" />
(Уравнение 17)
Таким образом, когда размерным числом R вектора является три или более, матрицу отображения вычисляют путем вычисления матриц в двумерных единицах и выполнения в заключение матричного умножения всех матриц.
(d1
min)
(d2
min)
(d2
min)
(d3)
Чтобы путем обучения получить третью кодовую книгу, обеспечиваемую для третьей кодовой книги 111 и третьей кодовой книги 209, векторное квантование первой стадии выполняют с использованием вышеописанных V векторов LSP и на основании первой кодовой книги, полученной согласно вышеописанному способу. Затем V первых векторов остатка Map_Err_1-(i) (i=0, 1,..., R-1) после вычисления первой матрицы отображения получают, используя первую кодовую книгу матрицы отображения, полученную согласно вышеописанному способу. Затем выполняют векторное квантование второй стадии на основании второй кодовой книги, полученной согласно вышеописанному способу, и получают V вторых векторов остатка Err_2-(i) (i=0, 1,..., R-1), выводимых из сумматора 109. Затем, используя V вторых векторов остатка Err_2-(i) (i=0, 1,..., R-1), получают D3 третьих кодовых векторов CODE_3(i) (d3=0, 1,..., D1-1, i=0, 1,..., R-1) по алгоритму обучения, такому как алгоритм LBG (Linde Buzo Gray), и формируется третья кодовая книга.
(d2
min)
Чтобы путем обучения получать вторую кодовую книгу матрицы отображения, обеспечиваемую для секции 106 определения матрицы и секции 205 определения матрицы, выполняют векторное квантование первой стадии с использованием вышеописанных V векторов LSP и на основании первой кодовой книги, полученной согласно вышеописанному способу, выполняют вычисление матрицы с использованием первой матрицы отображения, полученной согласно вышеописанному способу, векторное квантование второй стадии выполняют на основании второй кодовой книги, полученной согласно вышеописанному способу, и получают V вторых векторов остатка Err_2-(i) (i=0, 1,..., R-1), выводимых из сумматора 109. Затем полученные V вторых векторов остатка группируют по типам (n типов) и получают центроид C2 для множества вторых векторов остатка, принадлежащих каждой группе.
Затем центроид D2 получают путем вычисления среднего всех третьих кодовых векторов для третьей кодовой книги так же.
Центроид C2 и центроид D2 для третьей кодовой книги вычисляют для каждого типа (n типов). Вычисление матрицы выполняют над центроидом D2, соответствующим типу m, вычисляют матрицу, в которой центроид C2 соответствует центроиду D2, и полученную матрицу представляют второй матрицей отображения, соответствующей типу m. Вторую матрицу отображения получают для каждого типа (n типов), вторым матрицам отображения соответственных типов назначают порядковые номера и их сохраняют, и посредством этого формируется вторая кодовая книга матрицы отображения.
(m)
(m)
В вышеописанном способе получения первой матрицы отображения MM_1 вторая матрица отображения MM_2 может быть получена заменой центроида C1 центроидом C2, заменой центроида D1 центроидом D2 и затем повторением подобной процедуры.
Эти способы обучения являются примерами, и каждую кодовую книгу можно формировать, используя способы, отличные от вышеописанных.
Таким образом, в настоящем варианте переключение между кодовыми книгами векторного квантования первой стадии осуществляется в соответствии с типом вектора узкополосного LSP, имеющего корреляцию с вектором широкополосного LSP, и в многостадийном векторном квантовании, в котором отклонение статистического распределения ошибки (первый вектор остатка) для векторного квантования первой стадии отличается между типами, выполняется вычисление матрицы на первом векторе остатка с использованием первой матрицы отображения, соответствующей результату классификации вектора узкополосного LSP. Это дает возможность приспосабливать отклонение распределения кодовых векторов второй стадии к отклонению статистического распределения ошибки векторного квантования первой стадии, и таким образом можно повысить точность квантования вектора широкополосного LSP. Кроме того, вычисление матрицы выполняют на втором векторе остатка, используя вторую матрицу отображения, соответствующую результату классификации вектора узкополосного LSP. Это дает возможность приспосабливать отклонение распределения кодовых векторов третьей стадии к отклонению распределения ошибки векторного квантования второй стадии, и можно, таким образом, повысить точность квантования вектора широкополосного LSP.
На фиг.4 показана схема, условно иллюстрирующая эффекты векторного квантования LSP согласно настоящему варианту осуществления. На фиг.4 стрелка, помеченная "поворот", представляет обработку выполнения вычисления матрицы с использованием матрицы отображения для набора вторых кодовых векторов. Как показано на фиг.4, для вектора ошибки квантования, полученного выполнением векторного квантования, использующего первую кодовую книгу CBam (m<=n), соответствующую типу узкополосного LSP, в настоящем варианте осуществления выполняется вычисление матрицы с использованием матрицы отображения, соответствующей этому типу. Это дает возможность, чтобы отклонение распределения для набора векторов ошибок квантования после вычисления матрицы соответствовало отклонению распределения для набора вторых кодовых векторов, составляющих общую вторую кодовую книгу CBb, используемую для векторного квантования второй стадии. Следовательно, является возможным повысить точность квантования для векторного квантования второй стадии.
В настоящем варианте осуществления в качестве примера был описан случай, где статистическое отклонение распределения ошибки векторного квантования на первой стадии изменяется в соответствии с отклонением распределения кодовых векторов второй стадии, и статистическое отклонение распределения ошибки векторного квантования на второй стадии изменяется в соответствии с отклонением распределения для кодовых векторов третьей стадии. Однако настоящее изобретение не ограничивается этим, и также является возможным изменять отклонение распределения для кодовых векторов, используемых для второй стадии векторного квантования согласно статистическому отклонению распределения ошибки векторного квантования первой стадии, и изменять отклонение распределения кодовых векторов, используемых для третьей стадии векторного квантования согласно статистическому отклонению распределения ошибки векторного квантования на второй стадии. Это также дает возможность получить эффект повышения точности квантования вектора широкополосного LSP, как в случае настоящего варианта осуществления.
В настоящем варианте осуществления в качестве примера был описан случай, где матрица отображения, составляющая кодовую книгу матрицы отображения, обеспечиваемую для секции 106 определения матрицы и секции 205 определения матрицы, поддерживает типы для вектора узкополосного LSP. Однако настоящее изобретение не ограничивается этим, и матрица отображения, составляющая кодовую книгу матрицы отображения, обеспечиваемую для секции 106 определения матрицы и секции 205 определения матрицы, также может поддерживать различные типы, на которые классифицируются характеристики речи. В таком случае классификатор 101 принимает не вектор узкополосного LSP, а параметры, указывающие характеристики речи в виде информации характеристик речи, в качестве вводимых, и выводит тип характеристик речи, соответствующий информации характеристики речи, введенной на переключатель 102 и секцию 106 определения матрицы, в качестве классификационной информации. Если, например, настоящее изобретение применяется для устройства кодирования, которое переключает тип кодера в соответствии с характеристиками, такими как голосовые и шумовые характеристики речи, как в случае многорежимного многоскоростного широкополосного кодека речевого сигнала (VMR-WB), информация о типе кодера может использоваться в качестве величины речевых характеристик "как есть".
Кроме того, хотя в настоящем варианте осуществления в качестве примера был описан случай, где выполняют трехстадийное векторное квантование на векторе LSP, настоящее изобретение не ограничивается этим, а также применимо к случаю, где выполняется двухстадийное векторное квантование или векторное квантование в четыре или большее число стадий.
Кроме того, хотя в настоящем варианте осуществления в качестве примера был описан случай, где выполняется трехстадийное векторное квантование на векторе LSP, настоящее изобретение не ограничивается этим и также является применимым к случаю, где векторное квантование выполняется вместе с квантованием с разделенным вектором.
Кроме того, хотя в настоящем варианте осуществления был описан случай путем рассмотрения вектора широкополосного LSP в качестве примера цели квантования, но цель квантования не ограничивается этим, и векторы, отличные от вектора широкополосного LSP, также могут использоваться.
Кроме того, в настоящем варианте осуществления в качестве примера был описан случай, где отклонение распределения кодовых векторов сдвигается путем выполнения вычисления матрицы с использованием матрицы отображения. Однако настоящее изобретение не ограничивается этим, и отклонение распределения кодовых векторов может сдвигаться путем выполнения вычисления матрицы с использованием матрицы поворота.
Кроме того, в настоящем варианте осуществления устройство 200 векторного деквантования LSP декодирует кодированные данные, выводимые от устройства 100 векторного квантования LSP. Однако настоящее изобретение не ограничивается этим, и подразумевается, что устройство 200 векторного деквантования LSP может принимать и декодировать любые кодированные данные при условии, что данные находятся в формате, который устройство векторного деквантования LSP может декодировать.
Кроме того, в настоящем варианте осуществления в качестве примера был описан случай, где устройство 100 векторного квантования LSP и устройство 200 векторного деквантования LSP выполняют вычисление матрицы на R-мерном векторе, используя матрицу отображения R×R. Однако настоящее изобретение не ограничивается этим, и устройство 100 векторного квантования LSP и устройство 200 векторного деквантования LSP могут обеспечивать, например, ряд матриц отображения 2×2 и выполнять вычисления матрицы на векторных элементах для каждых двух размерностей R-мерного вектора, используя ряд матриц отображения 2×2. Согласно такой конфигурации является возможным уменьшить объем машинной памяти, необходимой для хранения матриц отображения, и дополнительно уменьшить объем вычисления, требуемого для вычисления матрицы.
(m)
(m)
(m)
Если, например, вектор является шестимерным и вычисление матрицы выполняется с использованием трех матриц отображения 2×2 (MMA_1, MMB_1 и MMC_1), уравнение 3 выше выражается уравнением 18 ниже, и уравнение 8 выше выражается уравнением 19 ниже.
<img file="00000018.tif" he="70" wi="120" img-content="undefined" img-format="tif" />
(Уравнение 18)
<img file="00000019.tif" he="69" wi="120" img-content="undefined" img-format="tif" />
(Уравнение 19)
(m)
(m)
(m)
Здесь, чтобы путем обучения получать матрицы отображения (MMA_1, MMB_1 и MMC_1), способ обучения (уравнение 14 выше), если вышеупомянутым размерным числом R для вектора является два, может применяться к векторным элементам для каждых двух размерностей.
Кроме того, устройство векторного квантования и устройство векторного деквантования согласно настоящему варианту осуществления могут использоваться для устройства CELP кодирования/устройства CELP декодирования, которое кодирует/декодирует речевой сигнал, музыкальный сигнал или подобное. Устройство CELP кодирования в качестве входного принимает LSP, преобразованный из коэффициента линейного предсказания, полученного применением анализа с линейным предсказанием к входному сигналу, выполняет обработку квантования над LSP и выводит квантованный LSP на фильтр синтеза. Если, например, устройство 100 векторного квантования LSP согласно настоящему варианту осуществления применяется для соответствующего типу CELP устройства кодирования речи, устройство 100 векторного квантования LSP согласно настоящему варианту осуществления размещается в секции квантования LSP, которая выводит код квантованного LSP, указывающий квантованный LSP, в качестве кодированных данных. Это делает возможным повысить точность векторного квантования и также повысить качество речевого сигнала во время декодирования. С другой стороны, устройство CELP декодирования отделяет принятые мультиплексированные кодированные данные и декодирует квантованный LSP, исходя из полученного кода квантованного LSP. Если устройство 200 векторного деквантования LSP согласно настоящему изобретению применяется для соответствующего типу CELP устройства декодирования речи, устройство 200 векторного деквантования LSP согласно настоящему варианту осуществления может размещаться в секции деквантования LSP, которая выводит декодированный квантованный LSP на фильтр синтеза, и могут быть получены эффекты, подобные описанным выше. Ниже в документе, устройство 400 CELP-кодирования и устройство 450 CELP-декодирования, оснащенные устройством 100 векторного квантования LSP и устройством 200 векторного деквантования LSP согласно настоящему варианту осуществления, будут описаны с использованием фиг.5 и фиг.6.
На фиг.5 показана блок-схема основной конфигурации устройства 400 CELP-кодирования, оснащенного устройством 100 векторного квантования LSP согласно настоящему варианту осуществления. Устройство 400 CELP-кодирования делит вводимый речевой/музыкальный сигнал на группы из множества выборок и выполняет кодирование в единицах кадров, предполагая множество выборок одним кадром.
Секция 401 предварительной обработки выполняет обработку полосовой фильтрации по удалению постоянной составляющей (DC) из введенного речевого сигнала или музыкального сигнала, а также выполняет обработку формирования формы сигнала или обработку коррекции предыскажения, чтобы улучшить рабочую характеристику обработки последующего кодирования. Секция 401 предварительной обработки затем выводит сигнал Xin, полученный посредством обработки, на секцию 402 анализа LSP и сумматор 405.
Секция 402 анализа LSP выполняет анализ (по схеме) с линейным предсказанием, используя сигнал Xin, введенный от секции 401 предварительной обработки, преобразовывает полученные коэффициенты LPC в вектор LSP и выводит вектор LSP на секцию 403 векторного квантования LSP.
Секция 403 векторного квантования LSP выполняет квантование на векторе LSP, введенном от секции 402 анализа LSP. Секция 403 векторного квантования LSP выводит полученный квантованный вектор LSP на фильтр 404 синтеза в качестве коэффициента фильтра и выводит код (L) квантованного LSP на секцию 414 мультиплексирования. Здесь устройство 100 векторного квантования LSP согласно настоящему варианту осуществления используется в качестве секции 403 векторного квантования LSP. Таким образом, конкретная конфигурация и работа секции 403 векторного квантования LSP являются одинаковыми с таковыми для устройства 100 векторного квантования LSP. В этом случае вектор широкополосного LSP, вводимый на устройство 100 векторного квантования LSP, соответствует вектору LSP, вводимому на секцию 403 векторного квантования LSP. Кроме того, кодированные данные, выводимые из устройства 100 векторного квантования LSP, соответствуют коду (L) квантованного LSP, выводимому из секции 403 векторного квантования LSP. Коэффициент фильтра, вводимый на фильтр 404 синтеза, является вектором квантованного LSP, полученным выполнением деквантования с использованием кода (L) квантованного LSP в секции 403 векторного квантования LSP. Вектор узкополосного LSP, вводимый на устройство 100 векторного квантования LSP, вводится, например, извне устройства 400 CELP-кодирования. Например, при применении устройства 100 векторного квантования LSP для устройства масштабируемого кодирования (не показано) с наличием секции широкополосного CELP-кодирования (соответствующей устройству 400 CELP-кодирования) и секции узкополосного CELP-кодирования вектор узкополосного LSP, выводимый из секции узкополосного CELP-кодирования, вводится на устройство 100 векторного квантования LSP.
Фильтр 404 синтеза выполняет обработку синтеза над вектором возбуждения, вводимым от сумматора 411, который будет описан далее, используя коэффициент фильтра на основании вектора квантованного LSP, введенного от секции 403 векторного квантования LSP, и выводит сформированный синтезированный сигнал на сумматор 405.
Сумматор 405 обращает полярность синтезированного сигнала, введенного от фильтра 404 синтеза, суммирует синтезированный сигнал с сигналом Xin, введенным от секции 401 предварительной обработки, посредством этого вычисляет сигнал ошибки и выводит сигнал ошибки на секцию 412 перцепционного взвешивания.
Адаптивная кодовая книга 406 (векторов) возбуждения сохраняет в буфере вектор возбуждения, введенный от сумматора 411 в прошлом, извлекает из буфера выборки, соответствующие одному кадру, с позиции извлечения, идентифицированной кодом (A) адаптивного возбуждения с запаздыванием, введенным от секции 413 определения параметра, и выводит выборки на умножитель 409 в качестве вектора адаптивного возбуждения. Здесь адаптивная кодовая книга 406 возбуждения обновляет содержимое буфера при каждом вводе вектора возбуждения от сумматора 411.
Секция 407 формирования коэффициента усиления квантования определяет коэффициент усиления адаптивного возбуждения квантования и коэффициент усиления фиксированного возбуждения квантования в соответствии с кодом (G) коэффициента усиления возбуждения квантования, введенным от секции 413 определения параметра, и выводит коэффициенты усиления на умножитель 409 и умножитель 410 соответственно.
Фиксированная кодовая книга 408 возбуждения выводит вектор, имеющий форму, идентифицированную кодом (F) вектора фиксированного возбуждения, введенным от секции 413 определения параметра, на умножитель 410 в качестве вектора фиксированного возбуждения.
Умножитель 409 умножает вектор адаптивного возбуждения, введенный из адаптивной кодовой книги 406 возбуждения, на коэффициент усиления адаптивного возбуждения квантования, введенный от секции 407 формирования коэффициента усиления квантования, и выводит результат умножения на сумматор 411.
Умножитель 410 умножает вектор фиксированного возбуждения, введенный из фиксированной кодовой книги 408 возбуждения, на коэффициент усиления фиксированного возбуждения квантования, введенный от секции 407 формирования коэффициента усиления квантования, и выводит результат умножения на сумматор 411.
Сумматор 411 суммирует вектор адаптивного возбуждения после умножения на коэффициент усиления, введенный от умножителя 409, и вектор фиксированного возбуждения после умножения на коэффициент усиления, введенный от умножителя 410, и выводит результат суммирования на фильтр 404 синтеза и адаптивную кодовую книгу 406 возбуждения в качестве вектора возбуждения. Здесь вектор возбуждения, введенный в адаптивную кодовую книгу 406 возбуждения, сохраняется в буфере адаптивной кодовой книги 406 возбуждения.
Секция 412 перцепционного взвешивания выполняет обработку весовых оценок восприятия на сигнале ошибки, введенном от сумматора 405, и выводит сигнал ошибки на секцию 413 определения параметра в качестве искажения (вследствие) кодирования.
Секция 413 определения параметра выбирает задержку адаптивного возбуждения, которая минимизирует искажение кодирования, введенное от секции 412 перцепционного взвешивания, из адаптивной кодовой книги 406 возбуждения, и выводит код (A) задержки адаптивного возбуждения, указывающий результат выбора, на адаптивную кодовую книгу 406 возбуждения и секцию 414 мультиплексирования. Здесь задержкой адаптивного возбуждения является параметр, указывающий позицию, в которой извлекается вектор адаптивного возбуждения. Кроме того, секция 413 определения параметра выбирает вектор фиксированного возбуждения, который минимизирует искажение кодирования, выводимое от секции 412 перцепционного взвешивания, из фиксированной кодовой книги 408 (векторов) возбуждения, и выводит код (F) вектора фиксированного возбуждения, указывающий результат выбора, на фиксированную кодовую книгу 408 возбуждения и секцию 414 мультиплексирования. Кроме того, секция 413 определения параметра выбирает коэффициент адаптивного усиления квантования и коэффициент усиления фиксированного квантования, которые минимизируют искажение кодирования, выводимое от секции 412 перцепционного взвешивания, из секции 407 формирования коэффициента усиления квантования, и выводит код (G) квантованного коэффициента усиления возбуждения, указывающий результат выбора, на секцию 407 формирования коэффициента усиления квантования и секцию 414 мультиплексирования.
Секция 414 мультиплексирования мультиплексирует код (L) квантованного LSP, введенный от секции 403 векторного квантования LSP, код (A) задержки адаптивного возбуждения, введенный от секции 413 определения параметра, код (F) вектора фиксированного возбуждения и код (G) квантованного коэффициента усиления возбуждения и выводит кодированную информацию.
На фиг.6 показана блок-схема основной конфигурации устройства 450 CELP-декодирования, оснащенного устройством 200 векторного деквантования LSP согласно настоящему варианту осуществления.
На фиг.6 секция 451 демультиплексирования выполняет обработку демультиплексирования на кодированной информации, переданной от устройства 400 CELP-кодирования, и получает код (L) квантованного LSP, код (A) задержки адаптивного возбуждения, код (G) квантованного коэффициента усиления возбуждения и код (F) вектора фиксированного возбуждения. Секция 451 демультиплексирования выводит код (L) квантованного LSP на секцию 452 векторного деквантования LSP, выводит код (A) задержки адаптивного возбуждения на адаптивную кодовую книгу 453 возбуждения, выводит код (G) квантованного коэффициента усиления возбуждения на секцию 454 формирования усиления квантования и выводит код (F) вектора фиксированного возбуждения на фиксированную кодовую книгу 455 возбуждения.
Секция 452 векторного деквантования LSP декодирует квантованный вектор LSP, исходя из кода (L) квантованного LSP, введенного от секции 451 демультиплексирования, и выводит вектор квантованного LSP на фильтр 459 синтеза в качестве коэффициента фильтра. Здесь устройство 200 векторного деквантования LSP согласно настоящему варианту осуществления используется в качестве секции 452 векторного деквантования LSP. Таким образом, конкретная конфигурация и работа секции 452 векторного деквантования LSP являются одинаковыми с таковыми устройства 200 векторного деквантования LSP. В этом случае, кодированные данные, вводимые на устройство 200 векторного деквантования LSP, соответствуют коду (L) квантованного LSP, вводимому на секцию 452 векторного деквантования LSP. Кроме того, квантованный вектор широкополосного LSP, выводимый из устройства 200 векторного деквантования LSP, соответствует квантованному вектору LSP, выводимому из секции 452 векторного деквантования LSP. Вектор узкополосного LSP, вводимый на устройство 200 векторного деквантования LSP, вводится, например, извне устройства 450 CELP-декодирования. Например, при применении устройства 200 векторного деквантования LSP для масштабируемого устройства декодирования (не показано) с наличием секции широкополосного CELP-декодирования (соответствующей устройству 450 CELP-декодирования) и секции узкополосного CELP-декодирования вектор узкополосного LSP, выводимый из секции узкополосного CELP-декодирования, вводится на устройство 200 векторного деквантования LSP.
Адаптивная кодовая книга 453 возбуждения извлекает из буфера выборки, соответствующие одному кадру, с позиции извлечения, идентифицированной кодом (A) задержки адаптивного возбуждения, введенным от секции 451 демультиплексирования, и выводит извлеченный вектор на умножитель 456 в качестве вектора адаптивного возбуждения.
Причем адаптивная кодовая книга 453 возбуждения обновляет содержимое буфера при каждом вводе вектора возбуждения от сумматора 458.
Секция 454 формирования усиления квантования декодирует квантованный коэффициент усиления адаптивного возбуждения и квантованный коэффициент усиления фиксированного возбуждения, указанный кодом (G) квантованного коэффициента усиления возбуждения, введенным от секции 451 демультиплексирования, выводит квантованный коэффициент усиления адаптивного возбуждения на умножитель 456 и выводит квантованный коэффициент усиления фиксированного возбуждения на умножитель 457.
Фиксированная кодовая книга 455 возбуждения формирует вектор фиксированного возбуждения, указанный кодом (F) вектора фиксированного возбуждения, введенным от секции 451 демультиплексирования, и выводит вектор фиксированного возбуждения на умножитель 457.
Умножитель 456 умножает вектор адаптивного возбуждения, введенный из адаптивной кодовой книги 453 возбуждения, на квантованный коэффициент усиления адаптивного возбуждения, введенный от секции 454 формирования усиления квантования, и выводит результат умножения на сумматор 458.
Умножитель 457 умножает вектор фиксированного возбуждения, введенный из фиксированной кодовой книги 455 возбуждения, на квантованный коэффициент усиления фиксированного возбуждения, введенный от секции 454 формирования усиления квантования, и выводит результат умножения на сумматор 458.
Сумматор 458 суммирует вектор адаптивного возбуждения, после умножения на коэффициент усиления, вводимый от умножителя 456, и вектор фиксированного возбуждения, после умножения на коэффициент усиления, вводимый от умножителя 457, формирует вектор возбуждения и выводит сформированный вектор возбуждения на фильтр 459 синтеза и адаптивную кодовую книгу 453 возбуждения. Здесь вектор возбуждения, введенный в адаптивную кодовую книгу 453 возбуждения, сохраняется в буфере адаптивной кодовой книги 453 возбуждения.
Фильтр 459 синтеза выполняет обработку синтеза, используя вектор возбуждения, введенный от сумматора 458, и коэффициент фильтра, декодированный секцией 452 векторного деквантования LSP, и выводит сформированный синтезированный сигнал на секцию 460 постобработки.
Секция 460 постобработки применяет обработку повышения субъективного качества речевого сигнала, такую как предыскажение формант и предыскажение основного тона, и обработку повышения субъективного качества статического шума к синтезированному сигналу, введенному от фильтра 459 синтеза, и выводит полученный речевой сигнал или музыкальный сигнал.
Таким образом, используя устройство векторного квантования/устройство векторного деквантования по настоящему варианту осуществления, устройство CELP-кодирования/устройство CELP-декодирования согласно настоящему варианту осуществления может повысить точность векторного квантования в течение кодирования и посредством этого повысить также качество речевого сигнала в течение декодирования.
В настоящем варианте осуществления был описан случай, где устройство 450 CELP-декодирования декодирует кодированные данные, выводимые из устройства 400 CELP-кодирования. Однако настоящее изобретение не ограничивается этим, и подразумевается, что устройство CELP-декодирования 450 может принимать и декодировать любые кодированные данные при условии, что данные имеют формат, который устройство CELP-декодирования может декодировать.
Вариант осуществления настоящего изобретения был описан на этот момент.
Устройство векторного квантования, устройство векторного деквантования и способы такового согласно данному изобретению не ограничиваются вышеупомянутым вариантом осуществления, а могут реализовываться с различными изменениями.
Например, хотя в вышеупомянутом варианте осуществления описаны устройство векторного квантования, устройство векторного деквантования и способы такового, имеющие целевыми речевой сигнал или музыкальный сигнал, настоящее изобретение также применимо для других возможных сигналов.
Кроме того, LSP может также называться "частота спектральных линий" (LSF), и LSP может читаться как LSF. Кроме того, если параметр "пары спектральных иммитансов" (ISP) квантуется в качестве спектрального параметра вместо LSP, то LSP может читаться как ISP, и настоящий вариант осуществления может использоваться в качестве устройства квантования/деквантования ISP. Если параметр "частота спектральных иммитансов" (ISF) квантуется в качестве спектрального параметра вместо LSP, то LSP может читаться как ISF, и настоящий вариант осуществления может использоваться в качестве устройства квантования/деквантования ISF.
Кроме того, устройство векторного квантования и устройство векторного деквантования согласно данному изобретению могут устанавливаться на устройстве терминала связи или устройстве базовой станции в системе мобильной связи, которая выполняет передачу речи, музыки или подобного. Таким образом, настоящее изобретение может обеспечивать устройство терминала связи или устройство базовой станции, имеющие эффекты, подобные описанным выше.
Кроме того, хотя с помощью варианта осуществления выше был описан случай, где конфигурация настоящего изобретения задана аппаратными средствами, настоящее изобретение может быть реализовано программно. Например, путем записи алгоритмов способа векторного квантования и способа векторного деквантования по данному изобретению на языке программирования, сохранения программы в машинной памяти и побуждения секции обработки информации исполнять программу является возможным реализовать функции, подобные таковым устройства векторного квантования и устройство векторного деквантования согласно данному изобретению.
Каждый функциональный блок, используемый в описании каждого из вышеупомянутых вариантов осуществления, обычно может быть реализован в виде большой интегральной схемы (LSI, БИС), составляемой интегральной схемой. Это могут быть отдельные микросхемы, или частично или полностью содержащиеся на одной микросхеме.
В документе является принятым "LSI", но это также может обозначаться как "IC" (интегральная схема, ИС), "системная LSI", "супер-LSI" или "сверх-LSI" в зависимости от отличающихся степеней интеграции.
Дополнительно, способ интеграции схем не ограничен схемами LSI, и исполнение с использованием специализированных схем или универсального процессора также является возможным. После изготовления LSI также является возможным использование программируемой вентильной матрицы (FPGA) или процессора с переменной конфигурацией в тех случаях, когда соединения или параметры настройки элементов схем внутри LSI могут быть повторно настроены.
Дополнительно, если технология интегральной схемы появляется, чтобы заменить схемы LSI в результате развития полупроводниковой технологии или производной другой технологии, естественно также является возможным выполнять интеграцию функционального блока с использованием этой технологии. Применение биотехнологии также является возможным.
Раскрытие заявки на патент Японии № 2009-031651, поданной 13 февраля 2009 г., включая описание, чертежи и реферат, включено в настоящий документ во всей полноте путем ссылки.
Промышленная применимость
Устройство и способ векторного квантования, устройство и способ векторного деквантования согласно настоящему изобретению применимы для кодирования речи и декодирования речи или подобного.