情報コード化のための階乗パッキング方法及び装置
【課題】複数のパルス位置トラックの効率的なコード化を可能にする改善された方法及び装置を提供する。
【解決手段】音声コーダは、いずれの所与のパルス組み合わせが以下の4つの特性、即ち縮退パルスの数、パルスの符号、パルスの位置及びパルスの大きさにより一義的に記述されることができることを利用する。各段階がこれらの4つの特性のうちの1つによりパルス組み合わせをグループ化する、パルス組み合わせの4段階の繰り返しの分類化が実行される。プロセスはパルスの数で開始し、次いであり得る符号組み合わせ、パルス位置組み合わせ及びパルス大きさ組み合わせの合計数を決定する。
【解決手段】音声コーダは、いずれの所与のパルス組み合わせが以下の4つの特性、即ち縮退パルスの数、パルスの符号、パルスの位置及びパルスの大きさにより一義的に記述されることができることを利用する。各段階がこれらの4つの特性のうちの1つによりパルス組み合わせをグループ化する、パルス組み合わせの4段階の繰り返しの分類化が実行される。プロセスはパルスの数で開始し、次いであり得る符号組み合わせ、パルス位置組み合わせ及びパルス大きさ組み合わせの合計数を決定する。
【発明の詳細な説明】
【技術分野】
【0001】
[発明の分野]
本発明は、一般的に通信システムに関し、詳細にはそのような通信システムにおいて情報信号をコード化することに関する。
【背景技術】
【0002】
[発明の背景]
符号分割多元接続(CDMA)通信システムは周知である。一例のCDMA通信システムは、米国電気通信工業会(TIA)により北米で使用のため規定されたいわゆるIS−95である。IS−95に関してのより多くの情報については、TIA/EIA/IS−95「デュアル・モード広帯域スペクトル拡散セルラ・システムのための移動局・基地局互換性標準(Mobile Station−Base−station Compatibility Standard
for Dual Mode Wideband Spread Spectrum Cellular System)」(米国電子工業会(EIA)(Eye Street, N.W.ワシントンDC、20006)により1997年1月発行)を参照されたい。IS−95と互換性のある通信システムに使用の可変速度音声コーデック及び特にコード励起化された線形予測(CELP)コーデックは、書名が「広帯域スペクトル拡散ディジタル・システムのための増強された可変速度コーデック、音声サービス・オプション3(Enhanced Variable Rate Codec,Speech Service Option 3 for Wideband Spread Spectrum Digital Systems)」(1996年9月)でありまたIS−127として知られている文書に規定されている。IS−127も米国電子工業会(EIA)(Eye Street,N.W.ワシントンDC、20006)により発行されている。
【0003】
IS−127の速度1ケース(8.5kpbs)においては、固定のコードブック(FCB)は、マルチパルス構成(これは代数的コード励起化された線形予測又はACELPとして知られている。)を用い、その構成においては、励起ベクトル(excitation vector)ベクトルck(なお、本明細書では「ベクトルx」は太字のxの記号を意味し、xがベクトル変数であることを表す。)は、8個の非ゼロの単位大きさ値又は「パルス」のみを含む。その8個のパルスに対して、パルス位置のため割り当てられた35個のビット、及び(長さL=[53,53,54]の)3つのサブフレームの各々のための関連の符号がある。関連の「トラック」は、IS−127に規定されているように、ベクトルck内の8個のパルスの各々に対する許容位置を規定する。この構成において、複数のトラックのうちの3つは2個のパルスを含み、そして2つのトラックは1個のパルスのみを含む。表1(IS−127の表4.5.7−1からのもの)に示されるように、トラック0上のパルス(単数又は複数)は位置0,5,10,…50を占めることができ、トラック2上のパルス(単数又は複数)は位置1,6,11,…51を占めることができ、以下同様である。これは、「インターリーブド・パルス順列(インターリーブされたパルス順列)」として知られている。次いで、8個のパルスの位置は、以下に記載の式(12)が妥当な繰り返し回数で最大にされる要領で選定される。
【0004】
【表1】
より高いビット・レートのためIS−127コードブック設計を改良しようとする際、設計要件は、4個の別個のトラックの各々について3個のパルスを備え且つL=[53,53,54]のサブフレーム・サイズ及び1サブフレーム当たり48ビットのビット割り当てを備える12個の合計パルスを有するべきであるかも知れない。所与のトラック上に複数のパルスを有する利点は、(少なくとも)2つある。第1に、複数パルス・トラックは、それらのより少しのものがあるのでより長くなる傾向がある。これは、パルス位置決めにおいてより高い柔軟性を普及させ、即ち、より短いトラック長は、柔軟性を制限し、そして潜在的にパルスを次善の位置となるよう強制する場合があり、その結果実行の低下をもたらす。第2に、複数のパルスは、より少ないパルスに「縮退(degenerate)」する場合があり、即ちパルスが同じ位置を占め、そして付加的(additive)になる場合がある。これは、励起シークエンス(excitation sequence)の形状を再び減少させ(refine)、従って制限された振幅情報を与えることにより、位置決め情報の副生成物として、目標信号に対してより近い整合となりがちである。この点で、従来のマルチパルス(振幅及び位置)の便益の一部が保全される。更なる情報については、I.M.Transcoso及びB.S.Atalの題名が「確率的コーダにおける最適刷新を見いだす効率的手順(Efficient Procedures for Finding the Optimum Innovation in Stochastic Coders)」である文献(Proc. Int. Conf. Acoustic.Speech,Siganl Processing(1987年)、1957−1960頁)を参照されたい。
【発明の概要】
【発明が解決しようとする課題】
【0005】
所与のシナリオにおいて、トラックは、4トラック×14位置=56合計位置として構成されるであろうし、それらが表2に従って位置決めされることができるであろう。ここで、48ビットのビット割り当ては、4個のトラック間に等しく分割されるであろうし、それにより各トラックは12ビットを受け入れるであろう。12ビット/トラックは更に、各位置に対して3ビットと、各パルスの極性を示すための1つの符号ビットとから成るであろう。問題は、8個の位置のみが3ビット(23=8)により表されることができるということである。1パルス当たり4+1=5ビットを用いて位置をコード化することは、1サブフレーム当たり60ビットを必要とするであろうし、そのため要件がそのような直接的要領で適合されることができないことが明らかである。
【0006】
【表2】
従来技術において既知であるパルス・コード化方法は、2つのパルスを単一のコードワード(codeword)に多重化することを扱う。例えば、IS−127速度1ケース(8.5kbps)においては、5トラックにわたり拡散された11個のあり得るパルス位置がある。各パルス位置に対して4ビットを用いるのとは異なり、2つのパルスの位置は、7ビットのみを用いて一緒にコード化されることができる。これは、2つのパルスに対する位置の合計数が11×11=121であることを考慮することにより達成される。なお、121個の位置の合計数は、7ビットを用いてコード化されることができる位置の合計数(27=128)より少ない。従って、コード化の詳細は、
【0007】
【数1】
のように表すことができる。ここで、pi及びpjはi番目及びj番目のパルスのそれぞれ位置であり、Nposは1トラック当たりのパルス位置の数であり、Ntrackはトラックの数であり、そして
【0008】
【数2】
はx以下の最大整数を表す。次いで、パルス位置は、デコーダで
【0009】
【数3】
により抽出されることができる。ここで、λi及びλjは、適切なトラック内のデシメートされた(decimated)位置であり、それは、表2における列に対応する(即ち、pi=Ntλi+nであり、ここでNtはトラック数であり、nはトラック番号である)。表2における14位置、3パルス・トラックのケースに対してこの方法を用いる場合の問題は、14×14×14=2,744位置多重が依然12ビット(212=4096のあり得る位置)を必要とするであろうし、そのため各パルス位置に対して4ビットを単純に用いることより節約にならないことである。
【0010】
しかしながら、複数のパルス・トラックの場合には、従来技術で利用されてきた組み込みの冗長性がある。再びIS−127においては、2つのパルス・トラック位置は区別がつかず、即ち第1のパルスは、結果に変化なく第2のパルスと交換可能である。従って、効率的な符号コード化は位置情報の中に埋め込まれてしまう。2つのパルスの符号が同じである場合、パッキング順序は、パルスが位置において上昇している(即ち、第1のパルスの位置は、第2のパルスの位置以下であり、又はpi≦pjである。)ようになされる。さもなければ、位置は、下降している(第1のパルスの位置は第2のパルスの位置より大きく、又はpi>pjである。)。これは、11位置二重パルス・トラックに対する合計8ビットのため7ビットに1符号ビット(2の代わり)のみを用いてトラックをコード化するのを可能にする。
【0011】
しかしながら、三重パルス・トラックにおいては、この問題の複雑さが階乗の割合で大きくなる。前述のように区別のつかないパルスの2!=2の置換(permutations)を有するのとは異なり、表3に示されるように、3!=6の置換がある。更に、パルス縮退の4個の組み合わせがあり、その4個の組み合わせにおいては2つ以上のパルスが、また表3に示されるように同じ位置を占める。
【0012】
【表3】
このケースにおける従来技術での1つの問題は、区別のつかないパルスの組み合わせの数(3!=6)が位置情報を用いて符号情報を埋め込むため要求される符号変化の組み合わせの数(2(3-1)=4)を越えていることである。このことは、位置情報の3分の2(4/6)のみが符号変化の情報を埋め込むため要求され従ってコード化された合計表示の3分の1が冗長であるので、コード化の非効率をもたらす。この問題が更に表4に例示され、表4は、1トラック当たりのパルス数が増大するにつれ従来技術におけるコード化の非効率が大きくなる様子を示す。ここで、1トラック当たりのパルス数mが増大するにつれ、対応するパルス符号の組み合わせは2mで増大する。表3の中の情報を拡張すると、符号情報を埋め込むため用いることができる位置の組み合わせの数は、(従来技術に従って)暗黙にm!で増大する。この数が必要とされるパルス符号の組み合わせの数より小さい場合、(表4の列3に示される)明示的符号ビットは、全ての情報をコード化するため必要とされる。さもなければ、明示的符号ビットは必要とされない。
【0013】
しかし、1トラック当たりのパルス数が増大するにつれ、使用可能なコード化空間(m!)はコード化されるに必要とされる情報量(2m)をはるかに越え、従って、コード化効率(E=2(m-s)/m!と定義される。)は、非現実的に低くなる。効率は、実効ビット損失(−log2(E))の観点からも考えることができ、その実効ビット損失(−log2(E))は極めて高く観測することができる。
【0014】
【表4】
更に、縮退パルスの組み合わせは更に、コード化されるべきパルス数が増大するにつれ、コード化効率を低下させる。これは、所与の位置での全てのパルスは同じ符号を有するであろう(反対符号を有する同じ位置でのパルスが相殺するからである。)固有の特性のためである。従って、縮退されたパルスに対してパルス符号情報を独立にコード化する必要性がない。
【0015】
12ビットのみを用いて14個の位置上に3つのパルスをコード化する元の問題に戻り、そして表4の中の情報を用いると、我々は、1個の専用符号ビットを有する従来技術の位置コード化を適用して、1+(3×4)=13ビットのコードワード長を生成することができる。しかしながら、これは、12ビット(又は1サブフレーム当たり48ビット)の要件に適合しない。更に、ますます多くのパルスが単一のトラック内にコード化されることになるので、従来技術はますます非効率になる。従って、従来技術の欠点を克服し且つ複数のパルス位置トラックの効率的なコード化を可能にする改善された方法及び装置に対する必要性が存在する。
【課題を解決するための手段】
【0016】
[好適な実施形態の詳細な説明]
一般的に述べると、改善された音声コーダは、いずれの所与のパルス組み合わせが次の4つの特性、即ち縮退パルスの数、パルスの符号、パルスの位置及びパルスの大きさにより一義的に記述されることができることを利用する。本発明に従って、各段階がこれら4つの特性の1つによりパルス組み合わせをグループ化する、パルス組み合わせの4段階繰り返し分類化が実行される。そのプロセスは、パルスの数で開始し、次いで、あり得る符号の組み合わせ、パルス位置の組み合わせ及びパルスの大きさの組み合わせの合計数を決定する。この柔軟性が、符号の組み合わせを最後の段階でグループ化するのを可能にする。符号の組み合わせの数が常に2の累乗であるので、前の3つの段階において要素を適切に順序付けることと一緒に符号の組み合わせを最後のために残すことにより、符号を独立ビットによりコード化するのを可能にし、その結果としてそれらのビットの誤り防止を可能にする。
【0017】
詳細には、通信システムにおいて情報信号をコード化する方法は、情報信号をブロックに分割するステップと、目標信号を情報信号のブロックに基づいて導出するステップとを備える。この方法は更に、目標信号を表す量子化された信号を発生するステップと、該量子化された信号内のパルス、パルスの位置、パルスの大きさ及び/又はパルスの符号のそれぞれの数に関連するオフセット又はインデックスの和から成るコードワードを発生するステップであって、オフセット又はインデックスの少なくとも1つが関係式
【0018】
【数4】
に基づいている、上記コードワードを発生するステップと、上記コードワードを宛先に送信するステップとを含む。
【0019】
好適な実施形態においては、情報信号は、音声、オーディオ、画像又はビデオ信号であり、そして情報信号のブロックは更に、情報信号のフレーム及びサブフレームを備える。また、量子化された信号は更にコードベクトル(codevector)ベクトルckを備える。位置情報に関連したオフセット又はインデックスは、関係式
【0020】
【数5】
に基づいている。ここで、dは非ゼロの要素の数であり、nは位置の数であり、一方パルスの大きさの情報に関連したオフセット又はインデックスは、関係式
【0021】
【数6】
に基づいている。ここで、dは非ゼロの要素の数であり、mは単位大きさのパルスの合計数である。
【0022】
別の仕方で述べると、通信システムにおいてコードワードを発生する方法は、コードワードの合計数を特定の数のパルスを表すグループに分割するステップと、そのグループに関連した第1のオフセットを決定するステップと、特定の数のパルスを表す上記グループを特定のパルス位置を表すサブグループに分割するステップと、そのサブグループに関連した第2のオフセットを決定するステップとを備える。その方法は更に、特定のパルス位置を表すサブグループを特定のパルス大きさを表す更なるサブグループに細分割し且つその更なるサブグループに関連した第3のオフセットを決定するステップと、特定のパルス符号組み合わせを表すインデックスを決定し且つ第1、第2及び第3のオフセット及びインデックスを加算してコードワードを発生するステップとを含む。
【0023】
第1のオフセットは、式
【0024】
【数7】
により与えられる。ここで、nはデシメートされたトラック長であり、dはパルスの数であり、mはd個のパルスを発生するため用いられる単位大きさのパルスの数であり、一方第2のオフセットは、式
【0025】
【数8】
により与えられる。ここで、Iposは位置情報のインデックスであり、λ≡[λ0
λ1 … λd-1]であり、λiはパルス大きさのトラック・ベクトル ベクトルtにおけるデシメートされたパルス位置を表し、D(m,d)・2dはサブグループの中の要素の数である。
【0026】
第3のオフセットは、式
【0027】
【数9】
により与えられ、一方インデックスは、式
【0028】
【数10】
により与えられる。
【図面の簡単な説明】
【0029】
【図1】図1は一般的に、従来技術において知られているCELPデコーダを示す。
【図2】図2は一般的に、従来技術において知られているコード励起化された線形予測(CELP)エンコーダを示す。
【図3】図3は一般的に、本発明に従ったコード化プロセスの使用から生じるd∈{1,2,3,4}を有する4つの単位大きさパルスに対する縮退の組み合わせを示す。
【図4】図4は一般的に、本発明に従ったコード化プロセスの高レベルの記述を示す。
【図5】図5は一般的に、本発明に従った階乗パッキング・プロセスの図4のステップ400後におけるコードワード空間のm個のグループへの分割(段階1)を示す。
【図6】図6は一般的に、一例としてn=5位置トラックにおいてm=5単位大きさパルスを用いる段階3の繰り返しを示す。
【図7】図7は、コードワード空間が本発明による4つの分類化段階に従ってグループ化される仕方を示す。
【図8】図8は、本発明に従ってパルス位置を得るプロセスを説明するフローチャートを示す。
【図9】図9は、本発明に従った図8のフローチャートに基づいてパルス位置ベクトルを得るためのプロセスを説明するフローチャートを示す。
【図10】図10は一般的に、本発明に従ってパルスの大きさを決定するためのプロセスを説明するフローチャートを示す。
【図11】図11は一般的に、本発明に従って階乗パッキングを実行するコード励起化された線形予測(CELP)を示す。
【発明を実施するための形態】
【0030】
対応する装置は、とりわけ、本発明に従った前述のステップを実行する。
図1は一般的に、当該技術において既知であるようにコード励起化された線形予測(CELP)デコーダを示す。図1に示されるように、励起シークエンス又は「コードベクトル」ベクトルckは、適切なコードブック・インデックスkを用いて固定のコードブック(FCB)102から発生される。この信号は、FCB利得係数γを用いてスケーリング(拡大/縮小)され、そして適応コードブック104(ACB)から出力され且つ係数βによりスケーリングされた信号E(n)と組み合わされ、その組み合わされたものを用いて、音声信号の長期間(又は長周期)要素(周期τを有する)をモデル化する。合計励起を表す信号Et(n)が、LPC合成フィルタ106への入力として用いられ、該LPC合成フィルタ106は、一般に「ホルマント」と呼ばれる、粗い短期間スペクトル形状をモデル化する。次いで、LPC合成フィルタ106の出力は、知覚的後置フィルタ108により知覚的に事後フィルタリングされ、その知覚的後置フィルタ108においてコード化歪みは、高い音声エネルギを含む周波数での信号スペクトルを増幅し且つ音声エネルギを少ししか含まないそれらの周波数を減衰させることにより実効的に「マスク」される。更に、合計励起信号Et(n)は、合成された音声の次のブロックに対して適応コードブックとして用いられる。
【0031】
図2は、全体的にCELPエンコーダ200を示す。CELPエンコーダ200内においては、目標は、知覚的に重み付けされた目標信号xw(n)をコード化することであり、その知覚的に重み付けされた目標信号xw(n)は、z変換により一般項で表されることができる。
【0032】
【数11】
ここで、W(z)は、知覚的に重み付けするフィルタ208の伝達関数であり、そして
【0033】
【数12】
の形式であり、そして、H(z)は、知覚的に重み付けされた合成フィルタ206及び210の伝達関数であり、そして
【0034】
【数13】
の形式であり、そしてA(z)は非量子化された直接形式LPC係数であり、Aq(z)は量子化された直接形式LPC係数であり、λ1及びλ2は知覚的重み付け係数である。更に、HZS(z)は、知覚的に重み付けされた合成フィルタ206からの「ゼロ状態」応答であり、その知覚的に重み付けされた合成フィルタ206においてH(z)の初期状態は全てゼロであり、HZIR(z)は知覚的に重み付けされた合成フィルタ210からのH(z)の「ゼロ入力応答」であり、その知覚的に重み付けされた合成フィルタ210においてH(z)の前の状態が入力励起の無い状態で生じるのを可能にされる。HZIR(z)の発生のため用いられる初期状態は、前のサブフレームからの合計励起Et(n)から導出される。
【0035】
xw(n)を発生するに必要なパラメータに対して解くため、本発明に従った固定のコードブック(FCB)閉ループ解析を説明する。ここで、コードブック・インデックスkは、知覚的に重み付けされた目標信号xw(n)と推定された目標信号x^w(n)(なお、本明細書では、「x^」の表記はxの上に^の記号が付された記号を意味する。)との間の平均自乗誤差を最小にするよう選定される。これは、時間領域形式で次式のように表すことができる。
【0036】
【数14】
ここで、ck(n)はFCBコードブック・インデックスkに対応するコードベクトルであり、γkはコードベクトルck(n)と関連した最適FCB利得であり、h(n)は知覚的に重み付けされた合成フィルタH(z)のインパルス応答であり、Mはコードブック・サイズであり、Lはサブフレーム長であり、*は畳み込み処理を意味し、そして
【0037】
【数15】
は推定された目標信号である。好適な実施形態においては、音声は20ミリ秒(ms)毎にコード化され、そして各フレームは長さLの3つのサブフレームを含む。
【0038】
式(4)はまた、ベクトル−行列形式で次式のように表すことができる。
【0039】
【数16】
ここで、ベクトルck及びベクトルxwは長さL列のベクトルであり、ベクトルHはL×Lのゼロ状態畳み込み行列、即ち
【0040】
【数17】
であり、そして、Tは適切なベクトル又は行列転置を意味する。式(5)は、
【0041】
【数18】
に展開することができ、そしてコードベクトル ベクトルckに対する最適コードブック利得γkは、上記の式の(γkに関する)導関数をゼロに設定すること、即ち
【0042】
【数19】
により導出することができ、そしてγkに対して解くと
【0043】
【数20】
が得られる。
この値を式(7)に代入すると、
【0044】
【数21】
が得られる。式(10)の第1項がkに関して一定であるので、平均自乗誤差は、
【0045】
【数22】
を見つけることにより最小にすることができる。式(11)から、探索に係わる計算負荷の多くはkに依存しない式(11)における複数の項を予め計算することにより、即ち
【0046】
【数23】
及び
【0047】
【数24】
とすることにより避けることができることに注目することは重要である。これを行うとき、式(11)は
【0048】
【数25】
に変形され、式(12)はIS−127の式4.5.7.2−1に等しい。これらの項を予め計算するプロセスは、「バックワード・フィルタイリング(backward filtering)」として知られている。
【0049】
このプロセスを要約すると、目標信号xw(n)と推定された目標信号x^w(n)との間の平均自乗誤差を最小にするコードベクトル ベクトルck(それはコードブック・インデックスkにより表すことができる。)は、(12)で与えられる式を最小にするkの値を選定することにより見つけることができる。
【0050】
本発明は、前述の問題を3つの方法の組み合わせにより解決する。第1に、区別のつかない位置の組み合わせはコード化されない。別個の非縮退のある数の位置組み合わせのみが基本コード化構成において可能にされる。第2に、非縮退の組み合わせを「重ねられた」個々のパルスとして処置するのとは異なり、これらのケースは、別個の非縮退のケースとして処置され、そのケースにおいては潜在的に等しくない大きさのより少ないパルスがある。第3に、最初の2つの方法が与えられたすると、符号情報は、縮退パルスの数にのみ依存し、それにより一層効率的にコード化されることができる。これらの方法は、以下に詳述され、そして最終的に組み合わされ、最高に効率的で拡大縮小可能なコード化構造を形成する。
【0051】
最初に、次式の階乗関係式により別個の非縮退パルスの組み合わせの数を定義しよう。
【0052】
【数26】
ここで、nはあり得る位置の数であり、dは非ゼロの位置であり、且つd≦nである。ここで、我々は、n=3の位置上でd=2パルスの単純なケースに対して、次のように、即ち[λi,λj]∈{(0,1),(0,2),(1,2)}のように記述される3!/2!=3の別個の非縮退の位置の組み合わせのみが存在することを知ることができる。
【0053】
次に、我々は、縮退の組み合わせの数を式
【0054】
【数27】
のように定義することができる。ここで、mは単位大きさのパルスの合計数であり、dは非ゼロの位置の数であり、その数はm個のあり得る重ね合わせから生じる占有されたトラック位置の数と定義される。例えば、2つの縮退パルス(d=2)を形成する4重のパルスのケースにおいては、縮退の組み合わせの数はD(4,2)=3である。これは、縮退したパルスの別個の組み合わせの数を表す。図3は、d∈{1,2,3,4}を有する4つの単位大きさパルスに対する全ての縮退の組み合わせを示す。
【0055】
更に、縮退したパルスの組み合わせの各組は、縮退したパルスの極性を示すため、対応する符号を必要とする。これは、縮退したパルスの数の関数、即ち2dとして表すことができる。そこで、所与の構成に対して、組み合わせの必要とされる合計の最小数N及びビットの理論的最小数Mは、次式により定式化されることができる。
【0056】
【数28】
数個の例を考えれば、式(15)の有用性を容易に知ることができる。8のトラック長(n=8)上に2つのパルス(m=2)の直接的例においては、N=(4)(1)(28)+(2)(1)(8)=128の合計組み合わせ、又はM=7ビットがある。11のトラック長(n=11)上に2つのパルス(m=2)のIS−127のケースに対しては、N=(4)(1)(55)+(2)(1)(11)=242の合計組み合わせ、又はM=8ビットがある。そのように、本発明は、後述するように、パッキング順序において更なる柔軟性を与え、従ってより敏感なビット(符号ビット)を一緒にグループ化するのを可能にする。n=14のトラック長を用いる3重パルス(m=3)の例においては、ビット数の公式化は、1トラック当たり12ビットの要件が本発明に従って適合されることができることを示す。即ち、
【0057】
【数29】
表4に与えられる例を考えると、我々は、ここで本発明を従来技術とより直接的要領で直接比較することができる。n=14のトラック長に対して、表5は、従来技術及び本発明の両方に対して必要とされるコードワードのサイズを1トラック当たりのパルス数(m)の関数として示す。
【0058】
【表5】
関心の追加のケースは、本発明に従った階乗パッキング方法及び装置から生じる。長さ54の単一のトラック及び7つの単位大きさのパルスを考慮すると、式(15)は、35ビットであるべき、パルス位置、大きさ及び符号をコード化するに必要とされる最小ビット数を示す。これは、IS−127におけるFCB形状に対するサブフレーム長及びビット割り当てと互換性がある。IS−127と比較するとき1少ないパルスがあるにも拘わらず、この単一のトラック・アプローチは、波形整形の点でより大きな柔軟性を提供し、且つ従来のマルチパルス・アプローチの便益をしかしながら比較的低ビット速度で利用することにより失ったパルスを補償する。
【0059】
以下の説明は、ビットの理論的最小数を用いて、それぞれのコードブック・インデックスを宛先に送信するに適した形式の中にマップすることができる仕方を示す。最初に、いずれの所与のパルス組み合わせは、次の4つの特性、即ち縮退パルスの数、パルスの符号、パルスの位置、及びパルスの大きさにより一義的に記述することができる。本発明に従った階乗パッキング方法及び装置は、パルス組み合わせの4段階の繰り返し分類化を実行し、そこでは各段階はこれらの4つの特性の1つによりパルスの組み合わせをグループ化する。特性による分類又はグループ化が任意の順序で行うことができるにも拘わらず、プロセスは、パルスの数で開始することにより一層単純にされる。一旦これが決定されると、あり得る符号の組み合わせ、パルス位置の組み合わせ、及びパルスの大きさ組み合わせの合計数を計算することができる。この柔軟性は、符号の組み合わせが最後の段階でグループ化されるのを可能にする。符号の組み合わせの数が常に2の累乗であるので、符号の組み合わせを最後のために残すことは、前の3つの段階において要素を適切に順序付けることと共に、符号を独立ビットによりコード化するのを可能にし、その結果としてそれらのビットの誤り防止を可能にする。
【0060】
再び、分類化段階の順序が任意であるにも拘わらず、第1の段階に非ゼロ・パルス位置の数によりグループ化させ、且つ最後の段階に符号の組み合わせによりグループ化させることは、ある一定の望ましい特性を有する。階乗パッキング方法を説明する目的のため、第2及び第3の段階は、パルス組み合わせをパルス位置及びパルス大きさのそれぞれにより分類するよう選定される。どの段階の各グループは、合計コードワード空間内に独特の組のコードを割り当てられる。従って、階乗パッキング・プロセスは、各段階で決定されたグループへのオフセットを計算し、そしてそのオフセットを合計して、その結果のコードワードを発生する。図4は、本発明に従ったプロセスの高レベル記述を示す。初めに、プロセスは、ステップ400(段階1)で開始し、そこにおいて特定の数の非ゼロ・パルス位置を表すグループへのオフセットが決定される。次に、ステップ403(段階2)で、特定のパルス位置を表すグループへのオフセットが決定され、そしてステップ406(段階3)で、特定のパルス大きさを表すグループへのオフセットが決定される。ステップ409(段階1)で、特定のパルス符号の組み合わせを表すインデックスが決定され、次いで全ての段階からのオフセットがステップ412で加えられて、コードワードを発生する。
【0061】
さて、段階1において、N個のコードワードの合計空間は、各グループが非ゼロ・パルス位置の異なる数を表すm個のグループに分割される。i個の非ゼロ・パルス位置を有するグループ中の要素の数は、パルス位置組み合わせの数F(n,i)×縮退パルス組み合わせの数D(m,i)×符号組み合わせの数2iにより与えられる。第1のグループがm個の非ゼロ・パルス位置の組み合わせを表し、最後のグループが1つの非ゼロ・パルス位置の組み合わせを表すようにコードワード空間を編成すると、特定のサブグループへのオフセットは次の式により計算することができる。
【0062】
【数30】
ここで、nはデシメートされたトラック長であり、dはn内の非ゼロ・パルス位置の数であり、mはd個の非ゼロ・パルスを発生するため用いられる単位大きさのパルスの合計数である。図5は、コードワード空間が本発明に従った階乗パッキング・プロセスの図4のステップ400(段階1)後においてm個のグループに分割される仕方を示す。
【0063】
段階2において、図5からの選択された段階1のグループは、各サブグループがパルス位置の異なる組み合わせを表すF(n,d)サブグループに分割される。パルス位置は、本発明に従って次式により一義的にコード化されることができる。
【0064】
【数31】
ここで、Iposは位置情報のインデックスであり、λ≡[λ0 λ1 … λd-1]であり、そしてλiはパルス大きさのトラック・ベクトル ベクトルtにおけるパルスiのデシメートされたパルス位置を表す。この式がIposの一義的値を発生するために、λ0<λ1<…<λm-1であることが要求される。また、式(13)における組み合わせの表現を次のとおり再定義して式(18)に使用可能にすることが必要である。
【0065】
【数32】
この式は、表記の便宜のため純粋に修正され、そして本発明において提示される組み合わせ数学からの階乗規則に対する例外はない。
【0066】
段階2のサブグループはD(m,d)・2d要素を含み、そのD(m,d)・2dはそれらのdの対応値に依存する。次いで、d個の非ゼロ・パルス位置に対応する特定の段階2サブグループへのオフセットは、次式により計算されることができる。
【0067】
【数33】
位置インデックスIposは各パルス位置組み合わせに対して一義的であり、そして式(18)はインデックスの最大にパックされた組を生成する、即ち条件
【0068】
【数34】
が常に適合されるので、式(20)におけるoffsetstage2の式は、D(m,d)・F(n,d)・2dのグループ・サイズ内に入ることが保証される。
【0069】
段階3において、選択された段階2サブグループは更にD(m,d)のサブグループに細分割され、そのD(m,d)のサブグループの各々は2d要素を含む。特定の段階3サブグループの選択は、繰り返し実行される。以下に説明するように、各繰り返しは、パルスが残らなくなるまで、パルス大きさから1を減じる。従って、繰り返しの合計数Niterは、最大の元のパルス大きさを知ることにより事前に決定されることができる。
【0070】
段階3における繰り返しは、符号情報をコード化する必要がないことを除いて、上記の段階1及び2に類似のプロセスを用いる。オフセットは、繰り返しにおいて残されたパルス数及び位置数に従って計算され、次いで繰り返しにおける特定のパルス組み合わせに対するインデックスが決定される。
【0071】
段階3に対する繰り返しプロセスは次のとおり説明することができる。各繰り返しkは、前の繰り返しのトラック・ベクトル ベクトルt(k-1)の中に非ゼロ・パルスの位置のみを含むようにトラック ベクトルt(k)を再定義することにより開始する。ベクトルt(k-1)の中の非ゼロ・パルスの数は、新しいトラック長n(k)と定義され、そして単位大きさパルスの新しい数m(k)は、前の繰り返しにおける単位大きさパルスの数m(k-1)から非ゼロ・パルスの数d(k-1)を差し引いた数により与えられる。次いで、ベクトルt(k-1)における非ゼロ・パルスの大きさが1だけ減分されて、ベクトルt(k)におけるパルスの大きさを得る。ベクトルt(k)の中に残された非ゼロ大きさのパルスの数は、d(k)と定義され、そして非ゼロ・パルス位置のベクトルは、λ(k)と定義される。次いで、式(22)及び式(23)を用いて、段階3サブグループへのインデックス及びオフセットを計算する。
【0072】
【数35】
式(22)は、符号情報をコード化する必要がないことを除いて、式(17)と同じ誘導から得られ、そして式(23)は、式(18)と同じであり、便宜のためここで再び示す。図6は、一例としてn=5位置トラックの中のm=5単位大きさのパルスを用いた、段階3の繰り返しを示す。
【0073】
全ての繰り返しが実行された後で、対応する段階3サブグループへのオフセットは、次式により与えられる。
【0074】
【数36】
段階4、即ち最後の段階において、2d個の可能性からの符号組み合わせが選択される。d個の符号ビットsj(0≦j<d)の各々は、ベクトルtの中の特定の非ゼロ・パルスと関連付けられ、そしてビットsjにおける1はj番目の非ゼロ・パルスが負であることを意味し、そしてゼロはパルスが正であることを意味し、又はその逆である。特定のパルス組み合わせ ベクトルtに対する符号ビット・インデックスは、次式により表される。
【0075】
【数37】
最終のコードワードは、4つの段階からのオフセット及びインデックスを組み合わせることにより得られ、次式をもたらす。
【0076】
【数38】
Soff(d,m,n)が2dで割り切れる式(17)から分かるように、式(26)は次式のように書き直すことができる。
【0077】
【数39】
式(27)は、Spos(ベクトルt)により表される符号ビットがコード化された情報ビットの残りに対して直交している仕方を明らかにする。これは、符号ビットが容易に復号され、そしてコードワード・ビットの残りより誤差に対してより高い感度を有することが考慮されるならば追加の誤り保護を割り当てられることを可能にする。図7は、コードワード空間が本発明による4つの分類化段階に従ってグループ化される仕方を示す。
【0078】
コードワードを戻すようトラック・ベクトル ベクトルtの中へアンパッキング(unpacking)することは、前述の4つの段階の各々からオフセットを決定することを包含する。最初に、縮退パルスの数dは、次式を満足させるduの最小値を見つけることにより決定される。
【0079】
【数40】
ここで、m及びnは既知である。
【0080】
ここで、パルスの数を知ることはまた、符号ビットの数を決定する。codewordからのd個の最下位ビットは、符号ビットsjとして抽出される。
次のステップは、d個のパルスの位置を決定することである。デコーダで、第1段階からのオフセット、及び符号ビットが除去されて、第2段階のオフセットを決定する。これは、次式を用いて得られる。
【0081】
【数41】
式(26)に戻って見て、最後の項が2d・D(m,d)以下であることが分かると、位置インデックスは次式を用いて抽出される。
【0082】
【数42】
実際のパルス位置を上記のIposから得ることは、式(18)を逆転する(reverse)ことを包含する。パルス位置ベクトル ベクトルλの抽出は、Iposにおける最後のパルス位置λd-1に対して次式
【0083】
【数43】
が常に満足されることを利用する。ここで、図8に示されるプロセスは、806においてパルス・インデックスpを最後のパルスに初期化すること、及び全てのパルス位置に対して812−830を繰り返すことを包含する。各パルス・インデックスpに対して、815は、式(31)を満足させる最左端位置jを見つけ、pがdに取って代わる。現在のパルス位置λpは、821においてj−1に設定される。次いで、Iposに対する現在のパルスの寄与は、827において除去される。パルス位置インデックスが830において減分され、次の繰り返しを開始する。
【0084】
図8は、一般的に、本発明に従ったパルス位置を得るプロセスを説明するフローチャートを示す。図8に示されるフローチャートの出力は、位置ベクトル ベクトルλ=[λ0 λ1 … λd-1]である。また、パルス大きさベクトル ベクトルtは、ベクトルλの要素により指定された各位置上に「1」を含むであろう。
【0085】
パルス大きさを得ることは、式(24)の計算を逆転することを包含する。各繰り返しkに対して、残った単位大きさのパルスの数及びトラック長は、次式
【0086】
【数44】
により与えられ、そして、パルスの数d(k)は、次式を満足する最小値d(k)uを見つけることにより決定される。
【0087】
【数45】
繰り返しコードワードは、次式を用いて得られる。
【0088】
【数46】
ここで、
【0089】
【数47】
及び
【0090】
【数48】
である。
【0091】
各繰り返しに対してパルス位置ベクトル ベクトルλ(k)を決定することは、図9のフローチャートを用いることにより行われ、それは、図8のフローチャートから、d、λ及びベクトルtをd(k)、λ(k)及びベクトルt(k)に代えることにより得られる。繰り返しは、式(31)におけるm(k)がゼロより大きい限り実行される。この条件を満足させるkの最大値をkmaxと定義する。
【0092】
一旦各繰り返しに対するトラック・ベクトル ベクトルt(k)及びkmaxが知られると、ベクトルtにおけるパルス大きさは、図10に示されるフローチャートを用いて得られる。最初に、一時的トラック・ベクトル ベクトルθ(kmax)(なお、本明細書においては上付きの「kmax」はkmaxの表記を意味する。)がステップ1000でベクトルt(kmax)に設定される。次いで、ステップ1009−1024が0≦k<kmaxを満足する各kに対して繰り返される。ステップ1012において、各kに対する一時的ベクトル ベクトルθ(k)が初期化される。次いで、ステップ1015−1021は、現在のトラック・ベクトル ベクトルt(k)を用いて前の繰り返しのベクトルθ(k+1)からのパルス大きさを累積してベクトルθ(k)にし、そしてステップ1024は、kを減分して、次の繰り返しを開始する。実際のトラック・ベクトル ベクトルtは、ステップ1027において、複数の符号sjをベクトルθ(0)の中の複数のパルスに作用させる(apply)ことにより得られる。
【0093】
パルス大きさをアンパッキングするプロセスは、本発明に従ったアンパッキング・プロセスを説明する目的のため、ここでは2つのステップ(図9及び図10)で提示された。当業者が認めるように、その2つのステップは、効率的な実行のため1つのステップに組み合わせることが可能であろう。
【0094】
図11は、一般的に、本発明に従った階乗パッキングを含むCELPエンコーダを示す。図11に示されるように、ある一定の構成要素は、図2に示されるCELPエンコーダの構成要素と動作において類似しており、従って類似の構成要素は類似の参照番号を用いて示されている。図2の固定のコードブック(FCB)202及び誤差最小化プロセス214は、図11においては組み合わされ、そして最適コードベクトル ベクトルckを出力し、その最適コードベクトル ベクトルckは、本発明に従って階乗パッキング・ブロック903により利用される。階乗パッキング・ブロック903は、本発明に従って前述したように、コードワードを出力し、そのコードワードは、宛先へチャネルを介して送られる。
【0095】
本発明が特定の実施形態を参照して詳細に示され且つ説明されたが、形式及び詳細における様々な変化が本発明の趣旨及び範囲を逸脱することなく行い得ることが当業者により理解されるであろう。例えば、本明細書に含まれる方法は、符号情報が常に正であることが含意されるコード化スペクトル大きさ情報に適用されることができるであろう。パルス符号情報のコード化を包含するステップは、本発明により提示された概念が明瞭に含意されるにも拘わらず、そのプロセスから省略することができるであろう。同様に、本発明はまた、全ての位置が常に非ゼロであるケースに適用されることができる。これはまた、本発明の実行を単純化するであろうが、しかしこれは、本発明の趣旨又は範囲から逸脱しないであろう。特許請求の範囲における対応する構造、材料、作用、及び全ての手段又はステップに機能を加えた要素の均等物は、特に主張されたように他の請求された構成要素と組み合わせて機能を実行するためいずれの構造、材料又は作用を含むよう意図されている。
【技術分野】
【0001】
[発明の分野]
本発明は、一般的に通信システムに関し、詳細にはそのような通信システムにおいて情報信号をコード化することに関する。
【背景技術】
【0002】
[発明の背景]
符号分割多元接続(CDMA)通信システムは周知である。一例のCDMA通信システムは、米国電気通信工業会(TIA)により北米で使用のため規定されたいわゆるIS−95である。IS−95に関してのより多くの情報については、TIA/EIA/IS−95「デュアル・モード広帯域スペクトル拡散セルラ・システムのための移動局・基地局互換性標準(Mobile Station−Base−station Compatibility Standard
for Dual Mode Wideband Spread Spectrum Cellular System)」(米国電子工業会(EIA)(Eye Street, N.W.ワシントンDC、20006)により1997年1月発行)を参照されたい。IS−95と互換性のある通信システムに使用の可変速度音声コーデック及び特にコード励起化された線形予測(CELP)コーデックは、書名が「広帯域スペクトル拡散ディジタル・システムのための増強された可変速度コーデック、音声サービス・オプション3(Enhanced Variable Rate Codec,Speech Service Option 3 for Wideband Spread Spectrum Digital Systems)」(1996年9月)でありまたIS−127として知られている文書に規定されている。IS−127も米国電子工業会(EIA)(Eye Street,N.W.ワシントンDC、20006)により発行されている。
【0003】
IS−127の速度1ケース(8.5kpbs)においては、固定のコードブック(FCB)は、マルチパルス構成(これは代数的コード励起化された線形予測又はACELPとして知られている。)を用い、その構成においては、励起ベクトル(excitation vector)ベクトルck(なお、本明細書では「ベクトルx」は太字のxの記号を意味し、xがベクトル変数であることを表す。)は、8個の非ゼロの単位大きさ値又は「パルス」のみを含む。その8個のパルスに対して、パルス位置のため割り当てられた35個のビット、及び(長さL=[53,53,54]の)3つのサブフレームの各々のための関連の符号がある。関連の「トラック」は、IS−127に規定されているように、ベクトルck内の8個のパルスの各々に対する許容位置を規定する。この構成において、複数のトラックのうちの3つは2個のパルスを含み、そして2つのトラックは1個のパルスのみを含む。表1(IS−127の表4.5.7−1からのもの)に示されるように、トラック0上のパルス(単数又は複数)は位置0,5,10,…50を占めることができ、トラック2上のパルス(単数又は複数)は位置1,6,11,…51を占めることができ、以下同様である。これは、「インターリーブド・パルス順列(インターリーブされたパルス順列)」として知られている。次いで、8個のパルスの位置は、以下に記載の式(12)が妥当な繰り返し回数で最大にされる要領で選定される。
【0004】
【表1】
より高いビット・レートのためIS−127コードブック設計を改良しようとする際、設計要件は、4個の別個のトラックの各々について3個のパルスを備え且つL=[53,53,54]のサブフレーム・サイズ及び1サブフレーム当たり48ビットのビット割り当てを備える12個の合計パルスを有するべきであるかも知れない。所与のトラック上に複数のパルスを有する利点は、(少なくとも)2つある。第1に、複数パルス・トラックは、それらのより少しのものがあるのでより長くなる傾向がある。これは、パルス位置決めにおいてより高い柔軟性を普及させ、即ち、より短いトラック長は、柔軟性を制限し、そして潜在的にパルスを次善の位置となるよう強制する場合があり、その結果実行の低下をもたらす。第2に、複数のパルスは、より少ないパルスに「縮退(degenerate)」する場合があり、即ちパルスが同じ位置を占め、そして付加的(additive)になる場合がある。これは、励起シークエンス(excitation sequence)の形状を再び減少させ(refine)、従って制限された振幅情報を与えることにより、位置決め情報の副生成物として、目標信号に対してより近い整合となりがちである。この点で、従来のマルチパルス(振幅及び位置)の便益の一部が保全される。更なる情報については、I.M.Transcoso及びB.S.Atalの題名が「確率的コーダにおける最適刷新を見いだす効率的手順(Efficient Procedures for Finding the Optimum Innovation in Stochastic Coders)」である文献(Proc. Int. Conf. Acoustic.Speech,Siganl Processing(1987年)、1957−1960頁)を参照されたい。
【発明の概要】
【発明が解決しようとする課題】
【0005】
所与のシナリオにおいて、トラックは、4トラック×14位置=56合計位置として構成されるであろうし、それらが表2に従って位置決めされることができるであろう。ここで、48ビットのビット割り当ては、4個のトラック間に等しく分割されるであろうし、それにより各トラックは12ビットを受け入れるであろう。12ビット/トラックは更に、各位置に対して3ビットと、各パルスの極性を示すための1つの符号ビットとから成るであろう。問題は、8個の位置のみが3ビット(23=8)により表されることができるということである。1パルス当たり4+1=5ビットを用いて位置をコード化することは、1サブフレーム当たり60ビットを必要とするであろうし、そのため要件がそのような直接的要領で適合されることができないことが明らかである。
【0006】
【表2】
従来技術において既知であるパルス・コード化方法は、2つのパルスを単一のコードワード(codeword)に多重化することを扱う。例えば、IS−127速度1ケース(8.5kbps)においては、5トラックにわたり拡散された11個のあり得るパルス位置がある。各パルス位置に対して4ビットを用いるのとは異なり、2つのパルスの位置は、7ビットのみを用いて一緒にコード化されることができる。これは、2つのパルスに対する位置の合計数が11×11=121であることを考慮することにより達成される。なお、121個の位置の合計数は、7ビットを用いてコード化されることができる位置の合計数(27=128)より少ない。従って、コード化の詳細は、
【0007】
【数1】
のように表すことができる。ここで、pi及びpjはi番目及びj番目のパルスのそれぞれ位置であり、Nposは1トラック当たりのパルス位置の数であり、Ntrackはトラックの数であり、そして
【0008】
【数2】
はx以下の最大整数を表す。次いで、パルス位置は、デコーダで
【0009】
【数3】
により抽出されることができる。ここで、λi及びλjは、適切なトラック内のデシメートされた(decimated)位置であり、それは、表2における列に対応する(即ち、pi=Ntλi+nであり、ここでNtはトラック数であり、nはトラック番号である)。表2における14位置、3パルス・トラックのケースに対してこの方法を用いる場合の問題は、14×14×14=2,744位置多重が依然12ビット(212=4096のあり得る位置)を必要とするであろうし、そのため各パルス位置に対して4ビットを単純に用いることより節約にならないことである。
【0010】
しかしながら、複数のパルス・トラックの場合には、従来技術で利用されてきた組み込みの冗長性がある。再びIS−127においては、2つのパルス・トラック位置は区別がつかず、即ち第1のパルスは、結果に変化なく第2のパルスと交換可能である。従って、効率的な符号コード化は位置情報の中に埋め込まれてしまう。2つのパルスの符号が同じである場合、パッキング順序は、パルスが位置において上昇している(即ち、第1のパルスの位置は、第2のパルスの位置以下であり、又はpi≦pjである。)ようになされる。さもなければ、位置は、下降している(第1のパルスの位置は第2のパルスの位置より大きく、又はpi>pjである。)。これは、11位置二重パルス・トラックに対する合計8ビットのため7ビットに1符号ビット(2の代わり)のみを用いてトラックをコード化するのを可能にする。
【0011】
しかしながら、三重パルス・トラックにおいては、この問題の複雑さが階乗の割合で大きくなる。前述のように区別のつかないパルスの2!=2の置換(permutations)を有するのとは異なり、表3に示されるように、3!=6の置換がある。更に、パルス縮退の4個の組み合わせがあり、その4個の組み合わせにおいては2つ以上のパルスが、また表3に示されるように同じ位置を占める。
【0012】
【表3】
このケースにおける従来技術での1つの問題は、区別のつかないパルスの組み合わせの数(3!=6)が位置情報を用いて符号情報を埋め込むため要求される符号変化の組み合わせの数(2(3-1)=4)を越えていることである。このことは、位置情報の3分の2(4/6)のみが符号変化の情報を埋め込むため要求され従ってコード化された合計表示の3分の1が冗長であるので、コード化の非効率をもたらす。この問題が更に表4に例示され、表4は、1トラック当たりのパルス数が増大するにつれ従来技術におけるコード化の非効率が大きくなる様子を示す。ここで、1トラック当たりのパルス数mが増大するにつれ、対応するパルス符号の組み合わせは2mで増大する。表3の中の情報を拡張すると、符号情報を埋め込むため用いることができる位置の組み合わせの数は、(従来技術に従って)暗黙にm!で増大する。この数が必要とされるパルス符号の組み合わせの数より小さい場合、(表4の列3に示される)明示的符号ビットは、全ての情報をコード化するため必要とされる。さもなければ、明示的符号ビットは必要とされない。
【0013】
しかし、1トラック当たりのパルス数が増大するにつれ、使用可能なコード化空間(m!)はコード化されるに必要とされる情報量(2m)をはるかに越え、従って、コード化効率(E=2(m-s)/m!と定義される。)は、非現実的に低くなる。効率は、実効ビット損失(−log2(E))の観点からも考えることができ、その実効ビット損失(−log2(E))は極めて高く観測することができる。
【0014】
【表4】
更に、縮退パルスの組み合わせは更に、コード化されるべきパルス数が増大するにつれ、コード化効率を低下させる。これは、所与の位置での全てのパルスは同じ符号を有するであろう(反対符号を有する同じ位置でのパルスが相殺するからである。)固有の特性のためである。従って、縮退されたパルスに対してパルス符号情報を独立にコード化する必要性がない。
【0015】
12ビットのみを用いて14個の位置上に3つのパルスをコード化する元の問題に戻り、そして表4の中の情報を用いると、我々は、1個の専用符号ビットを有する従来技術の位置コード化を適用して、1+(3×4)=13ビットのコードワード長を生成することができる。しかしながら、これは、12ビット(又は1サブフレーム当たり48ビット)の要件に適合しない。更に、ますます多くのパルスが単一のトラック内にコード化されることになるので、従来技術はますます非効率になる。従って、従来技術の欠点を克服し且つ複数のパルス位置トラックの効率的なコード化を可能にする改善された方法及び装置に対する必要性が存在する。
【課題を解決するための手段】
【0016】
[好適な実施形態の詳細な説明]
一般的に述べると、改善された音声コーダは、いずれの所与のパルス組み合わせが次の4つの特性、即ち縮退パルスの数、パルスの符号、パルスの位置及びパルスの大きさにより一義的に記述されることができることを利用する。本発明に従って、各段階がこれら4つの特性の1つによりパルス組み合わせをグループ化する、パルス組み合わせの4段階繰り返し分類化が実行される。そのプロセスは、パルスの数で開始し、次いで、あり得る符号の組み合わせ、パルス位置の組み合わせ及びパルスの大きさの組み合わせの合計数を決定する。この柔軟性が、符号の組み合わせを最後の段階でグループ化するのを可能にする。符号の組み合わせの数が常に2の累乗であるので、前の3つの段階において要素を適切に順序付けることと一緒に符号の組み合わせを最後のために残すことにより、符号を独立ビットによりコード化するのを可能にし、その結果としてそれらのビットの誤り防止を可能にする。
【0017】
詳細には、通信システムにおいて情報信号をコード化する方法は、情報信号をブロックに分割するステップと、目標信号を情報信号のブロックに基づいて導出するステップとを備える。この方法は更に、目標信号を表す量子化された信号を発生するステップと、該量子化された信号内のパルス、パルスの位置、パルスの大きさ及び/又はパルスの符号のそれぞれの数に関連するオフセット又はインデックスの和から成るコードワードを発生するステップであって、オフセット又はインデックスの少なくとも1つが関係式
【0018】
【数4】
に基づいている、上記コードワードを発生するステップと、上記コードワードを宛先に送信するステップとを含む。
【0019】
好適な実施形態においては、情報信号は、音声、オーディオ、画像又はビデオ信号であり、そして情報信号のブロックは更に、情報信号のフレーム及びサブフレームを備える。また、量子化された信号は更にコードベクトル(codevector)ベクトルckを備える。位置情報に関連したオフセット又はインデックスは、関係式
【0020】
【数5】
に基づいている。ここで、dは非ゼロの要素の数であり、nは位置の数であり、一方パルスの大きさの情報に関連したオフセット又はインデックスは、関係式
【0021】
【数6】
に基づいている。ここで、dは非ゼロの要素の数であり、mは単位大きさのパルスの合計数である。
【0022】
別の仕方で述べると、通信システムにおいてコードワードを発生する方法は、コードワードの合計数を特定の数のパルスを表すグループに分割するステップと、そのグループに関連した第1のオフセットを決定するステップと、特定の数のパルスを表す上記グループを特定のパルス位置を表すサブグループに分割するステップと、そのサブグループに関連した第2のオフセットを決定するステップとを備える。その方法は更に、特定のパルス位置を表すサブグループを特定のパルス大きさを表す更なるサブグループに細分割し且つその更なるサブグループに関連した第3のオフセットを決定するステップと、特定のパルス符号組み合わせを表すインデックスを決定し且つ第1、第2及び第3のオフセット及びインデックスを加算してコードワードを発生するステップとを含む。
【0023】
第1のオフセットは、式
【0024】
【数7】
により与えられる。ここで、nはデシメートされたトラック長であり、dはパルスの数であり、mはd個のパルスを発生するため用いられる単位大きさのパルスの数であり、一方第2のオフセットは、式
【0025】
【数8】
により与えられる。ここで、Iposは位置情報のインデックスであり、λ≡[λ0
λ1 … λd-1]であり、λiはパルス大きさのトラック・ベクトル ベクトルtにおけるデシメートされたパルス位置を表し、D(m,d)・2dはサブグループの中の要素の数である。
【0026】
第3のオフセットは、式
【0027】
【数9】
により与えられ、一方インデックスは、式
【0028】
【数10】
により与えられる。
【図面の簡単な説明】
【0029】
【図1】図1は一般的に、従来技術において知られているCELPデコーダを示す。
【図2】図2は一般的に、従来技術において知られているコード励起化された線形予測(CELP)エンコーダを示す。
【図3】図3は一般的に、本発明に従ったコード化プロセスの使用から生じるd∈{1,2,3,4}を有する4つの単位大きさパルスに対する縮退の組み合わせを示す。
【図4】図4は一般的に、本発明に従ったコード化プロセスの高レベルの記述を示す。
【図5】図5は一般的に、本発明に従った階乗パッキング・プロセスの図4のステップ400後におけるコードワード空間のm個のグループへの分割(段階1)を示す。
【図6】図6は一般的に、一例としてn=5位置トラックにおいてm=5単位大きさパルスを用いる段階3の繰り返しを示す。
【図7】図7は、コードワード空間が本発明による4つの分類化段階に従ってグループ化される仕方を示す。
【図8】図8は、本発明に従ってパルス位置を得るプロセスを説明するフローチャートを示す。
【図9】図9は、本発明に従った図8のフローチャートに基づいてパルス位置ベクトルを得るためのプロセスを説明するフローチャートを示す。
【図10】図10は一般的に、本発明に従ってパルスの大きさを決定するためのプロセスを説明するフローチャートを示す。
【図11】図11は一般的に、本発明に従って階乗パッキングを実行するコード励起化された線形予測(CELP)を示す。
【発明を実施するための形態】
【0030】
対応する装置は、とりわけ、本発明に従った前述のステップを実行する。
図1は一般的に、当該技術において既知であるようにコード励起化された線形予測(CELP)デコーダを示す。図1に示されるように、励起シークエンス又は「コードベクトル」ベクトルckは、適切なコードブック・インデックスkを用いて固定のコードブック(FCB)102から発生される。この信号は、FCB利得係数γを用いてスケーリング(拡大/縮小)され、そして適応コードブック104(ACB)から出力され且つ係数βによりスケーリングされた信号E(n)と組み合わされ、その組み合わされたものを用いて、音声信号の長期間(又は長周期)要素(周期τを有する)をモデル化する。合計励起を表す信号Et(n)が、LPC合成フィルタ106への入力として用いられ、該LPC合成フィルタ106は、一般に「ホルマント」と呼ばれる、粗い短期間スペクトル形状をモデル化する。次いで、LPC合成フィルタ106の出力は、知覚的後置フィルタ108により知覚的に事後フィルタリングされ、その知覚的後置フィルタ108においてコード化歪みは、高い音声エネルギを含む周波数での信号スペクトルを増幅し且つ音声エネルギを少ししか含まないそれらの周波数を減衰させることにより実効的に「マスク」される。更に、合計励起信号Et(n)は、合成された音声の次のブロックに対して適応コードブックとして用いられる。
【0031】
図2は、全体的にCELPエンコーダ200を示す。CELPエンコーダ200内においては、目標は、知覚的に重み付けされた目標信号xw(n)をコード化することであり、その知覚的に重み付けされた目標信号xw(n)は、z変換により一般項で表されることができる。
【0032】
【数11】
ここで、W(z)は、知覚的に重み付けするフィルタ208の伝達関数であり、そして
【0033】
【数12】
の形式であり、そして、H(z)は、知覚的に重み付けされた合成フィルタ206及び210の伝達関数であり、そして
【0034】
【数13】
の形式であり、そしてA(z)は非量子化された直接形式LPC係数であり、Aq(z)は量子化された直接形式LPC係数であり、λ1及びλ2は知覚的重み付け係数である。更に、HZS(z)は、知覚的に重み付けされた合成フィルタ206からの「ゼロ状態」応答であり、その知覚的に重み付けされた合成フィルタ206においてH(z)の初期状態は全てゼロであり、HZIR(z)は知覚的に重み付けされた合成フィルタ210からのH(z)の「ゼロ入力応答」であり、その知覚的に重み付けされた合成フィルタ210においてH(z)の前の状態が入力励起の無い状態で生じるのを可能にされる。HZIR(z)の発生のため用いられる初期状態は、前のサブフレームからの合計励起Et(n)から導出される。
【0035】
xw(n)を発生するに必要なパラメータに対して解くため、本発明に従った固定のコードブック(FCB)閉ループ解析を説明する。ここで、コードブック・インデックスkは、知覚的に重み付けされた目標信号xw(n)と推定された目標信号x^w(n)(なお、本明細書では、「x^」の表記はxの上に^の記号が付された記号を意味する。)との間の平均自乗誤差を最小にするよう選定される。これは、時間領域形式で次式のように表すことができる。
【0036】
【数14】
ここで、ck(n)はFCBコードブック・インデックスkに対応するコードベクトルであり、γkはコードベクトルck(n)と関連した最適FCB利得であり、h(n)は知覚的に重み付けされた合成フィルタH(z)のインパルス応答であり、Mはコードブック・サイズであり、Lはサブフレーム長であり、*は畳み込み処理を意味し、そして
【0037】
【数15】
は推定された目標信号である。好適な実施形態においては、音声は20ミリ秒(ms)毎にコード化され、そして各フレームは長さLの3つのサブフレームを含む。
【0038】
式(4)はまた、ベクトル−行列形式で次式のように表すことができる。
【0039】
【数16】
ここで、ベクトルck及びベクトルxwは長さL列のベクトルであり、ベクトルHはL×Lのゼロ状態畳み込み行列、即ち
【0040】
【数17】
であり、そして、Tは適切なベクトル又は行列転置を意味する。式(5)は、
【0041】
【数18】
に展開することができ、そしてコードベクトル ベクトルckに対する最適コードブック利得γkは、上記の式の(γkに関する)導関数をゼロに設定すること、即ち
【0042】
【数19】
により導出することができ、そしてγkに対して解くと
【0043】
【数20】
が得られる。
この値を式(7)に代入すると、
【0044】
【数21】
が得られる。式(10)の第1項がkに関して一定であるので、平均自乗誤差は、
【0045】
【数22】
を見つけることにより最小にすることができる。式(11)から、探索に係わる計算負荷の多くはkに依存しない式(11)における複数の項を予め計算することにより、即ち
【0046】
【数23】
及び
【0047】
【数24】
とすることにより避けることができることに注目することは重要である。これを行うとき、式(11)は
【0048】
【数25】
に変形され、式(12)はIS−127の式4.5.7.2−1に等しい。これらの項を予め計算するプロセスは、「バックワード・フィルタイリング(backward filtering)」として知られている。
【0049】
このプロセスを要約すると、目標信号xw(n)と推定された目標信号x^w(n)との間の平均自乗誤差を最小にするコードベクトル ベクトルck(それはコードブック・インデックスkにより表すことができる。)は、(12)で与えられる式を最小にするkの値を選定することにより見つけることができる。
【0050】
本発明は、前述の問題を3つの方法の組み合わせにより解決する。第1に、区別のつかない位置の組み合わせはコード化されない。別個の非縮退のある数の位置組み合わせのみが基本コード化構成において可能にされる。第2に、非縮退の組み合わせを「重ねられた」個々のパルスとして処置するのとは異なり、これらのケースは、別個の非縮退のケースとして処置され、そのケースにおいては潜在的に等しくない大きさのより少ないパルスがある。第3に、最初の2つの方法が与えられたすると、符号情報は、縮退パルスの数にのみ依存し、それにより一層効率的にコード化されることができる。これらの方法は、以下に詳述され、そして最終的に組み合わされ、最高に効率的で拡大縮小可能なコード化構造を形成する。
【0051】
最初に、次式の階乗関係式により別個の非縮退パルスの組み合わせの数を定義しよう。
【0052】
【数26】
ここで、nはあり得る位置の数であり、dは非ゼロの位置であり、且つd≦nである。ここで、我々は、n=3の位置上でd=2パルスの単純なケースに対して、次のように、即ち[λi,λj]∈{(0,1),(0,2),(1,2)}のように記述される3!/2!=3の別個の非縮退の位置の組み合わせのみが存在することを知ることができる。
【0053】
次に、我々は、縮退の組み合わせの数を式
【0054】
【数27】
のように定義することができる。ここで、mは単位大きさのパルスの合計数であり、dは非ゼロの位置の数であり、その数はm個のあり得る重ね合わせから生じる占有されたトラック位置の数と定義される。例えば、2つの縮退パルス(d=2)を形成する4重のパルスのケースにおいては、縮退の組み合わせの数はD(4,2)=3である。これは、縮退したパルスの別個の組み合わせの数を表す。図3は、d∈{1,2,3,4}を有する4つの単位大きさパルスに対する全ての縮退の組み合わせを示す。
【0055】
更に、縮退したパルスの組み合わせの各組は、縮退したパルスの極性を示すため、対応する符号を必要とする。これは、縮退したパルスの数の関数、即ち2dとして表すことができる。そこで、所与の構成に対して、組み合わせの必要とされる合計の最小数N及びビットの理論的最小数Mは、次式により定式化されることができる。
【0056】
【数28】
数個の例を考えれば、式(15)の有用性を容易に知ることができる。8のトラック長(n=8)上に2つのパルス(m=2)の直接的例においては、N=(4)(1)(28)+(2)(1)(8)=128の合計組み合わせ、又はM=7ビットがある。11のトラック長(n=11)上に2つのパルス(m=2)のIS−127のケースに対しては、N=(4)(1)(55)+(2)(1)(11)=242の合計組み合わせ、又はM=8ビットがある。そのように、本発明は、後述するように、パッキング順序において更なる柔軟性を与え、従ってより敏感なビット(符号ビット)を一緒にグループ化するのを可能にする。n=14のトラック長を用いる3重パルス(m=3)の例においては、ビット数の公式化は、1トラック当たり12ビットの要件が本発明に従って適合されることができることを示す。即ち、
【0057】
【数29】
表4に与えられる例を考えると、我々は、ここで本発明を従来技術とより直接的要領で直接比較することができる。n=14のトラック長に対して、表5は、従来技術及び本発明の両方に対して必要とされるコードワードのサイズを1トラック当たりのパルス数(m)の関数として示す。
【0058】
【表5】
関心の追加のケースは、本発明に従った階乗パッキング方法及び装置から生じる。長さ54の単一のトラック及び7つの単位大きさのパルスを考慮すると、式(15)は、35ビットであるべき、パルス位置、大きさ及び符号をコード化するに必要とされる最小ビット数を示す。これは、IS−127におけるFCB形状に対するサブフレーム長及びビット割り当てと互換性がある。IS−127と比較するとき1少ないパルスがあるにも拘わらず、この単一のトラック・アプローチは、波形整形の点でより大きな柔軟性を提供し、且つ従来のマルチパルス・アプローチの便益をしかしながら比較的低ビット速度で利用することにより失ったパルスを補償する。
【0059】
以下の説明は、ビットの理論的最小数を用いて、それぞれのコードブック・インデックスを宛先に送信するに適した形式の中にマップすることができる仕方を示す。最初に、いずれの所与のパルス組み合わせは、次の4つの特性、即ち縮退パルスの数、パルスの符号、パルスの位置、及びパルスの大きさにより一義的に記述することができる。本発明に従った階乗パッキング方法及び装置は、パルス組み合わせの4段階の繰り返し分類化を実行し、そこでは各段階はこれらの4つの特性の1つによりパルスの組み合わせをグループ化する。特性による分類又はグループ化が任意の順序で行うことができるにも拘わらず、プロセスは、パルスの数で開始することにより一層単純にされる。一旦これが決定されると、あり得る符号の組み合わせ、パルス位置の組み合わせ、及びパルスの大きさ組み合わせの合計数を計算することができる。この柔軟性は、符号の組み合わせが最後の段階でグループ化されるのを可能にする。符号の組み合わせの数が常に2の累乗であるので、符号の組み合わせを最後のために残すことは、前の3つの段階において要素を適切に順序付けることと共に、符号を独立ビットによりコード化するのを可能にし、その結果としてそれらのビットの誤り防止を可能にする。
【0060】
再び、分類化段階の順序が任意であるにも拘わらず、第1の段階に非ゼロ・パルス位置の数によりグループ化させ、且つ最後の段階に符号の組み合わせによりグループ化させることは、ある一定の望ましい特性を有する。階乗パッキング方法を説明する目的のため、第2及び第3の段階は、パルス組み合わせをパルス位置及びパルス大きさのそれぞれにより分類するよう選定される。どの段階の各グループは、合計コードワード空間内に独特の組のコードを割り当てられる。従って、階乗パッキング・プロセスは、各段階で決定されたグループへのオフセットを計算し、そしてそのオフセットを合計して、その結果のコードワードを発生する。図4は、本発明に従ったプロセスの高レベル記述を示す。初めに、プロセスは、ステップ400(段階1)で開始し、そこにおいて特定の数の非ゼロ・パルス位置を表すグループへのオフセットが決定される。次に、ステップ403(段階2)で、特定のパルス位置を表すグループへのオフセットが決定され、そしてステップ406(段階3)で、特定のパルス大きさを表すグループへのオフセットが決定される。ステップ409(段階1)で、特定のパルス符号の組み合わせを表すインデックスが決定され、次いで全ての段階からのオフセットがステップ412で加えられて、コードワードを発生する。
【0061】
さて、段階1において、N個のコードワードの合計空間は、各グループが非ゼロ・パルス位置の異なる数を表すm個のグループに分割される。i個の非ゼロ・パルス位置を有するグループ中の要素の数は、パルス位置組み合わせの数F(n,i)×縮退パルス組み合わせの数D(m,i)×符号組み合わせの数2iにより与えられる。第1のグループがm個の非ゼロ・パルス位置の組み合わせを表し、最後のグループが1つの非ゼロ・パルス位置の組み合わせを表すようにコードワード空間を編成すると、特定のサブグループへのオフセットは次の式により計算することができる。
【0062】
【数30】
ここで、nはデシメートされたトラック長であり、dはn内の非ゼロ・パルス位置の数であり、mはd個の非ゼロ・パルスを発生するため用いられる単位大きさのパルスの合計数である。図5は、コードワード空間が本発明に従った階乗パッキング・プロセスの図4のステップ400(段階1)後においてm個のグループに分割される仕方を示す。
【0063】
段階2において、図5からの選択された段階1のグループは、各サブグループがパルス位置の異なる組み合わせを表すF(n,d)サブグループに分割される。パルス位置は、本発明に従って次式により一義的にコード化されることができる。
【0064】
【数31】
ここで、Iposは位置情報のインデックスであり、λ≡[λ0 λ1 … λd-1]であり、そしてλiはパルス大きさのトラック・ベクトル ベクトルtにおけるパルスiのデシメートされたパルス位置を表す。この式がIposの一義的値を発生するために、λ0<λ1<…<λm-1であることが要求される。また、式(13)における組み合わせの表現を次のとおり再定義して式(18)に使用可能にすることが必要である。
【0065】
【数32】
この式は、表記の便宜のため純粋に修正され、そして本発明において提示される組み合わせ数学からの階乗規則に対する例外はない。
【0066】
段階2のサブグループはD(m,d)・2d要素を含み、そのD(m,d)・2dはそれらのdの対応値に依存する。次いで、d個の非ゼロ・パルス位置に対応する特定の段階2サブグループへのオフセットは、次式により計算されることができる。
【0067】
【数33】
位置インデックスIposは各パルス位置組み合わせに対して一義的であり、そして式(18)はインデックスの最大にパックされた組を生成する、即ち条件
【0068】
【数34】
が常に適合されるので、式(20)におけるoffsetstage2の式は、D(m,d)・F(n,d)・2dのグループ・サイズ内に入ることが保証される。
【0069】
段階3において、選択された段階2サブグループは更にD(m,d)のサブグループに細分割され、そのD(m,d)のサブグループの各々は2d要素を含む。特定の段階3サブグループの選択は、繰り返し実行される。以下に説明するように、各繰り返しは、パルスが残らなくなるまで、パルス大きさから1を減じる。従って、繰り返しの合計数Niterは、最大の元のパルス大きさを知ることにより事前に決定されることができる。
【0070】
段階3における繰り返しは、符号情報をコード化する必要がないことを除いて、上記の段階1及び2に類似のプロセスを用いる。オフセットは、繰り返しにおいて残されたパルス数及び位置数に従って計算され、次いで繰り返しにおける特定のパルス組み合わせに対するインデックスが決定される。
【0071】
段階3に対する繰り返しプロセスは次のとおり説明することができる。各繰り返しkは、前の繰り返しのトラック・ベクトル ベクトルt(k-1)の中に非ゼロ・パルスの位置のみを含むようにトラック ベクトルt(k)を再定義することにより開始する。ベクトルt(k-1)の中の非ゼロ・パルスの数は、新しいトラック長n(k)と定義され、そして単位大きさパルスの新しい数m(k)は、前の繰り返しにおける単位大きさパルスの数m(k-1)から非ゼロ・パルスの数d(k-1)を差し引いた数により与えられる。次いで、ベクトルt(k-1)における非ゼロ・パルスの大きさが1だけ減分されて、ベクトルt(k)におけるパルスの大きさを得る。ベクトルt(k)の中に残された非ゼロ大きさのパルスの数は、d(k)と定義され、そして非ゼロ・パルス位置のベクトルは、λ(k)と定義される。次いで、式(22)及び式(23)を用いて、段階3サブグループへのインデックス及びオフセットを計算する。
【0072】
【数35】
式(22)は、符号情報をコード化する必要がないことを除いて、式(17)と同じ誘導から得られ、そして式(23)は、式(18)と同じであり、便宜のためここで再び示す。図6は、一例としてn=5位置トラックの中のm=5単位大きさのパルスを用いた、段階3の繰り返しを示す。
【0073】
全ての繰り返しが実行された後で、対応する段階3サブグループへのオフセットは、次式により与えられる。
【0074】
【数36】
段階4、即ち最後の段階において、2d個の可能性からの符号組み合わせが選択される。d個の符号ビットsj(0≦j<d)の各々は、ベクトルtの中の特定の非ゼロ・パルスと関連付けられ、そしてビットsjにおける1はj番目の非ゼロ・パルスが負であることを意味し、そしてゼロはパルスが正であることを意味し、又はその逆である。特定のパルス組み合わせ ベクトルtに対する符号ビット・インデックスは、次式により表される。
【0075】
【数37】
最終のコードワードは、4つの段階からのオフセット及びインデックスを組み合わせることにより得られ、次式をもたらす。
【0076】
【数38】
Soff(d,m,n)が2dで割り切れる式(17)から分かるように、式(26)は次式のように書き直すことができる。
【0077】
【数39】
式(27)は、Spos(ベクトルt)により表される符号ビットがコード化された情報ビットの残りに対して直交している仕方を明らかにする。これは、符号ビットが容易に復号され、そしてコードワード・ビットの残りより誤差に対してより高い感度を有することが考慮されるならば追加の誤り保護を割り当てられることを可能にする。図7は、コードワード空間が本発明による4つの分類化段階に従ってグループ化される仕方を示す。
【0078】
コードワードを戻すようトラック・ベクトル ベクトルtの中へアンパッキング(unpacking)することは、前述の4つの段階の各々からオフセットを決定することを包含する。最初に、縮退パルスの数dは、次式を満足させるduの最小値を見つけることにより決定される。
【0079】
【数40】
ここで、m及びnは既知である。
【0080】
ここで、パルスの数を知ることはまた、符号ビットの数を決定する。codewordからのd個の最下位ビットは、符号ビットsjとして抽出される。
次のステップは、d個のパルスの位置を決定することである。デコーダで、第1段階からのオフセット、及び符号ビットが除去されて、第2段階のオフセットを決定する。これは、次式を用いて得られる。
【0081】
【数41】
式(26)に戻って見て、最後の項が2d・D(m,d)以下であることが分かると、位置インデックスは次式を用いて抽出される。
【0082】
【数42】
実際のパルス位置を上記のIposから得ることは、式(18)を逆転する(reverse)ことを包含する。パルス位置ベクトル ベクトルλの抽出は、Iposにおける最後のパルス位置λd-1に対して次式
【0083】
【数43】
が常に満足されることを利用する。ここで、図8に示されるプロセスは、806においてパルス・インデックスpを最後のパルスに初期化すること、及び全てのパルス位置に対して812−830を繰り返すことを包含する。各パルス・インデックスpに対して、815は、式(31)を満足させる最左端位置jを見つけ、pがdに取って代わる。現在のパルス位置λpは、821においてj−1に設定される。次いで、Iposに対する現在のパルスの寄与は、827において除去される。パルス位置インデックスが830において減分され、次の繰り返しを開始する。
【0084】
図8は、一般的に、本発明に従ったパルス位置を得るプロセスを説明するフローチャートを示す。図8に示されるフローチャートの出力は、位置ベクトル ベクトルλ=[λ0 λ1 … λd-1]である。また、パルス大きさベクトル ベクトルtは、ベクトルλの要素により指定された各位置上に「1」を含むであろう。
【0085】
パルス大きさを得ることは、式(24)の計算を逆転することを包含する。各繰り返しkに対して、残った単位大きさのパルスの数及びトラック長は、次式
【0086】
【数44】
により与えられ、そして、パルスの数d(k)は、次式を満足する最小値d(k)uを見つけることにより決定される。
【0087】
【数45】
繰り返しコードワードは、次式を用いて得られる。
【0088】
【数46】
ここで、
【0089】
【数47】
及び
【0090】
【数48】
である。
【0091】
各繰り返しに対してパルス位置ベクトル ベクトルλ(k)を決定することは、図9のフローチャートを用いることにより行われ、それは、図8のフローチャートから、d、λ及びベクトルtをd(k)、λ(k)及びベクトルt(k)に代えることにより得られる。繰り返しは、式(31)におけるm(k)がゼロより大きい限り実行される。この条件を満足させるkの最大値をkmaxと定義する。
【0092】
一旦各繰り返しに対するトラック・ベクトル ベクトルt(k)及びkmaxが知られると、ベクトルtにおけるパルス大きさは、図10に示されるフローチャートを用いて得られる。最初に、一時的トラック・ベクトル ベクトルθ(kmax)(なお、本明細書においては上付きの「kmax」はkmaxの表記を意味する。)がステップ1000でベクトルt(kmax)に設定される。次いで、ステップ1009−1024が0≦k<kmaxを満足する各kに対して繰り返される。ステップ1012において、各kに対する一時的ベクトル ベクトルθ(k)が初期化される。次いで、ステップ1015−1021は、現在のトラック・ベクトル ベクトルt(k)を用いて前の繰り返しのベクトルθ(k+1)からのパルス大きさを累積してベクトルθ(k)にし、そしてステップ1024は、kを減分して、次の繰り返しを開始する。実際のトラック・ベクトル ベクトルtは、ステップ1027において、複数の符号sjをベクトルθ(0)の中の複数のパルスに作用させる(apply)ことにより得られる。
【0093】
パルス大きさをアンパッキングするプロセスは、本発明に従ったアンパッキング・プロセスを説明する目的のため、ここでは2つのステップ(図9及び図10)で提示された。当業者が認めるように、その2つのステップは、効率的な実行のため1つのステップに組み合わせることが可能であろう。
【0094】
図11は、一般的に、本発明に従った階乗パッキングを含むCELPエンコーダを示す。図11に示されるように、ある一定の構成要素は、図2に示されるCELPエンコーダの構成要素と動作において類似しており、従って類似の構成要素は類似の参照番号を用いて示されている。図2の固定のコードブック(FCB)202及び誤差最小化プロセス214は、図11においては組み合わされ、そして最適コードベクトル ベクトルckを出力し、その最適コードベクトル ベクトルckは、本発明に従って階乗パッキング・ブロック903により利用される。階乗パッキング・ブロック903は、本発明に従って前述したように、コードワードを出力し、そのコードワードは、宛先へチャネルを介して送られる。
【0095】
本発明が特定の実施形態を参照して詳細に示され且つ説明されたが、形式及び詳細における様々な変化が本発明の趣旨及び範囲を逸脱することなく行い得ることが当業者により理解されるであろう。例えば、本明細書に含まれる方法は、符号情報が常に正であることが含意されるコード化スペクトル大きさ情報に適用されることができるであろう。パルス符号情報のコード化を包含するステップは、本発明により提示された概念が明瞭に含意されるにも拘わらず、そのプロセスから省略することができるであろう。同様に、本発明はまた、全ての位置が常に非ゼロであるケースに適用されることができる。これはまた、本発明の実行を単純化するであろうが、しかしこれは、本発明の趣旨又は範囲から逸脱しないであろう。特許請求の範囲における対応する構造、材料、作用、及び全ての手段又はステップに機能を加えた要素の均等物は、特に主張されたように他の請求された構成要素と組み合わせて機能を実行するためいずれの構造、材料又は作用を含むよう意図されている。
【特許請求の範囲】
【請求項1】
通信システムにおいてコードワードを発生する方法であって、
エンコーダが、コードベクトルck内のゼロでないパルス位置の数dに関連した第1のオフセットを決定するステップであって、前記第1のオフセットは、コードベクトルckの長さn及び単位大きさパルスの合計数mの関数である、第1のオフセットを決定するステップと、
前記エンコーダが、前記コードベクトルck内の前記ゼロでないパルス位置dの位置の組に関連した第2のオフセットを決定するステップであって、前記第2のオフセットは、前記コードベクトルck内のゼロでないパルス位置の数d及び単位大きさパルスの合計数mの関数である、第2のオフセットを決定するステップと、
前記エンコーダが、前記コードベクトルck内のゼロでないパルス位置の大きさの組に関連した第3のオフセットを決定するステップであって、前記第3のオフセットは、前記コードベクトルck内のゼロでないパルス位置の数d及び単位大きさパルスの合計数mの関数である、第3のオフセットを決定するステップと、
前記エンコーダが、特定のパルス符号の組み合わせを表すインデックスを決定するステップであって、前記インデックスは、前記コードベクトルck内のゼロでないパルス位置の数dの関数である、インデックスを決定するステップと、
前記エンコーダが、前記第1、第2及び第3のオフセット並びに前記インデックスを加算して、コードワードを発生するステップと
を備える方法。
【請求項2】
前記第1のオフセットが、式
【数1】
により与えられ、ここで、nはデシメートされたトラック長であり、dはパルス数であり、mはd個のパルスを発生するために用いられる単位大きさパルスの合計数である請求項1記載の方法。
【請求項3】
前記第2のオフセットは、式
【数2】
により与えられ、ここで、Iposは位置情報のインデックスであり、λ=[λ0 λ1 … λd-1]であり、λiはパルスの大きさのトラック・ベクトルtにおけるパルスiのデシメートされたパルス位置を表し、D(m,d)・2dはサブグループの中の要素の数である請求項1記載の方法。
【請求項4】
エンコーダが前記コードワードを宛先に送信するステップをさらに含む請求項1記載の方法。
【請求項5】
通信システムにおいてコードワードを発生する装置であって、
コードベクトルck内のゼロでないパルス位置の数dに関連した第1のオフセットを決定する手段であって、前記第1のオフセットは、前記コードベクトルの長さn及び単位大きさパルスの合計数mの関数である、第1のオフセットを決定する手段と、
前記コードベクトルck内の前記ゼロでないパルス位置dの位置の組に関連した第2のオフセットを決定する手段であって、前記第2のオフセットは、前記コードベクトルck内のゼロでないパルス位置の数d及び単位大きさパルスの合計数mの関数である、第2のオフセットを決定する手段と、
前記コードベクトルck内のゼロでないパルス位置の大きさの組に関連した第3のオフセットを決定する手段であって、前記第3のオフセットは、前記コードベクトルck内のゼロでないパルス位置の数d及び単位大きさパルスの合計数mの関数である、第3のオフセットを決定する手段と、
特定のパルス符号の組み合わせを表すインデックスを決定する手段であって、前記インデックスは、前記コードベクトルck内のゼロでないパルス位置の数dの関数である、インデックスを決定する手段と、
前記第1、第2及び第3のオフセット並びに前記インデックスを加算して、コードワードを発生する手段と
を備える装置。
【請求項1】
通信システムにおいてコードワードを発生する方法であって、
エンコーダが、コードベクトルck内のゼロでないパルス位置の数dに関連した第1のオフセットを決定するステップであって、前記第1のオフセットは、コードベクトルckの長さn及び単位大きさパルスの合計数mの関数である、第1のオフセットを決定するステップと、
前記エンコーダが、前記コードベクトルck内の前記ゼロでないパルス位置dの位置の組に関連した第2のオフセットを決定するステップであって、前記第2のオフセットは、前記コードベクトルck内のゼロでないパルス位置の数d及び単位大きさパルスの合計数mの関数である、第2のオフセットを決定するステップと、
前記エンコーダが、前記コードベクトルck内のゼロでないパルス位置の大きさの組に関連した第3のオフセットを決定するステップであって、前記第3のオフセットは、前記コードベクトルck内のゼロでないパルス位置の数d及び単位大きさパルスの合計数mの関数である、第3のオフセットを決定するステップと、
前記エンコーダが、特定のパルス符号の組み合わせを表すインデックスを決定するステップであって、前記インデックスは、前記コードベクトルck内のゼロでないパルス位置の数dの関数である、インデックスを決定するステップと、
前記エンコーダが、前記第1、第2及び第3のオフセット並びに前記インデックスを加算して、コードワードを発生するステップと
を備える方法。
【請求項2】
前記第1のオフセットが、式
【数1】
により与えられ、ここで、nはデシメートされたトラック長であり、dはパルス数であり、mはd個のパルスを発生するために用いられる単位大きさパルスの合計数である請求項1記載の方法。
【請求項3】
前記第2のオフセットは、式
【数2】
により与えられ、ここで、Iposは位置情報のインデックスであり、λ=[λ0 λ1 … λd-1]であり、λiはパルスの大きさのトラック・ベクトルtにおけるパルスiのデシメートされたパルス位置を表し、D(m,d)・2dはサブグループの中の要素の数である請求項1記載の方法。
【請求項4】
エンコーダが前記コードワードを宛先に送信するステップをさらに含む請求項1記載の方法。
【請求項5】
通信システムにおいてコードワードを発生する装置であって、
コードベクトルck内のゼロでないパルス位置の数dに関連した第1のオフセットを決定する手段であって、前記第1のオフセットは、前記コードベクトルの長さn及び単位大きさパルスの合計数mの関数である、第1のオフセットを決定する手段と、
前記コードベクトルck内の前記ゼロでないパルス位置dの位置の組に関連した第2のオフセットを決定する手段であって、前記第2のオフセットは、前記コードベクトルck内のゼロでないパルス位置の数d及び単位大きさパルスの合計数mの関数である、第2のオフセットを決定する手段と、
前記コードベクトルck内のゼロでないパルス位置の大きさの組に関連した第3のオフセットを決定する手段であって、前記第3のオフセットは、前記コードベクトルck内のゼロでないパルス位置の数d及び単位大きさパルスの合計数mの関数である、第3のオフセットを決定する手段と、
特定のパルス符号の組み合わせを表すインデックスを決定する手段であって、前記インデックスは、前記コードベクトルck内のゼロでないパルス位置の数dの関数である、インデックスを決定する手段と、
前記第1、第2及び第3のオフセット並びに前記インデックスを加算して、コードワードを発生する手段と
を備える装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−50070(P2011−50070A)
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願番号】特願2010−223479(P2010−223479)
【出願日】平成22年10月1日(2010.10.1)
【分割の表示】特願2001−516181(P2001−516181)の分割
【原出願日】平成12年7月18日(2000.7.18)
【出願人】(390009597)モトローラ・インコーポレイテッド (649)
【氏名又は名称原語表記】MOTOROLA INCORPORATED
【Fターム(参考)】
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願日】平成22年10月1日(2010.10.1)
【分割の表示】特願2001−516181(P2001−516181)の分割
【原出願日】平成12年7月18日(2000.7.18)
【出願人】(390009597)モトローラ・インコーポレイテッド (649)
【氏名又は名称原語表記】MOTOROLA INCORPORATED
【Fターム(参考)】
[ Back to top ]