JPH07271397A - Voice encoding device - Google Patents

Voice encoding device

Info

Publication number
JPH07271397A
JPH07271397A JP6065265A JP6526594A JPH07271397A JP H07271397 A JPH07271397 A JP H07271397A JP 6065265 A JP6065265 A JP 6065265A JP 6526594 A JP6526594 A JP 6526594A JP H07271397 A JPH07271397 A JP H07271397A
Authority
JP
Japan
Prior art keywords
vector
drive
driving
speech
vectors
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.)
Granted
Application number
JP6065265A
Other languages
Japanese (ja)
Other versions
JP3471889B2 (en
Inventor
Ko Amada
皇 天田
Masami Akamine
政巳 赤嶺
Kimio Miseki
公生 三関
Susumu Kanba
進 神庭
Masahiro Oshikiri
正浩 押切
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP06526594A priority Critical patent/JP3471889B2/en
Publication of JPH07271397A publication Critical patent/JPH07271397A/en
Application granted granted Critical
Publication of JP3471889B2 publication Critical patent/JP3471889B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To provide a voice encoding device in which a high precision preselection of driving vectors is accomplished, the number of candidates of the driving vectors is reduced while keeping the high quality of encoded voices and the amount of computations for a final selection is reduced. CONSTITUTION:The device is provided with a driving vector generating section 101, a synthetic filter 102 which receives the generated driving vectors and generates synthetic voice vectors, a preselection section 104 which selects at least one driving vector from the generated driving vectors and a final selection section 105 which selects an optimum driving vector from the selected driving vector by the section 104. The section 104 selects the driving vector which makes the size of the inner product value of a target vector obtained from an inputted voice and the synthetic voice vector larger than the value of the driving vector that is weighted by a weighting function in which the driving vector is made as a parameter.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、線形予測分析型の音声
符号化装置、特にCELPなどの複数の駆動ベクトルを
合成フィルタに入力し、得られた合成音声ベクトルと入
力音声を聴感重みの下で比較して歪みを最小にする駆動
ベクトルを符号帳から探索する音声符号化装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a linear predictive analysis type speech coding apparatus, in particular, a plurality of driving vectors such as CELP are input to a synthesis filter, and the obtained synthesized speech vector and the input speech are weighted under a perceptual weight. The present invention relates to a speech coder that searches a codebook for a drive vector that minimizes distortion by comparing the above.

【0002】[0002]

【従来の技術】電話帯域の音声を4kbps程度の伝送
レートで符号化する方式として、CELP( Code Excit
ed Linear Prediction )方式は有効な方式の一つであ
る。このCELP方式での処理は、フレーム単位に分割
された入力音声から声道をモデル化した音声合成フィル
タを求める処理と、このフィルタの入力信号に当たる駆
動ベクトルを求める処理に大別される。これらのうち、
後者は符号帳に格納された複数の駆動ベクトルを一つず
つ音声合成フィルタに通し、合成音声と入力音声を比較
する符号帳探索と呼ばれる処理が必要であり、この処理
は多くの計算量を必要とする。本発明は符号帳探索にお
ける計算量削減に関するものである。
2. Description of the Related Art CELP (Code Excit) is used as a method for encoding telephone band voice at a transmission rate of about 4 kbps.
The ed Linear Prediction) method is one of the effective methods. The processing by the CELP method is roughly divided into a processing for obtaining a voice synthesis filter that models a vocal tract from input speech divided into frame units, and a processing for obtaining a drive vector corresponding to an input signal of this filter. Of these,
The latter requires a process called codebook search that compares the synthesized speech with the input speech by passing multiple drive vectors stored in the codebook one by one through a speech synthesis filter, and this processing requires a large amount of calculation. And The present invention relates to reduction of calculation amount in codebook search.

【0003】CELP方式に関しては、例えばM.R.Schr
oeder and B.S.Atal,"Code ExcitedLinear Prediction
(CELP): High Auality Speech at Very Low Bit Rate
s", Proc. ICASSP,pp.937-940, 1985 および W.S.Klei
jin, D.J.Krasinski et al. "ImprovedSpeech Quality
and Efficient Vector Quantization in SELP", Proc.I
CASSP, pp.155-158, 1988 で詳しく述べられている。
Regarding the CELP method, for example, MRSchr
oeder and BSAtal, "Code ExcitedLinear Prediction
(CELP): High Auality Speech at Very Low Bit Rate
s ", Proc. ICASSP, pp.937-940, 1985 and WSKlei
jin, DJKrasinski et al. "Improved Speech Quality
and Efficient Vector Quantization in SELP ", Proc.I
CASSP, pp.155-158, 1988.

【0004】図9は、CELP方式による音声符号化装
置の概略を示すブロック図である。まず、符号帳探索に
ついて説明する。駆動ベクトルとしては2系統が用意さ
れており、これらは適応符号帳901と雑音符号帳90
2に格納されている。適応符号帳901は過去の駆動ベ
クトル群を格納した可変の符号帳であるのに対し、雑音
符号帳902は決まったパターンを複数格納している固
定の符号帳である。端子906に入力される入力音声ベ
クトルRを線形予測分析部907で分析し、合成フィル
タ908の特性を求めた後、適応符号帳901および雑
音符号帳902からそれぞれ1つずつ最適な駆動ベクト
ルを選び出す。
FIG. 9 is a block diagram showing an outline of a speech coding apparatus based on the CELP method. First, the codebook search will be described. Two systems are prepared as drive vectors. These are adaptive codebook 901 and random codebook 90.
Stored in 2. The adaptive codebook 901 is a variable codebook that stores past drive vector groups, whereas the noise codebook 902 is a fixed codebook that stores a plurality of fixed patterns. The linear prediction analysis unit 907 analyzes the input speech vector R input to the terminal 906, obtains the characteristics of the synthesis filter 908, and then selects one optimal driving vector from each of the adaptive codebook 901 and the noise codebook 902. .

【0005】具体的には、符号帳901,902から一
つずつ取り出された駆動ベクトルを合成フィルタ908
に通し、得られた出力(合成音声ベクトル)を入力音声
ベクトルRと比較して、入力音声ベクトルRに最も近い
最適合成音声ベクトルを生成する駆動ベクトルを符号帳
901,902から探索する。
Specifically, the drive vectors extracted one by one from the codebooks 901 and 902 are combined into a synthesis filter 908.
Then, the obtained output (synthesized speech vector) is compared with the input speech vector R, and the codebooks 901 and 902 are searched for the drive vector that produces the optimum synthesized speech vector that is closest to the input speech vector R.

【0006】次に、駆動ベクトルの探索方法を数式を用
いて説明する。符号帳901,902から取り出された
i番目の駆動ベクトルをyi、これを合成フィルタ90
8に通して得られた合成音声ベクトルをYi、入力音声
ベクトルをRと表すとき、次式に示すYiとRの差の2
乗和、 E=|R−αYi|2 (1) を最小にする駆動ベクトルyiを探索するのが一般的で
ある。但し、αはyiが選ばれた場合の最適ゲインであ
り、図9ではゲイン回路903,904によって付与さ
れる。この式をαで偏微分した式をゼロとおくことによ
り、最適ゲインαが求まる。これを式(1)に代入して
整理すると、 R=|R|2 −(R,Yi)2 /|Yi|2 (2) となる。この式の第1項は駆動ベクトルによらない定数
だから、最適ゲインαのもとで最適な駆動ベクトルを探
すことは式(2)の第2項; (R,Yi)2 /|Yi|2 (3) を評価式とし、これを最大にするyiを探すことに等し
い。全ての候補についてこの評価式を計算するため、符
号帳探索はCELP方式全体の中で最も計算量を必要と
する部分である。
Next, a method for searching the drive vector will be described using mathematical expressions. The i-th drive vector extracted from the codebooks 901 and 902 is yi, and this is the synthesis filter 90.
When the synthesized speech vector obtained through 8 is denoted by Yi and the input speech vector is denoted by R, the difference between Yi and R expressed by the following equation is 2
It is general to search for a drive vector yi that minimizes the sum of multiplications, E = | R−αYi | 2 (1). However, α is the optimum gain when yi is selected, and is given by the gain circuits 903 and 904 in FIG. The optimum gain α can be obtained by setting the expression obtained by partially differentiating this expression by α to zero. By substituting this into the equation (1) and rearranging, R = | R | 2 − (R, Yi) 2 / | Yi | 2 (2). Since the first term of this equation is a constant that does not depend on the driving vector, searching for the optimal driving vector under the optimal gain α is the second term of the equation (2); (R, Yi) 2 / | Yi | 2 This is equivalent to using (3) as an evaluation expression and finding yi that maximizes this. Since this evaluation formula is calculated for all the candidates, the codebook search is the part that requires the most calculation amount in the entire CELP method.

