説明

3次元コンピュータ生成仮想環境のビデオ表現を提供する方法及び装置

サーバ処理は、3次元(3D)仮想環境のインスタンスを、そもそも3次元描画処理を実施することができない、又は3次元描画ソフトウェアをインストールされていないデバイスにおいて見ることができるビデオストリームとしてレンダリングする。サーバ処理は、3D描画ステップ及びビデオ符号化ステップに分けられる。3D描画ステップは、ビデオ符号化ステップからのコーデック、目標のビデオフレームレート、及びビットレートの知識を用いて、レンダリングされた仮想環境がビデオ符号化ステップによる符号化のために最適化されるように、正確なフレームレートで、正確なサイズにおいて、正確なディテールレベルを有して、仮想環境のバージョンをレンダリングする。同様に、ビデオ符号化ステップは、動き推定、マクロブロックサイズ推定、及びフレームタイプ選択に関連して3D描画ステップからの動きの知識を用いて、ビデオ符号化処理の複雑性を低減する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想環境、より具体的には、3次元コンピュータ生成仮想環境のビデオ表現を提供する方法及び装置に関する。
【背景技術】
【0002】
仮想環境は、実際の又は空想の3次元環境をシミュレーションし、多くの参加者が遠隔に位置するクライアントを介して環境内で概念構成体と及びお互いと情報をやり取りすることを可能にする。仮想環境が使用される1つの背景は、ゲームに関連している。ユーザは、キャラクタの役割を務め、ゲームの中でそのキャラクタの動作の大部分に対する制御を行う。ゲームに加えて、仮想環境は、オンラインの教育、訓練、買い物、並びにユーザのグループ間及びビジネスとユーザの間の他のタイプの相互作用を可能にするユーザのためのインターフェースを提供するよう、実際の生活環境をシミュレーションするためにも使用されている。
【0003】
仮想環境においては、実際の又は空想の世界が、コンピュータプロセッサ/メモリ内でシミュレーションされる。一般に、仮想環境は、それ自体の独特の3次元座標空間を有する。ユーザを表すアバターは、3次元座標空間内を動いて、3次元座標空間内の物体及び他のアバターと相互作用することができる。仮想環境サーバは、仮想環境を維持し、ユーザごとの視覚提示を仮想環境内のユーザのアバターの位置に基づいて生成する。
【0004】
仮想環境は、コンピュータ支援設計パッケージ又はコンピュータゲーム等のスタンドアローン型のアプリケーションとして実施されてよい。代替的に、仮想環境は、複数の人々が、ローカルエリアネットワーク又はインターネットのようなワイドエリアネットワーク等のコンピュータネットワークを通じて仮想環境に参加することができるように、オンラインで実施されてよい。
【0005】
ユーザは、「アバター」によって仮想環境に置いて表現される。アバターは、仮想環境に置いて人物又は他の物体を表すよう、しばしば、それらの3次元表現である。参加者は、彼らのアバターが仮想環境内でどのように動くかを制御するよう、仮想環境ソフトウェアと対話する。参加者は、従来の入力装置を用いて(例えば、コンピュータマウス及びキーボード、キーパッド、又は任意に、ゲームコントローラ等のより専門化した制御を用いてよい。)アバターを制御することができる。
【0006】
アバターが仮想環境内を動く場合、ユーザが経験する景色は、仮想環境におけるユーザの位置(すなわち、仮想環境内でアバターがどこに位置しているのか)及び仮想環境における視界方向(すなわち、アバターはどこを見ているのか)に従って変化する。3次元仮想環境は、アバターの位置及び仮想環境へのビューに基づいてレンダリングされ、3次元仮想環境の視覚表現は、ユーザのディスプレイ上でユーザに対して表示される。ビューは、アバターを制御する参加者が、アバターが見ているものを見ることができるように、参加者に対して表示される。更に、多くの仮想環境は、参加者が、例えば、アバターの外の(すなわち、背後の)見晴らしの利く地点から等の異なった視点に切り替えて、アバターが仮想環境においてどこにいるのかを見ることができるようにする。アバターは、仮想環境内で歩き、走り、泳ぎ、且つ、他の方法で動くことを可能にされる。アバターは、また、物を拾うこと、物を投げること、カギを使って扉を開くこと、及び他の同様のタスクを行うことを可能にされる等、細かい運動技能を行えるようにされる。
【0007】
仮想環境内の動き、又は仮想環境を通る物体の動きは、時間とともにわずかに異なった位置において仮想環境をレンダリングすることによって、実施される。毎秒30又は60回といったように3次元仮想環境の異なったイタレーション(iterations)を十分に速く示すことによって、仮想環境内の動き、又は仮想環境内の物体の動きは、連続的であるように現れる。
【発明の概要】
【発明が解決しようとする課題】
【0008】
完全投入型フルモーション3D環境の創出は、グラフィック・アクセラレータ・ハードウェア又はパワフルCPUの形で、有効なグラフィック処理能力を必要とする。更に、フルモーション3Dグラフィックのレンダリングは、また、装置のプロセッサ及びハードウェア加速リソースにアクセスすることができるソフトウェアを必要とする。幾つかの状況においては、このような能力を有するソフトウェアを配信することは都合が悪い(すなわち、ウェブを検索するユーザは、3D環境が表示されることを可能にする何らかのソフトウェアをインストールしなければならない。このことは、使用する際の障害となる。)。そして、幾つかの状況においては、ユーザは、新しいソフトウェアを彼らの装置にインストールすることを許可されないことがある(モバイル装置は、特にセキュリティを重視する組織におけるPCであるよう、しばしばロックダウンされる。)。同様に、全ての装置は、フルモーション3次元仮想環境をレンダリングするためにグラフィック・ハードウェアや十分な処理能力を有しているわけではない。例えば、多くの家庭用ラップトップコンピュータ、大分部分の従来型のパーソナルデータアシスタント、携帯電話機、及び他の携帯型家電機器と同じく、フルモーション3Dグラフィックを生成可能なほど十分な計算力を欠いている。このような制限は、人々が、それらの装置を用いて仮想環境に参加することを妨げるので、このような限られた能力のコンピュータ装置を用いてユーザが3次元仮想環境に参加することを可能にする方法を提供することが有利である。
【課題を解決するための手段】
【0009】
課題を解決するための手段及び別紙の要約書は、以下の詳細な説明で論じられる幾つかの概念を導入するために提供される。これらは、包括的ではなく、特許請求の範囲で請求される保護されるべき対象を表すことを目的としているわけではない。
【0010】
サーバ処理は、3次元(3D)仮想環境のインスタンスを、そもそも3次元描画処理を実施することができない、又は3次元描画ソフトウェアをインストールされていないデバイスにおいて見ることができるビデオストリームとしてレンダリングする。サーバ処理は、3D描画ステップ及びビデオ符号化ステップに分けられる。3D描画ステップは、ビデオ符号化ステップからのコーデック、目標のビデオフレームレート、及びビットレートの知識を用いて、レンダリングされた仮想環境がビデオ符号化ステップによる符号化のために最適化されるように、正確なフレームレートで、正確なサイズにおいて、正確なディテールレベルを有して、仮想環境のバージョンをレンダリングする。同様に、ビデオ符号化ステップは、動き推定、マクロブロックサイズ推定、及びフレームタイプ選択に関連して3D描画ステップからの動きの知識を用いて、ビデオ符号化処理の複雑性を低減する。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に従ってユーザが3次元コンピュータ生成仮想環境へのアクセスを有することを可能にするシステムの例の機能ブロック図である。
【図2】機能が限られた携帯型コンピュータ装置の一例を示す。
【図3】本発明の実施形態に従うレンダリングサーバの例の機能ブロック図である。
【図4】本発明の実施形態に従う3次元仮想環境レンダリング及びビデオ符号化処理のフローチャートである。
【発明を実施するための形態】
【0012】
本発明の態様は、添付の特許請求の範囲における詳細を有して指し示される。本発明は、一例として、添付の図面において図示される。図面において、同じ参照符号は同じ要素を示す。以下、図面は、単に例示のためだけに本発明の様々な実施形態を開示し、本発明の適用範囲を限定するよう意図されない。明りょうさのために、全ての構成要素が全ての図面において参照されるわけではない。
【0013】
以下の詳細な記載は、本発明の完全な理解を提供するよう多数の具体的な詳細を挙げる。なお、当業者には明らかなように、本発明は、これらの具体的な詳細によらずに実施されてもよい。他の例において、従来の方法、手順、構成要素、プロトコル、アルゴリズム、及び回路は、本発明を不明りょうにしないように記載されていない。
【0014】
図1は、複数のユーザと1又はそれ以上のネットワークに基づく仮想環境12との間の相互作用を示す、例となるシステム10の一部を示す。ユーザは、フルモーション3D仮想環境をレンダリングするために十分なハードウェア処理能力及び必要とされるソフトウェアを備えたコンピュータ14を用いて、ネットワークに基づく仮想環境12にアクセスすることができる。ユーザは、パケットネットワーク18又は他の一般的な通信インフラを介して仮想環境にアクセスしてよい。
【0015】
代替的に、ユーザは、フルモーション3D仮想環境をレンダリングするには不十分なハードウェア/ソフトウェアを備えた限られた機能のコンピュータ装置14を用いて、ネットワークに基づく仮想環境12にアクセスしたいと望むことがある。限られた機能のコンピュータ装置の例には、低出力ラップトップコンピュータ、パーソナルデータアシスタント、携帯電話機、携帯型ゲーム機、及びフルモーション3D仮想環境をレンダリングするには処理能力が十分でない、又は十分な処理能力を有するが、それを行うための必要なソフトウェアを欠いている他の装置がある。語「限られた機能のコンピュータ装置」は、フルモーション3D仮想環境をレンダリングするのに十分な処理能力を有さない、又はフルモーション3D仮想環境をレンダリングするための正確なソフトウェアを有さない何らかの装置に言及するために、本願では用いられる。
【0016】
仮想環境12は、1又はそれ以上の仮想環境サーバ20によってネットワーク上で実施される。仮想環境サーバ20は、仮想環境を維持し、仮想環境のユーザが、ネットワーク上で互いと及び仮想環境と情報をやり取りすることを可能にする。ユーザ間の音声呼出等の通信セッションが1又はそれ以上の通信サーバ22によって実施されてよく、それにより、ユーザは、仮想環境に関与しながら、互いと話し、且つ、更なる音声入力を聞くことができる。
【0017】
1又はそれ以上のレンダリングサーバ24は、限られた機能のコンピュータ装置を有するユーザが仮想環境にアクセスすることを可能にするよう設けられる。レンダリングサーバ24は、限られた機能のコンピュータ装置16の夫々について描画処理を実施し、レンダリングされた3次元仮想環境を、限られた機能のコンピュータ装置16へネットワーク18を介してストリーミングされるビデオへ変換する。限られた機能のコンピュータ装置は、フルモーション3D仮想環境をレンダリングするには不十分な処理能力及び/又はインストール・ソフトウェアを有するが、フルモーションビデオを復号して表示する十分な計算能力を有してよい。このようにして、レンダリングサーバ24は、限られた機能のコンピュータ装置を有するユーザが、フルモーション3D仮想環境を経験することを可能にするビデオブリッジを提供する。
【0018】
更に、レンダリングサーバ24は、アーカイブ保管のための3D仮想環境のビデオ表現を生成してよい。この実施形態では、限られた機能のコンピュータ装置16へライブでビデオをストリーミングするのではなく、ビデオストリームは、後の再生のために記憶される。レンダリングからビデオ符号化処理はいずれの場合にも同じであるから、本発明の実施形態は、ストリーミングビデオの生成に焦点を合わせて記載される。なお、同じ処理が、記憶のためのビデオを生成するために使用されてよい。同様に、十分な処理能力及びインストールされたソフトウェアを備えたコンピュータ14のユーザが、仮想環境内の彼らの相互作用を記録したいと望む場合、3D描画及びビデオ符号化の複合的な処理の例は、サーバ24よりむしろコンピュータ14で実施されてよく、ユーザが仮想環境内の自身の活動を記録することを可能にする。
【0019】
図1に示される例では、仮想環境サーバ20は、コンピュータ14がユーザに対して仮想環境をレンダリングすることを可能にするよう、通常の方法においてコンピュータ14へ入力を与える(矢印1)。仮想環境の各コンピュータユーザのビューが、ユーザのアバターの位置及び視点に依存して、異なっている場合、入力(矢印1)はユーザごとに一意である。なお、ユーザが同じカメラを通して仮想環境を見ている場合は、コンピュータは夫々、3D仮想環境の同じビューを生成してよい。
【0020】
同様に、仮想環境サーバ20は、また、コンピュータ14に入力される(矢印1)のと同じタイプの入力(矢印2)をレンダリングサーバ24へ与える。このことは、レンダリングサーバ24が、レンダリングサーバ24によってサポートされる限られた機能のコンピュータ装置16の夫々について、フルモーション3D仮想環境をレンダリングすることを可能にする。レンダリングサーバ24は、サポートされるユーザごとにフルモーション3D描画処理を実施し、ユーザの出力をストリーミングビデオへ変換する。次いで、ストリーミングビデオは、ネットワーク18を介して限られた機能のコンピュータ装置16へストリーミングされ、それにより、ユーザは、自身の限られた機能のコンピュータ装置16において3D仮想環境を見ることができる。
【0021】
仮想環境が固定カメラ位置の組から第三者の視点をサポートする他の状況が存在する。例えば、仮想環境は、部屋ごとに1つの固定カメラを有してよい。この場合において、レンダリングサーバ24は、ユーザの少なくとも1人によって使用中である固定カメラごとに一度、仮想環境をレンダリングし、次いで、そのカメラを介して仮想環境を現在見ている各ユーザへそのカメラに付随するビデオをストリーミングしてよい。例えば、提示に際して、観衆の各メンバーは、観衆席にある固定カメラを介してプレゼンターの同じビューを与えられてよい。この例及び他のそのような状況においては、レンダリングサーバ24は、観衆メンバーのグループについて一度、3D仮想環境をレンダリングしてよく、ビデオ符号化処理は、観衆メンバーごとに正確なコーデック(例えば、正確なビデオフレームレート、ビットレート、解像度等)を用いて、その特定のメンバーへストリーミングされるビデオを符号化してよい。このことは、3D仮想環境が一度レンダリングされ且つ複数回ビデオ符号化されて、視聴者にストリーミングされることを可能にする。これに関連して、複数の視聴者が同じタイプのビデオストリームを受信するよう設定される場合は、ビデオ符号化処理はビデオを一度しか符号化するよう求められないことに留意されたい。
【0022】
仮想環境の視聴者が複数人存在する場合、異なる視聴者が異なるフレーム及びビットレートでビデオを受信したいと望むことがある。例えば、1グループの視聴者は、比較的低いビットレートでビデオを受信することができ、他グループの視聴者は、比較的高いビットレートでビデオを受信することができる。全ての視聴者が同じカメラを介して3D仮想環境を覗いているとしても、必要に応じて、異なる3D描画処理が、異なるビデオ符号化レートの夫々について3D仮想環境をレンダリングするために使用されてよい。
【0023】
コンピュータ14は、プロセッサ26と、任意にグラフィックカード28とを有する。コンピュータ14は、1又はそれ以上のコンピュータプログラムを含むメモリを更に有する。コンピュータプログラムは、プロセッサにロードされる場合に、コンピュータ14がフルモーション3D仮想環境を生成することを可能にする。コンピュータ14がグラフィックカード28を有する場合、フルモーション3D仮想環境の生成に伴う処理の一部が、プロセッサ26の負荷を減らすようグラフィックカード28によって実施されてよい。
【0024】
図1に示される例では、コンピュータ14は、ユーザに対して3次元仮想環境を生成するよう仮想環境サーバ20とともに動作する仮想環境クライアント30を有する。仮想環境に対するユーザインターフェース32は、ユーザからの入力が仮想環境の様相を制御することを可能にする。例えば、ユーザインターフェース32は、ユーザが、仮想環境において自身のアバターを制御するとともに、仮想環境の他の様相を制御するために使用することができる制御のダッシュボードを提供してよい。ユーザインターフェース32は、仮想環境クライアント30の一部であっても、あるいは、別個の処理として実施されてもよい。別個の仮想環境クライアントは、ユーザがアクセスしたいと望む仮想環境ごとに必要とされてよい。なお、特定の仮想環境クライアントは、複数の仮想環境サーバとインターフェースをとるよう設計されてよい。通信クライアント34は、ユーザが、同じく3次元コンピュータ生成仮想環境に参加している他のユーザと通信することを可能にするよう設けられる。通信クライアント34は、仮想環境クライアント30、すなわちユーザインターフェース32の一部であっても、あるいは、コンピュータ14で実行される別個の処理であってもよい。ユーザは、ユーザ入力装置40を介して仮想環境内の自身のアバター及び仮想環境の他の様相を制御することができる。レンダリングされる仮想環境のビューは、ディスプレイ/オーディオ42を介してユーザに提示される。
【0025】
ユーザは、コンピュータキーボード及びマウス等の制御装置を用いて、仮想環境内のアバターの動きを制御してよい。一般に、キーボードのキーは、アバターの動作を制御するために使用されてよく、マウスは、カメラ角度及び移動方向を制御するために使用されてよい。しばしばアバターを制御するために使用される1つの一般的な文字の組は、文字WASDである。なお、通常、他のキーも特定のタスクを割り当てられる。ユーザは、例えば、自身のアバターを歩かせるためにWキーを押下し、そして、アバターが歩いている方向を制御するようマウスを用いてよい。タッチセンサ画面、専用ゲームコントローラ、ジョイスティック等、多数の他の入力装置が開発されている。ゲーム環境及び他のタイプの仮想環境を制御する多種多様な方法が長い期間をかけて開発されている。開発されている入力装置の例には、キーパッド、キーボード、ライトペン、マウス、ゲームコントローラ、音声マイク、タッチセンサ式ユーザ入力装置、及び他のタイプの入力装置がある。
【0026】
限られた機能のコンピュータ装置16は、コンピュータ14と同様に、プロセッサ26と、1又はそれ以上のコンピュータプログラムを含むメモリとを有する。コンピュータプログラムは、プロセッサにロードされる場合に、コンピュータ装置16が3D仮想環境に参加することを可能にする。しかし、コンピュータ14のプロセッサとは異なり、限られた機能のコンピュータ装置16におけるプロセッサ26は、フルモーション3D仮想環境をレンダリングする十分な能力を有さず、あるいは、コンピュータ装置16がフルモーション3D仮想環境をレンダリングすることを可能にする正確なソフトウェアへのアクセスを有さない。従って、限られた機能のコンピュータ装置16のユーザがフルモーション3D仮想環境を経験することを可能にするよう、限られた機能のコンピュータ装置16は、レンダリングサーバ24の1つから、レンダリングされた3次元仮想環境を表すストリーミングビデオを得る。
【0027】
限られた機能のコンピュータ装置16は、自身が仮想環境に参加することを可能にするよう、特定の実施形態に依存する複数本のソフトウェアを有してよい。例えば、限られた機能のコンピュータ装置16は、コンピュータ14と同じ仮想環境クライアントを有してよい。仮想環境クライアントは、限られた機能のコンピュータ装置16のより限られた処理環境で実行されるよう適合されてよい。代替的に、図1に示されるように、限られた機能のコンピュータ装置16は、仮想環境クライアント30に代えてビデオデコーダ31を使用してよい。ビデオデコーダ31は、レンダリングサーバ24によってレンダリングされて符号化された仮想環境を表すストリーミングビデオを復号化する。
【0028】
限られた機能のコンピュータ装置16は、ユーザからのユーザ入力を収集し、ユーザが仮想環境内のユーザのアバター及び仮想環境の他の特性を制御することを可能にするユーザ入力をレンダリングサーバ24へ与えるユーザインターフェース32を更に有する。ユーザインターフェース32は、コンピュータ14におけるユーザインターフェースと同じダッシュボードを提供しても、あるいは、限られた機能のコンピュータ装置16に対する限られた利用可能な制御の組に基づく限られた特性をユーザに提供してもよい。ユーザは、ユーザインターフェース32を介してユーザ入力を与え、特定のユーザ入力は、ユーザのためにレンダリングを実行しているサーバへ与えられる。レンダリングサーバ24は、それらの入力を必要に応じて仮想環境サーバ20へ供給することができ、仮想環境サーバ20では、それらの入力は3次元仮想環境の他のユーザに作用する。
【0029】
代替的に、限られた機能のコンピュータ装置16は、限られた機能のコンピュータ装置16がレンダリングサーバ24からのストリーミングビデオを表示することを可能にするようウェブブラウザ36及びビデオプラグイン38を実装してよい。ビデオプラグイン38は、ビデオが限られた機能のコンピュータ装置16によって復号化されて表示されることを可能にする。この実施形態では、ウェブブラウザ36又はプラグイン38は、ユーザインターフェースとして機能してもよい。コンピュータ14のように、限られた機能のコンピュータ装置16は、ユーザが3次元仮想環境の他のユーザと会話することを可能にする通信クライアント34を有してよい。
【0030】
図2は、限られた機能のコンピュータ装置16の一例を示す。図2に示されるように、一般的な携帯機器は、通常、キーパッド/キーボード70、特別機能ボタン72、トラックボール74、カメラ76、及びマイク78等のユーザ入力装置40を有する。更に、この手の装置は、通常、カラーLCDディスプレイ80及びスピーカ82を有する。限られた機能のコンピュータ装置16は、また、限られた機能のコンピュータ装置16が1又はそれ以上の無線通信ネットワーク(例えば、携帯電話又は802.11ネットワーク)上で通信し且つ特定のアプリケーションを実行することを可能にするよう、例えばプロセッサ、ハードウェア、及びアンテナ等のプロセッシング回路を備えている。多くのタイプの限られた機能のコンピュータ装置が開発されており、図2は、単に、典型的な限られた機能のコンピュータ装置の例を示すことを目的としている。
【0031】
図2に示されるように、限られた機能のコンピュータ装置16は、限られた制御を有してよい。これは、ユーザが、仮想環境内の自身のアバターの動作を制御し且つ仮想環境の他の様相を制御するためにユーザインターフェースに与えることができる入力のタイプを制限しうる。従って、ユーザインターフェースは、異なった装置における異なった制御が仮想環境内の同じ機能を制御するために使用されることを可能にするよう適合されてよい。
【0032】
動作において、仮想環境サーバ20は、レンダリングサーバ24が限られた機能のコンピュータ装置16の夫々について仮想環境をレンダリングすることを可能にするよう、仮想環境に関する情報をレンダリングサーバ24に与える。レンダリングサーバ24は、限られた機能のコンピュータ装置16のために仮想環境をレンダリングするよう、サーバ24によってサポートされている限られた機能のコンピュータ装置16の代わりに仮想環境クライアント30を導入する。限られた機能のコンピュータ装置16のユーザは、仮想環境において自身のアバターを制御するようユーザ入力装置40と相互作用する。ユーザ入力装置40を介して受け取られる入力は、ユーザインターフェース32、仮想環境クライアント30、又はウェブブラウザ36によって捕捉され、レンダリングサーバ24へ返される。レンダリングサーバ24は、コンピュータ14における仮想環境クライアント30が入力を使用するのと同じようにして入力を用い、それにより、ユーザは仮想環境内の自身のアバターを制御することができる。レンダリングサーバ24は、3次元仮想環境をレンダリングし、ストリーミングビデオを生成し、ビデオを限られた機能のコンピュータ装置16へストリーミングする。ビデオは、ディスプレイ/オーディオ42でユーザに提示され、それにより、ユーザは、3次元仮想環境に参加することができる。
【0033】
図3は、例となるレンダリングサーバ24の機能ブロック図を示す。図3に示される実施形態では、レンダリングサーバ24は、制御ロジック52を含むプロセッサ50を有する。プロセッサ50は、メモリ54からソフトウェアをロードされる場合に、レンダリングサーバ24に、限られた機能のコンピュータ装置クライアントのために3次元仮想環境をレンダリングさせ、レンダリングされた3次元仮想環境をストリーミングビデオへ変換させ、ストリーミングビデオを出力させる。1又はそれ以上のグラフィックカード56は、描画処理の具体的な状態を扱うようサーバ24に含まれてよい。幾つかの実施において、実質的に、3D描画からビデオ符号化までの全体的な3D描画及びビデオ符号化処理は、最新のプログラム可能グラフィックカードにおいて達成可能なである。近い将来において、GPU(グラフィック処理ユニット)は、描画及び符号化の複合的な処理を実行する理想的なプラットフォームでありうる。
【0034】
表される実施形態では、レンダリングサーバ24は、複合型3次元レンダラ及びビデオエンコーダ58を有する。複合型3次元レンダラ及びビデオエンコーダ58は、限られた機能のコンピュータ装置16の代わりに仮想環境の3次元表現をレンダリングするよう、限られた機能のコンピュータ装置16の代わりに3次元仮想環境描画処理として動作する。この3D描画処理はビデオ符号化処理と情報を共有する。それにより、3D描画処理は、ビデオ符号化処理に影響を及ぼすために使用されてよく、また、ビデオ符号化処理は、3D描画処理に影響を及ぼすことができる。複合的な3次元描画及びビデオ符号化処理58の動作に関する更なる詳細については、図4に関連して以下で記載する。
【0035】
レンダリングサーバ24は、限られた機能のコンピュータ装置16のユーザから入力を受け取るよう相互作用ソフトウェア60を更に有し、それにより、ユーザは、仮想環境内の自身のアバターを制御することができる。任意に、レンダリングサーバ24は、付加的な構成要素を更に有してよい。例えば、図3において、レンダリングサーバ24は、サーバが限られた機能のコンピュータ装置16の代わりに音声ミキシングを実施することを可能にするオーディオコンポーネント62を更に有する。このように、この実施形態では、レンダリングサーバ24は、そのクライアントの代わりにレンダリングを実施するのみならず、通信サーバ22として動作している。なお、本発明は、このような実施形態に限られず、複数の機能が、単一の組のサーバによって実施されてよく、あるいは、異なる機能が、分けられて、図1に示される別個のグループのサーバによって実施されてよい。
【0036】
図4は、本発明の実施形態に従ってレンダリングサーバ24によって実施される複合的な3D描画及びビデオ符号化処理を示す。同様に、複合的な3D描画及びビデオ符号化処理は、3D仮想環境内のユーザの活動を記録するよう、レンダリングサーバ24によって又はコンピュータ14によって実施されてよい。
【0037】
図4に示されるように、3次元仮想環境が表示のためにレンダリングされ、次いでネットワーク上での伝送のためにビデオに符号化される場合に、複合的な3D描画及びビデオ符号化処理は、論理的に、幾つかの異なったフェーズ(図4における符号100〜160)を通る。実際には、異なるフェーズの機能は、具体的な実施形態に依存して、交換さても、又は異なった順序で起きてもよい。更に、別の実施は、幾分異なって描画及び符号化処理を考えてよく、そのようにして、3次元仮想環境がレンダリングされて、記憶又は視聴者への伝送のために符号化される方式について述べる他の方法を有してよい。
【0038】
図4において、3D描画及びビデオ符号化処理の第1フェーズは、3次元仮想環境のモデルビューを生成することである(100)。これを行うために、3D描画処理は、最初に仮想環境の初期モデルを生成し、続くイタレーションにおいて、3次元モデルに対して行われた対象の動き及び他の変化を探すようシーン/ジオメトリデータを詳しく検討する。3D描画処理は、また、3次元モデル内の視点を決定するようビューカメラの照準及び移動も考える。カメラの位置及び向きを知ることは、3D描画処理が、どの対象が3次元モデルの他の特徴によって遮られているのかを決定するよう対象視認性確認を行うことを可能にする。
【0039】
本発明の実施形態に従って、カメラの移動又は位置及び照準方向、並びに目に見える対象の動きは、(後述される)ビデオ符号化処理による使用のために記憶される。それにより、これらの情報は、ビデオ符号化処理の間、動き推定の代わりに使用されてよい。具体的に、3D描画処理は、どの対象が動いているのかを知っており、どの動きが生成されているのかを知っているので、かかる情報は、動き推定の代わりに、又は動き推定に対するガイドとして使用されてよく、ビデオ符号化処理の動き推定部分を簡単にする。このように、3D描画処理から入手できる情報は、ビデオ符号化を助けるために使用されてよい。
【0040】
更に、ビデオ符号化処理は、3次元描画処理とともに行われているので、ビデオ符号化処理に関する情報は、どのように仮想環境クライアントが仮想環境をレンダリングするのかを選択するために使用されてよく、それにより、レンダリングされた仮想環境は、ビデオ符号化処理によって最適に符号化されるよう構成される。例えば、3D描画処理は、最初に、3次元仮想環境のモデルビューに含まれるディテールのレベルを選択する。ディテールのレベルは、どの程度のディテールが仮想環境の特徴に加えられるのかに作用する。例えば、視聴者に極めて近い煉瓦壁は、灰色のモルタル線によって隙間を満たされた個々の煉瓦を示すようテクスチャ加工されてよい。同じ煉瓦壁が、より遠くから見られる場合は、単に赤一色に色づけられてよい。
【0041】
同様に、特定の遠い対象は、仮想環境のモデルビューに含まれるには小さすぎると見なされることがある。人物が仮想環境内を移動しているとき、それらの対象は、アバターが対象がモデルビュー内に含まれるほど十分に近づくにつれて、画面に入ってくる。モデルビューに含まれるディテールのレベルの選択は、最終的に最後のレンダリングされたシーンに含まれるには小さすぎる対象を削除するよう、処理の初期に起こる。それにより、描画処理は、それらの対象をモデリングするリソースを消費する必要がない。このことは、描画処理が、ストリーミングビデオの限られた解像度を鑑みて、最終的に小さすぎて見ることができないアイテムを表す対象をモデルイングするリソースを浪費することを回避するよう合わせられることを可能にする。
【0042】
本発明の実施形態に従って、3D描画処理は、限られた機能のコンピュータ装置へビデオを伝送するためにビデオ符号化処理によって使用される意図された目標のビデオサイズ及びビットレートを学習することができるので、目標のビデオサイズ及びビットレートは、初期モデルビューを生成しながら、ディテールのレベルを設定するために使用されてよい。例えば、ビデオ符号化処理が、ビデオが320×240画素解像度ビデオを用いてモバイル機器へストリーミングされると知っている場合、この意図されたビデオ解像度レベルは、3D描画処理がディテールのレベルを下げることを可能にするよう3D描画処理へ与えられてよい。それにより、3D描画処理は、ビデオ符号化処理によって取り上げられる全てのディテールを後に有するためだけには極めて詳細なモデルビューをレンダリングしない。それどころか、ビデオ符号化処理が、ビデオが960×540画素解像度ビデオを用いて高出力PCへストリーミングされると知っている場合、描画処理は、よりずっと高いディテールのレベルを選択してよい。
【0043】
ビットレートも、視聴者に与えられるディテールのレベルに作用する。具体的に、低いビットレートでは、高精細のビデオストリームは視聴者側で不鮮明になり始める。これは、ビデオ符号化処理から出力されるビデオストリームに含まれ得るディテールの量を制限する。従って、目標のビットレートを知ることは、3D描画処理が、視聴者へビデオを伝送するために使用される最終のビットレートを鑑みて、十分なディテールを有するが過剰なディテールを有さないモデルビューの生成をもたらすディテールのレベルを選択することを助けることができる。3Dモデルへの包含のために対象を選択することに加えて、ディテールのレベルは、ビデオ解像度及びビットレートのための適切な値へテクスチャ解像度を調整すること(より低い解像度のMIPマップを選択すること)によって、合わせられる。
【0044】
仮想環境の3Dモデルビューを生成した後、3D描画処理は、モデルビューがモデル空間からビュー空間へ変換されるジオメトリフェーズ(110)に進む。このフェーズの間、3次元仮想環境のモデルビューは、カメラ及び目に見える対象のビューに基づいて変換され、それにより、ビュー投写が計算され、必要に応じてクリッピングされる。このことは、特定の時点におけるカメラの視点に基づく仮想環境の3Dモデルの2次元スナップショットへの変換をもたらす。2次元スナップショットは、ユーザのディスプレイ上に示される。
【0045】
描画処理は、3D仮想環境のフルモーション動作をシミュレーションするよう毎秒当たり複数回行われてよい。本発明の実施形態に従って、視聴者へビデオをストリーミングするようコーデックによって使用されるビデオフレームレートは描画処理へ送られ、それにより、描画処理は、ビデオエンコーダと同じフレームレートでレンダリングを行うことができる。例えば、ビデオ符号化処理が24フレーム毎秒(fps)で動作している場合、このフレーム符号化レートは、描画処理に24fpsでレンダリングを行わせるよう描画処理へ送られてよい。同様に、フレーム符号化処理が60fpsでビデオを符号化している場合、描画処理は60fpsでレンダリングを行うべきである。更に、符号化レートと同じフレームレートでレンダリングすることによって、レンダリングレートとフレーム符号化レートとの間の不一致が存在する場合に起こりうるジッタ及び/又はフレーム補間を行うための余分の処理を回避することが可能である。
【0046】
実施形態に従って、仮想環境のモデルビューを生成している間に記憶された運動ベクトル及びカメラビュー情報もビュー空間へと変換される。運動ベクトルをモデル空間からビュー空間へ変換することは、運動ベクトルが、以下でより詳細に論じられるように、動作検出の代わりとしてビデオ符号化処理によって使用されることを可能にする。例えば、3次元空間において動いている対象が存在する場合、この対象の動きは、どのように動きがカメラの視野から現れるのかを示すよう変換される必要がある。別の言い方をすれば、3次元仮想環境における対象の動作は、それがユーザのディスプレイ上に現れるように、2次元空間に変換されなければならない。同様に、運動ベクトルは、それらが画面上の対象の動きに対応するように変換され、それにより、運動ベクトルは、ビデオ符号化処理によって動き推定の代わりに使用される。
【0047】
ジオメトリが確立されると、3D描画処理は、仮想環境の面を表現するようトライアングルを生成する(120)。3D描画処理は、一般に、3次元仮想環境の全ての面がトライアングルを生成するよう互いにぴったり合わせられるようにしかトライアングルをレンダリングせず、カメラ視点から見えないトライアングルはカリング(culling)を受ける。トライアングル生成フェーズの間、3D描画処理は、レンダリングされるべきトライアングルのリストを生成する。傾き/デルタ計算及び走査線変換等の通常の動作はこのフェーズ中に実施される。
【0048】
次いで、3D描画処理は、ディスプレイ42に示される画像を生成するようトライアングルをレンダリングする(130)。トライアングルのレンダリングは、通常、トライアングルのシェーディング、テクスチャの付加、フォグ(fog)、及び他の効果(例えば、奥行きバッファリング(depth buffering)及びアンチエイリアス(anti-aliasing)等)を伴う。次いで、トライアングルは通常通りに表示される。
【0049】
3次元仮想環境描画処理は、赤緑青(RGB)色空間においてレンダリングを行う。これは、RGB色空間が、データを表示するためにコンピュータモニタによって使用される色空間であることによる。なお、レンダリングされた3次元仮想環境は、RGB色空間において仮想環境をレンダリングすることよりむしろ、ビデオ符号化処理によってストリーミングビデオへと符号化されるので、レンダリングサーバの3D描画処理は、代わりに、YUV色空間において仮想環境をレンダリングする。YUV色空間は、1つの輝度成分(Y)と、2つの色成分(U及びV)とを含む。ビデオ符号化処理は、通常、符号化の前に、RGB色空間をYUV色空間へ変換する。RGB色空間ではなくYUV色空間においてレンダリングすることによって、この変換処理は、ビデオ符号化処理の実行を改善するよう削除されてよい。
【0050】
更に、本発明の実施形態に従って、テクスチャ選択及びフィルタリング処理は、目標のビデオ及びビットレートに合わせられる。上述されたように、描画フェーズ(130)の間に実行される処理の1つは、テクスチャをトライアングルに適用することである。テクスチャは、トライアングルの面の実際の外観である。従って、例えば、煉瓦壁の一部のように見えるべきトライアングルをレンダリングするには、煉瓦壁テクスチャがトライアングルに適用される。テクスチャは面に適用され、一貫した3次元ビューを提供するようにカメラの視点に基づいてスキューを受ける。
【0051】
テクスチャ加工処理の間、カメラ視点に対するトライアングルの特定の角度に依存して、テクスチャはぼかされることが可能である。例えば、3D仮想環境のビュー内で大きく傾いで描かれているトライアングルに適用される煉瓦テクスチャは、シーン内のトライアングルの位置付けのために、極めて不鮮明にされてよい。従って、特定の面に対するテクスチャは、異なったMIPを使用するよう調整されてよく、それにより、トライアングルに対するディテールのレベルは、視聴者がどのみち見ることができそうにない複雑さを取り除くよう調整される。実施形態に従って、テクスチャ解像度(適切なMIPの選択)及びテクスチャフィルタアルゴリズムは、目標のビデオ符号化解像度及びビットレートによって影響を及ぼされる。これは、最初の3Dシーン生成フェーズ(100)に関連して上述されたディテールのレベルの調整と同様であるが、レンダリングされたトライアングルが、ビデオ符号化処理によってストリーミングビデオへと符号化されると視覚的に現れるディテールのレベルを有して個々に生成されることを可能にするよう、トライアングルごとに適用される。
【0052】
トライアングルのレンダリングは描画処理を完結する。通常は、この時点で、3次元仮想環境は、ユーザのディスプレイ上でユーザに示される。しかし、限られた機能のコンピュータ装置のために、又はビデオアーカイブ目的のために、このレンダリングされた3次元仮想環境は、ビデオ符号化処理による伝送ためにストリーミングビデオへと符号化される。多種多様なビデオ符号化処理が長い期間にわたって開発されているが、現在、より高性能のビデオ符号化処理は、一般的に、各フレームでシーンを完全に再描画するよう単に画素データを伝送することよりむしろ、シーン内の対象の動きを探すことによってビデオを符号化する。以下では、MPEGビデオ符号化処理について記載する。本発明はこの特定の実施形態に限られず、他のタイプのビデオ符号化処理が同様に使用されてよい。図4に示されるように、MPEGビデオ符号化処理は、通常、ビデオフレーム処理(140)と、P(予測(predictive))及びB(双方向予測(bi-directional predictive))フレーム符号化(150)と、I(内部符号化(intracoded))フレーム符号化(160)とを含む。Iフレームは圧縮されるが、解凍されるよう他のフレームに依存しない。
【0053】
通常は、ビデオフレー処理(140)の間、ビデオプロセッサは、目標のビデオサイズ及びビットレートのために、3D描画処理によってレンダリングされる3次元仮想環境の画像をリサイズする。しかし、目標のビデオサイズ及びビットレートは、目標のビットレートのために調整されたディテールのレベルを有して正確なサイズで3次元仮想環境をレンダリングするために3D描画処理によって使用されたので、ビデオエンコーダはこの処理を飛ばしてよい。同様に、ビデオエンコーダは、通常、更に、ストリーミングビデオとして符号化されたレンダリングされた仮想環境を有する準備をするようRGBからYUVへ変換する色空間変換を実行する。しかし、上述されたように、本発明の実施形態に従って、描画処理はYUV色空間においてレンダリングを行うよう構成されており、それにより、かかる変換処理はビデオフレーム符号化処理によって省略されてよい。従って、ビデオ符号化処理から3D描画処理へ情報を提供することによって、3D描画処理は、ビデオ符号化処理の複雑さを低減するようチューンされてよい。
【0054】
ビデオ符号化処理は、また、実施される符号化のタイプ及び運動ベクトルに基づいて、ビデオを符号化するために使用されるマクロブロックサイズを調整する。MPEG2は、ブロックとして知られる画素の8×8配列で動作する。2×2ブロック配列は、一般にマクロブロックと呼ばれる。他のタイプの符号化処理は異なるマクロブロックサイズを使用してよく、マクロブロックのサイズは、仮想環境で起こる動作の量に基づいて調整されてもよい。実施形態に従って、マクロブロックサイズは、運動ベクトル情報に基づいて調整されてよく、それにより、運動ベクトルから決定されるフレーム間で起こる動作の量は、符号化処理の間に使用されるマクロブロックサイズに影響を及ぼすために使用されてよい。
【0055】
更に、ビデオフレーム符号化フェーズの間、マクロブロックを符号化するために使用されるフレームのタイプが選択される。MPEG2では、例えば、複数のフレームタイプが存在する。Iフレームは予測なしで符号化され、Pフレームは、前のフレームからの予測を用いて符号化されてよく、Bフレームは、前後のフレームからの予測を用いて符号化されてよい。
【0056】
通常のMPEGビデオ符号化では、符号化されるフレームに係る画素値のマクロブロックを表すデータは、減算器及び動き推定器の両方に与えられる。動き推定器は、これらの新しいマクロブロックの夫々を、以前に記憶されたイタレーションにおけるマクロブロックと比較して、新しいマクロブロックに最も一致する以前のイタレーションにおけるマクロブロックを見つけ出す。次いで、動き推定器は、以前のイタレーションにおける一致するマクロブロックサイズ領域へ符号化されるマクロブロックから、水平及び垂直動作を表す運動ベクトルを計算する。
【0057】
本発明の実施形態に従って、画素データに基づく動き推定を使用することよりむしろ、記憶されている運動ベクトルが、フレーム内の対象の動きを決定するために使用される。上述されたように、カメラ及び目に見える対象の動きは、3Dシーン生成フェーズ(100)の間に記憶されて、ジオメトリフェーズの間(110)にビュー空間へ変換される。このように変換された運動ベクトルは、ビュー内の対象の動きを決定するためにビデオ符号化処理によって使用される。運動ベクトルは、ビデオ符号化処理を簡単にするよう、ビデオフレーム処理フェーズの間の運動推定処理において、動き推定の代わりに使用されても、あるいは、ガイダンスを提供するために使用されてもよい。例えば、変換された運動ベクトルが、野球がシーン内の左へ12画素だけ移動したことを示す場合に、変換された運動ベクトルは、それが最初に前のフレームにおいて位置していたところから左へ12画素だけ画素ブロックを検索し始めるよう動き推定処理において使用されてよい。代替的に、変換された運動ベクトルは、野球に関連する画素のブロックを、ビデオエンコーダにその位置でのブロックを探すよう画素比較を行うよう求めることなく、単に左へ12画素だけ平行移動させるために、動き推定の代わりに使用されてよい。
【0058】
MPEG2では、動き推定器は、また、この一致するマクロブロック(予測マクロブロックとして知られる。)を基準ピクチャメモリから読み出し、それを減算器へ送る。減算器は、画素ごとに、それをエンコーダに入る新しいマクロブロックから減じる。これは、予測マクロブロックと符号化される実際のマクロブロックとの間の差を表す誤差予測又は剰余信号を形成する。剰余は、分離可能な垂直方向及び水平方向の1次元DCTを含む2次元離散コサイン変換(DCT)によって空間領域から変換される。次いで、剰余のDCT係数は、各係数を表すために必要とされるビット数を減らすよう量子化される。
【0059】
量子化されたDCT係数はハフマン・ラン/レベル符号化を受け、係数ごとの平均ビット数は更に低減される。誤差剰余の符号化されたDCT係数は、運動ベクトルデータ及び他のサイド情報(I、P又はBピクチャの表示を含む。)と結合される。
【0060】
Pフレームの場合に、量子化されたDCT係数は、更に、デコーダ(エンコーダ内のデコーダ)の動作を表す内部ループに進む。剰余は逆量子化及び逆DTC変換を受ける。基準フレームメモリから読み出された予測マクロブロックは、画素ごとに剰余に戻され、後のフレームを予測するために基準としてセーブするようメモリに記憶される。対象は、エンコーダの基準フレームメモリにおけるデータをデコーダの基準フレームメモリにおけるデータに一致させるべきである。Bフレームは、基準フレームとして記憶されない。
【0061】
Iフレームの符号化は同じ処理を使用するが、動き推定は行われず、現在への(−)入力は0にされる。この場合に、量子化されたDCT係数は、P及びBフレームの場合のように、剰余値よりむしろ、変換された画素値を表す。Pフレームの場合のように、復号化されたIフレームが基準フレームとして記憶される。
【0062】
特定の符号化処理(MPEG2)について記載してきたが、本発明はこの具体的な実施形態に限られず、他の符号化ステップが実施形態に依存して利用されてよい。例えば、MPEG4及びVC−1は、同じであるが、幾分より高度な符号化処理を用いる。これらの及び他のタイプの符号化処理が使用されてよく、本発明は、まさにこの符号化処理を使用する実施形態に限られない。上述されたように、本発明の実施形態に従って、3次元仮想環境内の対象に関する運動情報は捕捉され、ビデオ符号化処理の動き推定処理をより効率的にするようビデオ符号化処理の間使用されてよい。これに関連して使用される特定の符号化処理は、具体的な実施に依存する。それらの運動ベクトルは、また、ビデオを符号化するために使用される最適なブロックサイズと、使用されるべきフレームのタイプとを決定するのを助けるためにも、ビデオ符号化処理によって使用されてよい。他の面では、3D描画処理は、ビデオ符号化処理によって使用される目標の画面サイズ及びビットレートを知っているので、3D描画処理は、ビデオ符号化処理のための正確なサイズであり、ビデオ符号化処理のための正確なディテールのレベルを有し、正確なフレームレートでレンダリングされ、且つ、ビデオ符号化処理が伝送のためにデータを符号化するために使用する正確な色空間を用いてレンダリングされる3次元仮想環境のビューをレンダリングするようチューンされてよい。このように、両方の処理は、それらを、図3の実施形態において示される単一の複合型3Dレンダラ及びビデオエンコーダ58にまとめることによって、最適化されてよい。
【0063】
上述された機能は、ネットワーク要素内のコンピュータ可読メモリに記憶され且つネットワーク要素内の1又はそれ以上のプロセッサで実行される1又はそれ以上のプログラム命令の組として実施されてよい。しかし、当業者には明らかなように、ここで記載される全てのロジックは、個別のコンポーネント、特定用途向け集積回路(ASIC)等の集積回路、フィールドプログラマブルゲートアレイ(FPGA)又はマイクロプロセッサ等のプログラム可能論理デバイスとともに使用されるプログラム可能ロジック、状態機械、あるいは、それらのいずれかの組合せを含むその他のデバイスを用いて具現されてよい。プログラム可能ロジックは、読出専用メモリチップ、コンピュータメモリ、ディスク、又は他の記憶媒体等の有形な媒体において一時的に又は永久的に用意されてよい。このような実施形態は全て、本発明の適用範囲内にあるよう意図される。
【0064】
当然、図面において図示され且つ明細書において記載される実施形態の種々の変更及び改良は、本発明の精神及び適用範囲の中で行われてよい。然るに、上記記載に含まれ且つ添付の図面において図示される全ての事項は、限定の意味ではなく例示の意味に解釈されるべきである。本発明は、特許請求の範囲及びその均等において定義されるものとしてのみ限定される。

