(57)【要約】【課題】動作周波数の比較的低いプロセッサであっても比較的短時間で音声信号の符号化ができる音声符号化装置および音声符号化プログラムを得ること。【解決手段】領域１１は聴感重み付け合成フィルタのインパルス応答の自己相関行列の有意な演算結果が設定される領域である。領域１２は領域１１の対称行列である領域である。領域１３は仮想的な演算結果が設定される領域である。聴感重み付け合成フィルタのインパルス応答の自己相関行列演算に対して並列演算手段を高頻度で割り当てて実行させる。そのために聴感重み付け合成フィルタのインパルス応答要素を記憶領域中に連続して格納する。更に、聴感重み付け合成フィルタのインパルス応答要素に連続して仮想の聴感重み付け合成フィルタのインパルス応答要素を格納する。【選択図】　　　図２
2004093946.tif 000002
【特許請求の範囲】
【請求項１】
通話者が発する音声を入力する音声入力手段と、
この音声入力手段で入力された音声をＬ個（Ｌは自然数）の標本を持つサブフレームｑ個（ｑは自然数）を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割手段と、
この分割手段で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成手段と、
この合成フィルタ生成手段によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるＬ個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得手段と、
このインパルス応答取得手段によって求めたＬ個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成し、その転置行列との自己相関演算を合成フィルタのインパルス応答のＬ個の要素のうちのｎ個（ｎは自然数）を取り出して１処理周期あたりｎ個を並列して実行する並列演算で、ｎ個の合成フィルタのインパルス応答の自己相関値を求める並列演算手段と、
この並列演算手段による前記並列演算を繰り返してＬ×Ｌ個の合成フィルタのインパルス応答の自己相関値を求める繰り返し手段と、
この繰り返し手段による並列演算の繰り返しの中で、演算対象の合成フィルタのインパルス応答の要素をＬ個を越える要素数に拡張して前記並列演算を実施する演算要素拡張手段と、
前記繰り返し手段と前記演算要素拡張手段によって求めた自己相関値から有意なものを選択する自己相関値選択手段と、
前記インパルス応答取得手段で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算手段と、
前記自己相関値選択手段によって選択した有意な自己相関値と前記相互相関演算手段によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の１つである無声音成分を表わす情報を求める無声音解析手段と、
この無声音解析手段によって求めた無声音成分を表わす情報を音声の非周期成分の要素として前記通話者の通話相手に向けて出力する出力手段
とを具備することを特徴とする音声符号化装置。
【請求項２】
通話者が発する音声を入力する音声入力手段と、
この音声入力手段で入力された音声をＬ個（Ｌは自然数）の標本を持つサブフレームｑ個（ｑは自然数）を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割手段と、
この分割手段で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成手段と、
この合成フィルタ生成手段によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるＬ個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得手段と、
このインパルス応答取得手段によって求めたＬ個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成し、その転置行列との自己相関演算を合成フィルタのインパルス応答のＬ個の要素のうちのｎ個（ｎは自然数）を取り出して１処理周期あたりｎ個を並列して実行する並列演算で、ｎ個の合成フィルタのインパルス応答の自己相関値を求める並列演算手段と、
この並列演算手段による前記並列演算を繰り返してＬ×Ｌ個の合成フィルタのインパルス応答の自己相関値を求める繰り返し手段と、
この繰り返し手段による並列演算の繰り返しの中で、演算対象の合成フィルタのインパルス応答の要素にＬ−１個の仮想的な合成フィルタのインパルス応答要素を追加拡張して前記並列演算を実施する演算要素拡張手段と、
前記繰り返し手段と前記演算要素拡張手段によって求めた自己相関値から有意なものを選択する自己相関値選択手段と、
前記インパルス応答取得手段で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算手段と、
前記自己相関値選択手段によって選択した有意な自己相関値と前記相互相関演算手段によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の１つである無声音成分を表わす情報を求める無声音解析手段と、
この無声音解析手段によって求めた無声音成分を表わす情報を音声の非周期成分の要素として前記通話者の通話相手に向けて出力する出力手段
とを具備することを特徴とする音声符号化装置。
【請求項３】
前記並列演算手段は、１処理周期で並列演算を行うことが可能な最大数の並列演算を実施する最大並列演算手段を具備することを特徴とする請求項１または請求項２記載の音声符号化装置。
【請求項４】
コンピュータに、
音声入力手段で入力された音声をＬ個（Ｌは自然数）の標本を持つサブフレームｑ個（ｑは自然数）を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割手段と、
この分割処理で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成処理と、
この合成フィルタ生成処理によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるＬ個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得処理と、
このインパルス応答取得処理によって求めたＬ個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成し、その転置行列との自己相関演算を合成フィルタのインパルス応答のＬ個の要素のうちのｎ個（ｎは自然数）を取り出して１処理周期あたりｎ個を並列して実行する並列演算で、ｎ個の合成フィルタのインパルス応答の自己相関値を求める並列演算処理と、
この並列演算処理による前記並列演算を繰り返してＬ×Ｌ個の合成フィルタのインパルス応答の自己相関値を求める繰り返し処理と、
この繰り返し処理による並列演算の繰り返しの中で演算対象の合成フィルタのインパルス応答の要素をＬ個を越える要素数に拡張して前記並列演算を実施する演算要素拡張処理と、
前記繰り返し処理と前記演算要素拡張処理によって求めた自己相関値から有意なものを選択する自己相関値選択処理と、
前記インパルス応答取得処理で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算処理と、
前記自己相関値選択処理によって選択した有意な自己相関値と前記相互相関演算処理によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の１つである無声音成分を表わす情報を求める無声音解析処理
とを実行させることを特徴とする音声符号化プログラム。
【請求項５】
コンピュータに、
音声入力手段で入力された音声をＬ個（Ｌは自然数）の標本を持つサブフレームｑ個（ｑは自然数）を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割処理と、
この分割処理で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成処理と、
この合成フィルタ生成処理によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるＬ個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得処理と、
このインパルス応答取得処理によって求めたＬ個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成し、その転置行列との自己相関演算を合成フィルタのインパルス応答のＬ個の要素のうちのｎ個（ｎは自然数）を取り出して１処理周期あたりｎ個を並列して実行する並列演算で、ｎ個の合成フィルタのインパルス応答の自己相関値を求める並列演算処理と、
この並列演算処理による前記並列演算を繰り返してＬ×Ｌ個の合成フィルタのインパルス応答の自己相関値を求める繰り返し処理と、
この繰り返し処理による並列演算の繰り返しの中で、演算対象の合成フィルタのインパルス応答の要素にＬ−１個の仮想的な合成フィルタのインパルス応答要素を追加拡張して前記並列演算を実施する演算要素拡張処理と、
前記繰り返し処理と前記演算要素拡張処理によって求めた自己相関値から有意なものを選択する自己相関値選択処理と、
前記インパルス応答取得処理で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算処理と、
前記自己相関値選択処理によって選択した有意な自己相関値と前記相互相関演算処理によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の１つである無声音成分を表わす情報を求める無声音解析処理
とを実行させることを特徴とする音声符号化プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は音声符号化装置および音声符号化プログラムに係わり、たとえば電話端末や電話交換機で音声の符号化を行う音声符号化装置および音声符号化プログラムに関する。
【０００２】
【従来の技術】
近年、携帯電話機の爆発的な普及に伴って伝送路を流れる音声トラフィック量が急激に増大している。この増大しているトラフィックに対応するために通信事業者は伝送設備の増強を行っている。しかしながら伝送設備の増強には多大なコストが必要であるため無尽蔵に増強することはできない。
【０００３】
また近年の通信の分野ではアナログ信号を送受するアナログ通信に代わり、ディジタル信号を送受するディジタル通信が主流である。ディジタル通信は、雑音の影響を受けにくい点や複数の信号を多重しやすい点でアナログ通信よりも優れているため急速に普及してきた。電話機を用いた電話システムにおいてもこの傾向は同じであり、アナログ信号である音声信号をディジタル化して送受することが主流となっている。
【０００４】
アナログ信号をディジタル信号に変換するためには標本化と量子化および符号化が必要である。標本化とは時間的に連続な信号波形を時間的に離れた時点の値で表現することである。また量子化とは波形の値を有限個の値の中の１つで近似的に表現することである。そして符号化とは具体的にどのように表現するかということで、通常は２進数で表現する。
【０００５】
アナログ信号である音声信号をディジタル化する技術としては、従来より波形の振幅をサンプリング定理に基づいて量子化する線形パルス符号化（Ｐｕｌｓｅ　ＣｏｄｅＭｏｄｕｌａｔｉｏｎ：ＰＣＭ）技術がよく知られている。この線形パルス符号化はアナログ信号を一様なステップで量子化するもので、通常“Ａ／Ｄ変換”と呼ばれているものと同じである。
【０００６】
電話端末を用いて通話を行うシステムに対して利用者が求める大きなポイントは、“誰とでもいつでもつながること”と“明瞭に会話ができること”である。このうちの“誰とでもいつでもつながること”を必ず実現しようとすると、すべての電話端末同士の接続の組み合わせに対する伝送路を予め確保しておく必要がある。しかしこれは膨大な組み合わせ数となる上に実際に通話をしていない場合であっても伝送路を占有することになり、経済性を大きく損ねることになるため現実的ではない。そこで伝送路を予め確保しておくことは行わずに、接続が必要となってから空いている伝送路を探してこれを確保して使用するようにしている。つまり伝送路は複数の利用者の共有資源という位置付けになる。したがって他の利用者によって伝送路が完全に占有されている場合には新たな接続を確立させることができないが、伝送路に空きが残っていれば新たな接続を確立することができる。つまりそれぞれの接続を確立するために必要な伝送路の占有量を小さくすることができれば、数多くの接続を同時に確立することができる。そこでそれぞれの接続が占有する伝送路の容量を小さくする技術が検討されている。
【０００７】
また“明瞭に会話ができること”が実現されるためには互いの音声信号ができるだけ元の信号から変化することなく相手に届けられる必要がある。音声信号を伝送のためにディジタル化するにあたって、その音声信号の変化を小さくするためには標本化と量子化と符号化をできるだけ細やかに行う必要がある。標本化の細やかさは時間的な離れ度合いを小さくすることで実現できる。つまりこれは標本化の周期を短くすることになる。また量子化の細やかさは波形の値を表現する有限個の近似的な値の変化ステップを小さくするとともに値の個数を多くすることで実現できる。つまり量子化のステップを小さくするとともに、近似値の範囲と近似値を表現する符号の取りうる値の範囲を大きくすることが必要である。
【０００８】
標本化の周期を短くすることによって単位時間当たりの標本の数は増加する。また量子化のステップを小さくして近似値を表わす符号の範囲を大きくすることによって符号の桁数あるいはビット数も増大する。伝送する情報の量は単位時間当たりの標本の数と符号の桁数あるいはビット数の積に比例するので、“明瞭に会話できること”を実現しようとすると伝送する情報の量が増大することになる。ところがこれは“誰とでもいつでもつながること”を実現するために必要である“それぞれの接続を確立するために必要な伝送路の占有量を小さくすること”とは相反した要求である。
【０００９】
そこでこれらの相反した要求を同時に満足するために、増大した音声情報を伝送する際に情報量を小さくする音声符号化の技術が検討されている。
【００１０】
なお伝送する音声の情報量を小さくするためには、音声符号化を行う前に不必要な情報を伝送する情報に入れ込まないことも重要である。標本化周期については音声情報をディジタル化するにあたって必要十分な細かさに限定すれば伝送する情報量を小さくすることができる。一般に電話機で通話を行うのに必要な周波数帯域の上限は４キロヘルツと言われている。つまり４キロヘルツの信号まで再現可能な標本化周期で標本化を実施すればよい。この場合の標本化周期はシャノンの定理により２倍の８キロヘルツである。
【００１１】
量子化については音声振幅の統計的な性質を用いて振幅を対数変換して圧縮する技術がある。対数変換の公式としてはμ則またはＡ則と呼ばれる式が広く活用されている。この対数圧縮によって同じ量子化ステップ数で音声波形を細やかに量子化することができる。更に音声振幅の変化の特性に合わせて量子化のステップ幅を時間的に変化させる適応量子化と呼ばれる技術がある。
【００１２】
また音声信号には周期性があるため隣接した標本間で相関がある他に、離れた標本間でも相関があるという特性がある。隣接した標本間の差分、あるいはその相関を利用して予測した値と実際の標本値の予測差分を符号化することによって情報を圧縮することができる。単純に差分を伝送する技術として差分量子化（Ｄｉｆｆｅｒｅｎｔｉｏａｌ　Ｐｕｌｓｅ　Ｃｏｄｅ　Ｍｏｄｕｌａｔｉｏｎ：ＤＰＣＭ）技術がある。この差分量子化技術の中には、差分を“０”あるいは“１”のいずれかしか取り得ないものがある。これはデルタ変調（Ｄｅｌｔａ　Ｍｏｄｕｌａｔｉｏｎ：ＤＭ）と呼ばれるものであり、量子化した直前のデータと現データとの差分が一定の値を超えている場合には“１”を伝送し、それ以外の場合には“０”を伝送する。これにより伝送に必要な差分情報の情報量を非常に小さく抑えることができる。また予測差分を伝送する技術の例としては適応差分量子化（Ａｄａｐｔｉｖｅ　Ｄｉｆｆｅｒｎｔｉｏａｌ　Ｐｕｌｓｅ　Ｃｏｄｅ　Ｍｏｄｕｌａｔｉｏｎ：ＡＤＰＣＭ）技術がある。適応差分量子化技術を用いて符号化したデータは元データの半分程度にまで圧縮することができる。
【００１３】
また、音声波形や音声の周波数成分情報等をディジタル化する際にそれぞれの標本化値ごとに量子化せずに複数の標本化値の組をまとめて１個の符号で表現する量子化技術がある。これはベクトル量子化と呼ばれるもので、複数の情報をまとめて１個の符号で表現することによって情報を圧縮することができる。
【００１４】
これまで説明した差分量子化技術や適応差分量子化技術は、音声信号の波形そのものをできるだけ忠実に表現しようとする技術である。これとは別に音声というものがいかにして生成されるのかをモデル化して、この生成モデルに基づいて音声をパラメータに変換して表現する“分析合成技術”と呼ばれる技術がある。音声の分析合成技術を用いた通信では音声信号波形そのものを伝送する代わりに音声を合成して作り出す際に必要な音源の性質を表わす情報と、その音源の出力信号に周波数フィルタ処理を行う際の周波数フィルタの性質を表わす情報を符号化して伝送する。この符号化された信号を受信した側では符号を復号して元の情報に変換した後、音源の性質を表わす情報と周波数フィルタの性質を表わす情報を基に音声信号を合成して再現する。
【００１５】
音声は声帯が振動することによって生じる周期性をもった有声音と、空気の流れによって生じる周期性をもたない無声音で構成されている。つまりこれらの周期性をもった音源情報と周期性を持たない音源情報の両方を伝送する必要がある。また人の声帯で生成された空気の振動は、のどや口の中といった太さの異なる複数の管を通った後に放射される。これは声帯で生成した信号に複数の周波数フィルタをかけて出力信号を得ていることに相当する。そこでこの信号通過経路を複数の周波数フィルタを合成した“合成フィルタ”と考える。この合成フィルタの性質は複数の周波数についての、その周波数フィルタの入出力特性で表わすことができる。
【００１６】
人の声が言葉として聞き分けられているということは、音声信号が時間の経過とともに変化しておりその変化を感じ取っていることになる。つまりこの音声信号の音源の性質とフィルタの性質も時間の経過とともに変化しており一様ではない。したがって分析合成技術を用いた音声信号の伝送においても、この時間の経過とともに変化した、それぞれ異なった情報を逐一伝送する必要がある。
【００１７】
音声の分析合成技術の例としてマルチパルス符号化と呼ばれる技術がある。マルチパルス符号化技術は入力音声信号を分析して、この入力音声信号を構成する周波数帯ごとの強弱を示すスペクトル包絡情報と音源情報とを抽出して伝送し、受信側でこの情報を元に音声を合成する技術である。スペクトル包絡情報は一般的に線形予測分析を用いて求められる。また、ここでの音源情報は入力音声信号からスペクトル包絡情報を除いた残差信号と呼ばれるもので、振幅と位置に自由度のある複数パルスからなるパルス列によって表わされる。このマルチパルス符号化技術を用いて伝送効率を改善する提案には、たとえば特開平４−８４２００公報に示されたものがある。また、音声の分析合成技術の他の例として符号励振線形予測（Ｃｏｄｅ　Ｅｘｃｉｔｅｄ　Ｌｉｎｅａｒ　Ｐｒｅｄｉｃｔｉｏｎ　Ａｕｄｉｏ　Ｃｏｄｅｓ：ＣＥＬＰ）と呼ばれる技術がある。
【００１８】
図７は、符号励振線形予測技術を用いた装置の例として２台の携帯電話端末の音声入出力部分を表わしたものである。ここでは符号励振線形予測技術の概要を説明する。通常それぞれの携帯電話端末には音声を符号化する音声符号化装置と符号化された信号を音声に復号する音声復号化装置の両方が搭載されている。しかし、ここでは説明を容易にするために音声を送信する側に音声符号化装置１０１のみを示し、音声を受信する側に音声復号化装置１０２のみを示している。音声を送信する側では利用者が発した音声を携帯電話端末のマイクロフォン１０３で検出し、これを電気信号に変換して音声符号化装置１０１の音声入力手段１０４に入力する。音声入力手段１０４は音声を所定の周期で分割した音声信号１０５を生成する。分割された音声信号１０５は、線形予測分析器１０６に入力され線形予測分析が実施されて周波数フィルタ特性１０７が求められ、合成フィルタ１０８に入力される。この周波数フィルタ特性１０７に基づいて合成フィルタ１０８は、入力された音声信号１０５のもつフィルタ特性の反映された周波数フィルタとして動作する。また、合成フィルタ１０８には音源として用いることができる信号のパターンが各種格納されている符号帳１０９から、聴感重み付け誤差最小化器１１０からの制御信号に従って、音源に相当する音源信号１１１が入力される。符号帳１０９にはこの音源として用いることができる信号のパターンが各種格納されており、コードブックとも呼ばれている。また、符号帳１０９に格納された各種信号のパターンには、それぞれ符号が付与されている。入力された音源信号１１１は、周波数フィルタ特性１０７が反映された合成音声信号１１２となる。また音声信号１０５は、加算器１１３にも入力され合成音声信号１１２と加算される。この時、合成音声信号１１２を加算器１１３の負の入力とすることによって、加算器１１３からの出力信号は、音声信号１０５と合成音声信号１１２との差分信号１１４となる。この差分信号１１４が最小となる符号帳の出力を探索するために、聴感重み付け誤差最小化器１１０は、符号帳１０９に対して新たな音源信号１１１の出力を要求する。この要求を繰り返して、差分信号１１４が最小となった際に符号帳１０９から出力された音源信号１１１に付与されていた符号１１５が、伝送路１１６に対して出力される。また、これと併せて線形予測分析器１０６から出力された周波数フィルタ特性１０７が伝送路１１６に対して出力される。
【００１９】
音声を受信する側の音声復号化装置１０２は、符号帳１１７と合成フィルタ１１８と合成の完了した音声に周波数ごとの強弱を付加するポストフィルタ１１９で構成されている。伝送路１１６から受信した符号１２１は、音声を送信する側が送信した符号１１５と同一のものである。また、伝送路１１６から受信した周波数フィルタ特性１２２は、音声を送信する側が送信した周波数フィルタ特性１０７と同一のものである。音声復号化装置１０２は伝送路１１６から受信した符号１２１を符号帳１１７に入力して得た音源信号１２３を合成フィルタ１１８に入力する。符号帳１１７は、音声を送信する側がもつ符号帳１０９と同一のものであり、同じ符号が符号帳に入力された場合に出力される音源信号は同じものとなる。この音源信号１２３は、伝送路１１６から受信した周波数フィルタ特性１２２に従って周波数入出力特性が調整された合成フィルタ１１８に入力されて、合成音声１２４が出力される。この合成音声１２４はポストフィルタ１１９に入力されて周波数ごとの強弱を加えられて聴感上聞き取り易い合成音声１２５に変換された後スピーカ１２０から出力されるようになっている。
【００２０】
このように符号励振線形予測では、あらかじめ種々の音源のパターンを蓄えておきそれぞれに符号を割り当てておく。音声符号化装置に入力された音声信号は一定の時間間隔ごとに区切られて、線形予測分析によって周波数スペクトル包絡を求め、これに基づいた合成フィルタの係数が求められる。符号帳の各音源のパターンに対して、この合成フィルタの係数を入力パラメータとした合成フィルタ処理を行い合成音声を生成する。この合成音声と入力された音声信号を比較して、最も誤差の小さかった音源のパターンに割り当てられている符号を入力された音声信号に対応する符号として用いる。符号帳のもつ音源のパターンを細やかにかつ種類を豊富に作成する程、入力音声信号との類似度の高いパターンを選択できる可能性が高まり、音声の再現性も高まる。しかし膨大な数のパターンを作成して、これを音声符号化装置に記憶させることは装置の記憶媒体の増大と比較処理量の増大に繋がるため限度がある。そこでこのパターンを代数的に生成して、少ない記憶媒体量で多種のパターンを代替する技術が提案されている。この技術を用いた符号励振線形予測は代数符号励振線形予測（Ａｌｇｅｂｒａｉｃ　Ｃｏｄｅ　Ｅｘｃｉｔｅｄ　Ｌｉｎｅａｒ　Ｐｒｅｄｉｃｔｉｏｎ：ＡＣＥＬＰ）と呼ばれ、携帯電話システムにおいて利用されている。この代数符号励振線形予測を更に少ない記憶媒体量で実現する提案は、たとえば特表平１０−５０２１９１に示されている。
【００２１】
音声信号を符号化する技術とこれを元に戻す復号化技術は、対になったものが詳細に規定されていなければ正しく元の音声信号を再現することができない。またこの符号化技術を多くの機器に普及させるためには、その詳細な仕様が広く認知される必要がある。そこで符号化技術は標準化組織のもとで詳細が規定されて、勧告として公開されている。このうち代数符号励振線形予測に関しては、国際的な標準化組織である“ＩＴＵ”（Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ　Ｕｎｉｏｎ）において“ＩＴＵ−勧告Ｇ７２３．１低レート方式（５．３ｋｂｉｔ／ｓｅｃ）”として勧告化されている。また、別の国際的な標準化組織である“３ＧＰＰ”（３ｒｄ　Ｇｅｎｅｒａｔｉｏｎ　Ｐａｒｔｎｅｒｓｈｉｐ　Ｐｒｏｊｅｃｔ）において、“ＧＳＭ−ＡＭＲ”（Ｇｌｏｂａｌ　Ｓｙｓｔｅｍ　ｆｏｒ　Ｍｏｂｉｌｅ　Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ　−Ａｄａｐｔｉｖｅ　Ｍｕｌｔｉ−Ｒａｔｅ　Ｓｐｅｅｃｈ　Ｔｒａｎｓｃｏｄｉｎｇ）として勧告化されている。これらは代数符号励振線形予測を原理とする符号化技術であり大幅に符号量を削減しながら高品質な音声を再生できる技術として知られている。
【００２２】
これらの音声信号の符号化技術は電話システムにおいて利用者が持つ携帯電話端末で用いられる他に、電話端末間の接続を仲介する電話交換機にも用いられる。電話交換機においては、異なった音声符号化技術を採用している電話端末同士の通話を成立させるために符号化された音声信号の相互変換を行う。そこで、異なった音声符号化技術間で共通に取り扱える信号に変換するために音声の符号化と復号化を行う必要がある。電話交換機は同時に多数の電話端末間の接続を仲介する装置であるため、音声符号化の相互変換を行う回路は同時に多数の電話端末に対応できるものでなければならない。
【００２３】
図８は、符号励振線形予測技術を用いた音声符号化装置の要部を表わしたものである。この音声符号化装置を用いて、符号励振線形予測技術の概要を説明する。この音声符号化装置はフィルタ部位１３１と音源部位１３２と比較器部位１３３で構成されている。フレーム分割された音声信号１３４はまずフィルタ部位１３１に入力されて線形予測分析および量子化器１３５によって線形予測分析が行われて周波数フィルタ特性が求められた後、この周波数フィルタ特性が量子化される。量子化された周波数フィルタ特性は合成フィルタ１３６に入力されて入力音声のもつフィルタ特性をもったフィルタが形成される。
【００２４】
音源部位１３２は、音声のもつ声の高さに相当する周期成分の信号を生成する音源となる適応コードブック１３７と音声のもつ周期成分以外の信号を生成する音源となる雑音コードブック１３８をもつ。そしてこれらの音源から出力された信号の振幅を制御するためのゲインコードブック１３９と、適応コードブック１３７の生成した信号の振幅を調整する適応コードブック信号増幅器１４０と、雑音コードブック１３８の生成した信号の振幅を調整する雑音コードブック信号増幅器１４１をもつ。振幅の調整されたこれらの音源信号は、音源加算器１４２によって加算された後、フィルタ部位１３１の合成フィルタ１３６に入力されて周波数ごとの強弱を付加された合成音声１４３として生成される。
【００２５】
比較器部位１３３には音声信号１３４と合成音声１４３が入力されて、加算器１４４で加算される。ここで合成信号１４３を負の形式で入力することで差分を求める。この差分に対して聴感重み付けフィルタ１４５によって、聴感上の聞こえにくい周波数成分を強めるとともに、聴感上聞こえやすい周波数成分を弱めるフィルタ処理を行う。この処理によって人の聴感上で冗長な情報を削減し情報量を低減させる。この後誤差最小化器１４６は、合成音声１４３と音声信号１３４の最小二乗誤差を算出することで誤差を求めると共に、音源部位１３２のそれぞれのコードブックに対して別の信号出力を実行させる。この処理を繰り返し実行し、誤差が最小となった際のコードブックからの出力信号が目標の信号であるとみなし、この信号に付与されている符号を音声符号化装置の出力として得る。この、コードブックから目標の出力信号を見つけ出す処理は“パターン探索”、“パルス探索”あるいは“コードブック探索”等と呼ばれている。
【００２６】
図９は、人の聴感上で知覚されにくい情報を省き冗長な情報を削除する周波数ごとの強弱処理を行う聴感重み付けを実施した聴感重み付け音声信号と聴感重み付け合成音声信号とこれら２つの音声信号の誤差信号をベクトルで表わしたものである。ここで聴感重み付け音声信号１５１をｒ、聴感重み付け合成音声信号１５２をＧＨνξとすると、誤差信号１５３はｒ−ＧＨνξとして表わすことができる。ここで音声符号化に関する勧告の一例である“ＩＴＵ勧告Ｇ７２３．１”の記述を用いて代数符号励振線形予測で行うパターン探索原理を詳しく説明する。パターン探索は入力音声信号と合成音声信号の平均二乗誤差Ｅξを求めて、この誤差が最小となるパターンを目的のパターンとするものである。この平均二乗誤差を求める演算を次の（１）式に示す。
【数１】
2004093946.tif 000003
【００２７】
ここで、聴感重み付け音声信号ｒと聴感重み付け合成音声信号ＧＨｖξの誤差を最小にすることは、（１）式の平均二乗誤差Ｅξを最小にすることと同じである。（１）式の右辺を展開して、次の（２）式に表わす。
【００２８】
Ｅξ＝（ｒ）×（ｒ−ＧＨνξ）−（ＧＨνξ）×（ｒ−ＧＨνξ）……（２）
【００２９】
この時に誤差が最小となる条件を図９で誤差信号１５３を表わしている“ｒ−ＧＨνξ”で考えると、聴感重み付け合成音声信号１５２と誤差信号１５３のなす角度が直角であるとき誤差が最小となることがわかる。これはベクトルが直交する時それらのベクトルの内積が“０”である原理に基づいている。したがって、誤差が最小であるとき（２）式の第２項は“０”となる。ここで、ＧＨνξのＧはコードブックの各パターンから生成される音源信号に与える利得に相当するコードブック利得を示す。また、νξはインデクスξにおけるパターンを表わす代数的符号語を示す。また、Ｈは音声信号線形予測分析して求めたスペクトル包絡情報に聴感重み付けを行った合成フィルタに、広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答を示す合成フィルタのインパルス応答を要素とする行列を示す。これはインパルス応答要素ｈ（ｎ）を、対角がｈ（０）、低位の対角がｈ（１）、・・・、ｈ（Ｌ−１）の下三角テプリッツ畳み込み行列の形式にしたものである。ここでｎは、入力音声信号を一定時間で区切って標本化した際の各標本のインデクス値と等しいものである。また、Ｌは入力音声を一定時間に区切った１区間内の標本の数である。テプリッツ行列とは、対称でかつ対角線に平行な線上の要素がすべて等しい性質をもっている行列をいう。また、下三角畳み込みとは行列の対角線より下の三角形の領域に要素を設定して、それ以外の領域には“０”が設定されていることをいう。
【００３０】
直行したベクトルの内積が“０”であるという原理に基づき、（２）式の第２項を“０”とする。更に平均二乗誤差“Ｅξ＝０”として、式の変形を行う。ここでパラメータを振ることができる唯一の要素であるコードブック利得Ｇについて（２）式を微分する。さらにこれをコードブック利得Ｇに関してまとめると、次の（３）式のように表わすことができる。
【数２】
2004093946.tif 000004
【００３１】
これを（１）式に代入すると平均二乗誤差Ｅξは、次の（４）式のように求められる。
【数３】
2004093946.tif 000005
【００３２】
この平均二乗誤差Ｅξを最小化するには、（４）式の第２項を最大化すればよい。そこで（４）式の第２項をτξとすると、次の（５）式が求められる。
【数４】
2004093946.tif 000006
【００３３】
ここでは（４）式からこの（５）式を求めるにあたり、次の（６）式を用いた。ここでｄは聴感重み付け音声信号と聴感重み付け合成フィルタのインパルス応答の相関を表わすベクトルである。
【００３４】
ｄ＝ＨＴｒ　　　　……（６）
【００３５】
また、（４）式から（５）式を求めるにあたり、次の（７）式を用いる。Φは聴感重み付け合成フィルタのインパルス応答の共分散行列である。
【００３６】
Φ＝ＨＴＨ　　　　……（７）
【００３７】
そして、このベクトルｄと行列Φをコードブック探索に先だって演算によって求める。このベクトルｄのそれぞれの要素は、次の（８）式で表わすことができる。
【数５】
2004093946.tif 000007
【００３８】
ここで“ｊ”は“０”以上でかつ“Ｎ−１”以下である。また、“Ｎ”は聴感重み付け合成フィルタのインパルス応答の要素数であり、また音声をフレーム分割した際の１フレームあたりの標本数である。そして“ｎ”と“ｉ”と“ｊ”は聴感重み付け合成フィルタのインパルス応答の要素と標本化された音声の要素と聴感重み付け合成フィルタのインパルス応答の共分散行列の要素をインデクスするための値である。
【００３９】
また、行列Φ（ｉ，ｊ）は次の（９）式で表わすことができる。
【数６】
2004093946.tif 000008
【００４０】
ここでｉは“０”以上でかつ“Ｎ−１”以下であり、ｉはｊ以下である。
【００４１】
この“ＩＴＵ勧告Ｇ７２３．１”の例では、パターン探索は４本のパルスの位置と極性を探索する。そのために、それぞれのパルス位置に対応した４重のループ処理が実行される。そして、それぞれのループ処理によって新しいパルスの寄与分が加算される。そこで、（５）式の相関Ｃは以下の（１０）式で表わすことができる。
【００４２】
Ｃ＝α０ｄ［ｍ０］＋α１ｄ［ｍ１］＋α２ｄ［ｍ２］＋α３ｄ［ｍ３］……（１０）
【００４３】
ここで、ｍｋはｋ番目のパルスの位置を示しており、αｋはｋ番目のパルスの極性を示している。また、ベクトルｄは（８）式にて求めた値である。
【００４４】
ここで探索しているパルスは、振幅が零でないことを意味する“非零パルス”と呼ばれるものである。この非零パルスの１サブフレームあたりの本数は、それぞれの代数符号励振線形予測技術の種類ごとに定められている。そして、決められたパルス位置の複数の候補の中から演算によって最適な位置を決定する。一例として示した勧告Ｇ．７２３．１で規定されている２種類の伝送速度のうちの低ビットレートの場合、（１０）式に４個の項がありそれぞれがパルスの位置を示しているように非零パルスの本数は最大４本である。また、勧告Ｇ．７２３．１ではフレーム長が３０ミリ秒、フレームを４分割したサブフレーム長が７．５ミリ秒、サンプリング周波数が８キロヘルツなので、１サブフレーム中のサンプル数は“６０”となる。非零パルス位置候補は、演算量削減のために偶数番目のみと考えている。非零パルス部分以外は計算をしないことにより、演算量を大幅に低減している。サンプル数“６０”の中の偶数番目は３０本あり、この中から４本を選ぶため、それぞれは８カ所の中から選ぶものとする。つまり４本の非零パルスはおのおの８カ所の位置候補のうち最適な場所を演算で選ぶ。しかし“８カ所”の４倍は“３２カ所”となり、“３０”を“２”超過している。この時の３番目と４番目のパルスはフレーム内に収まらずに、結果としてパルスの本数が減ることもあり得る。この時は、非零パルスの本数は４本よりも少なくなる。別の例として、勧告のＧＳＭ−ＡＭＲでは８種類の伝送速度（ビットレート）が存在し、非零パルスの本数は、一部重複するものを含めて６種類のパターンがある。
【００４５】
（５）式における偶数パルス位置にパルスのあるパターンのベクトルのもつエネルギーを求める。このエネルギーεは、次の（１１）式で表わすことができる。
【００４６】
ε＝Φ（ｍ０，ｍ０）
＋Φ（ｍ１，ｍ１）＋２α０α１Φ（ｍ０，ｍ１）
＋Φ（ｍ２，ｍ２）＋２［α０α２Φ（ｍ０，ｍ２）＋α１α２Φ（ｍ１，ｍ２）］
＋Φ（ｍ３，ｍ３）＋２［α０α３Φ（ｍ０，ｍ３）＋α１α３Φ（ｍ１，ｍ３）＋α２α３Φ（ｍ２，ｍ３）］　　　　……（１１）
【００４７】
演算量を削減するために、パルスは偶数番目に存在するものと仮定して計算を行い、奇数番目のパルス位置にパルスのあるパターンのベクトルについては、近似を用いて算出する。奇数番目のパルス位置にパルスのあるパターンのベクトルを計算するために、ベクトルｄ［ｊ］と対称行列Φ（ｍ１，ｍ２）を変形して、新たに式ｓ［ｊ］を定義してベクトルｄ’［ｊ］を構成する。
【００４８】
ｓ［２ｊ］＝ｓ［２ｊ＋１］＝ｓｉｇｎ（ｄ［２ｊ］）
｜ｄ［２ｊ］｜＞｜ｄ［２ｊ＋１］｜の場合
ｓ［２ｊ］＝ｓ［２ｊ＋１］＝ｓｉｇｎ（ｄ［２ｊ＋１］）
それ以外の場合　　　　……（１２）
【００４９】
ｄ’［ｊ］＝ｄ［ｊ］×ｓ［ｊ］　　　　……（１３）
Φ’（ｉ，ｊ）＝ｓ［ｉ］×ｓ［ｊ］×Φ（ｉ，ｊ）　　　　……（１４）
【００５０】
ここで、（１３）式におけるベクトルｄ’［ｊ］と（１４）式における対称行列Φ’（ｉ，ｊ）は、ベクトルｄ［ｊ］と対称行列Φ（ｉ，ｊ）に、式ｓ［ｊ］を用いてパルスの極性要素を取り込んだものである。そのため、（１０）式と（１１）式では、すべてのパルスの極性αは“１”とみなすことができる。したがって、（１０）式と（１１）式は、以下の（１５）式と（１６）式のように表わすことができる。
【００５１】
Ｃ＝ｄ’［ｍ０］＋ｄ’［ｍ１］＋ｄ’［ｍ２］＋ｄ’［ｍ３］……（１５）
ε＝Φ’（ｍ０，ｍ０）
＋Φ’（ｍ１，ｍ１）＋２Φ’（ｍ０，ｍ１）
＋Φ’（ｍ２，ｍ２）＋２［Φ’（ｍ０，ｍ２）＋Φ’（ｍ１，ｍ２）］
＋Φ’（ｍ３，ｍ３）＋２［Φ’（ｍ０，ｍ３）＋Φ’（ｍ１，ｍ３）＋Φ’（ｍ２，ｍ３）］……（１６）
【００５２】
ここで求められたエネルギーεと（１５）式で求めた相関Ｃを更に式（５）のエネルギーεξと相関Ｃξに代入し、相関エネルギー比τξが最小となるパルス位置を求めることがパターン探索の原理である。この原理に従ったパターン探索を行うために、代数符号励振線形予測技術では、聴感重み付け合成フィルタのインパルス応答ｈ（ｎ）を用いた下三角テプリッツ畳み込み行列Ｈと、下三角テプリッツ畳み込み行列Ｈの転置行列との相関演算で、Ｎ行Ｎ列の二次元行列Φ（ｉ，ｊ）を算出している。
【００５３】
代数符号励振線形予測のうちの勧告ＧＳＭ−ＡＭＲを例として、音声符号化処理を具体的な数値を用いて説明する。勧告ＧＳＭ−ＡＭＲで音声信号を符号化する単位は、５ミリ秒の時間幅をもったサブフレームである。フレームは、サブフレームを４個まとめた２０ミリ秒の時間幅をもっている。標本化周期は８キロヘルツなので、１つのサブフレーム中のサンプル数Ｎは“４０”となる。これらの４０個のサンプルについて、パターン探索処理を実施することになる。
【００５４】
パターン探索を行うにあたり、まず符号器のもつ聴感重み付け合成フィルタのインパルス応答ｈ（ｎ）を用いた下三角テプリッツ畳み込み行列Ｈと、行列Ｈの転置行列の相関演算を実施し、Ｎ行Ｎ列の二次元行列Φ（ｉ，ｊ）を求める。ここでサンプル数Ｎが４０であるので、Ｎ行Ｎ列の二次元行列Φ（ｉ，ｊ）の要素数は“４０×４０”の１６００個となる。また、４０個の要素をインデクスする値となる“ｎ”の値の範囲は０〜３９となる。
【００５５】
二次元行列Φ（ｉ，ｊ）は、（９）式に“ｎ”の値の範囲を反映させて、次の（１７）式で表わすことができる。
【数７】
2004093946.tif 000009
【００５６】
ここでｊはｉ以上であり、ｉは“０”以上でかつ“３９”以下である。
【００５７】
これらの演算を、Ｎ行Ｎ列の二次元行列Φ（ｉ，ｊ）の要素数分行わなければならない。しかしこの行列は下三角テプリッツ畳み込み行列であり、対称行列である性質を用いて各要素の算出をＮの二乗個の演算で求めるのではなく、“Ｎ（Ｎ＋１）／２”個の演算で求めている。このように、パターン探索に関しては演算量削減の各種の提案が行われている。
【００５８】
たとえば、特開平１１−３２７５９９公報では符号励振線形予測技術を用いた音声符号化装置でコードブックからパターン探索する際に用いる聴感重み付け合成フィルタのインパルス応答行列の長さを音声の周期成分の２分の１以下の長さに短縮している。つまりインパルス応答行列の長さを短縮することで、インパルス応答行列の相関演算量を削減している。そして、この削減した部分は近似処理を行うことで置き換えている。しかしこの近似処理を用いた置き換えは、近似処理をせずに相関演算を行った場合とは異なった結果となる可能性があり音声品質を劣化させる要因となりかねず、また、各勧告とのビットイグザクトを保証できなくなる恐れがある。
【００５９】
また、特開平０３−１８９７００公報では符号励振線形予測技術を用いた音声符号化装置でコードブックからパターン探索に用いる聴感重み付け合成フィルタのインパルス応答行列の相関行列の演算を初期要素のみに対して行っている。そして、それ以外の要素については１つ前に求めた要素を基に再帰的に求めている。これにより演算の重複を削減して演算量を削減している。しかしこの再帰的な演算は、再帰的な演算をせずに相関演算を実施した場合とは異なった結果となる可能性があり音声品質を劣化させる要因となりかねず、また、各勧告とのビットイグザクトを保証できなくなる恐れがある。
【００６０】
【発明が解決しようとする課題】
以上説明したように、符号励振線形予測技術を用いた音声符号化装置では少ない伝送情報量で高品質な音声を再生することが可能である。しかしながら音声のもつ特徴を抽出しこれを表現するのに適切な情報を符号帳から求めるために大量の演算を短時間で実施しなければならない。特に、数多くの電話端末に対する音声符号化処理を行う電話交換機等の集線装置では、この大量の演算を更に数多くの電話端末数分実施しなければならない。そこで、これを賄うために多数の動作周波数の高いプロセッサを備えるか、あるいは更に動作周波数の高いプロセッサを備えなければならなかった。
【００６１】
そこで本発明の目的は動作周波数の比較的低いプロセッサであっても比較的短時間で音声信号の符号化ができる音声符号化装置および音声符号化プログラムを提供することにある。
【００６２】
【課題を解決するための手段】
請求項１記載の発明では、（イ）通話者が発する音声を入力する音声入力手段と、（ロ）この音声入力手段で入力された音声をＬ個（Ｌは自然数）の標本を持つサブフレームｑ個（ｑは自然数）を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割手段と、（ハ）この分割手段で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成手段と、（ニ）この合成フィルタ生成手段によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるＬ個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得手段と、（ホ）このインパルス応答取得手段によって求めたＬ個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成し、その転置行列との自己相関演算を合成フィルタのインパルス応答のＬ個の要素のうちのｎ個（ｎは自然数）を取り出して１処理周期あたりｎ個を並列して実行する並列演算で、ｎ個の合成フィルタのインパルス応答の自己相関値を求める並列演算手段と、（ヘ）この並列演算手段による並列演算を繰り返してＬ×Ｌ個の合成フィルタのインパルス応答の自己相関値を求める繰り返し手段と、（ト）この繰り返し手段による並列演算の繰り返しの中で、演算対象の合成フィルタのインパルス応答の要素をＬ個を越える要素数に拡張して並列演算を実施する演算要素拡張手段と、（チ）繰り返し手段と演算要素拡張手段によって求めた自己相関値から有意なものを選択する自己相関値選択手段と、（リ）インパルス応答取得手段で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算手段と、（ヌ）自己相関値選択手段によって選択した有意な自己相関値と相互相関演算手段によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の１つである無声音成分を表わす情報を求める無声音解析手段と、（ル）この無声音解析手段によって求めた無声音成分を表わす情報を音声の非周期成分の要素として通話者の通話相手に向けて出力する出力手段とを音声符号化装置に具備させる。
【００６３】
すなわち請求項１記載の発明では、まず分割手段によってフレームに分割された音声を音声生成のモデルとされる音源と周波数フィルタを用いて合成する場合の、音源となるパルス信号列を求める。音源は音声の有声音を構成する周期性のある音源と、音声の無声音を構成する周期性のない音源の２つに分類することができるが、このうちの無声音を構成する周期性のない音源となるパルス信号列を求めるものとする。周波数フィルタはこれら両方の音源に対してその周波数フィルタのもつ周波数入出力特性に基づく周波数ごとの強弱を与える。そのためにまず、合成フィルタ生成手段でフレームに分割された音声の周波数ごとの強度である周波数フィルタ特性を求める。音声の周波数フィルタ特性は、入力音声の線形予測分析を行うことで求める。この周波数フィルタ特性はＬ個（Ｌは自然数）の要素をもつ合成フィルタに高帯域の周波数成分を均一に含んだインパルス信号に対するインパルス応答として求められる。そして更に、並列演算手段でこの合成フィルタのインパルス応答の各要素についての自己相関値を求める。合成フィルタのインパルス応答の要素数がＬ個の場合、その自己相関値の個数はＬ×Ｌ個である。Ｌの値はフレーム分割されている音声の標本数と同じで、これは一般的に４０〜６０である。したがって、自己相関値の個数であるＬ×Ｌの値は１６００〜３６００に及ぶが、符号化に伴う音声の遅延を防ぐためにはこの演算を短時間で行う必要がある。そこで、この演算を並列演算手段を用いて実施する。更にこの自己相関演算の繰り返しが、切れ目無く実行されるようにする。自己相関演算の切れ目は、演算器に合成フィルタのインパルス応答の要素を取り込む際に、合成フィルタのインパルス応答の要素が格納されている領域を演算で求めなければならなくなった場合に発生する。そこで、合成フィルタのインパルス応答の各要素を格納領域を極力演算で求めずにすむように連続させて格納しておく。但し、有限個数の要素を繰り返し使用して演算するためには、有限個数分の演算が完了した際に格納領域の途中あるいは先頭の領域を演算で求める必要が生じる場合もある。そこで、この格納領域を求める演算が発生する頻度を低下させることで並列演算の切れ目の発生を極力防止する。そのために、演算要素拡張手段で合成フィルタのインパルス応答の要素を仮想的に増加させて、あたかも演算対象の要素があるかのように扱って自己相関演算を行う。これによって増加した演算を実施することになるが、並列演算による自己相関演算回数の低減と格納領域演算回数の低減でこれを補い、総合的に処理回数を低減させて処理に要する時間を短縮するようにしている。
【００６４】
請求項２記載の発明では、（イ）通話者が発する音声を入力する音声入力手段と、（ロ）この音声入力手段で入力された音声をＬ個（Ｌは自然数）の標本を持つサブフレームｑ個（ｑは自然数）を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割手段と、（ハ）この分割手段で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成手段と、（ニ）この合成フィルタ生成手段によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるＬ個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得手段と、（ホ）このインパルス応答取得手段によって求めたＬ個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成し、その転置行列との自己相関演算を合成フィルタのインパルス応答のＬ個の要素のうちのｎ個（ｎは自然数）を取り出して１処理周期あたりｎ個を並列して実行する並列演算で、ｎ個の合成フィルタのインパルス応答の自己相関値を求める並列演算手段と、（ヘ）この並列演算手段による並列演算を繰り返してＬ×Ｌ個の合成フィルタのインパルス応答の自己相関値を求める繰り返し手段と、（ト）この繰り返し手段による並列演算の繰り返しの中で、演算対象の合成フィルタのインパルス応答の要素にＬ−１個の仮想的な合成フィルタのインパルス応答要素を追加拡張して並列演算を実施する演算要素拡張手段と、（チ）繰り返し手段と演算要素拡張手段によって求めた自己相関値から有意なものを選択する自己相関値選択手段と、（リ）インパルス応答取得手段で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算手段と、（ヌ）自己相関値選択手段によって選択した有意な自己相関値と相互相関演算手段によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の１つである無声音成分を表わす情報を求める無声音解析手段と、（ル）この無声音解析手段によって求めた無声音成分を表わす情報を音声の非周期成分の要素として通話者の通話相手に向けて出力する出力手段とを音声符号化装置に具備させる。
【００６５】
すなわち請求項２記載の発明では、まず分割手段によってフレームに分割された音声を音声生成のモデルとされる音源と周波数フィルタを用いて合成する場合の、音源となるパルス信号列を求める。音源は音声の有声音を構成する周期性のある音源と、音声の無声音を構成する周期性のない音源の２つに分類することができるが、このうちの無声音を構成する周期性のない音源となるパルス信号列を求めるものとする。周波数フィルタはこれら両方の音源に対してその周波数フィルタのもつ周波数入出力特性に基づく周波数ごとの強弱を与える。そのためにまず、合成フィルタ生成手段でフレームに分割された音声の周波数ごとの強度である周波数フィルタ特性を求める。音声の周波数フィルタ特性は、入力音声の線形予測分析を行うことで求める。この周波数フィルタ特性はＬ個（Ｌは自然数）の要素をもつ合成フィルタに高帯域の周波数成分を均一に含んだインパルス信号に対するインパルス応答として求められる。そして更に、並列演算手段でこの合成フィルタのインパルス応答の各要素についての自己相関値を求める。合成フィルタのインパルス応答の要素数がＬ個の場合、その自己相関値の個数はＬ×Ｌ個である。Ｌの値はフレーム分割されている音声の標本数と同じで、これは一般的に４０〜６０である。したがって、自己相関値の個数であるＬ×Ｌの値は１６００〜３６００に及ぶが、符号化に伴う音声の遅延を防ぐためにはこの演算を短時間で行う必要がある。そこで、この演算を並列演算手段を用いて実施する。更にこの自己相関演算の繰り返しが、切れ目無く実行されるようにする。自己相関演算の切れ目は、演算器に合成フィルタのインパルス応答の要素を取り込む際に、合成フィルタのインパルス応答の要素が格納されている領域を演算で求めなければならなくなった場合に発生する。そこで、合成フィルタのインパルス応答の各要素を格納領域を極力演算で求めずにすむように連続させて格納しておく。但し、有限個数の要素を繰り返し使用して演算するためには、有限個数分の演算が完了した際に格納領域の途中あるいは先頭の領域を演算で求める必要が生じる場合もある。そこで、この格納領域を求める演算が発生する頻度を低下させることで並列演算の切れ目の発生を極力防止する。そのために、演算要素拡張手段で合成フィルタのインパルス応答の要素を仮想的にＬ−１個増加させて、あたかも演算対象の要素があるかのように扱って自己相関演算を行う。これによって増加した演算を実施することになるが、並列演算による自己相関演算回数の低減と格納領域演算回数の低減でこれを補い、総合的に処理回数を低減させて処理に要する時間を短縮するようにしている。
【００６６】
請求項３記載の発明では、請求項１または請求項２記載の音声符号化装置で、並列演算手段は、１処理周期で並列演算を行うことが可能な最大数の並列演算を実施する最大並列演算手段を具備することを特徴とする。
【００６７】
すなわち請求項３記載の発明では、並列演算処理は、最大並列演算手段によって１処理周期で並列演算を行うことが可能な最大数で並列演算を実施するようにしている。このため並列演算処理の能力を十分に引き出して処理に要する時間を短縮するようにしている。
【００６８】
請求項４記載の発明では、コンピュータに、（イ）音声入力手段で入力された音声をＬ個（Ｌは自然数）の標本を持つサブフレームｑ個（ｑは自然数）を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割処理と、（ロ）この分割処理で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成処理と、（ハ）この合成フィルタ生成処理によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるＬ個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得処理と、（ニ）このインパルス応答取得処理によって求めたＬ個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成してその転置行列との自己相関演算を合成フィルタのインパルス応答のＬ個の要素のうちのｎ個（ｎは自然数）を取り出して１処理周期あたりｎ個を並列して実行する並列演算で、ｎ個の合成フィルタのインパルス応答の自己相関値を求める並列演算処理と、（ホ）この並列演算処理による並列演算を繰り返してＬ×Ｌ個の合成フィルタのインパルス応答の自己相関値を求める繰り返し処理と、（ヘ）この繰り返し処理による並列演算の繰り返しの中で演算対象の合成フィルタのインパルス応答の要素をＬ個を越える要素数に拡張して並列演算を実施する演算要素拡張処理と、（ト）繰り返し処理と演算要素拡張処理によって求めた自己相関値から有意なものを選択する自己相関値選択処理と、（チ）インパルス応答取得処理で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算処理と、（リ）自己相関値選択処理によって選択した有意な自己相関値と相互相関演算処理によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の１つである無声音成分を表わす情報を求める無声音解析処理とを実行させる。
【００６９】
すなわち請求項４記載の発明では、まず、分割処理によってフレームに分割された音声を音声生成のモデルとされる音源と周波数フィルタを用いて合成する場合の、音源となるパルス信号列を求める。音源は音声の有声音を構成する周期性のある音源と、音声の無声音を構成する周期性のない音源の２つに分類することができるが、このうちの無声音を構成する周期性のない音源となるパルス信号列を求めるものとする。周波数フィルタはこれら両方の音源に対してその周波数フィルタのもつ周波数入出力特性に基づく周波数ごとの強弱を与える。そのためにまず、合成フィルタ生成処理でフレームに分割された音声の周波数ごとの強度である周波数フィルタ特性を求める。音声の周波数フィルタ特性は、入力音声の線形予測分析を行うことで求める。この周波数フィルタ特性はＬ個（Ｌは自然数）の要素をもつ合成フィルタに高帯域の周波数成分を均一に含んだインパルス信号に対するインパルス応答として求められる。そして更に、並列演算処理でこの合成フィルタのインパルス応答の各要素についての自己相関値を求める。合成フィルタのインパルス応答の要素数がＬ個の場合、その自己相関値の個数はＬ×Ｌ個である。Ｌの値はフレーム分割されている音声の標本数と同じで、これは一般的に４０〜６０である。したがって、自己相関値の個数であるＬ×Ｌの値は１６００〜３６００に及ぶが、符号化に伴う音声の遅延を防ぐためにはこの演算を短時間で行う必要がある。そこで、この演算を並列演算処理を用いて実施する。更にこの自己相関演算の繰り返しが、切れ目無く実行されるようにする。自己相関演算の切れ目は、演算器に合成フィルタのインパルス応答の要素を取り込む際に、合成フィルタのインパルス応答の要素が格納されている領域を演算で求めなければならなくなった場合に発生する。そこで、合成フィルタのインパルス応答の各要素を格納領域を極力演算で求めずにすむように連続させて格納しておく。但し、有限個数の要素を繰り返し使用して演算するためには、有限個数分の演算が完了した際に格納領域の途中あるいは先頭の領域を演算で求める必要が生じる場合もある。そこで、この格納領域を求める演算が発生する頻度を低下させることで並列演算の切れ目の発生を極力防止する。そのために、演算要素拡張処理で合成フィルタのインパルス応答の要素を仮想的に増加させて、あたかも演算対象の要素があるかのように扱って自己相関演算を行う。これによって増加した演算を実施することになるが、並列演算による自己相関演算回数の低減と格納領域演算回数の低減でこれを補い、総合的に処理回数を低減させて処理に要する時間を短縮するようにしている。
【００７０】
請求項５記載の発明では、コンピュータに、（イ）音声入力手段で入力された音声をＬ個（Ｌは自然数）の標本を持つサブフレームｑ個（ｑは自然数）を持つアルゴリズムごとに所定の単位時間長としてのフレームに分割する分割処理と、（ロ）この分割処理で分割された音声のフレームごとの周波数強度分布を表わすスペクトラム包絡に基づく周波数入出力特性をもつ合成フィルタを生成する合成フィルタ生成処理と、（ハ）この合成フィルタ生成処理によって生成された合成フィルタに広帯域の周波数成分を均等に含むインパルス信号を入力した際の応答であるＬ個の要素をもつ合成フィルタのインパルス応答を求めるインパルス応答取得処理と、（ニ）このインパルス応答取得処理によって求めたＬ個の合成フィルタのインパルス応答を要素とする下三角テプリッツ畳み込み行列とその転置行列の積を、その積が対称行列となる性質を利用して作成してその転置行列との自己相関演算を合成フィルタのインパルス応答のＬ個の要素のうちのｎ個（ｎは自然数）を取り出して１処理周期あたりｎ個を並列して実行する並列演算で、ｎ個の合成フィルタのインパルス応答の自己相関値を求める並列演算処理と、（ホ）この並列演算処理による並列演算を繰り返してＬ×Ｌ個の合成フィルタのインパルス応答の自己相関値を求める繰り返し処理と、（ヘ）この繰り返し処理による並列演算の繰り返しの中で演算対象の合成フィルタのインパルス応答の要素にＬ−１個の仮想的な合成フィルタのインパルス応答要素を追加拡張して並列演算を実施する演算要素拡張処理と、（ト）繰り返し処理と演算要素拡張処理によって求めた自己相関値から有意なものを選択する自己相関値選択処理と、（チ）インパルス応答取得処理で求めた合成フィルタのインパルス応答と音声の相互相関値演算を行う相互相関演算処理と、（リ）自己相関値選択処理によって選択した有意な自己相関値と相互相関演算処理によって求めた相互相関値のうちの所定の個数の要素を選び出して比較演算を行い音声の構成要素の１つである無声音成分を表わす情報を求める無声音解析処理とを実行させる。
【００７１】
すなわち請求項５記載の発明では、まず、分割処理によってフレームに分割された音声を音声生成のモデルとされる音源と周波数フィルタを用いて合成する場合の、音源となるパルス信号列を求める。音源は音声の有声音を構成する周期性のある音源と、音声の無声音を構成する周期性のない音源の２つに分類することができるが、このうちの無声音を構成する周期性のない音源となるパルス信号列を求めるものとする。周波数フィルタはこれら両方の音源に対してその周波数フィルタのもつ周波数入出力特性に基づく周波数ごとの強弱を与える。そのためにまず、合成フィルタ生成処理でフレームに分割された音声の周波数ごとの強度である周波数フィルタ特性を求める。音声の周波数フィルタ特性は、入力音声の線形予測分析を行うことで求める。この周波数フィルタ特性はＬ個（Ｌは自然数）の要素をもつ合成フィルタに高帯域の周波数成分を均一に含んだインパルス信号に対するインパルス応答として求められる。そして更に、並列演算処理でこの合成フィルタのインパルス応答の各要素についての自己相関値を求める。合成フィルタのインパルス応答の要素数がＬ個の場合、その自己相関値の個数はＬ×Ｌ個である。Ｌの値はフレーム分割されている音声の標本数と同じで、これは一般的に４０〜６０である。したがって、自己相関値の個数であるＬ×Ｌの値は１６００〜３６００に及ぶが、符号化に伴う音声の遅延を防ぐためにはこの演算を短時間で行う必要がある。そこで、この演算を並列演算処理を用いて実施する。更にこの自己相関演算の繰り返しが、切れ目無く実行されるようにする。自己相関演算の切れ目は、演算器に合成フィルタのインパルス応答の要素を取り込む際に、合成フィルタのインパルス応答の要素が格納されている領域を演算で求めなければならなくなった場合に発生する。そこで、合成フィルタのインパルス応答の各要素を格納領域を極力演算で求めずにすむように連続させて格納しておく。但し、有限個数の要素を繰り返し使用して演算するためには、有限個数分の演算が完了した際に格納領域の途中あるいは先頭の領域を演算で求める必要が生じる場合もある。そこで、この格納領域を求める演算が発生する頻度を低下させることで並列演算の切れ目の発生を極力防止する。そのために、演算要素拡張処理で合成フィルタのインパルス応答の要素を仮想的にＬ−１個増加させて、あたかも演算対象の要素があるかのように扱って自己相関演算を行う。これによって増加した演算を実施することになるが、並列演算による自己相関演算回数の低減と格納領域演算回数の低減でこれを補い、総合的に処理回数を低減させて処理に要する時間を短縮するようにしている。
【発明の実施の形態】
【００７２】
【実施例】
以下実施例につき本発明を詳細に説明する。
【００７３】
図１は、本発明の一実施例における音声符号化装置を表わしたものである。この音声符号化装置は、フィルタ部位５１と音源部位５２と比較器部位５３で構成されている。フレーム分割された音声信号５４はまずフィルタ部位５１に入力されて線形予測分析および量子化器５５によって線形予測分析が行われて周波数フィルタ特性が求められた後、この周波数フィルタ特性が量子化される。量子化された周波数フィルタ特性は合成フィルタ５６に入力されて入力音声のもつフィルタ特性をもったフィルタが形成される。
【００７４】
音源部位５２は、音声のもつ声の高さに相当する周期成分の信号を生成する音源となる適応コードブック５７と音声のもつ周期成分以外の信号を生成する音源となる雑音コードブック５８をもつ。そしてこれらの音源から出力された信号の振幅を制御するためのゲインコードブック５９と、適応コードブック５７の生成した信号の振幅を調整する適応コードブック信号増幅器６０と、雑音コードブック５８の生成した信号の振幅を調整する雑音コードブック信号増幅器６１をもつ。振幅の調整されたこれらの音源信号は、音源加算器６２によって加算された後、フィルタ部位５１の合成フィルタ５６に入力されて周波数ごとの強弱を付加された合成音声６３として生成される。
【００７５】
比較器部位５３には音声信号５４と合成音声６３が入力されて、加算器６４で加算される。ここで合成信号６３を負の形式で入力することで差分を求める。この差分に対して聴感重み付けフィルタ６５で、聴感上の聞こえにくい周波数成分を強めるとともに、聴感上聞こえやすい周波数成分を弱めるフィルタ処理を行う。この処理によって人の聴感上で冗長な情報を削減し情報量を低減させる。聴感重み付けフィルタ６５で周波数成分の調整された信号は誤差最小化器６６に入力される。誤差最小化器６６は、合成音声６３と音声信号５４の最小二乗誤差を算出することで誤差を求めると共に、音源部位５２のそれぞれのコードブックに対して別の信号出力を実行させる。この処理を繰り返し実行し、誤差が最小となった際のコードブックからの出力信号が目標の信号であるとみなし、この信号に付与されている符号を音声符号化装置の出力として得る。誤差最小化器６６では、図示しないマイクロプロセッサを用いてこの最小二乗誤差を求める演算を行う。そのために合成フィルタ５６がもつ周波数フィルタ特性に基づくインパルス応答の自己相関演算を行う。このインパルス応答の自己相関演算は演算量が膨大であり処理に要する時間が比較的長くなる傾向がある。そこで、この処理を効率良く短時間で実施するために以下の手法を用いる。
【００７６】
図２は、聴感重み付け合成フィルタのインパルス応答ｈ（ｎ）の自己相関行列Φ（ｉ，ｊ）を示している。領域１１は有意な演算結果が設定される領域である。また、領域１２は領域１１の対称行列である領域である。そして領域１３はその後の演算には用いない仮想的な演算結果が設定される領域である。つまり、領域１１と領域１２をまとめて示した範囲１４がその後の演算に必要な中間値であり、範囲１５がその後の演算には用いない仮想的な値である。
【００７７】
図２に示しているＶＡ〜ＶＦの値を以下に具体的に表わす。
ＶＡ＝ｈ（０）２　　　　……（１８）
【００７８】
ＶＢ＝ｈ（１）２＋ｈ（０）２　　　　……（１９）
【００７９】
【数８】
2004093946.tif 000010
【００８０】
ＶＤ＝ｈ（０）×ｈ（１）　　　　……（２１）
【００８１】
【数９】
2004093946.tif 000011
【００８２】
ＶＦ＝ｈ（０）×ｈ（ｎ−１）　　　　……（２３）
【００８３】
この聴感重み付け合成フィルタのインパルス応答ｈ（ｎ）の自己相関行列Φ（ｉ，ｊ）の求め方を説明する。この行列はＮ行Ｎ列の下三角テプリッツ畳み込み行列であり、自己相関行列Φ（ｉ，ｊ）はＮ行Ｎ列の対称行列となる。対称行列である性質を利用して、Φ（ｉ，ｊ）を算出するにあたり全要素ｎの二乗個ではなく、“ｎ×（ｎ＋１）／２”個を計算する。そして、要素Φ（ｉ，ｊ）と要素Φ（ｊ，ｉ）が等しいものである関係を利用して、実際の計算を行っていない要素部分を補間する。つまりこの行列Φ（ｉ，ｊ）は対称行列であるため、領域１１と領域１２の要素は、領域１１のみを算出することですべてを得られる。各要素の算出は、図２の右下から矢印の方向に向けて累積して、積和を行う。矢印１本ごとにループ処理を繰り返して、掛け合わせるｈ（ｎ）の値をずらしていく。１周目のループ処理によって、Ｎ項の対角線上の要素を算出する。第１項は、次の（２４）式で表わすことができる。
ｈ（０）２　　　　……（２４）
【００８４】
第２項は、次の（２５）式で表わすことができる。
ｈ（０）２＋ｈ（１）２　　　　……（２５）
【００８５】
以降第ｎ項は、次の（２６）式のように表わすことができる。
【数１０】
2004093946.tif 000012
【００８６】
２周目のループ処理では、積算するｈ（ｉ）を１つずらした“３９”項を右下から左上の矢印方向に算出する。２周目のループ処理の第１項は次の（２７）式で表わすことができる。
ｈ（０）×ｈ（１）　　　　……（２７）
【００８７】
２周目のループ処理の第２項は、次の（２８）式で表わすことができる。
ｈ（０）×ｈ（１）＋ｈ（１）×ｈ（２）　　　　……（２８）
【００８８】
そして２周目のループ処理の第ｎ−１項は、次の（２９）式で表わすことができる。
【数１１】
2004093946.tif 000013
【００８９】
更にｎ周目のループ処理での第１項は、次の（３０）式で表わすことができる。
ｈ（０）×ｈ（ｎ−１）　　　　……（３０）
【００９０】
以上の計算により図２の領域１１の各要素を求めた後、領域１１に含まれる行列の対角線部分に線対称となるように領域１１の各要素を領域１２に複写する。これによって行列Φ（ｉ，ｊ）の全要素を得ることができる。
【００９１】
以上が行列Φ（ｉ，ｊ）を求める際の基本的な処理になる。これを演算時間を短縮するために以下の処理を行う。
【００９２】
まず、Ｎ行Ｎ列の二次元行列で表わされていた自己相関行列Φ（ｉ，ｊ）を１次元配列ｏｄａ［ｉｎｄｋ］として表わす。この１次元配列ｏｄａ［ｉｎｄｋ］は、次の（３１）式で表わすことができる。
【数１２】
2004093946.tif 000014
【００９３】
ここで勧告ＧＳＭ−ＡＭＲを具体例として、それぞれの変数の具体的な値とその範囲を示す。勧告ＧＳＭ−ＡＭＲは、音声信号を一定長に区切ったフレーム長が２０ミリ秒で、それを更に４分割して５ミリ秒のサブフレームとし、このサブフレームを１単位として符号化を行うものである。音声信号を標本化する周期は、音声信号処理で一般的な８キロヘルツである。１サブフレーム中の標本数は、５ミリ秒と８キロヘルツの積で求められ“４０”標本となる。この標本数“４０”が、自己相関を求めるＮ行Ｎ列の行列の、行と列のそれぞれの要素となる。つまりＮ行Ｎ列の行列とは、４０行４０列の行列であり、その行列の要素数は“４０”と“４０”の積の“１６００”となる。この１６００個の要素をもつ１次元行列をｏｄａ［ｉｎｄｋ］とするので、行列の１要素をインデクスする値として使用されるｉｎｄｋの値の範囲は０以上１６００未満となる。式（３１）のｐの値は、１次元行列ｏｄａ［ｉｎｄｋ］をインデクスするｉｎｄｋの値を、行の要素数“４０”で除した際の商である。また式（３１）のｍの値は１次元行列ｏｄａ［ｉｎｄｋ］をインデクスするｉｎｄｋの値を、行の要素数“４０”で除した際の余りである。
【００９４】
この１次元配列ｏｄａ［ｉｎｄｋ］を算出する際に、聴感重み付け合成フィルタのインパルス応答の配列ｈ（ｎ）の範囲を拡張し、後の演算では使用しない値も含めて演算を行う。つまり、配列ｈ（ｎ）の拡張を実施しない場合であれば、ｈ（０）×ｈ（ｊ）〜ｈ（Ｎ−１−ｊ）×ｈ（Ｎ−１）の“Ｎ−ｊ”回の演算を行うところを、ｈ（０）×ｈ（ｊ）〜ｈ（Ｎ−１）×ｈ（Ｎ−１＋ｊ）のＮ回の演算を行う。具体的には、聴感聴感重み付け合成フィルタのインパルス応答の配列ｈ（Ｎ−１）をｈ（２×Ｎ−１）に拡張する。つまり要素数をＮ個から“２×Ｎ−１”個に拡張する。但しこの拡張部分は演算で使用されはするが、演算結果が利用されるものではないため領域を宣言するのみで十分であり、要素の値を指定する必要はない。
【００９５】
図３および図４は聴感重み付け合成フィルタのインパルス応答の配列ｈ（ｎ）の自己相関行列を求める処理を示したものである。
【００９６】
まず、聴感重み付け合成フィルタのインパルス応答の配列ｈ（ｎ）の各要素の符号を求め、これを格納する。（図３ステップＳ５１）
【００９７】
図５は、聴感重み付け合成フィルタのインパルス応答の配列ｈ（ｎ）の符号ビットのみを取り出して格納する領域を表わしたものである。図５に示すように聴感重み付け合成フィルタのインパルス応答の配列ｈ（ｎ）の符号ビットのみを取り出して領域ｓｉｇ＿ｎ［０］と領域ｓｉｇ＿ｎ［１］に順番に格納する。ｓｉｇ＿ｎ［０］は下位８ビットを有意な領域として使用する。ｓｉｇ＿ｎ［１］は全３２ビットを有意な領域として使用する。
【００９８】
聴感重み付け合成フィルタのインパルス応答の配列の各要素を算出する際にｈ（ｉ）の拡張した部分にはみ出す形で、常にＮ個の要素を算出する。図２の領域１３が、このはみ出した部分である。この領域１３は、後続の計算では不要となる。聴感重み付け合成フィルタのインパルス応答の自己相関を求める処理の前半は、各要素間の積算処理である。この積算は、“ｈ（ｉ）×ｈ（ｊ）”を“ｉ”と“ｊ”を漸増させながら実施する。聴感重み付け合成フィルタのインパルス応答の配列の要素数はＮ個なので、“ｉ”の値の範囲は“０”以上で“Ｎ−１”以下である。また、“ｊ”は“ｉ”以上で“Ｎ−１”以下であるが、“ｉ”の値にかかわらず“ｈ（ｉ）×ｈ（ｊ）”の演算をＮ回繰り返すことができるように、聴感重み付け合成フィルタのインパルス応答の配列ｈ（ｉ）に関して“ｊ”の値の範囲を“ｉ”以上で、“ｉ＋Ｎ−１”以下と拡張する。
【００９９】
図３に戻って説明を続ける。聴感重み付け合成フィルタのインパルス応答の配列ｈ（ｎ）をインデクスする値である“ｉ”と“ｊ”を“０”で初期設定する。（ステップＳ５２）
【０１００】
聴感重み付け合成フィルタのインパルス応答の配列ｈ（ｉ）は、１データあたり１６ビットの要素の配列であるものとする。これを記憶領域に連続して格納しておく。また、前記した図示しないマイクロプロセッサの演算器のもつ演算処理に使用する記憶領域であるレジスタのビット幅は１２８ビットであるものとする。そして演算器は１処理周期に最大４個の演算を並列して実行できるものとする。つまり演算器のレジスタに、連続した８個の１６ビットデータを一括して読み込むことが可能である。したがって演算器への読み込み処理の１度目に聴感重み付け合成フィルタのインパルス応答ｈ（ｉ）〜ｈ（ｉ＋７）を読み込み（ステップＳ５３）、演算器への読み込み処理の２度目で聴感重み付け合成フィルタのインパルス応答ｈ（ｊ）〜ｈ（ｊ＋７）を読み込む（ステップＳ５４）。そして以下の４個の演算式（３２）〜（３５）を１処理周期で並列して実行する（ステップＳ５５）。
【０１０１】
ｈ（ｉ）×ｈ（ｊ）　　　　……（３２）
【０１０２】
ｈ（ｉ＋１）×ｈ（ｊ＋１）　　　　……（３３）
【０１０３】
ｈ（ｉ＋２）×ｈ（ｊ＋２）　　　　……（３４）
【０１０４】
ｈ（ｉ＋３）×ｈ（ｊ＋３）　　　　……（３５）
【０１０５】
それぞれの演算は“１６ビットデータ×１６ビットデータ”であるから、それぞれの演算結果を格納するには“１６ビット＋１６ビット”の最大３２ビットの記憶領域が必要である。そこでこれら４個の演算結果を格納する記憶領域のビット幅は一律に“３２ビット×４”とする。この“３２ビット×４”の記憶領域を１０個分連続して演算器のレジスタへの高速なデータ受け渡しが可能な１２８ビット幅の１０個のレジスタファイルに確保する。４個の演算を実施した後、“ｉ”の値に“４”を加算し、“ｊ”の値に“４”を加算して次の演算処理に備える（ステップＳ５６）。そして再度、４個の演算式（３２）〜（３５）を１処理周期で並列して実行する（ステップＳ５７）。この処理を１０回になるまで繰り返して（ステップＳ５９：Ｎ）、それぞれの繰り返し処理のたびに“ｉ”の値に“４”を加算して、“ｊ”の値に“４”を加算する（ステップＳ５８）。５回の繰り返しが完了すると（ステップＳ５９：Ｙ）、積算結果は合計で４０個求められる。これを１２８ビットのレジスタファイル１０個にそれぞれ４データずつ計４０データを連続で格納する。そしてこの積算結果を用いて加算処理を行う。加算処理を行うにあたり、１０個のレジスタファイルをインデクスするインデクス値を“０”で初期設定する（図４のステップＳ６０）。
【０１０６】
図６は、これまでに実施した４個の並列積算をして求めた結果を用いて行う加算処理の対象となるレジスタと加算処理の流れを示すものである。この加算処理も、４個を並列して実行する。
【０１０７】
図６のレジスタ２１１〜２１３は、物理的には同一のレジスタであるが、処理サイクルの進展に伴う内容の変化を表わすためにそれぞれ別の符号を付している。レジスタ２２１〜２２３と、レジスタ２３１〜２３３についても同様である。また、各レジスタは１２８ビット幅で、それぞれ３２ビットの４個のレジスタ要素で構成されている。たとえばレジスタ２１１はレジスタ要素３１１〜３１４で構成されており、レジスタ２２１はレジスタ要素３２１〜３２４で構成されている。また、レジスタ２３１は、レジスタ要素３３１〜３３４で構成されている。これらの各レジスタ要素についても、処理サイクルの進展に伴う内容の変化を表わすために、物理的には同一のレジスタ要素であるが処理サイクルごとに別の符号を付している。たとえば、レジスタ要素３１１とレジスタ要素３１５とレジスタ要素３１９は物理的には同一であり、同様にレジスタ要素３２１とレジスタ要素３２５とレジスタ要素３２９は物理的に同一である。他のレジスタ要素についても同様である。
【０１０８】
図４とともに加算処理の流れを説明する。加算を行う第１の処理サイクルでは、まずレジスタ２１１〜２１３の全レジスタ要素に対して、“０”を設定して初期化する（図４ステップＳ６０）。そしてレジスタ２１１に積算結果の格納されているレジスタファイルをインデクス値でインデクスして求めた４個の積算結果を書き込む（図４ステップＳ６１）。具体例を示すと、レジスタ要素３１４に“ｈ（ｉ）×ｈ（ｊ）”を書き込み、レジスタ要素３１３に“ｈ（ｉ＋１）×ｈ（ｊ＋１）”を書き込む。更に、レジスタ要素３１２に“ｈ（ｉ＋２）×ｈ（ｊ＋２）”を書き込み、レジスタ要素３１１に“ｈ（ｉ＋３）×ｈ（ｊ＋３）”を書き込む。この書き込みが完了した後に、積算結果の格納されているレジスタファイルのインデクス値に“１”を加算する（図４ステップＳ６２）。この、加算結果の書き込みは、積算結果を格納した１０個のレジスタファイルに順に上書きするものとする。このようにすることで、他のメモリアクセスをせずに３２ビットデータを４０個、後続の演算に引き継ぐ。
【０１０９】
加算を行う第２のサイクルでは、加算を行う第１のサイクルで設定したレジスタの内容を使用して加算を行う。レジスタ２１１と２２１のそれぞれの内容を加算してレジスタ２２２に書き込む。また、レジスタ２１２には加算を行う第１の処理サイクルでレジスタ２１１に設定した次の積算結果である３２ビットデータを４個、１２８ビット分まとめて書き込む。レジスタ２１１のレジスタ要素３１１とレジスタ２１１のレジスタ要素３１２とレジスタ２１１のレジスタ要素３１３を加算した結果をレジスタ２２２のレジスタ要素３２５に設定する。またこれと並列して、レジスタ２１１のレジスタ要素３１２とレジスタ２１１のレジスタ要素３１３を加算した結果をレジスタ２２２のレジスタ要素３２６に設定する。またこれと並列して、レジスタ２１１のレジスタ要素３１３をレジスタ２２２のレジスタ要素３２７に設定する。また、これと並列して、レジスタ２１１のレジスタ要素３１４とレジスタ２２１のレジスタ要素３２１とレジスタ２２１のレジスタ要素３２４を加算して、レジスタ２２２のレジスタ要素３２８に設定する。更にこれらと平行して、レジスタ２１２のレジスタ要素３１５、３１６、３１７、３１８に対して、前のサイクルでレジスタ２１１に設定した積算結果の次の格納領域の４個を設定する（図４ステップＳ６３）。この４個の積算結果は、レジスタファイルを現在のインデクス値でインデクスして求める。この書き込みが完了した後に、積算結果の格納されているレジスタファイルのインデクス値に“１”を加算する（図４ステップＳ６４）。
【０１１０】
加算を行う第３の処理サイクルでは、加算を行う第２のサイクルで設定したレジスタの内容を使用して加算を行う。レジスタ２１２と２２２のそれぞれの内容を加算してレジスタ２２３に書き込む。また、レジスタ２１３には加算を行う第２の処理サイクルでレジスタ２１２に設定した次の積算結果である３２ビットデータを４個、１２８ビット分まとめて書き込む。レジスタ２２２のレジスタ要素３２５とレジスタ２２２のレジスタ要素３２８を加算して、レジスタ２３３のレジスタ要素３３９に設定する。またこれと並列して、レジスタ２２２のレジスタ要素３２６とレジスタ２２２のレジスタ要素３２８を加算して、レジスタ２３３のレジスタ要素３３１０に設定する。またこれと並列して、レジスタ２２２のレジスタ要素３２７とレジスタ２２２のレジスタ要素３２８を加算して、レジスタ２３３のレジスタ要素３３１１に設定する。またこれと並列して、レジスタ２２２のレジスタ要素３２８を、レジスタ２３３のレジスタ要素３３１２に設定する。またこれと並列して、レジスタ２１２のレジスタ要素３１５とレジスタ２１２のレジスタ要素３１６とレジスタ２１２のレジスタ要素３１７を加算した結果をレジスタ２２３のレジスタ要素３２９に設定する。またこれと並列して、レジスタ２１２のレジスタ要素３１６とレジスタ２１２のレジスタ要素３１７を加算した結果をレジスタ２２３のレジスタ要素３２１０に設定する。またこれと並列して、レジスタ２１２のレジスタ要素３１７をレジスタ２２３のレジスタ要素３２１１に設定する。また、これと並列して、レジスタ２１２のレジスタ要素３１８とレジスタ２２２のレジスタ要素３２５とレジスタ２２２のレジスタ要素３２８を加算して、レジスタ２２３のレジスタ要素３２１２に設定する。更にこれらと並列して、レジスタ２１３の３１９、３１１０、３１１１、３１１２に、前のサイクルでレジスタ２１２に設定した積算結果の次の格納領域の４個の積算結果を設定する（図４ステップＳ６５）。この４個の積算結果は、レジスタファイルを現在のインデクス値でインデクスして求める。この書き込みが完了した後に、積算結果の格納されているレジスタファイルのインデクス値に“１”を加算する（図４ステップＳ６６）。そしてレジスタ２３３の値が書き込まれる１２８ビット幅のレジスタファイルへの書き出し先を１レジスタファイル分進める。
【０１１１】
この加算を行う第３の処理サイクルを更に９回繰り返して、合計１０回行う（図４のステップＳ６７：Ｎ）。これによって積算処理で求めた“１０個×４データ”のすべてについて加算処理を行う。これによって、合計１２サイクルの加算処理が実施されて、１２８ビットのレジスタファイルの１０個に必要な４０個の積和結果が格納されることになる（ステップＳ６７：Ｙ）。
【０１１２】
そして、この４０個の積和結果のそれぞれに対して、あらかじめ格納しておいた領域ｓｉｇ＿ｎ［０］と領域ｓｉｇ＿ｎ［１］の符号を付加する（ステップＳ６８）。
【０１１３】
以上の“４並列の積算を１０回繰り返し、更に４並列の加算を１２サイクル実施する、その結果に対して符号データを付加する”処理を、聴感重み付け合成フィルタのインパルス応答ｈ（ｎ）の要素数である“４０”回繰り返す（ステップＳ６９：Ｎ）。この繰り返しを実施する際に、聴感重み付け合成フィルタのインパルス応答ｈ（ｎ）をインデクスするインデクス値“ｉ”に“０”を設定する。これとともに、繰り返しごとに聴感重み付け合成フィルタのインパルス応答ｈ（ｎ）をインデクスするインデクス値“ｊ”の開始点を“１”ずつ進めるために、“ｊ”に“１”を加算する（ステップＳ７０）。この繰り返しが４０回実施されることで、聴感重み付け合成フィルタのインパルス応答の自己相関行列Φ（ｉ，ｊ）の全１６００個の要素を１次元配列の形式で求めることができる（ステップＳ６９：Ｙ）。
【０１１４】
このように、自己相関値演算を演算器のもつ並列演算手段で実施する。更にこの自己相関演算の繰り返しを極力切れ目無く実行する。自己相関演算の切れ目は、演算器に合成フィルタのインパルス応答の要素を取り込む際に、合成フィルタのインパルス応答の要素が格納されている領域を演算で求めなければならなくなった場合に発生する。そこで、合成フィルタのインパルス応答の各要素を格納領域を演算で求めなくとも済むように連続させて格納しておく。但し、有限個数の要素を繰り返し使用して演算するためには、格納領域の途中の領域を演算で求める必要が生じる場合もある。そこで、この演算が発生する頻度を低下させる。そのために、合成フィルタのインパルス応答の要素をＬ−１個仮想的に増加させて、あたかも演算対象の要素があるかのように扱って自己相関演算を行う。これによって増加分の演算を実施することになるが、並列演算による自己相関演算回数の低減と格納領域演算回数の低減効果でこれを補い、総合的に処理時間を短縮するようになっている。
【０１１５】
なお、本明細書でフレームとして表現しているものの中にはフレームのみでなくサブフレームも含まれていることは当然である。
【０１１６】
【発明の効果】
以上説明したように請求項１または請求項２記載記載の発明によれば、ｎ個の並列演算が可能な並列演算手段に、入力音声から求めた聴感重み付け合成フィルタのインパルス応答の要素の自己相関演算を極力連続して実行させている。これによって並列演算手段の持つ処理能力を有効に活用している。したがって動作周波数の比較的低いプロセッサであっても比較的短時間で音声信号の符号化ができる。
【０１１７】
また、請求項３記載の発明によれば、並列演算手段は、１処理周期で並列演算を行うことが可能な最大数で並列演算を実施するようにしている。これによって演算器の持つ処理能力を有効に活用している。したがって動作周波数の比較的低いプロセッサであっても比較的短時間で音声信号の符号化ができる。
【０１１８】
更に、請求項４または請求項５記載記載の発明によれば、ｎ個の並列演算が可能な並列演算処理に、入力音声から求めた聴感重み付け合成フィルタのインパルス応答の要素の自己相関演算を極力連続して実行させている。これによって並列演算処理の持つ処理能力を有効に活用している。したがって動作周波数の比較的低いプロセッサであっても比較的短時間で音声信号の符号化ができる。
【図面の簡単な説明】
【図１】本発明の一実施例における符号励振線形予測技術を用いた音声符号化装置の要部を示したブロック図である。
【図２】本実施例の聴感重み付け合成フィルタのインパルス応答の自己相関行列を示した説明図である。
【図３】本実施例の聴感重み付け合成フィルタのインパルス応答の配列ｈ（ｎ）の自己相関行列を求める積算処理の流れを示した流れ図である。
【図４】本実施例の聴感重み付け合成フィルタのインパルス応答の配列ｈ（ｎ）の自己相関行列を求める加算処理の流れを示した流れ図である。
【図５】本実施例の聴感重み付け合成フィルタのインパルス応答の配列ｈ（ｎ）の符号ビットを格納する領域を示した説明図である。
【図６】本実施例の並列加算処理の対象となるレジスタと加算処理を示すブロック図である。
【図７】符号励振線形予測技術を用いた音声符号化装置および音声復号化装置の要部を示したブロック図である。
【図８】符号励振線形予測技術を用いた音声符号化装置の要部を示したブロック図である。
【図９】音声信号とコードブックから探索する推定信号とこの２つの信号の差分をベクトル信号として表わした説明図である。
【符号の説明】
１１　領域（有意な演算結果が設定される領域）
１２　領域（領域１１の対称行列である領域）
１３　領域（仮想的な演算結果が設定される領域）
１４　範囲（その後の演算に必要な中間値）
１５　範囲（仮想的な値）
【図１】
2004093946.tif 000015
【図２】
2004093946.tif 000016
【図３】
2004093946.tif 000017
【図４】
2004093946.tif 000018
【図５】
2004093946.tif 000019
【図６】
2004093946.tif 000020
【図７】
2004093946.tif 000021
【図８】
2004093946.tif 000022
【図９】
2004093946.tif 000023