[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

RU2458413C2 - Audio encoding apparatus and audio encoding method - Google Patents

Audio encoding apparatus and audio encoding method Download PDF

Info

Publication number
RU2458413C2
RU2458413C2 RU2010102521/08A RU2010102521A RU2458413C2 RU 2458413 C2 RU2458413 C2 RU 2458413C2 RU 2010102521/08 A RU2010102521/08 A RU 2010102521/08A RU 2010102521 A RU2010102521 A RU 2010102521A RU 2458413 C2 RU2458413 C2 RU 2458413C2
Authority
RU
Russia
Prior art keywords
section
pulses
search
values
pulse
Prior art date
Application number
RU2010102521/08A
Other languages
Russian (ru)
Other versions
RU2010102521A (en
Inventor
Тосиюки МОРИИ (JP)
Тосиюки МОРИИ
Original Assignee
Панасоник Корпорэйшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Панасоник Корпорэйшн filed Critical Панасоник Корпорэйшн
Publication of RU2010102521A publication Critical patent/RU2010102521A/en
Application granted granted Critical
Publication of RU2458413C2 publication Critical patent/RU2458413C2/en

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: speech encoding apparatus includes a computing section which calculates correlation values in designated pulse positions using a target signal and a plurality of pulses which form a fixed codebook, and calculates on the basis, based on the pulse, representative values of pulses using maximum correlation values; a sorting section which sorts representative values obtained on the basis based on the pulse, groups pulses corresponding to the sorted representatives values into a plurality of predetermined subsets and determines a first subset to be searched first among the plurality of subsets; and a search section which performs search of the fixed codebook using the first subset and obtains code-indicative positions and polarity of the plurality of pulses to minimise coding distortion.
EFFECT: improved coding efficiency when performing separation search over an algebraic codebook in audio encoding.
9 cl, 9 dwg

Description

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Настоящее изобретение относится к устройству кодирования речи и способу кодирования речи. В частности, настоящее изобретение относится к устройству кодирования речи и способу кодирования речи для выполнения поиска фиксированной кодовой книги.The present invention relates to a speech encoding apparatus and a speech encoding method. In particular, the present invention relates to a speech encoding apparatus and a speech encoding method for performing a fixed codebook search.

Уровень техникиState of the art

В мобильной связи кодирование с сжатием для цифровой информации, касающейся речи и изображений, является существенным для эффективного использования полосы частот передачи. В особенности, высокими являются ожидания методик работы речевого кодека (кодирования и декодирования), широко используемых для мобильных телефонов, и предъявляются требования к дальнейшему улучшению качества звука для стандартного кодирования высокой эффективности сжатия.In mobile communications, compression coding for digital information relating to speech and images is essential for efficient use of the transmission frequency band. In particular, the expectations are high for the speech codec (encoding and decoding) techniques that are widely used for mobile phones, and demands are made to further improve the sound quality for standard coding with high compression efficiency.

В последнее время стандартизация масштабируемого кодека, имеющего многослойную конфигурацию, находится на пути реализации усилиями, например, ITU-T (сектор стандартизации телекоммуникаций международного объединения телекоммуникаций) и MPEG (экспертная группа по движущимся изображениям), и требуется речевой кодек c большей эффективностью и более высоким качеством.Recently, standardization of a scalable codec having a multilayer configuration is on the way to implementation by efforts, for example, ITU-T (telecommunication standardization sector of the international telecommunication association) and MPEG (moving picture expert group), and a speech codec with higher efficiency and higher quality.

Эффективность методики речевого кодирования, которая была значительно улучшена посредством базовой схемы "CELP (линейное предсказание с кодированием)", моделирования вокальной системы речи и принятие векторной квантизации квалифицированным образом дополнительно улучшают посредством методик фиксированного возбуждения с использованием маленького количества импульсов, как, например, алгебраическая кодовая книга, раскрытая в непатентном документе 1. ITU-T рекомендация G.729 и ETSI (европейский институт по стандартизации в области телекоммуникаций) стандарт AMR (адаптивная множественная скорость) предлагает репрезентативный кодек CELP с использованием алгебраической кодовой книги, и широко используются во всем мире.The effectiveness of the speech coding technique, which has been significantly improved by the basic CELP (linear prediction with coding) scheme, modeling of the vocal speech system and the adoption of vector quantization in a qualified way, is further improved by means of fixed-excitation techniques using a small number of pulses, such as algebraic code book disclosed in non-patent document 1. ITU-T Recommendation G.729 and ETSI (European Telecommunications Standards Institute) tions) standard for the AMR (adaptive multiple speed) offers a representative CELP codec using an algebraic codebook, and is widely used throughout the world.

В случае выполнения кодирования речи с использованием алгебраической кодовой книги, принимая во внимание взаимное влияние между импульсами, формирующими алгебраическую кодовую книгу, является желательным осуществлять поиск всех комбинаций импульсов (далее "полный поиск"). Однако, когда количество импульсов увеличивается, величина вычислений, требуемых для поиска, увеличивается экспоненциально. По сравнению с этим непатентный документ 2 раскрывает, например, поиск частей, сокращенный поиск и поиск Витерби как способы поиска с алгебраической кодовой книгой, чтобы значительно уменьшать величину вычислений и, по существу, поддерживать эффективность в случае полного поиска в то же время.In the case of speech encoding using an algebraic codebook, taking into account the mutual influence between the pulses forming the algebraic codebook, it is desirable to search for all combinations of pulses (hereinafter “full search”). However, when the number of pulses increases, the amount of computation required for the search increases exponentially. By comparison, Non-Patent Document 2 discloses, for example, part search, abbreviated search and Viterbi search as algebraic code book search methods to significantly reduce the amount of computation and, in essence, maintain efficiency in the case of a full search at the same time.

Среди них, особенно, поиск частей является наиболее простым способом, обеспечивающим эффект значительного уменьшения величины вычислений. Здесь, поиск частей является способом разделения замкнутого цикла в множество более маленьких замкнутых циклов и выполнения поиска открытого цикла в множестве замкнутых циклов. В этом поиске частей является возможным значительно уменьшать величину вычислений согласно количеству разделений. Также, поиск частей используется в международных стандартных схемах, и в поиске с алгебраической кодовой книгой ETSI стандарта AMR, который является стандартным кодеком мобильных телефонов третьего поколения, поиск частей выполняют после разделения четырех импульсов на два поднабора.Among them, especially, the search for parts is the simplest way, providing the effect of a significant reduction in the magnitude of the calculations. Here, searching for parts is a way of dividing a closed cycle into many smaller closed cycles and performing an open cycle search in many closed cycles. In this part search, it is possible to significantly reduce the amount of computation according to the number of partitions. Also, the search for parts is used in international standard schemes, and in the search with the algebraic codebook ETSI of the AMR standard, which is the standard codec of third-generation mobile phones, the search for parts is performed after dividing four pulses into two subsets.

Например, если имеется четыре импульса, имеющих восемь предположительных положений, имеются 84 (т.е. 4096) комбинаций импульсов, которые необходимо оценить, чтобы осуществлять поиск четырех импульсов в одном замкнутом цикле. По сравнению с этим ETSI стандарт AMR разделяет четыре импульса в два поднабора двух импульсов и выполняет поиск в их замкнутых циклах индивидуально. Поэтому количество комбинаций импульсов, подлежащих оценке в ETSI стандарте AMR, - это 2·82 (т.е. 128), что является одной тридцать второй величины вычислений в случае полного поиска. Дополнительно, оценку в ETSI стандарте AMR выполняют для двух импульсов, что меньше чем четыре импульса, так что величина вычислений дополнительно уменьшается.For example, if there are four pulses having eight presumptive positions, there are 8 4 (i.e. 4096) pulse combinations that must be evaluated in order to search for four pulses in one closed loop. Compared to this, the ETSI AMR standard splits four pulses into two subsets of two pulses and searches individually for their closed cycles. Therefore, the number of pulse combinations to be evaluated in the ETSI AMR standard is 2 · 8 2 (i.e. 128), which is one thirty-second calculation value in the case of a full search. Additionally, evaluation in the ETSI AMR standard is performed for two pulses, which is less than four pulses, so that the magnitude of the calculations is further reduced.

Непатентный документ 1: Salami, Laflamme, Adoul, "8 kbit/s ACELP Coding of Speech with 10 ms Speech-Frame: a Candidate for CCITT Standardization", IEEE Proc. ICASSP94, p.II-97n.Non-Patent Document 1: Salami, Laflamme, Adoul, "8 kbit / s ACELP Coding of Speech with 10 ms Speech-Frame: a Candidate for CCITT Standardization", IEEE Proc. ICASSP94, p. II-97n.

Непатентный документ 2: T.Nomura, K.Ozawa, M.Serizawa, "Efficient pulse excitation search methods in CELP", Proc. of the 1996 spring meeting of the Acoustic Society of Japan. 2-P-5, p.311-312, March. 1996.Non-Patent Document 2: T. Nomura, K. Ozawa, M. Serizawa, "Efficient pulse excitation search methods in CELP", Proc. of the 1996 spring meeting of the Acoustic Society of Japan. 2-P-5, p. 311-312, March. 1996.

Раскрытие изобретенияDisclosure of invention

Проблемы, подлежащие решению посредством этого изобретенияProblems to be Solved by this Invention

Однако в общем эффективность кодирования речи с помощью поиска частей с алгебраической кодовой книгой являются более низкими, чем в случае полного поиска, так как положения двух импульсов, которые определены сначала, не всегда являются оптимальными.However, in general, speech coding efficiency by searching for parts with an algebraic code book is lower than in the case of a full search, since the positions of the two pulses, which were determined first, are not always optimal.

Поэтому, в поиске частей, эффективность кодирования речи можно дополнительно улучшить в зависимости от того, какие импульсы выбрать, чтобы формировать поднабор, подлежащий поиску первым. Например, является возможным принять способ выбора двух импульсов из четырех импульсов случайным образом и выполнения поиска, и после того как этот процесс повторен несколько раз, нахождения пары импульсов, посредством чего эффективность кодирования является наивысшей. Например, посредством обеспечения четырех типов пар поднаборов и осуществления поиска этих четырех пар индивидуально является возможным делать эффективность кодирования речи близкой к эффективности кодирования в полном поиске. В этом случае требуются 128 (82×2)×4 (т.е. 512) шаблонов вычислений, что является одной восьмой величины вычислений в случае полного поиска. Здесь, в вышеописанных примерах, поднаборы формируют произвольным способом, и не имеется никакой особой причины, чтобы какие-либо пары искать первыми среди четырех типов пар. Поэтому, если поиск выполнен в множестве случаев индивидуально, результирующая эффективность кодирования показывает большие вариации, и полная эффективность кодирования является недостаточной.Therefore, in the search for parts, the efficiency of speech coding can be further improved depending on which pulses to choose in order to form a subset to be searched first. For example, it is possible to adopt a method of selecting two pulses from four pulses at random and performing a search, and after this process is repeated several times, finding a pair of pulses, whereby the coding efficiency is the highest. For example, by providing four types of subset pairs and searching for these four pairs individually, it is possible to make speech coding efficiency close to coding efficiency in full search. In this case, 128 (8 2 × 2) × 4 (i.e. 512) calculation templates are required, which is one-eighth of the calculation value in the case of a full search. Here, in the examples described above, the subsets are formed in an arbitrary manner, and there is no particular reason for any pairs to be the first to search among the four types of pairs. Therefore, if the search is performed individually in many cases, the resulting coding efficiency shows large variations, and the full coding efficiency is insufficient.

Поэтому является задачей настоящего изобретения обеспечить устройство кодирования речи и способ кодирования речи для выполнения поиска частей с алгебраической кодовой книгой и улучшения эффективности кодирования.Therefore, it is an object of the present invention to provide a speech encoding device and a speech encoding method for performing a search for parts with an algebraic codebook and improving encoding efficiency.

Средство для решения проблемыMeans for solving the problem

Устройство кодирования речи настоящего изобретения применяет конфигурацию, имеющую: секцию вычисления, которая вычисляет значения корреляции в предполагаемых положениях импульсов с использованием целевого сигнала и множества импульсов, формирующих фиксированную кодовую книгу, и вычисляет, на базисе на основе импульса, репрезентативные значения импульсов с использованием максимальных значений корреляции; секцию сортировки, которая сортирует репрезентативные значения, полученные на базисе на основе импульса, группирует импульсы, соответствующие отсортированным репрезентативным значениям, в множество предопределенных поднаборов и определяет первый поднабор, подлежащий поиску первым, среди множества поднаборов; и секцию поиска, которая осуществляет поиск фиксированной кодовой книгой с использованием первого поднабора и получает показывающие код положения и полярности множества импульсов для минимизации искажения кодирования.The speech encoding apparatus of the present invention applies a configuration having: a calculation section that calculates correlation values at the estimated pulse positions using the target signal and a plurality of pulses forming a fixed codebook, and calculates, based on the pulse basis, representative pulse values using the maximum values correlations; a sorting section that sorts representative values obtained on the basis of the momentum, groups the impulses corresponding to the sorted representative values into a plurality of predetermined subsets and determines a first subset to be searched first among a plurality of subsets; and a search section that searches for a fixed codebook using the first subset and receives a code indicating the position and polarity of the plurality of pulses to minimize coding distortion.

Способ кодирования речи настоящего изобретения включает в себя этапы: вычисления значений корреляции в предполагаемых положениях импульсов с использованием целевого сигнала и множества импульсов, формирующих фиксированную кодовую книгу, и вычисления, на базисе на основе импульса, репрезентативных значений импульсов с использованием максимальных значений корреляции; сортировки репрезентативных значений, полученных на базисе на основе импульса, группировки импульсов, соответствующих отсортированным репрезентативным значениям, в множество предопределенных поднаборов и определения первого поднабора, подлежащего поиску первым, среди множества поднаборов; и поиска фиксированной кодовой книги с использованием первого поднабора и генерирования показывающих код позиций и полярностей множества импульсов для минимизации искажения кодирования.The speech encoding method of the present invention includes the steps of: calculating correlation values at the estimated positions of the pulses using the target signal and a plurality of pulses forming a fixed codebook, and calculating, based on the pulse, representative pulse values using the maximum correlation values; sorting the representative values obtained on the basis of the momentum, grouping the pulses corresponding to the sorted representative values into a plurality of predetermined subsets and determining the first subset to be searched first among the plural subsets; and searching for a fixed codebook using a first subset and generating code-indicating positions and polarities of a plurality of pulses to minimize coding distortion.

Предпочтительный эффект этого изобретенияThe preferred effect of this invention

Согласно настоящему изобретению, при выполнении поиска частей фиксированной кодовой книгой в кодировании речи, поднабор, подлежащий поиску первым, определяют с использованием репрезентативных значений, относящихся к импульсам, как, например, максимальные значения корреляции, так что является возможным выполнять поиск частей с алгебраической кодовой книгой и улучшать эффективность кодирования.According to the present invention, when performing a search for parts with a fixed codebook in speech encoding, the subset to be searched first is determined using representative values related to pulses, such as maximum correlation values, so that it is possible to search for parts with an algebraic codebook and improve coding efficiency.

Краткое описание чертежейBrief Description of the Drawings

Фиг.1 - это блок-схема, показывающая конфигурацию устройства кодирования CELP согласно варианту 1 осуществления настоящего изобретения;1 is a block diagram showing a configuration of a CELP encoding apparatus according to Embodiment 1 of the present invention;

Фиг.2 - это блок-схема, показывающая конфигурацию внутри секции минимизации искажения согласно варианту 1 осуществления настоящего изобретения;FIG. 2 is a block diagram showing a configuration within a distortion minimizing section according to Embodiment 1 of the present invention; FIG.

Фиг.3 - это блок-схема последовательности операций, показывающая этапы вычисления максимального значения корреляции каждого импульса в секции вычисления максимального значения корреляции согласно варианту 1 осуществления настоящего изобретения;FIG. 3 is a flowchart showing the steps of calculating the maximum correlation value of each pulse in the calculation section of the maximum correlation value according to Embodiment 1 of the present invention;

Фиг.4 - это блок-схема последовательности операций, показывающая этапы обработки сортировки над максимальным значением корреляции каждого импульса в секции сортировки согласно варианту 1 осуществления настоящего изобретения;4 is a flowchart showing the steps of sorting processing on the maximum correlation value of each pulse in the sorting section according to Embodiment 1 of the present invention;

Фиг.5 - это блок-схема последовательности операций, показывающая этапы поиска частей фиксированной кодовой книгой в секции поиска согласно варианту 1 осуществления настоящего изобретения;5 is a flowchart showing the steps of searching for parts with a fixed code book in a search section according to Embodiment 1 of the present invention;

Фиг.6 - это другая блок-схема последовательности операций, показывающая этапы поиска частей фиксированной кодовой книгой в секции поиска согласно варианту 1 осуществления настоящего изобретения;6 is another flowchart showing the steps of searching for parts with a fixed codebook in a search section according to Embodiment 1 of the present invention;

Фиг.7 - это блок-схема последовательности операций, показывающая этапы обработки сортировки над максимальным значением корреляции каждого импульса в секции сортировки согласно варианту 2 осуществления настоящего изобретения;7 is a flowchart showing the steps of sorting processing on the maximum correlation value of each pulse in the sorting section according to Embodiment 2 of the present invention;

Фиг.8 - это блок-схема последовательности операций, показывающая этапы обработки сортировки над максимальным значением корреляции каждого импульса в секции сортировки согласно варианту 3 осуществления настоящего изобретения; иFIG. 8 is a flowchart showing steps of sorting processing on the maximum correlation value of each pulse in the sorting section according to Embodiment 3 of the present invention; and

Фиг.9 - это блок-схема последовательности операций, показывающая этапы обработки перестановки над порядком импульсов в секции сортировки согласно варианту 3 осуществления настоящего изобретения.9 is a flowchart showing the steps of processing permutation over the order of pulses in the sorting section according to Embodiment 3 of the present invention.

Предпочтительный вариант осуществления изобретенияPreferred Embodiment

Варианты осуществления настоящего изобретения будут подробно объяснены ниже со ссылкой на сопровождающие чертежи.Embodiments of the present invention will be explained in detail below with reference to the accompanying drawings.

Вариант 1 осуществленияOption 1 implementation

Фиг.1 - это блок-схема, показывающая конфигурацию устройства 100 кодирования CELP согласно варианту 1 осуществления настоящего изобретения. Здесь будет объяснен иллюстративный случай с использованием устройства кодирования CELP в качестве устройства кодирования речи согласно настоящему изобретению.1 is a block diagram showing a configuration of a CELP encoding apparatus 100 according to Embodiment 1 of the present invention. Here, an illustrative case using the CELP encoding device as a speech encoding device according to the present invention will be explained.

На фиг.1, для речевого сигнала S11, состоящего из информации вокального тракта и информации возбуждения, устройство 100 кодирования CELP кодирует информацию вокального тракта посредством вычисления параметров LPC (коэффициента линейного предсказания) и кодирует информацию возбуждения посредством определения индекса, определяющего, какую речевую модель, сохраненную заранее, использовать. То есть информация возбуждения кодирована посредством определения индекса, задающего, какой вектор возбуждения (кодовый вектор) генерировать в адаптивной кодовой книге 103 и фиксированной кодовой книге 104.1, for a speech signal S11 consisting of vocal tract information and excitation information, the CELP coding apparatus 100 encodes the vocal path information by calculating the LPC parameters (linear prediction coefficient) and encodes the excitation information by determining an index defining which speech model, saved in advance, use. That is, the drive information is encoded by determining an index defining which drive vector (code vector) to generate in the adaptive codebook 103 and the fixed codebook 104.

Чтобы быть более конкретными, секции устройства 100 кодирования CELP выполняют следующие операции.To be more specific, sections of the CELP encoding device 100 perform the following operations.

Секция 101 анализа LPC выполняет анализ линейного предсказания речевого сигнала S11, вычисляет параметры LPC, которые являются информацией спектральной огибающей, и выводит параметры LPC в секцию 102 квантизации LPC и секцию 111 воспринимаемого взвешивания.The LPC analysis section 101 performs linear prediction analysis of the speech signal S11, calculates the LPC parameters, which are spectral envelope information, and outputs the LPC parameters to the LPC quantization section 102 and the perceived weighting section 111.

Секция 102 квантизации LPC квантует параметры LPC, выведенные из секции 101 анализа LPC, и выводит результирующие квантованные параметры LPC в фильтр 109 синтеза LPC и индекс квантованных параметров LPC во вне устройства 100 кодирования CELP.The LPC quantization section 102 quantizes the LPC parameters derived from the LPC analysis section 101, and outputs the resulting quantized LPC parameters to the LPC synthesis filter 109 and the index of the quantized LPC parameters outside the CELP encoding device 100.

С другой стороны, адаптивная кодовая книга 103 хранит прошлые возбуждения, использованные в фильтре 109 синтеза LPC, и генерирует вектор возбуждения одного подкадра из сохраненных возбуждений согласно запаздыванию адаптивной кодовой книги, ассоциированному с индексом, назначенным из секции 112 минимизации искажения, описанной позже. Этот вектор возбуждения выводят в множитель 106 как вектор адаптивной кодовой книги.On the other hand, the adaptive codebook 103 stores past excitations used in the LPC synthesis filter 109 and generates an excitation vector of one subframe from the stored excitations according to the adaptive codebook delay associated with the index assigned from the distortion minimizing section 112 described later. This excitation vector is output to a factor 106 as an adaptive codebook vector.

Фиксированная кодовая книга 104 заранее хранит множество векторов возбуждения предопределенной формы и выводит вектор возбуждения, ассоциированный с индексом, назначенным из секции 112 минимизации искажения, в множитель 107 как вектор фиксированной кодовой книги. Здесь, фиксированная кодовая книга 104 является алгебраическим возбуждением, и будет объяснен случай, где используется алгебраическая кодовая книга. Также, алгебраическое возбуждение является возбуждением, принятым во многих стандартных кодеках.The fixed codebook 104 stores in advance a plurality of excitation vectors of a predetermined shape and outputs the excitation vector associated with the index assigned from the distortion minimizing section 112 to a factor 107 as a fixed codebook vector. Here, the fixed codebook 104 is an algebraic excitation, and a case where an algebraic codebook is used is explained. Also, algebraic excitation is an excitation accepted in many standard codecs.

Дополнительно, вышеописанную адаптивную кодовую книгу 103 используют, чтобы представлять более периодические компоненты как голосовую речь, в то время как фиксированную кодовую книгу 104 используют, чтобы представлять менее периодические компоненты как белый шум.Additionally, the above adaptive codebook 103 is used to represent more periodic components as voice speech, while the fixed codebook 104 is used to represent less periodic components as white noise.

Согласно назначению из секции 112 минимизации искажения кодовая книга 105 усиления генерирует усиление для вектора адаптивной кодовой книги, который выводится из адаптивной кодовой книги 103 (т.е. усиление адаптивной кодовой книги), и усиление для вектора фиксированной кодовой книги, который выводят из фиксированной кодовой книги 104 (т.е. усиление фиксированной кодовой книги), и выводит эти усиления в множители 106 и 107 соответственно.According to the purpose of the distortion minimization section 112, the gain codebook 105 generates an gain for the adaptive codebook vector that is derived from the adaptive codebook 103 (i.e., an adaptive codebook gain) and a gain for the fixed codebook vector that is derived from the fixed codebook books 104 (i.e., a fixed codebook gain), and outputs these amplifiers at factors 106 and 107, respectively.

Множитель 106 умножает вектор адаптивной кодовой книги, выведенный из адаптивной кодовой книги 103 посредством усиления адаптивной кодовой книги, выведенного из кодовой книги 105 усиления, и выводит результат в модуль 108 сложения.A multiplier 106 multiplies the adaptive codebook vector derived from the adaptive codebook 103 by amplifying the adaptive codebook derived from the amplification codebook 105 and outputs the result to the addition unit 108.

Множитель 107 умножает вектор фиксированной кодовой книги, выведенный из фиксированной кодовой книги 104, посредством усиления фиксированной кодовой книги, выведенного из кодовой книги 105 усиления, и выводит результат в модуль 108 сложения.A multiplier 107 multiplies the fixed codebook vector derived from the fixed codebook 104 by amplifying the fixed codebook derived from the amplification codebook 105 and outputs the result to the addition unit 108.

Сумматор 108 складывает вектор адаптивной кодовой книги, выведенный из множителя 106, и вектор фиксированной кодовой книги, выведенный из множителя 107, и выводит результирующий вектор возбуждения в фильтр 109 синтеза LPC как возбуждение.The adder 108 adds the adaptive codebook vector derived from the factor 106 and the fixed codebook vector derived from the factor 107 and outputs the resulting excitation vector to the LPC synthesis filter 109 as excitation.

Фильтр 109 синтеза LPC генерирует сигнал синтеза с использованием фильтр-функции, включая квантованные параметры LPC, выведенные из секции 102 квантизации LPC, в качестве коэффициента фильтра и векторы возбуждения, сгенерированные в адаптивной кодовой книге 103 и фиксированной кодовой книге 104, как возбуждения, то есть с использованием фильтра синтеза LPC. Этот сигнал синтеза выводится в модуль 110 сложения.The LPC synthesis filter 109 generates a synthesis signal using a filter function, including quantized LPC parameters derived from the LPC quantization section 102, as a filter coefficient and excitation vectors generated in the adaptive codebook 103 and the fixed codebook 104 as excitations, i.e. using an LPC synthesis filter. This synthesis signal is output to addition module 110.

Сумматор 110 вычисляет сигнал ошибки посредством вычитания сигнала синтеза, сгенерированного в фильтре 109 синтеза LPC, из речевого сигнала S11 и выводит этот сигнал ошибки в секцию 111 воспринимаемого взвешивания. Здесь, этот сигнал ошибки является эквивалентным искажению кодирования.The adder 110 calculates the error signal by subtracting the synthesis signal generated in the LPC synthesis filter 109 from the speech signal S11 and outputs this error signal to the sensed weighting section 111. Here, this error signal is equivalent to a coding distortion.

Секция 111 воспринимаемого взвешивания выполняет воспринимаемое взвешивание для искажения кодирования, выведенного из модуля 110 сложения, и выводит результат в секцию 112 минимизации искажения.The perceptual weighting section 111 performs perceptual weighting to distort the coding output from the addition unit 110, and outputs the result to the distortion minimizing section 112.

Секция 112 минимизации искажения находит индексы адаптивной кодовой книги 103, фиксированной кодовой книги 104 и кодовой книги 105 усиления на базисе основе подкадра, так чтобы минимизировать искажение кодирования, выведенное из секции 111 воспринимаемого взвешивания, и выводит эти индексы во вне устройства 100 кодирования CELP как кодированную информацию. Чтобы быть более конкретными, секция 112 минимизации искажения генерирует сигнал синтеза на основе вышеописанной адаптивной кодовой книги 103 и фиксированной кодовой книги 104. Здесь, последовательности обработки, чтобы находить искажение кодирования этого сигнала, формируют управление замкнутого цикла (управление обратной связи). Дополнительно, секция 112 минимизации искажения осуществляет поиск кодовых книг посредством различным образом изменения индексов, которые обозначают кодовые книги в одном подкадре, и выводит результирующие индексы кодовых книг, минимизирующие искажение кодирования.The distortion minimizing section 112 finds the indices of the adaptive codebook 103, the fixed codebook 104 and the amplification codebook 105 on the basis of the subframe, so as to minimize the encoding distortion output from the sensed weighting section 111, and outputs these indices to the outside of the CELP encoding device 100 as encoded information. To be more specific, distortion minimizing section 112 generates a synthesis signal based on the above adaptive codebook 103 and fixed codebook 104. Here, the processing sequences to find the encoding distortion of this signal form a closed-loop control (feedback control). Further, the distortion minimizing section 112 searches for codebooks by variously changing the indices that denote codebooks in one subframe, and outputs the resulting codebook indices minimizing coding distortion.

Также, возбуждение, когда искажение кодирования минимизировано, подают назад в адаптивную кодовую книгу 103 на базисе на основе подкадра. Адаптивная кодовая книга 103 обновляет сохраненные возбуждения посредством этой обратной связи.Also, the excitation when coding distortion is minimized is fed back to the adaptive codebook 103 on a basis based on a subframe. Adaptive codebook 103 updates stored excitations through this feedback.

Ниже будет объясняться способ поиска фиксированной кодовой книги 104. Сначала поиск вектора возбуждения и кодовое вычисление выполняют посредством поиска вектора возбуждения, чтобы минимизировать искажение кодирования в следующем уравнении 1.The method for searching for the fixed codebook 104 will be explained below. First, the search of the excitation vector and the code calculation are performed by searching the excitation vector in order to minimize the encoding distortion in the following equation 1.

[1][one]

E=|x-(pHa + qHs)|2 E = | x- (pHa + qHs) | 2 …(Уравнение 1)... (Equation 1)

где:Where:

E: искажение кодирования;E: coding distortion;

x: цель кодирования;x: encoding target

p: усиление вектора адаптивной кодовой книги;p: adaptive codebook vector gain;

H: фильтр синтеза воспринимаемого взвешивания;H: perceptual weight synthesis filter;

a: вектор адаптивной кодовой книги;a: adaptive codebook vector

q: усиление вектора фиксированной кодовой книги; иq: fixed codebook vector gain; and

s: вектор фиксированной кодовой книги.s: fixed codebook vector.

В общем, вектор адаптивной кодовой книги и вектор фиксированной кодовой книги ищут в открытых циклах (то есть в отдельных циклах), и, следовательно, код адаптивной кодовой книги 104 выводят посредством поиска вектора фиксированной кодовой книги, чтобы минимизировать искажение кодирования, показанное в следующем уравнении 2.In general, the adaptive codebook vector and the fixed codebook vector are searched in open loops (i.e., in separate loops), and therefore, the adaptive codebook code 104 is output by searching for the fixed codebook vector to minimize coding distortion shown in the following equation 2.

[2][2]

y=x-pHay = x-pHa E=|y-qHs|2 E = | y-qHs | 2 …(Уравнение 2)... (Equation 2)

где:Where:

E: искажение кодированияE: coding distortion

x: цель кодирования (воспринимаемо взвешенный речевой сигнал);x: encoding target (perceptually weighted speech signal);

p: оптимальное усиление вектора адаптивной кодовой книги;p: optimal adaptive codebook vector gain

H: фильтр синтеза воспринимаемого взвешивания;H: perceptual weight synthesis filter;

a: вектор адаптивной кодовой книги;a: adaptive codebook vector

q: усиление вектора фиксированной кодовой книги;q: fixed codebook vector gain;

s: вектор фиксированной кодовой книги; иs: fixed codebook vector and

y: целевой вектор в поиске фиксированной кодовой книги.y: target vector in fixed codebook search.

Здесь, усиления p и q определяют после того, как код возбуждения выявлен так, что поиск выполняют с использованием оптимальных усилений. Затем вышеописанное уравнение 2 может быть выражено посредством следующего уравнения 3.Here, the gains p and q are determined after the drive code is detected so that the search is performed using the optimal gains. Then, the above equation 2 can be expressed by the following equation 3.

[3][3]

Figure 00000001
Figure 00000001
Figure 00000002
Figure 00000002
…(Уравнение 3)... (Equation 3)

Дополнительно, минимизация этого уравнения искажения эквивалентна максимизации функции C следующего уравнения 4.Additionally, minimizing this distortion equation is equivalent to maximizing the function C of the following equation 4.

[4][four]

Figure 00000003
...(Уравнение 4)
Figure 00000003
... (Equation 4)

Поэтому, в случае поиска возбуждения, состоящего из маленького количества импульсов, как, например, возбуждения алгебраической кодовой книги, посредством вычисления yH и HH заранее, является возможным вычислять вышеописанную функцию C с небольшим объемом вычислений. Здесь, элементы вектора yH соответствуют специфичным для импульса значениям корреляции. То есть элемент вектора yH, полученного посредством выполнения обратного по времени синтеза цели y, эквивалентен значению корреляции между сигналом синтеза импульса, который поднимается в этом положении, и целевым сигналом.Therefore, in the case of searching for an excitation consisting of a small number of pulses, such as, for example, algebraic codebook excitation, by calculating yH and HH in advance, it is possible to calculate the above function C with a small amount of computation. Here, the elements of the vector yH correspond to momentum-specific correlation values. That is, the element of the vector yH obtained by performing the time-inverse synthesis of the target y is equivalent to the correlation value between the pulse synthesis signal that rises in this position and the target signal.

Фиг.2 - это блок-схема, показывающая конфигурацию внутри секции 112 минимизации искажения согласно настоящему варианту осуществления. Здесь будет объяснен иллюстративный случай, где, в поиске фиксированной кодовой книги в секции 112 минимизации искажения, четыре импульса, формирующих алгебраическую кодовую книгу, разделяют на два поднабора двух импульсов и ищут. Также, предполагается, что каждый импульс имеет восемь предполагаемых положений.FIG. 2 is a block diagram showing a configuration within the distortion minimizing section 112 according to the present embodiment. Here, an illustrative case will be explained where, in a search for a fixed codebook in the distortion minimization section 112, the four pulses forming the algebraic codebook are divided into two subsets of two pulses and searched. It is also assumed that each impulse has eight putative positions.

На фиг.2 секция 112 минимизации искажения обеспечена секцией 201 поиска адаптивной кодовой книги, секцией 202 поиска фиксированной кодовой книги и секцией 203 поиска кодовой книги усиления. Также, секция 202 поиска фиксированной кодовой книги обеспечена секцией 221 вычисления максимального значения корреляции, секцией 222 сортировки, секцией 223 предварительной обработки и секцией 224 поиска.2, a distortion minimization section 112 is provided by an adaptive codebook search section 201, a fixed codebook search section 202, and a gain codebook search section 203. Also, the fixed codebook search section 202 is provided with a maximum correlation value calculating section 221, a sorting section 222, a preprocessing section 223, and a search section 224.

Секция 201 поиска адаптивной кодовой книги осуществляет поиск адаптивной кодовой книги 103 с использованием искажения кодирования в зависимости от воспринимаемого взвешивания в секции 111 воспринимаемого взвешивания. Секция 201 поиска адаптивной кодовой книги выводит код вектора адаптивной кодовой книги, полученный на этапе поиска, в адаптивную кодовую книгу 103, выводит код вектора адаптивной кодовой книги, полученный как результат поиска, в секцию 221 вычисления максимального значения корреляции в секции 202 поиска фиксированной кодовой книги и во вне устройства 100 кодирования CELP.The adaptive codebook search section 201 searches for the adaptive codebook 103 using coding distortion depending on perceived weighting in the perceived weighting section 111. The adaptive codebook search section 201 outputs the adaptive codebook vector code obtained in the search step to the adaptive codebook 103, outputs the adaptive codebook vector code obtained as a search result to the maximum correlation value calculating section 221 in the fixed codebook search section 202 and outside the CELP encoding device 100.

Секция 202 поиска фиксированной кодовой книги выполняет поиск частей адаптивной кодовой книги с использованием искажения кодирования в зависимости от воспринимаемого взвешивания в секции 111 воспринимаемого взвешивания и кода вектора адаптивной кодовой книги, принятого как ввод из секции 201 поиска адаптивной кодовой книги. Дополнительно, секция 202 поиска фиксированной кодовой книги выводит код вектора фиксированной кодовой книги, полученный на этапе поиска, в фиксированную кодовую книгу 104, и выводит код вектора фиксированной кодовой книги, полученный как результат поиска, во вне устройства 100 кодирования CELP и в секцию 203 поиска кодовой книги усиления.The fixed codebook search section 202 searches for adaptive codebook parts using coding distortion depending on perceived weighting in the perceived weighting section 111 and the adaptive codebook vector code received as input from the adaptive codebook search section 201. Additionally, the fixed codebook search section 202 outputs the fixed codebook vector code obtained in the search step to the fixed codebook 104 and outputs the fixed codebook vector code obtained as a search result outside the CELP encoding device 100 and to the search section 203 codebook gain.

Секция 203 поиска кодовой книги усиления осуществляет поиск кодовой книги усиления на основе кода вектора фиксированной кодовой книги, принятого как ввод из секции 224 поиска в секции 202 поиска фиксированной кодовой книги, искажения кодирования в зависимости от воспринимаемого взвешивания в секции 111 воспринимаемого взвешивания и кода вектора адаптивной кодовой книги, принятого как ввод из секции 201 поиска адаптивной кодовой книги. Дополнительно, секция 203 поиска кодовой книги усиления выводит усиление адаптивной кодовой книги и усиление фиксированной кодовой книги, полученные на этапе поиска, в кодовую книгу 105 усиления и выводит усиление адаптивной кодовой книги и усиление фиксированной кодовой книги, полученные как результаты поиска, во вне устройства 100 кодирования CELP.The gain codebook search section 203 searches for the gain codebook based on the fixed codebook vector code, received as input from the search section 224 in the fixed codebook search section 202, coding distortion depending on perceived weighting in the perceived weighting section 111 and adaptive vector code a codebook received as input from an adaptive codebook search section 201. Additionally, the gain codebook search section 203 outputs the adaptive codebook gain and the fixed codebook gain obtained in the search step to the gain codebook 105 and outputs the adaptive codebook gain and the fixed codebook gain obtained as the search results to the outside of the device 100 CELP encoding.

Секция 221 вычисления максимального значения корреляции вычисляет вектор адаптивной кодовой книги с использованием кода вектора адаптивной кодовой книги, принятого как ввод из секции 201 поиска адаптивной кодовой книги, и вычисляет целевой вектор y, показанный в уравнении 2. Дополнительно, с использованием коэффициента фильтра синтеза H в секции 111 воспринимаемого взвешивания, секция 221 вычисления максимального значения корреляции вычисляет и выводит специфичное для импульса значение корреляции yH в каждом предполагаемом положении в секцию 223 предварительной обработки. Дополнительно, с использованием специфичного для импульса значения корреляции yH в каждом предполагаемом положении, секция 221 вычисления максимального значения корреляции вычисляет и выводит максимальные значения корреляции индивидуальных импульсов в секцию 222 сортировки. Здесь, вычисление максимальных значений корреляции в секции 221 вычисления максимального значения корреляции будет описано позже подробно.The maximum correlation value calculation section 221 calculates an adaptive codebook vector using the adaptive codebook vector code received as input from the adaptive codebook search section 201 and calculates a target vector y shown in equation 2. Additionally, using the synthesis filter coefficient H in perceived weighing section 111, maximum correlation value calculating section 221 calculates and outputs a pulse-specific correlation value yH at each assumed position in the section Yu 223 pre-processing. Further, using the pulse-specific correlation value yH at each assumed position, the maximum correlation value calculating section 221 calculates and outputs the maximum correlation values of the individual pulses to the sorting section 222. Here, the calculation of the maximum correlation values in section 221 of calculating the maximum correlation value will be described later in detail.

Секция 222 сортировки сортирует максимальные значения корреляции индивидуальных импульсов, принятых как ввод из секции 221 вычисления максимального значения корреляции, в порядке от наибольшего максимального значения корреляции (далее "обработка сортировки"). Дополнительно, на основе результата сортировки, секция 222 сортировки разделяет четыре импульса на два поднабора двух импульсов и выводит результаты разделения в секцию 224 поиска. Обработка сортировки в секции 222 сортировки будет подробно описана позже.The sorting section 222 sorts the maximum correlation values of the individual pulses received as input from the maximum correlation value calculating section 221, in order of the largest maximum correlation value (hereinafter “sorting processing”). Further, based on the sorting result, the sorting section 222 divides the four pulses into two subsets of the two pulses and outputs the separation results to the search section 224. The sorting processing in sorting section 222 will be described in detail later.

Секция 223 предварительной обработки вычисляет матрицу HH с использованием коэффициента фильтра синтеза H в секции 111 воспринимаемого взвешивания. Дополнительно, из полярностей (+ и -) элементов вектора yH, принятого как ввод из секции 221 вычисления максимального значения корреляции, секция 223 предварительной обработки определяет и выводит полярности импульсов, pol, в секцию 224 поиска. Чтобы быть более конкретными, в секции 223 предварительной обработки, полярности индивидуальных импульсов, которые возникают в соответствующих положениях, координируют с полярностями значений yH в этих положениях и полярности значений yH сохраняют в другой последовательности. После того как полярности в этих положениях сохраняют в другой последовательности, секция 223 предварительной обработки делает все из значений yH абсолютными значениями, то есть секция 223 предварительной обработки преобразует значения yH в положительные значения. Дополнительно, чтобы преобразовать полярности значений HH, секция 223 предварительной обработки умножает значения HH посредством полярностей в координации с сохраненными полярностями в этих положениях. Вычисленные yH и HH выводят в секцию 224 поиска.The pre-processing section 223 calculates the HH matrix using the synthesis synthesis filter coefficient H in the perceived weighting section 111. Additionally, from the polarities (+ and -) of the elements of the vector yH received as input from the maximum correlation value calculation section 221, the preprocessing section 223 determines and outputs the pulse polarity, pol, to the search section 224. To be more specific, in the pre-processing section 223, the polarities of the individual pulses that occur in the respective positions are coordinated with the polarities of the yH values at these positions and the polarities of the yH values are stored in a different sequence. After the polarities in these positions are stored in a different sequence, the preprocessing section 223 makes all of the yH values absolute, that is, the preprocessing section 223 converts the yH values to positive values. Additionally, in order to convert the polarity of the HH values, the preprocessing section 223 multiplies the HH values by the polarities in coordination with the stored polarities at these positions. The calculated yH and HH are output to the search section 224.

Секция 224 поиска выполняет поиск частей фиксированной кодовой книги с использованием результатов разделения, принятых как ввод из секции 222 сортировки, искажения кодирования в зависимости от воспринимаемого взвешивания в секции 111 воспринимаемого взвешивания, и yH и HH, принятых как ввод из секции 223 предварительной обработки. Секция 224 поиска выводит код вектора фиксированной кодовой книги, полученный на этапе поиска, в фиксированную кодовую книгу 104 и выводит код вектора фиксированной кодовой книги, полученный как результат поиска, во вне устройства 100 кодирования CELP и секцию 203 поиска кодовой книги усиления. Также, поиск частей фиксированной кодовой книги в секции 224 поиска будет подробно описан позже.Search section 224 searches for parts of the fixed codebook using separation results received as input from sorting section 222, coding distortion depending on perceived weighting in perceived weighting section 111, and yH and HH received as input from preprocessing section 223. The search section 224 outputs the fixed codebook vector code obtained in the search step to the fixed codebook 104 and outputs the fixed codebook vector code obtained as a search result outside the CELP encoding device 100 and the amplification codebook search section 203. Also, the search for parts of the fixed codebook in the search section 224 will be described in detail later.

Далее обработка вычисления максимального значения корреляции каждого импульса в секции 221 вычисления максимального значения корреляции будет описана подробно.Next, the processing for calculating the maximum correlation value of each pulse in section 221 for calculating the maximum correlation value will be described in detail.

Фиг.3 - это блок-схема последовательности операций, показывающая этапы вычисления максимального значения корреляции каждого импульса в секции 221 вычисления максимального значения корреляции. Здесь будет объясняться пример обработки, где секция 221 вычисления максимального значения корреляции находит два предполагаемых положения, где значение импульса 0 (yH) является наивысшим, и, на основе этих положений, вычисляет максимальное значение корреляции импульса 0.FIG. 3 is a flowchart showing the steps of calculating the maximum correlation value of each pulse in section 221 of calculating the maximum correlation value. An example of processing will be explained here, where the maximum correlation value calculating section 221 finds two estimated positions, where the pulse value 0 (yH) is the highest, and, based on these positions, calculates the maximum pulse correlation value 0.

Сначала секция 221 вычисления максимального значения корреляции обеспечивает последовательность ici0[8] предопределенных предполагаемых положений импульса 0 и последовательность yH[32], полученную посредством преобразования значения корреляции yH, которое используется для поиска, в положительное значение (ST 1010).First, the maximum correlation value calculating section 221 provides a sequence ici0 [8] of predetermined estimated pulse positions 0 and a sequence yH [32] obtained by converting the correlation value yH used for search to a positive value (ST 1010).

Далее секция 221 вычисления максимального значения корреляции инициализирует максимальное значение max00, полумаксимальное значение (т.е. второе наивысшее значение) max01 и счетчик i (ST 1020), и этап переходит к циклу, сформированному посредством ST 1030 по ST 1080.Next, the maximum correlation value calculation section 221 initializes the maximum value max00, the half-maximum value (i.e., the second highest value) max01 and the counter i (ST 1020), and the step proceeds to the cycle generated by ST 1030 to ST 1080.

В этом цикле, когда значение счетчика i равно или больше чем 8 ("Да" на ST 1040), секция 221 вычисления максимального значения корреляции решает, что обработка цикла для каждого предполагаемого положения полностью завершена, и завершает обработку. В отличие от этого, когда значение счетчика i меньше чем 8 ("Нет" на ST 1040), секция 221 вычисления максимального значения корреляции решает, что обработка цикла не полностью завершена, и этап переходит на ST 1050.In this cycle, when the value of counter i is equal to or greater than 8 (“Yes” in ST 1040), the maximum correlation value calculating section 221 determines that the cycle processing for each assumed position is complete and completes the processing. In contrast, when the counter value i is less than 8 (“No” on ST 1040), the maximum correlation value calculating section 221 decides that the loop processing is not fully completed, and the step proceeds to ST 1050.

Далее, если значение корреляции yH[ici0[i]] в положении, показанном посредством счетчика i, больше, чем максимальное значение max00 ("Да" на ST 1050), секция 221 вычисления максимального значения корреляции сохраняет максимальное значение max00 как полумаксимальное значение max01, присваивает значение корреляции yH[ici0[i]] в положении, показанном посредством счетчика i, максимальному значению max00 (ST 1060) и возвращает этап на ST 1030. Если значение корреляции yH[ici0[i]] в положении, показанном посредством счетчика i, равно или меньше, чем максимальное значение max00 ("Нет" на ST 1050), секция 221 вычисления максимального значения корреляции переводит этап на ST 1070.Further, if the correlation value yH [ici0 [i]] in the position shown by the counter i is greater than the maximum value max00 (“Yes” in ST 1050), the maximum correlation value calculating section 221 stores the maximum value max00 as the half-maximum value max01, assigns the correlation value yH [ici0 [i]] in the position shown by counter i to the maximum value max00 (ST 1060) and returns the step to ST 1030. If the correlation value yH [ici0 [i]] in the position shown by counter i, equal to or less than the maximum value max00 ("No" on S T 1050), the maximum correlation value calculation section 221 transfers the step to ST 1070.

Далее, если значение корреляции yH[ici0[i]] в положении, показанном посредством счетчика i, больше, чем полумаксимальное значение max01 ("Да" на ST 1070), секция 221 вычисления максимального значения корреляции присваивает значение корреляции yH[ici0[i]] в положении, показанном посредством счетчика i, полумаксимальному значению max01 (ST 1060) и возвращает этап на ST 1030 (ST 1080). В отличие от этого, если значение корреляции yH[ici0[i]] в положении, показанном посредством счетчика i, равно или меньше, чем полумаксимальное значение max01 ("Нет" на ST 1070), секция 221 вычисления максимального значения корреляции возвращает этап на ST 1030.Further, if the correlation value yH [ici0 [i]] in the position shown by the counter i is greater than the half-maximum value max01 (“Yes” in ST 1070), the maximum correlation value calculating section 221 assigns the correlation value yH [ici0 [i] ] at the position shown by counter i to the half-maximum value max01 (ST 1060) and returns the step to ST 1030 (ST 1080). In contrast, if the correlation value yH [ici0 [i]] in the position shown by the counter i is equal to or less than the half-maximum value max01 (“No” in ST 1070), the maximum correlation value calculating section 221 returns the step to ST 1030.

Далее, на ST 1030, секция 221 вычисления максимального значения корреляции увеличивает счетчик i на единицу и возвращает этап на ST 1040.Next, in ST 1030, the maximum correlation value calculating section 221 increments the counter i by one and returns the step to ST 1040.

Таким образом, секция 221 вычисления максимального значения корреляции вычисляет максимальное значение max00 и полумаксимальное значение max01 среди значений корреляции одиночного импульса 0 в предполагаемых положениях. Дополнительно, с использованием этапов, показанных на фиг.3, секция 221 вычисления максимального значения корреляции находит два предполагаемых положения, где значения корреляции (yH) индивидуальных импульсов 1, 2 и 3 являются наивысшими. То есть секция 221 вычисления максимального значения корреляции находит max10, max11, max20, max21, max30 и max31, которые представляют максимальные значения и полумаксимальные значения индивидуальных импульсов 1, 2 и 3.Thus, the maximum correlation value calculating section 221 calculates the maximum value max00 and the half-maximum value max01 among the correlation values of a single pulse 0 at the assumed positions. Additionally, using the steps shown in FIG. 3, the maximum correlation value calculating section 221 finds two estimated positions where the correlation values (yH) of the individual pulses 1, 2 and 3 are the highest. That is, the maximum correlation value calculating section 221 finds max10, max11, max20, max21, max30, and max31, which represent the maximum values and half-maximum values of the individual pulses 1, 2, and 3.

Далее, с использованием максимальных значений и полумаксимальных значенийFurther, using maximum values and half-maximum values

среди значений корреляции индивидуальных импульсов 0, 1, 2 и 3, секция 221 вычисления максимального значения корреляции вычисляет максимальные значения корреляции S[0], S[1], S2[2] и S[3] индивидуальных импульсов согласно следующему уравнению 5. Как показано на фиг.5, секция 221 вычисления максимального значения корреляции находит устойчивые максимальные значения корреляции, ассоциированные с индивидуальными импульсами, посредством добавления полумаксимального значения значения корреляции при предопределенном коэффициенте к максимальному значению значения корреляции на базисе на основе импульса. among the correlation values of the individual pulses 0, 1, 2 and 3, the maximum correlation value calculating section 221 calculates the maximum correlation values S [0], S [1], S2 [2] and S [3] of the individual pulses according to the following equation 5. How shown in FIG. 5, the maximum correlation value calculation section 221 finds stable maximum correlation values associated with individual pulses by adding the half-maximum value of the correlation value at a predetermined coefficient to the maximum value ju values of correlation on the basis of momentum.

S[0] = max00 + max01×0,05S [0] = max00 + max01 × 0.05

S[1] = max10 + max11×0,05S [1] = max10 + max11 × 0.05

S[2] = max20 + max21×0,05S [2] = max20 + max21 × 0.05

S[3] = max30 + max31×0,05...(Уравнение 5)S [3] = max30 + max31 × 0.05 ... (Equation 5)

Далее будет подробно описана обработка сортировки над максимальным значением корреляции каждого импульса в секции 222 сортировки.Next, sorting processing over the maximum correlation value of each pulse in sorting section 222 will be described in detail.

Фиг.4 - это блок-схема последовательности операций, показывающая этапы обработки сортировки максимальных значений корреляции индивидуальных импульсов в секции 222 сортировки.4 is a flowchart showing the steps of sorting processing of maximum correlation values of individual pulses in sorting section 222.

Сначала секция 222 сортировки принимает как ввод максимальное значение корреляции S[j] (j=0, 1, 2, 3) каждого импульса из секции 221 вычисления максимального значения корреляции и сбрасывает в 0 счетчик i, показывающий, до какого ранга сортировка завершена (ST 2010).First, the sorting section 222 accepts as input the maximum correlation value S [j] (j = 0, 1, 2, 3) of each pulse from the maximum correlation value calculating section 221 and resets counter i to 0, to which rank the sorting is completed (ST 2010).

Далее, когда значение счетчика i равно или больше чем 4 ("Да" на ST 2030), секция 222 сортировки решает, что сортировка полностью завершена, и переводит этап на ST 2100. В отличие от этого, когда значение счетчика i меньше чем 4 ("Нет" на ST 2030), секция 222 сортировки присваивает 0 импульсному номеру N[i], сбрасывает в 0 счетчик j для вычисления количества циклов, в которых ищут i-е максимальное значение корреляции S[N(i)], и сбрасывает переменную "max", которая хранит максимальное значение, в 0 (ST 2040).Further, when the value of counter i is equal to or greater than 4 (“Yes” in ST 2030), the sorting section 222 decides that the sorting is complete and transfers the step to ST 2100. In contrast, when the value of the counter i is less than 4 ( “No” on ST 2030), sorting section 222 assigns 0 to pulse number N [i], resets counter j to 0 to calculate the number of cycles in which the ith maximum correlation value S [N (i)] is searched, and resets the variable "max", which stores the maximum value, at 0 (ST 2040).

Далее, когда значение счетчика j меньше чем 4 ("Нет" на ST 2060), секция 222 сортировки переводит этап на ST 2070.Further, when the counter value j is less than 4 (“No” in ST 2060), the sorting section 222 transfers the step to ST 2070.

Далее, когда максимальное значение корреляции S[j] больше, чем переменная "max" ("Да" на ST 2070), секция 222 сортировки присваивает максимальное значение корреляции S[j] переменной "max", присваивает значение счетчика j номеру импульса N[i], соответствующему i-му максимальному значению корреляции S[N[i]] (ST 2080), и переводит этап на ST 2050. В отличие от этого, когда максимальное значение корреляции S[j] равно или меньше, чем переменная "max" ("Нет" на ST 2070), секция 222 сортировки переводит этап на ST 2050. Далее, на ST 2050, секция 222 сортировки увеличивает счетчик j на единицу и возвращает этап на ST 2060.Further, when the maximum correlation value S [j] is greater than the variable "max" ("Yes" on ST 2070), the sorting section 222 assigns the maximum correlation value S [j] to the variable "max", assigns the counter value j to the pulse number N [ i] corresponding to the ith maximum correlation value S [N [i]] (ST 2080), and transfers the step to ST 2050. In contrast, when the maximum correlation value S [j] is equal to or less than the variable "max "(" No "on ST 2070), sorting section 222 moves the step to ST 2050. Next, to ST 2050, sorting section 222 increments counter j by one and rotates at step ST 2060.

В отличие от этого, когда значение счетчика j равно или больше чем 4 на ST 2060 ("Да" на ST 2060), секция 222 сортировки решает, что цикл, сформированный с ST 2050 по ST 2080, для поиска i-го максимального значения корреляции S[N[i]], оканчивается, и присваивает "-1" i-му максимальному значению корреляции S[N[i]] (ST 2090). Посредством этого i-е максимальное значение корреляции S[N[i]] исключают из цели обработки цикла для поиска (i+1)-го максимального значения корреляции S[N[i+1]]. Далее секция 222 сортировки увеличивает счетчик i на единицу на ST 2020 и возвращает этап на ST 2030.In contrast, when the counter value j is equal to or greater than 4 on the ST 2060 (“Yes” on the ST 2060), the sorting section 222 decides that the cycle generated from ST 2050 to ST 2080 to search for the ith maximum correlation value S [N [i]], ends, and assigns “-1” to the i-th maximum correlation value S [N [i]] (ST 2090). Thereby, the ith maximum correlation value S [N [i]] is excluded from the loop processing purpose to search for the (i + 1) th maximum correlation value S [N [i + 1]]. Next, sorting section 222 increments counter i by one at ST 2020 and returns the step to ST 2030.

Таким образом, секция 222 сортировки сортирует максимальные значения корреляции S[0], S[1], S[2] и S[3] индивидуальных импульсов в убывающем порядке и получает N[i], показывающее результат сортировки. В последующем будет объясняться иллюстративный случай, где секция 222 сортировки получает N[i]={2, 0, 3, 1}. То есть предполагается, что импульсный номер N[0], соответствующий наивысшему максимальному значению корреляции S[N[0]], - это 2, затем следуют 0, 3 и 1 в порядке.Thus, the sorting section 222 sorts the maximum correlation values S [0], S [1], S [2] and S [3] of the individual pulses in descending order and obtains N [i] showing the result of the sorting. In the following, an illustrative case will be explained where the sorting section 222 receives N [i] = {2, 0, 3, 1}. That is, it is assumed that the pulse number N [0] corresponding to the highest maximum correlation value S [N [0]] is 2, then 0, 3 and 1 are in order.

Далее, на ST 2100, секция 222 сортировки определяет порядок поиска импульсов посредством группирования четырех импульсных чисел, N[i], соответствующих отсортированным максимальным значениям корреляции, в два шаблона разделения предопределенных поднаборов и выводит результирующий порядок поиска в секцию 224 поиска. То есть, до поиска частей фиксированной кодовой книги в секции 224 поиска, секция 222 сортировки определяет номера двух импульсов, подлежащих поиску первыми, и номера двух импульсов, подлежащих поиску далее. В секции 222 сортировки три предполагаемых шаблона порядка поиска, показанные в следующем уравнении 6, устанавливают заранее.Next, in ST 2100, the sorting section 222 determines the search order of the pulses by grouping four pulse numbers, N [i], corresponding to the sorted maximum correlation values, into two separation patterns of the predefined subsets and outputs the resulting search order to the search section 224. That is, before searching for parts of the fixed codebook in the search section 224, the sorting section 222 determines the numbers of two pulses to be searched first and the numbers of two pulses to be searched further. In the sorting section 222, the three prospective search order patterns shown in the following equation 6 are set in advance.

{Первый поднабор}{First subset} {Второй поднабор}{Second subset} Первый предполагаемый
шаблон:
First prospective
template:
{N[0], N[1]}{N [0], N [1]} {N[2], N[3]}{N [2], N [3]}
Второй предполагаемый
шаблон:
Second alleged
template:
{N[0], N[2]}{N [0], N [2]} {N[3], N[1]}{N [3], N [1]}
Третий предполагаемый
шаблон:
Third alleged
template:
{N[0], N[3]}{N [0], N [3]} {N[1], N[2]}{N [1], N [2]} ...(Уравнение 6)... (Equation 6)

В поиске частей имеется много типов шаблонов разделения для поднабора, подлежащего поиску первым (т.е. первого поднабора), и для поднабора, подлежащего поиску следующим (т.е. второго поднабора). Для этих шаблонов разделения, как показано в уравнении 6, посредством принятия шаблона разделения, где импульс N[0] наивысшего максимального значения корреляции включен в поднабор, подлежащий поиску первым (т.е. первый поднабор), является возможным обеспечивать хорошую эффективность кодирования.In the search for parts, there are many types of separation patterns for a subset to be searched first (i.e., a first subset), and for a subset to be searched next (i.e., a second subset). For these separation patterns, as shown in Equation 6, by adopting a separation pattern where the pulse N [0] of the highest maximum correlation value is included in the subset to be searched first (ie, the first subset), it is possible to provide good coding efficiency.

В каждом предполагаемом порядке поиска в уравнении 6 поиск выполняют в порядке от поднабора, подлежащего поиску первым (первого поднабора), к поднабору, подлежащему поиску вторым (второму поднабору).In each prospective search order in equation 6, the search is performed in order from the subset to be searched by the first (first subset) to the subset to be searched by the second (second subset).

Если N[i] в уравнении 6 выражен посредством конкретных значений, полученных посредством сортировки, получают следующее уравнение 7 и поиск выполняют в порядке от первого предполагаемого шаблона ко второму предполагаемому шаблону и к третьему предполагаемому шаблону.If N [i] in Equation 6 is expressed by specific values obtained by sorting, the following Equation 7 is obtained and the search is performed in order from the first candidate pattern to the second candidate pattern and the third candidate pattern.

{Первый поднабор}{First subset} {Второй поднабор}{Second subset} Первый предполагаемый
шаблон:
First prospective
template:
{2, 0}{twenty} {3, 1}{3, 1}
Второй предполагаемый
шаблон:
Second alleged
template:
{2, 3}{2, 3} {1, 0}{10}
Третий предполагаемый
шаблон:
Third alleged
template:
{2, 1}{2, 1} {0, 3}{0, 3} ...(Уравнение 7)... (Equation 7)

Три порядка поиска, показанные в уравнении 7, могут быть сгруппированы в M[3][4], показанные в следующем уравнении 8. Здесь, M[3][4] представляет порядок поиска импульсов в случае выполнения поиска частей для набора четырех импульсов три раза.The three search orders shown in equation 7 can be grouped in M [3] [4], shown in the following equation 8. Here, M [3] [4] represents the search order of pulses in the case of performing a part search for a set of four pulses of three times.

M[3][4]={{2,0,3,1},{2,3,1,0},{2,1,0,3}}...(Уравнение 8)M [3] [4] = {{2,0,3,1}, {2,3,1,0}, {2,1,0,3}} ... (Equation 8)

То есть секция 222 сортировки выводит M[3][4] в секцию 224 поиска как порядок поиска.That is, the sorting section 222 outputs M [3] [4] to the search section 224 as a search order.

Далее поиск частей фиксированной кодовой книги в секции 224 поиска будет описываться подробно.Next, the search for parts of the fixed codebook in the search section 224 will be described in detail.

Фиг.5 и фиг.6 - это блок-схемы последовательности операций, показывающие этапы поиска частей фиксированной кодовой книги в секции 224 поиска. Здесь, параметры алгебраической кодовой книги показаны ниже.5 and 6 are flowcharts showing the steps of searching for parts of a fixed codebook in a search section 224. Here, the algebraic codebook parameters are shown below.

(1) количество бит:(1) number of bits: 16 битов16 bits (2) блок для обработки (длина подкадра):(2) processing unit (subframe length): 3232 (3) количество импульсов:(3) number of pulses: 4four

С этими параметрами конструируют следующую алгебраическую кодовую книгу.With these parameters, the following algebraic codebook is constructed.

ici0[8]={0, 4, 8, 12, 16, 20, 24, 28}ici0 [8] = {0, 4, 8, 12, 16, 20, 24, 28}

ici1[8]={1, 5, 9, 13, 17, 21, 25, 29}ici1 [8] = {1, 5, 9, 13, 17, 21, 25, 29}

ici2[8]={2, 6, 10, 14, 18, 22, 26, 30}ici2 [8] = {2, 6, 10, 14, 18, 22, 26, 30}

ici3[8]={3, 7, 11, 15, 19, 23, 27, 31}ici3 [8] = {3, 7, 11, 15, 19, 23, 27, 31}

Сначала, на ST 3010, секция 224 поиска готовит последовательности ici0[8], ici1[8], ici2[8] и ici3[8], показывающие предполагаемые положения четырех импульсов фиксированной кодовой книги, и готовит последовательность yH[32], полученную посредством преобразования yH в положительные значения, последовательность HH[32][32], полученную посредством регулировки полярностей HH, и вектор pol[32], хранящий значения полярности (-1, +1) yH перед тем, как yH преобразуют в положительные значения. Далее, на ST 3020, инициализируют переменные, которые используют в последующем цикле поиска.First, at ST 3010, the search section 224 prepares the sequences ici0 [8], ici1 [8], ici2 [8] and ici3 [8] showing the estimated positions of the four pulses of the fixed codebook, and prepares the sequence yH [32] obtained by converting yH to positive values, the sequence HH [32] [32] obtained by adjusting the polarities HH, and the vector pol [32], which stores the polarity values (-1, +1) yH before yH is converted to positive values. Next, in ST 3020, variables that are used in a subsequent search loop are initialized.

Секция 224 поиска сравнивает "j" и значение "3" на ST 3030, и если "j" равно или больше чем 3, переводит этап на ST 3250 для завершения поиска, и если "j" меньше чем 3, переводит этап на инициализацию ST 3050. На ST 3040, "j" увеличивают на единицу. Посредством этого секция 224 поиска выполняет поиск частей для набора двух поднаборов три раза согласно трем порядкам поиска, показанным в порядке поиска M[3][4], принятом как ввод из секции 222 сортировки.Search section 224 compares “j” and the value “3” to ST 3030, and if “j” is equal to or greater than 3, transfers the step to ST 3250 to complete the search, and if “j” is less than 3, transfers the step to initializing ST 3050. At ST 3040, “j” is incremented by one. By this, the search section 224 searches for parts for a set of two subsets three times according to the three search orders shown in the search order M [3] [4] received as input from the sorting section 222.

ST 3050 по ST 3130 показывают обработку цикла поиска, первого поднабора. Чтобы быть более конкретными, на ST 3050, цикл поиска для первого поднабора инициализируют. Далее, на ST 3060, секция 224 поиска сравнивает i0 и значение "8" и, если i0 равно или больше чем 8, переводит этап на ST 3140 для инициализации следующего цикла поиска или, если i0 меньше чем 8, переводит этап на этап ST 3070. На ST 3070, вычисляют значение корреляции sy0 и мощность возбуждения sh0 импульса, показанного посредством M[j][0] (j=0, 1, 2). Дополнительно, счетчик i1 инициализируют на нуль. Далее на ST 3080, i0 увеличивают на единицу. Посредством этого секция 224 поиска выполняет обработку цикла восемь раз для восьми предполагаемых положений импульсов, показанных посредством M[j][0] (J=0, 1, 2). Аналогично, на ST 3090 по ST 3130, секция 224 поиска выполняет обработку цикла восемь раз для восьми предполагаемых положений импульсов, показанных посредством M[j][1] (j=0, 1, 2).ST 3050 through ST 3130 show the processing of the search cycle, the first subset. To be more specific, in ST 3050, a search cycle for a first subset is initialized. Next, in ST 3060, the search section 224 compares i0 and the value “8” and, if i0 is equal to or greater than 8, transfers the step to ST 3140 to initiate the next search cycle or, if i0 is less than 8, transfers the step to ST 3070 At ST 3070, the correlation value sy0 and the drive power sh0 of the pulse shown by M [j] [0] (j = 0, 1, 2) are calculated. Additionally, the counter i1 is initialized to zero. Next, on ST 3080, i0 is increased by one. By this, the search section 224 performs eight cycle processing for eight estimated pulse positions shown by M [j] [0] (J = 0, 1, 2). Similarly, in ST 3090 to ST 3130, the search section 224 performs loop processing eight times for eight estimated pulse positions shown by M [j] [1] (j = 0, 1, 2).

Сначала "i1" и значение "8" сравнивают на решении ST 3090, и, если "i1" равно или больше чем 8, этап переходит на этап ST 3080 увеличения, или, если "i1" меньше чем 8, этап переходит на этап ST 3100. На ST 3100, секция 224 поиска вычисляет значение корреляции sy1 и мощность возбуждения sh1 импульса, показанного посредством M[j][1] (j=0, 1, 2), с использованием значения корреляции sy0 и мощности возбуждения sh0, вычисленных на ST 3070, в дополнение к yH и HH, принятым как ввод из секции 223 предварительной обработки.First, “i1” and the value “8” are compared in decision ST 3090, and if “i1” is equal to or greater than 8, the step goes to step ST 3080 increase, or, if “i1” is less than 8, the step goes to step ST 3100. At ST 3100, the search section 224 calculates the correlation value sy1 and the drive power sh1 of the pulse shown by M [j] [1] (j = 0, 1, 2) using the correlation value sy0 and the drive power sh0 calculated on ST 3070, in addition to yH and HH, accepted as input from the pre-processing section 223.

На ST 3120, секция 224 поиска вычисляет и сравнивает значения функции C согласно уравнению 4, с использованием значений корреляции и мощностей возбуждения индивидуальных импульсов, которые являются целями обработки в первом поднаборе, перезаписывает и сохраняет i0 и i1 более высоких функциональных значений в ii0 и ii1 и дополнительно перезаписывает и сохраняет член числителя и член знаменателя функции C (ST 3130). Здесь, на ST 3120, разделения, требующего некоторой большой величины вычислений, избегают и вычисление и сравнение выполняют посредством перекрестного умножения членов знаменателя и членов числителя. В вышеописанном решении, если значения корреляции ниже или если значения корреляции выше и выполняют обработку на ST 3130, этап переходит на этап ST 3110 увеличения. На этапе ST 3110 увеличения, "i1" увеличивают на единицу.At ST 3120, the search section 224 calculates and compares the values of the function C according to equation 4, using the correlation values and the excitation powers of the individual pulses, which are the processing goals in the first subset, overwrites and stores i0 and i1 higher functional values in ii0 and ii1 and additionally overwrites and saves the numerator member and the denominator member of function C (ST 3130). Here, in ST 3120, a separation requiring some large amount of computation is avoided, and calculation and comparison are performed by cross-multiplying the denominator and the numerator. In the above solution, if the correlation values are lower or if the correlation values are higher and the processing is performed at ST 3130, the step proceeds to the increment step ST 3110. At step ST 3110 increase, "i1" increase by one.

ST 3140 по ST 3220 показывает обработку цикла поиска второго поднабора. Здесь, обработка цикла поиска второго поднабора принимает в основном такие же этапы, как в обработке цикла поиска первого поднабора, показанной на ST 3050 по ST 3130. Здесь, будут описываться только отличия от обработки цикла поиска первого поднабора. Сначала, на ST 3140, инициализацию обработки цикла поиска второго поднабора выполняют с использованием результата обработки цикла поиска первого поднабора. Также, цель обработки цикла поиска второго поднабора - это импульсы, показанные посредством M[j][2] (j=0, 1, 2) и M[j][3] (j=0, 1, 2). Также, на ST 3160, значение корреляции sy2 и мощность возбуждения sh2 импульса 2 вычисляют с использованием информации счетчика ii0 и ii1, которые ищут и сохраняют в цикле поиска для первого поднабора. Также, аналогично, на ST 3190, значение корреляции sy3 и мощность возбуждения sh3 импульса 3 вычисляют с использованием информации счетчика ii0 и ii1, которые ищут и сохраняют в цикле поиска для первого поднабора.ST 3140 to ST 3220 shows the processing of the search cycle of the second subset. Here, the processing of the search cycle of the second subset takes basically the same steps as in the processing of the search cycle of the first subset shown in ST 3050 to ST 3130. Here, only differences from the processing of the search cycle of the first subset will be described. First, in ST 3140, initialization of the processing of the search cycle of the second subset is performed using the result of the processing of the search cycle of the first subset. Also, the purpose of processing the search cycle of the second subset is pulses shown by M [j] [2] (j = 0, 1, 2) and M [j] [3] (j = 0, 1, 2). Also, in ST 3160, the correlation value sy2 and the drive power sh2 of pulse 2 are calculated using counter information ii0 and ii1, which are searched for and stored in the search loop for the first subset. Also, similarly, in ST 3190, the correlation value sy3 and the drive power sh3 of pulse 3 are calculated using counter information ii0 and ii1, which are searched and stored in the search loop for the first subset.

Далее, на ST 3230 и ST 3240, секция 224 поиска находит комбинацию импульсных положений, в которых значение функции C является наивысшим во всем поиске частей.Further, on ST 3230 and ST 3240, the search section 224 finds a combination of impulse positions in which the value of the function C is the highest in the whole part search.

Далее, на ST 3250, секция 224 поиска выбирает ii0, ii1, ii2 и ii3 как информацию положения импульсов. Также, значение последовательности pol представляет полярность (±1), и секция 224 поиска преобразует полярности p0, p1, p2 и p3 в 0 или 1 согласно следующему уравнению 9 и кодирует результаты посредством одного бита.Next, in ST 3250, the search section 224 selects ii0, ii1, ii2 and ii3 as pulse position information. Also, the sequence value pol represents the polarity (± 1), and the search section 224 converts the polarity p0, p1, p2 and p3 to 0 or 1 according to the following equation 9 and encodes the results in one bit.

p0=(pol[ichi0[ii0]]+1)/2p0 = (pol [ichi0 [ii0]] + 1) / 2

p1=(pol[ichi1[ii1]]+1)/2p1 = (pol [ichi1 [ii1]] + 1) / 2

p2=(pol[ichi2[ii2]]+1)/2p2 = (pol [ichi2 [ii2]] + 1) / 2

p3=(pol[ichi3[ii3]]+1)/2...(Уравнение 9)p3 = (pol [ichi3 [ii3]] + 1) / 2 ... (Equation 9)

Здесь, в качестве способа декодирования информации положения и полярностей, импульсные положения декодируют с использованием ichi0[ii0], ichi1[ii1], ichi2[ii2] и ichi3[ii3] и вектор фиксированной кодовой книги декодируют с использованием декодированных положений и полярностей.Here, as a method for decoding position and polarity information, pulse positions are decoded using ichi0 [ii0], ichi1 [ii1], ichi2 [ii2] and ichi3 [ii3] and the fixed codebook vector are decoded using decoded positions and polarities.

Как показано на фиг.5 и фиг.6, секция 224 поиска выполняет поиск частей для двух поднаборов, так что является возможным уменьшать величину вычислений значительно, по сравнению со случаем полного поиска. Чтобы быть более конкретными, в то время как обработку цикла выполняют 4096 (84) раз в полном поиске, согласно способу, показанному на фиг.5 и фиг.6, обработку цикла выполняют 64 (82) раза для поиска в каждых двух поднаборах. Дополнительно, согласно M[3][4] поиск частей для набора двух поднаборов выполняют три раза и, как результат, обработку цикла выполняют 384 (64×2 (поднаборов)×3) раза в целом. Это является одной десятой величины вычислений в случае полного поиска.As shown in FIGS. 5 and 6, the search section 224 searches for parts for two subsets, so it is possible to reduce the amount of computation significantly, compared to the case of a full search. To be more specific, while loop processing is performed 4096 (8 4 ) times in a full search, according to the method shown in FIG. 5 and FIG. 6, loop processing is performed 64 (8 2 ) times for a search in every two subsets . Additionally, according to M [3] [4], parts are searched for for a set of two subsets three times and, as a result, cycle processing is performed 384 (64 × 2 (subsets) × 3) times as a whole. This is one tenth of the calculation in the case of a full search.

Таким образом, согласно настоящему варианту осуществления выполняют поиск частей фиксированной кодовой книги, так что является возможным уменьшать величину вычислений, по сравнению со случаем выполнения полного поиска.Thus, according to the present embodiment, the parts of the fixed codebook are searched, so that it is possible to reduce the amount of computation compared to the case of performing a full search.

Дополнительно, согласно настоящему варианту осуществления, в поиске частей, при разделении импульсов, формирующих фиксированную кодовую книгу на поднабор, подлежащий поиску первым, и поднабор, подлежащий поиску далее, поднабор, подлежащий поиску первым, формируют с использованием импульса наивысшего максимального значения корреляции, так что является возможным подавлять искажение кодирования, вызванное поиском частей. То есть, даже в случае выполнения полного поиска, импульс в положении более высокого максимального значения корреляции скорей всего должен приниматься, так что является возможным подавлять искажение кодирования посредством предварительного поиска импульса в поиске частей.Further, according to the present embodiment, in the search for parts, when dividing the pulses forming the fixed codebook into a subset to be searched first, and a subset to be searched further, a subset to be searched first is generated using the pulse of the highest maximum correlation value, so that it is possible to suppress coding distortion caused by the search for parts. That is, even in the case of performing a full search, a pulse at a position of a higher maximum correlation value is most likely to be received, so that it is possible to suppress coding distortion by preliminary searching for a pulse in the part search.

Также, хотя выше был описан случай с настоящим вариантом осуществления, где количество импульсов - это четыре и количество разделений - это два, настоящее изобретение не зависит от количества импульсов или количества разделений, и, посредством определения порядка импульсов, подлежащих поиску на основе результата сортировки максимальных значений корреляции индивидуальных импульсов, является возможным обеспечивать такой же эффект, как настоящий вариант осуществления.Also, although the case of the present embodiment has been described above, where the number of pulses is four and the number of splits is two, the present invention does not depend on the number of pulses or the number of splits, and, by determining the order of pulses to be searched based on the result of sorting the maximum the correlation values of individual pulses, it is possible to provide the same effect as the present embodiment.

Также, выше с настоящим вариантом осуществления был описан иллюстративный случай, где секция 221 вычисления максимального значения корреляции вычисляет максимальное значение корреляции посредством добавления полумаксимального значения значения корреляции при предопределенном коэффициенте к максимальному значению значения корреляции на базисе на основе импульса. Однако настоящее изобретение не ограничено этим, и также равным образом возможно вычислять максимальные значения корреляции посредством добавления третьих наивысших значений корреляции при предопределенном коэффициенте к вышеописанным значениям в индивидуальных импульсах, или также равным образом возможно использовать максимальное значение среди значений корреляции индивидуальных импульсов, как для максимальных значений корреляции.Also, an exemplary case has been described above with the present embodiment, where the maximum correlation value calculation section 221 calculates the maximum correlation value by adding a half-maximum value of the correlation value at a predetermined coefficient to the maximum value of the correlation value on the basis of the pulse. However, the present invention is not limited to this, and it is equally possible to calculate the maximum correlation values by adding the third highest correlation values at a predetermined coefficient to the above values in individual pulses, or it is equally possible to use the maximum value among the correlation values of individual pulses, as for the maximum values correlations.

Также, хотя выше с настоящим вариантом осуществления был описан иллюстративный случай, где предполагаемые положения каждого импульса не выбирают предварительно, настоящее изобретение не ограничено этим, и является равным образом возможным выполнять сортировку после того, как предполагаемые положения каждого импульса выбирают предварительно. Посредством этого является возможным улучшать действенность сортировки.Also, although an illustrative case has been described above with the present embodiment, where the estimated positions of each pulse are not preselected, the present invention is not limited thereto, and it is equally possible to sort after the estimated positions of each pulse are preselected. Through this, it is possible to improve the efficiency of sorting.

Также, хотя выше с настоящим вариантом осуществления был описан иллюстративный случай, где алгебраическую кодовую книгу используют в качестве фиксированной кодовой книги, настоящее изобретение не ограничено этим, и является равным образом возможным использовать многоимпульсную кодовую книгу в качестве фиксированной кодовой книги. То есть является возможным реализовывать настоящий вариант осуществления с использованием информации положения и информации полярности множественных импульсов.Also, although an illustrative case where an algebraic codebook is used as a fixed codebook has been described above with the present embodiment, the present invention is not limited to this, and it is equally possible to use a multi-pulse codebook as a fixed codebook. That is, it is possible to implement the present embodiment using position information and polarity information of multiple pulses.

Также, хотя выше с настоящим вариантом осуществления был описан иллюстративный случай, где схему кодирования CELP используют в качестве схемы кодирования речи, настоящее изобретение не ограничено этим, и существенным требованием является принимать схему кодирования с использованием кодовой книги, которая хранит векторы возбуждения, где количество векторов возбуждения известно. Это из-за того, что поиск частей согласно настоящему изобретению выполняют только для поиска фиксированной кодовой книги, и не зависит от того, присутствует ли или нет адаптивная кодовая книга и является ли или нет способ анализа спектральной огибающей одним из LPC, FFT и блока фильтров.Also, although an illustrative case has been described with the present embodiment above where the CELP encoding scheme is used as a speech encoding scheme, the present invention is not limited to this, and an essential requirement is to adopt a codebook encoding scheme that stores drive vectors where the number of vectors excitation is known. This is because the search for parts according to the present invention is performed only to search for a fixed codebook, and does not depend on whether or not an adaptive codebook is present and whether or not the spectral envelope analysis method is one of the LPC, FFT and filter block .

Вариант 2 осуществленияOption 2 implementation

Вариант 2 осуществления настоящего изобретения является в основном таким же, как вариант 1 осуществления, и отличается от варианта 1 осуществления только в обработке сортировки в секции 222 сортировки (см. фиг.4). В последующем секции сортировки в этом настоящем варианте осуществления назначена ссылочная позиция "422" и помещена вместо секции 222 сортировки, и будет объяснена только обработка сортировки в секции 422 сортировки (не показана).Embodiment 2 of the present invention is basically the same as Embodiment 1, and differs from Embodiment 1 only in sorting processing in sorting section 222 (see FIG. 4). In the subsequent sorting section in this present embodiment, a reference position “422” is assigned and placed instead of the sorting section 222, and only sorting processing in the sorting section 422 (not shown) will be explained.

Фиг.7 - это блок-схема последовательности операций, показывающая этапы обработки сортировки максимального значения корреляции каждого импульса в секции 422 сортировки согласно настоящему варианту осуществления. Здесь, этапы, показанные на фиг.7, включают в себя в основном одни и те же этапы, как на фиг.4, и, следовательно, одним и тем же этапам будут назначены одни и те же ссылочные позиции и их описания будут пропущены.7 is a flowchart showing steps of sorting processing of a maximum correlation value of each pulse in sorting section 422 according to the present embodiment. Here, the steps shown in FIG. 7 include basically the same steps as in FIG. 4, and therefore, the same reference numbers will be assigned to the same steps and their descriptions will be omitted.

На ST 4040, секция 422 сортировки присваивает "0" импульсному номеру N[i], сбрасывает счетчик j, который считает количество циклов для поиска i-го максимального значения корреляции S[N[i]], в "0", сбрасывает переменную "max", хранящую максимальное значение, в "0" и присваивает "0" переменной L[i] для хранения i-го максимального значения корреляции S[N[i]].On ST 4040, the sorting section 422 assigns “0” to the pulse number N [i], resets the counter j, which counts the number of cycles to search for the i-th maximum correlation value S [N [i]], to “0”, resets the variable “ max ", which stores the maximum value, is in" 0 "and assigns" 0 "to the variable L [i] to store the ith maximum correlation value S [N [i]].

На ST 4090, секция 422 сортировки присваивает i-е максимальное значение корреляции S[N[i]] для L[i] и присваивает "-1" для S[N[i]]. Посредством этого i-е максимальное значение корреляции S[N[i]] хранят в L[i] и также исключено из цели обработки цикла для поиска (i+1)-го максимального значения корреляции S[N[i+1]].In ST 4090, the sorting section 422 assigns the ith maximum correlation value S [N [i]] for L [i] and assigns “-1” for S [N [i]]. Thereby, the ith maximum correlation value S [N [i]] is stored in L [i] and is also excluded from the loop processing purpose to search for the (i + 1) th maximum correlation value S [N [i + 1]].

Посредством обработки на ST 2010 по ST 4090, секция 422 сортировки сортирует максимальные значения корреляции S[0], S[1], S[2] и S[3] индивидуальных импульсов в убывающем порядке и получает N[i] и L[i], показывающие результат сортировки.By processing at ST 2010 to ST 4090, the sorting section 422 sorts the maximum correlation values S [0], S [1], S [2] and S [3] of individual pulses in descending order and receives N [i] and L [i ] showing the result of the sort.

На ST 4100, секция 422 сортировки определяет порядок поиска импульсов посредством группирования четырех импульсных чисел, N[i], соответствующих отсортированным максимальным значениям корреляции, в два шаблона разделения предопределенных поднаборов и выводит результирующий порядок поиска в секцию 224 поиска. То есть, до поиска частей фиксированной кодовой книги в секции 224 поиска, секция 422 сортировки определяет номера двух импульсов, подлежащих поиску первыми, и номера двух импульсов, подлежащих поиску далее. В секции 422 сортировки три предполагаемых шаблона порядка поиска устанавливают заранее. Здесь, отличие от секции 222 сортировки варианта 1 осуществления состоит в том, что, для третьего предполагаемого положения, порядок поиска определяют с использованием L[i], хранящего максимальные значения корреляции.At ST 4100, the sorting section 422 determines the pulse search order by grouping four pulse numbers, N [i], corresponding to the sorted maximum correlation values, into two separation patterns of the predefined subsets and outputs the resulting search order to the search section 224. That is, before searching for parts of the fixed codebook in the search section 224, the sorting section 422 determines the numbers of two pulses to be searched first and the numbers of two pulses to be searched further. In sorting section 422, three prospective search order patterns are set in advance. Here, the difference from the sorting section 222 of Embodiment 1 is that, for the third putative position, the search order is determined using L [i] storing the maximum correlation values.

Чтобы быть более конкретными, сначала секция 422 сортировки устанавливает два предполагаемых порядка поиска первого предполагаемого положения и второго предполагаемого положения, показанных в следующем уравнении 10, с использованием результата сортировки N[i]. То есть, как показано в уравнении 10, секция 422 сортировки включает в себя импульс наивысшего максимального значения корреляции в поднабор, подлежащий поиску первым, в первом предполагаемом положении и втором предполагаемом положении, тем самым, улучшая эффективность кодирования.To be more specific, the sorting section 422 first sets two prospective search orders for the first prospective position and the second prospective position shown in the following equation 10 using the sort result N [i]. That is, as shown in equation 10, the sorting section 422 includes a pulse of the highest maximum correlation value in the subset to be searched first, in the first putative position and second putative position, thereby improving coding efficiency.

{Первый поднабор}{First subset} {Второй поднабор}{Second subset} Первое предполагаемое
положение:
First prospective
position:
{N[0], N[1]}{N [0], N [1]} {N[2], N[3]}{N [2], N [3]}
Второе предполагаемое
положение:
Second alleged
position:
{N[0], N[2]}{N [0], N [2]} {N[3], N[1]}{N [3], N [1]} ...(Уравнение 10)... (Equation 10)

Далее секция 422 сортировки устанавливает третий предполагаемый порядок поиска с использованием результата сортировки N[i] и L[i] следующим образом. То есть секция 422 сортировки решает, равно или больше L[2]+L[3] чем (L[0]+L[1])×0,91, и если L[2]+L[3] равно или больше чем (L[0]+L[1])×0,91, принимает {N[2], N[3]} {N[0], N[1]} в качестве третьего предполагаемого положения. Если L[2]+L[3] меньше чем (L[0]+L[1])×0,91, секция 422 сортировки затем решает, равно или больше L[1]+L[3] чем (L[0]+L[2])×0,94. Если L[1]+L[3] равно или больше чем (L[0]+L[2])×0,94, секция 422 сортировки принимает {N[1], N[3]} {N[2], N[0]} в качестве третьего предполагаемого положения. Если L[1]+L[3] меньше чем (L[0]+L[2])×0,94, секция 422 сортировки затем решает, равно или больше L[0]+L[3] чем L[1]+L[2]. Если L[0]+L[3] равно или больше чем L[1]+L[2], секция 422 сортировки генерирует {N[0], N[3]} {N[1], N[2]} в качестве третьего предполагаемого положения или, если L[0]+L[3] меньше чем L[1]+L[2], принимает {N[1], N[2]} {N[3], N[0]} в качестве третьего предполагаемого положения.Next, the sorting section 422 sets the third prospective search order using the sorting result N [i] and L [i] as follows. That is, the sorting section 422 decides whether L [2] + L [3] is equal to or greater than (L [0] + L [1]) × 0.91, and if L [2] + L [3] is equal to or greater than (L [0] + L [1]) × 0.91, takes {N [2], N [3]} {N [0], N [1]} as the third assumed position. If L [2] + L [3] is less than (L [0] + L [1]) × 0.91, the sorting section 422 then decides if L [1] + L [3] is equal to or greater than (L [ 0] + L [2]) × 0.94. If L [1] + L [3] is equal to or greater than (L [0] + L [2]) × 0.94, sorting section 422 receives {N [1], N [3]} {N [2] , N [0]} as the third alleged position. If L [1] + L [3] is less than (L [0] + L [2]) × 0.94, the sorting section 422 then decides if L [0] + L [3] is equal to or greater than L [1 ] + L [2]. If L [0] + L [3] is equal to or greater than L [1] + L [2], sorting section 422 generates {N [0], N [3]} {N [1], N [2]} as the third proposed position, or if L [0] + L [3] is less than L [1] + L [2], takes {N [1], N [2]} {N [3], N [0 ]} as the third alleged provision.

При принятии третьего предполагаемого порядка поиска, когда различия между максимальными значениями корреляции импульсов являются маленькими, секция 422 сортировки формирует поднабор, подлежащий поиску первым, который не всегда включает в себя импульс наивысшего максимального значения корреляции, чтобы уменьшать избыточность поиска в последующей секции 224 поиска. То есть секция 442 сортировки формирует множество комбинаций максимальных значений корреляции индивидуальных импульсов на основе результата сортировки N[i] и группирует четыре импульса в два поднабора на основе результата сравнения множества сформированных комбинаций, умноженных на некоторый коэффициент.When adopting the third estimated search order, when the differences between the maximum pulse correlation values are small, the sorting section 422 generates a subset to be searched first, which does not always include the pulse of the highest maximum correlation value, in order to reduce the search redundancy in the subsequent search section 224. That is, sorting section 442 generates a plurality of combinations of maximum correlation values of individual pulses based on the sorting result N [i] and groups four pulses into two subsets based on a comparison result of the plurality of generated combinations multiplied by a certain coefficient.

Например, когда N[i]={2, 0, 3, 1} и L[i]={9,5, 9,0, 8,5, 8,0} найдены как результат сортировки, L[2]+L[3] меньше чем (L[0]+L[1])×0,91 и L[1]+L[3] больше или равно (L[0]+L[2])×0,94. Поэтому секция 422 сортировки принимает {N[1], N[3]} {N[2], N[0]} в качестве третьего предполагаемого положения.For example, when N [i] = {2, 0, 3, 1} and L [i] = {9.5, 9.0, 8.5, 8.0} are found as a result of sorting, L [2] + L [3] is less than (L [0] + L [1]) × 0.91 and L [1] + L [3] is greater than or equal to (L [0] + L [2]) × 0.94. Therefore, the sorting section 422 accepts {N [1], N [3]} {N [2], N [0]} as the third proposed position.

Когда N[i] представлены посредством конкретных значений, первое, второе и третье предполагаемые положения выражают в следующем уравнении 11.When N [i] is represented by specific values, the first, second, and third putative positions are expressed in the following equation 11.

{Первый поднабор}{First subset} {Второй поднабор}{Second subset} Первое предполагаемое
положение:
First prospective
position:
{2, 0}{twenty} {3, 1}{3, 1}
Второе предполагаемое
положение:
Second alleged
position:
{2, 3}{2, 3} {1, 0}{10}
Третье предполагаемое
положение:
Third alleged
position:
{0, 1}{0, 1} {3, 2}{3, 2} ...(Уравнение 11)... (Equation 11)

Три предполагаемых порядка поиска, показанные в уравнении 11, могут быть группированы в M[3][4], показанные в следующем уравнении 12.The three prospective search orders shown in equation 11 can be grouped in M [3] [4] shown in the following equation 12.

M[3][4]={{2,0,3,1},{2,3,1,0},{0,1,3,2}}...(Уравнение 12)M [3] [4] = {{2,0,3,1}, {2,3,1,0}, {0,1,3,2}} ... (Equation 12)

Секция 422 сортировки выводит M[3][4] в секцию 224 поиска как предполагаемые порядки поиска.Sorting section 422 outputs M [3] [4] to search section 224 as prospective search orders.

Таким образом, согласно настоящему варианту осуществления, при разделении импульсов, формирующих фиксированную кодовую книгу, на поднабор, подлежащий поиску первым, и поднабор, подлежащий поиску далее, в поиске частей, поднабор, подлежащий поиску первым, который не всегда включает в себя импульс наивысшего максимального значения корреляции, формируют на основе не только порядка максимальных значений корреляции индивидуальных импульсов, но также значений максимальных значений корреляции этих импульсов. Посредством этого является возможным уменьшать избыточность поиска в поиске частей.Thus, according to the present embodiment, when dividing the pulses forming the fixed codebook into a subset to be searched first and a subset to be searched further in the search for parts, a subset to be searched first that does not always include a pulse of the highest maximum correlation values are formed on the basis of not only the order of the maximum correlation values of individual pulses, but also the values of the maximum correlation values of these pulses. By this, it is possible to reduce search redundancy in the search for parts.

Также, хотя выше с настоящим вариантом осуществления был описан иллюстративный случай, где коэффициенты, такие как 0,91 и 0,94 используют, чтобы принимать третий предполагаемый порядок поиска, настоящее изобретение не ограничено этим и является равным образом возможным использовать другие коэффициенты, определенные статистически заранее.Also, although an illustrative case has been described above with the present embodiment, where coefficients such as 0.91 and 0.94 are used to take the third prospective search order, the present invention is not limited thereto and it is equally possible to use other coefficients determined statistically in advance.

Также, хотя выше с настоящим вариантом осуществления был описан иллюстративный случай, где L[i] дополнительно используют в дополнение к N[i], чтобы принимать третий предполагаемый порядок поиска, настоящее изобретение не ограничено этим, и является равным образом возможным использовать как N[i], так и L[i] даже в случае принятия первого предполагаемого порядка поиска или второго предполагаемого порядка поиска.Also, although an illustrative case has been described above with the present embodiment, where L [i] is additionally used in addition to N [i] to take a third prospective search order, the present invention is not limited to this, and it is equally possible to use as N [ i] and L [i] even if the first prospective search order or second prospective search order is adopted.

Вариант 3 осуществленияOption 3 implementation

Вариант 3 осуществления является в основном таким же, как вариант 1 осуществления, и отличается от варианта 1 осуществления только в том, что импульсы, сгруппированные в поднаборы, дополнительно переставляют согласно предопределенному порядку. То есть настоящий вариант осуществления отличается от варианта 1 осуществления только в части обработки сортировки, показанной на фиг.4. В последующем секции сортировки в этом настоящем варианте осуществления назначена ссылочная позиция "522" и она помещена вместо секции 222 сортировки, и будет объяснена только обработка сортировки в секции 522 сортировки (не показана).Embodiment 3 is basically the same as Embodiment 1, and differs from Embodiment 1 only in that the pulses grouped into subsets are further rearranged according to a predetermined order. That is, the present embodiment differs from Embodiment 1 only in the sorting processing part shown in FIG. 4. In the subsequent sorting section in this present embodiment, the reference numeral “522” is assigned and placed instead of the sorting section 222, and only sorting processing in the sorting section 522 (not shown) will be explained.

Фиг.8 - это блок-схема последовательности операций, показывающая этапы обработки сортировки максимальных значений корреляции индивидуальных импульсов в секции 522 сортировки согласно настоящему варианту осуществления. Здесь, этапы, показанные на фиг.8, включают в себя в основном такие же этапы, как на фиг.4, и, следовательно, таким же этапам будут назначены такие же ссылочные позиции и их описания будут опущены.FIG. 8 is a flowchart showing steps of sorting processing of maximum correlation values of individual pulses in sorting section 522 according to the present embodiment. Here, the steps shown in FIG. 8 include basically the same steps as in FIG. 4, and therefore, the same steps will be assigned the same reference numbers and descriptions thereof will be omitted.

На ST 5100 на фиг.8, хотя секция 522 сортировки выполняет в основном такую же обработку, как обработка на ST 2100 на фиг.4, выполняемая секцией 222 сортировки согласно варианту 1 осуществления, секция 522 сортировки отличается от секции 222 сортировки в том, что нет вывода результирующего M[3][4], как такового, и в выводе его в секцию 224 поиска после последующей обработки на ST 5110 вместо этого.In ST 5100 of FIG. 8, although sorting section 522 performs basically the same processing as processing in ST 2100 of FIG. 4 performed by sorting section 222 according to Embodiment 1, sorting section 522 is different from sorting section 222 in that there is no output of the resulting M [3] [4] as such, and its output to the search section 224 after subsequent processing on ST 5110 instead.

На ST 5110, секция 522 сортировки формирует M'[6][2] посредством группирования элементов, включенных в M[3][4], в пары двух импульсов и выполняет регулировку перестановки порядка двух импульсов, включенных в M'[6][2], в один из {0, 1}, {1, 2}, {2, 3}, {3, 0}, {0, 2} и {1, 3}.In ST 5110, the sorting section 522 generates M '[6] [2] by grouping the elements included in M [3] [4] into pairs of two pulses and adjusts the permutation order of the two pulses included in M' [6] [ 2], into one of {0, 1}, {1, 2}, {2, 3}, {3, 0}, {0, 2} and {1, 3}.

Фиг.9 - это блок-схема последовательности операций, показывающая этапы в секции 522 сортировки на ST 5110, показанном на фиг.8.FIG. 9 is a flowchart showing steps in the sorting section 522 of ST 5110 shown in FIG.

Сначала, на ST 6010, секция 522 сортировки инициализирует переменную "i" в "0".First, in ST 6010, the sorting section 522 initializes the variable “i” to “0”.

Далее, на ST 6020, секция 522 сортировки решает, равно ли "i" "6".Next, in ST 6020, the sorting section 522 decides whether the “i” is equal to “6”.

Если решено на ST 6020, что "i" равно "6" ("Да" на ST 6020), секция 522 сортировки заканчивает обработку, показанную на фиг.9 (т.е. обработку на ST 5110).If it is decided at ST 6020 that “i” is “6” (“Yes” at ST 6020), the sorting section 522 ends the processing shown in FIG. 9 (i.e., processing at ST 5110).

В отличие от этого, если решено на ST 6020, что "i" не равно "6" ("Нет" на ST 6020), секция 522 сортировки переводит этап на ST 6030.In contrast, if it is decided on ST 6020 that “i” is not equal to “6” (“No” on ST 6020), the sorting section 522 transfers the step to ST 6030.

На ST 6030, секция 522 сортировки решает, истинно ли, что M'[i][1]="2" и M'[i][2]="1".At ST 6030, the sorting section 522 decides whether it is true that M '[i] [1] = "2" and M' [i] [2] = "1".

Если решено на ST 6030, что M'[i][1]="2" и M'[i][2]="1" ("Да" на ST 6030), секция 522 сортировки устанавливает M'[i][1] в "1" и M'[i][2] в "2" на ST 6040 и переводит этап на ST 6150.If it is decided on ST 6030 that M '[i] [1] = "2" and M' [i] [2] = "1" ("Yes" on ST 6030), sorting section 522 sets M '[i] [1] to “1” and M '[i] [2] to “2” on ST 6040 and transfers the step to ST 6150.

В отличие от этого, если решено на ST 6030, что два условия M'[i][1]="2" и M'[i][2]="1" не встречаются в одно и то же время ("Нет" на ST 6030), секция 522 сортировки переводит этап на ST 6050.In contrast, if it is decided on ST 6030 that the two conditions M '[i] [1] = "2" and M' [i] [2] = "1" do not occur at the same time ("No "at ST 6030), sorting section 522 transfers the step to ST 6050.

На ST 6050, секция 522 сортировки решает, истинно ли, что M'[i][1]="3" и M'[i][2]="2".In ST 6050, the sorting section 522 decides whether it is true that M '[i] [1] = "3" and M' [i] [2] = "2".

Если решено на ST 6050, что M'[i][1]="3" и M'[i][2]="2" ("Да" на ST 6050), секция 522 сортировки устанавливает M'[i][1] в "2" и M'[i][2] в "3" на ST 6060 и переводит этап на ST 6150.If it is decided on ST 6050 that M '[i] [1] = "3" and M' [i] [2] = "2" ("Yes" on ST 6050), sorting section 522 sets M '[i] [1] to “2” and M '[i] [2] to “3” on ST 6060 and transfers the step to ST 6150.

В отличие от этого, если решено на ST 6050, что два условия M'[i][1]="3" и M'[i][2]="2" не удовлетворены в одно и то же время ("Нет" на ST 6050), секция 522 сортировки переводит этап на ST 6070.In contrast, if it is decided on ST 6050 that the two conditions M '[i] [1] = "3" and M' [i] [2] = "2" are not satisfied at the same time ("No "at ST 6050), sorting section 522 transfers the step to ST 6070.

На ST 6070, секция 522 сортировки решает, истинно ли, что M'[i][1]="4" и M'[i][2]="3".In ST 6070, the sorting section 522 decides whether it is true that M '[i] [1] = "4" and M' [i] [2] = "3".

Если решено на ST 6070, что M'[i][1]="4" и M'[i][2]="3" ("Да" на ST 6070), секция 522 сортировки устанавливает M'[i][1] в "3" и M'[i][2] в "4" на ST 6080 и переводит этап на ST 6150.If it is decided on ST 6070 that M '[i] [1] = "4" and M' [i] [2] = "3" ("Yes" on ST 6070), the sorting section 522 sets M '[i] [1] to “3” and M '[i] [2] to “4” on ST 6080 and transfers the step to ST 6150.

В отличие от этого, если решено на ST 6070, что два условия M'[i][1]="4" и M'[i][2]="3" не удовлетворены в одно и то же время ("Нет" на ST 6070), секция 522 сортировки переводит этап на ST 6090.In contrast, if it is decided on ST 6070 that the two conditions M '[i] [1] = "4" and M' [i] [2] = "3" are not satisfied at the same time ("No "at ST 6070), sorting section 522 transfers the step to ST 6090.

На ST 6090, секция 522 сортировки решает, истинно ли, что M'[i][1]="1" и M'[i][2]="4".At ST 6090, the sorting section 522 decides whether it is true that M '[i] [1] = "1" and M' [i] [2] = "4".

Если решено на ST 6090, что M'[i][1]="1" и M'[i][2]="4" ("Да" на ST 6090), секция 522 сортировки устанавливает M'[i][1] на "4" и M'[i][2] на "1" на ST 6100 и переводит этап на ST 6150.If it is decided on ST 6090 that M '[i] [1] = "1" and M' [i] [2] = "4" ("Yes" on ST 6090), sorting section 522 sets M '[i] [1] to “4” and M '[i] [2] to “1” to ST 6100 and transfers the step to ST 6150.

В отличие от этого, если решено на ST 6090, что два условия M'[i][1]="1" и M'[i][2]="4" не удовлетворены в одно и то же время ("Нет" на ST 6090), секция 522 сортировки переводит этап на ST 6110.In contrast, if it is decided on ST 6090 that the two conditions M '[i] [1] = "1" and M' [i] [2] = "4" are not satisfied at the same time ("No "at ST 6090), sorting section 522 transfers the step to ST 6110.

На ST 6110, секция 522 сортировки решает, истинно ли, что M'[i][1]="3" и M'[i][2]="1".In ST 6110, the sorting section 522 decides whether it is true that M '[i] [1] = "3" and M' [i] [2] = "1".

Если решено на ST 6110, что M'[i][1]="3" и M'[i][2]="1" ("Да" на ST 6110), секция 522 сортировки устанавливает M'[i][1] в "1" и M'[i][2] в "3" на ST 6120 и переводит этап на ST 6150.If it is decided on ST 6110 that M '[i] [1] = "3" and M' [i] [2] = "1" ("Yes" on ST 6110), sorting section 522 sets M '[i] [1] to “1” and M '[i] [2] to “3” on ST 6120 and transfers the step to ST 6150.

В отличие от этого, если решено на ST 6110, что два условия M'[i][1]="3" и M'[i][2]="1" не удовлетворены в одно и то же время ("Нет" на ST 6110), секция 522 сортировки переводит этап на ST 6130.In contrast, if it is decided on ST 6110 that the two conditions M '[i] [1] = "3" and M' [i] [2] = "1" are not satisfied at the same time ("No "at ST 6110), sorting section 522 transfers the step to ST 6130.

На ST 6130, секция 522 сортировки решает, истинно ли, что M'[i][1]="4" и M'[i][2]="2".In ST 6130, the sorting section 522 decides whether M '[i] [1] = "4" and M' [i] [2] = "2" is true.

Если решено на ST 6130, что M'[i][1]="4" и M'[i][2]="2" ("Да" на ST 6130), секция 522 сортировки устанавливает M'[i][1] на "2" и M'[i][2] на "4" на ST 6140 и переводит этап на ST 6150.If it is decided on ST 6130 that M '[i] [1] = "4" and M' [i] [2] = "2" ("Yes" on ST 6130), sorting section 522 sets M '[i] [1] to “2” and M '[i] [2] to “4” to ST 6140 and transfers the step to ST 6150.

В отличие от этого, если решено на ST 6130, что два условия M'[i][1]="4" и M'[i][2]="2" не удовлетворены в одно и то же время ("Нет" на ST 6130), секция 522 сортировки переводит этап на ST 6150.In contrast, if it is decided on ST 6130 that the two conditions M '[i] [1] = "4" and M' [i] [2] = "2" are not satisfied at the same time ("No "at ST 6130), sorting section 522 transfers the step to ST 6150.

На ST 6150, секция 522 сортировки увеличивает "i" на единицу и переводит этап на ST 6020.In ST 6150, sorting section 522 increments “i” by one and transfers the step to ST 6020.

Например, если секция 522 сортировки формирует M'[6][2]={{2, 0}, {3, 1}, {2, 3}, {1, 0}, {2, 1}, {0, 3}} с использованием M[3][4]={{2, 0, 3, 1}, {2, 3, 1, 0}, {2, 1, 0, 3}} и дополнительно регулирует порядок пар двух импульсов, включенных в M'[6][2], согласно этапам, показанным на фиг.9, находится M'[6][2]={{0, 2}, {1, 3}, {2, 3}, {0, 1}, {1, 2}, {3, 0}}. Дополнительно, секция 522 сортировки формирует M[3][4]={{0, 2, 1, 3}, {2, 3, 0, 1}, {1, 2, 3, 0}} снова с использованием M'[6][2]={{0, 2}, {1, 3}, {2, 3}, {0, 1}, {1, 2}, {3, 0}}, полученного посредством регулировки, и выводит его в секцию 224 поиска.For example, if the sorting section 522 generates M '[6] [2] = {{2, 0}, {3, 1}, {2, 3}, {1, 0}, {2, 1}, {0, 3}} using M [3] [4] = {{2, 0, 3, 1}, {2, 3, 1, 0}, {2, 1, 0, 3}} and further adjusts the order of the pairs of two pulses included in M '[6] [2], according to the steps shown in Fig.9, is M' [6] [2] = {{0, 2}, {1, 3}, {2, 3} , {0, 1}, {1, 2}, {3, 0}}. Additionally, sorting section 522 generates M [3] [4] = {{0, 2, 1, 3}, {2, 3, 0, 1}, {1, 2, 3, 0}} again using M ' [6] [2] = {{0, 2}, {1, 3}, {2, 3}, {0, 1}, {1, 2}, {3, 0}} obtained by adjusting, and displays it in a search section 224.

Ниже будет описан эффект обработки регулировки в секции 522 сортировки, показанной на фиг.9.The effect of the adjustment processing in the sorting section 522 shown in FIG. 9 will be described below.

Поиск импульсов, формирующих фиксированную кодовую книгу, выполнен посредством поиска импульсных положений и полярностей, посредством которых функция C в вышеописанном уравнении 4 максимизирована. Поэтому, при поиске, необходима память (RAM: оперативное запоминающее устройство) для матрицы HH члена знаменателя в уравнении 4. Например, когда длина вектора возбуждения - 32, необходима память, которая поддерживает половину 32×32 матрицы, включая в себя диагональный вектор. То есть необходима память из (32×32/2+16) байтов=528 байтов. Здесь необходима память, которая поддерживает полную матрицу (32×32 байтов=1024 байтов), чтобы уменьшать величину вычислений, требуемую, чтобы осуществлять доступ к назначенному индексу при вычислении, и, следовательно, необходима более большая память.The search for the pulses forming the fixed codebook is performed by searching for the pulse positions and polarities by which the function C in the above equation 4 is maximized. Therefore, when searching, you need a memory (RAM: random access memory) for the matrix HH of the denominator in equation 4. For example, when the excitation vector is 32, a memory is needed that supports half the 32 × 32 matrix, including the diagonal vector. That is, a memory of (32 × 32/2 + 16) bytes = 528 bytes is needed. Here, a memory is needed that supports the full matrix (32 × 32 bytes = 1024 bytes) in order to reduce the amount of computation required to access the assigned index when calculating, and therefore a larger memory is needed.

По сравнению с этим, как настоящее изобретение, посредством предварительного разделения импульсов, формирующих фиксированную кодовую книгу на пары поднабора, подлежащего поиску первым, и поднабора, подлежащего поиску далее, и посредством поиска импульсов в базисе на основе пары, требуется только матрица 8×8 (квадрат количества вхождений на пару), так что является возможным сохранять емкость памяти до 8×8×6=384 байтов. В этом случае эта матрица не является симметрической матрицей, и, следовательно, матрица изменяется, если порядок импульсных чисел обращают. Как результат, является необходимым дополнительно подготавливать обратную матрицу (что удваивает емкость памяти), изменять способ доступа при поиске (что увеличивает величину вычислений) или подготавливать программу на основе комбинации пары (что увеличивает емкость памяти и величины вычислений). Поэтому настоящий вариант осуществления переставляет порядок импульсов при поиске на основе пары и ограничивает полный поиск до шести пар. Посредством этого является возможным ограничивать емкость памяти, требуемую для импульсного поиска, до 384 байтов, как выше, и уменьшать объем вычислений.In comparison with this, as the present invention, by preliminary dividing the pulses forming the fixed codebook into pairs of the subset to be searched first and the subset to be searched further, and by searching for pulses in the basis based on the pair, only an 8 × 8 matrix is required ( square of the number of entries per pair), so it is possible to save memory capacity up to 8 × 8 × 6 = 384 bytes. In this case, this matrix is not a symmetric matrix, and therefore, the matrix changes if the order of the momentum numbers is reversed. As a result, it is necessary to additionally prepare the inverse matrix (which doubles the memory capacity), change the access method during the search (which increases the amount of computation) or prepare the program based on a combination of a pair (which increases the memory capacity and the computation amount). Therefore, the present embodiment permutes the order of the pulses in a pair-based search and limits the full search to six pairs. By this means, it is possible to limit the memory capacity required for a pulse search to 384 bytes, as above, and to reduce the amount of computation.

Таким образом, согласно настоящему варианту осуществления, при группированиях импульсов, формирующих фиксированную кодовую книгу, в пары, импульсы, подлежащие группированию, переставляют в предопределенном порядке и ищут в базисе на основе пары, так что является возможным уменьшать емкость памяти и величины вычислений, которые требуются для поиска фиксированной кодовой книги.Thus, according to the present embodiment, when grouping the pulses forming the fixed codebook into pairs, the pulses to be grouped are rearranged in a predetermined order and searched in the basis based on the pair, so that it is possible to reduce the memory capacity and the amount of computation that are required to search for a fixed codebook.

Также, хотя выше с настоящим вариантом осуществления был описан иллюстративный случай, где пары импульсов, подлежащие поиску, ограничены до шести шаблонов {0, 1}, {1, 2}, {2, 3}, {3, 0}, {0, 2} и {1, 3}, настоящее изобретение не ограничено этим, и является равным образом возможным обращать порядок импульсов, включенных в вышеописанные пары, что не изменяет среднюю эффективность поиска импульса.Also, although an illustrative case has been described above with the present embodiment, the pulse pairs to be searched are limited to six patterns {0, 1}, {1, 2}, {2, 3}, {3, 0}, {0 , 2} and {1, 3}, the present invention is not limited to this, and it is equally possible to reverse the order of the pulses included in the above pairs, which does not change the average search efficiency of the pulse.

Варианты осуществления настоящего изобретения были описаны выше.Embodiments of the present invention have been described above.

Также, фиксированная кодовая книга согласно вышеописанным вариантам осуществления может указываться как "шумовая кодовая книга", "стохастическая кодовая книга" или "случайная кодовая книга".Also, a fixed codebook according to the above described embodiments may be referred to as a “noise codebook”, “stochastic codebook” or “random codebook”.

Также, адаптивная кодовая книга может указываться как "адаптивная кодовая книга возбуждения", и фиксированная кодовая книга может указываться как "фиксированная кодовая книга возбуждения".Also, an adaptive codebook may be indicated as an “adaptive excitation codebook”, and a fixed codebook may be indicated as a “fixed excitation codebook”.

Также, LSP может указываться как "LSF (линейная спектральная частота)", и LSF может быть заменена LSP. Также, хотя является возможным случай, где пары ISP (иммитансные спектральные пары) кодируют как спектральные параметры вместо LSP, в этом случае, посредством подстановки ISP вместо LSP, является возможным реализовывать вышеописанные варианты осуществления как устройство кодирования ISP.Also, the LSP may be indicated as “LSF (linear spectral frequency)”, and the LSF may be replaced by the LSP. Also, although it is possible that the ISP pairs (immittance spectral pairs) are encoded as spectral parameters instead of the LSP, in this case, by substituting the ISP instead of the LSP, it is possible to implement the above embodiments as an ISP encoding device.

Хотя выше был описан случай с вышеописанными вариантами осуществления в качестве примера, где настоящее изобретение реализовано средствами аппаратного обеспечения, настоящее изобретение может быть реализовано средствами программного обеспечения.Although the case of the above-described embodiments has been described above as an example where the present invention is implemented by hardware, the present invention can be implemented by software.

Дополнительно, каждый функциональный блок, примененный в описании каждого из вышеупомянутых вариантов осуществления, может обычно быть реализован как LSI, реализованный в виде интегральной схемы. Они могут быть отдельными микросхемами или частично или полностью содержаться на одиночной микросхеме. Здесь принято "LSI", но это может также быть указано как "IC", "система LSI", "супер LSI" или "ультра LSI" в зависимости от отличающихся степеней интеграции.Additionally, each function block used in the description of each of the above embodiments may typically be implemented as an LSI implemented as an integrated circuit. They can be separate microcircuits or partially or completely contained on a single microcircuit. “LSI” is accepted here, but it may also be indicated as “IC”, “LSI system”, “super LSI” or “ultra LSI” depending on the varying degrees of integration.

Дополнительно, способ схемной интеграции не ограничен LSI, и также является возможным вариант осуществления с использованием выделенных схем или процессоров общего назначения. После производства LSI, использование FPGA (программируемой пользователем вентильной матрицы) или процессора с перестраиваемой конфигурацией, где соединения и настройки схемных ячеек в LSI могут быть реконфигурированы, является также возможным.Additionally, the circuit integration method is not limited to LSI, and an embodiment using dedicated circuits or general purpose processors is also possible. After the production of LSI, the use of an FPGA (Field Programmable Gate Array) or a processor with a configurable configuration where the connections and settings of the circuit cells in LSI can be reconfigured is also possible.

Дополнительно, если выйдет технология интегральных схем, чтобы заменить LSI как результат развития полупроводниковой технологии или производной другой технологии, является естественно также возможным выполнять интеграцию функциональных блоков с использованием этой технологии. Применение биотехнологии также является возможным.Additionally, if integrated circuit technology comes out to replace LSI as a result of the development of a semiconductor technology or a derivative of another technology, it is naturally also possible to integrate function blocks using this technology. The use of biotechnology is also possible.

Раскрытия японской патентной заявки номер 2007-196782, поданной 27 июля 2007, японской патентной заявки номер 2007-260426, поданной 3 октября 2007, и японской патентной заявки номер 2008-007418, поданной 16 января 2008, включая описания, чертежи и рефераты, включены сюда по ссылке в их полноте.Disclosures of Japanese Patent Application No. 2007-196782, filed July 27, 2007, Japanese Patent Application No. 2007-260426, filed October 3, 2007, and Japanese Patent Application No. 2008-007418, filed January 16, 2008, including descriptions, drawings and abstracts, are included here. link in their entirety.

Промышленная применимостьIndustrial applicability

Устройство кодирования речи и способ кодирования речи согласно настоящему изобретению обеспечивают возможность кодирования речи посредством фиксированной кодовой книги с эффективным использованием битов и являются применимыми к, например, мобильным телефонам в системе мобильной связи.The speech encoding device and the speech encoding method according to the present invention provide the ability to encode speech using a fixed codebook with efficient use of bits and are applicable, for example, to mobile phones in a mobile communication system.

Claims (9)

1. Устройство кодирования речи, содержащее:
секцию вычисления, которая вычисляет значения корреляции в предполагаемых положениях импульсов с использованием целевого сигнала и множества импульсов, формирующих фиксированную кодовую книгу, и вычисляет на базисе на основе импульса репрезентативные значения импульсов с использованием максимальных значений значений корреляции;
секцию сортировки, которая сортирует репрезентативные значения, полученные на базисе на основе импульса, группирует импульсы, соответствующие отсортированным репрезентативным значениям, в множество предопределенных поднаборов и определяет первый поднабор, подлежащий поиску первым, среди множества поднаборов и
секцию поиска, которая осуществляет поиск фиксированной кодовой книги с использованием первого поднабора и получает показывающие код позиции и полярности множества импульсов для минимизации искажения кодирования.
1. A speech encoding device comprising:
a calculation section that calculates the correlation values at the estimated pulse positions using the target signal and a plurality of pulses forming a fixed codebook, and calculates representative pulse values using the maximum correlation values based on the pulse;
a sorting section that sorts representative values obtained on the basis of the momentum, groups the impulses corresponding to the sorted representative values into a plurality of predetermined subsets, and determines a first subset to be searched first among a plurality of subsets and
a search section that searches for a fixed codebook using the first subset and receives a code indicating the position and polarity of the plurality of pulses to minimize coding distortion.
2. Устройство кодирования речи по п.1, в котором:
секция вычисления вычисляет максимальные значения корреляции импульсов, вычисленных с использованием максимальных значений значений корреляции импульсов как репрезентативные значения и
секция сортировки сортирует максимальные значения корреляции.
2. The speech encoding device according to claim 1, in which:
the calculation section calculates the maximum values of the correlation of pulses calculated using the maximum values of the values of the correlation of pulses as representative values and
the sorting section sorts the maximum correlation values.
3. Устройство кодирования речи по п.1, в котором секция сортировки устанавливает поднабор, включающий в себя импульс, соответствующий наивысшему репрезентативному значению среди репрезентативных значений, полученных на базисе на основе импульса, в качестве первого поднабора.3. The speech encoding device according to claim 1, wherein the sorting section sets a subset including a pulse corresponding to the highest representative value among the representative values obtained on the basis of the pulse as the first subset. 4. Устройство кодирования речи по п.1, в котором:
секция сортировки группирует импульсы, соответствующие отсортированным репрезентативным значениям, в множество комбинаций из множества предопределенных поднаборов и определяет первые поднаборы в множестве комбинаций соответственно и
секция поиска осуществляет поиск фиксированной кодовой книги с использованием первых поднаборов и получает код, чтобы минимизировать искажение кодирования.
4. The speech encoding device according to claim 1, in which:
the sorting section groups the pulses corresponding to the sorted representative values into a plurality of combinations of a plurality of predetermined subsets and determines the first subsets in a plurality of combinations, respectively, and
the search section searches for a fixed codebook using the first subsets and obtains a code to minimize coding distortion.
5. Устройство кодирования речи по п.2, в котором секция вычисления вычисляет максимальное значение корреляции каждого импульса посредством добавления второго наивысшего значения корреляции, умноженного на предопределенный коэффициент, к максимальному значению значения корреляции на базисе на основе импульса.5. The speech encoding device according to claim 2, wherein the calculation section calculates the maximum correlation value of each pulse by adding the second highest correlation value multiplied by a predetermined coefficient to the maximum value of the correlation value on the basis of the pulse. 6. Устройство кодирования речи по п.1, в котором секция сортировки определяет первый поднабор с использованием репрезентативных значений, соответствующих сгруппированным импульсам.6. The speech encoding device according to claim 1, wherein the sorting section determines a first subset using representative values corresponding to the grouped pulses. 7. Устройство кодирования речи по п.1, в котором секция сортировки генерирует множество комбинаций репрезентативных значений, соответствующих сгруппированным импульсам, и определяет первый поднабор на основе результата сравнения комбинаций, умноженных на предопределенное значение.7. The speech encoding device according to claim 1, wherein the sorting section generates a plurality of combinations of representative values corresponding to the grouped pulses, and determines a first subset based on a comparison result of the combinations multiplied by a predetermined value. 8. Устройство кодирования речи по п.1, в котором секция сортировки переставляет импульсы, подлежащие группировке во множество поднаборов, в предопределенном порядке.8. The speech encoding device according to claim 1, wherein the sorting section permutes the pulses to be grouped into a plurality of subsets in a predetermined order. 9. Способ кодирования речи, содержащий этапы:
вычисления значений корреляции в предполагаемых положениях импульсов с использованием целевого сигнала и множества импульсов, формирующих фиксированную кодовую книгу, и вычисления на базисе на основе импульса репрезентативных значений импульсов с использованием максимальных значений значений корреляции;
сортировки репрезентативных значений, полученных на базисе на основе импульса, группировке импульсов, соответствующих отсортированным репрезентативным значениям, в множество предопределенных поднаборов и определения первого поднабора, подлежащего поиску первым, среди множества поднаборов; и
поиска фиксированной кодовой книги с использованием первого поднабора и генерирования показывающих код позиций и полярностей множества импульсов для минимизации искажения кодирования.
9. A method for encoding speech, comprising the steps of:
calculating the correlation values at the estimated positions of the pulses using the target signal and the set of pulses forming a fixed codebook, and calculating on the basis of the pulse representative values of the pulses using the maximum values of the correlation;
sorting representative values obtained on a basis based on the momentum, grouping the impulses corresponding to the sorted representative values into a plurality of predetermined subsets and determining a first subset to be searched first among the plurality of subsets; and
searching for a fixed codebook using a first subset and generating code-indicating positions and polarities of a plurality of pulses to minimize coding distortion.
RU2010102521/08A 2007-07-27 2008-07-25 Audio encoding apparatus and audio encoding method RU2458413C2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2007196782 2007-07-27
JP2007-196782 2007-07-27
JP2007260426 2007-10-03
JP2007-260426 2007-10-03
JP2008-007418 2008-01-16

Publications (2)

Publication Number Publication Date
RU2010102521A RU2010102521A (en) 2011-08-10
RU2458413C2 true RU2458413C2 (en) 2012-08-10

Family

ID=44753977

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010102521/08A RU2458413C2 (en) 2007-07-27 2008-07-25 Audio encoding apparatus and audio encoding method

Country Status (1)

Country Link
RU (1) RU2458413C2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2175454C2 (en) * 1995-03-10 2001-10-27 Юниверситэ де Шербрук Depth-first search by algebraic encoding book for fast coding of speech
EP1677287A1 (en) * 2004-12-31 2006-07-05 STMicroelectronics Asia Pacific Pte Ltd. A system and method for supporting dual speech codecs
KR20070061330A (en) * 2005-12-08 2007-06-13 한국전자통신연구원 Fixed codebook search method through iteration-free global pulse replacement and speech coder using the same method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2175454C2 (en) * 1995-03-10 2001-10-27 Юниверситэ де Шербрук Depth-first search by algebraic encoding book for fast coding of speech
EP1677287A1 (en) * 2004-12-31 2006-07-05 STMicroelectronics Asia Pacific Pte Ltd. A system and method for supporting dual speech codecs
KR20070061330A (en) * 2005-12-08 2007-06-13 한국전자통신연구원 Fixed codebook search method through iteration-free global pulse replacement and speech coder using the same method

Also Published As

Publication number Publication date
RU2010102521A (en) 2011-08-10

Similar Documents

Publication Publication Date Title
EP0443548B1 (en) Speech coder
US8306007B2 (en) Vector quantizer, vector inverse quantizer, and methods therefor
JP3114197B2 (en) Voice parameter coding method
JPH1097298A (en) Vector quantizing method, method and device for voice coding
KR100194775B1 (en) Vector quantizer
JPH1097300A (en) Vector quantizing method, method and device for voice coding
AU2008283697B2 (en) Audio encoding device and audio encoding method
KR101691549B1 (en) An Apparatus for Encoding a Speech Signal employing ACELP in the Autocorrelation Domain
JP5687706B2 (en) Quantization apparatus and quantization method
RU2458413C2 (en) Audio encoding apparatus and audio encoding method
JP6644848B2 (en) Vector quantization device, speech encoding device, vector quantization method, and speech encoding method
US20090240494A1 (en) Voice encoding device and voice encoding method
EP2116996A1 (en) Encoding device and encoding method
US20090164211A1 (en) Speech encoding apparatus and speech encoding method
JP6001451B2 (en) Encoding apparatus and encoding method
JP3428595B2 (en) Audio coding method
JPH05197399A (en) Vector quantizing system
JPH1097299A (en) Vector quantizing method, method and device for voice coding, and voice decoding method
JPH09269800A (en) Video coding device
TW201329960A (en) Quantization device and quantization method

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150206

MM4A The patent is invalid due to non-payment of fees

Effective date: 20170726