【0007】そこで簡略化した評価式を用いて、M個の
駆動ベクトル候補からなる符号帳の中からN個の候補
(1<N<M)を選び、これらN個の候補の中から上記
の評価式を用いて最適な候補を1 つに絞るという手法が
提案されている。この手法は、詳しくは特開平5−10
0697で述べられている。符号帳から得られるM個の
駆動ベクトルから次の評価式; E=(R,Yi)2 (4) を大きくするN個を選ぶ前半の作業は予備選択と呼ば
れ、N個の候補を式(3)を用いて1つに絞る後半の作
業は本選択と呼ばれている。この手法によれば、計算量
のかかる本選択は予備選択で選ばれたN個に対して行う
だけで済み、予備選択をせずに符号帳のM個の候補全て
に対して本選択を行う場合に比べ大幅に計算量が削減で
きる。
Therefore, using a simplified evaluation formula, N candidates (1 <N <M) are selected from the codebook consisting of M driving vector candidates, and the above-mentioned N candidates are selected from the above candidates. A method has been proposed that uses an evaluation formula to narrow down the optimal candidates to one. This method is described in detail in JP-A-5-10.
0697. The following evaluation formula is obtained from M drive vectors obtained from the codebook; E = (R, Yi) 2 (4) The first half of the work to select N is called preselection, and N candidates are calculated. The work in the latter half of narrowing down to one using (3) is called main selection. According to this method, the main selection, which requires a large amount of calculation, only needs to be performed for N selected in the preliminary selection, and the main selection is performed for all M candidates of the codebook without performing the preliminary selection. The amount of calculation can be reduced significantly compared to the case.

【0008】この従来の予備選択法は、式(3)の分母
に当たるYiのパワがほぼ一定であるという仮定に基づ
いていると考えられる。しかし、実際にはパワ|Yi|
2 は駆動ベクトルyiのパワが必ずしも一定でないこと
や、たとえ一定だとしても合成フィルタの利得が駆動ベ
クトルに依存し定数にならないことを考えると、パワ|
Yi|2 を一定とする仮定には無理があり、これが予備
選択の精度の低下を招いているという問題があった。
It is considered that this conventional pre-selection method is based on the assumption that the power of Yi corresponding to the denominator of equation (3) is almost constant. However, in reality power | Yi |
Considering 2 is that the power of the drive vector yi is not always constant, and even if it is constant, the gain of the synthesis filter depends on the drive vector and does not become a constant.
There is a problem in that the assumption that Yi | 2 is constant is unreasonable, which causes a decrease in the accuracy of preselection.

【0009】近年、古典的なCELP方式で提案された
雑音符号帳を使用することは少なくなっており、計算量
およびメモリ量を削減し、より高音質な符号化音声を得
るために、構造化された雑音符号帳を用いることが多
い。例えば、長い1本の雑音信号から1フレーム分の駆
動ベクトルを一つ前の駆動部ベクトルと重ねながら切り
出してくるオーバーラッピング符号帳、適応ベクトル検
索部で得られたピッチ情報を基に駆動ベクトルを周期化
するピッチ同期型符号帳、一つの駆動ベクトルをサンプ
ル間に挟み込む0の数を変えて使用する適応密度符号帳
などがある。
In recent years, the noise codebook proposed in the classical CELP method has been used less frequently, and the structured code is used in order to reduce the calculation amount and the memory amount and obtain a coded voice with higher sound quality. Often, a random codebook is used. For example, based on the pitch information obtained by the overlapping codebook and the adaptive vector search unit, which extracts a drive vector for one frame from one long noise signal while overlapping it with the previous drive unit vector. There are pitch-synchronized codebooks that are made periodic, and adaptive density codebooks that use one drive vector by changing the number of 0s sandwiched between samples.

【0010】これら構造化された符号帳は構造上、駆動
ベクトルのパワを一定にしづらい仕組みになっており、
このような状況で|Yi|2 が一定と仮定する従来の予
備選択法を用いることは予備選択の精度を低下させ、結
果的に符号化音声の品質を劣化させる。また、符号化音
声の品質を保つために予備選択で残す候補数を増やす
と、本選択での計算量が増加してしまうという問題が生
じる。
Due to the structure of these structured codebooks, it is difficult to keep the power of the drive vector constant.
In such a situation, the use of the conventional pre-selection method, which assumes that | Yi | 2 is constant, reduces the accuracy of pre-selection and consequently deteriorates the quality of coded speech. Further, if the number of candidates to be left in the preliminary selection is increased in order to maintain the quality of the coded voice, there is a problem that the amount of calculation in the main selection increases.

【0011】[0011]

【発明が解決しようとする課題】上述したように、構造
化された符号帳を用いて駆動ベクトルの予備選択を行う
場合、駆動ベクトルのパワが一定でないために、従来の
予備選択法では駆動ベクトルの選択精度が必ずしも良い
とは言えないという問題があった。
As described above, when the preselection of the drive vector is performed by using the structured codebook, the power of the drive vector is not constant. Therefore, the conventional preselection method uses the drive vector. There was a problem that the selection accuracy of was not necessarily good.

【0012】本発明は、駆動ベクトルの高精度な予備選
択を可能として、本選択に渡す駆動ベクトルの候補数を
符号化音声の品質を保ったまま削減でき、符号化に要す
る計算量の大半を占める本選択での計算量を低下させる
ことを可能とした音声符号化装置を提供することを目的
とする。
The present invention enables highly accurate preselection of drive vectors and can reduce the number of drive vector candidates to be passed to the main selection while maintaining the quality of the encoded speech, and most of the calculation amount required for encoding is reduced. It is an object of the present invention to provide a speech coding apparatus capable of reducing the calculation amount in this selection.

【0013】[0013]

【課題を解決するための手段】本発明は、駆動ベクトル
を生成する駆動ベクトル生成手段と、この駆動ベクトル
生成手段により生成された駆動ベクトルを入力して合成
音声ベクトルを生成する合成手段と、駆動ベクトル生成
手段により生成された駆動ベクトルから少なくとも一つ
の駆動ベクトルを選択する予備選択手段と、この予備選
択手段により選択された駆動ベクトルから最適な駆動ベ
クトルを選択する本選択手段とを有する音声符号化装置
において、予備選択手段を駆動ベクトルのパワに基づく
重み係数で重み付けされた評価式によって駆動ベクトル
の予備選択を行うように構成したことを骨子とする。
According to the present invention, a drive vector generating means for generating a drive vector, a synthesizing means for receiving a drive vector generated by the drive vector generating means and generating a synthesized voice vector, and a drive Speech coding having preselection means for selecting at least one drive vector from the drive vectors generated by the vector generation means, and main selection means for selecting an optimum drive vector from the drive vectors selected by the preselection means The essence of the apparatus is that the preselection means is configured to preselect drive vectors by an evaluation formula weighted by a weighting coefficient based on the power of drive vectors.

【0014】すなわち、第1の発明では所定の単位期間
に分割された入力音声から得られる目標ベクトルと合成
音声ベクトルとの内積値の大きさを駆動ベクトル生成手
段により生成された駆動ベクトルをパラメータとする重
み関数で重み付けした値をより大きくする駆動ベクトル
を選択するように予備選択手段を構成する。
That is, in the first aspect of the invention, the magnitude of the inner product value of the target vector and the synthesized speech vector obtained from the input speech divided into the predetermined unit period is the driving vector generated by the driving vector generation means as a parameter. The pre-selection unit is configured to select the drive vector that makes the value weighted by the weighting function larger.

