(57)【要約】【解決手段】  データ圧縮のための方法および装置であって、圧縮対象の多次元データに非相関変換を適用し、次に、１若しくはそれ以上の１次元マッチング追跡アルゴリズムのシーケンスを用いて前記変換出力を符号化するものである、前記用いる工程を有する。本発明は、ビデオおよび静止画像符号器に特に有用なものであって、中でも特に、非常に低いビットレートで使用されるリアルタイム符号器およびスケーラブルなビットレートが重視されるリアルタイム符号器に有用である。【選択図】      図２
2007518367.tif 000002
【特許請求の範囲】
【請求項１】
データ圧縮方法であって、
多次元データに変換を適用し、多次元変換データセットを生成する工程と、
１若しくはそれ以上の１次元マッチング追跡アルゴリズムを適用することにより前記変換データセットを符号化する工程と
を有するデータ圧縮方法。
【請求項２】
データ圧縮方法であって、
（ａ）多次元データに変換を適用し、多次元変換データセットを生成する工程と、
（ｂ）前記変換データセットを複数の第１の１次元基底関数のそれぞれで畳み込み、対応する複数の畳み込みデータセットを生成する工程と、
（ｃ）全ての畳み込みデータセットにわたる第１の方向における場所と、最大マグニチュードを表す第１の基底関数とを決定する工程と、
（ｄ）前記場所を囲む前記変換データの部分を、前記決定された最大マグニチュードに対応する前記第１および第２の基底関数から派生する原子で表す工程と、
（ｅ）前記変換データセットから前記原子を減算して新しいデータセットを作成する工程と、
（ｆ）前記変換データセットのあらゆる変更部分を前記複数の第１の１次元基底関数のそれぞれで畳み込むことによって前記畳み込みデータを繰り返し更新する工程、およびその次に工程（ｃ）および（ｄ）を再度適用する工程と、
（ｇ）工程（ｄ）で派生した原子を変換データの符号化バージョンとして出力する工程と
を有するデータ圧縮方法。
【請求項３】
請求項２のデータ圧縮方法において、各原子の前記符号化バージョンは、マグニチュードと、変換データセットにおけるポジションと、基底関数の数とを含むものである。
【請求項４】
前記全ての請求項のいずれかのデータ圧縮方法において、圧縮されるデータはビデオ画像データを表すものである。
【請求項５】
請求項１〜３のいずれかのデータ圧縮方法において、圧縮されるデータは静止画像を表すものである。
【請求項６】
請求項１〜３のいずれかのデータ圧縮方法において、圧縮されるデータは、動き補正ビデオコーダ内の残画像を有するものである。
【請求項７】
請求項１〜３のいずれかのデータ圧縮方法において、前記変換データセットの１次元は時間を表すものである。
【請求項８】
請求項１〜３のいずれかのデータ圧縮方法において、前記変換は周波数分離型変換である。
【請求項９】
請求項８のデータ圧縮方法において、前記変換は、前記変換データセットの少なくとも一部を、ある１方向で垂直方向よりも優れた非相関があり、第１のアルゴリズムは、１次元スキャンを最大相関の方向で行うことによって適用されるものである。
【請求項１０】
請求項１のデータ圧縮方法において、前記変換は２次元である。
【請求項１１】
請求項１のデータ圧縮方法において、前記アルゴリズムは、前記データのシーケンシャル１次元スキャンによって適用されるものである。
【請求項１２】
請求項１１のデータ圧縮方法において、前記スキャンは、前記データ内で方向の切り替えを連続的に行うものである。
【請求項１３】
請求項１１のデータ圧縮方法において、前記の連続的スキャンは、他の方向でのスキャンで予め場所が定められた原子より低いマグニチュードの原子の場所が定められるまで同一方向で続くものであって、その後、そのスキャン方向は変更されるものである。
【請求項１４】
請求項１３のデータ圧縮方法において、前記スキャン方向は、最高の現在のマグニチュードの原子の場所が予め定められた方向に変更されるものである。
【請求項１５】
請求項２の方法であって、最大マグニチュードの場所を決定する前に、前記畳み込みデータセットに機能マップを適用する工程を含むものである。
【請求項１６】
請求項１５の方法において、前記機能マップは感覚的モデルを表すものである。
【請求項１７】
請求項１５の方法において、前記機能マップは心理音響的モデルを表すものである。
【請求項１８】
請求項１５の方法において、前記機能マップは心理視覚的モデルを表すものである。
【請求項１９】
請求項１５〜１８のいずれかの方法において、前記機能マップは倍数的に適用されるものである。
【請求項２０】
請求項１５〜１９のいずれかの方法において、前記機能マップは加算的または減算的に適用されるものである。
【請求項２１】
請求項２の方法において、前記第２の１次元基底関数は、空間ドメインに拡張するものである。
【請求項２２】
請求項２の方法において、前記第２の１次元基底関数は、時間ドメインに拡張するものである。
【請求項２３】
請求項２の方法であって、追加的工程として、
（ａ）前記変換データを前記場所で複数の第３の１次元基底関数のそれぞれで畳み込む工程と、
（ｂ）最大マグニチュードの第３の基底関数を決定する工程と
を有し、
前記原子は、前記決定された最大マグニチュードに対応する前記第３の基底関数からさらに派生されるものである。
【請求項２４】
請求項２の方法において、前記最大マグニチュードを表す前記第２の基底関数は、前記場所の領域で追加的な検索を行わずに決定されるものである。
【請求項２５】
請求項２の方法において、前記最大マグニチュードを表す前記第２の基底関数は、前記場所の領域で局所的なエリアの検索によって少なくとも部分的に決定されるものである。
【請求項２６】
データ圧縮方法であって、
（ａ）多次元データに変換を適用し、多次元変換データセットを生成する工程と、
（ｂ）前記変換データセットを複数の第１の１次元基底関数のそれぞれで畳み込み、対応する複数の畳み込みデータセットを生成する工程と、
（ｃ）全ての畳み込みデータセットにわたる第１の方向における第１の場所と、最大マグニチュードを表す第１の基底関数とを決定し、前記第１の場所を囲む前記変換データの部分を、前記決定された最大マグニチュードに対応する前記第１の関数から派生した第１の原子で表す工程と、
（ｄ）前記変換データセットから前記第１の原子を減算して新しいデータセットを作成する工程と、
（ｅ）前記新しいデータセットを複数の第２の１次元基底関数のそれぞれで畳み込む工程と、
（ｆ）全ての畳み込みデータセットにわたる第２の方向における第２の場所と、最大マグニチュードを表す第２の基底関数とを決定する工程、および第２の場所を囲む前記新しいデータセットの部分を、前記決定された最大マグニチュードに対応する前記第２の関数から派生した第２の原子で表す工程と、
（ｇ）前記新しいデータセットから前記第２の原子を減算し、さらに新しいデータセットを作成するものである、前記減算する工程と、
（ｈ）前記さらに新しいデータセットを用いて工程（ｂ）を繰り返す工程、およびその後に工程（ｃ）〜（ｆ）を再度適用する工程と、
（ｉ）工程（ｃ）および（ｆ）で派生した原子を量子化変換データの符号化バージョンとして出力する工程と
を有するデータ圧縮方法。
【請求項２７】
請求項２６のデータ圧縮方法において、前記第１の場所と前記第２の場所は一致するものである。
【請求項２８】
符号器であって、時間変動データに変換を適用して多次元変換データセットを生成するための手段を有するデータ圧縮のための符号器、および１若しくはそれ以上の１次元マッチング追跡アルゴリズムを、各次元に１つ適用することにより前記変換データセットを符号化するための符号器。
【請求項２９】
データ圧縮のための符号器であって、
（ａ）多次元変換データセットを生成するために多次元データに変換を適用する手段と、
（ｂ）対応する複数の畳み込みデータセットを生成するために前記変換データセットを複数の第１の１次元基底関数のそれぞれで畳み込む手段と、
（ｃ）全ての畳み込みデータセットにわたる第１の方向における場所と、最大マグニチュードを表す第１の基底関数とを決定する手段と、
（ｄ）前記場所を囲む前記変換データの部分を、前記決定された最大マグニチュードに対応する前記第１の関数から派生する原子で表す手段と、
（ｇ）前記変換データセットから前記原子を減算して新しいデータセットを作成する手段と、
（ｈ）前記変換データセットの任意の変更部分を前記複数の第１の１次元基底関数のそれぞれで畳み込むことによって前記畳み込みデータを繰り返し更新する手段と、
（ｉ）その派生原子の量子化変換データの符号化バージョンを出力する手段と
を有するデータ圧縮のための符号器。
【請求項３０】
請求項２９のデータ圧縮のための符号器であって、
（ｃ１）前記変換データを前記場所で複数の第２の１次元基底関数のそれぞれで畳み込む手段と、
（ｃ２）最大マグニチュードを表す第２の基底関数を決定する手段と
を含み、
前記変換データの部分を表すための手段は、前記第２の基底関数について更に機能するものである。
【請求項３１】
データ圧縮のための符号器であって、
（ａ）多次元変換データセットを生成するために、多次元データに変換を適用する手段と、
（ｂ）対応する複数の畳み込みデータセットを生成するために、前記変換データセットを複数の第１の１次元基底関数のそれぞれで畳み込む手段と、
（ｃ）全ての畳み込みデータセットにわたる第１の方向における第１の場所と、最大マグニチュードを表す第１の基底関数とを決定する手段、および前記第１の場所を囲む前記変換データの部分を、前記決定された最大マグニチュードに対応する前記第１の関数から派生した第１の原子で表す手段と
を有するデータ圧縮のための符号器。
【請求項３２】
データ圧縮のための符号器であって、
（ａ）多次元変換データセットを生成するために、多次元データに変換を適用する手段と、
（ｂ）対応する複数の畳み込みデータセットを生成するために、前記変換データセットを複数の第１の１次元基底関数のそれぞれで畳み込むための手段と、
（ｃ）全ての畳み込みデータセットにわたる第１の方向における第１の場所と、最大マグニチュードを表す第１の基底関数とを決定する手段、および前記第１の場所を囲む前記変換データの部分を、前記決定された最大マグニチュードに対応する前記第１の関数から派生した第１の原子で表す手段と、
（ｄ）前記変換データセットから前記第１の原子を減算して新しいデータセットを作成する手段と、
（ｅ）前記新しいデータセットを複数の第２の１次元基底関数のそれぞれで畳み込む手段と、
（ｆ）全ての畳み込みデータセットにわたる第２の方向で第２の場所と、最大マグニチュードを表す第２の基底関数とを決定する手段、および第２の場所を囲む前記新しいデータセットの部分を、前記決定された最大マグニチュードに対応する前記第２の関数から派生した第２の原子で表す手段と、
（ｇ）さらに新しいデータセットを作成するため、前記新しいデータセットから前記第２の原子を減算する手段と、
（ｈ）前記さらに新しいデータセットを用いて工程（ｂ）を繰り返す手段、およびその後に工程（ｃ）〜（ｆ）を再度適用する手段と、
（ｉ）工程（ｃ）および（ｆ）で派生した原子を変換データの符号化バージョンとして出力する手段と
を有するデータ圧縮のための符号器。
【請求項３３】
請求項２８〜３２のいずれかの符号器を含むコーデックである。
【請求項３４】
請求項１〜２７のいずれかの方法を実行するためのコンピュータプログラムである。
【請求項３５】
請求項３４のコンピュータプログラムを運ぶための、機械読み取り可能なデータキャリアである。
【請求項３６】
請求項２の方法であって、追加的工程として、
（ｃ１）前記変換データを前記場所で複数の第２の１次元基底関数のそれぞれで畳み込む工程と、
（ｃ２）最大マグニチュードを表す第２の基底関数を決定する工程と
を含み、
工程（ｄ）において、前記場所を囲む前記変換データの部分を、前記決定された最大マグニチュードに対応する前記第１および第２の両方の基底関数から派生する原子で表す工程を含むものである。
【請求項３７】
請求項１１のデータ圧縮方法において、前記データのシーケンシャル１次元スキャンは直交スキャンである。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ圧縮技術に関するものであって、具体的には、マッチング追跡アルゴリズムを用いる技術に関する。本発明は、特にビデオおよび静止画像の圧縮に適用可能であるが、これらに限定されるものではない。
【背景技術】
【０００２】
マッチング追跡として知られる変換は、「時間周波数ディクショナリを用いるマッチング追跡」（ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓｏｎ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ，ｖｏｌｕｍｅ  ４１、１９９３年１２月１２日）と題するＭａｌｌａｔおよびＺａｎｇの論文の中で最初に紹介された。この論文の出版後、ビデオ画像およびオーディオデータ圧縮への前記マッチング追跡アルゴリズムの応用を目的とした数多くの研究が行われた。その一例は、「マッチング追跡に基づく非常に低いビットレートのビデオ符号化」（ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｖｉｄｅｏ  Ｔｅｃｈｎｏｌｏｇｙ、ｖｏｌｕｍｅ  ７、ｎｕｍｂｅｒ  ５、１９９７年１０月、１５８−１７１ページ）と題するＮｅｆｆおよびＺａｋｈｏｒの論文である（米国特許第ＵＳ−Ａ−５６９９１２１号公報も参照のこと）。前記変換が極めて効果的であることは証明されたものの、大量の計算を要するため比較的遅いことを主な理由として、その実用化には限りがあった。一般に、前記変換が十分に最適化されるか、若しくはハードウェアのスピードが十分に速くなるまで、今後数年間は実際的なリアルタイムのビデオ符号化システムに前記変換を使用できるようになることはないと考えられてきた。しかし、スピーチエンコードにマッチング追跡を利用する方法は、「直交マッチング追跡を用いたウェーブレットベースのスピーチ符号化」と題するＲｅｚａｉｉｆａｒおよびＪａｆａｒｋｈａｎｉの論文（Ｐｒｏｃ．２９ｔｈ  Ｉｎｔ．Ｃｏｎｆ．ｏｎＩｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ（ＣＩＳＳ−９５），ｐｐ８８−９２、１９９５年３月）の中で説明されている。
【０００３】
本発明は、また、常に大量の計算を必要とするという、マッチング追跡に対する問題のある考え方を払拭するものでもある。
【発明の開示】
【課題を解決するための手段】
【０００４】
本発明の１つの観点に従い、多次元データに変換を適用し、多次元変換データセットを生成する工程と、１若しくはそれ以上の１次元マッチング追跡アルゴリズムを適用することにより前記変換データセットを符号化する工程とを有するデータ圧縮方法が提供される。
【０００５】
好ましくは、前記データを通る異なるスキャン方向のそれぞれで、複数の１次元マッチング追跡アルゴリズムが用いられる。前記スキャン方向は直交でよいが、必ずしもそれに限定されない。前記データの１つの次元に１つの１次元マッチング追跡アルゴリズムを適用することも、それより少なくすることも可能である。言い換えれば、前記データの次元の数を上限として、１若しくはそれ以上のマッチング追跡アルゴリズムを使用することができる。
【０００６】
本発明の別の観点に従って提供されるデータ圧縮方法は、
（ａ）多次元データに変換を適用し、多次元変換データセットを生成する工程と、
（ｂ）前記変換データセットを複数の第１の１次元基底関数のそれぞれで畳み込み、対応する複数の畳み込みデータセットを生成する工程と、
（ｃ）全ての畳み込みデータセットにわたる第１の方向における場所と、最大マグニチュードとを表す第１の基底関数を決定する工程と、
（ｄ）前記変換データを前記場所にて、複数の第２の１次元基底関数のそれぞれで畳み込む工程と、
（ｅ）最大マグニチュードを表す第２の基底関数を決定する工程と、
（ｆ）前記場所を囲む前記変換データの部分を、前記決定された最大マグニチュードに対応する前記第１および第２の基底関数から派生する原子で表す工程と、
（ｇ）前記変換データセットから前記原子を減算して新しいデータセットを作成する工程と、
（ｈ）前記変換データセットの任意の変更部分を前記複数の第１の１次元基底関数のそれぞれで畳み込むことによって前記畳み込みデータを繰り返し更新し、工程（ｃ）〜（ｆ）を再度適用する工程と、
（ｉ）工程（ｆ）で派生した原子を量子化変換データ符号化バージョンとして出力する工程とを有するものである。
【０００７】
別の観点に従って提供されるデータ圧縮方法は、
（ａ）多次元データに変換を適用し、多次元変換データセットを生成する工程と、
（ｂ）前記変換データセットを複数の第１の１次元基底関数のそれぞれで畳み込み、対応する複数の畳み込みデータセットを生成する工程と、
（ｃ）全ての畳み込みデータセットにわたる第１の方向における第１の場所と、最大マグニチュードを表す第１の基底関数とを決定し、前記第１の場所を囲む前記変換データの部分を、前記決定された最大マグニチュードに対応する前記第１の関数から派生した第１の原子で表す工程と、
（ｄ）前記変換データセットから前記第１の原子を減算して新しいデータセットを作成する工程と、
（ｅ）前記新しいデータセットを複数の第２の１次元基底関数のそれぞれで畳み込む工程と、
（ｆ）全ての畳み込みデータセットにわたる第２の方向における第２の場所と、最大マグニチュードを表す第２の基底関数とを決定し、第２の場所を囲む前記新しいデータセットの部分を、前記決定された最大マグニチュードに対応する前記第２の関数から派生した第２の原子で表す工程と、
（ｇ）前記新しいデータセットから前記第２の原子を減算し、さらに新しいデータセットを作成する工程と、
（ｈ）前記さらに新しいデータセットを用いて工程（ｂ）を繰り返した後に工程（ｃ）〜（ｆ）を再度適用する工程と、
（ｉ）工程（ｃ）および（ｆ）で派生した原子を量子化変換データ符号化バージョンとして出力する工程とを有するものである。
【０００８】
別の観点に従い、時間変動データに変換を適用し、多次元変換データセットを生成する手段を有するデータ圧縮のための符号器と、１若しくはそれ以上の１次元マッチング追跡アルゴリズムを各次元に１つ適用することにより前記変換データセットを符号化するための符号器とが提供される。
【０００９】
別の観点に従って提供されるデータ圧縮のための符号器は、
（ａ）多次元変換データセットを生成するために多次元データに変換を適用する手段と、
（ｂ）対応する複数の畳み込みデータセットを生成するために前記変換データセットを複数の第１の１次元基底関数のそれぞれで畳み込む手段と、
（ｃ）全ての畳み込みデータセットにわたる第１の方向における場所と、最大マグニチュードを表す第１の基底関数とを決定する手段と、
（ｄ）前記変換データを前記場所にて、複数の第２の１次元基底関数のそれぞれで畳み込む手段と、
（ｅ）最大マグニチュードを表す第２の基底関数を決定する手段と、
（ｆ）前記場所を囲む前記変換データの部分を、前記決定された最大マグニチュードに対応する前記第１および第２の基底関数から派生する原子で表すた手段と、
（ｇ）新しいデータセットを作成するため、前記変換データセットから前記原子を減算する手段と、
（ｈ）前記変換データセットの任意の変更部分を前記複数の第１の１次元基底関数のそれぞれで畳み込むことによって前記畳み込みデータを繰り返し更新する手段と、
（ｉ）その派生原子の量子化変換データ符号化バージョンを出力する手段とを有するものである。
【００１０】
別の観点に従って提供されるデータ圧縮のための符号器は、
（ａ）多次元変換データセットを生成するために多次元データに変換を適用する手段と、
（ｂ）対応する複数の畳み込みデータセットを生成するために前記変換データセットを複数の第１の１次元基底関数のそれぞれで畳み込む手段と、
（ｃ）全ての畳み込みデータセットにわたる第１の方向における第１の場所と、最大マグニチュードを表す第１の基底関数とを決定する手段、および前記第１の場所を囲む前記変換データの部分を、前記決定された最大マグニチュードに対応する前記第１の関数から派生した第１の原子で表す手段と、
（ｄ）前記変換データセットから前記第１の原子を減算して新しいデータセットを作成する手段と、
（ｅ）前記新しいデータセットを複数の第２の１次元基底関数のそれぞれで畳み込む手段と、
（ｆ）全ての畳み込みデータセットにわたる第２の方向における第２の場所と、最大マグニチュードを表す第２の基底関数とを決定する手段、および第２の場所を囲む前記新しいデータセットの部分を、前記決定された最大マグニチュードに対応する前記第２の関数から派生した第２の原子で表す手段と、
（ｇ）さらに新しいデータセットを作成するため、前記新しいデータセットから前記第２の原子を減算する手段と、
（ｈ）前記さらに新しいデータセットを用いて工程（ｂ）を繰り返す手段、およびそのた後に工程（ｃ）〜（ｆ）を再度適用する手段と、
（ｉ）工程（ｃ）および（ｆ）で派生した原子を量子化変換データ符号化バージョンとして出力するための手段とを有するものである。
【００１１】
本発明は、さらに、前述のような符号器を含むコーデックを含むものである。本発明は、さらに、上述の方法を実行するためのコンピュータプログラムと、そのようなコンピュータプログラムを運ぶ機械読み取り可能なデータキャリアとを含むものである。
【００１２】
好ましい方法において、前記変換は、非相関変換および／または周波数に基づく変換から成るか、若しくはそれ若しくはそれらを含む。
【００１３】
前記マッチング追跡アルゴリズムを適用する場合、前記変換データセットを前記複数の基底のそれぞれで畳み込むためのメカニズムは重要ではない。典型的に、これは、前記基底のそれぞれの内積を、前記変換データセットのあらゆる可能なポジション（データポイント）で計算することによって行うことが可能である。しかし、前記ポジションを決めるための、より精度の低い方法を使うこともできる。同様に、例えば検索などあらゆる便利な方法で、前記内積が最大であるポジションを決定することができる。好ましくは、次に、そのポジションの基底関数に、その選択された内積と同じサインを有する係数を掛けることによって、その相関点周囲のデータのわずかな部分が表される。
【００１４】
最大マグニチュードを有するポジションは、絶対マグニチュード（ゼロに対して）を取ることによって決定することができる。あるいは、最大マグニチュードのポジションは、感覚的若しくは精神物理的モデルを表すことが可能なデータ全体に１つの関数を適用した後に決定することができ、そのようなモデルとしては、前記データの知覚的重要性を表す心理音響的若しくは心理視覚的モデルなどがある。その機能マップは、最大マグニチュードのポジションを決定する前に、前記データから減算されるしきい値を定義する場合がある。あるいは、前記機能マップを前記データの乗数として用いること、若しくはその他の何らかの方法で前記データと組み合わせることができる。
【００１５】
本発明の方法は、２次元データ（例えば静止画像）および３次元データ（例えば時間次元に何らかの圧縮のある動画）の両方の圧縮に用いることができる。３次元データを圧縮する場合は、２次元変換を用いた後に１次元マッチング追跡アルゴリズムを３回適用することができる。
【００１６】
本発明の１つの実施形態において、前記変換データセットの全体または部分（例えば前記データセットのサブバンド）を、前記データが最も相関される方向にスキャンし、そのスキャンデータに１次元マッチング追跡を適用することができる。
【００１７】
本発明は、様々な方法で実用化が可能なものである。次に、添付の図を参照し、例を挙げて具体的な実施形態をいくつか説明する。
【発明を実施するための最良の形態】
【００１８】
具体的な実施形態を詳細に説明する前に、前記マッチング追跡変換の動作の概要を説明する。具体的には、２Ｄ変換を用いて、静止画像のような２Ｄブロックのデータを圧縮する方法の概要を述べる。
【００１９】
前記２Ｄのケースにおけるマッチング追跡は、２Ｄ基底関数のライブラリを用いるものであって、典型的には、正規化ガボール関数であるが、他の関数も等しく用いることが可能である。前記画像をエンコードするために、前記変換は、あらゆる可能なデータポイントでの全ての基底の内積を形成する。これは、前記データをあらゆる全ての基底関数で畳み込むことと同等である。局所的には、前記基底関数が前記データを象徴するところでは、その内積の中にピークが生じる。その結果から、最大マグニチュードの内積を与える基底関数を検索する。次に、そのポジションの基底関数に、選択された内積と同じサインを有する係数を掛けることによって、前記データのわずかな部分を表すことができる。
【００２０】
これにより、「原子」と呼ばれるものが与えられる。前記原子のコードは、対応する基底関数の数に沿った前記データセット（例えば画像）内の振幅とポジションである。
【００２１】
次に、検出された原子を前記画像から減算することにより、前記データのその時点での非符号化部分を表す修正画像を得る。次に、このプロセスを繰り返し行い、追加的な原子を検出する。各繰り返しの都度、最大マグニチュードの内積を与える基底関数の検索が実行される。当然、前記畳み込みの更新が必要なのは、前記基底関数の減算によって変更されたところだけである。
【００２２】
各繰り返しにて検出された原子を単純に合計し、前記データのエンコード化されたバージョンを作成する。ある程度望ましいレベルの忠実さで元画像を表すために十分な原子が検出されたら、それら原子の一覧によって、圧縮コードが構成される。必要であれば、サイズを縮小するためにこのコードを配列してエントロピー符号化することが可能である。
【００２３】
前記１次元マッチング追跡変換はこれに類似しているが、当然、そのコードブックは２Ｄ関数ではなく１Ｄ関数を含むものである。生オーディオデータへの変換として適用された１次元マッチング追跡は有望な結果を与えてきたが、上述のように、前記変換が非常に大量の計算を伴う点が、これまで、実際的なリアルタイムのアプリケーションでの有用性を厳しく制約してきた。
【００２４】
図１は、第１の実施形態に従った本発明の動作の概略を示す。ここでは、何らかの変換（好ましくは周波数変換）を多次元データセット（図示せず）に適用し、多次元変換データセット１０が作成されている。例示のみを目的とし、前記データセット１０は、軸ｘ、ｙを有する２次元データセットである。
【００２５】
このデータセットにマッチング追跡を適用するために、前記データをｘ方向でラスタースキャンし、最大マグニチュードの原子が検出される場所１２を決定する。ポジション、振幅、コードブック・エントリを記録する。次に、検出された前記原子を前記変換データセット１０から減算し（典型的には前記振幅の量子化の後）、修正データセット１０ａを作成する。次に、前記データセット１０ａをｙ方向でラスタースキャンし、前記プロセスを繰り返すことによって、追加的場所１４（この場所は前記場所１２と同一ではない場合がある）での最良のｙ原子を検出する。
【００２６】
２次元画像をエンコードするには、スキャンをｘ方向とｙ方向で交互に行い、このプロセスを単純に繰り返す。前記スキャンとしては直交スキャンが好ましいが、横および縦である必要はなく、一部のアプリケーションにおいては、対角方向の交互ラスタースキャンを行うことが好ましい場合もある。
【００２７】
この実施形態は、より高次元のデータセットに容易に応用することができる。例えば、３次元データセットのｘ、ｙ、ｚの交互スキャンを行い、各スキャンで選択される適切な１次元原子でエンコードすることができる。前記データセットがｘ、ｙ、ｔでのビデオストリームを表すものである場合、前記ｔ軸を上記ｚ軸と全く同じ方法で扱い、同じ方法を採用することが可能である。すなわち、前記ｔ軸があたかも独立の空間軸であるかのように、前記ｔ軸を扱うことができる。ｘ、ｙ、ｚ、ｔでの時間変動３次元データも同様の方法で扱うことができ、この場合、ｘ、ｙ、ｚ、ｔでスキャンを繰り返す。２次元の場合と同じく、互いに直交方向のスキャンが好ましいが、前記軸が前述のようである必要はない。一部の実施形態においては、対角面を走査するラスタースキャンが好ましい場合がある。
【００２８】
各１次元スキャンに使用されるコードブックは一意のものとすることができるが、同一のコードブックを複数方向のスキャンに使用することもできる。場合によっては、第１のコードブックを空間次元でのスキャンに使用するのが望ましく、第２のコードブックを時間次元のスキャンに使用するのが望ましい。
【００２９】
各ラスタースキャンを、エンコード化するデータセット全体に行う必要はない。希望に応じて、スキャン前に前記データセットを分割し、分割されたそれぞれの部分について別個にスキャンを行うことができる。その分割は、空間分割、時間分割、周波数分割、若しくはその他のタイプの分割のいずれでもよく、処理されるデータのタイプおよび使用中の特定の変換に応じて便利であろう分割を行うことができる。１次元スキャンは、各領域にて異なる方向で行うことができる。
【００３０】
別の、より洗練された方法を、図２に示す。ここでは、最初にスキャンをｘ方向２０で行い、最適なｘ原子２２の場所２２を前述のように決定する。次に、ｙ方向で直交スキャン２４を、データセット全体にではなく、前記原子２２の領域にて局所的にのみ行う。次に、この場所にて、最良のｙ原子が選択される。前記ｘ原子とｙ原子とによって、単一の（分離可能な）２次元変換が定められる。その振幅を量子化し、前記原子を前記データセットから減算し、修正データセットを作り出し、それに対して前記手順を繰り返すことができる。第２のスキャンは第１のスキャンに対して直交方向に行われるので、図の下方で２２ａ、２２ｂ、２２ｃが示すように、前記ｘ原子２２の場所は前記ｙ軸の出力ストリームで分割される。したがって、前記ｙ軸ストリームにある複数の場所で、前記減算の後に前記データセットの「修復」が必要となる。
【００３１】
３次元以上においても同一の方法を用いることができる。したがって、元データセットがｘ、ｙ、ｚでの３次元モデルを表すものであっても、３回の別個の１次元スキャンを用いて単一の３Ｄ原子を生成することができる。
同様に、ｘ、ｙ、ｔでビデオストリームをエンコードする場合、前記ｔ軸を単純に第３の空間次元として取り扱い、ｘ、ｙ、ｔで単一の３Ｄ原子を作成することができる。ビデオ画像のシーケンスをエンコードする場合は、上述のように、適切な変換を最初に適用し、３次元変換データセットを作成する（空間および時間）。次に、前記３次元データセットに対し、３回のマッチング追跡の可分割検索を異なる直交方向で行う。したがって、例えば最初に、第１の１次元コードブックを用いて前記データをｘ方向でラスタースキャンし、前記コードブック内で各原子に最適にマッチする場所を求める。最良のｘ原子と場所が検出されたら、次に、再びマッチング追跡を行うが、今回は別個のコードブックを用いてｙ方向のみを走査する。発明者らは、実際には、予め特定された最良の場所若しくはその近くの小さいエリアに前記ｙ検索を制限しても、なおよい結果が得られ、しかも大幅に計算負荷が低減されることを発見した。したがって、前記ｙ方向でデータセット全体を再びスキャンする必要はない。
【００３２】
最良の原子の場所が確認されたら、今度は時間次元に基づく１次元コードブックを用いて前記プロセスを繰り返す。前と同じように、ｘおよび／またはｙ検索で検出された最良の場所若しくはそれに近い場所にあるエリアに限定してｔの検索を行うことができる。実際には、ｘ、ｙ、ｔの検索に別個のマッチング追跡コードブックを用いて最良の結果を得ることが可能であることが発見済みである。しかし、ｘおよびｙ方向のみ若しくは３つの全ての方向で、共通コードブックを適宜使用することも可能である。
【００３３】
３つの全ての１次元原子が特定されたら、好ましい場所周辺で３次元ブロック全体を再構成することができる。（その内積を用いて）再計算し、調整後の前記データ（それぞれ個別の方向の「振幅」はそれ自体では、実際のモデル振幅を計算するのに不十分であるので、振幅を含める）を再構成する。
【００３４】
次に、前記モデル化データを量子化し、前記元データから減算する。将来参考にするために前記３つの１次元原子についてのメモを作成し、この縮小データセットに対して全てのプロセスを繰り返す。特定のアプリケーションの要求に応じ、前記データセットが十分に縮小されるまで、これを繰り返す。
【００３５】
分離可能なｘ、ｙ、ｚ、ｔ原子から構成された単一の４Ｄ原子を用いることによって、同じ方法を時間変動３次元データに適用することも可能である。
【００３６】
上記は可能な様々な選択肢を提供するものであるが、最も好ましい実施形態について以下に述べる。前記多次元変換の後、望ましい任意の１次元読み出し順序で前記データを単純にスキャンする。次に、前記１次元スキャンを１次元マッチング追跡で符号化する。
【００３７】
その他の読み出し順序で再スキャンすることによって、これを繰り返すことができる（ただし、これは第１のものに対して直交である必要はない）。したがって、典型的には、前記データの次元当たり１を最高として、１若しくはそれ以上のマッチング追跡アルゴリズムを用いる。
【００３８】
ウェーブレット変換が用いられた場合は、そのｘコードブックは、周波数、位相、減衰、振幅の定数の大きさを定める原子を含むことができ、そのｙコードブックはスリュー、減衰、サイズ、振幅を定めることができ（周波数はすでに決定済みであるので考慮する必要はない）、そのｔコードブックは時間スリュー、減衰、サイズを定めることができる。
【００３９】
個々の１次元原子を定めるために使用できる便利な関数は、ガボール関数である。ｘ方向においては、下記等式のｆ（ｘ）によってそれが得られる。
【００４０】
【数１】
2007518367.tif 000003
【００４１】
同様のガボール関数Ｇ（ｙ）およびＨ（ｔ）を、ｙおよびｔ方向に使用することができる。当然、その振幅、位相シフト、減衰の定数は、前記３方向のそれぞれにおいて異なる場合があるものと理解される。
【００４２】
それら３つのマッチは、必ずしも上述の順序で実行する必要はなく、例えばｔ、ｘ、ｙまたはｘ、ｔ、ｙなど、その他の順序でのマッチで十分若しくは便利である場合もある。
【００４３】
前記好ましい実施形態において、各１次元マッチング追跡アルゴリズムは、使用可能な前記基底のそれぞれの内積を、前記変換データセットのあらゆる可能なポジション（データポイント）で計算することによって実行することが可能である。次に、例えば検索などあらゆる便利な方法で、前記内積が最大マグニチュードであるポジションが決定される。上述のように、前記第２、第３の１Ｄマッチは、空間での検索を一切必要としないが、場合によっては、先行マッチで検出された「最良」の場所の近くで小規模の１Ｄ（または２Ｄまたは３Ｄ）を実行することが便利である。あるいは、最大絶対マグニチュード（ゼロに対して）を有する場所を探すのではなく、その他の何らかのマグニチュードの尺度を用いることができる。心理音響的若しくは心理視覚的モデルのようなモデルが使用される場合は、最大マグニチュードのポジションは、基礎となるモデルを参照して選択される。それを行う１つの方法は、最大マグニチュードのポジションを決定する前に前記モデルを重みとしてデータセット全体に適用することであるが、別の方法は、前記モデルを定義づけ、しきい値として捉えることであって、この場合、前記しきい値を内積から減算した後に、最大マグニチュードの差を求めることができる。当然、その他の方法も可能なものと理解される。一般に、心理音響的モデル、心理視覚的モデル、またはその他のモデルを、前記変換データセット全体に機能マップとして適用し、最大マグニチュードのポジションを、前記マップ機能によって修正された前記変換データ全体で決定することができる。
【００４４】
上述の実施形態のいずれにおいても、スキャン方向を交互にする代わりに、「機動的スキャン」と名づけた方法を使用することができる。まず、それぞれの可能な方向で別個にスキャンを行い、それらの方向のそれぞれにおいて、可能な最良の原子を決定する。前記原子のそれぞれの振幅（マグニチュード）を保管する。次に、その他のチャネルのうちの１つの保管されたマグニチュードよりも低いマグニチュードを有する原子を前記チャネルが生成するまで、最高のマグニチュードのチャネル（方向）を繰り返しスキャンする。次に、その時点で最大マグニチュードの原子を含むチャネルに切り替え、前記と同一の方法でそれを繰り返しスキャンする。前記チャネルが最高のマグニチュードの原子を生成しなくなったら、再び切り替える。
【００４５】
最後にスキャンされたチャネルが、別のチャネルですでに検出済みの原子と同一のマグニチュードの原子を生成する場合、それらのチャネルを交代させて切り替えるのが好ましい。しかし、あるいは、そのような状況でチャネルを全く切り替えないことも等しく可能である。
【００４６】
この方法は、前記符号器が１つのチャネルにおける「迅速なゲイン」の獲得に集中するのを可能にし、切り替えを行うことが最適になると同時に別のチャネルへ自動的に切り替えるので、特に効率的である。因果関係に基づく規則が使用されるので、前記復号器内に設定された対応規則によって前記符号器の状態を継続的に追跡することができ、状態ビットを転送する必要はない。
【００４７】
上述の好ましい実施形態は、従来の動き補正ビデオ符号化で必要であったようなモーションベクトルを必要としない完全な３Ｄマッチング追跡ビデオコーダの将来性を初めて提供するものである。モーションベクトルの必要性は、前記原子の時間的特徴によって効果的に除去される。これは、完全にスケーラブルなビデオ符号化の初の実用化につながる影響力を有するものである。
【００４８】
当然、これは、希望に応じて引き続き動き補正を使用する可能性を除外するものではない。時間変動２Ｄおよび３Ｄデータの双方に適用可能なそのような実施形態においては、いったん１若しくはそれ以上の空間原子が決定されたら、例えばモーションベクトルを用いるなど何らかの予測メカニズムによって、前記原子を時間次元にコピー（若しくはそれに沿って移動）することが可能である。この方法について、本発明の実施形態を動き補正コーデック内にどのように組み込むことができるかについて、図を参照し以下に詳細に説明する。
【００４９】
これら特定の実施形態の場面を設定するために、次に、一部の標準的な動き補正ビデオ圧縮技術について簡単に説明する。
【００５０】
ビデオ圧縮は、動き補正と非動き補正という２つの基本的なカテゴリーに分類される。その他のフレームを一切参照せずに個々のフレームが圧縮される場合、前記圧縮は「イントラコード式」である。イントラコード式ビデオの利点の１つは、その画像シーケンスに対して実行可能な編集に関する制限がないことである。結果として、放送業界で使用されているほとんどのデジタルビデオは、ソースにてこの方法で保管される。前記イントラコードによる方法は、例えば業界標準ＪＰＥＧ圧縮スキームを含め、多数の静止画像圧縮技術のいずれとも併用することができる。この方法は、ビデオ圧縮用移動ＪＰＥＧ標準が採用している。ＪＰＥＧ圧縮は、個々のフレームそれぞれに対して使用され、前記フレームそれぞれは個別に扱われ、他のフレームを参照することはない。
【００５１】
しかし、ビデオシーケンスは、通常、全く無関係な画像の集合によって構成されているものではなく、通常、前記ビデオシーケンスにおける時間的冗長を考慮することによって、より高い圧縮が得られる。これには、インターコード式圧縮として知られるプロセスが伴う。この方法では、出力シーケンスにある個々の画像は、その画像と前の画像との間に生じた変化を参照して定義される。圧縮データストリーム（再構成のためにデコーダによってビデオチャネルを通して送信されたもの）は、通常、いくつかのフレームから一度に取られた情報を表すものであって、前記圧縮データストリームの編集によって質が大きく損なわれるため、編集は通常行われない。
【００５２】
インターコード式圧縮は、ＭＰＥＧビデオ圧縮標準に取り入れられた圧縮技術の１つである。
【００５３】
図３は、典型的なインターコード式圧縮スキームの概略を示す。前記図において、最上行Ｏは圧縮元とするデジタル化ビデオフレームを表し、２行目Ｃは圧縮後の画像を表し、最下行Ｒはその残フレームを表す。
【００５４】
前記スキームにおいて、選択された元フレームＳは静止画像として扱われるものであって、前記元フレームを任意の便利な方法によって圧縮してイントラフレーム１が生成される。次に、これらのフレームを参照フレームとして用いて予測フレームＰを作成する。これらのフレームのコンテンツは、そのシーケンスの前向きか後ろ向きのどちらかで、１若しくはそれ以上のＩフレームから予測される。通常、これは、モーションベクトルを使用し、前記画像内の移動ブロックと関連付けることによって行われる。あるいは、前記画像内の特定の物理的オブジェクトの動きを決定して予測することができる。最後に、前記Ｃシーケンスは、前記フレームＰとＩとの間の補間フレームＢの生成によって完成される。次に、前記Ｃシーケンスのシーケンシャルフレームによって、前記元ビデオシーケンスを近似させることができる。実際には、最終的に妥当な外観を求める場合、追加的な補正が通常は必要である。これら追加的な補正は、前記元フレームとそれに対応する圧縮フレームの間の差異に対応する残フレームＲをそれぞれのケースについて決定することによって行われる。残フレームは、そのイントラフレームについて計算することが可能であるが、これは必ずしも必要ではない。したがって、前記残フレームのうちＸが付けられたものは取り除かれる場合がある。
【００５５】
実際的な実施形態においては、符号器が、図中Ｓが付けられた元フレームから前記Ｉフレームを計算し、それを元に、前記Ｐフレームを定義するために必要なモーションパラメータ（ベクトル）を計算する。したがって、前記符号器からそのデコーダに送信されるデータストリームは、エンコードされたＩフレームと、前記デコーダによる前記Ｐフレームの構成を可能にする適切なモーションベクトルとを含む。前記Ｂフレームは前記デコーダのみによって前記ＩおよびＰフレーム内の情報に基づいて再構成されるので、前記Ｂフレーム上の情報は送信されない。最終的な結果を改善するために、前記データストリームには、１フレームずつ送信された残画像も含まれる。前記残画像は前記元画像と前記圧縮画像との差分を表すため、前記符号器は圧縮画像のシーケンスへのアクセスを必要とする。これは、前記符号器内に追加的デコーダを組み込むことによって達成される。
【００５６】
したがって、送信される最終データストリームは、完全なＩフレームと、前記Ｐフレームのモーションベクトルと、全ての前記残フレームとを含むが、図１にてＸが付けられたフレームは前記残フレームから取り除かれる場合がある。各残画像は、通常、送信前に圧縮される。
【００５７】
マッチング追跡を含め、前記元フレームＳを圧縮してそのイントラフレームを作成するための様々な変換は、当業者には周知のものである。また、前述のＮｅｆｆとＺａｃｈｏｒの論文は、前記残画像をエンコードするためにマッチング追跡を使用する可能性についても述べている。
【００５８】
これに対し、前記好ましい実施形態においては、生画像を任意の標準的な変換によって変換し、次に、前記マッチング追跡アルゴリズムを用いて前記変換の結果を量子化する。また、残画像にも同一の方法が適用される。つまり、マッチング追跡を変換として前記残画像に適用するのではなく、標準的な変換を用いて前記残画像をまず変換し、次にマッチング追跡を用いてその変換の結果を量子化する。 どちらのケースにおいても、前記データ自体に行われる最初の変換としては、例えば、ＦＦＴ、ウェーブレット変換、ＤＣＴ、または重複直交変換が可能である。また、その他の変換を使用することもできる。
【００５９】
モーションベクトルを使用する場合は、図４が示すように、動き補正されたハードウェア若しくはソフトウェア符号器内に上述の方法を組み入れるが、すでに説明したように、本発明においてはモーションベクトル補正は必ずしも必要ない。
図４が示すように、入力３０２にてフレームが１つずつ入力され、前記イントラフレームデータはイントラフレーム変換３０４へ伝達され、続いてマッチング追跡コーダまたは原子検索器３０３へ伝達される。次に、その振幅である原子が３０５にて量子化される。そのインターフレームデータは、モーション予測器３０６へ伝達され、前記モーション予測器はパラメータ化されたモーション記述をライン３０８にて提供し、次にそれが動き補正器３１０へ伝達される。前記動き補正器は予測されたフレームをライン３１２に沿って出力し、前記出力を前記入力フレームから減算することによって得られた残フレーム３１４は残分変換３１６へ伝達される。前記変換の出力をマッチング追跡コーダ３０９に適用し、次に量子化器３０７に適用すると、前記量子化器は量子化されたコードを出力し、その出力ストリームへ送信する。
【００６０】
また、ライン３０８のモーション記述もモーション記述コーダ３２０へ伝達され、前記記述コーダは前記記述を符号化してモーションデータをライン３２２へ出力する。
【００６１】
したがって、前記出力ストリームは、符号化されたイントラフレームデータと、残データと、モーションデータとによって構成される。
【００６２】
前記出力ストリームは参照復号器３２４へ再び入力され、前記復号器は参照フレーム（イントラまたはインター）をライン３２６に沿って前記動き補正器へ送り返し、３２８に沿って前記モーション予測器へ送り返す。この方法において、前記動き補正器および前記モーション予測器は、前記出力ストリームが何を送信しているかを常に把握している。前記参照復号器３２４は、例えば図５が示すように、それ自体でフル復号器である。
【００６３】
一般に、前記モーションベクトルは、解凍された前フレームを後続フレームと比較することによって得られるが、その元の前フレームを使用することもできる。いずれの場合も、残フレームは、予測フレームと元の後続フレームとの差分として計算される。前記実施形態の１つのバリエーションにおいて（図示せず）、比較対象のフレームとして前フレームを使うことによって、そのモーションベクトルを改善する。
【００６４】
前記出力ストリームは通信ネットワーク全体を通り、反対側の端にて、図５の略図が示すように復号器によって解読される。前記データストリームのイントラ情報はイントラフレーム復号器４１０へ入力され、前記復号器は解読されたイントラフレーム情報をライン４１２に提供する。前記インター情報はバス４１４に入力される。前記残データは前記バスからライン４１６に沿って残分復号器４１８へ送信される。同時に、前記モーションデータはライン４２０に沿って動き補正器４２２へ入力される。前記残分復号器および前記動き補正器からの出力は合算され、解読されたインターフレームはライン４２３に提供される。
【００６５】
参照フレーム情報はライン４２４に沿って前記動き補正器に戻されるので、前記動き補正器は、前記復号器に対する出力と入力の両方の、その時点での詳細を常に有する。
【００６６】
当然、本発明は、図４が示す動き補正ビデオコーダのタイプとの使用に限定されず、主変換からの出力を量子化する必要がある場合、本発明をあらゆるタイプのビデオコーダと使用することが可能であると理解されるべきである。
【００６７】
この方法は、ビデオ圧縮だけでなく、前述したように、静止画像圧縮にも使用することができる。
【００６８】
例えば静止画像を表す生入力データを用いる、さらに別の実施形態を図６に示す。ここでは、入力データ／画像４０はまず何らかの方法（例えばウェーブレット変換４１）で変換／圧縮され、変換画像４２が作り出される。前記画像を、次に、マッチング追跡コーダおよび量子化器４３によって量子化し、最終的な符号化された出力４４を作成する。前記ウェーブレット変換４１の代わりに、ＦＦＴ、ＤＣＴ、または重複直交変換のような他の便利な圧縮変換を使うことができる。
【００６９】
図６が示す例において、前記画像４０は、ウェーブレット変換によって、空間フィルタされたいくつかのセクション若しくはサブバンド４５、４６、４７、４８に分割される。セクション４６および４７は、１方向でハイパス・フィルタされ、別の方向でローパス・フィルタされてあり、これはすなわち、それら２つのサブバンドは、ある方向において、もう一方の方向よりも非相関しやすいことを意味する。当然、横変換の後に縦変換を行ったり、その逆を行うことが可能なものと理解されるべきである。参照番号４００、４０１が示す前記サブバンドのラスタースキャンを行った後、１次元マッチング追跡による量子化を用いる。異なるスケールでの前記画像内の構造の検出はすでに前記ウェーブレット変換によって自動的に実行済みであるので、各方向に対してかなり小さいマッチング追跡コードブックを用いることができる。したがって、前記マッチング追跡アルゴリズムによってそれを実行する必要はない。
【００７０】
１Ｄマッチング追跡アルゴリズムの使用による２Ｄ変換の出力の量子化は、ウェーブレット変換だけでなく、（少なくとも前記出力の一部エリアにおいて）ある方向において別の方向におけるよりも優れた非相関をする、他の任意の２Ｄ変換にも適用することができる。一般に、前記変換の出力は前記データを自動的に多数の異なる分割に分けるものであって、そうすることで、前記分割を個別に、それぞれ別個の好ましい方向でスキャンすることができる。
【００７１】
前記マッチング追跡アルゴリズムは、任意の多次元非相関変換の出力、好ましくは周波数変換の出力に適用できるものと予想される。
【図面の簡単な説明】
【００７２】
【図１】図１は、独立の１次元原子が使用された、本発明の第１の実施形態の図である。
【図２】図２は、２次元原子を生成するために２つの１次元原子が使用された、第２の実施形態である。
【図３】図３は、ビデオ符号化の一般的な方法を示す。
【図４】図４は、本発明の１つの実施形態に従ったビデオコーダの概略図である。
【図５】図５は、図２の符号器に対応する復号器を示す。
【図６】図６は、ウェーブレット変換の２次元出力へのマッチング追跡の適用を図示する。
【図１】
2007518367.tif 000004
【図２】
2007518367.tif 000005
【図３】
2007518367.tif 000006
【図４】
2007518367.tif 000007
【図５】
2007518367.tif 000008
【図６】
2007518367.tif 000009
【国際調査報告】
2007518367.tif 000010
2007518367.tif 000011