(57)【特許請求の範囲】
【請求項１】
可変次元の入力ベクトルに対して符号帳に蓄えられた固定次元のコードベクトルより最適のコードベクトルを選択してそのインデクスを出力するベクトル量子化方法であって、
可変次元の入力ベクトルを上記第１の符号帳の固定次元に変換する可変／固定次元変換工程と、
この可変／固定次元変換工程により変換された固定次元の入力ベクトルと上記第１の符号帳に蓄えられた第１のコードベクトルとの誤差を最小化する複数のコードベクトルを上記第１の符号帳より選択する仮選択工程と、
上記第１の符号帳から選択された固定次元の第１のコードベクトルを入力ベクトルの可変次元に次元変換する固定／可変次元変換工程と、
第２の符号帳から読み出された固定次元の第２のコードベクトルを上記固定／可変次元変換された可変次元の第１のコードベクトルに加算する加算工程と、
この加算されて得られた加算コードベクトルについて上記入力ベクトルとの誤差を最小化する最適のコードベクトルを上記少なくとも第２の符号帳より選択する選択工程と
を有することを特徴とするベクトル量子化方法。
【請求項２】
上記選択工程により、上記第１の符号帳の最適のコードベクトルも選択することを特徴とする請求項１記載のベクトル量子化方法。
【請求項３】
上記第１、第２の符号帳はシェイプ符号帳であり、
上記選択工程では、上記加算されて得られた加算コードベクトルと上記入力ベクトルとに基づいて、上記加算コードベクトルに対する最適ゲインを選択することを特徴とする請求項１記載のベクトル量子化方法。
【請求項４】
上記符号帳は、複数の符号帳を組み合わせて構成され、最適の組み合わせを構成するコードベクトルが各符号帳毎にそれぞれ選択されることを特徴とする請求項１記載のベクトル量子化方法。
【請求項５】
入力音声信号を時間軸上で所定の符号化単位で区分して各符号化単位で符号化を行う音声符号化方法において、
入力音声信号に基づく信号をサイン波分析してハーモニクススペクトルを求める工程と、
上記符号化単位毎の上記ハーモニクススペクトルを可変次元の入力ベクトルとしてベクトル量子化することにより符号化する工程とを有し、
上記ベクトル量子化は、
可変次元の入力ベクトルを第１の符号帳の固定次元に変換する可変／固定次元変換工程と、
この可変／固定次元変換工程により変換された固定次元の入力ベクトルと上記第１の符号帳に蓄えられた第１のコードベクトルとの誤差を最小化する複数のコードベクトルを上記第１の符号帳より選択する仮選択工程と、
上記第１の符号帳から選択された固定次元の第１のコードベクトルを入力ベクトルの可変次元に次元変換する固定／可変次元変換工程と、
第２の符号帳から読み出された固定次元の第２のコードベクトルを上記固定／可変次元変換された可変次元の第１のコードベクトルに加算する加算工程と、
この加算されて得られた加算コードベクトルについて上記入力ベクトルとの誤差を最小化する最適のコードベクトルを上記少なくとも第２の符号帳より選択する選択工程とを有する
ことを特徴とする音声符号化方法。
【請求項６】
入力音声信号を時間軸上で所定の符号化単位で区分して各符号化単位で符号化を行う音声符号化装置において、
入力音声信号の短期予測残差を求める予測符号化手段と、
求められた短期予測残差に対してサイン波分析符号化を施してハーモニクススペクトルを求めるサイン波分析符号化手段とを有し、
上記サイン波分析符号化手段は、上記ハーモニクススペクトルを可変次元の入力ベクトルとしてベクトル量子化するベクトル量子化手段を有し、
上記ベクトル量子化手段は、
可変次元の入力ベクトルを第１の符号帳の固定次元に変換する可変／固定次元変換工程と、
この可変／固定次元変換工程により変換された固定次元の入力ベクトルと上記第１の符号帳に蓄えられた第１のコードベクトルとの誤差を最小化する複数のコードベクトルを上記第１の符号帳より選択する仮選択工程と、
上記第１の符号帳から選択された固定次元の第１のコードベクトルを入力ベクトルの可変次元に次元変換する固定／可変次元変換工程と、
第２の符号帳から読み出された固定次元の第２のコードベクトルを上記固定／可変次元変換された可変次元の第１のコードベクトルに加算する加算工程と、
この加算されて得られた加算コードベクトルについて上記入力ベクトルとの誤差を最小化する最適のコードベクトルを上記少なくとも第２の符号帳より選択する選択工程とを有する
ことを特徴とする音声符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力ベクトルを符号帳に蓄えられたコードベクトルと比較して最適のコードベクトルのインデクスを出力するベクトル量子化方法、入力音声信号をブロックやフレーム等の所定の符号化単位で区分して、区分された符号化単位毎にベクトル量子化を含んだ符号化処理を行うような音声符号化方法及び装置、並びに符号化された音声信号を復号化する音声復号化方法に関する。
【０００２】
【従来の技術】
オーディオ信号やビデオ信号等をディジタル化し、圧縮符号化を施す場合に、入力データの複数個をまとめてベクトルとし１つの符号（インデクス）で表現するようなベクトル量子化が知られている。
【０００３】
このベクトル量子化においては、入力される種々のベクトルの代表的なパターンを予め学習等によって決定して、それぞれに符号（インデクス）を与えて符号帳（コードブック）に蓄えておき、入力ベクトルと符号帳の各パターン（コードベクトル）との比較、すなわちパターンマッチングを行い、最も類似度や相関性の高いパターンの符号を出力する。この類似度や相関性は、入力ベクトルと各コードベクトルとの間の歪尺度や誤差エネルギ等を計算することにより求められ、歪や誤差が小さいほど類似度や相関性が高いことになる。
【０００４】
ところで、オーディオ信号（音声信号や音響信号を含む）の時間領域や周波数領域における統計的性質と人間の聴感上の特性を利用して信号圧縮を行うような符号化方法が種々知られている。この符号化方法としては、大別して時間領域での符号化、周波数領域での符号化、分析合成符号化等が挙げられる。
【０００５】
音声信号等の高能率符号化の例として、ハーモニック（Harmonic）符号化、ＭＢＥ（Multiband Excitation: マルチバンド励起）符号化等のサイン波分析符号化や、ＳＢＣ（Sub-band Coding:帯域分割符号化）、ＬＰＣ（Linear Predictive Coding: 線形予測符号化）、あるいはＤＣＴ（離散コサイン変換）、ＭＤＣＴ（モデファイドＤＣＴ）、ＦＦＴ（高速フーリエ変換）等が知られている。
【０００６】
このような音声信号等の高能率符号化において、例えば得られたハーモニクススペクトル等のパラメータに対して、上述したようなベクトル量子化が採用されている。
【０００７】
【発明が解決しようとする課題】
ところで、音声信号をハーモニック符号化するような場合には、一定の帯域内でのハーモニクススペクトルの本数がピッチに応じて異なり、例えば有効帯域を３４００ｋHzまでとするとき、女声から男声までのピッチ変化に応じて、ハーモニクススペクトルは８〜６３本と変化することになる。従って、このようなハーモニクススペクトル振幅をベクトル化すると可変次元ベクトルとなり、これをそのままベクトル量子化することは困難なので、可変次元ベクトルを一定の固定次元ベクトルに変換した後ベクトル量子化することが、本件出願人によって、例えば特開平６−５１８００号公報において提案されている。
【０００８】
これは、ハーモニクススペクトルの振幅データを一定の個数、例えば４４個のデータにデータ数変換した後、この固定次元ベクトルをベクトル量子化するものである。
【０００９】
このようなデータ数変換、あるいは可変／固定次元変換を行った後の固定次元ベクトルに対してベクトル量子化を行う場合において、符号帳検索（コードブックサーチ）を行って得られたコードベクトルは必ずしも元の可変次元のベクトル（ハーモニクススペクトル）との間の歪あるいは誤差を最適に最小化するものとはならない。
【００１０】
本発明は、このような実情に鑑みてなされたものであり、可変次元で与えられるベクトルをベクトル量子化する際の精度をさらに高め得るようなベクトル量子化方法、音声符号化方法及び装置、並びに音声復号化方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明に係るベクトル量子化方法は、上述した課題を解決するために、可変次元の入力ベクトルに対して符号帳に蓄えられた固定次元のコードベクトルより最適のコードベクトルを選択してそのインデクスを出力するベクトル量子化方法であって、可変次元の入力ベクトルを上記第１の符号帳の固定次元に変換する可変／固定次元変換工程と、この可変／固定次元変換工程により変換された固定次元の入力ベクトルと上記第１の符号帳に蓄えられた第１のコードベクトルとの誤差を最小化する複数のコードベクトルを上記第１の符号帳より選択する仮選択工程と、上記第１の符号帳から選択された固定次元の第１のコードベクトルを入力ベクトルの可変次元に次元変換する固定／可変次元変換工程と、第２の符号帳から読み出された固定次元の第２のコードベクトルを上記固定／可変次元変換された可変次元の第１のコードベクトルに加算する加算工程と、この加算されて得られた加算コードベクトルについて上記入力ベクトルとの誤差を最小化する最適のコードベクトルを上記少なくとも第２の符号帳より選択する選択工程とを有することを特徴とする。
【００１２】
最適のコードベクトルを符号帳から選択する符号帳検索（コードブックサーチ）の際には、元の可変次元の入力ベクトルとの間の誤差あるいは歪が計算されるので、精度が高まると共に、可変次元で最適のコードベクトルを選択するために第１の符号帳から読み出された固定次元のコードベクトルを固定／可変次元変換していることによる影響を、このような固定／可変次元変換を通さない第２の符号帳からの固定次元のコードベクトルと加算することで軽減している。
【００１３】
すなわち、第２の符号帳からの固定次元ベクトルによって第１の符号帳からの固定次元ベクトルを固定／可変次元変換した際に発生した歪分を抑え込むことができる。
【００１４】
ここで、符号帳をシェイプ符号帳とゲイン符号帳とで構成する場合に、少なくともゲイン符号帳からのゲインの最適化を可変次元で行うようにすることが挙げられる。
【００１５】
本発明に係る音声符号化方法は、入力音声信号を時間軸上で所定の符号化単位で区分して各符号化単位で符号化を行う音声符号化方法において、入力音声信号に基づく信号をサイン波分析してハーモニクススペクトルを求める工程と、上記符号化単位毎の上記ハーモニクススペクトルを可変次元の入力ベクトルとしてベクトル量子化することにより符号化する工程とを有し、上記ベクトル量子化は、可変次元の入力ベクトルを第１の符号帳の固定次元に変換する可変／固定次元変換工程と、この可変／固定次元変換工程により変換された固定次元の入力ベクトルと上記第１の符号帳に蓄えられた第１のコードベクトルとの誤差を最小化する複数のコードベクトルを上記第１の符号帳より選択する仮選択工程と、上記第１の符号帳から選択された固定次元の第１のコードベクトルを入力ベクトルの可変次元に次元変換する固定／可変次元変換工程と、第２の符号帳から読み出された固定次元の第２のコードベクトルを上記固定／可変次元変換された可変次元の第１のコードベクトルに加算する加算工程と、この加算されて得られた加算コードベクトルについて上記入力ベクトルとの誤差を最小化する最適のコードベクトルを上記少なくとも第２の符号帳より選択する選択工程とを有することを特徴とする。
【００１６】
また、このような音声符号化方法が適用された音声符号化装置を構成できる。
【００１９】
【発明の実施の形態】
以下、本発明に係る好ましい実施の形態について説明する。
先ず、図１は、本発明に係るベクトル量子化方法の実施の形態が適用された音声符号化装置の基本構成を示している。
【００２０】
ここで、図１の音声信号符号化装置の基本的な考え方は、入力音声信号の短期予測残差例えばＬＰＣ（線形予測符号化）残差を求めてサイン波分析（sinusoidal analysis ）符号化、例えばハーモニックコーディング（harmonic coding ）を行う第１の符号化部１１０と、入力音声信号に対して位相再現性のある波形符号化により符号化する第２の符号化部１２０とを有し、入力信号の有声音（Ｖ：Voiced）の部分の符号化に第１の符号化部１１０を用い、入力信号の無声音（ＵＶ：Unvoiced）の部分の符号化には第２の符号化部１２０を用いるようにすることである。
【００２１】
上記第１の符号化部１１０には、例えばＬＰＣ残差をハーモニック符号化やマルチバンド励起（ＭＢＥ）符号化のようなサイン波分析符号化を行う構成が用いられる。上記第２の符号化部１２０には、例えば合成による分析法を用いて最適ベクトルのクローズドループサーチによるベクトル量子化を用いた符号励起線形予測（ＣＥＬＰ）符号化の構成が用いられる。
【００２２】
図１の例では、入力端子１０１に供給された音声信号が、第１の符号化部１１０のＬＰＣ逆フィルタ１１１及びＬＰＣ分析・量子化部１１３に送られている。ＬＰＣ分析・量子化部１１３から得られたＬＰＣ係数あるいはいわゆるαパラメータは、ＬＰＣ逆フィルタ１１１に送られて、このＬＰＣ逆フィルタ１１１により入力音声信号の線形予測残差（ＬＰＣ残差）が取り出される。また、ＬＰＣ分析・量子化部１１３からは、後述するようにＬＳＰ（線スペクトル対）の量子化出力が取り出され、これが出力端子１０２に送られる。ＬＰＣ逆フィルタ１１１からのＬＰＣ残差は、サイン波分析符号化部１１４に送られる。サイン波分析符号化部１１４では、ピッチ検出やスペクトルエンベロープ振幅計算が行われると共に、Ｖ（有声音）／ＵＶ（無声音）判定部１１５によりＶ／ＵＶの判定が行われる。サイン波分析符号化部１１４からのスペクトルエンベロープ振幅データがベクトル量子化部１１６に送られる。スペクトルエンベロープのベクトル量子化出力としてのベクトル量子化部１１６からのコードブックインデクスは、スイッチ１１７を介して出力端子１０３に送られ、サイン波分析符号化部１１４からの出力は、スイッチ１１８を介して出力端子１０４に送られる。また、Ｖ／ＵＶ判定部１１５からのＶ／ＵＶ判定出力は、出力端子１０５に送られると共に、スイッチ１１７、１１８の制御信号として送られており、上述した有声音（Ｖ）のとき上記インデクス及びピッチが選択されて各出力端子１０３及び１０４からそれぞれ取り出される。
【００２３】
図１の第２の符号化部１２０は、この例ではＣＥＬＰ（符号励起線形予測）符号化構成を有しており、雑音符号帳１２１からの出力を、重み付きの合成フィルタ１２２により合成処理し、得られた重み付き音声を減算器１２３に送り、入力端子１０１に供給された音声信号を聴覚重み付けフィルタ１２５を介して得られた音声との誤差を取り出し、この誤差を距離計算回路１２４に送って距離計算を行い、誤差が最小となるようなベクトルを雑音符号帳１２１でサーチするような、合成による分析（Analysis by Synthesis ）法を用いたクローズドループサーチを用いた時間軸波形のベクトル量子化を行っている。このＣＥＬＰ符号化は、上述したように無声音部分の符号化に用いられており、雑音符号帳１２１からのＵＶデータとしてのコードブックインデクスは、上記Ｖ／ＵＶ判定部１１５からのＶ／ＵＶ判定結果が無声音（ＵＶ）のときオンとなるスイッチ１２７を介して、出力端子１０７より取り出される。
【００２４】
次に、図２は、本発明に係る音声復号化方法の一実施の形態が適用された音声信号復号化装置として、上記図１の音声信号符号化装置に対応する音声信号復号化装置の基本構成を示すブロック図である。
【００２５】
この図２において、入力端子２０２には上記図１の出力端子１０２からの上記ＬＳＰ（線スペクトル対）の量子化出力としてのコードブックインデクスが入力される。入力端子２０３、２０４、及び２０５には、上記図１の各出力端子１０３、１０４、及び１０５からの各出力、すなわちエンベロープ量子化出力としてのインデクス、ピッチ、及びＶ／ＵＶ判定出力がそれぞれ入力される。また、入力端子２０７には、上記図１の出力端子１０７からのＵＶ（無声音）用のデータとしてのインデクスが入力される。
【００２６】
入力端子２０３からのエンベロープ量子化出力としてのインデクスは、逆ベクトル量子化器２１２に送られて逆ベクトル量子化され、ＬＰＣ残差のスペクトルエンベロープが求められて有声音合成部２１１に送られる。有声音合成部２１１は、サイン波合成により有声音部分のＬＰＣ（線形予測符号化）残差を合成するものであり、この有声音合成部２１１には入力端子２０４及び２０５からのピッチ及びＶ／ＵＶ判定出力も供給されている。有声音合成部２１１からの有声音のＬＰＣ残差は、ＬＰＣ合成フィルタ２１４に送られる。また、入力端子２０７からのＵＶデータのインデクスは、無声音合成部２２０に送られて、雑音符号帳を参照することにより無声音部分のＬＰＣ残差が取り出される。このＬＰＣ残差もＬＰＣ合成フィルタ２１４に送られる。ＬＰＣ合成フィルタ２１４では、上記有声音部分のＬＰＣ残差と無声音部分のＬＰＣ残差とがそれぞれ独立に、ＬＰＣ合成処理が施される。あるいは、有声音部分のＬＰＣ残差と無声音部分のＬＰＣ残差とが加算されたものに対してＬＰＣ合成処理を施すようにしてもよい。ここで入力端子２０２からのＬＳＰのインデクスは、ＬＰＣパラメータ再生部２１３に送られて、ＬＰＣのαパラメータが取り出され、これがＬＰＣ合成フィルタ２１４に送られる。ＬＰＣ合成フィルタ２１４によりＬＰＣ合成されて得られた音声信号は、出力端子２０１より取り出される。
【００２７】
次に、上記図１に示した音声信号符号化装置のより具体的な構成について、図３を参照しながら説明する。なお、図３において、上記図１の各部と対応する部分には同じ指示符号を付している。
【００２８】
この図３に示された音声信号符号化装置において、入力端子１０１に供給された音声信号は、ハイパスフィルタ（ＨＰＦ）１０９にて不要な帯域の信号を除去するフィルタ処理が施された後、ＬＰＣ（線形予測符号化）分析・量子化部１１３のＬＰＣ分析回路１３２と、ＬＰＣ逆フィルタ回路１１１とに送られる。
【００２９】
ＬＰＣ分析・量子化部１１３のＬＰＣ分析回路１３２は、入力信号波形の２５６サンプル程度の長さを符号化単位の１ブロックとしてハミング窓をかけて、自己相関法により線形予測係数、いわゆるαパラメータを求める。データ出力の単位となるフレーミングの間隔は、１６０サンプル程度とする。サンプリング周波数ｆｓが例えば８ｋHzのとき、１フレーム間隔は１６０サンプルで２０ｍsec となる。
【００３０】
ＬＰＣ分析回路１３２からのαパラメータは、α→ＬＳＰ変換回路１３３に送られて、線スペクトル対（ＬＳＰ）パラメータに変換される。これは、直接型のフィルタ係数として求まったαパラメータを、例えば１０個、すなわち５対のＬＳＰパラメータに変換する。変換は例えばニュートン−ラプソン法等を用いて行う。このＬＳＰパラメータに変換するのは、αパラメータよりも補間特性に優れているからである。
【００３１】
α→ＬＳＰ変換回路１３３からのＬＳＰパラメータは、ＬＳＰ量子化器１３４によりマトリクスあるいはベクトル量子化される。このとき、フレーム間差分をとってからベクトル量子化してもよく、複数フレーム分をまとめてマトリクス量子化してもよい。ここでは、２０ｍsec を１フレームとし、２０ｍsec 毎に算出されるＬＳＰパラメータを２フレーム分まとめて、マトリクス量子化及びベクトル量子化している。
【００３２】
このＬＳＰ量子化器１３４からの量子化出力、すなわちＬＳＰ量子化のインデクスは、端子１０２を介して取り出され、また量子化済みのＬＳＰベクトルは、ＬＳＰ補間回路１３６に送られる。
【００３３】
ＬＳＰ補間回路１３６は、上記２０ｍsec あるいは４０ｍsec 毎に量子化されたＬＳＰのベクトルを補間し、８倍のレートにする。すなわち、２．５ｍsec 毎にＬＳＰベクトルが更新されるようにする。これは、残差波形をハーモニック符号化復号化方法により分析合成すると、その合成波形のエンベロープは非常になだらかでスムーズな波形になるため、ＬＰＣ係数が２０ｍsec 毎に急激に変化すると異音を発生することがあるからである。すなわち、２．５ｍsec 毎にＬＰＣ係数が徐々に変化してゆくようにすれば、このような異音の発生を防ぐことができる。
【００３４】
このような補間が行われた２．５ｍsec 毎のＬＳＰベクトルを用いて入力音声の逆フィルタリングを実行するために、ＬＳＰ→α変換回路１３７により、ＬＳＰパラメータを例えば１０次程度の直接型フィルタの係数であるαパラメータに変換する。このＬＳＰ→α変換回路１３７からの出力は、上記ＬＰＣ逆フィルタ回路１１１に送られ、このＬＰＣ逆フィルタ１１１では、２．５ｍsec 毎に更新されるαパラメータにより逆フィルタリング処理を行って、滑らかな出力を得るようにしている。このＬＰＣ逆フィルタ１１１からの出力は、サイン波分析符号化部１１４、具体的には例えばハーモニック符号化回路、の直交変換回路１４５、例えばＤＦＴ（離散フーリエ変換）回路に送られる。
【００３５】
ＬＰＣ分析・量子化部１１３のＬＰＣ分析回路１３２からのαパラメータは、聴覚重み付けフィルタ算出回路１３９に送られて聴覚重み付けのためのデータが求められ、この重み付けデータが後述する聴覚重み付きのベクトル量子化器１１６と、第２の符号化部１２０の聴覚重み付けフィルタ１２５及び聴覚重み付きの合成フィルタ１２２とに送られる。
【００３６】
ハーモニック符号化回路等のサイン波分析符号化部１１４では、ＬＰＣ逆フィルタ１１１からの出力を、ハーモニック符号化の方法で分析する。すなわち、ピッチ検出、各ハーモニクスの振幅Ａｍの算出、有声音（Ｖ）／無声音（ＵＶ）の判別を行い、ピッチによって変化するハーモニクスのエンベロープあるいは振幅Ａｍの個数を次元変換して一定数にしている。
【００３７】
図３に示すサイン波分析符号化部１１４の具体例においては、一般のハーモニック符号化を想定しているが、特に、ＭＢＥ（Multiband Excitation: マルチバンド励起）符号化の場合には、同時刻（同じブロックあるいはフレーム内）の周波数軸領域いわゆるバンド毎に有声音（Voiced）部分と無声音（Unvoiced）部分とが存在するという仮定でモデル化することになる。それ以外のハーモニック符号化では、１ブロックあるいはフレーム内の音声が有声音か無声音かの択一的な判定がなされることになる。なお、以下の説明中のフレーム毎のＶ／ＵＶとは、ＭＢＥ符号化に適用した場合には全バンドがＵＶのときを当該フレームのＵＶとしている。ここで上記ＭＢＥの分析合成手法については、本件出願人が先に提案した特願平４−９１４２２号明細書及び図面に詳細な具体例を開示している。
【００３８】
図３のサイン波分析符号化部１１４のオープンループピッチサーチ部１４１には、上記入力端子１０１からの入力音声信号が、またゼロクロスカウンタ１４２には、上記ＨＰＦ（ハイパスフィルタ）１０９からの信号がそれぞれ供給されている。サイン波分析符号化部１１４の直交変換回路１４５には、ＬＰＣ逆フィルタ１１１からのＬＰＣ残差あるいは線形予測残差が供給されている。オープンループピッチサーチ部１４１では、入力信号のＬＰＣ残差をとってオープンループによる比較的ラフなピッチのサーチが行われ、抽出された粗ピッチデータは高精度ピッチサーチ１４６に送られて、後述するようなクローズドループによる高精度のピッチサーチ（ピッチのファインサーチ）が行われる。また、オープンループピッチサーチ部１４１からは、上記粗ピッチデータと共にＬＰＣ残差の自己相関の最大値をパワーで正規化した正規化自己相関最大値ｒ(p) が取り出され、Ｖ／ＵＶ（有声音／無声音）判定部１１５に送られている。
【００３９】
直交変換回路１４５では例えばＤＦＴ（離散フーリエ変換）等の直交変換処理が施されて、時間軸上のＬＰＣ残差が周波数軸上のスペクトル振幅データに変換される。この直交変換回路１４５からの出力は、高精度ピッチサーチ部１４６及びスペクトル振幅あるいはエンベロープを評価するためのスペクトル評価部１４８に送られる。
【００４０】
高精度（ファイン）ピッチサーチ部１４６には、オープンループピッチサーチ部１４１で抽出された比較的ラフな粗ピッチデータと、直交変換部１４５により例えばＤＦＴされた周波数軸上のデータとが供給されている。この高精度ピッチサーチ部１４６では、上記粗ピッチデータ値を中心に、0.２〜0.５きざみで±数サンプルずつ振って、最適な小数点付き（フローティング）のファインピッチデータの値へ追い込む。このときのファインサーチの手法として、いわゆる合成による分析 (Analysis by Synthesis)法を用い、合成されたパワースペクトルが原音のパワースペクトルに最も近くなるようにピッチを選んでいる。このようなクローズドループによる高精度のピッチサーチ部１４６からのピッチデータについては、スイッチ１１８を介して出力端子１０４に送っている。
【００４１】
スペクトル評価部１４８では、ＬＰＣ残差の直交変換出力としてのスペクトル振幅及びピッチに基づいて各ハーモニクスの大きさ及びその集合であるスペクトルエンベロープが評価され、高精度ピッチサーチ部１４６、Ｖ／ＵＶ（有声音／無声音）判定部１１５及び聴覚重み付きのベクトル量子化器１１６に送られる。
【００４２】
Ｖ／ＵＶ（有声音／無声音）判定部１１５は、直交変換回路１４５からの出力と、高精度ピッチサーチ部１４６からの最適ピッチと、スペクトル評価部１４８からのスペクトル振幅データと、オープンループピッチサーチ部１４１からの正規化自己相関最大値ｒ(p) と、ゼロクロスカウンタ１４２からのゼロクロスカウント値とに基づいて、当該フレームのＶ／ＵＶ判定が行われる。さらに、ＭＢＥの場合の各バンド毎のＶ／ＵＶ判定結果の境界位置も当該フレームのＶ／ＵＶ判定の一条件としてもよい。このＶ／ＵＶ判定部１１５からの判定出力は、出力端子１０５を介して取り出される。
【００４３】
ところで、スペクトル評価部１４８の出力部あるいはベクトル量子化器１１６の入力部には、データ数変換（一種のサンプリングレート変換）部が設けられている。このデータ数変換部は、上記ピッチに応じて周波数軸上での分割帯域数が異なり、データ数が異なることを考慮して、エンベロープの振幅データ｜Ａm｜ を一定の個数にするためのものである。すなわち、例えば有効帯域を３４００ｋHzまでとすると、この有効帯域が上記ピッチに応じて、８バンド〜６３バンドに分割されることになり、これらの各バンド毎に得られる上記振幅データ｜Ａm｜ の個数ｍMX＋１も８〜６３と変化することになる。このためデータ数変換部１１９では、この可変個数ｍMX＋１の振幅データを一定個数Ｍ個、例えば４４個、のデータに変換している。
【００４４】
このスペクトル評価部１４８の出力部あるいはベクトル量子化器１１６の入力部に設けられたデータ数変換部からの上記一定個数Ｍ個（例えば４４個）の振幅データあるいはエンベロープデータが、ベクトル量子化器１１６により、所定個数、例えば４４個のデータ毎にまとめられてベクトルとされ、重み付きベクトル量子化が施される。この重みは、聴覚重み付けフィルタ算出回路１３９からの出力により与えられる。ベクトル量子化器１１６からの上記エンベロープのインデクスは、スイッチ１１７を介して出力端子１０３より取り出される。なお、上記重み付きベクトル量子化に先だって、所定個数のデータから成るベクトルについて適当なリーク係数を用いたフレーム間差分をとっておくようにしてもよい。
【００４５】
次に、第２の符号化部１２０について説明する。第２の符号化部１２０は、いわゆるＣＥＬＰ（符号励起線形予測）符号化構成を有しており、特に、入力音声信号の無声音部分の符号化のために用いられている。この無声音部分用のＣＥＬＰ符号化構成において、雑音符号帳、いわゆるストキャスティック・コードブック（stochastic code book）１２１からの代表値出力である無声音のＬＰＣ残差に相当するノイズ出力を、ゲイン回路１２６を介して、聴覚重み付きの合成フィルタ１２２に送っている。重み付きの合成フィルタ１２２では、入力されたノイズをＬＰＣ合成処理し、得られた重み付き無声音の信号を減算器１２３に送っている。減算器１２３には、上記入力端子１０１からＨＰＦ（ハイパスフィルタ）１０９を介して供給された音声信号を聴覚重み付けフィルタ１２５で聴覚重み付けした信号が入力されており、合成フィルタ１２２からの信号との差分あるいは誤差を取り出している。なお、聴覚重み付けフィルタ１２５の出力から聴覚重み付き合成フィルタの零入力応答を事前に差し引いておくものとする。この誤差を距離計算回路１２４に送って距離計算を行い、誤差が最小となるような代表値ベクトルを雑音符号帳１２１でサーチする。このような合成による分析（Analysis by Synthesis ）法を用いたクローズドループサーチを用いた時間軸波形のベクトル量子化を行っている。
【００４６】
このＣＥＬＰ符号化構成を用いた第２の符号化部１２０からのＵＶ（無声音）部分用のデータとしては、雑音符号帳１２１からのコードブックのシェイプインデクスと、ゲイン回路１２６からのコードブックのゲインインデクスとが取り出される。雑音符号帳１２１からのＵＶデータであるシェイプインデクスは、スイッチ１２７ｓを介して出力端子１０７ｓに送られ、ゲイン回路１２６のＵＶデータであるゲインインデクスは、スイッチ１２７ｇを介して出力端子１０７ｇに送られている。
【００４７】
ここで、これらのスイッチ１２７ｓ、１２７ｇ及び上記スイッチ１１７、１１８は、上記Ｖ／ＵＶ判定部１１５からのＶ／ＵＶ判定結果によりオン／オフ制御され、スイッチ１１７、１１８は、現在伝送しようとするフレームの音声信号のＶ／ＵＶ判定結果が有声音（Ｖ）のときオンとなり、スイッチ１２７ｓ、１２７ｇは、現在伝送しようとするフレームの音声信号が無声音（ＵＶ）のときオンとなる。
【００４８】
次に、図４は、上記図２に示した本発明に係る実施の形態としての音声信号復号化装置のより具体的な構成を示している。この図４において、上記図２の各部と対応する部分には、同じ指示符号を付している。
【００４９】
この図４において、入力端子２０２には、上記図１、３の出力端子１０２からの出力に相当するＬＳＰのベクトル量子化出力、いわゆるコードブックのインデクスが供給されている。
【００５０】
このＬＳＰのインデクスは、ＬＰＣパラメータ再生部２１３のＬＳＰの逆ベクトル量子化器２３１に送られてＬＳＰ（線スペクトル対）データに逆ベクトル量子化され、ＬＳＰ補間回路２３２、２３３に送られてＬＳＰの補間処理が施された後、ＬＳＰ→α変換回路２３４、２３５でＬＰＣ（線形予測符号）のαパラメータに変換され、このαパラメータがＬＰＣ合成フィルタ２１４に送られる。ここで、ＬＳＰ補間回路２３２及びＬＳＰ→α変換回路２３４は有声音（Ｖ）用であり、ＬＳＰ補間回路２３３及びＬＳＰ→α変換回路２３５は無声音（ＵＶ）用である。またＬＰＣ合成フィルタ２１４は、有声音部分のＬＰＣ合成フィルタ２３６と、無声音部分のＬＰＣ合成フィルタ２３７とを分離している。すなわち、有声音部分と無声音部分とでＬＰＣの係数補間を独立に行うようにして、有声音から無声音への遷移部や、無声音から有声音への遷移部で、全く性質の異なるＬＳＰ同士を補間することによる悪影響を防止している。
【００５１】
また、図４の入力端子２０３には、上記図１、図３のエンコーダ側の端子１０３からの出力に対応するスペクトルエンベロープ（Ａｍ）の重み付けベクトル量子化されたコードインデクスデータが供給され、入力端子２０４には、上記図１、図３の端子１０４からのピッチのデータが供給され、入力端子２０５には、上記図１、図３の端子１０５からのＶ／ＵＶ判定データが供給されている。
【００５２】
入力端子２０３からのスペクトルエンベロープＡｍのベクトル量子化されたインデクスデータは、逆ベクトル量子化器２１２に送られて逆ベクトル量子化が施され、上記データ数変換に対応する逆変換が施されて、スペクトルエンベロープのデータとなって、有声音合成部２１１のサイン波合成回路２１５に送られている。
【００５３】
なお、エンコード時にスペクトルのベクトル量子化に先だってフレーム間差分をとっている場合には、ここでの逆ベクトル量子化後にフレーム間差分の復号を行ってからデータ数変換を行い、スペクトルエンベロープのデータを得る。
【００５４】
サイン波合成回路２１５には、入力端子２０４からのピッチ及び入力端子２０５からの上記Ｖ／ＵＶ判定データが供給されている。サイン波合成回路２１５からは、上述した図１、図３のＬＰＣ逆フィルタ１１１からの出力に相当するＬＰＣ残差データが取り出され、これが加算器２１８に送られている。このサイン波合成の具体的な手法については、例えば本件出願人が先に提案した、特願平４−９１４２２号の明細書及び図面、あるいは特願平６−１９８４５１号の明細書及び図面に開示されている。
【００５５】
また、逆ベクトル量子化器２１２からのエンベロープのデータと、入力端子２０４、２０５からのピッチ、Ｖ／ＵＶ判定データとは、有声音（Ｖ）部分のノイズ加算のためのノイズ合成回路２１６に送られている。このノイズ合成回路２１６からの出力は、重み付き重畳加算回路２１７を介して加算器２１８に送っている。これは、サイン波合成によって有声音のＬＰＣ合成フィルタへの入力となるエクサイテイション（Excitation：励起、励振）を作ると、男声等の低いピッチの音で鼻づまり感がある点、及びＶ（有声音）とＵＶ（無声音）とで音質が急激に変化し不自然に感じる場合がある点を考慮し、有声音部分のＬＰＣ合成フィルタ入力すなわちエクサイテイションについて、音声符号化データに基づくパラメータ、例えばピッチ、スペクトルエンベロープ振幅、フレーム内の最大振幅、残差信号のレベル等を考慮したノイズをＬＰＣ残差信号の有声音部分に加えているものである。
【００５６】
加算器２１８からの加算出力は、ＬＰＣ合成フィルタ２１４の有声音用の合成フィルタ２３６に送られてＬＰＣの合成処理が施されることにより時間波形データとなり、さらに有声音用ポストフィルタ２３８ｖでフィルタ処理された後、加算器２３９に送られる。
【００５７】
次に、図４の入力端子２０７ｓ及び２０７ｇには、上記図３の出力端子１０７ｓ及び１０７ｇからのＵＶデータとしてのシェイプインデクス及びゲインインデクスがそれぞれ供給され、無声音合成部２２０に送られている。端子２０７ｓからのシェイプインデクスは、無声音合成部２２０の雑音符号帳２２１に、端子２０７ｇからのゲインインデクスはゲイン回路２２２にそれぞれ送られている。雑音符号帳２２１から読み出された代表値出力は、無声音のＬＰＣ残差に相当するノイズ信号成分であり、これがゲイン回路２２２で所定のゲインの振幅となり、窓かけ回路２２３に送られて、上記有声音部分とのつなぎを円滑化するための窓かけ処理が施される。
【００５８】
窓かけ回路２２３からの出力は、無声音合成部２２０からの出力として、ＬＰＣ合成フィルタ２１４のＵＶ（無声音）用の合成フィルタ２３７に送られる。合成フィルタ２３７では、ＬＰＣ合成処理が施されることにより無声音部分の時間波形データとなり、この無声音部分の時間波形データは無声音用ポストフィルタ２３８ｕでフィルタ処理された後、加算器２３９に送られる。
【００５９】
加算器２３９では、有声音用ポストフィルタ２３８ｖからの有声音部分の時間波形信号と、無声音用ポストフィルタ２３８ｕからの無声音部分の時間波形データとが加算され、出力端子２０１より取り出される。
【００６０】
ところで、上記音声信号符号化装置では、要求される品質に合わせ異なるビットレートの出力データを出力することができ、出力データのビットレートが可変されて出力される。
【００６１】
具体的には、出力データのビットレートを、低ビットレートと高ビットレートとに切り換えることができる。例えば、低ビットレートを２ｋbpsとし、高ビットレートを６ｋbpsとする場合には、以下の表１に示す各ビットレートのデータが出力される。
【００６２】
【表１】
0003675054.tif 000002
【００６３】
出力端子１０４からのピッチデータについては、有声音時に、常に８bits／２０ｍsecで出力され、出力端子１０５から出力されるＶ／ＵＶ判定出力は、常に１bit／２０ｍsecである。出力端子１０２から出力されるＬＳＰ量子化のインデクスは、３２bits／４０ｍsecと４８bits／４０ｍsecとの間で切り換えが行われる。また、出力端子１０３から出力される有声音時（Ｖ）のインデクスは、１５bits／２０ｍsecと８７bits／２０ｍsecとの間で切り換えが行われ、出力端子１０７ｓ、１０７ｇから出力される無声音時（ＵＶ）のインデクスは、１１bits／１０ｍsecと２３bits／５ｍsecとの間で切り換えが行われる。これにより、有声音時（Ｖ）の出力データは、２ｋbpsでは４０bits／２０ｍsecとなり、６ｋbpsでは１２０bits／２０ｍsecとなる。また、無声音時（ＵＶ）の出力データは、２ｋbpsでは３９bits／２０ｍsecとなり、６ｋbpsでは１１７bits／２０ｍsecとなる。
【００６４】
尚、上記ＬＳＰ量子化のインデクス、有声音時（Ｖ）のインデクス、及び無声音時（ＵＶ）のインデクスについては、後述する各部の構成と共に説明する。
【００６５】
次に、図５及び図６を用いて、ＬＳＰ量子化器１３４におけるマトリクス量子化及びベクトル量子化について詳細に説明する。
【００６６】
上述のように、ＬＰＣ分析回路１３２からのαパラメータは、α→ＬＳＰ変換回路１３３に送られて、ＬＳＰパラメータに変換される。例えば、ＬＰＣ分析回路１３２でＰ次のＬＰＣ分析を行う場合には、αパラメータはＰ個算出される。このＰ個のαパラメータは、ＬＳＰパラメータに変換され、バッファ６１０に保持される。
【００６７】
このバッファ６１０からは、２フレーム分のＬＳＰパラメータが出力される。２フレーム分のＬＳＰパラメータはマトリクス量子化部６２０でマトリクス量子化される。マトリクス量子化部６２０は、第１のマトリクス量子化部６２０1 と第２のマトリクス量子化部６２０2 とから成る。２フレーム分のＬＳＰパラメータは、第１のマトリクス量子化部６２０1 でマトリクス量子化され、これにより得られる量子化誤差が、第２のマトリクス量子化部６２０2 でさらにマトリクス量子化される。これらのマトリクス量子化により、時間軸方向及び周波数軸方向の相関を取り除く。
【００６８】
マトリクス量子化部６２０2 からの２フレーム分の量子化誤差は、ベクトル量子化部６４０に入力される。ベクトル量子化部６４０は、第１のベクトル量子化部６４０1 と第２のベクトル量子化部６４０2 とから成る。さらに、第１のベクトル量子化部６４０1 は、２つのベクトル量子化部６５０、６６０から成り、第２のベクトル量子化部６４０2 は、２つのベクトル量子化部６７０、６８０から成る。第１のベクトル量子化部６４０1 のベクトル量子化部６５０、６６０で、マトリクス量子化部６２０からの量子化誤差が、それぞれ１フレーム毎にベクトル量子化される。これにより得られる量子化誤差ベクトルは、第２のベクトル量子化部６４０2 のベクトル量子化部６７０、６８０で、さらにベクトル量子化される。これらのベクトル量子化により、周波数軸方向の相関を処理する。
【００６９】
このように、マトリクス量子化を施す工程を行うマトリクス量子化部６２０は、第１のマトリクス量子化工程を行う第１のマトリクス量子化部６２０1 と、この第１のマトリクス量子化による量子化誤差をマトリクス量子化する第２のマトリクス量子化工程を行う第２のマトリクス量子化部６２０2 とを少なくとも有し、上記ベクトル量子化を施す工程を行うベクトル量子化部６４０は、第１のベクトル量子化工程を行う第１のベクトル量子化部６４０1 と、この第１のベクトル量子化の際の量子化誤差ベクトルをベクトル量子化する第２のベクトル量子化工程を行う第２のベクトル量子化部６４０2 とを少なくとも有する。
【００７０】
次に、マトリクス量子化及びベクトル量子化について具体的に説明する。
【００７１】
バッファ６１０に保持された、２フレーム分のＬＳＰパラメータ、すなわち１０×２の行列は、マトリクス量子化器６２０1 に送られる。上記第１のマトリクス量子化部６２０1 では、２フレーム分のＬＳＰパラメータが加算器６２１を介して重み付き距離計算器６２３に送られ、最小となる重み付き距離が算出される。
【００７２】
この第１のマトリクス量子化部６２０1 によるコードブックサーチ時の歪尺度ｄMQ1は、ＬＳＰパラメータＸ1 、量子化値Ｘ1'を用い、（１）式で示す。
【００７３】
【数１】
0003675054.tif 000003
【００７４】
ここで、ｔはフレーム番号、ｉはＰ次元の番号を示す。
【００７５】
また、このときの、周波数軸方向及び時間軸方向に重みの制限を考慮しない場合の重みｗを（２）式で示す。
【００７６】
【数２】
0003675054.tif 000004
【００７７】
この（２）式の重みｗは、後段のマトリクス量子化及びベクトル量子化でも用いられる。
【００７８】
算出された重み付き距離はマトリクス量子化器（ＭＱ1） ６２２に送られて、マトリクス量子化が行われる。このマトリクス量子化により出力される８ビットのインデクスは信号切換器６９０に送られる。また、マトリクス量子化による量子化値は、加算器６２１で、バッファ６１０からの２フレーム分のＬＳＰパラメータから減算される。重み付き距離計算器６２３では、加算器６２１からの出力を用いて、重み付き距離が算出される。このように、２フレーム毎に、順次、重み付き距離計算器６２３では重み付き距離が算出されて、マトリクス量子化器６２２でマトリクス量子化が行われる。重み付き距離が最小となる量子化値が選ばれる。また、加算器６２１からの出力は、第２のマトリクス量子化部６２０2 の加算器６３１に送られる。
【００７９】
第２のマトリクス量子化部６２０2 でも第１のマトリクス量子化部６２０1 と同様にして、マトリクス量子化を行う。上記加算器６２１からの出力は、加算器６３１を介して重み付き距離計算器６３３に送られ、最小となる重み付き距離が算出される。
【００８０】
この第２のマトリクス量子化部６２０2 によるコードブックサーチ時の歪尺度ｄMQ2 を、第１のマトリクス量子化部６２０1 からの量子化誤差Ｘ2 、量子化値Ｘ2'により、（３）式で示す。
【００８１】
【数３】
0003675054.tif 000005
【００８２】
この重み付き距離はマトリクス量子化器（ＭＱ2） ６３２に送られて、マトリクス量子化が行われる。このマトリクス量子化により出力される８ビットのインデクスは信号切換器６９０に送られる。また、マトリクス量子化による量子化値は、加算器６３１で、２フレーム分の量子化誤差から減算される。重み付き距離計算器６３３では、加算器６３１からの出力を用いて、重み付き距離が順次算出されて、重み付き距離が最小となる量子化値が選ばれる。また、加算器６３１からの出力は、第１のベクトル量子化部６４０1 の加算器６５１、６６１に１フレームずつ送られる。
【００８３】
この第１のベクトル量子化部６４０1 では、１フレーム毎にベクトル量子化が行われる。加算器６３１からの出力は、１フレーム毎に、加算器６５１、６６１を介して重み付き距離計算器６５３、６６３にそれぞれ送られ、最小となる重み付き距離が算出される。
【００８４】
量子化誤差Ｘ2と量子化値Ｘ2'との差分は、１０×２の行列であり、
Ｘ2−Ｘ2’＝［ｘ3-1，ｘ3-2］
と表すときの、この第１のベクトル量子化部６４０1 のベクトル量子化器６５２、６６２によるコードブックサーチ時の歪尺度ｄVQ1、ｄVQ2を、（４）、（５）式で示す。
【００８５】
【数４】
0003675054.tif 000006
【００８６】
この重み付き距離はベクトル量子化器（ＶＱ1） ６５２、ベクトル量子化器（ＶＱ2） ６６２にそれぞれ送られて、ベクトル量子化が行われる。このベクトル量子化により出力される各８ビットのインデクスは信号切換器６９０に送られる。また、ベクトル量子化による量子化値は、加算器６５１、６６１で、入力された２フレーム分の量子化誤差ベクトルから減算される。重み付き距離計算器６５３、６６３では、加算器６５１、６６１からの出力を用いて、重み付き距離が順次算出されて、重み付き距離が最小となる量子化値が選ばれる。また、加算器６５１、６６１からの出力は、第２のベクトル量子化部６４０2 の加算器６７１、６８１にそれぞれ送られる。
【００８７】
ここで、
ｘ4-1＝ｘ3-1−ｘ’3-1
ｘ4-2＝ｘ3-2−ｘ’3-2
と表すときの、この第２のベクトル量子化部６４０2 のベクトル量子化器６７２、６８２によるコードブックサーチ時の歪尺度ｄVQ3、ｄVQ4を、（６）、（７）式で示す。
【００８８】
【数５】
0003675054.tif 000007
【００８９】
この重み付き距離はベクトル量子化器（ＶＱ3） ６７２、ベクトル量子化器（ＶＱ4） ６８２にそれぞれ送られて、ベクトル量子化が行われる。このベクトル量子化により出力される各８ビットのインデクスは信号切換器６９０に送られる。また、ベクトル量子化による量子化値は、加算器６７１、６８１で、入力された２フレーム分の量子化誤差ベクトルから減算される。重み付き距離計算器６７３、６８３では、加算器６７１、６８１からの出力を用いて、重み付き距離が順次算出されて、重み付き距離が最小となる量子化値が選ばれる。
【００９０】
また、コードブックの学習時には、上記各歪尺度をもとにして、一般化ロイドアルゴリズム（ＧＬＡ）により学習を行う。
【００９１】
尚、コードブックサーチ時と学習時の歪尺度は、異なる値であっても良い。
【００９２】
上記マトリクス量子化器６２２、６３２、ベクトル量子化器６５２、６６２、６７２、６８２からの各８ビットのインデクスは、信号切換器６９０で切り換えられて、出力端子６９１から出力される。
【００９３】
具体的には、低ビットレート時には、上記第１のマトリクス量子化工程を行う第１のマトリクス量子化部６２０1 、上記第２のマトリクス量子化工程を行う第２のマトリクス量子化部６２０2 、及び上記第１のベクトル量子化工程を行う第１のベクトル量子化部６４０1 での出力を取り出し、高ビットレート時には、上記低ビットレート時の出力に上記第２のベクトル量子化工程を行う第２のベクトル量子化部６４０2 での出力を合わせて取り出す。
【００９４】
これにより、２ｋbps 時には、３２bits／４０ｍsec のインデクスが出力され、６ｋbps 時には、４８bits／４０ｍsec のインデクスが出力される。
【００９５】
また、上記マトリクス量子化部６２０及び上記ベクトル量子化部６４０では、上記ＬＰＣ係数を表現するパラメータの持つ特性に合わせた、周波数軸方向又は時間軸方向、あるいは周波数軸及び時間軸方向に制限を持つ重み付けを行う。
【００９６】
先ず、ＬＳＰパラメータの持つ特性に合わせた、周波数軸方向に制限を持つ重み付けについて説明する。例えば、次数Ｐ＝１０とするとき、ＬＳＰパラメータｘ（ｉ）を、低域、中域、高域の３つの領域として、
Ｌ1＝｛ｘ（ｉ）｜１≦ｉ≦２｝
Ｌ2＝｛ｘ（ｉ）｜３≦ｉ≦６｝
Ｌ3＝｛ｘ（ｉ）｜７≦ｉ≦１０｝
とグループ化する。そして、各グループＬ1、Ｌ2、Ｌ3 の重み付けを１／４、１／２、１／４とすると、各グループＬ1、Ｌ2、Ｌ3 の周波数軸方向のみに制限を持つ重みは、（８）、（９）、（１０）式となる。
【００９７】
【数６】
0003675054.tif 000008
【００９８】
これにより、各ＬＳＰパラメータの重み付けは、各グループ内でのみ行われ、その重みは各グループに対する重み付けで制限される。
【００９９】
ここで、時間軸方向からみると、各フレームの重み付けの総和は、必ず１となるので、時間軸方向の制限は１フレーム単位である。この時間軸方向のみに制限を持つ重みは、（１１）式となる。
【０１００】
【数７】
0003675054.tif 000009
【０１０１】
この（１１）式により、周波数軸方向での制限のない、フレーム番号ｔ＝０，１の２つのフレーム間で、重み付けが行われる。この時間軸方向にのみ制限を持つ重み付けは、マトリクス量子化を行う２フレーム間で行う。
【０１０２】
また、学習時には、学習データとして用いる全ての音声フレーム、即ち全データのフレーム数Ｔについて、（１２）式により、重み付けを行う。
【０１０３】
【数８】
0003675054.tif 000010
【０１０４】
また、周波数軸方向及び時間軸方向に制限を持つ重み付けについて説明する。例えば、次数Ｐ＝１０とするとき、ＬＳＰパラメータｘ（ｉ，ｔ）を、低域、中域、高域の３つの領域として、
Ｌ1＝｛ｘ（ｉ，ｔ）｜１≦ｉ≦２，０≦ｔ≦１｝
Ｌ2＝｛ｘ（ｉ，ｔ）｜３≦ｉ≦６，０≦ｔ≦１｝
Ｌ3＝｛ｘ（ｉ，ｔ）｜７≦ｉ≦１０，０≦ｔ≦１｝
とグループ化する。各グループＬ1、Ｌ2、Ｌ3 の重み付けを１／４、１／２、１／４とすると、各グループＬ1、Ｌ2、Ｌ3 の周波数軸方向及び時間軸方向に制限を持つ重み付けは、（１３）、（１４）、（１５）式となる。
【０１０５】
【数９】
0003675054.tif 000011
【０１０６】
この（１３）、（１４）、（１５）式により、周波数軸方向では３つの帯域毎に、時間軸方向ではマトリクス量子化を行う２フレーム間に重み付けの制限を加えた重み付けを行う。これは、コードブックサーチ時及び学習時共に有効となる。
【０１０７】
また、学習時においては、全データのフレーム数について重み付けを行う。ＬＳＰパラメータｘ（ｉ，ｔ）を、低域、中域、高域の３つの領域として、
Ｌ1 ＝｛ｘ（ｉ，ｔ）｜１≦ｉ≦２，０≦ｔ≦Ｔ｝
Ｌ2 ＝｛ｘ（ｉ，ｔ）｜３≦ｉ≦６，０≦ｔ≦Ｔ｝
Ｌ3 ＝｛ｘ（ｉ，ｔ）｜７≦ｉ≦１０，０≦ｔ≦Ｔ｝
とグループ化し、各グループＬ1、Ｌ2、Ｌ3 の重み付けを１／４、１／２、１／４とすると、各グループＬ1、Ｌ2、Ｌ3 の周波数軸方向及び時間軸方向に制限を持つ重み付けは、（１６）、（１７）、（１８）式となる。
【０１０８】
【数１０】
0003675054.tif 000012
【０１０９】
この（１６）、（１７）、（１８）式により、周波数軸方向では３つの帯域毎に重み付けを行い、時間軸方向では全フレーム間で重み付けを行うことができる。
【０１１０】
さらに、上記マトリクス量子化部６２０及び上記ベクトル量子化部６４０では、上記ＬＳＰパラメータの変化の大きさに応じて重み付けを行う。音声フレーム全体においては少数フレームとなる、Ｖ→ＵＶ、ＵＶ→Ｖの遷移（トランジェント）部において、子音と母音との周波数特性の違いから、ＬＳＰパラメータは大きく変化する。そこで、（１９）式に示す重みを、上述の重みｗ’（ｉ，ｔ）に乗算することにより、上記遷移部を重視する重み付けを行うことができる。
【０１１１】
【数１１】
0003675054.tif 000013
【０１１２】
尚、（１９）式の代わりに、（２０）式を用いることも考えられる。
【０１１３】
【数１２】
0003675054.tif 000014
【０１１４】
このように、ＬＳＰ量子化器１３４では、２段のマトリクス量子化及び２段のベクトル量子化を行うことにより、出力するインデクスのビット数を可変にすることができる。
【０１１５】
次に、上記図１、図３のベクトル量子化部１１６の基本構成を図７に、図７のベクトル量子化部のより具体的な構成を図８にそれぞれ示し、ベクトル量子化部１１６におけるスペクトルエンベロープ（Ａｍ）の重み付きベクトル量子化の具体例について説明する。
【０１１６】
先ず、図３の音声信号符号化装置において、スペクトル評価部１４８の出力側あるいはベクトル量子化器１１６の入力側に設けられたスペクトルエンベロープの振幅のデータ数を一定個数にするデータ数変換の具体例について説明する。
【０１１７】
このデータ数変換には種々の方法が考えられるが、本実施の形態においては、例えば、周波数軸上の有効帯域１ブロック分の振幅データに対して、ブロック内の最後のデータからブロック内の最初のデータまでの値を補間するようなダミーデータ、あるいはブロックの最後のデータ、最初のデータを繰り返すような所定のデータを付加してデータ個数をＮF 個に拡大した後、帯域制限型のＯS 倍（例えば８倍）のオーバーサンプリングを施すことによりＯS 倍の個数の振幅データを求め、このＯS 倍の個数（（ｍMX＋１）×ＯS 個）の振幅データを直線補間してさらに多くのＮM 個（例えば２０４８個）に拡張し、このＮM 個のデータを間引いて上記一定個数Ｍ（例えば４４個）のデータに変換している。実際には、最終的に必要なＭ個のデータを作成するのに必要なデータのみをオーバーサンプリング及び直線補間で算出しており、ＮM 個のデータを全て求めてはいない。
【０１１８】
図３の重み付きベクトル量子化を行うベクトル量子化器１１６は、図７に示すように、第１のベクトル量子化工程を行う第１のベクトル量子化部５００と、この第１のベクトル量子化部５００における第１のベクトル量子化の際の量子化誤差ベクトルを量子化する第２のベクトル量子化工程を行う第２のベクトル量子化部５１０とを少なくとも有する。この第１のベクトル量子化部５００は、いわゆる１段目のベクトル量子化部であり、第２のベクトル量子化部５１０は、いわゆる２段目のベクトル量子化部である。
【０１１９】
第１のベクトル量子化部５００の入力端子５０１には、スペクトル評価部１４８の出力ベクトルｘ、即ち一定個数Ｍのエンベロープデータが入力される。この出力ベクトルｘは、ベクトル量子化器５０２で重み付きベクトル量子化される。これにより、ベクトル量子化器５０２から出力されるシェイプインデクスは出力端子５０３から出力され、また、量子化値ｘ0'は出力端子５０４から出力されると共に、加算器５０５、５１３に送られる。加算器５０５では、ソースベクトルｘから量子化値ｘ0'が減算されて、量子化誤差ベクトルｙが得られる。
【０１２０】
この量子化誤差ベクトルｙは、第２のベクトル量子化部５１０内のベクトル量子化部５１１に送られる。このベクトル量子化部５１１は、複数個のベクトル量子化器で構成され、図７では、２個のベクトル量子化器５１１1、５１１2から成る。量子化誤差ベクトルｙは次元分割されて、２個のベクトル量子化器５１１1、５１１2で、それぞれ重み付きベクトル量子化される。これらのベクトル量子化器５１１1、５１１2から出力されるシェイプインデクスは、出力端子５１２1、５１２2からそれぞれ出力され、また、量子化値ｙ1’、ｙ2’は次元方向に接続されて、加算器５１３に送られる。この加算器５１３では、量子化値ｙ1’、ｙ2’と量子化値ｘ0’とが加算されて、量子化値ｘ1’が生成される。この量子化値ｘ1’は出力端子５１４から出力される。
【０１２１】
これにより、低ビットレート時には、上記第１のベクトル量子化部５００による第１のベクトル量子化工程での出力を取り出し、高ビットレート時には、上記第１のベクトル量子化工程での出力及び上記第２の量子化部５１０による第２のベクトル量子化工程での出力を取り出す。
【０１２２】
具体的には、図８に示すように、ベクトル量子化器１１６内の第１のベクトル量子化部５００のベクトル量子化器５０２は、Ｌ次元、例えば４４次元の２ステージ構成としている。
【０１２３】
すなわち、４４次元でコードブックサイズが３２のベクトル量子化コードブックからの出力ベクトルの和に、ゲインｇi を乗じたものを、４４次元のスペクトルエンベロープベクトルｘの量子化値ｘ0’として使用する。これは、図８に示すように、２つのシェイプコードブックをＣＢ０、ＣＢ１とし、その出力ベクトルをｓ0i、ｓ1j、ただし０≦ｉ，ｊ≦３１、とする。また、ゲインコードブックＣＢｇの出力をｇl 、ただし０≦ｌ≦３１、とする。ｇl はスカラ値である。この最終出力ｘ0'は、ｇi（ｓ0i＋ｓ1j） となる。
【０１２４】
ＬＰＣ残差について上記ＭＢＥ分析によって得られたスペクトルエンベロープＡｍを一定次元に変換したものをｘとする。このとき、ｘをいかに効率的に量子化するかが重要である。
【０１２５】
ここで、量子化誤差エネルギＥを、
0003675054.tif 000015
と定義する。この（２１）式において、ＨはＬＰＣの合成フィルタの周波数軸上での特性であり、Ｗは聴覚重み付けの周波数軸上での特性を表す重み付けのための行列である。
【０１２６】
行列Ｈは、現フレームのＬＰＣ分析結果によるαパラメータを、αi （１≦ｉ≦Ｐ）として、
【０１２７】
【数１３】
0003675054.tif 000016
【０１２８】
の周波数特性からＬ次元、例えば４４次元の各対応する点の値をサンプルしたものである。
【０１２９】
算出手順としては、一例として、１、α1、α2、・・・、αp に０詰めして、すなわち、１、α1、α2、・・・、αp 、０、０、・・・、０として、例えば２５６点のデータにする。その後、２５６点ＦＦＴを行い、（re2＋im2）1/2 を０〜πに対応する点に対して算出して、その逆数をとる。それをＬ点、すなわち例えば４４点に間引いたものを対角要素とする行列を、
【０１３０】
【数１４】
0003675054.tif 000017
【０１３１】
とする。
【０１３２】
聴覚重み付け行列Ｗは、以下のように求められる。
【０１３３】
【数１５】
0003675054.tif 000018
【０１３４】
この（２３）式で、αi は入力のＬＰＣ分析結果である。また、λa、λbは定数であり、一例として、λa＝０．４、λb＝０．９が挙げられる。
【０１３５】
行列あるいはマトリクスＷは、上記（２３）式の周波数特性から算出できる
。一例として、１、α1λb、α2λb2、・・・、αpλbp、０、０、・・・、０として２５６点のデータとしてＦＦＴを行い、０以上π以下の区間に対して（re2[ｉ]＋im2[ｉ]）1/2 、０≦ｉ≦１２８、を求める。次に、１、α1λa、α2λa2 、・・・、αpλap 、０、０、・・・、０として分母の周波数特性を２５６点ＦＦＴで０〜πの区間を１２８点で算出する。これを（re'2[ｉ]＋im'2[ｉ]）1/2 、０≦ｉ≦１２８、とする。
【０１３６】
【数１６】
0003675054.tif 000019
【０１３７】
として、上記（２３）式の周波数特性が求められる。
【０１３８】
これをＬ次元、例えば４４次元ベクトルの対応する点について、以下の方法で求める。より正確には、直線補間を用いるべきであるが、以下の例では最も近い点の値で代用している。
【０１３９】
すなわち、
ω[ｉ]＝ω0［nint(128ｉ/L)］      １≦ｉ≦Ｌ
ただし、nint（Ｘ）は、Ｘに最も近い整数を返す関数
である。
【０１４０】
また、上記Ｈに関しても同様の方法で、h(1)、h(2)、・・・、h(L)を求めている。すなわち、
【０１４１】
【数１７】
0003675054.tif 000020
【０１４２】
となる。
【０１４３】
ここで、他の例として、ＦＦＴの回数を減らすのに、Ｈ(ｚ)Ｗ(ｚ)を先に求めてから、周波数特性を求めてもよい。すなわち、
【０１４４】
【数１８】
0003675054.tif 000021
【０１４５】
この（２５）式の分母を展開した結果を、
【０１４６】
【数１９】
0003675054.tif 000022
【０１４７】
とする。ここで、１、β1、β2、・・・、β2p、０、０、・・・、０として、例えば２５６点のデータにする。その後、２５６点ＦＦＴを行い、振幅の周波数特性を、
【０１４８】
【数２０】
0003675054.tif 000023
【０１４９】
とする。これより、
【０１５０】
【数２１】
0003675054.tif 000024
【０１５１】
これをＬ次元ベクトルの対応する点について求める。上記ＦＦＴのポイント数が少ない場合は、直線補間で求めるべきであるが、ここでは最寄りの値を使用している。すなわち、
【０１５２】
【数２２】
0003675054.tif 000025
【０１５３】
である。これを対角要素とする行列をＷ’とすると、
【０１５４】
【数２３】
0003675054.tif 000026
【０１５５】
となる。（２６）式は上記（２４）式と同一のマトリクスとなる。
【０１５６】
あるいは、（２５）式より直接｜Ｈ（exp(jω)）Ｗ（exp(jω)）｜をω＝ｉπ／Ｌ（ただし、１≦ｉ≦Ｌ）に関して算出したものをwh[i] に使用してもよい。又は、（２５）式のインパルス応答を適当な長さ（例えば４０点）求めて、それを用いてＦＦＴして振幅周波数特性を求めて使用してもよい。
【０１５７】
このマトリクス、すなわち重み付き合成フィルタの周波数特性を用いて、上記（２１）式を書き直すと、
【０１５８】
【数２４】
0003675054.tif 000027
【０１５９】
となる。
【０１６０】
ここで、シェイプコードブックとゲインコードブックの学習法について説明する。
【０１６１】
先ず、ＣＢ０に関しコードベクトルｓ0cを選択する全てのフレームｋに関して歪の期待値を最小化する。そのようなフレームがＭ個あるとして、
【０１６２】
【数２５】
0003675054.tif 000028
【０１６３】
を最小化すればよい。この（２８）式中で、Ｗk'はｋ番目のフレームに対する重み、ｘk はｋ番目のフレームの入力、ｇk はｋ番目のフレームのゲイン、ｓ1kはｋ番目のフレームについてのコードブックＣＢ１からの出力、をそれぞれ示す。
【０１６４】
この（２８）式を最小化するには、
【０１６５】
【数２６】
0003675054.tif 000029
【０１６６】
【数２７】
0003675054.tif 000030
【０１６７】
次に、ゲインに関しての最適化を考える。
【０１６８】
ゲインのコードワードｇc を選択するｋ番目のフレームに関しての歪の期待値Ｊg は、
【０１６９】
【数２８】
0003675054.tif 000031
【０１７０】
上記（３１）式及び（３２）式は、シェイプｓ0i、ｓ1j及びゲインｇl 、０≦ｉ≦３１、０≦ｊ≦３１、０≦ｌ≦３１の最適なセントロイドコンディション(Centroid Condition)、すなわち最適なデコーダ出力を与えるものである。なお、ｓ1jに関してもｓ0iと同様に求めることができる。
【０１７１】
次に、最適エンコード条件（Nearest Neighbour Condition ）を考える。
【０１７２】
歪尺度を求める上記（２７）式、すなわち、
Ｅ＝‖Ｗ'（ｘ−ｇl（ｓ0i＋ｓ1j））‖2 
を最小化するｓ0i、ｓ1jを、入力ｘ、重みマトリクスＷ' が与えられる毎に、すなわち毎フレームごとに決定する。
【０１７３】
このようなコードブックサーチは、本来は、総当り的に全てのｇl （０≦ｌ≦３１）、ｓ0i（０≦ｉ≦３１）、ｓ1j（０≦ｊ≦３１）の組み合せの、３２×３２×３２＝３２７６８通りについてＥを求めて、最小のＥを与えるｇl 、ｓ0i、ｓ1jの組を求めるべきであるが、膨大な演算量となるので、本実施の形態では、シェイプとゲインのシーケンシャルサーチを行っている。なお、ｓ0iとｓ1jとの組み合せについては、総当りサーチを行うものとする。これは、３２×３２＝１０２４通りである。以下の説明では、簡単化のため、ｓ0i＋ｓ1jをｓm と記す。
【０１７４】
上記（２７）式は、Ｅ＝‖Ｗ'（ｘ−ｇlｓm）‖2  となる。さらに簡単のため、ｘw＝Ｗ'ｘ、ｓw＝Ｗ'ｓm とすると、
【０１７５】
【数２９】
0003675054.tif 000032
【０１７６】
となる。従って、ｇl の精度が充分にとれると仮定すると、
【０１７７】
【数３０】
0003675054.tif 000033
【０１７８】
という２つのステップに分けてサーチすることができる。元の表記を用いて書き直すと、
【０１７９】
【数３１】
0003675054.tif 000034
【０１８０】
となる。この（３５）式が最適エンコード条件(Nearest Neighbour Condition) である。
【０１８１】
次に、このようなベクトル量子化のコードブックサーチ（符号帳検索）を行う場合の演算量についてさらに考察する。
【０１８２】
先ず、上記（３５）式の（１）’の演算量は、ｓ0i及びｓ1jの次元をＫ、コードブックＣＢ０、ＣＢ１のサイズをそれぞれＬ0、Ｌ1、すなわち
０≦ｉ＜Ｌ0、０≦ｊ＜Ｌ1
とし、分子の加算、積和、２乗の各演算量をそれぞれ１、分母の積、積和の各演算量をそれぞれ１として、概略、
分子  ：  Ｌ0・Ｌ1・｛Ｋ・（１＋１）＋１｝
分母  ：  Ｌ0・Ｌ1・Ｋ・（１＋１）
大小比較  ：  Ｌ0・Ｌ1
となり、計Ｌ0・Ｌ1（４Ｋ＋２）となる。ここで、Ｌ0＝Ｌ1＝３２、Ｋ＝４４とすると、演算量は、１８２２７２程度のオーダーとなる。
【０１８３】
そこで、上記（３５）式の（１）’の演算を全て実行せずに、ｓ0i及びｓ1jに関してＰ個ずつ予備選択（プリセレクション）を行う。なお、ここでは、負のゲインエントリを考えていない（許していない）ため、上記（３５）式の（２）’の分子の値は常に正の数となるように、上記（３５）式の（１）’のサーチを行う。すなわち、ｘtＷ'tＷ'（ｓ0i＋ｓ1j）  の極性込みで、上記（３５）式の（１）’の最大化を行う。
【０１８４】
このような予備選択方法の具体例について説明すると、先ず、
（手順１）ｘtＷ'tＷ'ｓ0iを最大にするｓ0iを上位からＰ0 個選択
（手順２）ｘtＷ'tＷ'ｓ1jを最大にするｓ1iを上位からＰ1 個選択
（手順３）これらＰ0個のｓ0iとＰ1個のｓ1jの全ての組み合わせについて、上記（３５）式の（１）’の式を評価
という方法が挙げられる。
【０１８５】
これは、上記（３５）式の（１）’の式の平方根である、
【０１８６】
【数３２】
0003675054.tif 000035
【０１８７】
の評価において、分母、すなわちｓ0i＋ｓ1jの重み付きノルムが、ｉ、ｊによらずほぼ一定という仮定が成立するときに有効である。実際には上記（ａ１）式の分母の大きさは一定ではないが、これを考慮した予備選択方法については、後述する。
【０１８８】
ここでは、上記（ａ１）式の分母が一定と仮定した場合の演算量の削減効果を説明する。上記（手順１）のサーチにＬ0・Ｋの演算量を要し、大小比較に、
（Ｌ0−１）＋（Ｌ0−２）＋・・・＋（Ｌ0−Ｐ0）
＝Ｐ0・Ｌ0 − Ｐ0（１＋Ｐ0）／２
を要するから、演算量の計は、Ｌ0（Ｋ＋Ｐ0）−Ｐ0（１＋Ｐ0）／２となる。また、上記（手順２）にも同様の処理量が必要であり、これらを合計して、予備選択のための演算処理量は、
L0(K+P0)＋L1(K+P1)−P0(1+P0)/2−P1(1+P1)/2
となる。
【０１８９】
また、上記（手順３）の本選択の処理については、上記（３５）式の（１）’の演算に関して、
分子  ：  Ｐ0・Ｐ1・（１＋Ｋ＋１）
分母  ：  Ｐ0・Ｐ1・Ｋ・（１＋１）
大小比較  ：  Ｐ0・Ｐ1
となり、計Ｐ0・Ｐ1（３Ｋ＋３）となる。
【０１９０】
例えば、Ｐ0＝Ｐ1＝６、Ｌ0＝Ｌ1＝３２、Ｋ＝４４とすると、演算量は、本選択で４８６０、予備選択で３１５８となり、計８０１８程度のオーダーとなる。また、予備選択の個数をそれぞれ１０個にまで増やしてＰ0＝Ｐ1＝１０としても、本選択で１３５００、予備選択で３３４６となり、１６８４６程度のオーダーとなる。
【０１９１】
このように、予備選択するベクトルの個数を各コードブックそれぞれ１０個ずつとした場合でも、前述した全てを演算する場合の１８２２７２と比較して、
１６８４６／１８２２７２
となり、元の約１／１０以下の演算量に抑えることができる。
【０１９２】
ところで、上記（３５）式の（１）’の式の分母の大きさは一定ではなく、選択されたコードベクトルに依存して大小変化する。そこで、ある程度このノルムの概略の大きさを考慮した予備選択（プリセレクション）方法について、以下に説明する。
【０１９３】
上記（３５）式の（１）’の式の平方根である上記（ａ１）式の最大値を求める場合に、
【０１９４】
【数３３】
0003675054.tif 000036
【０１９５】
であることを考慮して、この（ａ２）式の左辺を最大化すればよい。そこで、この左辺を
【０１９６】
【数３４】
0003675054.tif 000037
【０１９７】
のように展開して、この（ａ３）式の第１項、第２項をそれぞれ最大化する。
【０１９８】
上記（ａ３）式の第１項の分子はｓ0iのみの関数なので、ｓ0iに関しての最大化を考える。また上記（ａ３）式の第２項の分子はｓ1jのみの関数なので、ｓ1jに関しての最大化を考える。すなわち、
【０１９９】
【数３５】
0003675054.tif 000038
【０２００】
において、
（手順１）上記（ａ４）式を最大化するものの上位からＱ0 個のｓ0iを選択
（手順２）上記（ａ５）式を最大化するものの上位からＱ1 個のｓ1jを選択
（手順３）選択されたＱ0個のｓ0iとＱ1個のｓ1jの全ての組み合わせについて、上記（３５）式の（１）’の式を評価
という方法が挙げられる。
【０２０１】
なお、Ｗ’＝ＷＨ／‖ｘ‖であり、ＷもＨも入力ベクトルｘの関数であり、当然Ｗ’も入力ベクトルｘの関数となる。
【０２０２】
従って、本来は入力ベクトルｘ毎にＷ’を算出し、上記（ａ４）、（ａ５）式の分母を計算すべきであるが、ここでは予備選択なのであまり演算処理量を費やしたくない。そこで、これらの分母については、典型的な、すなわち代表的なＷ’の値を用いて事前に各ｓ0i、ｓ1jについて計算した値を、ｓ0i、ｓ1jと共にテーブルに格納しておく。なお、実際のサーチ演算で割り算をすることは処理が重いので、
【０２０３】
【数３６】
0003675054.tif 000039
【０２０４】
の（ａ６）、（ａ７）式の値を格納しておく。ここで、Ｗ* は、次の（ａ８）式に示すものである。
【０２０５】
【数３７】
0003675054.tif 000040
【０２０６】
図９は、上記Ｗ* を下記の（ａ10）式で記述したときの各Ｗ[0]〜Ｗ[43] の具体例を示すものである。
【０２０７】
【数３８】
0003675054.tif 000041
【０２０８】
上記（ａ４）、（ａ５）式の分子については、Ｗ’を入力ベクトルｘ毎に算出して使用する。これは、いずれにせよｓ0i、ｓ1jとｘとの内積を算出せねばならないので、ｘtＷ'tＷ'を一度計算しておけば演算量増加はごく僅かであることを考慮したものである。
【０２０９】
このような予備選択方法に要する演算量の概略を見積もると、上記（手順１）のサーチでは、Ｌ0（Ｋ＋１）の演算量を要し、大小比較に、
Ｑ0・Ｌ0 − Ｑ0（１＋Ｑ0）／２
を要する。また、上記（手順２）にも同様の処理量が必要であり、これらを合計して、予備選択のための演算処理量は、
L0(K+Q0+1)＋L1(K+Q1+1)−Q0(1+Q0)/2−Q1(1+Q1)/2
となる。
【０２１０】
また、上記（手順３）の本選択の処理については、上記（３５）式の（１）’の演算に関して、
分子  ：  Ｑ0・Ｑ1・（１＋Ｋ＋１）
分母  ：  Ｑ0・Ｑ1・Ｋ・（１＋１）
大小比較  ：  Ｑ0・Ｑ1
となり、計Ｑ0・Ｑ1（３Ｋ＋３）となる。
【０２１１】
例えば、Ｑ0＝Ｑ1＝６、Ｌ0＝Ｌ1＝３２、Ｋ＝４４とすると、演算量は、本選択で４８６０、予備選択で３２２２となり、計８０８２程度のオーダーとなる。また、予備選択の個数をそれぞれ１０個にまで増やしてＱ0＝Ｑ1＝１０としても、本選択で１３５００、予備選択で３４１０となり、１６９１０程度のオーダーとなる。
【０２１２】
これらの計算結果は、上述した重み付きノルムで割り込まない（ノーマライズ無し）場合のＰ0＝Ｐ1＝６としたときの演算量の、計８０１８程度のオーダーや、Ｐ0＝Ｐ1＝１０としたときの１６８４６程度のオーダーとほぼ同程度の値であり、予備選択するベクトルの個数を各コードブックそれぞれ１０個ずつとした場合でも、前述した全てを演算する場合の１８２２７２と比較して、
１６９１０／１８２２７２
となり、元の約１／１０以下の演算量に抑えることができる。
【０２１３】
以上説明したような予備選択を行わないで分析・合成した音声を基準として、予備選択を行った場合のＳＮＲ（ＳＮ比）と、２０msecセグメントのときのセグメンタルＳＮＲとについて具体例を示すと、ノーマライズ無しＰ0＝Ｐ1＝６のときのＳＮＲ：１４．８（ｄＢ）、セグメンタルＳＮＲ：１７．５（ｄＢ）に比べて、同じ予備選択個数でノーマライズ有り、重み無しのとき、ＳＮＲ：１６．８（ｄＢ）、セグメンタルＳＮＲ：１８．７（ｄＢ）となり、重み付きノーマライズ有りのとき、ＳＮＲ：１７．８（ｄＢ）、セグメンタルＳＮＲ：１９．６（ｄＢ）となる。このように、ノーマライズ無しから、重み付きノーマライズ有りとすることで、２〜３ｄＢだけＳＮＲ、セグメンタルＳＮＲが向上している。
【０２１４】
ここで上記（３１）、（３２）式の条件（Centroid Condition）と、（３５）式の条件を用いて、ＬＢＧ（Linde-Buzo-Gray） アルゴリズム、いわゆる一般化ロイドアルゴリズム（Generalized Lloyd Algorithm:ＧＬＡ）によりコードブック（ＣＢ０、ＣＢ１、ＣＢｇ）を同時にトレーニングできる。
【０２１５】
なお、本実施の形態では、Ｗ’として、入力ｘのノルムで割り込んだＷ’を使用している。すなわち、上記（３１）、（３２）、（３５）式において、事前にＷ’にＷ’／‖ｘ‖を代入して使用している。
【０２１６】
あるいは別法として、ベクトル量子化器１１６でのベクトル量子化の際の聴覚重み付けに用いられる重みＷ’については、上記（２６）式で定義されているが、過去のＷ’も加味して現在のＷ’を求めることにより、テンポラルマスキングも考慮したＷ’を求めてもよい。
【０２１７】
上記（２６）式中のwh(1),wh(2),・・・,wh(L)に関して、時刻ｎ、すなわち第ｎフレームで算出されたものをそれぞれwhn(1),whn(2),・・・,whn(L) とする。
【０２１８】
時刻ｎで過去の値を考慮した重みをＡn(i)、１≦ｉ≦Ｌ  と定義すると、
【０２１９】
【数３９】
0003675054.tif 000042
【０２２０】
とする。ここで、λは例えばλ＝０．２とすればよい。このようにして求められたＡn(i)、１≦ｉ≦Ｌ  について、これを対角要素とするマトリクスを上記重みとして用いればよい。
【０２２１】
このように重み付きベクトル量子化により得られたシェイプインデクスｓ0i、ｓ1jは、出力端子５２０、５２２からそれぞれ出力され、ゲインインデクスｇl は、出力端子５２１から出力される。また、量子化値ｘ0'は、出力端子５０４から出力されると共に、加算器５０５に送られる。
【０２２２】
この加算器５０５では、スペクトルエンベロープベクトルｘから量子化値ｘ0'が減算されて、量子化誤差ベクトルｙが生成される。この量子化誤差ベクトルｙは、具体的には、８個のベクトル量子化器５１１1〜５１１8から成るベクトル量子化部５１１に送られて、次元分割され、各ベクトル量子化器５１１1〜５１１8で重み付きのベクトル量子化が施される。
【０２２３】
第２のベクトル量子化部５１０では、第１のベクトル量子化部５００と比較して、かなり多くのビット数を用いるため、コードブックのメモリ容量及びコードブックサーチのための演算量（Complexity）が非常に大きくなり、第１のベクトル量子化部５００と同じ４４次元のままでベクトル量子化を行うことは、不可能である。そこで、第２のベクトル量子化部５１０内のベクトル量子化部５１１を複数個のベクトル量子化器で構成し、入力される量子化値を次元分割して、複数個の低次元ベクトルとして、重み付きのベクトル量子化を行う。
【０２２４】
ベクトル量子化器５１１1〜５１１8で用いる各量子化値ｙ0〜ｙ7と、次元数と、ビット数との関係を、表２に示す。
【０２２５】
【表２】
0003675054.tif 000043
【０２２６】
ベクトル量子化器５１１1〜５１１8から出力されるインデクスＩdvq0〜Ｉdvq7は、各出力端子５２３1〜５２３8からそれぞれ出力される。これらのインデクスの合計は７２ビットである。
【０２２７】
また、ベクトル量子化器５１１1〜５１１8から出力される量子化値ｙ0’〜ｙ7’を次元方向に接続した値をｙ’とすると、加算器５１３では、量子化値ｙ’と量子化値ｘ0’とが加算されて、量子化値ｘ1’が得られる。よって、この量子化値ｘ1’は、
0003675054.tif 000044
で表される。すなわち、最終的な量子化誤差ベクトルは、ｙ’−ｙとなる。
【０２２８】
尚、音声信号復号化装置側では、この第２のベクトル量子化部５１０からの量子化値ｘ1’ を復号化するときには、第１のベクトル量子化部５００からの量子化値ｘ0’ は不要であるが、第１のベクトル量子化部５００及び第２のベクトル量子化部５１０からのインデクスは必要とする。
【０２２９】
次に、上記ベクトル量子化部５１１における学習法及びコードブックサーチについて説明する。
【０２３０】
先ず、学習法においては、量子化誤差ベクトルｙ及び重みｗ’を用い、表２に示すように、８つの低次元ベクトルｙ0〜ｙ7及びマトリクスに分割する。このとき、重みＷ’は、例えば４４点に間引いたものを対角要素とする行列、
【０２３１】
【数４０】
0003675054.tif 000045
【０２３２】
とすると、以下の８つの行列に分割される。
【０２３３】
【数４１】
0003675054.tif 000046
【０２３４】
このように、ｙ及びＷ’の低次元に分割されたものを、それぞれ
ｙi、Ｗi’  （１≦ｉ≦８）
とする。
【０２３５】
ここで、歪尺度Ｅを、
Ｅ＝‖Ｗi'（ｙi−ｓ）‖2   ・・・（３７）
と定義する。このコードベクトルｓはｙiの量子化結果であり、歪尺度Ｅを最小化する、コードブックのコードベクトルｓがサーチされる。
【０２３６】
尚、Ｗi’は、学習時には重み付けがあり、サーチ時には重み付け無し、すなわち単位行列とし、学習時とコードブックサーチ時とでは異なる値を用いるようにしてもよい。
【０２３７】
また、コードブックの学習では、一般化ロイドアルゴリズム（ＧＬＡ）を用い、さらに重み付けを行っている。先ず、学習のための最適なセントロイドコンディションについて説明する。コードベクトルｓを最適な量子化結果として選択した入力ベクトルｙがＭ個ある場合に、トレーニングデータをｙk とすると、歪の期待値Ｊは、全てのフレームｋに関して重み付け時の歪の中心を最小化するような（３８）式となる。
【０２３８】
【数４２】
0003675054.tif 000047
【０２３９】
上記（３９）式で示すｓは最適な代表ベクトルであり、最適なセントロイドコンディションである。
【０２４０】
また、最適エンコード条件は、‖Ｗi'（ｙi−ｓ）‖2  の値を最小化するｓをサーチすればよい。ここでサーチ時のＷi'は、必ずしも学習時と同じＷi'である必要はなく、重み無しで
【０２４１】
【数４３】
0003675054.tif 000048
【０２４２】
のマトリクスとしてもよい。
【０２４３】
このように、音声信号符号化装置内のベクトル量子化部１１６を２段のベクトル量子化部から構成することにより、出力するインデクスのビット数を可変にすることができる。
【０２４４】
ところで、前述したように、スペクトルエンベロープ評価部１４８において得られるハーモニクススペクトルのデータ数は上記ピッチに応じて変化し、有効帯域が例えば３４００ｋHzのときには８個から６３個程度までのいずれかの個数のデータとなる。これらのデータをまとめてブロック化したベクトルｖは可変次元ベクトルであり、上述の具体例では、ベクトル量子化の前に一定のデータ数、例えば４４次元の固定次元の入力ベクトルｘに次元変換している。この可変／固定次元変換は、上述したデータ数変換のことであり、具体的には例えば前述のように、オーバーサンプリング及び直線補間等を用いて実現することができる。
【０２４５】
このような固定次元に変換したベクトルｘに対して誤差計算を行って誤差を最小化するようなコードブックサーチを行うと、必ずしも元の可変次元ベクトルｖに対する誤差を最小化するようなコードベクトルが選択されるとは限らない。
【０２４６】
そこで、本実施の形態では、上記固定次元でのコードベクトルの選択を仮選択として複数のコードベクトルを選択するようにし、これらの仮選択された複数のコードベクトルについて、可変次元で最終的な最適コードベクトルの本選択を行わせるようにしている。なお、固定次元での仮選択を行わずに、可変次元での選択処理のみを行うようにしてもよい。
【０２４７】
図１０は、このような元の可変次元での最適ベクトル選択を行うための構成の一例を示しており、端子５４１には、上記スペクトルエンベロープ評価部１４８において得られるスペクトルエンベロープの可変個数のデータ、すなわち可変次元ベクトルｖが入力されている。この可変次元の入力ベクトルｖは、前述したデータ数変換回路である可変／固定次元変換回路５４２により、一定の個数、例えば４４個のデータから成る固定次元（４４次元）のベクトルｘに変換され、端子５０１に送られている。この固定次元の入力ベクトルｘと、固定次元の符号帳（コードブック）５３０から読み出される固定次元のコードベクトルとが固定次元の選択回路５３５に送られて、これらの間の重み付きの誤差あるいは歪が最小となるようなコードベクトルを符号帳５３０から選択するような選択処理あるいはコードブックサーチが行われる。
【０２４８】
さらにこの図１０の例においては、固定次元の符号帳５３０から得られた固定次元のコードベクトルを固定／可変次元変換回路５４４により元の可変次元の入力ベクトルｖと同じ可変次元に変換し、この可変次元に変換されたコードベクトルを可変次元の選択回路５４５に送って、上記入力ベクトルｖとの間の重み付き歪の計算を行い、その歪を最小とするコードベクトルを符号帳５３０から選択するような選択処理あるいはコードブックサーチを行っている。
【０２４９】
すなわち、固定次元の選択回路５３５では、仮選択として、重み付き歪を最小化する候補となるいくつかのコードベクトルを選択しておき、これらの候補について、可変次元の選択回路５４５で重み付き歪計算を行って、歪を最小とするコードベクトルを本選択するようにしている。
【０２５０】
この場合の仮選択及び本選択を用いるベクトル量子化についての適用範囲を簡単に説明する。このベクトル量子化は、ハーモニックコーディング、ＬＰＣ残差のハーモニックコーディング、本件出願人が先に提案した特願平４−９１４２２号明細書及び図面に開示したようなＭＢＥ（マルチバンド励起）符号化、ＬＰＣ残差のＭＢＥ符号化等におけるハーモニクススペクトルに対して帯域制限型の次元変換を用いて可変次元のハーモニクスを重み付きベクトル量子化する場合に適用できるのみならず、その他、入力ベクトルの次元が可変であって、固定次元の符号帳を用いてベクトル量子化するようなあらゆる場合に適用できる。
【０２５１】
上記仮選択としては、多段の量子化器構成の場合の一部を選択したり、シェイプコードブックとゲインコードブックとから成る符号帳の場合にシェイプコードブックのみを仮選択でサーチするようにしゲインについては可変次元での歪計算により決定するようにしたりすることが挙げられる。また、この仮選択について、前述した予備選択、すなわち、固定次元のベクトルｘと符号帳に蓄えられた全てのコードベクトルとの類似度を近似計算（重み付き歪の近似計算）により求めて類似度の高い複数のコードベクトルを選択すること、を適用してもよい。この場合、固定次元での仮選択を上記予備選択とし、予備選択された候補のコードベクトルについて可変次元での重み付き歪を最小化するような本選択を行わせてもよく、また、仮選択の工程で上記予備選択のみならず高精度の歪演算による絞り込みをさらに行った後に本選択に回すようにしてもよい。
【０２５２】
以下、このような仮選択及び本選択を用いたベクトル量子化の具体例について、図面を参照しながら説明する。
【０２５３】
図１０においては、符号帳５３０は、シェイプコードブック５３１とゲインコードブック５３２とから成り、シェイプコードブック５３１は、さらに２つのコードブックＣＢ０，ＣＢ１を有している。これらのシェイプコードブックＣＢ０，ＣＢ１からの出力コードベクトルをそれぞれｓ0，ｓ1とし、ゲインコードブック５３２により決定されるゲイン回路５３３のゲインをｇとする。入力端子５４１からの可変次元の入力ベクトルｖは、可変／固定次元変換回路５４２により次元変換（これをＤ1 とする）されて、端子５０１を介して固定次元のベクトルｘとして選択回路５３５の減算器５３６に送られ、符号帳５３０から読み出された固定次元のコードベクトルとの差がとられ、重み付け回路５３７により重み付けがなされて、誤差最小化回路５３８に送られる。この重み付け回路５３７での重みをＷ’とする。また、符号帳５３０から読み出された固定次元のコードベク
トルは、固定／可変次元変換回路５４４により次元変換（これをＤ2 とする）されて、可変次元の選択回路５４５の減算器５４６に送られ、可変次元の入力ベクトルｖとの差がとられ、重み付け回路５４７により重み付けがなされて、誤差最小化回路５４８に送られる。この重み付け回路５４７での重みをＷv とする。
【０２５４】
ここで、誤差最小化回路５３８，５４８の誤差とは、上記歪あるいは歪尺度のことであり、誤差すなわち歪が小さくなることは、類似度あるいは相関性が高まることに相当する。
【０２５５】
固定次元での上記仮選択を行う選択回路５３５では、前記（２７）式の説明と同様に、
Ｅ1 ＝ ‖Ｗ'（ｘ−ｇ(ｓ0＋ｓ1)）‖2         ・・・（ｂ１）
で表される歪尺度Ｅ1 を最小化するｓ0，ｓ1，ｇをサーチする。ここで、重み付け回路５３７での重みＷ’は、
Ｗ' ＝ ＷＨ／‖ｘ‖                     ・・・（ｂ２）
であり、ＨはＬＰＣ合成フィルタの周波数応答特性を対角要素に持つマトリクスを、またＷは聴覚重み付けフィルタの周波数応答特性を対角要素に持つマトリクスをそれぞれ示している。
【０２５６】
先ず、上記（ｂ１）式の歪尺度Ｅ1 を最小化するｓ0，ｓ1，ｇをサーチする。ここで、ｓ0，ｓ1，ｇを、上記歪尺度Ｅ1 を小さくする順に、上位からＬ組とっておき（固定次元での仮選択）、そのＬ組のｓ0，ｓ1，ｇに関して、
Ｅ2 ＝ ‖Ｗv（ｖ−Ｄ2ｇ(ｓ0＋ｓ1)）‖2      ・・・（ｂ３）
を最小化するｓ0，ｓ1，ｇの組を最適コードベクトルとして、最終的な本選択を可変次元で行う。
【０２５７】
上記（ｂ１）式についてのサーチ、学習については、前述した（２７）式以下の説明の通りである。
【０２５８】
以下、上記（ｂ３）式に基づくコードブック学習のためのセントロイドコンディションについて説明する。
【０２５９】
符号帳（コードブック）５３０の内のシェイプコードブック５３１の１つであるコードブックＣＢ０について、コードベクトルｓ0 を選択する全てのフレームｋに関して、歪の期待値を最小化する。そのようなフレームがＭ個あるとして、
【０２６０】
【数４４】
0003675054.tif 000049
【０２６１】
を最小化すればよい。この（ｂ４）式を最小化するために、
【０２６２】
【数４５】
0003675054.tif 000050
【０２６３】
を解いて、
【０２６４】
【数４６】
0003675054.tif 000051
【０２６５】
となる。この（ｂ６）式で、｛  ｝-1は逆行列を、ＷvkT はＷvkの転置行列をそれぞれ示している。この（ｂ６）式が、シェイプベクトルｓ0 の最適セントロイド条件である。
【０２６６】
次に、符号帳（コードブック）５３０の内のシェイプコードブック５３１のもう１つのコードブックＣＢ１についてのコードベクトルｓ1 を選択する場合も同様であるため、説明を省略する。
【０２６７】
次に、符号帳（コードブック）５３０の内のゲインコードブック５３２からのゲインｇについてのセントロイド条件を考察する。
【０２６８】
ゲインのコードワードｇc を選択するｋ番目のフレームに関して、歪の期待値Ｊg は、
【０２６９】
【数４７】
0003675054.tif 000052
【０２７０】
この（ｂ７）式を最小化するために、
【０２７１】
【数４８】
0003675054.tif 000053
【０２７２】
を解いて、
【０２７３】
【数４９】
0003675054.tif 000054
【０２７４】
これがゲインのセントロイド条件である。
【０２７５】
次に、上記（ｂ３）式に基づく最適エンコード条件を考察する。
上記（ｂ３）式でサーチせねばならないｓ0，ｓ1，ｇの組は、上記固定次元での仮選択によりＬ組と限定されているので、上記（ｂ３）式をＬ組のｓ0，ｓ1，ｇに関して直接計算し、歪Ｅ2 を最小とするｓ0，ｓ1，ｇの組を最適コードベクトルとして選択すればよい。
【０２７６】
ここで、仮選択のＬが非常に大きい場合や、上記仮選択を行わず直接的に可変次元でｓ0，ｓ1，ｇの選択を行う場合に、有効とされるシェイプとゲインのシーケンシャルなサーチの方法について説明する。
【０２７７】
上記（ｂ３）式の各ｓ0，ｓ1，ｇに、それぞれｉ，ｊ，ｌのインデクスを付加して書き直すと、
Ｅ2 ＝ ‖Ｗv（ｖ−Ｄ2ｇl(ｓ0i＋ｓ1j)）‖2   ・・・（ｂ10）
となる。これを最小化するｇl，ｓ0i，ｓ1j を総当たりでサーチすることも可能であるが、例えば０≦ｌ＜３２，０≦ｉ＜３２，０≦ｊ＜３２とすると、３２3 ＝３２７６８通りものパターンについて上記（ｂ10）式を計算することになり、膨大な演算量となる。そこで、シェイプとゲインをシーケンシャルにサーチする方法を説明する。
【０２７８】
先ず、シェイプコードベクトルｓ0i，ｓ1jを決定してから、ゲインｇl を決定する。ｓ0i＋ｓ1j＝ｓm とおくと、上記（ｂ10）式は、
Ｅ2 ＝ ‖Ｗv（ｖ−Ｄ2ｇlｓm）‖2            ・・・（ｂ11）
と表せ、さらに、ｖw＝Ｗvｖ，ｓw＝ＷvＤ2ｓmとおくと、（ｂ11）式は、
【０２７９】
【数５０】
0003675054.tif 000055
【０２８０】
となる。よって、ｇl の精度が充分にとれるとすると、
【０２８１】
【数５１】
0003675054.tif 000056
【０２８２】
元の変数を代入して書き直すと、次の（ｂ15），（ｂ16）式のようになる。
【０２８３】
【数５２】
0003675054.tif 000057
【０２８４】
上記（ｂ６），（ｂ９）式のシェイプ、ゲインのセントロイド条件と、上記（ｂ15），（ｂ16）式の最適エンコード条件（Nearest Neighbour Condition ）を用いて、一般化ロイドアルゴリズム（Generalized Lloyd Algorithm:ＧＬＡ）によって、コードブック（ＣＢ０、ＣＢ１、ＣＢｇ）を同時に学習させることができる。
【０２８５】
これらの（ｂ６），（ｂ９），（ｂ15），（ｂ16）式を用いた学習法は、先に述べた（２７）式以下の説明、特に前記（３１），（３２），（３５）式を用いる方法に比べて、元の入力ベクトルｖの可変次元への変換を行った後の歪を最小化している点で優れている。
【０２８６】
しかし、上記（ｂ６），（ｂ９）式、特に（ｂ６）式の演算は、煩雑であるので、例えば上記（ｂ15），（ｂ16）式の最適エンコード条件のみを用いて、セントロイド条件は  前記（２７）式（すなわち（ｂ１）式）の最適化から導かれるものを用いてもよい。
【０２８７】
あるいは、コードブックの学習時は、全て前記（２７）式以下の説明に述べた方法で行い、サーチ時のみ上記（ｂ15），（ｂ16）式を用いる方法も挙げられる。また、上記固定次元での仮選択を前記（２７）式以下の説明に述べた方法で行い、選ばれた複数個（Ｌ個）の組についてのみ上記（ｂ３）式を直接評価してサーチを行うようにしてもよい。
【０２８８】
いずれにしても、上記（ｂ３）式の歪評価によるサーチを、上記仮選択後、あるいは総当たり的に使用することにより、最終的にはより歪の少ないコードベクトルサーチあるいは学習を行うことが可能となる。
【０２８９】
ここで、元の入力ベクトルｖと同じ可変次元で歪計算を行うことが好ましい理由について簡単に述べる。
【０２９０】
これは、固定次元での歪の最小化と可変次元での歪の最小化とが一致すれば、可変次元での歪の最小化は不要であるが、固定／可変次元変換回路５４４での次元変換Ｄ2 が直交行列ではないため、これらの歪の最小化は一致しない。このため、固定次元で歪を最小化しても、必ずしもこれは可変次元で最適に歪を最小化することにはならず、最終的に得られる可変次元のベクトルを最適化しようとするには、可変次元での最適化が必要とされるからである。
【０２９１】
次に図１１は、符号帳（コードブック）をシェイプコードブックとゲインコードブックとに分けるときのゲインを可変次元でのゲインとし、可変次元で最適化するようにした例を示している。
【０２９２】
すなわち、シェイプコードブック５３１から読み出された固定次元のコードベクトルを固定／可変次元変換回路５４４に送って可変次元のベクトルに変換した後、ゲイン回路５３３に送っている。可変次元での選択回路５４５は、ゲイン回路５３３からの可変次元のコードベクトルと上記入力ベクトルｖとに基づいて、固定／可変次元変換されたコードベクトルに対するゲイン回路５３３での最適ゲインを選択すればよい。あるいは、ゲイン回路５３３への入力ベクトルと上記入力ベクトルｖとの内積に基づいて最適ゲインを選択するようにしてもよい。他の構成及び動作は、上記図１０の例と同様である。
【０２９３】
なお、シェイプコードブック５３１については、選択回路５３５における固定次元での選択時に唯一のコードベクトルを選択するようにし、可変次元での選択はゲインのみとしてもよい。
【０２９４】
このように、固定／可変次元変換回路５４４で変換したコードベクトルに対してゲインを掛けるような構成とすることにより、上記図１０に示すようなゲイン倍したコードベクトルを固定／可変次元変換するものに比べて、固定／可変次元変換による影響を考慮した上で最適なゲインを選択することができる。
【０２９５】
次に、このような固定次元での仮選択と可変次元での本選択とを組み合わせるベクトル量子化の他の具体例について説明する。
【０２９６】
以下の具体例では、第１の符号帳から読み出された固定次元の第１のコードベクトルを入力ベクトルの可変次元に次元変換し、第２の符号帳から読み出された固定次元の第２のコードベクトルを上記固定／可変次元変換された可変次元の第１のコードベクトルに加算し、この加算されて得られた加算コードベクトルについて上記入力ベクトルとの誤差を最小化する最適のコードベクトルを上記少なくとも第２の符号帳より選択するようにしている。
【０２９７】
例えば、図１２の例では、第１の符号帳（コードブック）ＣＢ０から読み出された固定次元の第１のコードベクトルｓ0 を、固定／可変次元変換回路５４４に送って、端子５４１の入力ベクトルｖに等しい可変次元に次元変換し、第２の符号帳ＣＢ１から読み出された固定次元の第２のコードベクトルｓ1 を加算機５４９に送って、固定／可変次元変換回路５４４からの可変次元のコードベクトルに加算し、この加算器５４９で加算されて得られた加算コードベクトルを選択回路５４５に送り、この選択回路５４５で、加算器５４９からの加算ベクトルと上記入力ベクトルｖとの誤差を最小化する最適のコードベクトルを選択するようにしている。ここで、第２の符号帳（コードブック）ＣＢ１からのコードベクトルは、入力スペクトルのハーモニクスの低域側からコードブックＣＢ１の次元にまで適用される。また、ゲインｇのゲイン回路５３３は、第１の符号帳ＣＢ０と固定／可変次元変換回路５４４との間にのみ設けられている。他の構成は上記図１０と同様であるため、対応する部分に同じ指示符号を付して説明を省略する。
【０２９８】
このように、コードブックＣＢ１からの固定次元のままのコードベクトルを、コードブックＣＢ０から読み出されて可変次元に変換されたコードベクトルと加算することにより、固定／可変次元変換を行うことによって発生した歪をコードブックＣＢ１からの固定次元のコードベクトルによって減じることができる。
【０２９９】
この図１２の可変次元の選択回路５４５で計算される歪Ｅ3 は、
Ｅ3 ＝‖Ｗv（ｖ−（Ｄ2ｇｓ0＋ｓ1））‖2   ・・・（ｂ17）
となる。
【０３００】
次に、図１３の例では、ゲイン回路５３３を加算器５４９の出力側に配置している。従って、第１の符号帳ＣＢ０から読み出され固定／可変次元変換回路５４４で可変次元に変換されたコードベクトルと、第２の符号帳ＣＢ１から読み出されたコードベクトルとの加算結果に対してゲインｇが掛けられる。これは、ＣＢ０からのコードベクトルに乗ずるべきゲインと、その補正分（量子化誤差の量子化）のためのコードブックＣＢ１からのコードベクトルに乗ずるべきゲインの相関が強いため、共通のゲインを用いている。この図１３の選択回路５４５で計算される歪Ｅ4 は、
Ｅ4 ＝‖Ｗv（ｖ−ｇ（Ｄ2ｓ0＋ｓ1））‖2   ・・・（ｂ18）
となる。この図１３の例の他の構成は、上記図１２の例と同様であるため説明を省略する。
【０３０１】
次に、図１４の例では、上記図１２の例における第１の符号帳ＣＢ０の出力側にゲインｇのゲイン回路５３３0 を設けるのみならず、第２の符号帳ＣＢ１の出力側にもゲインｇのゲイン回路５３３1 を設けている。この図１４の選択回路５４５で計算される歪は、上記図１３の例と同様に、（ｂ18）式に示す歪Ｅ4 となる。この図１４の例の他の構成は、上記図１２の例と同様であるため説明を省略する。
【０３０２】
次に、図１５は、上記図１２の第１の符号帳を２つのシェイプコードブックＣＢ０、ＣＢ１で構成した例を示し、これらのシェイプコードブックＣＢ０、ＣＢ１からの各コードベクトルｓ0、ｓ1が加算され、ゲイン回路５３３でゲインｇを掛けられて、固定／可変次元変換回路５４４に送られている。この固定／可変次元変換回路５４４からの可変次元のコードベクトルと、第２の符号帳ＣＢ２からのコードベクトルｓ2 とを加算器５４９で加算して、選択回路５４５に送っている。この図１５の選択回路５４５で計算される歪Ｅ5 は、
Ｅ5 ＝‖Ｗv（ｖ−（ｇＤ2（ｓ0＋ｓ1）＋ｓ2））‖2  ・・・（ｂ19）
となる。この図１５の例の他の構成は、上記図１２の例と同様であるため説明を省略する。
【０３０３】
ここで、上記（ｂ18）式におけるサーチ方法について説明する。
先ず、第１のサーチ方法としては、
Ｅ4' ＝‖Ｗ'（ｘ−ｇlｓ0i））‖2              ・・・（ｂ20）
を最小化するｓ0i，ｇl をサーチし、次に
Ｅ4 ＝‖Ｗv（ｖ−ｇl（Ｄ2ｓ0i＋ｓ1j））‖2    ・・・（ｂ21）
を最小化するｓ1jをサーチすることが挙げられる。
【０３０４】
第２のサーチ方法としては、
【０３０５】
【数５３】
0003675054.tif 000058
【０３０６】
が挙げられる。
【０３０７】
第３のサーチ方法としては、
【０３０８】
【数５４】
0003675054.tif 000059
【０３０９】
が挙げられる。
【０３１０】
次に、上記第１のサーチ方法の上記（ｂ20）式のセントロイド条件について説明する。上記コードベクトルｓ0iのセントロイドをｓ0cとするとき、
【０３１１】
【数５５】
0003675054.tif 000060
【０３１２】
を最小化する。これを最小化するために、
【０３１３】
【数５６】
0003675054.tif 000061
【０３１４】
を解いて、
【０３１５】
【数５７】
0003675054.tif 000062
【０３１６】
が得られる。同様に、ゲインｇのセントロイドｇc については、上記（ｂ20）式より、
【０３１７】
【数５８】
0003675054.tif 000063
【０３１８】
【数５９】
0003675054.tif 000064
【０３１９】
を解いて、
【０３２０】
【数６０】
0003675054.tif 000065
【０３２１】
また、上記第１のサーチ方法の上記（ｂ21）式のセントロイド条件として、ベクトルｓ1jのセントロイドｓ1cについては、
【０３２２】
【数６１】
0003675054.tif 000066
【０３２３】
【数６２】
0003675054.tif 000067
【０３２４】
を解いて、
【０３２５】
【数６３】
0003675054.tif 000068
【０３２６】
が得られる。上記（ｂ21）式から上記コードベクトルｓ0iのセントロイドｓ0cを求めると、
【０３２７】
【数６４】
0003675054.tif 000069
【０３２８】
【数６５】
0003675054.tif 000070
【０３２９】
【数６６】
0003675054.tif 000071
【０３３０】
が得られる。同様に、上記（ｂ21）式から上記ゲインｇのセントロイドｇc を求めると、
【０３３１】
【数６７】
0003675054.tif 000072
【０３３２】
が得られる。
【０３３３】
以上、上記（ｂ20）式によるコードベクトルｓ0iのセントロイドｓ0cの算出方法を（ｂ30）式に、ゲインｇのセントロイドｇc の算出方法を（ｂ33）式にそれぞれ示した。また、上記（ｂ21）式によるセントロイドの算出方法として、コードベクトルｓ1jのセントロイドｓ1cを（ｂ36）式に、コードベクトルｓ0iのセントロイドｓ0cを（ｂ39）式に、ゲインｇのセントロイドｇc を（ｂ40）式にそれぞれ示した。
【０３３４】
実際の一般化ロイドアルゴリズム（ＧＬＡ）によるコードブックの学習においては、セントロイド条件として、上記（ｂ30）式、（ｂ36）式、（ｂ40）式を使用してｓ0，ｓ1，ｇを同時に学習する方法が挙げられる。サーチ方法（Nearest Neighbour Condition） は、例えば上記（ｂ22）式、（ｂ23）式、（ｂ24）式を用いればよい。この他、上記（ｂ30）式、（ｂ33）式、（ｂ36）式、あるいは、上記（ｂ39）式、（ｂ36）式、（ｂ40）式といったセントロイド条件の組み合わせも可能であることは勿論である。
【０３３５】
次に、上記図１２に対応する上記（ｂ17）式の歪尺度の場合のサーチ方法について説明する。この場合には、
Ｅ3' ＝‖Ｗ'（ｘ−ｇlｓ0i））‖2             ・・・（ｂ41）
を最小化するｓ0i，ｇl をサーチし、次に
Ｅ3 ＝‖Ｗv（ｖ−ｇl（Ｄ2ｓ0i＋ｓ1j））‖2   ・・・（ｂ42）
を最小化するｓ1jをサーチすることが挙げられる。
【０３３６】
上記（ｂ41）式において、全てのｇl，ｓ0iの組を総当たりするのは現実的でないので、次のようにしている。
【０３３７】
【数６８】
0003675054.tif 000073
【０３３８】
次に、上記（ｂ41）式、（ｂ42）式よりセントロイド条件を導く。この場合も、上述したのと同様に、どの式を用いるかで変わってくる。
【０３３９】
先ず、上記（ｂ41）式を用いる場合には、上記コードベクトルｓ0iのセントロイドをｓ0cとするとき、
【０３４０】
【数６９】
0003675054.tif 000074
【０３４１】
を最小化することにより、
【０３４２】
【数７０】
0003675054.tif 000075
【０３４３】
が得られる。同様に、ゲインｇのセントロイドｇc については、上記（ｂ41）式より、上記（ｂ33）式の場合と同様に、次の式が得られる。
【０３４４】
【数７１】
0003675054.tif 000076
【０３４５】
また、上記（ｂ42）式を用いてベクトルｓ1jのセントロイドｓ1cを求める場合には、次の通りである。
【０３４６】
【数７２】
0003675054.tif 000077
【０３４７】
【数７３】
0003675054.tif 000078
【０３４８】
を解いて、
【０３４９】
【数７４】
0003675054.tif 000079
【０３５０】
が得られる。同様に、上記（ｂ42）式から上記コードベクトルｓ0iのセントロイドｓ0c、及び上記ゲインｇのセントロイドｇc を求めることができる。
【０３５１】
【数７５】
0003675054.tif 000080
【０３５２】
【数７６】
0003675054.tif 000081
【０３５３】
【数７７】
0003675054.tif 000082
【０３５４】
【数７８】
0003675054.tif 000083
【０３５５】
なお、一般化ロイドアルゴリズム（ＧＬＡ）によるコードブックの学習は、上記（ｂ47）式、（ｂ48）式、（ｂ51）式を用いて、あるいは、上記（ｂ51）式、（ｂ52）式、（ｂ55）式を用いて行うようにすればよい。
【０３５６】
次に、本発明の前記ＣＥＬＰ符号化構成を用いた第２の符号化部１２０は、より具体的には図１６に示すような、多段のベクトル量子化処理部（図１６の例では２段の符号化部１２０1と１２０2）の構成を有するものとなされている。なお、当該図１６の構成は、伝送ビットレートを例えば前記２ｋｂｐｓと６ｋｂｐｓとで切り換え可能な場合において、６ｋｂｐｓの伝送ビットレートに対応した構成を示しており、さらにシェイプ及びゲインインデクス出力を２３ビット／５ｍｓｅｃと１５ビット／５ｍｓｅｃとで切り換えられるようにしているものである。また、この図１６の構成における処理の流れは図１７に示すようになっている。
【０３５７】
この図１６において、例えば、図１６の第１の符号化部３００は前記図３の第１の符号化部１１３と略々対応し、図１６のＬＰＣ分析回路３０２は前記図３に示したＬＰＣ分析回路１３２と対応し、図１６のＬＳＰパラメータ量子化回路３０３は図３の前記α→ＬＳＰ変換回路１３３からＬＳＰ→α変換回路１３７までの構成と対応し、図１６の聴覚重み付けフィルタ３０４は図３の前記聴覚重み付けフィルタ算出回路１３９及び聴覚重み付けフィルタ１２５と対応している。したがって、この図１６において、端子３０５には前記図３の第１の符号化部１１３のＬＳＰ→α変換回路１３７からの出力と同じものが供給され、また、端子３０７には前記図３の聴覚重み付けフィルタ算出回路１３９からの出力と同じものが、端子３０６には前記図３の聴覚重み付けフィルタ１２５からの出力と同じものが供給される。ただし、この図１６の聴覚重み付けフィルタ３０４では、前記図３の聴覚重み付けフィルタ１２５とは異なり、前記ＬＳＰ→α変換回路１３７の出力を用いずに、入力音声データと量子化前のαパラメータとから、前記聴覚重み付けした信号（すなわち前記図３の聴覚重み付けフィルタ１２５からの出力と同じ信号）を生成している。
【０３５８】
また、この図１６に示す２段構成の第２の符号化部１２０1及び１２０2において、減算器３１３及び３２３は図３の減算器１２３と対応し、距離計算回路３１４及び３２４は図３の距離計算回路１２４と、ゲイン回路３１１及び３２１は図３のゲイン回路１２６と、ストキャスティックコードブック３１０，３２０及びゲインコードブック３１５，３２５は図３の雑音符号帳１２１とそれぞれ対応している。
【０３５９】
このような図１６の構成において、先ず、図１７のステップＳ１に示すように、ＬＰＣ分析回路３０２では、端子３０１から供給された入力音声データｘを前述同様に適当なフレームに分割してＬＰＣ分析を行い、αパラメータを求める。ＬＳＰパラメータ量子化回路３０３では、上記ＬＰＣ分析回路３０２からのαパラメータをＬＳＰパラメータに変換して量子化し、さらにこの量子化したＬＳＰパラメータを補間した後、αパラメータに変換する。次に、当該ＬＳＰパラメータ量子化回路３０３では、当該量子化したＬＳＰパラメータを変換したαパラメータ、すなわち量子化されたαパラメータから、ＬＰＣ合成フィルタ関数１／Ｈ（ｚ）を生成し、これを端子３０５を介して１段目の第２の符号化部１２０1の聴覚重み付き合成フィルタ３１２に送る。
【０３６０】
一方、聴覚重み付けフィルタ３０４では、ＬＰＣ分析回路３０２からのαパラメータ（すなわち量子化前のαパラメータ）から、前記図３の聴覚重み付けフィルタ算出回路１３９によるものと同じ聴覚重み付けのためのデータを求め、この重み付けのためのデータが端子３０７を介して、１段目の第２の符号化部１２０1の聴覚重み付き合成フィルタ３１２に送られる。また、当該聴覚重み付けフィルタ３０４では、図１７のステップＳ２に示すように、入力音声データと量子化前のαパラメータとから、前記聴覚重み付けした信号（前記図３の聴覚重み付けフィルタ１２５からの出力と同じ信号）を生成する。すなわち、先ず、量子化前のαパラメータから聴覚重み付けフィルタ関数Ｗ（ｚ）を生成し、さらに入力音声データｘに当該フィルタ関数Ｗ（ｚ）を適用してｘW を生成し、これを上記聴覚重み付けした信号として、端子３０６を介して１段目の第２の符号化部１２０1 の減算器３１３に送る。
【０３６１】
１段目の第２の符号化部１２０1 では、９ビットシェイプインデクス出力のストキャスティックコードブック（stochastic code book）３１０からの代表値出力（無声音のＬＰＣ残差に相当するノイズ出力）がゲイン回路３１１に送られ、このゲイン回路３１１にて、ストキャスティックコードブック３１０からの代表値出力に６ビットゲインインデクス出力のゲインコードブック３１５からのゲイン（スカラ値）を乗じ、このゲイン回路３１１にてゲインが乗じられた代表値出力が、１／Ａ（ｚ）＝（１／Ｈ（ｚ））・Ｗ（ｚ）の聴覚重み付きの合成フィルタ３１２に送られる。この重み付きの合成フィルタ３１２からは、図１７のステップＳ３のように、１／Ａ（ｚ）のゼロ入力応答出力が減算器３１３に送られる。当該減算器３１３では、上記聴覚重み付き合成フィルタ３１２からのゼロ入力応答出力と、上記聴覚重み付けフィルタ３０４からの上記聴覚重み付けした信号ｘW とを用いた減算が行われ、この差分或いは誤差が参照ベクトルｒとして取り出される。図１７のステップＳ４に示すように、１段目の第２の符号化部１２０1 でのサーチ時には、この参照ベクトルｒが、距離計算回路３１４に送られ、ここで距離計算が行われ、量子化誤差エネルギＥを最小にするシェイプベクトルｓとゲインｇがサーチされる。ただし、ここでの１／Ａ（ｚ）はゼロ状態である。すなわち、コードブック中のシェイプベクトルｓをゼロ状態の１／Ａ（ｚ）で合成したものをｓsynとするとき、式（４０）を最小にするシェイプベクトルｓとゲインｇをサーチする。
【０３６２】
【数７９】
0003675054.tif 000084
【０３６３】
ここで、量子化誤差エネルギＥを最小とするｓとｇをフルサーチしてもよいが、計算量を減らすために、以下のような方法をとることができる。なお、ｒ(ｎ)等は、ベクトルｒ等の要素を表している。
【０３６４】
第１の方法として、以下の式（４１）に定義するＥsを最小とするシェイプベクトルｓをサーチする。
【０３６５】
【数８０】
0003675054.tif 000085
【０３６６】
第２の方法として、第１の方法により得られたｓより、理想的なゲインは、式（４２）のようになるから、式（４３）を最小とするｇをサーチする。
【０３６７】
【数８１】
0003675054.tif 000086
【０３６８】
Ｅg＝（ｇref−ｇ）2                    （４３）
ここで、Ｅはｇの二次関数であるから、Ｅgを最小にするｇはＥを最小化する。
【０３６９】
上記第１，第２の方法によって得られたｓとｇより、量子化誤差ベクトルｅは次の式（４４）のように計算できる。
【０３７０】
ｅ＝ｒ−ｇｓsyn                        （４４）
これを、２段目の第２の符号化部１２０2 のリファレンス入力として１段目と同様にして量子化する。
【０３７１】
すなわち、上記１段目の第２の符号化部１２０1 の聴覚重み付き合成フィルタ３１２からは、端子３０５及び端子３０７に供給された信号がそのまま２段目の第２の符号化部１２０2の聴覚重み付き合成フィルタ３２２に送られる。また、当該２段目の第２の符号化部１２０2減算器３２３には、１段目の第２の符号化部１２０1にて求めた上記量子化誤差ベクトルｅが供給される。
【０３７２】
次に、図１７のステップＳ５において、当該２段目の第２の符号化部１２０2 でも１段目と同様に処理が行われる。すなわち、５ビットシェイプインデクス出力のストキャスティックコードブック３２０からの代表値出力がゲイン回路３２１に送られ、このゲイン回路３２１にて、当該コードブック３２０からの代表値出力に３ビットゲインインデクス出力のゲインコードブック３２５からのゲインを乗じ、このゲイン回路３２１の出力が、聴覚重み付きの合成フィルタ３２２に送られる。当該重み付きの合成フィルタ３２２からの出力は減算器３２３に送られ、当該減算器３２３にて上記聴覚重み付き合成フィルタ３２２からの出力と１段目の量子化誤差ベクトルｅとの差分が求められ、この差分が距離計算回路３２４に送られてここで距離計算が行われ、量子化誤差エネルギＥを最小にするシェイプベクトルｓとゲインｇがサーチされる。
【０３７３】
上述したような１段目の第２の符号化部１２０1 のストキャストコードブック３１０からのシェイプインデクス出力及びゲインコードブック３１５からのゲインインデクス出力と、２段目の第２の符号化部１２０2 のストキャストコードブック３２０からのインデクス出力及びゲインコードブック３２５からのインデクス出力は、インデクス出力切り換え回路３３０に送られるようになっている。ここで、当該第２の符号化部１２０から２３ビット出力を行うときには、上記１段目と２段目の第２の符号化部１２０1及び１２０2のストキャストコードブック３１０，３２０及びゲインコードブック３１５，３２５からの各インデクスを合わせて出力し、一方、１５ビット出力を行うときには、上記１段目の第２の符号化部１２０1 のストキャストコードブック３１０とゲインコードブック３１５からの各インデクスを出力する。
【０３７４】
その後は、ステップＳ６のようにフィルタ状態がアップデートされる。
【０３７５】
ところで、本実施の形態では、２段目の第２の符号化部１２０2 のインデクスビット数が、シェイプベクトルについては５ビットで、ゲインについては３ビットと非常に少ない。このような場合、適切なシェイプ、ゲインがコードブックに存在しないと、量子化誤差を減らすどころか逆に増やしてしまう可能性がある。
【０３７６】
この問題を防ぐためには、ゲインに０を用意しておけばよいが、ゲインは３ビットしかなく、そのうちの一つを０にしてしまうのは量子化器の性能を大きく低下させてしまう。そこで、比較的多いビット数を割り当てたシェイプベクトルに、要素が全て０のベクトルを用意する。そして、このゼロベクトルを除いて、前述のサーチを行い、量子化誤差が最終的に増えてしまった場合に、ゼロベクトルを選択するようにする。なお、このときのゲインは任意である。これにより、２段目の第２の符号化部１２０2が量子化誤差を増すことを防ぐことができる。
【０３７７】
なお、図１６の例では、２段構成の場合を例に挙げているが、２段に限らず複数段構成とすることができる。この場合、１段目のクローズドループサーチによるベクトル量子化が終了したら、Ｎ段目（２≦Ｎ）ではＮ−１段目の量子化誤差をリファレンス入力として量子化を行い、さらにその量子化誤差をＮ＋１段目のリファレンス入力とする。
【０３７８】
上述したように、図１６及び図１７から、第２の符号化部に多段のベクトル量子化器を用いることにより、従来のような同じビット数のストレートベクトル量子化や共役コードブックなどを用いたものと比較して、計算量が少なくなる。特に、ＣＥＬＰ符号化では、合成による分析（Analysis by Synthesis ）法を用いたクローズドループサーチを用いた時間軸波形のベクトル量子化を行っているため、サーチの回数が少ないことが重要である。また、２段の第２の符号化部１２０1と１２０2の両インデクス出力を用いる場合と、１段目の第２の符号化部１２０1のインデクス出力のみを用いる（２段目の第２の符号化部１２０2の出力インデクスを用いない）場合とを切り換えることにより、簡単にビット数を切り換えることが可能となっている。さらに上述したように、１段目と２段目の第２の符号化部１２０1と１２０2の両インデクス出力を合わせて出力するようなことを行えば、後のデコーダ側において例えば何れかを選ぶようにすることで、デコーダ側でも容易に対応できることになる。すなわち例えば６ｋｂｐｓでエンコードしたパラメータを、２ｋｂｐｓのデコーダでデコードするときに、デコーダ側で容易に対応できることになる。またさらに、例えば２段目の第２の符号化部１２０2のシェイプコードブックにゼロベクトルを含ませることにより、割り当てられたビット数が少ない場合でも、ゲインに０を加えるよりは少ない性能劣化で量子化誤差が増加することを防ぐことが可能となっている。
【０３７９】
次に、上記ストキャスティックコードブックのコードベクトル（シェイプベクトル）は例えば以下のようにして生成することができる。
【０３８０】
例えば、ストキャスティックコードブックのコードベクトルは、いわゆるガウシアンノイズのクリッピングにより生成することができる。具体的には、ガウシアンノイズを発生させ、これを適当なスレシホールド値でクリッピングし、それを正規化することで、コードブックを構成することができる。
【０３８１】
ところが、音声には様々な形態があり、例えば「さ，し，す，せ，そ」のようなノイズに近い子音の音声には、ガウシアンノイズが適しているが、例えば「ぱ，ぴ，ぷ，ぺ，ぽ」のような立ち上がりの激しい子音（急峻な子音）の音声については、対応しきれない。
【０３８２】
そこで、本発明では、全コードベクトルのうち、適当な数はガウシアンノイズとし、残りを学習により求めて上記立ち上がりの激しい子音とノイズに近い子音の何れにも対応できるようにする。例えば、スレシホールド値を大きくとると、大きなピークを幾つか持つようなベクトルが得られ、一方、スレシホールド値を小さくとると、ガウシアンノイズそのものに近くなる。したがって、このようにクリッピングスレシホールド値のバリエーションを増やすことにより、例えば「ぱ，ぴ，ぷ，ぺ，ぽ」のような立ち上がりの激しい子音や、例えば「さ，し，す，せ，そ」のようなノイズに近い子音などに対応でき、明瞭度を向上させることができるようになる。なお、図１８には、図中実線で示すガウシアンノイズと図中点線で示すクリッピング後のノイズの様子を示している。また、図１８の（Ａ）はクリッピングスレシホールド値が１．０の場合（すなわちスレシホールド値が大きい場合）を、図１８の（Ｂ）にはクリッピングスレシホールド値が０．４の場合（すなわちスレシホールド値が小さい場合）を示している。この図１８の（Ａ）及び（Ｂ）から、スレシホールド値を大きくとると、大きなピークを幾つか持つようなベクトルが得られ、一方、スレシホールド値を小さくとると、ガウシアンノイズそのものに近くなることが判る。
【０３８３】
このようなことを実現するため、先ず、ガウシアンノイズのクリッピングにより初期コードブックを構成し、さらに予め適当な数だけ学習を行わないコードベクトルを決めておく。この学習しないコードベクトルは、その分散値が小さいものから順に選ぶようにする。これは、例えば「さ，し，す，せ，そ」のようなノイズに近い子音に対応させるためである。一方、学習を行って求めるコードベクトルは、当該学習のアルゴリズムとしてＬＢＧアルゴリズムを用いるようにする。ここで最適エンコード条件（Nearest Neighbour Condition） でのエンコードは固定したコードベクトルと、学習対象のコードベクトル両方を使用して行う。セントロイドコンディション（Centroid Condition）においては、学習対象のコードベクトルのみをアップデートする。これにより、学習対象となったコードベクトルは「ぱ，ぴ，ぷ，ぺ，ぽ」などの立ち上がりの激しい子音に対応するようになる。
【０３８４】
なお、ゲインは通常通りの学習を行うことで、これらのコードベクトルに対して最適なものが学習できる。
【０３８５】
上述したガウシアンノイズのクリッピングによるコードブックの構成のための処理の流れを図１９に示す。
【０３８６】
この図１９において、ステップＳ１０では、初期化として、学習回数ｎ＝０とし、誤差Ｄ0＝∞とし、最大学習回数ｎmaxを決定し、学習終了条件を決めるスレシホールド値εを決定する。
【０３８７】
次のステップＳ１１では、ガウシアンノイズのクリッピングによる初期コードブックを生成し、ステップＳ１２では学習を行わないコードベクトルとして一部のコードベクトルを固定する。
【０３８８】
次にステップＳ１３では上記コードブックを用いてエンコードを行い、ステップＳ１４では誤差を算出し、ステップＳ１５では（Ｄn-1−Ｄn）／Ｄn＜ε、若しくはｎ＝ｎmaxか否かを判断し、Ｙｅｓと判断した場合には処理を終了し、Ｎｏと判断した場合にはステップＳ１６に進む。
【０３８９】
ステップＳ１６ではエンコードに使用されなかったコードベクトルの処理を行い、次のステップＳ１７ではコードブックのアップデートを行う。次にステップＳ１８では学習回数ｎを１インクリメントし、その後ステップＳ１３に戻る。
【０３９０】
次に、図３の音声信号符号化装置において、Ｖ／ＵＶ（有声音／無声音）判定部１１５の具体例について説明する。
【０３９１】
このＶ／ＵＶ判定部１１５においては、直交変換回路１４５からの出力と、高精度ピッチサーチ部１４６からの最適ピッチと、スペクトル評価部１４８からのスペクトル振幅データと、オープンループピッチサーチ部１４１からの正規化自己相関最大値ｒ(p) と、ゼロクロスカウンタ４１２からのゼロクロスカウント値とに基づいて、当該フレームのＶ／ＵＶ判定が行われる。さらに、ＭＢＥの場合と同様な各バンド毎のＶ／ＵＶ判定結果の境界位置も当該フレームのＶ／ＵＶ判定の一条件としている。
【０３９２】
このＭＢＥの場合の各バンド毎のＶ／ＵＶ判定結果を用いたＶ／ＵＶ判定条件について以下に説明する。
【０３９３】
ＭＢＥの場合の第ｍ番目のハーモニクスの大きさを表すパラメータあるいは振幅｜Ａm｜ は、
【０３９４】
【数８２】
0003675054.tif 000087
【０３９５】
により表せる。この式において、｜Ｓ(j)｜ は、ＬＰＣ残差をＤＦＴしたスペクトルであり、｜Ｅ(j)｜ は、基底信号のスペクトル、具体的には２５６ポイントのハミング窓をＤＦＴしたものである。また、ａm及びｂmは、第ｍ番目のハーモニクスに対応する第ｍバンドに対応する周波数をインデクスｊで表現したときの下限値及び上限値である。また、各バンド毎のＶ／ＵＶ判定のために、ＮＳＲ（ノイズtoシグナル比）を利用する。この第ｍバンドのＮＳＲは、
【０３９６】
【数８３】
0003675054.tif 000088
【０３９７】
と表せ、このＮＳＲ値が所定の閾値（例えば0.3 ）より大のとき（エラーが大きい）ときには、そのバンドでの｜Ａm ｜｜Ｅ(j) ｜による｜Ｓ(j) ｜の近似が良くない（上記励起信号｜Ｅ(j) ｜が基底として不適当である）と判断でき、当該バンドをＵＶ（Unvoiced、無声音）と判別する。これ以外のときは、近似がある程度良好に行われていると判断でき、そのバンドをＶ（Voiced、有声音）と判別する。
【０３９８】
ここで、上記各バンド（ハーモニクス）のＮＳＲは、各ハーモニクス毎のスペクトル類似度をあらわしている。ＮＳＲのハーモニクスのゲインによる重み付け和をとったものをＮＳＲall として次のように定義する。
【０３９９】
ＮＳＲall ＝（Σm ｜Ａm ｜ＮＳＲm ）／（Σm ｜Ａm ｜）
このスペクトル類似度ＮＳＲall がある閾値より大きいか小さいかにより、Ｖ／ＵＶ判定に用いるルールベースを決定する。ここでは、この閾値をＴｈNSR ＝0.3 としておく。このルールベースは、フレームパワー、ゼロクロス、ＬＰＣ残差の自己相関の最大値に関するものであり、ＮＳＲall ＜ＴｈNSR のときに用いられるルールベースでは、ルールが適用されるとＶとなり適用されるルールがなかった場合はＵＶとなる。
【０４００】
また、ＮＳＲall ≧ＴｈNSR のときに用いられるルールベースでは、ルールが適用されるとＵＶ、適用されないとＶとなる。
【０４０１】
ここで、具体的なルールは、次のようなものである。
ＮＳＲall ＜ＴｈNSR のとき、
if numZeroＸＰ＜２４、& frmPow＞３４０、& r0＞0.32 then Ｖ
ＮＳＲall ≧ＴｈNSR のとき、
if numZeroＸＰ＞３０、& frmPow＜９００、& r0＜0.23 then ＵＶ
ただし、各変数は次のように定義される。
numZeroＸＰ：１フレーム当たりのゼロクロス回数
frmPow     ：フレームパワー
r0         ：自己相関最大値
上記のようなルールの集合であるルールに照合することで、Ｖ／ＵＶを判定する。
【０４０２】
次に、図４の音声復号化装置（デコーダ）の要部のより具体的な構成及び動作について説明する。
【０４０３】
スペクトルエンベロープの逆ベクトル量子化器２１２においては、上述したような音声符号化装置（エンコーダ）側でのベクトル量子化器の構成に対応した逆ベクトル量子化構成が用いられる。
【０４０４】
例えば、エンコーダ側で上記図１０に示した構成によりベクトル量子化が施されている場合に、デコーダ側では、与えられたインデクスに応じて符号帳５３０のシェイプコードブックＣＢ０，ＣＢ１及びゲインコードブックＤＢg から、コードベクトルｓ0，ｓ1及びゲインｇがそれぞれ読み出され、ｇ（ｓ0＋ｓ1）の固定次元（例えば４４次元）のベクトルとして取り出され、元のハーモニクススペクトルのベクトルの次元数に対応する可変次元のベクトルに変換（固定／可変次元変換）される。
【０４０５】
また、エンコーダ側で、図１２〜図１５のように、可変次元ベクトルに固定次元コードベクトルを加算するようなベクトル量子化器の構成を有する場合には、デコーダ側では、可変次元用のコードブック（例えば図１２のコードブックＣＢ０）から読み出されたコードベクトルについては固定／可変次元変換し、これに固定次元用のコードブック（図１２ではコードブックＣＢ１）から読み出された固定次元のコードベクトルをハーモニクスの低域側から次元数分だけ加算して、取り出すようにしている。
【０４０６】
次に、図４のＬＰＣ合成フィルタ２１４は、上述したように、Ｖ（有声音）用の合成フィルタ２３６と、ＵＶ（無声音）用の合成フィルタ２３７とに分離されている。すなわち、合成フィルタを分離せずにＶ／ＵＶの区別なしに連続的にＬＳＰの補間を２０サンプルすなわち２．５ｍsec 毎に行う場合には、Ｖ→ＵＶ、ＵＶ→Ｖの遷移（トランジェント）部において、全く性質の異なるＬＳＰ同士を補間することになり、Ｖの残差にＵＶのＬＰＣが、ＵＶの残差にＶのＬＰＣが用いられることにより異音が発生するが、このような悪影響を防止するために、ＬＰＣ合成フィルタをＶ用とＵＶ用とで分離し、ＬＰＣの係数補間をＶとＵＶとで独立に行わせたものである。
【０４０７】
この場合の、ＬＰＣ合成フィルタ２３６、２３７の係数補間方法について説明する。これは、次の表３に示すように、Ｖ／ＵＶの状態に応じてＬＳＰの補間を切り換えている。
【０４０８】
【表３】
0003675054.tif 000089
【０４０９】
この表３において、均等間隔ＬＳＰとは、例えば１０次のＬＰＣ分析の例で述べると、フィルタの特性がフラットでゲインが１のときのαパラメータ、すなわち α0＝１，α1＝α2＝・・・＝α10＝０に対応するＬＳＰであり、
ＬＳＰi ＝（π／１１）×ｉ        ０≦ｉ≦１０
である。
【０４１０】
このような１０次のＬＰＣ分析、すなわち１０次のＬＳＰの場合は、図２０に示す通り、０〜πの間を１１等分した位置に均等間隔で配置されたＬＳＰで、完全にフラットなスペクトルに対応している。合成フィルタの全帯域ゲインはこのときが最小のスルー特性となる。
【０４１１】
図２１は、ゲイン変化の様子を概略的に示す図であり、ＵＶ（無声音）部分からＶ（有声音）部分への遷移時における１／ＨUV(z) のゲイン及び１／ＨV(z)のゲインの変化の様子を示している。
【０４１２】
ここで、補間を行う単位は、フレーム間隔が１６０サンプル（２０ｍsec ）のとき、１／ＨV(z)の係数は２．５ｍsec （２０サンプル）毎、また１／ＨUV(z) の係数は、ビットレートが２ｋbps で１０ｍsec （８０サンプル）、６ｋbps で５ｍsec （４０サンプル）毎である。なお、ＵＶ時はエンコード側の第２の符号化部１２０で合成による分析法を用いた波形マッチングを行っているので、必ずしも均等間隔ＬＳＰと補間せずとも、隣接するＶ部分のＬＳＰとの補間を行ってもよい。ここで、第２の符号化部１２０におけるＵＶ部の符号化処理においては、Ｖ→ＵＶへの遷移部で１／Ａ(z) の重み付き合成フィルタ１２２の内部状態をクリアすることによりゼロインプットレスポンスを０にする。
【０４１３】
これらのＬＰＣ合成フィルタ２３６、２３７からの出力は、それぞれ独立に設けられたポストフィルタ２３８ｖ、２３８ｕに送られており、ポストフィルタもＶとＵＶとで独立にかけることにより、ポストフィルタの強度、周波数特性をＶとＵＶとで異なる値に設定している。
【０４１４】
次に、ＬＰＣ残差信号、すなわちＬＰＣ合成フィルタ入力であるエクサイテイションの、Ｖ部とＵＶ部のつなぎ部分の窓かけについて説明する。これは、図４の有声音合成部２１１のサイン波合成回路２１５と、無声音合成部２２０の窓かけ回路２２３とによりそれぞれ行われるものである。なお、エクサイテイションのＶ部の合成方法については、本件出願人が先に提案した特願平４−９１４２２号の明細書及び図面に具体的な説明が、また、Ｖ部の高速合成方法については、本件出願人が先に提案した特願平６−１９８４５１号の明細書及び図面に具体的な説明が、それぞれ開示されている。今回の具体例では、この高速合成方法を用いてＶ部のエクサイテイションを生成している。
【０４１５】
Ｖ（有声音）部分では、隣接するフレームのスペクトルを用いてスペクトルを補間してサイン波合成するため、図２２に示すように、第ｎフレームと第ｎ＋１フレームとの間にかかる全ての波形を作ることができる。しかし、図２２の第ｎ＋１フレームと第ｎ＋２フレームとのように、ＶとＵＶ（無声音）に跨る部分、あるいはその逆の部分では、ＵＶ部分は、フレーム中に±８０サンプル（全１６０サンプル＝１フレーム間隔）のデータのみをエンコード及びデコードしている。このため、図２３に示すように、Ｖ側ではフレームとフレームとの間の中心点ＣＮを越えて窓かけを行い、ＵＶ側では中心点ＣＮ移行の窓かけを行って、接続部分をオーバーラップさせている。ＵＶ→Ｖの遷移（トランジェント）部分では、その逆を行っている。なお、Ｖ側の窓かけは破線のようにしてもよい。
【０４１６】
次に、Ｖ（有声音）部分でのノイズ合成及びノイズ加算について説明する。これは、図４のノイズ合成回路２１６、重み付き重畳回路２１７、及び加算器２１８を用いて、有声音部分のＬＰＣ合成フィルタ入力となるエクサイテイションについて、次のパラメータを考慮したノイズをＬＰＣ残差信号の有声音部分に加えることにより行われる。
【０４１７】
すなわち、上記パラメータとしては、ピッチラグＰch、有声音のスペクトル振幅Ａm[i]、フレーム内の最大スペクトル振幅Ａmax 、及び残差信号のレベルＬevを挙げることができる。ここで、ピッチラグＰchは、所定のサンプリング周波数ｆs （例えばｆs＝８kHz）でのピッチ周期内のサンプル数であり、スペクトル振幅Ａm[i]のｉは、ｆs／２ の帯域内でのハーモニックスの本数をＩ＝Ｐch／２とするとき、０＜ｉ＜Ｉの範囲内の整数である。
【０４１８】
このノイズ合成回路２１６による処理は、例えばＭＢＥ（マルチバンド励起）符号化の無声音の合成と同様な方法で行われる。図２４は、ノイズ合成回路２１６の具体例を示している。
【０４１９】
すなわち図２４において、ホワイトノイズ発生部４０１からは、時間軸上のホワイトノイズ信号波形に所定の長さ（例えば２５６サンプル）で適当な窓関数（例えばハミング窓）により窓かけされたガウシャンノイズが出力され、これがＳＴＦＴ処理部４０２によりＳＴＦＴ（ショートタームフーリエ変換）処理を施すことにより、ノイズの周波数軸上のパワースペクトルを得る。このＳＴＦＴ処理部４０２からのパワースペクトルを振幅処理のための乗算器４０３に送り、ノイズ振幅制御回路４１０からの出力を乗算している。乗算器４０３からの出力は、ＩＳＴＦＴ処理部４０４に送られ、位相は元のホワイトノイズの位相を用いて逆ＳＴＦＴ処理を施すことにより時間軸上の信号に変換する。ＩＳＴＦＴ処理部４０４からの出力は、重み付き重畳加算回路２１７に送られる。
【０４２０】
なお、上記図２４の例においては、ホワイトノイズ発生部４０１から時間領域のノイズを発生してそれをＳＴＦＴ等の直交変換を行うことで周波数領域のノイズを得ていたが、ノイズ発生部から直接的に周波数領域のノイズを発生するようにしてもよい。すなわち、周波数領域のパラメータを直接発生することにより、ＳＴＦＴやＦＦＴ等の直交変換処理が節約できる。
【０４２１】
具体的には、±ｘの範囲の乱数を発生しそれをＦＦＴスペクトルの実部と虚部として扱うようにする方法や、０から最大値（ｍａｘ）までの範囲の正の乱数を発生しそれをＦＦＴスペクトルの振幅として扱い、−πからπまでの乱数を発生しそれをＦＦＴスペクトルの位相として扱う方法などが挙げられる。
【０４２２】
こうすることにより、図２４のＳＴＦＴ処理部４０２が不要となり、構成の簡略化あるいは演算量の低減が図れる。
【０４２３】
ノイズ振幅制御回路４１０は、例えば図２５のような基本構成を有し、上記図４のスペクトルエンベロープの逆量子化器２１２から端子４１１を介して与えられるＶ（有声音）についての上記スペクトル振幅Ａm[i]と、上記図４の入力端子２０４から端子４１２を介して与えられる上記ピッチラグＰchに基づいて、乗算器４０３での乗算係数を制御することにより、合成されるノイズ振幅Ａm_noise[i]を求めている。すなわち図２５において、スペクトル振幅Ａm[i]とピッチラグＰchとが入力される最適なnoise_mix 値の算出回路４１６からの出力をノイズの重み付け回路４１７で重み付けし、得られた出力を乗算器４１８に送ってスペクトル振幅Ａm[i]と乗算することにより、ノイズ振幅Ａm_noise[i]を得ている。
【０４２４】
ここで、ノイズ合成加算の第１の具体例として、ノイズ振幅Ａm_noise[i]が、上記４つのパラメータの内の２つ、すなわちピッチラグＰch及びスペクトル振幅Ａm[i]の関数ｆ1(Pch,Am[i])となる場合について説明する。
【０４２５】
このような関数ｆ1(Pch,Am[i])の具体例として、
ｆ1(Pch,Am[i])＝０                  （０＜ｉ＜Noise_b×Ｉ）
ｆ1(Pch,Am[i])＝Am[i]×noise_mix    （Noise_b×Ｉ≦ｉ＜Ｉ）
noise_mix ＝ Ｋ×Ｐch／２.0
とすることが挙げられる。
【０４２６】
ただし、noise_mix の最大値は、noise_mix_max とし、その値でクリップする。一例として、Ｋ＝０.0２、noise_mix_max＝０.３、Noise_b＝０.７とすることが挙げられる。ここで、Noise_b は、全帯域の何割からこのノイズの付加を行うかを決める定数である。本例では、７割より高域側、すなわちｆs＝８kHzのとき、４０００×０．７＝２８００Hzから４０００Hzの間でノイズを付加するようにしている。
【０４２７】
次に、ノイズ合成加算の第２の具体例として、上記ノイズ振幅Ａm_noise[i]を、上記４つのパラメータの内の３つ、すなわちピッチラグＰch、スペクトル振幅Ａm[i]及び最大スペクトル振幅Ａmax の関数ｆ2(Pch,Am[i],Amax) とする場合について説明する。
【０４２８】
このような関数ｆ2(Pch,Am[i],Amax) の具体例として、
ｆ2(Pch,Am[i],Amax)＝０                  （０＜ｉ＜Noise_b×Ｉ）
ｆ2(Pch,Am[i],Amax)＝Am[i]×noise_mix    （Noise_b×Ｉ≦ｉ＜Ｉ）
noise_mix ＝ Ｋ×Ｐch／２.0
を挙げることができる。ただし、noise_mix の最大値は、noise_mix_max とし、一例として、Ｋ＝０.0２、noise_mix_max＝０.３、Noise_b＝０.７とすることが挙げられる。
【０４２９】
さらに、
もしＡm[i]×noise_mix＞Ａmax×Ｃ×noise_mix ならば、
ｆ2(Pch,Am[i],Amax)＝Ａmax×Ｃ×noise_mix
とする。ここで、定数Ｃは、Ｃ＝０.３ としている。この条件式によりノイズレベルが大きくなり過ぎることを防止できるため、上記Ｋ、noise_mix_max をさらに大きくしてもよく、高域のレベルも比較的大きいときにノイズレベルを高めることができる。
【０４３０】
次に、ノイズ合成加算の第３の具体例として、上記ノイズ振幅Ａm_noise[i]を、上記４つのパラメータの内の４つ全ての関数ｆ3(Pch,Am[i],Amax,Lev) とすることもできる。
【０４３１】
このような関数ｆ3(Pch,Am[i],Amax,Lev) の具体例は、基本的には上記第２の具体例の関数ｆ2(Pch,Am[i],Amax) と同様である。ただし、残差信号レベルLev は、スペクトル振幅Ａm[i]のｒｍｓ（root mean square）、あるいは時間軸上で測定した信号レベルである。上記第２の具体例との違いは、Ｋの値とnoise_mix_max の値とをLev の関数とする点である。すなわち、Lev が小さくなったときには、Ｋ、noise_mix_max の各値を大きめに設定し、Lev が大きいときは小さめに設定する。あるいは、連続的にLev の値を逆比例させてもよい。
【０４３２】
次に、ポストフィルタ２３８ｖ、２３８ｕについて説明する。
【０４３３】
図２６は、図４の例のポストフィルタ２３８ｖ、２３８ｕとして用いられるポストフィルタを示しており、ポストフィルタの要部となるスペクトル整形フィルタ４４０は、ホルマント強調フィルタ４４１と高域強調フィルタ４４２とから成っている。このスペクトル整形フィルタ４４０からの出力は、スペクトル整形によるゲイン変化を補正するためのゲイン調整回路４４３に送られており、このゲイン調整回路４４３のゲインＧは、ゲイン制御回路４４５により、スペクトル整形フィルタ４４０の入力ｘと出力ｙと比較してゲイン変化を計算し、補正値を算出することで決定される。
【０４３４】
スペクトル整形フィルタの４４０特性ＰＦ(z) は、ＬＰＣ合成フィルタの分母Ｈv(z)、Ｈuv(z) の係数、いわゆるαパラメータをαi とすると、
【０４３５】
【数８４】
0003675054.tif 000090
【０４３６】
と表せる。この式の分数部分がホルマント強調フィルタ特性を、（１−ｋｚ-1）の部分が高域強調フィルタ特性をそれぞれ表す。また、β、γ、ｋは定数であり、一例としてβ＝０．６、γ＝０．８、ｋ＝０．３を挙げることができる。
【０４３７】
また、ゲイン調整回路４４３のゲインＧは、
【０４３８】
【数８５】
0003675054.tif 000091
【０４３９】
としている。この式中のｘ(i) はスペクトル整形フィルタ４４０の入力、ｙ(i) はスペクトル整形フィルタ４４０の出力である。
【０４４０】
ここで、上記スペクトル整形フィルタ４４０の係数の更新周期は、図２７に示すように、ＬＰＣ合成フィルタの係数であるαパラメータの更新周期と同じく２０サンプル、２．５ｍsec であるのに対して、ゲイン調整回路４４３のゲインＧの更新周期は、１６０サンプル、２０ｍsec である。
【０４４１】
このように、ポストフィルタのスペクトル整形フィルタ４４０の係数の更新周期に比較して、ゲイン調整回路４４３のゲインＧの更新周期を長くとることにより、ゲイン調整の変動による悪影響を防止している。
【０４４２】
すなわち、一般のポストフィルタにおいては、スペクトル整形フィルタの係数の更新周期とゲインの更新周期とを同じにしており、このとき、ゲインの更新周期を２０サンプル、２．５ｍsec とすると、図２７からも明らかなように、１ピッチ周期の中で変動することになり、クリックノイズを生じる原因となる。そこで本例においては、ゲインの切換周期をより長く、例えば１フレーム分の１６０サンプル、２０ｍsec とすることにより、急激なゲインの変動を防止することができる。また逆に、スペクトル整形フィルタの係数の更新周期を１６０サンプル、２０ｍsec とするときには、円滑なフィルタ特性の変化が得られず、合成波形に悪影響が生じるが、このフィルタ係数の更新周期を２０サンプル、２．５ｍsec と短くすることにより、効果的なポストフィルタ処理が可能となる。
【０４４３】
なお、隣接するフレーム間でのゲインのつなぎ処理は、図２８に示すように、前フレームのフィルタ係数及びゲインと、現フレームのフィルタ係数及びゲインとを用いて算出した結果に、次のような三角窓
Ｗ(i) ＝ ｉ／２０  （０≦ｉ≦２０）
と
１−Ｗ(i)          （０≦ｉ≦２０）
をかけてフェードイン、フェードアウトを行って加算する。図２８では、前フレームのゲインＧ1 が現フレームのゲインＧ2 に変化する様子を示している。すなわち、オーバーラップ部分では、前フレームのゲイン、フィルタ係数を使用する割合が徐々に減衰し、現フレームのゲイン、フィルタ係数の使用が徐々に増大する。なお、図２８の時刻Ｔにおけるフィルタの内部状態は、現フレームのフィルタ、前フレームのフィルタ共に同じもの、すなわち前フレームの最終状態からスタートする。
【０４４４】
以上説明したような信号符号化装置及び信号復号化装置は、例えば図２９及び図３０に示すような携帯通信端末あるいは携帯電話機等に使用される音声コーデックとして用いることができる。
【０４４５】
すなわち、図２９は、上記図１、図３に示したような構成を有する音声符号化部１６０を用いて成る携帯端末の送信側構成を示している。この図２９のマイクロホン１６１で集音された音声信号は、アンプ１６２で増幅され、Ａ／Ｄ（アナログ／ディジタル）変換器１６３でディジタル信号に変換されて、音声符号化部１６０に送られる。この音声符号化部１６０は、上述した図１、図３に示すような構成を有しており、この入力端子１０１に上記Ａ／Ｄ変換器１６３からのディジタル信号が入力される。音声符号化部１６０では、上記図１、図３と共に説明したような符号化処理が行われ、図１、図２の各出力端子からの出力信号は、音声符号化部１６０の出力信号として、伝送路符号化部１６４に送られる。伝送路符号化部１６４では、いわゆるチャネルコーディング処理が施され、その出力信号が変調回路１６５に送られて変調され、Ｄ／Ａ（ディジタル／アナログ）変換器１６６、ＲＦアンプ１６７を介して、アンテナ１６８に送られる。
【０４４６】
また、図３０は、上記図２、図４に示したような構成を有する音声復号化部２６０を用いて成る携帯端末の受信側構成を示している。この図３０のアンテナ２６１で受信された音声信号は、ＲＦアンプ２６２で増幅され、Ａ／Ｄ（アナログ／ディジタル）変換器２６３を介して、復調回路２６４に送られ、復調信号が伝送路復号化部２６５に送られる。２６４からの出力信号は、上記図２、図４に示すような構成を有する音声復号化部２６０に送られる。音声復号化部２６０では、上記図２、図４と共に説明したような復号化処理が施され、図２、図４の出力端子２０１からの出力信号が、音声復号化部２６０からの信号としてＤ／Ａ（ディジタル／アナログ）変換器２６６に送られる。このＤ／Ａ変換器２６６からのアナログ音声信号がスピーカ２６８に送られる。
【０４４７】
なお、本発明は上記実施の形態のみに限定されるものではなく、例えば上記図１、図３の音声分析側（エンコード側）の構成や、図２、図４の音声合成側（デコード側）の構成については、各部をハードウェア的に記載しているが、いわゆるＤＳＰ（ディジタル信号プロセッサ）等を用いてソフトウェアプログラムにより実現することも可能である。また、ベクトル量子化は、音声符号化のみならず、他の種々の信号のベクトル量子化に適用できる。さらに、本発明の音声符号化方法や装置の適用範囲は、伝送や記録再生に限定されず、ピッチ変換やスピード変換、規則音声合成、あるいは雑音抑圧のような種々の用途に応用できることは勿論である。
【０４４８】
【発明の効果】
以上の説明から明らかなように、本発明によれば、可変次元の入力ベクトルをベクトル量子化する際に、符号帳（コードブック）から読み出された固定次元のコードベクトルを元の入力ベクトルの次元と同じ可変次元に変換し、この固定／可変次元変換された可変次元のコードベクトルと、第２の符号帳から読み出された固定次元の第２のコードベクトルとを加算し、この加算されて得られた加算コードベクトルについて可変次元の上記入力ベクトルとの誤差を最小化する最適のコードベクトルを各符号帳より選択しているため、元の可変次元の入力ベクトルとの間の誤差あるいは歪が計算され、量子化ベクトル精度を高めることができると共に、可変次元で最適のコードベクトルを選択するために第１の符号帳から読み出された固定次元のコードベクトルを固定／可変次元変換していることによる影響を、このような固定／可変次元変換を通さない第２の符号帳からの固定次元のコードベクトルと加算することで軽減することができる。
【０４４９】
ここで、符号帳をシェイプ符号帳とゲイン符号帳とで構成する場合に、少なくともゲイン符号帳からのゲインの最適化を可変次元で行うようにすることが挙げられる。
【０４５０】
このように、ゲインを固定／可変次元変換された可変次元のコードベクトルに対して適用することにより、固定コードベクトルをゲイン倍したものを固定／可変次元変換する場合に比べて、固定／可変次元変換による影響を含めた上で最適なゲインが選ばれるため、その影響を少なく抑えることができる。
【０４５１】
このようなベクトル量子化を音声符号化に適用することができ、例えば、入力音声信号又は入力音声信号の短期予測残差をサイン波分析してハーモニクススペクトルを求め、符号化単位毎の上記ハーモニクススペクトルに基づくパラメータを入力ベクトルとしてベクトル量子化する際に適用することができ、精度の高いコードブックサーチによる音質の向上を図ることができる。
【０４５２】
さらに、音声復号化の際には、第１の符号帳から読み出されたコードベクトルを固定／可変次元変換した可変次元のコードベクトルと、第２の符号帳から読み出された固定次元のコードベクトルとを加算して得られたハーモニクススペクトルを用いてサイン波合成復号を行うことにより、品質の高い音声が得られる。
【図面の簡単な説明】
【図１】本発明に係るベクトル量子化方法が適用された音声符号化方法の実施の形態となる音声符号化装置の基本構成を示すブロック図である。
【図２】図１の音声符号化装置により符号化された信号を復号化するための音声復号化装置の基本構成を示すブロック図である。
【図３】本発明の実施の形態となる音声符号化装置のより具体的な構成を示すブロック図である。
【図４】図２の音声復号化装置のより具体的な構成を示すブロック図である。
【図５】ＬＳＰ量子化部の基本構成を示すブロック図である。
【図６】ＬＳＰ量子化部のより具体的な構成を示すブロック図である。
【図７】ベクトル量子化部の基本構成を示すブロック図である。
【図８】ベクトル量子化部のより具体的な構成を示すブロック図である。
【図９】重み付けの重みの具体例を示すグラフである。
【図１０】符号帳検索を可変次元で行うベクトル量子化器の構成例を示すブロック回路図である。
【図１１】符号帳検索を可変次元で行うベクトル量子化器の他の構成例を示すブロック回路図である。
【図１２】可変次元用の符号帳と固定次元用の符号帳とを用いるベクトル量子化器の第１の構成例を示すブロック回路図である。
【図１３】可変次元用の符号帳と固定次元用の符号帳とを用いるベクトル量子化器の第２の構成例を示すブロック回路図である。
【図１４】可変次元用の符号帳と固定次元用の符号帳とを用いるベクトル量子化器の第３の構成例を示すブロック回路図である。
【図１５】可変次元用の符号帳と固定次元用の符号帳とを用いるベクトル量子化器の第５の構成例を示すブロック回路図である。
【図１６】本発明の音声信号符号化装置のＣＥＬＰ符号化部分（第２の符号化部）の具体的構成を示すブロック回路図である。
【図１７】図１６の構成における処理の流れを示すフローチャートである。
【図１８】ガウシアンノイズと、異なるスレシホールド値でのクリッピング後のノイズの様子を示す図である。
【図１９】学習によってシェイプコードブックを生成する際の処理の流れを示すフローチャートである。
【図２０】１０次のＬＰＣ分析により得られたαパラメータに基づく１０次のＬＳＰ（線スペクトル対）を示す図である。
【図２１】ＵＶ（無声音）フレームからＶ（有声音）フレームへのゲイン変化の様子を説明するための図である。
【図２２】フレーム毎に合成されるスペクトルや波形の補間処理を説明するための図である。
【図２３】Ｖ（有声音）フレームとＵＶ（無声音）フレームとの接続部でのオーバーラップを説明するための図である。
【図２４】有声音合成の際のノイズ加算処理を説明するための図である。
【図２５】有声音合成の際に加算されるノイズの振幅計算の例を示す図である。
【図２６】ポストフィルタの構成例を示す図である。
【図２７】ポストフィルタのフィルタ係数更新周期とゲイン更新周期とを説明するための図である。
【図２８】ポストフィルタのゲイン、フィルタ係数のフレーム境界部分でのつなぎ処理を説明するための図である。
【図２９】本発明の実施の形態となる音声信号符号化装置が用いられる携帯端末の送信側構成を示すブロック図である。
【図３０】本発明の実施の形態となる音声信号復号化装置が用いられる携帯端末の受信側構成を示すブロック図である。
【符号の説明】
１１０  第１の符号化部、  １１１  ＬＰＣ逆フィルタ、  １１３  ＬＰＣ分析・量子化部、  １１４  サイン波分析符号化部、  １１５  Ｖ／ＵＶ判定部、１１６  ベクトル量子化器、  １２０  第２の符号化部、  １２１  雑音符号帳、  １２２  重み付き合成フィルタ、  １２３  減算器、  １２４  距離計算回路、  １２５  聴覚重み付けフィルタ、  ５３０  符号帳（コードブック）、５３１  シェイプコードブック、  ５３２  ゲインコードブック、  ５３３  ゲイン回路、  ５３５  仮選択用の選択回路、  ５４２  可変／固定次元変換回路、  ５４４  固定／可変次元変換回路、  ５４５  本選択用の選択回路
【図１】
0003675054.tif 000092
【図２】
0003675054.tif 000093
【図３】
0003675054.tif 000094
【図４】
0003675054.tif 000095
【図５】
0003675054.tif 000096
【図６】
0003675054.tif 000097
【図７】
0003675054.tif 000098
【図８】
0003675054.tif 000099
【図９】
0003675054.tif 000100
【図１０】
0003675054.tif 000101
【図１１】
0003675054.tif 000102
【図１２】
0003675054.tif 000103
【図１３】
0003675054.tif 000104
【図１４】
0003675054.tif 000105
【図１５】
0003675054.tif 000106
【図１６】
0003675054.tif 000107
【図１７】
0003675054.tif 000108
【図１８】
0003675054.tif 000109
【図１９】
0003675054.tif 000110
【図２０】
0003675054.tif 000111
【図２１】
0003675054.tif 000112
【図２２】
0003675054.tif 000113
【図２３】
0003675054.tif 000114
【図２４】
0003675054.tif 000115
【図２５】
0003675054.tif 000116
【図２６】
0003675054.tif 000117
【図２７】
0003675054.tif 000118
【図２８】
0003675054.tif 000119
【図２９】
0003675054.tif 000120
【図３０】
0003675054.tif 000121