(57)【特許請求の範囲】
【請求項１】
初期ベクトルを分解してサイン・ベクトル及び初期絶対値ベクトルを取得するステップと、
前記サイン・ベクトルを符号化してサイン符号を取得するステップと、
前記初期絶対値ベクトルに対してマルチレベル順列に基づいた符号化を行い、絶対値ベクトル符号を取得するステップと、
前記サイン符号及び前記絶対値ベクトル符号を結合して前記初期ベクトルの符号を取得するステップと、
を含むベクトル符号化方法。
【請求項２】
前記初期ベクトルを分解する前記ステップの前に、前記初期ベクトルが属する特性コードブックを決定するステップと、
前記初期ベクトルの前記符号を取得した前記ステップの後に、前記特性コードブックの特性値を取得し、前記特性値及び前記初期ベクトルの前記符号を結合して、前記初期ベクトルの最終符号を取得するステップと、
をさらに含む請求項１に記載の方法。
【請求項３】
前記初期絶対値ベクトルに対してマルチレベル順列に基づいた符号化を行う前記ステップが、
前記初期絶対値ベクトルの、元値が事前設定条件を満たす元を削除するステップと、
前記事前設定条件を満たさない元を用いて新しい絶対値ベクトルを構築するステップと、
前記初期絶対値ベクトルの前記事前条件を満たさない前記元の位置を符号化して、位置符号を取得するステップと、
前記新しい絶対値ベクトル中の元値の数が１より大きい場合、前記新しい絶対値ベクトルに対してマルチレベル順列に基づいた符号化を続けるステップと、
前記新しい絶対値ベクトル中の元値の数が１である場合に、マルチレベル順列に基づいた符号化で得られたすべての前記位置符号を結合して、前記絶対値ベクトル符号を取得するステップと、
を含む請求項１又は請求項２に記載の方法。
【請求項４】
前記位置符号が、事前設定位置符号計算公式を使用して計算され、あるいは事前設定位置符号表から探索される、請求項３に記載の方法。
【請求項５】
前記事前設定条件が、事前設定符号表において格納され、
マルチレベル順列に基づいた符号化で削除される元値が、前記事前設定符号表から探索される、請求項３に記載の方法、
【請求項６】
前記サイン・ベクトルを符号化して前記サイン符号を取得する前記ステップが、
入力されたベクトルの非ゼロ元に対応する、前記サイン・ベクトルのサインを順番に符号化して、前記サイン符号を取得するステップを含む、請求項１又は請求項２に記載の方法。
【請求項７】
前記サイン符号及び前記絶対値ベクトル符号を結合する前記ステップが、
前記サイン符号の前記ビット数を決定するステップと、
前記サイン符号の前記ビット数だけ左シフトされた前記絶対値ベクトル符号、及び前記サイン符号を結合するステップと、
を含む請求項１又は請求項２に記載の方法。
【請求項８】
初期ベクトルの符号を分解して、サイン符号及び絶対値ベクトル符号を取得するステップと、
前記サイン符号を復号して、サイン・ベクトルを取得するステップと、
前記絶対値ベクトル符号に対してマルチレベル順列に基づいた復号化を行い、初期絶対値ベクトルを取得するステップと、
前記サイン・ベクトル及び前記初期絶対値ベクトルを結合して、初期ベクトルを取得するステップと
を含むベクトル復号化方法。
【請求項９】
前記初期ベクトルの最終符号が取得された場合、前記初期ベクトルの前記符号を分解する前記ステップの前に、
前記初期ベクトルに対応する特性コードブックを決定するステップと、
コードブック空間内の前記特性コードブックの特性値を取得するステップと、
前記特性値に従って前記初期ベクトルの前記最終符号を分解して、前記初期ベクトルの前記符号を取得するステップと、
をさらに含む請求項８に記載の方法。
【請求項１０】
前記絶対値ベクトル符号に対してマルチレベル順列に基づいた復号化を行う前記ステップが、
前記絶対値ベクトル符号を分解して、前記絶対値ベクトルの元の、上位レベルの絶対値ベクトルでの位置符号を取得するステップと、
前記位置符号を復号して、前記絶対値ベクトルの元の、前記上位レベルの絶対値ベクトルでの位置データを取得するステップと、
事前設定復号表から前記上位レベルの絶対値ベクトルの元の数、及び前記絶対値ベクトルの取得の際に削除された元の元値を取得するステップと、
前記位置データに従って前記上位レベルの絶対値ベクトルに前記絶対値ベクトルの元を配置し、残りの位置に削除された元の前記元値を提供して、前記上位レベルの絶対値ベクトルを取得するステップと、
前記上位レベルの絶対値ベクトルが前記初期絶対値ベクトルでない場合、前記上位レベルの絶対値ベクトルに対してマルチレベル順列に基づいた復号化を続けるステップと、
を含む請求項８又は請求項９に記載の方法。
【請求項１１】
前記位置データが、事前設定位置データ復号公式を使用して計算され、あるいは事前設定位置データ復号表から探索される、請求項１０に記載の方法。
【請求項１２】
前記初期ベクトルの前記符号を分解する前記ステップが、
前記初期ベクトルが属する前記特性コードブックから前記サイン符号のビット数を決定するステップと、
前記初期ベクトルの前記符号から前記サイン符号のビットでのデータを抽出して、前記サイン符号を取得するステップと、
前記サイン符号のビットでのデータが抽出された前記初期ベクトルの前記符号を前記サイン符号のビット数だけ右シフトして、前記絶対値ベクトル符号を取得するステップと、を含む
請求項８又は請求項９に記載の方法。
【請求項１３】
前記サイン・ベクトル及び前記初期絶対値ベクトルを結合する前記ステップが、
前記初期絶対値ベクトル中の前記非ゼロ元に前記サインを順番に割り当てるステップを含む請求項８又は請求項９に記載の方法。
【請求項１４】
初期ベクトルを分解して、サイン・ベクトル及び初期絶対値ベクトルを取得するように適合された分解ユニットと、
前記サイン・ベクトルを符号化して、サイン符号を取得するように適合されたサイン符号化ユニットと、
前記初期絶対値ベクトルに対してマルチレベル順列に基づいた符号化を行い、絶対値ベクトル符号を取得するように適合されたマルチレベル順列に基づいた符号化ユニットと、
前記サイン符号及び前記絶対値ベクトル符号を結合して、前記初期ベクトルの符号を取得するように適合された結合ユニットと、
を含むベクトル符号化装置。
【請求項１５】
前記初期ベクトルが属する特性コードブックを決定するように適合された特性コードブック決定ユニットと、
前記特性コードブックの特性値を取得し、前記特性値及び前記初期ベクトルの前記符号を結合して、前記初期ベクトルの最終符号を取得するように適合された最終符号化値取得ユニットと、
をさらに含む請求項１４に記載の装置。
【請求項１６】
前記マルチレベル順列に基づいた符号化ユニットが、
前記初期絶対値ベクトルの、事前設定条件を満たす値を有する元を削除するように適合された元削除ユニットと、
前記事前設定条件を満たさない元を順番に保存して、新しい絶対値ベクトルを構築するように適合された元保存ユニットと、
前記初期絶対値ベクトルの前記事前設定条件を満たさない前記元の位置を符号化して位置符号を取得し、前記新しい絶対値ベクトル中の元値の数が１より大きい場合に、前記新しい絶対値ベクトル中の、元値が前記事前設定条件を満たさない元を削除するために前記元削除ユニットをトリガするように適合された位置符号化ユニットと、
前記新しい絶対値ベクトル中の元値の数が１である場合に、マルチレベル順列に基づいた符号化で得られた個々の前記位置符号を結合して、前記絶対値ベクトル符号を取得するように適合された絶対値ベクトル符号化ユニットと、
を含む請求項１４又は請求項１５に記載の装置。
【請求項１７】
前記位置符号化ユニットが、事前設定位置符号計算公式を使用して前記位置符号を計算し、あるいは事前設定位置符号表より前記位置符号を探索する
請求項１６に記載の装置。
【請求項１８】
前記マルチレベル順列に基づいた符号化ユニットが、
前記事前設定条件が格納される前記事前設定符号表を格納するように適合された事前設定符号表保存ユニットを含み、
前記元削除ユニットが、前記事前設定符号表より削除されるべき元を探索する
請求項１６に記載の装置。
【請求項１９】
前記サイン符号化ユニットが、前記非ゼロ元に対応する、前記サイン・ベクトル中のサインを符号化して、前記サイン符号を取得するように適合される
請求項１４又は請求項１５に記載の装置。
【請求項２０】
前記結合ユニットが、さらに、
前記サイン符号のビット数を決定するように適合されたビット数決定ユニットと、
前記サイン符号の前記ビット数だけ前記絶対値ベクトル符号を左シフトしてから、前記サイン符号と結合させるように適合された結合ユニットと、を含む
請求項１４又は請求項１５に記載の装置。
【請求項２１】
初期ベクトルの符号を分解して、サイン符号及び絶対値ベクトル符号を取得するように適合された分解ユニットと、
前記サイン符号を復号して、サイン・ベクトルを取得するように適合されたサイン復号化ユニット、
前記絶対値ベクトル符号に対してマルチレベル順列に基づいた復号化を行い、初期絶対値ベクトルを取得するように適合されたマルチレベル順列に基づいた復号化ユニットと、
前記サイン・ベクトル及び前記初期絶対値ベクトルを結合して、初期ベクトルを取得するように適合された結合ユニットと、
を含むベクトル復号化装置。
【請求項２２】
前記初期ベクトルが対応する特性コードブックを決定し、コードブック空間内の前記特性コードブックの特性値を取得するように適合された特性コードブック決定ユニットと、
前記特性値に従って前記初期ベクトルの最終符号を分解して、前記初期ベクトルの前記符号を取得するように適合された符号化値決定ユニットと、
をさらに含む請求項２１に記載の装置。
【請求項２３】
前記マルチレベル順列に基づいた復号化ユニットが、
前記絶対値ベクトル符号を分解して、前記絶対値ベクトルの元の、上位レベルの絶対値ベクトルでの位置符号、及び上位レベルの絶対値ベクトル符号を取得するように適合された絶対値ベクトル符号分解ユニットと、
前記位置符号を復号して、前記絶対値ベクトルの元の、前記上位レベルの絶対値ベクトルでの位置データを取得するように適合された位置データ取得ユニットと、
事前設定復号表を探索して、前記上位レベルの絶対値ベクトルの元の数、及び前記絶対値ベクトルを取得する際に削除された元の元値を探索するように適合されたデータ探索ユニットと、
前記位置データに従って前記上位レベルの絶対値ベクトルに前記絶対値ベクトルの元を配置し、残りの位置に削除された元の前記元値を提供して、前記上位レベルの絶対値ベクトルを取得し、前記上位レベルの絶対値ベクトルが前記初期絶対値ベクトルでない場合に、前記上位レベルの絶対値ベクトルに対応する位置符号を復号するために前記位置データ取得ユニットをトリガするように適合された絶対値ベクトル取得ユニットと、を含む
請求項２１又は請求項２２に記載の装置。
【請求項２４】
前記位置データ取得ユニットが、事前設定位置データ復号公式を使用して前記位置符号を計算し、あるいは事前設定位置データ復号表から前記位置データを探索する
請求項２３に記載の装置。
【請求項２５】
前記分解ユニットが、
前記初期ベクトルが属する特性コードブックから前記サイン符号のビット数を決定するように適合されたサイン符号ビット数決定ユニットと、
前記初期ベクトルの前記符号から前記サイン符号のビットでのデータを抽出して、前記サイン符号を取得するように適合されたサイン符号抽出ユニットと、
前記サイン符号のビットでのデータが抽出された前記初期ベクトルの前記符号を前記サイン符号のビット数だけ右シフトして、前記絶対値ベクトル符号を取得するように適合された絶対値ベクトル符号取得ユニットと、
を含む請求項２２の装置。
【請求項２６】
前記結合ユニットが、前記初期絶対値ベクトル中の非ゼロ元に前記サインを順番に割り当てることにより、前記サイン・ベクトル及び前記初期絶対値ベクトルを結合する
請求項２１又は請求項２２に記載の装置。
【請求項２７】
ベクトル復号化装置を含み、
前記ベクトル復号化装置が、
ベクトル符号を分解して、サイン符号及び絶対値ベクトル符号を取得すように適合された分解ユニットと、
前記サイン符号を復号して、サイン・ベクトルを取得するように適合されたサイン復号化ユニットと、
前記絶対値ベクトル符号に対してマルチレベル順列に基づいた復号化を行い、初期絶対値ベクトルを取得するように適合されたマルチレベル順列に基づいた復号化ユニットと、
前記サイン・ベクトル及び前記初期絶対値ベクトルを結合して、初期ベクトルを取得するように適合された結合ユニットと、を含むストリーム・メディア・プレイヤー。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００７年７月２３日に出願した「ベクトル符号化／復号化方法、装置、及びストリーム・メディア・プレイヤー」を標題とする、番号が２２００７１０１２９６０４．６の中国特許出願、及び、２００８年６月３０日に出願した「ベクトル符号化／復号化方法、装置、及びストリーム・メディア・プレイヤー」を標題とする、番号がＰＣＴ／ＣＮ２００８／０７１４８１の国際特許出願の優先権を主張し、なお、それらの出願は参照によって全体にここに取り入れられている。
【０００２】
本発明は、コーデック技術に関し、具体的には、ベクトル符号化／復号化方法、装置、及びストリーム・メディア・プレイヤーに関する。
【背景技術】
【０００３】
ベクトル量子化技術は、ストリーム・メディア符号化に通常採用されている。この技術の一般的な１つは、低レートの場合に広く使用されている格子ベクトル量子化である。例えば、オーディオ符号化では、広く用いられている拡張適応マルチレート・ワイドバンド・コーデック（ＡＭＲ−ＷＢ＋）オーディオ符号化アルゴリズムの変換符号励振（Transform Code Excite、ＴＣＸ）部分で採用されている量子化技術は、ＲＥ８上に構築されたマルチレート格子ベクトル量子化（Multi-rate Lattice Vector Quantization）技術である。
【０００４】
ＡＭＲ−ＷＢ＋オーディオ符号化アルゴリズムのＴＣＸ部分では、量子化アプローチとしては、マルチレート格子ベクトル量子化アプローチを適用している。マルチレート格子ベクトル量子化アプローチは、前処理を行われたスペクトル・データに８つの値が１グループとして、グループ毎に適用され、近接の法則に従ってこれら８つの値をＲＥ８集合中の元に量子化する。アルゴリズムでは、量子化は、ＲＥ８から元の集合、
ＲＥ８＝２Ｄ８∪｛２Ｄ８＋(1,...,1)｝を選択する。ここでは、
Ｄ８＝｛(X1,X2,...,X8)∈Ｚ8｜X1+...+X8は、偶数である｝。したがって、ＲＥ８集合中のすべての元の和は４の倍数である。このため、量子化アプローチは、２Ｄ８集合からオリジナル・データに最も近い元を探索し、さらに、２Ｄ８＋(1,1,1,...,1）集合からオリジナル・データに最も近い元を探索し、そして、探索された２つの元を比較して結果、つまり初期ベクトル、を取得することとなる。初期ベクトは、ｃｋによって表わされる、整数データのグループ（X0,X1,...,Xn-1）である。入力されたデータは各々が８つの値からなるグループに分割されたので、得られたｃｋは、実際には（X0,X1,...,X7）である。
【０００５】
続いて、基礎コードブックＱ０、Ｑ２、Ｑ３、Ｑ４からｃｋを探索する。ｃｋが基礎コードブックに見つからない場合、ｃｋは、Ｖｏｒｏｎｏｉ拡張によって基礎コードブック中に拡張される。その結果、対応する基礎コードブック・インデックス及び拡張コードブック・インデックスが決定される。基礎コードブックＱ０、Ｑ２、Ｑ３、Ｑ４は、下記の表１において示されている。
【０００６】
【表１】
0004601690.tif 000002
表１に示している特性コードブック、即ち、Leaderは、それぞれの球面上に分布している。Sphereは、球面の大きさを示す。Sizeは、Leaderの順列及び組合せによって形成され得る符号語の数を表す。また、Ｋａは異なるLeaderを識別し、また、各Leaderはそれぞれ異なるＫａ値を有し、且つ、それによって識別されている。Sphere(S)の値は、Leaderの各要素の４乗の和の１／４である。つまり、
【式１】
【０００７】
0004601690.tif 000003
【０００８】
Leaderはそれぞれ異なる値を有するＳと対応する。符号化では、１つのＳの値は１つのｋａの値と対応する。８次元のベクトルの場合には、対応するｋａは、算出された８次元ベクトルのＳの値だけをもって探索されることができる。したがって、Ｓの値が属するLeaderはｋａの値から決定されることができる。表１はさらに、Leaderの基礎コードブックをも示している。この基礎コードブックは、Ｑ０、Ｑ２、Ｑ３及びＱ４に分けられている。表１に示すように、Ｑ０はたった１つのLeaderを包含するが、Ｑ２、Ｑ３及びＱ４は３、８、及び２８個のLeaderをそれぞれ包含する。ただし、ここでは、
【式２】
【０００９】
0004601690.tif 000004
【００１０】
ｃｋが属する基礎コードブックが決定された後、ｃｋが元の集合(ａ0,ａ1,…,ａq-1)からのサンプルであり、また、w(i)がサンプル中の元aiの数であると仮定すると、Leader Ｌの可能な状態の数K(l)は、以下のように決定される：
【式３】
【００１１】
0004601690.tif 000005
【００１２】
ｄ(ｋ)＝i、Xｋ＝ａi、また、ｗiｋが、(X0,X1,…,Xｎ-1)中の元ａiの数である場合、(X0,X1,…,Xｎ-1)のインデックスは、以下のように符号化される。
【式４】
【００１３】
0004601690.tif 000006
【００１４】
復号化では、ベクトルｄ(ｋ)（ｋ＝0, …,7）は、下記の公式を使用して順に取得される。
【式５】
【００１５】
0004601690.tif 000007
【００１６】
その後、ｄ(ｋ)＝i及びXｋ＝ａiに基づいて、(X0,X1,…,Xｎ-1)は、ｄ(ｋ)より導出される。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、上記の解法は、少なくとも多数の不規則な階乗が符号化復号化中に計算されるという点で不利である。更に、これらの任意の階乗の計算は、テーブル・ルックアップ処理によってもほとんど単純化することができないので、高度な計算の複雑さをもたらしている。
【課題を解決するための手段】
【００１８】
本発明の実施の形態は、ベクトル符号化／復号化方法、装置、及びストリーム・メディア・プレイヤーを提供し、それらによって、計算の複雑さを軽減する。
【００１９】
本発明の一実施の形態は、ベクトル符号化方法を提供する。該方法は、
初期ベクトルを分解してサイン・ベクトル及び初期絶対値ベクトルを取得するステップと、
前記サイン・ベクトルを符号化してサイン符号を取得するステップと、
前記初期絶対値ベクトルに対してマルチレベル順列に基づいた符号化を行い、絶対値ベクトル符号を取得するステップと、
前記サイン符号及び前記絶対値ベクトル符号を結合して前記初期ベクトルの符号を取得するステップと、
を含む。
【００２０】
本発明の一実施の形態は、ベクトル復号化方法を提供する。該方法は、
初期ベクトルの符号を分解して、サイン符号及び絶対値ベクトル符号を取得するステップと、
前記サイン符号を復号して、サイン・ベクトルを取得するステップと、
前記絶対値ベクトル符号に対してマルチレベル順列に基づいた復号化を行い、初期絶対値ベクトルを取得するステップと、
前記サイン・ベクトル及び前記初期絶対値ベクトルを結合して、初期ベクトルを取得するステップと
を含む。
【００２１】
本発明の一実施の形態は、ベクトル符号化装置を提供する。該装置は、
初期ベクトルを分解して、サイン・ベクトル及び初期絶対値ベクトルを取得するように適合された分解ユニットと、
前記サイン・ベクトルを符号化して、サイン符号を取得するように適合されたサイン符号化ユニットと、
前記初期絶対値ベクトルに対してマルチレベル順列に基づいた符号化を行い、絶対値ベクトル符号を取得するように適合されたマルチレベル順列に基づいた符号化ユニットと、
前記サイン符号及び前記絶対値ベクトル符号を結合して、前記初期ベクトルの符号を取得するように適合された結合ユニットと、
を含む。
【００２２】
本発明の一実施の形態は、ベクトル復号化装置を提供する。該装置は、
初期ベクトルの符号を分解して、サイン符号及び絶対値ベクトル符号を取得するように適合された分解ユニットと、
前記サイン符号を復号して、サイン・ベクトルを取得するように適合されたサイン復号化ユニット、
前記絶対値ベクトル符号に対してマルチレベル順列に基づいた復号化を行い、初期絶対値ベクトルを取得するように適合されたマルチレベル順列に基づいた復号化ユニットと、
前記サイン・ベクトル及び前記初期絶対値ベクトルを結合して、初期ベクトルを取得するように適合された結合ユニットと、
を含む。
【００２３】
本発明の一実施の形態は、ストリーム・メディア・プレイヤーを提供する。該プレイヤーは、
ベクトル復号化装置を含み、
前記ベクトル復号化装置が、
ベクトル符号を分解して、サイン符号及び絶対値ベクトル符号を取得すように適合された分解ユニットと、
前記サイン符号を復号して、サイン・ベクトルを取得するように適合されたサイン復号化ユニットと、
前記絶対値ベクトル符号に対してマルチレベル順列に基づいた復号化を行い、初期絶対値ベクトルを取得するように適合されたマルチレベル順列に基づいた復号化ユニットと、
前記サイン・ベクトル及び前記初期絶対値ベクトルを結合して、初期ベクトルを取得するように適合された結合ユニットと、を含む。
【発明の効果】
【００２４】
本発明に係る上記の技術的解法から分かるように、マルチレベル順列に基づいた符号化方法を使用して絶対値ベクトルを符号化することにより、複雑な公式を使用する計算の必要を無くし、その結果、計算の複雑さを低減することができる。
【発明を実施するための最良の形態】
【００２５】
本発明の目的、解法及び利点についてのよりよい理解のために、以下にて、図面を参照しながら実施例を挙げ、本発明をより詳細に説明する。
【００２６】
図１に示すように、本発明の実施の形態によるベクトル符号化（Vector Coding）方法は、下記のステップを含む。本説明中のストリーム・メディアがビデオ及びオーディオのようなストリーミング技術を適用するマルチメディアを指すことに留意すべきである。説明のために本明細書においてオーディオだけが説明されているが、ビデオのような他のストリーム・メディアに対する処理はオーディオに対する処理と類似する。
【００２７】
ステップ１０１：初期ベクトルを分解してサイン・ベクトル(Sign Vector)及び初期絶対値ベクトル(Initial Absolute Vector)を取得する。
【００２８】
初期ベクトル中の元のサインは正または負であり得る。また、その正、負のサインの可能な組合せは多数である。したがって、初期ベクトルを分解してサイン・ベクトルを取得することを通じて、初期ベクトル中の元の組合せの数を小さくすることが可能である。それによって、後の計算量を軽減する。
【００２９】
ステップ１０２：サイン・ベクトルを符号化してサイン符号(Sign Code)を取得する。
【００３０】
すべての元の各々のサインは直接拾い上げられることができる。代替的に、ゼロ元のサインを全部削除した後、非ゼロ元のサインのみを取り出すこともできる。こうすることによって、サイン・ベクトルの整数値によって占領されるデータビットが減少される。
【００３１】
サイン・ベクトルの整数値は、本発明の実施の形態の中で提供される下記のようなスキームを使用して取得されることができる。このスキームでは、初期ベクトル中のゼロの値を有する全ての元のサインは、サイン・ベクトルから取り除かれる。非ゼロ元のサインは、非ゼロ元が初期ベクトルの中で配置される順序で配置される。このようにして、サイン符号は、「１」が正符号を表わし、「０」が負符号を表し、あるいは「０」が正符号を表わし、「１」が負符号を表わすことで取得される。その結果、初期ベクトルのサイン・ベクトルに対応するサイン符号が取得される。また、サイン符号のビット数は初期ベクトル中の非ゼロ元の数と等しい。上記の説明では２進の場合として「１」及び「０」が使用されたが、例えば８進、１０進などの他の場合には他の値が使用されてもよい。本説明では配置順序が左から右であるとして説明されている。しかし、実際の適用の場合には、配置順序は、右から左へ、あるいは中央から右及び左へとすることもできる。それらの場合の処理が左から右への場合の処理に類似するので、ここではそれらの説明を省略する。
【００３２】
更に、実際に、サイン符号に対して後処理が必要である。それは、量子化過程で基礎コードブックを設計する際に制約がある。言いかえれば、ベクトル中のすべての元の値の和は４の倍数である必要があるためである。任意の一つの元のサインの変更によりすべての元の値の和の変化が４の倍数である場合、個々の元のサインは独立している。そうでなければ、個々の元のサインは相互に依存する。それは、サイン間に相関及び冗長性が存在し、効率的な符号化の目的のためにはサイン間の冗長性をなくす必要があることを意味する。初期ベクトルの任意の相互に依存するサインが別のサインビットによって決定され得るので、冗長性をなくす単純なアプローチは、初期ベクトルの相互に依存するサイン中の最後の非ゼロ元のサインを符号化しない、つまり、取得されたサイン符号の最終ビットを削除することである。それは、ベクトル中のすべての元の値の和が４の倍数である必要があるので、残りの１つの元のサインが、ベクトルの既知の別の元のサインから直接に導き出され得るためである。
【００３３】
ステップ１０３：初期絶対値ベクトルに対してマルチレベル順列に基づいた符号化（Multi-Level Permutation-Based Coding）を行い、絶対値ベクトル符号(Absolute Vector Code)を取得する。
【００３４】
マルチレベル順列に基づいた符号化は、初期絶対値ベクトルの、事前設定条件を満たす元をレベル毎に削除することである。事前設定条件は、例えば最も頻繁に現れる元値に対応する元などがある。２つ以上の最も頻繁に現れる元値が存在する場合、対応する元はそれらの値の順に従って削除され得る。もちろん、元は、特定のアプリケーション環境に応じて別の手段を使用して、選択され削除されることもできる。実際上、２つ以上の最も頻繁に現れる元値に対応するすべての元が削除されることができる。
【００３５】
マルチレベル順列に基づいた符号化では、現在のレベルに残った元は、その上位レベルでの位置データが位置順列(position permutation)を構成する。位置順列の可能な最大値は上位レベルに属する元の数である。そして、取得された現在レベルの位置順列を符号化する。このように、分解レベルの元がたった１つの元値に対応するまで、マルチレベル順列に基づいた符号化は、絶対値ベクトルに対して行われる。その結果、一連のレベルに基づいた符号化された値（符号化値）は取得され、そして、絶対値ベクトル符号は、これらのレベルに基づいた符号化された値を結合することにより取得される。実務上、マルチレベル順列に基づいた符号化では、レベルに基づいた符号化された値は、レベル毎に結合され、あるいは、レベルに基づいた符号化された値がすべて取得された後に一度に結合されることができる。以下の本発明の説明においては、レベルに基づいた符号化された値がレベル毎に結合される方法を、一実例として使用する。
【００３６】
ステップ１０４：サイン符号及び絶対値ベクトル符号を結合して初期ベクトル符号を取得する。
【００３７】
初期ベクトル符号はサイン符号及び絶対値ベクトル符号を結合することにより取得され得る。その結果、復号化では、絶対値ベクトル及び、絶対値ベクトルの元のサイン・ベクトルは、初期ベクトル符号から復号されることができる。１つの具体的な結合処理が以下のようなステップを含みうる。サイン符号のビット数を決定した後に、サイン符号、及び上記のビット数だけ左シフトされた絶対値ベクトル符号を結合して、初期ベクル符号を取得する。
【００３８】
実際の適用の際、さらに、サイン符号、及び右シフトされた絶対値ベクトル符号を結合することも可能である。代替的に、絶対値ベクトル符号のビット数が決定された後に、絶対値ベクトルとサイン符号を左又は右シフトし、そして、結合することも可能である。本発明は、絶対値ベクトル符号及びサイン符号を結合する特定のアプローチに制限されない。復号化の時に初期ベクトル符号からサイン符号及び絶対値ベクトル符号を導き出すすべてのアプローチは、本発明の範囲内にあると意図されている。
【００３９】
上記の説明から分かるように、本発明の実施の形態では、マルチレベル順列に基づいた符号化アプローチを使用して絶対値ベクトルを符号化したので、複雑な公式を使用する計算を行う必要が無くなり、結果的に、計算の複雑さを低減することができた。
【００４０】
実際上、複数の特性コードブックが存在しうる。言い換えれば、少なくとも２つの特性コードブックがコードブック空間に存在しうる。この場合、特性コードブックに属する初期ベクトルの符号化値が取得された後、さらに以下のような処理を行う必要がある。即ち、
コードブック空間における、初期ベクトルが属する特性コードブックの特性値を取得するステップ、特性値と特性コードブックに属する初期ベクトル符号とを結合するステップ、及び、初期ベクトルの最終符号を取得するステップ。
【００４１】
コードブック空間内の個々の特性コードブックの特性値が異なり、また、この特性値は、コードブック空間内の特性コードブックの完全にシフトされた値（以下、全体シフト値とも呼ぶ）であり得、あるいは、特性コードブックの通し番号のような、コードブック空間内の特性コードブックをユニークに特定できる別の値であり得る。従って、特性コードブックに属する初期ベクトル符号及び特性値を結合することによって、符号は、特性コードブックにマッピングされ、その結果、対応するコードブックは、復号化に使用されることができる。結合の具体的な手順は、サイン・ベクトルの整数値及び初期ベクトル符号を結合する場合の手順と同じである。実際に応用の時、コードブック空間内の特性コードブックの全体シフト値が特性値として使用される場合、コードブック空間内の各特性コードブックの全体シフト値の間の間隔が存在するため、もし、この間隔が十分に大きいときには、最終の符号化値は、特性コードブックに属する初期ベクトル符号に、全体シフト値を加えることにより取得されることができる。
【００４２】
上記のステップの後に、初期ベクトルは、複数の特性コードブックが存在する場合において、対応する特性コードブックにマッピングされることができる。
【００４３】
本発明の実施の形態による方法が、スピーチ・オーディオ標準の変換領域格子ベクトル量子化符号化に適用される場合、格子ベクトル量子化符号化のための基礎コードブックがすべて一定であるため、各Leaderの元のタイプ及び各タイプの元の数が決まっており、従って、Leaderの情報に基づいて、マルチレベル順列に基づいた符号化の順序、及び設定パラメーターは、前もって決定されることができる。例えば、表１に示した基礎コードブックが属するコードブックの場合、本発明の実施の形態によるマルチレベル順列に基づいた符号化の順序及び設定パラメーターは、表２に示すとおりとなる。表２は、レベルごとに、最も頻繁に現れる元値に対応する元が削除されることを示している。
【００４４】
【表２】
0004601690.tif 000008
表２は、その分解順序の列に示しているように、各Leaderに対応する分解順序、つまり、レベルごとに削除された元値を示している。Leaderの中の各元は、分解順序の列のデータに従って元値に基づいてレベル毎に左から右へ削除される。最後の列のデータｍ１、ｍ２及びｍ３は、それぞれレベル１、２、及び３で順列に基づいた符号化を行われるべき元の数ｍの値を表わす。上位レベルのｍは、現在レベルの元の数ｎの値と等しく、また、第１のレベルでの順列に基づいた符号化を行われるｎの値は、格子ベクトルの次元である（例えば、ＲＥ８の場合には、ｎは８である）。最後の列のデータＶｃは、Leaderの中の絶対値によって区別された元タイプの数、つまり、マルチレベル順列に基づいた符号化のレベルの数を表わす。最後の列のデータＳｎは、サイン符号のビット数を表わす。
【００４５】
本発明の実施の形態によるベクトル符号化方法は、以下にて具体的な実施例をもって説明される。図２は、Leader２０に属するベクトルを符号化する各ステージにおける計算データを示している。
【００４６】
Leader２０に属するベクトル（０、−２、０、０、４、０、６、０）中の元を分解して、絶対値ベクトル（０、２、０、０、４、０、６、０）及びサイン・ベクトル（０、−１、０、０、１、０、１、０）を取得する。
【００４７】
０をサイン・ベクトルから取り除いた後、「１」が負符号を表わし、「０」が正符号を表わすものとすれば、２進のサイン符号「１００」を取得する。２進法の１００は１０進の４であり、よって、サイン符号Ｓｉｇｎは４となる（Ｓｉｇｎ＝４）。
【００４８】
図２を参照する。絶対値ベクトルに対してマルチレベル順列に基づいた符号化を行う。まず、絶対値ベクトルの中で０の値を有する元を取り除いて絶対値ベクトル（２、４、６）を取得する。これらの元２、４、及び６が上位レベルにおける位置データはそれぞれ１、４、及び６である。この場合、３つの元は組み合わせ原理に従って８つの元から選択される。また、対応する位置符号は事前設定の公式、つまり、
【式６】
【００４９】
0004601690.tif 000009
【００５０】
を用いて計算され得る。ここでは、ｐ０は、「２」の位置データを表わし、ｐ１は、「４」の位置データを表わし、また、ｐ２は、「６」の位置データを表わす。代替的に、位置符号は事前設定の位置符号表から検索されることもできる。図３ａに本発明の実施の形態によって提供された位置符号表の一例を示す。図３ａから分かるように、位置データ１、４及び６のそれぞれに対応する位置符号は、３１である。
【００５１】
続いて、マルチレベル順列に基づいた符号化は、取得された、３つの元を有する絶対値ベクトルに対して行われる。３つの元が３つの異なる元値に対応するので、元は３つの元から順番に削除される。図２に示すように、２の値を有する元を削除し、２つの元を有する絶対値ベクトル（４、６）を取得する。上位レベルでの位置符号が３１であるので、現在レベルでの位置符号及び上位レベルでの位置符号を結合することにより、結合した位置符号「３１×３＋２＝９５」が、取得される。３を乗じた理由は、３つの元から２つの元を選択して得られた組合せの数が、３であるためである。また、２を足した理由は、取得した絶対値ベクトル（４、６）の元４及び６の、ベクトル（２、４、６）での位置データが１及び２であり、また、ｉｎｄｅｘ３２の公式に従って取得される位置符号が２であるということである。
【式７】
【００５２】
0004601690.tif 000010
【００５３】
ここでは、ｐ０は、元「４」の位置データを表し、ｐ１は、元「６」の位置データを表わす。もちろん、位置符号は事前設定の位置符号表から検索されることもできる。本発明の実施の形態によって提供される位置符号表の一例を、図３ｂに示している。図３ｂから分かるように、位置データ１、２の各々に対応する位置符号は、２である。
【００５４】
同様に、取得された、２つの元を有する絶対値ベクトルに対しても、続けてマルチレベル順列に基づいた符号化を行う。図２に示すように、４の値を有する元を削除し、たった１つの元を有する絶対値ベクトル（６）を取得する。上位レベルでの位置符号は９５であり、２つの元から１つの元を選択することから得られた組合せの数は２であり、また、ベクトル（４、６）における元６の位置データは１であるため、公式
【式８】
【００５５】
0004601690.tif 000011
【００５６】
を用いて「１」という位置符号を取得することができる。ここでは、ｐ０は、ベクトル（４、６）における元６の位置データを表わす。その結果、結合した位置符号は９５×２＋１＝１９１である。
【００５７】
この時点で、取得された絶対値ベクトル中の元値の数が１であるので、マルチレベル順列に基づいた符号化は終わる。絶対値ベクトルの初期元の中の非ゼロ元の数が３であるので、言いかえれば、サイン・ベクトルの整数値のビット数が３であるので、サイン符号及び絶対値ベクトル符号を結合するために、絶対値ベクトル符号は、左へ３ビットシフトされてから、サイン符号に足される必要がある。このように絶対値ベクトル符号及びサイン符号を結合して格納することにより、Leader２０に属する初期ベクトルの符号化値は、１９１×（２３）＋４＝１９１×８＋４＝１５３２として取得される。ここでは、４はサイン符号である。次に、Leader２０に属する符号、及びLeader２０のコードブック空間内において全体シフト値を結合する。Leader２０のコードブック空間内において全体シフト値が５７７２８であるとすれば、取得された最終的な符号化値は、５９２６０となる。コードブック空間内でLeader２０の全体シフト値は、システムにおけるLeader２０の記憶位置に依存し、システムによって変わり得るが、同一のシステムにおいては一定である。
【００５８】
上記の説明から分かるように、複雑な階乗は計算されずに、また、計算の量も少ない。更に、本実施の形態では、表２に示したような表、位置符号を計算する公式又は位置符号を検索するために使用される位置符号表、及び少量の一時的なデータを格納することだけが要求されているため、多くの記憶空間を占領する必要もない。本実施の形態では、レベル毎に１つの元値に対応する１つの元のみを削除していたが、実際の応用において、元値の数が多い場合には、各レベルで複数の元値に対応する複数の元を削除してもよい。
【００５９】
図４に示すように、本発明の第３の実施の形態による方法は、以下のようなステップを含む。
【００６０】
ステップ４０１：初期ベクトルを分解して、サイン・ベクトル及び絶対値ベクトルを取得する。
【００６１】
ステップ４０２：非ゼロ元のサインは、非ゼロ元が初期ベクトルの中で配置される順に配置される。そして、「１」が正符号を表わし、「０」が負符号を表わすものとして、サイン符号を取得する。
【００６２】
実際の適用の時、代替的に、「０」が正符号を表わし、「１」が負符号を表わすものとして、サイン符号を取得することもできる。
【００６３】
ステップ４０３：初期ベクトル中の元のサインが独立しているかどうかを決定する。サインが独立している場合、本方法はステップ４０５に進み、そうでなければ、本方法はステップ４０４に進む。
【００６４】
ステップ４０４：サイン符号の最終ビットを削除する。
【００６５】
ステップ４０５：最多の元に対応する元値に対応するすべての元を絶対値ベクトルから削除する。
【００６６】
本実施の形態では、最多の元に対応する元値に対応するすべての元を絶対値ベクトルから削除するアプローチを採用している。しかし、実際の適用の時、最少の元に対応する元値に対応するすべての元を絶対値ベクトルから削除するアプローチを採用してもよい。
【００６７】
ステップ４０６：最多の元に対応しない元値に対応する元については、絶対値ベクトル中の該元の位置データを取得する。また、位置符号を事前設定のアプローチによって取得する。
【００６８】
事前設定のアプローチは、位置符号が位置符号を計算する公式を使用して計算される、或いは事前設定の位置符号表の中から検索されるアプローチであり得る。
【００６９】
ステップ４０７：最多の元に対応しない元値の数が１であるか否かを決定する。１である場合、プロセスはステップ４０９に進む；そうでなければ、プロセスはステップ４０８に進む。
【００７０】
ステップ４０８：最多の元に対応しない元値に対応する元を順に保存して、新しい絶対値ベクトルを構築する。また、プロセスはステップ４０５に進む。
【００７１】
］ステップ４０９：取得された位置符号は、サイン符号のビット数だけ左へシフトされてからサイン符号と結合される位置符号へ結合され、これによって、初期ベクトルから決定された特性コードブックに属する、初期ベクトルの符号を取得する。
【００７２】
ステップ４１０：特性コードブックに属する符号及び、コードブック空間内の特性コードブックの全体シフト値を結合して、初期ベクトルの最終符号化値を取得する。
【００７３】
本実施の形態では、マルチレベル順列に基づいた符号化を採用したので、複雑な階乗の計算がなくなり、また、計算の量も少ない。更に、本実施の形態では、保存されるべき一時的なデータも多くないので、多くの記憶空間を占領しない。
【００７４】
本発明の実施の形態は、さらに、ベクトル符号化方法に対応するベクトル復号化方法を提供する。生成された初期ベクトルの符号を受信した後に、復号側は、符号化とは反対のアプローチに従って復号されるべき値を分解し、各部分の順列に基づいた復号値を取得し、そして、復号によって位置情報データを取得し、また、マルチレベル置換を行って、最終的に初期ベクトルを取得する。復号は、主に以下のようなステップを含む。（１）符号化値の範囲を検索して、格子ベクトルが属するLeaderを取得し、そして、符号のシフト値を取得して、符号化値からシフト値を引き、Leader内の符号化値を取得する。（２）Leaderの符号化値を分解して、サイン符号の値及びマルチレベル順列に基づいた符号の値を取得する。（３）マルチレベル順列に基づいた符号の値をレベルごとに分解し、各レベルの順列に基づいた符号の値を取得し、順列に基づいた復号モジュールを使用する解析（Parse）を通じて各レベルの位置ベクトルを取得し、そして、マルチレベル置換アプローチを使用して、初期ベクトルのすべての位置の元値を復元する。
【００７５】
図５に示すように、本発明の実施の形態によるベクトル復号化方法は、以下のようなステップを含む。
【００７６】
ステップ５０１：ベクトル符号を分解してサイン符号及び絶対値ベクトル符号を取得する。
【００７７】
ベクトルに対応する特性コードブックはベクトル符号から取得され得る。そして、ベクトル符号に対応するサイン符号のビット数は、事前設定の復号表から検索され得る。
【００７８】
サイン符号は、初期ベクトル中の元のサインを示す。各特性コードブック中の元の数が既知なので、サイン符号のビット数は、決定された特性コードブックから決定される。これらのデータはすべて事前設定の復号表に格納されることができる。
【００７９】
サイン符号のビットでのデータをベクトル符号から抽出し、サイン符号を取得する。ベクトル符号が絶対値ベクトル符号及びサイン符号によって共同で構築されるため、もし、符号化の際、特性コードブックの符号化値が左シフトされた絶対値ベクトル符号及びサイン符号を結合することによって取得された場合、ベクトル符号の最も右側の幾つかのビットがサイン符号である。
【００８０】
サイン符号のビットでのデータが抽出された後のベクトル符号を、サイン符号のビット数だけ右シフトして、絶対値ベクトル符号を取得する。サイン符号が抽出された後、サイン符号が抽出されたデータはビット数だけ右シフトされ、それによって、絶対値ベクトル符号が取得される。これはちょうど符号化の手続きの逆である。
【００８１】
ステップ５０２：サイン符号を復号してサイン・ベクトルを取得する。
【００８２】
取得されたサイン・ベクトルの整数値を２進法のものに変換する。そして、符号化の際の、「０」が正符号を表わし、「１」が負符号を表わす、あるいは、「０」が負符号を表わし、「１」が正符号を表わすことに応じて、元のサインを決定する。この実施の形態では、サイン符号は非ゼロ元のサインから決定されるものとして説明されている。
【００８３】
ステップ５０３：絶対値ベクトル符号に対してマルチレベル順列に基づいた復号化を行い、初期絶対値ベクトルを取得する。
【００８４】
マルチレベル順列に基づいた復号化（Multi-Level Permutation-based Decoding）の具体的な手順は下記の処理を含む。
【００８５】
絶対値ベクトル符号を分解して、絶対値ベクトルの元が上位レベルの絶対値ベクトルにおける位置符号を取得する。実際に、絶対値ベクトル符号がマルチレベル順列に基づいた符号化で得られた位置符号の結合によって構成されるので、復号の時に、それぞれのレベルに対応する位置符号は、絶対値ベクトル符号を直接分解することにより取得されることができる。
【００８６】
位置符号を復号して、絶対値ベクトルの元の、上位レベルの絶対値ベクトルでの位置データを取得する。
【００８７】
上位レベルの絶対値ベクトルの元の数、及び絶対値ベクトルの取得のために削除された元値は、事前設定復号表から検索される。
【００８８】
絶対値ベクトルの元はその位置データに従って上位レベルの絶対値ベクトルに配置される。また、削除された元値は残りの位置に提供される。これにより、上位レベルの絶対値ベクトルが取得される。
【００８９】
上位レベルの絶対値ベクトルが初期絶対値ベクトルでない場合、この方法は、初期絶対値ベクトルが取得されるまで、上記のステップに従ってマルチレベル順列に基づいた復号を続ける。
【００９０】
ステップ５０４：サイン・ベクトル及び初期絶対値ベクトルを結合して初期ベクトルを取得する。
【００９１】
具体的には、サインは、初期絶対値ベクトル中の非ゼロ元に順に提供される。
【００９２】
元のサインの相互依存性のため、符号化する際に、サイン符号の最終ビットが削除され得る。したがって、初期ベクトルを再構築する際に、初期ベクトルの最も右側の非ゼロ元がサインを提供されていない場合、最も右側の非ゼロ元のサインは、初期ベクトル中のすべての元の値の和が４の倍数であるという原則に従って決定されることができる。もちろん、符号化の時にサインが削除された非ゼロ元に依存して、初期ベクトル中の最も左側の非ゼロ元がサインを提供されていないこともありうる。
【００９３】
この実施の形態から分かるように、本実施の形態による解法を使用すれば、復号時には不規則な階乗の計算がなくなり、また、計算の量も少ない。更に、一時的なデータも符号化時のものに類似しているため、多くの記憶空間を占領しない。
【００９４】
実際、取得された符号がコードブック空間内の特性コードブックの特性値と結合した最終符号である場合、この最終符号は以下のステップを通じて分解される必要がある。即ち、
初期ベクトルの最終符号から初期ベクトルに対応する特性コードブックを決定し、コードブック空間内の該特性コードブックの特性値を取得するステップ、及び、
最終符号及び特性値から特性コードブックに属する初期ベクトルのベクトル符号を決定するステップ。
【００９５】
特性値は全体シフト値であり得る。コードブック空間内の各特性コードブックの記憶位置が固定されているため、コードブック空間内の特性コードブックの全体シフト値も固定である。従って、符号が取得された後、符号化値が位置する特性コードブックは、符号化値が位置する範囲により決定されることができる。具体的には、各特性コードブック及びそのシフト値が記録される表をシステムに保存し、復号の時にはこの表を直接に検索することができる。同様に、特性値が特性コードブックの通し番号である場合にも、類似の処理をする。
【００９６】
具体的には、もし、符号化の時に、符号が特性コードブックに属するベクトルの符号と全体シフト値とを足すことにより取得される場合、特性コードブックに属する符号化値は、全体シフト値を符号から引くことにより取得されることができる。
【００９７】
上記のステップを通じて、特性コードブックに属するベクトル符号を、最終符号を分解することにより取得し、そして、特性コードブックに属するベクトル符号化値を分解して、初期ベクトルを取得する。
【００９８】
図６に、本発明の第２の実施の形態によるベクトル復号化方法を示す。この方法は、下記のステップを含む。即ち、
ステップ６１：Leader及び全体シフト値を、最終符号化値が属する範囲より取得する。
【００９９】
符号化値が５９２６０とする場合、符号化値がLeader２０に属し、且つ、全体シフト値が５７７２８であることを決定することができる。
【０１００】
ステップ６２：最終符号化値から全体シフト値を引き、Leaderに属する初期ベクトルの符号化値を取得する。
【０１０１】
符号化値５９２６０から５７７２８を引き、Leader２０に属する符号化値、１５３２を取得する。
【０１０２】
ステップ６３：Leaderに属する初期ベクトルの符号化値を分解して、サイン符号及び絶対値ベクトル符号を取得する。
【０１０３】
１５３２を分解して、サイン符号「４」及び絶対値ベクトル符号「１５２８」を取得する。
【０１０４】
ステップ６４：サイン符号から、絶対値ベクトル中の元のサインを復元する。
【０１０５】
符号化の時に「１」が負符号を表わし、「０」が正符号を表わすとした場合、１０進法の４は２進法の１００に変換される。したがって、非ゼロ元に対応するサインは、左から右へ、それぞれ「−」、「＋」及び「＋」である。
【０１０６】
ステップ６５：マルチレベル順列に基づいた復号を行う。具体的には、以下のようなステップを含む。
【０１０７】
ステップ６５１：絶対値ベクトル符号のレベルｎの符号を分解する。
【０１０８】
ここでは、ｎは、符号化の時に使用される、マルチレベル順列に基づいた符号化のレベルの数である。ｎの値は、異なる特性的なコードブックに応じて変わり得、具体的な数値としては表２のＶｃ項から直接取得されることができる。
【０１０９】
この実施の形態はLeader２０を例に挙げて説明される。表２から分かるように、４つのレベルがある。０の元値を有する元はすべてレベル１で削除される。２の元値を有する元はすべてレベル２で削除される。４の元値を有する元はすべてレベル３で削除される。その結果、レベル４は、６の値を有する１つの元を有する。分解の前に３ビット（符号化時の３ビットのシフトに対応する）だけ絶対値ベクトル符号のサインビットを右シフトすることに留意する。従って、１５２８／（２３）＝１５２８／８より１９１を取得する。
【０１１０】
ステップ６５２：絶対値ベクトル符号のレベル３の符号を分解する。
【０１１１】
例えば、Leader２０の場合には、４つのレベルがある。しかし、レベル４では分解を実施しなかったので、Leader２０に対しては３つのレベルだけの順列に基づいた符号化を行っていた。従って、復号は、レベル３から始まる。符号化の時に１つのレベルで１つの元値に対応するあらゆる元が削除されたので、復号の時には相応して１つのレベルでは１つの元値に対応するすべての元が復元される。表２から分かるように、ｍ３は１であり、ｍ２は２であり、また、ｍ１は３である。レベル２の元の数だけの元からレベル３の元の数だけの元を選択する組合せの数は、つまり、２つから１つを選択する組み合わせの数は、２である。したがって、１９１％２の計算によれば、取得された商は９５である。それはレベル１及びレベル２の順列に基づいた位置符号である。剰余は１である。それは、レベル３の絶対値ベクトルの元の、レベル２の絶対値ベクトルでの位置符号である。この位置符号に対応する位置データは１である。
【０１１２】
ステップ６５３：絶対値ベクトル符号のレベル２の符号を分解する。
【０１１３】
同様に、９５％３の計算によれば、取得されたレベル１の位置符号は３１である。剰余は２である。それはレベル２の絶対値ベクトルの元の、レベル１の絶対値ベクトルでの位置符号である。該位置符号に対応する位置データは１と２である。
【０１１４】
ステップ６５４：絶対値ベクトル符号のレベル１の符号を分解する。
【０１１５】
レベル１が最後のレベルであるので、レベル１の絶対値ベクトルの元の、初期絶対値ベクトルでの位置符号は取得される。さらに、ｍ１は３である。また、初期データのビット数は８である。したがって、位置符号「３１」に対応する位置データ「１」、「４」及び「６」は、図３ａに示す表から検索されることができる。当然のことながら、位置データは公式を使って計算されることもできる。
【０１１６】
ステップ６５５：レベル１の決定されるべき位置でのデータはレベル２の復号結果に置換される。
【０１１７】
表２に示すように、最先に削除された元値は０である。したがって、０は、絶対値ベクトル中の、位置１、４及び６以外の位置にセットされる。
【０１１８】
ステップ６５６：レベル２の決定されるべき位置でのデータはレベル３の復号結果に置換される。
【０１１９】
表２に示すように、２番目に削除された元値は２である。また、絶対値ベクトル中の位置１、４及び６中の位置４及び６は、下位レベルで保存されている。したがって、２という元値は位置１に提供される。
【０１２０】
同様に、４という元値は位置４に提供される。また、６という元値は位置６に提供される。よって、初期絶対値ベクトル（０、２、０、０、４、０、６、０）を取得する。
【０１２１】
Leader２０のためには３つのレベルの復号のみが必要であるので、レベル４〜ｎの処理ステップはない。実際の応用時、多くのレベルに対応するLeaderの場合にも、各レベルの処理は類似する。従って、それらの説明はここに省略する。
【０１２２】
ステップ６５７：レベルｎ−１の決定されるべき位置でのデータはレベルｎの復号結果に置換される。
【０１２３】
ステップ６６：絶対値ベクトル中の非ゼロ元のサインは左から右へ復元される。
【０１２４】
取得された非ゼロ元のサインは、左から右へそれぞれ「−」、「＋」及び「＋」であるので、初期ベクトル（０、−２、０、０、４、０、６、０）が取得されることになる。
【０１２５】
ステップ６７：初期ベクトルの最も右側の非ゼロ元のサインが決定されていない場合、この非ゼロ元のサインは、初期ベクトル中のすべての元の値の和が４の倍数であるという原則に従って決定されることができる。
【０１２６】
実際上、初期ベクトルのサインの相互依存性により最も右側の非ゼロ元の符号ビットが削除されることはありうる。したがって、復号の際、取得された初期ベクトルの最も右側の非ゼロ元がサイン値を提供されていない場合、最も右側の非ゼロ元のサインは、初期ベクトル中のすべての元の元値の和が４の倍数であるという原則に従って決定されることができる。
【０１２７】
本実施の形態から分かるように、本実施の形態による解法を使用すれば、復号の時に不規則な階乗の計算がなくなり、且つ、計算の量も少ない。更に、使用する一時的なデータが符号化の時と類似しているので、多くの記憶空間の占領を必要としない。
【０１２８】
図７は、本発明の実施の形態によって提供されるベクトル符号化装置を示す図である。本装置は、下記のようなユニットを含む。即ち、
初期ベクトルを分解して、サイン・ベクトル及び初期絶対値ベクトルを取得するように適合された分解ユニット７１、
サインを符号化してサイン符号を取得するように適合されたサイン符号化ユニット７２、
初期絶対値ベクトルに対してマルチレベル順列に基づいた符号化を行って、絶対値ベクトル符号を取得するように適合されたマルチレベル順列に基づいた符号化ユニット７３、及び、
サイン符号及び絶対値ベクトル符号を結合して初期ベクトル符号を取得するように適合された結合ユニット７４を含む。
【０１２９】
上記のマルチレベル順列に基づいた符号化ユニット７３は、初期絶対値ベクトル中の、事前設定の条件を満たす値を有する元を削除するように適合された元削除ユニット、事前設定の条件を満たさない元を順番に保存し、新しい絶対値ベクトルを構築するように適合された元保存ユニット、事前設定の条件を満たさない元の、初期絶対値ベクトルにおける位置を符号化して位置符号を取得し、且つ、新しい絶対値ベクトル中の元値の数が１より大きい場合に、新しい絶対値ベクトル中の、元値が事前設定の条件を満たさない元を削除さするために元削除ユニットをトリガするように適合された位置符号化ユニット、及び、新しい絶対値ベクトル中の元値の数が１である場合にマルチレベル順列に基づいた符号化で得られた個々の位置符号を結合し、絶対値ベクトル符号を取得するように適合された絶対値ベクトル符号化ユニットを含む。
【０１３０】
上記の位置符号化ユニットは、事前設定の位置符号計算公式を使用して位置符号を計算し、又は、事前設定の位置符号表から位置符号を検索する。
【０１３１】
実際上、マルチレベル順列に基づいた符号化ユニット７３は、事前設定条件が格納される事前設定符号表を格納するように適合された事前設定符号表記憶ユニットをさらに含み、そして、元削除ユニットは、事前設定符号表から削除されるべき元を探索する。
【０１３２】
上記の結合ユニット７４は、サイン符号のビット数を決定するように適合されたビット数決定ユニット、及び、サイン符号のビット数だけ絶対値ベクトル符号を左シフトしてから、サイン符号と結合させることにより初期ベクトル符号を取得する用に適合された結合ユニットを含む。
【０１３３】
上記から分かるように、本実施の形態では絶対値ベクトルは、マルチレベル順列に基づいた符号化の方法を使用して符号化されている。その結果、複雑な公式を用いた計算がなくなり、また、計算の複雑さも低減される。
【０１３４】
実際に、コードブック空間内の特性コードブックの数が少なくとも２である場合、初期ベクトルの符号が特性コードブックへマッピングされる必要がある。従って、本発明のこの実施の形態によるベクトル符号化装置は、さらに、
初期ベクトルが属する特性コードブックを決定するように適合された特性コードブック決定ユニット、及び、
特性コードブックの特性値を取得し、該特性値及び初期ベクトルの符号を結合して初期ベクトルの最終符号を取得するように適合された最終符号化値取得ユニット
を含む。
【０１３５】
多数の特性コードブックが存在する場合に、最終符号化値取得ユニットは、初期ベクトルを対応する特性コードブックにマッピングするために使用されることができる。
【０１３６】
図８は、本発明の実施の形態によって提供されるベクトル復号化装置を示す図である。該装置は、
ベクトル符号を分解し、サイン符号及び絶対値ベクトル符号を取得するように適合された分解ユニット８１、
サイン符号を復号してサイン・ベクトルを取得するように適合されたサイン復号化ユニット８２、
絶対値ベクトル符号に対してマルチレベル順列に基づいた復号化を行い、初期絶対値ベクトルを取得するように適合されたマルチレベル順列に基づいた復号化ユニット８３、及び、
サイン・ベクトル及び初期絶対値ベクトルを結合して初期ベクトルを取得するように適合された結合ユニット８４
を含む。
【０１３７】
上記の分解ユニット８１は、初期ベクトルが属する特性コードブックからサイン符号のビット数を決定するように適合されたサイン符号ビット数決定ユニット、ベクトル符号からサイン符号のビットでのデータを抽出してサイン符号を取得するように適合されたサイン符号抽出ユニット、及び、サイン符号のビットでのデータが抽出されたベクトル符号をサイン符号のビット数だけ右シフトして、絶対値ベクトル符号を取得するように適合された絶対値ベクトル符号取得ユニットを含む。
【０１３８】
上記のマルチレベル順列に基づいた復号化ユニット８３は、絶対値ベクトル符号を分解して、絶対値ベクトルの元の、上位レベルの絶対値ベクトルでの位置符号、及び上位レベルの絶対値ベクトル符号を取得するように適合された絶対値ベクトル符号分解ユニット、位置符号を復号して、絶対値ベクトルの元の、上位レベルの絶対値ベクトルでの位置データを取得するように適合された位置データ取得ユニット、事前設定復号表から上位レベルの絶対値ベクトルの元の数、及び絶対値ベクトルを取得する際に削除された元の元値を探索するように適合されたデータ探索ユニット、位置データに従って上位レベルの絶対値ベクトルに絶対値ベクトルの元を配置し、残りの位置に削除された元の元値を提供して上位レベルの絶対値ベクトルを取得し、また、上位レベルの絶対値ベクトルが初期絶対値ベクトルでない場合に、上位レベルの絶対値ベクトルに対応する位置符号を復号するために位置データ取得ユニットをトリガするように適合された絶対値ベクトル取得ユニットを含む。上記の位置データ取得ユニットは、事前設定位置データ復号公式を用いて位置符号を計算し、あるいは事前設定位置データ復号表から位置データを探索することができる。
【０１３９】
以上から分かるように、本実施の形態の中では、絶対値ベクトルは、マルチレベル順列に基づいた符号化の方法を使用して符号化される。その結果、複雑な公式を用いた計算はなくなり、また、計算の複雑さも低減される。
【０１４０】
実際上、複数の特性コードブックが符号化に関係する場合、復号化の時に取得されるのは初期ベクトルの最終符号化値である。このため、本発明の実施の形態によるベクトル復号化装置は、さらに、
初期ベクトルが対応する特性コードブックを決定し、また、コードブック空間内の特性コードブックの特性値を取得するように適合された特性コードブック決定ユニット、及び、
特性値に従って初期ベクトルの最終符号を分解して初期ベクトルの符号を取得するように適合された符号化値決定ユニット
を含む。
【０１４１】
初期ベクトルの符号が取得された後、分解ユニットはベクトルの復号を開始することができる。
【０１４２】
本発明の実施の形態によれば、さらに、ベクトル復号化装置を含むストリーム・メディア・プレイヤーが提供される。ここでのベクトル復号化装置は、
ベクトル符号を分解してサイン符号及び絶対値ベクトル符号を取得するように適合された分解ユニット、
サイン符号を復号してサイン・ベクトルを取得するように適合されたサイン復号化ユニット、
絶対値ベクトル符号に対してマルチレベル順列に基づいた復号化を行い、初期絶対値ベクトルを取得するように適合されたマルチレベル順列に基づいた復号化ユニット、及び、
サイン・ベクトル及び初期絶対値ベクトルを結合して初期ベクトルを取得するように適合された結合ユニット
を含む。
【０１４３】
上記から分かるように、本実施の形態では、絶対値ベクトルは、マルチレベル順列に基づいた符号化の方法を使用して符号化されている。その結果、複雑な公式を用いた計算はなくなり、また、計算の複雑さも低減される。
【０１４４】
本実施の形態による方法の上記ステップの全部あるいは一部が、関連するハードウェアを命令するプログラムによって達成され得ることは当業者が理解するであろう。プログラムはコンピュータ可読記憶媒体上に格納され得、実行される時には以下のステップを行なうことが可能である。
【０１４５】
初期ベクトルを分解してサイン・ベクトル及び初期絶対値ベクトルを取得するステップ、サイン・ベクトルを符号化してサイン符号を取得するステップ、初期絶対値ベクトルに対しマルチレベル順列に基づいた符号化を行い、絶対値ベクトル符号を取得するステップ、及び、サイン符号及び絶対値ベクトル符号を結合して初期ベクトルの符号を取得するステップ。
【０１４６】
前述の記憶媒体はＲＯＭ、磁気ディスク、ＣＤなどであり得る。
【０１４７】
上記では、本発明の実施の形態によるベクトル符号化／復号化方法、装置、及びストリーム・メディア・プレイヤーを詳細に説明した。これらの実施の形態は、本発明の方法及びそのコンセプトについてのよりよい理解の目的のために説明された。更に、当業者は、本発明の実施の形態及びアプリケーションへの修正及び変更が可能であることを十分に認識するであろう。即ち、上記のすべての説明は本発明を限定するものではないと解釈されるべきである。
【図面の簡単な説明】
【０１４８】
【図１】本発明の第１の実施の形態によるベクトル符号化方法のフローチャートである。
【図２】本発明の第２の実施の形態によるベクトル符号化方法のフローチャートである。
【図３ａ】本発明の一実施の形態によるｉｎｄｅｘ８３の位置コード表の例の概略図である。
【図３ｂ】本発明の一実施の形態によるｉｎｄｅｘ３２の位置コード表の例の概略図である。
【図４】本発明の第３の実施の形態によるベクトル符号化方法のフローチャートである。
【図５】本発明の第１の実施の形態によるベクトル復号化方法のフローチャートである。
【図６】本発明の第２の実施の形態によるベクトル復号化方法のフローチャートである。
【図７】本発明の一実施の形態によるベクトル符号化装置の例を示す構造的なダイアグラムである。
【図８】本発明の一実施の形態によるベクトル復号化装置の例を示す構造的なダイアグラムである。
【図１】
0004601690.tif 000012
【図２】
0004601690.tif 000013
【図３ａ】
0004601690.tif 000014
【図３ｂ】
0004601690.tif 000015
【図４】
0004601690.tif 000016
【図５】
0004601690.tif 000017
【図６】
0004601690.tif 000018
【図７】
0004601690.tif 000019
【図８】
0004601690.tif 000020