【0015】これを数式で表すと、駆動ベクトル生成手
段から生成されるM個の駆動ベクトルyi(i=1,
…,M)をそれぞれ合成手段に入力して、目標ベクトル
Rに最も近い合成音声ベクトルを出力する駆動ベクトル
を探し出す場合、予備選択手段において、yiをパラメ
ータとする重み係数W(yi)を用いた予備選択の評価
式; E=W(yi)(R,Yi)2 (5) の値を大きくするN個(1<N<M)のyiを予備選択
候補として選び出す。ただし、Yiはyiを音声合成手
段に入力して得られた出力である。
When this is expressed by a mathematical expression, M driving vectors yi (i = 1, 1, which are generated from the driving vector generating means).
, M) are input to the synthesizing means to search for a driving vector that outputs the synthesized speech vector closest to the target vector R, the weighting coefficient W (yi) having yi as a parameter is used in the preliminary selecting means. Preliminary selection evaluation formula; E = W (yi) (R, Yi) 2 (5) N y (1 <N <M) yi for increasing the value are selected as preliminary selection candidates. However, Yi is an output obtained by inputting yi to the voice synthesizing means.

【0016】また、第2の発明では駆動ベクトル生成手
段が符号帳を有し、該符号帳から所定のインデックスで
指定された一つの駆動ベクトルを切り出して生成する場
合、所定の単位期間に分割された入力音声から得られる
目標ベクトルと合成音声ベクトルとの内積値の大きさを
駆動ベクトル生成手段の符号帳に格納された過去の駆動
ベクトル群およびインデックスをパラメータとする重み
関数で重み付けした値をより大きくする少なくとも一つ
の駆動ベクトルを選択するように予備選択手段を構成す
る。
In the second invention, the drive vector generating means has a codebook, and when one drive vector specified by a predetermined index is cut out from the codebook and is generated, it is divided into predetermined unit periods. The value obtained by weighting the size of the inner product value of the target vector obtained from the input speech and the synthesized speech vector by a weighting function using the past drive vector group and the index stored in the codebook of the drive vector generation means as parameters The preselection means is configured to select at least one drive vector to be increased.

【0017】これを数式で表すと、符号帳に格納された
駆動ベクトル群をCとし、インデックスをiとしたと
き、目標ベクトルRに最も近い合成音声ベクトルを出力
する駆動ベクトルを探し出す場合、予備選択手段におい
て、Cとiをパラメータとする重み係数W(C,i)を
用いた予備選択の評価式; E=W(C,i)(R,Yi)2 (6) の値を大きくする駆動ベクトルを予備選択候補として選
び出す。
When this is expressed by a mathematical expression, when a drive vector group stored in the codebook is C and an index is i, when a drive vector that outputs a synthesized voice vector closest to the target vector R is searched for, preselection is performed. In the means, a preselection evaluation formula using a weighting coefficient W (C, i) having C and i as parameters; E = W (C, i) (R, Yi) 2 (6) Drive for increasing the value of Select a vector as a preliminary selection candidate.

【0018】さらに、第3の発明では所定の単位期間に
分割された入力音声から得られる目標ベクトルと最適合
成音声ベクトルを求めた後、合成手段により生成された
合成音声ベクトルを最適合成音声ベクトルに対し直交化
した直交化ベクトルを求め、この直交化ベクトルと目標
ベクトルの内積値の大きさを駆動ベクトル生成手段によ
り生成された駆動ベクトルをパラメータとする重み係数
で重み付けした値をより大きくする駆動ベクトルを選択
するように予備選択手段を構成する。
Further, in the third invention, after obtaining the target vector and the optimum synthesized speech vector obtained from the input speech divided into the predetermined unit period, the synthesized speech vector generated by the synthesizing means is made into the optimal synthesized speech vector. A driving vector that obtains an orthogonalized vector that has been orthogonalized, and increases the value obtained by weighting the size of the inner product value of the orthogonalized vector and the target vector with a weighting factor using the driving vector generated by the driving vector generation means as a parameter The pre-selection means is configured to select.

【0019】これを数式で説明すると、目標ベクトルR
を近似する最適合成音声ベクトルXが既に求まっている
条件のもとで、Rを近似する2つ目の合成音声ベクトル
を出力する駆動ベクトルを駆動ベクトル生成手段から生
成されるM個の駆動ベクトルyi(i=1,…M)の中
から探索する場合、yiの合成音声ベクトルYiをXに
対し直交化して、直交化ベクトルYviを求めた後、y
iをパラメータとする重み係数W(yi)を用いた予備
選択の評価式; E=W(yi)(R,Yvi)2 (7) の値を大きくするN個(1<N<M)のyiを予備選択
候補として選び出す。
Describing this using mathematical expressions, the target vector R
Under the condition that the optimum synthesized speech vector X approximating R is already obtained, M driving vectors yi generated from the driving vector generating means are driving vectors for outputting the second synthesized speech vector approximating R. When searching from among (i = 1, ... M), the synthesized speech vector Yi of yi is orthogonalized to X to obtain an orthogonalized vector Yvi, and then y
Preliminary selection evaluation formula using weighting factor W (yi) with i as a parameter; E = W (yi) (R, Yvi) 2 (7) N (1 <N <M) increasing the value of Select yi as a preliminary selection candidate.

【0020】[0020]

【作用】本発明における予備選択での評価式; E=W(yi)(R,Yi)2 (8) は、次の根拠に基づき重みW(yi)を掛けない従来の
予備選択の評価式である式(4)より精度が高いと言え
る。
The evaluation formula in the preselection according to the present invention; E = W (yi) (R, Yi) 2 (8) is a conventional preselection evaluation formula which is not multiplied by the weight W (yi) based on the following grounds. It can be said that the accuracy is higher than the equation (4).

【0021】本選択の評価式である式(3)の分母は合
成音声ベクトルのパワであり、駆動ベクトルyiと合成
フィルタの利得G(yi)を用いて |Yi|2 =G(yi)2 |yi|2 (9) と表せる。G(yi)はyiによって異なる値を取る
が、yiのスペクトルの形がほぼ同じであれば、一定値
と仮定することができる。実際に符号帳は雑音系列など
で構成されることが多く、駆動ベクトル間でスペクトル
の分布はそれほど大きく異ならないのが普通である。そ
のためG(yi)を一定値と仮定するのは現実的であ
り、G=G(yi)と定数と置くことにより式(9)
は、 |Yi|2 =G2 |yi|2 (10) と書ける。この式は合成音声ベクトルYiのパワは駆動
ベクトルyiのパワに合成フィルタの利得にあたる定数
Gの2乗を掛ければ推定できることを表している。ここ
で、予め符号帳に含まれる駆動ベクトルのパワが仮に一
定値だと仮定すれば、式(9)はさらに |Yi|2 =G2 2 (11) となり、|Yi|2 は定数となる。その結果、式(3)
の評価式の大小を比較するには分子だけで近似的な評価
が可能になるわけである。従来法は主にこの仮定に基づ
き分母|Yi|2 を定数とおいて評価式の大小を比較し
ていると考えられる、しかし、従来の技術の項で述べた
ように、構造化された符号帳が用いられる近年の状況を
考慮すると、この仮定は予備選択の評価式の精度を低下
させる原因になっている。一方、本発明の評価式では重
み係数W(yi)を駆動ベクトルyiのパワーの逆数1
/|Yi|2 とおけば、駆動ベクトルのパワを評価式に
含めることができるのでその分、評価式の精度が向上す
る。また、パワーの逆数を得るのが困難な場合はその推
定値を用いても、定数とする従来法より精度は良い。ま
た、従来法は本発明においてW(yi)=1とおいた特
殊な場合と考えることもできる。
The denominator of the expression (3), which is the evaluation expression of this selection, is the power of the synthetic speech vector, and | Yi | 2 = G (yi) 2 using the drive vector yi and the gain G (yi) of the synthetic filter. It can be expressed as | yi | 2 (9). G (yi) takes different values depending on yi, but if the shape of the spectrum of yi is almost the same, it can be assumed to be a constant value. In practice, the codebook is often composed of noise sequences and the like, and the distribution of the spectra does not differ greatly between drive vectors. Therefore, it is realistic to assume that G (yi) is a constant value, and by setting G = G (yi) as a constant, equation (9)
Can be written as | Yi | 2 = G 2 | yi | 2 (10). This expression shows that the power of the synthetic speech vector Yi can be estimated by multiplying the power of the driving vector yi by the square of the constant G which is the gain of the synthetic filter. Here, assuming that the power of the drive vector included in the codebook is a constant value in advance, equation (9) further becomes | Yi | 2 = G 2 y 2 (11), and | Yi | 2 is a constant. Become. As a result, formula (3)
In order to compare the size of the evaluation formulas of, it is possible to make an approximate evaluation using only the molecule. It is considered that the conventional method mainly compares the magnitudes of the evaluation formulas with the denominator | Yi | 2 as a constant based on this assumption. However, as described in the section of the prior art, the structured codebook Considering the recent situation in which is used, this assumption causes the accuracy of the preselection evaluation formula to decrease. On the other hand, in the evaluation formula of the present invention, the weight coefficient W (yi) is set to the reciprocal 1 of the power of the drive vector yi.
When / │Yi | 2 is set, the power of the drive vector can be included in the evaluation formula, and the accuracy of the evaluation formula is improved accordingly. Further, when it is difficult to obtain the reciprocal of the power, even if the estimated value is used, the accuracy is better than that of the conventional method using the constant. Also, the conventional method can be considered as a special case where W (yi) = 1 in the present invention.

【0022】ところで、予備選択で選ぶ候補数Nは評価
式の簡略化の精度と関係が深く、精度の良い簡略化を行
えばNは小さな値で済み、その結果、本選択で必要とさ
れる計算量も小さくなる。簡略化をし過ぎ精度を損なう
と、符号化音声の品質を維持するためにはNを大きくせ
ざるを得ず、結果として本選択での計算量が増大してし
まう。つまり、評価式を精度を落さずにいかに簡略化す
るかが予備選択のポイントと考えられる。
By the way, the number N of candidates to be selected in the preliminary selection is closely related to the precision of the simplification of the evaluation formula, and if the simplification is performed with high precision, N can be a small value, and as a result, it is required in the main selection. The amount of calculation is also small. If over-simplification is impaired in accuracy, N must be increased in order to maintain the quality of coded speech, resulting in an increase in the amount of calculation in this selection. In other words, it is considered that the point of preliminary selection is how to simplify the evaluation formula without lowering the accuracy.

【0023】本発明に基づく評価式を用いると、上述し
たように予備選択の精度が向上するので、本選択に渡す
候補数を符号化音声の品質を保ったまま削減でき、本選
択の計算量を低下させることが可能になる。本選択での
計算量は符号化装置全体の計算量の大半を占めているた
め、結果として符号化装置全体の計算量を大きく削減さ
せる効果がある。
When the evaluation formula based on the present invention is used, the accuracy of the preliminary selection is improved as described above, so that the number of candidates to be passed to the main selection can be reduced while maintaining the quality of the coded speech, and the calculation amount of the main selection can be reduced. Can be reduced. The calculation amount in this selection occupies most of the calculation amount of the entire encoding device, and as a result, the calculation amount of the entire encoding device is significantly reduced.

【0024】[0024]

【実施例】以下、図面を参照して本発明の実施例を説明
する。
Embodiments of the present invention will be described below with reference to the drawings.

【0025】(実施例1)図1に、本発明の一実施例に
係る音声符号化装置の構成を示す。この音声符号化装置
は大きく分けて、駆動ベクトル生成部101、合成フィ
ルタ102、予備選択部104および本選択部108に
より構成される。入力端子103には、入力音声ベクト
ルRが入力される。予備選択部104は、重み係数導出
部105と評価式計算部106および評価部107から
なる。
(Embodiment 1) FIG. 1 shows the configuration of a speech coding apparatus according to an embodiment of the present invention. This speech coding apparatus is roughly divided into a drive vector generation unit 101, a synthesis filter 102, a preliminary selection unit 104, and a main selection unit 108. The input voice vector R is input to the input terminal 103. The preliminary selection unit 104 includes a weighting factor derivation unit 105, an evaluation formula calculation unit 106, and an evaluation unit 107.

【0026】駆動ベクトル生成部101により生成され
た駆動ベクトルyiは、合成フィルタ102に通され、
合成音声ベクトルYiが得られる。また、駆動ベクトル
yiは重み係数導出部105にも入力され、重み係数W
(yi)が得られる。評価式計算部106では、合成音
声ベクトルYiと、yiをパラメータとする重み係数W
(yi)および入力音声ベクトルRからなる評価式; E=W(yi)(R,Yi)2 の値、すなわちRとYiの内積値の大きさをW(yi)
で重み付けした値を計算し、これを出力する。評価部1
07では、駆動ベクトルyiの中で評価式Eの値をより
大きくする複数の駆動ベクトルyiを求め、そのインデ
ックスiを予備選択候補として出力する。
The drive vector yi generated by the drive vector generation unit 101 is passed through the synthesis filter 102,
A synthetic speech vector Yi is obtained. Further, the drive vector yi is also input to the weighting factor deriving unit 105, and the weighting factor W
(Yi) is obtained. In the evaluation formula calculation unit 106, the weight coefficient W with the synthesized voice vector Yi and yi as parameters
(Yi) and an evaluation expression consisting of the input speech vector R; E = W (yi) (R, Yi) 2 value, that is, the magnitude of the inner product value of R and Yi is W (yi)
The value weighted by is calculated and output. Evaluation part 1
At 07, a plurality of drive vectors yi that make the value of the evaluation expression E larger among the drive vectors yi are obtained, and the index i thereof is output as a preliminary selection candidate.

【0027】評価式Eは、重み係数W(yi)を掛けな
い従来の予備選択の評価式よりも精度が向上するという
効果がある。W(yi)の具体的な決め方に関しては、
実施例3以降で述べる。
The evaluation formula E has the effect of improving accuracy as compared with the conventional preselection evaluation formula in which the weighting coefficient W (yi) is not multiplied. Regarding the specific method of determining W (yi),
The third and subsequent embodiments will be described.

【0028】このようにして予備選択部104で選ばれ
た予備選択候補は、本選択部108で1候補に絞られ、
最適駆動ベクトルXが出力109として得られる。ただ
し、例外としてディレードディシジョン等の利用を目的
に、本選択でも候補を絞るものの、複数の候補を残して
おく場合もある。
The preliminary selection candidates thus selected by the preliminary selection unit 104 are narrowed down to one candidate by the main selection unit 108,
The optimum drive vector X is available as output 109. However, as an exception, for the purpose of using delayed decision and the like, although the candidates are narrowed down even in the main selection, a plurality of candidates may remain.

【0029】(実施例2)図2に、本発明の他の実施例
に係る音声符号化装置の構成を示す。本実施例において
は、入力音声ベクトルRを逆畳み込み演算部201に通
した後、評価式計算部106に入力している点が図1の
実施例と異なっている。
(Embodiment 2) FIG. 2 shows the configuration of a speech coding apparatus according to another embodiment of the present invention. The present embodiment differs from the embodiment of FIG. 1 in that the input speech vector R is passed through the deconvolution operation unit 201 and then input to the evaluation formula calculation unit 106.

【0030】今、合成フィルタ102によるフィルタリ
ングを表す行列をHとおくと、Yi=Hyiと表せる。
よって、評価式Eに含まれている内積の計算は、 (R,Yi)=Rt Hyi =(Ht R,yi) と表わせる。これはHt Rを駆動ベクトルの探索開始前
に一度計算しておけば、駆動ベクトル探索時はこの値と
yiとの内積演算だけで内積値(R,Yi)が得られる
ことを示している。従って、探索中にフィルタリング演
算を行う必要がなくなり、計算量をさらに削減すること
ができる。
If the matrix representing the filtering by the synthesis filter 102 is H, then Yi = Hyi.
Therefore, the calculation of the inner product included in the evaluation formula E can be expressed as (R, Yi) = R t Hyi = (H t R, yi). This indicates that if H t R is calculated once before the search for the drive vector is started, the inner product value (R, Yi) can be obtained only by calculating the inner product of this value and yi when the drive vector is searched. . Therefore, it is not necessary to perform the filtering calculation during the search, and the calculation amount can be further reduced.

