JP2007066012A - 映像描画装置、方法およびプログラム - Google Patents
映像描画装置、方法およびプログラム Download PDFInfo
- Publication number
- JP2007066012A JP2007066012A JP2005251512A JP2005251512A JP2007066012A JP 2007066012 A JP2007066012 A JP 2007066012A JP 2005251512 A JP2005251512 A JP 2005251512A JP 2005251512 A JP2005251512 A JP 2005251512A JP 2007066012 A JP2007066012 A JP 2007066012A
- Authority
- JP
- Japan
- Prior art keywords
- data
- intersection
- resolution video
- dimensional
- video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】高解像度映像をインタラクティブに描画する。
【解決手段】視線ベクトルと画像内のオブジェクトとの交点の3次元座標を計算する手段103と、3次元動きベクトルを得る手段104と、交点の3次元座標におけるカラー値を得る手段105と、オブジェクトごとに異なる交点のオブジェクトIDを割り当てる手段106と、交点の2次元座標および交点の2次元動きベクトルを得る手段107と、交点の2次元座標および交点の2次元動きベクトルと交点のカラー値と交点のオブジェクトIDとをフレーム単位にまとめて低解像度データとして記憶する手段108と、手段108に記憶されている現在のフレームのデータと手段108に記憶されている現在のフレームとは時間的に異なる複数フレームのデータとを重ね合わせて中解像度データを得る手段109と、中解像度データをフィルタリングして高解像度データを得る手段110と、を具備する。
【選択図】図1
【解決手段】視線ベクトルと画像内のオブジェクトとの交点の3次元座標を計算する手段103と、3次元動きベクトルを得る手段104と、交点の3次元座標におけるカラー値を得る手段105と、オブジェクトごとに異なる交点のオブジェクトIDを割り当てる手段106と、交点の2次元座標および交点の2次元動きベクトルを得る手段107と、交点の2次元座標および交点の2次元動きベクトルと交点のカラー値と交点のオブジェクトIDとをフレーム単位にまとめて低解像度データとして記憶する手段108と、手段108に記憶されている現在のフレームのデータと手段108に記憶されている現在のフレームとは時間的に異なる複数フレームのデータとを重ね合わせて中解像度データを得る手段109と、中解像度データをフィルタリングして高解像度データを得る手段110と、を具備する。
【選択図】図1
Description
本発明は、映像を描画するための映像描画装置、方法およびプログラムに関する。
コンピュータグラフィックス(CG)の描画において、グローバルイルミネーションと呼ばれる技術が使われている。グローバルイルミネーションとは、シーン中のオブジェクトを描画する際に、そのオブジェクトの周囲にある他のオブジェクトからの間接光の影響を考慮して照明計算を行う技術である。
従来の照明計算ではオブジェクトに当たった光が反射して別のオブジェクトを照らす効果を再現することができないため、光が直接当たらない部分には環境光と呼ばれる一様な光が当たっているものとみなして照明計算を行う。これに対して、グローバルイルミネーションでは、現実世界と同様の照り返し効果や集光効果などを表現することができるため、より写実的な映像を描画することが可能になる。
グローバルイルミネーションにおける間接光の計算手法には、ラジオシティやフォトンマップ、パストレーシングなどいくつかの種類があるが、これらはすべて画像のピクセルを通る視線(レイ)とオブジェクトの交差判定に基づいている。したがって、基本的に計算時間は画像の解像度に比例する。
そのため、画像のすべてのピクセルにおいてレイとオブジェクトの交差判定を行うのではなく、適当な間隔で配置した低解像度のサンプリング点でのみ交差判定を行い、後でそれらをフィルタリングして高解像度化することによって計算時間を短縮し、インタラクティブにグローバルイルミネーション映像を描画する試みが以前よりなされている。
これらの試みでは、サンプリング点を均等な間隔で配置するのではなく、時間的に大きく変化する箇所に集中的に配置させるようにしたり、オブジェクトの輪郭線がボケないようにフィルタリングのタップ位置(どの点とどの点とをフィルタリングするかを示す)を変えるなどの工夫がなされている(例えば、非特許文献1参照)。
一方、コンピュータビジョンの研究分野では、低解像度の動画像から高解像度の動画像を復元する研究が以前より行われている。これらの研究は、1フレームの画像のみを利用するものと、複数フレームの画像を利用するものとの大きく2種類に分かれる。前者は得られる情報に限りがあるため復元精度はあまり高くないが、計算を比較的安定に行えるという特徴をもつ。これに対して後者は複数フレームの情報を利用するため理論的な復元精度は高いが、複数フレーム間のサブピクセルレベルでのマッチングを計算しなければならず、この計算を安定して行うことは難しい(例えば、非特許文献2参照)。
K. Bala, B. Walter, and D. P. Greenberg, "Combining Edges and Points for Interactive High-Quality Rendering", SIGGRAPH2003. Sung Cheol Park, Min Kyu Park, and Moon Gi Kang, "Super-Resolution Image Reconstruction: A Technical Overview", IEEE SIGNAL PROCESSING MAGAZINE, May 2003.
K. Bala, B. Walter, and D. P. Greenberg, "Combining Edges and Points for Interactive High-Quality Rendering", SIGGRAPH2003. Sung Cheol Park, Min Kyu Park, and Moon Gi Kang, "Super-Resolution Image Reconstruction: A Technical Overview", IEEE SIGNAL PROCESSING MAGAZINE, May 2003.
上記のように、従来の映像描画装置では、グローバルイルミネーション映像を描画する際に低解像度のサンプリング点でのみレイとオブジェクトの交差判定を行い、後でそれらをフィルタリングして高解像度化することにより、計算時間の短縮をはかっている。
しかし、高解像度化の計算において1フレームのサンプリング点しか利用していないため、高解像度映像の品質を高くするためには1フレームあたりのサンプリング点の数をある程度多くしなければならず、計算時間の短縮と高品質を両立することが難しい。
一方、コンピュータビジョンの分野では複数フレームを利用した高解像度化技術が以前より研究されてきており、この技術をグローバルイルミネーションの計算に応用することが考えられるが、そのために必要となる複数フレーム間のサブピクセルマッチングを安定して計算することができない。
特に、オブジェクトの模様(テクスチャ)が等質である場合や、オブジェクトの輝度が時間変化する場合にマッチングに間違いが生じることが多い。上記の非特許文献2には、統計的な誤差モデルに基づいて反復計算することによってマッチング誤差の影響を小さくする手法などが記載されているが、計算量が大きく、インタラクティブな用途にはあまり適さない。
この発明は、上述した事情を考慮してなされたものであり、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画する映像描画装置、方法およびプログラムを提供することを目的とする。
上述の課題を解決するため、本発明の映像描画装置は、座標変換に関するデータ、カメラに関するデータ、ジオメトリに関するデータ、光源に関するデータ、テクスチャに関するデータを含むCGデータを記憶しているCGデータ記憶手段と、前記CGデータの座標系を視点から見た座標系であるカメラ座標系に座標変換する座標変換手段と、前記座標変換されたCGデータを用いて、表示される画像面のピクセルからサンプリングしたサンプリング点を通る視線ベクトルと、前記画像内のオブジェクトと、の交点の3次元座標を計算する交点座標計算手段と、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における3次元動きベクトルを計算する交点動きベクトル計算手段と、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標におけるカラー値を計算する交点カラー計算手段と、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における、オブジェクトごとに異なる、交点のオブジェクトIDを割り当てる交点オブジェクトID割り当て手段と、前記座標変換されたCGデータを用いて、前記計算された交点の3次元座標と、前記計算された交点の3次元動きベクトルと、を投影面に投影して、交点の2次元座標および交点の2次元動きベクトルを計算する交点投影手段と、前記計算された、交点の2次元座標および交点の2次元動きベクトルと、前記計算された、交点のカラー値と、前記割り当てられた、交点のオブジェクトIDとを、フレーム単位にひとまとめにして低解像度映像データとして記憶する第1解像度映像列記憶手段と、前記第1解像度映像列記憶手段に記憶されている現在のフレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている現在のフレームとは時間的に異なる複数フレームの低解像度映像データと、を重ね合わせて、中解像度映像データを計算する中解像度映像計算手段と、前記計算された中解像度映像データをフィルタリングして、高解像度映像データを計算する高解像度映像計算手段と、前記計算された高解像度映像データをフレーム単位で記憶する高解像度映像記憶手段と、前記高解像度映像データを提示する提示手段と、を具備することを特徴とする。
本発明の映像描画方法は、座標変換に関するデータ、カメラに関するデータ、ジオメトリに関するデータ、光源に関するデータ、テクスチャに関するデータを含むCGデータを記憶しているCGデータ記憶手段を用意し、前記CGデータの座標系を視点から見た座標系であるカメラ座標系に座標変換し、前記座標変換されたCGデータを用いて、表示される画像面のピクセルからサンプリングしたサンプリング点を通る視線ベクトルと、前記画像内のオブジェクトと、の交点の3次元座標を計算し、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における3次元動きベクトルを計算し、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標におけるカラー値を計算し、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における、オブジェクトごとに異なる、交点のオブジェクトIDを割り当て、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標と、前記計算された交点の3次元動きベクトルと、を投影面に投影して、交点の2次元座標および交点の2次元動きベクトルを計算し、前記計算された、交点の2次元座標および交点の2次元動きベクトルと、前記計算された、交点のカラー値と、前記割り当てられた、交点のオブジェクトIDとを、フレーム単位にひとまとめにして低解像度映像データとして記憶する第1解像度映像列記憶手段を用意し、前記第1解像度映像列記憶手段に記憶されている現在のフレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている現在のフレームとは時間的に異なる複数フレームの低解像度映像データと、を重ね合わせて、中解像度映像データを計算し、前記計算された中解像度映像データをフィルタリングして、高解像度映像データを計算し、前記計算された高解像度映像データをフレーム単位で記憶する高解像度映像記憶手段を用意し、前記高解像度映像データを提示することを特徴とする。
本発明の映像描画プログラムは、コンピュータを、
座標変換に関するデータ、カメラに関するデータ、ジオメトリに関するデータ、光源に関するデータ、テクスチャに関するデータを含むCGデータを記憶しているCGデータ記憶手段と、前記CGデータの座標系を視点から見た座標系であるカメラ座標系に座標変換する座標変換手段と、前記座標変換されたCGデータを用いて、表示される画像面のピクセルからサンプリングしたサンプリング点を通る視線ベクトルと、前記画像内のオブジェクトと、の交点の3次元座標を計算する交点座標計算手段と、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における3次元動きベクトルを計算する交点動きベクトル計算手段と、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標におけるカラー値を計算する交点カラー計算手段と、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における、オブジェクトごとに異なる、交点のオブジェクトIDを割り当てる交点オブジェクトID割り当て手段と、前記座標変換されたCGデータを用いて、前記計算された交点の3次元座標と、前記計算された交点の3次元動きベクトルと、を投影面に投影して、交点の2次元座標および交点の2次元動きベクトルを計算する交点投影手段と、前記計算された、交点の2次元座標および交点の2次元動きベクトルと、前記計算された、交点のカラー値と、前記割り当てられた、交点のオブジェクトIDとを、フレーム単位にひとまとめにして低解像度映像データとして記憶する第1解像度映像列記憶手段と、前記第1解像度映像列記憶手段に記憶されている現在のフレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている現在のフレームとは時間的に異なる複数フレームの低解像度映像データと、を重ね合わせて、中解像度映像データを計算する中解像度映像計算手段と、前記計算された中解像度映像データをフィルタリングして、高解像度映像データを計算する高解像度映像計算手段と、前記計算された高解像度映像データをフレーム単位で記憶する高解像度映像記憶手段と、前記高解像度映像データを提示する提示手段として機能させるためのものである。
座標変換に関するデータ、カメラに関するデータ、ジオメトリに関するデータ、光源に関するデータ、テクスチャに関するデータを含むCGデータを記憶しているCGデータ記憶手段と、前記CGデータの座標系を視点から見た座標系であるカメラ座標系に座標変換する座標変換手段と、前記座標変換されたCGデータを用いて、表示される画像面のピクセルからサンプリングしたサンプリング点を通る視線ベクトルと、前記画像内のオブジェクトと、の交点の3次元座標を計算する交点座標計算手段と、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における3次元動きベクトルを計算する交点動きベクトル計算手段と、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標におけるカラー値を計算する交点カラー計算手段と、前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における、オブジェクトごとに異なる、交点のオブジェクトIDを割り当てる交点オブジェクトID割り当て手段と、前記座標変換されたCGデータを用いて、前記計算された交点の3次元座標と、前記計算された交点の3次元動きベクトルと、を投影面に投影して、交点の2次元座標および交点の2次元動きベクトルを計算する交点投影手段と、前記計算された、交点の2次元座標および交点の2次元動きベクトルと、前記計算された、交点のカラー値と、前記割り当てられた、交点のオブジェクトIDとを、フレーム単位にひとまとめにして低解像度映像データとして記憶する第1解像度映像列記憶手段と、前記第1解像度映像列記憶手段に記憶されている現在のフレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている現在のフレームとは時間的に異なる複数フレームの低解像度映像データと、を重ね合わせて、中解像度映像データを計算する中解像度映像計算手段と、前記計算された中解像度映像データをフィルタリングして、高解像度映像データを計算する高解像度映像計算手段と、前記計算された高解像度映像データをフレーム単位で記憶する高解像度映像記憶手段と、前記高解像度映像データを提示する提示手段として機能させるためのものである。
本発明の映像描画装置、方法およびプログラムによれば、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することができる。
以下、図面を参照しながら本発明の実施形態に係る映像描画装置、方法およびプログラムについて詳細に説明する。
(第1の実施形態)後のフレームの重ね合わせ
本発明の第1の実施形態に係る映像描画装置について図1を参照して説明する。
本実施形態の映像描画装置は、図1に示すように、CGデータ記憶部101、座標変換部102、交点座標計算部103、交点動きベクトル計算部104、交点カラー計算部105、交点オブジェクトID割り当て部106、交点投影部107、第1解像度映像列記憶部108、第2解像度映像計算部109、第3解像度映像計算部110、高解像度映像記憶部111、提示部112、制御部113を備えている。図1以下、提示部112は、映像描画装置に含まれていないが、含めても良い。
(第1の実施形態)後のフレームの重ね合わせ
本発明の第1の実施形態に係る映像描画装置について図1を参照して説明する。
本実施形態の映像描画装置は、図1に示すように、CGデータ記憶部101、座標変換部102、交点座標計算部103、交点動きベクトル計算部104、交点カラー計算部105、交点オブジェクトID割り当て部106、交点投影部107、第1解像度映像列記憶部108、第2解像度映像計算部109、第3解像度映像計算部110、高解像度映像記憶部111、提示部112、制御部113を備えている。図1以下、提示部112は、映像描画装置に含まれていないが、含めても良い。
CGデータ記憶部101は、座標変換に関するデータおよびカメラ(図示せず)に関するデータおよびジオメトリ(幾何)に関するデータおよび光源に関するデータおよびテクスチャに関するデータなどから構成されるCGデータを記憶している。
座標変換部102は、CGデータ記憶部101から取得したCGデータに座標変換を行い、視点から見た座標系(カメラ座標系)に変換する。
交点座標計算部103は、座標変換部102にて計算された座標変換後のCGデータを用いて、レイとオブジェクトの交点の3次元座標を計算する。
座標変換部102は、CGデータ記憶部101から取得したCGデータに座標変換を行い、視点から見た座標系(カメラ座標系)に変換する。
交点座標計算部103は、座標変換部102にて計算された座標変換後のCGデータを用いて、レイとオブジェクトの交点の3次元座標を計算する。
交点動きベクトル計算部104は、座標変換部102にて計算された座標変換後のCGデータを用いて、交点座標計算部103にて計算された交点の3次元座標における3次元動きベクトルを計算する。交点動きベクトル計算部104は、交点の3次元動きベクトルをオブジェクトのポリゴン面を構成する頂点から補間して計算する。
交点カラー計算部105は、座標変換部102にて計算された座標変換後のCGデータを用いて、交点座標計算部103にて計算された3次元座標における交点のカラー値を計算する。交点カラー計算部105は、3次元座標における交点のカラー値をオブジェクトのポリゴン面を構成する頂点から補間して計算する。
交点オブジェクトID割り当て部106は、座標変換部102にて計算された座標変換後のCGデータを用いて、交点座標計算部103にて計算された交点の3次元座標における、オブジェクトごとに異なるオブジェクトIDを割り当てる。
交点カラー計算部105は、座標変換部102にて計算された座標変換後のCGデータを用いて、交点座標計算部103にて計算された3次元座標における交点のカラー値を計算する。交点カラー計算部105は、3次元座標における交点のカラー値をオブジェクトのポリゴン面を構成する頂点から補間して計算する。
交点オブジェクトID割り当て部106は、座標変換部102にて計算された座標変換後のCGデータを用いて、交点座標計算部103にて計算された交点の3次元座標における、オブジェクトごとに異なるオブジェクトIDを割り当てる。
交点投影部107は、座標変換部102にて計算された座標変換後のCGデータを用いて、交点座標計算部103にて計算された交点の3次元座標と、交点動きベクトル計算部104にて計算された交点の3次元動きベクトルを投影面に投影することにより、交点の2次元座標および交点の2次元動きベクトルを計算する。
第1解像度映像列記憶部108は、交点投影部107にて計算された交点の2次元座標および交点の2次元動きベクトルと、交点カラー計算部105にて計算された交点のカラー値と、交点オブジェクトID割り当て部106にて割り当てられた交点のオブジェクトIDとを、フレーム単位にひとまとめにして低解像度映像データとして記憶する。
第2解像度映像計算部109は、第1解像度映像列記憶部108から取得した現在のフレームの低解像度映像データに対して、異なる複数のフレームの低解像度映像データを重ね合わせることにより、中解像度映像データを計算する。
第3解像度映像計算部110は、第2解像度映像計算部109にて計算された中解像度映像データをフィルタリングすることにより、高解像度映像データを計算する。
高解像度映像記憶部111は、第3解像度映像計算部110にて計算された高解像度映像データをフレーム単位で記憶して保持する。高解像度映像データは各ピクセルのカラー値を保持する一般的な画像データである。図1に示したように、高解像度映像データは第3解像度映像計算部110によって高解像度映像記憶部111に書き込まれた後、提示部112が高解像度映像データを取得してユーザに提示される。
提示部112は、高解像度映像記憶部111から取得した高解像度映像データをユーザに提示する。提示部112は、高解像度映像データをユーザに提示することのできるディスプレイなどで構成される。
また、本実施形態では、すべてのブロックが単一の制御部113によって制御されるものとする。
第1解像度映像列記憶部108は、交点投影部107にて計算された交点の2次元座標および交点の2次元動きベクトルと、交点カラー計算部105にて計算された交点のカラー値と、交点オブジェクトID割り当て部106にて割り当てられた交点のオブジェクトIDとを、フレーム単位にひとまとめにして低解像度映像データとして記憶する。
第2解像度映像計算部109は、第1解像度映像列記憶部108から取得した現在のフレームの低解像度映像データに対して、異なる複数のフレームの低解像度映像データを重ね合わせることにより、中解像度映像データを計算する。
第3解像度映像計算部110は、第2解像度映像計算部109にて計算された中解像度映像データをフィルタリングすることにより、高解像度映像データを計算する。
高解像度映像記憶部111は、第3解像度映像計算部110にて計算された高解像度映像データをフレーム単位で記憶して保持する。高解像度映像データは各ピクセルのカラー値を保持する一般的な画像データである。図1に示したように、高解像度映像データは第3解像度映像計算部110によって高解像度映像記憶部111に書き込まれた後、提示部112が高解像度映像データを取得してユーザに提示される。
提示部112は、高解像度映像記憶部111から取得した高解像度映像データをユーザに提示する。提示部112は、高解像度映像データをユーザに提示することのできるディスプレイなどで構成される。
また、本実施形態では、すべてのブロックが単一の制御部113によって制御されるものとする。
以下、図1の映像描画装置の各ブロックの詳細な動作およびブロック間を流れるデータの構造について図2から図17までを参照して説明していく。
[CGデータ記憶部101]
CGデータ記憶部101に保持されているCGデータの例について図2を参照して説明する。図2に示すように、CGデータは、座標変換データ、カメラデータ、ジオメトリデータ、光源データ、テクスチャデータを含んでいる。
CGデータ記憶部101に保持されているCGデータの例について図2を参照して説明する。図2に示すように、CGデータは、座標変換データ、カメラデータ、ジオメトリデータ、光源データ、テクスチャデータを含んでいる。
座標変換データは、ワールド行列、ビュー行列、射影行列、ビューポートスケーリング行列などの座標変換に関するデータである。
カメラデータは、ビューボリューム(視錐台)などのカメラに関するデータである。
ジオメトリデータは、オブジェクトのポリゴン面を構成する頂点の3次元座標、頂点のインデックス値、頂点の3次元動きベクトル、頂点のカラー値、頂点のテクスチャ座標、頂点の法線ベクトル、頂点のオブジェクトIDなどのジオメトリ(幾何)に関するデータである。
光源データは、光源の種類、光源の3次元座標、光源のカラー値などの光源に関するデータである。
テクスチャデータは、テクスチャ画像のデータである。
カメラデータは、ビューボリューム(視錐台)などのカメラに関するデータである。
ジオメトリデータは、オブジェクトのポリゴン面を構成する頂点の3次元座標、頂点のインデックス値、頂点の3次元動きベクトル、頂点のカラー値、頂点のテクスチャ座標、頂点の法線ベクトル、頂点のオブジェクトIDなどのジオメトリ(幾何)に関するデータである。
光源データは、光源の種類、光源の3次元座標、光源のカラー値などの光源に関するデータである。
テクスチャデータは、テクスチャ画像のデータである。
CGデータのうち、図3に示す、頂点の3次元座標、頂点の3次元動きベクトル、頂点の法線ベクトル、光源の3次元座標は、それぞれ固有のローカル座標系、あるいは共通のワールド座標系、あるいはカメラ位置を原点とするカメラ座標系のいずれかの座標系において定義されており、座標変換部102にてカメラ座標系へと座標変換されてから後段のブロックへ送られる。
図3に示されていない上記以外のCGデータは座標変換部102では何も処理されずに後段のブロックへ送られる。
図3に示されていない上記以外のCGデータは座標変換部102では何も処理されずに後段のブロックへ送られる。
ところで、一般に、頂点座標および光源座標の値は、3次元座標XYZあるいは同次座標XYZWで表されるが、本明細書ではこれらをまとめて3次元座標と表記する。
なお、頂点の3次元動きベクトルとは、現在のフレームにおけるその頂点の3次元座標と、異なるフレームにおける頂点の3次元座標と、を結ぶベクトルであり、頂点の時間的な動きを表すものである。図4に示すように、本実施形態では、現在のフレームにおける各頂点に対して、現在のフレームよりも時間的に前の複数フレームにおける位置へと戻る動きを表す複数のベクトルが属性としてあらかじめ割り当てられており、これらの複数のベクトルがCGデータ記憶部101に保持されている。
なお、頂点の3次元動きベクトルとは、現在のフレームにおけるその頂点の3次元座標と、異なるフレームにおける頂点の3次元座標と、を結ぶベクトルであり、頂点の時間的な動きを表すものである。図4に示すように、本実施形態では、現在のフレームにおける各頂点に対して、現在のフレームよりも時間的に前の複数フレームにおける位置へと戻る動きを表す複数のベクトルが属性としてあらかじめ割り当てられており、これらの複数のベクトルがCGデータ記憶部101に保持されている。
また、図5に示すように、頂点のオブジェクトIDとは、その頂点が属するポリゴン面を含むオブジェクトを一意に識別するためのIDであり、各頂点にあらかじめ割り当てられてCGデータ記憶部101に保持されている。例えば、図5に示すように、オブジェクトaの各頂点のオブジェクトIDは、「a」である。
また、図1ではCGデータ記憶部101と第1解像度映像列記憶部108と高解像度映像記憶部111を異なるブロックとして表記しているが、これらは単一のメモリ上にまとめて構成してもよいし、容量やアクセス速度の異なる複数のメモリ上に分割して構成してもよい。また、CGデータ記憶部101に保持されているCGデータは図2の形式に限定されず、所望のCGを描画するために必要となるあらゆるデータを含んでもよい。
[座標変換部102]
座標変換部102の処理フローについて図6を参照して説明する。
最初のステップS601では、CGデータ記憶部101に保持されているCGデータを取得する。
座標変換部102の処理フローについて図6を参照して説明する。
最初のステップS601では、CGデータ記憶部101に保持されているCGデータを取得する。
ステップS602では、ステップS601にて取得したCGデータのうち、図3に示されている頂点の3次元座標、頂点の3次元動きベクトル、頂点の法線ベクトル、光源の3次元座標に対して、同様にCGデータに含まれているワールド行列およびビュー行列を乗算することにより、座標系をカメラ座標系に変換する。
行列の乗算手法は変換対象のCGデータがどの座標系において定義されているかによって決まる。ローカル座標系において定義されている場合にはワールド行列とビュー行列の両方をこの順番に乗算し、ワールド座標系において定義されている場合にはビュー行列のみを乗算する。最初からカメラ座標系において定義されている場合には、ステップS602では何も行わない。
行列の乗算手法は変換対象のCGデータがどの座標系において定義されているかによって決まる。ローカル座標系において定義されている場合にはワールド行列とビュー行列の両方をこの順番に乗算し、ワールド座標系において定義されている場合にはビュー行列のみを乗算する。最初からカメラ座標系において定義されている場合には、ステップS602では何も行わない。
ステップS603では、ステップS602にて座標変換されたCGデータと、それ以外のCGデータ(座標変換の対象でないCGデータ)を、交点座標計算部103、交点動きベクトル計算部104、交点カラー計算部105、交点オブジェクトID割り当て部106、交点投影部107へ出力する。
[交点座標計算部103]
交点座標計算部103の処理フローについて図7を参照して説明する。
最初のステップS701では、座標変換部102から送られてきたCGデータに含まれているビューボリュームおよび頂点の3次元座標を取得する。
交点座標計算部103の処理フローについて図7を参照して説明する。
最初のステップS701では、座標変換部102から送られてきたCGデータに含まれているビューボリュームおよび頂点の3次元座標を取得する。
ステップS702では、ステップS701にて取得したビューボリュームの前方クリップ面を、最終的に提示部112に提示する高解像度映像と同じ解像度をもつ画像面と見立て、その画像面のピクセルの中から適当な数を低解像度(第1解像度)サンプリング点として選択する。
上記したように、非特許文献1などにおいてサンプリング点の選択手法に関する工夫がすでに提案されている。本発明の実施形態においても、これら従来手法と同様な手法を用いてサンプリング点を選択するものとする。そのため、サンプリング点の選択手法の詳細な説明は省略する。
上記したように、非特許文献1などにおいてサンプリング点の選択手法に関する工夫がすでに提案されている。本発明の実施形態においても、これら従来手法と同様な手法を用いてサンプリング点を選択するものとする。そのため、サンプリング点の選択手法の詳細な説明は省略する。
ステップS703では、ステップS702にて選択されたサンプリング点を通る視線ベクトル(レイ)と、オブジェクトを構成するポリゴン面の交点の3次元座標を、ステップS701にて取得した頂点の3次元座標を参照して計算する。
この計算は非常に処理量が大きいことがよく知られており、高速化のための様々な工夫がすでに提案されている。本発明の実施形態においても、これら従来手法と同様な手法を用いて計算を行うものとする。そのため、計算手法の詳細な説明は省略する。
この計算は非常に処理量が大きいことがよく知られており、高速化のための様々な工夫がすでに提案されている。本発明の実施形態においても、これら従来手法と同様な手法を用いて計算を行うものとする。そのため、計算手法の詳細な説明は省略する。
ステップS704では、ステップS703にて計算されたレイとオブジェクトの交点の3次元座標の中から、最も視点の近くに位置するものを選択する。
ステップS705では、ステップS704にて選択されたレイとオブジェクトの交点の3次元座標と、その交点が属するポリゴン面の頂点に割り当てられているインデックス値を、交点動きベクトル計算部104、交点カラー計算部105、交点オブジェクトID割り当て部106、交点投影部107へ出力する。
[交点動きベクトル計算部104]
交点動きベクトル計算部104の処理フローについて図8を参照して説明する。
最初のステップS801では、座標変換部102から送られてきたCGデータに含まれている頂点の3次元座標および頂点の3次元動きベクトルを取得する。
交点動きベクトル計算部104の処理フローについて図8を参照して説明する。
最初のステップS801では、座標変換部102から送られてきたCGデータに含まれている頂点の3次元座標および頂点の3次元動きベクトルを取得する。
ステップS802では、交点座標計算部103から送られてきたとレイとオブジェクトの交点の3次元座標と、その交点が属するポリゴン面の頂点を指し示すインデックス値を取得する。
ステップS803では、ステップS802にて取得した頂点のインデックス値を用いて、ステップS801にて取得した、頂点の3次元座標および頂点の3次元動きベクトルの中から、レイとオブジェクトの交点が属するポリゴン面を構成しているものを選択する。
ステップS804では、ステップS802にて取得したレイとオブジェクトの交点の3次元座標と、ステップS803にて選択された頂点の3次元座標を用いて、ステップS803にて選択された頂点の3次元動きベクトルを補間することにより、交点の3次元動きベクトルを計算する。
ステップS805では、ステップS804にて計算された交点の3次元動きベクトルを、交点投影部107へ出力する。
[交点カラー計算部105]
交点カラー計算部105の処理フローについて図9を参照して説明する。
最初のステップS901では、座標変換部102から送られてきたCGデータに含まれている頂点の3次元座標、頂点のカラー値、頂点のテクスチャ座標、頂点の法線ベクトルと、光源の種類、光源の3次元座標、光源のカラー値と、テクスチャデータを取得する。
交点カラー計算部105の処理フローについて図9を参照して説明する。
最初のステップS901では、座標変換部102から送られてきたCGデータに含まれている頂点の3次元座標、頂点のカラー値、頂点のテクスチャ座標、頂点の法線ベクトルと、光源の種類、光源の3次元座標、光源のカラー値と、テクスチャデータを取得する。
ステップS902では、交点座標計算部103から送られてきたとレイとオブジェクトとの交点の3次元座標と、その交点が属するポリゴン面の頂点を指し示すインデックス値を取得する。
ステップS903では、ステップS902にて取得した頂点のインデックス値を用いて、ステップS901にて取得した頂点の3次元座標、頂点のカラー値、頂点のテクスチャ座標、頂点の法線ベクトルの中から、レイとオブジェクトの交点が属するポリゴン面を構成しているものを選択する。
ステップS904では、ステップS901にて取得した光源の種類、光源の3次元座標、光源のカラー値、テクスチャデータと、ステップS902にて取得したレイとオブジェクトの交点の3次元座標と、ステップS903にて選択された頂点の3次元座標、頂点のカラー値、頂点のテクスチャ座標、頂点の法線ベクトルを用いて、交点のカラー値を計算する。交点のカラー値の計算については後に図10を参照して詳細に説明する。
ステップS905では、ステップS904にて計算された交点のカラー値を第1解像度映像列記憶部108へ出力する。
次に、ステップS904の交点のカラー値の計算についての典型的な処理フローの一例について図10を参照して説明する。
最初のステップS1001では、交点が属するポリゴン面の頂点のテクスチャ座標を補間することにより、交点のテクスチャ座標を計算する。
ステップS1002では、交点が属するポリゴン面の頂点のカラー値を補間することにより、交点の初期カラー値を計算する。
ステップS1003では、交点が属するポリゴン面の頂点の法線ベクトルを補間することにより、交点の法線ベクトルを計算する。
ステップS1004では、ステップS1001にて計算されたテクスチャ座標におけるテクスチャデータを参照し、テクスチャのカラー値を取得する。
最初のステップS1001では、交点が属するポリゴン面の頂点のテクスチャ座標を補間することにより、交点のテクスチャ座標を計算する。
ステップS1002では、交点が属するポリゴン面の頂点のカラー値を補間することにより、交点の初期カラー値を計算する。
ステップS1003では、交点が属するポリゴン面の頂点の法線ベクトルを補間することにより、交点の法線ベクトルを計算する。
ステップS1004では、ステップS1001にて計算されたテクスチャ座標におけるテクスチャデータを参照し、テクスチャのカラー値を取得する。
ステップS1005では、ステップS1002にて計算された交点のカラー値を、ステップS1003にて計算された交点の法線ベクトルと、ステップS1004にて取得したテクスチャのカラー値と、光源からの光の影響を考慮して変化させる。この際、頂点が属するポリゴン面の周囲にある他のポリゴン面からの間接光の影響を加味することにより、グローバルイルミネーション効果を実現する。
グローバルイルミネーションにおける間接光の計算手法にはいくつかの種類があり、様々な工夫がすでに提案されている。本発明の実施形態においても、これら従来手法と同様な手法を用いて計算を行うものとする。そのため、間接光の計算手法の詳細な説明は省略する。また、図10の交点のカラー値の計算手法はあくまで一例であり、本発明における計算手法はこの手法に限定されない。
グローバルイルミネーションにおける間接光の計算手法にはいくつかの種類があり、様々な工夫がすでに提案されている。本発明の実施形態においても、これら従来手法と同様な手法を用いて計算を行うものとする。そのため、間接光の計算手法の詳細な説明は省略する。また、図10の交点のカラー値の計算手法はあくまで一例であり、本発明における計算手法はこの手法に限定されない。
[交点オブジェクトID割り当て部106]
交点オブジェクトID割り当て部106の処理フローについて図11を参照して説明する。
最初のステップS1101では、座標変換部102から送られてきたCGデータに含まれている頂点のオブジェクトIDを取得する。
ステップS1102では、交点座標計算部103から送られてきたとレイとオブジェクトの交点が属するポリゴン面の頂点を指し示すインデックス値を取得する。
ステップS1103では、ステップS1102にて取得した頂点のインデックス値を用いて、ステップS1101にて取得した頂点のオブジェクトIDの中から、レイとオブジェクトの交点が属するポリゴン面を構成しているものを選択する。
ステップS1104では、ステップS1103にて選択された頂点のオブジェクトIDを、交点のオブジェクトIDとして割り当てる。
ステップS1105では、ステップS1104にて割り当てられた交点のオブジェクトIDを第1解像度映像列記憶部108へ出力する。
交点オブジェクトID割り当て部106の処理フローについて図11を参照して説明する。
最初のステップS1101では、座標変換部102から送られてきたCGデータに含まれている頂点のオブジェクトIDを取得する。
ステップS1102では、交点座標計算部103から送られてきたとレイとオブジェクトの交点が属するポリゴン面の頂点を指し示すインデックス値を取得する。
ステップS1103では、ステップS1102にて取得した頂点のインデックス値を用いて、ステップS1101にて取得した頂点のオブジェクトIDの中から、レイとオブジェクトの交点が属するポリゴン面を構成しているものを選択する。
ステップS1104では、ステップS1103にて選択された頂点のオブジェクトIDを、交点のオブジェクトIDとして割り当てる。
ステップS1105では、ステップS1104にて割り当てられた交点のオブジェクトIDを第1解像度映像列記憶部108へ出力する。
[交点投影部107]
交点投影部107の処理フローについて図12を参照して説明する。
最初のステップS1201では、座標変換部102から送られてきたCGデータに含まれている射影行列およびビューポートスケーリング行列を取得する。
ステップS1202では、交点座標計算部103から送られてきたレイとオブジェクトの交点の3次元座標を取得する。
ステップS1203では、交点動きベクトル計算部104から送られてきたレイとオブジェクトの交点の3次元動きベクトルを取得する。
ステップS1204では、ステップS1202にて取得した交点の3次元座標と、ステップS1203にて取得した交点の3次元動きベクトルに対して、ステップS1201にて取得した射影行列を乗算して投影面に投影することにより、交点の2次元座標および交点の2次元動きベクトルを計算する。
ステップS1205では、ステップS1204にて計算された交点の2次元座標および交点の2次元動きベクトルに対して、ステップS1201にて取得したビューポートスケーリング行列を乗算することにより、交点の2次元座標および交点の2次元動きベクトルを画像面の適切な位置に平行移動する。
ステップS1206では、ステップS1205にて計算された交点の2次元座標および交点の2次元動きベクトルを第1解像度映像列記憶部108へ出力する。なお、これらのデータは浮動小数点数あるいいは固定小数点数で出力するものとする。
交点投影部107の処理フローについて図12を参照して説明する。
最初のステップS1201では、座標変換部102から送られてきたCGデータに含まれている射影行列およびビューポートスケーリング行列を取得する。
ステップS1202では、交点座標計算部103から送られてきたレイとオブジェクトの交点の3次元座標を取得する。
ステップS1203では、交点動きベクトル計算部104から送られてきたレイとオブジェクトの交点の3次元動きベクトルを取得する。
ステップS1204では、ステップS1202にて取得した交点の3次元座標と、ステップS1203にて取得した交点の3次元動きベクトルに対して、ステップS1201にて取得した射影行列を乗算して投影面に投影することにより、交点の2次元座標および交点の2次元動きベクトルを計算する。
ステップS1205では、ステップS1204にて計算された交点の2次元座標および交点の2次元動きベクトルに対して、ステップS1201にて取得したビューポートスケーリング行列を乗算することにより、交点の2次元座標および交点の2次元動きベクトルを画像面の適切な位置に平行移動する。
ステップS1206では、ステップS1205にて計算された交点の2次元座標および交点の2次元動きベクトルを第1解像度映像列記憶部108へ出力する。なお、これらのデータは浮動小数点数あるいいは固定小数点数で出力するものとする。
[第1解像度映像列記憶部108]
第1解像度映像列記憶部108にて保持されている低解像度映像データの例について図13を参照して説明する。
この図から分かるように、低解像度映像データは、各サンプリング点を通るレイとオブジェクトの交点の2次元座標、交点の2次元動きベクトル、交点のカラー値、交点のオブジェクトIDをフレーム単位にひとまとめにしたものである。図13図で、nkはフレームkの交点数を示す。
第1解像度映像列記憶部108にて保持されている低解像度映像データの例について図13を参照して説明する。
この図から分かるように、低解像度映像データは、各サンプリング点を通るレイとオブジェクトの交点の2次元座標、交点の2次元動きベクトル、交点のカラー値、交点のオブジェクトIDをフレーム単位にひとまとめにしたものである。図13図で、nkはフレームkの交点数を示す。
図1に示したように、これら交点に関するデータは交点投影部107、交点カラー計算部105、交点オブジェクトID割り当て部106から送られてくる。
なお、第1解像度映像列記憶部108に保持されている低解像度映像データは図13の形式に限定されず、所望のCGを描画するために必要となるあらゆるデータを含んでもよい。
[第2解像度映像計算部109]
第2解像度映像計算部109の処理フローについて図14を参照して説明する。
最初のステップS1401では、第1解像度映像列記憶部108から現在のフレームの低解像度(第1解像度)映像データに含まれている交点の2次元座標および交点の2次元動きベクトルを取得する。
ステップS1402では、図15(a)および図15(b)および図15(c)に示すように、現在のフレームよりも時間的に後の複数フレームの低解像度映像データに含まれている交点の2次元座標および交点の2次元動きベクトルを取得する。
第2解像度映像計算部109の処理フローについて図14を参照して説明する。
最初のステップS1401では、第1解像度映像列記憶部108から現在のフレームの低解像度(第1解像度)映像データに含まれている交点の2次元座標および交点の2次元動きベクトルを取得する。
ステップS1402では、図15(a)および図15(b)および図15(c)に示すように、現在のフレームよりも時間的に後の複数フレームの低解像度映像データに含まれている交点の2次元座標および交点の2次元動きベクトルを取得する。
ステップS1403では、図15(d)および図15(e)および図15(f)に示すように、ステップS1402にて取得した現在のフレームよりも時間的に後の複数フレームの低解像度映像データに含まれている各交点に割り当てられている複数の2次元動きベクトルの中から、現在のフレームへと戻る動きを表すものを選択して加算することにより、現在のフレームよりも時間的に後の複数フレームの低解像度映像データを、現在のフレームの低解像度映像データに重ね合わせる。例えば、図15の例では、図15(a)の低解像度映像データと、図15(d)の低解像度映像データと、図15(e)の低解像度映像データとを重ね合わせて図15(f)の中解像度映像データを得る。この例では、図15(a)と図15(f)とを比較して、解像度が3倍高くなったと言える。なお、本明細書では、重ね合わされた後の低解像度映像データのことを中解像度(第2解像度)映像データと表記する。
この際、元々現在のフレームに含まれていた低解像度映像データにはフラグ値0を割り当て、新たに現在のフレームに重ね合わされた低解像度映像データに対してはフラグ値1を割り当てる。
ステップS1404では、ステップS1403にて計算された中解像度映像データを第3解像度映像計算部110へ出力する。
ステップS1404では、ステップS1403にて計算された中解像度映像データを第3解像度映像計算部110へ出力する。
[第3解像度映像計算部110]
第3解像度映像計算部110の処理フローについて図16を参照して説明する。
最初のステップS1601では、第2解像度映像計算部109から送られてきた中解像度(第2解像度)映像データを取得する。
第3解像度映像計算部110の処理フローについて図16を参照して説明する。
最初のステップS1601では、第2解像度映像計算部109から送られてきた中解像度(第2解像度)映像データを取得する。
ステップS1602では、最終的に提示部112に提示する高解像度映像と同じ解像度をもつカラーバッファを高解像度映像記憶部111に確保する。
ステップS1603では、図17(a)および図17(b)に示すように、ステップS1601にて取得した中解像度映像データ(図17(a))に含まれている交点の中から、ステップS1602にて確保した高解像度カラーバッファの各ピクセルの近傍領域に位置するものを選択する(図17(b))。
上記したように、非特許文献1などにおいてフィルタリングのタップ位置を選択する際の工夫がすでに提案されている。本発明の実施形態においても、図17(a)および図17(b)の選択手法はあくまで一例であり、従来手法と同様な手法を用いてフィルタリングに使う交点を選択してもよい。
上記したように、非特許文献1などにおいてフィルタリングのタップ位置を選択する際の工夫がすでに提案されている。本発明の実施形態においても、図17(a)および図17(b)の選択手法はあくまで一例であり、従来手法と同様な手法を用いてフィルタリングに使う交点を選択してもよい。
ここで選択された交点は、時間的に異なる複数のフレームにおいてサンプリングされた交点を重ね合わせたものであるため、フレーム間のオブジェクトおよびカメラの動きによってオブジェクトの可視性が変化した場合に、実際には現在のフレームに映らないはずのオブジェクトに属するものが含まれている可能性がある。そこで、以降のステップではこれらの交点をフィルタリング対象から除外する処理を行う。
ステップS1604では、ステップS1603にて選択された交点のうち、フラグ値1が割り当てられているものを選択する(図17の斜線の丸が対応)。
上記したように、このフラグ値は第2解像度映像計算部109にて各交点に割り当てられたものであり、元々現在のフレームに含まれていた交点にはフラグ値0が、現在とは異なるフレームから現在のフレームに重ね合わされた交点にはフラグ値1が割り当てられている。
上記したように、このフラグ値は第2解像度映像計算部109にて各交点に割り当てられたものであり、元々現在のフレームに含まれていた交点にはフラグ値0が、現在とは異なるフレームから現在のフレームに重ね合わされた交点にはフラグ値1が割り当てられている。
ステップS1605では、ステップS1604にて選択されたフラグ値1が割り当てられている各交点について、その近傍領域に位置するフラグ値0が割り当てられている交点を選択する(図17(c)、図17(d)、図17(e)、図17(f))。図17(b)に示した近傍領域や図17(c)、図17(d)、図17(e)、図17(f)に示した近傍領域の大きさはオブジェクトに依存する。
ステップS1606では、図17(c)、図17(d)、図17(e)、図17(f)に示すように、ステップS1604にて選択されたフラグ値1が割り当てられている交点のオブジェクトIDと、ステップS1605にて選択されたフラグ値0が割り当てられている近傍の交点のオブジェクトIDを比較する。その結果、1つでもオブジェクトIDが異なる場合には、フラグ値1が割り当てられている交点をフィルタリング対象から除外する(図17(f))。
ステップS1607では、ステップS1606にて除外されずに残った交点のカラー値に適当な重みをつけて補間することにより、ステップS1602にて確保した高解像度カラーバッファの各ピクセルのカラー値を計算する。
[高解像度映像記憶部111]
高解像度映像記憶部111は高解像度映像データを記憶し、高解像度映像データは各ピクセルのカラー値を保持する一般的な画像データである。図1に示したように、高解像度映像データは第3解像度映像計算部110によって書き込まれた後、提示部112から取得されてユーザに提示される。
高解像度映像記憶部111は高解像度映像データを記憶し、高解像度映像データは各ピクセルのカラー値を保持する一般的な画像データである。図1に示したように、高解像度映像データは第3解像度映像計算部110によって書き込まれた後、提示部112から取得されてユーザに提示される。
以上に示したように、本実施形態の映像描画装置によれば、CGを描画する際に求まる低解像度サンプリング点の動きベクトルとオブジェクトIDを利用することにより、現在のフレームよりも時間的に後の複数のフレームの低解像度サンプリング点を、現在のフレームに対して高速かつ安定に重ね合わせることができる。
これにより、1フレームあたりのサンプリング点の数を従来よりも少なくすることができ、その結果、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
これにより、1フレームあたりのサンプリング点の数を従来よりも少なくすることができ、その結果、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
(第2の実施形態)前のフレームの重ね合わせ
第2の実施形態における映像描画装置の構成は、図1の第1の実施形態における構成と同じであるが、CGデータ記憶部101に保持されているCGデータの内容と、第2解像度映像計算部109の処理内容が異なる。以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。
第2の実施形態における映像描画装置の構成は、図1の第1の実施形態における構成と同じであるが、CGデータ記憶部101に保持されているCGデータの内容と、第2解像度映像計算部109の処理内容が異なる。以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。
[CGデータ記憶部101]
図18に示すように、本実施形態では、現在のフレームにおける各頂点に対して、現在のフレームよりも時間的に後の複数フレームにおける位置へと進む動きを表す複数のベクトルが属性としてあらかじめ割り当てられており、CGデータ記憶部101はこれらのベクトルを記憶して保持しているものとする。
図18に示すように、本実施形態では、現在のフレームにおける各頂点に対して、現在のフレームよりも時間的に後の複数フレームにおける位置へと進む動きを表す複数のベクトルが属性としてあらかじめ割り当てられており、CGデータ記憶部101はこれらのベクトルを記憶して保持しているものとする。
[第2解像度映像計算部109]
本実施形態における第2解像度映像計算部109の処理フローについて図19を参照して説明する。
最初のステップS1901では、第1解像度映像列記憶部108から現在のフレームの低解像度映像データに含まれている交点の2次元座標および交点の2次元動きベクトルを取得する。
本実施形態における第2解像度映像計算部109の処理フローについて図19を参照して説明する。
最初のステップS1901では、第1解像度映像列記憶部108から現在のフレームの低解像度映像データに含まれている交点の2次元座標および交点の2次元動きベクトルを取得する。
ステップS1902では、図20(a)および図20(b)および図20(c)に示すように、現在のフレームよりも時間的に前の複数フレームの低解像度映像データに含まれている交点の2次元座標および交点の2次元動きベクトルを取得する。
ステップS1903では、図20(d)および図20(e)および図20(f)に示すように、ステップS1902にて取得した現在のフレームよりも時間的に前の複数フレームの低解像度映像データに含まれている各交点に割り当てられている複数の2次元動きベクトルの中から、現在のフレームへと進む動きを表すものを選択して加算することにより、現在のフレームよりも時間的に前の複数フレームの低解像度映像データを、現在のフレームの低解像度映像データに重ね合わせる。例えば、図20の例では、図20(c)の低解像度映像データと、図20(d)の低解像度映像データと、図20(e)の低解像度映像データとを重ね合わせて図20(f)の中解像度映像データを得る。この例では、図20(a)と図20(f)とを比較して、解像度が3倍良くなったと言える。
この際、元々現在のフレームに含まれていた低解像度映像データにはフラグ値0を割り当て、新たに現在のフレームに重ね合わされた低解像度映像データに対してはフラグ値1を割り当てる。
ステップS1904では、ステップS1903にて計算された中解像度映像データを第3解像度映像計算部110へ出力する。
以上に示したように、本実施形態の映像描画装置によれば、CGを描画する際に求まる低解像度サンプリング点の動きベクトルとオブジェクトIDを利用することにより、現在のフレームよりも時間的に前の複数のフレームの低解像度サンプリング点を、現在のフレームに対して高速かつ安定に重ね合わせることができる。
これにより、1フレームあたりのサンプリング点の数を従来よりも少なくすることができ、その結果、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
これにより、1フレームあたりのサンプリング点の数を従来よりも少なくすることができ、その結果、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
(第3の実施形態)前後のフレームの重ね合わせ
第3の実施形態における映像描画装置の構成は、図1の第1の実施形態における構成と同じであるが、CGデータ記憶部101に保持されているCGデータの内容と、第2解像度映像計算部109の処理内容が異なる。
第3の実施形態における映像描画装置の構成は、図1の第1の実施形態における構成と同じであるが、CGデータ記憶部101に保持されているCGデータの内容と、第2解像度映像計算部109の処理内容が異なる。
[CGデータ記憶部101]
図21に示すように、本実施形態では、現在のフレームにおける各頂点に対して、現在のフレームよりも時間的に前の複数フレームにおける位置へと戻る動きを表す複数のベクトルと、現在のフレームよりも時間的に後の複数フレームにおける位置へと進む動きを表す複数のベクトルが属性としてあらかじめ割り当てられており、CGデータ記憶部101はこれらのベクトルを記憶して保持しているものとする。
図21に示すように、本実施形態では、現在のフレームにおける各頂点に対して、現在のフレームよりも時間的に前の複数フレームにおける位置へと戻る動きを表す複数のベクトルと、現在のフレームよりも時間的に後の複数フレームにおける位置へと進む動きを表す複数のベクトルが属性としてあらかじめ割り当てられており、CGデータ記憶部101はこれらのベクトルを記憶して保持しているものとする。
[第2解像度映像計算部109]
本実施形態における第2解像度映像計算部109の処理フローについて図22を参照して説明する。
最初のステップS2201では、第1解像度映像列記憶部108から現在のフレームの低解像度映像データに含まれている交点の2次元座標および交点の2次元動きベクトルを取得する。
本実施形態における第2解像度映像計算部109の処理フローについて図22を参照して説明する。
最初のステップS2201では、第1解像度映像列記憶部108から現在のフレームの低解像度映像データに含まれている交点の2次元座標および交点の2次元動きベクトルを取得する。
ステップS2202では、図23(a)および図23(b)および図23(c)に示すように、現在のフレームよりも時間的に後の複数フレームの低解像度映像データに含まれている交点の2次元座標および交点の2次元動きベクトルと、現在のフレームよりも時間的に前の複数フレームの低解像度映像データに含まれている交点の2次元座標および交点の2次元動きベクトルを取得する。
ステップS2203では、図23(d)および(e)および(f)に示すように、ステップS2202にて取得した現在のフレームよりも時間的に後の複数フレームの低解像度映像データに含まれている各交点と、現在のフレームよりも時間的に前の複数フレームの低解像度映像データに含まれている各交点に割り当てられている複数の2次元動きベクトルの中から、現在のフレームへの動きを表すものを選択して加算することにより、現在のフレームよりも時間的に後の複数フレームの低解像度映像データと、現在のフレームよりも時間的に前の複数フレームの低解像度映像データを、現在のフレームの低解像度映像データに重ね合わせる。例えば、図23の例では、図23(b)の低解像度映像データと、図23(d)の低解像度映像データと、図23(e)の低解像度映像データとを重ね合わせて図20(f)の中解像度映像データを得る。この例では、図23(b)と図23(f)とを比較して、解像度が3倍良くなったと言える。
この際、元々現在のフレームに含まれていた低解像度映像データにはフラグ値0を割り当て、新たに現在のフレームに重ね合わされた低解像度映像データに対してはフラグ値1を割り当てる。
ステップS2204では、ステップS2203にて計算された中解像度映像データを第3解像度映像計算部110へ出力する。
以上に示したように、本実施形態の映像描画装置によれば、CGを描画する際に求まる低解像度サンプリング点の動きベクトルとオブジェクトIDを利用することにより、現在のフレームよりも時間的に後の複数のフレームの低解像度サンプリング点と、現在のフレームよりも時間的に前の複数のフレームの低解像度サンプリング点を、現在のフレームに対して高速かつ安定に重ね合わせることができる。
これにより、1フレーム当たりのサンプリング点の数を従来よりも少なくすることができ、その結果、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
これにより、1フレーム当たりのサンプリング点の数を従来よりも少なくすることができ、その結果、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
(第4の実施形態)非同期並列動作(3次元データ処理部と2次元データ処理部の並列動作)
図24における映像描画装置の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図1の第1の実施形態および第2の実施形態および第3の実施形態における映像描画装置を、3次元データ処理部2400と2次元データ処理部2410の2つに処理部に分割し、それぞれの処理部が専用に有する制御部113によって非同期に並列動作されることを特徴とする。
図24における映像描画装置の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図1の第1の実施形態および第2の実施形態および第3の実施形態における映像描画装置を、3次元データ処理部2400と2次元データ処理部2410の2つに処理部に分割し、それぞれの処理部が専用に有する制御部113によって非同期に並列動作されることを特徴とする。
3次元データ処理部2400と2次元データ処理部2410の間のデータのやり取りは、それぞれの処理部が専用に有する第1解像度映像列記憶部108を介して行われる。ただし、必ずしもそれぞれの処理部が専用に有する第1解像度映像列記億部108を介して行われる必要はなく、単一のものを共有するように構成してもよい。
本実施形態における映像描画装置によれば、3次元データ処理部2400に含まれるブロックの処理と2次元データ処理部2410に含まれるブロックの処理を非同期に並列実行することができるため、第1の実施形態および第2の実施形態および第3の実施形態における映像描画装置と比較して、各ブロックの稼働率を高くすることができる。
その結果、高品質な高解像度グローバルイルミネーション映像をよりインタラクティブに描画することが可能になる。
(第5の実施形態)汎用映像処理(2次元データ処理部のみの汎用映像処理)
図25に第5の実施形態における映像描画装置の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図24の第4の実施形態における映像描画装置の2次元データ処理部2410のみを有することを特徴とする。
図25に第5の実施形態における映像描画装置の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図24の第4の実施形態における映像描画装置の2次元データ処理部2410のみを有することを特徴とする。
本実施形態における映像描画装置では、あらかじめ計算された複数フレームの低解像度映像データが第1解像度映像列記憶部108にて保持されているものとする。
第1の実施形態および第2の実施形態および第3の実施形態および第4の実施形態における映像描画装置では、CGデータから低解像度映像データを計算することが前提となっているが、本実施形態における映像描画装置では、あらかじめCGデータ以外の映像ソースから何らかの手法によって計算された低解像度映像データを入力することができるようになっている。
本実施形態によれば、CGデータに限定されず、任意の映像ソースから高品質な高解像度映像をインタラクティブに描画することが可能になる。
(第6の実施形態)3次元データ処理部のマルチコア化(フレームベース)
図26に第6の実施形態における映像描画装置の構成を示す。この図から分かるように、本実施形態における映像描画装置2600は、図24の第4の実施形態における映像描画装置の3次元データ処理部2400を複数有することを特徴とする。
図26に第6の実施形態における映像描画装置の構成を示す。この図から分かるように、本実施形態における映像描画装置2600は、図24の第4の実施形態における映像描画装置の3次元データ処理部2400を複数有することを特徴とする。
図24の第4の実施形態における映像描画装置では、CGデータ記憶部101から取得するCGデータの量、あるいは交点座標計算部103にて計算される交点(低解像度サンプリング点)の数、あるいは交点カラー計算部105における照明計算の計算量、あるいは第1解像度映像列記憶部108のバンド幅、あるいは最終的に提示部112に提示する高解像度映像の解像度、あるいは各ブロックの処理能力など、様々な要因に依存して3次元データ処理部2400の処理量と2次元データ処理部2410の処理量のバランスが動的に変化する。そのため、あるフレームにおいて、3次元データ処理部2400の処理がボトルネックとなることによってフレームレートが低下してしまうことがある。
そこで本実施形態における映像描画装置では、制御部113が、複数の3次元データ処理部2400に対して異なるフレームの処理を割り当て、非同期に並列処理させることにより、3次元データ処理部2400の処理がボトルネックとなることを防ぐ。
本実施形態によれば、例えば、ある3次元データ処理部2400が1番目のフレームの処理を行っているときに、異なる3次元データ処理部2400にて2番目のフレームあるいは3番目のフレームなどの異なるフレームの処理を同時に実行することが可能になる。
なお、制御部113は、複数の3次元データ処理部2400に処理を割り当てる際、その時点で相対的に負荷の小さい3次元データ処理部2400を選択して割り当てるように構成してもよい。
以上のように、本実施形態における映像描画装置によれば、第4の実施形態における映像描画装置において3次元データ処理部2400の処理がボトルネックとなるような場合でも、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
(第7の実施形態)3次元データ処理部のマルチコア化(ブロックベース)
図27に第7の実施形態における映像描画装置2700の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図26の第6の実施形態における映像描画装置に対して低解像度映像ブロック結合部2701を追加したことを特徴とする。
図27に第7の実施形態における映像描画装置2700の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図26の第6の実施形態における映像描画装置に対して低解像度映像ブロック結合部2701を追加したことを特徴とする。
本実施形態における映像描画装置では、制御部113が、複数の3次元データ処理部2400に対して同一フレームの異なる映像ブロックの処理を割り当て、非同期に並列処理させる。そして、低解像度映像ブロック結合部2701がその処理結果である異なる映像ブロックの低解像度映像データを結合する。
映像ブロックとは、図28に示すように、あるフレームの映像を任意の矩形で分割した領域のことを表す。映像ブロックの大きさや分割手法などはすべてのフレームにおいて同じでもよいし、例えば低解像度サンプリング点の数がなるべく均等になるように、制御部113がフレームごとに制御するように構成してもよい。
これにより、例えば、ある3次元データ処理部2400が1番目の映像ブロックの処理を行っているときに、異なる3次元データ処理部2400によって、2番目の映像ブロックあるいは3番目の映像ブロックなどの異なる映像ブロックの処理を同時に実行することが可能になるため、3次元データ処理部2400の処理がボトルネックとなることを防ぐことができる。
なお、制御部113は、複数の3次元データ処理部2400に処理を割り当てる際、その時点で相対的に最も負荷の小さい3次元データ処理部2400を選択して割り当てるように構成してもよい。
以上のように、本実施形態における映像描画装置によれば、第4の実施形態における映像描画装置において3次元データ処理部2400の処理がボトルネックとなるような場合でも、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
(第8の実施形態)2次元データ処理部のマルチコア化(フレームベース)
図29に第8の実施形態における映像描画装置2900の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図24の第4の実施形態における映像描画装置の2次元データ処理部2410を複数有することを特徴とする。
図29に第8の実施形態における映像描画装置2900の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図24の第4の実施形態における映像描画装置の2次元データ処理部2410を複数有することを特徴とする。
上述したように、図24の第4の実施形態における映像描画装置では、様々な要因に依存して、3次元データ処理部2400の処理量と2次元データ処理部2410の処理量のバランスが動的に変化する。そのため、あるフレームにおいて、2次元データ処理部2410の処理がボトルネックとなることによってフレームレートが低下してしまうことがある。
そこで本実施形態における映像描画装置では、制御部113が、複数の2次元データ処理部2410に対して異なるフレームの処理を割り当て、非同期に並列処理させることにより、2次元データ処理部2410の処理がボトルネックとなることを防ぐ。
これにより、例えば、ある2次元データ処理部2410が1番目のフレームの処理を行っているときに、異なる2次元データ処理部2410によって、2番目のフレームあるいは3番目のフレームなどの異なるフレームの処理を同時に実行することが可能になる。
なお、制御部113は、複数の2次元データ処理部2410に処理を割り当てる際、その時点で相対的に負荷の小さい2次元データ処理部2410を選択して割り当てるように構成してもよい。
以上のように、本実施形態における映像描画装置によれば、第4の実施形態における映像描画装置において2次元データ処理部2410の処理がボトルネックとなるような場合でも、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
(第9の実施形態)2次元データ処理部のマルチコア化(ブロックベース)
図30に第9の実施形態における映像描画装置3000の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図29の第8の実施形態における映像描画装置に対して低解像度映像ブロック分割部3001と高解像度映像ブロック結合部3002を追加したことを特徴とする。
図30に第9の実施形態における映像描画装置3000の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図29の第8の実施形態における映像描画装置に対して低解像度映像ブロック分割部3001と高解像度映像ブロック結合部3002を追加したことを特徴とする。
本実施形態における映像描画装置では、単一の3次元データ処理部2400から出力されたあるフレームにおける低解像度映像データを、低解像度映像ブロック分割部3001にて分割し、複数の2次元データ処理部2410に対して割り当て、非同期に並列処理させる。そして、その処理結果である異なる映像ブロックの高解像度映像データを、高解像度映像ブロック結合部3002にて結合する。
これにより、例えば、ある2次元データ処理部2410が1番目の映像ブロックの処理を行っているとき、異なる2次元データ処理部2410によって、2番目の映像ブロックあるいは3番目の映像ブロックなどの異なる映像ブロックの処理を同時に実行することが可能になるため、2次元データ処理部2410の処理がボトルネックとなることを防ぐことができる。
なお、映像ブロックの大きさや分割手法などはすべてのフレームにおいて同じでもよいし、例えば低解像度サンプリング点の数がなるべく均等になるように、制御部113が、低解像度映像ブロック分割部3001をフレームごとに制御するように構成してもよい。
また、制御部113は、複数の3次元データ処理部2400に処理を割り当てる際、その時点で相対的に最も負荷の小さい3次元データ処理部2400を選択して割り当てるように構成してもよい。
以上のように、本実施形態における映像描画装置によれば、第4の実施形態における映像描画装置において2次元データ処理部2410の処理がボトルネックとなるような場合でも、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
(第10の実施形態)3次元データ処理部と2次元データ処理部のマルチコア化(フレームベース、同じ並列度)
図31に第10の実施形態における映像描画装置3100の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図24の第4の実施形態における映像描画装置の3次元データ処理部2400および2次元データ処理部2410の両方を、複数有することを特徴とする。ただし、本実施形態における映像描画装置では、3次元データ処理部2400と2次元データ処理部2410の数が同じであり、1対1に接続されているものとする。
図31に第10の実施形態における映像描画装置3100の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図24の第4の実施形態における映像描画装置の3次元データ処理部2400および2次元データ処理部2410の両方を、複数有することを特徴とする。ただし、本実施形態における映像描画装置では、3次元データ処理部2400と2次元データ処理部2410の数が同じであり、1対1に接続されているものとする。
上述したように、図24の第4の実施形態における映像描画装置では、様々な要因に依存して、3次元データ処理部2400の処理量と2次元データ処理部2410の処理量のバランスが動的に変化する。そのため、あるフレームにおいて、3次元データ処理部2400の処理がボトルネックとなることによってフレームレートが低下してしまうことと、逆に2次元データ処理部2410の処理がボトルネックとなることによってフレームレートが低下してしまうことの両方が起きることがある。
そこで本実施形態における映像描画装置では、制御部113が、複数の3次元データ処理部2400およびそれらと1対1に接続された複数の2次元データ処理部2410に対して異なるフレームの処理を割り当て、非同期に並列処理させる。
これにより、例えば、1対1に接続されたある3次元データ処理部2400と2次元データ処理部2410の組が1番目のフレームの処理を行っているとき、異なる3次元データ処理部2400と2次元データ処理部2410の組によって、2番目のフレームあるいは3番目のフレームなどの異なるフレームの処理を同時に実行することが可能になるため、3次元データ処理部2400の処理がボトルネックとなることを防ぐとともに、2次元データ処理部2410の処理がボトルネックとなることも防ぐことができる。
なお、制御部113は、複数の3次元データ処理部2400およびそれらと1対1に接続された複数の2次元データ処理部2410の組に処理を割り当てる際、その時点で相対的に負荷の小さい組を選択して割り当てるように構成してもよい。
以上のように、本実施形態における映像描画装置によれば、第4の実施形態における映像描画装置において3次元データ処理部2400および2次元データ処理部2410のいずれの処理がボトルネックとなるような場合でも、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
(第11の実施形態)3次元データ処理部と2次元データ処理部のマルチコア化(ブロックベース、同じ並列度)
図32に第11の実施形態における映像描画装置3200の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図31の第10の実施形態における映像描画装置に対して高解像度映像ブロック結合部3002を追加したことを特徴とする。
図32に第11の実施形態における映像描画装置3200の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図31の第10の実施形態における映像描画装置に対して高解像度映像ブロック結合部3002を追加したことを特徴とする。
本実施形態における映像描画装置では、制御部113が、複数の3次元データ処理部2400およびそれらと1対1に接続された複数の2次元データ処理部2410に対して異なる映像ブロックの処理を割り当て、非同期に並列処理させる。そして、その処理結果である異なる映像ブロックの高解像度映像データを、高解像度映像ブロック結合部3002にて結合する。
これにより、例えば、1対1に接続されたある3次元データ処理部2400と2次元データ処理部2410の組が1番目の映像ブロックの処理を行っているとき、異なる3次元データ処理部2400と2次元データ処理部2410の組によって、2番目の映像ブロックあるいは3番目の映像ブロックなどの異なる映像ブロックの処理を同時に実行することが可能になるため、3次元データ処理部2400の処理がボトルネックとなることを防ぐとともに、2次元データ処理部2410の処理がボトルネックとなることも防ぐことができる。
なお、映像ブロックの大きさや分割手法などはすべてのフレームにおいて同じでもよいし、例えば低解像度サンプリング点の数がなるべく均等になるように、制御部113がフレームごとに制御するように構成してもよい。
また、制御部113は、複数の3次元データ処理部2400およびそれらと1対1に接続された複数の2次元データ処理部2410の組に処理を割り当てる際、その時点で相対的に負荷の小さい組を選択して割り当てるように構成してもよい。
以上のように、本実施形態における映像描画装置によれば、第4の実施形態における映像描画装置において3次元データ処理部2400および2次元データ処理部2410のいずれの処理がボトルネックとなるような場合でも、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
(第12の実施形態)3次元データ処理部と2次元データ処理部のマルチコア化(フレームベース、異なる並列度)
図33に第12の実施形態における映像描画装置3300の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図24の第4の実施形態における映像描画装置の3次元データ処理部2400および2次元データ処理部2410の両方を、複数有することを特徴とする。
図33に第12の実施形態における映像描画装置3300の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図24の第4の実施形態における映像描画装置の3次元データ処理部2400および2次元データ処理部2410の両方を、複数有することを特徴とする。
図24の第4の実施形態における映像描画装置とは異なり、本実施形態における映像描画装置では、3次元データ処理部2400と2次元データ処理部2410の数は同じである必要はなく、これらの間はバスで接続されているものとする。
本実施形態における映像描画装置では、制御部113が、複数の3次元データ処理部2400に対して異なるフレームの処理を割り当てるとともに、それらの処理結果を、その時点で相対的に負荷の小さい2次元データ処理部2410に対して割り当てる。
これにより、例えば、バスで接続されたある3次元データ処理部2400と2次元データ処理部2410の組が1番目のフレームの処理を行っているとき、異なる3次元データ処理部2400と2次元データ処理部2410の組によって、2番目のフレームあるいは3番目のフレームなどの異なるフレームの処理を同時に実行することが可能になるため、3次元データ処理部2400の処理がボトルネックとなることを防ぐとともに、2次元データ処理部2410の処理がボトルネックとなることも防ぐことができる。
また、負荷の小さい2次元データ処理部2410に優先的に処理が割り当てられることにより、各2次元データ処理部2410の稼働率が向上し、その結果、フレームレートを向上することができる。
なお、制御部113は、複数の3次元データ処理部2400に処理を割り当てる際、その時点で相対的に負荷の小さいものを選択して割り当てるように構成してもよい。
以上のように、本実施形態における映像描画装置によれば、第4の実施形態における映像描画装置において3次元データ処理部2400および2次元データ処理部2410のいずれの処理がボトルネックとなるような場合でも、高品質な高解像度グローバルイルミネーション映像をよりインタラクティブに描画することが可能になる。
(第13の実施形態)3次元データ処理部と2次元データ処理部のマルチコア化(ブロックベース、異なる並列度)
図34に第13の実施形態における映像描画装置3400の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図33の第12の実施形態における映像描画装置に対して低解像度映像ブロック分配部3401を追加したことを特徴とする。図33の第12の実施形態における映像描画装置と同様に、本実施形態における映像描画装置では、3次元データ処理部2400と2次元データ処理部2410の数は同じである必要はない。
図34に第13の実施形態における映像描画装置3400の構成を示す。この図から分かるように、本実施形態における映像描画装置は、図33の第12の実施形態における映像描画装置に対して低解像度映像ブロック分配部3401を追加したことを特徴とする。図33の第12の実施形態における映像描画装置と同様に、本実施形態における映像描画装置では、3次元データ処理部2400と2次元データ処理部2410の数は同じである必要はない。
本実施形態における映像描画装置では、制御部113が、複数の3次元データ処理部2400に対して異なる映像ブロックの処理を割り当て、非同期に並列処理させる。その処理結果である異なる映像ブロックの低解像度映像データは、低解像度映像ブロック分配部3401にて、その時点で相対的に負荷の小さい2次元データ処理部2410へと分配される。このとき、低解像度映像ブロック分配部3401は、3次元データ処理部2400から受け取った異なる映像ブロックの低解像度映像データを一旦結合し、任意の数あるいは任意の大きさの映像ブロックに再分割してから、2次元データ処理部2410に分配するように構成してもよい。これにより、異なる映像ブロックの処理を同時に実行することが可能になる。
また、負荷の小さい2次元データ処理部2410に優先的に処理が割り当てられることにより、各2次元データ処理部2410の稼働率が向上し、その結果、フレームレートを向上することができる。
なお、制御部113は、複数の3次元データ処理部2400に処理を割り当てる際、その時点で相対的に負荷の小さいものを選択して割り当てるように構成してもよい。
以上のように、本実施形態における映像描画装置によれば、第4の実施形態における映像描画装置において3次元データ処理部2400および2次元データ処理部2410のいずれの処理がボトルネックとなるような場合でも、高品質な高解像度グローバルイルミネーション映像をよりインタラクティブに描画することが可能になる。
(第14の実施形態)データ量依存のサンプリング点数の動的制御
第14の実施形態における映像描画装置の構成は、図24の第4の実施形態における構成と同じである。本実施形態における映像描画装置の特徴は、3次元データ処理部2400に有される第1解像度映像列記憶部108と、2次元データ処理部2410に有される第1解像度映像列記憶部108の間を流れるデータ量(制御部113が測定する)に応じて、3次元データ処理部2400に含まれている制御部113が、交点座標計算部103にて計算される交点の数(1フレームあたりの低解像度映像データの量)を動的に制御することである。例えば、3次元データ処理部2400と2次元データ処理部2410がネットワークを介して接続されている場合、このネットワーク上を他の機器から転送されたデータが流れることにより、ネットワークの混雑度が変化することがある。
第14の実施形態における映像描画装置の構成は、図24の第4の実施形態における構成と同じである。本実施形態における映像描画装置の特徴は、3次元データ処理部2400に有される第1解像度映像列記憶部108と、2次元データ処理部2410に有される第1解像度映像列記憶部108の間を流れるデータ量(制御部113が測定する)に応じて、3次元データ処理部2400に含まれている制御部113が、交点座標計算部103にて計算される交点の数(1フレームあたりの低解像度映像データの量)を動的に制御することである。例えば、3次元データ処理部2400と2次元データ処理部2410がネットワークを介して接続されている場合、このネットワーク上を他の機器から転送されたデータが流れることにより、ネットワークの混雑度が変化することがある。
そこで本実施形態における映像描画装置では、3次元データ処理部2400に有される第1解像度映像列記憶部108と、2次元データ処理部2410に有される第1解像度映像列記憶部108の間を流れるデータ量が相対的に多いとき、3次元データ処理部2400に含まれている制御部113が、交点座標計算部103にて計算される交点の数を相対的に少なくすることにより、1フレームあたりの低解像度映像データの量を減らす。
これにより、3次元データ処理部2400に有される第1解像度映像列記憶部108と、2次元データ処理部2410に有される第1解像度映像列記憶部108の間の転送がボトルネックになることを防ぐことができるため、安定したフレームレートで高解像度グローバルイルミネーション映像を描画することが可能になる。
逆に、3次元データ処理部2400に有される第1解像度映像列記憶部108と、2次元データ処理部2410に有される第1解像度映像列記憶部108の間を流れるデータ量が相対的に少ないとき、3次元データ処理部2400に含まれている制御部113が、交点座標計算部103にて計算される交点の数を相対的に多くすることにより、1フレームあたりの低解像度映像データの量を増やす。これにより、第3解像度映像計算部110において利用することのできる交点(サンプリング点)の数が増えるため、より高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
以上のように、本実施形態における映像描画装置によれば、3次元データ処理部2400と2次元データ処理部2410の間を流れるデータ量が外因により変化した場合でも、フレームレートを安定に保ちながら、できるだけ高品質な高解像度グローバルイルミネーション映像を描画することが可能になる。
(第15の実施形態)バンド幅依存のサンプリング点数の動的制御
本実施形態における映像描画装置の特徴は、図1の第1の実施形態および第2の実施形態および第3の実施形態における映像描画装置、あるいは図24の第4の実施形態における映像描画装置が有する第1解像度映像列記憶部108のバンド幅(帯域幅)の広さに応じて、制御部113が、交点座標計算部103にて計算される交点の数(1フレームあたりの低解像度映像データの量)を動的に制御することである。
本実施形態における映像描画装置の特徴は、図1の第1の実施形態および第2の実施形態および第3の実施形態における映像描画装置、あるいは図24の第4の実施形態における映像描画装置が有する第1解像度映像列記憶部108のバンド幅(帯域幅)の広さに応じて、制御部113が、交点座標計算部103にて計算される交点の数(1フレームあたりの低解像度映像データの量)を動的に制御することである。
例えば、第1解像度映像列記憶部108が単一の大きなメモリ上の一部に構成されており、そのメモリの残りの部分が他の機器からもアクセスされるとする。あるフレームにおいて、この他の機器からのアクセスが集中すると、メモリのバンド幅が消費されてしまい、第1解像度映像列記憶部108のバンド幅が狭くなることがある。
そこで本実施形態における映像描画装置では、第1解像度映像列記憶部108のバンド幅が相対的に狭いとき、制御部113が、交点座標計算部103にて計算される交点の数を相対的に少なくすることにより、1フレームあたりの低解像度映像データの量を減らす。これにより、第1解像度映像列記憶部108とのデータ転送がボトルネックになることを防ぐことができるため、安定したフレームレートで高解像度グローバルイルミネーション映像を描画することが可能になる。
逆に、第1解像度映像列記憶部108のバンド幅が相対的に広いとき、制御部113が、交点座標計算部103にて計算される交点の数を相対的に多くすることにより、1フレームあたりの低解像度映像データの量を増やす。これにより、第3解像度映像計算部110において利用することのできる交点(サンプリング点)の数が増えるため、より高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することが可能になる。
以上のように、本実施形態における映像描画装置によれば、第1解像度映像列記憶部108のバンド幅が外因により変化した場合でも、フレームレートを安定に保ちながら、できるだけ高品質な高解像度グローバルイルミネーション映像を描画することが可能になる。
(第16の実施形態)インタラクティブ性依存のサンプリング点数の動的制御
図35に第16の実施形態における映像描画装置の構成を示す。第16の実施形態における映像描画装置の特徴は、現在のフレームにおいて描画している映像のインタラクティブ性の高さに応じて、制御部113が交点座標計算部103にて計算される交点の数(1フレームあたりの低解像度映像データの量)を動的に制御することである。
図35に第16の実施形態における映像描画装置の構成を示す。第16の実施形態における映像描画装置の特徴は、現在のフレームにおいて描画している映像のインタラクティブ性の高さに応じて、制御部113が交点座標計算部103にて計算される交点の数(1フレームあたりの低解像度映像データの量)を動的に制御することである。
例えば、現在のフレームにおいてユーザの入力に応じて動的に変化しなければならない映像を描画しているとき、制御部113が、交点座標計算部103にて計算される交点の数を相対的に少なくすることにより、1フレームあたりの低解像度映像データの量を減らす。これにより、後段のブロックが処理するデータ量が少なくなるため、安定したフレームレートで高解像度グローバルイルミネーション映像を描画することが可能になる。
逆に、現在のフレームにおいてユーザの入力に応じて変化しない静的な映像(例えばゲームにおけるリプレイシーンの映像)を描画しているとき、制御部113が、交点座標計算部103にて計算される交点の数を相対的に多くすることにより、1フレームあたりの低解像度映像データの量を増やす。これにより、第3解像度映像計算部110において利用することのできる交点(サンプリング点)の数が増えるため、より高品質な高解像度グローバルイルミネーション映像を描画することが可能になる。
なお、現在のフレームのインタラクティブ性の高さは、あらかじめCGデータ記憶部101に数値データとして保持されているものとする。インタラクティブ性評価部3501はこの数値データをCGデータ記憶部101から取得し、その値に基づいて評価値を出力する。取得したデータをそのまま評価値としてもよいし、あるいは、取得したデータと動きベクトルなどの他のCGデータを組み合わせて評価値を計算してもよい。
制御部113はインタラクティブ性評価部3501が出力する評価値を受け取り、その値に基づいて交点座標計算部103にて計算される交点の数を動的に制御する。
以上のように、本実施形態における映像描画装置によれば、現在のフレームにおいて描画している映像に求められるインタラクティブ性の高さに応じて、フレームレートと品質のトレードオフを動的に調整することが可能になる。
(第17の実施形態)消費電力依存のサンプリング点数の動的制御
第17の実施形態における映像描画装置の特徴は、図1の第1の実施形態および第2の実施形態および第3の実施形態における映像描画装置、あるいは図24の第4の実施形態における映像描画装置に有される制御部113が、現在の消費電力に応じて、交点座標計算部103にて計算される交点の数(1フレームあたりの低解像度映像データの量)を動的に制御することである。制御部113が、現在の消費電力を測定する。
第17の実施形態における映像描画装置の特徴は、図1の第1の実施形態および第2の実施形態および第3の実施形態における映像描画装置、あるいは図24の第4の実施形態における映像描画装置に有される制御部113が、現在の消費電力に応じて、交点座標計算部103にて計算される交点の数(1フレームあたりの低解像度映像データの量)を動的に制御することである。制御部113が、現在の消費電力を測定する。
例えば、現在のフレームにおける消費電力が相対的に高いとき、制御部113が、交点座標計算部103にて計算される交点の数を相対的に少なくすることにより、1フレームあたりの低解像度映像データの量を減らす。これにより、後段のブロックが処理するデータ量が少なくなるため、消費電力の上昇を抑えながら高解像度グローバルイルミネーション映像を描画することが可能になる。
逆に、現在のフレームにおける消費電力が相対的に低いとき、制御部113が、交点座標計算部103にて計算される交点の数を相対的に多くすることにより、1フレームあたりの低解像度映像データの量を増やす。これにより、第3解像度映像計算部110において利用することのできる交点(サンプリング点)の数が増えるため、より高品質な高解像度グローバルイルミネーション映像を描画することが可能になる。
以上のように、本実施形態における映像描画装置によれば、消費電力の上昇を抑えながら、できるだけ高品質な高解像度グローバルイルミネーション映像を描画することが可能になる。
以上に示した実施形態の映像描画装置、方法およびプログラムによれば、複数フレームの低解像度サンプリング点をフィルタリングすることにより、1フレームあたりのサンプリング点の数を従来よりも少なくすることができ、その結果、高品質な高解像度グローバルイルミネーション映像をインタラクティブに描画することができる。CGを描画する際に求まるサンプリング点の動きベクトルとオブジェクトIDを利用することにより、マッチングの計算を高速かつ安定に実現することができる。
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態のコンピュータグラフィックスデータ符号化装置および復号化装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態のコンピュータグラフィックスデータ符号化装置および復号化装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーションシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーションシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
101…データ記憶部、102…座標変換部、103…交点座標計算部、104…ベクトル計算部、105…交点カラー計算部、106…交点オブジェクトID割り当て部、107…交点投影部、108…第1解像度映像列記憶部、109…第2解像度映像計算部、110…第3解像度映像計算部、111…高解像度映像記憶部、112…提示部、113…制御部、2400…3次元データ処理部、2410…2次元データ処理部、2600…映像描画装置、2700…映像描画装置、2701…低解像度映像ブロック結合部、2900…映像描画装置、3000…映像描画装置、3001…低解像度映像ブロック分割部、3002…高解像度映像ブロック結合部、3100…映像描画装置、3200…映像描画装置、3300…映像描画装置、3400…映像描画装置、3401…低解像度映像ブロック分配部、3501…インタラクティブ性評価部。
Claims (22)
- 座標変換に関するデータ、カメラに関するデータ、ジオメトリに関するデータ、光源に関するデータ、テクスチャに関するデータを含むCGデータを記憶しているCGデータ記憶手段と、
前記CGデータの座標系を視点から見た座標系であるカメラ座標系に座標変換する座標変換手段と、
前記座標変換されたCGデータを用いて、表示される画像面のピクセルからサンプリングしたサンプリング点を通る視線ベクトルと、前記画像内のオブジェクトと、の交点の3次元座標を計算する交点座標計算手段と、
前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における3次元動きベクトルを計算する交点動きベクトル計算手段と、
前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標におけるカラー値を計算する交点カラー計算手段と、
前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における、オブジェクトごとに異なる、交点のオブジェクトIDを割り当てる交点オブジェクトID割り当て手段と、
前記座標変換されたCGデータを用いて、前記計算された交点の3次元座標と、前記計算された交点の3次元動きベクトルと、を投影面に投影して、交点の2次元座標および交点の2次元動きベクトルを計算する交点投影手段と、
前記計算された、交点の2次元座標および交点の2次元動きベクトルと、前記計算された、交点のカラー値と、前記割り当てられた、交点のオブジェクトIDとを、フレーム単位にひとまとめにして低解像度映像データとして記憶する第1解像度映像列記憶手段と、
前記第1解像度映像列記憶手段に記憶されている現在のフレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている現在のフレームとは時間的に異なる複数フレームの低解像度映像データと、を重ね合わせて、中解像度映像データを計算する中解像度映像計算手段と、
前記計算された中解像度映像データをフィルタリングして、高解像度映像データを計算する高解像度映像計算手段と、
前記計算された高解像度映像データをフレーム単位で記憶する高解像度映像記憶手段と、
前記高解像度映像データを提示する提示手段と、を具備することを特徴とする映像描画装置。 - 前記中解像度映像計算手段は、前記第1解像度映像列記憶手段に記憶されている現在のフレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている現在のフレームよりも時間的に後の複数フレームの低解像度映像データと、を重ね合わせて中解像度映像データを計算することを特徴とする請求項1に記載の映像描画装置。
- 前記中解像度映像計算手段は、前記第1解像度映像列記憶手段に記憶されている現在のフレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている現在のフレームよりも時間的に前の複数フレームの低解像度映像データと、を重ね合わせて中解像度映像データを計算することを特徴とする請求項1に記載の映像描画装置。
- 前記中解像度映像計算手段は、前記第1解像度映像列記憶手段に記憶されている現在のフレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている現在のフレームよりも時間的に後の複数フレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている現在のフレームよりも時間的に前の複数フレームの低解像度映像データと、を重ね合わせて中解像度映像データを計算することを特徴とする請求項1に記載の映像描画装置。
- 前記中解像度映像計算手段は、
前記第1解像度映像列記憶手段に記憶されている現在のフレームの低解像度映像データに含まれている交点の2次元座標および交点の2次元動きベクトルを取得する第1取得手段と、
前記第1解像度映像列記憶手段に記憶されている現在のフレームとは時間的に異なる各フレームの低解像度映像データに含まれている交点の2次元座標および交点の2次元動きベクトルを取得する第2取得手段と、
前記第2取得手段で取得された2次元動きベクトルの中から、現在のフレームに戻る動きを示すものを選択する選択手段と、
前記選択された2次元動きベクトルに対応する低解像度映像データと、前記現在のフレームの低解像度映像データと、を加算する加算手段と、を具備することを特徴とする請求項1から請求項4のいずれか1項に記載の映像描画装置。 - 前記高解像度映像計算手段は、
前記提示される高解像度映像データに応じて複数のピクセルを選択するピクセル選択手段と、
前記ピクセルごとに、前記計算された中解像度映像データに含まれている交点の中から、ピクセルを中心としたある大きさの領域に含まれている複数の第1交点を選択する第1交点選択手段と、
前記選択された第1交点のうち、現在とは異なるフレームに含まれていた第2交点を選択する第2交点選択手段と、
前記選択された第2交点ごとに、各第2交点を中心とした、前記オブジェクトに応じて決まる大きさの領域に、現在のフレームに含まれている第3交点を選択する第3交点選択手段と、
前記第2交点のオブジェクトIDと、前記第3交点のオブジェクトIDとを比較する比較手段と、
前記比較手段により、前記第2交点のオブジェクトIDと、前記第3交点のオブジェクトIDとが異なる場合には、該第2交点を中解像度映像データから除外する除外手段と、
前記中解像度映像データに含まれている交点の中で除外されなかった交点に基づいて、前記複数のピクセルのカラー値を計算する計算手段と、を具備することを特徴とする請求項1から請求項5のいずれか1項に記載の映像描画装置。 - 3次元データ処理部と2次元データ処理部とを具備する映像描画装置において、
前記3次元データ処理部は、
座標変換に関するデータ、カメラに関するデータ、ジオメトリに関するデータ、光源に関するデータ、テクスチャに関するデータを含むCGデータを記憶しているCGデータ記憶手段と、
前記CGデータの座標系を視点から見た座標系であるカメラ座標系に座標変換する座標変換手段と、
前記座標変換されたCGデータを用いて、表示される画像面のピクセルからサンプリングしたサンプリング点を通る視線ベクトルと、前記画像内のオブジェクトと、の交点の3次元座標を計算する交点座標計算手段と、
前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における3次元動きベクトルを計算する交点動きベクトル計算手段と、
前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標におけるカラー値を計算する交点カラー計算手段と、
前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における、オブジェクトごとに異なる、交点のオブジェクトIDを割り当てる交点オブジェクトID割り当て手段と、
前記座標変換されたCGデータを用いて、前記計算された交点の3次元座標と、前記計算された交点の3次元動きベクトルと、を投影面に投影して、交点の2次元座標および交点の2次元動きベクトルを計算する交点投影手段と、
前記計算された、交点の2次元座標および交点の2次元動きベクトルと、前記計算された、交点のカラー値と、前記割り当てられた、交点のオブジェクトIDとを、フレーム単位にひとまとめにして低解像度映像データとして記憶する第1解像度映像列記憶手段と、を具備し、
前記2次元データ処理部は、
前記計算された、交点の2次元座標および交点の2次元動きベクトルと、前記計算された、交点のカラー値と、前記割り当てられた、交点のオブジェクトIDとを、フレーム単位にひとまとめにして低解像度映像データとして記憶する第1解像度映像列記憶手段と、
前記第1解像度映像列記憶手段に記憶されている現在のフレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている現在のフレームとは時間的に異なる複数フレームの低解像度映像データとを重ね合わせて、中解像度映像データを計算する中解像度映像計算手段と、
前記計算された中解像度映像データをフィルタリングして、高解像度映像データを計算する高解像度映像計算手段と、
前記計算された高解像度映像データをフレーム単位で記憶する高解像度映像記憶手段と、
前記高解像度映像データを提示する提示手段と、を具備することを特徴とする映像描画装置。 - 前記3次元データ処理部と前期2次元データ処理部の間を流れるデータ量を測定する測定手段と、
前記測定されたデータ量に応じて、前記交点座標計算手段にて計算される、交点の数を制御する制御手段をさらに具備することを特徴とする請求項7に記載の映像描画装置。 - 前記低解像度映像列記憶部のバンド幅を測定する測定手段と、
前記バンド幅に応じて、前記交点座標計算手段にて計算される、交点の数を制御する制御手段をさらに具備することを特徴とする請求項1から請求項7のいずれか1項に記載の映像描画装置。 - 現在のフレームにおいて描画している映像に求められるインタラクティブ性の高さを評価するインタラクティブ評価手段と、
前記インタラクティブ性の高さに応じて、前記交点座標計算手段にて計算される、交点の数を制御する制御手段と、をさらに具備することを特徴とする請求項1から請求項7のいずれか1項に記載の映像描画装置。 - 現在のフレームにおける消費電力を測定する測定手段と、
前記測定された消費電力に応じて、前記交点座標計算手段にて計算される、交点の数を制御する制御手段と、をさらに具備することを特徴とする請求項1から請求項7のいずれか1項に記載の映像描画装置。 - 視点から見た座標系であるカメラ座標系に座標変換されたCGデータを用いて、表示される画像面のピクセルからサンプリングしたサンプリング点を通る視線ベクトルと、前記画像内のオブジェクトと、の交点の3次元座標および該交点の3次元座標における3次元動きベクトルを投影面に投影して得る交点の2次元座標および交点の2次元動きベクトルと、前記交点の3次元座標における交点のカラー値と、前記交点の3次元座標における、オブジェクトごとに異なる、交点のオブジェクトIDを割り当てられた、交点のオブジェクトIDとを、フレーム単位にひとまとめにして低解像度映像データとして記憶している第1解像度映像列記憶手段と、
前記第1解像度映像列記憶手段に記憶されている、現在のフレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている、現在のフレームとは時間的に異なる複数フレームの低解像度映像データと、を重ね合わせて、中解像度映像データを計算する中解像度映像計算手段と、
前記計算された中解像度映像データをフィルタリングして、高解像度映像データを計算する高解像度映像計算手段と、
前記計算された高解像度映像データをフレーム単位で記憶する高解像度映像記憶手段と、
前記高解像度映像データを提示する提示手段と、を具備することを特徴とする映像描画装置。 - 請求項7に記載の3次元データ処理部を複数個有し、各該3次元データ処理部は、他の3次元データ処理部とは異なるフレームについて処理を行い、
請求項7に記載の単一の2次元データ処理部を有し、該2次元データ処理部は、各前記3次元データ処理部からの低解像度映像データを受け付けることを特徴とする映像描画装置。 - 請求項7に記載の3次元データ処理部を複数個有し、各前記3次元データ処理部は、同一のフレームの映像を任意の形状で分割した複数の領域である複数の映像ブロックのうち、他の3次元データ処理部とは異なる映像ブロックについて処理を行い、
前記各3次元データ処理部から映像ブロックごとの低解像度映像データを受け取り、該低解像度映像データをフレームごとに結合して、フレーム単位にひとまとめにして低解像度映像データを取得する低解像度映像ブロック結合手段を有し、
請求項7に記載の単一の2次元データ処理部を有し、該2次元データ処理部は、前記低解像度映像ブロック結合手段からの低解像度映像データを受け付けることを特徴とする映像描画装置。 - 請求項7に記載の3次元データ処理部を有し、
請求項7に記載の2次元データ処理部を複数個有し、各該2次元データ処理部は、他の2次元データ処理部とは異なるフレームについて処理を行うことを特徴とする映像描画装置。 - 請求項7に記載の単一の3次元データ処理部と、
前記計算された低解像度映像データを、同一のフレームの映像を任意の形状で分割した複数の領域である複数の映像ブロックに分割する低解像度映像ブロック分割手段と、
請求項7に記載の2次元データ処理部を複数個有し、各該2次元データ処理部は、他の2次元データ処理部とは異なる映像ブロックについて処理を行い、
各前記2次元データ処理部にて計算された高解像度映像データの各映像ブロックを結合する高解像度映像ブロック結合手段と、を具備することを特徴とする映像描画装置。 - 請求項7に記載の3次元データ処理部を複数個有し、各該3次元データ処理部は、他の3次元データ処理部とは異なるフレームについて処理を行い、
請求項7に記載の2次元データ処理部を複数個有し、各該2次元データ処理部は、各前記3次元データ処理部と1対1に接続して、各前記3次元データ処理部からのフレームごとの低解像度映像データを受け付けることを特徴とする映像描画装置。 - 請求項7に記載の3次元データ処理部を複数個有し、各該3次元データ処理部は、同一のフレームの映像を任意の形状で分割した複数の領域である複数の映像ブロックのうち、他の3次元データ処理部とは異なる映像ブロックについて処理を行い、
請求項7に記載の2次元データ処理部を複数個有し、各該2次元データ処理部は、各前記3次元データ処理部と1対1に接続して、各前記3次元データ処理部からの映像ブロックごとの低解像度映像データを受け付け、
各前記2次元データ処理部にて計算された高解像度映像データの各映像ブロックを結合する高解像度映像ブロック結合部を有することを特徴とする映像描画装置。 - 請求項7に記載の3次元データ処理部を複数個有し、各該3次元データ処理部は、他の3次元データ処理部とは異なるフレームについて処理を行い、
請求項7に記載の2次元データ処理部を複数個有し、各該2次元データ処理部は、それぞれ前記複数の3次元データ処理部のうちからある3次元データ処理部を選択し、該選択された3次元データ処理部からフレームごとの低解像度映像データを受け付けることを特徴とする映像描画装置。 - 請求項7に記載の3次元データ処理部を複数個有し、各該3次元データ処理部は、同一のフレームの映像を任意の形状で分割した複数の領域である複数の映像ブロックのうち、他の3次元データ処理部とは異なる映像ブロックについて処理を行い、
前記各3次元データ処理部から映像ブロックごとの低解像度映像データを受け取り、各フレームを任意の大きさの映像ブロックに分割した低解像度映像データを再構成する低解像度映像ブロック分配手段と、
請求項7に記載の2次元データ処理部を複数個有し、各該2次元データ処理部は、各2次元データ処理部の負荷に応じた大きさの映像ブロックの低解像度映像データを受け付け、
各前記2次元データ処理部にて計算された高解像度映像データの各映像ブロックを結合する高解像度映像ブロック結合手段と、を具備することを特徴とする映像描画装置。 - 座標変換に関するデータ、カメラに関するデータ、ジオメトリに関するデータ、光源に関するデータ、テクスチャに関するデータを含むCGデータを記憶しているCGデータ記憶手段を用意し、
前記CGデータの座標系を視点から見た座標系であるカメラ座標系に座標変換し、
前記座標変換されたCGデータを用いて、表示される画像面のピクセルからサンプリングしたサンプリング点を通る視線ベクトルと、前記画像内のオブジェクトと、の交点の3次元座標を計算し、
前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における3次元動きベクトルを計算し、
前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標におけるカラー値を計算し、
前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における、オブジェクトごとに異なる、交点のオブジェクトIDを割り当て、
前記座標変換されたCGデータを用いて、前記計算された交点の3次元座標と、前記計算された交点の3次元動きベクトルと、を投影面に投影して、交点の2次元座標および交点の2次元動きベクトルを計算し、
前記計算された、交点の2次元座標および交点の2次元動きベクトルと、前記計算された、交点のカラー値と、前記割り当てられた、交点のオブジェクトIDとを、フレーム単位にひとまとめにして低解像度映像データとして記憶する第1解像度映像列記憶手段を用意し、
前記第1解像度映像列記憶手段に記憶されている現在のフレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている現在のフレームとは時間的に異なる複数フレームの低解像度映像データと、を重ね合わせて、中解像度映像データを計算し、
前記計算された中解像度映像データをフィルタリングして、高解像度映像データを計算し、
前記計算された高解像度映像データをフレーム単位で記憶する高解像度映像記憶手段を用意し、
前記高解像度映像データを提示することを特徴とする映像描画方法。 - コンピュータを、
座標変換に関するデータ、カメラに関するデータ、ジオメトリに関するデータ、光源に関するデータ、テクスチャに関するデータを含むCGデータを記憶しているCGデータ記憶手段と、
前記CGデータの座標系を視点から見た座標系であるカメラ座標系に座標変換する座標変換手段と、
前記座標変換されたCGデータを用いて、表示される画像面のピクセルからサンプリングしたサンプリング点を通る視線ベクトルと、前記画像内のオブジェクトと、の交点の3次元座標を計算する交点座標計算手段と、
前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における3次元動きベクトルを計算する交点動きベクトル計算手段と、
前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標におけるカラー値を計算する交点カラー計算手段と、
前記座標変換されたCGデータを用いて、前記計算された、交点の3次元座標における、オブジェクトごとに異なる、交点のオブジェクトIDを割り当てる交点オブジェクトID割り当て手段と、
前記座標変換されたCGデータを用いて、前記計算された交点の3次元座標と、前記計算された交点の3次元動きベクトルと、を投影面に投影して、交点の2次元座標および交点の2次元動きベクトルを計算する交点投影手段と、
前記計算された、交点の2次元座標および交点の2次元動きベクトルと、前記計算された、交点のカラー値と、前記割り当てられた、交点のオブジェクトIDとを、フレーム単位にひとまとめにして低解像度映像データとして記憶する第1解像度映像列記憶手段と、
前記第1解像度映像列記憶手段に記憶されている現在のフレームの低解像度映像データと、前記第1解像度映像列記憶手段に記憶されている現在のフレームとは時間的に異なる複数フレームの低解像度映像データと、を重ね合わせて、中解像度映像データを計算する中解像度映像計算手段と、
前記計算された中解像度映像データをフィルタリングして、高解像度映像データを計算する高解像度映像計算手段と、
前記計算された高解像度映像データをフレーム単位で記憶する高解像度映像記憶手段と、
前記高解像度映像データを提示する提示手段として機能させるための映像描画プログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005251512A JP2007066012A (ja) | 2005-08-31 | 2005-08-31 | 映像描画装置、方法およびプログラム |
US11/387,791 US7420559B2 (en) | 2005-08-31 | 2006-03-24 | Video rendering apparatus and method and program |
KR1020060054463A KR100816929B1 (ko) | 2005-08-31 | 2006-06-16 | 비디오 묘화장치와 방법 및 비디오 묘화프로그램을 기록한컴퓨터 독출가능 기록매체 |
CNA2006101264816A CN1924931A (zh) | 2005-08-31 | 2006-08-31 | 视频绘制装置及方法 |
US12/184,893 US20090016429A1 (en) | 2005-08-31 | 2008-08-01 | Video rendering apparatus and method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005251512A JP2007066012A (ja) | 2005-08-31 | 2005-08-31 | 映像描画装置、方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007066012A true JP2007066012A (ja) | 2007-03-15 |
Family
ID=37803439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005251512A Abandoned JP2007066012A (ja) | 2005-08-31 | 2005-08-31 | 映像描画装置、方法およびプログラム |
Country Status (4)
Country | Link |
---|---|
US (2) | US7420559B2 (ja) |
JP (1) | JP2007066012A (ja) |
KR (1) | KR100816929B1 (ja) |
CN (1) | CN1924931A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015166684A1 (ja) * | 2014-04-30 | 2015-11-05 | ソニー株式会社 | 画像処理装置と画像処理方法 |
CN105225264A (zh) * | 2014-06-27 | 2016-01-06 | 三星电子株式会社 | 基于运动的自适应渲染 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1637957A1 (en) * | 2004-09-21 | 2006-03-22 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for accessing protected data |
US7813552B2 (en) * | 2004-09-23 | 2010-10-12 | Mitsubishi Denki Kabushiki Kaisha | Methods of representing and analysing images |
US7974370B2 (en) * | 2006-12-27 | 2011-07-05 | Freescale Semiconductor, Inc. | Parallel processing for single antenna interference cancellation |
US8547396B2 (en) * | 2007-02-13 | 2013-10-01 | Jaewoo Jung | Systems and methods for generating personalized computer animation using game play data |
JP4948349B2 (ja) * | 2007-10-02 | 2012-06-06 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
JP5347440B2 (ja) * | 2008-11-10 | 2013-11-20 | 日本電気株式会社 | 動画像処理装置 |
CN102543040B (zh) * | 2008-12-15 | 2014-10-15 | 富士通株式会社 | 用在图形光栅扫描中的凸多边形插值方法和系统 |
TWI493500B (zh) * | 2009-06-18 | 2015-07-21 | Mstar Semiconductor Inc | 使二維影像呈現出三維效果之影像處理方法及相關影像處理裝置 |
CN102132324A (zh) * | 2009-06-24 | 2011-07-20 | 松下电器产业株式会社 | 图形描绘装置、图形描绘方法、图形描绘程序、记录图形描绘程序的记录介质、集成电路 |
US8351768B2 (en) * | 2009-07-23 | 2013-01-08 | Microsoft Corporation | Media processing comparison system and techniques |
JP6013920B2 (ja) * | 2010-02-15 | 2016-10-25 | トムソン ライセンシングThomson Licensing | ビデオコンテンツを処理するための装置および方法 |
US8868852B2 (en) * | 2010-07-07 | 2014-10-21 | Marvell World Trade Ltd. | Interface management control systems and methods for non-volatile semiconductor memory |
JP5576781B2 (ja) * | 2010-12-16 | 2014-08-20 | 株式会社メガチップス | 画像処理システム、画像処理システムの動作方法、ホスト装置、プログラム、およびプログラムの作成方法 |
CN102572456B (zh) * | 2010-12-22 | 2014-11-26 | 深圳Tcl新技术有限公司 | 一种眼镜式立体显示装置的色彩修正方法 |
US9628769B2 (en) | 2011-02-15 | 2017-04-18 | Thomson Licensing Dtv | Apparatus and method for generating a disparity map in a receiving device |
US8995755B2 (en) | 2011-09-30 | 2015-03-31 | Cyberlink Corp. | Two-dimensional to stereoscopic conversion systems and methods |
CN103258341B (zh) * | 2012-02-15 | 2015-04-01 | 腾讯科技(深圳)有限公司 | 一种三维投影挂点渲染方法及装置 |
KR102029055B1 (ko) * | 2013-02-08 | 2019-10-07 | 삼성전자주식회사 | 고차원 데이터의 시각화 방법 및 장치 |
US9811914B2 (en) * | 2013-06-17 | 2017-11-07 | Immedia Semiconductor, Inc. | Multi-window image processing and motion compensation |
KR102306780B1 (ko) | 2014-12-15 | 2021-09-30 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
US20170046769A1 (en) * | 2015-08-10 | 2017-02-16 | Measur3D, Inc. | Method and Apparatus to Provide A Clothing Model |
CN105744358B (zh) * | 2016-03-18 | 2018-09-14 | 青岛海信电器股份有限公司 | 视频播放的处理方法及装置 |
CN106709945B (zh) * | 2017-01-09 | 2018-03-06 | 方玉明 | 一种对于超分辨率图像的质量评价方法 |
US11164381B2 (en) | 2017-11-02 | 2021-11-02 | Gerber Technology Llc | Clothing model generation and display system |
US11138800B1 (en) | 2018-10-31 | 2021-10-05 | Facebook Technologies, Llc | Optimizations to reduce multi-channel ray casting for color sampling |
CN112449165B (zh) * | 2020-11-10 | 2023-03-31 | 维沃移动通信有限公司 | 投影方法、装置及电子设备 |
CN115035230B (zh) * | 2022-08-12 | 2022-12-13 | 浙江天猫技术有限公司 | 视频渲染处理方法、装置、设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7262770B2 (en) | 2002-03-21 | 2007-08-28 | Microsoft Corporation | Graphics image rendering with radiance self-transfer for low-frequency lighting environments |
US7212207B2 (en) | 2003-08-20 | 2007-05-01 | Sony Computer Entertainment Inc. | Method and apparatus for real-time global illumination incorporating stream processor based hybrid ray tracing |
US7382369B2 (en) * | 2003-10-10 | 2008-06-03 | Microsoft Corporation | Systems and methods for robust sampling for real-time relighting of objects in natural lighting environments |
KR100657937B1 (ko) * | 2004-12-14 | 2006-12-14 | 삼성전자주식회사 | 2차원 선형 데이터의 실시간 3차원 변환 방법 및 장치,그리고 이를 이용한 2차원 선형 데이터의 실시간 3차원시각화 방법 및 장치 |
KR100609145B1 (ko) * | 2004-12-20 | 2006-08-08 | 한국전자통신연구원 | 실시간 전역조명 효과를 위한 렌더링 장치 및 그 방법 |
US7407295B2 (en) * | 2005-07-26 | 2008-08-05 | Niranjan Damera-Venkata | Projection of overlapping sub-frames onto a surface using light sources with different spectral distributions |
US7470032B2 (en) * | 2005-10-27 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | Projection of overlapping and temporally offset sub-frames onto a surface |
US20070132965A1 (en) * | 2005-12-12 | 2007-06-14 | Niranjan Damera-Venkata | System and method for displaying an image |
-
2005
- 2005-08-31 JP JP2005251512A patent/JP2007066012A/ja not_active Abandoned
-
2006
- 2006-03-24 US US11/387,791 patent/US7420559B2/en not_active Expired - Fee Related
- 2006-06-16 KR KR1020060054463A patent/KR100816929B1/ko not_active IP Right Cessation
- 2006-08-31 CN CNA2006101264816A patent/CN1924931A/zh active Pending
-
2008
- 2008-08-01 US US12/184,893 patent/US20090016429A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015166684A1 (ja) * | 2014-04-30 | 2015-11-05 | ソニー株式会社 | 画像処理装置と画像処理方法 |
JPWO2015166684A1 (ja) * | 2014-04-30 | 2017-04-20 | ソニー株式会社 | 画像処理装置と画像処理方法 |
US10229483B2 (en) | 2014-04-30 | 2019-03-12 | Sony Corporation | Image processing apparatus and image processing method for setting an illumination environment |
CN105225264A (zh) * | 2014-06-27 | 2016-01-06 | 三星电子株式会社 | 基于运动的自适应渲染 |
Also Published As
Publication number | Publication date |
---|---|
US20070046666A1 (en) | 2007-03-01 |
US7420559B2 (en) | 2008-09-02 |
US20090016429A1 (en) | 2009-01-15 |
KR20070025965A (ko) | 2007-03-08 |
CN1924931A (zh) | 2007-03-07 |
KR100816929B1 (ko) | 2008-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007066012A (ja) | 映像描画装置、方法およびプログラム | |
EP2973422B1 (en) | Overlaying two-dimensional map data on a three-dimensional scene | |
EP3709256A1 (en) | View synthesis using neural networks | |
JP7058277B2 (ja) | 再構成方法および再構成装置 | |
US9495767B2 (en) | Indexed uniform styles for stroke rendering | |
US6664971B1 (en) | Method, system, and computer program product for anisotropic filtering and applications thereof | |
Liang et al. | Visualizing 3D atmospheric data with spherical volume texture on virtual globes | |
US11893676B2 (en) | Parallel texture sampling | |
Gaillard et al. | Urban data visualisation in a web browser | |
KR20130079819A (ko) | 절차적 방법에 의해 생성된 지형 데이터를 편집하는 방법 | |
Pasewaldt et al. | Multi-perspective 3D panoramas | |
CN114494559A (zh) | 一种基于多gpu协同的三维渲染融合方法、系统、介质 | |
JP4282587B2 (ja) | テクスチャ・マッピング装置 | |
CN113544746A (zh) | 图像处理装置和图像处理方法 | |
Huang et al. | Interactive illustrative rendering on mobile devices | |
Trapp et al. | Interactive Rendering and Stylization of Transportation Networks using Distance Fields. | |
Trapp et al. | Colonia 3D communication of virtual 3D reconstructions in public spaces | |
She et al. | An efficient method for rendering linear symbols on 3D terrain using a shader language | |
JP2005332195A (ja) | テクスチャユニット、画像描画装置、テクセル転送方法 | |
US20220292758A1 (en) | Fine grained interleaved rendering applications in path tracing | |
US11941782B2 (en) | GPU-based lens blur rendering using depth maps | |
Schoedon et al. | Interactive Web-based Visualization for Accessibility Mapping of Transportation Networks. | |
KR100684558B1 (ko) | 텍스쳐 밉매핑 장치 및 방법 | |
CN116883575B (zh) | 建筑群渲染方法、装置、计算机设备和存储介质 | |
CN114051090B (zh) | 一种全景视频中投放资源的方法及显示设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061221 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20090615 |