Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3793111B2 - Vector quantizer for spectral envelope parameters using split scaling factor - Google Patents
[go: Go Back, main page]

JP3793111B2 - Vector quantizer for spectral envelope parameters using split scaling factor - Google Patents

Vector quantizer for spectral envelope parameters using split scaling factor Download PDF

Info

Publication number
JP3793111B2
JP3793111B2 JP2002149800A JP2002149800A JP3793111B2 JP 3793111 B2 JP3793111 B2 JP 3793111B2 JP 2002149800 A JP2002149800 A JP 2002149800A JP 2002149800 A JP2002149800 A JP 2002149800A JP 3793111 B2 JP3793111 B2 JP 3793111B2
Authority
JP
Japan
Prior art keywords
vector
stage
order
codebook
quantization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002149800A
Other languages
Japanese (ja)
Other versions
JP2003345392A (en
Inventor
和敏 安永
利幸 森井
宏幸 江原
一則 間野
祐介 日和▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
NTT Inc
NTT Inc USA
Original Assignee
Panasonic Corp
Nippon Telegraph and Telephone Corp
Matsushita Electric Industrial Co Ltd
NTT Inc USA
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 Panasonic Corp, Nippon Telegraph and Telephone Corp, Matsushita Electric Industrial Co Ltd, NTT Inc USA filed Critical Panasonic Corp
Priority to JP2002149800A priority Critical patent/JP3793111B2/en
Publication of JP2003345392A publication Critical patent/JP2003345392A/en
Application granted granted Critical
Publication of JP3793111B2 publication Critical patent/JP3793111B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce a quantization distortion and a storage capacity in vector quantization processing. <P>SOLUTION: A split second-stage CB 105 outputs a higher-order code vector and a lower-order code vector corresponding to an indication signal supplied from a second-stage index specifying part 109 to a second-stage candidate vector generator 107. A split scaling factor CB 106 outputs a split scaling factor corresponding to idx-1 supplied from a first-stage index specifying part 103 to the second-stage candidate vector generator 107. The second-stage candidate vector generator 107 multiplies the higher-order code vector by a higher-order scaling factor and multiplies the lower-order code vector by a lower-order scaling factor and couples the higher-order code vector and the lower-order code vector after multiplication with scaling factors to generate a candidate vector. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、スペクトル包絡パラメータのベクトル量子化を行うベクトル量子化装置及びベクトル量子化方法に関し、特にインターネット通信に代表されるパケット通信システムや、移動通信システム等の分野で、音声信号の伝送効率を高めるために利用される音声符号化・復号化装置に用いて好適なスペクトル包絡パラメータのベクトル量子化を行うベクトル量子化装置及びベクトル量子化方法に関する。
【0002】
【従来の技術】
インターネット通信に代表されるパケット通信システムや、移動通信システムにおいて音声信号を伝送する場合、音声信号の伝送効率を高めるため、音声符号化技術がよく使われる。特に、音声信号を中・低ビットレートで符号する場合には、CELP型音声符号化・復号化技術が主流の技術となっている。
【0003】
CELP型音声符号化・復号化技術は、符号化対象となる音声信号を、線形予測分析によってスペクトル包絡情報とスペクトルの微細構造情報とに分離し、分離後のそれぞれの情報をベクトル量子化する点に特徴を有している。その詳細については、例えば、文献1(M. R. Schroeder, B. S. Atal, “Code Excited Linear Prediction: High Quality Speech at Low Bit Rate”, IEEE proc., ICASSP'85 pp. 937-940)に開示されている。
【0004】
文献1等に開示されたCELP型音声符号化装置では、まず、入力されたディジタルの音声信号を、20ms程度の一定時間間隔のフレームに区切る。次に、CELP型音声符号化装置は、フレーム区間内の音声信号に対して線形予測分析を行い、LPC(Linear Predictive Coding)係数と線形予測残差を求める。
【0005】
このうち、LPC係数が音声信号のスペクトル包絡を表す情報として利用され、線形予測残差がスペクトルの微細構造を表す情報として利用される。具体的には、LPC係数をベクトル量子化し、音声信号のスペクトル包絡を表す最適インデクスをLPC符号として符号多重化手段に出力する。
【0006】
同様に、CELP型音声符号化装置は、線形予測残差についても、適応符号帳、固定符号帳、及び、ゲイン符号帳を用いてベクトル量子化を行い、適応符号帳、固定符号帳、及び、ゲイン符号帳それぞれの最適インデクスを、スペクトルの微細構造を表す符号(適応符号帳符号、固定符号帳符号、及び、ゲイン符号帳符号)として符号多重化手段へと出力する。そして、符号多重化手段が、上記4種類の最適インデクスをフレーム間隔ごとにまとめ、符号化情報として伝送路へ送信する。
【0007】
一方、CELP型音声復号化装置では、まず、符号分離手段が、フレーム間隔ごとの符号化情報を伝送路から受信し、受信した符号化情報を4種類の符号情報(最適インデクス)に分離する。
【0008】
次に、CELP型音声復号化装置は、符号分離手段で得られる4種類の最適インデクスを基に、フレーム間隔ごとに復号音声を合成していく。具体的には、まず、LPC符号を復号して復号LPC係数を求め、求めた復号LPC係数をフィルタ係数として備える全極型の合成フィルタを構成する。
【0009】
次に、CELP型音声復号化装置は、適応符号帳、固定符号帳、及び、ゲイン符号帳について、それぞれの最適インデクスに対応する復号適応符号ベクトル、復号固定符号ベクトル、復号ゲインを読みだす。そして、CELP型音声復号化装置は、読み出した2つの符号ベクトルにそれぞれ対応する復号ゲインを乗じ、ゲイン乗算後の2つの符号ベクトルを加算して励振信号を生成し、生成した励振信号で前記全極型の合成フィルタを駆動することでフレーム間隔ごとに復号音声信号を合成できる。
【0010】
なお、上記説明では、音声信号のスペクトル包絡を表す情報としてLPC係数をベクトル量子化(以下、「VQ」という)するものとして説明したが、実際の符号化・復号化装置では、LSF(Line Spectral Frequency)パラメータ、LSP(Line Spectral Pairs)パラメータ)、ISP(Immittance Spectral Pairs)パラメータ、PARCOR係数などのLPC係数をさらに変換して得られるパラメータや、6TケプストラムなどをVQするのが一般的になっている。
【0011】
ここで、ベクトル量子化では、VQの対象となるパラメータの種類によらず一様に適用可能である。以下、線形予測分析によって得られるLPC係数や、LPC係数をさらに変換して得られる上記のパラメータや、6Tケプストラムなどを、総じて“スペクトル包絡パラメータ”と称して説明する。
【0012】
低ビットレートのCELP型音声符号化・復号化装置を開発して実現するためには、フレーム区間内のスペクトル包絡情報やスペクトルの微細構造情報を、少ないビット数で効率的にベクトル量子化することが不可欠である。従って、スペクトル包絡パラメータを高効率にベクトル量子化する量子化器もしくは量子化方法を実現する場合、予測ベクトル量子化技術、多段ベクトル量子化技術、符号帳切り替え型ベクトル量子化技術、符号帳分割型ベクトル量子化技術といった様々な要素技術を効率的に融合させることが不可欠となっている。
【0013】
ベクトル量子化における上記の様々な要素技術については、例えば、文献2(Allen Gersho、Robert M. Gray:共著、古井貞煕、田崎三郎、小寺博、渡辺裕:共訳『ベクトル量子化と情報圧縮』コロナ社)に紹介されている。そして、上記等の様々な要素技術を効率的に融合させて24ビットのベクトル量子化器を構成すれば、フレーム区間内のスペクトル包絡パラメータを、主観的な劣化なくベクトル量子化できることが文献3(K. P. Paliwal, B. S. Atal, “E6icient Vector Quantization of LPC Parameters at 24 Bits/Frame”, IEEE Trans. Speech and Audio Processing, Vol. 1, No. 1, Jan. 1993)に紹介されている。
【0014】
しかしながら、音声信号を4kbps(bit per second)程度の低いビットレートで符号化・復号化する場合に、スペクトル包絡パラメータのベクトル量子化器に24ビットものビット数を割り当ててしまうと、一方でスペクトル微細情報の表現精度の劣化を避けることができなくなり、符号化装置・復号化装置トータルで動作させたときに高品質の復号音声を得ることができなくなってしまう。
【0015】
従って、4kbps程度の低いビットレートで動作する音声符号化装置・復号化装置を構成するためには、スペクトル包絡パラメータを少ないビット数で効率的にVQするための新規の要素技術の考案・発明が不可欠となっている。
【0016】
スペクトル包絡パラメータを少ないビット数で効率的にVQするための新規の要素技術の一例としては、2段構成のベクトル量子化器において、1段目符号帳(以下、1段目CBと略す)が格納するコードベクトル数と同数のスカラー定数を、“アンプリチュード”として格納するスカラー符号帳を新規に具備させた点に特徴を有する文献4(特許第3175667号)の発明を挙げることができる。
【0017】
文献4の発明では、1段目VQ処理によって特定されたコードベクトルのインデクスと同じインデクスが割り当てられたスカラー定数を前記のスカラー符号帳から読み出し、読み出したスカラー定数を2段目CBから出力される2段目コードベクトルの各要素に一律に乗じることで、復号コードベクトル全体に占める2段目コードベクトルの寄与分を、1段目VQによって特定されたコードベクトルに適応させて制御することを可能にしており、それによって、2段構成のベクトル量子化器全体の処理を通して発生する量子化歪みを低減化することに成功している。
【0018】
【発明が解決しようとする課題】
しかしながら、前記の文献4の発明では、復号ベクトル全体に占める2段目コードベクトルの寄与分を適応制御するための“アンプリチュード”がスカラー定数に限定されているため、量子化誤差のさらなる低減化を図ろうとしても限界があった。
【0019】
また、文献4の発明では、1段目CBが格納するコードベクトルと同数のスカラー定数を格納するスカラー符号帳を別途に具備させる必要があったため、発明を適用した場合に増加する記憶装置の容量を、削減することが構成的に不可能であった。
【0020】
本発明はかかる点に鑑みてなされたものであり、ベクトル量子化処理において量子化歪み及び記憶容量の低減化を実現するベクトル量子化装置を提供することを目的とする。
【0021】
【課題を解決するための手段】
本発明のベクトル量子化装置は、符号帳を用いてスペクトル包絡パラメータをベクトル量子化して結果生じる量子化誤差ベクトルをベクトル量子化するためのコードベクトルを格納する複数の符号帳と、前記コードベクトルのスケーリング因子を格納する複数のスケーリング因子符号帳と、前記コードベクトルに対応するスケーリング因子を前記コードベクトルに乗算する乗算器と、前記乗算器においてスケーリング因子を乗算した複数のコードベクトルを結合して統合ベクトルを合成する統合ベクトル合成器と、を具備する構成を採る。
【0022】
この構成によれば、多段構成のベクトル量子化において、コードベクトルの成分別に個々のスケーリング因子を乗算することにより、量子化歪みを低減することができる。
【0023】
本発明のベクトル量子化装置は、前記スケーリング因子符号帳は、前段で特定されたコードベクトルからスケーリング因子とコードベクトルとを対応づける構成を採る。
【0024】
この構成によれば、多段構成のベクトル量子化において、2段目以降のベクトル量子化処理部が分割型の符号帳を伴う場合に、当該符号帳の分割構成と適合するように分割型(ベクトル型)のスケーリング因子を格納するベクトル符号帳を具備することにより、復号ベクトル全体に占める2段目以降のコードベクトルの寄与分を、高い精度で適応制御することができる。
【0025】
本発明のベクトル量子化装置は、前記スケーリング因子符号帳は、前段で用いるコードベクトルの数より少ない数のスケーリング因子を格納する。
【0026】
本発明のベクトル量子化装置は、前記スケーリング因子符号帳は、類似する音声信号を同じスケーリング因子で対応づける構成を採る。
【0027】
本発明のベクトル量子化装置は、前記スケーリング因子符号帳は、符号化した音声信号の変動類似する音声信号を同じスケーリング因子で対応づける構成を採る。
【0028】
これらの構成によれば、前段の復号化に使用する符号帳のコードベクトルと、コードベクトル数より少ないスケーリング因子とを対応づけて、このスケーリング因子と、複数成分に分割したコードベクトルとを乗算することにより、コードベクトル数より少ないスケーリング因子を用いてベクトル量子化を行って符号化された信号を復号できる。
【0029】
本発明のベクトル量子化装置は、スペクトル包絡パラメータのベクトル量子化により生じる量子化誤差ベクトルと前記統合ベクトルとの誤差が最小となる前記複数のコードベクトルを特定する特定手段を具備する構成を採る。
【0030】
この構成によれば、多段構成のベクトル量子化において、コードベクトルの成分別に個々のスケーリング因子を乗算することにより、量子化歪みを低減することができる。
【0031】
本発明のベクトル量子化装置は、過去に処理した信号から量子化ターゲットベクトルを予測する予測手段と、過去に処理した信号のスペクトル包括パラメータの平均値を算出する平均値算出手段と、を具備し、処理対象の信号のスペクトル包括パラメータと前記量子化ターゲットベクトルとの差分と、処理対象の信号のスペクトル包括パラメータと前記スペクトル包括パラメータの平均値との差分とを量子化誤差ベクトルとしてベクトル量子化を行う構成を採る。
【0032】
この構成によれば、過去の復号化ベクトルとMA予測係数ベクトルを乗算して得られる予測ベクトルと、スペクトル包絡パラメータの平均ベクトルと、をスペクトル包絡パラメータからベクトル差分し、当該ベクトル差分演算によって得られるベクトルを予測係数ベクトルの現処理フレーム成分で除算して得られるベクトルを量子化ターゲットベクトルとしてベクトル量子化装置の入力とすることにより、スペクトルパラメータを効率よくベクトル量子化することができる。
【0033】
本発明のベクトル量子化装置は、前段のコードベクトルと、前記統合ベクトルとを加算する加算手段を具備する構成を採る。
【0034】
この構成によれば、多段構成のベクトル量子化において、コードベクトルの成分別に個々のスケーリング因子を乗算して量子化歪みを低減する方法で符号化された信号を復号できる。
【0035】
本発明のベクトル量子化装置は、前記加算手段において得られた加算結果に過去に処理した信号のスペクトル包括パラメータの平均値を加算する構成を採る。
【0036】
この構成によれば、平均値差分型ベクトル量子化技術を併用して、ベクトル量子化した信号を復号できる。
【0037】
本発明の通信装置は、上記いずれかに記載のベクトル量子化装置を具備する構成を採る。
【0038】
この構成によれば、多段構成のベクトル量子化において、コードベクトルの成分別に個々のスケーリング因子を乗算し、ベクトル量子化された信号を送信することにより、量子化歪みを低減する方法で通信できる。
【0039】
本発明のベクトル量子化方法は、符号帳を用いてスペクトル包絡パラメータをベクトル量子化して結果生じる量子化誤差ベクトルをベクトル量子化し、量子化誤差ベクトルをベクトル量子化において、ベクトル成分を複数に分割して異なるスケーリング因子を乗算するベクトル量子化方法において、スペクトル包絡パラメータのベクトル量子化において特定されたコードベクトルから量子化誤差ベクトルのベクトル量子化に用いるスケーリング因子を決定するようにした。
【0040】
この方法によれば、多段構成のベクトル量子化において、コードベクトルの成分別に個々のスケーリング因子を乗算することにより、量子化歪みを低減することができる。
【0041】
【発明の実施の形態】
本発明の骨子は、2段目以降のベクトル量子化が符号帳分割型である複数段構成のベクトル量子化において、アンプリチュードも分割型(ベクトル型)のベクトル構成にして復号ベクトル全体に占める2段目コードベクトルの寄与分をさらに効率よく適応制御し、量子化歪みのさらなる低減化を図ることである。
【0042】
以下、本発明の実施の形態について図面を参照して詳細に説明する。なお、本明細書の以下の部分では、分割型化(ベクトル化)したアンプリチュード情報のことを、文献4内のスカラー定数“アンプリチュード”と区別するため、分割型(ベクトル型)のスケーリング因子(Scaling factor)と呼ぶことにする。
【0043】
(実施の形態1)
図1は、本発明の実施の形態1に係るベクトル量子化装置の構成を示すブロック図である。図1のベクトル量子化装置100は、コードベクトルの成分を複数に分割してそれぞれにスケーリング因子を用意するスペクトル包絡パラメータのベクトル量子化を行い、入力信号を符号化する。
【0044】
図1のベクトル量子化装置100は、1段目CB101と、1段目歪み算出部102と、1段目インデクス特定部103と、2段目ターゲット算出部104と、分割型2段目CB105と、分割型スケーリング因子CB106と、2段目候補ベクトル生成器107と、2段目歪み算出部108と、2段目インデクス特定部109と、インデクス集計部110とから主に構成される。
【0045】
1段目CB101は、2段構成のベクトル量子化において、一段目のVQ処理に用いるコードベクトルを格納する。本実施の形態に係るベクトル量子化装置は2段構成のベクトル量子化器であり、1段目CB101は、その1段目のVQ処理において、式(1)に示すp次のコードベクトルをI種類(式(1)において、i = 1,2,3,…,I)格納する。
Y(i) = [ y1(i), y2(i), y3(i), …, yp(i) ] …式(1)
【0046】
そして、1段目CB101は、1段目インデクス特定部103より供給される指示信号に対応するコードベクトルを、1段目歪み算出部102に出力する。なお、低次用CB、及び、高次用CBそれぞれが格納するコードベクトル数は、ビットレート4kbpsのCELP型音声符号化・復号化装置で、スペクトル包絡パラメータとしてLSFパラメータを用いる場合には、I=128、p=10等に設定しておくことが好適である。
【0047】
1段目歪み算出部102は、音声信号のスペクトルの量子化ターゲットベクトルと1段目CB101から供給されるコードベクトルとの歪みを算出して1段目インデクス特定部103に出力する。
【0048】
具体的には、量子化ターゲットベクトルが入力データとして、1段目歪み算出部102、及び2段目ターゲット算出部104に供給される。
F(n) = [ f1(n), f2(n), f3(n), …, fp(n) ] …式(2)
ここで、pは線形予測次数を示し、nはフレーム番号を示す。
【0049】
1段目歪み算出部102は、量子化ターゲットベクトルF(n)と、1段目CB101から出力されたi番目のコードベクトルY(i)との間の歪みを式(3)を用いて算出し、1段目インデクス特定部103に出力する。
d_1(i) = dist (F(n), Y(i)) …式(3)
【0050】
なお、式(3)の歪み評価尺度としては、文献3の(9)式や、文献5(R. Salami, et al, "Design and Description of CS-ACELP: A Toll Quality 8 kb/s Speech Coder", IEEE Trans. Speech and Audio Processing, Vol. 6, No. 2, Mar. 1998)の(9)式等によって算出される重み係数を用いた重み付き2乗誤差を用いることが好適ではあるが、本形態自体は歪み評価尺度の詳細に関わらず実施可能である。
【0051】
1段目インデクス特定部103は、I種類のうちのi番目のコードベクトルを出力する指示信号を1段目CB101に供給する。そして、1段目インデクス特定部103は、1段目歪み算出部102から音声信号とi番目のコードベクトルとの歪みを示す歪み量d_1(i)を受けた後に、格納したI個のコードベクトルのうち(i+1)番目のコードベクトルY(i+1)を出力する指示信号を1段目CB101に供給する。
【0052】
1段目インデクス特定部103が指示信号を供給してから、1段目CB101がコードベクトルY(i)を出力し、1段目歪み算出部102がY(i)と量子化ターゲットベクトルF(n)との間の歪み量d_1(i)を算出し1段目インデクス特定部103に出力するまでの上記の一連の処理を、1段目CB101が格納しているI種類のコードベクトルY(i), i=1,2,3,…,I全てについて繰り返すと、1段目インデクス特定部103には、I個の歪み量d_1(i), i=1,2,3,…,Iが集められる。
【0053】
そして、I種類のコードベクトルY(i)について上記の反復処理が終了した時点で、1段目インデクス特定部103が、式(4)を用いて量子化ターゲットベクトルF(n)との歪み量を最小化するコードベクトルのインデクスidx_1をI個のインデクスの中から1種類特定する。
idx_1 = Min_i [ d_1(1), d1_(2), …, d_1(i), …, d_1(I) ] …式(4)
ここで、Min_Iは、d_(i), i=1,2,…,Iを最小化するインデクスを特定する関数である。
【0054】
そして、1段目インデクス特定部103は、特定したインデクスを1段目CB101、分割型スケーリング因子CB106、及びインデクス集計部110に出力する。
【0055】
そして、1段目インデクス特定部103から供給されたインデクスに相当するコードベクトルY(idx_1)を1段目CB101が2段目ターゲット算出部104に出力することによって、1段目のVQ処理が完了する。
【0056】
本実施の形態のベクトル量子化装置は、2段構成のベクトル量子化の2段目のVQ処理部において、分割型2段目符号帳(以下では分割型2段目CBと呼ぶ)15と、分割型スケーリング因子CB106(以下では分割型スケーリング因子CBと呼ぶ)の2種類の符号帳を利用してベクトル量子化を行う。
【0057】
分割型2段目CB105は、p次の内の低次の1〜k次までの要素によって構成される低次コードベクトル
X_low(j) = [ x_low_1(j), x_low_2(j), …, x_low_k(j) ] …式(5)
をJ種類(数5においてj = 1,2,3,…,J)格納した低次用CBと、p次の内の高次のk+1〜p次までの要素によって構成される高次コードベクトル

Figure 0003793111
をM種類(式(6)においてm=1,2,3,…,M)格納した高次用CBとの2つの符号帳からなる分割型の符号帳である。
【0058】
分割型2段目CB105は、2段目インデクス特定部109からの供給される指示信号(出力すべきコードベクトルのインデクスが指示される)に対応する高次コードベクトルと低次コードベクトルとを2段目候補ベクトル生成器107に出力する。
【0059】
なお、低次用CB、及び高次用CBそれぞれが格納するコードベクトル数は、ビットレート4kbpsのCELP型音声符号化・復号化装置で、スペクトル包絡パラメータとしてp=10に、次のLSFパラメータを利用する場合には、k=5、J=M=64に設定しておくことが好適である。
【0060】
一方、分割型スケーリング因子CB106は、1段目CB101が格納しているコードベクトル数と同じI種類の2次元ベクトルを格納する。この2次元ベクトルは、式(7)で示されるベクトルである。
S(i) = [ s_low(i), s_high(i) ], i=1,2,3,…,I …式(7)
ここで、s_low(i)は低次のスケーリング因子を示し、s_high(i)は高次のスケーリング因子を示す。
【0061】
そして、分割型スケーリング因子CB106は、1段目インデクス特定部103から供給されるidx_1に相当する分割型(2次元ベクトル)のスケーリング因子を2段目候補ベクトル生成器107に出力する。この分割型のスケーリング因子は、式(8)で示される。
S(idx_1) = [ s_low(idx_1), s_high(idx_1) ] …式(8)
ここで、s_low(idx_1)は低次のスケーリング因子を示し、 s_high(idx_1)は高次のスケーリング因子を示す。
【0062】
上記符号帳を具備する2段目のVQ処理においては、2段目ターゲット算出部104は、音声信号の量子化ターゲットスペクトルを1段目インデクス特定部103において特定されたコードベクトルで減算し、前記1段目のVQ処理によって生じる量子化誤差ベクトルを算出して2段目歪み算出部108に出力する。
【0063】
ここで、量子化誤差ベクトルは式(9)で表されるベクトルであり、
G(n) =[g1(n), g2(n), g3(n), …, gp(n)] …式(9)
量子化誤差ベクトルは、式(10)により求められる。
Figure 0003793111
次に、2段目インデクス特定部109が、高次コードベクトルと低次コードベクトルのインデクス(j,m)を分割型2段目CB105に出力する。
【0064】
分割型2段目CB105は、2段目インデクス特定部109からの供給される前記のインデクス(j,m)に対応するコードベクトルX_low(j)、及びX_high(m)を2段目候補ベクトル生成器107に出力する。
【0065】
2段目候補ベクトル生成器107は、高次コードベクトルに高次のスケーリング因子を乗算し、低次コードベクトルに低次のスケーリング因子を乗算する。そして、2段目候補ベクトル生成器107は、スケーリング因子乗算後の高次コードベクトルと低次コードベクトルとを結合して候補ベクトルを生成し、2段目歪み算出部108に出力する。
【0066】
具体的には、2段目候補ベクトル生成器107は、分割型スケーリング因子CB106から供給される分割型(2次元ベクトル)のスケーリング因子と、分割型2段目CB105から供給される低次、高次の各コードベクトルに対して式(11)を用いてインデクス(j,m)に相当する候補ベクトルX( j,m )を生成し、2段目歪み算出部108に出力する。
Figure 0003793111
【0067】
2段目歪み算出部108は、2段目ターゲット算出部104より供給される2段目VQ処理部のターゲットベクトルG(n)と、2段目候補ベクトル生成器107によって生成される候補ベクトルX( j,m )との間の歪み量を式(12)より算出し、2段目インデクス特定部109に出力する。
d_2( j, m ) = dist (G(n), X( j,m ) ) …式(12)
なお、式(12)で用いる歪み尺度の詳細については、式(3)と同様であり省略するが、文献3及び文献5に開示されるように、算出される重み係数を用いた重み付き2乗誤差を用いることが好適である。
【0068】
2段目歪み算出部108から歪み量d_2( j,m )を受けた後、2段目インデクス特定部109は、次に、J×M通りの組み合わせがあるインデクスのうち、歪み量を算出していないインデクスの組み合わせ(例えば、(j+1,m ))に相当するコードベクトルを出力することを分割型2段目CB105に指示する。
【0069】
2段目インデクス特定部109が指示信号を供給してから、分割型2段目CB105がコードベクトルを出力し、2段目候補ベクトル生成器107が分割型スケーリング因子CBから出力された分割型(2次元ベクトル)のスケーリング因子と前記のコードベクトルとを用いて候補ベクトルX(j,m)を生成する。
【0070】
そして、2段目歪み算出部108が量子化ターゲットベクトルG(n)と前記X(j,m)との間の歪み量d_2(j,m)を算出して2段目インデクス特定部109に出力するまでの上記の一連の処理を、分割型2段目CB105を構成する各符号帳のインデクス全組み合わせ(j=1,2,3,…,J, m=1,2,3,…M)について繰り返し、2段目インデクス特定部109は、J×M個の歪み量d_2(j,m),j=1,2,3,…,J, m=1,2,3,…,Mを集める。
【0071】
そして、上記反復処理が終了した時点で、2段目インデクス特定部109は、式(13)を用いて2段目量子化のターゲットベクトルG(n)との歪み量を最小化する候補ベクトルのインデクスの組み合わせを特定し、インデクス集計部110に出力する。
Figure 0003793111
ここで、Min_j,mは、d_(j,m), j=1,2,…,J, m=1,2,…,Mを最小化するインデクスを特定する関数である。
【0072】
2段目インデクス特定部109が、この候補ベクトルのインデクスの組み合わせ(idx_2low, idx_2high)を特定し、インデクス集計部110に出力することで、2段目のVQ処理が完了する。
【0073】
2段目のVQ処理後に、インデクス集計部110が、1段目インデクス特定部103から受けたインデクスinx_d1と、2段目インデクス特定部109から受けたインデクス(idx_2low, idx_2high)を集計し、符号情報Lとして出力する。
【0074】
上記手順の処理で、符号化処理における2段構成のベクトル量子化処理が終了する。
【0075】
次に、ベクトル量子化装置100について高次コードベクトルと低次コードベクトルのスケーリング処理について説明する。図2は、本発明の実施の形態1に係るベクトル量子化装置の構成の一部を示すブロック図である。
【0076】
図2において、分割型2段目CB105は、高次コードベクトルCB151と、低次コードベクトルCB152とから主に構成される。また、分割型スケーリング因子CB106は、高次スケーリング因子CB161と、低次スケーリング因子CB162とから主に構成される。そして、2段目候補ベクトル生成器107は、乗算器171と、乗算器172と、統合ベクトル合成部173とから主に構成される。
【0077】
高次コードベクトルCB151は、2段目インデクス特定部109からの供給される指示信号に対応する高次コードベクトルを乗算器171に出力する。
【0078】
高次スケーリング因子CB161は、1段目のVQ処理において特定されたコードベクトルのインデクスを1段目インデクス特定部103から受ける。そして、高次スケーリング因子CB161は、特定されたコードベクトルのインデクスから高次コードベクトルに乗算する高次スケーリング因子を乗算器171に出力する。
【0079】
乗算器171は、高次コードベクトルに高次スケーリング因子を乗算し、乗算結果を統合ベクトル合成部173に出力する。
【0080】
低次コードベクトルCB152は、2段目インデクス特定部109からの供給される指示信号に対応する低次コードベクトルを乗算器172に出力する。
【0081】
低次スケーリング因子CB162は、1段目のVQ処理において特定されたコードベクトルのインデクスを1段目インデクス特定部103から受ける。そして、低次スケーリング因子CB162は、特定されたコードベクトルのインデクスから低次コードベクトルに乗算する低次スケーリング因子を乗算器172に出力する。
【0082】
乗算器172は、低次コードベクトルに低次スケーリング因子を乗算し、乗算結果を統合ベクトル合成部173に出力する。
【0083】
統合ベクトル合成部173は、スケーリング因子を乗算された高次コードベクトルと低次コードベクトルとの成分を合成し、合成したベクトルを2段目歪み算出部108に出力する。
【0084】
このように、本実施の形態のベクトル量子化装置は、多段構成のベクトル量子化において、コードベクトルの成分別に個々のスケーリング因子を乗算することにより、量子化歪みを低減することができる。
【0085】
次に、図1のベクトル量子化装置により符号化された信号を復号するベクトル量子化処理について詳細に説明する。図3は、本発明の実施の形態1に係るベクトル量子化装置の構成の一例を示すブロック図である。
【0086】
図3のベクトル量子化装置300は、インデクス分解部301と、1段目CB302と、分割型スケーリング因子CB303と、分割型2段目CB304と、2段目復号ベクトル生成器305と、加算器306とから主に構成される。なお、図3の1段目CB302は1段目CB101と同一であり、分割型スケーリング因子CB303は、分割型スケーリング因子CB106と同一であり、分割型2段目CB304は、分割型2段目CB105と同一である。
【0087】
図3の復号化処理においては、まず、図1のベクトル量子化装置によって出力された符号情報Lがインデクス分解部301に入力される。
【0088】
インデクス分解部301は、供給された符号情報Lを、量子化ターゲットベクトルF(n)との歪み量を最小化するコードベクトルのインデクスidx_1、及び2段目量子化のターゲットベクトルG(n)との歪み量を最小化する候補ベクトルのインデクスの組み合わせ(idx_2low, idx_2high)に分解し、idx_1を1段目CB302及び分割型スケーリング因子CB303に出力し、(idx_2low, idx_2high)を分割型2段目CB304に出力する。
【0089】
1段目CB302は、インデクス分解部301より供給されたidx_1に対応する1段目復号コードベクトルY( idx_1 )を加算器306に出力する。
【0090】
分割型スケーリング因子CB303は、インデクス分解部301より供給されるidx_1に対応する分割型(2次元ベクトル)の復号スケーリング因子を2段目復号ベクトル生成器305に出力する。ここで、復号スケーリング因子は、式(14)に示される因子である。
S(idx_1) = [ s_low(idx_1), s_high(idx_1) ] …式(14)
ここで、s_low(idx_1)は低次のスケーリング因子を示し、 s_high(idx_1)は高次のスケーリング因子を示す。
【0091】
分割型2段目CB304は、インデクス分解部301より供給された(idx_2low, idx_2high)に対応する低次コードベクトル(X_low(idx_2low))、及び、高次コードベクトル(X_high(idx_2high) )を2段目復号ベクトル生成器305に出力する。
【0092】
2段目復号ベクトル生成器305が、分割型スケーリング因子CB303から供給される分割型(2次元ベクトル)の復号スケーリング因子と、分割型2段目CB304から供給される低次コードベクトル、高次コードベクトルから2段目復号ベクトルX(idx_2low, idx_2high)を生成し加算器306に出力する。
【0093】
具体的には、分割型2段目CB304は、式(15)を用いてインデクス( idx_2low, idx_2high) に相当する2段目復号ベクトルX(idx_2low, idx_2high)を生成し加算器306に出力する。
Figure 0003793111
【0094】
そして最後に、加算器306が、1段目CB302から供給される1段目復号コードベクトルY(idx_1)と、2段目復号ベクトル生成器305より供給される2段目復号ベクトル X(idx_2low,idx_2high)とをベクトル加算して復号ベクトルF'(n)を得る。式(16)は、上記ベクトル加算を示す。
F'(n) =Y(idx_1)+X(idx_2low, idx_2high) …式(16)
【0095】
このように、本実施の形態のベクトル量子化装置は、多段構成のベクトル量子化において、コードベクトルの成分別に個々のスケーリング因子を乗算して量子化歪みを低減する方法で符号化された信号を復号できる。
【0096】
このように、本実施の形態のベクトル量子化装置によれば、多段構成のベクトル量子化において、2段目以降のベクトル量子化処理部が分割型の符号帳を伴う場合に、当該符号帳の分割構成と適合するように分割型(ベクトル型)のスケーリング因子を格納するベクトル符号帳を具備することにより、復号ベクトル全体に占める2段目以降のコードベクトルの寄与分を、高い精度で適応制御することができる。
【0097】
すなわち、文献4に記載された従来技術を用いる場合より、量子化歪みを低減化できるという作用・効果を得ることができる。
【0098】
また、本実施の形態のベクトル量子化装置は、多段構成のベクトル量子化において、コードベクトルの成分別に個々に乗算するスケーリング因子を前段のコードベクトルと対応づけることにより、少ないデータ量でターゲットベクトルをベクトル量子化することができる。
【0099】
なお、本実施の形態に係る1段目CB101または302、分割型スケーリング因子CB106または303、及び、分割型2段目CB105または304のそれぞれの符号帳が格納するコードベクトルは、文献6(Y. Linde, A. Buzo, R. M. Gray, "An algorithm for Vector Quantizer Design", IEEE trans. Comm. Vol. COM-28, No. 1, pp84-95, Jan., 1980)に開示されたLBGアルゴリズムと、文献7(S. P. Lloyd, "Least Square Quantization in PCM", IEEE trans. Information Theory, Vol. IT-28, pp.129-137, 1982)に開示されたロイドアルゴリズムを用いた学習工程によって、予め獲得しておくことが好適である。
【0100】
また、分割型(ベクトル型)のスケーリング因子(数7のS(i))の各要素([s_low(i), s_high(i) ], i=1,2,3,…,I)は、前期学習の結果として、0.5以上2.0以下の範囲内の値になることがより好ましい。
【0101】
また、本実施の形態では、1段目のVQ処理において、唯一の最適インデクス(および、そのインデクスに対応する唯一最適な1段目コードベクトル)を特定し、2段目VQ処理において、1段目の量子化ターゲットベクトルと、前記1段目のVQ処理において特定した唯一最適な1段目コードベクトルとの差分によって求めた唯一の2段目ターゲットベクトルを、分割型2段目符号帳を用いてさらにベクトル量子化する場合について説明しているが、2段目ターゲットベクトルの数は特に限定されない。
【0102】
例えば、1段目VQ処理において特定するインデクス(および、そのインデクスに対応するコードベクトル)の個数を複数とし、2段目VQ処理時において、1段目の量子化ターゲットベクトルと、前記1段目のVQ処理において特定した複数の1段目コードベクトルとの差分によって求めた複数の2段目ターゲットベクトルを、分割型2段目符号帳を用いてさらにベクトル量子化し、当該2段目VQ処理で生じるベクトル量子化誤差を最小化する1段目VQの最適インデクスと2段目VQの最適インデクスの組み合わせ情報を唯一特定してもよい。この場合についても、本実施の形態が適用可能であり、同様の効果・作用を得ることができる。
【0103】
また、本実施の形態では、分割型2段目CB105または304、及び分割型スケーリング因子CB106または303が、p次のベクトル成分のうち、1〜k次までの低次成分と、k+1〜p次までの高次成分とからなる2つの成分に分割してベクトル量子化を行う場合について詳細な説明を行っているが、分割するベクトルの数は特に限定されない。
【0104】
例えば、分割型2段目CB105または304、及び分割型スケーリング因子CB106または303が3つ以上のベクトル成分のCBを備え、3つ以上のベクトル成分に分割してベクトル量子化を行う場合についても本実施の形態は同様の方法で適用可能である。この場合にも、上記実施の形態と同様の作用・効果を得ることができる。
【0105】
また、本実施の形態では、分割型2段目CBの符号帳分割数と、スケーリング因子CBの分割数(ベクトル次元)がともに2である場合について説明したが、分割型2段目CBの符号帳分割数と、スケーリング因子CBの分割数が同じでなくてもよい。
【0106】
上記説明以外の分割構成、例えば、2段目符号帳の分割数を1(実質は非分割)、スケーリング因子の分割数を10に設定し、2段目のコードベクトルの要素ごとに10種類のスケーリング因子を乗算する形態、または2段目符号帳の分割数を2、スケーリング因子の分割数を5に設定し、2段目のコードベクトルの要素を低次から順に2次毎にまとめて5種類のスケーリング因子を乗算する形態についても本発明は適用可能である。この場合にも同様の効果・作用を得ることができる。
【0107】
また、本実施の形態では、1段目CBが非分割型、かつ、2段目CB分割型であるベクトル量子化器の2段目VQ処理部に分割型スケーリング因子CBを適用する場合について説明したが、分割型スケーリング因子CBを適用する段数は特に限定されない。
【0108】
例えば、段数Kが3段以上の多段構成のベクトル量子化器を想定した場合、k段目(ただし、k<K)の符号帳が非分割型であれば、本実施の形態と同様の方法で、復号化ベクトル全体に占める(k+1)段目コードベクトルの寄与分を、k段目のVQ処理によって特定されたインデクスを用いて適応的に制御することが可能である。この場合にも、同様の効果・作用を得ることができる。
【0109】
また、段数Kが3段以上の多段構成のベクトル量子化器において、k段目(ただし、k<K)の符号帳が分割型である場合でも、分割型スケーリング因子CBに分割型のスケーリング因子をJ×M種類格納させ、さらに、k段目のVQ処理によって特定されたインデクスの組み合わせ番号(本実施の形態では、j×M+mに相当)に応じて分割型(ベクトル)のスケーリング因子を選択することにより、復号化ベクトル全体に占める(k+1)段目コードベクトルの寄与分をk段目のVQ処理によって特定されたインデクスの組み合わせ番号に適応して制御できる。この場合にも同様の作用・効果を得ることができる。
【0110】
また、本実施の形態の説明では、前段のVQ処理で特定されたインデクス情報から後段のスケーリング因子を決定しているが、後段のVQ処理の結果から前段のスケーリング因子を決定しても良い。具体的には、上記説明では、段数Kが3段以上の多段ベクトル量子化器において、(k−1)段数のVQ処理で特定されたインデクス情報からk段目のコードベクトルに乗算するスケーリング因子を選択される形態についてのみ説明している。
【0111】
ここで、(k−1)段目までのVQ処理で特定された複数のインデクスによって1段目のコードベクトルに乗じるスケーリング因子を選択することも可能である。この場合にも同様の効果・作用を得ることができる。
【0112】
(実施の形態2)
実施の形態1では、スペクトル包絡パラメータが量子化ターゲット(式(2)のF(n))として、直接ベクトル量子化装置に入力される場合について詳細な説明を行ったが、ビットレート4kbpsのCELP音声符号化・復号化装置を構成する場合には、スペクトルパラメータをさらに効率よくベクトル量子化する必要がある。実施の形態2では、移動予測ベクトル量子化技術と、平均値差分型ベクトル量子化技術を併用して、ベクトル量子化を行う例について説明する。
【0113】
図4は、本発明の実施の形態2に係るベクトル量子化装置の構成の一例を示すブロック図である。
【0114】
図4のベクトル量子化装置400は、MA予測係数ベクトル生成部401と、平均値格納部402と、差分器403と、除算器404と、ベクトル量子化装置100とを具備し、過去に処理した復号化ベクトルとMA(Moving Average)予測係数ベクトルを乗算して得られる予測ベクトルと、スペクトル包絡パラメータの平均ベクトルと、をスペクトル包絡パラメータからベクトル差分し、当該ベクトル差分演算によって得られるベクトルを予測係数ベクトルの現処理フレーム成分で除算して得られるベクトルを量子化ターゲットベクトルとする点が図1のベクトル量子化装置と異なる。
【0115】
ベクトル量子化装置100は、復号化ベクトルをMA予測係数ベクトル生成部401に出力する。
【0116】
MA予測係数ベクトル生成部401は、過去に生成した復号化ベクトルとMA(Moving Average)予測係数ベクトルを乗算して予測ベクトルを生成し、差分器403に出力する。
【0117】
平均値格納部402は、学習データをもとに予め算出したスペクトル包絡パラメータの平均ベクトルを格納しており、当該格納した平均ベクトルを差分器403に出力する。
【0118】
差分器403は、スペクトル包絡パラメータから予測ベクトルと平均ベクトルとを減算し、得られた差分ベクトルを除算器404に出力する。
【0119】
除算器404は、差分ベクトルを予測係数ベクトルで除算し、除算結果を量子化ターゲットベクトルとしてベクトル量子化装置100に出力する。なお、前記の量子化ターゲットベクトルを算出する工程においては、演算量削減のために、予測係数ベクトルの逆数ベクトルを予め算出してメモリに格納しておき、当外格納した予測係数ベクトルの逆数ベクトルと差分ベクトルとを乗算し、乗算結果を量子化ターゲットベクトルとしてベクトル量子化装置100に出力することも可能であり、その方が演算量削減の点でより好適である。
【0120】
ベクトル量子化装置100は、除算器404から出力された量子化ターゲットベクトルをベクトル量子化する。
【0121】
このように、本実施の形態のベクトル量子化装置によれば、過去(3フレーム)の復号化ベクトルとMA予測係数ベクトルを乗算して得られる予測ベクトルと、スペクトル包絡パラメータの平均ベクトルと、をスペクトル包絡パラメータからベクトル差分し、当該ベクトル差分演算によって得られるベクトルを予測係数ベクトルの現処理フレーム成分で除算して得られるベクトルを量子化ターゲットベクトルとしてベクトル量子化装置の入力とすることにより、スペクトルパラメータを効率よくベクトル量子化することができる。
【0122】
次に、図4のベクトル量子化装置(もしくはその方法)に対応するベクトル量子化復号化処理について詳細に説明する。図5は、本発明の実施の形態2に係るベクトル量子化装置の構成の一例を示すブロック図である。
【0123】
図5のベクトル量子化装置500は、ベクトル量子化装置300と、乗算器501と、加算器502とを具備し、ベクトル量子化装置300のベクトル量子化処理により復号したベクトルに予測係数ベクトルの現処理フレーム成分を乗算し、乗算結果に予測ベクトルと、スペクトル包絡パラメータの平均ベクトルとをベクトル加算して復号化する点が図3のベクトル量子化装置と異なる。
【0124】
ベクトル量子化装置300は、ベクトル量子化装置100において符号化された信号を復号し、復号したベクトルを乗算器501に出力する。
【0125】
乗算器501は、ベクトル量子化装置300において復号されたベクトルと予測係数ベクトルの現処理フレーム成分を乗算し、乗算結果のベクトルを加算器502に出力する。
【0126】
加算器502は、乗算器501の乗算結果に予測ベクトルと、スペクトル包絡パラメータの平均ベクトルとをベクトル加算し、加算結果を復号結果として出力する。
【0127】
次に、ベクトル量子化装置500の動作について説明する。ベクトル量子化装置500は、式(17)を用いて量子化ターゲットベクトルを作成する。
Figure 0003793111
ここで、F''[n]は、3次のMA(Moving Average)予測ベクトル量子化技術と、平均値差分型ベクトル量子化技術と、実施の形態1で説明した復号化器と、を併用した復号化器によって最終的に生成される復号ベクトルである。また、上記説明におけるidx_maは、予測係数ベクトルが複数セット用意された場合に、ベクトル量子化器側で、量子化歪み最小化を基準に特定される予測係数ベクトルのセット番号である。
【0128】
実施の形態1の数16のF'(n)に予測係数の現処理フレーム成分(MA[idx_ma][0])を乗算して得られるベクトルに、過去3フレームの復号化ベクトル(F'(n-t), t=1,2,3)とMA予測係数(MA[idx_ma][t], t=1,2,3)を乗算して得られる予測ベクトル(Σt=1,2,3 MA[idx_ma][t]・F'(n-t))、及び、スペクトル包絡パラメータの平均ベクトル(Y_AVE)をベクトル加算する。
【0129】
このように、本実施の形態のベクトル量子化装置は、平均値差分型ベクトル量子化技術を併用して、ベクトル量子化した信号を復号できる。
【0130】
(実施の形態3)
実施の形態1では、前段のVQ処理時において特定されたインデクスと同じインデクスが割り当てられたスケーリング因子を、分割型スケーリング因子CBから呼び出す時に前段の符号帳が格納するコードベクトル数(上記説明では、“I”に相当)と、分割型スケーリング因子CBが格納する分割型(ベクトル型)のスケーリング因子の数が同数である必要がある。
【0131】
実施の形態3では、前段の符号帳が格納するI個のコードベクトルそれぞれを、I個より少数個のクラスターと対応づける工程(I個のコードベクトルそれぞれが、より少数個のクラスターのうち、どのクラスターに属するかを判定するための工程)を別途に具備し、呼び出す分割型(ベクトル)のスケーリング因子を、前段のVQ処理において特定されたインデクスが属する少数個のクラスターの番号に適応制御して、分割型スケーリング因子CBが格納する分割型(ベクトル型)のスケーリング因子の数を、I個より少数のクラスタ−の数と同数に削減する例について説明する。
【0132】
図6は、本発明の実施の形態3に係るベクトル量子化装置の構成の一例を示すブロック図である。但し、図1と同一の構成となるものについては、図1と同一番号を付し、詳しい説明を省略する。
【0133】
図6のベクトル量子化装置600は、変換テーブル601と、変換器602と、分割型スケーリング因子CB603とを具備し、前段の符号化に使用する符号帳のコードベクトルと、コードベクトル数より少ないスケーリング因子とを対応づけて、このスケーリング因子と、複数成分に分割したコードベクトルとを乗算して符号化を行う点が図1のベクトル量子化装置と異なる。
【0134】
1段目インデクス特定部103は、特定したインデクスを1段目CB101、変換器602、及びインデクス集計部110に出力する。
【0135】
変換テーブル601は、前段の符号帳が格納するI個のコードベクトルそれぞれを、I個より少数個のクラスターインデクスと対応づけて記憶する。
【0136】
変換器602は、変換テーブル601を参照し、1段目インデクス特定部103において特定したインデクスを対応するクラスターインデクスに変換して分割型スケーリング因子CB603に出力する。
【0137】
分割型スケーリング因子CB603は、1段目CB101が格納しているコードベクトル数と同じI種類の2次元ベクトルを格納する。そして、分割型スケーリング因子CB603は、変換器602から供給されクラスターインデクスに相当する分割型(2次元ベクトル)のスケーリング因子を2段目候補ベクトル生成器107に出力する。
【0138】
次に、変換テーブル601について説明する。図7は、本実施の形態における変換テーブルの一例を示す図である。
【0139】
図7では、インデクスとクラスターインデクスが対応づけられている。例えば、インデクス#01とクラスターインデクス#11が対応づけられている。同様に、インデクス#02とクラスターインデクス#11、インデクス#03とクラスターインデクス#11とが対応づけられている。そして、インデクス#04と、クラスターインデクス#21が対応づけられている。
【0140】
変換器602は、図7に示す変換テーブルを参照し、インデクスをクラスターインデクスに変換する。
【0141】
このように、本実施の形態のベクトル量子化装置によれば、前段の符号化に使用する符号帳のコードベクトルと、コードベクトル数より少ないスケーリング因子とを対応づけて、このスケーリング因子と、複数成分に分割したコードベクトルとを乗算して符号化を行うことにより、スケーリング因子の数を減少させることができ、スケーリング因子の記憶を少ない記憶領域に格納して符号化を行うことができる。なお、前記説明中の図7の変換テーブルは、条件分岐処理を伴うプログラム処理によって代替することが可能であり、変換テーブルを格納するために増加するメモリ容量を削減するという視点では、この方がより好適である。
【0142】
次に、図6のベクトル量子化装置により符号化された信号を復号するベクトル量子化処理について詳細に説明する。図8は、本発明の実施の形態3に係るベクトル量子化装置の構成の一例を示すブロック図である。
【0143】
図8のベクトル量子化装置は、変換テーブル801と、変換器802と、分割型スケーリング因子CB803とを具備し、前段の符号化に使用する符号帳のコードベクトルと、コードベクトル数より少ないスケーリング因子とを対応づけて、このスケーリング因子と、複数成分に分割したコードベクトルとを乗算して復号化を行う点が図3のベクトル量子化装置と異なる。
【0144】
インデクス分解部301は、供給された符号情報Lを、量子化ターゲットベクトルとの歪み量を最小化するコードベクトルのインデクス、及び2段目量子化のターゲットベクトルとの歪み量を最小化する候補ベクトルのインデクスの組み合わせに分解し、コードベクトルのインデクスを1段目CB302及び分割型スケーリング因子CB803に出力し、候補ベクトルのインデクスの組み合わせを変換器802に出力する。
【0145】
1段目CB302は、インデクス分解部301より供給されたidx_1に対応する1段目復号コードベクトルを加算器306に出力する。
【0146】
変換テーブル801は、前段の符号帳が格納するI個のコードベクトルそれぞれを、I個より少数個のクラスターインデクスと対応づけて記憶する。例えば、変換テーブル801は、図7に示されるコードベクトルとクラスターインデクスとを対応づけて記憶する。
【0147】
変換器802は、変換テーブル801を参照し、1段目インデクス特定部103において特定したインデクスを対応するクラスターインデクスに変換して分割型スケーリング因子CB803に出力する。
【0148】
分割型スケーリング因子CB803は、1段目CB302が格納しているコードベクトル数と同じI種類の2次元ベクトルを格納する。そして、分割型スケーリング因子CB803は、1段目インデクス特定部103から供給されるコードベクトルのインデクスに相当する分割型(2次元ベクトル)のスケーリング因子を2段目復号ベクトル生成器305に出力する。
【0149】
分割型2段目CB304は、インデクス分解部301より供給された候補ベクトルのインデクスの組み合わせに対応する低次コードベクトル、及び、高次コードベクトルを2段目復号ベクトル生成器305に出力する。
【0150】
2段目復号ベクトル生成器305が、分割型スケーリング因子CB803から供給される分割型(2次元ベクトル)の復号スケーリング因子と、分割型2段目CB304から供給される低次コードベクトル、高次コードベクトルから2段目復号ベクトルを生成し加算器306に出力する。
【0151】
そして最後に、加算器306が、1段目CB302から供給される1段目復号コードベクトルと、2段目復号ベクトル生成器305より供給される2段目復号ベクトルとをベクトル加算して復号ベクトルを得る。
【0152】
このように、本実施の形態のベクトル量子化装置によれば、前段の復号化に使用する符号帳のコードベクトルと、コードベクトル数より少ないスケーリング因子とを対応づけて、このスケーリング因子と、複数成分に分割したコードベクトルとを乗算することにより、コードベクトル数より少ないスケーリング因子を用いてベクトル量子化を行って符号化された信号を復号できる。
【0153】
また、現処理フレーム区間内の音声信号の特徴(例えば、有声性の強弱情報)を少数個のクラスに分類する工程や、音声信号(もしくはそれを表現するための符号情報)の過去数フレームから現処理フレームに至るまでの動的変動情報を少数個のクラスに分類する工程をさらに具備させれば、当該さらに具備した工程のクラス分類結果に適応させて、分割型(ベクトル型)のスケーリング因子を分割型スケーリング因子CBから呼び出すことも可能であり、その場合には、分割型スケーリング因子CBが格納する分割型(ベクトル型)のスケーリング因子の数を、別途に具備させた工程によるクラス分類数と同数に削減することも可能になる。
【0154】
(実施の形態4)
実施の形態4では、実施の形態1から実施の形態3のいずれかに記載のベクトル量子化装置を音声符号化装置及び音声復号化装置として送信装置及び受信装置に搭載して通信に使用する例について説明する。
【0155】
図9は、本発明の実施の形態4に係る音声信号送信装置および受信装置の構成を示すブロック図である。
【0156】
図9の音声信号送信装置900は、入力部901と、A/D変換器902と、音声符号化装置903と、RF変調器904と、送信アンテナ905とから主に構成される。また、図9の音声信号受信装置950は、受信アンテナ951と、RF復調器952と、音声復号化装置953と、D/A変換器954と、出力部955とから主に構成される。
【0157】
図において、音声信号は、入力部901によって電気的信号に変換された後、A/D変換器902に出力される。A/D変換器902は、入力部901から出力された(アナログ)信号をディジタル信号に変換し音声符号化装置903に出力する。音声符号化装置903は、上記実施の形態いずれかに記載のベクトル量子化装置を備え、A/D変換器902から出力されたディジタル音声信号を後述する音声符号化方法を用いて符号化し符号化情報をRF変調器904に出力する。RF変調器904は音声符号化装置903から出力された音声符号化情報を電波等の伝搬媒体に載せて送出するための信号に変換し送信アンテナ905に出力する。送信アンテナ905はRF変調器904から出力された出力信号を電波(RF信号)として送出する。
【0158】
RF信号は、受信アンテナ951によって受信されRF復調器952に出力される。なお、図中のRF信号は、受信側から見たRF信号のことであり、伝搬路において信号の減衰や雑音の重畳がなければRF信号と全く同じ物となる。RF復調器952は、受信アンテナ951から出力されたRF信号から音声符号化情報を復調し音声復号化装置953に出力する。音声復号化装置953は、上記実施の形態いずれかに記載のベクトル量子化装置を備え、RF復調器952から出力された音声符号化情報から後述する音声復号化方法を用いて音声信号を復号しD/A変換器954に出力する。D/A変換器954は、音声復号化装置953から出力されたディジタル音声信号をアナログの電気的信号に変換し出力部955に出力する。出力部955は、電気的信号を空気の振動に変換し音波として人間の耳に聴こえるように出力する。
【0159】
上記のような音声信号送信装置および受信装置の少なくとも一方を備えることにより、移動通信システムにおける基地局装置および移動端末装置を構成することができる。
【0160】
前記音声信号送信装置900は、音声符号化装置903にその特徴を有する。図10は、音声符号化装置903の構成を示すブロック図である。図10の音声符号化装置903は、前処理部1001と、LPC分析部1002と、LPC量子化部1003と、合成フィルタ1004と、加算器1005と、適応音源符号帳1006と、量子化利得生成器1007と、固定音源符号帳1008と、乗算器1009と、乗算器1010と、加算器1011と、聴覚重み付け部1012と、パラメータ決定部1013と、多重化器1014とから主に構成される。
【0161】
図10において、図9のA/D変換器902から出力された入力音声信号は、前処理部1001に入力される。前処理部1001は、入力音声信号に直流成分を取り除くハイパスフィルタ処理または後続する符号化処理の性能改善につながる波形整形処理及びプリエンファシス処理を行い、処理後の音声信号(Xin)をLPC分析部1002、加算器1005及びパラメータ決定部1013に出力する。LPC分析部1002は、Xinを用いて線形予測分析を行い分析結果(線形予測係数)をLPC量子化部1003に出力する。
【0162】
LPC量子化部1003は、LPC分析部1002から出力されたLPC係数をLSFパラメータに変換し、ベクトル量子化装置100に出力する。変換によって得られたLSFパラメータは、実施の形態1で説明したベクトル量子化装置100に量子化ターゲットベクトルとして入力される。そして、実施の形態1で説明したベクトル量子化装置から出力された信号が、ベクトル量子化によって得られたLPC符号(L)として多重化器1014に出力される。
【0163】
また、LPC量子化部1003は、実施の形態1に示したスペクトル包絡パラメータの復号化方法により、LSF領域の復号化スペクトル包絡パラメータを得て、得られた復号化スペクトル包絡パラメータを復号化LPC係数に変換し、前記変換によって得られる復号化LPC係数を合成フィルタ1004に出力する。
【0164】
合成フィルタ1004は、前記復号化LPC係数と加算器1011から出力される駆動音源とを用いてフィルタ合成を行い、合成信号を加算器1005に出力する。
【0165】
加算器1005は、前記Xinと前記合成信号との誤差信号を算出し、聴覚重み付け部1012に出力する。聴覚重み付け部1012は、加算器1005から出力された誤差信号に対して聴覚的な重み付けを行い、聴覚重み付け領域での前記Xinと前記合成信号との歪みを算出し、パラメータ決定部1013に出力する。
【0166】
パラメータ決定部1013は、聴覚重み付け部1012から出力された前記符号化歪みが最小となるように、適応音源符号帳1006と固定音源符号帳1008と量子化利得生成器1007において生成する信号を決定する。なお、聴覚重み付け部1012から出力される符号化歪みの最小化だけでなく、前記Xinを用いた別の符号化歪みを併用して前記3つの手段から生成されるべき信号を決定することにより、さらに符号化性能を改善することもできる。
【0167】
適応音源符号帳1006は、過去に加算器1011によって出力された音源信号をバッファリングし、パラメータ決定部1013から出力された信号(A)によって特定される位置から適応音源ベクトルを切り出して乗算器1009に出力する。
【0168】
固定音源符号帳1008は、パラメータ決定部1013から出力された信号(F)によって特定される形状を有するベクトルを乗算器1010に出力する。
【0169】
量子化利得生成器1007は、パラメータ決定部1013から出力された信号(G)によって特定される適応音源利得と固定音源利得とをそれぞれ乗算器1009と乗算器1010に出力する。
【0170】
乗算器1009は、量子化利得生成器1007から出力された量子化適応音源利得を、適応音源符号帳1006から出力された適応音源ベクトルに乗算し、乗算結果を加算器1011に出力する。乗算器1010は、量子化利得生成器1007から出力された量子化固定音源利得を、固定音源符号帳1008から出力された固定音源ベクトルに乗算し、乗算結果を加算器1011に出力する。
【0171】
加算器1011は、利得乗算後の適応音源ベクトルを乗算器1009から入力し、また固定音源ベクトルを乗算器1010から入力し、適応音源ベクトルと固定音源ベクトルとをベクトル加算する。そして、加算器1011は、ベクトル加算結果を合成フィルタ1004および適応音源符号帳1006に出力する。
【0172】
最後に、多重化器1014は、LPC量子化部1003から量子化LPCを表す符号Lを、パラメータ決定部1013から適応音源ベクトルを表す符号Aおよび固定音源ベクトルを表す符号Fおよび量子化利得を表す符号Gを、それぞれ入力し、これらの情報を多重化して符号化情報として伝送路に出力する。
【0173】
次に、音声復号化装置953の詳細について説明する。図11は、図9の音声復号化装置953の内部構成を示すブロック図である。
【0174】
図11において、RF復調器952から出力された符号化情報は、多重化分離器1101において多重化された符号化情報を個々の符号情報に分離される。
【0175】
分離されたLPC符号LはLPC復号化器1102に出力され、分離された適応音源ベクトル符号Aは適応音源符号帳1105に出力され、分離された音源利得符号Gは量子化利得生成器1106に出力され、分離された固定音源ベクトル符号Fは固定音源符号帳1107に出力される。
【0176】
LPC復号化器1102は、多重化分離器1101から出力された符号Lから、実施の形態1に示したベクトル量子化の復号化処理によって復号化スペクトル包絡パラメータを得て、得られた復号化スペクトル包絡パラメータを復号化LPC係数に変換する。そして、LPC復号化器1102は、変換によって得られる復号化LPC係数を合成フィルタ1103に出力する。
【0177】
適応音源符号帳1105は、多重化分離器1101から出力された符号Aで指定される位置から適応音源ベクトルを取り出して乗算器1108に出力する。固定音源符号帳1107は、多重化分離器1101から出力された符号Fで指定される固定音源ベクトルを生成し、乗算器1109に出力する。
【0178】
量子化利得生成器1106は、多重化分離器1101から出力された音源利得符号Gで指定される適応音源ベクトル利得と固定音源ベクトル利得を復号し乗算器1108および乗算器1109にそれぞれ出力する。
【0179】
乗算器1108は、前記適応符号ベクトルに前記適応符号ベクトル利得を乗算して、加算器1110に出力する。乗算器1109は、前記固定符号ベクトルに前記固定符号ベクトル利得を乗算して、加算器1110に出力する。
【0180】
加算器1110は、乗算器1108および乗算器1109から出力された利得乗算後の適応音源ベクトルと固定音源ベクトルの加算を行い、合成フィルタ1103に出力する。
【0181】
合成フィルタ1103は、加算器1110から出力された音源ベクトルを駆動信号として、LPC復号化器1102から供給された復号化LPC係数をフィルタ係数にもつ合成フィルタを用いてフィルタ合成を行い、合成した信号を後処理部1104に出力する。
【0182】
後処理部1104は、ホルマント強調やピッチ強調等の音声の主観的な品質を改善する処理、及び定常雑音の主観的品質を改善する処理等を施した上で、最終的な復号音声信号として出力する。
【0183】
このように、本実施の形態の音声送信装置及び音声受信装置によれば、多段構成のベクトル量子化において、コードベクトルの成分別に個々のスケーリング因子を乗算し、ベクトル量子化された信号を送信することにより、量子化歪みを低減する方法で通信できる。
【0184】
また、本実施の形態の音声受信装置によれば、多段構成のベクトル量子化において、コードベクトルの成分別に個々のスケーリング因子を乗算して量子化歪みを低減する方法で受信した信号を復号できる。
【0185】
なお、本発明は上記実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、ベクトル量子化装置として行う場合について説明しているが、これに限られるものではなく、このベクトル量子化方法をソフトウェアとして行うことも可能である。
【0186】
例えば、上記ベクトル量子化方法を実行するプログラムを予めROM(Read Only Memory)に格納しておき、そのプログラムをCPU(Central Processor Unit)によって動作させるようにしても良い。
【0187】
また、上記ベクトル量子化方法を実行するプログラムをコンピュータで読み取り可能な記憶媒体に格納し、記憶媒体に格納されたプログラムをコンピュータのRAM(Random Access Memory)に記録して、コンピュータをそのプログラムにしたがって動作させるようにしても良い。
【0188】
【発明の効果】
以上説明したように、本発明のベクトル量子化装置によれば、2段目以降のベクトル量子化が符号帳分割型である複数段構成のベクトル量子化装置において、アンプリチュードも分割型(ベクトル型)のベクトル構成にして復号ベクトル全体に占める2段目コードベクトルの寄与分をさらに効率よく適応制御し、量子化歪みのさらなる低減化を図ることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るベクトル量子化装置の構成を示すブロック図
【図2】上記実施の形態に係るベクトル量子化装置の構成の一部を示すブロック図
【図3】上記実施の形態に係るベクトル量子化装置の構成の一例を示すブロック図
【図4】本発明の実施の形態2に係るベクトル量子化装置の構成の一例を示すブロック図
【図5】上記実施の形態に係るベクトル量子化装置の構成の一例を示すブロック図
【図6】本発明の実施の形態3に係るベクトル量子化装置の構成の一例を示すブロック図
【図7】上記実施の形態における変換テーブルの一例を示す図
【図8】本発明の実施の形態3に係るベクトル量子化装置の構成の一例を示すブロック図
【図9】本発明の実施の形態4に係る音声信号送信装置および受信装置の構成を示すブロック図
【図10】音声符号化装置の構成を示すブロック図
【図11】図9の音声復号化装置の内部構成を示すブロック図
【符号の説明】
101、302 1段目CB
102 1段目歪み算出部
103 1段目インデクス特定部
104 2段目ターゲット算出部
105、304 分割型2段目CB
106、303 分割型スケーリング因子CB
107 2段目候補ベクトル生成器
108 2段目歪み算出部
109 2段目インデクス特定部
110 インデクス集計部
151 高次コードベクトルCB
152 低次コードベクトルCB
161 高次スケーリング因子CB
162 低次スケーリング因子CB
171、172、501 乗算器
173 統合ベクトル合成部
301 インデクス分解部
305 2段目復号ベクトル生成器
306 加算器
401 MA予測係数ベクトル生成部
402 平均値格納部
403 差分器
404 除算器
502 加算器
601、801 変換テーブル
602、802 変換器[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a vector quantization apparatus and a vector quantization method for vector quantization of spectrum envelope parameters, and more particularly, in the field of packet communication systems and mobile communication systems represented by Internet communication, the transmission efficiency of voice signals is improved. The present invention relates to a vector quantization apparatus and a vector quantization method for performing vector quantization of a spectral envelope parameter suitable for use in a speech encoding / decoding apparatus used for enhancement.
[0002]
[Prior art]
When a voice signal is transmitted in a packet communication system typified by Internet communication or a mobile communication system, a voice coding technique is often used in order to increase the transmission efficiency of the voice signal. In particular, when a speech signal is encoded at a medium / low bit rate, a CELP speech coding / decoding technology has become the mainstream technology.
[0003]
The CELP speech coding / decoding technique separates a speech signal to be encoded into spectral envelope information and spectral fine structure information by linear prediction analysis, and performs vector quantization on each separated information. It has the characteristics. Details thereof are disclosed in, for example, Reference 1 (MR Schroeder, BS Atal, “Code Excited Linear Prediction: High Quality Speech at Low Bit Rate”, IEEE proc., ICASSP '85 pp. 937-940).
[0004]
In the CELP type speech encoding apparatus disclosed in the literature 1, etc., first, the input digital speech signal is divided into frames having a constant time interval of about 20 ms. Next, the CELP speech coding apparatus performs linear prediction analysis on the speech signal in the frame interval to obtain an LPC (Linear Predictive Coding) coefficient and a linear prediction residual.
[0005]
Among these, the LPC coefficient is used as information representing the spectral envelope of the speech signal, and the linear prediction residual is utilized as information representing the fine structure of the spectrum. Specifically, the LPC coefficients are vector-quantized, and an optimum index representing the spectrum envelope of the speech signal is output to the code multiplexing means as an LPC code.
[0006]
Similarly, the CELP speech coding apparatus performs vector quantization on the linear prediction residual using the adaptive codebook, fixed codebook, and gain codebook, and the adaptive codebook, fixed codebook, and The optimum index of each gain codebook is output to the code multiplexing means as a code (adaptive codebook code, fixed codebook code, and gain codebook code) representing the fine structure of the spectrum. Then, the code multiplexing means collects the four types of optimum indexes for each frame interval, and transmits them as encoded information to the transmission path.
[0007]
On the other hand, in the CELP speech decoding apparatus, first, the code separation means receives encoded information for each frame interval from the transmission path, and separates the received encoded information into four types of code information (optimum index).
[0008]
Next, the CELP speech decoding apparatus synthesizes the decoded speech at every frame interval based on the four types of optimum indexes obtained by the code separation means. Specifically, first, an LPC code is decoded to obtain a decoded LPC coefficient, and an all-pole synthesis filter including the obtained decoded LPC coefficient as a filter coefficient is configured.
[0009]
Next, the CELP speech decoding apparatus reads out the decoding adaptive code vector, the decoding fixed code vector, and the decoding gain corresponding to each optimum index for the adaptive codebook, fixed codebook, and gain codebook. Then, the CELP speech decoding apparatus multiplies the two read code vectors by the corresponding decoding gains, adds the two code vectors after gain multiplication, generates an excitation signal, and generates the excitation signal using the generated excitation signal. The decoded speech signal can be synthesized at every frame interval by driving the polar synthesis filter.
[0010]
In the above description, the LPC coefficient is vector-quantized (hereinafter referred to as “VQ”) as information representing the spectral envelope of the audio signal. However, in an actual encoding / decoding device, an LSF (Line Spectral Frequency) parameters, LSP (Line Spectral Pairs) parameters), ISP (Immittance Spectral Pairs) parameters, parameters obtained by further converting LPC coefficients such as PARCOR coefficients, and 6Q cepstrum are generally VQed. Yes.
[0011]
Here, the vector quantization can be applied uniformly regardless of the type of parameter to be subjected to VQ. Hereinafter, the LPC coefficient obtained by linear prediction analysis, the above-described parameter obtained by further converting the LPC coefficient, the 6T cepstrum, and the like will be collectively referred to as “spectrum envelope parameters”.
[0012]
In order to develop and implement a low bit rate CELP speech coding / decoding device, it is necessary to efficiently vector quantize spectral envelope information and spectral fine structure information in a frame section with a small number of bits. Is essential. Therefore, when realizing a quantizer or quantization method that efficiently vector quantizes spectral envelope parameters, predictive vector quantization technology, multi-stage vector quantization technology, codebook switching type vector quantization technology, codebook partitioning type It is indispensable to efficiently combine various elemental technologies such as vector quantization technology.
[0013]
Regarding the above-mentioned various elemental technologies in vector quantization, see, for example, Reference 2 (Allen Gersho, Robert M. Gray: co-authored, Sadahiro Furui, Saburo Tazaki, Hiroshi Kodera, Hiroshi Watanabe: ”Corona). Further, if a 24-bit vector quantizer is configured by efficiently combining various elemental technologies such as those described above, it is possible to perform vector quantization on spectral envelope parameters in a frame section without subjective deterioration (3). KP Paliwal, BS Atal, “E6icient Vector Quantization of LPC Parameters at 24 Bits / Frame”, IEEE Trans. Speech and Audio Processing, Vol. 1, No. 1, Jan. 1993).
[0014]
However, when an audio signal is encoded / decoded at a low bit rate of about 4 kbps (bit per second), if a bit number of 24 bits is assigned to the vector quantizer of the spectrum envelope parameter, Deterioration of information expression accuracy cannot be avoided, and high-quality decoded speech cannot be obtained when the coding apparatus and decoding apparatus are operated as a whole.
[0015]
Therefore, in order to construct a speech encoding / decoding device that operates at a low bit rate of about 4 kbps, a new elemental technology for inventing and inventing a new efficient VQ with a small number of bits has been proposed. It has become indispensable.
[0016]
As an example of a novel element technique for efficiently VQing a spectrum envelope parameter with a small number of bits, a first-stage codebook (hereinafter abbreviated as first-stage CB) is used in a two-stage vector quantizer. The invention of Document 4 (Japanese Patent No. 3175667), which is characterized in that a scalar codebook that stores the same number of scalar constants as the number of code vectors to be stored as “amplitude”, is newly provided.
[0017]
In the invention of Document 4, a scalar constant to which the same index as that of the code vector specified by the first-stage VQ process is assigned is read from the scalar codebook, and the read scalar constant is output from the second-stage CB. By uniformly multiplying each element of the second stage code vector, it is possible to control the contribution of the second stage code vector in the entire decoded code vector by adapting it to the code vector specified by the first stage VQ. As a result, the quantization distortion generated through the processing of the entire vector quantizer having a two-stage configuration has been successfully reduced.
[0018]
[Problems to be solved by the invention]
However, in the invention of the above-mentioned document 4, “amplitude” for adaptively controlling the contribution of the second-stage code vector in the entire decoded vector is limited to a scalar constant, so that the quantization error can be further reduced. There was a limit to trying to achieve this.
[0019]
Further, in the invention of Document 4, since it is necessary to separately provide a scalar codebook that stores the same number of scalar constants as the code vectors stored in the first stage CB, the capacity of the storage device that increases when the invention is applied. It was structurally impossible to reduce this.
[0020]
The present invention has been made in view of this point, and an object of the present invention is to provide a vector quantization apparatus that realizes a reduction in quantization distortion and storage capacity in vector quantization processing.
[0021]
[Means for Solving the Problems]
The vector quantization apparatus of the present invention includes a plurality of codebooks that store code vectors for vector quantization of quantization error vectors resulting from vector quantization of spectrum envelope parameters using a codebook, Combining and combining a plurality of scaling factor codebooks for storing scaling factors, a multiplier for multiplying the code vector by a scaling factor corresponding to the code vector, and a plurality of code vectors multiplied by the scaling factor in the multiplier An integrated vector synthesizer that synthesizes vectors is employed.
[0022]
According to this configuration, quantization distortion can be reduced by multiplying individual scaling factors for each code vector component in multistage vector quantization.
[0023]
In the vector quantization apparatus according to the present invention, the scaling factor codebook adopts a configuration in which the scaling factor and the code vector are associated with each other from the code vector specified in the previous stage.
[0024]
According to this configuration, in the vector quantization of the multi-stage configuration, when the vector quantization processing units in the second and subsequent stages are accompanied by a split-type codebook, the split-type (vector By providing a vector codebook that stores a type) scaling factor, it is possible to adaptively control with high accuracy the contributions of the second and subsequent code vectors in the entire decoded vector.
[0025]
In the vector quantization apparatus according to the present invention, the scaling factor codebook stores a smaller number of scaling factors than the number of code vectors used in the preceding stage.
[0026]
The vector quantization apparatus according to the present invention employs a configuration in which the scaling factor codebook associates similar speech signals with the same scaling factor.
[0027]
In the vector quantization apparatus according to the present invention, the scaling factor codebook employs a configuration in which speech signals that are similar to variations in the encoded speech signal are associated with the same scaling factor.
[0028]
According to these configurations, the codebook code vector used for the preceding decoding is associated with a scaling factor smaller than the number of code vectors, and the scaling factor is multiplied by the code vector divided into a plurality of components. Thus, it is possible to decode a signal encoded by performing vector quantization using a scaling factor smaller than the number of code vectors.
[0029]
The vector quantization apparatus according to the present invention employs a configuration including a specifying unit that specifies the plurality of code vectors that minimizes an error between a quantization error vector generated by vector quantization of a spectrum envelope parameter and the integrated vector.
[0030]
According to this configuration, quantization distortion can be reduced by multiplying individual scaling factors for each code vector component in multistage vector quantization.
[0031]
The vector quantization apparatus according to the present invention includes a prediction unit that predicts a quantization target vector from a signal processed in the past, and an average value calculation unit that calculates an average value of spectrum comprehensive parameters of the signal processed in the past. The vector quantization is performed using the difference between the spectral inclusion parameter of the signal to be processed and the quantization target vector and the difference between the spectral inclusion parameter of the signal to be processed and the average value of the spectral inclusion parameter as a quantization error vector. Take the configuration to do.
[0032]
According to this configuration, the prediction vector obtained by multiplying the past decoded vector and the MA prediction coefficient vector and the average vector of the spectrum envelope parameter are vector-differed from the spectrum envelope parameter, and obtained by the vector difference calculation. By using the vector obtained by dividing the vector by the current processing frame component of the prediction coefficient vector as the quantization target vector as an input to the vector quantization apparatus, the spectrum parameter can be efficiently vector quantized.
[0033]
The vector quantization apparatus according to the present invention employs a configuration including adding means for adding the preceding code vector and the integrated vector.
[0034]
According to this configuration, it is possible to decode a signal encoded by a method of reducing quantization distortion by multiplying individual scaling factors for each code vector component in multi-stage vector quantization.
[0035]
The vector quantization apparatus according to the present invention employs a configuration in which an average value of spectral comprehensive parameters of signals processed in the past is added to the addition result obtained by the adding means.
[0036]
According to this configuration, the vector quantized signal can be decoded using the average value difference type vector quantization technique together.
[0037]
A communication apparatus according to the present invention employs a configuration including any of the vector quantization apparatuses described above.
[0038]
According to this configuration, in the vector quantization of the multistage configuration, communication can be performed by a method of reducing the quantization distortion by multiplying each scaling factor for each code vector component and transmitting the vector quantized signal.
[0039]
The vector quantization method of the present invention performs vector quantization on the quantization error vector resulting from vector quantization of the spectral envelope parameter using a codebook, and divides the vector component into a plurality of vector components in the vector quantization. In the vector quantization method of multiplying different scaling factors, the scaling factor used for vector quantization of the quantization error vector is determined from the code vector specified in the vector quantization of the spectral envelope parameter.
[0040]
According to this method, in multi-level vector quantization, quantization distortion can be reduced by multiplying individual scaling factors for each code vector component.
[0041]
DETAILED DESCRIPTION OF THE INVENTION
The essence of the present invention is that, in the vector quantization of the multi-stage configuration in which the vector quantization in the second and subsequent stages is a codebook division type, the amplitude is also divided into (vector type) vector configuration and occupies 2 It is to adaptively control the contribution of the stage code vector more efficiently and to further reduce the quantization distortion.
[0042]
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the following part of the present specification, in order to distinguish the divided (vectorized) amplitude information from the scalar constant “amplitude” in Document 4, a divided (vector) scaling factor is used. (Scaling factor).
[0043]
(Embodiment 1)
FIG. 1 is a block diagram showing the configuration of the vector quantization apparatus according to Embodiment 1 of the present invention. The vector quantization apparatus 100 in FIG. 1 divides a code vector component into a plurality of components and performs vector quantization of spectral envelope parameters for preparing a scaling factor for each, and encodes an input signal.
[0044]
The vector quantization apparatus 100 in FIG. 1 includes a first-stage CB101, a first-stage distortion calculation unit 102, a first-stage index specifying unit 103, a second-stage target calculation unit 104, and a split-type second-stage CB105. The divided scaling factor CB 106, the second-stage candidate vector generator 107, the second-stage distortion calculation unit 108, the second-stage index specifying unit 109, and the index totaling unit 110 are mainly configured.
[0045]
The first-stage CB 101 stores a code vector used for the first-stage VQ processing in the two-stage vector quantization. The vector quantization apparatus according to the present embodiment is a two-stage vector quantizer, and the first-stage CB 101 uses the p-order code vector shown in Expression (1) as I in the first-stage VQ processing. Stores the type (i = 1, 2, 3,..., I in equation (1)).
Y (i) = [y1 (i), y2 (i), y3 (i),…, yp (i)]… Equation (1)
[0046]
Then, the first stage CB 101 outputs a code vector corresponding to the instruction signal supplied from the first stage index specifying unit 103 to the first stage distortion calculation unit 102. Note that the number of code vectors stored in each of the low-order CB and the high-order CB is ILP when a CELP speech coding / decoding apparatus with a bit rate of 4 kbps is used as a spectrum envelope parameter. = 128, p = 10, etc. are preferable.
[0047]
The first-stage distortion calculation unit 102 calculates distortion between the quantization target vector of the spectrum of the audio signal and the code vector supplied from the first-stage CB 101 and outputs the distortion to the first-stage index specifying unit 103.
[0048]
Specifically, the quantization target vector is supplied as input data to the first stage distortion calculation unit 102 and the second stage target calculation unit 104.
F (n) = [f1 (n), f2 (n), f3 (n),…, fp (n)]… Equation (2)
Here, p indicates the linear prediction order, and n indicates the frame number.
[0049]
The first-stage distortion calculation unit 102 calculates the distortion between the quantization target vector F (n) and the i-th code vector Y (i) output from the first-stage CB101 using Expression (3). And output to the first-stage index specifying unit 103.
d_1 (i) = dist (F (n), Y (i)) ... Formula (3)
[0050]
In addition, as a distortion evaluation scale of Formula (3), (9) Formula of Reference 3 and Reference 5 (R. Salami, et al, “Design and Description of CS-ACELP: A Toll Quality 8 kb / s Speech Coder Although it is preferable to use a weighted square error using a weighting coefficient calculated by equation (9) etc. of ", IEEE Trans. Speech and Audio Processing, Vol. 6, No. 2, Mar. 1998)". The embodiment itself can be implemented regardless of the details of the distortion evaluation scale.
[0051]
The first-stage index specifying unit 103 supplies an instruction signal for outputting the i-th code vector of the I types to the first-stage CB101. The first-stage index specifying unit 103 receives the distortion amount d_1 (i) indicating the distortion between the audio signal and the i-th code vector from the first-stage distortion calculation unit 102, and then stores the I code vectors stored therein. The instruction signal for outputting the (i + 1) th code vector Y (i + 1) is supplied to the first stage CB101.
[0052]
After the first-stage index specifying unit 103 supplies the instruction signal, the first-stage CB101 outputs the code vector Y (i), and the first-stage distortion calculation unit 102 outputs Y (i) and the quantization target vector F ( The above-described series of processing from calculating the distortion amount d_1 (i) to n) and outputting it to the first-stage index specifying unit 103 is the I type code vector Y () stored in the first-stage CB101. i), i = 1, 2, 3,..., I are repeated, the first-stage index specifying unit 103 receives I distortion amounts d_1 (i), i = 1, 2, 3,. Are collected.
[0053]
When the above iterative processing is completed for the I type code vector Y (i), the first-stage index specifying unit 103 uses the equation (4) to calculate the amount of distortion with the quantization target vector F (n). The index idx_1 of the code vector that minimizes is specified from one of the I indexes.
idx_1 = Min_i [d_1 (1), d1_ (2),…, d_1 (i),…, d_1 (I)]… Equation (4)
Here, Min_I is a function that specifies an index that minimizes d_ (i), i = 1, 2,.
[0054]
Then, the first-stage index specifying unit 103 outputs the specified index to the first-stage CB 101, the divided scaling factor CB 106, and the index totaling unit 110.
[0055]
The first-stage CB101 outputs the code vector Y (idx_1) corresponding to the index supplied from the first-stage index specifying unit 103 to the second-stage target calculation unit 104, thereby completing the first-stage VQ process. To do.
[0056]
In the vector quantization apparatus of the present embodiment, in the second-stage VQ processing unit of the vector quantization of the two-stage configuration, a split-type second-stage codebook (hereinafter referred to as a split-type second-stage CB) 15; Vector quantization is performed using two types of codebooks of the divisional scaling factor CB106 (hereinafter referred to as the divisional scaling factor CB).
[0057]
The divided second-stage CB 105 is a low-order code vector composed of elements of the 1st to kth orders of the lower order among the pth orders.
X_low (j) = [x_low_1 (j), x_low_2 (j),…, x_low_k (j)]… Equation (5)
Is composed of low-order CBs that store J types (j = 1, 2, 3,..., J in Equation 5) and high-order elements from p + 1 to k + 1 to p-order. Code vector
Figure 0003793111
Is a divided codebook consisting of two codebooks with high-order CBs stored in M types (m = 1, 2, 3,..., M in equation (6)).
[0058]
The split-type second-stage CB 105 generates two higher-order code vectors and lower-order code vectors corresponding to the instruction signal supplied from the second-stage index specifying unit 109 (indicating the index of the code vector to be output). The result is output to the stage candidate vector generator 107.
[0059]
Note that the number of code vectors stored in the low-order CB and the high-order CB is the CELP speech coding / decoding device having a bit rate of 4 kbps, and the following LSF parameter is set to p = 10 as a spectrum envelope parameter. When using, it is preferable to set k = 5 and J = M = 64.
[0060]
On the other hand, the division type scaling factor CB106 stores the same type I two-dimensional vector as the number of code vectors stored in the first stage CB101. This two-dimensional vector is a vector represented by Expression (7).
S (i) = [s_low (i), s_high (i)], i = 1,2,3, ..., I (7)
Here, s_low (i) indicates a low-order scaling factor, and s_high (i) indicates a high-order scaling factor.
[0061]
Then, the division type scaling factor CB 106 outputs the division type (two-dimensional vector) scaling factor corresponding to idx_1 supplied from the first stage index specifying unit 103 to the second stage candidate vector generator 107. This division type scaling factor is expressed by Equation (8).
S (idx_1) = [s_low (idx_1), s_high (idx_1)] ... Formula (8)
Here, s_low (idx_1) indicates a low-order scaling factor, and s_high (idx_1) indicates a high-order scaling factor.
[0062]
In the second-stage VQ processing including the codebook, the second-stage target calculation unit 104 subtracts the quantization target spectrum of the speech signal by the code vector specified by the first-stage index specifying unit 103, and A quantization error vector generated by the first-stage VQ processing is calculated and output to the second-stage distortion calculation unit 108.
[0063]
Here, the quantization error vector is a vector represented by Expression (9),
G (n) = [g1 (n), g2 (n), g3 (n),…, gp (n)]… Equation (9)
The quantization error vector is obtained by Expression (10).
Figure 0003793111
Next, the second-stage index specifying unit 109 outputs the index (j, m) of the high-order code vector and the low-order code vector to the split-type second-stage CB 105.
[0064]
The split-type second-stage CB 105 generates the second-stage candidate vectors from the code vectors X_low (j) and X_high (m) corresponding to the index (j, m) supplied from the second-stage index specifying unit 109. Output to the unit 107.
[0065]
Second stage candidate vector generator 107 multiplies the high-order code vector by a high-order scaling factor, and multiplies the low-order code vector by a low-order scaling factor. Second-stage candidate vector generator 107 combines the higher-order code vector and the lower-order code vector that have been multiplied by the scaling factor to generate a candidate vector, and outputs the candidate vector to second-stage distortion calculation section 108.
[0066]
Specifically, the second-stage candidate vector generator 107 includes a division type (two-dimensional vector) scaling factor supplied from the division-type scaling factor CB106, and a low-order and high-order supplied from the division type second-stage CB105. A candidate vector X (j, m) corresponding to the index (j, m) is generated for each next code vector using Expression (11), and is output to the second-stage distortion calculation unit 108.
Figure 0003793111
[0067]
The second stage distortion calculation unit 108 includes the target vector G (n) of the second stage VQ processing unit supplied from the second stage target calculation unit 104 and the candidate vector X generated by the second stage candidate vector generator 107. The amount of distortion between (j, m) is calculated from equation (12), and is output to the second-stage index specifying unit 109.
d_2 (j, m) = dist (G (n), X (j, m))… Equation (12)
Note that the details of the distortion scale used in Expression (12) are the same as Expression (3) and are omitted, but as disclosed in Document 3 and Document 5, weighted 2 using the calculated weight coefficient is used. It is preferable to use a multiplication error.
[0068]
After receiving the distortion amount d_2 (j, m) from the second-stage distortion calculation unit 108, the second-stage index specifying unit 109 next calculates the distortion amount among the indexes having J × M combinations. The division-type second-stage CB 105 is instructed to output a code vector corresponding to a combination of unindexed indexes (for example, (j + 1, m)).
[0069]
After the second-stage index specifying unit 109 supplies the instruction signal, the division-type second-stage CB 105 outputs the code vector, and the second-stage candidate vector generator 107 outputs the division type (output from the division-type scaling factor CB. A candidate vector X (j, m) is generated using a scaling factor of (two-dimensional vector) and the code vector.
[0070]
Then, the second-stage distortion calculation unit 108 calculates a distortion amount d_2 (j, m) between the quantization target vector G (n) and the X (j, m), and sends it to the second-stage index specifying unit 109. The above-described series of processing until output is performed for all combinations of indexes of the codebooks constituting the split type second stage CB 105 (j = 1, 2, 3,..., J, m = 1, 2, 3,... M ) Is repeated, and the second-stage index specifying unit 109 performs J × M distortion amounts d_2 (j, m), j = 1,2,3,..., J, m = 1,2,3,. Collect.
[0071]
Then, when the above iterative process is completed, the second-stage index specifying unit 109 uses a formula (13) to calculate candidate vectors that minimize the distortion amount with the second-stage quantization target vector G (n). The combination of indexes is specified and output to the index totaling unit 110.
Figure 0003793111
Here, Min_j, m is a function that specifies an index that minimizes d_ (j, m), j = 1, 2,..., J, m = 1, 2,.
[0072]
The second-stage index specifying unit 109 specifies the index combination (idx_2low, idx_2high) of this candidate vector and outputs it to the index totaling unit 110, whereby the second-stage VQ processing is completed.
[0073]
After the second-stage VQ processing, the index totaling unit 110 totals the index inx_d1 received from the first-stage index specifying unit 103 and the indexes (idx_2low, idx_2high) received from the second-stage index specifying unit 109, and the code information Output as L.
[0074]
With the process of the above procedure, the vector quantization process with a two-stage configuration in the encoding process ends.
[0075]
Next, the high-order code vector and low-order code vector scaling processing for the vector quantization apparatus 100 will be described. FIG. 2 is a block diagram showing a part of the configuration of the vector quantization apparatus according to Embodiment 1 of the present invention.
[0076]
In FIG. 2, the divided second-stage CB 105 is mainly composed of a high-order code vector CB 151 and a low-order code vector CB 152. The divided scaling factor CB106 is mainly composed of a high-order scaling factor CB161 and a low-order scaling factor CB162. The second stage candidate vector generator 107 is mainly composed of a multiplier 171, a multiplier 172, and an integrated vector synthesis unit 173.
[0077]
The high-order code vector CB 151 outputs a high-order code vector corresponding to the instruction signal supplied from the second-stage index specifying unit 109 to the multiplier 171.
[0078]
The higher-order scaling factor CB161 receives the index of the code vector specified in the first-stage VQ processing from the first-stage index specifying unit 103. Then, the high-order scaling factor CB161 outputs to the multiplier 171 a high-order scaling factor that multiplies the high-order code vector from the identified code vector index.
[0079]
The multiplier 171 multiplies the high-order code vector by a high-order scaling factor, and outputs the multiplication result to the integrated vector synthesis unit 173.
[0080]
Low-order code vector CB 152 outputs a low-order code vector corresponding to the instruction signal supplied from second-stage index specifying unit 109 to multiplier 172.
[0081]
The low-order scaling factor CB162 receives the index of the code vector specified in the first-stage VQ processing from the first-stage index specifying unit 103. Then, the low-order scaling factor CB 162 outputs a low-order scaling factor for multiplying the low-order code vector from the index of the specified code vector to the multiplier 172.
[0082]
Multiplier 172 multiplies the low-order code vector by a low-order scaling factor, and outputs the multiplication result to integrated vector synthesis section 173.
[0083]
The integrated vector combining unit 173 combines the components of the high-order code vector and the low-order code vector multiplied by the scaling factor, and outputs the combined vector to the second-stage distortion calculation unit 108.
[0084]
As described above, the vector quantization apparatus according to the present embodiment can reduce quantization distortion by multiplying individual scaling factors for each component of the code vector in multi-stage vector quantization.
[0085]
Next, a vector quantization process for decoding a signal encoded by the vector quantization apparatus in FIG. 1 will be described in detail. FIG. 3 is a block diagram showing an example of the configuration of the vector quantization apparatus according to Embodiment 1 of the present invention.
[0086]
The vector quantization apparatus 300 in FIG. 3 includes an index decomposing unit 301, a first stage CB302, a divided scaling factor CB303, a divided second stage CB304, a second stage decoded vector generator 305, and an adder 306. And mainly consists of Note that the first stage CB302 in FIG. 3 is the same as the first stage CB101, the split type scaling factor CB303 is the same as the split type scaling factor CB106, and the split type second stage CB304 is the split type second stage CB105. Is the same.
[0087]
In the decoding process of FIG. 3, first, code information L output by the vector quantization apparatus of FIG. 1 is input to the index decomposing unit 301.
[0088]
The index decomposing unit 301 converts the supplied code information L into a code vector index idx_1 that minimizes the amount of distortion with the quantization target vector F (n), and a second-stage quantization target vector G (n). Is divided into index combinations (idx_2low, idx_2high) of candidate vectors that minimize the amount of distortion, and idx_1 is output to the first stage CB302 and the division type scaling factor CB303, and (idx_2low, idx_2high) is divided into the division type second stage CB304. Output to.
[0089]
The first-stage CB 302 outputs the first-stage decoded code vector Y (idx_1) corresponding to idx_1 supplied from the index decomposing unit 301 to the adder 306.
[0090]
The division type scaling factor CB 303 outputs the division type (two-dimensional vector) decoding scaling factor corresponding to idx_1 supplied from the index decomposing unit 301 to the second-stage decoded vector generator 305. Here, the decoding scaling factor is a factor represented by Expression (14).
S (idx_1) = [s_low (idx_1), s_high (idx_1)] ... Formula (14)
Here, s_low (idx_1) indicates a low-order scaling factor, and s_high (idx_1) indicates a high-order scaling factor.
[0091]
The split-type second-stage CB 304 receives the low-order code vector (X_low (idx_2low)) and the high-order code vector (X_high (idx_2high)) corresponding to (idx_2low, idx_2high) supplied from the index decomposition unit 301 in two stages. The result is output to the eye decoding vector generator 305.
[0092]
The second-stage decoded vector generator 305 includes a division-type (two-dimensional vector) decoding scaling factor supplied from the division-type scaling factor CB303, and a low-order code vector and a high-order code supplied from the division-type second-stage CB304. A second-stage decoded vector X (idx_2low, idx_2high) is generated from the vector and output to the adder 306.
[0093]
Specifically, the split-type second-stage CB 304 generates a second-stage decoded vector X (idx_2low, idx_2high) corresponding to the index (idx_2low, idx_2high) using Expression (15) and outputs it to the adder 306.
Figure 0003793111
[0094]
Finally, the adder 306 receives the first-stage decoded code vector Y (idx_1) supplied from the first-stage CB302 and the second-stage decoded vector X (idx_2low, idx_2high) is added to the vector to obtain a decoded vector F ′ (n). Equation (16) shows the vector addition.
F ′ (n) = Y (idx_1) + X (idx_2low, idx_2high) (16)
[0095]
As described above, the vector quantization apparatus according to the present embodiment, in multi-stage vector quantization, multiplies each scaling factor for each code vector component and multiplies each signal by a method that reduces quantization distortion. Can be decrypted.
[0096]
As described above, according to the vector quantization apparatus of the present embodiment, in the vector quantization of the multistage configuration, when the vector quantization processing units in the second and subsequent stages are accompanied by the divided codebook, By providing a vector codebook that stores the division type (vector type) scaling factor so as to be compatible with the division configuration, adaptive control of the contribution of the code vector in the second and subsequent stages in the entire decoded vector is performed with high accuracy. can do.
[0097]
That is, it is possible to obtain an operation and effect that the quantization distortion can be reduced as compared with the case of using the conventional technique described in Document 4.
[0098]
In addition, in the vector quantization apparatus according to the present embodiment, the target vector can be obtained with a small amount of data by associating the scaling factor to be individually multiplied for each code vector component with the preceding code vector in the multi-stage vector quantization. Vector quantization can be performed.
[0099]
Note that the code vectors stored in the respective codebooks of the first stage CB 101 or 302, the division type scaling factor CB 106 or 303, and the division type second stage CB 105 or 304 according to the present embodiment are described in Reference 6 (Y. Linde, A. Buzo, RM Gray, "An algorithm for Vector Quantizer Design", IEEE trans. Comm. Vol. COM-28, No. 1, pp84-95, Jan., 1980), It is acquired in advance by a learning process using the Lloyd algorithm disclosed in Reference 7 (SP Lloyd, “Least Square Quantization in PCM”, IEEE trans. Information Theory, Vol. IT-28, pp.129-137, 1982). It is suitable to keep.
[0100]
In addition, each element ([s_low (i), s_high (i)], i = 1, 2, 3, ..., I) of the division type (vector type) scaling factor (S (i) in Equation 7) is As a result of the first-term learning, a value in the range of 0.5 or more and 2.0 or less is more preferable.
[0101]
Further, in the present embodiment, a single optimum index (and a single optimum first stage code vector corresponding to the index) is specified in the first stage VQ process, and one stage in the second stage VQ process. A unique second-stage target vector obtained by the difference between the first quantization target vector and the only optimal first-stage code vector specified in the first-stage VQ processing is used using a divided second-stage codebook. Although the case of further vector quantization has been described, the number of second stage target vectors is not particularly limited.
[0102]
For example, a plurality of indexes (and code vectors corresponding to the indexes) specified in the first-stage VQ processing are used, and in the second-stage VQ processing, the first-stage quantization target vector and the first-stage VQ process The second-stage target vector obtained by the difference from the plurality of first-stage code vectors identified in the VQ process is further vector quantized using the divided second-stage codebook, and the second-stage VQ process The combination information of the optimal index of the first-stage VQ and the optimal index of the second-stage VQ that minimizes the generated vector quantization error may be uniquely specified. Also in this case, the present embodiment can be applied, and similar effects and actions can be obtained.
[0103]
Further, in the present embodiment, the divided second-stage CB 105 or 304 and the divided scaling factor CB 106 or 303 include low-order components from 1 to k order among p-order vector components, and k + 1 to Although detailed description has been given of the case where vector quantization is performed by dividing into two components consisting of higher-order components up to the p-th order, the number of vectors to be divided is not particularly limited.
[0104]
For example, the present invention also applies to the case where the division type second stage CB 105 or 304 and the division type scaling factor CB 106 or 303 include CBs of three or more vector components, and vector quantization is performed by dividing into three or more vector components. The embodiment can be applied by the same method. Also in this case, the same actions and effects as those of the above embodiment can be obtained.
[0105]
Further, in the present embodiment, a case has been described in which the codebook division number of the division type second-stage CB and the division number (vector dimension) of the scaling factor CB are both. The number of book divisions and the number of divisions of the scaling factor CB may not be the same.
[0106]
A division configuration other than the above description, for example, the number of divisions of the second-stage codebook is set to 1 (substantially non-division), the number of divisions of the scaling factor is set to 10, and 10 kinds of elements for each element of the second-stage code vector A mode in which scaling factors are multiplied, or the number of divisions of the second-stage codebook is set to 2, the number of divisions of the scaling factor is set to 5, and the elements of the second-stage code vector are grouped every second order from the lowest order to 5 The present invention can also be applied to a form of multiplying types of scaling factors. In this case, the same effect / action can be obtained.
[0107]
Further, in the present embodiment, a case is described in which the division type scaling factor CB is applied to the second stage VQ processing unit of the vector quantizer in which the first stage CB is a non-division type and the second stage CB division type. However, the number of stages to which the divided scaling factor CB is applied is not particularly limited.
[0108]
For example, assuming a multi-stage vector quantizer with three or more stages K, if the k-th (where k <K) codebook is a non-division type, the same method as in the present embodiment Thus, it is possible to adaptively control the contribution of the (k + 1) -th stage code vector in the entire decoded vector using the index specified by the k-th stage VQ processing. Also in this case, the same effect / action can be obtained.
[0109]
Further, in a multi-stage vector quantizer having three or more stages K, even if the k-th (where k <K) codebook is a division type, the division type scaling factor CB includes the division type scaling factor CB. J × M types are stored, and a division type (vector) scaling factor is selected according to the index combination number (corresponding to j × M + m in the present embodiment) specified by the VQ processing at the k-th stage By doing so, it is possible to control the contribution of the (k + 1) -th stage code vector occupying the entire decoding vector in accordance with the index combination number specified by the k-th stage VQ processing. In this case, the same action and effect can be obtained.
[0110]
In the description of the present embodiment, the subsequent-stage scaling factor is determined from the index information specified in the previous-stage VQ process. However, the previous-stage scaling factor may be determined from the result of the subsequent-stage VQ process. Specifically, in the above description, in a multi-stage vector quantizer having three or more stages K, the scaling factor for multiplying the k-th code vector from the index information specified by the (k−1) -stage VQ process. Only the form of selecting is described.
[0111]
Here, it is also possible to select a scaling factor by which the first-stage code vector is multiplied by a plurality of indexes specified in the VQ processing up to the (k−1) -th stage. In this case, the same effect / action can be obtained.
[0112]
(Embodiment 2)
In the first embodiment, the case where the spectral envelope parameter is directly input to the vector quantization apparatus as the quantization target (F (n) in Expression (2)) has been described in detail. CELP with a bit rate of 4 kbps When configuring a speech encoding / decoding device, it is necessary to more efficiently vector-quantize spectral parameters. In the second embodiment, an example will be described in which vector quantization is performed using both the motion prediction vector quantization technique and the average value difference vector quantization technique.
[0113]
FIG. 4 is a block diagram showing an example of the configuration of the vector quantization apparatus according to Embodiment 2 of the present invention.
[0114]
4 includes an MA prediction coefficient vector generation unit 401, an average value storage unit 402, a difference unit 403, a divider 404, and a vector quantization device 100, which have been processed in the past. The prediction vector obtained by multiplying the decoded vector by the MA (Moving Average) prediction coefficient vector and the average vector of the spectrum envelope parameter are vector-differed from the spectrum envelope parameter, and the vector obtained by the vector difference calculation is the prediction coefficient. 1 is different from the vector quantization apparatus of FIG. 1 in that a vector obtained by dividing the vector by the current processing frame component is used as a quantization target vector.
[0115]
Vector quantization apparatus 100 outputs the decoded vector to MA prediction coefficient vector generation unit 401.
[0116]
The MA prediction coefficient vector generation unit 401 generates a prediction vector by multiplying a decoding vector generated in the past and an MA (Moving Average) prediction coefficient vector, and outputs the prediction vector to the difference unit 403.
[0117]
The average value storage unit 402 stores an average vector of spectrum envelope parameters calculated in advance based on the learning data, and outputs the stored average vector to the differentiator 403.
[0118]
The difference unit 403 subtracts the prediction vector and the average vector from the spectrum envelope parameter, and outputs the obtained difference vector to the divider 404.
[0119]
The divider 404 divides the difference vector by the prediction coefficient vector, and outputs the division result to the vector quantization apparatus 100 as a quantization target vector. In the step of calculating the quantization target vector, in order to reduce the amount of calculation, the reciprocal vector of the prediction coefficient vector is calculated in advance and stored in the memory, and the reciprocal vector of the prediction coefficient vector stored outside the period is stored. And the difference vector can be multiplied and the multiplication result can be output to the vector quantization apparatus 100 as a quantization target vector, which is more preferable in terms of reducing the amount of calculation.
[0120]
The vector quantization apparatus 100 vector quantizes the quantization target vector output from the divider 404.
[0121]
As described above, according to the vector quantization apparatus of the present embodiment, the prediction vector obtained by multiplying the decoded vector of the past (3 frames) and the MA prediction coefficient vector, and the average vector of the spectrum envelope parameters, A vector difference is obtained from a spectrum envelope parameter, and a vector obtained by dividing the vector obtained by the vector difference operation by a current processing frame component of a prediction coefficient vector is used as a quantization target vector as an input of a vector quantization apparatus, thereby obtaining a spectrum. The parameters can be efficiently vector quantized.
[0122]
Next, the vector quantization decoding process corresponding to the vector quantization apparatus (or method) of FIG. 4 will be described in detail. FIG. 5 is a block diagram showing an example of the configuration of the vector quantization apparatus according to Embodiment 2 of the present invention.
[0123]
A vector quantization apparatus 500 in FIG. 5 includes a vector quantization apparatus 300, a multiplier 501, and an adder 502. The vector quantization apparatus 500 performs the current quantization of the prediction coefficient vector on the vector decoded by the vector quantization process of the vector quantization apparatus 300. 3 is different from the vector quantization apparatus of FIG. 3 in that the processing frame component is multiplied, and the result of the multiplication is added to the vector of the prediction vector and the average vector of the spectral envelope parameters.
[0124]
Vector quantization apparatus 300 decodes the signal encoded in vector quantization apparatus 100 and outputs the decoded vector to multiplier 501.
[0125]
Multiplier 501 multiplies the vector decoded by vector quantization apparatus 300 and the current processing frame component of the prediction coefficient vector, and outputs the multiplication result vector to adder 502.
[0126]
The adder 502 adds the prediction vector and the average vector of the spectral envelope parameters to the multiplication result of the multiplier 501, and outputs the addition result as a decoding result.
[0127]
Next, the operation of the vector quantization apparatus 500 will be described. The vector quantization apparatus 500 creates a quantization target vector using Expression (17).
Figure 0003793111
Here, F ″ [n] is a combination of the third-order MA (Moving Average) prediction vector quantization technique, the average difference vector quantization technique, and the decoder described in the first embodiment. This is a decoding vector finally generated by the decoder. Also, idx_ma in the above description is a set number of a prediction coefficient vector specified on the basis of quantization distortion minimization on the vector quantizer side when a plurality of sets of prediction coefficient vectors are prepared.
[0128]
The vector obtained by multiplying F ′ (n) of Formula 16 of the first embodiment by the current processing frame component (MA [idx_ma] [0]) of the prediction coefficient is added to the decoded vector (F ′ ( nt), t = 1,2,3) and the MA prediction coefficient (MA [idx_ma] [t], t = 1,2,3) multiplied by the prediction vector (Σt = 1,2,3 MA [ idx_ma] [t] · F ′ (nt)) and the average vector (Y_AVE) of the spectral envelope parameters are added.
[0129]
As described above, the vector quantization apparatus according to the present embodiment can decode a vector quantized signal by using the average value difference type vector quantization technique together.
[0130]
(Embodiment 3)
In the first embodiment, the number of code vectors stored in the preceding codebook when the scaling factor assigned the same index as that specified during the preceding VQ processing is called from the divided scaling factor CB (in the above description, The number of division type (vector type) scaling factors stored in the division type scaling factor CB needs to be the same.
[0131]
In the third embodiment, the step of associating each of the I code vectors stored in the preceding codebook with a smaller number of clusters than I (each of the I code vectors is selected from among the smaller number of clusters). A step for determining whether or not it belongs to a cluster), and the division type (vector) scaling factor to be called is adaptively controlled to the number of a small number of clusters to which the index specified in the preceding VQ processing belongs. An example in which the number of division type (vector type) scaling factors stored in the division type scaling factor CB is reduced to the same number as the number of clusters smaller than I will be described.
[0132]
FIG. 6 is a block diagram showing an example of the configuration of the vector quantization apparatus according to Embodiment 3 of the present invention. 1 identical to those in FIG. 1 are assigned the same reference numerals as in FIG. 1, and detailed descriptions thereof are omitted.
[0133]
A vector quantization apparatus 600 in FIG. 6 includes a conversion table 601, a converter 602, and a division type scaling factor CB603, and a codebook code vector used for encoding at the preceding stage and a scaling smaller than the number of code vectors. 1 is different from the vector quantization apparatus in FIG. 1 in that the factors are associated with each other and the scaling factor is multiplied by the code vector divided into a plurality of components.
[0134]
The first-stage index specifying unit 103 outputs the specified index to the first-stage CB 101, the converter 602, and the index totaling unit 110.
[0135]
The conversion table 601 stores I code vectors stored in the preceding codebook in association with a smaller number of cluster indexes than I.
[0136]
The converter 602 refers to the conversion table 601, converts the index specified by the first-stage index specifying unit 103 into a corresponding cluster index, and outputs the converted clustering factor CB603.
[0137]
The division type scaling factor CB603 stores the same two types of two-dimensional vectors as the number of code vectors stored in the first stage CB101. Then, the division type scaling factor CB 603 outputs the division type (two-dimensional vector) scaling factor supplied from the converter 602 and corresponding to the cluster index to the second stage candidate vector generator 107.
[0138]
Next, the conversion table 601 will be described. FIG. 7 is a diagram showing an example of the conversion table in the present embodiment.
[0139]
In FIG. 7, the index and the cluster index are associated with each other. For example, index # 01 and cluster index # 11 are associated with each other. Similarly, index # 02 is associated with cluster index # 11, and index # 03 is associated with cluster index # 11. Then, index # 04 and cluster index # 21 are associated with each other.
[0140]
The converter 602 refers to the conversion table shown in FIG. 7 and converts the index into a cluster index.
[0141]
As described above, according to the vector quantization apparatus of the present embodiment, the code book code vector used for the preceding encoding is associated with a scaling factor smaller than the number of code vectors, By performing the encoding by multiplying the code vector divided into the components, the number of scaling factors can be reduced, and the encoding of the scaling factors can be performed by storing them in a small storage area. Note that the conversion table of FIG. 7 in the above description can be replaced by a program process involving conditional branch processing, and this is more preferable from the viewpoint of reducing the memory capacity that increases to store the conversion table. Is preferred.
[0142]
Next, a vector quantization process for decoding a signal encoded by the vector quantization apparatus in FIG. 6 will be described in detail. FIG. 8 is a block diagram showing an example of the configuration of the vector quantization apparatus according to Embodiment 3 of the present invention.
[0143]
The vector quantization apparatus in FIG. 8 includes a conversion table 801, a converter 802, and a division-type scaling factor CB803, and a codebook code vector used for encoding at the preceding stage and a scaling factor smaller than the number of code vectors. Is different from the vector quantization apparatus of FIG. 3 in that decoding is performed by multiplying the scaling factor by a code vector divided into a plurality of components.
[0144]
The index decomposing unit 301 uses the code information L supplied to the code vector index that minimizes the amount of distortion with the quantization target vector and the candidate vector that minimizes the amount of distortion with the second-stage quantization target vector. The code vector index is output to the first-stage CB 302 and the division type scaling factor CB 803, and the candidate vector index combination is output to the converter 802.
[0145]
The first-stage CB 302 outputs the first-stage decoded code vector corresponding to idx_1 supplied from the index decomposing unit 301 to the adder 306.
[0146]
The conversion table 801 stores each of the I code vectors stored in the preceding codebook in association with a smaller number of cluster indexes than I. For example, the conversion table 801 stores the code vector and the cluster index shown in FIG. 7 in association with each other.
[0147]
The converter 802 refers to the conversion table 801, converts the index specified by the first-stage index specifying unit 103 into a corresponding cluster index, and outputs the converted clustering factor CB803.
[0148]
The division type scaling factor CB 803 stores the same type I two-dimensional vector as the number of code vectors stored in the first stage CB 302. Then, the divided scaling factor CB 803 outputs a divided (two-dimensional vector) scaling factor corresponding to the code vector index supplied from the first-stage index specifying unit 103 to the second-stage decoded vector generator 305.
[0149]
The divided second-stage CB 304 outputs the low-order code vector and the high-order code vector corresponding to the combination of the index of the candidate vectors supplied from the index decomposing unit 301 to the second-stage decoded vector generator 305.
[0150]
The second-stage decoded vector generator 305 includes a division-type (two-dimensional vector) decoding scaling factor supplied from the division-type scaling factor CB803, and a low-order code vector and a high-order code supplied from the division-type second-stage CB304. A second-stage decoded vector is generated from the vector and output to the adder 306.
[0151]
Finally, the adder 306 adds the first-stage decoded code vector supplied from the first-stage CB302 and the second-stage decoded vector supplied from the second-stage decoded vector generator 305, and adds the decoded vector. Get.
[0152]
Thus, according to the vector quantization apparatus of the present embodiment, the code book code vector used for the preceding decoding is associated with a scaling factor that is smaller than the number of code vectors, By multiplying the code vector divided into components, it is possible to decode a signal encoded by performing vector quantization using a scaling factor smaller than the number of code vectors.
[0153]
Also, from the process of classifying the characteristics (for example, voiced strength information) of the audio signal in the current processing frame section into a small number of classes, and from the past several frames of the audio signal (or code information for expressing it) If a process for classifying the dynamic variation information up to the current processing frame into a small number of classes is further provided, a division type (vector type) scaling factor is adapted to the class classification result of the further provided processes. Can be called from the division type scaling factor CB. In this case, the number of class classifications by the process in which the number of division type (vector type) scaling factors stored in the division type scaling factor CB is separately provided. Can be reduced to the same number.
[0154]
(Embodiment 4)
In the fourth embodiment, an example in which the vector quantization apparatus according to any one of the first to third embodiments is mounted on a transmission apparatus and a reception apparatus as a speech encoding apparatus and a speech decoding apparatus and used for communication. Will be described.
[0155]
FIG. 9 is a block diagram showing configurations of an audio signal transmitting apparatus and a receiving apparatus according to Embodiment 4 of the present invention.
[0156]
9 mainly includes an input unit 901, an A / D converter 902, a speech encoding device 903, an RF modulator 904, and a transmission antenna 905. 9 mainly includes a receiving antenna 951, an RF demodulator 952, a speech decoding device 953, a D / A converter 954, and an output unit 955.
[0157]
In the figure, an audio signal is converted into an electrical signal by an input unit 901 and then output to an A / D converter 902. The A / D converter 902 converts the (analog) signal output from the input unit 901 into a digital signal and outputs the digital signal to the speech encoding device 903. Speech encoding apparatus 903 includes the vector quantization apparatus described in any of the above embodiments, and encodes and encodes a digital speech signal output from A / D converter 902 using a speech encoding method to be described later. Information is output to the RF modulator 904. The RF modulator 904 converts the audio encoded information output from the audio encoding device 903 into a signal to be transmitted on a propagation medium such as a radio wave and outputs the signal to the transmission antenna 905. The transmission antenna 905 transmits the output signal output from the RF modulator 904 as a radio wave (RF signal).
[0158]
The RF signal is received by the receiving antenna 951 and output to the RF demodulator 952. Note that the RF signal in the figure is an RF signal viewed from the receiving side, and is exactly the same as the RF signal if there is no signal attenuation or noise superposition in the propagation path. The RF demodulator 952 demodulates speech coding information from the RF signal output from the receiving antenna 951 and outputs the demodulated speech information to the speech decoding apparatus 953. Speech decoding apparatus 953 includes the vector quantization apparatus described in any of the above embodiments, and decodes a speech signal from speech encoded information output from RF demodulator 952 using a speech decoding method described later. The data is output to the D / A converter 954. The D / A converter 954 converts the digital audio signal output from the audio decoding device 953 into an analog electrical signal and outputs it to the output unit 955. The output unit 955 converts the electrical signal into air vibration and outputs it as a sound wave so that it can be heard by the human ear.
[0159]
By including at least one of the above-described audio signal transmitting apparatus and receiving apparatus, a base station apparatus and a mobile terminal apparatus in a mobile communication system can be configured.
[0160]
The voice signal transmitting apparatus 900 is characterized by the voice encoding apparatus 903. FIG. 10 is a block diagram showing a configuration of speech encoding apparatus 903. The speech coding apparatus 903 in FIG. 10 includes a preprocessing unit 1001, an LPC analysis unit 1002, an LPC quantization unit 1003, a synthesis filter 1004, an adder 1005, an adaptive excitation codebook 1006, and a quantization gain generation. It mainly includes a multiplier 1007, a fixed excitation codebook 1008, a multiplier 1009, a multiplier 1010, an adder 1011, an auditory weighting unit 1012, a parameter determination unit 1013, and a multiplexer 1014.
[0161]
10, the input audio signal output from the A / D converter 902 in FIG. 9 is input to the preprocessing unit 1001. The preprocessing unit 1001 performs a waveform shaping process and a pre-emphasis process that lead to performance improvement of a high-pass filter process or a subsequent encoding process that removes a DC component from an input audio signal, and an LPC analysis unit that processes the processed audio signal (Xin) 1002, the adder 1005, and the parameter determination unit 1013. The LPC analysis unit 1002 performs linear prediction analysis using Xin, and outputs an analysis result (linear prediction coefficient) to the LPC quantization unit 1003.
[0162]
The LPC quantization unit 1003 converts the LPC coefficient output from the LPC analysis unit 1002 into an LSF parameter, and outputs the LSF parameter to the vector quantization apparatus 100. The LSF parameter obtained by the conversion is input as a quantization target vector to the vector quantization apparatus 100 described in the first embodiment. Then, the signal output from the vector quantization apparatus described in Embodiment 1 is output to multiplexer 1014 as an LPC code (L) obtained by vector quantization.
[0163]
Further, LPC quantization section 1003 obtains a decoded spectral envelope parameter in the LSF region by the spectral envelope parameter decoding method shown in Embodiment 1, and decodes the obtained decoded spectral envelope parameter into a decoded LPC coefficient. And the decoded LPC coefficient obtained by the conversion is output to the synthesis filter 1004.
[0164]
The synthesis filter 1004 performs filter synthesis using the decoded LPC coefficient and the driving sound source output from the adder 1011, and outputs a synthesized signal to the adder 1005.
[0165]
The adder 1005 calculates an error signal between the Xin and the combined signal and outputs the error signal to the auditory weighting unit 1012. The auditory weighting unit 1012 performs auditory weighting on the error signal output from the adder 1005, calculates distortion between the Xin and the synthesized signal in the auditory weighting region, and outputs the distortion to the parameter determining unit 1013. .
[0166]
The parameter determination unit 1013 determines the signals generated in the adaptive excitation codebook 1006, the fixed excitation codebook 1008, and the quantization gain generator 1007 so that the coding distortion output from the perceptual weighting unit 1012 is minimized. . In addition to minimizing the coding distortion output from the perceptual weighting unit 1012, by determining the signal to be generated from the three means by using another coding distortion using the Xin together, Furthermore, the encoding performance can be improved.
[0167]
The adaptive excitation codebook 1006 buffers the excitation signal output by the adder 1011 in the past, cuts out the adaptive excitation vector from the position specified by the signal (A) output from the parameter determination unit 1013, and multiplier 1009 Output to.
[0168]
Fixed excitation codebook 1008 outputs a vector having a shape specified by signal (F) output from parameter determining section 1013 to multiplier 1010.
[0169]
The quantization gain generator 1007 outputs the adaptive excitation gain and the fixed excitation gain specified by the signal (G) output from the parameter determination unit 1013 to the multiplier 1009 and the multiplier 1010, respectively.
[0170]
The multiplier 1009 multiplies the quantized adaptive excitation gain output from the quantization gain generator 1007 by the adaptive excitation vector output from the adaptive excitation codebook 1006, and outputs the multiplication result to the adder 1011. Multiplier 1010 multiplies the quantized fixed excitation gain output from quantization gain generator 1007 by the fixed excitation vector output from fixed excitation codebook 1008, and outputs the multiplication result to adder 1011.
[0171]
The adder 1011 receives the adaptive excitation vector after gain multiplication from the multiplier 1009 and also receives the fixed excitation vector from the multiplier 1010, and adds the adaptive excitation vector and the fixed excitation vector. Adder 1011 outputs the vector addition result to synthesis filter 1004 and adaptive excitation codebook 1006.
[0172]
Finally, the multiplexer 1014 represents the code L representing the quantized LPC from the LPC quantizing unit 1003, the code A representing the adaptive excitation vector, the code F representing the fixed excitation vector, and the quantization gain from the parameter determining unit 1013. Each of the codes G is input, and these pieces of information are multiplexed and output to the transmission line as encoded information.
[0173]
Next, details of speech decoding apparatus 953 will be described. FIG. 11 is a block diagram showing an internal configuration of speech decoding apparatus 953 in FIG.
[0174]
In FIG. 11, the encoded information output from the RF demodulator 952 is separated into individual encoded information by the multiplexed separator 1101.
[0175]
The separated LPC code L is output to the LPC decoder 1102, the separated adaptive excitation vector code A is output to the adaptive excitation codebook 1105, and the separated excitation gain code G is output to the quantization gain generator 1106. The separated fixed excitation vector code F is output to the fixed excitation codebook 1107.
[0176]
The LPC decoder 1102 obtains a decoded spectrum envelope parameter from the code L output from the demultiplexer 1101 by the vector quantization decoding process described in Embodiment 1, and the obtained decoded spectrum Convert envelope parameters to decoded LPC coefficients. Then, the LPC decoder 1102 outputs the decoded LPC coefficient obtained by the conversion to the synthesis filter 1103.
[0177]
The adaptive excitation codebook 1105 extracts an adaptive excitation vector from the position specified by the code A output from the demultiplexer 1101 and outputs it to the multiplier 1108. The fixed excitation codebook 1107 generates a fixed excitation vector specified by the code F output from the demultiplexer 1101 and outputs it to the multiplier 1109.
[0178]
The quantization gain generator 1106 decodes the adaptive excitation vector gain and the fixed excitation vector gain specified by the excitation gain code G output from the demultiplexer 1101, and outputs them to the multiplier 1108 and the multiplier 1109, respectively.
[0179]
Multiplier 1108 multiplies the adaptive code vector by the adaptive code vector gain and outputs the result to adder 1110. Multiplier 1109 multiplies the fixed code vector by the fixed code vector gain and outputs the result to adder 1110.
[0180]
Adder 1110 adds the adaptive excitation vector and the fixed excitation vector after gain multiplication output from multiplier 1108 and multiplier 1109, and outputs the result to synthesis filter 1103.
[0181]
The synthesis filter 1103 performs filter synthesis using a synthesis filter having the decoded LPC coefficient supplied from the LPC decoder 1102 as a filter coefficient, using the excitation vector output from the adder 1110 as a drive signal, and the synthesized signal Is output to the post-processing unit 1104.
[0182]
The post-processing unit 1104 performs processing for improving the subjective quality of speech such as formant enhancement and pitch enhancement, processing for improving the subjective quality of stationary noise, and the like, and outputs the result as a final decoded speech signal To do.
[0183]
As described above, according to the voice transmitting device and the voice receiving device of the present embodiment, in the vector quantization of the multistage configuration, the individual scaling factors are multiplied for each component of the code vector, and the vector quantized signal is transmitted. Thus, communication can be performed by a method of reducing quantization distortion.
[0184]
Further, according to the speech receiving apparatus of the present embodiment, in multi-stage vector quantization, a received signal can be decoded by a method of reducing quantization distortion by multiplying individual scaling factors for each code vector component.
[0185]
In addition, this invention is not limited to the said embodiment, It can change and implement variously. For example, in the above-described embodiment, the case of performing as a vector quantization apparatus has been described.
[0186]
For example, a program for executing the vector quantization method may be stored in advance in a ROM (Read Only Memory), and the program may be operated by a CPU (Central Processor Unit).
[0187]
Further, a program for executing the vector quantization method is stored in a computer-readable storage medium, the program stored in the storage medium is recorded in a RAM (Random Access Memory) of the computer, and the computer is executed according to the program. You may make it operate.
[0188]
【The invention's effect】
As described above, according to the vector quantization apparatus of the present invention, in the vector quantization apparatus having a multi-stage configuration in which the vector quantization in the second and subsequent stages is a codebook division type, the amplitude is also divided (vector type). ), The contribution of the second stage code vector in the entire decoded vector can be adaptively controlled more efficiently, and the quantization distortion can be further reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a vector quantization apparatus according to Embodiment 1 of the present invention.
FIG. 2 is a block diagram showing a part of the configuration of the vector quantization apparatus according to the embodiment.
FIG. 3 is a block diagram showing an example of the configuration of the vector quantization apparatus according to the embodiment.
FIG. 4 is a block diagram showing an example of a configuration of a vector quantization apparatus according to Embodiment 2 of the present invention.
FIG. 5 is a block diagram showing an example of the configuration of the vector quantization apparatus according to the embodiment.
FIG. 6 is a block diagram showing an example of the configuration of a vector quantization apparatus according to Embodiment 3 of the present invention.
FIG. 7 is a diagram illustrating an example of a conversion table in the embodiment.
FIG. 8 is a block diagram showing an example of a configuration of a vector quantization apparatus according to Embodiment 3 of the present invention.
FIG. 9 is a block diagram showing configurations of an audio signal transmitting apparatus and a receiving apparatus according to Embodiment 4 of the present invention.
FIG. 10 is a block diagram illustrating a configuration of a speech encoding device.
11 is a block diagram showing an internal configuration of the speech decoding apparatus in FIG. 9;
[Explanation of symbols]
101, 302 1st stage CB
102 First-stage distortion calculation unit
103 1st stage index identification part
104 Second stage target calculation unit
105, 304 Split type 2nd stage CB
106,303 Divided scaling factor CB
107 Second stage candidate vector generator
108 Second-stage distortion calculation unit
109 Second stage index identification part
110 Index totaling department
151 Higher-order code vector CB
152 Low-order code vector CB
161 High-order scaling factor CB
162 Low-order scaling factor CB
171, 172, 501 Multiplier
173 Integrated vector composition unit
301 Index decomposition unit
305 Second stage decoded vector generator
306 Adder
401 MA prediction coefficient vector generation unit
402 Average value storage
403 Differencer
404 Divider
502 adder
601 and 801 conversion tables
602, 802 converter

Claims (6)

前段ベクトル量子化のターゲットベクトルとして入力されるスペクトル包絡パラメータとの歪み量を最小化する前段符号帳から出力される前段候補コードベクトルのインデクスを前段符号帳の最適インデクスとして特定するとともに、前記前段ベクトル量子化のターゲットベクトルから、特定された前記前段符号帳の最適インデクスに対応する前段候補ベクトルを差分して、前段ベクトル量子化の量子化誤差ベクトルを生成する前段ベクトル量子化方法と、The index of the preceding candidate code vector output from the preceding codebook that minimizes the amount of distortion with the spectrum envelope parameter input as the target vector of the preceding vector quantization is specified as the optimal index of the preceding codebook, and the preceding vector A pre-stage vector quantization method for generating a quantization error vector of pre-stage vector quantization by subtracting a pre-stage candidate vector corresponding to the identified optimum index of the pre-stage codebook from a quantization target vector;
前記前段ベクトル量子化の量子化誤差ベクトルと後段候補ベクトルとの歪み量を最小化する、後段符号帳から出力される後段低次コードベクトル及び後段高次コードベクトルの最適インデクスを特定する後段ベクトル量子化方法と、The latter-stage vector quantum that specifies the optimum index of the latter-stage lower-order code vector and the latter-stage higher-order code vector output from the latter-stage codebook, which minimizes the distortion amount between the quantization error vector and the latter-stage candidate vector of the preceding-stage vector quantization And
を有するスペクトル包絡パラメータの多段ベクトル量子化方法であって、A multi-stage vector quantization method for spectral envelope parameters having:
後段ベクトル量子化方法における前記歪み量が、The amount of distortion in the latter stage vector quantization method is:
前段ベクトル量子化方法によって生成された前記前段ベクトル量子化の量子化誤差ベクトルと、A quantization error vector of the preceding vector quantization generated by the preceding vector quantization method;
後段符号帳から出力される後段低次コードベクトルに分割型スケーリング因子符号帳から出力される低次スケーリング因子を乗算して得られる後段低次候補コードベクトルと、後段符号帳から出力される後段高次コードベクトルに分割型スケーリング因子符号帳から出力される高次スケーリング因子を乗算して得られる後段高次候補コードベクトルとを結合して得られる後段候補ベクトルと、Subsequent low-order candidate code vector obtained by multiplying the low-order scaling factor output from the division-type scaling factor codebook by the post-stage low-order code vector output from the post-stage codebook and the post-stage height output from the post-stage codebook A subsequent-stage candidate vector obtained by combining a subsequent-stage higher-order candidate code vector obtained by multiplying the next-order code vector by a higher-order scaling factor output from the divided scaling factor codebook,
の差分に基づいて算出されるCalculated based on the difference between
ことを特徴とするスペクトル包絡パラメータの多段ベクトル量子化方法。A multistage vector quantization method for spectral envelope parameters.
前記後段低次コードベクトルと前記後段高次コードベクトルとにそれぞれ乗じる低次スケーリング因子と高次スケーリング因子の組は、A set of a low-order scaling factor and a high-order scaling factor that multiply the latter-stage lower-order code vector and the latter-stage higher-order code vector, respectively,
分割型スケーリング因子符号帳が格納している低次スケーリング因子と高次スケーリング因子の複数の組の中から、前記前段ベクトル量子化の最適インデクスに基づいて特定された低次スケーリング因子と高次スケーリング因子の組であるA low-order scaling factor and a high-order scaling identified based on the optimal index of the preceding vector quantization among a plurality of sets of low-order scaling factors and high-order scaling factors stored in the split-type scaling factor codebook A set of factors
ことを特徴とする請求項1に記載のスペクトル包絡パラメータの多段ベクトル量子化方法。The multistage vector quantization method for spectral envelope parameters according to claim 1.
前段ベクトル量子化のターゲットベクトルとして入力されるスペクトル包絡パラメータとの歪み量を最小化する前段符号帳から出力される前段候補コードベクトルのインデクスを前段符号帳の最適インデクスとして特定するとともに、前記前段ベクトル量子化のターゲットベクトルから、特定された前記前段符号帳の最適インデクスに対応する前段候補ベクトルを差分して、前段ベクトル量子化の量子化誤差ベクトルを生成する前段ベクトル量子化方法と、The index of the preceding candidate code vector output from the preceding codebook that minimizes the amount of distortion with the spectrum envelope parameter input as the target vector of the preceding vector quantization is specified as the optimal index of the preceding codebook, and the preceding vector A pre-stage vector quantization method for generating a quantization error vector of pre-stage vector quantization by subtracting a pre-stage candidate vector corresponding to the identified optimum index of the pre-stage codebook from a quantization target vector;
後段ベクトル量子化のターゲットベクトルとして入力される前記前段ベクトル量子化の量子化誤差ベクトルを、分割型のスケーリング因子符号帳と後段低次符号帳と後段高次符号帳と、を用いてベクトル量子化する後段ベクトル量子化方法と、The quantization error vector of the preceding vector quantization input as the target vector of the succeeding vector quantization is vector quantized using the division type scaling factor codebook, the succeeding low order codebook, and the succeeding high order codebook. A latter stage vector quantization method,
を有するスペクトル包絡パラメータの多段ベクトル量子化方法であって、A multi-stage vector quantization method for spectral envelope parameters having:
前記後段のベクトル量子化方法は、The latter-stage vector quantization method is:
分割型スケーリング因子符号帳が、低次スケーリング因子と高次スケーリング因子の組を供給する処理と、A split scaling factor codebook providing a set of low and high order scaling factors;
後段低次符号帳から供給される後段低次コードベクトルに前記低次スケーリング因子を乗じて後段低次候補コードベクトルを生成する処理と、A process of generating a subsequent-stage low-order candidate code vector by multiplying a subsequent-stage low-order code vector supplied from the subsequent-stage low-order codebook by the low-order scaling factor;
後段高次符号帳から供給される後段高次コードベクトルに前記高次スケーリング因子を乗じて後段高次候補コードベクトルを生成する処理と、A process of generating a subsequent higher-order candidate code vector by multiplying the subsequent higher-order code vector supplied from the subsequent higher-order codebook by the higher-order scaling factor;
前記後段低次候補コードベクトルと、前記後段高次候補コードベクトルを結合して後段ベクトル量子化の候補ベクトルを生成する処理と、A process of generating a candidate vector for subsequent vector quantization by combining the subsequent low-order candidate code vector and the subsequent high-order candidate code vector;
前記後段ベクトル量子化のターゲットベクトルと、前記後段ベクトル量子化の候補ベクトルとの間の歪み量を算出する処理と、A process of calculating a distortion amount between the target vector of the latter-stage vector quantization and the candidate vector of the latter-stage vector quantization;
前記歪み量を最小化する、前記後段低次符号帳から供給される後段低次コードベクトルA subsequent low-order code vector supplied from the subsequent low-order codebook that minimizes the distortion amount のインデクス、及び、前記後段高次符号帳から供給される後段高次コードベクトルのインデクス、のそれぞれを、後段低次符号帳の最適インデクス及び後段高次符号帳の最適インデクスとして特定する処理と、And the index of the subsequent higher order code vector supplied from the subsequent higher order codebook, respectively, as the optimum index of the subsequent lower order codebook and the optimum index of the subsequent higher order codebook;
を有することを特徴とするスペクトル包絡パラメータの多段ベクトル量子化方法。A multistage vector quantization method for spectral envelope parameters, comprising:
前記分割型スケーリング因子符号帳が供給する低次スケーリング因子と高次スケーリング因子の組は、A set of a low-order scaling factor and a high-order scaling factor supplied by the split-type scaling factor codebook is:
分割型スケーリング因子符号帳が格納している低次スケーリング因子と高次スケーリング因子の複数の組の中から、前記前段ベクトル量子化の最適インデクスに基づいて特定された低次スケーリング因子と高次スケーリング因子の組であるA low-order scaling factor and a high-order scaling specified based on the optimal index of the preceding vector quantization among a plurality of sets of low-order scaling factors and high-order scaling factors stored in the split-type scaling factor codebook A set of factors
ことを特徴とする請求項3に記載のスペクトル包絡パラメータの多段ベクトル量子化方法。The multistage vector quantization method for spectral envelope parameters according to claim 3.
前段ベクトル量子化のターゲットベクトルとして入力されるスペクトル包絡パラメータとの歪み量を最小化する前段符号帳から出力される前段候補コードベクトルのインデクスを前段符号帳の最適インデクスとして特定するとともに、前記前段ベクトル量子化のターゲットベクトルから、特定された前記前段符号帳の最適インデクスに対応する前段候補ベクトルを差分して、前段ベクトル量子化の量子化誤差ベクトルを生成する前段ベクトル量子化部と、The index of the preceding candidate code vector output from the preceding codebook that minimizes the amount of distortion with the spectrum envelope parameter input as the target vector of the preceding vector quantization is specified as the optimal index of the preceding codebook, and the preceding vector A pre-stage vector quantizing unit that generates a quantization error vector of pre-stage vector quantization by subtracting a pre-stage candidate vector corresponding to the identified optimum index of the pre-stage codebook from a target vector of quantization;
後段ベクトル量子化のターゲットベクトルとして入力される前記前段ベクトル量子化の量子化誤差ベクトルを、分割型のスケーリング因子符号帳と後段低次符号帳と後段高次符号帳と、を用いてベクトル量子化する後段ベクトル量子化部と、The quantization error vector of the preceding vector quantization input as the target vector of the succeeding vector quantization is vector quantized using the division type scaling factor codebook, the succeeding low order codebook, and the succeeding high order codebook. A latter stage vector quantization unit,
を有するスペクトル包絡パラメータの多段ベクトル量子化装置であって、A multistage vector quantizer for spectral envelope parameters having
前記後段のベクトル量子化部は、The latter-stage vector quantization unit is
低次スケーリング因子と高次スケーリング因子の組を供給する分割型スケーリング因子符号帳と、A split scaling factor codebook that provides a set of low and high order scaling factors;
後段低次符号帳から供給される後段低次コードベクトルに前記低次スケーリング因子を乗じて後段低次候補コードベクトルを生成する後段低次候補コードベクトル生成部と、A subsequent-stage low-order candidate code vector generation unit that generates a subsequent-stage low-order candidate code vector by multiplying the subsequent-stage low-order code vector supplied from the subsequent-stage low-order codebook by the low-order scaling factor;
後段高次符号帳から供給される後段高次コードベクトルに前記高次スケーリング因子を乗じて後段高次候補コードベクトルを生成する後段高次候補コードベクトル生成部と、A subsequent higher-order candidate code vector generation unit that generates a subsequent-order higher-order candidate code vector by multiplying the subsequent-order higher-order code vector supplied from the subsequent-stage higher-order codebook by the higher-order scaling factor;
前記後段低次候補コードベクトルと、前記後段高次候補コードベクトルを結合して後段ベクトル量子化の候補ベクトルを生成する候補ベクトル生成部と、A candidate vector generation unit that combines the latter-stage lower-order candidate code vector and the latter-stage higher-order candidate code vector to generate a candidate vector for latter-stage vector quantization;
前記後段ベクトル量子化のターゲットベクトルと、前記後段ベクトル量子化の候補ベクトルとの間の歪み量を算出する歪み量算出部と、A distortion amount calculation unit that calculates a distortion amount between the target vector of the latter-stage vector quantization and the candidate vector of the latter-stage vector quantization;
前記歪み量を最小化する、前記後段低次符号帳から供給される後段低次コードベクトルのインデクス、及び、前記後段高次符号帳から供給される後段高次コードベクトルのインデクス、のそれぞれを、後段低次符号帳の最適インデクス及び後段高次符号帳の最適インデクスとして特定する最適インデクス特定部と、An index of a subsequent low-order code vector supplied from the subsequent low-order codebook and an index of a subsequent high-order code vector supplied from the subsequent high-order codebook that minimize the distortion amount, An optimal index specifying unit that specifies the optimal index of the subsequent low-order codebook and the optimal index of the subsequent high-order codebook;
を有することを特徴とするスペクトル包絡パラメータの多段ベクトル量子化装置。A multistage vector quantization apparatus for spectral envelope parameters, comprising:
前記分割型スケーリング因子符号帳が供給する低次スケーリング因子と高次スケーリング因子の組は、A set of a low-order scaling factor and a high-order scaling factor supplied by the split-type scaling factor codebook is:
分割型スケーリング因子符号帳が格納している低次スケーリング因子と高次スケーリング因子の複数の組の中から、前記前段ベクトル量子化の最適インデクスに基づいて特定された低次スケーリング因子と高次スケーリング因子の組であるA low-order scaling factor and a high-order scaling specified based on the optimal index of the preceding vector quantization among a plurality of sets of low-order scaling factors and high-order scaling factors stored in the split-type scaling factor codebook A set of factors
ことを特徴とする請求項5に記載のスペクトル包絡パラメータの多段ベクトル量子化装置。The multistage vector quantization apparatus for spectral envelope parameters according to claim 5.
JP2002149800A 2002-05-23 2002-05-23 Vector quantizer for spectral envelope parameters using split scaling factor Expired - Fee Related JP3793111B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002149800A JP3793111B2 (en) 2002-05-23 2002-05-23 Vector quantizer for spectral envelope parameters using split scaling factor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002149800A JP3793111B2 (en) 2002-05-23 2002-05-23 Vector quantizer for spectral envelope parameters using split scaling factor

Publications (2)

Publication Number Publication Date
JP2003345392A JP2003345392A (en) 2003-12-03
JP3793111B2 true JP3793111B2 (en) 2006-07-05

Family

ID=29767850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002149800A Expired - Fee Related JP3793111B2 (en) 2002-05-23 2002-05-23 Vector quantizer for spectral envelope parameters using split scaling factor

Country Status (1)

Country Link
JP (1) JP3793111B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090198491A1 (en) * 2006-05-12 2009-08-06 Panasonic Corporation Lsp vector quantization apparatus, lsp vector inverse-quantization apparatus, and their methods
JP4633774B2 (en) * 2007-10-05 2011-02-16 日本電信電話株式会社 Multiple vector quantization method, apparatus, program, and recording medium thereof
US20100274556A1 (en) * 2008-01-16 2010-10-28 Panasonic Corporation Vector quantizer, vector inverse quantizer, and methods therefor
JP4830026B2 (en) * 2008-01-31 2011-12-07 日本電信電話株式会社 Polarized multi-vector quantization method, apparatus, program, and recording medium therefor
JP4616891B2 (en) * 2008-01-31 2011-01-19 日本電信電話株式会社 Multiple vector quantization method, apparatus, program, and recording medium thereof
CN101430881B (en) 2008-11-10 2013-04-17 华为技术有限公司 Encoding, decoding and encoding/decoding method, encoding/decoding system and correlated apparatus

Also Published As

Publication number Publication date
JP2003345392A (en) 2003-12-03

Similar Documents

Publication Publication Date Title
US7392179B2 (en) LPC vector quantization apparatus
US5950155A (en) Apparatus and method for speech encoding based on short-term prediction valves
US8306007B2 (en) Vector quantizer, vector inverse quantizer, and methods therefor
EP1222659A1 (en) Lpc-harmonic vocoder with superframe structure
JP5300733B2 (en) Vector quantization apparatus, vector inverse quantization apparatus, and methods thereof
JPH09127991A (en) Speech coding method and apparatus, speech decoding method and apparatus
WO2002043052A1 (en) Method, device and program for coding and decoding acoustic parameter, and method, device and program for coding and decoding sound
WO1995010760A2 (en) Improved low bit rate vocoders and methods of operation therefor
JPWO2008047795A1 (en) Vector quantization apparatus, vector inverse quantization apparatus, and methods thereof
JPWO2007132750A1 (en) LSP vector quantization apparatus, LSP vector inverse quantization apparatus, and methods thereof
JPH08272395A (en) Voice encoding device
US8493244B2 (en) Vector quantization device, vector inverse-quantization device, and methods of same
JP3793111B2 (en) Vector quantizer for spectral envelope parameters using split scaling factor
JP3297749B2 (en) Encoding method
EP0696793B1 (en) A speech coder
JP3916934B2 (en) Acoustic parameter encoding, decoding method, apparatus and program, acoustic signal encoding, decoding method, apparatus and program, acoustic signal transmitting apparatus, acoustic signal receiving apparatus
JPH0764599A (en) Line spectrum pair parameter vector quantization method, clustering method, speech coding method, and apparatus therefor
US7716045B2 (en) Method for quantifying an ultra low-rate speech coder
JP2002229597A (en) Vector quantization device for LPC parameters
JPH07334198A (en) Speech coding device
JPH10293599A (en) Acoustic signal coding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060406

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100414

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120414

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130414

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130414

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees