KR20010084468A - High speed search method for LSP quantizer of vocoder - Google Patents
High speed search method for LSP quantizer of vocoder Download PDFInfo
- Publication number
- KR20010084468A KR20010084468A KR1020000009519A KR20000009519A KR20010084468A KR 20010084468 A KR20010084468 A KR 20010084468A KR 1020000009519 A KR1020000009519 A KR 1020000009519A KR 20000009519 A KR20000009519 A KR 20000009519A KR 20010084468 A KR20010084468 A KR 20010084468A
- Authority
- KR
- South Korea
- Prior art keywords
- codebook
- vector
- column
- search
- determining
- Prior art date
Links
Classifications
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01G—HORTICULTURE; CULTIVATION OF VEGETABLES, FLOWERS, RICE, FRUIT, VINES, HOPS OR SEAWEED; FORESTRY; WATERING
- A01G13/00—Protecting plants
- A01G13/02—Protective coverings for plants; Coverings for the ground; Devices for laying-out or removing coverings
- A01G13/0237—Devices for protecting a specific part of a plant, e.g. roots, trunk or fruits
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65D—CONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
- B65D85/00—Containers, packaging elements or packages, specially adapted for particular articles or materials
- B65D85/30—Containers, packaging elements or packages, specially adapted for particular articles or materials for articles particularly sensitive to damage by shock or pressure
- B65D85/34—Containers, packaging elements or packages, specially adapted for particular articles or materials for articles particularly sensitive to damage by shock or pressure for fruit, e.g. apples, oranges or tomatoes
- B65D85/345—Containers, packaging elements or packages, specially adapted for particular articles or materials for articles particularly sensitive to damage by shock or pressure for fruit, e.g. apples, oranges or tomatoes having a meshed or apertured closure to allow contents to breathe
Landscapes
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Environmental Sciences (AREA)
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
본 발명은 멀티미디어 및 이동통신 시스템 성능(음질)을 나타내는 핵심 기술인 음성 부호화 기술에서 수행되어야 할 우선 과제는 연속적인 음성 신호를 디지털 형태로 효율적으로 부호화하는 음성 정보의 부호화 및 전송해야 하는 음성 정보를 성능 저하 없이 데이터 양을 줄이는 압축 문제에 관한 것으로, 멀티미디어 서비스들 중에서 음성 신호를 저전송율로 압축할 때 사용하는 음성 부호화기의 라인 스펙트럴 페어(line spectral pairs)계수의 스플릿 벡터 양자화 시 계산량이 많은 코드북 탐색 과정에서 라인 스펙트럴 주파수(LSF) 계수의 순서 성질을 이용하여 탐색 대상 코드북의 크기를 줄여 SD성능 감쇄없이 전체적인 계산량을 줄일 수 있는 고속 탐색 알고리즘에 관한 것이다.SUMMARY OF THE INVENTION The present invention has to be carried out in a speech coding technique, which is a core technology representing multimedia and mobile communication system performance (sound quality). The present invention is to encode and transmit speech information that efficiently encodes a continuous speech signal in a digital form. A compression problem that reduces data volume without deterioration. Searches a high computational codebook when split vector quantization of line spectral pairs coefficients of a speech coder is used to compress a speech signal at a low data rate among multimedia services. The present invention relates to a fast search algorithm that can reduce the size of the codebook to be searched by using the ordering property of the line spectral frequency (LSF) coefficients to reduce the overall calculation without degrading the SD performance.
현재 16kbps 이하의 전송 속도에서 사용되는 음성 부호화는 분석/합성구조를 가지며, 음성을 직접 전송하는 대신 음성 신호를 대표하는 파라메터를 효율적으로 추출하고 양자화 하므로써 대역폭이 제한된 전송 환경하에서 전송 데이터의 양을 줄일 수 있는 구조를 갖는다.Currently, the speech coding used at a transmission rate of 16kbps or less has an analysis / synthesis structure, and reduces the amount of transmission data in a bandwidth-limited transmission environment by efficiently extracting and quantizing parameters representing voice signals instead of transmitting the voice directly. It can have a structure.
저전송율 음성 부호화기에서 고 음질의 음성 부호화를 위해서는 음성 신호의단구간 상관도를 나타내는 선형 예측 부호화(LPC) 계수를 효율적으로 양자화하는 것이 매우 중요하다. LPC 필터의 최적 선형 예측 계수 값은 입력 음성 신호를 프레임 단위로 나누어 각 프레임 별로 예측 오차의 에너지를 최소화 시키는 개념으로 구해진다. LPC필터는 일반적으로 10차 폴(pole) 필터이며, 이때 사용되는 10개의 선형 예측 계수들의 양자화를 위하여 많은 비트가 할당된다.It is very important to efficiently quantize linear predictive coding (LPC) coefficients representing the short-term correlation of speech signals for high-quality speech encoding in low-rate speech encoders. The optimal linear prediction coefficient value of the LPC filter is obtained by dividing the input speech signal into frame units and minimizing the energy of the prediction error for each frame. The LPC filter is generally a tenth order pole filter, where many bits are allocated for quantization of the ten linear prediction coefficients used.
LPC 필터의 게수를 직접 양자화 할 경우, 필터의 특성이 계수의 양자화 오차에 매우 민감하고 계수 양자화 후의 LPC 필터의 안정성이 보장되지 않는 문제점이 있다.When directly quantizing the number of the LPC filter, there is a problem that the characteristics of the filter is very sensitive to the quantization error of the coefficient and the stability of the LPC filter after the coefficient quantization is not guaranteed.
따라서 LPC계수를 양자화 성질이 좋은 다른 전송 파라메타로 변환하여 양자화 하여야 하며, 주로 반사 계수 또는 LSP로 변환하여 양자화한다. 특히 LSP값은 음성의 주파수 특성과 밀접하게 연관되는 성질이 있어 최근에 개발된 표준 음성 압축기들은 대부분 LSP 양자화 방법을 사용한다. 또한 보다 효율적인 양자화를 위하여 벡터 양자화가 많이 사용된다.Therefore, LPC coefficients should be converted to other transmission parameters with good quantization properties and quantized, and mainly converted to reflection coefficients or LSP. In particular, the LSP value is closely related to the frequency characteristic of speech, so most recently developed standard speech compressors use the LSP quantization method. Also, vector quantization is frequently used for more efficient quantization.
벡터 양자화에서 전체 벡터를 한꺼번에 양자화 하는 것은 벡터 테이블의 크기가 너무 커지고 검색 시간이 많이 소요되므로 사용 불가능하다. 이를 해결하기 위하여 전체 벡터를 여러 개의 부벡터로 나누어 각각을 독립적으로 벡터 양자화 하는 방법이 개발되었는 데, 이를 스플릿 벡터 양자화(Split Vector Quantization)라 한다.In vector quantization, it is not possible to quantize an entire vector at once because the vector table is too large and takes a long time to search. To solve this problem, a method of dividing an entire vector into several subvectors and independently quantizing each one has been developed. This is called split vector quantization.
SVQ에 예측기를 추가한 방식인 예측 SVQ는 효율적인 양자화를 위하여 LSP 계수의 프레임간 상관관계를 이용한다. 즉, 현재 프레임의 LSP를 직접 양자화하지 않고 과거 프레임의 LSP값 정보로부터 현재 프레임의 LSP를 예측하고 예측 오차를 양자화 하는 것이다. LSP 값은 음성 신호의 주파수 특성과 밀접한 관계가 있으며, 따라서 시간적으로 예측이 가능하고 상당히 큰 예측 이득을 얻을 수 있다.Predictive SVQ, a method of adding a predictor to SVQ, uses inter-frame correlation of LSP coefficients for efficient quantization. That is, the LSP of the current frame is predicted and the prediction error is quantized from the LSP value information of the past frame without directly quantizing the LSP of the current frame. The LSP value is closely related to the frequency characteristic of the speech signal, and thus can be predicted in time and a fairly large prediction gain can be obtained.
이 외에도 벡터 양자화를 여러 단계로 나누어 하는 방법, 두 개의 테이블을 이용하여 선택적으로 양자화 하는 선택적 벡터 양자화 방법, 각 부벡터의 경계값을 보고 사용할 테이블을 선택하는 링크드 스플릿 벡터 양자화 방법등이 개발되었다.In addition, a method for dividing vector quantization into several steps, a selective vector quantization method for selectively quantizing using two tables, and a linked split vector quantization method for selecting a table to use based on the boundary value of each subvector have been developed.
상기 기술한 종래의 방법은 VQ를 이용해서 LSP 계수를 양자화할 때, 대부분의 양자화기는 거대한 LSP 코드북을 보유하고 있다. 그리고 이 코드북의 최적 코드벡터 탐색 과정에 많은 계산량이 소비되는 문제점이 있다.The conventional method described above, when quantizing LSP coefficients using VQ, most quantizers have a huge LSP codebook. In addition, there is a problem that a large amount of computation is consumed in the process of searching the optimal code vector of the codebook.
본 발명은 상기 종래 기술의 문제점을 해결하고자 제시된 것으로, 본 발명의 목적은 LSP 계수 값의 순서 성질을 이용해서 탐색 대상 코드 벡터 범위를 줄임으로써 탐색 계산량을 줄일 수 있는 효과적인 코드북 탐색 방법을 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the problems of the prior art, and an object of the present invention is to provide an efficient codebook search method that can reduce the amount of search computation by reducing the range of code vector to be searched by using the order property of LSP coefficient values. have.
상기 본 발명의 목적을 달성하기 위한 기술적 사상으로서, 저전송율 음성 부호화기에서 사용되는 LSP 계수 양자화기에 있어서, 많은 음성 데이터를 사용하여 각 코드북에 대하여 실험적으로 최적인 정열위치를 결정하는 과정과, 각 코드북내 소정 개수의 코드벡터의 정렬 순서를 정해진 기준열의 요소값에 따라 내림 차순으로 정렬시킨 새로운 코드북으로 대체하는 과정과, 상기 정렬된 코드북의 기준열의 요소값과 목표 벡터의 해당열 전후의 요소값들을 소정 동작 흐름도에 따라 순방향 및 역방향 비교로 탐색 범위를 결정하는 과정과, 상기 결정된 탐색범위 내에서만계산량이 많은 에러 기준을 구해서 최적 코드벡터를 결정하는 과정으로 구성되는 것을 특징으로 하는 발명이 제시된다.As a technical idea for achieving the object of the present invention, in the LSP coefficient quantizer used in the low-rate speech coder, the process of determining the optimal alignment position for each codebook using a lot of speech data, and each codebook Replacing the sorting order of the predetermined number of codevectors with a new codebook arranged in descending order according to the element values of the predetermined reference column, and the element values of the reference column of the sorted codebook and the element values before and after the corresponding column of the target vector. According to a predetermined operation flow diagram, a process of determining a search range by forward and reverse comparison, and a process of determining an optimal code vector by obtaining an error criterion having a large amount of calculation only within the determined search range are presented.
도 1은 G.723.1 음성 부호화기의 부호화단에 대한 블럭도이다.1 is a block diagram of an encoding stage of a G.723.1 speech encoder.
도 2는 일반적인 LSP 양자화 방식인 SVQ의 구조에 대한 블럭도이다.2 is a block diagram of the structure of SVQ, which is a general LSP quantization scheme.
도 3은 본 발명에 따른 순서도이다.3 is a flow chart according to the present invention.
도 4은 고속 코드벡터 탐색 방법을 설명하는 동작 흐름도이다.4 is a flowchart illustrating a fast code vector search method.
도 5는 코드벡터 선택시 순방향 및 역방향 비교 방식에 대한 블럭도로, 도 5A는 순방향 비교를, 도 5B는 역방향 비교를 나타낸다.5 is a block diagram of a forward and reverse comparison scheme when selecting a code vector, FIG. 5A shows a forward comparison, and FIG. 5B shows a reverse comparison.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
1 : 프레이머 2 : 고주파 통과 필터1: framer 2: high pass filter
3 : LP 계수 분석부 4 : LSP 양자화기3: LP coefficient analyzer 4: LSP quantizer
5 : LSP 복호화기 6 : LSP 보간기5: LSP Decoder 6: LSP Interpolator
7 : 포만트 인지 가중치부 8 : 피치 연산부7: formant recognition weight unit 8: pitch calculation unit
9 : 고조파 잡음 합성부 10 : 임펄스 응답 계산부9: Harmonic Noise Synthesizer 10: Impulse Response Calculation Unit
11 : 제로 입력 응답 12 : 피치 예측부11: zero input response 12: pitch predictor
13 : MP-MLQ/ACELP 14 : 피치 복호화기13: MP-MLQ / ACELP 14: pitch decoder
15 : 여기 복호화기 16 : 메모리 업데이트부15: the decoder here 16: memory update unit
18 : LSP디코더 20 : LSP 벡터 P18: LSP decoder 20: LSP vector P
21 : SVQ 22 : 21: SVQ 22:
23 : M개의 부벡터 24 : 코드북 목표 벡터23: M subvectors 24: codebook target vector
이하에서는 본 발명의 구성 및 작용에 관하여 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.Hereinafter, with reference to the accompanying drawings with respect to the configuration and operation of the present invention will be described in detail.
도 1은 G.723.1 음성 부호화기의 부호화단을 나타내는 블록구성도이다.1 is a block diagram illustrating an encoding stage of a G.723.1 speech encoder.
도 1에 도시된 바와 같이, 연속 음성 샘플 신호 y[n]가 프레이머(1)에 인가되면, 상기 프레이머(1)는 상기 입력신호를 1 프레임당 240 샘플 신호를 가지고, 두개의 부프레임을 가지는 신호로 변환한다. 또한, 상기 변환된 신호를 재차 2등분하여 1 프레임당 240 샘플을 가지고, 네개의 부프레임을 가지는 신호를 생성시킨다.As shown in FIG. 1, when the continuous speech sample signal y [n] is applied to the framer 1, the framer 1 has the 240 input signal signal per frame and has two subframes. Convert to a signal. In addition, the converted signal is further divided into two to generate a signal having 240 samples per frame and four subframes.
또한, 상기 프레이머(1)의 출력을 인가받은 고주파 통과 필터(2)는 DC성분을 제거 한후, LP 계수 분석부(3)에 신호를 전달하면, 상기 LP 계수 분석부(3)는 LP(Linear predictive) 계수의 연산을 수행한다. 이 때, 매 프레임당 네개의 LP 계수 조합이 생성되는데, 이런 LP 계수 조합은 단기 인지 가중화 필터(Short-term perceptual weighting filter)를 구축하는데 이용된다.In addition, the high-frequency pass filter (2) receiving the output of the framer 1 removes the DC component, and then transfers a signal to the LP coefficient analyzer (3), the LP coefficient analyzer (3) is LP (Linear) predictive) Perform the operation of coefficients. At this time, four LP coefficient combinations are generated for each frame, and these LP coefficient combinations are used to construct a short-term perceptual weighting filter.
또한, LSP 양자화기(4)는 상기 LP 계수 분석부(3)의 출력신호를 인가받아, 상기 LP 계수(Linear predictive coefficient)를 LSP 계수로 변환하고, LSP 부호화기(5)는 상기 LSP 양자화기(4)의 출력을 인가받아 상기 LSP 계수에 대한 부호화가 수행된다.In addition, the LSP quantizer 4 receives the output signal of the LP coefficient analyzer 3, converts the LP coefficients (Linear predictive coefficient) into LSP coefficients, and the LSP encoder 5 converts the LSP quantizer ( The output of 4) is applied to encode the LSP coefficients.
또한, LSP 보간기(6)는 상기 LSP 부호화기(5)의 출력신호를 인가받아, 현재프레임에서 복호화된 LSP 벡터와 이전프레임에서 복호화된 LSP 벡터를 이용하여 선형 보간을 수행한다.In addition, the LSP interpolator 6 receives the output signal of the LSP encoder 5 and performs linear interpolation using the LSP vector decoded in the current frame and the LSP vector decoded in the previous frame.
한편, 포만트 인지 가중치부(7)는 상기 고주파 통과 필터(2) 및 상기 LP 계수 분석부(3)의 출력신호를 인가받아, 매 프레임당 포만트 인지 가중화 필터링을 수행한다. 이 때, 상기 LP 계수 분석부(3)의 출력신호는 양자화가 수행되지 않은 LP 계수를 의미한다.On the other hand, the formant recognition weighting unit 7 receives the output signals of the high pass filter 2 and the LP coefficient analysis unit 3 and performs formant recognition weighting filtering every frame. In this case, the output signal of the LP coefficient analyzer 3 means an LP coefficient on which quantization has not been performed.
또한, 피치 연산부(8)는 매 프레임에 대해 두번의 피치 연산이 수행되는데, 한번은 4개의 부프레임 중에서 제0 및 제1 프레임에 대한 연산수행이고, 나머지 한번은 제 2 및 제 3 부프레임에 대한 연산수행이다.In addition, the pitch calculation unit 8 performs two pitch calculations for every frame, one operation for the 0th and the first frame among the four subframes, and the other operation for the second and the third subframes. It is done.
이 때, 한가지 언급할 사항은 이제부터의 각 블록에 대한 연산의 수행은 한 프레임 전체의 신호를 대상으로 하는 것이 아니라, 부프레임 기반 연산 수행이라는 점이다.In this case, one thing to mention is that the operation of each block from now on is not performed on the signal of the entire frame, but is a subframe based operation.
고조파 잡음(Harmonic Noise)형성부(9)는 부호화된 음성 신호의 질을 높이기 위한 부분이고, 임펄스 응답 계산부(10)는 폐루프 분석을 위해 포만트 인지 가중화 필터링 신호(W(z)), LSP 보간기(6) 출력신호() 및 고조파 잡음 형성부(9) 출력신호(P(z))의 조합 필터링 신호에 대한 임펄스 응답을 제공하고, 제로 입력 응답부(11)는 상기 조합 필터링 신호의 제로 입력 응답을 제공하고, 피치 예측부(12)는 적응 코드북 여기원이고, MP-MLQ부(13)는 6.3 kbps에 대한 고정 코드북 여기원이고, ACELP(13)는 5.3kbps에 대한 고정 코드북 여기원이다.The harmonic noise forming unit 9 is a part for improving the quality of the encoded speech signal, and the impulse response calculating unit 10 forms a formant recognition weighting filtering signal W (z) for the closed loop analysis. , LSP interpolator (6) output signal ( ) And the harmonic noise shaping unit 9 provide an impulse response to the combined filtering signal of the output signal P (z), and the zero input response unit 11 provides a zero input response of the combined filtering signal and pitch The prediction unit 12 is an adaptive codebook excitation source, the MP-MLQ unit 13 is a fixed codebook excitation source for 6.3 kbps, and the ACELP 13 is a fixed codebook excitation source for 5.3 kbps.
또한, 피치 복호화기(14)는 적응 코드북 여기원에 대한 복호화를 수행하는 부분이고, 여기 복호화기(Excitation decoder)(15)는 고정 코드북 여기원에 대한 복호화를 수행하는 부분이다.In addition, the pitch decoder 14 is a part for decoding the adaptive codebook excitation source, and the excitation decoder 15 is a part for decoding the fixed codebook excitation source.
또한, 메모리 업데이트부(16)는 부프레임을 인코딩하는 마지막 과정으로서, 포만트 인지 가중치 필터링 신호(W(z)), LSP 보간기(6) 출력신호() 및 고조파 잡음 형성부(9) 출력신호(Pi(z))를 메모리에 업데이트하는 부분이다.In addition, the memory update unit 16 is a final process of encoding the subframe, and the formant recognition weight filtering signal W (z) and the LSP interpolator 6 output signal ( ) And the harmonic noise forming section 9 are the parts for updating the output signal Pi (z) to the memory.
도 2는 일반적인 LSP 양자화 방식인 SVQ의 구조에 대한 블럭도이다.2 is a block diagram of the structure of SVQ, which is a general LSP quantization scheme.
도 2에 도시된 바와 같이, LSP 벡터 P(20)와, SVQ(21)와,(22)로 구성된다.As shown in Figure 2, LSP vector P (20), SVQ (21), It consists of 22.
상기 구성은 LSF 벡터를 양자화 하기 위해 사용되는 일반적인 SVQ의 구조이다. 목표벡터인 LSF 벡터 P는 다음의 수식과 같은 순서성질을 만족한다.This configuration is the structure of a generic SVQ used to quantize LSF vectors. The LSF vector P, the target vector, satisfies the ordering property of the following equation.
다음의 수학식 2에서 에러 기준 El,m은 p와에 대한 식으로 표현되는데 pm은 m번째 코드북 탐색을 위한 목표 벡터이며 l,m은 m번째 부벡터에 대한 코드북의 l번째 코드벡터에 해당한다. 이때 각 부벡터들에 대한 최적 코드벡터 값은 다음 에러 기준 El,m을 최소화하는 것을 선택하며, 최종적으로 선택된 코드북 인덱스 l을 채널을 통해 전송한다.In Equation 2, the error criterion E l, m is p and Where p m is the target vector for the mth codebook search. l, m corresponds to the lth codevector of the codebook for the mth subvector. At this time, the optimal codevector value for each subvector is selected to minimize the next error criterion E l, m , and finally the selected codebook index l is transmitted through the channel.
상기 수학식 2에서 LSP 코드북 벡터인는 M개의 부벡터들로 나누어지며, 각 부벡터는 Lm개의 코드벡터들로 구성된다. M개의 부벡터들에 대한 코드북 크기 L0, L1, ...,LM-1이 같은 비트를 이용할 때도 있지만, 음질 성능 향사을 위해 특정한 부벡터에 대해서는 추가적인 비트를 할당하는 경우도 있다. Wm은 m번째 부벡터를 위한 웨이팅 매트릭스(weighting matrix)이며, 양자화되지 않은 LSF 벡터인 p로부터 구해진다.In Equation 2, the LSP codebook vector is Is divided into M subvectors, and each subvector is composed of L m code vectors. Codebook sizes L 0 , L 1 , ..., L M-1 for M subvectors sometimes use the same bit, but sometimes additional bits are allocated for a particular subvector to improve sound quality performance. W m is a weighting matrix for the m th subvector and is obtained from p, an unquantized LSF vector.
본 발명에서 고속탐색 방법을 적용하기 위해서는 기존 코드북의 변환이 필요하다. 이는 탐색하는 코드벡터의 범위 결정을 손쉽게 하기 위해서, 실험적으로 결정된 특정열을 근거로 내림차순으로 정렬된 코드북을 기존 코드북과 대체시키는 과정이다.In order to apply the fast search method in the present invention, conversion of an existing codebook is required. This is a process of replacing codebooks arranged in descending order with existing codebooks based on experimentally determined specific columns in order to easily determine the range of code vectors to search.
특정 열의 선정은 각 코드북 별로 따로 수행되며, 실험적으로 평균탐색 범위가 최소가 되는 열을 찾는다. 평균탐색범위는 정렬된 코드북에 대해 목표 벡터를 이용하여 각 n번째 열을 중심으로 정렬된 코드북의 n번째 열의 요소값과 목표 벡터의 n+1과 n-1의 위치의 요소값이 순서성질을 만족하는 평균 개수이다.Selection of a specific column is performed separately for each codebook, and experimentally finds a column having a minimum average search range. The average search range is the order value of the elements of the nth column of the codebook arranged around each nth column and the values of the positions of n + 1 and n-1 of the target vector using the target vector. The average number that satisfies.
다음의 수학식 3처럼 목표 벡터의 n-l번째 열의 요소값은 코드북의 n번째 열의 요소 값보다 적어야 하며 목표 벡터의 n+l번째 열의 요소값은 코드북의 n번째열의 요소값보다 커야 한다.As shown in Equation 3 below, the element value of the n-th column of the target vector must be less than the element value of the n-th column of the codebook, and the element value of the n + l-th column of the target vector must be greater than the element value of the nth column of the codebook.
각 코드북에 대해 최적으로 정해진 특정열을 각 코드북의 기준열 N0, N1, ..., NM이라하고 10차 LSF벡터를 목표 벡터로 가정할 때 다음의 식 4와 5를 이용하여 탐색하려는 코드북의 기준 열의 요소값과 목표 벡터내 기준열 전후의 요소값들을 비교하여 순서성질을 위배하는 코드벡터들을 탐색 대상에서 제외하는 개념으로 코드북의 탐색 범위를 결정한다.When the optimally determined specific column for each codebook is called the reference column N 0 , N 1 , ..., N M of each codebook and the 10th-order LSF vector is assumed as the target vector, the following equations 4 and 5 are used to search. The search range of the codebook is determined by comparing the element values of the reference column of the codebook to be compared with the element values before and after the reference column in the target vector and excluding code vectors that violate the ordering quality.
여기서, 상기 수학식 4와 같이 순서 성질의 만족 여부를 결정하기 위해 어떤 코드 벡터의 N번째 열의 요소값과 목표 벡터의 (N-1)번째 열의 요소값을 비교하는 것을 순방향 비교라 하며, 상기 수학식 5와 같이 코드벡터의 N번째 열의 요소값과 목표 벡터의 (N+1)번째 열의 요소값을 비교하는 것을 역방향 비교라 명명한다.Here, as shown in Equation 4, comparing element values of the Nth column of a certain code vector with elements of the (N-1) th column of the target vector to determine whether the order property is satisfied is referred to as forward comparison. As in Equation 5, comparing the element values of the Nth column of the code vector with the element values of the (N + 1) th column of the target vector is called backward comparison.
도 3은 본 발명에 따른 순서도이다.3 is a flow chart according to the present invention.
도 3에 도시된 바와 같이, 본 발명은 저속 음성 부호화기에서 사용되는 LSP계수 양자화기에 있어서, 많은 음성 데이터를 사용하여 각 코드북에 대하여 실험적으로 최적인 정열위치를 결정하는 과정(S10)과, 각 코드북내 소정 개수의 코드벡터의 정렬 순서를 정해진 기준열의 요소값에 따라 내림 차순으로 정렬시킨 새로운 코드북으로 대체하는 과정(S20)과, 상기 정렬된 코드북의 기준열의 요소값과 목표 벡터의 해당열 전후의 요소값들을 소정 동작 흐름도에 따라 순방향 및 역방향 비교로 탐색 범위를 결정하는 과정(S30)과, 상기 결정된 탐색범위 내에서만 계산량이 많은 에러 기준을 구해서 최적 코드벡터를 결정하는 과정(S40)으로 구성된다.As shown in FIG. 3, the present invention provides a process for determining an optimally optimal alignment position for each codebook by using a large amount of speech data in the LSP coefficient quantizer used in a low-speed speech coder (S10), and each codebook. Replacing the sort order of the predetermined number of code vectors with a new codebook arranged in descending order according to the element values of the predetermined reference column (S20), and before and after the corresponding column of the reference value of the sorted codebook and the corresponding vector of the target vector. Determining a search range by forward and reverse comparison of element values according to a predetermined operation flowchart (S30), and determining an optimal code vector by obtaining an error criterion having a large amount of computation only within the determined search range (S40). .
도 4은 고속 코드벡터 탐색 방법을 설명하는 동작 흐름도이다.4 is a flowchart illustrating a fast code vector search method.
도 4에 도시된 바와 같이, f1, f2와 b1, b2는 각각 순방향 및 역방향 비교에 사용되는 코드벡터 요소 값과 목표 벡터 요소값을 나타낸 것이다. 여기서 각 코드북은 내림차순으로 정렬되어 있으므로 순 방향 비교에서는 순서 성질을 만족하는 시작점만 구하면 나머지 모두는 순방향의 순서성질을 만족하게 된다.As shown in FIG. 4, f1, f2, b1, and b2 represent code vector element values and target vector element values used for forward and reverse comparison, respectively. Here, since each codebook is sorted in descending order, only a starting point satisfying the ordering property is obtained in the forward comparison, and the rest of the codebooks satisfy the ordering property of the forward order.
그리고 역방향 비교에서는 순서 성질을 만족하는 코드벡터 집합의 구체적인 시작점과 끝점을 구하는 과정을 동작 흐름도로 나타내면 도 5와 같다.In the reverse comparison, a process of obtaining a specific start point and an end point of a code vector set satisfying an ordering property is illustrated in an operation flowchart as shown in FIG. 5.
도 5는 코드벡터 선택시 순방향 및 역방향 비교 방식에 대한 블럭도로, 도 5A는 순방향 비교를, 도 5B는 역방향 비교를 나타낸다.5 is a block diagram of a forward and reverse comparison scheme when selecting a code vector, FIG. 5A shows a forward comparison, and FIG. 5B shows a reverse comparison.
도 5a에 도시된 바와 같이, 코드북 탐색 시작점를 정하는 과정은 LSP 벡터 p를 계산하는 과정(S100)과, 변수 i를 0으로 초기화하는 과정(S110)과, pn+1과 i+64,n의 크기를 비교 판단하는 과정(S120)과, 상기 과정(S120)에서 pn+1의 크기가 i+64,n보다 작은 경우 변수 i를 64만큼씩 증가시키는 과정(S130)과, pn+1의 크기가 i+64,n보다 큰 경우 변수 i를 저장하는 과정(S140)과, 변수 j를 변수 상기 저장된 변수 i 값으로 초기화하는 과정(S150)과, pn+1의 크기와 j+16,n의 크기를 비교 판단하는 과정(S160)과, 상기 과정(S160)에서 pn+1의 크기가 j+16,n보다 작은 경우 변수 j를 16만큼씩 증가시키는 과정(S170)과, pn+1의 크기가 i+16,n보다 큰 경우 변수 j를 저장하는 과정(S180)과, 변수 k를 변수 상기 저장된 변수 j 값으로 초기화하는 과정(S190)과, pn+1의 크기와 k+4,n의 크기를 비교 판단하는 과정(S200)과, 상기 과정(S200)에서 pn+1의 크기가 k+4,n보다 작은 경우 변수 k를 4 만큼씩 증가시키는 과정(S210)과, pn+1의 크기가 k+4,n보다 큰 경우 변수 k를 저장하는 과정(S220)과, 변수 m를 변수 상기 저장된 변수 k 값으로 초기화하는 과정(S230)과, pn+1의 크기와 m+1,n의 크기를 비교 판단하는 과정(S240)과, 상기 과정(S240)에서 pn+1의 크기가 m+1,n보다 작은 경우 변수 m를 1만큼씩 증가시키는 과정(S250)과, pn+1의 크기가 m+1,n보다 큰 경우 변수 m+1을 저장하는 과정(S260)과, 상기 과정들을 통해 계산된 m+1을 시작점으로 설정하는 과정(S270)으로 이루어진다.As shown in FIG. 5A, the process of determining a codebook search start point includes calculating a LSP vector p (S100), initializing a variable i to 0 (S110), p n + 1 and Comparing and determining the size of i + 64, n (S120), the size of p n + 1 in the process (S120) If i + 64, n, the process of increasing the variable i by 64 (S130), and the size of p n + 1 When i + 64, n is greater than (S140) storing the variable i, initializing the variable j to the value of the variable i stored variable (S150), and the size of p n + 1 Comparing and determining the size of j + 16, n (S160) and the size of p n + 1 in the process (S160) In the case where j + 16, n is less than 16, the process of increasing the variable j by 16 (S170) and the size of p n + 1 If i + 16, n is greater than (S180) for storing the variable j, initializing the variable k to the value of the stored variable j (S190), and the size of p n + 1 Comparing and determining the size of k + 4, n (S200), the size of p n + 1 in the process (S200) If less than k + 4, n increases the variable k by 4 (S210) and the size of p n + 1 If greater than k + 4, n (S220), storing the variable k, initializing the variable m to the value of the stored variable k (S230), and the size of p n + 1 Comparing and determining the size of m + 1, n (S240) and the size of p n + 1 in the process (S240) If m + 1, n, the process of increasing the variable m by 1 (S250) and the size of p n + 1 If m + 1, n is greater than the step of storing the variable m + 1 (S260), and the step of setting the m + 1 calculated through the above process (S270).
도 5b에 도시된 바와 같이, 코드북 탐색 끝점을 설정하는 과정은 LSP 벡터 p를 계산하는 과정(S300)과, 변수 i를 Lm로 초기화하는 과정(S310)과, pn-1과 i-64,n의 크기를 비교 판단하는 과정(S320)과, 상기 과정(S320)에서 pn-1의 크기가 i-64,n보다 큰 경우 변수 i를 64만큼씩 감소시키는 과정(S330)과, pn-1의 크기가 i-64,n보다 작은 경우 변수 i를 저장하는 과정(S340)과, 변수 j를 상기 저장된 변수 i 값으로 초기화하는 과정(S350)과, pn-1의 크기와 j-16,n의 크기를 비교 판단하는 과정(S360)과, 상기 과정(S360)에서 pn-1의 크기가 j-16,n보다 큰 경우 변수 j를 16 만큼씩 감소시키는 과정(S370)과, pn-1의 크기가 j-16,n보다 작은 경우 변수 j를 저장하는 과정(S380)과, 변수 k를 상기 저장된 변수 j 값으로 초기화하는 과정(S390)과, pn-1의 크기와 k-4,n의 크기를 비교 판단하는 과정(S400)과, 상기 과정(S400)에서 pn-1의 크기가 k-4,n보다 큰 경우 변수 k를 4 만큼씩 감소시키는 과정(S410)과, pn-1의 크기가 k-4,n보다 작은 경우 변수 k를 저장하는 과정(S420)과, 변수 m를 상기 저장된 변수 k 값으로 초기화하는 과정(S430)과, pn-1의 크기와 m-1,n의 크기를 비교 판단하는 과정(S440)과, 상기 과정(S440)에서 pn-1의 크기가 m-1,n보다 큰 경우 변수 m를 1만큼씩 감소시키는 과정(S450)과, pn-1의 크기가 m-1,n보다 작은 경우 변수 m-1을 저장하는 과정(S460)과, 상기 과정들을 통해 계산된 m-1을 끝점으로 설정하는 과정(S470)으로 이루어진다.As shown in FIG. 5B, the process of setting the codebook search end point may include calculating the LSP vector p (S300), initializing the variable i with L m (S310), p n−1 and Comparing and determining the size of i-64, n (S320) and the size of p n-1 in the process (S320) In the case of larger than i-64, n, the process of reducing the variable i by 64 (S330) and the size of p n-1 If i-64, n is smaller than the step of storing the variable i (S340), initializing the variable j to the value of the stored variable (S350), and the size of p n-1 Comparing and determining the size of j-16, n (S360) and the size of p n-1 in the process (S360) If the size larger than j-16, n, the process of reducing the variable j by 16 (S370), and the size of p n-1 If smaller than j-16, n (S380) for storing the variable j, initializing the variable k to the value of the stored variable (S390), and the size of p n-1 Comparing and determining the size of k-4, n (S400) and the size of p n-1 in the process (S400) If greater than k-4, n, the process of reducing the variable k by 4 (S410), and the size of p n-1 If less than k-4, n (S420) for storing the variable k, initializing the variable m to the value of the stored variable (S430), and the size of p n-1 Comparing and determining the size of m-1, n (S440) and the size of p n-1 in the process (S440) In the case of larger than m-1, n, the process of reducing the variable m by 1 (S450) and the size of p n-1 When it is smaller than m-1, n , the process includes storing the variable m-1 (S460), and setting the m-1 calculated through the above processes as an end point (S470).
흐름도의 상기 과정들에 의해 구해진 시작점과 끝점에 의해 코드북 탐색 범위가 정해진다.The codebook search range is determined by the start point and the end point obtained by the above processes of the flowchart.
본 발명은 예시적인 실시예를 참조하여 설명하였으나, 이러한 설명들은 제한적 의미로 해석되어서는 아니될 것이다. 본 발명이 관련된 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 상세한 설명을 참고로 하여 예시적인 실시예를 다양하게 변경 또는 조합하거나 다르게 실시할 수 있음은 명백하다. 따라서, 다음 특허 청구의 범위는 이러한 변경과 실시예들을 모두 포함하는 것으로 보아야 할 것이다.Although the present invention has been described with reference to exemplary embodiments, these descriptions should not be interpreted in a limiting sense. It will be apparent to those skilled in the art that the present invention may be variously modified, combined, or implemented in various ways with reference to the detailed description of the invention. Accordingly, the following claims should be considered to cover all such modifications and embodiments.
상기 기술에서 알 수 있는 바와 같이, 본 발명은 저전송율 음성 부호화기에서 사용되는 LSP 계수 양자화기에 있어서, 많은 음성 데이터를 사용하여 각 코드북에 대하여 실험적으로 최적인 정열위치를 결정하는 과정과, 각 코드북내 소정 개수의 코드벡터의 정렬 순서를 정해진 기준열의 요소값에 따라 내림 차순으로 정렬시킨 새로운 코드북으로 대체하는 과정과, 상기 정렬된 코드북의 기준열의 요소값과 목표 벡터의 해당열 전후의 요소값들을 소정 동작 흐름도에 따라 순방향 및 역방향 비교로 탐색 범위를 결정하는 과정과, 상기 결정된 탐색범위 내에서만 계산량이 많은 에러 기준을 구해서 최적 코드벡터를 결정하는 과정으로 구성되어, 탐색하려는 목표 벡터에 대한 코드북을 코드벡터 내 특정 열의 요소값 크기에 따라 코드벡터를 내림차순으로 정렬시킨다. 그러면 정렬된 코드북에서 왜곡을 최소화 시키는 최적코드벡터 값은 목표 벡터와 거의 비슷한 값을 가지므로 이 값들은 순서 성질을 가진다고 가정 할 수 있다. 이런 가정하에서 내림차순으로 정렬된 특정 열의 요소 값을 목표 벡터내 인접열의 값과 비교한다. 그래서 순서성질을 만족하는 코드벡터에 대해서만 계산량이 많은 왜곡 값을 계산하고, 그렇지 못한 코드벡터들은 왜곡 값 계산을 생략한다. 이렇게 각 코드북을 탐색할 때 LSP 벡터의 순서 성질을 이용하여 탐색대상을 줄이면 전체적으로 많은 계산량을 줄일 수 있으며, 라인 스펙트럴 주파수 계수의 순서 성질을 이용하여 탐색 대상 코드북의 크기를 줄여 성능 감쇄 없이 전체적인 계산량을 줄일 수 있는 효과가 있다.As can be seen from the above description, the present invention provides a process for determining an optimally optimal alignment position for each codebook by using a large amount of speech data in an LSP coefficient quantizer used in a low-rate speech coder. Replacing the order of the predetermined number of codevectors with a new codebook arranged in descending order according to the element values of the predetermined reference column, and preserving the element values of the reference column of the sorted codebook and the element values before and after the corresponding column of the target vector. Determining a search range by forward and reverse comparison according to an operation flowchart, and determining an optimal code vector by obtaining an error criterion having a large amount of computation only within the determined search range, and encoding a codebook for a target vector to be searched. Sort codevectors in descending order based on the size of element values in specific columns in the vector Line up. Then, since the optimal codevector values that minimize distortion in the sorted codebook are almost similar to the target vectors, these values can be assumed to have an ordering property. Under this assumption, the element values of a particular column sorted in descending order are compared with the values of adjacent columns in the target vector. Therefore, only a large amount of computational distortion is calculated for code vectors that satisfy the ordering quality. Otherwise, the computation of distortion values is omitted. When searching each codebook, the search target can be reduced by using the order property of the LSP vector, and the overall computation amount can be reduced by reducing the size of the searched codebook by using the order property of the line spectral frequency coefficient. There is an effect to reduce.
Claims (6)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000009519A KR20010084468A (en) | 2000-02-25 | 2000-02-25 | High speed search method for LSP quantizer of vocoder |
US09/749,782 US7389227B2 (en) | 2000-01-14 | 2000-12-28 | High-speed search method for LSP quantizer using split VQ and fixed codebook of G.729 speech encoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000009519A KR20010084468A (en) | 2000-02-25 | 2000-02-25 | High speed search method for LSP quantizer of vocoder |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20010084468A true KR20010084468A (en) | 2001-09-06 |
Family
ID=19650244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000009519A KR20010084468A (en) | 2000-01-14 | 2000-02-25 | High speed search method for LSP quantizer of vocoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20010084468A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100464369B1 (en) * | 2001-05-23 | 2005-01-03 | 삼성전자주식회사 | Excitation codebook search method in a speech coding system |
KR100503414B1 (en) * | 2002-11-14 | 2005-07-22 | 한국전자통신연구원 | Focused searching method of fixed codebook, and apparatus thereof |
WO2011071335A3 (en) * | 2009-12-10 | 2011-11-03 | 엘지전자 주식회사 | Method and apparatus for encoding a speech signal |
-
2000
- 2000-02-25 KR KR1020000009519A patent/KR20010084468A/en not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100464369B1 (en) * | 2001-05-23 | 2005-01-03 | 삼성전자주식회사 | Excitation codebook search method in a speech coding system |
KR100503414B1 (en) * | 2002-11-14 | 2005-07-22 | 한국전자통신연구원 | Focused searching method of fixed codebook, and apparatus thereof |
WO2011071335A3 (en) * | 2009-12-10 | 2011-11-03 | 엘지전자 주식회사 | Method and apparatus for encoding a speech signal |
US9076442B2 (en) | 2009-12-10 | 2015-07-07 | Lg Electronics Inc. | Method and apparatus for encoding a speech signal |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1576585B1 (en) | Method and device for robust predictive vector quantization of linear prediction parameters in variable bit rate speech coding | |
US5675702A (en) | Multi-segment vector quantizer for a speech coder suitable for use in a radiotelephone | |
JP3114197B2 (en) | Voice parameter coding method | |
EP2301021B1 (en) | Device and method for quantizing lpc filters in a super-frame | |
US5819213A (en) | Speech encoding and decoding with pitch filter range unrestricted by codebook range and preselecting, then increasing, search candidates from linear overlap codebooks | |
US7392179B2 (en) | LPC vector quantization apparatus | |
CA2202825C (en) | Speech coder | |
KR100464369B1 (en) | Excitation codebook search method in a speech coding system | |
US7792679B2 (en) | Optimized multiple coding method | |
JPH08263099A (en) | Encoder | |
US20010053972A1 (en) | Method and apparatus for an encoding and decoding a speech signal by adaptively changing pulse position candidates | |
JPH056199A (en) | Voice parameter coding system | |
JPH08272395A (en) | Voice encoding device | |
US6768978B2 (en) | Speech coding/decoding method and apparatus | |
EP1450352A2 (en) | Block-constrained TCQ method, and method and apparatus for quantizing LSF parameters employing the same in a speech coding system | |
JP4731654B2 (en) | Fast search method for line spectrum pair quantizer | |
EP1114415B1 (en) | Linear predictive analysis-by-synthesis encoding method and encoder | |
KR20010084468A (en) | High speed search method for LSP quantizer of vocoder | |
KR100341398B1 (en) | Codebook searching method for CELP type vocoder | |
JPH0519795A (en) | Excitation signal encoding and decoding method for voice | |
Xydeas et al. | A long history quantization approach to scalar and vector quantization of LSP coefficients | |
JP2002073097A (en) | Celp type voice coding device and celp type voice decoding device as well as voice encoding method and voice decoding method | |
KR100316304B1 (en) | High speed search method for LSP codebook of voice coder | |
EP0755047B1 (en) | Speech parameter encoding method capable of transmitting a spectrum parameter at a reduced number of bits | |
JP3335650B2 (en) | Audio coding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |