(57)【特許請求の範囲】
【請求項１】
励起信号のコードの一部がビットエラー保護の対象とされている分析／合成線形予測音声コーダであって、合成部が、
マルチ・パルス励起を生成する手段と、
変換二進パルス励起を生成する手段と、
前記マルチ・パルス励起および前記変換二進パルス励起を組み合わせることによって、ビットエラー保護対象のコードのエラー感度がビットエラー保護対象外のコードのエラー感度よりも高いビットエラー感度特性を有するロバストな前記励起信号のコードを生成する手段と、
を有することを特徴とする分析／合成線形予測音声コーダ。
【請求項２】
請求項１記載の音声コーダにおいて、前記マルチ・パルス励起生成手段は、制限されたパルス位置においてパルスを発生する手段を備えていることを特徴とする音声コーダ。
【請求項３】
請求項２記載の音声コーダにおいて、前記マルチ・パルス励起生成手段は、位相位置コーディング手段を備えていることを特徴とする音声コーダ。
【請求項４】
請求項１、２または３記載の音声コーダにおいて、前記合成部は、更に、適応励起を生成する適応コード・ブックを備えていることを特徴とする音声コーダ。
【請求項５】
請求項４記載の音声コーダにおいて、前記マルチ・パルス励起、変換二進パルス励起および適応励起を組み合わせる手段を有することを特徴とする音声コーダ。
【発明の詳細な説明】
技術分野
本発明は、分析／合成線形予測音声コーダに関する。かかる音声コーダは、例えば、セルラ無線通信システムにおいて用いられる。
発明の背景
分析／合成音声コーダ［１］は、合成部における３つの主要構成要素、即ち、線形予測コーディング（ＬＰＣ）合成フィルタ、適応コード・ブック、およびある種の固定励起から成る。音声の合成は、ＬＰＣ合成フィルタによって励起ベクトルをフィルタ処理し、合成音声信号を生成することによって行われる。励起ベクトルは、適応コード・ブックおよび固定励起から来たベクトルを調整したものを互いに加算することによって形成される。分析／合成コーダの分析部は、主に、ＬＰＣ分析および励起分析から成る。励起分析とは、励起のためのインデックスまたはその他のパラメータ、例えば、コード・ブックのためのインデックス、励起のための利得パラメータ、または励起パルスのための振幅および位置の検索である。
分析／合成音声コーダに用いられる励起構造は、再生音声の品質、検索の複雑度、およびビット・エラーに対するロバスト性（robustness）に関して重要である。高品質を達成するためには、励起は多様でなければならない。即ち、パルス状成分およびノイズ状成分の双方を含んでなければならない。低い複雑度を達成するためには、励起コードの検索は、構造化されたコード・ブックでは複雑度が低い傾向があるという事実により、励起はいくらか構造化される必要がある。移動無線環境において高いロバスト性を達成するためには、励起コードの非保護ビットに対するビット・エラー感度を低くしなければならない。
励起の多様性を達成するために、いわゆる混成励起手順（mixed excitation procedures）が提案されている［２〜８］。混成は、通常、パルス・シーケンスおよびノイズ・シーケンスから成る。パルス状励起は、音声の開始部（onset）、破裂音（plosive）および音声（voiced）部分において必要とされる。ノイズ状シーケンスは、無音声音響（unvoiced sound）に必要とされる。
複雑度が低い構造化励起を達成するために、いくつかの方法が提案されている。マルチ・パルス励起（ＭＰＥ:multi-pulse excitation）が［９］に記載されており、位置および振幅によって記述されるパルスから成る。規則的パルス励起（ＲＰＥ:regular pulse excitation）が［１０］に記載されており、格子（第１パルスの位置）およびパルス振幅によって記述された、規則的な間隔（等距離）のパルス・シーケンスから成る。変換二進パルス励起（ＴＢＰＥ：transformed binary pulse excitation）が［１１〜１２］に記載されており、整形マトリクスによって変換され、一定間隔パルスのガウス状シーケンスを得る、二進パルス・シーケンスから成る。ベクトル和励起（ＶＳＥ:vector sum excitation）が［１３］に記載されており、多数の基本ベクトルから成り、これを組み合わせて１つの出力ベクトルとする。基本ベクトルは、＋１または−１と乗算し、合計を求めて、励起ベクトルを形成する。低解像度検索方法は、これらの構造化励起全てのために存在する。
最上位ビットのロバスト性保護を達成するために［１４］、インデックスの割り当て［１５］および位相位置コーディング「１６］が提案されている。
発明の概要
本発明の目的は、高品質（励起の多様性）、低い音声複雑度および高いロバスト性を移動通信環境において提供する、分析／合成線形予測音声コーダである。
この課題は、請求項１による音声コーダによって解決される。
【図面の簡単な説明】
本発明は、その更に別の目的および利点と共に、添付図面に関連付けて以下の説明を参照することによって最良に理解することができよう。
図１は、典型的な分析／合成線形予測音声コーダのブロック図である。
図２は、マルチ・パルス励起（ＭＰＥ）の原理を示す。
図３は、マルチ・パルス励起のためのビット割り当て方式を示す。
図４は、図３に定義したマルチ・パルス励起のビット・エラー感度を示す図である。
図５ａ〜ｅは、位相位置コーディング・マルチ・パルス励起の原理を示す。
図６ａは、変換二進パルス励起（ＴＢＰＥ）の原理を示す。
図６ｂは、位相が２つのみという特殊な場合のためのＴＢＰＥを示す。
図７は、変換二進パルス励起のためのビット割り当て方式を示す。
図８は、変換二進パルス励起のビット・エラー感度を示す図である。
図９は、本発明の好適実施例による、マルチ・パルスおよび変換二進パルス励起を組み合わせた場合のビット割り当て方式を示す。
図１０は、本発明の好適実施例による、マルチ・パルスおよび変換二進パルス励起の組み合わせのビット・エラー感度を示す図である。
図１１は、ビット・エラー感度によってソートした、図４、図８および図１０に示したビット・エラー感度の比較を示す。
図１２は、本発明による音声コーダの好適実施例のブロック図である。
好適実施例の詳細な説明
以下の記載では、ヨーロッパのＧＳＭシステムについて引用する。しかしながら、本発明の原理は、その他のセルラ・システムにも同様に適用可能であることは認められよう。
図１は、典型的な分析／合成線形予測音声コーダのブロック図を示す。コーダは、垂直中央破線の左側にある合成部、および該線の右側にある分析部から成る。合成部は、本質的に２つの部分、即ち、励起コード発生部１０と、ＬＰＣ合成フィルタ１２とを含む。励起コード発生部１０は、適応コード・ブック１４、固定コード・ブック１６および加算器１８から成る。適応コード・ブック１４から選択されたベクトルａI（ｎ）は、利得係数ｇIと乗算され、信号ｐ（ｎ）を形成する。同様に、固定コード・ブック１６からの励起ベクトルは、利得係数ｇJと乗算され、信号ｆ（ｎ）を形成する。信号ｐ（ｎ）およびｆ（ｎ）は、加算器１８において加算され、励起ベクトルｅｘ（ｎ）を形成する。これがＬＰＣ合成フィルタ１２を励起し、予測音声信号ベクトル
0003841224.tif 000002
を形成する。
分析部において、予測ベクトル
0003841224.tif 000003
は、加算器２０において、実際の音声信号ベクトルｓ（ｎ）から減算され、誤差信号ｅ（ｎ）を形成する。この誤差信号は、重み付けフィルタ２２に送出され、重み付き誤差ベクトルｅW（ｎ）を形成する。この重み付き誤差ベクトルの成分は、ユニット２４において二乗されかつ加算されて、重み付き誤差ベクトルのエネルギの測定値を形成する。
最小化ユニット（minimization unit）２６は、最も小さいエネルギ値を与える、即ち、フィルタ１２におけるフィルタ処理の後、音声信号ベクトルｓ（ｎ）を最良に近似する、適応コード・ブック１４からの利得ｇIおよびベクトル、ならびに固定コード・ブック１６からの利得ｇJおよびベクトルの組み合わせを選択することにより、この重み付き誤差ベクトルを最小化する。この最適化は、２段階に分割されている。最初の段階では、ｆ（ｎ）＝０、および適応コード・ブック１４からの最良のベクトル、および対応するｇIが決定されていると仮定する。これらのパラメータを決定するアルゴリズムを、添付の補足資料に示す。これらのパラメータが決定されると、同様のアルゴリズムにしたがってベクトルおよび対応する利得ｇIが固定コード・ブック１６から選択される。この場合、適応コード・ブック１４の決定されたパラメータは、それらの決定値にロックされる。
フィルタ１２のフィルタ・パラメータは、ＬＰＣ分析器２８において音声信号フレームを分析することによって、各音声信号フレーム（１６０サンプル）毎に更新される。この更新は、分析器２８およびフィルタ１２の間の破線の接続によって印されている。更に、加算器１８の出力および適応コード・ブック１４間には、遅延素子３０がある。このように、適応コード・ブック１４は、最終的に選択された励起ベクトルｅｘ（ｎ）によって更新される。これは、サブフレームを基準に行われ、各フレームを４つのサブフレーム（４０サンプル）に分割する。
先に注記したように、固定コード・ブックに使用する励起構造は、再生音声の品質、音声の複雑度およびビット・エラーに対するロバスト性に対して重要である。高い質を達成するためには、励起は多様でなければならない。即ち、パルス状成分およびノイズ状成分の双方を含まなければならない。低い複雑度を達成するためには、励起をいくらか構造化しなければならない。励起コードの検索は、構造化されたコード・ブックにおいて比較的複雑度が低い傾向がある。移動通信環境において高いロバスト性を達成するためには、励起コードの非保護ビットに対するビット・エラー感度を低くしなければならない。これは、励起コードの保護（チャネル・コーディングされた）ビットについては、さほど重要ではない。したがって、励起コードにおけるビット・エラー感度は、保護ビットおよび非保護ビット間では異なるものとしなければならない。通常、非保護ビットのクラスは、高ＢＥＲチャネルにおける処理能力を制限することになる。
上述のように、高いロバスト性は、チャネル・コーディング保護によって達成可能であるが、ビットの冗長なチャネル・コーディングのために、帯域の制約が通常これを６０ないし８０％のオーバーヘッドに制限する。一般的に、高い処理能力のためには約１／２以上のコーディング・レートが必要とされるので、全てのビットを保護できない場合がある。ビットの中には、チャネル保護なしで送出されるように、ビット・エラーに対してロバスト性を非常に高くしなければならないものがある。したがって、音声コーディングのビットは、不等性の高いエラー感度を有する必要がある。非常に高い処理能力を得るためには、通常非保護ビットは処理能力を制限するという事実に、特別な注意を払わなければならない。
図２に示すマルチ・パルス励起は、高いビット・レートにおいて高い品質を提供することが知られている。例えば、各４０サンプル（即ち、５ミリ秒）当たり６ないし８パルスが、よい品質を与えることがわかっている。図２は、１サブフレームに分散された６つのパルスを示す。励起ベクトルは、これらのパルスの位置（例では、位置７，９，１４，２５，２９，３７）、およびパルスの振幅（例ではＡＭＰ１〜ＡＭＰ６）によって記述することができる。これらのパラメータを発見する方法は、［９］に記載されている。通常、振幅は励起ベクトルの形状のみを表わす。したがって、この基本ベクトル形状の増幅を表わすには、ブロック利得が用いられる。図３は、６つのパルスから成る典型的なマルチ・パルス励起のビット分散フォーマットの一例を示す。この例では、５ビットをスカラ量子化ブロック利得（パルスのスケーリング）に用い、１ビットを各パルス・コードに用い、２ビットを各パルス振幅のスカラ量子化に、そして組み合わせ位置コーディング方式（［１］のｐ．３６０および補足資料を参照）を用いたパルス位置のコーディングに（４０位置の内６位置）＝２２ビットを用いる。これにより合計で、５＋６＋１２＋２２＝４５ビット／５ms＝９kb／ｓとなる。
マルチ・パルス励起のビット・エラー感度は、ビットの内あるものについては比較的高いことが知られている。これを図４に示す。この図は、励起の各ビット位置における１００％ＢＥＲに対する再生音声の信号対ノイズ比を示す。このように、図３のフォーマットにおける各ビット位置は個別に誤った値に設定され、一方他のビット位置は全て正しい。再生信号は元の信号と比較され、信号対ノイズ比が計算される。したがって、図４における各線の長さは、当該ビット位置における、再生音声のエラーに対する感度を表わす。図において、高いＳＮＲは低いビット・エラー感度を示す。
図４から、ブロック利得の最上位ビット（ビット３〜５）はビット・エラーに非常に敏感であり、一方ブロック利得の最下位ビット（ビット１〜２）はそれより感度が低いことがわかる。更に、パルスのコード（ビット２８，３１，３４，３７，４０および４３）も、ビット・エラーに対して非常に敏感である。振幅ビット（ビット２９，３０，３２，３３，３５，３６，３８，３９，４１，４２，４４および４５）は、ビット・エラーに対する感度はそれよりも低い。使用する位置コーディング方式によって、パルス位置ビット（ビット６〜２７）はビット・エラーに対する感度が高くなったり低くなったりする。図３および図４におけるような組み合わせ方式では、全てのパルス位置は一括してコーディングされ１つのコード・ワードとなる。このコード・ワードにおけるビット・エラーは、全てのパルス位置にわたって移動し、ビット（ビット１１〜２７）の多くのビット・エラーに対して敏感にする。
パルス位置コーディングのビット・エラー感度を低下させる方法の１つに、パルス位置を制限することがあげられる。この種のコーディング方式の１つは、位相位置コーディング［１６］である。このパルス位置コーディング方式は、組み合わせ方式よりも高いコーディング効率を有するが、音声の質がいくらか低下するというトレード・オフがある。位相位置コーディングの原理を、図５ａ〜ｅに示す。位相位置コーディングでは、位置の全数をある数のサブブロック、図では４つのサブブロックに分割する。各サブブロックはある数の位相、図では１０箇所の位相を含む。許されるパルス位置に対して制約を設ける。各位相には許されるパルスは１つのみである。これは、パルスの位相位置とサブブロック位置とを記述することによって位置のコーディングが可能であることを意味する。位相位置をコーディングするには、組み合わせ方式を用いる。サブブロック位置の最上位側ビットは、高いビット・エラー感度を有する。一方、位相位置コード・ワードの最下位側ビットは、それより低いビット・エラー感度を有する。
図５ａ〜ｅでは、パルスは、図２におけるパルスと同じ信号によって発生されると仮定する。第１段階では、最も強いパルスの位置を判定する。これは、図２の位置７のパルスに対応する。このパルスは、図５ａに示されている。パルス位置７は位相７に対応するので、他のサブブロック全ての位相７は、残りのパルスに対して禁止されたパルス位置として削除されている。図５ｂでは、二番目に強いパルスを、位置１４に判定する。これは、サブブロック２および位相４に対応し、位相４は残りのパルスに対して禁止されることを示す。図５ｃおよび図５ｄにおいて、位置２５および２９のパルスも同様に判定される。次に判定されるパルスは、図２の位置９のパルスに対応するパルスである。しかしながら、位相９は既に禁止されている。したがって、未だ許されている位相位置の１つに、パルスの位置決めを行わなければならない。選択される位置は、目標とする例示の最良の近似を与えるものである。この例では、パルスはサブブロック１の位相８に位置付けられる。パルスは図２における対応するパルス（ＡＭＰ２）に関してずれているので、振幅も変化している可能性があることを注記しておく。最後に、図２の位置３７におけるパルスに対応する残りのパルスを判定する。この位相（７）も禁止されている。代わりに、サブブロック４の位相位置６に、パルスを発生する。このパルスは、図５ｅにおいて破線で示されている。
マルチ・パルス励起に伴う１つの重大な問題は、受信端におけるデコーダでは、どのパルスが最も重要であるのかがわからないことである。最も重要なパルスは、ビット・エラーに最も敏感なパルスでもある。最も重要なパルスは、通常、コーダ内における連続検索において最初に発見され、通常最大の振幅を有する。しかしながら、位置コーディングにより、最も敏感な情報はビット中に拡散されている。これは、不等ビット・エラー感度を与えることが望ましいのであるが、その代わりに、全てのビットの感度レベルを高めることになる。これに対する解決策の１つは、パルスを２群に分割することであろう。第１群は、最初に発見されたパルスで構成する。こうすることにより、第１群のビット・エラーに対する感度を高める。更に、励起コーディングを２部分に分割し、位相位置コーディングを用いることにより、ビットのビット・エラー感度を不等性を高める。この分割方法の欠点は、第２群のコーディング効率が低いことである。したがって、励起の第２群のコーディング効率を高める必要がある。また、これらのビットは、保護せずに送出される候補であるので、低いエラー感度も必要である。
確率的コード・ブック励起は、マルチ・パルス励起よりも低いビット・レートで高い質を与えることが知られている。しかしながら、確率的コード・ブックを検索する複雑度が高く、不可能ではないにしても、実施を困難にしている。複雑度を低下させる技法、例えば、推移散在コード・ブック（shifted sparse code books）が存在する。しかしながら、これらの技法を用いても、ビット・レートが高くなると、複雑度は未だに高すぎる。他の欠点はビット・エラー感度である。単一のビット・エラーがあるだけでも、デコーダはコード・ブックとは完全に異なる確率的シーケンスの使用を余儀なくされる。
変換二進パルス励起（ＴＢＰＥ）は、同等のビット・レートにおいて確率的励起効率に近いものを与えることが知られている。かかるコード・ブックの構造は、検索の効率性を非常に高める。ＲＯＭへの格納要件も低い。励起を一層ガウス状にするために、変換マトリクスを用いる。規則的間隔のパルスによる固有の構造は、励起を希薄にする。この方法の重大な欠点は、コード・ブックのサイズを大きくしつつ低い複雑度の検索方法を使用し続けると、質が低下することである。規則的間隔は、ビット・レートを高めた場合、処理能力の向上を妨げる。ＴＢＰＥは、［１１〜１２］に詳細に記載されており、以下でも図６ａ〜ｂを参照して説明する。
図６ａは、変換二進パルス励起の背後にある原理を示す。二進パルス・コード・ブックは、例えば、１０成分を含むベクトルから成る。各ベクトル成分は、図６ａに示すように、上（＋１）または下（−１）のいずれかを指し示す。二進パルス・コード・ブックは、かかるベクトルの可能な組み合わせ全てを含む。このコード・ブックのベクトルは、１０次元「立体」の「角」を指し示す全ベクトルの集合と考えることができる。したがって、ベクトルの先端は、１０次元球体（１０−dimensional sphere）の表面上に均一に分散されている。
更に、ＴＢＰＥは、１つまたはいくつかの変換マトリクス（図６ａにおけるMATRIX1およびMATRIX2）を含む。これらは、予め計算されたＲＯＭに格納されているマトリクスである。これらのマトリクスは、二進パルス・コード・ブック内に格納されているベクトルに対する演算を行い、変換ベクトル集合を生成する。最後に、変換ベクトルは、励起パルス格子集合上で分散される。その結果、各マトリクスに対して、４つの異なるバージョンの規則的間隔の「確率的」コード・ブックが得られる。これらのコード・ブックの１つからのベクトル（格子２に基づく）を、図６ａにおける最終結果として示す。検索手順の目的は、最も小さい重み付き誤差を与える、二進コード・ブックの二進パルス・コード・ブック・インデックス、変換マトリクス、および励起パルス格子を発見することである。
マトリクス変換段階を更に図６ｂに示す。この場合、二進パルス・コード・ブックは、２箇所の位置のみで構成されていると仮定する（これは、非現実的な仮定であるが、変換段階の背後にある原理を例示するには役立つ）。二進パルス・コード・ブックの可能な二進ベクトル全てが、図６ｂの左側部分に示されている。これらのベクトルは、正方形である二次元「立体」の角を指し示すベクトルと等価なものと考えることができ、図６ｂの左側部分では破線で示されている。これらのベクトルを、次にマトリクスによって変換する。このマトリクスは、例えば、「立体」全体を回転させる、直交マトリクスでよい。変換二進ベクトルは、Ｘ軸およびＹ軸上での個々の変換ベクトルの投影をそれぞれ含む。結果的に得られる変換二進コードを、図６ｂの右側部分に示す。変換の後、変換ベクトルは、図６ａを参照して説明したように、格子集合上に分散される。
図７は、典型的なＴＢＰＥ励起のビット割り当てフォーマットを示す。この例では、二段階ＴＢＰＥコード・ブックが用いられ、この場合、ＴＢＰＥコード・ブック１は４０サンプルのコード・ブックであり、第２段階において２つの２０サンプルのＴＢＰＥコード・ブック２Ａ，２Ｂに分割される。コード・ブック１は、二進パルス・コード・ブック・インデックスに１０ビット、コード・ブック１の格子に２ビット、コード・ブック１のマトリクスの１ビット、およびコード・ブック１の利得に４ビットを用いる。コード・ブック２Ａ，２Ｂは、二進パルス・コード・ブック・インデックスに２ｘ６ビット、コード・ブック格子に２ｘ２ビット、コード・ブック・マトリクスに２ｘ２ビット、およびコード・ブック利得に２ｘ４ビットを用いる。これを合計すると、４５ビット／ms＝９kb／ｓとなる。
図７において定義した変換二進パルス励起に対するビット・エラー感度を図８に示す。ＴＢＰＥの固有の構造は、二進パルス・コード・ブックに、グレイ・コード化したインデックスを与える。これが意味するのは、ハミング距離に近いコード・ワードは、励起ベクトル距離にも近いということである。単一のビット・エラーは、規則的なパルスの１つのコードを変化させるに過ぎない。したがって、インデックスにおけるビット位置は、図８にでは、ほぼ等しい感度を有する（二進パルス・コード・ブック１に対してビット１〜１０、二進パルス・コード・ブック２Ａに対してビット１８〜２３、およびビット・パルス・コード・ブック２Ｂに対してビット３２〜３７）。インデックス、格子およびマトリクス（ビット１〜１０，１１〜１２，１３）を含む第１コード・ブックは、一層高い感度を有する。マトリクス・ビット（ビット１３）は、本例では、非常に高い感度を示す。更に、第１コード・ブックのコード・ブック利得（ビット１４〜１７）は、第２コード・ブック利得（ビット２９〜３１，４２〜４５）よりも高い感度を示す。１つの問題は、感度がビット中に拡散されることである。通常、感度は、マルチ・パルス励起ビットに対するよりも低いが、僅かな不等エラー感度があるに過ぎない。しかしながら、この構造は、固有のインデックス割り当てと低い複雑度とを組み合わせる。これは、ＴＢＰＥを、先に論じたマルチ・パルス励起の第２部分と交換するための、強力な候補とする。
本発明において提案した構造は、いくつかのマルチ・パルスおよびＴＢＰＥコード・ブックを用いた混成励起である。パルスの位置は、上述の位相位置コーディングのような、制限された位置コーディング方式を用いてコーディングすることが好ましい。パルスおよび変換二進パルス（ノイズ）シーケンスを用いた混成励起により、質の改善が得られる。ＭＰＥおよびＴＢＰＥの検索は、複雑度が低い方式である。マルチ・パルス・ビットおよびＴＢＰＥの混成は、不等性が高いエラー感度を示し、いくつかのビットが保護されていない、不等エラー保護方式に最適である。
図９は、本発明の好適実施例におけるビット割り当てのフォーマットの一例を示す。本例では、３つのマルチ・パルス、および４つの格子および２つのマトリクスを備えた、１３ビット・インデックス（１３二進パルス）ＴＢＰＥコード・ブックが１つある。位相位置コーディングは、１０個のサブブロックおよび４つの位相を用いて行われる。これは、サブブロック位置に３ｘ２ｌｏｇ（１０）＝１０ビットおよび位相コード・ワードに（４位置の内３位置）＝２ビット、パルス・コードに３ｘ１ビット、パルス振幅に３ｘ２ビット、ブロック利得に４ビット、二進パルス・コード・ブック・インデックスに１３ビット、格子に２ビット、マトリクスに１ビット、およびコード・ブック利得に４ビット与える。これを全て合計すると、１０＋２＋３＋６＋４＋１３＋２＋１＋４＝４５ビット／ms＝９kb／ｓとなる。
図１０は、本発明の好適実施例による混成励起のビット感度を示す。図１０から、いくつかのマルチ・パルス（ビット１〜２１）は、ＴＢＰＥコード・ブック・インデックス（ビット２６〜４１）よりもビット・エラーに対して敏感であることが明らかである。位相位置コーディングは、パルス位置決め用パルスの内いくつかについて、ビット・エラーに対する感度を低くする（サブブロック位置のビット１〜３および位相コード・ワードのビット１１〜１２）。パルスの振幅（ビット１４〜１５，１７〜１８，２０〜２１）は、コード（ビット１３，１６，１９）よりも感度が低い。ＴＢＰＥインデックス内のビット（ビット２６〜３８）は感度が等しく、この感度はパルス・コードおよび位置に比較すると非常に低い。マルチ・パルス・ブロック利得のビットのいくつかは、他よりも感度が高い（ビット２４〜２５）。変換マトリクスに対するビット（ビット４１）も敏感である。
本出願において論じ図４、図８および図１０に示した３つの方式を、図１１において、エラー感度に関して比較する。図１１では、各方式のビットは、感度が最も高いものから最も低いものへビット・エラー感度の順序でソートされている。図１１からわかることは、マルチ・パルス励起（ＭＰＥ）および混成励起（ＭＰＥ＆ＴＢＰＥ）は、最も不等性の高いエラー感度を有することである。ＴＢＰＥ励起は最も均一な感度を有し、この感度は通常ＭＰＥ励起に対するものよりも低い。混成励起は、通常、マルチ・パルス励起よりも感度が低く、そのために混成励起の方がロバスト性が高くなる。また、混成励起はいくつかの非常に敏感なビット（ビット１〜１２）およびいくつかの不感ビット（ビット２５〜４５）も有し、この励起を不等エラー保護には完全なものとしている。不感ビットの数は、混成励起ではマルチ・パルス励起よりも多いので、非保護ビット群の処理能力は、質の低いチャネルでは勝っている。
図１２は、本発明による音声コーダの好適実施例を示す。図１の音声コーダおよび図１２の音声コーダ間の本質的な相違は、図１の固定コード・ブック１６が、マルチ・パルス励起（ＭＰＥ）発生器３４と変換二進パルス励起（ＴＢＰＥ）発生器３６とから成る混成励起発生器３２によって置き換えられていることである。対応するブロック利得は、図１２では、それぞれｇMおよびｇTで示されている。発生器３４，３６からの励起は加算器３８において加算され、混成励起は加算器１８において適応コード・ブック励起に加算される。
本発明による混成励起コーダの構造に用いられるアルゴリズムの一例を以下に示す。このアルゴリズムは、音声コーダにおいて関連のある全ての部分を含む。アルゴリズムは、６つの主要部から成る。ＭＰＥおよびＴＢＰＥ部は、混成励起を構成し、混成励起構造分析の内容を示すように拡張されている。例えば、各々１６０サンプルから成るフレームのように、フレームを基本とする部分がＬＰＣ分析部であり、短期合成フィルタを計算し量子化する。残りの５部分は、サブフレームを基本とする。例えば、これらは４０サンプルのサブフレーム毎に処理を行う。これらの内第１の部分はサブフレーム前処理、即ち、パラメータ抽出であり、第２の部分は長期分析、即ち、適応コード・ブック分析であり、第３の部分はＭＰＥ分析であり、第４の部分はＴＢＰＥ分析であり、第５の部分は状態更新である。
アルゴリズム例
ＬＰＣ分析
各サブフレーム（１〜４）について行う
サブフレーム前処理
ＬＴＰ分析（適応コード・ブック検索）
マルチ・パルス抽出（ＭＰＥ）
重み付けフィルタのインパルス応答を計算する
インパルス応答の自己相関関数を計算する
ＬＴＰ分析後のインパルス応答および重み付き残差間の相互相関関数を計算する
ＭＰＥ位置および振幅を検索する
振幅およびブロック利得を量子化する
ＭＰＥ革新ベクトルを作る
位置コード・ワードを形成する
ＭＰＥ分析の後新たな重み付き残差を形成する
変換二進パルス励起（ＴＢＰＥ）
重み付けフィルタのインパルス応答を計算する
ＭＰＥ分析後のインパルス応答および重み付き残差間の相互相関関数を計算する
各マトリクスについて行う
各格子について行う
マトリクス相互相関関数を計算する
相互相関関数の符号でパルスを近似する
重み付きＴＢＰＥ革新を形成し比較する
ＴＢＰＥコード・ワードを形成する
ＴＢＰＥ利得を量子化する
ＴＢＰＥ革新ベクトルを形成する
状態更新
このアルゴリズムの詳細な説明は、添付のＣ＋＋プログラム・リストにおいて見ることができる。
本発明は、添付の請求の範囲によって規定されるその精神および範囲から逸脱することなく、様々な修正や変更が可能であることは、当業者によって理解されよう。
補足資料
この補足資料は、消去法検索において、最良の適応コード・ブック・インデックスｉおよび対応する利得ｇiを判定するアルゴリズムの概要を説明する。信号は、図１にも示されている。
0003841224.tif 000004
0003841224.tif 000005
0003841224.tif 000006
0003841224.tif 000007
0003841224.tif 000008
0003841224.tif 000009
0003841224.tif 000010
0003841224.tif 000011
0003841224.tif 000012
0003841224.tif 000013
0003841224.tif 000014
0003841224.tif 000015
0003841224.tif 000016
0003841224.tif 000017
0003841224.tif 000018
0003841224.tif 000019
0003841224.tif 000020
0003841224.tif 000021
0003841224.tif 000022
0003841224.tif 000023
0003841224.tif 000024
0003841224.tif 000025
0003841224.tif 000026
0003841224.tif 000027
0003841224.tif 000028
0003841224.tif 000029
【図１】
0003841224.tif 000030
【図２】
0003841224.tif 000031
【図５】
0003841224.tif 000032
【図３】
0003841224.tif 000033
【図７】
0003841224.tif 000034
【図９】
0003841224.tif 000035
【図４】
0003841224.tif 000036
【図８】
0003841224.tif 000037
【図６ａ】
0003841224.tif 000038
【図１０】
0003841224.tif 000039
【図１１】
0003841224.tif 000040
【図１２】
0003841224.tif 000041