[go: up one dir, main page]

JP3095769B2 - VSELP encoder - Google Patents

VSELP encoder

Info

Publication number
JP3095769B2
JP3095769B2 JP02318136A JP31813690A JP3095769B2 JP 3095769 B2 JP3095769 B2 JP 3095769B2 JP 02318136 A JP02318136 A JP 02318136A JP 31813690 A JP31813690 A JP 31813690A JP 3095769 B2 JP3095769 B2 JP 3095769B2
Authority
JP
Japan
Prior art keywords
long
code
term
optimal
lag
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
JP02318136A
Other languages
Japanese (ja)
Other versions
JPH04190400A (en
Inventor
浩 桂川
弘美 青柳
伸二 川口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP02318136A priority Critical patent/JP3095769B2/en
Publication of JPH04190400A publication Critical patent/JPH04190400A/en
Application granted granted Critical
Publication of JP3095769B2 publication Critical patent/JP3095769B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、積和演算機能を持つ処理装置によって音
声信号をVSELP符号化するVSELP符号化器に関するもので
ある。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a VSELP encoder for VSELP-encoding an audio signal by a processing device having a product-sum operation function.

[従来の技術] VSELP音声符号化方式は、音声を声道とベクトル量子
化された励振源とにパラメータ符号化するコード励新予
測符号化(CELP)の一種であり、米国TIA委員会により
ディジタルセルラ用の音声符号化方式として標準化され
ている。
[Prior Art] The VSELP speech coding method is a type of code-excited new predictive coding (CELP) that parameter-codes speech into a vocal tract and a vector-quantized excitation source. It is standardized as a speech coding method for cellular.

次に示す文献Aは、従来のVSELP符号化方式について
説明したものである。
The following document A describes a conventional VSELP coding method.

文献A:“Vector Sum Excited Linear Prediction(VS
ELP)Speech Coding at 8Kbps",Ira A.Gerson & Mark
A.Jasiuk,Proc.IEEE Int.on.on Acoustics,Speech and
Signal Processing,pp.461−464,April 1990 以下、前記文献Aに基づいて、VSELP符号化方式の従
来技術を説明する。
Reference A: “Vector Sum Excited Linear Prediction (VS
ELP) Speech Coding at 8Kbps ", Ira A.Gerson & Mark
A.Jasiuk, Proc.IEEE Int.on.on Acoustics, Speech and
Signal Processing, pp. 461-464, April 1990 Hereinafter, a conventional technique of the VSELP encoding method will be described based on Document A.

従来のVSELP符号化方式におけるVSELP符号器は、LPC
分析器、ターゲット信号作成部、ロングタームラグ選択
部、コード1選択部、コード2選択部、及びゲイン選択
部の各部を具備した構成になっている。
The VSELP encoder in the conventional VSELP encoding method is LPC
The configuration includes an analyzer, a target signal generator, a long term lag selector, a code 1 selector, a code 2 selector, and a gain selector.

前記LPC分析部は、入力音声信号Vを160サンプル毎に
LPC分析してLPC係数kと音声平均パワーRとを求め、さ
らに、これらのLPC係数kおよび音声平均パワーRを量
子化するとともに40サンプルからなるサブフレームに対
して補間して、LPC係数kjと音声平均パワーR0とを出力
する。
The LPC analysis unit converts the input audio signal V every 160 samples.
An LPC analysis is performed to obtain an LPC coefficient k and a voice average power R. Further, the LPC coefficient k and the voice average power R are quantized and interpolated for a subframe composed of 40 samples to obtain an LPC coefficient k j And voice average power R 0 are output.

そして、ターゲット信号作成部は、各サブフレームご
とに、前記LPC係数kjを用いた分析フィルターによって
入力音声信号Vの残差信号を作るとともに、LPC係数kj
を用いた重み付けフィルターをその残差信号にかけ、さ
らに、以前のサブフレームで合成された励振信号exによ
る影響を取り除くことで、ターゲット信号pを作って出
力する。
Then, the target signal creation unit creates a residual signal of the input voice signal V by an analysis filter using the LPC coefficient k j for each subframe, and generates the LPC coefficient k j
Is applied to the residual signal, and the effect of the excitation signal ex synthesized in the previous sub-frame is removed to generate and output the target signal p.

前記ロングタームラグ選択部は、前サブフレームの励
振信号exによって内部値ロングタームフィルターステー
トが更新されており、ターゲット信号pと内部値ロング
タームフィルターステートに重み付けフィルターを用い
たものとの差の二乗誤差を計算することで最適なラグを
求め、そのラグによるロングタームコードc0を出力す
る。
The long-term lag selection unit updates the internal value long-term filter state with the excitation signal ex of the previous subframe, and squares the difference between the target signal p and the internal value long-term filter state using a weighting filter. seeking the optimum lag to calculate the error, and outputs the long-term code c 0 by the lugs.

前記コード1選択部は、内部にベーシスベクターvと
して保存している固定のデータをグレイコードθによっ
て組み合わせてコードベクターuを作り、それを前記LC
P係数kjを用いた重み付けフィルターにかけ、前記ロン
グタームコードc0に対して直交化した信号f0′をつく
り、このf0′とターゲット信号pとの差の二乗誤差を評
価することで、最適のコード1コードc1を選択して出力
する。
The code 1 selecting unit combines the fixed data internally stored as the basis vector v with the gray code θ to create a code vector u,
By applying a weighting filter using a P coefficient k j to create a signal f 0 ′ orthogonalized to the long-term code c 0 , and evaluating the square error of the difference between the f 0 ′ and the target signal p, select code 1 code c 1 of the optimum output.

前記コード2選択部には、コード1選択部とは異なる
ベーシスベクターv′が保存されている。
The code 2 selector stores a basis vector v 'different from the code 1 selector.

前記コード2選択部は、このベーシスベクターv′を
グレイコードθによって組み合わせてコードベクター
u′を作り,それを前記LPC係数kjを用いた重み付けフ
ィルターにかけ、前記ロングタームコードc0に対して直
交化し、さらにコード1選択部から得られた最適コード
c1に対して直交化した信号f1′をつくり、f1′とターゲ
ット信号pとの差の二乗誤差を評価することで、最適の
コード2コードc2を選択して出力する。
The code 2 selecting unit combines the basis vector v ′ with the gray code θ to create a code vector u ′, applies it to a weighting filter using the LPC coefficient k j, and orthogonalizes the long term code c 0 . And the optimal code obtained from the code 1 selector
'make, f 1' signal f 1 orthogonal with respect to c 1 to evaluate the squared error of the difference between the target signal p, and selects and outputs the optimum code 2 code c 2.

前記ゲイン選択部は、前記LPC係数kj、音声平均パワ
ーR0、ターゲット信号p、ロングタームコードc0、コー
ド1コードc1,コード2コードc2を受け、これらの入力
信号に基づいてこのゲイン選択部内のベクトルテーブル
上のパラメータ(GS,P0,P1)の中で最適な組を選択し、
そのパラメータによって計算されるゲインβ,γ1
を出力する。
The gain selection unit receives the LPC coefficient k j , the average sound power R 0 , the target signal p, the long-term code c 0 , the code 1 code c 1 , and the code 2 code c 2 , and based on these input signals, Select the optimal set from the parameters (GS, P0, P1) on the vector table in the gain selector,
Gains β, γ 1 , γ 2 calculated by the parameters
Is output.

これらのゲインβ,γ1は、前述のコードc0,c1,
c2を組み合わせて励振信号exを合成するためのゲインで
ある。
These gains β, γ 1 , γ 2 correspond to the codes c 0 , c 1 ,
It is a gain for synthesizing an excitation signal ex by combining c 2.

前述のコードc0,c1,c2は、それぞれ、前述のゲイン
β,γ1によって増幅され、さらに、増幅された各
コードが足し合わされて、現サブフレームに対する合成
励振信号exが生成されることになる。
The aforementioned codes c 0 , c 1 , and c 2 are amplified by the aforementioned gains β, γ 1 , and γ 2 , respectively, and the amplified codes are added to form a combined excitation signal ex for the current subframe. Will be generated.

生成された合成励振信号exは次のサブフレームに対す
るターゲット信号の合成やロングタームフィルタステー
トの更新に用いられる。
The generated synthesized excitation signal ex is used for synthesizing the target signal for the next subframe and updating the long-term filter state.

以上の如きVSELP符号器において、入力音声から得たL
PC係数kj、平均音声パワーR0、ロングタームラグL、コ
ード1インデックスI、コード2インデックスJ、及び
ゲインのインデックスが複合器に対して送信される。
In the VSELP encoder as described above, L obtained from the input speech
The PC coefficient k j , the average audio power R 0 , the long term lag L, the code 1 index I, the code 2 index J, and the gain index are transmitted to the composite device.

また、従来のVSELP符号化方式におけるVSELP複合器
は、受信したLPC係数kjから合成フィルタを構成し、符
号器で用意したロングタームフィルタステートと受信し
たラグLとからロングタームコードc0を復号し、符号器
に保存してあるベーシスベクターvと受信したコード1
インデックスIとからコード1コードc1を復号し、別の
ベーシスベクターvとコード2インデックスJとからコ
ード2コードc2を復号し、(GS、P0、P1)のベクトル量
子化テーブルと受信したゲインインデックスとからそれ
ぞれのコードに対するゲインβ、γ、γを復号す
る。
In addition, the VSELP composite device in the conventional VSELP coding scheme forms a synthesis filter from the received LPC coefficient kj, and decodes a long-term code c 0 from the long-term filter state prepared by the encoder and the received lag L. And the basis vector v stored in the encoder and the received code 1
Decoding the codes one code c 1 from the index I, decodes the code 2 code c 2 from another basis vector v and code 2 index J, and the received vector quantization table (GS, P0, P1) gain The gains β, γ 1 , γ 2 for each code are decoded from the index.

そして、復号されたコードc0,c1,c2とゲインβ,γ1,
γとを用いて現サブフレームに対する合成励振信号ex
を合成し、受信したLPC係数kjによって構成された合成
フィルタに前記合成励振信号exをかけることで、入力音
声信号Vを復号する。そして復号した音声信号は、LPC
係数kjを用いて構成されたポストフィルタによって、さ
らに雑音を圧縮した上で出力する。さて、前述した従来
のVSELP符号化方式におけるロングタームラグ選択部に
ついて、もう少し詳しく説明する。
Then, the decoded codes c 0 , c 1 , c 2 and the gains β, γ 1 ,
γ 2 and the combined excitation signal ex for the current subframe
Are synthesized, and the input excitation signal V is decoded by applying the synthesized excitation signal ex to a synthesis filter constituted by the received LPC coefficients k j . And the decoded audio signal is LPC
The noise is further compressed by a post filter configured using the coefficient k j and output. Now, the long term lag selecting unit in the conventional VSELP coding method described above will be described in more detail.

ロングタームラグ選択部に保存してある励振信号(ロ
ングタームフィルターステート)を、r(−l)とす
る。ここで、rは以前のサブフレームで合成された励振
信号である。
The excitation signal (long-term filter state) stored in the long-term lag selection unit is defined as r (−1). Here, r is the excitation signal synthesized in the previous subframe.

例えば、サブフレームがNサンプルからなっていると
き、r(−N)からr(−1)のNサンプルは、前サブ
フレームで合成された励振信号であり、r(−2N)から
r(−N−1)のNサンプルは前前サブフレームで合成
されたものである。
For example, when the subframe is composed of N samples, N samples from r (−N) to r (−1) are excitation signals synthesized in the previous subframe, and r (−2N) to r (−N). N samples of (N-1) are synthesized in the previous and previous subframes.

ロングタームラグ選択部は、様々なラグlについてr
(−l)からr(−l+N)までのNサンプルからなる
ロングタームコードを取り出し、その中で、現サブフレ
ームのターゲット信号に対して、もっとも適切なものを
選択する処理を行う。
The long-term lag selector selects various lugs
A long term code composed of N samples from (−1) to r (−1 + N) is extracted, and a process of selecting the most appropriate one from among the target signals of the current subframe is performed.

この選択のために、まずロングタームコードに対して
重み付けフィルターを掛ける処理を行う。
For this selection, first, a process of applying a weighting filter to the long term code is performed.

この処理は、合成フィルターである重み付けフィルタ
ーのインパルス応答h(n)をたたみ込む操作で近似し
て行う。
This processing is performed by approximating the impulse response h (n) of the weighting filter, which is the synthesis filter, by convolution.

ラグlに対応するロングタームコードr(−l)から
r(−l+N)までをh(n)でたたみ込んだ後の信号
をz(l,n)とすると、 ただし、この式において、nは0≦n<N,lは1≦l
である。
Assuming that a signal obtained by convolving the long term codes r (−1) to r (−1 + N) corresponding to the lag l with h (n) is z (l, n), However, in this equation, n is 0 ≦ n <N, l is 1 ≦ l
It is.

そして、前述の式から、次の再帰式が得られる。 Then, the following recursive formula is obtained from the above formula.

z(l,n)=z(l−1,n−1)+r(−l)h(n) ……(2) ただし、この式において、nは1≦n<N,lは2≦
lである。
z (l, n) = z (l−1, n−1) + r (−1) h (n) (2) where n is 1 ≦ n <N, l is 2 ≦
l.

また、インパルス応答hは、NT次で近似を打ち切り、
h(NT)からh(N−1)は全て0とする。その結果、
前記式は次のように場合分けされる。
Also, the impulse response h is truncated at the NT order,
h (N T ) to h (N−1) are all set to 0. as a result,
The above equation is divided as follows.

nが1≦n<NTで、lが2≦lの場合は、 z(l,n)=z(l−1,n−1)+r(−l)h(n) …… また、nがNT≦n<Nで、2≦lの場合には、 z(l,n)=z(l−1,n−1) …… ただし、ラグlの探索範囲はLmin≦l≦Lmaxとする。When n is 1 ≦ n < NT and 1 is 2 ≦ l, z (l, n) = z (l−1, n−1) + r (−1) h (n) and n Is N T ≦ n <N and 2 ≦ l, z (l, n) = z (l−1, n−1) where the search range of the lag l is L min ≦ l ≦ L max .

従って、以上の〜式から、次のような手順でzが
計算される。
Accordingly, z is calculated from the above equation through the following procedure.

ただし、式において、nは0≦n<Nである。 However, in the formula, n is 0 ≦ n <N.

z(l,0)=r(−1)・h(0) …… ただし、式において、lは、Lmin<l≦Lmaxであ
る。
z (l, 0) = r (−1) · h (0) where l is L min <l ≦ L max .

z(l,n)=z(l−1,n−1)+r(−1)・h
(n) …… ただし、式において、nは1≦n<NT、また、lは
Lmin<l≦Lmaxである。
z (l, n) = z (l-1, n-1) + r (-1) h
(N) In the formula, n is 1 ≦ n <N T , and 1 is
L min <l ≦ L max .

z(l,n)=z(l−1,n−1) …… ただし、式において、nはNT≦n<N、また、lは
Lmin<l≦Lmaxである。
z (l, n) = z (l−1, n−1) where n is NT ≦ n <N and l is
L min <l ≦ L max .

以上の計算式によって得たzを用いて重み付けフィル
ターをかけた信号b′を求め、b′とターゲット信
号pとの差の2乗誤差を評価することで、最適のラグを
選ぶ。
An optimal lag is selected by obtaining a signal b ′ L that has been subjected to a weighting filter using z obtained by the above formula and evaluating the square error of the difference between b ′ L and the target signal p.

[発明が解決しようとする課題] ところで、VSELP符号化方式を実現するには、高速の
信号処理装置を用いることが考えられる。
[Problems to be Solved by the Invention] By the way, in order to realize the VSELP coding method, it is conceivable to use a high-speed signal processing device.

多くの場合、信号処理装置は、複数からなるmビット
のレジスタと(2m+α)ビットのアキュムレータを持
ち、ある1つのレジスタの内容と他のレジスタの内容の
積を求め、その積とアキュムレータの内容の和を求めた
後、その和をアキュムレータに格納する積和演算機能を
持っている。
In many cases, a signal processing device has a plurality of m-bit registers and (2m + α) -bit accumulators, finds the product of the contents of one register and the contents of another register, and calculates the product of the product and the contents of the accumulator. After obtaining the sum, it has a product-sum operation function of storing the sum in the accumulator.

この機能を用いて、例えば、たたみ込み演算などは、
積和演算を適宜数繰り返した後にアキュムレータ中のm
ビットを取り出して計算結果とし、メモリなどに格納す
ることで行う。
Using this function, for example, convolution operation
After repeating the multiply-accumulate operation as appropriate, m in the accumulator
The calculation is performed by extracting bits and storing the result in a memory or the like.

ところが、先の従来技術の計算方法に従うと、ロング
タームフィルターステートrをhでたたみ込んでzを得
る際に、z(Lmin,n)及びz(l,0)を一旦まとめて得
た後、Lmin<l≦Lmaxであるz(l,n)についての再帰
式を求めることになり、積和演算を行って得た(2m+
α)ビットのデータであるz(Lmin,n)をmビットの精
度で一度メモリに格納した後再度それをアキュムレータ
に転送して、z(l,n)を得るための積和演算を再開す
ることになるため、計算精度が途中で落ちてしまうこ
と、及び途中に余分な転送がある分だけ処理時間がかか
ることの2つの問題が発生する。
However, according to the calculation method of the prior art, when convolving the long-term filter state r with h to obtain z, once z (L min , n) and z (l, 0) are once obtained, , L min <l ≦ L max , and a recursive formula for z (l, n) is obtained, which is obtained by performing a product-sum operation (2m +
α) bits of data z (L min , n) are stored once in memory with m-bit precision, then transferred to the accumulator again, and the product-sum operation to obtain z (l, n) is resumed. Therefore, there are two problems that the calculation accuracy is reduced on the way and that the processing time is increased by the extra transfer on the way.

本発明は、前記事情に鑑みてなされたもので、ロング
タームラグ選択部においてロングタームフィルターステ
ートrをhでたたみ込んでzを得る場合に、計算精度を
演算途中で落とすことがなく、しかも演算途中で余分な
転送を行わないで前記zを得ることができるVSELP符号
化器を提供することを目的とする。
The present invention has been made in view of the above circumstances, and when the long-term lag selecting unit convolves the long-term filter state r with h to obtain z, the calculation accuracy does not decrease during the calculation, and An object of the present invention is to provide a VSELP encoder capable of obtaining the above z without performing extra transfer on the way.

[課題を解決するための手段] 本発明に係るVSELP符号化器は、積和演算機能を持つ
処理装置を有するロングタームラグ選択部を備え、最適
なロングタームラグを選択するために、ロングタームフ
ィルターステートr(l)をインパルス応答h(n)で
たたみ込んでz(l,n)を得る処理を、積和演算機能を
持つ処理装置で実行して、音声信号をVSELP符号化する
ものである。
[Means for Solving the Problems] A VSELP encoder according to the present invention includes a long-term lag selecting section having a processing device having a product-sum operation function, and a long-term lag selecting section selects an optimal long-term lag. The processing of convolving the filter state r (l) with the impulse response h (n) to obtain z (l, n) is executed by a processing device having a product-sum operation function, and the audio signal is VSELP-encoded. is there.

具体的には、z(l,n)を求める演算処理を前記lと
nとの組み合わせを変えて繰り返す場合に、先に実行し
た一連の演算処理におけるlとnの双方の値を共に一つ
ずつ増やして、その増やした値で次の演算を行うことを
特徴としている。
Specifically, when the arithmetic processing for obtaining z (l, n) is repeated while changing the combination of l and n, both the values of l and n in the series of arithmetic processing executed earlier are set to one. It is characterized in that the next operation is performed with the increased value.

[作用] 本発明に係るVSELP符号化器は、ロングタームラグを
選択するために、ロングタームフィルターステートr
(l)をインパルス応答h(n)でたたみ込んでz(l,
n)を得る演算処理を繰り返す場合に、先に演算したz
に対するlとnとの値を、それぞれ1ずつ増加させた値
を、次に演算するzのlおよびnの値としたものであ
る。
[Operation] The VSELP encoder according to the present invention employs a long-term filter state r to select a long-term lag.
(L) is convolved with the impulse response h (n) to obtain z (l,
When the calculation process for obtaining n) is repeated, z
The values obtained by increasing the values of l and n with respect to by 1 each are the values of l and n of z to be calculated next.

このような符号化器では、mビットのレジスタと(2m
+α)ビットのアキュムレータとを使って積和演算をす
る処理装置で前記zの演算を繰り返す場合に、一連の演
算の途中でビット長の大きいアキュムレータの内容をビ
ット長の小さいメモリに対して転送せずに順に次のzに
対する演算に移行することができるため、メモリへのデ
ータ転送によって計算精度を演算途中で落とすことがな
くなり、しかも演算途中で余分な転送を行わないで済む
ため、計算時間を短縮することも可能になる。
In such an encoder, an m-bit register and (2m
+ Α) When the arithmetic operation of z is repeated by a processor that performs a product-sum operation using an accumulator of bits, the contents of the accumulator having a large bit length are transferred to a memory having a small bit length during a series of operations. The calculation for the next z can be performed in sequence without any delay, so that the calculation accuracy does not decrease during the calculation due to the data transfer to the memory, and the extra transfer does not need to be performed during the calculation. It can also be shortened.

[実施例] 第1図は、本発明に係るVSELP符号化器の一実施例に
おける要部の処理を具体例で示したものである。
[Embodiment] FIG. 1 shows a specific example of a process of a main part in an embodiment of a VSELP encoder according to the present invention.

この一実施例のVSELP符号化器は、従来のVSELP符号化
方式と比較すると、ロングタームラグ選択部においてz
を得るときの計算順序、即ち、ロングタームフィルター
ステートrをhでたたみ込んでzを得ときの計算順序を
改善したものである。
The VSELP encoder according to this embodiment has a long term lag selecting unit having a z term that is longer than that of the conventional VSELP encoding method.
, That is, the calculation order when z is obtained by convolving the long-term filter state r with h.

この一実施例のVSELP符号化器では、ロングタームラ
グ選択部におけるz(l,n)の演算は、lの値によって
以下の(I)〜(III)の3つの場合に分け、それぞれ
の場合毎に一連の処理を適宜数繰り返すことによって、
所望のz(l,n)を得ることとするが、いずれの場合に
おいても、一連の処理を繰り返すときには、lとnの双
方を共に1つずつ増やして行う。
In the VSELP encoder of this embodiment, the operation of z (l, n) in the long term lag selector is divided into the following three cases (I) to (III) according to the value of l, and in each case By repeating a series of processes as appropriate for each time,
Desired z (l, n) is obtained. In any case, when a series of processing is repeated, both l and n are both increased by one.

即ち、一連の処理を繰り返しす場合、先の一連の処理
では、l=l1,n=n1として、z(l1,n1)を求めたとす
ると、その後に続いて繰り返す一連の処理では、l=l1
+1、n=n1+1として、z(l1+1,n1+1)を演算す
るのである。
That is, when a series of processing is repeated, if z (l 1 , n 1 ) is obtained by setting l = l 1 , n = n 1 in the previous series of processing, the subsequent series of processing is repeated. , L = l 1
+ 1, as n = n 1 +1, is to compute the z (l 1 + 1, n 1 +1).

(I) lがLminより小さい場合は、次に示す処理
〔イ〕,〔ロ〕を一連の処理として、順に実行する。
(I) When 1 is smaller than L min , the following processes [A] and [B] are sequentially executed as a series of processes.

処理〔イ〕 与えられたlおよびnに従い、メモリ上の
r(−l)をレジスタAに格納するとともに、メモリ上
のh(n)をレジスタBに格納する。
Processing [A] According to the given l and n, r (-l) on the memory is stored in the register A and h (n) on the memory is stored in the register B.

処理〔ロ〕 この処理はいわゆる積和処理で、レジスタ
Aに格納されている値とレジスタBに格納されている値
との積を算出し、さらに算出した積値にアキュムレータ
の値を加算して、その結果をアキュムレータに戻す。
Process [b] This process is a so-called product-sum process in which the product of the value stored in the register A and the value stored in the register B is calculated, and the value of the accumulator is added to the calculated product value. , And returns the result to the accumulator.

(II) lがLmin以上で、かつ、nがNTより小さい場合
は、次に示す処理〔ハ〕,〔ニ〕,〔ホ〕を一連の処理
として、順に実行する。
(II) When 1 is equal to or more than L min and n is smaller than NT , the following processes [c], [d], and [e] are sequentially executed as a series of processes.

処理〔ハ〕 この処理は、前述の処理〔イ〕に相当す
る。即ち、与えられたlおよびnに従い、メモリ上のr
(−l)をレジスタAに格納するとともに、メモリ上の
h(n)をレジスタBに格納する。
Process [c] This process corresponds to the process [a] described above. That is, according to given l and n, r on the memory
(−l) is stored in the register A, and h (n) on the memory is stored in the register B.

処理〔ニ〕 この処理はいわゆる積和処理で、前述の処
理〔ロ〕に相当する。即ち、レジスタAに格納されてい
る値とレジスタBに格納されている値との積を算出し、
さらに算出した積値にアキュムレータの値を加算して、
その結果をアキュムレータに戻す。
Processing [d] This processing is a so-called sum-of-products processing, and corresponds to the above-described processing [b]. That is, the product of the value stored in the register A and the value stored in the register B is calculated,
Further, the accumulator value is added to the calculated product value,
The result is returned to the accumulator.

処理〔ホ〕 この処理はいわゆる転送処理で、前述の処
理〔ニ〕でアキュムレータに格納された値をz(l,n)
として転送する。
Process [e] This process is a so-called transfer process, in which the value stored in the accumulator in the above process [d] is z (l, n).
Transfer as

(III) lがLmin以上で、かつ、nがNT以上の場合
は、次に示す処理〔ヘ〕のみを実行する。
(III) When 1 is equal to or greater than L min and n is equal to or greater than NT , only the following process (f) is executed.

処理〔ヘ〕 この処理は、いわゆる転送処理で、アキュ
ムレータに格納された値をz(l,n)として転送するも
のである。
Process [f] This process is a so-called transfer process in which the value stored in the accumulator is transferred as z (l, n).

なお、前述の処理〔イ〕または処理〔ハ〕は、lある
いはnの値によっては初期設定処理となり、lあるいは
nの値によって次の処理〔i〕あるいは〔ii〕の何れか
に置き換えられる。
Note that the above-described process [a] or [c] is an initial setting process depending on the value of l or n, and is replaced by any of the following processes [i] or [ii] depending on the value of l or n.

処理〔i〕 lは“1"でないが、nが“0"の場合の処理
で、与えられたlおよびnに従い、メモリ上のr(−
l)をレジスタAに、そして、メモリ上のh(0)をレ
ジスタBに格納するとともに、さらに、値“0"を前記ア
キュムレータに保持させる。
Process [i] This is a process in which l is not "1" but n is "0". According to given l and n, r (-
1) is stored in the register A, h (0) on the memory is stored in the register B, and the value "0" is stored in the accumulator.

処理〔ii〕 nは“0"でないが、lが“1"の場合の処理
で、与えられたlおよびnに従い、メモリ上のr(−
1)をレジスタAに、そして、メモリ上のh(n)をレ
ジスタBに格納するとともに、さらに、値“0"を前記ア
キュムレータに保持させる。
Process [ii] This is a process in which n is not “0” but l is “1”. According to given l and n, r (−
1) is stored in the register A, h (n) in the memory is stored in the register B, and the value "0" is stored in the accumulator.

次に、前述の処理(I)〜(III)および処理
〔i〕,〔iii〕を具体的に示した第1図について説明
する。
Next, FIG. 1 specifically showing the above-described processes (I) to (III) and processes [i] and [iii] will be described.

第1図において、横軸はzを算出するための“l"の
値、縦軸は“n"の値となっており、図中の“○”印はz
を算出するときのlとnの値を示している。
In FIG. 1, the horizontal axis represents the value of “l” for calculating z, and the vertical axis represents the value of “n”.
And the values of l and n when calculating.

また、第1図において、矢印“”は処理(I)によ
るz(l,n)の算出順序、矢印“⇒”は処理(II)によ
るz(l,n)の算出順序、矢印“→”は処理(III)によ
るz(l,n)の算出順序を示している。
In FIG. 1, the arrow "" indicates the calculation order of z (l, n) by the process (I), the arrow "⇒" indicates the calculation order of z (l, n) by the process (II), and the arrow "→" Indicates the calculation order of z (l, n) in the process (III).

また、符号Q1を付した“○”印は前述の処理〔i〕の
該当箇所であり、符号Q2を付した“○”印は前述の処理
〔ii〕の該当箇所である。
Further, the "○" mark by symbol Q 1 a corresponding part of the process described above [i], subjected was "○" mark code Q 2 is relevant part of the process described above [ii].

この第1図は、例えば、z(−2,0)を演算した場合
には、次にはz(−3,1)を演算し、さらに次にはz
(−4,2)を演算することを示している。また、例え
ば、z(−3,36)を演算した場合には、次にはz(−4,
37)を演算し、さらに次にはz(−5,38)を演算するこ
とを示している。
FIG. 1 shows that, for example, when z (−2,0) is calculated, z (−3,1) is calculated, and then z (−3,1) is calculated.
(−4,2) is calculated. Also, for example, when z (−3,36) is calculated, next, z (−4,
37), and then z (−5,38).

このように、一実施例では、先に演算したときのlと
nとの値を、それぞれ1ずつ増加させた値を、次に演算
するzのlおよびnの値としており、このような演算処
理を進めてゆく。
As described above, in one embodiment, the values of l and n previously calculated are each increased by 1, and the values of l and n of z to be calculated next are the values of such calculations. Proceed with the process.

従って、mビットのレジスタと(2m+α)ビットのア
キュムレータとを使って積和演算をする処理装置で前記
zの演算を繰り返す場合に、一連の演算の途中でビット
長の大きいアキュムレータの内容をビット長の小さいメ
モリに対して転送せずに順に次のzに対する演算に移行
することができるため、メモリへのデータ転送によって
計算精度を演算途中で落とすことがなくなり、しかも演
算途中で余分な転送を行わないで済むため、計算時間を
短縮することも可能になる。
Therefore, when the above-mentioned operation of z is repeated in a processor which performs a product-sum operation using an m-bit register and an (2m + α) -bit accumulator, the contents of the accumulator having a large bit length are converted into a bit length during a series of operations. It is possible to sequentially shift to the operation for the next z without transferring to a memory having a small size, so that the data transfer to the memory does not reduce the calculation accuracy in the middle of the calculation, and extra transfer is performed in the middle of the calculation. Since it is not necessary, the calculation time can be shortened.

[発明の効果] 本発明に係るVSELP符号化器は、ロングタームラグを
選択するために、ロングタームフィルターステートr
(l)をインパルス応答h(n)でたたみ込んでz(l,
n)を得る演算処理を繰り返す場合に、先に演算したz
に対するlとnとの値を、それぞれ1ずつ増加させた値
を、次に演算するzのlおよびnの値としたものであ
る。
[Effect of the Invention] The VSELP encoder according to the present invention uses a long-term filter state r to select a long-term lag.
(L) is convolved with the impulse response h (n) to obtain z (l,
When the calculation process for obtaining n) is repeated, z
The values obtained by increasing the values of l and n with respect to by 1 each are the values of l and n of z to be calculated next.

このような符号化器では、mビットのレジスタと(2m
+α)ビットのアキュムレータとを使って積和演算をす
る処理装置で前記zの演算を繰り返す場合に、一連の演
算の途中でビット長の大きいアキュムレータの内容をビ
ット長の小さいメモリに対して転送せずに順に次のzに
対する演算に移行することができるため、メモリへのデ
ータ転送によって計算精度を演算途中で落とすことがな
くなり、しかも演算途中で余分な転送を行わないで済む
ため、計算時間を短縮することも可能になる。
In such an encoder, an m-bit register and (2m
+ Α) When the arithmetic operation of z is repeated by a processor that performs a product-sum operation using an accumulator of bits, the contents of the accumulator having a large bit length are transferred to a memory having a small bit length during a series of operations. The calculation for the next z can be performed in sequence without any delay, so that the calculation accuracy does not decrease during the calculation due to the data transfer to the memory, and the extra transfer does not need to be performed during the calculation. It can also be shortened.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の一実施例における演算手順の説明図で
ある。
FIG. 1 is an explanatory diagram of a calculation procedure in one embodiment of the present invention.

フロントページの続き (56)参考文献 特開 平4−190399(JP,A) Proceedings of IE EE 1990 Internationa l Conference on Ac oustics,Speech and Signal Processin g,Vol.1,”S9.3 Vect or Sum Excited Lin ear Prediction(VSE LP)Speech Coding a t 8 kbps”p.461−464,Ap ril 3−6,1990 (58)調査した分野(Int.Cl.7,DB名) G10L 11/00 - 13/08 G10L 19/00 - 21/06 INSPEC(DIALOG) JICSTファイル(JOIS) WPI(DIALOG)Continuation of the front page (56) References JP-A-4-190399 (JP, A) Proceedings of IEEE 1990 International Conference on Acoustics, Speech and Signal Processing, Vol. 1, "S9.3 Vector or Sum Excited Line near Prediction (VSE LP) Speech Coding at 8 kbps" p. 461-464, April 3-6, 1990 (58) Fields investigated (Int. Cl. 7 , DB name) G10L 11/00-13/08 G10L 19/00-21/06 INSPEC (DIALOG) JICST file ( JOIS) WPI (DIALOG)

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】音声信号をLPC分析して、LPC係数と音声平
均パワーを算出するLPC分析部と、 前記LPC係数及び前記音声信号に基づいて、ターゲット
信号を生成するターゲット信号生成部と、 前記LPC係数、前記ターゲット信号及びロングタームフ
ィルタステータスに基づいて、最適なロングタームラグ
を選択するとともに、前記最適なロングタームラグに対
応する最適なロングタームコードを出力するロングター
ムラグ選択部と、 前記LPC係数、前記ターゲット信号及び前記最適なロン
グタームコードに基づいて、最適コードを出力するコー
ド選択部と、 前記LPC係数、前記音声平均パワー、前記ターゲット信
号、前記最適なロングタームコード及び前記最適コード
に基づいて、前記最適なロングタームコード、前記最適
コードにそれぞれ対応するゲインを選択するゲイン選択
部と、を備えるVSELP符号化器であって、 前記ロングタームラグ選択部は、積和演算機能を有する
処理装置を有し、前記最適なロングタームラグを選択す
るために、前記ロングタームフィルタステートをインパ
ルス応答でたたみ込んでz(l,n)を求める一連の演算
処理を実行し、前記lとnとの組み合わせを変えて繰り
返す場合には、先に実行した一連の演算処理におけるl
とnの双方の値を共に一つずつ増やして、その増やした
値で次の演算を行うことを特徴としたVSELP符号化器。
An LPC analysis unit that analyzes an audio signal to calculate an LPC coefficient and an average audio power; a target signal generation unit that generates a target signal based on the LPC coefficient and the audio signal; Based on the LPC coefficient, the target signal, and the long-term filter status, select an optimal long-term lag, and output a long-term lag selecting unit that outputs an optimal long-term code corresponding to the optimal long-term lag; A code selector that outputs an optimal code based on the LPC coefficient, the target signal, and the optimal long-term code; and the LPC coefficient, the audio average power, the target signal, the optimal long-term code, and the optimal code. Based on the optimal long-term code and the gay code corresponding to the optimal code, respectively. A long term lag selector, comprising: a processing device having a product-sum operation function, for selecting the optimum long term lag. When the long-term filter state is convoluted with an impulse response to execute a series of arithmetic processing for obtaining z (l, n), and when the combination of l and n is changed and repeated, a series of previously executed L in arithmetic processing
A VSELP encoder characterized by increasing both values of n and n one by one and performing the next operation with the increased values.
JP02318136A 1990-11-26 1990-11-26 VSELP encoder Expired - Lifetime JP3095769B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02318136A JP3095769B2 (en) 1990-11-26 1990-11-26 VSELP encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02318136A JP3095769B2 (en) 1990-11-26 1990-11-26 VSELP encoder

Publications (2)

Publication Number Publication Date
JPH04190400A JPH04190400A (en) 1992-07-08
JP3095769B2 true JP3095769B2 (en) 2000-10-10

Family

ID=18095907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02318136A Expired - Lifetime JP3095769B2 (en) 1990-11-26 1990-11-26 VSELP encoder

Country Status (1)

Country Link
JP (1) JP3095769B2 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Proceedings of IEEE 1990 International Conference on Acoustics,Speech and Signal Processing,Vol.1,"S9.3 Vector Sum Excited Linear Prediction(VSELP)Speech Coding at 8 kbps"p.461−464,April 3−6,1990

Also Published As

Publication number Publication date
JPH04190400A (en) 1992-07-08

Similar Documents

Publication Publication Date Title
JP3224955B2 (en) Vector quantization apparatus and vector quantization method
JPH0990995A (en) Speech coding device
CN101847414B (en) Method and apparatus for voice coding
JP2002268686A (en) Voice coder and voice decoder
JP2970407B2 (en) Speech excitation signal encoding device
JP3531780B2 (en) Voice encoding method and decoding method
JP3095133B2 (en) Acoustic signal coding method
KR100465316B1 (en) Speech encoder and speech encoding method thereof
JP3095769B2 (en) VSELP encoder
JPWO2008072732A1 (en) Speech coding apparatus and speech coding method
JP3148778B2 (en) Audio encoding method
JP3263347B2 (en) Speech coding apparatus and pitch prediction method in speech coding
JP2946525B2 (en) Audio coding method
JP3249144B2 (en) Audio coding device
JP3256215B2 (en) Audio coding device
JP3194930B2 (en) Audio coding device
JP3252285B2 (en) Audio band signal encoding method
JPH07168596A (en) Voice recognizing device
JP3192051B2 (en) Audio coding device
JP3102017B2 (en) Audio coding method
JP3002299B2 (en) Audio coding device
JPH08320700A (en) Sound coding device
JP3207466B2 (en) Coding method of pitch synthesis filter
JP3071800B2 (en) Adaptive post filter
JP3353252B2 (en) Audio coding method

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070804

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080804

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090804

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090804

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100804

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100804

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110804

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110804

Year of fee payment: 11