(57)【要約】【課題】回転および垂線200 のコンパクト表示を使用してビデオストリームを符号化する方法およびシステムである。【解決手段】この方法およびシステム102 は回転および垂線200 を正規化された回転と垂線へ変換し、その後正規化されたバージョンを単位キューブ215 へ投影する。各回転と垂線200 は投影された面にしたがって符号化される。さらに、運動は単位キューブ215 を横切る運動によりコンパクトに表示される。【選択図】      図２
2005332412.tif 000002
【特許請求の範囲】
【請求項１】
ビデオストリームを符号化するコンピュータ実行方法であって、
（ａ）垂線を表すオリジナルの３次元ベクトルから正規化された３次元ベクトルを計算し、
（ｂ）正規化された３次元ベクトルが通る単位キューブの第１の面のインデックスを決定し、
（ｃ）正規化された３次元ベクトルが通る単位キューブの第１の面の第１の点を決定し、
（ｄ）第１の面のインデックスと第1の面の第１の点の位置を用いてビデオストリームを符号化するステップを含む方法。
【請求項２】
（ｅ）単位キューブに沿って、第１の面上の第１の点と第２の面上の第２の点との間の運動に基づき運動ベクトルを計算し、そして
（ｆ）運動ベクトルを用いてビデオストリームを符号化するステップをさらに含む請求項１に記載のコンピュータ実行方法
【請求項３】
第１および第２の面は単位キューブの同一面である請求項２に記載のコンピュータ実行方法。
【請求項４】
第１および第２の面は単位キューブの異なる面である請求項２に記載のコンピュータ実行方法。
【請求項５】
第１の面のインデックスおよび第１の点を受信し、ビデオスオリームを復号し、そして垂線を表すオリジナルの３次元ベクトルの近似へと変換して戻すステップをさらに含む請求項１に記載のコンピュータ実行方法。
【請求項６】
運動ベクトルを受信することによりビデオスオリームを復号し、そして対応する垂線を計算するステップをさらに含む請求項２に記載のコンピュータ実行方法。
【請求項７】
ビデオストリームを符号化するステップ（ｄ）は垂線の方向に対応する方向ビットを符号化するステップをさらに含む請求項１に記載のコンピュータ実行方法。
【請求項８】
ビデオストリームを符号化するコンピュータ実行方法であって、
（ａ）回転を表すオリジナルの４次元ベクトルから正規化された４次元ベクトルを計算し、
（ｂ）正規化された４次元ベクトルが通る単位キューブの第１の面のインデックスを決定し、
（ｃ）正規化された４次元ベクトルが通る単位キューブの第１の面上の第１の点を決定し、
（ｄ）第１の面のインデックスと第1の面の第１の点の位置を用いてビデオストリームを符号化するステップを含む方法。
【請求項９】
（ｅ）単位キューブに沿って、第１の面上の第１の点と第２の面上の第２の点との間の運動に基づき運動ベクトルを計算し、そして
（ｆ）運動ベクトルを用いてビデオストリームを符号化するステップをさらに含む請求項８に記載のコンピュータ実行方法
【請求項１０】
第１および第２の面は単位キューブの同一面である請求項９に記載のコンピュータ実行方法。
【請求項１１】
第１および第２の面は単位キューブの異なる面である請求項９に記載のコンピュータ実行方法。
【請求項１２】
第１の面のインデックスおよび第１の点を受信してビデオスオリームを復号し、そして回転を表すオリジナルの４次元ベクトルの近似へと変換して戻すステップをさらに含む請求項８に記載のコンピュータ実行方法。
【請求項１３】
運動ベクトルを受信することによりビデオスオリームを復号し、そして対応する回転を計算するステップをさらに含む請求項９に記載のコンピュータ実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータ生成イメージの符号化、特に３Ｄ（３次元）回転および３Ｄ垂線を使用する符号化に関する。
【背景技術】
【０００２】
用語“コンピュータ生成イメージ”はビデオ技術の拡張された分野を含んでいる。本来はこの用語は多くは簡単なテキストイメージまたは２Ｄイメージと等しいものを表していたが、現在ではこの用語はデジタル符号化ビデオストリームのタイプを含んでいる。動画エキスパートグループ（ＭＰＥＧ）は、イメージストリームの符号化およびデコード化に要求される技術を調査するために形成された。結果的に得られた規格（現在“ＭＰＥＧ−１”と呼ばれている）は、２つの付加的なＭＰＥＧ規格、ＭＰＥＧ−２およびＭＰＥＧ−４の基礎として機能している。ＭＰＥＧ−４規格は、“進行中”であり、本発明の基礎を形成する。委員会の最終的な草案はＩＳＯ／ＩＥＣ ＦＣＤ １４４９６−１ ＭＰＥＧ−４システムおよび−２ ＭＰＥＧ−４ビジュアルである。その内容はここにおいて参考文献とされている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
草案の規格はビデオの１つのストリームベースのモデルから離れており、協力して実行する一連のストリームへ焦点を集めている。規格の１部分はシーン用の２進フォーマット（“ＢＩＦＳ”としても知られている）である。このフォーマットは３Ｄオブジェクトおよびそれらの運動の記述を可能にし、そのビデオストリーム部分とのさらに大きな相互作用する能力を与える。草案規格はしかしながら補償プロセスをサポートするトポロジ的にコヒーレントな量子化方式を直接与えない。
【０００４】
４元数による回転表示は３Ｄ計算で使用されることが知られているが、本発明で使用される文脈では使用されない。１つの既知の使用はアーティファクトを防止するため４元数が２つの回転間で内部で補間されるために使用されるコスモビューアである。
規格のＢＩＦＳ部分では、回転および垂線を効率的に計算し、記憶しデコードする能力はまだ得られていない。したがって、本発明の目的はこの欠点を解決することである。
【０００５】
本発明の別の目的は、コンピュータ生成イメージストリームでさらに効率のよい回転を符号化するためのコンピュータが実行する方法およびシステムを提供することである。
本発明のさらに別の目的は、コンピュータ生成イメージストリームでさらに効率的に垂線を符号化するためのコンピュータが実行する方法およびシステムを提供することである。
【課題を解決するための手段】
【０００６】
本発明のこのおよびその他の目的は、（１）回転および垂線を符号化するためのコンピュータが実行する方法と、（２）回転および垂線を符号化するためのシステムと、（３）回転および垂線を符号化するためのコンピュータプログラムプロダクトにより解決される。このようなシステムは改良された記憶、ゲームの再生、バーチャルリアリティ環境、映画に応用可能である。さらに、改良された効率に基づいて、本発明により符号化されたビデオストリームは効率的ではない符号化されたストリームよりも低い帯域幅の通信リンクにわたって再生されてもよい。
【発明を実施するための最良の形態】
【０００７】
本発明およびそれに付随する利点は、以下の詳細な説明および添付図面を参照することによって容易に明らかになるであろう。
図面を参照すると、同じ参照符号は、いくつかの図にわたって同じまたは対応した部分を示している。図１は、シーン記述および／またはアニメーションにおける回転および／または垂線の符号化および／またはデコードのためのコンピュータシステムの概略図である。コンピュータ100 は本発明の方法を実施し、コンピュータハウジング102 は、ＣＰＵ106 と、メモリ108 （例えば、ＤＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＳＲＡＭ、ＳＤＲＡＭ、およびフラッシュＲＡＭ）と、および他の随意的な特別の目的の論理装置（たとえば、ＡＳＩＣ）または構成可能な論理装置（例えば、ＧＡＬおよび再プログラム可能なＦＰＧＡ）とを含むマザーボード104 を収容している。コンピュータ100 はまた複数の入力装置（例えば、キーボード122 およびマウス124 ）、およびモニタ120 を制御するためのディスプレイカード110 を含んでいる。さらに、コンピュータシステム100 はフロッピー（登録商標）ディスクドライブ114 ；他の取外し可能なメディア装置（例えば、コンパクトディスク119 、テープおよび取外し可能な磁気光学媒体（示されていない））；およびハードディスク112 、または適切なデバイスバス（例えば、ＳＣＳＩバス、強化されたＩＤＥバスまたはウルトラＤＭＡバス）を使用して接続された他の固定された高密度メディアドライブを含んでいる。コンピュータ100 はまた同じデバイスバスまたは別のデバイスバスに接続されたコンパクトディスク読出し装置118 、コンパクトディスク読出し／書込み装置（示されていない）またはコンパクトディスクジュークボックス（図示せず）をさらに備えていてもよい。コンパクトディスク119 はＣＤキャディ中に示されているが、それはキャディを必要としないＣＤ−ＲＯＭドライブ中に直接挿入されることができる。さらに、プリンタ（図示せず）もデコードされたおよび／またはデコードされた回転および／または垂線の印刷されたリストを提供する。
【０００８】
前述したように、システムは、少なくとも１つのコンピュータ読出し可能媒体を含んでいる。コンピュータ読出し可能媒体の例は、コンパクトディスク119 、ハードディスク112 、フロッピーディスク、テープ、光磁気ディスク、ＰＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＥＰＲＯＭ）、ＤＲＡＭ、ＳＲＡＭ、ＳＤＲＡＭ等である。本発明は、コンピュータ読出し可能媒体の任意の１つまたはそれらの組合せに記憶されるソフトウェアを含み、このソフトウェアはコンピュータ100 のハードウェアを制御し、コンピュータ100 が人間のユーザと対話できるようにする。このようなソフトウェアは、デバイスドライバ、オペレーティングシステム、および開発ツールのようなユーザアプリケーションを含むが、それらに制限されない。これらのコンピュータ読出し可能媒体はさらに、シーン記述および／またはアニメーションにおける垂線および／または回転の符号化および／またはデコード化のための本発明のコンピュータプログラムプロダクトをさらに含んでいる。本発明のコンピュータコード機構装置は、スクリプト、翻訳装置、ダイナミックリンクライブラリ、Ｊａｖａクラスおよび完全実行可能なプログラムを含む任意の翻訳されたまたは実行可能コードメカニズムであることができるが、それらに制限されない。
【０００９】
図２に示されているように、本発明の方法は単位球体を包囲する“単位”キューブへ垂線および回転をマップする量子化プロセスに基づいている。このプロセスはデコーダが垂線および回転を再構成することを可能にする。事後処理（例えば補間、アナログ濾波、再構成）は別に実行されることができる。例えば最初に３次元の単位ベクトルにより表されている垂線200 は３Ｄの単位球体210 上の３Ｄの単位ベクトルとして投影される（最初に（その軸で）３次元の単位ベクトルとして表される回転は付加的な角度で４元数、即ち４Ｄの単位球体上の４Ｄの単位ベクトルへ変換される）。
【００１０】
垂線200 はその後、垂線200 と囲んでいる“単位”キューブ215 の面を交差することにより量子化され、これは“単位”キューブ215 の特定の面（即ち図示の例では正のｙ面）上に点を生成する。したがって垂線は３次元ベクトルを（１）点205 の位置（＋１，＋２）と、（２）軸上に点205 が位置されている方向（例えばｘ軸では０、ｙ軸では１、ｚ軸では２）と、（３）単位ベクトルの方向（例えば＋１または−１）へ変換することによって“圧縮”されることができる。（単位球体上の反対方向に位置する４元数が等価の回転を表すので量子化方向は記憶される必要がない点を除いて、同一プロセスは回転で実行されることができる。）図２が示されており、面上のコンポーネント当たり３ビットを使用する。
【００１１】
垂線200 （または回転）が一度量子化されると、ビデオストリーム中のフレーム間の点205 の運動はキューブのマッピングが与えるトポロジ的なコヒーレンスを使用して符号化されることができる。最も簡単な形態では、補償ベクトルは点205 の現在の面上の動作を示す。しかしながら、点205 はフレーム間の異なる面へ移動してもよい。この場合、量子化プロセスで使用される面インデックスは新しい位置の計算を可能にする。
【００１２】
点205 の運動は図３に関連して説明されている。図３では図２のキューブは展開されている。各面は左上角にラベルを付けられている。オリジナルの点205 はｖデルタ＝［＋６，−２］と逆＝＋１にしたがって移動される。図３は展開されたキューブ上でオリジナルの点205 がどのように新しい点205’になるように移動するかを示している。同様に図４は図２のオリジナルのキューブにおける同一運動と結果を示している。図４で見られるように、方位はｙ軸（ｏｒｉ＝１）からｚ軸（ｏｒｉ＝２）へ変化されており、垂線200’は新しい位置を指している。しかしながら方向は＋１のままである。興味深いことに、＋ｙ面からその反対の面（即ち−ｙ面）へフリップするために、移動は方向ビットを使用することによって以前の点の方向を反転することによって直接その面へ“ジャンプ”することにより符号化されることができる。それ故、キューブ表面周囲の長い移動は反対の面で開始することにより防止されることができる。
【００１３】
フレーム間の点の移動についての例を前述したが、この方法は以下説明するように一般化されてもよい。各垂線は次式にしたがって一般化される。
【００１４】
【数１】
2005332412.tif 000003
垂線と回転はコンポーネント形態に分解される。分解されたコンポーネントの数はＮに限定され、ここで垂線ではＮ＝２であり、回転ではＮ＝３である。したがって、ｖの大きさはＮ＋１である。圧縮および量子化プロセスは垂線と回転の両者に対して同じであり、（１）方位、（２）方向、（３）各垂線または回転のコンポーネントの決定を含んでいる。単位ベクトルｖの方位ｋはインデックスｉであり（ここでｉは０乃至Ｎの範囲にある）、そのコンポーネントは最大の絶対値（即ち｜ｖ［ｉ］｜）を有する。この整数は２ビットを使用して符号化される、ｋを発見すると、単位ベクトルｖの方向ｄｉｒ（ここでｄｉｒ＝１または−１）はコンポーネントｖ［ｋ］の符号を使用して決定される。前述したように、（４元の特性のために）この値は回転のために書かれるのではない。
【００１５】
圧縮されたベクトルのＮのコンポーネントは次式にしたがって、単位球体ｖ｜０≦ｖ［ｉ］／ｖ［ｋ］≦１｝のスクエアをＮ次元スクエアへマッピングすることにより計算される。
【００１６】
【数２】
2005332412.tif 000004
アークタンジェント以外の他の関数が可能である。キューブ面が平坦であるためにマッピングの歪みを減少する任意の座標変換関数が使用されてもよい。基本的に関数は事実上重ねられたキューブの平坦な面を折り曲げ、それによって所定数のビットは下に存在する球体上の任意の場所のほぼ同一の量子化エラーに対応する。さらに、形態ａ* ｔａｎ-1（ｂ* ｃ）の他の関数が可能であり、ここでｃ＝ｖ［（ｉ＋ｋ＋１）ｍｏｄ（Ｎ＋１）］／ｖ［ｋ］であるが、前述したようにこれらの形態の付加的な複雑性は符号化およびデコード化の回数を増加する。ｂ＝０．７等の幾つかの値が圧縮を僅かに増加するが、ここでは速度は制御係数であり、ａとｂは１．０に設定される。
【００１７】
しかしながら、量子化プロセス全体はビット数ＱｕａｎｔＮｂＢｉｔｓにより制御され、これは符号化された垂線または回転を表すために使用される。符号化するとき、ＱｕａｎｔＮｂＢｉｔｓ＝０ならば、各ｉに対してｖｑ［ｉ］＝０であるので符号化プロセスは自明であり、値はコード化または書込まれる必要はなく、即ち値はゼロビットを使用して“事実上”コード化される。そうでないならば、各コンポーネントｖc （−１と１の間にある）は以下のように符号を付けられた整数として量子化される。  
ｖｑ［ｉ］＝Ｒｏｕｎｄ（ｖc ［ｉ］* ２QuantNbBits-1 ）
ここでＲｏｕｎｄ（）はｖc ［ｉ］の整数部分へ戻る。コンポーネントｖc を計算すると、このコンポーネントは面インデックスと、面上の位置へ符号化される。面インデックスは方位（２ビットの符号のない整数）として符号化され、垂線のみでは方向（１ビットの符号のない整数（例えばここでは０は−１として使用され、１は１として使用される））として符号化される。コンポーネント自体はその後、次式にしたがってＱｕａｎｔＮｂＢｉｔｓの符号のないまたは符号のある整数としてコード化される。  
２QuantNbBits-1 ＋ｖｑ［ｉ］
即ち、各垂線は次式により与えられるビット数で符号化される。
【００１８】
ビット＝１（方向）＋２（方位）＋２* ＱｕａｎｔＮｂＢｉｔｓ
または特に、例のようにＱｕａｎｔＮｂＢｉｔｓ＝３のときは、
ビット＝１（方向）＋２（方位）＋２* ３（即ちＱｕａｎｔＮｂＢｉｔｓ）＝９である。
回転に対しては、方向ビットは省略され、符号化のためのビット数は次式により与えられ、即ち、
ビット＝２（方位）＋３* ＱｕａｎｔＮｂＢｉｔｓ
または、特に、例のようにＱｕａｎｔＮｂＢｉｔｓ＝３のときは、
ビット＝２（方位）＋３* ３（即ちＱｕａｎｔＮｂＢｉｔｓ）＝１１である。
【００１９】
面インデックス（方向および方位を含む）をデコードするために同一数のビットを使用して、デコードプロセスは反対に作用する。コンポーネント自体は次式にしたがって符号を有する値へデコードされる。  
ｖｑ’ ［ｉ］＝ｖdecoded −２QuantNbBits-1
符号化された値をデコードされた値へ変換して戻すと、量子化プロセスは逆量子化プロセスを経て行われない状態でなければならない。前述したように、ＱｕａｎｔＮｂＢｉｔｓがゼロであるならば、コード化プロセスは自明であり、実際に任意のビットを書込まず、デコードプロセスは同様に自明であり、任意のビットを読取らず、ｖｃ［ｉ］は０に設定される。しかしながら、ＱｕａｎｔＮｂＢｉｔｓがゼロではないとき、逆量子化プロセスは次式にしたがって実行される。
ｖｃ’ ［ｉ］＝ｖｑ’ ［ｉ］／２QuantNbBits-1 
方位ｋと方向ｄｉｒを抽出後、逆マッピングは次式にしたがって実行され、即ち、 
【００２０】
【数３】
2005332412.tif 000005
オブジェクトが垂線であるならば、ｖ’ はデコードされた垂線のコンポーネントとして直接使用されることができる。
しかしながら符号化およびデコード化の能力は最終までの唯一の手段である。本発明のプロセス全体はモーションの効率的な補償を可能にする。したがって、２つの合理的に近接した量子化された値間の差は圧縮の増加を与える。補償プロセスは量子化プロセスで限定された整数ＱｕａｎｔＮｂＢｉｔｓで充分に特定されておりそれによってプロセスにより出力された値をコード化するが、以下のパラメータを規定しなければならない。  
ＣｏｍｐＭｉｎ：圧縮ベクトルｖＤｅｌｔａの最小限度を補償する整数アレイである。
【００２１】
ＣｏｍｐＮｂＢｉｔｓ：圧縮ベクトルのコンポーネントを表すために使用されるビット数を規定する整数である。
各コンポーネントｖＤｅｌｔａ［ｉ］はＣｏｍｐＭｉｎにより変換され、ＣｏｍｐＮｂＢｉｔｓについてコード化される。したがって実際のコード化された値はｖＤｅｌｔａ［ｉ］−ＣｏｍｐＭｉｎであり、デコードプロセスは量子化された垂線または回転ｖｑ１およびｖｑ２の間の補償ベクトルｖＤｅｌｔａを計算する方法を規定する。
【００２２】
量子化プロセスにおける面インデックスの符号化に類似して、補償プロセスでは、パラメータｖｑ１とｖｑ２は、ｖｑ１、ｖｑ２に対してそれぞれ（１）ｏｒｉ１とｄｉｒ１、（２）ｏｒｉ２とｄｉｒ２として参照されるそれぞれの方位および方向によって規定される。全てのｏｒｉ１、ｄｉｒ１、ｏｒｉ２、ｄｉｒ２は整数である。さらにｖｑ１とｖｑ２の両者は対応するアレイｖｑ１［］とｖｑ２［］に記憶された量子化された整数コンポーネントのそれぞれのアレイを含んでいる。
【００２３】
ｖｑ１とｖｑ２に基づいて、補償ベクトルｖＤｅｌｔａの方向は−１または１として計算され（回転ではこの値は無視される）、整数反転と呼ばれる。それから補償コンポーネントのセットが計算され、整数ｖＤｅｌｔａ［］のアレイに記憶される。ｖＤｅｌｔａの値は以下の方法にしたがって得られる。
【００２４】
分解されたコンポーネントの数をＮとし、ここで垂線ではＮ＝２、回転ではＮ＝３とする。最初に変数ｉｎｖ＝１である。その後、ｖｑ１とｖｑ２との間の差の方位ｄＯｒｉと方向ｄＤｉｒは次式にしたがって計算される。
ｄＯｒｉ＝（ｏｒｉ２−ｏｒｉ１）ｍｏｄ（Ｎ＋１）
ｄＤｉｒ＝ｄｉｒ１* ｄｉｒ２
スケール＝ｍａｘ（１／２．２QuantNbBits-1 −１）
即ち、スケールは量子化で使用されるビット数に基づいてキューブの面で表される最大値を表している。しかしながら０と１ビットはＱｕａｎｔＮｂＢｉｔｓの特別な場合である。０と１ビットの場合では、キューブの面の中心だけが表されることができる。即ち、０ビットはさらに少ないスペースを使用し、同一情報のコード化を可能にするので、０ビット（プラス方向と方位ビット）によるコード化は１ビットによるコード化よりも効率がよい。さらに、本発明の好ましい実施形態はゼロが各面で正確に表されることができることを確実にするために各面の限定範囲で奇数値を使用する。この方法による面の値の表示は未使用の１値（例えばＱｕａｎｔＮｂＢｉｔｓ＝８のとき−１２８）をエレーブ（elave ）するが、効率の劣るコード化を犠牲にして正確に純粋な方向を表すことが好ましい。実際に、一般的に低いコード化効率を補償するため、付加的なコード化層（ハフマンコード化）が上部で使用されることができる。しかしながら、好ましい実施形態では、付加的な複雑性が非常に十分な利得によりオフセットされないので、失われた１ビットを回復するために付加的なコード化は与えられない。
【００２５】
差の方位ｄＯｒｉに基づいて、以下の各２つのケースは別々に考慮される。
【００２６】
【表１】
2005332412.tif 000006
変数ｉｎｖは計算中に変化するので、変数ｉｎｖｅｒｓｅはｉｎｖｅｒｓｅ＝ｉｎｖ* ｄＤｉｒにしたがって事実後に計算される。時には、投影される点が見られる面にしたがって同一の回転を表す方法が２つ存在する、しかしながら、量子化プロセスにおけるこの境界の非注入はｖｑ２’ を生成するためｖｑ１がｖＤｅｌｔａにより補償されるとき正確にｖｑ２を生成しない。しかしながら、ｖｑ２とｖｑ２’ は常に同じ垂線または回転を表す。
【００２７】
補償を計算すると、補償は量子化中に行われるように符号化されなければならない。垂線のみでは、逆（inverse ）は１つのビットでコード化される。補償ベクトルのコンポーネントはその後、次式にしたがって−ＣｏｍｐＭｉｎにより変換され、ＣｏｍｐＮｂＢｉｔｓでコード化される。
【００２８】
ｖencoded ＝ｖＤｅｌｔａ［ｉ］−ＣｏｍｐＭｉｎ［ｉ］
符号化プロセスはその後反転にされ、補償ベクトルはデコードされる。デコードプロセスは量子化された垂線または回転ｖｑ２を生成するため補償ベクトルｖＤｅｌｔａにより垂線または回転ｖｑ１を変換する。垂線のみでは、１つのビットの反転がデコードされる。その後、補償ベクトルのコンポーネントは次式にしたがってＣｏｍｐＭｉｎにより変換され、ＣｏｍｐＮｂＢｉｔｓでコード化される。
【００２９】
ｖＤｅｌｔａ［ｉ］＝ｖdecoded ＋ＣｏｍｐＭｉｎ［ｉ］
ｖＤｅｌｔａから、補償プロセスが進行することができる。初期パラメータｖｑ１は（１）方位１、（２）方位１、（３）整数ｖｑ１［］のアレイに記憶された１組の量子化されたコンポーネントを含んでいる。同様に、補償ベクトルｖＤｅｌｔａは“ｉｎｖｅｒｓｅ”とラベルを付けられた反転整数と、整数ｖＤｅｌｔａ［］のアレイに記憶された１組の補償コンポーネントを含んでいる。補償プロセスの出力は（１）方位、（２）方向、（３）整数のアレイｖｑ２［］に記憶された１組の量子化されたコンポーネントにより限定される量子化されたパラメータｖｑ２である。ｖｑ２［］の値は計算される。またスケールは次式により与えられる。
【００３０】
スケール＝ｍａｘ（１／２，２QuantNbBits-1 −１）
最初に、コンポーネント対コンポーネントで加算が行われ、次式にしたがって一時的なアレイに記憶される。
ｖｑＴｅｍｐ［ｉ］＝ｖｑ１［ｉ］＋ｖＤｅｌｔａ［ｉ］
前と同様に、Ｎは分解されたコンポーネントの数であり、ここで垂線ではＮ＝２であり、回転ではＮ＝３である。初期計算に基づいて、以下の３つのケースのどれが真であるかにしたがってさらに処理が実行される。  
【００３１】
【表２】
2005332412.tif 000007
したがって、本発明は垂線および回転がさらに効率的にコード化されることを可能にする。回転および垂線に適用される方法は均一で、最適のシステムがシーンの符号化用に構築されることを可能にする。適切な量子化およびエントロピーコード化を組合わせたここで説明した予測／補償プロセスが図５のグラフで示されているようにビデオストリームのデータサイズを減少することを可能にすることが信じられている。このような減少は約５：１の量子化減少と、量子化状態からの約２：１乃至３：１の補償減少とを考慮して１５以上の係数によるものであると予測される。
【００３２】
以下の表３で示されているように、本発明による回転および垂線の圧縮は実質上類似のビデオストリームを表すＶＲＭＬ ＡＳＣＩＩと比較したときシーンの大きな圧縮を行うことができる。
【００３３】
【表３】
2005332412.tif 000008
なお本発明におけるコンピュータ実行方法は、（ａ）垂線および回転の１つを表すオリジナルのベクトルを計算し、
（ｂ）オリジナルのベクトルから正規化されたベクトルを計算し、
（ｃ）単位キューブの第１の面上に第１の点を生成するため正規化されたベクトルを単位キューブ上へ投影し、
（ｄ）第１の面のインデックスと第１の面上の第１の点の位置を使用してビデオストリームを符号化するステップを含んでいるビデオストリームを符号化するコンピュータ実行方法を含む。
【００３４】
さらに、（ｅ）第１の面上の第１の点と第２の面上の第２の点との間の単位キュープに沿った運動に基づいて運動ベクトルを計算し、
（ｆ）運動ベクトルを使用してビデオストリームを符号化するステップをさらに含んでいるコンピュータ実行方法を含む。
【００３５】
さらに、第１および第２の面は単位キューブ上の同一の面であるコンピュータ実行方法、または、第１および第２の面は単位キューブ上の異なる面であるコンピュータ実行方法を含む。
また、第１の面と第１の点のインデックスを受信し、垂線と回転の１つへ変換して戻すことにより、ビデオストリームをデコードするステップをさらに含むコンピュータ実行方法を含む。
【００３６】
また、運動ベクトルを受信し、対応する垂線と回転の１つを計算することにより、ビデオストリームをデコードするステップをさらに含んでいるコンピュータ実行方法を含む。
当業者に明白であるように、この方法およびシステムは本発明の技術的範囲を逸脱することなくここで明示して説明した以外の形態で実施されてもよい。それ故、明細書は本発明の技術的範囲を限定することを意図するものではなく、特許請求の範囲によってのみ本発明の技術的範囲は限定される。
【図面の簡単な説明】
【００３７】
【図１】本発明の符号化および／またはデコードサービスを実施するコンピュータの概略図。
【図２】垂線が投影される単位キューブにより囲まれた単位球体を示す図。
【図３】最初の点205 から新しい点205’への移動を示すため展開された図２の単位キューブの図。
【図４】図２の単位キューブの点205’の説明図。
【図５】従来の符号化と本発明にしたがった符号化との差の説明図。
【図１】
2005332412.tif 000009
【図２】
2005332412.tif 000010
【図３】
2005332412.tif 000011
【図４】
2005332412.tif 000012
【図５】
2005332412.tif 000013