明 細 書 励振信号生成装置並びに音声符号化装置及び音声復号化装置 技術分野 Description Excitation signal generator, speech encoder and speech decoder
本発明は、 音声信号を符号化して伝送する移動通信システムなどにおける C E L P (Code Excited Linear Prediction)型音声符号ィ匕装置に関す るものである。 背景技術 The present invention relates to a CELP (Code Excited Linear Prediction) type speech coding apparatus in a mobile communication system or the like that encodes and transmits a speech signal. Background art
ディジ夕ル移動通信や音声蓄積の分野においては、 電波や記憶媒体の有効 利用のために音声情報を圧縮し、 高能率で符号化するために音声符号化装置 力用レ、られてレ る。 特 ίこ、 CELP (Code Excited Linear Prediction: 符号励振線形予測符号化) 方式をべ一スにした方式が中 '低ビットレ一卜に おいて広く実用化されている。 In the field of digital mobile communications and voice storage, voice information is compressed for efficient use of radio waves and storage media, and is used for voice coding equipment for efficient coding. In particular, a method based on the CELP (Code Excited Linear Prediction) method has been widely put to practical use in middle and low bit rates.
C E L Pの技術については、 M.R.Schroeder 氏と B.S.Atal 氏による "Code -Excited. Linear Prediction (CELP) : High-quality Speech at Very Low Bit Rates", Proc ICASSP-85, 25.1.1, pp.937-940 , 1985" に示されている。 Regarding CELP technology, Mr. Schroeder and BSAtal gave a "Code-Excited. Linear Prediction (CELP): High-quality Speech at Very Low Bit Rates", Proc ICASSP-85, 25.1.1, pp.937-940. , 1985 ".
CEL P型音声符号化方式は、 音声をある一定のフレーム長 (5ms〜5 0ms程度) に区切り、 各フレーム毎に音声の線形予測を行い、 フレーム毎 の線形予測による予測残差 (励振信号) を既知の波形からなる適応符号べク トルと雑音符号べクトルを用いて符号化するものである。 In the CEL P-type speech coding method, speech is divided into a certain fixed frame length (about 5 ms to 50 ms), linear prediction of speech is performed for each frame, and a prediction residual (excitation signal) is obtained by linear prediction for each frame. Is encoded using an adaptive code vector composed of known waveforms and a noise code vector.
適応符号べクトルは過去に生成した駆動音源べクトルを格納している適応 符号帳から、 雑音符号ベクトルは予め用意された定められた数の定められた 形状を有するべクトルを格納している雑音符号帳から選択されて使用される。 雑音符号帳に格納される雑音符号べクトルには、 ランダムな雑音系列のべク
トルや何本かのパルスを異なる位置に配置することによって生成されるべク トルなどが用いられる。 また、 特にフレーム長を長くして低ビットレート化 を図った場合には、 雑音符号べクトルを適応符号べクトルのピッチピーク位 置に同期させて使用することにより、 品質を向上させる方式 (位相適応型 C E L P方式) が特開平 7— 9 2 9 9 9号公報 "音声の励振信号符号化方法及 び装置" や田崎氏らによる " 「ピッチ位置同期 C E L Pの音源符号化方式の 検討」 、 音響学会講演論文集、 平成 9年 3月、 p . 285 - 286 " などに示されて いる。 これら、 適応符号ベクトルのピッチピーク位置に雑音符号ベクトルを 同期させる方式は、 音声信号の母音部においてはピッチピーク付近に予測残 差が残り易くなるという特徴を利用することによって、 音声信号の予測残差 信号を効率的に表現している。 The adaptive code vector is based on the adaptive codebook that stores the driving excitation vector generated in the past, and the noise code vector is the noise that stores a predetermined number of vectors with a specified shape prepared in advance. It is selected from the codebook and used. The random code vector stored in the random codebook includes a random noise sequence vector. For example, a vector generated by arranging some pulses or different pulses at different positions is used. In particular, when the bit length is reduced by increasing the frame length, the quality is improved by using the noise code vector in synchronization with the pitch peak position of the adaptive code vector (phase "Adaptive CELP method" is disclosed in Japanese Unexamined Patent Application Publication No. 7-92999 "Speech excitation signal encoding method and apparatus" and "Study on pitch position synchronization CELP sound source encoding method" by Tazaki et al. 28, pp. 285-286 ", etc. These methods of synchronizing the noise code vector to the pitch peak position of the adaptive code vector are used in the vowel part of the speech signal. By utilizing the feature that prediction residuals tend to remain near the pitch peak, the prediction residual signal of the audio signal is efficiently represented.
図 1に位相適応型 C E L P符号化装置に備えた励振信号生成器の構成例を 示す。 同図に示す励振信号生成器では、 適応符号帳利得を乗じた適応符号べ クトルと雑音符号帳利得を乗じた位相適応処理後の雑音符号べクトルとが加 算されて励振信号が生成される。 なお、 位相適応処理は適応符号ベクトルを 用いて算出された位相を用いて行われる。 Fig. 1 shows an example of the configuration of the excitation signal generator provided in the phase-adaptive CELP encoder. In the excitation signal generator shown in the figure, an excitation signal is generated by adding the adaptive code vector multiplied by the adaptive codebook gain and the noise code vector after phase adaptation processing multiplied by the noise codebook gain. . The phase adaptation process is performed using the phase calculated using the adaptive code vector.
しかしながら、 上記従来の励振信号生成器においては、 適応符号帳から出 力される適応符号べクトルを用いて位相の算出が行われているため、 伝送路 誤りの伝播が生じ易いという問題点がある。 発明の開示 However, in the conventional excitation signal generator described above, since the phase is calculated using the adaptive code vector output from the adaptive codebook, there is a problem that propagation of a transmission line error is likely to occur. . Disclosure of the invention
本発明の目的は、 適応符号帳から出力される適応符号べクトルの代わりに、 M A型適応符号帳から出力される M A型適応符号べクトルを用いて位相算出 を行うことにより、 伝送路誤りの伝播を抑えることのできる励振信号生成装 置、 音声符号化装置及び音声複号化装置を提供することである。 An object of the present invention is to perform a phase calculation using an MA-type adaptive code vector output from an MA-type adaptive codebook instead of an adaptive code vector output from an adaptive codebook, to thereby reduce a transmission path error. An object of the present invention is to provide an excitation signal generating device, a voice coding device, and a voice decoding device capable of suppressing propagation.
上記目的を達成するために、 本発明は過去に用いた有限個の雑音符号べク トルと適応符号帳利得とピッチ周期を用いて MA型適応符号べクトルを生成
し、 これを用いて位相算出を行うようにしたものである。 図面の簡単な説明 In order to achieve the above object, the present invention generates an MA type adaptive code vector using a finite number of noise code vectors used in the past, an adaptive codebook gain, and a pitch period. Then, the phase is calculated using this. BRIEF DESCRIPTION OF THE FIGURES
図 1は、 従来の位相適応型励振信号生成装置の構成を示すプロック図; 図 2は、 本発明の実施の形態 1にかかる励振信号生成装置の構成を示すブ ロック図; FIG. 1 is a block diagram showing a configuration of a conventional phase-adaptive excitation signal generator; FIG. 2 is a block diagram showing a configuration of an excitation signal generator according to the first embodiment of the present invention;
図 3は、 実施の形態 1の励振信号生成装置に備えた M A型適応符号帳の構 成を示すブロック図; FIG. 3 is a block diagram showing a configuration of an MA-type adaptive codebook provided in the excitation signal generation device according to the first embodiment;
図 4は、 実施の形態 1における励振信号生成処理の流れを示すフローチヤ —卜 ; FIG. 4 is a flowchart showing the flow of the excitation signal generation process in the first embodiment;
図 5は、 実施の形態 1における M A型適応符号帳生成処理の流れを示すフ 口―ナ 一ト ; FIG. 5 is a flowchart showing the flow of the MA-type adaptive codebook generation process according to the first embodiment;
図 6は、 本発明の実施の形態 2にかかる音声符号化装置と音声複号化装置 の構成を示すブロック図;並びに FIG. 6 is a block diagram showing a configuration of a speech coding apparatus and a speech decoding apparatus according to Embodiment 2 of the present invention;
図 7は、 本発明の実施の形態 3にかかる音声信号送信装置と受信装置の構 成を表すブロック図である。 発明を実施するための最良の形態 FIG. 7 is a block diagram illustrating a configuration of an audio signal transmitting device and a receiving device according to the third embodiment of the present invention. BEST MODE FOR CARRYING OUT THE INVENTION
以下、 本発明の実施の形態について図 1から図 6を用いて具体的に説明す る。 Hereinafter, embodiments of the present invention will be specifically described with reference to FIGS. 1 to 6.
(実施の形態 1 ) (Embodiment 1)
図 2に本発明の実施の形態 1にかかる励振信号生成器の構成を示す。 同図 に示す励振信号生成器は、 適応符号帳 1 0 1、 第 1の雑音符号帳 1 0 2及び 第 2の雑音符号帳 1 0 3を備える。 FIG. 2 shows a configuration of the excitation signal generator according to the first embodiment of the present invention. The excitation signal generator shown in the figure includes an adaptive codebook 101, a first random codebook 102, and a second random codebook 103.
適応符号帳 1 0 1は、 過去に生成した励振信号をバッファリングし、 ピッ チ周期 (ピッチラグ) Pを用いて適応符号ベクトルを生成する。 適応符号帳 1 0 1にて生成された適応符号べクトルは乗算器 1 0 4で適応符号帳利得 G
1が乗じられた後に加算器 1 0 5に出力される。 The adaptive codebook 101 buffers the excitation signal generated in the past, and generates an adaptive code vector using the pitch period (pitch lag) P. The adaptive code vector generated by adaptive codebook 101 is applied to adaptive codebook gain G by multiplier 104. After being multiplied by 1, it is output to the adder 105.
第 1の雑音符号帳 1 0 2は、 予め定められた個数の形状の異なる雑音符号 べクトルが格納されており、 雑音符号べクトルのィンデックス S 1によって 指定される第 1の雑音符号べクトルを出力する。 第 1の雑音符号べクトルは 位相適応器 1 0 6において後述するシフト量だけ位相シフトされる。 位相シ フ卜後の第 1の雑音符号べクトルに乗算器 1 0 Ίで雑音符号帳利得 G 2が乗 じられて加算器 1 0 5へ出力される。 The first noise code book 102 stores a predetermined number of noise code vectors having different shapes and stores the first noise code vector specified by the index S 1 of the noise code vector. Output. The first noise code vector is phase-shifted in the phase adaptor 106 by a shift amount described later. The first noise code vector after the phase shift is multiplied by the noise codebook gain G 2 in the multiplier 10 Ί and output to the adder 105.
第 2の雑音符号帳 1 0 3は、 予め定められた個数 (有限個) の異なる形状 を有する雑音符号べクトルを格納し、 雑音符号べクトルのインデックス S 2 によって指定される第 2の雑音符号ベクトルを乗算器 1 0 8に出力する。 乗 算器 1 0 8において第 2の雑音符号ベクトルに雑音符号帳利得 G 2が乗じら れてから加算器 1 0 5に出力される。 The second random codebook 103 stores a predetermined number (finite number) of random code vectors having different shapes, and stores a second random code specified by an index S 2 of the random code vector. The vector is output to the multiplier 108. Multiplier 108 multiplies the second noise code vector by noise codebook gain G 2 and outputs the result to adder 105.
また、 雑音符号帳利得 G 2の乗じられた第 2の雑音符号べクトルは同時に M A型適応符号帳 1 0 9に与えられる。 M A型適応符号帳 1 0 9は、 雑音符 号帳利得乗算後の第 2の雑音符号べクトルと適応符号帳利得 G 1とピッチ周 期 Pとを用いて M A型適応符号べクトルを生成して位相算出器 1 1 0に出力 する。 位相算出器 1 1 0は、 M A型適応符号帳 1 0 9から出力される MA型 適応符号べクトルとピッチ周期 Pを用いて位相シフト量を算出し、 そのシフ ト量を位相適応器 1 0 6に出力する。 The second noise code vector multiplied by the noise codebook gain G 2 is simultaneously provided to the MA adaptive codebook 109. MA-type adaptive codebook 109 generates MA-type adaptive code vector using second noise code vector after noise codebook gain multiplication, adaptive codebook gain G1 and pitch period P. And outputs it to the phase calculator 110. The phase calculator 110 calculates the phase shift amount using the MA type adaptive code vector output from the MA type adaptive code book 109 and the pitch period P, and uses the shift amount as the phase adaptor Output to 6.
なお、 加算器 1 0 5から出力された励振信号は適応符号帳 1 0 1にも入力 されて適応符号帳を更新するのに用いられる。 The excitation signal output from the adder 105 is also input to the adaptive codebook 101 and used to update the adaptive codebook.
以上のように構成された励振信号生成器の動作について説明する。 The operation of the excitation signal generator configured as described above will be described.
まず、 ピッチ周期 (ピッチラグ) Pが適応符号帳 1 0 1、 位相算出器 1 1 0、 及び M A型適応符号帳 1 0 9に、 第 1の雑音符号帳インデックス S 1が 第 1の雑音符号帳 1 0 2に、 第 2の雑音符号帳インデックス S 2が第 2の雑 音符号帳 1 0 3に、 適応符号帳利得 G 1が乗算器 1 0 4と M A型適応符号帳 1 0 9に、 雑音符号帳利得 G 2が乗算器 1 0 7及び 1 0 8に、 それぞれ入力
される。 First, the pitch period (pitch lag) P is stored in the adaptive codebook 101, the phase calculator 110, and the MA adaptive codebook 109, and the first noise codebook index S1 is stored in the first noise codebook. In 102, the second random codebook index S2 is in the second noise codebook 103, the adaptive codebook gain G1 is in the multiplier 104 and the MA adaptive codebook 109, Noise codebook gain G2 is input to multipliers 107 and 108, respectively. Is done.
適応符号帳 1 0 1は過去に生成された励振信号を時系列データとしてバッ ファリングしており、 ピッチ周期 Pで指定される点を始点として適応符号帳 から適応符号べクトルを切り出して乗算器 1 0 4へ出力する。 The adaptive codebook 101 buffers the excitation signal generated in the past as time-series data.Starting at the point specified by the pitch period P, the adaptive codebook is cut out of the adaptive codebook to obtain a multiplier. Output to 104.
このとき、 ピッチ周期 Pで指定される点の位置より後ろにあるデータ長が、 出力すべき適応符号べクトル長より短い場合は、 ピッチ周期で周期化して適 応符号ベクトルを生成する (出力される適応符号ベクトル長は、 本励振信号 生成器から出力される励振信号ベクトル長になどしい) 。 乗算器 1 0 4は適 応符号帳 1 0 1から出力された適応符号べクトルに適応符号帳利得 G 1を乗 じて励振信号べクトルの適応符号成分のべクトルを生成する。 At this time, if the data length behind the position of the point specified by the pitch period P is shorter than the adaptive code vector length to be output, the adaptive code vector is generated by periodicizing the pitch period (output The adaptive code vector length is equal to the excitation signal vector length output from the excitation signal generator). The multiplier 104 multiplies the adaptive code vector output from the adaptive code book 101 by the adaptive code book gain G 1 to generate a vector of the adaptive code component of the excitation signal vector.
第 1の雑音符号帳 1 0 2は第 1の雑音符号帳インデックス S 1で指定され る第 1の雑音符号べクトルを取り出して位相適応器 1 0 6に出力する。 位相 適応器 1 0 6では、 第 1の雑音符号べクトルの位相シフ卜が行われるので、 第 1の雑音符号帳 1 0 2に格納されているベタトル長は本励振信号生成器か ら出力される励振信号べクトル長よりも位相適応器 1 0 6で行われ得る最大 シフト長の分だけ長い長さを有している。 The first random codebook 102 extracts the first random code vector specified by the first random codebook index S1 and outputs it to the phase adaptor 106. In the phase adaptor 106, the phase shift of the first noise code vector is performed, so that the vector length stored in the first noise code book 102 is output from the excitation signal generator. It has a length longer than the excitation signal vector length by the maximum shift length that can be performed by the phase adaptor 106.
位相適応器 1 0 6は位相算出器 1 1 0で算出されたシフト値の分だけ第 1 の雑音符号べクトルをシフトし、 励振信号べクトルの生成に用いる部分のみ を切り出して乗算器 1 0 7に出力する。 乗算器 1 0 7は位相適応器 1 0 6か ら出力されたべクトルに雑音符号帳利得 G 2を乗じて加算器 1 0 5に出力す る。 The phase adaptor 106 shifts the first noise code vector by the shift value calculated by the phase calculator 110, cuts out only the portion used for generating the excitation signal vector, and multiplies the multiplier by adding Output to 7. The multiplier 107 multiplies the vector output from the phase adaptor 106 by the noise codebook gain G2, and outputs the result to the adder 105.
第 2の雑音符号帳 1 0 3はインデックス S 2で指定される第 2の雑音符号 べクトルを取り出して乗算器 1 0 8に出力する。 第 2の雑音符号帳 1 0 3に 格納されている雑音符号べクトルは本励振信号生成器から生成される励振信 号ベクトル長と同じである。 乗算器 1 0 8は第 2の雑音符号帳 1 0 3から出 力された第 2の雑音符号べクトルに雑音符号帳利得 G 2を乗じる。 The second noise codebook 103 takes out the second noise code vector specified by the index S2 and outputs it to the multiplier 108. The noise code vector stored in the second noise code book 103 is the same as the excitation signal vector length generated from the present excitation signal generator. The multiplier 108 multiplies the second noise code vector output from the second noise codebook 103 by the noise codebook gain G2.
MA型適応符号帳 1 0 9は過去に入力された雑音符号帳利得乗算後の第 2
の雑音符号べクトルと過去に入力されたピッチ周期 Pとを用いて生成され、 さらに現在のピッチ周期 Pを用いて前記生成された M A型適応符号帳から M A型適応符号ベクトルを切り出して位相算出器 1 1 0に出力する。 The MA-type adaptive codebook 109 is the second after the noise codebook gain multiplication input in the past. Is generated using the noise code vector and the pitch period P inputted in the past, and further, the MA type adaptive code vector is cut out from the generated MA type adaptive codebook using the current pitch period P to calculate the phase. Output to 1 110
位相算出器 1 1 0は、 MA型適応符号ベクトルと現在のピッチ周期 Pとを 用いて位相位置の探索を行う。 位相位置の探索の方法はいくつかの方法があ り、 ピッチ周期 Pで並べたパルス列と M A型適応符号べクトルとの相関値を 最大化する方法や、 C E L P符号化に用いる場合は、 ピッチ周期 Pで並べた パルス列に合成フィルタをかけたべクトルと MA型適応符号べクトルに合成 フィル夕をかけたベクトルとの相関値を最大化する方法などがある。 The phase calculator 110 searches for a phase position using the MA-type adaptive code vector and the current pitch period P. There are several methods for searching for the phase position.The method of maximizing the correlation value between the pulse train arranged in the pitch period P and the MA adaptive code vector, and the pitch period when using for CELP coding There is a method to maximize the correlation value between the vector obtained by applying a synthesis filter to the pulse train arranged in P and the vector obtained by applying the synthesis filter to the MA adaptive code vector.
最後に、 加算器 1 0 5が乗算器 1 0 4と乗算器 1 0 7と乗算器 1 0 8とか ら出力されたべクトルの加算を行って励振信号べクトルを生成する。 生成さ れた励振信号ベクトルは、 適応符号帳 1 0 1にも出力されて、 適応符号帳 1 0 1を更新するのに用いられる。 Finally, the adder 105 adds the vectors output from the multiplier 104, the multiplier 107, and the multiplier 108 to generate an excitation signal vector. The generated excitation signal vector is also output to adaptive codebook 101 and used to update adaptive codebook 101.
図 3に、 M A型適応符号帳 1 0 9の詳細な構成を示す。 FIG. 3 shows a detailed configuration of the MA-type adaptive codebook 109.
MA型適応符号帳 1 0 9は、 乗算器 1 0 8から出力される雑音符号帳利得 乗算後の第 2の雑音符号べクトルを第 1の遅延器 2 0 1、 第 2の遅延器 2 0 2、 第 3の遅延器 2 0 3で 1単位時間 (1単位時間とは 1回の生成処理にお いて生成される励振信号べクトル長に相当する時間) ずつ遅延させる。 The MA-type adaptive codebook 109 forms the second noise code vector after multiplication by the noise codebook gain output from the multiplier 108 into a first delay unit 201 and a second delay unit 200. 2. The third delay unit 203 delays one unit time (one unit time is the time corresponding to the length of the excitation signal vector generated in one generation process).
第 3の遅延器 2 0 3から出力される 3単位時間前の雑音符号帳利得乗算後 の第 2の雑音符号べクトルは第 1の M A型適応符号帳 2 0 4にバッファリン グされる。 第 1の M A型適応符号帳 2 0 4は、 後述する 2単位時間前のピッ チ周期によって示される点を始点として第 1の MA型適応符号べクトルを切 り出す。 The second noise code vector multiplied by the noise codebook gain three unit times before and output from the third delay device 203 is buffered in the first MA-type adaptive codebook 204. The first MA-type adaptive codebook 204 extracts a first MA-type adaptive code vector starting from a point indicated by a pitch period two unit times before, which will be described later.
第 1の M A型適応符号帳 2 0 4から切り出された第 1の M A型適応符号べ クトルに対して乗算器 2 0 5で後述する 2単位時間前の適応符号帳利得を乗 算して結果を加算器 2 0 6に出力する。 この加算器 2 0 6において乗算器 2 0 5の出力と第 2の遅延器 2 0 2の出力する 2単位時間前の雑音符号帳利得
乗算後の第 2の雑音符号べクトルとを加算する。 この加算値を第 2の MA型 適応符号帳 2 0 7へ出力する。 The result obtained by multiplying the first MA-type adaptive code vector extracted from the first MA-type adaptive codebook 204 by the adaptive codebook gain two unit times later described later in a multiplier 205 Is output to the adder 206. In this adder 206, the output of the multiplier 205 and the output of the second delay unit 202 output the noise codebook gain two unit times ago. The second noise code vector after the multiplication is added. This added value is output to the second MA type adaptive codebook 207.
第 2の M A型適応符号帳 2 0 7は、 第 1の MA型適応符号帳と加算器 2 0 6とから出力されるべクトルとをつなげたものから成り、 後述する 1単位時 間前のピッチ周期で示される点を始点として MA型適応符号べクトルを切り 出す。 The second MA-type adaptive codebook 207 is composed of the first MA-type adaptive codebook and the vector output from the adder 206, and is described below one unit time before. The MA type adaptive code vector is cut out starting from the point indicated by the pitch period.
第 2の MA型適応符号帳 2 0 7から切り出されたべクトルに対して乗算器 2 0 8で後述する 1単位時間前の適応符号帳利得を乗算して結果を加算器 2 0 9に出力する。 この加算器 2 0 9において乗算器 2 0 8の出力と第 1の遅 延器 2 0 1の出力する 1単位時間前の雑音符号帳利得乗算後の第 2の雑音符 号べクトルとを加算する。 この加算値を第 3の MA型適応符号帳 2 1 0へ出 力する。 The vector cut out from the second MA-type adaptive codebook 207 is multiplied by an adaptive codebook gain one unit time before described later by a multiplier 208, and the result is output to an adder 209. . In the adder 209, the output of the multiplier 209 and the second noise code vector multiplied by the noise codebook gain one unit time ago output from the first delay unit 201 are added. I do. The added value is output to the third MA type adaptive codebook 210.
第 3の M A型適応符号帳 2 1 0は、 第 2の M A型適応符号帳 2 0 7と加算 器 2 0 9とから出力されたべクトルとをつなげたものから成り、 ピッチ周期 Pで指定された点を始点として MA型適応符号べクトルを切り出して位相算 出器 1 1 0に出力する。 The third MA-type adaptive codebook 210 is formed by connecting the second MA-type adaptive codebook 207 and the vector output from the adder 209, and is specified by the pitch period P. Then, the MA-type adaptive code vector is cut out from the starting point and output to the phase calculator 110.
適用符号帳利得 G 1は第 4の遅延器 2 1 1、 第 5の遅延器 2 1 2で順次 1 単位時間ずつ遅延させる。 第 5の遅延器 2 1 2から出力される 2単位時間前 の適応符号帳利得は上記した乗算器 2 0 5に与えられ、 第 4の遅延器 2 1 1 から出力される 1単位時間前の適応符号帳利得は上記した乗算器 2 0 8に与 えられる。 The applied codebook gain G 1 is sequentially delayed by one unit time by the fourth delay unit 2 1 1 and the fifth delay unit 2 1 2. The adaptive codebook gain two unit times before output from the fifth delay unit 2 1 2 is given to the multiplier 205 described above, and the adaptive codebook gain before one unit time output from the fourth delay unit 211 is output. The adaptive codebook gain is provided to the multiplier 208 described above.
また、 ピッチ周期 Pは第 6の遅延器 2 1 3、 第 7の遅延器 2 1 4で順次 1 単位時間ずつ遅延させる。 第 7の遅延器 2 1 4から出力される 2単位時間前 のピッチ周期は上記した第 1の MA型適応符号帳 2 0 4に与えられ、 第 6の 遅延器 2 1 3から出力される 1単位時間前のピッチ周期は上記した第 2の M A型適応符号帳 2 0 7に与えられる。 The pitch period P is sequentially delayed by one unit time by the sixth delay unit 2 13 and the seventh delay unit 2 14. The pitch period two unit times before output from the seventh delay unit 2 14 is given to the first MA type adaptive codebook 204 described above, and output from the sixth delay unit 2 13 1 The pitch period before the unit time is given to the second MA type adaptive codebook 207 described above.
以上の様に構成された MA型適応符号帳について、 その動作を説明する。
乗算器 1 0 8から入力された雑音符号帳利得乗算後の第 2の雑音符号べク トル (以後本パラグラフにおいては単に雑音符号ベクトルと呼ぶ) は第 1の 遅延器に入力され、 第 1の遅延器 2 0 1は、 1単位時間前 (過去) に入力さ れた雑音符号ベクトル S [— 1 ] を出力する。 第 2の遅延器 2 0 2は前記 1 単位時間過去に入力された雑音符号ベクトル S [— 1 ] を入力して、 さらに 1単位時間過去 (即ち 2単位時間過去) に入力された雑音符号ベクトル S [— 2 ] を出力する。 第 3の遅延器 2 0 3は前記 2単位時間過去に入力された雑 音符号ベクトル S [ - 2 ] を入力して、 さらに 1単位時間過去 (即ち 3単位 時間過去) に入力された雑音符号ベクトル S [— 3 ] を出力する。 これは、 過去 3単位時間において入力した全ての雑音符号べクトルをバッファリング しておいて、 各単位時間において入力された雑音符号べクトルを取り出すこ ととなど価である。 The operation of the MA-type adaptive codebook configured as described above will be described. The second noise code vector after the noise codebook gain multiplication input from the multiplier 108 (hereinafter simply referred to as the noise code vector in this paragraph) is input to the first delay unit, The delay unit 201 outputs the noise code vector S [—1] input one unit time ago (past). The second delay unit 202 receives the noise code vector S [—1] input one unit time ago, and further inputs the noise code vector input one unit time ago (ie, two unit time past). Outputs S [— 2]. The third delay unit 203 receives the noise code vector S [−2] input in the past two unit times, and further inputs the noise code vector input one unit time in the past (ie, three unit times in the past). Output the vector S [— 3]. This is equivalent to buffering all the noise code vectors input in the past three unit times and extracting the noise code vectors input in each unit time.
同様にして、 第 4の遅延器 2 1 1は適応符号帳利得 G 1を入力して 1単位 時間過去に入力した適応符号帳利得 G [— 1 ] を出力し、 第 5の遅延器 2 1 2は前記 1単位時間過去に入力した適応符号帳利得 G [— 1 ] を入力してさ らに 1単位時間過去 (即ち 2単位時間過去) に入力した適応符号帳利得 G [— 2 ] を出力する。 これは、 過去 2単位時間において入力された全ての適応符 号帳利得をバッファリングし、 各単位時間において入力された適応符号帳利 得を取り出すこととなど価である。 Similarly, the fourth delay unit 2 1 1 receives the adaptive codebook gain G 1, outputs the adaptive codebook gain G [—1] input one unit time ago, and outputs the fifth delay unit 2 1 2 is to input the adaptive codebook gain G [—1] input in the previous one unit time, and to further calculate the adaptive codebook gain G [—2] input one unit time in the past (ie, two unit time past). Output. This is equivalent to buffering all adaptive codebook gains input in the past two unit times and extracting adaptive codebook gains input in each unit time.
同様にして、 第 6の遅延器 2 1 3はピッチ周期 Pを入力して、 1単位時間 過去に入力したピッチ周期 P [— 1 ] を出力し、 第 7の遅延器 2 1 4は前記 1単位時間過去に入力されたピッチ周期 P [— 1 ] を入力して、 さらに 1単 位時間過去 (即ち 2単位時間過去) に入力されたピッチ周期 P [— 2 ] を出 力する。 これは、 過去 2単位時間において入力された全てのピッチ周期をバ ッファリングしておいて、 各単位時間において入力されたピッチ周期を取り 出すのとなど価である。 Similarly, the sixth delay unit 2 13 receives the pitch period P, outputs the pitch period P [—1] input in the past for one unit time, and the seventh delay unit 2 14 The pitch period P [-1] input in the past unit time is input, and the pitch period P [-2] input in the past one unit time (that is, two unit times past) is output. This is equivalent to buffering all pitch periods input in the past two unit times and extracting the pitch period input in each unit time.
このようにして、 3〜1単位時間前の雑音符号ベクトル (S [— 1 ] , S
[一 2 ] , S [— 3 ] ) と、 2〜:!単位時間前の適応符号帳利得 (G [— 1 ] , G [— 2 ] ) と、 2〜:!単位時間前と現在のピッチ周期 (P [— 2 ] , P [一 1 ] , P ) とを用いて、 以下のように M A型適応符号帳を生成する。 In this way, the random code vector (S [—1], S [1 2], S [— 3]) and 2 to: The adaptive codebook gain (G [— 1], G [— 2]) before unit time and 2 to:! Using the pitch period (P [-2], P [1-1], P), an MA-type adaptive codebook is generated as follows.
まず、 3単位時間過去の雑音符号べクトルが第 1の M A型適応符号帳 2 0 4となる。 第 1の MA型適応符号帳 2 0 4はピッチ周期の取りうる最大ピッ チ周期の長さを有するバッファであり、 バッファの最後部に 3単位時間過去 の雑音符号べクトルがコピーされていて、 コピーされた部分より前の部分は 全て 0である。 First, the noise code vector in the past three unit times becomes the first MA-type adaptive codebook 204. The first MA type adaptive codebook 204 is a buffer having the maximum pitch period length that the pitch period can take, and the noise code vector past 3 unit time is copied at the end of the buffer. All parts before the copied part are 0.
第 1の M A型適応符号帳 2 0 4は、 2単位時間過去のピッチ周期 P [ - 2 ] を用いて、 MA型符号帳の終点 (3単位時間過去の雑音符号ベクトルの終点) から P [— 2 ] で示されるピッチ周期長だけさかのぼった点を始点として、 第 1の MA型適応符号べクトルを切り出して出力する。 The first MA-type adaptive codebook 2 0 4 uses the pitch period P [-2] of 2 unit time past to calculate the end point of the MA-type codebook (the end point of the random code vector of 3 unit time past) from P [ — Extracts and outputs the first MA-type adaptive code vector starting from the point that has been traced back by the pitch period length indicated by [2].
この際、 ピッチ周期長が出力すべきベクトル長 (1単位時間の長さ) より 短い場合は、 P [— 2 ] で示されるピッチ周期長で周期化処理を行って所定 の長さのベクトルとしてから出力する。 また、 第 1の M A型適応符号帳 2 0 4そのものが第 2の MA型適応符号帳 2 0 7に出力される。 At this time, if the pitch period length is shorter than the vector length to be output (the length of one unit time), the periodic processing is performed with the pitch period length indicated by P [—2] to obtain a vector of a predetermined length. Output from Also, the first MA type adaptive codebook 204 itself is output to the second MA type adaptive codebook 207.
第 1の MA型適応符号帳 2 0 4から出力されたべクトルは乗算器 2 0 5に おいて 2単位時間過去の適応符号帳利得 G [— 2 ] が乗算されて加算器 2 0 6に出力される。 加算器 2 0 6は 2単位時間過去の雑音符号ベクトル S [― 2 ] と乗算器 2 0 5から出力されたベクトルとをベクトル加算したベクトル を第 2の M A型適応符号帳 2 0 7に出力する。 The vector output from the first MA-type adaptive codebook 204 is multiplied by the adaptive codebook gain G [—2] two unit times past in the multiplier 205 and output to the adder 206 Is done. The adder 206 adds the vector output from the multiplier 205 to the noise code vector S [−2] in the past two unit times and outputs the vector to the second MA-type adaptive codebook 207 I do.
第 2の MA型適応符号帳 2 0 7は、 第 1の MA型適応符号帳と同じ長さを 有するバッファであって、 このバッファの最後尾には加算器 2 1 0から出力 されたべクトルがコピーされ、 それより前の部分には第 1の M A型適応符号 帳 2 0 4がコピ一される。 The second MA-type adaptive codebook 2 07 is a buffer having the same length as that of the first MA-type adaptive codebook, and the vector output from the adder 210 is located at the end of this buffer. The first part is copied, and the first MA adaptive codebook 204 is copied in the previous part.
このとき、 第 1の M A型適応符号帳の最後尾から順に第 2の MA型適応符 号帳へのコピーが行われるので、 第 1の M A型適応符号帳の先頭 1単位時間
分は第 2の MA型適応符号帳にはコピーされない。 第 2の M A型適応符号帳 2 0 7は、 第 2の M A型適応符号帳 2 0 7の最後尾から 1単位時間過去のピ ツチ周期 P [— 1 ] で示されるピッチ周期長だけさかのぼった点を始点とし て、 第 2の MA型適応符号べクトルを第 1の MA型適応符号べクトルを切り 出したときと同様にして切り出して出力する。 また、 第 2の MA型適応符号 帳 2 0 7そのものが第 3の MA型適応符号帳 2 1 0に出力される。 At this time, since copying to the second MA-type adaptive codebook is performed in order from the end of the first MA-type adaptive codebook, the first one unit time of the first MA-type adaptive codebook The minutes are not copied to the second MA adaptive codebook. The second MA-type adaptive codebook 207 goes back from the end of the second MA-type adaptive codebook 207 by a pitch period length represented by a pitch period P [—1] one unit time in the past. With the point as the starting point, the second MA-type adaptive code vector is cut out and output in the same manner as when the first MA-type adaptive code vector is cut out. Further, the second MA-type adaptive codebook 2107 itself is output to the third MA-type adaptive codebook 210.
第 2の MA型適応符号帳 2 0 7から出力されたべクトルは乗算器 2 0 8に おいて 1単位時間過去の適応符号帳利得 G [ - 1 ] が乗算されて加算器 2 0 9に出力される。 加算器 2 0 9は 1単位時間過去の雑音符号ベクトル S [— 1 ] と乗算器 2 0 8から出力されたベクトルとをベクトル加算して第 3の M A型適応符号帳 2 1 0に出力する。 The vector output from the second MA-type adaptive codebook 207 is multiplied by the adaptive codebook gain G [-1] of one unit time past in the multiplier 208 and output to the adder 209. Is done. The adder 209 adds the noise code vector S [—1] in the past one unit time and the vector output from the multiplier 209, and outputs the result to the third MA type adaptive codebook 210. .
第 3の MA型適応符号帳 2 1 0は、 第 2の MA型適応符号帳と同じ長さを 有するバッファであって、 このバッファの最後尾に加算器 2 0 9から出力さ れたべクトルがコピーされ、 それより前の部分に第 2の M A型適応符号帳 2 0 7がコピ一される。 The third MA-type adaptive codebook 210 is a buffer having the same length as the second MA-type adaptive codebook, and the vector output from the adder 209 is located at the end of this buffer. The second MA-type adaptive codebook 207 is copied to the part before it is copied.
このとき、 第 2の MA型適応符号帳の最後尾から順に第 3の MA型適応符 号帳へのコピーが行われるので、 第 2の M A型適応符号帳の先頭 1単位時間 分は第 3の MA型適応符号帳にはコピーされない。 第 3の M A型適応符号帳 2 1 0は、 第 3の MA型適応符号帳 2 1 0の最後尾から現在のピッチ周期 P で示されるピッチ周期だけさかのぼった点を始点として、 第 3の MA型適応 符号べクトルを第 1の MA型適応符号べクトルを切り出したときと同様にし て切り出して出力する。 前記第 3の MA型適応符号ベクトルは、 位相算出器 1 1 0へ入力される。 At this time, since copying to the third MA-type adaptive codebook is performed in order from the end of the second MA-type adaptive codebook, the first unit time of the second MA-type adaptive codebook corresponds to the third unit time. It is not copied to the MA-type adaptive codebook. The third MA-type adaptive codebook 210 is a third MA-type adaptive codebook, starting from a point that has been advanced from the end of the third MA-type adaptive codebook 210 by the pitch period indicated by the current pitch period P. The type adaptive code vector is cut out and output in the same way as when the first MA type adaptive code vector was cut out. The third MA type adaptive code vector is input to the phase calculator 110.
このように本実施の形態では、 M A型適応符号帳は過去 3単位時間以内に おける雑音符号べクトルと適応符号帳利得とピッチ周期によって位相算出を 行うためのべクトルを生成するため、 4単位時間以上過去における伝送路誤 りの影響を受けることがない。
以上の説明では、 過去 3単位時間内の雑音符号べクトルと適応符号帳利得 とピッチ周期を用いる構成としたが、 同様な構成で過去 4単位時間以上ある いは過去 2単位時間以下の情報を用いる構成も可能である。 As described above, in the present embodiment, the MA adaptive codebook generates four vectors in order to calculate the noise code vector and the adaptive codebook gain and the phase period based on the pitch period within the past three unit times. It is not affected by transmission line errors in the past more than an hour. In the above description, the noise code vector, adaptive codebook gain, and pitch period within the past three unit times are used.However, with the same configuration, information over the past four unit times or the past two unit times is used. The configuration used is also possible.
次に、 図 4を参照して上記実施の形態における励振信号生成方法の処理の 流れを示す。 Next, a flow of processing of the excitation signal generating method according to the above embodiment will be described with reference to FIG.
ステップ 30 1において、 適応符号ベクトル acv[0〜N- 1]が適応符号帳 acb[-Pmax〜- 1]から生成される。 ここで、 Pmaxは取りうるピッチ周期 (ピ ツチラグ) の最大値、 N は 1 単位時間における信号のサンプル数であり、 [] は配列変数を示している。 適応符号帳 acb[]は過去に生成した励振信号べク トルを Pmax サンプルだけ蓄えているバッファであり、 acb [ -P〜N-P_ 1〗を 適応符号ベクトル acv[0〜N-l]として出力する。 Pはピッチ周期である。 N- ρ-1≥0 の場合は、 適応符号帳 acb[ ]の範囲外になるので、 acb[- P〜- 1]の 部分を繰り返し用いて acv[]を生成する。 In step 301, an adaptive code vector acv [0 to N-1] is generated from an adaptive codebook acb [-Pmax ~ -1]. Here, Pmax is the maximum value of the pitch period (pitched lag) that can be taken, N is the number of signal samples in one unit time, and [] indicates an array variable. The adaptive codebook acb [] is a buffer that stores only Pmax samples of the excitation signal vector generated in the past, and outputs acb [-P to N-P_1] as the adaptive code vector acv [0 to Nl]. . P is the pitch period. If N-ρ-1≥0, it is out of the range of the adaptive codebook acb [], so acv [] is generated by repeatedly using the part of acb [-P ~ -1].
次に、 ステップ 302において M A型適応符号ベクトル ma— acv[0〜N-l] を MA型適応符号帳 ma— acb[ -Pmax: -1]から生成する。 ma— acb[]の生成方 法については、 図 5を用いて後述する。 M A型適応符号帳 ma— acb []は過去 有限時間内における音源生成情報から生成したべクトルを Pmaxサンプルだけ 蓄えているバッファであり、 ma— acb[-P〜N- P-1]を MA型適応符号べクト ル ma— acv[0〜N-l]として出力する。 なお、 N-P- 1≥0 の場合は、 適応符号 帳 acb[]から適応符号ベクトル acv[]を生成する場合と同様にして MA型適 応符号べクトル ma— acv[]を生成する。 Next, in step 302, the MA-type adaptive codebook ma-acv [0 to N-l] is generated from the MA-type adaptive codebook ma-acb [-Pmax: -1]. The method of generating ma-acb [] will be described later using FIG. MA-type adaptive codebook ma—acb [] is a buffer that stores only Pmax samples of vectors generated from sound source generation information in the past finite time, and MA—acb [-P to N-P-1] Type adaptive code vector ma—Output as acv [0 to Nl]. When N-P-1 ≥ 0, the MA-type adaptive code vector ma- acv [] is generated in the same way as when the adaptive code vector acv [] is generated from the adaptive codebook acb [].
次に、 ステップ 303において、 位相 phを算出する。 位相の算出の方法 としては、 MA型適応符号ベクトル ma— acv[]とピッチ周期 Pで並べたイン パルス列べクトルとの相互相関を最大とするインパルス列べクトルの先頭ィ ンパルスの位置を探索するという方法などを用いる。 CELP符号化に本励 振信号生成方法を用いる場合には、 励振信号に合成フィル夕をかけた後の領 域で歪みを最小化するィンパルス列べクトルの先頭ィンパルスの位置を探索
する方法なども有効であり、 間野氏らによる " 「位相適応型 PS I— CEL P音声符号化の検討」 、 電子情報通信学会技術研究報告、 SP 94— 96 (1 995 - 02) P. 37 -P. 44 " などに示されている。 Next, in step 303, the phase ph is calculated. The phase is calculated by searching for the position of the first impulse of the impulse train vector that maximizes the cross-correlation between the MA-type adaptive code vector ma—acv [] and the impulse train vectors arranged with the pitch period P Is used. When this excitation signal generation method is used for CELP coding, search for the position of the first impulse in the impulse train vector that minimizes distortion in the area after the excitation signal is subjected to the synthesis filter. "Phase adaptive PS I—CEL P speech coding", IEICE Technical Report, SP 94—96 (1 995-02) P. 37 -P. 44 ".
次に、 ステップ 304において、 第 1の雑音符号ベクトル scvl[0〜N- 1] が第 1の雑音符号帳 SCBl[Slsize] [-MAXph〜N- 1]から生成される。 雑音 符号帳 SCB1[][]は N+MAXphの長さを有するベタトルを Slsize種類格納し ている。 ここで、 MAXph は位相 P hの取り得る最大値 (ph≥0) である。 第 1の雑音符号インデックス S 1で指定されるべクトル SCB1[S1][]が取り 出され、 位相 phを用いて SCB1[S1] [-ph〜N-l-ph]を切り出して第 1の雑 音符号べクトル scvl[0〜N-l]とする。 Next, in step 304, a first random code vector scvl [0 to N-1] is generated from the first random codebook SCBl [Slsize] [-MAXph to N-1]. The noise codebook SCB1 [] [] stores a vector with a length of N + MAXph as Slsize. Here, MAXph is the maximum value that the phase Ph can take (ph≥0). The vector SCB1 [S1] [] specified by the first noise code index S1 is extracted, and the SCB1 [S1] [-ph to Nl-ph] is cut out using the phase ph to obtain the first noise. Let the sign vector be scvl [0 to Nl].
次に、 ステップ 305において、 第 2の雑音符号ベクトル scv2[0〜N-l] が第 2の雑音符号帳 SCB2[S2size][0〜N-l]から生成される。 雑音符号帳 SCB2[] []は Nの長さを有するべクトルを S2size種類格納している。 第 2の 雑音符号インデックス S 2で指定されるべクトル SCB2[S2] [0〜N-1]を第 2 の雑音符号ベクトル scv2[0〜N- 1]とする。 Next, in step 305, a second random code vector scv2 [0 to N-l] is generated from the second random codebook SCB2 [S2size] [0 to N-l]. The random codebook SCB2 [] [] stores S2size types of vectors having a length of N. The vector SCB2 [S2] [0 to N-1] specified by the second noise code index S2 is set as a second noise code vector scv2 [0 to N-1].
そして、 ステップ 306において、 適応符号ベクトル acv[0〜N-l]に適応 符号帳利得 G 1を乗じたべクトルと、第 1の雑音符号べクトル SCV1[0〜N-1] と第 2の雑音符号べクトル scv2[0〜N-l]との和べクトルに雑音符号帳利得 G 2を乗じたべクトルとを加算して励振信号べクトル exc[0〜N-l]を生成す る。 Then, at step 306, adaptive code vector acv and base multiplied by the adaptive codebook gain G 1 in the [0~Nl] vector, the first noise code base vector SCV 1 [0 to N-1] and the second noise code An excitation signal vector exc [0-Nl] is generated by adding a vector obtained by multiplying the sum vector with the vector scv2 [0-Nl] by the noise codebook gain G2.
最後に、 ステップ 307において、 適応符号帳の更新を行う。 適応符号帳 の更新は、 n=-Pmax -1について acb[n] =acb[n+N〗を行ってバッファ のシフトを行った後に、 新たに生成した励振信号ベクトル exc[0〜N-l]を acb[-N〜- 1]にコピーすることによって行われる。 Finally, in step 307, the adaptive codebook is updated. The adaptive codebook is updated by performing acb [n] = acb [n + N〗 for n = -Pmax -1 and shifting the buffer, then adding the newly generated excitation signal vector exc [0 to Nl]. This is done by copying to acb [-N ~ -1].
次に、 図 5を用いて MA型適応符号帳の生成方法について説明する。 図 5 は本実施の形態における M A型適応符号帳の生成方法の具体的処理を示した 流れ図を示している。
まず、 ステップ 401において、 MA型適応符号帳 ma_acb[-Pmax〜-l] の内容がゼロクリアされる。 次に、 ステップ 402において雑音符号帳利得 乗算後の第 2の雑音符号べクトル (以下本パラグラフでは単に雑音符号べク トルとよぶ) をバッファ buf— scb[0][0〜N-l]に保存する。 次に、 ステップ 403においてピッチ周期 Pをバッファ buf_p[0]に保存する。 次に、 ステ ップ 404において適応符号帳利得 G 1を buf— g[0]に保存する。 Next, a method of generating an MA-type adaptive codebook will be described with reference to FIG. FIG. 5 is a flowchart showing a specific process of the method of generating an MA-type adaptive codebook in the present embodiment. First, in step 401, the contents of the MA adaptive codebook ma_acb [-Pmax to -l] are cleared to zero. Next, in step 402, the second noise code vector after the noise codebook gain multiplication (hereinafter simply referred to as the noise code vector in this paragraph) is stored in the buffer buf—scb [0] [0 to Nl]. . Next, in step 403, the pitch period P is stored in the buffer buf_p [0]. Next, in step 404, the adaptive codebook gain G1 is stored in buf—g [0].
ここで、 各バッファについて説明する。 Here, each buffer will be described.
1)1^ー301>[0〜3][0〜11-1]は過去に生成された雑音符号べクトルが保存さ れており、 buf— scb[0] [0〜N-1]には現在生成されている雑音符号べクトル が、 buf一 scb[l][0〜N-l]には 1単位時間過去に生成された雑音符号べクト ルが、 buf— scb [ 2 ] [ 0〜N- 1】には 2単位時間過去に生成された雑音符号べク トルが、 それぞれ保存されている。 また、 buf_p[0〜2]には、 過去に用いた ピッチ周期 Pが保存されており、 buf_p[0]には現在のピッチ周期が、 buf_p [ 1 ]には 1単位時間過去に用いたピッチ周期が、 buf _p [ 2 ]には 2単位 時間過去に用いたピッチ周期が、 それぞれ保存されている。 また、 buf一 g[0 〜2]には過去用いた適応符号帳利得 G 1が保存されており、 buf— g[0]には 現在の適応符号帳利得が、 buf— g[l]には 1単位時間過去に用いた適応符号帳 利得が、 buf— g[2]には 2単位時間過去に用いた適応符号帳利得が、 それぞれ 保存されている。 1) 1 ^ -301> [0-3] [0-11-1] stores the noise code vector generated in the past, and is stored in buf-scb [0] [0-N-1]. Is the currently generated noise code vector, and buf-scb [l] [0-Nl] is the noise code vector generated one unit time in the past, buf-scb [2] [0-N -1] stores the noise code vectors generated two unit times ago. Also, buf_p [0 to 2] stores the pitch cycle P used in the past, buf_p [0] indicates the current pitch cycle, and buf_p [1] indicates the pitch used in the past one unit time. The period, buf_p [2] stores the pitch period used in the past 2 units of time. Also, the adaptive codebook gain G 1 used in the past is stored in buf-g [0-2], the current adaptive codebook gain is stored in buf-g [0], and the current adaptive codebook gain is stored in buf-g [l]. Stores the adaptive codebook gain used in the past one unit time, and buf-g [2] stores the adaptive codebook gain used in the past two unit times.
次に、 ステップ 405において、 MA型適応符号帳 ma— acb[]の生成を行 う。 これは、 buf— scb[3][0〜N- 1]を ma一 acb[-N〜- 1]にコピーすること によって行われる。 次に、 ステップ 406において MA型適応符号帳の更新 を行う。 まず、 テンポラリベクトル 1 Tmp[0〜N-l]に ma—act>[ -buf— p[2]〜 N-l- buf_p[2]]がコピーされる。 これはステップ 405において生成された MA型適応符号帳を適応符号帳とし buf _p[2]をピッチ周期として適応符号 ベクトルを生成するのと同じである。 次に、 n=-Pmax N-1 について ma acb[n]=ma— acb[n+N]を行って MA型適応符号帳をシフトする。最後に、
テンポラリべク トル Tmp[0〜N-l]に buf— g[2]を乗じたべク トルと buf— scb [ 2 ] [ 0〜N - 1〗をカロ算して ma—acb [ -N〜- 1 ]に書さ込む。 Next, in step 405, an MA-type adaptive codebook ma-acb [] is generated. This is done by copying buf-scb [3] [0-N-1] to ma-1 acb [-N--1]. Next, in step 406, the MA type adaptive codebook is updated. First, ma-act> [-buf-p [2] -Nl-buf_p [2]] is copied to temporary vector 1 Tmp [0-Nl]. This is the same as generating an adaptive code vector using the MA adaptive codebook generated in step 405 as an adaptive codebook and using buf_p [2] as a pitch period. Next, the MA adaptive codebook is shifted by performing ma acb [n] = ma—acb [n + N] for n = −Pmax N−1. Finally, The vector obtained by multiplying the temporary vector Tmp [0 to Nl] by buf—g [2] and buf—scb [2] [0 to N-1〗 is calculated by calo, and ma—acb [-N ~ -1 ].
次に、 ステップ 407において、 再度 MA型適応符号帳の更新を行う。 ま ず、 テンポラリべク ト レ Tmp[0〜N-l]に ma一 acb[ -buf_p[l]〜N-1- buf— p[l]]がコピ一される。 これはステップ 406において更新された ΜΑ 型適応符号帳を適応符号帳とし buf_p [ 1 ]をピッチ周期として適応符号べク トルを生成するのと同じである。 次に、 n=-Pmax N-1 について ma— acb[n]=ma— act>[n+N]を行って MA型適応符号帳をシフ卜する。最後に、 テンポラリべク トル Tmp[0〜N- 1]に buf— g[l]を乗じたべク トルと buf_scb [ 1〗 [ 0〜N- 1 ]をカロ算して ma_acb [ -N〜 - 1 ]に書さ込む。 Next, in step 407, the MA type adaptive codebook is updated again. First, ma acb [-buf_p [l] -N-1-buf-p [l]] is copied to the temporary vector Tmp [0-N-l]. This is the same as generating the adaptive code vector using the 適 応 -type adaptive codebook updated in step 406 as the adaptive codebook and buf_p [1] as the pitch period. Next, ma-acb [n] = ma-act> [n + N] is performed on n = -Pmax N-1 to shift the MA adaptive codebook. Finally, the vector obtained by multiplying the temporary vector Tmp [0 ~ N-1] by buf-g [l] and buf_scb [1〗 [0 ~ N-1] are calculated as ma_acb [-N ~- 1].
ここまでで、 最終的な M A型適応符号帳が作成される。 そして、 最終的な MA型適応符号帳から現在のピッチ周期 buf_p[o]を用いて MA型適応符号 べクト レ ma—acv[0〜N-l]を、 ma—acv[ 0〜N— 1 ] =ma— acb[ -buf_p[ 0〗〜 N- 1-buf— p[0】 ]により生成する。 At this point, the final MA adaptive codebook is created. Then, using the current pitch period buf_p [o] from the final MA-type adaptive codebook, the MA-type adaptive code vector ma—acv [0 to Nl] is calculated as ma—acv [0 to N—1] = ma—acb [-buf_p [0〗 -N-1-buf—p [0]]
最後に、 ステップ 409において、 3つのバッファを更新して全ての処理 を終了する。 なお、 3つのバッファを拡大して、 さらに過去に用いたパラメ —夕を保存し、 ステップ 406や 407と同様の処理を繰り返すことによつ て MA型適応符号帳を拡張し、 位相適応能力を高めることも可能である。 Finally, in step 409, the three buffers are updated and all processing ends. By expanding the three buffers, storing the parameters used in the past—evening, and repeating the same processing as in steps 406 and 407, the MA-type adaptive codebook is expanded to increase the phase adaptability. It is also possible to increase.
本実施の形態においては、 2つの雑音符号帳を備え、 一方の雑音符号帳の みに位相適応処理を行っているため、 2つの雑音符号帳の双方に位相適応処 理を行う場合に比べて伝送路誤りに対する耐性が強くなつている。 In the present embodiment, two noise codebooks are provided, and the phase adaptation process is performed only on one of the noise codebooks. Therefore, compared with the case where the phase adaptation process is performed on both of the two noise codebooks. The resistance to transmission line errors has become stronger.
なお、 本実施の形態においては、 常に (MA型の) 位相適応を行う雑音符 号帳が使用される構成例を示したが、 位相適応を全く行わない一般的な雑音 符号帳のみから雑音符号べクトルを生成するモードと本実施の形態で示した ような位相適応を行う雑音符号帳から雑音符号べクトルを生成するモードと を切替えて使用する構成例に対しても適用可能である。 In the present embodiment, an example of a configuration in which a noise codebook that always performs (MA type) phase adaptation is used is shown. However, a noise codebook that uses only a general noise codebook that does not perform phase adaptation at all is shown. The present invention is also applicable to a configuration example in which a mode for generating a vector and a mode for generating a random code vector from a random code book performing phase adaptation as described in the present embodiment are switched.
(実施の形態 2)
図 6に、 実施の形態 1に示した励振信号生成器を用いた実施の形態を示す。 図 6Aは音声符号化装置、 図 6Bは音声復号化装置を夫々示す。 (Embodiment 2) FIG. 6 shows an embodiment using the excitation signal generator shown in the first embodiment. FIG. 6A shows a speech encoding device, and FIG. 6B shows a speech decoding device.
図 6Aの音声符号化装置では、 ディジ夕ル化された音声信号などからなる入 カデ一夕が LP C分析器 501と加算器 506とに入力される。 LPC分析 器 501は線形予測分析を行って線形予測係数 (LPC) を算出して LP C 量子化器 502に出力する。 In the speech coding apparatus shown in FIG. 6A, an input signal composed of a digitized speech signal or the like is inputted to the LPC analyzer 501 and the adder 506. The LPC analyzer 501 performs a linear prediction analysis to calculate a linear prediction coefficient (LPC) and outputs it to the LPC quantizer 502.
L PC量子化器 502は、 入力した LP Cを量子化し、 量子化後の LP C を合成フィル夕 505に、 また、 量子化 LP Cを表現する符号 Lを復号器に それぞれ出力する。 The LPC quantizer 502 quantizes the input LPC, outputs the quantized LPC to the synthesis filter 505, and outputs a code L representing the quantized LPC to the decoder.
合成フィル夕 505は入力した量子化 LPCを用いて LPC合成フィルタ を構築する。 この合成フィル夕に対して励振信号生成器 503によって生成 される励振信号を入力としてフィルタ処理を行って合成音声信号を加算器 5 06に出力する。 The synthesis filter 505 constructs an LPC synthesis filter using the input quantized LPC. An excitation signal generated by the excitation signal generator 503 is input to the synthesized filter to perform filter processing, and a synthesized speech signal is output to the adder 506.
加算器 506は、 入力デ一夕と合成音声信号との誤差を算出し、 歪み算出 器 507へ出力する。 歪み算出器 507は、 加算器 506から出力された誤 差信号をもとに、 聴覚的な重みなどを考慮した入力音声信号に対する合成音 声信号の歪みを算出し、 パラメ一夕決定器 504へ出力する。 The adder 506 calculates an error between the input data and the synthesized speech signal, and outputs the error to the distortion calculator 507. The distortion calculator 507 calculates the distortion of the synthesized voice signal with respect to the input voice signal in consideration of the auditory weights, etc., based on the error signal output from the adder 506, and sends the resultant to the parameter determiner 504. Output.
パラメ一夕決定器 504は、 歪み算出器 507から出力される歪みが最小 となるように出力する励振信号生成のためのパラメ一夕 (P, S 1 , S 2, G 1, G 2) を調節する。 そして、 最終的に歪みを最小とするパラメ一夕の 組合わせが復号器側へ出力される。 The parameter determining unit 504 determines parameters (P, S 1, S 2, G 1, G 2) for generating an excitation signal output so as to minimize the distortion output from the distortion calculating unit 507. Adjust. Finally, a combination of parameters that minimizes distortion is output to the decoder side.
一方、 図 6Bの復号器においては、 L PC復号器 508に符号器側から伝送 されてきた符号化 LP C情報 Lが与えられる。 L PC復号器 508は、 符号 化し P C情報 Lから量子化 L P Cを復号して合成フィル夕 510に出力する。 合成フィル夕 510は、 L PC復号器 508から入力した復号 LP Cによ つて LP C合成フィル夕を構築して励振信号生成器 509から入力される励 振信号に合成フィルタをかけて復号合成音声信号を出力する。
また、 励振信号生成器 5 0 9は符号器側から伝送されてくる励振信号生成 のためのパラメ一夕 (P , S I , S 2 , G l , G 2 ) を用いて励振信号を生 成して合成フィル夕 5 1 0に出力する。 On the other hand, in the decoder of FIG. 6B, the encoded LPC information L transmitted from the encoder side is provided to the LPC decoder 508. LPC decoder 508 decodes and decodes the quantized LPC from PC information L and outputs it to synthesis filter 510. The synthesis filter 510 constructs an LPC synthesis filter using the decoding LPC input from the LPC decoder 508, applies a synthesis filter to the excitation signal input from the excitation signal generator 509, and decodes the synthesized speech. Output a signal. The excitation signal generator 509 generates the excitation signal using the parameters (P, SI, S2, Gl, G2) for generating the excitation signal transmitted from the encoder side. Output to the composite file.
なお、 復号器側の合成フィルタ 5 1 0と符号器側の合成フィル夕 5 0 5は 伝送されてくる情報に誤りがなければ全く同一のフィル夕である。 また、 復 号器側の励振信号生成器 5 0 3と符号器側の励振信号生成器 5 0 9も伝送さ れてくる情報に誤りがなければ全く同じ動作をして同じ励振信号を生成する。 また、 合成フィル夕 5 1 0から出力された復号合成音声信号に対して、 聴覚 的な品質を向上させるためのポストフィルタなどの後処理を加えると、 さら に復号音声信号の品質が向上する。 Note that the synthesis filter 510 on the decoder side and the synthesis filter 505 on the encoder side are exactly the same if there is no error in the transmitted information. In addition, the excitation signal generator 503 on the decoder side and the excitation signal generator 509 on the encoder side perform exactly the same operation to generate the same excitation signal if there is no error in the transmitted information. . Further, when post-processing such as a post filter for improving the auditory quality is added to the decoded synthesized speech signal output from the synthesis filter 510, the quality of the decoded speech signal is further improved.
(実施の形態 3 ) (Embodiment 3)
図 7は実施の形態 2の音声符号化又は復号化装置を備えた音声信号送信機 及び受信機を示したブロック図である。 図 7 Aは送信機、 図 7 Bは受信機を示 す。 FIG. 7 is a block diagram showing an audio signal transmitter and a receiver provided with the audio encoding or decoding device according to the second embodiment. Figure 7A shows the transmitter and Figure 7B shows the receiver.
図 7 Aの音声信号送信機では、 音声が音声入力装置 6 0 1によって電気的ァ ナログ信号に変換され、 AZD変換器 6 0 2に出力される。 アナログ音声信 号は AZD変換器 6 0 2によってディジタル音声信号に変換され、 音声符号 化器 6 0 3に出力される。 音声符号化器 6 0 3は音声符号化処理を行い、 符 号化した情報を R F変調器 6 0 4に出力する。 R F変調器は符号化された音 声信号の情報を変調 ·増幅 ·符号拡散などの電波として送出するための操作 を行い、 送信アンテナ 6 0 5に出力する。 最後に送信アンテナ 6 0 5から電 波 (R F信号) 6 0 6が送出される。 In the audio signal transmitter of FIG. 7A, the audio is converted into an electrical analog signal by the audio input device 601 and output to the AZD converter 602. The analog audio signal is converted into a digital audio signal by the AZD converter 602 and output to the audio encoder 603. Speech encoder 603 performs speech encoding processing, and outputs the encoded information to RF modulator 604. The RF modulator performs an operation for transmitting the information of the encoded voice signal as a radio wave such as modulation, amplification, and code spreading, and outputs the information to the transmission antenna 605. Finally, a radio wave (RF signal) 606 is transmitted from the transmitting antenna 605.
一方、 図 7 Bの受信機においては、 電波 (R F信号) 6 0 6を受信アンテナ 6 0 7で受信し、 受信信号は R F復調器 6 0 8に送られる。 R F復調器 6 0 8は符号逆拡散 ·復調など電波信号を符号化情報に変換するための処理を行 い、 符号化情報を音声複号化器 6 0 9に出力する。 音声復号化器 6 0 9は、 符号化情報の復号処理を行ってディジタル復号音声信号を D ZA変換器 6 1
0へ出力する。 D ZA変換器 6 1 0は音声復号化器 6 0 9から出力されたデ ィジ夕ル復号音声信号をアナログ復号音声信号に変換して音声出力装置 6 1 1に出力する。 最後に音声出力装置 6 1 1が電気的アナログ復号音声信号を 復号音声に変換して出力する。 On the other hand, in the receiver in FIG. 7B, a radio wave (RF signal) 606 is received by the receiving antenna 607, and the received signal is sent to the RF demodulator 608. The RF demodulator 608 performs processing such as code despreading / demodulation for converting radio signals into encoded information, and outputs the encoded information to the audio decoder 609. The audio decoder 609 performs a decoding process on the encoded information and converts the digital decoded audio signal into a DZA converter 61. Output to 0. The DZA converter 610 converts the digitized decoded audio signal output from the audio decoder 609 into an analog decoded audio signal and outputs the analog decoded audio signal to the audio output device 611. Finally, the audio output device 6 11 1 converts the electrical analog decoded audio signal into decoded audio and outputs it.
上記送信装置及び受信装置は携帯電話などの移動通信機器の移動機又は基 地局装置として利用することが可能である。 なお、 情報を伝送する媒体は本 実施の形態に示したような電波に限らず、 光信号などを利用することも可能 であり、 さらには有線の伝送路を使用することも可能である。 The transmitting device and the receiving device can be used as a mobile device or a base station device of a mobile communication device such as a mobile phone. Note that the medium for transmitting information is not limited to radio waves as described in the present embodiment, but may use optical signals or the like, and may use a wired transmission path.
なお、 上記実施の形態 2に示した音声符号化装置又は符号化複号化装置及 び上記実施の形態 3に示した送信装置及び送受信装置は、 磁気ディスク、 光 磁気ディスク、 R OM力一トリッジなどの記録媒体にソフトウエアとして記 録して実現することも可能であり、 その記録媒体を使用することにより、 こ のような記録媒体を使用するパーソナルコンピュータなどにより音声符号化 装置 Z復号化装置及び送信装置/受信装置を実現するとができる。 すなわち、 記録されたプログラムをコンピュータにインストールすることにより上記励 振信号発生装置と同などの機能を持たせることができる。 Note that the audio encoding device or the encoding and decoding device described in the second embodiment and the transmitting device and the transmitting and receiving device described in the third embodiment include a magnetic disk, a magneto-optical disk, and a ROM cartridge. It is also possible to realize by recording as software on a recording medium such as, for example, and by using the recording medium, a speech encoding device and a Z decoding device can be used by a personal computer or the like using such a recording medium. And a transmission device / reception device can be realized. That is, by installing the recorded program in a computer, the same function as that of the above-described excitation signal generator can be provided.
本発明においては、 過去に用いた有限個の雑音符号べクトルと適応符号帳 利得とピッチ周期とを用いて生成した MA型適応符号べクトルに基づいて雑 音符号べクトルの位相適応処理を行うので、 適応符号べクトルから抽出した 情報によって適応的に雑音符号ベクトルをシフトさせる方式に比べて、 伝送 路誤りの伝播を短くすることができる。 また、 一方の雑音符号帳のみに位相 適応処理を行うようにしたので、 2つの雑音符号帳の双方に位相適応処理を 行う場合に比べて伝送路誤りに対する耐性を高めることができる。 In the present invention, a phase adaptation process of a noise code vector is performed based on an MA type adaptive code vector generated using a finite number of noise code vectors used in the past, an adaptive codebook gain, and a pitch period. Therefore, the propagation of a transmission path error can be shortened as compared with a method in which a noise code vector is adaptively shifted based on information extracted from an adaptive code vector. Also, since the phase adaptation processing is performed only on one of the noise codebooks, the resistance to transmission path errors can be increased as compared with the case where the phase adaptation processing is performed on both of the two noise codebooks.
また、 本発明によれば、 位相適応型 C E L P符号化装置における励振信号 生成装置において、 適応符号ベクトルから抽出した情報によって適応的に雑 音符号べクトルをシフ卜させることがなくなるため、 伝送路誤りの影響を最 小限に抑えることができる。
以上説明したように、 本発明によれば過去有限時間に用いたデ一夕のみか ら位相適応処理を行う構成なので、 位相適応処理に起因する誤りの伝播を有 限時間内に抑えることを可能とした励振信号生成装置、 音声符号化装置及び 音声復号化装置を提供できる。 Further, according to the present invention, in the excitation signal generating device in the phase adaptive CELP encoding device, the noise code vector is not adaptively shifted by the information extracted from the adaptive code vector. Can minimize the effects of As described above, according to the present invention, since the phase adaptation processing is performed only from the data used in the past finite time, the propagation of errors due to the phase adaptation processing can be suppressed within a limited time. It is possible to provide an excitation signal generating device, a voice coding device, and a voice decoding device.
本明細書は、 1 9 9 8年 8月 6日出願の特願平 1 0— 2 2 3 3 9 2号に基 づくものである。 この内容はすべてここに含めておく。 産業上の利用可能性 The present specification is based on Japanese Patent Application No. 10-232393, filed on Aug. 6, 1998. All this content is included here. Industrial applicability
本発明は、 ディジ夕ル無線通信システムにおける基地局装置及び移動局の ような通信端末装置において使用することができる。
INDUSTRIAL APPLICABILITY The present invention can be used in a communication terminal device such as a base station device and a mobile station in a digital radio communication system.