【0031】図2において、入力音声ベクトルRは逆畳
み込み演算部201に入力され、逆畳み込み入力音声ベ
クトルHt Rが生成される。この畳み込み入力音声ベク
トルHt Rが評価式計算部106に入力される。一方、
駆動ベクトルyiは直接、評価式計算部106と重み係
数導出部105に入力される。評価式計算部106では
(Ht R,yi)が計算されるが、これは(R,Yi)
と等価なので、図1と同じ予備選択候補iが予備選択部
104から得られる。この場合、計算量は実施例1に比
較して合成フィルタによるフィルタリング演算を行わな
い分だけ削減される。この計算量削減方法は、以降の実
施例についても適用が可能である。
In FIG. 2, the input speech vector R is input to the deconvolution operation unit 201, and the deconvolution input speech vector H t R is generated. This convolutional input speech vector H t R is input to the evaluation formula calculation unit 106. on the other hand,
The drive vector yi is directly input to the evaluation formula calculation unit 106 and the weighting factor derivation unit 105. The evaluation formula calculation unit 106 calculates (H t R, yi), which is (R, Yi).
Therefore, the same preliminary selection candidate i as in FIG. 1 is obtained from the preliminary selection unit 104. In this case, the calculation amount is reduced as compared with the first embodiment by the amount that the filtering operation by the synthesis filter is not performed. This calculation amount reduction method can be applied to the following embodiments.

【0032】(実施例3)図3に、本発明の第3の実施
例に係る音声符号化装置の構成を示す。本実施例におい
ては、駆動ベクトル生成部101がインデックス発生部
301と適応符号帳302および駆動ベクトル切り出し
部303により構成されている。適応符号帳302に
は、過去の駆動ベクトル群が格納されている。駆動ベク
トル切り出し部303では、インデックス発生部301
から出力されたインデックスiに対応するピッチ周期に
基づき、適応符号帳302に格納された過去の駆動ベク
トル群から駆動ベクトルyiを切り出して出力する。駆
動ベクトルyiは合成フィルタ102を通り、合成音声
ベクトルとして評価式計算部106に入力される。
(Embodiment 3) FIG. 3 shows the configuration of a speech coder according to a third embodiment of the present invention. In the present embodiment, the drive vector generation unit 101 is composed of an index generation unit 301, an adaptive codebook 302, and a drive vector cutout unit 303. The adaptive codebook 302 stores past drive vector groups. In the drive vector cutout unit 303, the index generation unit 301
The drive vector yi is cut out from the past drive vector group stored in the adaptive codebook 302 and output based on the pitch period corresponding to the index i output from. The drive vector yi passes through the synthesis filter 102 and is input to the evaluation formula calculation unit 106 as a synthesized voice vector.

【0033】一方、適応符号帳302に格納された過去
の駆動ベクトル群Cとインデックスiは重み係数導出部
105に入力され、これらの値をパラメータとする重み
係数W(C,i)が出力される。評価式計算部106で
は、駆動ベクトルYi、重み係数W(C,i)および入
力音声ベクトルRから評価式; E=W(C,i)(R,Yi)2 を計算して出力する。以降の処理は実施例1と同じであ
る。
On the other hand, the past drive vector group C and the index i stored in the adaptive codebook 302 are input to the weighting coefficient deriving unit 105, and the weighting coefficient W (C, i) having these values as parameters is output. It The evaluation formula calculation unit 106 calculates and outputs an evaluation formula; E = W (C, i) (R, Yi) 2 from the drive vector Yi, the weighting coefficient W (C, i) and the input voice vector R. The subsequent processing is the same as that in the first embodiment.

【0034】図4(a)(b)に適応符号帳302と重
み係数W(C,i)の例を示す。重み係数導出部105
は、適応符号帳302から入力される過去の駆動ベクト
ル群が図4(a)に示す波形の場合、この波形からブロ
ック毎の平均パワの逆数を基にして、図4(b)に示す
重み関数W(C,i)を作成する。
4A and 4B show examples of the adaptive codebook 302 and the weighting coefficient W (C, i). Weighting factor deriving unit 105
When the past drive vector group input from the adaptive codebook 302 has the waveform shown in FIG. 4A, the weights shown in FIG. 4B are calculated from this waveform based on the reciprocal of the average power of each block. Create a function W (C, i).

【0035】インデックスiが入力されると対応するピ
ッチ周期が決まり、ピッチ周期が決まると、駆動ベクト
ル切り出し部303が適応符号帳302に格納されてい
る駆動ベクトル群のどの時刻から駆動ベクトルを切り出
してくるかが決まる。重み係数W(C,i)は、この駆
動ベクトルの切り出し時刻をパラメータとして、図4
(b)の重み係数グラフから求められる。適応符号帳3
02の内容は駆動ベクトルの探索中は変化しないので、
探索開始前に図4(b)の重み係数グラフを作成してお
けば、探索中はインデックスiから重み係数W(C,
i)がテーブルルックアップで求まる。
When the index i is input, the corresponding pitch cycle is determined, and when the pitch cycle is determined, the drive vector cutout unit 303 cuts out the drive vector from which time of the drive vector group stored in the adaptive codebook 302. Whether to come or not is decided. The weighting factor W (C, i) is calculated by using the cut-out time of this drive vector as a parameter in FIG.
It is obtained from the weighting factor graph of (b). Adaptive codebook 3
Since the contents of 02 do not change during the search of the drive vector,
If the weighting factor graph of FIG. 4B is created before the search is started, the weighting factor W (C,
i) is obtained by table lookup.

【0036】本実施例は、駆動ベクトル生成部101に
入力音声ベクトルRと共に変化する適応符号帳302を
用いながらも、フレーム内の探索中は計算を必要とせず
に重み係数を容易に求められるという効果がある。
According to the present embodiment, even though the adaptive codebook 302 that changes with the input speech vector R is used in the drive vector generation unit 101, the weighting coefficient can be easily obtained during the search within the frame without requiring calculation. effective.

【0037】(実施例4)図5に、本実施例に係る音声
符号化装置の構成を示す。本実施例においては、駆動ベ
クトル生成部101は過去の駆動ベクトル群を格納した
適応符号帳501と、固定のベクトルを複数格納した雑
音符号帳502と、これらの符号帳501,502から
得られたベクトルにゲインを乗じるゲイン回路503,
504により構成される。また、音声合成部として入力
音声を線形予測分析して得られた予測係数を用いた再帰
フィルタに聴感重みフィルタを組み合わせた重み付き合
成フィルタ506が用いられ、さらに目標ベクトルとし
て聴感重みフィルタで重み付けされた現フレームの入力
音声から、前フレーム処理終了直後の内部状態での重み
付き合成フィルタのゼロ入力応答を差し引いた重み付き
入力音声ベクトルRが用いられる。
(Embodiment 4) FIG. 5 shows the configuration of a speech coding apparatus according to this embodiment. In the present embodiment, the drive vector generation unit 101 is obtained from the adaptive codebook 501 that stores past drive vector groups, the noise codebook 502 that stores a plurality of fixed vectors, and these codebooks 501 and 502. A gain circuit 503 for multiplying a vector by a gain
504. Further, a weighted synthesis filter 506, which is a recursive filter using a prediction coefficient obtained by performing a linear prediction analysis of the input speech and a perceptual weighting filter, is used as the voice synthesis unit, and is further weighted by the perceptual weighting filter as a target vector. The weighted input speech vector R obtained by subtracting the zero input response of the weighted synthesis filter in the internal state immediately after the end of the previous frame processing is used from the input speech of the current frame.

【0038】まず、適応符号帳501に対して駆動ベク
トルの探索を行う。この時は雑音符号帳502は使用し
ないので、回路から切り離して考える。予備選択部10
4には、まず重み付き入力音声ベクトルRが取り込ま
れ、次に適応符号帳501から駆動ベクトルxiと、こ
れを重み付き合成フィルタ506に通して得られた合成
音声ベクトルXiが取り込まれる。このとき、ゲイン回
路503のゲインは定数(通常1とする)に固定してお
く。予備選択部104では、重み係数W(yi)を用い
た評価式; E=W(xi)(R,Xi)2 (12) を計算し、この値の大きなものから順に数個の駆動ベク
トルを予備選択候補として残す。予備選択候補としての
駆動ベクトルを幾つ残すかは、適応符号帳501の大き
さや、求められる符号化音声品質などにもよるが、4〜
16候補程度で十分な品質が得られることが多い。重み
係数W(xi)としては、次式を用いる。これは合成音
声ベクトルのパワの逆数である。ここで、xi(n)は
xiの第n要素、Lはフレームの長さをそれぞれ表す。
First, the adaptive codebook 501 is searched for a drive vector. Since the random codebook 502 is not used at this time, it is considered separately from the circuit. Preliminary selection unit 10
4, the weighted input speech vector R is first fetched, then the driving vector xi from the adaptive codebook 501 and the synthesized speech vector Xi obtained by passing this through the weighted synthesis filter 506. At this time, the gain of the gain circuit 503 is fixed to a constant (usually 1). In the preliminary selection unit 104, an evaluation formula using the weighting factor W (yi); E = W (xi) (R, Xi) 2 (12) is calculated, and several driving vectors are calculated in descending order of this value. Leave as a preliminary selection candidate. How many drive vectors to leave as candidates for preliminary selection depends on the size of the adaptive codebook 501, the required coded speech quality, and the like, but 4 to
Sufficient quality is often obtained with about 16 candidates. The following equation is used as the weighting coefficient W (xi). This is the reciprocal of the power of the synthetic speech vector. Here, xi (n) represents the nth element of xi, and L represents the frame length.

【0039】[0039]

【数1】 このようにして予備選択部104で選ばれた予備選択候
補は、本選択部108で1候補に絞られ、1つ目の最適
駆動ベクトルXが出力として得られる。ただし、例外と
してディレードディシジョン等の利用を目的に、本選択
でも候補を絞るものの、複数の候補を残しておく場合も
ある。
[Equation 1] In this way, the preliminary selection candidates selected by the preliminary selection unit 104 are narrowed down to one candidate by the main selection unit 108, and the first optimum drive vector X is obtained as an output. However, as an exception, for the purpose of using delayed decision and the like, although the candidates are narrowed down even in the main selection, a plurality of candidates may remain.

【0040】次に、雑音符号帳502について直交化探
索を行う。このときは、適応符号帳501は使用しない
ので回路から切り離して考える。予備選択部104で
は、先に取り込んだ重み付き入力音声ベクトルRと、適
応符号帳501から探索された最適駆動ベクトルxを重
み付き音声合成フィルタ506に通して得られた最も歪
みの小さくなる合成音声ベクトルXが保持され、雑音符
号帳502から得られた駆動ベクトルyiと、これを重
み付き音声合成フィルタ506に通して得られた合成音
声ベクトルYiが入力される。ゲイン回路504のゲイ
ンは、定数(通常1)に固定しておくのが普通である。
予備選択部104は、重み係数W(yi)を用いた直交
化探索における予備選択の評価式; E=W(yi)(R,Yvi)2 (14) の値の大きなもの数個を予備選択候補として残す。Yv
iはXに直交化された合成音声ベクトルYiであり、具
体的には Yvi=Yi−{(Yi,X)/|X|2 } (15) で求められる。重み係数W(yi)は、次式に示すよう
に駆動ベクトルのパワの逆数で与えることにする。
Next, an orthogonalization search is performed on the random codebook 502. At this time, adaptive codebook 501 is not used, and therefore it is considered separately from the circuit. In the pre-selection unit 104, the weighted input speech vector R previously fetched and the optimum driving vector x searched from the adaptive codebook 501 are passed through the weighted speech synthesis filter 506 to obtain the synthetic speech with the smallest distortion. The vector X is held, and the driving vector yi obtained from the random codebook 502 and the synthetic speech vector Yi obtained by passing the driving vector yi through the weighted speech synthesis filter 506 are input. The gain of the gain circuit 504 is usually fixed to a constant (normally 1).
The preselection unit 104 preselects several evaluation formulas for preselection in the orthogonalization search using the weighting coefficient W (yi); E = W (yi) (R, Yvi) 2 (14) having a large value. Leave as a candidate. Yv
i is a synthetic speech vector Yi orthogonalized to X, and is specifically calculated by Yvi = Yi-{(Yi, X) / | X | 2 } (15). The weight coefficient W (yi) is given by the reciprocal of the power of the drive vector as shown in the following equation.

【0041】[0041]

【数2】 雑音符号帳501内の駆動ベクトルは固定であるため、
式(15)をフレーム毎に計算する必要はなく、(1) テ
ーブルデータとして予め持っておく、(2) 符号化装置の
初期化時に1回だけ計算する、(3) 駆動ベクトル自身の
パワを予め揃えて設計しておく、などの方法により重み
係数W(yi)自身の計算を省くことができる。(1)(2)
の方法は固定の符号帳ならば種類によらずに利用可能で
あるが、W(yi)を駆動ベクトルの数だけ記憶する分
だけのメモリが必要である。(3)の方法はメモリを必要
としないが、符号帳の構造によってはパワを予め揃える
のが困難なため使用できない場合もある。
[Equation 2] Since the drive vector in the random codebook 501 is fixed,
It is not necessary to calculate equation (15) for each frame, (1) have it as table data in advance, (2) calculate it only once when the encoder is initialized, (3) the power of the drive vector itself It is possible to omit the calculation of the weighting coefficient W (yi) itself by a method such as designing in advance. (1) (2)
The method of (1) can be used regardless of the type if it is a fixed codebook, but it requires a memory for storing W (yi) by the number of drive vectors. The method (3) does not require a memory, but depending on the structure of the codebook, it may be impossible to use it because it is difficult to arrange the power in advance.

【0042】最後に、予備選択部104で選ばれた予備
選択候補が本選択部108で1候補に絞られ、2つ目の
最適駆動ベクトルyiが得られる。
Finally, the preliminary selection candidates selected by the preliminary selection unit 104 are narrowed down to one candidate by the main selection unit 108, and the second optimum drive vector yi is obtained.

【0043】(実施例5)本実施例においては、実施例
4において直交化探索における予備選択の評価式とし
て、 E=W(yvi)(R,Yvi)2 を用いる。この評価式はyviとその合成フィルタ出力
Yviを、xiとその合成フィルタ出力Xiに置き換え
てみると式(12)と同じ式になることから、本質的に
は上述した一般的な予備選択の評価式である。直交化探
索の予備選択の評価式では、重み係数のパラメータとし
て、本来yviを使うべきところをyiで近似している
が、本実施例ではyviを使うことになるので、その分
精度が向上する効果がある。
(Embodiment 5) In the present embodiment, E = W (yvi) (R, Yvi) 2 is used as the evaluation formula of the preliminary selection in the orthogonal search in the fourth embodiment. This evaluation formula is the same as formula (12) when yvi and its synthesis filter output Yvi are replaced with xi and its synthesis filter output Xi. Therefore, the evaluation of the general preselection described above is essentially performed. It is an expression. In the evaluation formula for preselection of the orthogonalization search, yi is approximated to yi as a parameter of the weighting coefficient, but yvi is used in this embodiment, so the accuracy is improved accordingly. effective.

【0044】(実施例6)本実施例においては、実施例
4において雑音符号帳の代わりにオーバラッピング符号
帳を用いる。オーバラッピング符号帳は、W(yi)の
計算において、実施例4で述べた(3) の方法が使えない
例であるが、符号帳の特徴を利用して少ない計算量でW
(yi)を計算することができる。
(Embodiment 6) In this embodiment, an overlapping codebook is used instead of the random codebook in the fourth embodiment. The overwrapping codebook is an example in which the method (3) described in the fourth embodiment cannot be used in the calculation of W (yi).
(Yi) can be calculated.

【0045】図6に、オーバラッピング符号長の駆動ベ
クトルの特徴を示した。k番目の駆動ベクトルykは、
k−1番目の駆動ベクトルyk-1 の先頭からL−S個の
要素に新たにS個の要素を先頭に追加した形になってい
る。今、yk-1 のパワQk-1が既に求まっていると仮定
すると、次式の関係からQkが容易に求まることが分か
る。
FIG. 6 shows the characteristics of the driving vector of the overlapping code length. The kth drive vector yk is
This is a form in which S elements are newly added to the head from the head of the (k-1) th drive vector yk-1 to the LS elements. Assuming that the power Qk-1 of yk-1 has already been obtained, it can be seen that Qk can be easily obtained from the relationship of the following equation.

【0046】[0046]

【数3】 つまり、Qk-1 が与えられれば、Qkのパワは2S個の
要素のパワーの計算と2回の加減算で求められ、Qkの
逆数を取ることでW(yk)が得られる。実際はS=
2,L=80程度なので、1つの駆動ベクトルに対する
パワの計算は、オーバラッピング構造を利用しない場合
は80要素のパワを計算する必要があるのに対し、オー
バラッピング構造を利用した場合は4要素分となり、計
算量を削減できる。念のため述べておくと、メモリがあ
れば、実施例4で述べた(1)(2)の方法を用いるのが現実
的な場合が多い。
[Equation 3] In other words, if Qk-1 is given, the power of Qk is obtained by calculating the power of 2S elements and adding and subtracting twice, and W (yk) is obtained by taking the reciprocal of Qk. Actually S =
Since 2, L = 80, the power calculation for one drive vector needs to calculate the power of 80 elements when the overlapping structure is not used, whereas it is 4 elements when the overlapping structure is used. This reduces the calculation amount. For the sake of caution, if there is a memory, it is often practical to use the methods (1) and (2) described in the fourth embodiment.

