(57)【特許請求の範囲】
【請求項１】
複数のサブフレームの利得の最適値を決定し、
利得の最適値を使用してサブフレームを符号化した後に符号化器の内部状態を格納し、
当該複数のサブフレームの利得をベクトル量子化し、
複数のサブフレームの利得をベクトル量子化した後で、符号化器の内部状態を復元し、
決定されたコードブックベクトルと前記ベクトル量子化した利得を使用して、前記符号化器の内部状態を更新することを特徴とする線形予測合成解析符号化方法。
【請求項２】
前記符号化器の内部状態は、適用コードブックの状態、合成フィルタの状態、及び重み付けフィルタの状態を含むものであることを特徴とする請求項１に記載の方法。
【請求項３】
２つのサブフレームの利得をベクトル量子化することを特徴とする請求項１または２に記載された方法。
【請求項４】
前記フレームのすべてのサブフレームのすべての利得をベクトル量子化することを特徴とする請求項１または２に記載された方法。
【請求項５】
ベクトル量子化において、重み付け係数によって異なるサブフレームの誤差を重み付けし、
重み付け誤差の合計を最小化することを特徴とする請求項１に記載の方法。
【請求項６】
各重み付け係数は、対応するサブフレームのエネルギーに依存して定められることを特徴とする請求項６に記載の方法。
【請求項７】
複数のサブフレームの最適利得を決定するための検索アルゴリズムブロック（５０）と、
最適利得を使用してサブフレームを符号化した後で符号化器の内部状態を格納する手段（５２、５４、５６）と、
当該最適利得をベクトル量子化するベクトル量子化器（５８）と、
複数のサブフレームの利得をベクトル量子化した後で、前記符号化器の内部状態を復元する手段（５０）と、
決定されたコードブックベクトルと前記ベクトル量子化された利得とから符号化器の内部状態を更新する手段（５０）と、
を具備することを特徴とする線形予測合成解析符号化器。
【請求項８】
前記符号化器の内部状態の格納手段は、適用コードブック状態格納手段（５２）と、合成フィルタ状態格納手段（５４）と、重み付けフィルタ状態格納手段（５６）とを含む請求項７に記載された符号化器。
【請求項９】
前記ベクトル量子化器は、２つのサブフレームの利得をベクトル量子化する手段を具備することを特徴とする請求項７または８に記載された符号化器。
【請求項１０】
前記ベクトル量子化器は、１つのスピーチフレームのすべてのサブフレームのすべての利得をベクトル量子化する手段を具備することを特徴とする請求項７または８に記載された符号化器。
【請求項１１】
ベクトル量子化器は、重み付け係数によって異なるサブフレームの誤差の寄与を重み付け、重み付け誤差の寄与の合計を最小化する手段（５８）を具備することを特徴とする請求項７記載の符号化器。
【請求項１２】
手段（５８）は、対応するサブフレームのエネルギーに依存する重み付け係数を定めることを特徴とする請求項１１に記載の符号化器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は線形予測合成解析（LPAS: Linear Predictive Analysis-by-Synthesis）符号化方法及び符号化器に関するものである。
【０００２】
【技術背景】
セルラー通信の分野で最も多く使われている符号化器は符号励振線形予測（ＣＥＬＰ）技術である。この波形マッチング手段は、およそ８ｋｂ／ｓ以上のビットレートに対しては性能が良いことが知られている。しかし、ビットレートが低くなると、符号化効率が下がり、各パラメータに使用できるビット数が少なくなると共に量子化精度が低下する。
【０００３】
文献１と２には、複数のサブフレームにわたって、利得パラメータに関連する情報を累積的にベクトル量子化する方法を提案している。しかし、これらの方法は、符号化器と復号器の内部状態を考慮していない。その結果、復号器で復号された信号は、符号化器で合成された最適信号とは異なっている。
【０００４】
【発明の要旨】
本発明の対象の１つは、低ビットレート、典型的には８ｋｂｉｔｓ／ｓ以下のビットレートに対して効率がよく、符号化器の内部状態と復号器の内部状態とを同期させる、線形予測合成解析（ＬＰＡＳ）ＣＥＬＰに基づく符号化方法と符号化器である。
【０００５】
この目的は添付の請求項に規定される発明によって達成される。
簡潔に言えば、本発明は、複数のサブフレームの最適利得パラメータをベクトル量子化することによって符号化効率を向上させる。その後、内部符号化器の状態をベクトル量子化した利得を使用して更新する。このことによって、符号化器と復号器の内部状態の同期を維持しながらフレームを符号化するために必要なビット数を低減することができる。
【０００６】
添付の図面を参照しながら以下の記述を読むことによって本発明のさらに別の目的や利点が理解されるはずである。
【０００７】
本発明の理解を助けるために、まず典型的なＬＰＡＳ符号化器を簡単に説明する。
図１は、従来技術に属する典型的なＬＰＡＳ符号化器を示すブロック図である。符号化器は、解析部と合成部とを具備している。
【０００８】
解析部では、線形予測器１０が、（典型的には、８０００Ｈｚでスピーチをサンプルした、長さ２０ｍｓの）スピーチフレームを受信し、量子化器１２によって量子化した後で合成フィルタ１２（典型的な場合は、次数１０の全−ポールフィルタ）を制御するためのフィルタ係数を決定する。量子化されていないフィルタ係数は、重み付けフィルタ１６を制御するためにも使用される。
【０００９】
合成部では、適用コードブック１８と固定コードブック２０からのコードベクトルがスケーリングエレメント２２、２４で計量され、計量されたベクトルは加算器２６で加算されて、合成フィルタ１４を励起させる励起ベクトルが作成され、合成スピーチ信号ｓが得られる。フィードバックライン２８が適用コードブック１８に新しい励起ベクトルを追加して更新する。
【００１０】
加算器３０は実際にスピーチ信号ｓと合成されたスピーチ信号ｓとの相違ｅを作成する。誤差ｅの信号は、重み付けフィルタ１６で重み付けされ、重み付けされた誤算信号ｅｗは検索アルゴリズムブロック３２に転送される。検索アルゴリズムブロック３２は、フレームにわたって、下記の測定距離を最小にする、コードブック１８、２０からのコードベクトルｃａ、ｃｆ、制御ライン３４、３６、３８と４０からのスケールエレメント２２、２４の利得ｇａとｇｆとの最も好ましい組み合わせを決定する。
【数１】
0003893244.tif 000002
ここで、Ｗは、重み付けフィルタマトリックスであり、Ｈは合成フィルタマトリックスである。
【００１１】
検索アルゴリズムは以下のように要約することができる。
各フレームについて、
１．線形予測に基づいて合成フィルタ１４を算出して、フィルタ係数を量子化する。
２．現在と次のフレームの線形予測係数を補間して（分野によっては線スペクトル周波数）、各サブフレームのための線形予測係数を求める（典型的な場合においては、８０００Ｈｚでサンプリングされた音声の５ｍｓ分、４０サンプル）。重み付けフィルタ１６は線形予測フィルタ係数から算出する。
【００１２】
上記フレーム内の各サブフレームについて、
１．ｇｆがゼロで、ｇａが最適値（量子化されない）に等しいと仮定して、適用コードブック１８を検索してコードベクトルｃａを見つける。
２．前のステップで発見されたコードベクトルｃａと利得ｇａを使用して、固定コードブック２０を検索してコードベクトルｃｆを発見する。利得ｇｆは（量子化していない）最適値と等しいと仮定する。
３．利得係数ｇａとｇｆを量子化する。量子化方法は、スカラーまたはベクトル量子化のいずれかである。
４．ｃａとｃｆに基づいて作成した励起信号とｇａとｇｆの量子化した値で適用コードブック１８を更新する。合成状態と重み付けフィルタを更新する。
【００１３】
上述の構造では、それぞれのサブフレームは個別に符号化される。このことによって、符号化器と復号器の同期が容易になることがＬＰＡＳ符号化の基本的な特徴である。サブフレームを個別に符号化するので、符号化器の合成部に相当する復号器の内部状態は、符号化器の内部状態が符号化の途中で更新されたように、復号の途中で更新される。このことによって符号化器と復号器の内部状態の同期が図られる。しかし、ビットレートが低いときにも正確な符号化を可能にすることが知られているベクトル量子化を可能な限り使用することが望ましい。以下に示すように、本発明によれば、複数のサブフレームに関して利得を同時にベクトル量子化して、しかも符号化器と復号器の同期を維持することが可能である。
【００１４】
図２と３に本発明を図示する。
図２は、本発明に基づく方法を示すフロー図である。（従来技術にしたがって、線形予測解析、量子化及び補間がすでに行われたものと仮定して）連続した２つのサブフレームを符号化するために以下のアルゴリズムを使用することができる：
【００１５】
Ｓ１．重み付けられた下記の誤差を最小にするサブフレーム１のための最適な適用コードブックベクトルｃａ１を見つける：
【数２】
0003893244.tif 000003
ここで、式（２）においては、”１”はサブフレーム１を表す。さらに、それぞれの可能性のあるｃａ１の値を評価する際は、ｇａ１に関しては最適な（量子化されていない）値が使用されるものと仮定する。
【００１６】
Ｓ２．可能性の有る各ｃｆ１ベクトルを評価する際はｇｆ１の最適値が使用されると仮定して、重み付けられた下記の誤差を最小化する、サブフレーム１に関する最適固定コードブックベクトルｃｆ１を見つける：
【数３】
0003893244.tif 000004
このステップでは、ステップＳ１で決定したｃａ１ベクトルと最適ｇａ１の値を使用する。
【００１７】
Ｓ３．現在の適用コードブックの状態、現在の合成フィルタの状態と、現在の重み付けフィルタの状態のコピーを格納する。適用コードブックは、ＦＩＦＯ（先入れ先出し）エレメントである。このエレメントの状態は、現在ＦＩＦＯに入っている値によって表現される。フィルタは遅延エレメント、スケーリングエレメント及び加算器の組み合わせである。フィルタの状態は、遅延エレメントへの現在の入力信号とスケーリング値（フィルタ係数）によって表現される。
【００１８】
Ｓ４．適用コードブックの状態、合成フィルタの状態、及び重み付けフィルタの状態を、ステップＳ１とＳ２で見つけたサブフレーム１の現在の励起ベクトル
【数４】
0003893244.tif 000005
を使用して更新する。このようにして、このベクトルは適用コードブックの中にシフトされていく（そして、コードブックの反対側からは同じ長さのベクトルが押し出されていく）。合成フィルタの状態と重み付けフィルタの状態は、それぞれに対応するフィルタ係数を補間された値で更新し、この励起ベクトルを合成フィルタに通して、その結果の誤差ベクトルを重み付けフィルタに通すことで更新される。
【００１９】
Ｓ５．以下に示す重み付け誤差を最小にする、サブフレーム２に最適な適用コードブックベクトルｃａ２を見つける。
【数５】
0003893244.tif 000006
ここで、式（４）において、”２”はサブフレーム２を示す。さらに、可能性の有るそれぞれのｃａ２ベクトルを評価する際は、（量子化されていない）ｇａ２の最適値が使用されるものと仮定した。
【００２０】
Ｓ６．それぞれの可能性の有るｃｆ２ベクトルを評価する際には最適なｇｆ２の値が使用されるものと仮定して、以下に示す重み付けされた誤差を最小にする、サブフレーム２のための最適なコードブックベクトルｃｆ２を見つける：
【数６】
0003893244.tif 000007
このステップでは、ステップＳ５で決定したｃａ２ベクトルと最適なｇａ２の値を使用した。
【００２１】
Ｓ７．４つの利得ｇａ１、ｇｆ１、ｇａ２とｇｆ２すべてをベクトル量子化する。対応する量子化されたベクトル［ｇ-ａ１  ｇ-ｆ１  ｇ-ａ２  ｇ-ｆ２］が、ベクトル量子化器の利得コードブックから得られる。コードブックは以下のように表現することができる。
【数７】
0003893244.tif 000008
ここで、ｃi（０）、ｃi（１）、ｃi（２）およびｃi（３）は、量子化された利得が取ることのできる具体的な値である。ここで、０からＮ−１までの範囲で変化する指標ｉは４つすべての利得を表現するように選択され、ベクトル量子化器の役目はこの指標を発見することである。これは、以下の式を最小化することで達成される。
【数８】
0003893244.tif 000009
ここで、αとβは、定数と第１と第２番目のサブフレームに対する利得量子化基準であって、以下のように表される：
【数９】
0003893244.tif 000010
【数１０】
0003893244.tif 000011
したがって、
【数１１】
0003893244.tif 000012
であって、かつ、
【数１２】
0003893244.tif 000013
【００２２】
Ｓ８．ステップＳ３で格納された状態を読み出して、適用コードブックの状態、合成フィルタの状態及び重み付けフィルタの状態を回復させる
【００２３】
Ｓ９．下記に示す量子化された利得を使用して、第１のサブフレームのための最後の励起を使用して、適用コードブック、合成フィルタと重み付けフィルタを更新する。
【数１３】
0003893244.tif 000014
【００２４】
Ｓ１０．下記に示す量子化された利得を使用して、第２番目のサブフレームのための最終的な励起を使用してコードブック、合成フィルタ及び重み付けフィルタを更新する。
【数１４】
0003893244.tif 000015
【００２５】
これで両方のサブフレームについて符号化プロセスが終了したことになる。次のステップは、次の２つのサブフレームに対してステップＳ１−Ｓ１０を繰り返すか、フレームの終わりに到達したら、次のフレームの線形予測に基づいて符号化サイクルを新たに開始するかである。
【００２６】
適用コードブック、合成フィルタ及び重み付けフィルタを記憶して後に回復する理由は、ステップＳ４でこれらのエレメントを更新する際にまだ量子化されていない（最適）利得を使用したからである。しかし、これらの利得は、現実のスピーチ信号ｓから計算されるものなので、符号化器では使用できない。代りに、復号器では量子化された利得のみが利用可能であり、このことは、利得を量子化した後で、符号化器において正しい内部状態を回復しておかなければならないことを意味する。さもなければ、符号化器と復号器の内部状態は同じにならず、スピーチパラメータが同じであっても、符号化器と復号器ではスピーチ信号が同じにならないことを意味する。
【００２７】
式（７）と（１０）における重み付け係数αとβは、１番目と２番目のサブフレームの相対的な重要性を考慮するために導入されたものである。これらは、エネルギーの大きなサブフレームの重みがエネルギーの低いサブフレームの重みよりも小さくなるようにエネルギーパラメータを使用して決定することが好ましい。このことによって、オンセット（言葉の開始）とオフセット（言葉の終わり）の特性が改善される。例えば、オンセットでもオフセットでもない音声の継続時間に基づいたその他の重み付け関数を導入することも可能である。この重み付け過程に好適なアルゴリズムを以下のように要約することができる：
サブフレーム２のエネルギーが＞サブフレーム１のエネルギーの２倍であれば、α＝２β
サブフレーム２のエネルギーが＜０．２５ｘサブフレーム１のエネルギーであれば、α＝０．５β
上記以外では、α＝β
【００２８】
図３は、本発明に基づくＬＰＡＳ符号化器の実施例を示すブロック図である。エレメント１０−４０は図１の同様なエレメントに対応する。しかし、検索アルゴリズムブロック３２は検索アルゴリズムブロック５０で置換されている。検索アルゴリズムブロック５０は、コードブックとスケーリングエレメントに加えて、格納ブロック５２，５４，５６とベクトル量子化器５８を、それぞれ、制御ライン６０，６２，６４と６６を通じて制御する。格納ブロック５２，５４，５６は、適用コードブック１８、合成フィルタ１４と重み付けフィルタ１６をそれぞれ格納し、復元するために使用する。ベクトル量子化器５８は、利得コードブック６８から最適利得量子化ベクトルを見つけ出す。
【００２９】
アルゴリズム検索ブロック５０とベクトル量子化器５８の機能は、例えば、１つまたは複数のマイクロプロセッサまたはマイクロ／信号プロセッサの組み合わせによって実現することができる。
【００３０】
上述の実施例では、２つのサブフレームをベクトル量子化するものと仮定した。しかし、より複雑になることが許容されるなら、この考え方を拡張して、スピーチフレームのすべてのサブフレームの利得をベクトル量子化することで性能を向上させることができる。このためには、利得をベクトル量子化した後の符号化器の最終的な内部状態を正しく得るために、複数のサブフレームを逆にたどることが必要になる。
【００３１】
複数のサブフレーム境界を超えた利得のベクトル量子化が、符号化器と復号器の間の同期を損なうことなく可能なことが示された。この方法は圧縮性能を顕著に改善して大きなビットレートの節約をもたらす。例えば、各サブフレームの利得の２次元ベクトル量子化に６ビットを使用するなら、品質を低下させることなく２つのサブフレームの利得の４次元ベクトル量子化に８ビットが使用される。したがって、サブフレームごとに２ビットが節約される（１／２（２ｘ６−８）。これは、５ｍｓのサブフレームにおいては０．４kbits/sに相当する低ビットレート（例えば８kbps/s未満）における極めて顕著な節約である。
【００３２】
処理はサブフレームで変更されたに過ぎずフレームレベルの変更ではないので、演算による遅延は生じていないことに注意する必要がある。さらに、この処理の変更によって複雑さは極わずか増大したに過ぎない。
【００３３】
サブフレーム相互間の誤差重み付け（α，β）を使用する実施例はスピーチ品質を改善するものである。
【００３４】
添付された特許請求の範囲によって規定される本発明の技術的範囲内において、多くの変更が可能なことは当業者にとっては自明である。
【００３５】
参考文献
１．ヨーロッパ特許出願第０７６４９３９号（ＡＴ＆Ｔ）、６ページ、パラグラフＡ−ページ７
２．ヨーロッパ特許出願第０６８４７０５号（日本電信電話）、３９カラム、１７行−４０カラム、４行
【図面の簡単な説明】
【図１】 従来技術に属する、典型的なＬＰＡＳ符号化器を示すブロック図である。
【図２】 本発明による方法を示すフロー図である。
【図３】 本発明に基づくＬＰＡＳ符号化器の実施例を示すブロック図である。
【図１】
0003893244.tif 000016
【図２】
0003893244.tif 000017
【図３】
0003893244.tif 000018