【特許請求の範囲】
【請求項1】
3次元コンピュータ生成仮想環境のビデオ表現を生成する方法であって、
3次元描画処理によって、ビデオ符号化処理からの情報に基づいて3次元仮想環境のイタレーションをレンダリングするステップを有し、
前記ビデオ符号化処理からの情報は、当該ビデオ符号化処理によって生成されるべき前記3次元仮想環境のレンダリングされたイタレーションのビデオ表現の意図された画面サイズ及びビットレートを含む、方法。
【請求項2】
前記ビデオ符号化処理からの情報は、当該ビデオ符号化処理によって使用されるフレームレートを含み、
前記レンダリングするステップは、前記3次元描画処理が前記3次元仮想環境のイタレーションをレンダリングする周波数が、前記ビデオ符号化処理によって使用される前記フレームレートに一致するように、該フレームレートで前記3次元描画処理によって繰り返される、
請求項1に記載の方法。
【請求項3】
前記レンダリングするステップは、ビデオを符号化するために前記ビデオ符号化処理によって使用される色空間において、前記3次元描画処理によって実施され、それにより、前記ビデオ符号化処理は、前記3次元仮想環境のレンダリングされたイタレーションのビデオ表現を生成する場合に、色変換を実行する必要がないようにされる、
請求項1に記載の方法。
【請求項4】
前記レンダリングするステップは、YUV色空間において前記3次元描画処理によって実施され、
前記ビデオ符号化処理は、前記YUV色空間においてビデオを符号化する、
請求項3に記載の方法。
【請求項5】
前記意図された画面サイズ及びビットレートは、前記3次元描画処理によって生成されるべきレンダリングされた3次元仮想環境のディテールの程度を選択するために、前記3次元描画処理によって使用される、
請求項1に記載の方法。
【請求項6】
前記レンダリングするステップは、
3次元モデル空間において前記3次元仮想環境の3次元場面を生成するステップと、
前記3次元モデル空間をビュー空間に変換するステップと、
トライアングルセットアップを行うステップと、
トライアングルをレンダリングするステップと
を有する、請求項1に記載の方法。
【請求項7】
前記3次元モデル空間において前記3次元仮想環境の3次元場面を生成するステップは、
前記3次元仮想環境内の対象の動きを決定するステップと、
前記3次元仮想環境内のカメラの位置及び向きの動きを決定するステップと、
前記3次元仮想環境内の対象の動き及び前記3次元仮想環境内のカメラの動きに関連するベクトルを記憶するステップと
を有する、請求項6に記載の方法。
【請求項8】
前記3次元モデル空間をビュー空間に変換するステップは、前記3次元モデル空間から前記ビュー空間へ前記ベクトルを変換し、該ベクトルが動き推定を行うために前記ビデオ符号化処理によって使用されるようにするステップを有する、
請求項7に記載の方法。
【請求項9】
前記トライアングルをレンダリングするステップは、該トライアングルのためのテクスチャ選択及びフィルタリングを行うために前記ビデオ符号化処理からの情報を用いる、
請求項6に記載の方法。
【請求項10】
前記ビデオ符号化処理によって、前記3次元仮想環境のレンダリングされたイタレーションのビデオ表現を生成するよう前記3次元描画処理よってレンダリングされた前記3次元仮想環境のイタレーションを符号化するステップ
を更に有する請求項1に記載の方法。
【請求項11】
前記ビデオ表現は、ストリーミングビデオである、
請求項10に記載の方法。
【請求項12】
前記ビデオ表現は、ビデオアーカイブされるビデオである、
請求項10に記載の方法。
【請求項13】
前記ビデオ符号化処理は、前記3次元描画処理から運動ベクトル情報を受け取り、該運動ベクトル情報をブロック動作検出に関連して使用する、
請求項10に記載の方法。
【請求項14】
前記運動ベクトル情報は、前記ビデオ符号化処理によって符合化されるレンダリングされた仮想環境のビューにおいて対象の動きに対応するよう3次元モデル空間から変換されている、
請求項13に記載の方法。
【請求項15】
前記ビデオ符号化処理は、ブロックサイズ選択を行うために前記3次元描画処理からの前記運動ベクトル情報を使用する、
請求項13に記載の方法。
【請求項16】
前記ビデオ符号化処理は、ブロック符号化のためのフレームタイプ決定を行うために前記3次元描画処理からの前記運動ベクトル情報を使用する、
請求項13に記載の方法。
【請求項17】
前記符号化するステップは、ビデオフレーム処理、P及びBフレーム符号化、並びにI及びPフレーム符号化を有する、
請求項10に記載の方法。
【請求項18】
前記Pフレーム符号化のステップは、どのように現在のブロックが先の基準フレームに対して動いたかを決定するよう前記現在のブロックと前記先の基準フレームのブロックとの一致を調べるステップを有し、
前記ビデオ符号化処理は、前記前記3次元描画処理によって提供される運動ベクトルの少なくとも1つによって示される位置で前記一致を調べるステップを開始させるために、前記3次元描画処理からの前記運動ベクトル情報を用いる、
請求項17に記載の方法。
【請求項19】
前記Pフレーム符号化のステップは、前記3次元描画処理によって提供される運動ベクトルの少なくとも1つを参照することによって、先の基準のブロックに対する現在のブロックの動き推定を行うステップを有する、
請求項17に記載の方法。
【請求項20】
前記ビデオ符号化処理は、前記3次元仮想環境の前記イタレーションを符号化するステップを行う間、
前記3次元仮想環境のレンダリングされたイタレーションのサイズを変更するステップと、
前記3次元仮想環境の前記レンダリングされたイタレーションから、当該ビデオ符号化処理によって使用される色空間へ色空間変換を実施するステップと
フレーム補間を行うステップと
を実施しないよう構成される、請求項10に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2012−510653(P2012−510653A)
【公表日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2011−537807(P2011−537807)
【出願日】平成21年11月27日(2009.11.27)
【国際出願番号】PCT/CA2009/001725
【国際公開番号】WO2010/063100
【国際公開日】平成22年6月10日(2010.6.10)
【出願人】(390023157)ノーテル・ネットワークス・リミテッド (153)
【Fターム(参考)】