【0047】(実施例7)本実施例においては、実施例
4における適応符号帳探索時のW(yi)の計算を実施
例6で述べた方法を応用して効率的に行なう方法につい
て述べる。
(Embodiment 7) In this embodiment, a method for efficiently calculating W (yi) at the time of adaptive codebook search in Embodiment 4 by applying the method described in Embodiment 6 will be described.

【0048】図7および図8に、適応符号帳と、これか
ら得られる駆動ベクトルが示してある。適応符号帳には
過去の駆動ベクトル群が格納されており、ピッチ周期T
がフレーム長Lより短い場合(T<L)は、この適応符
号帳より切り出してきた長さTの区間をフレーム長に達
するまで図7のように繰り返す。T>Lの場合は、Tか
らLだけ手前の区間を図8のようにそのまま取り出す。
FIGS. 7 and 8 show the adaptive codebook and the drive vector obtained from it. A past drive vector group is stored in the adaptive codebook, and the pitch cycle T
Is shorter than the frame length L (T <L), the section of length T cut out from the adaptive codebook is repeated as shown in FIG. 7 until the frame length is reached. When T> L, the section before T by L is taken out as it is as shown in FIG.

【0049】このような適応符号帳から得られた駆動ベ
クトルのパワを計算する場合、T<Lのときは1周期分
のパワPT を計算しておき、これを繰り返す回数だけ
(図では2回)足し合わせれば良い。ただし、端の部分
(図でT0の部分) では1周期に満たない区間が生じ、
この部分は別途計算する必要がある。別の方法として、
この区間はパワの計算に含めないという方法も考えられ
る。つまり、1サンプル当たりの平均パワをPT /Tと
みなして、(PT /T)×Lを駆動ベクトルのパワとみ
なす方法である。このようにしてパワが求まれば、この
逆数が重み係数W(yi)となる。さらに、PT とP
T+1 には PT+1 =PT +CT+1 2 (18) の関係があるため周期TでW(yi)を計算しておけ
ば、上式を利用してT+1のW(yi)を容易に求める
ことができる。L<Tの場合は図3からも明らかなよう
にシフト量S=1のオーバラッピング符号帳と全く同じ
である。ただ、符号長の内容が変わるため、実施例4で
述べた(1)(2)の方法は使えず、実施例6で述べた式(1
7)の関係を利用する方法が有効である。
When calculating the power of a drive vector obtained from such an adaptive codebook, when T <L, the power P T for one cycle is calculated, and this is repeated the number of times (2 in the figure). Just add them. However, in the end part (the part of T0 in the figure), a section less than one cycle occurs,
This part needs to be calculated separately. Alternatively,
A method may be considered in which this section is not included in the power calculation. That is, this is a method in which the average power per sample is regarded as P T / T and (P T / T) × L is regarded as the drive vector power. When the power is obtained in this way, this reciprocal becomes the weighting coefficient W (yi). Furthermore, P T and P
Since T + 1 has a relationship of P T + 1 = P T + C T + 1 2 (18), if W (yi) is calculated at the period T, then W (yi of T + 1 is calculated using the above equation. ) Can be easily obtained. When L <T, as is clear from FIG. 3, it is exactly the same as the overlapping codebook with the shift amount S = 1. However, since the content of the code length changes, the methods (1) and (2) described in the fourth embodiment cannot be used, and the equation (1) described in the sixth embodiment is used.
The method of utilizing the relationship of 7) is effective.

【0050】[0050]

【発明の効果】以上説明したように、本発明によれば駆
動ベクトルの予備選択時の評価式に駆動ベクトルのパワ
を考慮しているため、従来法に比べて予備選択の精度が
向上する。その結果、本選択に渡す駆動ベクトルの候補
数を符号化音声の品質を保ったまま削減でき、本選択で
の計算量を低下させることが可能になる。本選択での計
算量は符号化装置全体の計算量の大半を占めているた
め、結果として符号化装置全体の計算量を大きく削減さ
せる効果が期待できる。
As described above, according to the present invention, since the power of the drive vector is taken into consideration in the evaluation formula at the time of preselection of the drive vector, the precision of the preselection is improved as compared with the conventional method. As a result, the number of drive vector candidates to be passed to the main selection can be reduced while maintaining the quality of the coded speech, and the amount of calculation in the main selection can be reduced. Since the calculation amount in this selection occupies most of the calculation amount of the entire encoding device, as a result, the effect of greatly reducing the calculation amount of the entire encoding device can be expected.

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

【図1】実施例1に係る音声符号化装置の構成を示すブ
ロック図
FIG. 1 is a block diagram showing a configuration of a speech coding apparatus according to a first embodiment.

【図2】実施例2に係る逆畳み込みを用いて計算量を削
減した音声符号化装置の構成を示すブロック図
FIG. 2 is a block diagram showing the configuration of a speech encoding apparatus in which the amount of calculation is reduced by using deconvolution according to the second embodiment.

【図3】実施例3に係る適応符号帳を用いた音声符号化
装置の構成を示すブロック図
FIG. 3 is a block diagram showing a configuration of a speech coding apparatus using an adaptive codebook according to a third embodiment.

【図4】実施例3における重み係数の求め方を表す図FIG. 4 is a diagram showing a method of obtaining a weighting coefficient in the third embodiment.

【図5】実施例4に係る音声符号化装置の構成を示すブ
ロック図
FIG. 5 is a block diagram showing a configuration of a speech coding apparatus according to a fourth embodiment.

【図6】オーバラップ符号帳の構造を示す図FIG. 6 is a diagram showing the structure of an overlap codebook.

【図7】適応符号帳の構造を示す図FIG. 7 is a diagram showing a structure of an adaptive codebook.

【図8】適応符号帳の構造を示す図FIG. 8 is a diagram showing a structure of an adaptive codebook.

【図9】CELP符号化方式の概略図FIG. 9 is a schematic diagram of a CELP coding method.

【符号の説明】[Explanation of symbols]

101…駆動ベクトル生成部 102…合成
フィルタ 103…入力端子 104…予備
選択部 105…重み係数導出部 106…評価
式計算部 107…評価部 108…本選
択部 109…最適駆動ベクトル 201…逆畳
み込み演算部 301…インデックス発生部 302…適応
符号帳 303…駆動ベクトル切り出し部 501…適応
符号帳 502…雑音符号帳 503…ゲイ
ン回路 504…ゲイン回路 506…重み
付き合成フィルタ
101 ... Driving vector generation unit 102 ... Synthesis filter 103 ... Input terminal 104 ... Preliminary selection unit 105 ... Weighting coefficient derivation unit 106 ... Evaluation formula calculation unit 107 ... Evaluation unit 108 ... Main selection unit 109 ... Optimal driving vector 201 ... Deconvolution operation Unit 301 ... Index generating unit 302 ... Adaptive codebook 303 ... Driving vector cutout unit 501 ... Adaptive codebook 502 ... Noise codebook 503 ... Gain circuit 504 ... Gain circuit 506 ... Weighted synthesis filter

