(57)【特許請求の範囲】
【請求項１】
情報信号を符号化するコーダによって実行される方法において、
前記情報信号を前記コーダに入力する段階と、
前記情報信号を前記コーダ内で処理する段階であって、
ａ）前記情報信号をブロックに分割する段階、
ｂ）前記情報信号のブロックに基づいて、ターゲット信号を導出する段階；
ｃ）任意の閉形式の式Ｆ（λ）を利用して一組の許容パルス位置を決定する段階であって、前記式内の条件のうちの少なくとも１つは、λ内の要素の少なくとも２つに関連し、ここでλ＝（λ０，λ１，．．．，λｎ−１）は候補パルスの位置ベクトルであり、ｎはパルス数である、段階、および
ｄ）前記一組の許容パルス位置および誤差条件を使用して前記ターゲット信号を符号化し、符号化パルス位置を生成する段階、
によって処理する段階と、
前記符号化パルス位置を前記コーダから宛先に送信する段階と、
によって構成されることを特徴とする方法。
【請求項２】
前記情報信号は、スピーチ信号または音声信号をさらに含んで構成されることを特徴とする請求項１記載の方法。
【請求項３】
前記情報信号のブロックは、前記情報信号のフレームまたはサブフレームをさらに含んで構成されることを特徴とする請求項１記載の方法。
【請求項４】
前記誤差条件は、知覚加重二乗誤差条件をさらに含んで構成されることを特徴とする請求項１記載の方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般に、通信システムに関し、さらに詳しくは、かかる通信システムにおいて情報信号を符号化することに関する。
【０００２】
【従来の技術】
符号分割多元接続（ＣＤＭＡ）通信システムは周知である。一例としてのＣＤＭＡシステムに、いわゆるＩＳ−９５があり、これは米国電気通信工業会（ＴＩＡ）によって北米用として定義されている。ＩＳ−９５に関する詳細については、米国電子工業会（ＥＩＡ）2001 Eye Street, N.W., Washington, D.C. 206 によって１９９７年１月に出版された TIA/EIA/IS-95, Mobile Station-Base-station Compatibility Standard for Dual Mode Wideband Spread Spectrum Cellular Systemを参照されたい。ＩＳ−９５と整合性のある通信システム用の可変レート音声コーデック、特にＣＥＬＰ(Code Excited Linear Prediction)コーデックは、１９９６年９月に出版されたEnhanced Variable Rate Codec, Speech Service Option 3 for Wideband Spread Spectrum Digital SystemsというタイトルのＩＳ−１２７として知られる文書において定義されている。ＩＳ−１２７も、米国電子工業会（ＥＩＡ） 2001 Eye Street, N.W., Washington, D.C. 2006によって出版されている。
【０００３】
最新のＣＥＬＰコーデックでは、低ビット・レートにて高品位な音声再生を維持することに問題がある。この問題は、ＣＥＬＰシンセサイザに対する刺激(stimulus)として用いられる「励起(excitation)」シーケンスまたは「コードベクトル(codevector)」を適切にモデリングするために利用可能なビットが少なすぎることに起因する。従って、従来技術の欠点を克服する改善された方法および装置が必要とされる。
【０００４】
【好適な実施例の説明】
概略的にいうと、低ビット・レートにて高品位な音声復元(speech reconstruction)を実現するために、２つまたはそれ以上のパルス間の位置組合せ(position combination)に対する制約が実施される。位置組合せに対して制約を設けることにより、パルスの特定の組合せが禁止され、これが最上位のパルスを常に符号化することを可能にし、それにより音声品質が改善される。全ての有効な組合せが検討された後、一つの所定のビット長コードワードを利用してインデクスできるパルス対のリスト（コードブック; codebook）が生成される。コードワード(codeword)は宛先に送信され、ここで元の情報信号を復元するためにデコーダによって用いられる。
【０００５】
具体的にいうと、情報信号を符号化する方法は、情報信号をブロックに分割する段階と、前記情報信号のブロックに基づいてターゲット信号を導出する段階とによって構成される。本方法は、与えられたパルスの許容位置は一つまたはそれ以上の他のパルスの位置に依存するところの誤差条件(error criteria)に基づいて、パルス位置決め(pulse positioning)方法を用いて前記ターゲット信号を符号化して、符号化パルス位置を生成する段階と、前記符号化パルス位置を宛先に送信する段階とをさらに含む。
【０００６】
好適な実施例では、情報信号はスピーチ信号または音声信号をさらに含んで構成され、また前記情報信号のブロックは、前記情報信号のフレームまたはサブフレームをさらに含んで構成される。前記誤差条件は、知覚加重二乗誤差(perceptually weighted squared error)条件をさらに含んで構成され、また前記許容パルス位置は、任意の閉形式の式Ｆ（λ）を利用して求められ、ここでこの式内の条件のうちの少なくとも１つは、λ内の要素のうちの少なくとも２つに関連する。
【０００７】
図１は、当技術分野において知られるようなＣＥＬＰ(Code Excited Linear Prediction)デコーダを概略的に示す。最新のＣＥＬＰデコーダでは、低ビット・レートにて高品位な音声再生を維持することに問題がある。この問題は、ＣＥＬＰデコーダ１００に対する刺激として用いられる「励起」シーケンスまたは「コードベクトル」ｃkを適切にモデリングするために利用可能なビットが少なすぎることに起因する。
【０００８】
図１に示すように、励起シーケンスまたは「コードベクトル」ｃkは、適切なコードブック・インデクスｋを利用して固定コードブック１０２（ＦＣＢ：fixed codebook)）から生成される。この信号は、ＦＣＢ利得ファクタγを用いてスケーリングされ、そして適応型コードブック１０４（ＡＣＢ：adaptive codebook)）から出力されかつファクタβによってスケーリングされた信号Ｅ（ｎ）と合成され、これは音声信号（周期τ）の長期的（あるいは周期的）要素をモデリングするために用いられる。全励起を表す信号Ｅt（ｎ）は、ＬＰＣ合成フィルタ(LPC synthesis filter)１０６の入力として用いられ、これは一般に「フォルマント(formants)」という、粗短期的スペクトル形状(coarse short term spectral shape)をモデリングする。次に、合成フィルタ１０６の出力は、知覚ポストフィルタ(perceptual postfilter)１０８によって知覚ポストフィルタリングされ、ここで符号化歪(coding distortions)は、高音声エネルギを含む周波数にて信号スペクトルを増幅し、また低音声エネルギを含む周波数を減衰することによって、効果的に「マスク」される。さらに、全励起信号Ｅt（ｎ）は、合成音声の次のブロックのための適応型コードブックとして用いられる。
【０００９】
図２は、ＣＥＬＰエンコーダ２００を概略的に示す。ＣＥＬＰエンコーダ２００内では、ｚ変換によって一般項にて表すことができる知覚加重ターゲット信号(perceptually weighted target signal)ｘw（ｎ）を符号化することを目的とする：
【００１０】
【数１】
0004460165.tif 000002
【００１１】
ここで、Ｗ（ｚ）は知覚加重フィルタ２０８の伝達関数であり、以下の形式である：
【００１２】
【数２】
0004460165.tif 000003
【００１３】
また、Ｈ（ｚ）は知覚加重合成フィルタ２０６，２１０の伝達関数であり、以下の形式である：
【００１４】
【数３】
0004460165.tif 000004
【００１５】
ここで、Ａ（ｚ）は非量子化直接形式ＬＰＣ係数であり、Ａq（ｚ）は量子化直接形式ＬＰＣ係数であり、λ1，λ2は知覚加重係数である。さらに、ＨZS（ｚ）は、フィルタ２０６からのＨ（ｚ）の「ゼロ状態」応答であり、ここでＨ（ｚ）の初期状態は全ゼロであり、またＨZIR（ｚ）はフィルタ２１０からのＨ（ｚ）の「ゼロ入力応答」であり、ここでＨ（ｚ）の直前の状態は入力励起がなくても展開することが許される。ＨZIR（ｚ）の生成のために用いられる初期状態は、直前のサブフレームからの全励起Ｅt（ｎ）から導出される。
【００１６】
ｘw（ｎ）を生成するために必要なパラメータについて解を得るため、本発明による固定コードブック（ＦＣＢ）閉ループ解析について説明する。ここで、コードブック・インデクスｋは、知覚加重ターゲット信号ｘw（ｎ）と、知覚加重励起信号
【００１７】
【外１】
0004460165.tif 000005
【００１８】
との間の平均二乗誤差を最小限にするように選ばれる。これは、時間領域形式で次式のように表すことができる：
【００１９】
【数４】
0004460165.tif 000006
【００２０】
ここで、ｃk（ｎ）は、ＦＣＢコードブック・インデクスｋに対応するコードベクトルであり、γkは、コードベクトルｃk（ｎ）に関連する最適ＦＣＢ利得であり、ｈ（ｎ）は、知覚加重合成フィルタＨ（ｚ）のインパルス応答であり、Ｍはコードブック・サイズであり、Ｌはサブフレーム長であり、＊は畳み込みプロセスを表し、
【００２１】
【外２】
0004460165.tif 000007
【００２２】
である。好適な実施例では、音声は２０ミリ秒（ｍｓ）毎に符号化され、各フレームは長さＬの３つサブフレームを含む。
【００２３】
数式４は、次式のようにベクトル行列形式で表すこともできる：
【００２４】
【数５】
0004460165.tif 000008
【００２５】
ここで、ｃkおよびｘwは長さＬの列ベクトル(column vectors)であり、ＨはＬｘＬのゼロ状態畳み込み行列である：
【００２６】
【数６】
0004460165.tif 000009
【００２７】
また、Ｔは適切なベクトルまたは行列転置(transpose)を表す。数式５は次式に展開できる：
【００２８】
【数７】
0004460165.tif 000010
【００２９】
コードベクトルｃkの最適コードブック利得γkは、上式の導関数（γkに関する）をゼロに設定することによって導出できる：
【００３０】
【数８】
0004460165.tif 000011
【００３１】
また、γkについて解くことにより、次式が得られる：
【００３２】
【数９】
0004460165.tif 000012
【００３３】
この量を数式７に導入することによって、次式が得られる：
【００３４】
【数１０】
0004460165.tif 000013
【００３５】
数式１０の第１項はｋに対して一定なので、これは次式のように表すことができる：
【００３６】
【数１１】
0004460165.tif 000014
【００３７】
数式１１から、検索に関連する演算負担のほとんどは、ｋに依存しない数式１１の項をあらかじめ計算する、すなわち、ｄT＝ｘTwＨとし、Θ＝ＨTＨとすることによって、回避できる。これを行うと、数式１１は次式に整理される：
【００３８】
【数１２】
0004460165.tif 000015
【００３９】
これは、ＩＳ−１２７の式４．５．７．２−１と同等である。これらの項をあらかじめ計算するプロセスは、「バックワード・フィルタリング」として知られる。その結果、知覚加重ターゲット信号ｘw（ｎ）と知覚加重励起信号
【００４０】
【外３】
0004460165.tif 000016
【００４１】
との間の二乗誤差が最小となる、コードベクトルｃkに相当するインデクスｋは、数式１２の項を最大化することによって求めることができる。
【００４２】
ＩＳ−１２７のハーフ・レートの場合（４．０ｋｂｐｓ）、ＦＣＢはマルチパルス構成を利用し、ここで励起ベクトルｃkは極めてわずかな非ゼロの単位大きさ値(non-zero, unit magnitude values)しか含まない。この構成は、当技術分野ではＡＣＥＬＰ(Algebraic CELP)として知られる。ｃk内には極めてわずかな非ゼロ要素しかないので、数式１２に伴う演算複雑さは比較的低い。ＩＳ−１２７の３「パルス」の場合、３つのサブフレーム（長さＬ＝５３，５３，５４）のそれぞれについて、パルス位置および関連する符号に対して１０ビットのみが割当てられる。この構成では、関連「トラック」は、ｃk内の３パルスのそれぞれについて許容位置を定める（パルス当たり３ビットと、＋，−，＋または−，＋，−の複合符号について１ビット）。ＩＳ−１２７の表４．５．７．４−１に示すように、パルス１は位置０，７，１４，．．．，４９を占めることができ、パルス２は位置２，９，１６，．．．，５１を占めることができ、パルス３は位置４，１１，１８，．．．，５３を占めることができる。これは、「インタリーブド・パルス順列(interleaved pulse permutation)」として知られ、当技術分野で周知である。３つのパルスの位置は連携的に最適化され、そのため数式１２は８3＝５１２回実行される。次に、符号ビットは、利得項γkの符号に従って設定される。
【００４３】
【表１】
0004460165.tif 000017
【００４４】
表１は、ＩＳ−１２７レート１／２について定められるパルス位置を概略的に示す。上記のシナリオにおける一つの問題点は、励起コードベクトルｃkに「穴」が生じることがあり、この「穴」では特定の位置がベクトル空間によって表されないことである。すなわち、ターゲット・ベクトルに対する最適な一致は位置１２におけるパルスを必要とするが、表１におけるパルス位置の定義では、パルスをこの位置に置くことができない。この位置に対する制約により、パルスは最適位置に近い位置に置かれるか、さらに悪くは、ターゲット信号のエネルギはこの位置で完全に損なわれることがある。これにより合成音声信号に歪が生じることがあり、おそらく可聴アーチファクト(audible artifacts)が生じることがある。
【００４５】
同様な例において、設計条件は、４つのパルスで、４つの個別のトラックのそれぞれにおいて１つのパルスであり、サブフレーム・サイズがＬ＝［５３，５３，５４］で、ビット割当がサブフレーム当たり１６ビットであるとする。この場合、トラックは４パルスｘ１４位置＝５６全位置として構成され、これは、従来技術において用いられるようなパルス位置の例を示す表２のような従来技術に従って配置できる。ここで、１６ビットのビット割当は４つのトラック間で均等に分割され、各トラックは４ビットを受ける。トラック当たり４ビットは、位置についての３ビット（８つの異なる位置をなす）と、パルスの極性を表す１つの符号ビットとによってさらに構成される。
【００４６】
【表２】
0004460165.tif 000018
【００４７】
この例からわかるように、全てのパルス位置を適切に表すことができないので、依然としてベクトル空間には穴が存在する。一つの解決方法は、１４個全ての位置を有効にすることであり、例えば、パルスｐ0の位置は［０，４，８，．．．，５２］とし、ｐ1は［１，５，９，．．．，５３」などとする。この方法の問題点は、位置情報を符号化するのに４ビットを必要とし、そのためサブフレーム当たり１６ビットという条件を違反することである（４トラックｘ（４位置ビット＋１符合ビット）＝２０ビット）。
【００４８】
従来技術において既知であるパルス符号化の別の方法は、２パルスのインデクスを一つのコードワードに多重化(multiplexing)する。例えば、ＩＳ−１２７レート１の場合（８．５ｋｂｐｓ）、５つのトラックに拡散された１１個の可能なパルス位置が存在する。各パルス位置について４ビットを利用せずに、７ビットのみを用いて、２パルスの位置をいっしょに符号化できる。これは、２パルスについての位置の総数が１１ｘ１１＝１２１であり、これは７ビットで符号化できる位置の総数（２7＝１２８）よりも少ないことを考慮して達成される。符号化の詳細は次式のように表すことができる：
【００４９】
【数１３】
0004460165.tif 000019
【００５０】
ここで、ｐiおよびｐjはｉ番目およびｊ番目のパルスの位置であり、
【外４】
0004460165.tif 000020
は最大整数≦ｘを表す。
【００５１】
このとき、パルス位置は次式によってデコーダにて抽出できる：
【００５２】
【数１４】
0004460165.tif 000021
【００５３】
ここで、λiおよびλjは、適切なトラック内の切捨て位置(decimated positions)であり、これらは表２を利用して復号でき、ここでλの値は表中の列に相当する。表２における１４個の位置についてこの方法を利用することの欠点は、１４ｘ１４＝１９６位置多重化は依然として８ビット（２8＝２５６個の可能な位置）を必要とし、そのため単純にパルス当たり４ビットを利用することに比べて節約がないことである。明らかに、上記のどの従来方法でも、パルス位置の効率的な低レート符号化を可能にするベクトル空間によって全ての位置は適切に表されない。
【００５４】
前述のように、効率的な１６ビット，４パルス，５６位置のコードブック（全ての位置を表すことが可能）の設計は、従来技術では容易に達成できない。しかし、本発明によれば、前記の例において提示された設計制約を維持しつつ、全てのパルス位置を符号化することを可能にする方法が提供される。さらに、本発明は、多様な設計制約に対して効率的な解決を可能にする柔軟性を提供する。
【００５５】
本発明は、２つまたはそれ以上のパルス間の位置組合せ(position combinations)に制約を設けることによって、上記の問題を解決する。例えば、与えられたパルスの許容位置は、一つまたはそれ以上の他のパルスの関連位置に連携的に依存する。これは、図３における１４位置トラックの例について見ることができ、ここで本発明によるジョイント・インタリーブド・パルス順列行列(joint interleaved pulse permutation matrix)を示す。この実施例では、図３に示す行列はパルス０，１で、サブフレーム長はＬ＝５４である。この図では、パルス０の各位置は横軸に示され、パルス１の位置は縦軸に示される。「禁止(forbidden)」パルス組合せは斜線部によって表され、許容組合せは非斜線部である。これからわかるように、非斜線部の数は、与えられたビット数によって表すことのできる組合せの数に厳密に等しく、この場合、２7＝１２８であり、また斜線部の数はパルス０の切捨て位置の総数と、パルス１の切捨て位置の総数を乗じて、それから与えられたビット数によって表すことのできる組合せの数を引いた値、すなわち、（１４ｘ１４）−１２８＝６８、に厳密に等しい。
【００５６】
さまざまなパルス位置コードベクトルを（数式１２を介して）検索する際に、パルスｐ1がλ1＝０（位置（０ｘ４）＋１＝１）に置かれると、パルスｐ0の許容位置は［４，８，１６，２０，２８，３２，４０，４８，５２］となる。同様に、パルスｐ1が位置５（λ1＝１）に置かれると、パルスｐ0の許容位置は［０，８，１２，２０，２４，３２，３６，４４，５２］となり、以下同様となる。全て有効な組合せを考慮した後、一つの７ビット・コードワードを利用してインデクスできるパルス対の１２８ｘ２リスト（コードブック）が本発明に従って生成される。このコードワードは、復号および復元のために宛先に送信するのに適している。さらに、このコードブックはランタイムで代数的に生成でき、揮発性メモリ（ＲＡＭ）に格納でき、あるいは不揮発性メモリ（ＲＯＭ）に格納できる。
【００５７】
図４は、本発明によりコードブックを生成する方法を説明するフローチャートを概略的に示す。まず最初に、フローチャートは基本的なネスト状のループ構造を示し、ここで０≦ｉ＜Ｍおよび０≦ｊ＜Ｎの全ての順列が生成される。この例では、ＮおよびＭは各パルスについての許容位置の総数である。最も内側のループの判定は、ステップ４０２において、関数Ｆ（ｉ，ｊ）により禁止組合せ［ｉ，ｊ］を単純にチェックし、この関数Ｆ（ｉ，ｊ）は図３の例では次式のように表される：
【００５８】
【数１５】
0004460165.tif 000022
【００５９】
この関数は、ｉとｊの差の絶対値が与えられたセットの要素である場合には、値１を返し、それ以外の場合には、０を返す。これは、ステップ４０３に示される。与えられたセットの要素は、図３の対角線の斜線部要素間の距離に相当し、従ってその式は全ての必要な斜線部を記述するのに十分である。許容パルス組合せについて、各位置は次式を用いて計算される：
【００６０】
【数１６】
0004460165.tif 000023
【００６１】
ここでλは切捨てトラック位置であり、Ｎtracksはトラックの数であり、ｎはトラック番号である。ステップ４０３においてコードブック・エントリが生成されると、コードブック・インデクスｋはステップ４０４においてインクリメントされ、プロセスは、コードブック全体がステップ４００〜４０１および４０５〜４０８を介して満たされるまで継続する。与えられた例のパルスｐ2およびｐ3についても、パルス位置情報を生成するために同様な方法が用いられる。
【００６２】
上記の例は禁止領域が厳密に左上から右下への対角線を示しているが、１２８個の斜線部を用いる任意のパターンが可能であり、本発明の範囲内であると想定される。好適な実施例の別の態様は次のように説明される：全部で４ｘ１４＝５６個の可能なパルス位置が存在する。ただし、サブフレームの長さは５４サンプル未満である。従って、５３（あるいはサブフレーム１および２については５２）よりも多い場所に位置を割当てることによって、符号化効率が低減し、そのため品質が劣化する。図５は、本発明によるパルスｐ2およびｐ3のジョイント・インタリーブド・パルス順列行列を概略的に示す。図５に示すように、位置５４，５５は斜線部によって省略されており、これにより非斜線部の総数は１２８のままなので、より多くの組合せを有効なベクトル空間内で表すことができる。これは、図３と図５における対角線間の相対的な間隔を比較することで把握でき、図３では禁止対角線間には２つのスペースがあり、一方図５では、３つのスペースがある。図５の禁止組合せについての閉形式の式は次にように表すことができる：
【００６３】
【数１７】
0004460165.tif 000024
【００６４】
これから理解されるように、図５の例は本質的に制約が少なく、従ってより高い符号化精度が得られる。
【００６５】
当業者であれば理解されるように、右上から左下への対角線や、本発明に従って説明した方法を利用して特定の用途にふさわしい多数の他のパターンを形成することが可能である。さらに、任意の閉形式の式Ｆ（λ）が許容されるように、パルス数の次元を２以上に拡張することが可能であり、ここでλ＝［λ0，λ1，．．．，λn-1］は候補パルス位置のベクトルであり、ｎはパルスの数である。
【００６６】
本発明について特定の実施例を参照して具体的に図説してきたが、当業者であれば、形式および詳細のさまざまな変更は本発明の精神および範囲から逸脱せずに可能なことが理解されよう。特許請求項におけるすべての手段または段階の対応する構造，材料，行為および同等、ならびに機能要素は、具体的に請求される他の請求要素と組合せて機能を実行するための任意の構造，材料または行為を含むものとする。
【図面の簡単な説明】
【図１】  従来技術において知られるようなＣＥＬＰデコーダを概略的に示す。
【図２】  従来技術において知られるようなＣＥＬＰエンコーダを概略的に示す。
【図３】  本発明によるジョイント・インタリーブド・パルス順列行列を概略的に示す。
【図４】  本発明によりコードブックを生成する方法を説明するフローチャートを概略的に示す。
【図５】  本発明による、パルス３およびパルス４のジョイント・インタリーブド・パルス順列行列を概略的に示す。
【図１】
0004460165.tif 000025
【図２】
0004460165.tif 000026
【図３】
0004460165.tif 000027
【図４】
0004460165.tif 000028
【図５】
0004460165.tif 000029