(57)【要約】【課題】  ３次元オブジェクトの２次元画像をレンダリングして、ストリーミングする方法などを提供する。【解決手段】  複数のピクセルを含む第１の視点からの第１の画像から、クライアントにおいて表示される第１の画像データが生成され、これらピクセルの第１の奥行き情報が生成され、第１の画像データおよび第１の奥行き情報が圧縮され、クライアントに提供され、第１の視点から第２の視点に視点を変更するようにコマンドが提供される。また、第２の視点からのピクセルの第２の奥行き情報を含む第２の画像データが生成され、クライアントに提供される。クライアントは、３次元表現を構成するピクセルに関係した奥行き情報を含む画像データを受信し、第１の画像を表示し、奥行き情報を含む画像データおよび第２の視点に基づいて、表示用の中間画像を生成する。
2005527052.tif 000002
【特許請求の範囲】
【請求項１】
３次元グラフィックスと共に使用されて、奥行きを有する画像をストリーミングする装置（１００）であって、
複数のピクセルを有する、第１の視点からの第１の画像を、クライアントマシン（１３０）における表示用の第１の画像データとして生成し、前記複数のピクセルの１つまたは複数の第１の奥行き情報を生成するレンダリングモジュール（１２２）と、
前記第１の画像データおよび前記第１の奥行き情報を圧縮する圧縮モジュール（１２４）であって、前記第１の画像データおよび前記第１の奥行き情報が前記クライアントマシンに提供される、圧縮モジュール（１２４）と、
前記レンダリングモジュール（１２２）に接続されたユーザ入力（１５０）であって、前記レンダリングモジュールが前記第１の視点から第２の視点へ視点を変更する入力を受け取り、前記レンダリングモジュールが第２の画像を、前記第２の視点からの第２の画像データとして生成し、該第２の画像が該第２の画像を構成する１つまたは複数のピクセルの第２の奥行き情報を含み、前記第２の画像データおよび前記第２の奥行き情報が前記クライアントマシン（１３０）に提供されるユーザ入力（１５０）と
を備える装置。
【請求項２】
前記クライアントマシン（１３０）は、
画像データおよび奥行き情報を受信して伸張する伸張モジュール（１３２）と、
該装置から受信した画像データに基づいて表示可能な画像を生成する表示モジュール（１３４）と、
前記画像データ、前記奥行き情報、および前記第１の視点のピクセルから前記第２の視点のピクセルへの変換を使用して新たな画像を近似する中間画像を生成するワープモジュール（１３３）と
を備える請求項１に記載の装置。
【請求項３】
前記ユーザ入力は、前記ワープモジュール（１３３）に、視点情報を提供する
請求項２に記載の装置。
【請求項４】
前記第１の画像および前記第２の画像は、平面画像である
請求項１に記載の装置。
【請求項５】
前記第１の画像および前記第２の画像は、円柱、球、および立方体の１つを含む３次元画像の部分である
請求項１に記載の装置。
【請求項６】
前記複数のピクセルは、複数のピクセルグループに配列され、ピクセルグループ内のピクセルのそれぞれは共通の特徴を有し、
前記共通の特徴は、
奥行き情報
を含む
請求項１に記載の装置。
【請求項７】
オブジェクトの３次元表現の第１の視点からの画像データに基づいて、表示用の画像を生成する装置（１００）であって、
前記３次元表現を構成する１つまたは複数のピクセルに関係した奥行き情報を含む圧縮された画像データを受信し、該圧縮された画像データを伸張する伸張モジュール（１３２）と、
前記生成した画像を表示し、第１の画像が表示される、表示モジュール（１３４）と、
前記奥行き情報を含む前記画像データおよび第２の視点に基づいて、表示用の中間画像を生成するワープモジュール（１３３）であって、
前記第１の視点のピクセルから前記第２の視点のピクセルへの変換（transformation）を導出する視点変換器（translator）（１６３）と、
前記１つまたは複数のピクセルのうちの１つまたは複数に前記変換を適用して、前記中間画像の生成に使用される中間ピクセルデータを生成する位置訂正モジュール（１６５）と
を備えるワープモジュール（１３３）と、
を備える装置。
【請求項８】
３次元グラフィック用の画像をストリーミングする方法であって、
クライアント（１３０）に、前記グラフィックの第１の視点を表す圧縮された第１の画像データを提供する（５１０）ことであって、該第１の画像データが第１のピクセルデータを含むことと、
前記クライアントから第２の視点の要求を受信する（５１５）ことと、
前記第２の視点に関係した第２の画像データを生成する（５２０）ことであって、該第２の画像データが前記クライアントにおいて表示される中間画像を訂正し、該中間画像が前記第１の画像データと前記第１のピクセルデータの変換とに基づくものであることと、
前記クライアントに前記第２の画像データを提供することと
を含む方法。
【請求項９】
前記第１の画像データを提供することは、
第１のピクセル奥行き情報を提供すること
を含み
前記第２の画像データを提供することは、
第２のピクセルデータを提供することと、
第２のピクセル奥行き情報を提供することと
を含む
請求項８に記載の方法。
【請求項１０】
３次元グラフィック用の奥行き情報を有する画像をストリーミングする方法であって、
前記３次元グラフィックの第１の表現を構成する１つまたは複数のピクセルに関係した奥行き情報を含む画像データを受信する（４１０）ことであって、前記第１の表現が前記３次元グラフィックの第１の視点に関係する、画像データを受信する（４１０）ことと、
前記第１の表現を表示することと、
奥行き情報を含む前記画像データと前記３次元表現の第２の視点とに基づいて中間画像を生成する（４３５）ことであって、
前記第１の表現を構成する前記１つまたは複数のピクセルから前記第２の視点を構成するピクセルへの変換を導出することと、
前記第１の表現を構成する前記１つまたは複数のピクセルに前記変換を適用することであって、それによって、前記中間画像を生成する、前記変換を適用すること、
前記中間画像を表示する（４３５）ことと、
を含む中間画像を生成すること、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術分野は、グラフィックス処理／表示システムであり、特に、３次元モデルおよびオブジェクトをレンダリングするシステムである。
【背景技術】
【０００２】
［背景］
従来のクライアント−サーバアーキテクチャでは、リモートサーバが、オブジェクトの３次元（３Ｄ）モデルを記憶することができ、接続されたクライアントに３Ｄモデルのさまざまなビューを配信することができる。
配信された３Ｄモデルのビューは、クライアントにおいて３Ｄモデルの２次元画像をレンダリングするのに必要なデータを含むことができる。
クライアントは、その後、２Ｄ画像をレンダリングして表示し、ユーザの３Ｄモデルとの対話をサポートする。
このようなユーザの対話には、３Ｄモデルの回転および平行移動（translate）が含まれ得る。
その結果、例えば、３Ｄモデルの異なる２Ｄ画像が表示される。
複雑なモデルの場合、クライアントにおいて画像をレンダリングできるように、大量のデータが、モデルの幾何学的特性を記述するのに必要とされることがある。
ユーザがオブジェクトのビューを変更したい（例えば、オブジェクトを右に９０度回転する）場合、サーバは、新たな画像としてレンダリングして表示するために、新たな１組のモデルデータをクライアントに送信しなければならない。
サーバとクライアントとの間の帯域幅の制限、および、場合によってはクライアントにおける処理の制限のため、新たな画像のレンダリングおよび表示は、かなり遅れる場合がある。
その結果、対話型グラフィックスセッションのユーザの知覚が悪影響を受ける。
【０００３】
この長い待ち時間の問題に対する１つの解決法が、Schneider他に付与された米国特許第６，２２２，５５１Ｂ１号に提案されている。
この米国特許では、サーバ側装置が、オブジェクトの選択された個数のビューをレンダリングし、選択されたビューを表示のためにクライアントに送信する。
クライアントは、選択されたビューをオブジェクトの面にマッピングし、次いで、レンダリングされたオブジェクトである１つまたは複数の面を同時に表示する。
このシステムに関する１つの制限は、ユーザが、クライアントに送信されてオブジェクトにマッピングされた正確なビューのみを観察することに制限されるということである。
したがって、例えば、ユーザは、正６面体オブジェクトの６つの面を中心とした各面の視点で、その正６面体の６つの側面を観察することに制限されることがある。
ユーザは、その後、オブジェクトを回転または平行移動することができず、例えばビューを左または右に３０度変更することができない。
【０００４】
３Ｄ画像レンダリングの別の解決法は、Jenkinsに付与された米国特許第６，１１１，５８２号に記載されている。
この米国特許では、凸状のグラフィックスプリミティブが再投影された要素となるプリミティブ再投影技法が使用される。
先行フレームにおいて見えることが判明している要素が、その要素の変換および奥行き比較ラスタライズによって最初に決定される。
新たに見えるようになった要素を含む可能性のある画像の領域が、奥行き（ｚ）バッファにおけるオクルージョン露出遷移（occlusion-exposure transition）によって、インクリメンタルビューボリューム動作（incremental view volume motion）から突き止められる。
これらの領域では、空間レイキャスティング（spatial ray casting）の奥行き優先データアクセス方法が、ラスタライズ用に新たに特定されるプリミティブを特定するのに使用される。
サーバ−クライアントシステムは、新たに見えるようになったプリミティブおよび新たに見えなくなったプリミティブを表すデータを表示のためクライアントに送信する可視性事象符号化（visibility event encoding）を使用する。
【特許文献１】米国特許第６，２２２，５５１号
【特許文献２】米国特許第６，１１１，５８２号
【非特許文献１】Cohen-Or D,「Model-Based View-Extrapolation for Interactive VR Web-Systems」, COMPUTER GRAPHICS INTERNATIONAL, 1997. PROCEEDINGS HASSELT AND DIEPENBEEK, BELGIUM, 1997年6月23-27日, Los Alamitos CA USA, IEEE COMPUT. SOC US, 1997年6月23日, p104-112, 248
【非特許文献２】Yoon I 他,「Compression of Computer Graphics Images with Image-Based Rendering」, 1999年1月25日, MULTIMEDIA COMPUTING AND NETWORKING, Proceeding of the SPIE, XX, XX, vol. 3654, p66-75
【非特許文献３】Tze-Kin Lao 他, 「Automatic Generation of Virtual Environment from Vertical Panoramic Image」, 2000年6月26-29日, Proceedings of THE INTERNATIONAL CONFERENCE ON IMAGING SCIENCE, SYSTEMS, AND TECHNOLOGY. CISST'2000, Las Vegas NV USA, vol. 2, p373-379
【非特許文献４】Shade J 他, 「Layered Depth Images」, 1998年7月19-24日, COMPUTER GRAPHICS, Proceedings of SIGGRAPH 98: 25TH INTERNATIONAL CONFERENCE ON COMPUTER GRAPHICS AND INTERACTIVE TECHNIQUES, Orland FL USA, p231-242
【非特許文献５】Kaneko T 他,「View Interpolation with Range Data for Navigation Applications」, 1996年6月24-28日, Proceedings. COMPUTER GRAPHICS INTERNATIONAL(CAT. NO. 96TB100030), Proceedings of CG INTERNATIONAL '96, Pohang South Korea, p90-95
【発明の開示】
【課題を解決するための手段】
【０００５】
［概要］
サーバまたは同様のマシンおよびクライアントマシンにおいて実行される装置、ならびに、対応する方法は、３次元オブジェクトの２次元画像をレンダリングして、このようにレンダリングした画像をクライアントマシンにストリーミングするメカニズムを含む。
このメカニズムは、複数のピクセルを有する、第１の視点からの第１の画像をクライアントマシンにおける表示用の第１の画像データとして生成し、当該複数のピクセルの１つまたは複数の第１の奥行き情報を生成するレンダリングモジュールと、第１の画像データおよび第１の奥行き情報を圧縮する圧縮モジュールとを含む。
ここで、第１の画像データおよび第１の奥行き情報はクライアントマシンに提供される。
レンダリングモジュールに接続されたユーザ入力が、第１の視点から第２の視点に視点を変更するようにレンダリングモジュールにコマンドを提供する。
ここで、レンダリングモジュールは、第２の画像を、第２の視点からの第２の画像データとして生成し、この第２の画像は、当該第２の画像を構成する１つまたは複数のピクセルの第２の奥行き情報を含む。
第２の画像データおよび第２の奥行き情報は、その後、クライアントマシンに提供される。
【０００６】
クライアントマシンは、３次元表現を構成する１つまたは複数のピクセルに関係した奥行き情報を含む、圧縮された画像データを受信し、当該圧縮された画像データを伸張する伸張モジュールと、生成された画像を表示し、第１の画像が表示される表示モジュールと、奥行き情報を含む画像データおよび第２の視点に基づいて、表示用の中間画像を生成するワープモジュールと、を含む。
【０００７】
一実施の形態では、この装置のすべてまたは一部をコンピュータ可読媒体で実施することができる。
コンピュータ可読媒体には、例えば、磁気データ記憶デバイスおよび光データ記憶デバイスが含まれる。
【０００８】
詳細な説明は添付図面を参照する。
図面において、同じ番号は同じ要素を参照する。
【発明を実施するための最良の形態】
【０００９】
［詳細な説明］
クライアント−サーバアーキテクチャにおける機能強化された画像レンダリングを提供し、かつ、サーバにおいてレンダリングされてクライアントにおいて表示するための画像データのストリーミングを可能にする方法およびメカニズムを本明細書で説明する。
図１は、３次元（３Ｄ）オブジェクトがクライアント３０における表示のためにサーバ２０においてモデル化される一般的な従来技術のアーキテクチャ１０を示している。
サーバ２０およびクライアント３０は、デジタルデータネットワーク４０を使用して通信することができる。
サーバ２０は、レンダリングモジュール２２および圧縮モジュール２４を含むことができる。
クライアント３０は、伸張モジュール３２および表示モジュール３４を含むことができる。
表示モジュール３４は、例えばフラットパネル表示装置および陰極線管を含めて、多数の既知の表示デバイスのうちのいずれをも含むことができる。
ユーザは、ユーザ入力デバイス５０を使用して、クライアント３０およびサーバ２０とインターフェースすることができる。
ユーザ入力デバイスは、キーボード、ポインティングデバイス、他の既知のユーザ入力デバイス等のメカニズムを含むことができる。
【００１０】
一般的なシナリオでは、サーバ２０は、３Ｄモデルとしてモデル化されるオブジェクトであって、サーバ２０においてレンダリングされて、３Ｄモデルを構成する各ピクセルに関連した情報を含んだデジタルファイルを生成するオブジェクトを提供する。
３Ｄモデルを観察したいユーザは、クライアント３０を使用してサーバ２０と通信する。
あるいは、ユーザは、クライアント３０を迂回する代替的なパスを使用してサーバ２０と通信することもできる。
ユーザは、クライアント３０において表示したかった３Ｄオブジェクトの特定の「ビュー」を指示することができる。
サーバ２０は、続いて、所望のビューを構築（レンダリング）し、通常はその所望のビューを表すデータを圧縮し、そして、このようにレンダリングされた２Ｄビューをクライアント３０に送信する。
クライアント３０は、データを伸張し、表示装置３４に２Ｄビューを表示する。
【００１１】
ユーザは、別の視野からの３Ｄオブジェクトを観察したい場合、サーバ２０にその視野を伝達しなければならない。
サーバ２０は、続いて、新たな２Ｄビューをレンダリングして、その新たなビューに対応するデータをクライアント３０に送信する。
あいにく、新たな２Ｄビューのレンダリングおよびこの新たな２Ｄビューに対応するデータの受信に要する時間は、新たなビューを要求する時間と比較して相対的に長くなることがあり、ユーザには変化が実時間で生じているとは見えないような長いものとなることがある。
多くのアプリケーションでは、レンダリングされた画像を視点の変更のために更新する際の待ち時間によって、観察経験がかなり損なわれる可能性がある。
【００１２】
図２Ａは、従来技術のクライアント−サーバグラフィックスアーキテクチャによって通常受けるラウンドトリップ待ち時間を除去する改良された３Ｄ画像アーキテクチャ１００を示している。
このアーキテクチャ１００は、サーバ１２０を含み、サーバ１２０は、レンダリングモジュール１２２および圧縮モジュール１２４を有する。
また、奥行き部１２８を含むことができるバッファ１２６も示されている。
バッファ１２６の使用については後に詳述する。
サーバ１２０は、デジタルデータ伝送ネットワーク１４０を使用して、クライアント１３０等の１つまたは複数のクライアントに接続される。
ネットワーク１４０は、例えばインターネットを含めて、デジタルデータを伝送できる任意のネットワークとすることができる。
クライアント１３０は、伸張モジュール１３２、表示モジュール１３４、およびワープモジュール１３３を含む。
伸張モジュール１３２、表示モジュール１３４、およびワープモジュール１３３は、コンピュータ可読媒体１３５上のプログラミングとして提供することができる。
このようなコンピュータ可読媒体１３５は、磁気記憶装置または光記憶装置であってもよいし、他の任意のコンピュータ可読媒体であってもよい。
表示モジュール１３４は、表示装置１３６に動作可能に接続することができる。
表示装置１３６は、例えば、フラットパネル表示装置とすることができ、表示装置１３６上に、３Ｄモデルの２次元表現が表示される。
伸張モジュール１３２は、サーバ１２０から送信されたデジタルファイルを伸張する。
ワープモジュール１３３の使用については後に詳述する。
ユーザは、ユーザ入力デバイス１５０を使用して、クライアント１３０およびサーバ１２０と通信することができる。
ユーザ入力デバイス１５０は、クライアント１３０と直接通信するメカニズムを含むことができ、このメカニズムには、例えば、キーボード、マウス等のポインティングデバイス、および発話認識ソフトウェアが含まれる。
サーバ１２０と通信する際に、ユーザ入力デバイス１５０は、クライアント１３０を使用することもできるし、図示するようなネットワーク１４０を使用して、サーバ１２０と直接通信することもできる。
【００１３】
サーバ１２０では、レンダリングモジュール１２２が、３Ｄオブジェクトの特定の２Ｄビューまたは２Ｄ画像を表すデータを生成するのに用いられる。
続いて、このようにレンダリングされた２Ｄ画像を表すデータは、圧縮モジュール１２４で標準的な圧縮技法を使用して２Ｄ画像ファイルとして圧縮することができる。
この圧縮は、当該２Ｄ画像データファイルをクライアント１３０に送信する前に行うことができる。
伸張モジュール１３２は、最初の２Ｄ画像データファイルを受信すると、そのデータを伸張することができる。
このように伸張された２Ｄ画像データは、表示モジュール１３４に提供され、表示モジュール１３４は、２Ｄ表示を生成して、表示装置１３６上に提示する。
【００１４】
バッファ１２６は、ピクセル奥行き情報を含む圧縮された画像データおよび伸張された画像データを記憶するのに使用することができる。
ピクセル奥行き情報は、バッファ１２６の奥行き部１２８に記憶することができる。
最も近時に生成された２Ｄビューのピクセル奥行き情報のみを記憶するように奥行き部１２８を制御することができる。
後続のビューが生成されるに伴い、奥行き部１２８のピクセル奥行き情報を更新することができる。
【００１５】
また、サーバ１２０は、生成された２Ｄ画像データをクライアント１３０に送信する際に、２Ｄ画像の各ピクセルまたはほとんどのピクセルに関係した付加情報も生成してクライアント１３０に送信する。
例えば、レンダリングモジュール１２２は、第１の視点を使用すると、３Ｄモデルの一部またはすべてのピクセルのピクセル位置、色、および他のピクセルの特徴を指定して２Ｄ画像を生成することができる。
このようなデータによって、クライアント１３０の表示モジュール１３４は、２Ｄ画像が表示装置１３６上で第１の視点から見えるように２Ｄ画像を再現（recreate）することが可能になる。
一方、レンダリングモジュール１２２は、生成された２Ｄ画像を提供できる付加ピクセル情報も決定する。
例えば、レンダリングモジュール１２２は、生成された２Ｄ画像のあらゆるピクセルの奥行き情報を生成することができる。
【００１６】
図２Ｂは、ワープモジュール１３３の可能な一実施態様のブロック図である。
ワープモジュール１３３は、ピクセル奥行き情報を含む画像データを記憶する手段を含む。
このような手段は、クライアント１３０のメモリ１６１の一部として具体化することができる。
ワープモジュール１３３は、さらに、第１の視点のピクセルと第２の視点のピクセルとの間の変換を決定する変換器１６３も含むことができる。
この変換は、次に、位置訂正モジュール１６５に提供することができる。
位置訂正モジュール１６５は、この変換を最初の２Ｄ画像の１つまたは複数のピクセルに適用して、このように訂正されたピクセルを中間の２Ｄ画像内で突き止める。
また、ワープモジュール１３３には、誤差訂正モジュール１６７を含めることもできる。
誤差訂正モジュール１６７は、中間の２Ｄ画像が生成された時にさまざまな画像訂正ルーチンを実行する。
誤差訂正モジュール１６７は、包含サブモジュール１６９を含むことができる。
包含サブモジュール１６９は、最初の２Ｄ画像では見えなかったが、中間の２Ｄ画像では見えるようになった画像エリアの中間画像ピクセルデータを提供する。
少なくとも２つのルーチンが、包含サブモジュール１６９によって実行可能である。
レイヤ化ルーチン１７１は、レンダリングモジュール１２２によって提供された付加ピクセル情報に依拠する。
付加ピクセル情報は、第１の視点から提供された視野のため、最初の２Ｄ画像では見えなかった３Ｄモデルのピクセルに関係するものである。
例えば、レンダリングモジュール１２２は、特定の個数のピクセルのピクセル奥行き情報、ピクセル色、および他のピクセル情報を提供することができる。
この特定の個数のピクセルは、３Ｄオブジェクトが左または右に３０度回転して見えるように、第１の視点が平行移動されると見えることになるピクセルである。
別法では、平均化ルーチン１７３が、中間の２Ｄ画像で見えるようになるエリアのピクセルに使用するために、最初の２Ｄ画像では見えないエリアに隣接するピクセルのピクセル情報を使用することができる。
例えば、平均化ルーチン１７３は、新たに見えるようになったエリアに隣接する特定の個数のピクセルのピクセル奥行き情報および色情報を使用でき、ピクセル奥行きおよび色情報を、新たに見えるようになったエリアに存在するピクセルに適用することができる。
【００１７】
誤差訂正モジュール１６７は、ピクセル影響サブモジュール１７５も含むことができる。
ピクセル影響サブモジュール１７５は、視点が変化すると、中間の２Ｄ画像のピクセルの訂正を行う。
例えば、３Ｄオブジェクトが右に３０度回転して見えるように視点が変化すると、最初の２Ｄ画像に存在し、かつ、中間の２Ｄ画像にも引き続き存在する一定のピクセルは、反射光の変化による影響を受けることがある。
このピクセルの影響および他のピクセルの影響は、ピクセル影響サブモジュール１７５が実行するさまざまなルーチンが考慮することができる。
【００１８】
図３Ａおよび図３Ｂは、レンダリングモジュール１２２がピクセル情報を生成することができる方法を示している。
図３Ａは、３Ｄオブジェクト２００（立方体）および２２０（球）の平面図である。
図３Ｂは、立方体２００および球２２０の正面斜視図である。
立方体２００は、中心２１１および角（頂点）２１２〜２１５（図３Ａ）ならびに面２１６および２１７（図３Ｂ）を含む。
球２２０は、中心２３１および円周２３２（図３Ａ）を含む。
【００１９】
図３Ａを参照して、ユーザは、視点ＰＶ１からオブジェクト２００および２２０を「観察する」。
ＰＶ１からは、視線２０１および２０２がＰＶ１から生じて角２１２および２１３で終端し、図示するような正三角形を形成する状態で、立方体２００のみが見える。
したがって、立方体２００は、２Ｄ画像として表示装置１３６上にレンダリングされると、ＰＶ１から見えるように正方形（面２１６、図３Ｂ）として見えることになる。
立方体２００の面２１６を表す２Ｄ画像を生成するために、レンダリングモジュール１２２は、面２１６を構成する一部またはすべてのピクセルのピクセル情報を含んだデジタルファイルを生成する。
このようなピクセル情報は、面２１６のピクセルの位置、ピクセル色、輝度、および２Ｄ画像をレンダリングするのに必要な他のピクセル情報を含むことができる。
レンダリングモジュール１２２は、奥行き情報、または、ＰＶ１以外の視点からの２Ｄ画像の再生を円滑にするためにクライアントにおいて使用できる他の情報を生成することもできる。
例えば、レンダリングモジュール１２２は、ＰＶ１からの各ピクセルの距離および角変位に関係したデジタルデータ（例えば、変換ベクトル）を提供することができる。
このように生成された奥行き情報は、バッファ１２６の奥行き部１２８に記憶される。
また、奥行き情報は、２Ｄ画像を構成する他のデジタルデータと共にクライアント１３０にも提供することができる。
【００２０】
ユーザは、別の視野からオブジェクト（立方体２００および球２２０）を見たい場合に、例えば、図３Ａに示すような視点ＰＶ２からオブジェクトを示すことを指定することができる。
ＰＶ２からは、立方体２００および球２２０の双方が、少なくとも部分的に見える。
一方、立方体２００は、ＰＶ１から見えるものとは異なる視野で見えることになる。
この相違は、部分的には、視点がＰＶ１からＰＶ２へシフトすることに伴う立方体２００の見掛けの回転によるものである。
また、この相違は、部分的には、球２２０が存在することによるものである場合もある。
例えば、球２２０が存在しない場合には起こらないような形で、球２２０によって、光が立方体２００に反射する場合がある。
さらに、ＰＶ１から見えるような２Ｄ画像の一定の特徴も、視点がシフトするに伴い変化する場合がある。
例えば、立方体２００の表面が光沢を有する場合に、ＰＶ１からＰＶ２への視点のシフトによって、視点の変化に伴い変化するように、光が立方体２００の表面に反射する場合がある。
【００２１】
視点ＰＶ２からのオブジェクト２００および２２０をレンダリングするために、レンダリングモジュール１２２は、ＰＶ２から見えるようなオブジェクト２００および２２０の完全なデジタルデータファイルをクライアント１３０に送信することができる。
表示モジュール１３４は、続いて、立方体２００および球２２０の新たな２Ｄ画像を生成する。
また、レンダリングモジュール１２２は、奥行き情報（例えば、ＰＶ２からの距離および角変位）等の付加情報も送信することができる。
しかしながら、オブジェクト（立方体２００および球２２０）の２Ｄ画像が、ＰＶ２から生成されたデジタルデータのみに基づいてレンダリングされた場合には、帯域幅の制限および他の要因のため、顕著な遅れがクライアント１３０で観測される場合がある。
クライアント１３０における画像生成を向上させるために、クライアント１３０で受信され、かつ、最初の２Ｄ画像（すなわち、ＰＶ１から見えるような２Ｄ画像）に対応するデジタルデータファイルは、ＰＶ１からＰＶ２への視点の位置の変化を考慮して調整することができる。
すなわち、面２１６の各ピクセルについて、２Ｄ画像を調整して、ＰＶ１からＰＶ２へのピクセルの距離および各変位の相違を考慮することができる。
表示された２Ｄ画像のこの変化は、ワープモジュール１３３によって対応することができる。
すなわち、ワープモジュール１３３は、上述した調整を２Ｄ画像に対して行い、次いで、表示モジュール１３４は、調整された画像を表示装置１３６に「中間」の２Ｄ画像として表示する。
しかしながら、ＰＶ１からＰＶ２への視点の移動は、中間の２Ｄ画像に誤差を生成する場合がある。
例えば、中間の２Ｄ画像は、球２２０のどの部分も含まない場合があり、球２２０の存在が立方体２００に与え得るどの影響も含まない場合がある。
中間の２Ｄ画像の生成に続いて、クライアント１３０は、ＰＶ２から見えるような２Ｄ画像データをサーバ１２０から受信し、この２Ｄ画像データファイルを伸張し、中間の２Ｄ画像に対応する２Ｄ画像データを上書きして、ＰＶ２から見えるような２Ｄ画像の最終版を生成することができる。
【００２２】
中間の、すなわち「歪まされた（warped）」画像を生成することをクライアント１３０ができるようにするために、サーバ１２０は、上述したように、特定の視点からの３Ｄオブジェクトの奥行きに関係したデータをクライアントに提供する。
レンダリングモジュール１２２が実行する３Ｄレンダリングプロセスのこの出力（すなわち、奥行き情報）は、クライアント１３０に保存されて、ワープモジュール１３３に入力することができる。
ワープモジュール１３３では、この奥行き情報がワープアルゴリズムに使用され、２Ｄ中間画像が生成される。
ワープアルゴリズムは、２Ｄ中間画像を生成するために、第１の視点（例えば、ＰＶ１）と次の視点（例えば、ＰＶ２）との間の相対的な変位を簡単に比較できるものである。
また、上述したように、ワープアルゴリズムの使用によって、２Ｄ中間画像に誤差が発生する場合がある。
このような誤差を克服するために、レンダリングモジュールが３Ｄモデルからデジタルデータを収集する形式に改良を行うことができ、ワープアルゴリズムがこのデジタルデータを適用して２Ｄ中間画像を生成するという点で改良を行うことができる。
例えば、レンダリングモジュール１２２は、ピクセル位置および色情報に加えて、例えば、３Ｄオブジェクトの特定の点が光の変化にどのように反応するか等、その特定の点における３Ｄオブジェクトの材料特性に関係した付加情報も生成することができる。
２Ｄ中間画像に対する別の訂正因子は、特定の視点からは通常見えないオブジェクトまたはオブジェクトの一部からのデータを使用することができる。
図３Ａに示す例を使用すると、レンダリングモジュール１２２は、ＰＶ１から通常見えない球２２０の一部に対応する情報レイヤを生成することができる。
続いて、ユーザが別の視点を指定した場合に、ワープモジュール１３３は、このレイヤ化されたピクセル情報を使用して、２Ｄ中間画像を生成することができる。
【００２３】
また、図２Ａに示すサーバ−クライアントアーキテクチャは、複数のユーザが同じ３Ｄオブジェクトを観察したい場合に、サーバ１２０における処理作業を削減するのにも使用することができる。
特に、レンダリングモジュール１２２は、第１の視点に基づいて最初の２Ｄ画像を生成でき、次いで、ワープアルゴリズムにおけるレンダリングに依拠して、１人または複数の追加ユーザの視点に適合するように２Ｄ画像を調整することができる。
【００２４】
上述したように、２Ｄ画像に対応するデータファイルは、圧縮モジュール１２４が圧縮することができ、クライアント１３０において、伸張モジュール１３２を使用して伸張することができる。
同様に、２Ｄ画像のピクセルに関係した奥行き情報は、圧縮してクライアント１３０に送信することができる。
この奥行き情報は、画像データと同じデータファイルに結合することもできるし、別個のファイルに設けることもできる。
【００２５】
上述した２Ｄ画像は、図３Ａおよび図３Ｂに示したものと同様の技法を使用して、より複雑な画像と取り替えることができる。
図４は、このようなシナリオを示しており、このシナリオでは、ＰＶ３のユーザが、レンダリングモジュール１２２によって生成されたデジタル画像を表す無限の円柱３００によって取り囲まれたように見える。
すなわち、レンダリングモジュール１２２は、平面（２Ｄ）画像を生成する代わりに、円柱３００の形で画像を生成する。
ＰＶ３のユーザは、続いて、基準点３０１から半径方向変位φを指定することによって円柱３００の部分３０２を観察することができる。
円柱３００と同様に、レンダリングモジュール１２２は、ユーザを取り囲む球画像を生成することもできる。
予想できるように、円柱画像または球画像のいずれも、平面画像に関連したデータファイルよりもはるかに大きなデータファイルを構成する場合がある。
しかしながら、円柱画像または球画像を使用することによって、ユーザは、ワープモジュール１３３による追加計算の必要なく、視点を変更することが可能になる。
円柱画像または球画像に奥行き情報を追加することによって、ユーザは、続いて、単に視点を回転することに加えて、視点を平行移動することもできる。
すなわち、ＰＶ３の回転だけではなく、ユーザは、ＰＶ３から距離Ｘだけ平行移動された新たな視点ＰＶ４を指定することができる。
ワープモジュール１３３は、円柱３００（または球）に関係した奥行き情報を使用して、表示用の新たな画像をレンダリングする。
円柱３００（または球）は完成した画像であるので、クライアント１３０は、サーバ１２０から更新された画像データを受信する必要がなく、ワープモジュール１３３が生成した画像が最終画像となる。
【００２６】
円柱画像および球画像の概念は、例えば立方体や４面体等の他の３Ｄ物体に拡張することができる。
【００２７】
３Ｄ画像アーキテクチャ３００のさらに別の実施の形態では、レンダリングモジュール１２２は、平面の２Ｄ画像の各ピクセルの奥行き情報を記録しない。
その代わり、共通の特徴を有するピクセルを一緒にグループ化することができ、そのグループに関係したデータのみを生成する必要がある。
例えば、同じ奥行きを有するピクセルをグループ化することができ、そのグループについて単一の奥行き値を記憶することができる。
このようなグループ化プロセスによって、サーバ１２０からクライアント１３０に送信されるデータ量を削減することができる。
【００２８】
また、サーバ１２０は、動的な画像化、すなわち、２Ｄ画像のすべてまたは一部の移動に対応することもできる。
例えば、ピクセルグループ２４０は、立方体２００（図３Ａ）の面２１６の可動部を表すことができる。
移動の既知の方向および距離が既知であるか、または、正確に予測できると仮定すると、ピクセルグループ２４０の相対的な動きを示す移動ベクトル２４１をピクセルグループ２４０に関連付けることができる。
ピクセルグループ２４０は、ユーザがＰＶ１に留まる場合、および／または、ユーザがＰＶ２に視点をシフトする場合に移動するように示すことができる。
ピクセルグループ２４０の移動は、ワープモジュール１３３が生成した中間の２Ｄ画像の一部として表すことができる。
最終的な２Ｄ画像がレンダリングモジュール１２２によってレンダリングされると、ピクセルグループ２４０の実際の最終位置２４２を正確に表すことができる。
【００２９】
図５Ａおよび図５Ｂは、図２Ａおよび図２Ｂのサーバ−クライアントアーキテクチャ１００の画像ストリーミングオペレーション４００および５００を示すフローチャートである。
図５Ａでは、オペレーション４００がブロック４０５で開始する。
ブロック４１０において、クライアント１３０が、サーバ１３０がレンダリングしたベース画像を表示する。
ブロック４１５において、ユーザインターフェース１５０が、第１の視点選択をサーバ１２０およびワープモジュール１３３に送信する。
ブロック４２０において、クライアント１３０が、ピクセル奥行き情報を含めて、ピクセル情報を含んだサーバ１２０からの圧縮されたデジタル情報ファイルを受信する。
ブロック４２５において、伸張モジュール１３２が画像ファイルを伸張し、表示モジュール１３４が最初の２Ｄ画像を表示する。
ブロック４３０において、ユーザインターフェースが第２の視点選択をサーバ１２０およびワープモジュール１３３に提供する。
ブロック４３５において、ワープモジュールは、ワープアルゴリズムを適用し、最初の２Ｄ画像およびピクセル奥行き情報に基づいて中間の２Ｄ画像を生成する。
また、ワープモジュール１３３は、さまざまな訂正ルーチンを実行して、中間の２Ｄ画像の精度を高めることもできる。
ブロック４４０において、クライアント１３０は、サーバ１２０から２番目の２Ｄ画像を受信し、ブロック４４５において、伸張モジュール１３２が２番目の２Ｄ画像ファイルを伸張し、ワープモジュール１３３が、受信した２番目の２Ｄ画像を中間の２Ｄ画像に上書きし、表示モジュール１３４が２番目の２Ｄ画像を表示する。
【００３０】
図５Ｂに示すオペレーション５００はブロック５０５で開始する。
ブロック５１０において、サーバ１２０は、ベース画像をクライアント１３０に提供する。
ブロック５１５において、サーバ１２０は、第１の視点選択をユーザインターフェース１５０から受信する。
ブロック５２０において、レンダリングモジュール１２２は、２Ｄ画像をレンダリングして、ピクセル奥行き情報を生成する。
このように生成されたデータは、バッファ１２６に記憶される。
ブロック５２５において、圧縮モジュール１２４は、画像データおよび奥行き情報を圧縮して、圧縮した画像ファイルをクライアント１３０に送信する。
ブロック５３０において、サーバ１２０は第２の視点選択を受信する。
オペレーション５００は、その後、ブロック５２０に戻る。
【図面の簡単な説明】
【００３１】
【図１】オブジェクトの３次元モデルをレンダリングする従来技術のサーバ−クライアントアーキテクチャの図である。
【図２Ａ】オブジェクトの３次元モデルをレンダリングする改良されたサーバ−クライアントアーキテクチャの図である。
【図２Ｂ】オブジェクトの３次元モデルをレンダリングする改良されたサーバ−クライアントアーキテクチャの図である。
【図３Ａ】奥行きを有するストリーミング画像データの例を示す図である。
【図３Ｂ】奥行きを有するストリーミング画像データの例を示す図である。
【図４】ユーザの視点を取り囲む回転体を表す画像を示す図である。
【図５Ａ】図２Ａおよび図２Ｂのサーバ−クライアントアーキテクチャのオペレーションを示すフローチャートである。
【図５Ｂ】図２Ａおよび図２Ｂのサーバ−クライアントアーキテクチャのオペレーションを示すフローチャートである。
【符号の説明】
【００３２】
１２０・・・サーバ，
１３０・・・クライアント，
１２２・・・レンダリング，
１２４・・・圧縮，
１３２・・・伸張，
１３４，１３６・・・表示，
１５０・・・ユーザ入力，
１２６・・・バッファ，
１２８・・・奥行き，
１３３・・・ワープ，
１４０・・・視点，
【図１】
2005527052.tif 000003
【図２Ａ】
2005527052.tif 000004
【図２Ｂ】
2005527052.tif 000005
【図３Ａ】
2005527052.tif 000006
【図３Ｂ】
2005527052.tif 000007
【図４】
2005527052.tif 000008
【図５Ａ】
2005527052.tif 000009
【図５Ｂ】
2005527052.tif 000010
【国際調査報告】
2005527052.tif 000011
2005527052.tif 000012