(57)【特許請求の範囲】
【請求項１】
音響信号/音声信号を符号化する方法であって、
入って来る音響信号/音声信号に基づいて混合コードブックベクトルを求めるステップであって、前記混合コードブックベクトルが、第1のコードブックからの第1のコードブックエントリと第2のコードブックからの第2のコードブックエントリの合計を含み、前記第1のコードブックがパルス状のエントリを含み、前記第2のコードブックがノイズ状のエントリを含み、前記第1のコードブックおよび前記第2のコードブックが固定コードブックを含むステップと、
前記求められた混合コードブックベクトルに基づいて、符号化された音響信号を生成するステップと、
前記求められた混合コードブックベクトルの符号化された励振インデックスを伝送するステップとを含み、前記求めるステップおよび前記生成するステップが、ハードウェアベースの音響符号器を使用して遂行される方法。
【請求項２】
前記混合コードブックベクトルを求めるステップが、
フィルタリングされた目標ベクトルと前記第1のコードブックのフィルタリングされたエントリの間の第1の相関を計算するステップであって、前記フィルタリングされた目標ベクトルが、前記入って来る音響信号に基づくものであるステップと、
最大の第1の相関の第1のグループを求めるステップと、
フィルタリングされた目標ベクトルと前記第2のコードブックのフィルタリングされたエントリの間の相関を計算するステップと、
最大の第2の相関の第2のグループを求めるステップと、
前記第1のグループと前記第2のグループの結合の第1の基準関数を計算するステップであって、前記第1の基準関数が、前記最大の第1の相関の第1のグループのうちの1つ、前記最大の第2の相関の第2のグループのうちの1つ、ならびに前記第1のコードブックおよび前記第2のコードブックからの対応するエントリのエネルギーの関数を含むステップとを含む請求項1に記載の方法。
【請求項３】
最大の計算された第1の基準関数に基づいて候補の相関の第3のグループを求めるステップと、
前記第3のグループへの第2の基準関数の適用に基づいて前記混合コードブックベクトルを選択するステップであって、前記混合コードブックベクトルが、前記第2の基準関数の最大値と関連した、前記第1のコードブックおよび前記第2のコードブックからのコードブックエントリに対応するステップとをさらに含む請求項2に記載の方法。
【請求項４】
前記第1の基準関数が次式で表され、
【数１】
0006395612.tif 000078
RCB1(i)は、前記フィルタリングされた目標ベクトルと前記第1のコードブックのi番目の第1のエントリの間の相関であり、RCB2(j)は、前記フィルタリングされた目標ベクトルと前記第2のコードブックのj番目のエントリの間の相関であり、ECB1(i)は前記第1のコードブックの前記i番目のエントリのエネルギーであって、ECB2(i)は前記第2のコードブックの前記j番目のエントリのエネルギーであり、
【数２】
0006395612.tif 000079
は前記第1のグループの第1のコードブックエントリの数であって、
【数３】
0006395612.tif 000080
は前記第2のグループの第2のコードブックエントリの数であり、
前記第2の基準関数が次式で表され、
【数４】
0006395612.tif 000081
zCB1(ik)は前記第1のコードブックの前記i番目のエントリのフィルタリングされたベクトルであり、zCB2(jk)は前記第2のコードブックの前記j番目エントリのフィルタリングされたベクトルであって、Kは前記第3のグループのエントリの数である請求項3に記載の方法。
【請求項５】
最大の計算された第1の基準関数に基づいて前記混合コードブックベクトルを選択するステップを含む請求項2に記載の方法。
【請求項６】
前記第1の基準関数が次式で表され、
【数５】
0006395612.tif 000082
RCB1(i)は、前記フィルタリングされた目標ベクトルと前記第1のコードブックのi番目の第1のエントリの間の相関であり、RCB2(j)は、前記フィルタリングされた目標ベクトルと前記第2のコードブックのj番目のエントリの間の相関であり、ECB1(i)は前記第1のコードブックの前記i番目のエントリのエネルギーであって、ECB2(j)は第2のコードブックの前記j番目エントリのエネルギーであり、
【数６】
0006395612.tif 000083
は前記第1のグループの第1のコードブックエントリの数であって、
【数７】
0006395612.tif 000084
は前記第2のグループの第2のコードブックエントリの数である請求項5に記載の方法。
【請求項７】
前記第1のグループが前記第2のグループよりも多くのエントリを含む請求項2に記載の方法。
【請求項８】
前記第1のコードブックエントリに対して第1の強調関数を適用するステップと、
前記第2のコードブックエントリに対して第2の強調関数を適用するステップとをさらに含む請求項1に記載の方法。
【請求項９】
前記第1の強調関数が低域通過フィルタ関数を含み、
前記第2の強調関数が高域通過フィルタ関数を含む請求項8に記載の方法。
【請求項１０】
音響信号/音声信号を符号化するためのシステムであって、前記システムが備えるハードウェアベースの音響符号器が、
入って来る音響信号/音声信号に基づいて、パルス状のコードブックからの第1のコードブックエントリとノイズ状のコードブックからの第2のコードブックエントリの合計を含んでいる混合コードブックベクトルを求め、
前記求められた混合コードブックベクトルに基づいて符号化された音響信号/音声信号を生成して、
前記求められた混合コードブックベクトルの符号化された励振インデックスを伝送するように構成され、前記パルス状のコードブックと前記ノイズ状のコードブックが固定コードブックを含むシステム。
【請求項１１】
前記ハードウェアベースの音響符号器が、
前記入って来る音響信号に基づくフィルタリングされた目標ベクトルと前記パルス状のコードブックのエントリの間の第1の相関を計算し、
最大の第1の相関の第1のグループを求め、
フィルタリングされた目標ベクトルとノイズ状のコードブックのエントリの間の相関を計算し、
最大の第2の相関の第2のグループを求め、
第1のグループと第2のグループの結合の第1の基準関数であって、前記最大の第1の相関の第1のグループのうちの1つ、前記最大の第2の相関の第2のグループのうちの1つ、ならびに前記パルス状のコードブックおよび前記ノイズ状のコードブックからの対応するエントリのエネルギーの関数を含む第1の基準関数を計算するようにさらに構成されている請求項10に記載のシステム。
【請求項１２】
前記第1の基準関数が次式で表され、
【数８】
0006395612.tif 000085
RCB1(i)は、前記フィルタリングされた目標ベクトルと第1のコードブックのi番目の第1のエントリの間の相関であり、RCB2(j)は、前記フィルタリングされた目標ベクトルと第2のコードブックのj番目のエントリの間の相関であり、ECB1(i)は前記第1のコードブックの前記i番目のエントリのエネルギーであって、ECB2(j)は前記第2のコードブックの前記j番目エントリのエネルギーであり、
【数９】
0006395612.tif 000086
は前記第1のグループの第1のコードブックエントリの数であって、
【数１０】
0006395612.tif 000087
は前記第2のグループの第2のコードブックエントリの数である請求項11に記載のシステム。
【請求項１３】
音響信号/音声信号を符号化するための、混合コードブックの高速検索方法であって、
入って来る音響信号/音声信号に基づいて、第1のコードブックからの第1のコードブックエントリと第2のコードブックからの第2のコードブックエントリの合計を含んでいる混合コードブックベクトルを求めるステップであって、前記第1のコードブックと前記第2のコードブックが固定コードブックを含むステップと、
前記入って来る音響信号に基づくフィルタリングされた目標ベクトルと前記第1のコードブックのフィルタリングされたエントリの間の第1の相関を計算するステップと、
最大の第1の相関の第1のグループを求めるステップと、
フィルタリングされた目標ベクトルと前記第2のコードブックのフィルタリングされたエントリの間の相関を計算するステップと、
最大の第2の相関の第2のグループを求めるステップと、
前記第1のグループと前記第2のグループの結合の第1の基準関数を計算するステップであって、前記第1の基準関数が、前記最大の第1の相関の第1のグループのうちの1つ、前記最大の第2の相関の第2のグループのうちの1つ、ならびに前記第1のコードブックおよび前記第2のコードブックからの対応するエントリのエネルギーの関数を含むステップと、
最大の計算された第1の基準関数に基づいて候補の相関の第3のグループを求めるステップと、
前記第3のグループへの第2の基準関数の適用に基づいて前記混合コードブックベクトルを選択するステップであって、前記混合コードブックベクトルが、前記第2の基準関数の最大値と関連した、前記第1のコードブックおよび前記第2のコードブックからのコードブックエントリに対応するステップと、
前記求められた混合コードブックベクトルに基づいて、符号化された音響信号を生成するステップと、
前記求められた混合コードブックベクトルの符号化された励振インデックスを伝送するステップとを含み、前記求めるステップおよび前記生成するステップが、ハードウェアベースの音響符号器を使用して遂行される方法。
【請求項１４】
前記第1の基準関数が次式で表され、
【数１１】
0006395612.tif 000088
RCB1(i)は、前記フィルタリングされた目標ベクトルと前記第1のコードブックのi番目の第1のエントリの間の相関であり、RCB2(j)は、前記フィルタリングされた目標ベクトルと前記第2のコードブックのj番目のエントリの間の相関であり、ECB1(i)は前記第1のコードブックの前記i番目のエントリのエネルギーであって、ECB2(j)は前記第2のコードブックの前記j番目のエントリのエネルギーであり、
【数１２】
0006395612.tif 000089
は前記第1のグループの第1のコードブックエントリの数であり、
【数１３】
0006395612.tif 000090
は前記第2のグループの第2のコードブックエントリの数であって、
前記第2の基準関数が次式で表され、
【数１４】
0006395612.tif 000091
zCB1(ik)は前記第1のコードブックの前記i番目のエントリのフィルタリングされたベクトルであり、zCB2(jk)は前記第2のコードブックの前記j番目エントリのフィルタリングされたベクトルであって、Kは前記第3のグループのエントリの数である請求項13に記載の方法。
【請求項１５】
前記第1のコードブックがパルス状のコードブックを含み、前記第2のコードブックがノイズ状のコードブックを含む請求項13に記載の方法。
【請求項１６】
プログラムが記録されているコンピュータ可読記憶媒体であって、前記プログラムによって、コンピュータが請求項1から9および請求項13から15のうちいずれか一項に記載の方法を実行するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、参照によって全体が本明細書に組み込まれている、2013年2月15日に出願した「System and Method for Mixed Codebook Excitation for Speech Coding」という名称の米国特許出願第13/768,814号、および2012年2月17日に出願した「Pulse-Noise Mixed Codebook Structure of Excitation for Speech Coding」という名称の米国仮出願第61/599,937号、および2012年2月17日に出願した「Fast Searching Approach of Mixed Codebook Excitation for Speech Coding」という名称の米国仮出願第61/599,938号の優先権を主張するものである。
【０００２】
本発明は、一般に信号符号化の分野のものである。詳細には、本発明は低ビットレートの音声符号化の分野のものである。
【背景技術】
【０００３】
従来、すべてのパラメトリック音声符号化方法は、送信する必要のある情報量を低減するため、また信号の音声サンプルのパラメータを短期間で推定するために、音声信号に固有の冗長性を利用する。この冗長性は、主として、準周期的レートでの音声波形の繰返しと、徐々に変化する音声信号のスペクトル包絡線とから生じる。
【０００４】
音声波形の冗長性は、有声および無声などのいくつかの異なるタイプの音声信号に関して考慮され得る。有声の音声については、音声信号は基本的に周期的であるが、この周期性は、音声セグメントの期間にわたって変化する可能性があり、周期波の形状は、通常、セグメントからセグメントへと徐々に変化する。低ビットレートの音声符号化は、そのような周期性の探究から大きな利益を得ることができる。有声の音声期間はピッチとも称され、ピッチ予測は長期予測(LTP)と名付けられることも多い。無声の音声に関しては、信号はむしろランダムノイズに似ており、予測性はより小さい。
【０００５】
いずれの場合も、パラメトリック符号化は、スペクトル包絡線成分から音声信号の励振成分を分離することによって、音声セグメントの冗長性を低減するのに用いられ得る。徐々に変化するスペクトル包絡線は、短期予測(STP)としても知られている線形予測符号化(LPC)によって表され得る。低ビットレートの音声符号化は、そのような短期予測の探究からも利益を受け得る。符号化の利点は、パラメータが変化するゆっくりした速度から生じる。さらに、パラメータが、数ミリ秒以内に維持された値から著しく異なることはまれである。したがって、8kHz、12.8kHzまたは16kHzのサンプリングレートでは、音声符号化アルゴリズムの公称フレーム期間は10から30ミリ秒の範囲内にあり、最も一般的なフレーム期間は20ミリ秒である。G.723.1、G.729、G.718、EFR、SMV、AMR、VMR-WBまたはAMR-WBなどのより最近の周知の規格では、符号励振線形予測技法(「CELP」)が採用されており、これは、符号励振、長期予測および短期予測の技術的組合せとして一般に理解されている。符号励振線形予測(CELP)の音声符号化は音声圧縮の分野で大いに普及しているアルゴリズム原理であるが、異なるCODECに対するCELPの詳細は著しく異なるものである。
【０００６】
図1は従来のCELP符号器を説明するものであり、合成音声102と元の音声101の間の重み付き誤差109は、いわゆる合成による分析の手法を用いて最小化されることが多い。W(z)は誤差の重み付けフィルタ110であり、1/B(z)は長期線形予測フィルタ105であって、1/A(z)は短期線形予測フィルタ103である。固定コードブック励振とも称される符号化励振108は、利得Gc 106によって倍率変更されてから線形フィルタを通る。短期線形フィルタ103は、元の信号101を分析することによって取得され、次式による1組の係数によって表される。
【０００７】
【数１】
0006395612.tif 000002
【０００８】
重み付けフィルタ110は、上記の短期予測フィルタにどうにか関連するものである。重み付けフィルタの一般的な形は次式で表され、
【０００９】
【数２】
0006395612.tif 000003
【００１０】
β<α、0<β<1、0<α≦1である。標準的なコーデックITU-T G.718では、知覚的重み付けフィルタは次式の形を有し、
W(z)=A(z/γ1)Hde-emph(z)=A(z/γ1)/(1-β1z-1)      (3)
この式で、
【００１１】
【数３】
0006395612.tif 000004
【００１２】
であり、β1は0.68に等しい。
【００１３】
長期予測105は、ピッチおよびピッチ利得に依拠するものである。ピッチは、たとえば、元の信号、残留信号または重み付きの元の信号から推定されてよい。長期予測関数は、原理上は次式で表され得る。
B(z)=1-β・z-Pitch      (5)
【００１４】
符号化励振108は、通常はパルス状の信号またはノイズ状の信号を含み、これらの信号は、コードブックの中に数学的に構築されるかまたは保存される。最終的に、符号化励振のインデックス、量子化された利得のインデックス、量子化された長期予測パラメータのインデックスおよび量子化された短期予測パラメータのインデックスが、復号器に伝送される。
【００１５】
図2は、合成音声206の後に後処理ブロック207を付加した初期の復号器を説明するものである。復号器は、符号化励振201、励振利得202、長期予測203、短期予測205および後処理207といったいくつかのブロックの組合せである。後処理ブロック207を除いたすべてのブロックは、図1の符号器で説明されたものと同一の定義を有する。後処理ブロック207は、短期後処理および長期後処理も含み得る。
【００１６】
図3は、過去の合成励振304またはピッチ周期で繰り返す過去の励振ピッチサイクルを含んでいる適応コードブック307を用いることによって長期線形予測を実現する基本的なCELP符号器を示す。ピッチ遅れは、大きいかまたは長いときには整数値で符号化されてよく、小さいかまたは短いときには、より正確な分数(fractional)値で符号化されてよい。ピッチの周期情報は、励振の適応成分を生成するために使用される。次いで、この励振成分は、利得Gp 305(ピッチ利得とも称される)によって倍率変更される。第2の励振成分は、符号化励振ブロック308によって生成され、利得Gc 306によって倍率変更される。符号化励振が固定コードブックに由来するので、Gcはしばしば固定コードブック利得とも称される。2つの倍率付き励振成分は、一緒に加算されてから短期線形予測フィルタ303を通る。2つの利得(GpおよびGc)は、量子化され、次いで復号器へ送られる。
【００１７】
図4は、図3の符号器に対応する従来の復号器を説明するものであり、合成音声407の後に後処理ブロック408が追加されている。この復号器は図2に類似であり、適応コードブック307が追加されている。復号器は、符号化励振402、適応コードブック401、短期予測406および後処理408といったいくつかのブロックの組合せである。後処理ブロック408を除いたすべてのブロックは、図3の符号器で説明されたものと同一の定義を有する。後処理ブロック408は、短期後処理および長期後処理をさらに含み得る。
【００１８】
有声の音声が強い周期性を有するので、長期予測は、有声の音声符号化に関して非常に重要な役割を果たす。有声の音声の隣接したピッチサイクルは互いに類似しており、このことは、数学的には、次式の励振表現におけるピッチ利得Gpが大きい、すなわち1に近いことを意味し、
e(n)=Gp・ep(n)+Gc・ec(n)      (6)
ep(n)は、過去の励振304を含む適応コードブック307に由来する、nでインデックスを付けられたサンプルシリーズの1つのサブフレームであり、ep(n)は、大抵の場合、低周波域が高周波域よりも周期的であるかまたは調波的であるので、適応的に低域通過フィルタリングされてよく、ec(n)は、現在の励振の寄与である符号化励振コードブック308(固定コードブックとも称される)に由来するものであり、ec(n)は、高域通過フィルタリング強調、ピッチ強調、分散強調、フォルマント強調などを用いて強調されてよい。有声の音声については、適応コードブックからのep(n)の寄与が主要であり得て、ピッチ利得Gp 305の値が約1であり得る。励振は、通常、各サブフレームに対して更新される。一般的なフレームサイズは20ミリ秒であり、一般的なサブフレームサイズは5ミリ秒である。
【発明の概要】
【課題を解決するための手段】
【００１９】
一実施形態によれば、音響信号/音声信号を符号化する方法は、入って来る音響信号/音声信号に基づいて混合コードブックベクトルを求めるステップを含み、混合コードブックベクトルは、第1のコードブックからの第1のコードブックエントリと第2のコードブックからの第2のコードブックエントリの合計を含む。この方法は、求められた混合コードブックベクトルに基づいて、符号化された音響信号を生成するステップと、求められた混合コードブックベクトルの符号化励振のインデックスを伝送するステップとをさらに含む。
【００２０】
本発明およびその利点のより十分な理解のために、次に、添付図面と併せて以下の説明が参照される。
【図面の簡単な説明】
【００２１】
【図１】従来のCELP音声符号器を示す図である。
【図２】従来のCELP音声復号器を示す図である。
【図３】適応コードブックを利用する従来のCELP符号器を示す図である。
【図４】適応コードブックを利用する従来のCELP音声復号器を示す図である。
【図５】符号化励振を構築するためのノイズ状の候補ベクトルを含んでいるFCB構造を示す図である。
【図６】符号化励振を構築するためのパルス状の候補ベクトルを含んでいるFCB構造を示す図である。
【図７】パルスノイズを混合したFCBの一実施形態の構造を示す図である。
【図８】パルスノイズを混合したFCBの一実施形態の構造を示す図である。
【図９】パルスノイズを混合したFCBの一実施形態の全体的構造を示す図である。
【図１０】パルスノイズを混合したFCBの一実施形態のさらなる全体的構造を示す図である。
【図１１】パルスノイズを混合したFCBの一実施形態のさらなる全体的構造を示す図である。
【図１２】パルスノイズを混合したFCBの一実施形態のより全体的な構造を示す図である。
【図１３】励振符号化システムのブロック図である。
【図１４】一実施形態の混合コードブックベースの励振符号化システムのブロック図である。
【図１５ａ】一実施形態の方法の流れ図である。
【図１５ｂ】一実施形態の方法の流れ図である。
【図１６】一実施形態の通信システムを示す図である。
【発明を実施するための形態】
【００２２】
別様に示されなければ、別々の図の対応する数字およびシンボルは、一般に対応する部分を指す。図は、好ましい実施形態の関連した態様を明瞭に示すように描かれており、必ずしも原寸に比例しない。特定の実施形態をより明瞭に示すために、同一の構造、材料、またはプロセスステップの変形形態を示す文字が図番号に続くことがある。
【００２３】
現在好ましい実施形態を製作し、かつ使用することが以下で詳細に論じられる。しかしながら、本発明によって、多種多様な特定の状況で実施され得る多くの適用可能な発明概念が提供されることを理解されたい。論じられる特定の実施形態は、本発明を作製し、かつ使用するための特定のやり方の単なる例示であって、本発明の範囲を限定するものではない。
【００２４】
本発明が、特定の状況、すなわちCELPベースの音響の符号器および復号器の実施形態に関して説明されることになる。本発明の実施形態は、他のシステムを対象とし得ることを理解されたい。
【００２５】
既に言及されたように、CELPは、特定の人間の音声特性または人の音声の生産モデルから利益を得ることによって、音声信号を符号化するのに主として用いられる。CELPアルゴリズムは、様々なITU-T、MPEG、3GPP、および3GPP2の規格で用いられている非常に普及した技術である。音声信号をより効率的に符号化するために、音声信号は別々のクラスに分類されてよく、各クラスは別々のやり方で符号化される。たとえば、G.718、VMR-WBまたはAMR-WBなどのいくつかの規格では、音声信号は、UNVOICED、TRANSITION、GENERIC、VOICED、およびNOISEに分類される。各クラスに関して、スペクトル包絡線を表すためにLPCまたはSTPのフィルタが常に用いられるが、LPCフィルタに対する励振は異なるものでよい。UNVOICEDおよびNOISEはノイズ励振および何らかの励振強調を用いて符号化されてよい。TRANSITIONは、適応コードブックまたはLTPを用いることなく、パルス励振および何らかの励振強調を用いて符号化されてよく、GENERICは、1つの20msのフレームに4つの5msのサブフレームが含まれるG.729またはAMR-WBで用いられる代数的CELPなどの従来のCELP手法を用いて符号化されてよく、適応コードブック励振の成分および固定コードブック励振の成分は、どちらも、各サブフレームに対して何らかの励振強調を用いて生成され、第1および第3のサブフレームの適応コードブックに関するピッチ遅れは、ピッチの下限PIT_MINからピッチの上限PIT_MAXの全範囲で符号化され、第2および第4のサブフレームの適応コードブックに関するピッチ遅れは、以前の符号化されたピッチ遅れから差分的に(differentially)符号化される。VOICEDクラスの信号は、第1のサブフレームのピッチ遅れがピッチの下限PIT_MINからピッチの上限PIT_MAXの全範囲で符号化されるGNERICからわずかに異なって符号化されてよく、他のサブフレームのピッチ遅れは、以前の符号化されたピッチ遅れから差分的に符号化される。
【００２６】
図3の308および図4の402の符号励振ブロックは、一般的なCELP符号化のための固定コードブック(FCB)の位置を示しており、FCBから選択されたコードベクトルは、しばしばGcと示される利得によって倍率変更される。NOISEクラスまたはUNVOICEDクラスの信号については、適応コードブックの寄与またはLTPの寄与が小さいかまたは存在しないはずなので、また、主要な励振の寄与がNOISEクラスまたはUNVOICEDクラスの信号のFCB成分に依存するので、ノイズ状のベクトルを含んでいるFCBが、知覚品質の観点から最善の構造であり得る。この場合、図6に示されるものなどのパルス状のFCBを用いると、出力される合成音声信号は、低ビットレートの符号化向けに設計されたパルス状のFCBから選択された符号ベクトルに見られる多くのゼロにより、とがった音に聞こえる。図5は、符号化励振を構築するためのノイズ状の候補ベクトルを含んでいるFCB構造を示す。501はノイズ状のFCBであり、502はノイズ状の符号ベクトルであって、選択された符号ベクトルは利得503によって倍率変更される。
【００２７】
周期性の強いVOICEDクラスの信号については、適応コードブックの寄与またはLTPの寄与が主要であるため、また、VOICEDクラスの信号については主要な励振の寄与がFCB成分に依存しないため、知覚の観点から、VOICEDクラスの信号に対して、パルス状のFCBがノイズ状のFCBよりも高品質の出力をもたらす。この場合、ノイズ状のFCBを用いると、出力される合成音声信号は、低ビットレートの符号化向けに設計されたノイズ状のFCBから選択された符号ベクトルを用いることによって優れた波形適合を得るのが困難であるため、ノイズのように、またはあまり周期的でなく聞こえる可能性がある。図6は、符号化励振を構築するためのパルス状の候補ベクトルを含んでいるFCB構造を示す。601はパルス状のFCBを表し、602はパルス状の符号ベクトルを表す。選択された符号ベクトルは、利得603によって倍率変更される。
【００２８】
ほとんどのCELPコーデックが通常の音声信号に対して効果があるが、低ビットレートのCELPコーデックは、特にノイズのある音声信号が存在するとき、またはGENERICクラスの信号に対してうまくいかない可能性がある。前述のように、ノイズ状のFCBはNOISEクラスまたはUNVOICEDクラスの信号に対して最適であり得て、パルス状のFCBはVOICEDクラスの信号に対して最適であり得る。GENERICクラスは、VOICEDクラスとUNVOICEDクラスの間にある。統計的には、GENERICクラスのLTP利得またはピッチ利得は、VOICEDクラスのものより低いがUNVOICEDクラスのものより高くてよい。GENERICクラスは、ノイズ状の成分の信号と周期成分の信号の両方を含み得る。低ビットレートで、GENERICクラス信号に対してパルス状のFCBを用いると、低ビットレートの符号化向けに設計されたパルス状のFCBから選択された符号ベクトルには多くのゼロがあるので、出力される合成音声信号は、依然としてとがった音に聞こえる可能性がある。たとえば、6800bpsまたは7600bpsのコーデックが12.8kHzでサンプリングされた音声信号を符号化するとき、パルス状コードブックからの符号ベクトルは2つの非ゼロパルスしか有し得ず、それによって、ノイズのある音声に対して、とがって聞こえる音響をもたらす。GENERICクラス信号に対してノイズ状のFCBを用いると、出力される合成音声信号は、周期成分を生成するための十分に優れた波形適合を有しない可能性があり、それによって、完全な音声に対してノイズのある音響をもたらす。したがって、低ビットレートにおけるGENERICクラスの符号化のために、ノイズ状とパルス状の間に新規のFCB構造が必要とされる可能性がある。
【００２９】
GENERICクラスの信号に対してより優れた低ビットレートの音声符号化を得るための解決策のうちの1つに、パルス状のFCBまたはノイズ状のFCBの代わりにパルスノイズを混合したFCBを用いるものがある。図7は、パルスノイズを混合したFCBの一実施形態の構造を示す。701は、パルスノイズを混合したFCBの全体を示す。選択された符号ベクトル702は、パルス状のサブコードブック704からのベクトルとノイズ状のサブコードブック705からのベクトルを結合する(加算する)ことによって生成される。次いで、選択された符号ベクトル702は、FCB利得Gc 703によって倍率変更される。たとえば、パルス状のサブコードブック704に6ビットが割り当てられ、そのうち5ビットは1つのパルス位置を符号化するためのものであり、1ビットはパルス状のベクトルの符号を符号化するためのものあり、ノイズ状のサブコードブック705に6ビットが割り当てられ、そのうち5ビットは32個の別々のノイズ状のベクトルを符号化するためのものであり、1ビットはノイズ状のベクトルの符号を符号化するためのものある。
【００３０】
図8は、パルスノイズを混合したFCB 801の一実施形態の構造を示す。パルスノイズを混合したFCBからの符号ベクトルが、パルス状のサブコードブックからのベクトルとノイズ状のサブコードブックからのベクトルの組合せであるので、パルス状のサブコードブックからのベクトルとノイズ状のサブコードブックからのベクトルに対してそれぞれ別々の強調が適用されてよい。たとえば、パルス状のサブコードブックからのベクトルには低域通過フィルタを適用することができ、これは、大抵の場合、低周波域が高周波域よりも周期的であって、低周波域が高周波域よりもパルス状の励振を必要とするからであり、ノイズ状のサブコードブックからのベクトルには高域通過フィルタを適用することができ、これは、大抵の場合、高周波域が低周波域よりもノイズがあり、高周波域が低周波域よりもノイズ状の励振を必要とするからである。選択された符号ベクトル802は、パルス状のサブコードブック804からの低域通過フィルタを通ったベクトルとノイズ状のサブコードブック805からの高域通過フィルタを通ったベクトルを結合する(加算する)ことによって生成される。806は、固定型または適応型であり得る低域通過フィルタを示す。たとえば、1次フィルタ(1+0.4Z-1)は有声の音声信号に近いGENERIC音声フレームに対して用いられ、1次フィルタ(1+0.3Z-1)は無声の音声信号に近いGENERIC音声フレームに対して用いられる。807は、固定型または適応型であり得る高域通過フィルタを示し、たとえば、1次フィルタ(1+0.4Z-1)は無声の音声信号に近いGENERIC音声フレームに対して用いられ、1次フィルタ(1+0.3Z-1)は有声の音声信号に近いGENERIC音声フレームに対して用いられる。強調フィルタ806および807は、フィルタ係数を符号化するのに通常はビットを消費せず、強調フィルタの係数は、符号器と復号器の両方に使用可能なパラメータに対して適応し得る。次いで、選択された符号ベクトル802は、FCB利得Gc 803によって倍率変更される。図8に対して与えられる例として、図8の、パルスノイズを混合したFCBを符号化するのに12ビットが使用可能な場合、パルス状のサブコードブック804に6ビットを割り当てることができ、そのうち5ビットは1つのパルス位置を符号化するためのものであり、1ビットはパルス状のベクトルの符号を符号化するためのものである。たとえば、ノイズ状のサブコードブック805に6ビットを割り当てることができ、そのうち5ビットは32個の別々のノイズ状のベクトルを符号化するためのものであり、1ビットはノイズ状のベクトルの符号を符号化するためのものである。
【００３１】
図9は、パルスノイズを混合したFCB 901の一実施形態のより全体的な構造を示す図である。図9のパルスノイズを混合したFCBからの符号ベクトルが、パルス状のサブコードブックからのベクトルとノイズ状のサブコードブックからのベクトルの結合であるので、パルス状のサブコードブックからのベクトルとノイズ状のサブコードブックからのベクトルに対してそれぞれ別々の強調が適用されてよい。たとえば、パルス状のサブコードブックからのベクトルには、低域通過フィルタ、高域通過フィルタ、ピッチフィルタ、および/またはフォルマントフィルタを含んでいる強調を適用することができ、同様に、ノイズ状のサブコードブックからのベクトルには、低域通過フィルタ、高域通過フィルタ、ピッチフィルタ、および/またはフォルマントフィルタを含んでいる強調を適用することができる。選択された符号ベクトル902は、パルス状のサブコードブック904からの強調されたベクトルとノイズ状のサブコードブック905からの強調されたベクトルを結合する(加算する)ことによって生成される。906は、パルス状のベクトルに対する強調を示し、固定型または適応型であり得る。907は、ノイズ状のベクトルに対する強調を示し、これも固定型または適応型であり得る。強調906および907は、拡張パラメータを符号化するのに通常はビットを消費しない。強調のパラメータは、符号器と復号器の両方に使用可能なパラメータに対して適応し得る。次いで、選択された符号ベクトル902は、FCB利得Gc 903によって倍率変更される。図9に対して与えられる例として、図9の、パルスノイズを混合したFCBを符号化するのに12ビットが使用可能な場合、パルス状のサブコードブック904に6ビットを割り当てることができ、そのうち5ビットは1つのパルス位置を符号化するためのものであり、1ビットはパルス状のベクトルの符号を符号化するためのものであって、ノイズ状のサブコードブック905に6ビットを割り当てることができ、そのうち5ビットは32個の別々のノイズ状のベクトルを符号化するためのものであり、1ビットはノイズ状のベクトルの符号を符号化するためのものである。
【００３２】
図10は、パルスノイズを混合したFCBの一実施形態のさらなる全体的構造を示す。図10のパルスノイズを混合したFCBからの符号ベクトルが、パルス状のサブコードブックからのベクトルとノイズ状のサブコードブックからのベクトルの結合であるので、パルス状のサブコードブックからのベクトルとノイズ状のサブコードブックからのベクトルに対してそれぞれ別々の強調が適用され得る。たとえば、パルス状のサブコードブックからのベクトルには、低域通過フィルタ、高域通過フィルタ、ピッチフィルタ、および/またはフォルマントフィルタを含んでいる第1の強調を適用することができ、同様に、ノイズ状のサブコードブックからのベクトルには、低域通過フィルタ、高域通過フィルタ、ピッチフィルタ、および/またはフォルマントフィルタを含んでいる第2の強調を適用することができる。1001は、パルスノイズを混合したFCBの全体を示す。選択された符号ベクトル1002は、パルス状のサブコードブック1004からの第1の強調ベクトルとノイズ状のサブコードブック1005からの第2の強調ベクトルを結合する(加算する)ことによって生成される。1006は、パルス状のベクトルに対する第1の強調を示し、固定型または適応型であり得る。1007は、ノイズ状のベクトルに対する第2の強調を示し、これも固定型または適応型であり得る。1008は、パルスノイズを結合したベクトルに対する第3の強調を示し、これも固定型または適応型であり得る。強調1006、1007および1008は、強調パラメータが、符号器と復号器の両方に使用可能なパラメータに対して適応し得るので、強調パラメータを符号化するのに通常はビットを消費しない。次いで、選択された符号ベクトル1002は、FCB利得Gc 1003によって倍率変更される。図10に対して与えられる例として、図10の、パルスノイズを混合したFCBを符号化するのに12ビットが使用可能な場合、パルス状のサブコードブック1004に6ビットを割り当てることができ、そのうち5ビットは1つのパルス位置を符号化するためのものであって、1ビットはパルス状のベクトルの符号を符号化するためのものあり、ノイズ状のサブコードブック1005に6ビットを割り当てることができ、そのうち5ビットは32個の別々のノイズ状のベクトルを符号化するためのものであり、1ビットはノイズ状のベクトルの符号を符号化するためのものである。FCB利得Gcが符号付きである場合、符号化する必要があるのは、パルス状のベクトルの符号とノイズ状のベクトルの符号のうちの1つだけである。
【００３３】
図11は、パルスノイズを混合したFCBの一実施形態のさらなる全体的構造を示す。図11のパルスノイズを混合したFCBからの符号ベクトルが、パルス状のサブコードブックからのベクトルとノイズ状のサブコードブックからのベクトルの結合であるので、パルス状のサブコードブックからのベクトルとノイズ状のサブコードブックからのベクトルに対してそれぞれ別々の強調が適用され得る。たとえば、パルス状のサブコードブックからのベクトルには、低域通過フィルタ、高域通過フィルタ、ピッチフィルタ、および/またはフォルマントフィルタを含んでいる第1の強調H1(z)を適用することができ、同様に、ノイズ状のサブコードブックからのベクトルには、低域通過フィルタ、高域通過フィルタ、ピッチフィルタ、および/またはフォルマントフィルタを含んでいる第2の強調H2(z)を適用することができる。1101は、パルスノイズを混合したFCBの全体を示す。選択された符号ベクトル1102は、パルス状のサブコードブック1104からの第1の強調ベクトルとノイズ状のサブコードブック1105からの第2の強調ベクトルを結合する(加算する)ことによって生成される。1106は、パルス状のベクトルに対する第1の強調H1(z)を示し、固定型または適応型であり得る。1107は、ノイズ状のベクトルに対する第2の強調H2(z)を示し、これも固定型または適応型であり得る。1108は、パルスノイズを結合したベクトルに対する第3の強調H3(z)を示し、これも固定型または適応型であり得る。普通には、強調パラメータは、符号器と復号器の両方に使用可能なパラメータに対して適応し得るので、強調1106、1107、および1108の強調パラメータを符号化するのにビットは消費されない。次いで、選択された符号ベクトル1102は、FCB利得Gc 1103によって倍率変更される。図11に対して与えられる例として、図11の、パルスノイズを混合したFCBを符号化するのに12ビットが使用可能な場合、パルス状のサブコードブック1104に6ビットを割り当てることができ、そのうち5ビットは1つのパルス位置を符号化するためのものであって、1ビットはパルス状のベクトルの符号を符号化するためのものあり、ノイズ状のサブコードブック1105に6ビットを割り当てることができ、そのうち5ビットは32個の別々のノイズ状のベクトルを符号化するためのものであり、1ビットはノイズ状のベクトルの符号を符号化するためのものである。FCB利得Gc 1103が符号付きである場合、符号化する必要があるのは、パルス状のベクトルの符号とノイズ状のベクトルの符号のうちの1つだけである。
【００３４】
図12は、パルスノイズを混合したFCBの一実施形態のより全体的な構造を示す。図12と図11の間の主要な差異は、ブロック1204のコードブック1がパルス状またはノイズ状のベクトルを含み得て、ブロック1205のコードブック2もパルス状またはノイズ状のベクトルを含み得るということであり、これは、混合コードブックが、パルス状のベクトルおよび/またはノイズ状のベクトルの任意の組合せであり得ることを意味する。図12の混合FCBからの符号ベクトルが、コードブック1からのベクトルとコードブック2からのベクトルの結合であるので、コードブック1からのベクトルとコードブック2からのベクトルに対してそれぞれ別々の強調が適用されてよい。たとえば、コードブック1からのベクトルには、低域通過フィルタ、高域通過フィルタ、ピッチフィルタ、および/またはフォルマントフィルタを含んでいる強調H1(z)を適用することができる。同様に、コードブック2からのベクトルには、低域通過フィルタ、高域通過フィルタ、ピッチフィルタ、および/またはフォルマントフィルタを含んでいる強調H2(z)を適用することができる。1201は、混合FCBの全体を示す。選択された符号ベクトル1202は、コードブック1からの強調されたベクトルとコードブック2からの強調されたベクトルを結合する(加算する)ことによって生成される。1206は、コードブック1のベクトルに対する強調H1(z)を示し、固定型または適応型であり得る。1207は、コードブック2のベクトルに対する強調H2(z)を示し、これも固定型または適応型であり得る。1208は、結合したベクトルに対する第3の強調H3(z)を示し、これも固定型または適応型であり得る。強調1206、1207および1208は、強調パラメータが、符号器と復号器の両方に使用可能なパラメータに対して適応し得るので、強調パラメータを符号化するのに通常はビットを消費しない。次いで、選択された符号ベクトル1202は、FCB利得Gc 1203によって倍率変更される。
【００３５】
固定コードブックの構造が図11に示されたものであり、励振信号が64サンプルのサブフレームごとに符号化され、すなわち1フレームにつき4回符号化されると想定し、この段落は、パルスノイズを混合したコードブックを高速で検索する手法を提供する。励振符号化の原理は、図13の概略図に示されており、実際には図3に示された原理に類似している。理論上、図3は、適応コードブック励振成分と固定コードブック励振成分(すなわち符号励振成分)の同時最適化を可能にする。実際には、簡単さのために、適応コードブック励振成分を最初に求め、次いで固定コードブック励振成分を求めることが多い。
【００３６】
各サブフレームについて、LP残留は次式で与えられ、
【００３７】
【数４】
0006395612.tif 000005
【００３８】
s(n)は、入力信号1301であり、あらかじめ強調されることが多く、狭帯域音声の符号化ではなく広帯域音声の符号化に用いられる。たとえば、プレエンファシスフィルタは次式で表され得て、
Hemph(z)=1-β1z-1      (8)
β1は0.68に等しい。あるいは、β1は異なる値をとる可能性もある。
【００３９】
適応コードブック1307の検索のための目標信号1303 x(n)は、重み付けフィルタ1302を通して入力信号1301 s(n)をフィルタリングすることによって取得される重み付きのあらかじめ強調された入力信号から重み付き合成フィルタのゼロ入力応答W(z)/A(z)(図13には示されていない)を減じることによって計算される。これはサブフレームで遂行される。目標信号を計算するための同等のプロシージャは、残留信号r(n)を、合成フィルタ1/A(z)と重み付けフィルタW(z)の結合を通してフィルタリングすることである。
【００４０】
重み付き合成フィルタW(z)/A(z)のインパルス応答h(n)は、各サブフレームに対して計算される。上の式で、A(z)は量子化されたLPフィルタである。インパルス応答h(n)は、適応コードブックおよび固定コードブックの検索のために必要とされる。適応コードブックの検索は、閉ループピッチの検索を遂行するステップと、次いで、選択された断片的なピッチ遅れPで過去の励振を補間することによって適応符号ベクトルep(n)を計算するステップとを含む。ep(n)は、たとえば適応型の低域通過フィルタを適用することによって強調され得る。適応コードブックパラメータ(またはピッチパラメータ)には、各サブフレームに対して計算された、閉ループピッチPおよびピッチ利得1305、gp(適応コードブック利得)がある。y(n)は、ピッチ利得1305が適用される前のフィルタリングされた適応コードブックの寄与を示す。この段落は、混合FCB(固定コードブック)の検索の説明に集中するので、適応コードブックパラメータの計算に関する詳細は、ここでは論じないことにする。
【００４１】
フィルタリングされ利得調整された適応コードブックの寄与が目標信号x(n)から減じられた後、取得された差信号x2(n) 1304が、符号励振の寄与を求めるための第2の目標信号になる。符号励振ec(n) 1308および対応する利得Gc 1306は、重み付き誤差1310の最小化1309によって求められる。
【００４２】
図14は、図14の固定コードブックまたは符号励振が、ここでは特に混合コードブック構造であることを除けば、図13と類似の構造を示す。適応コードブック1407の検索のための目標信号1403 x(n)は、重み付きのあらかじめ強調された入力信号から重み付き合成フィルタのゼロ入力応答W(z)/A(z)(図14には示されていない)を減じることによって計算され、重み付きのあらかじめ強調された入力信号は、入力信号s(n) 1401を、重み付けフィルタ1402によってフィルタリングすることによって取得される。適応コードブックパラメータ(またはピッチパラメータ)には、各サブフレームに対して計算された、閉ループピッチおよびピッチ利得1405、gp(適応コードブック利得)がある。y(n)は、ピッチ利得1405が適用される前のフィルタリングされた適応コードブックの寄与を示す。フィルタリングされ利得調整された適応コードブックの寄与が目標信号1403 x(n)から減じられた後、取得された差信号x2(n) 1404が、混合コードブック励振の寄与を求めるための第2の目標信号になる。混合コードブック励振1408 ec(n)および対応する利得1406 Gcは、重み付き誤差1410の最小化1409によって求められる。z(n)は、利得1406 Gcが適用される前のフィルタリングされた混合コードブックの寄与を示す。
【００４３】
混合コードブック1408のCB 1がパルス状コードブックであり、混合コードブック1408のCB 2がノイズ状コードブックであると想定する。1408のH1(z)はCB 1ベクトルの強調フィルタを示し、1408のH2(z)はCB 2ベクトルの強調フィルタを示し、1408のH3(z)はCB 1ベクトルおよびCB 2ベクトルの両方の強調フィルタを示す。以下の説明の便宜のために、H1(z)、H2(z)、またはH3(z)のインパルス応答は、それぞれh1(n)、h2(n)、またはh3(n)と示される。
【００４４】
パルス状コードブックCB 1のインデックス、または符号語は、パルスの位置および符号を表す。したがって、インデックス自体の中に含まれている情報によって復号器の中に符号ベクトルを構築することができるので、コードブック記憶装置は不要である(ルックアップ表はない)。一定数のトラックに一定数の符号付きパルスを配置することにより、別々のパルス状コードブックを構築することができる。コードブック検索に先立って、最初に重み付き合成フィルタW(z)/A(z)と強調フィルタH1(z)およびH3(z)を結合することにより、パルス状コードブックの独立した検索または一時的な検索を遂行することができる。したがって、重み付き合成フィルタのインパルス応答h(n)を、強調フィルタH1(z)およびH3(z)を含むように変更する必要がある。すなわち次式となる。
hp(n)=h1(n)*h3(n)*h(n)      (9)
【００４５】
ノイズ状コードブックCB 2のインデックス、または符号語は、ノイズベクトルおよび符号を表す。ノイズ状のコードブックは、通常は記憶装置に保存される。メモリサイズを縮小するために、ノイズベクトルはオーバーラップされてよく、ノイズベクトルの位置をシフトすることによって生成されてよい。コードブック検索に先立って、最初に重み付き合成フィルタW(z)/A(z)と強調フィルタH2(z)およびH3(z)を結合することにより、ノイズ状コードブックの独立した検索または一時的な検索が遂行されてよい。したがって、重み付き合成フィルタのインパルス応答h(n)を、強調フィルタH2(z)およびH3(z)を含むように変更する必要がある。すなわち次式となる。
hn(n)=h2(n)*h3(n)*h(n)
(10)
H3(z)がパルス状ベクトルおよびノイズ状ベクトルの両方に対して共通して用いられるので、合成フィルタ1/A(z)と、重み付けフィルタW(z)と、強調フィルタH3(z)との結合のインパルス応答は、特に次式で示される。
hh(n)=h3(n)*h(n)
(11)
【００４６】
混合コードブックは、更新された目標信号1404 x2(n)と倍率変更してフィルタリングされた符号ベクトルの間の誤差を最小化することによって検索される。更新された目標信号は次式で与えられ、
x2(n)=x(n)-Gp・y(n)、n=0、1、…、63
(12)
y(n)=ep(n)*h(n)は、フィルタリングされた適応符号ベクトルであり、Gpは適応コードブックの利得である。マトリクスHを、主対角線hh(0)および下位の(lower)対角線hh(1)、…、hh(63)を有する下位の三角形のテプリッツの畳み込みマトリクスとして定義し、d=HTx2(逆フィルタリングされた目標ベクトルとしても知られている)を、更新された信号x2(n)とインパルス応答hh(n)の間の相関として定義する。さらに、φ=HTHをhh(n)の相関のマトリクスとして定義する。理論上、ベクトルd(n)の要素は次式で計算され、
【００４７】
【数５】
0006395612.tif 000006
【００４８】
また、対称マトリクスφの要素は次式で計算される。
【００４９】
【数６】
0006395612.tif 000007
【００５０】
いくつかの実施形態では、式(13)はより簡単な逆フィルタリング用いることによって計算されてよく、式(14)は、混合パルスノイズのコードブックを高速で検索するための現在の事例では不要であり得る。
【００５１】
ck(n)を、次式で表される混合符号ベクトルとする。
ck(n)=cp(n)*h1(n)+cn(n)*h2(n)、n=0、1、...、63
(15)
ここで、cp(n)はパルス状コードブックからの候補ベクトルであり、cn(n)はノイズ状コードブックからの候補ベクトルである。混合コードブック励振ck(n)またはec(n)=ck(n)*h3(n)および混合コードブック励振の対応する利得1103 Gcは、次式の重み付き誤差1110の最小化1109によって求められ得る。
【００５２】
【数７】
0006395612.tif 000008
【００５３】
式(16)の最小化は、次の基準の最大化と等価である。
【００５４】
【数８】
0006395612.tif 000009
【００５５】
式(17)で、zkは、混合励振コードブックのフィルタリングされた寄与であり、次式で表される。
zk=Hck
(18)
いくつかの実施形態では、ベクトルd(n)およびマトリクスφは、コードブック検索に先立って計算される。いくつかの実施形態では、マトリクスφの計算は不要であり得て、したがって省略される。
【００５６】
式(17)の分子の相関は次式で与えられる。
【００５７】
【数９】
0006395612.tif 000010
【００５８】
式(19)で、
【００５９】
【数１０】
0006395612.tif 000011
【００６０】
および
【００６１】
【数１１】
0006395612.tif 000012
【００６２】
は、フィルタH1(z)およびH2(z)を通る簡単な逆フィルタリングd(n)によって前計算されてよい。H1(z)およびH2(z)が1次フィルタを用いて実施される場合、逆フィルタリングプロセスは簡単である。式(17)の分母のエネルギーは次式で与えられる。
【００６３】
【数１２】
0006395612.tif 000013
【００６４】
式(20)で、Hp=HH1およびHn=HH2は、以下のフィルタリングプロセスすなわち畳み込みによって前計算されてよい。
hp(n)=h1(n)*hh(n)  ←→  Hp(z)=H1(z)H3(z)W(z)/A(z)
(21)
hn(n)=h2(n)*hh(n)  ←→  Hn(z)=H2(z)H3(z)W(z)/A(z)
(22)
【００６５】
いくつかの実施形態では、H1(z)およびH2(z)は1次フィルタを用いて実施されてよく、このため、式(21)または式(22)のフィルタリングプロセスは、hh(n)が式(11)で既に計算されているので簡単である。
【００６６】
式(20)で、zpはフィルタリングされたパルス寄与であり、次式で表され、
zp=Hpcp
(23)
znはフィルタリングされたノイズ寄与であり、次式で表される。
zn=Hncn (24)
式(20)は次式のようにさらに表現されてよく、
Ek=zpTzp+2zpTzn+znTzn
=Ep+2zpTzn+En
(25)
ここで、
Ep=zpTzp
(26)
はフィルタリングされたパルス寄与のエネルギーであり、
En=znTzn
(27)
はフィルタリングされたノイズ寄与のエネルギーである。
【００６７】
パルスサブコードブックからの式(15)の符号ベクトルcp(n)が次式で表される符号付きベクトルであり、
cp=sp・vp(ip)
(28)
また、ノイズサブコードブックからの式(15)の符号ベクトルcn(n)が次式で表される符号付きベクトルであり、
cn=sn・vn(in)
(29)
ここで、vp(ip)は、1つまたはいくつかのパルスから成る次元64(サブフレームサイズ)のip番目のパルスベクトルを表し、vn(in)は、ノイズテーブルから読み取った次元64(サブフレームサイズ)のin番目のノイズベクトルを表し、spおよびsnは符号であり、-1または1に等しく、ipおよびinはベクトルを定義するインデックスであると想定する。
【００６８】
検索プロシージャの目標は、2つの最善のベクトルのインデックスipおよびin、ならびにそれらの対応する符号spおよびsnを見つけることである。これは、検索基準(17)を最大化することによって達成され、分子は式(19)を用いることによって計算され、分母は式(25)を用いることによって計算される。分子(19)および分母(25)を考えると、最も複雑な演算は分母(25)の中間の項zpTznに由来するものであり、相互相関の可能な組合せをすべて含んでいる。たとえば、cpがKp個の可能性を有し、cnがKn個の可能性を有する場合、中間の項zpTznは(Kp・Kn)個までの可能性を有し得る。
【００６９】
図15aは、混合コードブックを高速で検索する一実施形態の方法の流れ図1500を示す。ステップ1502で、コードブックベクトルと、パルスコードブックおよびノイズコードブックのそれぞれのフィルタリングされた目標ベクトルとの間の相関が計算される。一例では、式(19)のd1およびd2ベクトルを計算した後に、すべてのKp個の可能なパルスベクトルからの
【００７０】
【数１３】
0006395612.tif 000014
【００７１】
と、すべてのKn個の可能なノイズベクトルからの
【００７２】
【数１４】
0006395612.tif 000015
【００７３】
とを識別するために事前割出し(predetermination)プロセスが用いられ、その結果、検索プロセスは、
【００７４】
【数１５】
0006395612.tif 000016
【００７５】
個の可能なパルスベクトルと、
【００７６】
【数１６】
0006395612.tif 000017
【００７７】
個の可能なノイズベクトルとに限定されることになる。
【００７８】
パルスの事前割出しは、Kp個のパルスベクトルに対して、式(19)の
【００７９】
【数１７】
0006395612.tif 000018
【００８０】
を調べることによって遂行され、これらは、d1とcpの間の最大の絶対値の内積(または2乗された内積)を有する。すなわち、|Rp(i)|の
【００８１】
【数１８】
0006395612.tif 000019
【００８２】
個の最大値をもたらす
【００８３】
【数１９】
0006395612.tif 000020
【００８４】
個のパルスベクトルのインデックスが保存される。これらのインデックスは、インデックスベクトル
【００８５】
【数２０】
0006395612.tif 000021
【００８６】
に記憶される。検索をさらに簡単にするために、それぞれの所定のベクトルに対応する符号情報も事前設定される。それぞれの所定のベクトルに対応する符号は、そのベクトルの符号Rp(i)で与えられる。これらの事前設定の符号は、符号ベクトル
【００８７】
【数２１】
0006395612.tif 000022
【００８８】
に記憶される。候補ベクトルcpが多くのゼロを含んでいるので、いくつかの実施形態では、上記の事前割出しは計算上簡単になり得る。
【００８９】
ノイズの事前割出しは、Kn個のノイズベクトルに対して、式(19)の
【００９０】
【数２２】
0006395612.tif 000023
【００９１】
を調べることによって遂行され、これらは、d2とcnの間の最大の絶対値の内積(または2乗された内積)を有する。すなわち、|Rn(j)|の
【００９２】
【数２３】
0006395612.tif 000024
【００９３】
個の最大値をもたらす
【００９４】
【数２４】
0006395612.tif 000025
【００９５】
個のノイズベクトルのインデックスが保存される。これらのインデックスは、インデックスベクトル
【００９６】
【数２５】
0006395612.tif 000026
【００９７】
に記憶される。検索をさらに簡単にするために、それぞれの所定のベクトルに対応する符号情報も事前設定される。それぞれの所定のベクトルに対応する符号は、そのベクトルの符号Rp(j)で与えられる。これらの事前設定の符号は、符号ベクトル
【００９８】
【数２６】
0006395612.tif 000027
【００９９】
に記憶される。
【０１００】
混合励振コードブックは低ビットレートの音声符号化にしばしば用いられるので、KpまたはKnは大きな値ではなく、この場合、事前割出しプロセスは、単に、
【０１０１】
【数２７】
0006395612.tif 000028
【０１０２】
個のすべての可能なパルスベクトルを候補として採用し、
【０１０３】
【数２８】
0006395612.tif 000029
【０１０４】
個のすべての可能なノイズベクトルを候補として採用する。
【０１０５】
ステップ1504で、パルスコードブックおよびノイズコードブックに対して、それぞれのフィルタリングされたコードブックベクトルのエネルギーが求められる。たとえば、ステップ1502からの、限定された
【０１０６】
【数２９】
0006395612.tif 000030
【０１０７】
個の可能なパルスベクトルに対して、式(25)のフィルタリングされたパルスベクトルのエネルギー項Ep(i)=zpTzpが計算され、インデックスベクトル
【０１０８】
【数３０】
0006395612.tif 000031
【０１０９】
とともに記憶される。いくつかの実施形態では、パルスベクトルがわずかな非ゼロパルスしか含まず、それによって式(23)のzpの演算がかなり簡単になる。たとえば、パルスベクトルがパルスを1つしか含んでいなければ、エネルギー項のこの演算は、再帰的なやり方を用いて、パルス位置を左から右へシフトすることによって簡単に行なわれ得る。
【０１１０】
ステップ1502からの、限定された
【０１１１】
【数３１】
0006395612.tif 000032
【０１１２】
個の可能なノイズベクトルに対して、式(25)のフィルタリングされたノイズベクトルのエネルギー項En(j)=znTznが計算され、インデックスベクトル
【０１１３】
【数３２】
0006395612.tif 000033
【０１１４】
とともに記憶される。すべてのノイズベクトルがオーバーラップさせるやり方で表の中に記憶される場合、式(24)のznの演算は、再帰的なやり方で、ノイズテーブルにおけるノイズベクトルの位置をシフトして行なわれてよい。
【０１１５】
次に、ステップ1506で、フィルタリングされた目標ベクトルとフィルタリングされたパルスコードブックベクトルの最大の相関の第1のグループが計算され、ステップ1508で、フィルタリングされた目標ベクトルとフィルタリングされたパルスノイズベクトルの最大の相関の第2のグループが計算される。たとえば、一実施形態では、ステップ1502およびステップ1504から取得された
【０１１６】
【数３３】
0006395612.tif 000034
【０１１７】
個の可能な結合からの混合パルスノイズ寄与のK個の可能な結合が、計算されて選択される。一実施形態では、Kは、
【０１１８】
【数３４】
0006395612.tif 000035
【０１１９】
よりはるかに小さく、すなわち
【０１２０】
【数３５】
0006395612.tif 000036
【０１２１】
である。いくつかの例では、K個の可能な結合に4つのノイズベクトルおよび6つのパルスベクトルが選択され、それによって合計24個の結合が調べられることになる。他の例では、他の数のノイズベクトルおよびパルスベクトルが選択されてもよい。一実施形態では、いくつかのパルスベクトルのまばらな性質のために(すなわちパルスベクトルの要素の多くがゼロに設定され得るので)、パルスベクトルに対する計算が、ノイズベクトルの計算を遂行するよりも計算上効率的であり得るため、パルスベクトルの候補の数がノイズベクトルの候補の数を上回ってよい。
【０１２２】
次に、ステップ1510で、第1および第2のグループのこれらの結合に対して第1の基準関数が適用される。一実施形態では、K個の可能な結合の選択は、式(17)を簡素化した以下の基準を最大化することによって達成され得る。
【０１２３】
【数３６】
0006395612.tif 000037
【０１２４】
上記式で、Rp(i)およびRn(j)はステップ1502で計算されており、Ep(i)およびEn(j)はステップ1504で計算されている。
【０１２５】
次に、ステップ1512で、最大の第1の基準関数に基づいて、パルスベクトルとノイズベクトルの結合の第1のグループが求められる。たとえば、一実施形態では、Q(i,j)のK個の最大値をもたらすK個の結合のインデックスが保存される。これらのインデックスはインデックスマトリクス[ik,jk]、k=0、1、...、K-1の中に記憶される。Kは、パルスベクトルとノイズベクトルの全体の可能な結合の数よりはるかに小さい。
【０１２６】
次に、ステップ1514で、パルスベクトルとノイズベクトルの結合の第3のグループに対して第2の基準関数が適用され、最大の第2の基準を有するパルスベクトルのインデックスおよびノイズベクトルのインデックスが選択される。たとえば、一実施形態では、パルスベクトルとノイズベクトルならびにそれらの対応する符号の最も有望なK個の結合が、一旦、上記のステップ1502、1504、1506、1508、1510、および1512で前もって求められると、この検索は、それらのK個の結合の中で、次式で表される、式(17)の全探索の基準Qkを最大化することになる1つのパルスベクトルおよび1つのノイズベクトルの選択へと移る。
【０１２７】
【数３７】
0006395612.tif 000038
【０１２８】
式(32)におけるRp(ik)、Rn(jk)、Ep(ik)およびEn(jk)はステップ1502および1504で取得されており、zp(ik)およびzn(jk)はステップ1504で計算されている。パルスベクトルがパルスを1つしか含まなければ、式(32)のフィルタリングされたパルスベクトルzp(ik)は、ベクトルの第1の要素からパルス位置までゼロを有することになり、このことによって演算がさらに簡単になり得る。
【０１２９】
本発明の、コードブックエントリの数が比較的少ないいくつかの実施形態では、ステップ1510および1512が省略されてよい。そのような実施形態では、第1のグループと第2のグループの候補の結合が、たとえば式(32)および(33)といった第2の基準関数に対して直接適用されて、第2の基準関数の最大値に対応するインデックスが選択される。
【０１３０】
CB 1がパルスベクトルを含み、CB 2がノイズベクトルを含むということに制約がなければ、一般的な混合コードブックが、コードブックに関する上記の説明に類似した以下のやり方で、パルスベクトルおよびノイズベクトルを用いて高速で検索され得る。CB 1励振のインパルス応答は次式で表される。
hCB1(n)=h1(n)*h3(n)*h(n)
(34)
CB 2励振のインパルス応答は次式で表される。
hCB2(n)=h2(n)*h3(n)*h(n)
(35)
ck(n)は、次式で表される混合符号ベクトルとする。
ck(n)=cCB1(n)*h1(n)+cCB2(n)*h2(n)、n=0、1、...、63
(36)
【０１３１】
混合コードブック励振ck(n)またはec(n)=ck(n)*h3(n)および対応する利得1406 Gcは、次式で表される基準を最小化することによって求められてよく、
【０１３２】
【数３８】
0006395612.tif 000039
【０１３３】
zCB1=HCB1cCB1
(38)
zCB2=HCB2cCB2
(39)
ECB1=zCB1TzCB1
(40)
ECB2=zCB2TzCB2
(41)
である。符号ベクトルcCB1およびcCB2が、それぞれ式(42)および式(43)で表される符号付きベクトルであると想定する。
cCB1=sCB1・vCB1(iCB1)
(42)
cCB2= sCB2・vCB2(iCB2)
(43)
検索プロシージャの目標は、2つの最善のベクトルのインデックスiCB1およびiCB2、ならびにそれらの対応する符号sCB1およびsCB2を見つけることである。
【０１３４】
図15bは、一般的な混合コードブックの高速検索を遂行するための実施形態の方法1550を示す。上記で説明された図15aの方法1500はいくつかの実施形態では、方法1550の特別な事例と考えられ得ることを理解されたい。
【０１３５】
一実施形態では、ステップ1552で、式(37)のベクトルd1およびd2を計算した後、KCB1個の可能なCB 1ベクトルのすべてから
【０１３６】
【数３９】
0006395612.tif 000040
【０１３７】
を識別し、KCB2個の可能なCB 2ベクトルのすべてから
【０１３８】
【数４０】
0006395612.tif 000041
【０１３９】
を識別するために、事前割出しプロセスが用いられる。CB 1の事前割出しは、d1とcCB1の間に最大の絶対値の内積(または2乗された内積)を有するKCB1個のCB 1ベクトルに関して、式(37)の
【０１４０】
【数４１】
0006395612.tif 000042
【０１４１】
を調べることによって遂行される。すなわち、
|RCB1(i)|の
【０１４２】
【数４２】
0006395612.tif 000043
【０１４３】
個の最大値をもたらす
【０１４４】
【数４３】
0006395612.tif 000044
【０１４５】
個のCB 1ベクトルのインデックスが保存される。これらのインデックスは、インデックスベクトル
【０１４６】
【数４４】
0006395612.tif 000045
【０１４７】
に記憶される。検索をさらに簡単にするために、それぞれの所定のベクトルに対応する符号情報も事前設定される。それぞれの所定のベクトルに対応する符号は、そのベクトルの符号RCB1(i)で与えられる。これらの事前設定の符号は、符号ベクトル
【０１４８】
【数４５】
0006395612.tif 000046
【０１４９】
に記憶される。
【０１５０】
一実施形態では、CB 2の事前割出しは、d2とcCB2の間に最大の絶対値の内積(または2乗された内積)を有するKCB2個のCB 2ベクトルに関して、式(37)の
【０１５１】
【数４６】
0006395612.tif 000047
【０１５２】
を調べることによって遂行される。すなわち、|RCB2(j)|の
【０１５３】
【数４７】
0006395612.tif 000048
【０１５４】
個の最大値をもたらす
【０１５５】
【数４８】
0006395612.tif 000049
【０１５６】
個のCB 2ベクトルのインデックスが保存される。これらのインデックスは、インデックスベクトル
【０１５７】
【数４９】
0006395612.tif 000050
【０１５８】
に記憶される。検索をさらに簡単にするために、それぞれの所定のベクトルに対応する符号情報も事前設定される。それぞれの所定のベクトルに対応する符号は、そのベクトルの符号RCB2(j)で与えられる。これらの事前設定の符号は、符号ベクトル
【０１５９】
【数５０】
0006395612.tif 000051
【０１６０】
に記憶される。
【０１６１】
混合励振コードブックは低ビットレートの音声符号化にしばしば用いられるので、KCB1またはKCB2は大きな値ではない。この場合、事前割出しプロセスは、単に、
【０１６２】
【数５１】
0006395612.tif 000052
【０１６３】
個のすべての可能なCB 1ベクトルを候補として採用し、
【０１６４】
【数５２】
0006395612.tif 000053
【０１６５】
個のすべての可能なCB 2ベクトルを候補として採用する。
【０１６６】
次に、ステップ1554で、エネルギー項ECB1およびECB2が計算される。一実施形態では、ステップ1552からの、限定された
【０１６７】
【数５３】
0006395612.tif 000054
【０１６８】
個の可能なCB 1ベクトルに対して、式(40)のフィルタリングされたCB 1ベクトルの項ECB1(i)=zCB1TzCB1が計算され、インデックスベクトル
【０１６９】
【数５４】
0006395612.tif 000055
【０１７０】
とともに記憶される。
【０１７１】
ステップ1552からの、限定された
【０１７２】
【数５５】
0006395612.tif 000056
【０１７３】
個の可能なCB 2ベクトルに対して、式(41)のフィルタリングされたCB 2ベクトルのエネルギー項ECB2(j)=zCB2TzCB2が計算され、インデックスベクトル
【０１７４】
【数５６】
0006395612.tif 000057
【０１７５】
とともに記憶される。いくつかの実施形態では、エネルギー項ECB1およびECB2は、あらかじめ計算されてメモリに記憶されてよい。
【０１７６】
ステップ1556で、ステップ1552およびステップ1554によって取得された
【０１７７】
【数５７】
0006395612.tif 000058
【０１７８】
個の可能な結合からの混合コードブック寄与のK個の可能な結合が計算されて選択される。いくつかの実施形態では、Kは
【０１７９】
【数５８】
0006395612.tif 000059
【０１８０】
より小さく、すなわち
【０１８１】
【数５９】
0006395612.tif 000060
【０１８２】
である。K個の可能な結合の選択は、式(37)を簡素化した以下の基準を最大化することによって達成される。
【０１８３】
【数６０】
0006395612.tif 000061
【０１８４】
上記の表現で、RCB1(i)およびRCB2(j)はステップ1552で計算されており、ECB1(i)およびECB2(j)はステップ1554で計算されている。Q(i,j)のK個の最大の値をもたらすK個の結合のインデックスが保存される。これらのインデックスは、インデックスマトリクス[ik,jk]、k=0、l、...、K-1に記憶される。Kは、混合コードブックベクトルの全体の可能な結合の数よりもはるかに小さい。
【０１８５】
次に、ステップ1558で、ステップ1556で求められたK個の可能な結合からベクトルが選択される。たとえば、混合コードブックベクトルおよびそれらの対応する符号の最も有望なK個の結合が、一旦、上記のステップ1552、ステップ1554およびステップ1556で前もって求められると、検索は、それらのK個の結合の中の1つのCB 1ベクトルおよび1つのCB 2ベクトルの選択へと移り、これらのベクトルが、次のように表される式(37)の全探索基準Qkを最大化することになる。
【０１８６】
【数６１】
0006395612.tif 000062
【０１８７】
式(46)で、RCB1(ik)、RCB2(jk)、ECB1(ik)およびECB2(jk)はステップ1556で取得されており、zCB1(ik)およびzCB2(jk)はステップ1554で計算されている。
【０１８８】
本発明のいくつかの実施形態では、コードブックのサイズが比較的小さい実施形態については、式(44)および(45)の計算を省略し、式(46)および(47)を用いて、選択された混合コードブックベクトルを直接求めてもよい。
【０１８９】
コードブックエントリの数が比較的少ない実施形態では、ステップ1510および1512を省略してもよい。そのような実施形態では、第1のグループと第2のグループの候補の結合が、たとえば式(32)および(33)といった第2の基準関数に対して直接適用され、第2の基準関数の最大値に対応するインデックスは、次のように選択されて評価される。
【０１９０】
【数６２】
0006395612.tif 000063
【０１９１】
式(48)および(49)は、いくつかの実施形態において上記で論じられた方法1500にも適用されてよい。
【０１９２】
信号対雑音比(SNR)は、音声符号化の客観的な検査測定方法のうちの1つである。重み付きセグメントSNR(WsegSNR)は別の客観的な測定である。WsegSNRは、SNRよりも、実際の知覚品質測定にわずかに近いものである。SNRまたはWsegSNRにおける小さな差異は聞こえない可能性がある。SNRまたはWsegSNRの大きな差異は明らかに聞こえ得る。完全な音声信号については、パルスノイズを混合したFCBを用いて取得されたSNRまたはWsegSNRは、同一のFCBサイズを有するパルス状のFCBを用いることによって取得されたものに等価であり得る。ノイズのある音声信号については、パルスノイズを混合したFCBを用いて取得されたSNRまたはWsegSNRは、同一のFCBサイズを有するパルス状のFCBを用いることによって取得されたものよりわずかに大きい可能性がある。さらに、あらゆる種類の音声信号について、高速の混合FCB検索を用いて取得されたSNRまたはWsegSNRは、完全な混合FCB検索を用いて取得されたSNRまたはWsegSNRに非常に近いものである。
【０１９３】
いくつかの実施形態では、聞き取りテストの結果によれば、より滑らかに、より自然に聞こえる、それほどとがって聞こえないパルス状のFCBではなく、パルスノイズを混合したFCBを用いることによって、ノイズのある音声信号の知覚品質が明瞭に改善されることが示されている。それに加えて、テスト結果によれば、高速の混合FCB検索を用いた知覚品質が完全な混合FCB検索を用いた知覚品質と等価であることが示されている。
【０１９４】
図16は、本発明の一実施形態による通信システム10を示す。通信システム10は、通信リンク38および40を介してネットワーク36に結合された音響アクセスデバイス6および8を有する。一実施形態では、音響アクセスデバイス6および8はボイスオーバーインターネットプロトコル(VOIP)デバイスであり、ネットワーク36は、広域ネットワーク(WAN)、公衆交換電話網(PTSN)および/またはインターネットである。通信リンク38および40は、有線および/または無線のブロードバンド接続である。代替実施形態では、音響アクセスデバイス6および8はセルラー電話または携帯電話であり、リンク38および40は無線の携帯電話チャネルであり、ネットワーク36は携帯電話ネットワークを表す。
【０１９５】
音響アクセスデバイス6は、音楽または人の声などの音響をアナログの音響入力信号28に変換するのにマイクロフォン12を使用する。マイクロフォンインターフェース16は、アナログの音響入力信号28を、CODEC 20の符号器22へ入力するために、デジタル音響信号32に変換する。符号器22は、本発明の実施形態によって、ネットワークインターフェース26を通じてネットワーク26へ伝送するための符号化された音響信号TXを生成する。CODEC 20内の復号器24は、ネットワーク36から、ネットワークインターフェース26を通じて、符号化された音響信号RXを受け取り、これをデジタル音響信号34に変換する。スピーカインターフェース18は、デジタル音響信号34を、拡声器14を駆動するのに適切な音響信号30に変換する。
【０１９６】
本発明の実施形態では、音響アクセスデバイス6がVOIPデバイスであれば、音響アクセスデバイス6内の構成要素のいくつかまたはすべてが携帯電話機内で実施される。しかしながら、いくつかの実施形態では、マイクロフォン12および拡声器14は個別のユニットであり、マイクロフォンインターフェース16、スピーカインターフェース18、CODEC 20およびネットワークインターフェース26は、パーソナルコンピュータ内で実施される。CODEC 20は、コンピュータもしくは専用のプロセッサで動作しているソフトウェア、またはたとえば特定用途向け集積回路(ASIC)といった専用ハードウェアのいずれかによって実施され得る。マイクロフォンインターフェース16は、アナログデジタル(A/D)コンバータ、ならびに携帯電話機内および/またはコンピュータ内に配置された他のインターフェース回路によって実施される。同様に、スピーカインターフェース18は、デジタルアナログコンバータ、ならびに携帯電話機内および/またはコンピュータ内に配置された他のインターフェース回路によって実施される。さらなる実施形態では、音響アクセスデバイス6は、当技術分野で既知の他のやり方で実施して分割することができる。
【０１９７】
音響アクセスデバイス6がセルラー電話または携帯電話である本発明の実施形態では、音響アクセスデバイス6内の要素はセルラー携帯電話機内で実施される。CODEC 20は、携帯電話機内のプロセッサ上で動作するソフトウェアまたは専用ハードウェアによって実施される。本発明のさらなる実施形態では、音響アクセスデバイスは、インターコムおよび無線送受話器などのピアツーピアの有線および無線のデジタル通信システムなどの他のデバイスで実施されてよい。消費者音響装置などの用途では、音響アクセスデバイスは、たとえばデジタルマイクロフォンシステムまたは音楽再生デバイスの中に符号器22または復号器24しか有しないCODECを含み得る。本発明の他の実施形態では、CODEC 20は、たとえばPTSNにアクセスするセルラー基地局では、マイクロフォン12およびスピーカ14なしで使用され得る。
【０１９８】
一実施形態によれば、音響信号/音声信号を符号化する方法は、入って来る音響信号/音声信号に基づいて混合コードブックベクトルを求めるステップを含み、混合コードブックベクトルは、第1のコードブックからの第1のコードブックエントリと第2のコードブックからの第2のコードブックエントリの合計を含む。この方法は、求められた混合コードブックベクトルに基づいて、符号化された音響信号を生成するステップと、求められた混合コードブックベクトルの符号化励振のインデックスを伝送するステップとをさらに含む。一実施形態では、第1のコードブックはパルス状のエントリを含み、第2のコードブックはノイズ状のエントリを含む。いくつかの実施形態では、第1および第2のコードブックは固定コードブックを含む。求めるステップおよび生成するステップは、ハードウェアベースの音響符号器を使用して遂行されてよい。ハードウェアベースの音響符号器は、プロセッサおよび/または専用ハードウェアを含んでよい。
【０１９９】
一実施形態では、混合コードブックベクトルを求めるステップは、フィルタリングされた目標ベクトルと第1のコードブックのフィルタリングされたエントリの間の第1の相関を計算するステップと、最大の第1の相関の第1のグループを求めるステップと、フィルタリングされた目標ベクトルと第2のコードブックのフィルタリングされたエントリの間の相関を計算するステップと、最大の第2の相関の第2のグループを求めるステップと、第1のグループと第2のグループの結合の第1の基準関数を計算するステップとを含む。第1の基準関数は、最大の第1の相関の第1のグループのうちの1つ、最大の第2の相関の第2のグループのうちの1つ、ならびに第1のコードブックおよび第2のコードブックからの対応するエントリのエネルギーの関数を含む。フィルタリングされた目標ベクトルは、入って来る音響信号に基づくものである。
【０２００】
一実施形態では、この方法は、最大の計算された第1の基準関数に基づいて候補の相関の第3のグループを求めるステップと、第3のグループへの第2の基準関数の適用に基づいて混合コードブックベクトルを選択するステップとをさらに含む。混合コードブックベクトルは、第2の基準関数の最大値と関連した、第1のコードブックおよび第2のコードブックからのコードブックエントリに対応する。
【０２０１】
一実施形態では、第1の基準関数は次式で表され、
【０２０２】
【数６３】
0006395612.tif 000064
【０２０３】
RCB1(i)は、フィルタリングされた目標ベクトルと第1のコードブックのi番目の第1のエントリの間の相関であり、RCB2(j)は、フィルタリングされた目標ベクトルと第2のコードブックのj番目のエントリの間の相関であり、ECB1(i)は第1のコードブックのi番目のエントリのエネルギーであって、ECB2(j)は第2のコードブックのj番目エントリのエネルギーであり、
【０２０４】
【数６４】
0006395612.tif 000065
【０２０５】
は第1のグループの第1のコードブックエントリの数であって、
【０２０６】
【数６５】
0006395612.tif 000066
【０２０７】
は第2のグループの第2のコードブックエントリの数である。第2の基準は次式で表されてよく、
【０２０８】
【数６６】
0006395612.tif 000067
【０２０９】
zCB1(ik)は第1のコードブックのi番目のエントリのフィルタリングされたベクトルであり、zCB2(jk)は第2のコードブックのj番目のエントリのフィルタリングされたベクトルであって、Kは第3のグループのエントリの数である。
【０２１０】
いくつかの実施形態では、この方法は、最大の計算された第1の基準関数に基づいて混合コードブックベクトルを選択するステップを含む。この最大の計算された第1の基準関数は次式で表され得、
【０２１１】
【数６７】
0006395612.tif 000068
【０２１２】
RCB1(i)は、フィルタリングされた目標ベクトルと第1のコードブックのi番目の第1のエントリの間の相関であり、RCB2(j)は、フィルタリングされた目標ベクトルと第2のコードブックのj番目のエントリの間の相関であり、ECB1(i)は第1のコードブックのi番目のエントリのエネルギーであって、ECB2(j)は第2のコードブックのj番目エントリのエネルギーであり、
【０２１３】
【数６８】
0006395612.tif 000069
【０２１４】
は第1のグループの第1のコードブックエントリの数であって、
【０２１５】
【数６９】
0006395612.tif 000070
【０２１６】
は第2のグループの第2のコードブックエントリの数である。
【０２１７】
一実施形態では、この方法は、第1のコードブックおよび第2のコードブックからの対応するエントリのエネルギーを計算するステップをさらに含む。場合によっては、第1のコードブックおよび第2のコードブックからの対応するエントリのエネルギーはメモリに記憶される。さらに、第1のグループは第2のグループよりも多くのエントリを含んでよい。
【０２１８】
一実施形態では、この方法は、第1のコードブックエントリに第1の強調関数を適用するステップと、第2のコードブックエントリに第2の強調関数を適用するステップとをさらに含む。第1の強調関数は低域通過フィルタ機能を含んでよく、第2の強調関数は高域通過フィルタ機能を含んでよい。
【０２１９】
さらなる実施形態によれば、入って来る音響信号/音声信号に基づいて混合コードブックベクトルを求めるように構成されたハードウェアベースの音響符号器を含んでいる音響信号/音声信号を符号化するためのシステムは、求められた混合コードブックベクトルに基づいて、符号化された音響信号/音声信号を生成し、求められた混合コードブックベクトルの符号化された励振インデックスを伝送する。混合コードブックベクトルは、パルス状のコードブックからの第1のコードブックエントリとノイズ状のコードブックからの第2のコードブックエントリの合計を含む。ハードウェアベースの音響符号器は、プロセッサおよび/または専用ハードウェアを含んでよい。
【０２２０】
一実施形態では、ハードウェアベースの音響符号器は、フィルタリングされた目標ベクトルとパルス状のコードブックのエントリの間の第1の相関を計算し、最大の第1の相関の第1のグループを求め、フィルタリングされた目標ベクトルとノイズ状のコードブックのエントリの間の相関を計算し、最大の第2の相関の第2のグループを求めて、第1のグループと第2のグループの結合の第1の基準関数を計算するようにさらに構成されている。第1の基準関数は、最大の第1の相関の第1のグループのうちの1つ、最大の第2の相関の第2のグループのうちの1つ、ならびにパルス状のコードブックおよびノイズ状のコードブックからの対応するエントリのエネルギーの関数を含む。さらに、フィルタリングされた目標ベクトルは、入って来る音響信号に基づくものである。いくつかの実施形態では、このシステムは、パルス状のコードブックおよびノイズ状のコードブックからの対応するエントリのエネルギーの値を記憶するように構成されたメモリをさらに含む。
【０２２１】
一実施形態では、ハードウェアベースの音響符号器は、最大の計算された第1の基準関数に基づいて混合コードブックベクトルを選択するようにさらに構成されてよい。この第1の基準関数は次式のように表されてよく、
【０２２２】
【数７０】
0006395612.tif 000071
【０２２３】
RCB1(i)は、フィルタリングされた目標ベクトルと第1のコードブックのi番目の第1のエントリの間の相関であり、RCB2(j)は、フィルタリングされた目標ベクトルと第2のコードブックのj番目のエントリの間の相関であり、ECB1(i)は第1のコードブックのi番目のエントリのエネルギーであって、ECB2(j)は第2のコードブックのj番目エントリのエネルギーであり、
【０２２４】
【数７１】
0006395612.tif 000072
【０２２５】
は第1のグループの第1のコードブックエントリの数であって、
【０２２６】
【数７２】
0006395612.tif 000073
【０２２７】
は第2のグループの第2のコードブックエントリの数である。
【０２２８】
さらなる実施形態によれば、音響信号/音声信号を符号化するための混合コードブックの高速検索方法は、入って来る音響信号/音声信号に基づいて混合コードブックベクトルを求めるステップを含み、混合コードブックベクトルは、第1のコードブックからの第1のコードブックエントリと第2のコードブックからの第2のコードブックエントリの合計を含む。この方法は、フィルタリングされた目標ベクトルと第1のコードブックのフィルタリングされたエントリの間の第1の相関を計算するステップと、最大の第1の相関の第1のグループを求めるステップと、フィルタリングされた目標ベクトルと第2のコードブックのフィルタリングされたエントリの間の相関を計算するステップと、最大の第2の相関の第2のグループを求めるステップと、第1のグループと第2のグループの結合の第1の基準関数を計算するステップとをさらに含む。第1の基準関数は、最大の第1の相関の第1のグループのうちの1つ、最大の第2の相関の第2のグループのうちの1つ、ならびに第1のコードブックおよび第2のコードブックからの対応するエントリのエネルギーの関数を含み、フィルタリングされた目標ベクトルは、入って来る音響信号に基づくものである。この方法は、最大の計算された第1の基準関数に基づいて候補の相関の第3のグループを求めるステップと、第3のグループへの第2の基準関数の適用に基づいて混合コードブックベクトルを選択するステップとをさらに含み、混合コードブックベクトルは、第2の基準関数の最大値と関連した、第1のコードブックおよび第2のコードブックからのコードブックエントリに対応する。それに加えて、この方法は、求められた混合コードブックベクトルに基づいて、符号化された音響信号を生成するステップと、求められた混合コードブックベクトルの符号化された励振インデックスを伝送するステップとをさらに含み、これらのステップは、ハードウェアベースの音響符号器を使用して遂行される。ハードウェアベースの音響符号器は、プロセッサおよび/または専用ハードウェアを含んでよい。
【０２２９】
一実施形態では、第1の基準関数は次式で表され、
【０２３０】
【数７３】
0006395612.tif 000074
【０２３１】
RCB1(i)は、フィルタリングされた目標ベクトルと第1のコードブックのi番目の第1のエントリの間の相関であり、RCB2(j)は、フィルタリングされた目標ベクトルと第2のコードブックのj番目のエントリの間の相関であり、ECB1(i)は第1のコードブックのi番目のエントリのエネルギーであって、ECB2(j)は第2のコードブックのj番目エントリのエネルギーであり、
【０２３２】
【数７４】
0006395612.tif 000075
【０２３３】
は第1のグループの第1のコードブックエントリの数であって、
【０２３４】
【数７５】
0006395612.tif 000076
【０２３５】
は第2のグループの第2のコードブックエントリの数である。第2の基準関数は次式で表され、
【０２３６】
【数７６】
0006395612.tif 000077
【０２３７】
zCB1(ik)は第1のコードブックのi番目のエントリのフィルタリングされたベクトルであり、zCB2(jk)は第2のコードブックのj番目のエントリのフィルタリングされたベクトルであって、Kは第3のグループのエントリの数である。いくつかの実施形態では、第1のコードブックはパルス状のコードブックでよく、第2のコードブックはノイズ状のコードブックでよい。
【０２３８】
混合パルスノイズ励振を用いる実施形態のシステムの利点には、パルスのみの励振またはノイズのみの励振を用いるものに対して、より優れたGENERIC音声信号の知覚品質を生成し得ることが含まれる。さらに、いくつかの実施形態では、パルスノイズ励振の高速検索手法によって低複雑度のシステムがもたらされ、それによって、パルスノイズ励振アルゴリズムがより好ましいものになる。
【０２３９】
本発明は、例示的実施形態を参照しながら説明されているが、この説明は、限定する意味に解釈されるようには意図されていない。本発明の例示的実施形態の様々な変更および組合せ、ならびに他の実施形態は、当業者には、説明を参照すれば明らかになるはずである。したがって、添付の特許請求の範囲は、いかなるそのような修正形態または実施形態も包含するように意図されている。
【符号の説明】
【０２４０】
6  音響アクセスデバイス
8  音響アクセスデバイス
10  通信システム
12  マイクロフォン
14  拡声器
16  マイクロフォンインターフェース
18  スピーカインターフェース
20  CODEC
22  符号器
24  復号器
26  ネットワークインターフェース
28  アナログの音響入力信号
30  音響信号
32  デジタル音響信号
34  デジタル音響信号
36  ネットワーク
38  通信リンク
40  通信リンク
101  元の音声
102  合成音声
103  短期予測
105  長期予測
106  利得
108  符号化励振
109  重み付き誤差
110  重み付けフィルタ
111  誤差
201  符号化励振
202  利得
203  長期予測
205  短期予測
206  合成音声
207  後処理
208  最終音声
301  元の音声
302  合成音声
303  短期予測
304  過去の励振
305  ピッチ利得
306  利得
307  適応コードブック
308  符号化励振
309  最小化
310  重み付き誤差
311  重み付けフィルタ
312  誤差
401  適応コードブック
402  符号化励振
404  ピッチ利得
405  利得
406  短期予測
407  合成音声
408  後処理
409  最終音声
501  CELP符号化のための符号化励振コードブックまたは固定コードブック
502  コードブックベクトル
503  利得
601  CELP符号化のための符号化励振コードブックまたは固定コードブック
602  コードブックベクトル
603  利得
701  CELP符号化のための符号化励振コードブックまたは固定コードブック
702  コードブックベクトル
703  利得
704  パルス状のコードブック
705  ノイズ状のコードブック
801  CELP符号化のための符号化励振コードブックまたは固定コードブック
802  コードブックベクトル
803  利得
804  パルス状のコードブック
805  ノイズ状のコードブック
806  低域通過フィルタ
807  高域通過フィルタ
901  CELP符号化のための符号化励振コードブックまたは固定コードブック
902  コードブックベクトル
903  利得
904  パルス状のコードブック
905  ノイズ状のコードブック
906  強調1
907  強調2
1001  CELP符号化のための符号化励振コードブックまたは固定コードブック
1002  コードブックベクトル
1003  利得
1004  パルス状のコードブック
1005  ノイズ状のコードブック
1006  強調1
1007  強調2
1008  強調3
1101  CELP符号化のための符号化励振コードブックまたは固定コードブック
1102  コードブックベクトル
1103  利得
1104  パルス状のコードブック
1105  ノイズ状のコードブック
1106  強調H1(z)
1107  強調H2(z)
1108  強調H3(z)
1201  CELP符号化のための符号化励振コードブックまたは固定コードブック
1202  コードブックベクトル
1203  利得
1204  コードブック1
1205  コードブック2
1206  強調H1(z)
1207  強調H2(z)
1208  強調H3(z)
1301  あらかじめ強調された入力音声
1302  重み付けフィルタ
1303  目標信号
1304  差信号
1305  ピッチ利得
1306  利得
1307  適応コードブック
1308  符号化励振
1309  最小化
1310  重み付き誤差
1401  あらかじめ強調された入力音声
1402  重み付けフィルタ
1403  目標信号
1404  差信号
1405  ピッチ利得
1406  利得
1407  適応コードブック
1408  混合励振
1409  最小化
1410  重み付き誤差
【図１】
0006395612.tif 000092
【図２】
0006395612.tif 000093
【図３】
0006395612.tif 000094
【図４】
0006395612.tif 000095
【図５】
0006395612.tif 000096
【図６】
0006395612.tif 000097
【図７】
0006395612.tif 000098
【図８】
0006395612.tif 000099
【図９】
0006395612.tif 000100
【図１０】
0006395612.tif 000101
【図１１】
0006395612.tif 000102
【図１２】
0006395612.tif 000103
【図１３】
0006395612.tif 000104
【図１４】
0006395612.tif 000105
【図１５ａ】
0006395612.tif 000106
【図１５ｂ】
0006395612.tif 000107
【図１６】
0006395612.tif 000108