(57)【要約】  本発明は、ベクトルのＮレベルの量子化のための方法、デバイスおよびソフトウェア・アプリケーション製品に関し、Ｎは、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から、選択可能となっている。各ベクトルの再生ベクトルは、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、このＮ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中の各Ｎに関して、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表されている。本発明は、さらにＮレベルに量子化済みのベクトルの再生ベクトルを検索する方法、デバイス、およびソフトウェア・アプリケーション製品に関し、ベクトルの表現を転送するシステムに関し、共用コードブックを決定する方法、デバイス、およびソフトウェア・アプリケーション製品に関し、さらに、かかる共用コードブックそれ自体に関する。
2009506368.tif 000002
【特許請求の範囲】
【請求項１】
ベクトルのＮレベル量子化方法であって、Ｎが、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記方法が、
各ベクトルの再生ベクトルを、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択するステップであって、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表されるステップを含む方法。
【請求項２】
ｎおよびｍが整数値であってＮ＝２nおよびＭ＝２mが成り立つ、請求項１に記載の方法。
【請求項３】
前記Ｎレベル・コードブック内の各再生ベクトルが、ｎビットの２進ワードによって特定される、請求項１に記載の方法。
【請求項４】
前記ベクトルが、データ・シーケンスの線形予測符号化に関連するパラメータを含む、請求項１に記載の方法。
【請求項５】
前記選択するステップが、携帯型通信デバイスによって実行される、請求項１に記載の方法。
【請求項６】
ベクトルのＮレベル量子化のためのデバイスであって、Ｎが、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記デバイスが、
各ベクトルの再生ベクトルを、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択する手段であって、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表される手段を含むデバイス。
【請求項７】
前記デバイスが、携帯型通信デバイスである、請求項６に記載のデバイス。
【請求項８】
ベクトルのＮレベル量子化のためのソフトウェア・アプリケーションが組込まれている記憶媒体を含むソフトウェア・アプリケーション製品であって、Ｎが、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記ソフトウェア・アプリケーションが、
各ベクトルの再生ベクトルを、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択するためのプログラム・コードを含み、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表されるソフトウェア・アプリケーション製品。
【請求項９】
Ｎレベルに量子化済みのベクトルの再生ベクトルを検索する方法であって、Ｎが、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記方法が、
前記量子化においてベクトルに対して選択された再生ベクトルの識別子を受信するステップと、
前記識別子に基づいて、Ｎ個の再生ベクトルから成るＮレベル・コードブックから前記再生ベクトルを検索するステップであって、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表されるステップと、
を含む方法。
【請求項１０】
Ｎレベルに量子化済みのベクトルの再生ベクトルを検索するデバイスであって、Ｎが、前記ベクトルの量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記デバイスが、
前記量子化においてベクトルに対して選択された再生ベクトルの識別子を受信する手段と、
前記識別子に基づいて、Ｎ個の再生ベクトルから成るＮレベル・コードブックから前記再生ベクトルを検索する手段であって、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表される手段と、
を含むデバイス。
【請求項１１】
Ｎレベルに量子化済みのベクトルの再生ベクトルを検索するソフトウェア・アプリケーションが組込まれている記憶媒体を含むソフトウェア・アプリケーション製品であって、Ｎが、前記ベクトルの量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記ソフトウェア・アプリケーションが、
前記量子化において、ベクトルに対して選択された再生ベクトルの識別子を受信するプログラム・コードと、
前記識別子に基づいて、Ｎ個の再生ベクトルから成るＮレベル・コードブックから前記再生ベクトルを検索するプログラム・コードであって、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表されるプログラム・コードと、
を含むソフトウェア・アプリケーション製品。
【請求項１２】
ベクトルの表現を転送するシステムであって、
各ベクトルの再生ベクトルを、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択する手段であって、Ｎが、前記選択より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、さらに前記Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る第１共用コードブックの最初のＮ個の再生ベクトルによって表される手段と、
伝送チャネルを介して、前記選択された再生ベクトルの識別子を送信する手段と、
前記識別子を受信する手段と、
前記識別子に基づいて、前記第１コードブックに等しい、Ｍ個の再生ベクトルから成る第２共用コードブックの最初のＮ個の再生ベクトルによって表されるＮ個の再生ベクトルから成るＮレベル・コードブックから、前記再生ベクトルを検索する手段と、
を含むシステム。
【請求項１３】
ベクトルのＮレベルの量子化に使用するＭ個の再生ベクトルから成る共用コードブックを決定する方法であって、Ｍが、事前定義済みの最大レベル数であり、Ｎが、前記量子化より前に、Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記量子化において、各ベクトルの再生ベクトルが、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、前記共用コードブックの最初のＮ個の再生ベクトルによって表され、前記方法は、
複数のトレーニングベクトルを少なくとも部分的に用いるトレーニングアルゴリズムによって前記再生ベクトルを生成するステップと、
前記生成された再生ベクトルを配列アルゴリズムに従って前記共用コードブック内に配列するステップであって、それにより、各Ｎに関して、前記共用コードブックの前記最初のＮ個の再生ベクトルがＮレベル・コードブックを形成し、前記ベクトルの前記量子化に使用されると、前記ベクトルの平均歪みを小さいものにすることができるステップと、
を含む方法。
【請求項１４】
ｎおよびｍが整数値であってＮ＝２nおよびＭ＝２mが成り立つ、請求項１３に記載の方法。
【請求項１５】
前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成するステップと、
前記トレーニングアルゴリズムによって、２個の再生ベクトルから成る２レベル・コードブックを生成するステップと、
前記２レベル・コードブック内の前記２個の再生ベクトルに最も類似する２個の再生ベクトルを前記初期コードブックから選択するステップと、
前記２個の選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の最初の２個の位置へコピーし、前記２個の選択された再生ベクトルを、前記初期コードブックから削除するステップと、
１＜ｉ≦ｍの場合に、次のステップ群
Ｉ＝２i個の再生ベクトルから成るＩレベル・コードブックを前記トレーニングアルゴリズムによって生成するステップ、
前記共用コードブックへ既にコピー済みのＩ／２個の再生ベクトルに最も類似する前記Ｉ／２個の再生ベクトルを前記Ｉレベル・コードブックから特定するステップ、
前記Ｉレベル・コードブック内の残りの特定されていないＩ／２個の再生ベクトルに関して、前記残りの特定されていないＩ／２個の再生ベクトルに最も類似するＩ／２個の再生ベクトルを前記初期コードブックから選択するステップ、および
前記Ｉ／２個の選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の増加方向側で空いている位置へコピーし、前記Ｉ／２個の選択された再生ベクトルを、前記初期コードブックから削除するステップ、
を繰り返すステップと、
を含む、請求項１４に記載の方法。
【請求項１６】
前記トレーニングアルゴリズムによって、２個の再生ベクトルから成る２レベル・コードブックを生成するステップと、
前記２個の再生ベクトルを、前記２レベル・コードブックから前記共用コードブック内の最初の２個の位置へコピーするステップと、
１＜ｉ≦ｍの場合に、次のステップ群
Ｉ＝２i個の再生ベクトルから成るＩレベル・コードブックを前記トレーニングアルゴリズムによって生成するステップであって、前記トレーニングアルゴリズムにおいて、前記共用コードブックへ既にコピー済みの前記Ｉ／２個の再生ベクトルが、Ｉ個の再生ベクトルから成るコードブックの最初の部分を形成し、これが、前記トレーニングアルゴリズムによって生成された前記Ｉレベル・コードブックの初期設定の機能を果たし、前記トレーニングアルゴリズム全体を通じて固定であると仮定するステップ、
前記生成されたＩレベル・コードブックの終わりのＩ／２個の再生ベクトルを、前記共用コードブック内の増加方向で次に空いているＩ／２個の位置へコピーするステップ、
を繰り返すステップと、
を含む、請求項１４に記載の方法。
【請求項１７】
複数のトレーニングベクトルを用いる前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成するステップと、
前記初期コードブックから、互いに最も相違する２個の再生ベクトルを選択するステップと、
前記２個の選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の最初の２個の位置へコピーし、前記２個の選択された再生ベクトルを、前記初期コードブックから削除するステップと、
前記初期コードブックが空にならない限り、次のステップ群
前記初期コードブックから、前記共用コードブックへ既にコピー済みの再生ベクトル全てに対して最も相違する再生ベクトルを選択するステップ、
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の増加方向側で次に空いている位置へコピーし、前記選択された再生ベクトルを、前記初期コードブックから削除するステップ、
を繰り返すステップと、
を含む、請求項１３に記載の方法。
【請求項１８】
複数のトレーニングベクトルを用いる前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成するステップと、
前記初期コードブックから、前記トレーニングベクトルの全てに最も類似する再生ベクトルを選択するステップと、
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の最初の位置へコピーし、前記選択された再生ベクトルを、前記初期コードブックから削除するステップと、
前記初期コードブックが空にならない限り、次のステップ群
前記初期コードブックから、前記共用コードブックへ既にコピー済みの再生ベクトル全てに対して最も相違する再生ベクトルを選択するステップ、
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の増加方向側で次に空いている位置へコピーし、前記選択された再生ベクトルを、前記初期コードブックから削除するステップ、
を繰り返すステップと、
を含む、請求項１３に記載の方法。
【請求項１９】
前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成するステップと、
前記初期コードブックが空にならない限り、次のステップ群
前記初期コードブックから、互いに最も類似する２個の再生ベクトルを選択するステップ、
前記２個の選択された再生ベクトルのうちの第１の再生ベクトルを、前記初期コードブックから前記共用コードブック内に、最後の位置から減少方向側で次に空いている位置へコピーし、前記２個の選択された再生ベクトルのうちの前記第１の再生ベクトルを、前記初期コードブックから削除するステップ、
を繰り返すステップと、
を含む、請求項１３に記載の方法。
【請求項２０】
Ｍ以下であるＮに対する前記事前定義済みの少なくとも２つの値から成る集合が、ｉ＝１，．．．，Ｋでありｊ＝２，．．．，Ｋの場合にＮj-1＜Ｎj≦ＭであるＮiを、Ｋ個含んでおり、前記方法が、
複数のトレーニングベクトルを用いる前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成するステップと、
前記初期コードブックからＮ1個の再生ベクトルを選択するステップであって、前記選択された再生ベクトルを含むコードブックの、前記トレーニングベクトル全てに対する歪みが最小になるように選択するステップと、
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブックへコピーし、前記選択された再生ベクトルを、前記初期コードブックから削除するステップと、
１＜ｉ≦Ｋである各Ｎiに関して、次のステップ群
前記初期コードブックからＮi−Ｎi-1個の再生ベクトルを選択するステップであって、前記共用コードブックへ既にコピー済みの前記Ｎi-1個の再生ベクトルと前記選択された再生ベクトルとを含むコードブックの、前記トレーニングベクトル全てに対する歪みが最小となるように選択するステップと、
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の増加方向側で次に空いている位置へコピーし、前記選択された再生ベクトルを前記初期コードブックから削除するステップ、
を繰り返すステップと、
を含む、請求項１３に記載の方法。
【請求項２１】
ベクトルのＮレベル量子化に使用するＭ個の再生ベクトルから成る共用コードブックを決定するデバイスであって、Ｍが、事前定義済みの最大レベル数Ｍであり、Ｎが、前記量子化より前に、Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記量子化において、各ベクトルの再生ベクトルが、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、前記共用コードブックの最初のＮ個の再生ベクトルによって表され、前記デバイスが、
複数のトレーニングベクトルを少なくとも部分的に用いるトレーニングアルゴリズムによって、前記再生ベクトルを生成する手段と、
前記生成された再生ベクトルを配列アルゴリズムに従って前記共用コードブック内に配列する手段であって、それにより、各Ｎに関して、前記Ｍ個の再生ベクトルの集合の中の最初のＮ個の再生ベクトルがＮレベル・コードブックを形成し、前記ベクトルの前記量子化に使用されると、前記ベクトルの平均歪みを小さいものにすることができる手段と、
を含むデバイス。
【請求項２２】
ベクトルのＮレベル量子化に使用するＭ個の再生ベクトルから成る共用コードブックを決定するソフトウェア・アプリケーションが組込まれている記憶媒体を含んでいるソフトウェア・アプリケーション製品であって、Ｍが、事前定義済みの最大レベル数Ｍであり、Ｎが、前記量子化より前に、Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記量子化において、各ベクトルの再生ベクトルが、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、前記共用コードブックの最初のＮ個の再生ベクトルによって表され、前記ソフトウェア・アプリケーションが、
複数のトレーニングベクトルを少なくとも部分的に用いるトレーニングアルゴリズムによって、前記再生ベクトルを生成するプログラム・コードと、
前記生成された再生ベクトルを配列アルゴリズムに従って前記共用コードブック内に配列するプログラム・コードであって、それにより、各Ｎに関して、前記Ｍ個の再生ベクトルの集合の中の最初のＮ個の再生ベクトルがＮレベル・コードブックを形成し、前記ベクトルの前記量子化に使用されると、前記ベクトルの平均歪みを小さいものにすることができるプログラム・コードと、
を含むソフトウェア・アプリケーション製品。
【請求項２３】
ベクトルのＮレベル量子化に使用する共用コードブックであって、Ｍが、事前定義済みの最大レベル数であり、Ｎが、前記量子化より前に、Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記量子化において、各ベクトルの再生ベクトルが、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、該Ｎ個の再生ベクトルが、前記事前定義済みの少なくとも２つの値から成る集合の中の各Ｎに関して、Ｍ個の再生ベクトルから成る前記共用コードブックの最初のＮ個の再生ベクトルによって表され、前記共用コードブックが、
Ｍ個の再生ベクトルの集合であって、前記Ｍ個の再生ベクトルの集合の中の前記再生ベクトルが、複数のトレーニングベクトルに少なくとも部分的に基づきトレーニングアルゴリズムによって生成され、前記再生ベクトルは、前記Ｍ個の再生ベクトルの集合の中で配列アルゴリズムに従って配列され、それにより、各Ｎに関して、前記Ｍ個の再生ベクトルの集合の中の最初のＮ個の再生ベクトルがＮレベル・コードブックを形成し、前記ベクトルの前記量子化に使用されると、前記ベクトルの平均歪みを小さいものにすることができる集合を含む共用コードブック。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベクトルのＮレベルの量子化のための方法、デバイス、およびアプリケーション製品に関し、Ｎは、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から、前記量子化より前に選択可能である。本発明は、さらに、Ｎレベルに量子化済みのベクトルの再生ベクトルを検索する方法、デバイス、およびコンピュータ・プログラム製品と、ベクトルの表現を転送するシステムと、かかる量子化に使用されるコードブックを算定する方法、デバイス、およびソフトウェア・アプリケーション製品と、かかるコードブックそれ自体と、に関する。
【背景技術】
【０００２】
音声および音響符号化のアルゴリズムは、通信、マルチメディア、および記憶システムにおいて多種多様な用途を有する。このような符号化アルゴリズムの開発は、符号化された信号の高品質を保ちながら伝送および記憶容量を節約する必要性に基づいて推進されている。エンコーダの複雑さは、アプリケーション・プラットフォームの処理能力によって制限される。例えば音声記憶といった一部のアプリケーションでは、エンコーダは非常に複雑であってもよいが、これに対しデコーダは、できる限り簡易である必要がある。
【０００３】
一般的な音声エンコーダでは、入力音声信号は、フレームと呼ばれるセグメント単位で処理される。通常、フレーム長は１０ｍｓ乃至３０ｍｓであり、後続するフレームの、５ｍｓ乃至１５ｍｓの先読みセグメントも利用可能である。フレームは、さらにいくつかのサブフレームに分けることができる。各フレームに関して、エンコーダは、例えば線形予測符号化（ＬＰＣ：Ｌｉｎｅａｒ  Ｐｒｅｄｉｃｔｉｖｅ  Ｃｏｄｉｎｇ）などによって、入力信号のパラメータ表現を決定する。得られたパラメータは、量子化されて通信チャネルを通じて送信されるか、またはデジタル形式で記憶媒体へ格納される。受信側では、デコーダが、受信したパラメータを用いて合成信号を作成する。
【０００４】
そのとき、現在では通常、ＬＰＣによって得られたＬＰＣ係数（または相当する線スペクトル周波数（ＬＳＦｓ：Ｌｉｎｅ  Ｓｐｅｃｔｒｕｍ  Ｆｒｅｑｕｅｎｃｉｅｓ））を、ＬＰＣ／ＬＳＦ係数を積み重ねてベクトルにすることによって、ベクトル量子化（ＶＱ：Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎ）を用いて量子化する。同様に、後続するいくつかのフレームまたはサブフレームの励起信号に関連するパラメータ（例えば、利得、ピッチまたは有声化パラメータなど）についても、ＶＱによって量子化することができる。
【０００５】
ＶＱは、ブロック符号化の原理に基づいた非可逆のデータ圧縮方法である。ＮレベルのＶＱでは、Ｎ個の再生ベクトル（いわゆるコードワード）を含んでいるコードブックから、ベクトルに対して生ずる歪みが最小となる再生ベクトルを選択することによってベクトルが量子化される（前記歪みは、一部の例を挙げればユークリッド距離またはユークリッド２乗距離などといった、しかるべき歪み測定によって算定される）。これらの選択された再生ベクトルは、各々の識別子によって一意に特定することができる。量子化されたベクトルが伝送チャネルを介して送信されることになっており、かつ受信サイトにてコードブックが既知である場合は、故に、送信サイトにある量子化器と、ベクトル用に送信サイトにて選択された再生ベクトルを検索するようになっている、受信サイトにあるユニットとの間では、識別子のみをやり取りすれば十分であると言える。次いで、このユニットが、識別子によって特定される再生ベクトルを、ただ、コードブックから検索する。しばしば、Ｎは、２の累乗となるように選ばれ、そのとき、ワード長がｎ＝ｌｏｇ2（Ｎ）である２進ワードを再生ベクトルの識別子として使用することができる。従って、ワード長ｎは、量子化器の出力ビット・レートに比例する。ワード長ｎが増加すると、レベル数Ｎ＝２nが増え、ひいては量子化器の分解能が高まるが、同時に、量子化器の出力ビット・レートも上昇する。
【０００６】
パラメータの量子化にはコードブックが必要であり、コードブックには、量子化タスクに最適化された再生ベクトルが含まれている。以前は、多次元積分が必要であるという理由で、ＶＱのコードブック設計は困難なタスクであると考えられていた。１９８０年に、Ｌｉｎｄｅ、ＢｕｚｏおよびＧｒａｙ（ＬＢＧ）が、ベクトルのトレーニング・シーケンスに基づいてコードブックを生成する、いわゆるＬＢＧアルゴリズムを提示した（Ｌｉｎｄｅ，Ｙ．、Ｂｕｚｏ，Ａ．およびＧｒａｙ，Ｒ．Ｍ.，「ベクトル量子化のアルゴリズム（Ａｎ  ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎ）」，ＩＥＥＥトランザクションズ・オン・コミュニケーションズ（ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ），２８巻，１号，１９８０年１月を参照されたい）。ベクトルのトレーニング・シーケンスを使用すれば、多次元積分の必要性が省かれる。ＬＢＧアルゴリズムは、スカラー量子化用のコードブック作成に適した有名なＬｌｏｙｄアルゴリズムを、多次元に一般化したものと考えることができる。
【０００７】
ＬＢＧアルゴリズムは、所望のレベル数Ｎに対してコードブックを生成する。同じコーデックの中であれば、いくつかのレベル数Ｎをサポートしている必要があり、故に、各レベル数Ｎに関して、各々のコードブックをトレーニングし、量子化器と、再生ベクトルの識別子を元にした再生ベクトル検索に用いられるユニットとの両方において、これを格納しなければならない。上述のように、いくつかのレベル数Ｎの必要性が生じる符号化シナリオとしては、例えば、記憶および処理能力の異なる端末への伝送が必要な場合、または伝送チャネル特性が時変的である場合、あるいは全体として利用可能なビット・レートが情報源および伝送路符号化の間に動的に割り当てられる場合などが挙げられるが、これらはほんの一部の例である。いくつかの異なるレベル数Ｎのコードブックを各々記憶することは、量子化器と、量子化されたベクトルの再生ベクトルを検索するユニットとの両方におけるメモリ要件が不都合にも増加し、ひいてはサイズおよびコストを増加させるものである。さらに、別々のコードブックへのアクセスについて制御する必要があるため、量子化器および再生ベクトル検索ユニットの構造が窮屈なものになる。
【０００８】
従来技術の文書、Ｈａｏｕｉ，Ａ．およびＭｅｓｓｅｒｓｃｈｍｉｔｔ，Ｄ．Ｇ．による「音声の組み込み式符号化：ベクトル量子化手法（Ｅｍｂｅｄｄｅｄ  Ｃｏｄｉｎｇ  ｏｆ  Ｓｐｅｅｃｈ：Ａ  Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎ  Ａｐｐｒｏａｃｈ」，ＩＥＥＥ音響・音声・信号処理国際会議予稿集（Ｐｒｏｃｅｅｄｉｎｇｓ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｃｏｕｓｔｉｃｓ，Ｓｐｅｅｃｈ  ａｎｄ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ（ＩＣＡＳＳＰ）），１９８５年４月，１０巻，ｐ．１７０３−１７０６は、組み込み式音声エンコーダに関する。組み込み式音声エンコーダは、ビット・レートが最大レートから最小レートへと徐々に低下するにつれ、入力信号の再生の忠実度がゆっくりと低下する特性を備えた情報源エンコーダである。そのとき、エンコーダは、送信されている現在のビット・レートは認識しておらず、ビットが切り捨てられる順序だけが分かっている（例えば、送信されているビット・ストリームがバイト指向であって、ビットが最下位から最上位の順序で切り捨てられることなどが考えられる）。コードブックは、最大レートを対象として設計されており、量子化は、伝送の間に切り捨てられることになる（ひいては現在のビット・レートに影響を及ぼす）ビット数に関わりなく、常にこの最大レートに対応する一定数のレベルに関して実行される。ビットの切り捨てを考慮するには、例えば、最下位ビットのみが異なる２個の２進ワードをユークリッド距離で互いに近い２個のコードワードに割り当て、それにより最下位ビットをゼロに置き換えれば誤差の増加が少なくなるようにすることが、提示されている。
【０００９】
従来技術の文書、Ｒａｇｏｔ，Ｓ．、Ｂｅｓｓｅｔｔｅ，Ｂ．およびＬｅｆｅｂｖｒｅ，Ｒ．による「３２ｋｂｉｔ／ｓでの広帯域ＴＣＸ音声符号化への応用を伴う低複雑度マルチレート格子ベクトル量子化（Ｌｏｗ−Ｃｏｍｐｌｅｘｉｔｙ  Ｍｕｌｔｉ−Ｒａｔｅ  Ｌａｔｔｉｃｅ  Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎ  ｗｉｔｈ  Ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  Ｗｉｄｅｂａｎｄ  ＴＣＸ  Ｓｐｅｅｃｈ  Ｃｏｄｉｎｇ  ａｔ  ３２ｋｂｉｔ／ｓ）」，ＩＥＥＥ音響・音声・信号処理国際会議予稿集（Ｐｒｏｃｅｅｄｉｎｇｓ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｃｏｕｓｔｉｃｓ，Ｓｐｅｅｃｈ  ａｎｄ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ（ＩＣＡＳＳＰ）），２００４年，１巻，ｐ．５０１−５０４は、マルチレートの格子ベクトル量子化に関する。そこでは、８次元ベクトルが、各々整数格子ＲＥ8のシェルを形成する６個のコードブックのうちの１つへ、符号化されている。格子ＶＱは自己拡張型であり、言い換えれば、コードブックの選択、ひいてはワード長ｎは、量子化されるベクトル次第で決まることになり、従って、量子化より前には選択することができない。コードベクトルは、代数的に作成され、故に、トレーニングする必要も記憶する必要もない。格子ＶＱは、各コードブックが、その要素数が格子に左右される、格子のいくつかのシェルで構成されているという事実によって、一般に柔軟性を制限されている。いくつかのシェルを一緒に組み合わせれば、それによりコードブックのサイズを、例えば２の累乗あるいは他の数にすることもできるが、任意の所望する数にすることはできない。
【発明の開示】
【課題を解決するための手段】
【００１０】
上述の問題に照らして、本発明の目的は、とりわけ、選択可能な様々なレベル数ＮによってベクトルをＮレベルに量子化する、改良型の方法、デバイス、およびソフトウェア・アプリケーション製品を提供することである。
【００１１】
本発明のさらなる目的は、選択可能な様々なレベル数ＮによってＮレベルに量子化済みのベクトルの再生ベクトルを検索する、改良型の方法、デバイス、およびソフトウェア・アプリケーション製品を提供することである。
【００１２】
本発明のさらなる目的は、ベクトルの表現を転送する改良型のシステムを提供することである。
【００１３】
本発明のさらなる目的は、選択可能な様々なレベル数ＮによるベクトルのＮレベルの量子化に使用されるコードブックを決定する、改良型の方法、デバイス、およびソフトウェア・アプリケーション製品を提供することである。
【００１４】
本発明のさらなる目的は、選択可能な様々なレベル数ＮによるベクトルのＮレベルの量子化に使用される改良型のコードブックを提供することである。
【００１５】
発明の第１態様
本発明の第１態様によれば、ベクトルをＮレベルに量子化する方法が提案され、Ｎは、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能である。前記方法は、各ベクトルの再生ベクトルを、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択するステップを含み、このＮ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表される。
【００１６】
そのとき、前記ベクトルおよび前記再生ベクトルはｋ次元のベクトルであり、ｋは１以上であって、そのためスカラー量子化およびベクトル量子化のいずれの場合をも対象とし得る。前記ベクトルは、量子化される対象のデータを含んでいる。各ベクトルに含まれている前記データは、例えばパラメータの集合であってよく、これは、例えば、音声または音響信号のフレームまたはサブフレームのＬＰＣ／ＬＳＦ係数の集合、すなわち１つ以上の後続するフレームまたはサブフレームの利得、ピッチまたは有声化パラメータの集合としてもよい。
【００１７】
前記ベクトルは、Ｎレベル・コードブックから再生ベクトルを選択することによって、Ｎレベルに量子化される。前記選択は、例えば、ベクトルと再生ベクトルとの間の歪みを定量化する歪み基準（例えば、ユークリッド距離またはユークリッド２乗距離、あるいは他の基準）によって決定することができ、故に、前記歪み基準が最小になるような再生ベクトルが選択される。次いで、量子化の結果、前記選択された再生ベクトルの識別子が出力されて、再生ベクトル検索ユニットが、このユニットは前記コードブックを認識していることを踏まえると、選択された再生ベクトルを検索できるようになる。そのとき、前記ベクトルと選択された再生ベクトルとの間の歪みは、一般に、レベル数Ｎの増加に伴って減少するが、それは、Ｎが増加すれば、Ｎレベル・コードブックにはより多くの再生ベクトルが含まれ、ひいては前記ベクトルが含まれているベクトル空間をより適切に対象範囲とすることができるようになるからである。一方、Ｎの数が増加すれば、一般に、前記識別子の記憶および／または送信がより複雑化することにもなる。
【００１８】
そのとき、前記レベル数Ｎは、前記量子化より前に選択可能であり（量子化が自己拡張型であって、最適なレベル数が、量子化の対象として作業中のベクトルに基づいて量子化中に決定される、従来技術の自己拡張型の格子ベクトル量子化とは対照的である）、この選択は、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合の中から行われる（量子化が、常に、最大ビット・レートに対応する一定数のレベルで実行されている、従来技術の組み込み式符号化とは対照的である）。例えば、Ｍが２５６とすれば、前記レベル数Ｎをそこから選択することのできる前記事前定義済みの値から成る集合は、｛２，４，８，１６，３２，６４，１２８，２５６｝と定義することができる。
【００１９】
一方、Ｍおよび／またはＮは、必ずしも２の累乗である必要はなく、それは、一部の量子化アプリケーションにおいては、２の累乗ではない数の再生ベクトルを含むコードブックを使用することがより効率のよい場合もあるためであり、例えば、前記選択された再生ベクトルの識別子として、長さがｎ＝ｌｏｇ2（Ｎ）ではない２進ワードを使用する場合などである。従って、Ｍは、例えば所望の、いかなる整数であってもよく、故にＮは、１≦Ｎ≦Ｍである、いかなる所望の数であってもよい。
【００２０】
前記レベル数Ｎの前記選択は、例えば、前記量子化器に対して外部のインスタンスによって実行してもよい。前記レベル数Ｎの前記選択は、例えば、前記量子化されたベクトルに関する情報を伝送するのに介すべき伝送チャネルの伝送特性に依存して実行してもよいし、あるいは前記量子化されたベクトルを格納すべき記憶ユニットの記憶容量に依存して実行してもよく、これらは可能性のほんの数例を挙げたものである。
【００２１】
本発明の第１態様によれば、様々なレベル数Ｎに関して、同一の共用コードブックを用いてベクトル量子化が行われる。この共用コードブックは、様々なレベル数Ｎ≦Ｍによる量子化に必要な、Ｎレベル・コードブックを全て含んでいる。各Ｎに関して、前記Ｎレベル・コードブックは、共用コードブックの最初のＮ個の再生ベクトルによって各々表されている。例えば、Ｍ＝２５６であり、かつＮの、前記事前定義済みの少なくとも２つの値から成る集合が｛１２８，２５６｝であるとすれば、Ｎ＝１２８の場合、Ｍ＝２５６個の再生ベクトルから成る前記コードブック内の最初の１２８個の再生ベクトルが、１２８レベルの量子化用のコードブックを形成し、Ｎ＝２５６の場合、前記と同じＭ＝２５６個の再生ベクトルから成るコードブック内の最初の２５６個の再生ベクトルが、２５６レベルの量子化用のコードブックを形成する。当業者には当然のことながら、前記Ｎレベル・コードブックは、その方がより適切であれば、共用コードブックの末尾に位置付けられても同様である。
【００２２】
所望の各レベル数Ｎに関して１つずつコードブックを作成して格納する必要のある従来技術とは対照的に、本発明によれば、作成し格納する必要があるのは、共用コードブック１つのみである。例えば、最大レベル数Ｍが２５６に定義されている場合、本発明によれば、作成し格納する必要があるのは２５６個の再生ベクトルを備えた１つのコードブックのみであり、なぜなら、このコードブックは、例えばＮ＝１２８といったより少ないレベル数Ｎ用のコードブックをも含むからであるが、これに対して従来技術では、（２５６個および１２８個の再生ベクトルを備えた）２つのコードブックを作成し格納する必要があると考えられる。上記のことは、量子化器と、Ｎレベルに量子化済みのベクトルの再生ベクトルを検索するユニットとの両方の記憶要件の低減に大きく寄与し、さらに、ただ１つのコードブックへのアクセスのみを制御すればよくなるために、量子化器および前述のようなユニットの構造を簡略化する。様々なレベル数Ｎに関して共用コードブックを使用することは、そのように共用コードブックを作成することによって可能となる。一般に、本発明による共用コードブックに含まれている各Ｎレベル・コードブック内の再生ベクトル数Ｎは、柔軟に選択可能であり、特に、従来技術の格子ＶＱにおける場合のように格子シェルの要素数によって制限されることはない。このように、本発明による共用コードブックは、量子化レベル数の著しく柔軟な選択を可能にしている。スカラー量子化とベクトル量子化との両方の事例に対処できるように、前記ベクトルの次元を選択可能なものとすることにより、さらに柔軟性の度合いが高まっている。
【００２３】
本発明の第１態様による方法では、ｎおよびｍが整数値であって、Ｎ＝２nおよびＭ＝２mが成り立つ。ＭおよびＮを２の累乗とするべく制約することは、選択された再生ベクトルの識別子としてワード長がｎである２進ワードを使用する場合には特に有利であり、それは、長さがｉの２進ワードであれば２i個の様々な再生ベクトルをインデックス可能というようになるからである。
【００２４】
本発明の第１態様による方法では、前記Ｎレベル・コードブック内の前記再生ベクトルのそれぞれが、ｎビットの２進ワードによって特定される。Ｎ＝２nの場合、故に、前記２進ワードが、前記Ｎレベル・コードブック内のＮ＝２n個の再生ベクトル全てを効率よくインデックスすることができる。
【００２５】
本発明の第１態様による方法では、前記ベクトルが、データ・シーケンスの線形予測符号化に関するパラメータを含んでもよい。前記パラメータとしては、例えば、音声または音響信号の１つまたはいくつかのフレームまたはサブフレームにおける声道を特徴付けるＬＰＣ／ＬＳＦ係数、および／または前記音声または音響信号の後続する１つまたはいくつかのフレームまたはサブフレームにおける励起信号に関連するパラメータ（利得、ピッチおよび／または有声化パラメータなど）が挙げられる。
【００２６】
本発明の第１態様による方法では、前記選択するステップを、携帯型デバイスによって実行してもよい。前記携帯型デバイスとしては、例えば、携帯電話機、パーソナル・デジタル・アシスタント（ＰＤＡ：ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯型コンピュータまたは同種のものを挙げることができる。言うまでもなく、前記ステップは、固定型の通信デバイスによっても同様に実行することができ、例えば、通信システムの基地局またはコア・ネットワーク要素などが挙げられる。
【００２７】
本発明の第１態様によれば、さらに、ベクトルのＮレベルの量子化のためのデバイスが提案されており、Ｎは、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から、選択可能である。前記デバイスは、Ｎ個の再生ベクトルから成るＮレベル・コードブックから各ベクトルの再生ベクトルを選択する手段を含み、このＮ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表される。
【００２８】
本発明の第１態様によるこのデバイスに関しては、本発明の第１態様による方法に関連して既に述べられた特徴および利点が同様に当てはまる。
【００２９】
本発明の第１態様による前記デバイスは、携帯型通信デバイスとしてもよい。前記携帯型通信デバイスとしては、例えば、携帯電話機、パーソナル・デジタル・アシスタント（ＰＤＡ）、携帯型コンピュータまたは同種のものを挙げることができる。言うまでもなく、前記デバイスは、同様に固定型の通信デバイスであってもよく、例えば、通信システムの基地局またはコア・ネットワーク要素などが挙げられる。
【００３０】
本発明の第１態様によれば、さらに、ベクトルのＮレベル量子化のためのソフトウェア・アプリケーションが組込まれている記憶媒体を含むソフトウェア・アプリケーション製品が提案され、Ｎは、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から、選択可能である。前記ソフトウェア・アプリケーション製品は、Ｎ個の再生ベクトルから成るＮレベル・コードブックから各ベクトルの再生ベクトルを選択するプログラム・コードを含み、Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表される。
【００３１】
前記記憶媒体は、任意の揮発性または不揮発性のメモリまたは記憶素子とすることができ、例えば、読み出し専用メモリ（ＲＯＭ：Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダム・アクセス・メモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、メモリ・スティックまたはカード、および光学的、電気的、または磁気的に読み取り可能なディスクなどが挙げられる。前記ソフトウェア・アプリケーションに含まれている前記プログラム・コードは、コンピュータ・システムと通信するべく高級手続き型またはオブジェクト指向型プログラミング言語によって実現してもよく、またはデジタル・プロセッサと通信するべくアセンブリまたは機械言語として実現してもよい。いずれの場合も、前記プログラム・コードは、コンパイラ型またはインタプリタ型のコードであってよい。
【００３２】
本発明の第１態様によるこのソフトウェア・アプリケーション製品に関しては、本発明の第１態様による方法に関連して既に述べられた特徴および利点が同様に当てはまる。
【００３３】
発明の第２態様
本発明の第２態様によれば、Ｎレベルに量子化済みのベクトルの再生ベクトルを検索する方法が提案され、Ｎは、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能となっている。前記方法は、前記量子化においてベクトルに対して選択された再生ベクトルの識別子を受信するステップと、前記識別子に基づいて、Ｎ個の再生ベクトルから成るＮレベル・コードブックから前記再生ベクトルを検索するステップとを含み、このＮ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表される。
【００３４】
ここで、本発明の第１態様との関連で提示されたベクトルおよび再生ベクトルの説明、レベル数Ｎの選択の説明、および各ベクトルの再生ベクトル選択の説明は、本発明の第２態様にも適用されることに留意されたい。
【００３５】
前記ベクトルは、例えば本発明の第１態様に関連して説明したように、歪み基準に従ってＮレベル・コードブックから再生ベクトルを選択することによって、量子化される。この再生ベクトルは、識別子によって特定されるが、識別子は、例えばｎビットの２進ワードであってよく、例えば伝送チャネルを介して、本発明の第２態様による方法を実行するデバイスへ送信してもよい。前記識別子が受信されると、前記識別子に基づいて、前記共用コードブックの最初のＮ個の再生ベクトルによって表されている前記Ｎレベル・コードブックから、対応する再生ベクトルが検索される。前記量子化のために選択可能なＮ全てに関して、対応するＮレベル・コードブックが前記共用コードブック内に含まれているという事実は、本発明の第２態様による方法を実行するユニットにおいて必要な記憶容量を大幅に低減することになる。さらに、複数のコードブックではなく、１つの単一コードブック（共用コードブック）へのアクセスしか要求されないため、このユニットの動作が簡略化される。
【００３６】
本発明の第２態様によれば、さらに、Ｎレベルに量子化済みのベクトルの再生ベクトルを検索するデバイスが提案され、Ｎは、前記ベクトル量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能である。前記デバイスは、前記量子化においてベクトルに対して選択された再生ベクトルの識別子を受信する手段と、前記識別子に基づいて、Ｎ個の再生ベクトルから成るＮレベル・コードブックから前記再生ベクトルを検索する手段とを含み、このＮ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表される。
【００３７】
本発明の第２態様によれば、さらに、Ｎレベルに量子化済みのベクトルの再生ベクトルを検索するソフトウェア・アプリケーションが組込まれている記憶媒体を含むソフトウェア・アプリケーション製品が提案され、Ｎは、前記ベクトル量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能となっている。前記ソフトウェア・アプリケーションは、前記量子化においてベクトルに対して選択された再生ベクトルの識別子を受信するプログラム・コードと、前記識別子に基づいて、Ｎ個の再生ベクトルから成るＮレベル・コードブックから前記再生ベクトルを検索するプログラム・コードとを含み、このＮ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表される。
【００３８】
前記記憶媒体は、任意の揮発性または不揮発性のメモリまたは記憶素子とすることができ、例えば、読み出し専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、メモリ・スティックまたはカード、および光学的、電気的、または磁気的に読み取り可能なディスクなどが挙げられる。前記ソフトウェア・アプリケーションに含まれている前記プログラム・コードは、コンピュータ・システムと通信するべく高級手続き型またはオブジェクト指向型プログラミング言語によって実現してもよく、またはデジタル・プロセッサと通信するべくアセンブリまたは機械言語として実現してもよい。いずれの場合も、前記プログラム・コードは、コンパイラ型またはインタプリタ型のコードであってよい。
【００３９】
発明の第３態様
本発明の第３態様によれば、ベクトルの表現を転送するシステムが提案される。システムには、Ｎ個の再生ベクトルから成るＮレベル・コードブックから各ベクトルの再生ベクトルを選択する手段であって、Ｎが、前記選択より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルの第１共用コードブックの最初のＮ個の再生ベクトルによって表される手段と、伝送チャネルを介して前記選択された再生ベクトルの識別子を送信する手段と、前記識別子を受信する手段と、前記識別子に基づいて、Ｎ個の再生ベクトルから成るＮレベル・コードブックから前記再生ベクトルを検索する手段であって、このＮ個の再生ベクトルは、Ｍ個の再生ベクトルから成る前記第１共用コードブックに等しい第２共用コードブックの最初のＮ個の再生ベクトルによって表されている手段と、が備わっている。
【００４０】
ここで、本発明の第１態様との関連で提示されたベクトルおよび再生ベクトルの説明、レベル数Ｎの選択の説明、および各ベクトルの再生ベクトル選択の説明は、本発明の第３態様にも適用されることに留意されたい。
【００４１】
前記第１共用コードブックに含まれているＮレベル・コードブックから各ベクトルの再生ベクトルを選択し、例えばｎ＝ｌｏｇ2（Ｎ）であるｎビットの２進ワードなど前記再生ベクトルの識別子のみを送信することによって、前記ベクトルの表現（すなわち、前記再生ベクトル、または対応する識別子）の著しく効率的な伝送が可能になるが、それは、識別子の情報によって、前記識別子を受信するユニットが、前記第２共用コードブック（前記第１コードブックに等しい）内に含まれている対応するＮレベル・コードブックから、前記再生ベクトルを検索できるようになるからである。そのとき、再生ベクトルは限られた数の再生ベクトルから成るコードブックに由来しているのであって、通常、前記ベクトルとは異なるものであるという事実に起因するベクトルの歪みは、Ｎが増加するにつれて減少することになるが、その一方で、ｎビットの２進ワードのワード長が増加することになる。このように、Ｎによって、精度と、必要な伝送容量とのトレードオフを制御することができる。
【００４２】
前記再生ベクトルの前記選択（言い換えると、ベクトルの前記量子化）は、移動体無線システムなどの通信ネットワークの送信機にて行ってもよく、前記再生ベクトルの前記検索は、故に、前記通信ネットワークの受信機にて実行してもよい。前記送信機と前記受信機との間の伝送チャネルは、無線または有線の伝送チャネルであってよい。前記伝送チャネルは、さらに、記憶媒体に相当するものとして考えることもでき、そこに送信機サイトにて記憶された前記再生ベクトルの前記識別子が受信機サイトにて読み出される。さらに、前記識別子が送信される前に、伝送路符号化またはさらなる処理を受けるようにしてもよい。
【００４３】
発明の第４態様
本発明の第４態様によれば、Ｎレベルの量子化に使用する、Ｍ個の再生ベクトルから成る共用コードブックを決定する方法が提案され、Ｍは、事前定義済みの最大レベル数であり、Ｎは、前記量子化より前に、Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能となっており、前記量子化において、各ベクトルの再生ベクトルは、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、このＮ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、前記共用コードブックの最初のＮ個の再生ベクトルによって表される。前記方法は、複数のトレーニングベクトルを少なくとも部分的に用いるトレーニングアルゴリズムによって前記再生ベクトルを生成するステップと、配列アルゴリズムに従って前記生成された再生ベクトルを前記共用コードブックの中へ配列して、それにより、各Ｎに関して、前記Ｍ個の再生ベクトルから成る集合の中の最初のＮ個の再生ベクトルによってＮレベル・コードブックを形成し、これを前記ベクトルの前記量子化に使用すると前記ベクトルの平均歪みを小さいものにできるようにするステップと、を含む。
【００４４】
ここで、本発明の第１態様との関連で提示されたベクトルおよび再生ベクトルの説明、レベル数Ｎの選択の説明、および各ベクトルの再生ベクトル選択の説明は、本発明の第４態様にも適用されることに留意されたい。
【００４５】
本発明の第４態様による方法によって算定された共用コードブックは、次に、例えば、量子化器および／またはＮレベルに量子化済みのベクトルの再生ベクトルを検索するユニットを使用するデバイスのメモリの中へ記憶してもよい。Ｍ個の再生ベクトルを、前記配列アルゴリズムに従って特別に前記共用コードブック内へ配列したことにより、前記共用コードブックを、選択可能な様々なレベル数Ｎ≦Ｍのベクトル量子化に関して単一コードブックとして使用できるようになり、ひいては量子化器および再生ベクトル検索ユニットの両方におけるメモリの節約に寄与する。
【００４６】
前記トレーニングアルゴリズムは、前記複数のトレーニングベクトルを少なくとも部分的に用いて、Ｌ個の再生ベクトルから成る集合を生成するが、このときＬは、任意に選択可能である。前記トレーニングアルゴリズムは、例えばＬＢＧアルゴリズムであってもよいし、またはその他各種のコードブックトレーニングアルゴリズムであってもよい。ＬＢＧアルゴリズムの１つの形式としては、本明細書の開始部分で引用されたＬｉｎｄｅ他による従来技術の文献で提案されているように、ベクトルの未知の分布に関するＬＢＧアルゴリズムが挙げられる。前記アルゴリズムには、前記複数のトレーニングベクトルに加えて、前記Ｌ個の再生ベクトルから成る集合の前記生成中は固定されていると考えられる１つ以上の再生ベクトルが与えてもよい。
【００４７】
前記再生ベクトルを生成する前記ステップは、必ずしも１回の実行だけでＭ個の再生ベクトル全てを獲得済みとしなければならない訳ではなく、数回（例えば、毎回生成される再生ベクトルの数を増やしながら）同様に実行してもよい。
【００４８】
前記配列アルゴリズムの目的は、各Ｎに関して、前記Ｍ個の再生ベクトルから成る集合の最初のＮ個の再生ベクトルによってＮレベル・コードブックを形成し、このコードブッを前記ベクトルの前記Ｎレベルの量子化に使用すると、前記ベクトルの平均歪みを小さいものにできるようにすることである。そのとき、前記歪みは、前記ベクトルの前記量子化において前記Ｎレベル・コードブックから選択された再生ベクトルと、ベクトルとのずれを定量化しているものである。使用されている配列アルゴリズムに従って、Ｍ個の再生ベクトルの、別々のコードブックを生成してもよい。さらに、当然のことながら、レベル数Ｎが増加すれば（言い換えると、Ｎレベル・コードブック内の再生ベクトル数が増加すれば）、Ｎレベル・コードブック内で利用可能な再生ベクトルの数が増加するので、前記ベクトルの平均歪みは小さくなる。故に、例えば、６４個の再生ベクトルから成るコードブックで達成可能な平均歪みは、１２８個の再生ベクトルから成るコードブックで達成可能な平均歪みよりもかなり大きいと言えるが、６４個の再生ベクトルのコードブックとしてはやはり小さいと考えることができる。
【００４９】
本発明の第４態様による前記方法では、ｎおよびｍが整数値であって、Ｎ＝２nおよびＭ＝２mが成り立つ。このことは、選択された再生ベクトルの識別子としてワード長がｎである２進ワードを使用する場合に特に有利であり、それは、長さがｉの２進ワードであれば２i個の様々な再生ベクトルをインデックス可能となり、ひいては選択された再生ベクトルの情報を送信および記憶する効率的な手段となるからである。
【００５０】
本発明の第４態様による第１実施形態は、前記トレーニングアルゴリズムによりＭ個の再生ベクトルから成る初期コードブックを生成することと、前記トレーニングアルゴリズムにより２個の再生ベクトルから成る２レベル・コードブックを生成することと、前記２レベル・コードブック内の前記２個の再生ベクトルに最も類似する２個の再生ベクトルを、前記初期コードブックから選択することと、前記２個の選択された再生ベクトルを、前記初期コードブックから前記共用コードブックの最初の２個の位置へコピーし、さらに前記２個の選択された再生ベクトルを前記初期コードブックから削除することと、１＜ｉ≦ｍである場合には、以下のステップ群を繰り返すこと、すなわち、前記トレーニングアルゴリズムによってＩ＝２i個の再生ベクトルから成るＩレベル・コードブックを生成するステップと、前記Ｉレベル・コードブックから、前記共用コードブックへ既にコピー済みのＩ／２個の再生ベクトルに最も類似する前記Ｉ／２個の再生ベクトルを特定するステップと、前記Ｉレベルのコードブック内の残りの特定されていないＩ／２個の再生ベクトルについて、前記初期コードブックから、前記残りの特定されていないＩ／２個の再生ベクトルに最も類似するＩ／２個の再生ベクトルを選択するステップと、前記Ｉ／２個の選択された再生ベクトルを、前記初期コードブックから、前記共用コードブック内の増加方向側で次に空いている位置へコピーし、さらに前記Ｉ／２個の選択された再生ベクトルを前記初期コードブックから削除するステップとを繰り返すことと、を含む。
【００５１】
この第１実施形態において、ＮおよびＭは２の累乗であると想定されており、まず、Ｍ個の再生ベクトル全て（初期コードブック）が複数のトレーニングベクトルを用いた前記トレーニングアルゴリズムによって一度に生成され、その後、生成された再生ベクトルは前記共用コードブック内へ順次配列されるのであるが、ここで前記配列には、アルゴリズムの各段階ｉに関して、前記トレーニングアルゴリズムによってＩ個の再生ベクトルから成るコードブックを生成することが含まれ、それにより前記段階ｉがそれぞれ最適なコードブックを指向することが可能になる。そのとき、ベクトルの類似性は、類似基準を用いて評価され、類似基準の例としては、ベクトル間のユークリッド距離またはユークリッド２乗距離などが挙げられる。
【００５２】
本発明の第４態様による方法の第２実施形態には、前記トレーニングアルゴリズムによって２個の再生ベクトルから成る２レベルのコードブックを生成することと、前記２個の再生ベクトルを前記２レベルのコードブックから前記共用コードブック内の最初の２個の位置へコピーすることと、１＜ｉ≦ｍである場合には、以下のステップ群を繰り返すこと、すなわち、前記トレーニングアルゴリズムによってＩ＝２i個の再生ベクトルから成るＩレベル・コードブックを生成するステップであって、前記トレーニングアルゴリズムにおいて、前記共用コードブックへ既にコピー済みのＩ／２個の再生ベクトルが、Ｉ個の再生ベクトルから成るコードブックの最初の部分を形成して前記アルゴリズムによって生成された前記Ｉレベル・コードブックの初期設定となり、さらに前記トレーニングアルゴリズム全体を通して固定であると仮定するステップと、前記生成されたＩレベルのコードブックの終わりのＩ／２個の再生ベクトルを、前記共用コードブック内の増加方向側で次に空いているＩ／２個の位置へコピーするステップと、を繰り返すことと、を含む。
【００５３】
この第２実施形態において、ＮおよびＭは２の累乗であると仮定しており、前記共用コードブックの再生ベクトルは一度に生成されるのではなく、サイズがＩ／２のブロック単位で順次生成される。そのとき、Ｉ個の再生ベクトルから成るコードブックの生成におけるトレーニングアルゴリズムの自由度は、トレーニングアルゴリズムに前記コードブックの最初のＩ／２個の再生ベクトルが与えられること、およびこれらの再生ベクトルが残りのＩ／２個の再生ベクトルの生成中にも固定されたままとなることが要求されることによって、制約されている。言うまでもなく、生成されたコードブックの終わりのＩ／２個の再生ベクトルを共用コードブック内の次の空いているＩ／２個の位置へコピーする代わりに、生成されたコードブック全体（Ｉ個の再生ベクトルを含む）が、コードブック内の最初のＩ個の位置へコピーされることも可能と考えられる。
【００５４】
本発明の第４態様による方法の第３実施形態の第１の選択肢には、Ｍ個の再生ベクトルから成る初期コードブックを、複数のトレーニングベクトルを用いた前記トレーニングアルゴリズムによって生成することと、前記初期コードブックから、互いに最も相違する２個の再生ベクトルを選択することと、前記２個の選択された再生ベクトルを前記初期コードブックから前記共用コードブック内の最初の２個の位置へコピーし、さらに前記２個の選択された再生ベクトルを前記初期コードブックから削除することと、前記初期コードブックが空にならない限り、以下のステップ群を繰り返すこと、すなわち、前記共用コードブックへ既にコピー済みの再生ベクトル全てに対して最も相違する再生ベクトルを前記初期コードブックから選択するステップと、前記選択された再生ベクトルを前記初期コードブックから前記共用コードブック内の増加方向側で次に空いている位置へコピーし、さらに前記選択された再生ベクトルを前記初期コードブックから削除するステップとを繰り返すことと、が含まれる。
【００５５】
本発明の第４態様による方法の第３実施形態の第２の選択肢には、複数のトレーニングベクトルを用いた前記トレーニングアルゴリズムによってＭ個の再生ベクトルから成る初期コードブックを生成することと、前記初期コードブックから、前記トレーニングベクトル全てに最も類似する再生ベクトルを選択することと、前記選択された再生ベクトルを前記初期コードブックから前記共用コードブック内の最初の位置へコピーし、さらに前記選択された再生ベクトルを前記初期コードブックから削除することと、前記初期コードブックが空にならない限り、以下のステップ群を繰り返すこと、すなわち、前記共用コードブックへ既にコピー済みの再生ベクトル全てに対して最も相違する再生ベクトルを前記初期コードブックから選択するステップと、前記選択された再生ベクトルを前記初期コードブックから前記共用コードブック内の増加方向側で次に空いている位置へコピーして、さらに前記選択された再生ベクトルを前記初期コードブックから削除するステップとを繰り返すことと、が含まれる。
【００５６】
この第３実施形態において、まず、Ｍ個の再生ベクトル全て（初期コードブック）が複数のトレーニングベクトルを用いた前記トレーニングアルゴリズムによって一度に生成され、その後、生成された再生ベクトルは前記共用コードブック内へ順次配列されるのであるが、ここでは、最も相違する再生ベクトルが共用コードブックの先頭に位置するように、再生ベクトルを、前記共用コードブックの先頭から数えて相違の程度が下がる順序に、前記初期コードブックから前記共用コードブック内へ配列しようとしている。そのとき、ベクトル間の相違は、相違基準に基づいて評価されるが、相違基準の例としては、ベクトル間のユークリッド距離またはユークリッド２乗距離などが挙げられる。第１の選択肢によれば、前記初期コードブック内にある互いに対して最も相違する２個の再生ベクトルが、前記共用コードブック内の最初の２個の位置へコピーされ、それに対して、第２の選択肢によれば、前記複数のトレーニングベクトルの全てのトレーニングベクトルに最も類似する再生ベクトルが、前記初期コードブックから前記共用コードブック内の最初の位置へコピーされる。
【００５７】
この第３実施形態では、ごくまれにしか使用されない再生ベクトルが共用コードブック内で最初に登録されないように、何らかの制約を与えることが有益になり得る。これは、例えば再生ベクトル成分の大きさがある特定の制限を超えないように要求することなどによって遂行してもよく、この制限が、共用コードブックの先頭では再生ベクトルに対して小さく、共用コードブックの末尾へ向かうほど大きくなってもよい。
【００５８】
本発明の第４態様による方法の第４実施形態は、前記トレーニングアルゴリズムによってＭ個の再生ベクトルから成る初期コードブックを生成することと、前記初期コードブックが空にならない限り、以下のステップ群を繰り返すこと、すなわち、前記初期コードブックから互いに最も類似する２個の再生ベクトルを選択するステップと、前記２個の選択された再生ベクトルのうちの第１の再生ベクトルを前記初期コードブックから、前記共用コードブック内の最後の位置から順に減少方向側で次に空いている位置へコピーし、さらに前記２個の選択された再生ベクトルのうちの第１の再生ベクトルを前記初期コードブックから削除するステップとを繰り返すことと、を含む。
【００５９】
この第４実施形態において、まず、Ｍ個の再生ベクトル全て（初期コードブック）がトレーニングデータを用いた前記トレーニングアルゴリズムによって一度に生成され、その後、生成された再生ベクトルは前記共用コードブック内へ順次配列されるのであるが、ここでは、再生ベクトルを、他の再生ベクトルに対する相違の程度が上がる順序に、前記初期コードブックから前記共用コードブック内へ配列しており、ただし、前記共用コードブックの末尾から数えている。そのとき、ベクトル間の類似性は、類似基準を用いて評価され、類似基準の例としては、ベクトル間のユークリッド距離またはユークリッド２乗距離などが挙げられる。
【００６０】
本発明の第４態様による方法の第５実施形態では、Ｍ以下でありＮに対する、事前定義済みの少なくとも２つの値の前記集合には、ｉ＝１，．．．，Ｋであり、かつｊ＝２，．．．，Ｋの場合にＮj-1＜Ｎj≦Ｍである値ＮiがＫ個含まれている。そのとき、前記方法は、複数のトレーニングベクトルを用いたトレーニングアルゴリズムによってＭ個の再生ベクトルから成る初期コードブックを生成することと、前記初期コードブックからＮi個の再生ベクトルを選択し、このとき、選択された再生ベクトルを含むコードブックの歪みが前記トレーニングベクトルの全てに対して最小となるように選択することと、前記選択された再生ベクトルを前記初期コードブックから前記共用コードブックへコピーし、さらに前記選択された再生ベクトルを前記初期コードブックから削除することと、１＜ｉ≦Ｋである各Ｎiに関して、以下のステップ群を繰り返すこと、すなわち、前記初期コードブックからＮi−Ｎi-1個の再生ベクトルを選択するステップであって、前記共用コードブックへ既にコピー済みのＮiー1個の再生ベクトルと前記選択された再生ベクトルとを含んでいるコードブックの歪みが前記トレーニングベクトルの全てに対して最小となるように選択するステップと、前記選択された再生ベクトルを前記初期コードブックから前記共用コードブック内の増加方向側で次に空いている位置へコピーし、さらに前記選択された再生ベクトルを前記初期コードブックから削除するステップとを繰り返すことと、を含む。
【００６１】
この第５実施形態において、まず、Ｍ個の再生ベクトル全て（初期コードブック）がトレーニングデータを用いた前記トレーニングアルゴリズムによって一度に生成され、その後、生成された再生ベクトルは前記共用コードブック内へ、コードブックごとに配列される。前記共用コードブックへ含まれることになる、サイズがＮiのＫ個のコードブック（ｉ＝１，．．．，Ｋであり、ＮKは例えばＭに等しくてもよい）それぞれに関して、再生ベクトルは、前の段階にて既に決定されている再生ベクトルと新たに選択される再生ベクトルとを含むコードブックの歪みがトレーニングアルゴリズムの使用するトレーニングベクトルに対して最小となるように、初期コードブックから選択される。そのとき、ＮKは、Ｍに等しくても等しくなくてもよい。コードブックの歪みは、例えばコードブックに含まれている各再生ベクトルにつき、その再生ベクトルのボロノイ（Ｖｏｒｏｎｏｉ）セルの中の全トレーニングベクトルに対する合計歪みを計算し、前記コードブック内の全再生ベクトルのこの合計歪みを総計して最終的な値を得るなどによって、決定してもよい。再生ベクトルのボロノイ・セルは、所定の距離の下で、考察の対象となっている再生ベクトルを含んでいるコードブックの中の他のどの再生ベクトルに対するよりも、前記考察の対象となっている再生ベクトルに対して近似する、入力ベクトルの集合と考えればよい。そのとき、入力ベクトルは、所定のコードブックによって量子化される可能性のある全てのベクトルであり、そのため、トレーニングベクトルの集合は、通常、入力ベクトルの集合のサブセットにすぎないようになっている（コードブックが縮退して１個の再生ベクトルのみが備わっているような場合には、その単一の再生ベクトルのボロノイ・セルが、入力空間の全てとなる）。歪みは、歪み基準を用いて決定され、歪み基準の例としては、ベクトル間のユークリッド距離、またはｌ1ノルムから導き出される距離などが挙げられる。
【００６２】
本発明の第４態様によれば、さらに、ベクトルのＮレベルの量子化で使用するＭ個の再生ベクトルから成る共用コードブックを決定するデバイスが提示され、ここでＭは事前定義済みの最大レベル数Ｍであり、Ｎは、前記量子化より前に、Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、さらに前記量子化において、各ベクトルの再生ベクトルは、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、このＮ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、前記共用コードブックの最初のＮ個の再生ベクトルによって表される。前記デバイスは、複数のトレーニングベクトルを少なくとも部分的に用いるトレーニングアルゴリズムによって前記再生ベクトルを生成する手段と、配列アルゴリズムに従って前記生成された再生ベクトルを前記共用コードブックへ配列し、それにより、各Ｎに関して、Ｍ個の再生ベクトルの前記集合の中の最初のＮ個の再生ベクトルがＮレベル・コードブックを形成し、これを前記ベクトルの前記量子化に使用すると前記ベクトルの平均歪みを小さいものにできるようにする手段と、を含む。そのとき、前記トレーニングアルゴリズムは、例えばＬＢＧアルゴリズムであってよい。
【００６３】
本発明の第４態様によれば、さらに、ベクトルのＮレベルの量子化に使用するＭ個の再生ベクトルから成る共用コードブックを決定するソフトウェア・アプリケーションが組込まれている記憶媒体を含むソフトウェア・アプリケーション製品が提案され、Ｍは、事前定義済みの最大レベル数Ｍであり、Ｎは、前記量子化より前に、Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、さらに前記量子化において、各ベクトルの再生ベクトルは、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、このＮ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、前記共用コードブックの最初のＮ個の再生ベクトルによって表される。前記ソフトウェア・アプリケーションは、複数のトレーニングベクトルを少なくとも部分的に用いるトレーニングアルゴリズムによって前記再生ベクトルを生成するプログラム・コードと、配列アルゴリズムに従って前記生成された再生ベクトルを前記共用コードブックへ配列し、それにより、各Ｎに関して、Ｍ個の再生ベクトルの前記集合の中の最初のＮ個の再生ベクトルがＮレベル・コードブックを形成し、これを前記ベクトルの前記量子化で使用すると前記ベクトルの平均歪みを小さくできるようにするプログラム・コードと、を含む。そのとき、前記トレーニングアルゴリズムは、例えばＬＢＧアルゴリズムであってよい。
【００６４】
前記記憶媒体は、任意の揮発性または不揮発性のメモリまたは記憶素子とすることができ、例えば、読み出し専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、メモリ・スティックまたはカード、および光学的、電気的、または磁気的に読み取り可能なディスクなどが挙げられる。前記ソフトウェア・アプリケーションに含まれている前記プログラム・コードは、コンピュータ・システムと通信するべく高級手続き型またはオブジェクト指向型プログラミング言語によって実現してもよく、またはデジタル・プロセッサと通信するべくアセンブリまたは機械言語として実現してもよい。いずれの場合も、前記プログラム・コードは、コンパイラ型またはインタプリタ型のコードであってよい。
【００６５】
発明の第５態様
最後に、本発明の第５態様によれば、ベクトルのＮレベルの量子化で使用される共用コードブックが提案され、Ｍは、事前定義済みの最大レベル数であり、Ｎは、前記量子化より前に、Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、さらに前記量子化において、各ベクトルの再生ベクトルは、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、このＮ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る前記共用コードブックの最初のＮ個の再生ベクトルによって表されている。前記共用コードブックは、Ｍ個の再生ベクトルの集合を含み、前記Ｍ個の再生ベクトルの集合の中の前記再生ベクトルは、複数のトレーニングベクトルを少なくとも部分的に用いるトレーニングアルゴリズムによって生成され、さらに、配列アルゴリズムに従って前記再生ベクトルが前記Ｍ個の再生ベクトルの集合へ配列されて、それにより、各Ｎに関して、Ｍ個の再生ベクトルの前記集合の中の最初のＮ個の再生ベクトルがＮレベル・コードブックを形成し、これを前記ベクトルの前記量子化に使用すると前記ベクトルの平均歪みを小さいものにできるようになる。
【００６６】
ここで、本発明の第１態様との関連で提示されたベクトルおよび再生ベクトルの説明、レベル数Ｎの選択の説明、および各ベクトルの再生ベクトル選択の説明は、本発明の第５態様にも適用されることに留意されたい。前記トレーニングアルゴリズムは、例えばＬＢＧアルゴリズムであってよい。
【００６７】
本発明の第５態様によるコードブックは、例えば、量子化器および／またはＮレベルに量子化済みのベクトルの再生ベクトルを検索するユニットを使用しているデバイスのメモリへ記憶してもよい。Ｍ個の再生ベクトルを、前記配列アルゴリズムに従って特別に前記共用コードブック内へ配列したことにより、前記共用コードブックを、選択可能な様々なレベル数Ｎ≦Ｍのベクトル量子化に関して単一コードブックとして使用できるようになり、ひいては量子化器および再生ベクトル検索ユニットの両方におけるメモリの節約に寄与する。
【００６８】
本発明の上記および他の態様は、以下に記載される実施形態に関連して、明確に説明される。
【発明を実施するための最良の形態】
【００６９】
本発明は、一般に、ベクトルのＮレベルの量子化に関し、前記ベクトルの再生ベクトルはＮレベル・コードブックから選択される。量子化は、事前定義済みの集合から採られる、選択可能な異なるレベル数Ｎに関して実行することができるが、全てのＮレベル・コードブックのＮ個の再生ベクトルは、Ｍ個の再生ベクトルを有する単一の共用コードブック内の最初のＮ個の再生ベクトルによってそれぞれ表されており、Ｍは、選択可能な最大レベル数を示している。
【００７０】
ここで、本発明の第１態様は、ベクトルのＮレベルの量子化を対象とし、第２態様は、Ｎレベルに量子化済みのベクトルの再生ベクトルを検索することを対象とし、第３態様は、ベクトルの表現の転送を対象とし、第４態様は、複数の異なるＮレベルの量子化用にＮレベル・コードブックを提供する共用コードブックの決定を対象とし、第５態様は、上述のような共用コードブックそれ自体を対象としている。
【００７１】
図１は、本発明の第３態様によりベクトルの表現を転送するシステム４を概略的に表している。このシステム４は、本発明の第１態様によるベクトルのＮレベルの量子化のためのデバイス１と、Ｎレベルに量子化済みのベクトルの再生ベクトルを検索するデバイス２とを含む。このシステムは、例えば２つの通信ユニット間の通信が可能になるような通信システムに含まれていてもよく、その場合は、第１通信ユニットがデバイス１を含み、第２通信ユニットがデバイス２を含む。このような通信システムの例としては、移動体無線システムなどがあり、そこでは音声または音響データが、前記音声または音響データの量子化を伴う音声または音響コーデックによって転送される。
【００７２】
デバイス１は、選択および写像ユニット１０と、共用コードブック・メモリ１１と、送信（Ｔｘ：ｔｒａｎｓｍｉｓｓｉｏｎ）ユニット１２とを含む。選択および写像ユニット１０は、ｋ≧１であるｋ次元のベクトルのシーケンスを受信し、前記ベクトルそれぞれに関して、Ｎレベル・コードブックに由来するｋ次元の再生ベクトルを選択し、選択された再生ベクトルを一意に特定する識別子へ、前記選択された再生ベクトルを写像することができる。前記ベクトルは、例えば音声または音響の符号化に関する積み重ねられたデータを含むことができ、例えばＬＰＣ／ＬＳＦ係数、すなわち音声または音響信号の１つまたは複数のフレームまたはサブフレームの利得、ピッチまたは有声化パラメータなどが挙げられる。そのとき、量子化レベル数を意味する前記パラメータＮは、例えばデバイス１を含んでいる通信ユニットの中央制御装置など外部のユニットから、前記ユニット１０へ送り込まれる。
【００７３】
前記再生ベクトルの前記選択は、ベクトルと各再生ベクトルとの間の相違を定量化する歪み基準に基づいて実行される。複数の歪み基準が、例えば本特許明細書の開始部分で引用したＬｉｎｄｅ他による従来技術の文献で提示されており、例を挙げると、２乗誤差歪みまたはＨｏｌｄｅｒノルムなどがある。一般に、選択ユニット１０は、適用される歪み基準が、前記Ｎレベル・コードブックに含まれている他の再生ベクトルと比較して最小となるような再生ベクトルを、前記Ｎレベル・コードブックから選択する。
【００７４】
前記選択および写像ユニット１０は、本発明の第５態様による共用コードブックを記憶している共用コードブック・メモリ１１から、前記Ｎレベル・コードブックを得る。この共用コードブックはＭ個の再生ベクトルを含んでおり、Ｍは、事前定義済みの値である。前記共有コードブックは、例えば前記メモリ１１がＲＯＭであれば、例えばデバイス１の製造中に前記メモリ１１へ記憶してもよい。同様に、前記デバイス１にインターフェースを備え、それを介して、例えばコードブック・サーバなど外部のユニットが、前記共用コードブックを変更または更新することができるようになっていてもよい。その場合、前記メモリ１１は例えばＲＡＭであってよい。
【００７５】
本発明の第５態様による共用コードブックは、Ｎ≦Ｍである、事前定義済みの複数の異なる値Ｎに関するＮレベル・コードブックを含むことを特徴とする。そのとき、Ｍは、デバイス１が量子化を実行することのできる最大レベル数を定義している。従って、本発明によれば、格納する必要があるのは単一の共用コードブックだけでありながら、同時になお、デバイスは、複数の値ＮでのＮレベルの量子化を実行することができる。Ｎレベルの量子化に必要なＮレベル・コードブックは、それぞれ共有コードブックに含まれている最初のＮ個の再生ベクトルである。この特性は、次にさらに詳しく説明するように、共有コードブックを適切に決定することによって実現される。
【００７６】
図５は、本発明の第５態様による上述のような共有コードブック５の具体的な例を表しており、Ｍ＝１６であって、Ｎは集合｛２，４，８，１６｝から選択可能である。共有コードブック５は、水平方向のバーとして示されているように、Ｍ＝１６個のｋ次元再生ベクトルを含んでいる。さらに、図５は、５２乃至５５の各範囲マーカーによって、共有コードブックにおける再生ベクトルの、単独のＮレベル・コードブックとの関連付けを表している。例えば、Ｎ＝２の場合の２レベル・コードブックは、範囲マーカー５２によって示されるように、共用コードブックの最初の２個の再生ベクトルのみを含み、Ｎ＝４の場合の４レベル・コードブックは、範囲マーカー５３によって示されるように、共用コードブックの最初の４個の再生ベクトルのみを含む、というようになっている。最終的に、範囲マーカー５５が示すように、Ｎ＝Ｍ＝１６であれば、Ｎ＝１６の場合の１６レベル・コードブックが、共用コードブックのＭ＝１６個の再生ベクトルを全て含む。
【００７７】
各Ｎレベル・コードブックに関し、その中に含まれているＮ個の再生ベクトルは、ｎ＝ｌｏｇ2（Ｎ）であるｎビットの２進ワードへ写像することができる。例えば、Ｎ＝４（すなわち、ｎ＝２）である場合、４レベル・コードブック内の最初の再生ベクトルは、２ビットの２進ワード「００」によって、２番目の再生ベクトルは２ビットの２進ワード「０１」によって、３番目の再生ベクトルは２ビットの２進ワード「１０」によって、４番目の再生ベクトルは２ビットの２進ワード「１１」によって、特定することができる。故に、この場合、再生ベクトルあたり２ビットを使う必要がある。Ｎ＝８（すなわち、ｎ＝３）の場合は、故に、３ビットを使う必要がある、というようになっている。
【００７８】
さらに明確にするために、以下に、音声または音響信号の利得パラメータの量子化に使用されるＭ＝１６個の１次元再生ベクトルを備えた例示的な共用コードブックを提示する。この例は、図５の共用コードブック５に沿っている。量子化される対象の利得パラメータの範囲は、０ｄＢから９６ｄＢであり、共用コードブックは２レベル、４レベル、８レベル、および１６レベルの量子化に適するものとし、そのため、共用コードブックには、Ｎ＝２、４、８、１６のコードブックが含まれている必要がある。利得パラメータが０ｄＢから９６ｄＢの間に均一に分配されると仮定すれば、好適な共用コードブックは、以下のように用意される（ｄＢ換算での全再生ベクトル）：
［２４，７２，０，４８，１２，３６，６０，８４，６，１８，３０，４２，５４，６６，７８，９０］，
それにより、その中に含まれるＮレベル・コードブックは、次のようになる（ｄＢ換算での全再生ベクトルに関する）：
Ｎ＝２：    ［２４，７２］
Ｎ＝４：    ［２４，７２，０，４８］
Ｎ＝８：    ［２４，７２，０，４８，１２，３６，６０，８４］
Ｎ＝１６：  ［２４，７２，０，４８，１２，３６，６０，８４，６，１８，３０，４２，５４，６６，７８，９０］。
【００７９】
各Ｎに関して、コードブックは、０ｄＢから９６ｄＢまでの範囲をできるだけ一様に扱おうとしている再生ベクトルを含んでおり、Ｎが増加するごとに、再生ベクトル間のユークリッド距離は減少することが容易にわかる。例えば、Ｎ＝２の場合、この距離は４８ｄＢであり、Ｎ＝４であれば、この距離は２４ｄＢ、Ｎ＝８であれば、この距離は１２ｄＢ、さらにＮ＝１６であれば、この距離はわずか６ｄＢである。故に、Ｎが２倍に増加するたびにこの距離が半分に減る。
【００８０】
ここで、利得パラメータの実現が量子化される代表的な事例を検討するが、前記実現は４０ｄＢに等しいものとする。量子化にｎ＝１ビット（Ｎ＝２）のみを使用するものとし、さらに歪み基準としてユークリッド距離が選ばれる場合には、２レベル・コードブック内の最初の再生ベクトル、すなわち２４ｄＢが選択されることになる。従って、この再生ベクトルに起因する歪みは、４０−２４ｄＢ＝１６ｄＢである。さらにもう１ビットを使用すると、すなわちｎ＝２（Ｎ＝４）とすれば、４レベル・コードブック内の最適な再生ベクトルは４８ｄＢであり、それに応じて、歪みはわずか８ｄＢとなる。再生ベクトルあたりｎ＝３ビット（Ｎ＝８）であれば、最適な再生ベクトルは３６ｄＢであり、故に歪みは４ｄＢまで減少する。最終的に、再生ベクトルあたりｎ＝４ビット（Ｎ＝１６）とすれば、１６レベル・コードブック内の最適な再生ベクトルは４２ｄＢであり、故に、歪みはさらに２ｄＢまで減少する。
【００８１】
このように、Ｎを選択することによって、歪みは、必要な伝送／記憶容量と照らし合わせて引き換え可能であることが、容易に明らかとなる。
【００８２】
図１に戻ると、上述のＮレベルに量子化されるべき各ベクトルの再生ベクトルの選択、および選択された再生ベクトルのワード長ｎ＝ｌｏｇ2（Ｎ）の２進値への写像は、デバイス１の選択および写像ユニット１０によって実行される。この方法で得られた識別子は、次いでＴｘユニット１２へ送られ、Ｔｘユニットが、識別子を伝送チャネルを介して送信できるように、さらなる処理を実行する。この処理としては、例えば、伝送路符号化、インターリービング、ベースバンド変調および／またはＲＦ処理などが挙げられる。前記伝送チャネルは、その上に前記識別子が記憶される記憶媒体であるとしても、同様に理解され得る。その場合は、故に、Ｔｘユニット１２が、かかる記憶媒体への識別子の記憶が可能となるように処理を実行する。
【００８３】
図１のシステム４の中のデバイス２は、受信（Ｒｘ：Ｒｅｃｅｐｔｉｏｎ）ユニット２３と、デバイス１にてＮレベルに量子化済みのベクトルの再生ベクトルを検索するユニット２０と、共用コードブック・メモリ２１とを含む。そこで、メモリ２１に格納されている共用コードブックは、デバイス１のメモリ１１に記憶されている共用コードブックと同じである。Ｒｘユニット２３は、デバイス１のＴｘユニット１２により、例えばＲＦ処理、同期、等化、復調、デインターリービング、および／または伝送路復号などの実行を経て送信された識別子を受信する。前記伝送チャネルが記憶媒体に相当する場合は、Ｒｘユニット２３は、この記憶媒体から識別子を読み出す処理を実行する。受信された識別子は、次いで、ユニット２０へ転送され、このユニットが、受信した識別子、パラメータＮおよびメモリ２１に格納されている共用コードブックを用いて、受信した識別子に対応する再生ベクトルを検索する。このためには、デバイス１およびデバイス２の両方について、再生ベクトルの識別子への写像が同一であることが必要である。さらに、ユニット２０が共用コードブックから正しいＮレベル・コードブックを取り出すことが可能になるように、パラメータＮをユニット２０へ入力する必要がある。Ｎは、例えばデバイス２を内蔵している通信ユニットの中央制御装置など外部のユニットによってユニット２０へ提供されてもよい。その後、検索された再生ベクトルは、さらなる処理段階へ向けて、デバイス２によって出力することができる。
【００８４】
本発明の第３態様によるシステム４は、このように、伝送チャネルを介してベクトルの表現を送信することを可能にする。当然のことながら、量子化に利用できるＮレベル・コードブックは、選択の対象となる再生ベクトルを限られた数だけしか含んでおらず、そのため通常、デバイス２にて検索される再生ベクトルは、デバイス１にて量子化されたベクトルの、歪みのない表現にはならない。Ｎが増加すれば、歪みを減少させることができるが、それに応じて再生ベクトルを特定するのに使わねばならないビット数が増加する。故に、パラメータＮによって、歪みを、伝送帯域幅要件（または、前記伝送チャネルがデータ・キャリアで置換えられている場合は、記憶要件）と照らし合わせて引き換えることができる。
【００８５】
図２ａは、本発明の第１態様によるＮレベルの量子化の方法の一実施形態のフロー・チャートである。この方法は、例えば図１のシステム４にあるデバイス１の選択および写像ユニット１０によって実行してもよい。そのために、この方法のステップ群を、前記デバイス１のデジタル・プロセッサによって実行される、ソフトウェア・アプリケーション製品のソフトウェア・アプリケーションに実装してもよい。
【００８６】
第１ステップ１００で、パラメータＮが、例えば外部のユニットからＮの値を受信するなどにより、初期設定される。次にステップ１０１で、量子化用のベクトルが利用可能か否かを確認する。利用不可能な場合は、方法を終了する。そうでなければ、ステップ１０２でベクトルを１個受信し、それに続くステップ１０３で、共用コードブックの最初のＮ個の再生ベクトルによって表されている、対応するＮレベル・コードブックから、再生ベクトルを、この再生ベクトルによって歪み基準が最小になるように選択する。次いでステップ１０４で、前記選択された再生ベクトルの識別子が、例えば図１にあるデバイス１のＴｘユニット１２へ向けて、出力される。
【００８７】
次に、ステップ１０５で、例えば外部シグナリングなどのために、パラメータＮを変更すべきであるか否かを確認する。変更しない場合、さらなるベクトルを量子化するべく、方法はステップ１０１へ飛越す。そうでなければ、ステップ１０６で新たなＮの選択を受信し、次に、方法はただステップ１０１へ飛越す。
【００８８】
図２ｂは、本発明の第２態様によるＮレベルに量子化済みのベクトルの再生ベクトルを検索する方法の一実施形態のフロー・チャートである。この方法は、例えば図１のシステム４にあるデバイス２のユニット２０によって実行してもよい。そのために、この方法のステップ群が、前記デバイス２のデジタル・プロセッサによって実行される、ソフトウェア・アプリケーション製品のソフトウェア・アプリケーションに実装してもよい。
【００８９】
第１ステップ２００で、パラメータＮが、例えば外部のインスタンスからＮの値を受信するなどにより、初期設定される。Ｎは、共用コードブックから適切なＮレベル・コードブックを選択するのに必要とされる。次いで、ステップ２０１で、識別子が利用可能か否かを確認する。利用不可能な場合は、方法を終了する。そうでなければ、ステップ２０２で、１個の識別子を受信する。次いで、ステップ２０３で、前記共用コードブック内の最初のＮ個の再生ベクトルによって表されているＮレベル・コードブックから、前記識別子によって特定される再生ベクトルを検索する。この検索された再生ベクトルが、次に、ステップ２０４で出力される。ステップ２０５で、パラメータＮの変更が必要であるか否かを確認する。必要でなければ、さらなる識別子を受信するべく、方法はステップ２０１へ飛越す。そうでなければ、ステップ２０６で新たなＮの選択を受信し、次いで、方法はただステップ２０１へ飛越す。
【００９０】
図３は、本発明の第４態様による、ベクトルのＮレベルの量子化に使用される共用コードブックを決定するデバイス３の一実施形態を概略的に表している。このデバイス３は、例えば、図４のシステム４のデバイス１またはデバイス２のようなデバイスのための共用コードブックを作成するように配置してもよい。決定された共用コードブックは、次に、デバイス１および２のメモリ１１および２１へそれぞれ格納してもよく、格納は、これらのデバイスを製造中に行ってもよいし、後から、例えば前記メモリ１１および２１に対するインターフェースを介して行ってもよい。
【００９１】
デバイス３は、制御ユニット３０と、ＬＢＧユニット３１と、配列ユニット３２とを備える。
【００９２】
ここで、ＬＢＧユニット３１は、複数のトレーニングベクトルを用いたＬＢＧアルゴリズムを実行して、Ｌ個の再生ベクトルを生成することができ、Ｌは、選択可能な整数である。前記ＬＢＧアルゴリズムは、本明細書の開始部分で引用されたＬｉｎｄｅ他による従来技術の文献で提示されているように、例えばベクトルの未知の分布に関するアルゴリズムを用いてもよい。前記複数のトレーニングベクトルに加えて、前記ＬＢＧアルゴリズムでは、前記Ｌ個の再生ベクトルの集合の前記生成の間は固定されていると考えられる１つ以上の再生ベクトルを与えてもよいが、これについては後に図４ｂを参照しつつ本発明の第４態様による方法の第２実施形態に関連してさらに詳細に説明する。当然のことながら、ＬＢＧアルゴリズムは、単に例示的なものとして、本発明の実施形態に用いている。同様に、他のコードブックトレーニングアルゴリズムを代わりに利用してもよい。
【００９３】
配列ユニット３２は、ＬＢＧユニット３１によって生成された再生ベクトルを、配列アルゴリズムに従って、共用コードブックの中へ配列することができ、それにより各Ｎに関して、共用コードブック内の最初のＮ個の再生ベクトルがＮレベル・コードブックを形成し、このＮレベル・コードブックが上述のベクトルのＮレベルの量子化に使用されると、ベクトルの平均歪みを小さいものにできるようにする。
【００９４】
制御ユニット３０は、デバイス３の動作を全体的に制御し、特に、ＬＢＧユニット３１と配列ユニット３２との相互動作を制御する。
【００９５】
共用コードブックの決定に関して、デバイス３には、共用コードブックをそれに合わせて設計すべき最大レベル数が与えられており、さらに共用コードブックに基づいて後に量子化されることになるベクトルの標本である、複数のトレーニングベクトルが与えられている。必要に応じて、共用コードブックがそれに合わせてＮレベル・コードブックを含むことになる、レベル数Ｎの事前定義済みの集合も、デバイス３に備えることができる。例えば、Ｍ＝２５６とすれば、共用コードブックには、Ｎ＝１２８およびＮ＝２５６に対するコードブックのみ含まれていれば十分であると言え、ひいては、レベル数Ｎの前記事前定義済みの集合は、｛１２８，２５６｝であると考えられる。故に、デバイス３は、この情報を活用して、Ｎ＝２，４，８，１６，３２，６４，１２８，２５６の全てに関して最適化されたコードブックの決定を試みる代わりに、上述の２つのレベル数のみに関して最適化されたコードブックを決定してもよい。ここで、２の累乗となるＮを選択することは単に例示的なものに過ぎないことに留意されたい。コードブックの柔軟性を高めるように、前記デバイス３は、２の累乗ではないレベル数Ｎに対する共用コードブックを決定することも同様にできるようになっている。
【００９６】
図４ａは、本発明の第４態様による共用コードブックを決定する方法の第１実施形態のフロー・チャートである。この第１実施形態は、例えば図３のデバイス３によって実現してもよい。
【００９７】
第1ステップ４００で、作成されるべき共用コードブックが、Ｍ個の再生ベクトルの記憶容量を備えた空のコードブックとして初期設定される。次にステップ４０１で、ループ・カウンタｉを１に初期設定する。次いでステップ４０２で、いわゆる「初期」Ｍレベル・コードブックを、複数のトレーニングベクトルに基づいたＬＢＧアルゴリズムに従って生成する。これは、例えばデバイス３のＬＢＧユニット３１（図３を参照）によって遂行することができる。そして、図４のフロー・チャートの残りのステップ群は、前記初期コードブックに含まれている再生ベクトルを、ステップ４００で初期設定された共用コードブックの中へ配列することに関する。この配列は、例えばデバイス３の配列ユニット３２（図３を参照）によって実行してもよい。
【００９８】
そのために、ステップ４０３で、ステップ４０２で使用されたものと同じトレーニング・シーケンスに基づいたＬＢＧアルゴリズムによって２レベル・コードブックが決定される。これは、デバイス３のＬＢＧユニット３１（図３参照）によって実行してもよい。次に、ステップ４０４で、前記２レベル・コードブックの２個の再生ベクトルに（歪み基準が最小になるという点で）最も類似する２個の再生ベクトルを前記初期コードブック内で特定し、次いで、ステップ４０５で、ステップ４００で初期設定された共用コードブック内の最初の２個の位置へコピーする。次にステップ４０６で、位置カウンタＰｏｓ（ｐｏｓｉｔｉｏｎ  ｃｏｕｎｔｅｒ）が２に設定される。
【００９９】
以下のステップ群４０７乃至４１２は、初期コードブックから全ての再生ベクトルが共用コードブックの中へ配列されるまで、繰り返し実行される。
【０１００】
ステップ４０７で、ＬＢＧアルゴリズムと、ステップ４０２および４０３で使用したものと同じトレーニングベクトルとを用いて、Ｉレベル・コードブックを決定するが、このステップは、例えばデバイス３のＬＢＧユニット３１（図３を参照）によって実施される。そのとき、Ｉ＝２iが成り立ち、ｉはステップ４０１で初期設定されたループ・カウンタである。このＩレベル・コードブックは、Ｎ＝Ｉの場合の最適コードブックに相当する。一方、共用コードブックの中で、最初のＩ／２個の再生ベクトルはフロー・チャートの中で以前に実行されたステップにて既に配列済みとなっているので、配列は、終わりのＩ／２個の再生ベクトルに関してのみ可能である。従って、ステップ４０８では、前記Ｉレベル・コードブック内のＩ／２個の再生ベクトルが決定されるが、これは、共用コードブック内に既に含まれているＩ／２個の再生ベクトルに（歪み基準が最小になるという点で）最も類似するものが特定される（同時に、無視される）。次いで、ステップ４０９で、Ｉレベル・コードブックの中の残りの（ステップ４０８で特定されていない）再生ベクトルに（歪み基準が最小になるという点で）最も類似するＩ／２個の再生ベクトルが前記初期コードブック内で選択され、次いでステップ４１０で、共用コードブック内のＰｏｓ＋１からＰｏｓ＋Ｉ／２までの位置へコピーされる。ステップ４１１で、位置カウンタＰｏｓがＩ／２増加され、同様にステップ４１２で、ループ・カウンタも１増加される。ステップ４１３で、ｍ＝ｌｏｇ2（Ｍ）の場合に、ループ・カウンタがｍを超えているか否かを確認する。超えている場合、初期コードブックからの全ての再生ベクトルが共用コードブックの中へ配列済みであるので、方法を終了する。そうでなければ、方法をステップ４０７に飛越し、共用コードブックに含まれる次のコードブックの配列を実行する。
【０１０１】
図４ｂは、本発明の第４態様による共用コードブックを決定する方法の第２実施形態のフロー・チャートである。この第２実施形態は、例えば図３のデバイス３によって実現されるとよい。
【０１０２】
第１ステップ４２０で、Ｍ個の再生ベクトルの容量を備えた（目的の）共用コードブックが初期設定される。ステップ４２１で、ループ・カウンタｉが１に初期設定される。ステップ４２２で、複数のトレーニングベクトルを用いたＬＢＧアルゴリズムによって、２レベル・コードブックが生成される。これは、例えば図３のデバイス３のＬＢＧユニット３１によって実行してもよい。ステップ４２３で、この２レベル・コードブックの２個の再生ベクトルが、共用コードブック内の最初の２個の位置へコピーされる。ステップ４２４で、位置カウンタＰｏｓが２に設定される。共用コードブック内の最初のコードブック（Ｎ＝２）の再生ベクトルを決定し配列するこの前置きとしての動作の後で、ステップ群４２５から４２８が繰り返し実行されて、次の、より高いレベルのコードブックを生成し決定する。
【０１０３】
そのために、ステップ４２５で、複数のトレーニングベクトルを用いたＬＢＧアルゴリズムによってＩレベル・コードブックが決定されるが、このときＩ＝２iが成り立ち、ｉはステップ４２１で初期設定されたループ・カウンタである。実質的には、このＩレベル・コードブックはＮ＝Ｉの場合の最適コードブックに相当すると考えられる。一方、共用コードブックの中で、最初のＩ／２個の再生ベクトルはフロー・チャートの中の以前に実行されたステップにて既に配列済みとなっているので、配列は、終わりのＩ／２個の再生ベクトルに関してのみ可能である。本発明の第４態様による方法の第２実施形態によれば、この問題は、共用コードブックへ既にコピーされている最初のＩ／２個の再生ベクトルを含むコードブックを用いてＬＢＧアルゴリズムを初期設定し、これらの最初のＩ／２個の再生ベクトルがＬＢＧアルゴリズムを実施している間は固定であるようにして対処される。これにより、確実に、ＬＢＧアルゴリズムによって出力されるＩレベル・コードブックが、共用コードブック内に既に含まれていた（加えて、低いレベルのコードブック用に最適化されていた）最初のＩ／２個の再生ベクトルと、現行のＩレベル・コードブック用に最適化されているＩ／２個の再生ベクトルとで構成されるようにし、同時になお前記Ｉレベル・コードブック内の最初のＩ／２個の再生ベクトルは固定されるという事実を考慮に入れる（および部分的に補償する）ようにする。その結果、ステップ４２５で決定されたＩレベル・コードブックの終わりのＩ／２個の再生ベクトルを、ステップ４２６で、共用コードブック内のＰｏｓ＋１からＰｏｓ＋Ｉ／２までの位置へコピーすることができる。
【０１０４】
上記のステップ４２５および４２６の適切な繰り返しを確実にするために、ステップ４２７で位置カウンタＰｏｓを更新し、ステップ４２８でループ・カウンタｉを増加し、ステップ４２９で、ｉとｍ＝ｌｏｇ2（Ｍ）の値とを照らし合わせて確認する。ｉがｍより大きければ、方法を終了し、そうでなければ、方法はステップ４２５へ飛越す。
【０１０５】
図４ｃは、本発明の第４態様による共用コードブックを決定する方法の第３実施形態のフロー・チャートである。この第３実施形態は、例えば図３のデバイス３によって実現してもよい。
【０１０６】
第１ステップ４４０で、Ｍ個の再生ベクトルの容量を備えた（目的の）共用コードブックが初期設定される。次に、第２ステップ４４１で、いわゆる「初期」Ｍレベル・コードブックが、複数のトレーニングベクトルを用いたＬＢＧアルゴリズムによって生成される。これは、例えばデバイス３のＬＢＧユニット３１（図３参照）によって実現してもよい。そして、図４ｃのフロー・チャートの残りのステップ群は、前記初期コードブックに含まれている再生ベクトルを、ステップ４４０で初期設定された共用コードブックの中へ配列することに関する。この配列は、例えばデバイス３の配列ユニット３２（図３を参照）によって実行してもよい。
【０１０７】
ステップ４４１の後、前記初期コードブックから、共用コードブック内の最初の位置（単数または複数）へコピーされる、最初の再生ベクトル（単数または複数）を選択するには、２つの選択肢が存在する。
【０１０８】
第１の選択肢によれば、ステップ４４２ａで、（歪み基準が最大になるという点で）互いに最も相違する２個の再生ベクトルが、初期コードブックから選択される。次に、ステップ４４３ａで、２個の選択された再生ベクトルが、初期コードブックから共用コードブック内の最初の２個の位置へコピーされる。さらに、これらの再生ベクトルは、初期コードブックから削除される。ステップ４４４ａで、次に、位置カウンタＰｏｓが３へ初期設定される。
【０１０９】
第２の選択肢によれば、ステップ４４２ｂで、ＬＢＧアルゴリズムがステップ４４１にて初期コードブックの生成に使用した全てのトレーニングベクトルに最も類似する再生ベクトルが、初期コードブックから選択される。次に、ステップ４４３ｂで、選択された再生ベクトルが、初期コードブックから共用コードブック内の最初の位置へコピーされる。さらに、この再生ベクトルは、初期コードブックから削除される。ステップ４４４ｂで、次に、位置カウンタＰｏｓが２へ初期設定される。
【０１１０】
ステップ４４５での制御により、初期コードブックが空にならない限り、以下のステップ群４４６から４４８が（前に実行された選択肢に関わらず）繰り返され、毎回、前記初期コードブックから再生ベクトルを１個、前記共用コードブック内で次に空いている位置Ｐｏｓへ配列する。
【０１１１】
そのために、ステップ４４６で、前記共用コードブックの中に既に含まれている再生ベクトル全てと最も相違する再生ベクトルを前記初期コードブック内で選択する。そのとき、前記共用コードブックの中に既に含まれている再生ベクトル全てと最も相違する再生ベクトルを決定するために、例えば、前記初期コードブック内の候補の再生ベクトル各々に関して、前記初期コードブック内の他の全ての再生ベクトルに対する歪みをそれぞれ計算し、これらの歪みを総計して、候補の再生ベクトルごとに１つの値を得てもよい。その結果、歪みの総計が最も大きい候補の再生ベクトルが、前記共用コードブック内に既に含まれている再生ベクトル全てと最も異なっていると考えることができる。ステップ４４７で、この選択された再生ベクトルが共用コードブック内の（次に空いている）位置Ｐｏｓへコピーされ、さらに初期コードブックから削除される。その後、ステップ４４８で、位置カウンタＰｏｓを１増加し、方法はステップ４４５へ飛越す。
【０１１２】
このようにして、共用コードブックは、前記共用コードブック内に既に含まれている再生ベクトルと最も相違する、前記初期コードブックからの再生ベクトルで順次埋められていき、ひいては、低いレベルのコードブックの場合でさえも、量子化対象となるベクトルのベクトル空間を良好に対象範囲とすることが確実になる。
【０１１３】
ごくまれにしか使用されない再生ベクトルが共用コードブック内に最初に登録されないように、図４ｃのフロー・チャートで示されている配列アルゴリズムにさらに制約を与えてもよい。例えば、ステップ４４６で、前記共用コードブック内に既に含まれている再生ベクトル全てと最も相違しており、同時にその全てのベクトル成分がある特定の制限未満である再生ベクトルを選択して、次いでステップ４４７で、共用コードブックへコピーしてもよい。前記制限は、例えば、共用コードブック内の現在の位置Ｐｏｓに依存してもよく、共用コードブックには初期コードブック内の再生ベクトルが選択される。例えば、共用コードブック内の、２レベル・コードブックに対応する位置（共用コードブック内の位置１および２）に関しては第１の制限が適用され、４レベル・コードブックの後半に対応する位置（共用コードブック内の位置３および４）に関しては第２の制限が適用される、などである。そのとき、前記制限の値は増加していくと（すなわち、第１の制限は第２の制限よりも小さく、第２の制限は第３の制限よりも小さい、など）有利であると言える。
【０１１４】
図４ｄは、本発明の第４態様による共用コードブックを決定する方法の第４実施形態のフロー・チャートである。この第４実施形態は、例えば図３のデバイス３によって実現することができる。
【０１１５】
第１ステップ４６０で、Ｍ個の再生ベクトルの容量を備えた（目的の）共用コードブックが初期設定される。次に、第２ステップ４６１で、いわゆる「初期」Ｍレベル・コードブックが、複数のトレーニングベクトルを用いたＬＢＧアルゴリズムによって生成される。これは、例えばデバイス３のＬＢＧユニット３１（図３参照）によって実現することができる。ステップ４６２で、位置カウンタＰｏｓがＭに初期設定される。そして、図４ｄのフロー・チャートの残りのステップ群は、前記初期コードブックに含まれている再生ベクトルを、ステップ４６０で初期設定された共用コードブックの中へ配列することに関する。この配列は、例えばデバイス３の配列ユニット３２（図３を参照）によって実行してもよい。
【０１１６】
ステップ４６３での制御により、初期コードブックが空にならない限り、後述のステップ群４６４から４６６が繰り返され、毎回、前記初期コードブックから再生ベクトルを１個、前記共用コードブック内で次に空いている位置Ｐｏｓへ配列するが、ここでは、共用コードブックの末尾から開始し、先頭に向かって進む。
【０１１７】
そのために、ステップ４６４で、前記初期コードブック内の（歪み基準が最小になるという点で）互いに最も類似する２個の再生ベクトルが選択される。ステップ４６５で、これら２個の選択された再生ベクトルのうちの第１の再生ベクトルが、共用コードブック内の（次に空いている）位置Ｐｏｓへコピーされ、さらに初期コードブックから削除される。次に、ステップ４６６で、位置カウンタＰｏｓを１減少し、方法はステップ４６３へ飛越す。
【０１１８】
このようにして、共用コードブックは、前記初期コードブック内の他の再生ベクトルに類似した、前記初期コードブックからの再生ベクトルで末尾から順次埋められていく。これにより、低いレベルのコードブックの場合でさえ、これら低いレベルのコードブックの再生ベクトルは共用コードブックの先頭に位置付けられるために、量子化対象となるベクトルのベクトル空間を良好に対象範囲とすることが確実になる。
【０１１９】
図４ｅは、本発明の第４態様による共用コードブックを決定する方法の第５実施形態のフロー・チャートである。この第５実施形態は、例えば図３のデバイス３によって実現することができる。
【０１２０】
第１ステップ４８０で、Ｍ個の再生ベクトルの容量を備えた（目的の）共用コードブックが初期設定される。次に、第２ステップ４８１で、いわゆる「初期」Ｍレベル・コードブックが、複数のトレーニングベクトルを用いたＬＢＧアルゴリズムによって生成される。これは、例えばデバイス３のＬＢＧユニット３１（図３参照）によって実現してもよい。そして、図４ｅのフロー・チャートの残りのステップ群は、前記初期コードブックに含まれている再生ベクトルを、ステップ４８０で初期設定された前記共用コードブックの中へ配列することに関する。この配列は、例えばデバイス３の配列ユニット３２（図３を参照）によって実行してもよい。
【０１２１】
ステップ４８２で、カウンタｉはゼロに初期設定される。さらに、変数Ｎ0がゼロとして定義される。最後に、位置カウンタＰｏｓがゼロに初期設定される。
【０１２２】
ステップ４８３から４８７は、Ｋ回繰り返されるループを表している。そのとき、Ｋは、共用コードブックによって提供されることになる、コードブックのサイズＮｉ（ｉ＝１，．．．，Ｋ、かつｊ＝２，．．．，Ｋの場合にＮj-1＜Ｎj≦Ｍ）の数を意味する。各ループｉにおいて、サイズがＮｉのコードブックを、次に述べるように完成させる。
【０１２３】
ループのうちのステップ４８４で、初期コードブックからＮi−Ｎi-1個の再生ベクトルが選択されて、共用コードブック内で次に空いている位置へコピーされ、さらに初期コードブックから削除される。これらの再生ベクトルの選択は、以前のループにて既に共有コードブックへコピー済みのＮi個の再生ベクトルと前記選択された再生ベクトルとを含んでいるＮiレベル・コードブックの、ＬＢＧアルゴリズムで使用された（ステップ４８１を参照）トレーニングベクトルに対する歪みが最小となるように行われる。ｉ＝１（それに応じて、Ｎi＝Ｎ0＝０）の場合は、これまでのところ、共用コードブックへは再生ベクトルが何もコピーされておらず、故に、再生ベクトルの選択は、選択されたベクトルのみを含んでいるＮiレベル・コードブックの、ＬＢＧアルゴリズムで使用されたトレーニングベクトルに対する歪みが最小となるように行われる。
【０１２４】
そのとき、コードブックの歪みは、Ｎiレベル・コードブックに含まれている各再生ベクトルにつき、検討対象となっている再生ベクトルのボロノイ（Ｖｏｒｏｎｏｉ）セルの中の全トレーニングベクトルに対する合計歪みを計算し、前記コードブック内の全再生ベクトルのこの合計歪みを総計して最終的な値を得るなどによって、決定することができる。そのとき、歪みは、例えば、ベクトル間のユークリッド距離、またはｌ1ノルムから導き出される距離などを用いて決定される。
【０１２５】
ループのうちのステップ４８５で、選択された再生ベクトルを共用コードブック内の位置、Ｐｏｓ＋１からＰｏｓ＋Ｎi−Ｎi-1（これらは共用コードブック内で次に空いている位置である）へコピーし、さらに、選択された再生ベクトルを初期コードブックから削除することにより、次のループにおける再生ベクトルの選択にあたって、それらを考慮しなくて済むようにする。以上に示されているように、各ループｉにおいて、Ｎiレベル・コードブックそれぞれの終わりのＮi−Ｎi-1個のポジションのみを決定しているが、それは、最初のＮi-1個の位置は既に以前のループにて決定済みであるからである。Ｎiレベル・コードブックは、故に、ループｉにて「完成される」（同時に、全体的な決定は行われない）と言える。
【０１２６】
ステップ４８６で、位置カウンタＰｏｓを、そのようにＮi−Ｎi-1ずつ増加する。次に、ステップ４８７で、共用コードブックへ含まれるべきＫ個のコードブックが全て処理されている（ｉ＝Ｋ）か否かを確認する。処理されていれば、方法を終了する。そうでなければ（ｉ＜Ｋ）、方法はステップ４８３へ飛越し、次のコードブックを完成させる。
【０１２７】
一例として、Ｍ＝４、Ｎ1＝２、Ｎ2＝４が成り立つ場合、最初のループｉ＝１において、２個の再生ベクトルを含む２要素コードブックの、トレーニングベクトルに対する歪みが最小となるように、Ｎ1＝２個の再生ベクトルが初期コードブックに由来する。これら２個の再生ベクトルは共用コードブック内の位置１および２にコピーされ（それにより、コードブックの先頭に含まれる２要素コードブックが完成する）、さらに初期コードブックから削除される。次のループｉ＝２では、共用コードブック内に既に含まれている２個の再生ベクトルと２個の選択された再生ベクトルとを備えたコードブックの、トレーニングベクトルに対して有する歪みが最小となるように、Ｎ2−Ｎ1＝２個の再生ベクトルが選択される。２個の再生ベクトルは、次いで、共用コードブック内の位置３および４へコピーされ（それにより、コードブックの先頭に含まれる４要素コードブックが完成する）、さらに初期コードブックから削除される。そのとき、当然のことながら、ＭおよびＮiの選択は、必ずしも２の累乗に制限される訳ではない。
【０１２８】
本発明について、上記の通り例示的な実施形態を用いて説明してきた。当業者には明らかなことであるが、代替的な方法および変形例が存在し、添付の特許請求の範囲および精神から逸脱することなく実施することが可能である。特に、本発明は、音声または音響処理に関連する用途に限定されるものではない。他のあらゆる種類のデータの量子化のためにも同様に採用することができる。
【図面の簡単な説明】
【０１２９】
【図１】本発明の第３態様によるベクトルの表現を転送するシステムに含まれている、本発明の第１態様によるベクトルのＮレベルの量子化用のデバイスの一実施形態、および本発明の第２態様によるＮレベルに量子化済みのベクトルの再生ベクトルを検索する一実施形態を、概略的に表した図である。
【図２ａ】本発明の第１態様によるＮレベルの量子化の方法の一実施形態のフロー・チャートである。
【図２ｂ】本発明の第２態様によるＮレベルに量子化済みのベクトルの再生ベクトルを検索する方法の一実施形態のフロー・チャートである。
【図３】本発明の第４態様によるベクトルのＮレベルの量子化に使用される共用コードブックを決定するデバイスの一実施形態を概略的に表した図である。
【図４ａ】本発明の第４態様によるベクトルのＮレベルの量子化に使用される共用コードブックを決定する方法の第１実施形態のフロー・チャートである。
【図４ｂ】本発明の第４態様によるベクトルのＮレベルの量子化に使用される共用コードブックを決定する方法の第２実施形態のフロー・チャートである。
【図４ｃ】本発明の第４態様によるベクトルのＮレベルの量子化に使用される共用コードブックを決定する方法の第３実施形態のフロー・チャートである。
【図４ｄ】本発明の第４態様によるベクトルのＮレベルの量子化に使用される共用コードブックを決定する方法の第４実施形態のフロー・チャートである。
【図４ｅ】本発明の第４態様によるベクトルのＮレベルの量子化に使用される共用コードブックを決定する方法の第５実施形態のフロー・チャートである。
【図５】本発明の第５態様による共用コードブックを概略的に表した図である。
【図１】
2009506368.tif 000003
【図２ａ】
2009506368.tif 000004
【図２ｂ】
2009506368.tif 000005
【図３】
2009506368.tif 000006
【図４ａ】
2009506368.tif 000007
【図４ｂ】
2009506368.tif 000008
【図４ｃ】
2009506368.tif 000009
【図４ｄ】
2009506368.tif 000010
【図４ｅ】
2009506368.tif 000011
【図５】
2009506368.tif 000012
【手続補正書】
【提出日】平成20年6月5日(2008.6.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ベクトルのＮレベル量子化方法であって、Ｎが、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、
各ベクトルの再生ベクトルを、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択するステップであって、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表されるステップを有する方法。
【請求項２】
ｎおよびｍが整数値であってＮ＝２nおよびＭ＝２mが成り立つ、請求項１に記載の方法。
【請求項３】
前記Ｎレベル・コードブック内の各再生ベクトルが、ｎビットの２進ワードによって特定される、請求項１に記載の方法。
【請求項４】
前記ベクトルが、データ・シーケンスの線形予測符号化に関連するパラメータを含む、請求項１に記載の方法。
【請求項５】
前記選択するステップが、携帯型通信デバイスによって実行される、請求項１に記載の方法。
【請求項６】
ベクトルのＮレベル量子化のための装置であって、Ｎが、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、
各ベクトルの再生ベクトルを、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択する手段であって、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表される手段を備える装置。
【請求項７】
前記装置が、携帯型通信デバイスである、請求項６に記載の装置。
【請求項８】
ベクトルのＮレベル量子化のためのソフトウェア・アプリケーションが組込まれている記憶媒体を含むソフトウェア・アプリケーション製品であって、Ｎが、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記ソフトウェア・アプリケーションが、
各ベクトルの再生ベクトルを、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択するためのプログラム・コードを含み、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表されるソフトウェア・アプリケーション製品。
【請求項９】
Ｎレベルに量子化済みのベクトルの再生ベクトルを検索する方法であって、Ｎが、前記量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、
前記量子化においてベクトルに対して選択された再生ベクトルの識別子を受信するステップと、
前記識別子に基づいて、Ｎ個の再生ベクトルから成るＮレベル・コードブックから前記再生ベクトルを検索するステップであって、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表されるステップと、
を有する方法。
【請求項１０】
Ｎレベルに量子化済みのベクトルの再生ベクトルを検索する装置であって、Ｎが、前記ベクトルの量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、
前記量子化においてベクトルに対して選択された再生ベクトルの識別子を受信する手段と、
前記識別子に基づいて、Ｎ個の再生ベクトルから成るＮレベル・コードブックから前記再生ベクトルを検索する手段であって、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表される手段と、
を備える装置。
【請求項１１】
Ｎレベルに量子化済みのベクトルの再生ベクトルを検索するソフトウェア・アプリケーションが組込まれている記憶媒体を含むソフトウェア・アプリケーション製品であって、Ｎが、前記ベクトルの量子化より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記ソフトウェア・アプリケーションが、
前記量子化において、ベクトルに対して選択された再生ベクトルの識別子を受信するプログラム・コードと、
前記識別子に基づいて、Ｎ個の再生ベクトルから成るＮレベル・コードブックから前記再生ベクトルを検索するプログラム・コードであって、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る同一の共用コードブックの最初のＮ個の再生ベクトルによって表されるプログラム・コードと、
を含むソフトウェア・アプリケーション製品。
【請求項１２】
ベクトルの表現を転送するシステムであって、
各ベクトルの再生ベクトルを、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択する手段であって、Ｎが、前記選択より前に、事前定義済みの最大レベル数Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、さらに前記Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、Ｍ個の再生ベクトルから成る第１共用コードブックの最初のＮ個の再生ベクトルによって表される手段と、
伝送チャネルを介して、前記選択された再生ベクトルの識別子を送信する手段と、
前記識別子を受信する手段と、
前記識別子に基づいて、前記第１コードブックに等しい、Ｍ個の再生ベクトルから成る第２共用コードブックの最初のＮ個の再生ベクトルによって表されるＮ個の再生ベクトルから成るＮレベル・コードブックから、前記再生ベクトルを検索する手段と、
を備えるシステム。
【請求項１３】
ベクトルのＮレベルの量子化に使用するＭ個の再生ベクトルから成る共用コードブックを決定する方法であって、Ｍが、事前定義済みの最大レベル数であり、Ｎが、前記量子化より前に、Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記量子化において、各ベクトルの再生ベクトルが、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、前記共用コードブックの最初のＮ個の再生ベクトルによって表され、
複数のトレーニングベクトルを少なくとも部分的に用いるトレーニングアルゴリズムによって前記再生ベクトルを生成するステップと、
前記生成された再生ベクトルを配列アルゴリズムに従って前記共用コードブック内に配列するステップであって、それにより、各Ｎに関して、前記共用コードブックの前記最初のＮ個の再生ベクトルがＮレベル・コードブックを形成し、前記ベクトルの前記量子化に使用されると、前記ベクトルの平均歪みを小さいものにすることができるステップと、
を有する方法。
【請求項１４】
ｎおよびｍが整数値であってＮ＝２nおよびＭ＝２mが成り立つ、請求項１３に記載の方法。
【請求項１５】
前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成するステップと、
前記トレーニングアルゴリズムによって、２個の再生ベクトルから成る２レベル・コードブックを生成するステップと、
前記２レベル・コードブック内の前記２個の再生ベクトルに最も類似する２個の再生ベクトルを前記初期コードブックから選択するステップと、
前記２個の選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の最初の２個の位置へコピーし、前記２個の選択された再生ベクトルを、前記初期コードブックから削除するステップと、
１＜ｉ≦ｍの場合に、次のステップ群
Ｉ＝２i個の再生ベクトルから成るＩレベル・コードブックを前記トレーニングアルゴリズムによって生成するステップ、
前記共用コードブックへ既にコピー済みのＩ／２個の再生ベクトルに最も類似する前記Ｉ／２個の再生ベクトルを前記Ｉレベル・コードブックから特定するステップ、
前記Ｉレベル・コードブック内の残りの特定されていないＩ／２個の再生ベクトルに関して、前記残りの特定されていないＩ／２個の再生ベクトルに最も類似するＩ／２個の再生ベクトルを前記初期コードブックから選択するステップ、および
前記Ｉ／２個の選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の増加方向側で空いている位置へコピーし、前記Ｉ／２個の選択された再生ベクトルを、前記初期コードブックから削除するステップ、
を繰り返すステップと、
を有する請求項１４に記載の方法。
【請求項１６】
前記トレーニングアルゴリズムによって、２個の再生ベクトルから成る２レベル・コードブックを生成するステップと、
前記２個の再生ベクトルを、前記２レベル・コードブックから前記共用コードブック内の最初の２個の位置へコピーするステップと、
１＜ｉ≦ｍの場合に、次のステップ群
Ｉ＝２i個の再生ベクトルから成るＩレベル・コードブックを前記トレーニングアルゴリズムによって生成するステップであって、前記トレーニングアルゴリズムにおいて、前記共用コードブックへ既にコピー済みの前記Ｉ／２個の再生ベクトルが、Ｉ個の再生ベクトルから成るコードブックの最初の部分を形成し、これが、前記トレーニングアルゴリズムによって生成された前記Ｉレベル・コードブックの初期設定の機能を果たし、前記トレーニングアルゴリズム全体を通じて固定であると仮定するステップ、および
前記生成されたＩレベル・コードブックの終わりのＩ／２個の再生ベクトルを、前記共用コードブック内の増加方向で次に空いているＩ／２個の位置へコピーするステップ、
を繰り返すステップと、
を有する請求項１４に記載の方法。
【請求項１７】
複数のトレーニングベクトルを用いる前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成するステップと、
前記初期コードブックから、互いに最も相違する２個の再生ベクトルを選択するステップと、
前記２個の選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の最初の２個の位置へコピーし、前記２個の選択された再生ベクトルを、前記初期コードブックから削除するステップと、
前記初期コードブックが空にならない限り、次のステップ群
前記初期コードブックから、前記共用コードブックへ既にコピー済みの再生ベクトル全てに対して最も相違する再生ベクトルを選択するステップ、および
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の増加方向側で次に空いている位置へコピーし、前記選択された再生ベクトルを、前記初期コードブックから削除するステップ、
を繰り返すステップと、
を有する請求項１３に記載の方法。
【請求項１８】
複数のトレーニングベクトルを用いる前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成するステップと、
前記初期コードブックから、前記トレーニングベクトルの全てに最も類似する再生ベクトルを選択するステップと、
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の最初の位置へコピーし、前記選択された再生ベクトルを、前記初期コードブックから削除するステップと、
前記初期コードブックが空にならない限り、次のステップ群
前記初期コードブックから、前記共用コードブックへ既にコピー済みの再生ベクトル全てに対して最も相違する再生ベクトルを選択するステップ、および
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の増加方向側で次に空いている位置へコピーし、前記選択された再生ベクトルを、前記初期コードブックから削除するステップ、
を繰り返すステップと、
を有する請求項１３に記載の方法。
【請求項１９】
前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成するステップと、
前記初期コードブックが空にならない限り、次のステップ群
前記初期コードブックから、互いに最も類似する２個の再生ベクトルを選択するステップ、および
前記２個の選択された再生ベクトルのうちの第１の再生ベクトルを、前記初期コードブックから前記共用コードブック内に、最後の位置から減少方向側で次に空いている位置へコピーし、前記２個の選択された再生ベクトルのうちの前記第１の再生ベクトルを、前記初期コードブックから削除するステップ、
を繰り返すステップと、
を有する請求項１３に記載の方法。
【請求項２０】
Ｍ以下であるＮに対する前記事前定義済みの少なくとも２つの値から成る集合が、ｉ＝１，．．．，Ｋでありｊ＝２，．．．，Ｋの場合にＮj-1＜Ｎj≦ＭであるＮiを、Ｋ個含んでおり、
複数のトレーニングベクトルを用いる前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成するステップと、
前記初期コードブックからＮ1個の再生ベクトルを選択するステップであって、前記選択された再生ベクトルを含むコードブックの、前記トレーニングベクトル全てに対する歪みが最小になるように選択するステップと、
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブックへコピーし、前記選択された再生ベクトルを、前記初期コードブックから削除するステップと、
１＜ｉ≦Ｋである各Ｎiに関して、次のステップ群
前記初期コードブックからＮi−Ｎi-1個の再生ベクトルを選択するステップであって、前記共用コードブックへ既にコピー済みの前記Ｎi-1個の再生ベクトルと前記選択された再生ベクトルとを含むコードブックの、前記トレーニングベクトル全てに対する歪みが最小となるように選択するステップ、および
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の増加方向側で次に空いている位置へコピーし、前記選択された再生ベクトルを前記初期コードブックから削除するステップ、
を繰り返すステップと、
を有する請求項１３に記載の方法。
【請求項２１】
ベクトルのＮレベル量子化に使用するＭ個の再生ベクトルから成る共用コードブックを決定する装置であって、Ｍが、事前定義済みの最大レベル数Ｍであり、Ｎが、前記量子化より前に、Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記量子化において、各ベクトルの再生ベクトルが、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、前記共用コードブックの最初のＮ個の再生ベクトルによって表され、
複数のトレーニングベクトルを少なくとも部分的に用いるトレーニングアルゴリズムによって、前記再生ベクトルを生成する手段と、
前記生成された再生ベクトルを配列アルゴリズムに従って前記共用コードブック内に配列する手段であって、それにより、各Ｎに関して、前記Ｍ個の再生ベクトルの集合の中の最初のＮ個の再生ベクトルがＮレベル・コードブックを形成し、前記ベクトルの前記量子化に使用されると、前記ベクトルの平均歪みを小さいものにすることができる手段と、
を備える装置。
【請求項２２】
ベクトルのＮレベル量子化に使用するＭ個の再生ベクトルから成る共用コードブックを決定するソフトウェア・アプリケーションが組込まれている記憶媒体を含んでいるソフトウェア・アプリケーション製品であって、Ｍが、事前定義済みの最大レベル数Ｍであり、Ｎが、前記量子化より前に、Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記量子化において、各ベクトルの再生ベクトルが、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、該Ｎ個の再生ベクトルは、前記事前定義済みの少なくとも２つの値から成る集合の中のどのＮの場合も、前記共用コードブックの最初のＮ個の再生ベクトルによって表され、前記ソフトウェア・アプリケーションが、
複数のトレーニングベクトルを少なくとも部分的に用いるトレーニングアルゴリズムによって、前記再生ベクトルを生成するプログラム・コードと、
前記生成された再生ベクトルを配列アルゴリズムに従って前記共用コードブック内に配列するプログラム・コードであって、それにより、各Ｎに関して、前記Ｍ個の再生ベクトルの集合の中の最初のＮ個の再生ベクトルがＮレベル・コードブックを形成し、前記ベクトルの前記量子化に使用されると、前記ベクトルの平均歪みを小さいものにすることができるプログラム・コードと、
を含むソフトウェア・アプリケーション製品。
【請求項２３】
ベクトルのＮレベル量子化に使用する共用コードブックであって、Ｍが、事前定義済みの最大レベル数であり、Ｎが、前記量子化より前に、Ｍ以下である事前定義済みの少なくとも２つの値から成る集合から選択可能であり、前記量子化において、各ベクトルの再生ベクトルが、Ｎ個の再生ベクトルから成るＮレベル・コードブックから選択され、該Ｎ個の再生ベクトルが、前記事前定義済みの少なくとも２つの値から成る集合の中の各Ｎに関して、Ｍ個の再生ベクトルから成る前記共用コードブックの最初のＮ個の再生ベクトルによって表され、
Ｍ個の再生ベクトルの集合であって、前記Ｍ個の再生ベクトルの集合の中の前記再生ベクトルが、複数のトレーニングベクトルに少なくとも部分的に基づきトレーニングアルゴリズムによって生成され、前記再生ベクトルは、前記Ｍ個の再生ベクトルの集合の中で配列アルゴリズムに従って配列され、それにより、各Ｎに関して、前記Ｍ個の再生ベクトルの集合の中の最初のＮ個の再生ベクトルがＮレベル・コードブックを形成し、前記ベクトルの前記量子化に使用されると、前記ベクトルの平均歪みを小さいものにすることができる集合を含む共用コードブック。
【請求項２４】
ｎおよびｍが整数値であってＮ＝２nおよびＭ＝２mが成り立つ、請求項２１に記載の装置。
【請求項２５】
前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成する手段と、
前記トレーニングアルゴリズムによって、２個の再生ベクトルから成る２レベル・コードブックを生成する手段と、
前記２レベル・コードブック内の前記２個の再生ベクトルに最も類似する２個の再生ベクトルを前記初期コードブックから選択する手段と、
前記２個の選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の最初の２個の位置へコピーし、前記２個の選択された再生ベクトルを、前記初期コードブックから削除する手段と、
１＜ｉ≦ｍの場合に、次のステップ群
Ｉ＝２i個の再生ベクトルから成るＩレベル・コードブックを前記トレーニングアルゴリズムによって生成するステップ、
前記共用コードブックへ既にコピー済みのＩ／２個の再生ベクトルに最も類似する前記Ｉ／２個の再生ベクトルを前記Ｉレベル・コードブックから特定するステップ、
前記Ｉレベル・コードブック内の残りの特定されていないＩ／２個の再生ベクトルに関して、前記残りの特定されていないＩ／２個の再生ベクトルに最も類似するＩ／２個の再生ベクトルを前記初期コードブックから選択するステップ、および
前記Ｉ／２個の選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の増加方向側で空いている位置へコピーし、前記Ｉ／２個の選択された再生ベクトルを、前記初期コードブックから削除するステップ、
を繰り返す手段と、
を備える請求項２４に記載の装置。
【請求項２６】
前記トレーニングアルゴリズムによって、２個の再生ベクトルから成る２レベル・コードブックを生成する手段と、
前記２個の再生ベクトルを、前記２レベル・コードブックから前記共用コードブック内の最初の２個の位置へコピーする手段と、
１＜ｉ≦ｍの場合に、次のステップ群
Ｉ＝２i個の再生ベクトルから成るＩレベル・コードブックを前記トレーニングアルゴリズムによって生成するステップであって、前記トレーニングアルゴリズムにおいて、前記共用コードブックへ既にコピー済みの前記Ｉ／２個の再生ベクトルが、Ｉ個の再生ベクトルから成るコードブックの最初の部分を形成し、これが、前記トレーニングアルゴリズムによって生成された前記Ｉレベル・コードブックの初期設定の機能を果たし、前記トレーニングアルゴリズム全体を通じて固定であると仮定するステップ、および
前記生成されたＩレベル・コードブックの終わりのＩ／２個の再生ベクトルを、前記共用コードブック内の増加方向で次に空いているＩ／２個の位置へコピーするステップ、
を繰り返す手段と、
を備える請求項２４に記載の装置。
【請求項２７】
複数のトレーニングベクトルを用いる前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成する手段と、
前記初期コードブックから、互いに最も相違する２個の再生ベクトルを選択する手段と、
前記２個の選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の最初の２個の位置へコピーし、前記２個の選択された再生ベクトルを、前記初期コードブックから削除する手段と、
前記初期コードブックが空にならない限り、次のステップ群
前記初期コードブックから、前記共用コードブックへ既にコピー済みの再生ベクトル全てに対して最も相違する再生ベクトルを選択するステップ、および
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の増加方向側で次に空いている位置へコピーし、前記選択された再生ベクトルを、前記初期コードブックから削除するステップ、
を繰り返す手段と、
を備える請求項２１に記載の装置。
【請求項２８】
複数のトレーニングベクトルを用いる前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成する手段と、
前記初期コードブックから、前記トレーニングベクトルの全てに最も類似する再生ベクトルを選択する手段と、
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の最初の位置へコピーし、前記選択された再生ベクトルを、前記初期コードブックから削除する手段と、
前記初期コードブックが空にならない限り、次のステップ群
前記初期コードブックから、前記共用コードブックへ既にコピー済みの再生ベクトル全てに対して最も相違する再生ベクトルを選択するステップ、および
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の増加方向側で次に空いている位置へコピーし、前記選択された再生ベクトルを、前記初期コードブックから削除するステップ、
を繰り返す手段と、
を備える請求項２１に記載の装置。
【請求項２９】
前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成する手段と、
前記初期コードブックが空にならない限り、次のステップ群
前記初期コードブックから、互いに最も類似する２個の再生ベクトルを選択するステップ、および
前記２個の選択された再生ベクトルのうちの第１の再生ベクトルを、前記初期コードブックから前記共用コードブック内に、最後の位置から減少方向側で次に空いている位置へコピーし、前記２個の選択された再生ベクトルのうちの前記第１の再生ベクトルを、前記初期コードブックから削除するステップ、
を繰り返す手段と、
を備える請求項２１に記載の装置。
【請求項３０】
Ｍ以下であるＮに対する前記事前定義済みの少なくとも２つの値から成る集合が、ｉ＝１，．．．，Ｋでありｊ＝２，．．．，Ｋの場合にＮj-1＜Ｎj≦ＭであるＮiを、Ｋ個含んでおり、
複数のトレーニングベクトルを用いる前記トレーニングアルゴリズムによって、Ｍ個の再生ベクトルから成る初期コードブックを生成する手段と、
前記初期コードブックからＮ1個の再生ベクトルを選択するステップであって、前記選択された再生ベクトルを含むコードブックの、前記トレーニングベクトル全てに対する歪みが最小になるように選択する手段と、
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブックへコピーし、前記選択された再生ベクトルを、前記初期コードブックから削除する手段と、
１＜ｉ≦Ｋである各Ｎiに関して、次のステップ群
前記初期コードブックからＮi−Ｎi-1個の再生ベクトルを選択するステップであって、前記共用コードブックへ既にコピー済みの前記Ｎi-1個の再生ベクトルと前記選択された再生ベクトルとを含むコードブックの、前記トレーニングベクトル全てに対する歪みが最小となるように選択するステップ、および
前記選択された再生ベクトルを、前記初期コードブックから前記共用コードブック内の増加方向側で次に空いている位置へコピーし、前記選択された再生ベクトルを前記初期コードブックから削除するステップ、
を繰り返す手段と、
を備える請求項２１に記載の装置。
【国際調査報告】
2009506368.tif 000013
2009506368.tif 000014
2009506368.tif 000015