フロントページの続き (72)発明者 神庭 進 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 押切 正浩 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内(72) Inventor Susumu Kamiwa 1 Komukai Toshiba-cho, Saiwai-ku, Kawasaki-shi, Kanagawa Inside the Toshiba Research and Development Center, Inc. (72) Inventor Masahiro Oshikiri Komukai Toshiba-cho, Saiwai-ku, Kawasaki-shi, Kanagawa Incorporated company Toshiba Research and Development Center

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】駆動ベクトルを生成する駆動ベクトル生成
手段と、 この駆動ベクトル生成手段により生成された駆動ベクト
ルを入力して合成音声ベクトルを生成する合成手段と、 前記駆動ベクトル生成手段により生成された駆動ベクト
ルから少なくとも一つの駆動ベクトルを選択する予備選
択手段と、 この予備選択手段により選択された駆動ベクトルから最
適な駆動ベクトルを選択する本選択手段とを有し、 前記予備選択手段は、所定の単位期間に分割された入力
音声から得られる目標ベクトルと前記合成音声ベクトル
との内積値の大きさを前記駆動ベクトル生成手段により
生成された駆動ベクトルをパラメータとする重み関数で
重み付けした値をより大きくする駆動ベクトルを選択す
ることを特徴とする音声符号化装置。
1. A drive vector generating means for generating a drive vector, a synthesizing means for inputting the drive vector generated by the drive vector generating means to generate a synthesized voice vector, and a drive vector generating means for generating the synthesized voice vector. And a pre-selection unit for selecting at least one drive vector from the drive vectors, and a main selection unit for selecting an optimum drive vector from the drive vectors selected by the pre-selection unit. The value obtained by weighting the size of the inner product of the target vector obtained from the input voice divided into unit periods and the synthesized voice vector with a weighting function having the drive vector generated by the drive vector generation means as a parameter is made larger. A speech coding apparatus characterized in that a driving vector to be selected is selected.
【請求項2】符号帳を有し、該符号帳から所定のインデ
ックスで指定された一つの駆動ベクトルを切り出して生
成する駆動ベクトル生成手段と、 この駆動ベクトル生成手段により生成された前記駆動ベ
クトルを入力して合成音声ベクトルを生成する合成手段
と、 前記駆動ベクトル生成手段により生成された駆動ベクト
ルから少なくとも一つの駆動ベクトルを選択する予備選
択手段と、 この予備選択手段により選択された駆動ベクトルから最
適な駆動ベクトルを選択する本選択手段とを有し、 前記予備選択手段は、所定の単位期間に分割された入力
音声から得られる目標ベクトルと前記合成音声ベクトル
との内積値の大きさを前記符号帳に格納された駆動ベク
トル群および前記インデックスをパラメータとする重み
関数で重み付けした値をより大きくする少なくとも一つ
の駆動ベクトルを選択することを特徴とする音声符号化
装置。
2. A drive vector generating means having a codebook, and extracting and generating one drive vector designated by a predetermined index from the codebook, and the drive vector generated by the drive vector generating means. A synthesizing means for inputting and generating a synthesized voice vector, a pre-selecting means for selecting at least one drive vector from the drive vectors generated by the drive vector generating means, and an optimum one from the drive vectors selected by the pre-selecting means. The main selection means for selecting a different driving vector, and the preliminary selection means sets the magnitude of the inner product value of the target vector obtained from the input voice divided into a predetermined unit period and the synthesized voice vector to the sign. The drive vector group stored in the book and the value weighted by the weighting function with the index as a parameter are A speech coding apparatus characterized by selecting at least one drive vector to be made larger.
【請求項3】駆動ベクトルを生成する駆動ベクトル生成
手段と、 この駆動ベクトル生成手段により生成された駆動ベクト
ルを入力して合成音声ベクトルを生成する合成手段と、 前記駆動ベクトル生成手段により生成された駆動ベクト
ルから少なくとも一つの駆動ベクトルを選択する予備選
択手段と、 この予備選択手段により選択された駆動ベクトルから最
適な駆動ベクトルを選択する本選択手段とを有し、 前記予備選択手段は、所定の単位期間に分割された入力
音声から得られる目標ベクトルと最適合成音声ベクトル
を得た後、前記合成手段により生成された合成音声ベク
トルを前記最適合成音声ベクトルに対し直交化した直交
化ベクトルを求め、この直交化ベクトルと前記目標ベク
トルの内積値の大きさを前記駆動ベクトル生成手段によ
り生成された駆動ベクトルをパラメータとする重み係数
で重み付けした値をより大きくする駆動ベクトルを選択
することを特徴とする音声符号化装置。
3. A drive vector generating means for generating a drive vector, a synthesizing means for inputting the drive vector generated by the drive vector generating means to generate a synthesized voice vector, and a drive vector generating means for generating the synthesized voice vector. And a pre-selection unit for selecting at least one drive vector from the drive vectors, and a main selection unit for selecting an optimum drive vector from the drive vectors selected by the pre-selection unit. After obtaining the target vector and the optimum synthesized speech vector obtained from the input speech divided into unit periods, the orthogonalized vector obtained by orthogonalizing the synthesized speech vector generated by the synthesizing means with respect to the optimal synthesized speech vector, The drive vector generation means calculates the magnitude of the inner product of the orthogonalized vector and the target vector. A speech coding apparatus, characterized in that a driving vector that increases a value weighted with a weighting coefficient using the generated driving vector as a parameter is selected.
JP06526594A 1994-04-01 1994-04-01 Audio encoding method and apparatus Expired - Fee Related JP3471889B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06526594A JP3471889B2 (en) 1994-04-01 1994-04-01 Audio encoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06526594A JP3471889B2 (en) 1994-04-01 1994-04-01 Audio encoding method and apparatus

Publications (2)

Publication Number Publication Date
JPH07271397A true JPH07271397A (en) 1995-10-20
JP3471889B2 JP3471889B2 (en) 2003-12-02

Family

ID=13281925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06526594A Expired - Fee Related JP3471889B2 (en) 1994-04-01 1994-04-01 Audio encoding method and apparatus

Country Status (1)

Country Link
JP (1) JP3471889B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002035522A1 (en) 2000-10-26 2002-05-02 Mitsubishi Denki Kabushiki Kaisha Voice encoding method and apparatus
WO2002045077A1 (en) * 2000-11-30 2002-06-06 Matsushita Electric Industrial Co., Ltd. Vector quantizing device for lpc parameters
KR100543982B1 (en) * 1996-09-24 2006-07-21 소니 가부시끼 가이샤 Vector quantization method, speech coding method and apparatus

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100543982B1 (en) * 1996-09-24 2006-07-21 소니 가부시끼 가이샤 Vector quantization method, speech coding method and apparatus
WO2002035522A1 (en) 2000-10-26 2002-05-02 Mitsubishi Denki Kabushiki Kaisha Voice encoding method and apparatus
EP1339042A1 (en) * 2000-10-26 2003-08-27 Mitsubishi Denki Kabushiki Kaisha Voice encoding method and apparatus
EP1339042A4 (en) * 2000-10-26 2005-10-12 Mitsubishi Electric Corp Voice encoding method and apparatus
US7203641B2 (en) 2000-10-26 2007-04-10 Mitsubishi Denki Kabushiki Kaisha Voice encoding method and apparatus
WO2002045077A1 (en) * 2000-11-30 2002-06-06 Matsushita Electric Industrial Co., Ltd. Vector quantizing device for lpc parameters
US7392179B2 (en) 2000-11-30 2008-06-24 Matsushita Electric Industrial Co., Ltd. LPC vector quantization apparatus

Also Published As

Publication number Publication date
JP3471889B2 (en) 2003-12-02

Similar Documents

Publication Publication Date Title
JP3346765B2 (en) Audio decoding method and audio decoding device
JP3114197B2 (en) Voice parameter coding method
KR100464369B1 (en) Excitation codebook search method in a speech coding system
JP3196595B2 (en) Audio coding device
US6385576B2 (en) Speech encoding/decoding method using reduced subframe pulse positions having density related to pitch
KR100795727B1 (en) A method and apparatus that searches a fixed codebook in speech coder based on CELP
KR100194775B1 (en) Vector quantizer
JPH06222797A (en) Voice encoding system
KR100556831B1 (en) Fixed Codebook Searching Method by Global Pulse Replacement
JP3180786B2 (en) Audio encoding method and audio encoding device
JP3137176B2 (en) Audio coding device
JPH07160294A (en) Sound decoder
JP2956473B2 (en) Vector quantizer
KR100465316B1 (en) Speech encoder and speech encoding method thereof
JP3471889B2 (en) Audio encoding method and apparatus
KR100319924B1 (en) Method for searching Algebraic code in Algebraic codebook in voice coding
JP2800599B2 (en) Basic period encoder
JPH0764600A (en) Pitch encoding device for voice
JP3144194B2 (en) Audio coding device
JPH08185199A (en) Voice coding device
JP3192051B2 (en) Audio coding device
JP3471542B2 (en) Audio coding device
JP3024467B2 (en) Audio coding device
JPH0844398A (en) Voice encoding device
JPH09146599A (en) Sound coding device

Legal Events

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

Free format text: PAYMENT UNTIL: 20070912

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080912

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080912

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090912

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090912

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100912

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130912

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees