JP6802928B2 - 画像生成装置および画像生成方法 - Google Patents

画像生成装置および画像生成方法 Download PDF

Info

Publication number
JP6802928B2
JP6802928B2 JP2019540772A JP2019540772A JP6802928B2 JP 6802928 B2 JP6802928 B2 JP 6802928B2 JP 2019540772 A JP2019540772 A JP 2019540772A JP 2019540772 A JP2019540772 A JP 2019540772A JP 6802928 B2 JP6802928 B2 JP 6802928B2
Authority
JP
Japan
Prior art keywords
image
displacement
pixel
polygon
vector
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.)
Active
Application number
JP2019540772A
Other languages
English (en)
Other versions
JPWO2019049457A1 (ja
Inventor
佐々木 伸夫
伸夫 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of JPWO2019049457A1 publication Critical patent/JPWO2019049457A1/ja
Application granted granted Critical
Publication of JP6802928B2 publication Critical patent/JP6802928B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/06Curved planar reformation of 3D line structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、オブジェクトモデルを表す表示画像を生成する画像生成装置および画像生成方法に関する。
3次元コンピュータグラフィクスは分野を問わず身近な技術となっている。近年では、ヘッドマウントディスプレイに仮想世界の画像を表示させ、ユーザの頭部の動きに応じて視野を変化させることにより仮想現実を実現する技術が普及しつつある。表示装置の種類によらず、ユーザ操作に応じて視野を変化させたり表示内容を進捗させたりする態様では特に、画像の品質と描画処理の速度を両立させることは常に重要な課題である。そのため、テクスチャマッピング、バンプマッピング、リフレクションマッピングなど、オブジェクト表面の加工手法を工夫することにより、簡易な処理でリアルな表現が可能になっている。
上述のようにオブジェクト表面で完結する加工の場合、拡大表示させたり角度を変えたりすると、本来デザインされたモデルの形状が表現しきれなかったり不自然に見えたりすることがある。このことは、上記のヘッドマウントディスプレイを用いて仮想世界を立体視させるような技術では特に問題となり得る。対策としてオブジェクトモデル自体をより詳細なデータとしたり、描画処理の段階で詳細な形状を作り出したりすることが考えられるが、処理コストが増大し高速化の妨げとなる。
本発明はこうした課題に鑑みてなされたものであり、その目的は、処理コストを増大させずに高品質な画像を生成することのできる技術を提供することにある。
本発明のある態様は画像生成装置に関する。この画像生成装置は、3次元のオブジェクトを含む空間を表す画像を生成する画像生成装置であって、オブジェクトを構成するポリゴン平面に射影することにより中間画像を生成する中間画像生成部と、3次元空間においてポリゴン上の位置座標を所定の規則で変位させることにより生じる、中間画像の位置座標の変位に係る情報を取得する画素変位取得部と、当該変位に係る情報に基づき、表示画像の画素ごとに中間画像の対応する位置を特定し、当該位置におけるカラー値を表示画像の画素のカラー値として決定することにより表示画像を描画する描画部と、表示画像のデータを出力する出力部と、を備え、画素変位取得部は、中間画像の位置座標の変位における変位後の位置座標を始点とし変位前の位置座標を終点とする参照ベクトルを、表示画像の画像平面における変位後の位置座標を含む画素ごとに表したベクトルマップを、変位に係る情報として生成することを特徴とすることを特徴とする。
本発明の別の態様は画像生成方法に関する。この画像生成方法は、3次元のオブジェクトを含む空間を表す画像を生成する画像生成方法であって、オブジェクトを構成するポリゴンを平面に射影することにより中間画像を生成するステップと、3次元空間においてポリゴン上の位置座標を所定の規則で変位させることにより生じる、中間画像の位置座標の変位に係る情報を取得するステップと、当該変位に係る情報に基づき、表示画像の画素ごとに中間画像の対応する位置を特定し、当該位置におけるカラー値を表示画像の画素のカラー値として決定することにより表示画像を描画するステップと、表示画像のデータを出力するステップと、を含み、変位に係る情報を取得するステップは、中間画像の位置座標の変位における変位後の位置座標を始点とし変位前の位置座標を終点とする参照ベクトルを、表示画像の画像平面における変位後の位置座標を含む画素ごとに表したベクトルマップを、変位に係る情報として生成することを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によると、処理コストを増大させずに高品質な画像を生成することができる。
実施の形態1における画像表示システムの構成の一例を示す図である。 実施の形態1態におけるオブジェクトと画像平面の関係を模式的に示す図である。 実施の形態1における画像生成装置の内部回路構成を示す図である。 実施の形態1における画像生成装置の機能ブロックを示す図である。 実施の形態1における画像生成装置が表示画像を生成する処理手順を示すフローチャートである。 実施の形態1における曲面生成部が、ポリゴンに対し曲面を生成する処理を説明するための図である。 実施の形態1における曲面生成部が、ポリゴンに対し曲面を生成する処理を説明するための図である。 図7で示した制御点により生成された曲面を模式的に示す図である。 実施の形態1においてポリゴン平面を曲面化したときの、画像平面上での位置座標の変位の様子を模式的に示す図である。 実施の形態1において、ポリゴン平面を曲面化したときの画素の変位ベクトルと、表示画像の画素から中間画像上の位置を求めるベクトルとの関係を示す図である。 実施の形態1における変位ベクトルと画素領域の関係を模式的に示す図である。 実施の形態1において、画像参照ベクトルマップ上の各画素に対し画像参照ベクトルを決定する処理手順の概略を示すフローチャートである。 実施の形態1において、1つのポリゴンに対し画像参照ベクトルが設定された画素を模式的に示す図である。 実施の形態1における画像参照ベクトルの補間手法を説明するための図である。 実施の形態1における描画部が表示画像を描画する際のカラー値のサンプリング手法を説明するための図である。 実施の形態1において既存のグラフィックスパイプラインを利用した場合の各種データと処理主体の関係を示す図である。 実施の形態1においてコンピュートシェーダーが画像参照ベクトルを生成するための、Zバッファへの書き込み処理の手順を示す図である。 実施の形態1においてコンピュートシェーダーが画像参照ベクトルを書き込む処理の手順を示す図である。 従来技術と実施の形態1を、実際に得られた画像で比較した図である。 実施の形態1における中間画像と仮想カメラのスクリーンの関係を模式的に示す図である。 実施の形態1における中間画像と仮想カメラのスクリーンの関係の別の例を模式的に示す図である。 実施の形態2における中間画像と仮想カメラのスクリーンの関係を模式的に示す図である。 実施の形態2において、中間画像生成部と表示画像生成部が中間画像と画像参照ベクトルマップを生成する処理手順を示すフローチャートである。 実施の形態1、2の変形例においてステレオ画像を生成する際の、画像平面上での位置座標の変位の様子を説明するための図である。 実施の形態1、2の画像参照ベクトルを導入して加工した画像を例示する図である。
実施の形態1
図1は、本実施の形態における画像表示システムの構成の一例を示す図である。この例の画像表示システムは、表示画像を生成する画像生成装置200と、当該表示画像のデータを取得して表示する表示装置12を含む。表示装置12は、無線通信またはUSBなどの周辺機器を接続するインタフェース14で画像生成装置200に接続される。画像生成装置200は、さらにネットワークを介してサーバに接続されてもよい。その場合、サーバは、複数のユーザがネットワークを介して参加できるゲームなどのオンラインアプリケーションを画像生成装置200に提供してもよい。
画像表示システムの形態は図示するものに限らない。例えば画像生成装置200と表示装置12とを一体的に構成し携帯端末としてもよい。あるいは表示装置12を、ユーザが頭部に装着することにより眼前に画像が表示されるヘッドマウントディスプレイとしてもよい。この場合、画面を左右に2分割してなる領域に、視差を有する左目用画像、右目用画像をそれぞれ表示させることで立体視を実現してもよい。
画像生成装置200は、3次元オブジェクトを画像平面に描画することにより表示画像を生成する。その限りにおいて画像として表現される内容は特に限定されない。例えば画像生成装置200はゲーム装置でもよく、ユーザ操作に従いゲームを進捗させ、そのゲーム画像を逐次生成、出力してもよい。この場合、画像表示システムにはさらに、ユーザ操作のための入力装置を含めてもよい。表示装置12をヘッドマウントディスプレイとする場合は、内蔵するモーションセンサなどにより頭部の動きを取得し、それを入力情報として表示画像に反映させてもよい。その他、画像生成装置200による画像生成の目的は様々に考えら得ることは当業者には理解されるところである。
3次元オブジェクトは一般に、ポリゴンなど所定形状の平面の連結により表される。表示画像への描画は、この平面を画像平面に射影したうえ、テクスチャマッピングなどにより画素ごとにカラー値を決定することにより実現される。図2は、オブジェクトと画像平面の関係を模式的に示している。同図はオブジェクト20と画像平面32を俯瞰した状態を示している。また、わかりやすさのため平行投影とし、点線は画像平面32における画素の境界を3次元空間に伸張させたものである。
オブジェクト20のモデルは上述のとおり、曲面であってもポリゴンの連結により近似される。図の網掛けで示した多角形22はそのように近似されたポリゴンモデルを示している。このように近似すると、本来、オブジェクト20の表面にあるべき点24a、24bは、ポリゴン上の点26a、26bとして表される。これを画像平面32に射影すると、本来の像の点30a、30bからずれた点28a、28bに像が表れる。画像平面32の位置を規定する仮想カメラがオブジェクト20から離れている場合や、近くであってもオブジェクト20の表面が画像平面と正対している場合、そのような点の位置ずれは視認されにくい。
一方、仮想カメラを近づけてオブジェクト20を拡大する場合や、図示する点のように画像平面32から見てオブジェクト20の輪郭に近い部分においては、ポリゴンで近似したことによる位置のずれが視認されやすい。これによりオブジェクト20本来のデザインを表現しきれなかったり、鑑賞者に違和感を与えたりすることが考えられる。そこで本実施の形態の画像生成装置200は、ポリゴンを射影した画像における位置座標を、画像平面上で変位させることにより、本来のオブジェクト20の像を疑似的に表現した画像を描画する。
例えばポリゴン上の点26a、26bが射影されてなる点28a、28bを、画像平面上で点30a、30bに変位させることにより、オブジェクト20上の点24a、24bが射影される位置近傍にその色が表れるようにする。このため画像生成装置200は、ポリゴンごとに、それに対応する曲面(例えば曲面34)を生成する。この曲面は元のオブジェクト20の形状を厳密に表すものでなくてよい。ただしポリゴンの頂点におけるオブジェクト20の法線ベクトルを考慮することにより、より近い形状とすることができる。
そして元のポリゴンを、生成した曲面にマッピングすることにより、3次元空間での位置の対応を取得する。例えばポリゴン上の点26aを曲面上の点24aに対応づける。この処理には、テクスチャマッピングに用いられるUVW座標を利用できる。そしてマッピング後の位置を画像平面32に射影することにより、画像平面32上での変位先(例えば点30a)を求めることができる。このようにすることで、ポリゴンの数が少なくてもオブジェクトの本来の形状に近い像を表現することができる。
なおこの処理は、仮想空間にある特定のオブジェクトに対してのみ行ってもよい。例えば曲面の部分が多いオブジェクトや、メインとなるオブジェクトのみに行ってもよい。またオブジェクトの拡大率が所定値以上となったときに当該処理を開始するようにしてもよい。
図3は画像生成装置200の内部回路構成を示している。画像生成装置200は、CPU(Central Processing Unit)222、GPU(Graphics Processing Unit)224、メインメモリ226を含む。これらの各部は、バス230を介して相互に接続されている。バス230にはさらに入出力インタフェース228が接続されている。
入出力インタフェース228には、USBやIEEE1394などの周辺機器インタフェースや、有線又は無線LANのネットワークインタフェースからなる通信部232、ハードディスクドライブや不揮発性メモリなどの記憶部234、表示装置12へデータを出力する出力部236、図示しない入力装置などからデータを入力する入力部238、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部240が接続される。
CPU222は、記憶部234に記憶されているオペレーティングシステムを実行することにより画像生成装置200の全体を制御する。CPU222はまた、リムーバブル記録媒体から読み出されてメインメモリ226にロードされた、あるいは通信部232を介してダウンロードされた各種プログラムを実行する。GPU224は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU222からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部236に出力する。メインメモリ226はRAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。
図4は、本実施の形態における画像生成装置200の機能ブロックを示している。なお図4で示した画像生成装置200の機能のうち少なくとも一部を、表示装置12に実装してもよい。あるいは、画像生成装置200の機能のうち少なくとも一部を、ネットワークを介して画像生成装置200に接続されたサーバに実装してもよい。また画像生成装置200を、ゲーム機、携帯端末、パーソナルコンピュータなどの情報処理装置の一部としてもよい。
同図は画像生成装置200が有する機能のうち、主に表示画像を生成する機能に着目したブロック図を描いている。これらの機能ブロックは、ハードウェア的には、図3に示したCPU、GPU、各種メモリなどの構成で実現でき、ソフトウェア的には、記録媒体などからメモリにロードした、データ入力機能、データ保持機能、画像処理機能、通信機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
画像生成装置200は、ユーザ操作などの入力情報を取得する入力情報取得部250、それに応じてオブジェクトモデルを含む仮想空間を生成する仮想空間生成部252、オブジェクトモデルのデータを格納するモデルデータ格納部254、一般的な手法で仮想空間の画像を生成する中間画像生成部256、当該中間画像のデータを格納する中間画像格納部260を含む。画像生成装置200はさらに、オブジェクトを構成するポリゴンを曲面としたときの画素の変位に基づき中間画像から表示画像を生成する表示画像生成部258、および当該表示画像のデータを表示装置12に出力する出力部262を含む。
入力情報取得部250は、ユーザ操作などの入力情報を取得する。例えば仮想空間を表示させるゲームを実現する場合、ゲームに対する操作内容に係る信号を図示しないゲームコントローラから取得する。ただし仮想空間を定義するための入力情報であればユーザ操作に限らず、他の装置からの要求信号でもよい。仮想空間生成部252は、入力情報に従い、仮想空間にオブジェクトと仮想カメラを配置する。この処理は一般的な3次元コンピュータグラフィックスと同様である。仮想空間生成部252内で仮想空間を生成するためのプログラムなどが定義されている場合、入力情報は必須ではない。
モデルデータ格納部254は、オブジェクトのデータを格納する。当該データは、複数のプリミティブからなるポリゴンメッシュで構成される。中間画像生成部256は、仮想世界のオブジェクトを仮想カメラのスクリーンに射影することにより画像を生成する。この処理は一般的な処理と同様でよく、オブジェクトのポリゴンを仮想カメラのスクリーンに射影し、画素ごとに頂点情報を補間したりテクスチャを参照したりして画素値を決定する。この画像は上述のとおり表示画像の生成に用いられる中間データであるため、以後、「中間画像」と呼ぶ。
生成した中間画像のデータは中間画像格納部260に格納する。表示画像生成部258は、曲面生成部264、画素変位取得部266、および描画部268を含む。曲面生成部264はポリゴン平面に対応する曲面パッチを生成する。画素変位取得部266は、中間画像の画素中心に対応する曲面パッチ上の位置を特定し、それをスクリーンに射影したときの位置座標を取得する。そして元の画素中心との位置関係を取得する。
ここで画素変位取得部266は、各ポリゴンに対応する曲面上の位置座標を3次元空間で離散的に求め、それぞれをスクリーンに射影した位置に各画素の変位に関する情報を保存したマップを生成する。それが実現される限りにおいて、曲面生成部264は、連続した面として曲面を厳密に生成しなくてもよい。すなわち曲面生成部264が生成するデータは、ポリゴン上の離散的な位置座標と曲面上の対応する位置座標との関係を規定するものであればよく、曲面形状を直接定義するデータに限定されない。
また曲面生成部264が曲面パッチを生成する代わりに、ポリゴン平面の各画素から、ポリゴンの各頂点におけるオブジェクトの法線ベクトルを補間することで得られる該当画素の法線方向に位置する曲面パッチ上の点までの距離を導出する、一成分のパラメトリック補間を定義してもよい。この場合、画素変位取得部266は、中間画像の画素に対応するポリゴン上の位置から曲面パッチまでの距離値を、パラメトリック補間により取得する。
さらに、ポリゴンにマッピングするテクスチャとして、距離を乗じた法線の終点からの曲面の微小な変位を距離マップとして保存しておき、終点の位置を法線方向に移動させてもよい。オブジェクトの形状が変化し、ポリゴン同士のなす角度が変化しても、境界の接平面の不連続性は上述した距離のパラメトリック補間により補正されるため、自然な微小変位を持つ曲面が表示される。
描画部268は、当該位置関係に基づき、中間画像の位置座標を変位させることにより表示画像を描画する。この処理は実際には、表示画像の画素ごとに、ポリゴンの曲面化による画像平面での位置座標の変位を逆に辿ることにより、中間画像上の位置座標を特定し、当該位置座標をサンプリング点としてカラー値を取得することにより実現される。詳細は後述する。出力部262は、描画された表示画像のデータを適宜、ビデオ信号に変換して表示装置12に出力する。
次に上記構成によって実現できる画像処理装置の動作について説明する。図5は、画像生成装置200が表示画像を生成する処理手順を示すフローチャートである。まず仮想空間生成部252は、入力情報取得部250から入力情報を取得し(S10)、それに応じてワールド座標系にオブジェクトと仮想カメラを配置する(S12)。続いて表示画像生成部258の曲面生成部264は、オブジェクトを構成するポリゴンに対応する曲面を生成する(S14)。
このとき上述のとおり、ポリゴンの頂点におけるオブジェクトの法線ベクトルを参照することにより、オブジェクトの表面形状に近い曲面をポリゴンごとに生成する。次に中間画像生成部256は、仮想カメラのスクリーンにオブジェクトを射影することにより中間画像を生成する(S16)。この処理は、曲面にする前のポリゴンをスクリーンに射影し、テクスチャをマッピングする一般的なコンピュータグラフィクス描画である。
次に表示画像生成部258の画素変位取得部266は、ポリゴンを曲面化したときの画像平面上の位置座標の変位に係る情報を取得する(S18)。この情報は上述のとおり、表示画像の画素を始点として当該変位を逆に辿り、中間画像上の位置を特定するための情報である。そのためまず中間画像の画素ごとに、対応するポリゴン上の位置の、曲面における変位先を求め、それをスクリーンに射影したときの変位先の位置座標を特定する。当該変位を表すベクトルの逆ベクトルを求めれば、表示画像の画素の位置から中間画像の参照先を取得できる。具体例については後述する。
描画部268は変位に係る情報を参照し、中間画像における参照先のカラー値に基づき表示画像の画素のカラー値を決定することにより、表示画像を描画して表示装置12に出力する(S20)。ユーザからの要求やコンテンツの終了などにより処理を終了させる必要がなければ(S22のN)、次の画像フレームについてS10〜S20の処理を繰り返し、終了させる必要に応じて全処理を終了させる(S22のY)。なお最初のフレーム以外のフレームでは、S12の処理はS10で取得した入力情報などに従い、仮想空間のオブジェクトや仮想カメラを変化させる処理となる。
図6および図7は、表示画像生成部258の曲面生成部264が、ポリゴンに対し曲面を生成する処理を説明するための図である。この例では三辺形ベジェ曲面を生成することを想定している。図6は、ポリゴンの辺に対するベジェ曲線の制御点の取得方法を示している。ポリゴン50は頂点52a、52b、52cを有する。仮想空間にオブジェクトが配置されることにより、頂点52a、52b、52cはそれぞれ3次元位置座標V0、V1、V2を有する。さらに各頂点には、オブジェクト表面の法線ベクトルN0、N1、N2の情報が対応づけられている。
法線ベクトルの情報は、一般的なシェーディング技術であるフォンシェーディングにおいても頂点に対応づけられ利用される。本実施の形態でもそのデータ構造を利用できる。次にポリゴン50の各辺を、それぞれの頂点における法線ベクトルに垂直な平面54a、54b、54cに射影したベクトル(例えば図示する射影ベクトルE0、E1)を生成する。例えば頂点52aの一方の射影ベクトルE0は次のように求められる。
頂点52aと52bを結ぶエッジベクトル:Eg = V1 - V0
正規化エッジベクトル:En = normalize (Eg)
正規化従法線ベクトル:Tn = normalize (cross (N0, En))
単位射影ベクトル:E0 = normalize (cross (Tn, N0))
ここで関数normalizeはベクトルを長さで除算することによって正規化する関数、関数crossは2つのベクトルの外積を求める関数である。上記の計算によりベジェ曲面の境界曲線の制御辺ベクトルの方向を求めることができるが、制御辺ベクトルの長さは決まらない。その長さを、例えば次のような方法で決定することができる。円弧を3次元のベジェ曲線で近似する場合、弧の長さが短くなり弦に近づくと、制御点が弦の3等分点に収束する。これを考慮し、辺の長さの1/3をベジェ曲線の制御辺の長さとする。つまり辺の長さEglen=length(Eg)として、制御点P0は次のように求められる。
P0 = V0 + 1/3 * Eglen * E0
その他の制御点についても同様に計算する。これにより辺に対応するベジェ曲線を生成できる。この計算では、弦の長さのみを用いて制御辺ベクトルの長さを決定したが、例えばさらに両端点の法線ベクトルの情報も加えて、曲面と曲面の間の曲率の変化が滑らかなベジェ曲線を生成することも可能である。この一手法として、例えば特開平11−296686号公報には、法線を用い制御辺ベクトルの長さを設定する方法が記載されている。
図7はベジェ曲面を生成するための制御点を例示している。図6に示したように、ポリゴン50の各頂点52a、52b、52cにおける法線と辺との関係から、6つの制御点P021、P012、P102、P201、P210、P120が定まる。さらに曲面の制御点として、ポリゴンの中心部に対応する制御点P111を生成する。制御点P111は、例えば辺に対する6つの制御点の平均位置として求められる。ただし制御点の生成規則をこれに限定する趣旨ではない。また生成する曲面はベジェ曲面に限らず、B−スプライン、カーディナル、NURBSなど、一般的なグラフィックス処理で用いられるパラメトリック曲面のいずれでもよい。
また隣接するポリゴンに対応する曲面同士が接平面連続になるように曲面を定めてもよい。さらに、生成する曲面は一般的な3次元のパラメトリック曲面でなくてもよい。例えばポリゴン上の点から対応する曲面上の点への距離を1変数のパラメトリック補間の式で表現し、フォンシェーディングなどの手法で求めたポリゴン上のオブジェクトの法線ベクトルに沿って、該当する距離分変位させた点を曲面上の点とすることで曲面を求めてもよい。
図8は、図7で示した制御点により生成された曲面を模式的に示している。図示するようにポリゴン50の各頂点52a、52b、52cを端点とする3曲線で囲まれた曲面パッチ56が生成される。同図は曲面を正面から見た状態を示しているが、実際には曲面パッチ56は図の垂直方向に湾曲している。このように生成した曲面パッチ56の各周縁をu軸、v軸、w軸とし、曲面上の位置を元のポリゴン上に設定した2次元のパラメータ座標(u,v,w)で表す。パラメータ座標はテクスチャ座標と同様に、各成分が0から1までの値をとり得、パースペクティブ補正された重心座標系の各係数値に一致する。またw=1−u−vである。
例えば図7で示した7つの制御点P021、P012、P102、P201、P210、P120、P111を用いると、曲面上の位置座標S(Sx,Sy,Sz)はパラメータ座標(u,v,w)から次のように求められる。
Figure 0006802928

ここでV0、V1、V2は、図6で示したポリゴンの頂点の位置座標である。図9は、ポリゴン平面を曲面化したときの、画像平面上での位置座標の変位の様子を模式的に示している。両者はポリゴン50や曲面パッチ56をスクリーンに射影した状態を示しており、複数のマス目(例えばマス目58、60)はそれぞれ画素領域を示している。(a)に示す平面のポリゴン50の射影領域に含まれる、ある画素の中心点62は、ポリゴンを曲面化することにより、(b)に示す曲面パッチ56の射影領域の別の点64に変位する。
画素変位取得部266が、画素の中心点62と曲面パッチ56の射影領域上の点64との位置関係を取得するには、一般的なグラフィックエンジンのテクスチャ座標補間機能を利用できる。すなわち中間画像を生成する際、ポリゴンの各頂点で上記パラメータ座標の各パラメータが0または1になるようなテクスチャパラメータを設定し、各画素の中心点62に対応するポリゴン50上のパラメータ座標を求めておく。そして曲面パッチ56における同じパラメータ座標に対応するワールド座標系での位置座標S(Sx,Sy,Sz)を上式により求め、それをスクリーンに射影したときのスクリーン上の点64を求める。
すなわち透視変換行列M_IPを用い、点64の同次位置座標Q(Qx,Qy,Qz,Qw)を次のように求める。
tQ = M_IP * tS (tはベクトルの転置を表す)
これにより、ポリゴンの位置座標から対応する曲面上の点のスクリーン座標(sx、sy)が次式により得られる。
sx = Qx/Qw, sy = Qy/Qw
この処理は、中間画像の画像平面における画素ごとに独立して行える。
ジオメトリシェーダーがポリゴンごとに一意に与えるプリミティブIDを、対応する全ての画素に紐付けておくことにより、ポリゴンと画素との対応関係はピクセルシェーダーに引き継がれる。すなわちプリミティブIDに対応づけて、対応する画素の情報と制御点の情報をピクセルシェーダーに入力することにより、各画素を独立に処理しても適切な曲面を生成して位置座標の変位を得ることができる。
なお曲面を正確に生成するには、制御点を得るときに想定した各ポリゴンの頂点の位置座標の順序を維持しておく必要がある。しかしジオメトリシェーダーからピクセルシェーダーにデータが供給される際、その順序が維持されているとは限らない。そこでこれを検知するため、ピクセルシェーダーは関数を用いて各頂点とパラメータとの関係を確認し、制御点生成時に想定した順序で頂点を配置したうえで、各画素に対応する曲面上の位置のパラメータ座標(u,v,w)を取得する。
なおポリゴン平面上の点と曲面パッチ上の点の対応関係は、ベジェ曲面、B−スプライン、カーディナル、NURBSなど、一般的なグラフィックス処理で用いられるパラメトリック曲面を用いずに取得することも可能である。例えばポリゴン平面上の各点は、その点のオブジェクトの法線方向にある曲面上の位置に対応するとしてもよい。この場合、平面上の位置座標からの距離を導出するパラメトリック曲面補間を定義する。そして中間画像の各画素に対応するポリゴン上のパラメータ座標位置から、その点の法線方向に、計算された距離だけ離れた曲面上の位置座標をワールド座標系で取得する。これをスクリーンに射影すれば、上述と同様に、画像平面での変位先の位置座標を取得できる。
図10は、ポリゴン平面を曲面化しスクリーンに射影したときの中間画像上の画素の変位ベクトルと、表示画像の画素から中間画像上の位置を求めるベクトルとの関係を示している。同図に示すマス目は、画像平面における各画素領域を表す。(a)の矢印Aは図9で示した画素の中心点62から曲面パッチ56の射影領域上の点64への変位を表すベクトルである。すなわち画素68は中間画像における画素を示している。以後、当該ベクトルを「変位ベクトル」と呼ぶ。一方、表示画像を描画する際は、(b)の矢印Bに示すように、表示画像の画素70を始点として中間画像上の位置を終点とする、変位ベクトルの逆ベクトルを生成しておく必要がある。
変位ベクトルの各成分を(dx,dy)とすると、逆ベクトルは(−dx,−dy)の成分を有する。以後当該逆ベクトルを「画像参照ベクトル」と呼び、画像参照ベクトルを画像平面に表したデータを「画像参照ベクトルマップ」と呼ぶ。画像参照ベクトルマップの画素は、基本的には表示画像の画素に対応する。(b)に示すように画像参照ベクトルは、画像参照ベクトルマップの画素の中心に対して設定するため、変位ベクトルの終点と画素領域の関係を考慮して決定する必要がある。
図11は、変位ベクトルと画素領域の関係を模式的に示している。ここで各画素を、領域の左上の位置座標を代表点として(ix,iy)=(0,0)、(1,0)、(2,0)、・・といった整数値で表すとする。この場合、画素領域の中心の位置座標は(ix+0.5,iy+0.5)(ix,iy=0,1,2,・・・)である。
なお曲面パッチ上の位置座標S(Sx,Sy,Sz)をスクリーンに射影したときの同次位置座標Q(Qx,Qy,Qz,Qw)を上述のとおり求めると、変位ベクトル(dx,dy)は次のように求められる。
dx = Qx / Qw - ix
dy = Qy / Qw - iy
(a)に示すように中間画像における、ある画素68の中心の位置座標(ix+0.5,iy+0.5)を、変位ベクトル(dx,dy)の分だけ変位させると、その終点の位置座標は多くの場合、変位先の画素70の中心からずれる。このため例えば、終点の位置座標(ix+0.5+dx,iy+0.5+dy)=(Qx/Qw+0.5,Qy/Qw+0.5)の小数点以下を四捨五入することで1つの画素を選択し、当該画素の中心を始点として(−dx,−dy)の成分を有するベクトルを画像参照ベクトルとしてもよい。
ただしこの場合、元の変位ベクトルの終点からのずれ量として、縦横双方向に最大0.5画素分の誤差が生じ得る。そこでサブピクセル単位で周囲の変位ベクトルを考慮する。具体的には(b)に示すように、対象の画素68の中心の位置座標(ix+0.5,iy+0.5)からの変位に加え、当該中心から右方向に半画素分、下方向に半画素、右および下方向にそれぞれ半画素分だけ離れた点72a(ix+1.0,iy+0.5)、点72b(ix+0.5,iy+1.0)、点72c(ix+1.0,iy+1.0)からの変位を求める。
それらの点を始点とする変位ベクトルは、対象の画素68の右、下、右下の画素74a、74b、74cに対して得られている変位ベクトルを読み出し、補間することによって求められる。そして各点の位置座標に変位ベクトルを加算することにより終点の位置座標を算出し、その小数点以下を切り捨てれば、変位先の画素を示す整数値がそれぞれ得られる。なお変位ベクトルを取得する間隔は半画素分の長さに限らず、画素領域の一辺の長さより小さければよい。また、隣接する画素の変位ベクトルの終点の分散が所定の基準より大きい場合に、変位ベクトルを取得する間隔を狭めるなど、適応的に切り替えてもよい。なおこの分散は、元のポリゴンが画像平面に対して大きく傾いている場合に大きくなる可能性が高いと考えられる。したがって、画像平面に対する元のポリゴンの傾き角を検出し、傾き角が大きいほど変位ベクトルを取得する間隔を狭めるようにしてもよい。
図示する例では、2つの変位ベクトルの終点が画素70に重複している。この場合、仮想カメラからのオブジェクトの距離を表すZ値を比較することにより、仮想カメラに近い方の変位ベクトルを選択する。Z値も元の画素68、74a、74b、74cに対し得られている値を補間することによって求められる。ただしここでいうZ値は、ポリゴンの曲面化によって変位させた後の値であり、変位ベクトルの取得時に得られる。図12は、画像参照ベクトルマップ上の各画素に対し画像参照ベクトルを決定する処理手順の概略を示すフローチャートである。まず中間画像の画像平面における画素のうち1つを基準画素として設定し(S100)、その中心および近傍3点の合計4点について変位先を計算する(S102)。
変位先の画素が重複しているか否かを確認し(S104)、重複している場合はそれらのZ値を比較する(S104のY、S106)。そしてより仮想カメラに近いZ値を有する変位ベクトルの逆ベクトルを、当該変位先の画素の画像参照ベクトルとして書き込む(S108)。S104において変位先が重複していなければ、そのまま変位ベクトルの逆ベクトルを、当該変位先の画素の画像参照ベクトルとして書き込む(S104のN、S108)。なおS108における書き込み先は、以後の基準画素に対する計算で変位先の画素が重複した際、これもZ比較によって上書きされることがあるため、画像参照ベクトルマップ用のバッファメモリとする。
対象オブジェクトに対応する全ての画素が基準画素とされていない間は(S110のN)、S100からS108の処理を繰り替えし、全ての画素が基準画素として設定されたら処理を終了する(S110のY)。このようにサブピクセル単位で変位ベクトルを求め、それから画像参照ベクトルを選別すると、画素単位で変位ベクトルを求めそれを補間して画像参照ベクトルを決定するような手法と比較し精度が均一化する。上述のように0.5画素の距離にある変位ベクトルを確認する結果、画像参照ベクトルの参照先の位置の誤差は最大でも0.25画素となり、精度も向上する。
図13は、1つのポリゴンに対し画像参照ベクトルが設定された画素を模式的に示している。上述のとおり画像参照ベクトルは、中間画像上の画素中心とその近傍を始点として、ポリゴンの曲面化による変位先の画素を求めることによって得られる。そのような手順によれば、中間画像では近接した始点でも変位ベクトルの終点が離間した結果、画像参照ベクトルが設定されない画素(以後「穴」と呼ぶことがある)が生じることが考えられる。図の(a)では、画像参照ベクトルが設定された画素のみを網掛けの矩形で示している。
上述のように、画素より細かい単位で変位ベクトルを求め、画素数より多くの終点を作り出すことにより穴の発生を抑えられるが、そのようにしても終点に該当しない画素、ひいては穴が生じる可能性がある。そこで画素変位取得部266は、対象オブジェクトの全てのポリゴンに対する画像参照ベクトルを上述の手法で設定したあと、図の(b)にグレーの矩形で示すように穴として残った画素について、周囲の画素を利用して画像参照ベクトルを補間する。
図14は、画像参照ベクトルの補間手法を説明するための図である。同図に示す画素配列において、太線枠で囲まれた画素に画像参照ベクトルの穴があるとする。この場合、最も単純には、周囲の画素に設定されている画像参照ベクトルの平均値により補間することが考えられる。例えばターゲットとする太線枠の画素の上下左右の画素(画素D、C、A、B)に、矢印で示すように画像参照ベクトルが与えられているとき、それら4つの画像参照ベクトルの平均ベクトルをターゲットの画像参照ベクトルとする。
あるいはターゲットの画素に対する位置に応じて重みを変化させて平均化してもよい。例えば周囲の8画素のうち上下左右の画素(画素D、C、A、B)に2倍の重みをつけて、A〜Hの8画素の画像参照ベクトルを加重平均する。あるいは画像参照ベクトルの方向性に応じて補間に用いる画素や重みを決定してもよい。例えば図示する例では、周囲の画素の画像参照ベクトルが全て水平に近くなっている。このことから当該部分は中間画像から水平方向に引き延ばされたものであり、穴はそれによって生じたことが推定される。
したがってこの場合、ターゲットの周囲の画素のうち、左右の画素A、Bを用いて線形補間したり、それらの画素に、より大きい重みをつけて平均化したりすることにより、状況に応じた精度の高い補間を実現できる。例えばターゲットの画素の上下左右の4画素の画像参照ベクトルの平均ベクトルを求め、それと画像の水平方向(X軸方向)とのなす角度θが−30°<θ<30°または150°<θ<210°のとき、左右の画素A、Bの画像参照ベクトルを平均してターゲットの画像参照ベクトルとする。
角度θが60°<θ<120°または240°<θ<300°のとき、上下の画素D、Cの画像参照ベクトルを平均してターゲットの画像参照ベクトルとする。角度θがそれ以外のときは上下左右の画素の画像参照ベクトルを平均してターゲットの画像参照ベクトルとする。なお上述のような角度のしきい値や、それによって補間に用いる画素を選択するか重みを変化させるか、といった態様の組み合わせは様々に考えられる。本実施の形態ではこのように局所的な伸張が生じても、ベクトルを補間対象とすることにより、方向性に基づいた計算式の選択が可能である。
また実際のカラー値に対する操作は、最終的に表示画像を描画する段階に限られるため、この補間処理が表示画像の品質に与える悪影響を抑えられる。例えば画像参照ベクトルを導入せず、直接カラー画像を補間する場合、このような方向性に基づく調整は行えない。すなわち一方向に引き延ばされた結果生じた穴であっても、カラー画像にはその情報がないため、引き延ばされた方向に関わらず同様の補間計算となる。その結果、余計な色が混じり、表示画像の品質にも悪影響を与え得る。
画像参照ベクトルはポリゴンの面の変形による画素の移動を表しているという特性上、図14に示すように画素単位で大きな変化が生じるものではない。結果として、たとえ方向性に関わらずターゲットの周囲の画素を補間に利用しても大きな誤差にはなりにくく、混色による画質の劣化も防止できる。なお上述した補間手法は、変位ベクトル計算から導き出されたいわば正当な画像参照ベクトルが周囲の画素に与えられていることを前提としていた。一方、2画素以上が連続して穴となっている場合は、その周囲で補間でない画像参照ベクトルを探索し、当該ベクトルをそのまま補間に用いてもよい。
例えば図14において、ターゲットの周囲の8つの画素に探索の優先順位を規則づけておく。一例として画素A、B、C、D、E、F、G、Hといった順序が考えられる。そしてその順で探索し、最初に検出された補間でない画像参照ベクトルをターゲットのベクトルとして採用する。いずれの補間手法にしても、画像参照ベクトルの生成段階ではカラー値が確定してないため、最終的にはサブピクセルの位置精度でカラー値を決定することができる。なお上述のように変位ベクトルを生成する間隔を小さくするほど穴の発生を抑制できる。
定性的にはスクリーンに対するポリゴンの角度が大きいほど、穴が発生しやすくなるため、当該角度に応じて変位ベクトルを生成する間隔を狭めるようにすれば、画像参照ベクトルの補間が必要な画素を減らすことができる。当該角度は、ポリゴンを平面に射影するときの、ポリゴンの法線と仮想カメラへ向かう射影ベクトルとのなす角度による縮小率の変化を監視することによっても推定できる。この場合、角度による縮小率が大きいほど、変位ベクトルを生成する間隔を狭めればよい。
図15は、図5のS20で描画部268が表示画像を描画する際のカラー値のサンプリング手法を説明するための図である。図示するマス目は(a)が表示画像82の画素領域、(b)が中間画像88の画素領域を示している。描画部268は、表示画像82の画素ごとに、画像参照ベクトルマップを参照して当該画素に対応づけられた画像参照ベクトルを取得する。図示する例では画素84に対し画像参照ベクトル86が得られている。
次に中間画像のデータを中間画像格納部260から読み出し、当該画像参照ベクトル86の終点に対応する位置座標90を特定する。そして位置座標90を含む所定範囲の画素のカラー値を用いてフィルタリングを行うことによりカラー値を決定する。当該カラー値を、元の表示画像の画素84のカラー値とする。フィルタリングには例えば、図の(b)に網掛けで示した2行2列の4画素を用いたバイリニアフィルタを用いることが考えられる。ただしカラー値のフィルタリングには様々な手法があり、それらのいずれを採用してもよい。このようにして、対象オブジェクトを構成するポリゴンに対応する全ての画素のカラー値を決定することにより、当該オブジェクトを高品質に表現できる。
図16は、既存のグラフィックスパイプラインを利用した場合の各種データと処理主体の関係を示している。ピクセルシェーダー300は、中間画像の画素単位で処理を実施し、コンピュートシェーダー304は中間画像の画素単位の情報から、表示画像の画素単位の情報を生成する。なお中間画像、画像参照ベクトルマップ、表示画像の各画像平面は独立して生成でき、それらの解像度は同じでも異なっていてもよい。
また、それらの処理で生成される中間データはグラフィックメモリ302に格納される。このときピクセルシェーダー300は、中間画像の画素配列に対応する画像平面をMRT(Multiple Render Target)の機構により生成する。MRTは一度の描画処理に対し複数の画像データを生成する一般的な機構である。まずピクセルシェーダー300は図4の中間画像生成部256の機能を実現し、平面のポリゴンにより構成されるオブジェクトを一般的な手順で描画した中間画像306のデータをMRT上の画像平面に格納する。
またピクセルシェーダー300は、曲面生成部264、および画素変位取得部266の機能により、処理対象の画素に対応するポリゴン上、ひいては曲面パッチ上の座標(u,v,w)を取得し、それをスクリーンに射影したときの2次元の位置座標を特定することにより変位ベクトルを得る。変位ベクトルをMRT上の画像平面に書き込むことにより変位ベクトルマップ308が生成される。これと同時にピクセルシェーダー300は、曲面パッチ上の位置座標(u,v,w)のZ値を取得し、これもMRT上の画像平面に書き込むことにより、変位後Z値マップ310を生成する。
コンピュートシェーダー304は画素変位取得部266の機能により、変位ベクトルマップ308と変位後Z値マップ310を用いて、表示画像に対応する画像平面上に画像参照ベクトルマップ312を生成する。この処理は変位ベクトルマップの終点の画素に、その逆ベクトルのデータを書き込むことを基本とする。この際、同一画素を終点とする変位ベクトルが複数、存在する場合に、変位後Z値マップ310を参照して、より仮想カメラに近い変位ベクトルの逆ベクトルを書き込む。
また図11で示したように、変位ベクトルマップ308において画素ごとに得られている変位ベクトルを補間して、サブピクセル単位で終点の確認を行う。図11で示した処理を、対象の画素を順次移動させて実施するため、コンピュートシェーダー304は、同じ画像平面上にZ値を表したZバッファ314も生成する必要がある。さらに図13、14で説明したように、画像参照ベクトルマップ312の穴を補間して、画像参照ベクトルマップ312を完成させる。
そしてコンピュートシェーダー304は描画部268の機能により、表示画像の各画素に対応する画像参照ベクトルを画像参照ベクトルマップ312から取得し、中間画像306のうちその終点の位置におけるカラー値、あるいはその周囲のカラー値をフィルタリングして得られるカラー値を、当該画素のカラー値として決定する。これにより表示画像316が生成される。なお画像参照ベクトルマップ312と表示画像の解像度を異ならせる場合は、表示画像の画素に対応する画像参照ベクトルも、マップ上の周囲の画像参照ベクトルを用いてフィルタリングにより求めてもよい。
また、表示画像と画像参照ベクトルマップの解像度を同じとし、かつ画像参照ベクトルマップにおける穴が無視できるレベルの僅かなものであった場合、画像参照ベクトルマップ312の生成処理を省略することもできる。すなわち表示画像の画素ごとに、それが終点となっている変位ベクトルを変位ベクトルマップ308から取得し、そのうち変位後のZ値が最も仮想カメラに近いことを示す変位ベクトルの始点を求める。そして当該始点のカラー値を中間画像306から取得する。
コンピュートシェーダー304は、図11で示した対象画素の中心とその近傍の3点の合計4点の変位ベクトルを並列処理し、終点の画素に逆のベクトルを書き込む。この処理を一単位とし、対象画素をずらしながらポリゴンに対応する画素の画像参照ベクトルを埋めていく。この際、並列になされた出力結果を同じ画素に同時に書き込むような状況が発生すると、本来書き込むべきZ値を有するデータの書き込みを行えず、誤った画像参照ベクトルが書き込まれてしまうことがあり得る。そこでまず、整合性が保たれるようにZバッファを完成させ、それを用いて画像参照ベクトルマップを生成する2段階の処理とする。
図17は、コンピュートシェーダー304が画像参照ベクトルを生成するためのZバッファへの書き込み処理の手順を示している。まず対象画素とその右、下、右下の画素における変位ベクトルおよびそのZ値を示すデータ370を読み出し、それを用いて変位ベクトルを補間したうえ、始点の位置座標に加算することにより、終点を含む画素の位置とZ値の対を取得する(S32)。この処理は上述のとおり並列に行う。そして、先に出力された終点が後に出力された終点と同じ画素であるか否かを確認し、そのようであれば仮想カメラに近い順にソートしていく(S34)。
変位先の画素が重複していなければそのままとする。そして全ての結果が揃ったら、Zバッファ314のうち終点の画素に、最も仮想カメラに近いZ値を書き込む(S36)。このとき不可分操作のうち「AtomicMin」命令を利用することにより、最も仮想カメラに近いZ値を複数のシェーダーエンジンから同時に書き込むことができる。この処理を、対象の全画素に対し実行することにより、Zバッファ314を完成させる。図11のように画素幅より小さい距離にある点の変位ベクトルは、その変位先の画素が重複する可能性が高い。そのためシェーダー内でZ比較を行うことにより余分な画素情報を効率的に排除でき、Zバッファ314へのアクセス回数を軽減できる。
図18は、コンピュートシェーダー304が画像参照ベクトルを書き込む処理の手順を示している。まず対象画素とその右、下、右下の画素における変位ベクトルおよびそのZ値を示すデータ370を読み出し、それを用いて変位ベクトルを補間したうえ、始点の位置座標に加算することにより、終点を含む画素の位置、変位ベクトルの逆ベクトルである画像参照ベクトル、およびZ値のセットを取得する(S40)。そして図17のS34と同様、終点の画素が重複している場合はZ値による結果のソートを行うことにより、終点の画素ごとに書き込み候補の画像参照ベクトルを決定する(S42)。
さらに、生成済みのZバッファ314における該当画素のZ値と、書き込み候補の画像参照ベクトルに対するZ値とを比較し(S44)、書き込み候補の画像参照ベクトルのZ値がZバッファ314におけるZ値と一致していれば、画像参照ベクトルマップ312の該当画素に当該画像参照ベクトルを書き込む(S46)。このようにすることで、画像参照ベクトルの取得処理を並列化しても、出力順に関わらずZ値に基づく適切な画像参照ベクトルを選択して書き込みを行える。
図19は、従来技術と本実施の形態を、実際に得られた画像で比較している。(a)は従来どおり平面状のポリゴンを描画した画像、(b)は本実施の形態によりポリゴンを曲面化して画素をずらして描画した画像である。白い点線で囲んだ部分などでは特に、(a)においては不連続に表されたオブジェクトの輪郭が、(b)では滑らかな曲線となっている。また凸部分を斜めから見た状態としての形状が正確に表現されている。
なおこれまでの説明では、表示画像の画素ごとに画像参照ベクトルを設定した画像参照ベクトルマップをまず作成し、それに基づき中間画像のカラー値をサンプリングした。この構成により画像参照ベクトルの補間を可能とし、オブジェクトの像を表す全ての画素について画像参照ベクトルの設定を保証できる。一方、画像参照ベクトルの補間を必要としない場合は、画像参照ベクトルマップの生成を省略してもよい。
この場合、表示画像の各画素について、ポリゴンの曲面化による変位ベクトルに基づき画像参照ベクトルを上述と同様に求め、それを用いて中間画像のカラー値を直接サンプリングすればよい。画像参照ベクトルの補間を必要としない場合として、曲面化によっても「穴」が生じにくい角度や形状のオブジェクトを描画する場合や、サンプリング後のカラー値自体を補間しても劣化しにくい色や領域を描画する場合が考えられる。またこの場合、シェーダープログラムの処理としては、ピクセルシェーダープログラムにコンピュートシェーダープログラムの処理も包含し、実行することになる。
以上述べた本実施の形態によれば、3次元のオブジェクトを描画する際、オブジェクトを構成するポリゴンに対し曲面を生成し、ポリゴン上の位置と曲面上の位置の関係を取得する。そして、平面のポリゴンを用いて生成した画像を、当該位置関係に応じて変位させ表示画像を生成する。このようにすることで、平面のポリゴンにテクスチャを貼り付け、当該テクスチャ上で立体感を表現する技術と異なり、疑似的に形状自体を変化させられるため、細部にわたりより高品質な画像を生成できる。実質的に曲面形状が表されていることにより、オブジェクトを拡大することによって輪郭の不連続性が視認されるようなことが起こりにくい。
上記形状の変化はほぼ画像平面上での画素の移動によって達成されているため、3次元空間での頂点に対する計算処理を増大させることがない。したがってポリゴンを細分化して高精細な画像を描画する場合と比較し、頂点処理の負荷およびポリゴンのラスタライズ処理の負荷を格段に抑えることができる。つまり3次元のオブジェクトを構成するポリゴンの平面上の各点の変位を、新たに再分割したポリゴンを生成することなしに、高速に最終画像に反映させることが可能になる。また画素の変位を表すベクトルの逆ベクトルを画像参照ベクトルマップとして生成することにより、効率的に表示画像のカラー値を決定できる。画像参照ベクトルマップに対する補間操作では、カラー値を補間するより画素の変位の特性を考慮できるうえ、直接カラー値を加工しないため画像の加工で発生しがちな不必要な混色が生じにくい。
また変位ベクトルの計算、画像参照ベクトルマップの生成、表示画像の描画など、一連の処理を全て画素単位で行える。したがって従来、コンピュータグラフィクスに用いられてきたアーキテクチャをそのまま利用でき、導入障壁を少なく高速な描画処理を実現できる。
実施の形態2
実施の形態1では基本的に、仮想カメラのスクリーンと同一平面に中間画像を生成した。図20は実施の形態1における中間画像と仮想カメラのスクリーンの関係を模式的に示している。この場合、中間画像生成部256は(a)に示すように、仮想カメラのスクリーンと同じ平面400にオブジェクト402のポリゴンを射影する。図では1つのポリゴンを射影してなる像404を例示している。そしてテクスチャマッピングなどにより像を構成する画素のカラー値を決定することで、平面400上に中間画像が生成される。
一方、表示画像生成部258は(b)に示すように、ポリゴンの像404に含まれる各画素のパラメータ座標(u,v,w)から、ワールド座標系における曲面パッチ上の位置座標S(Sx,Sy,Sz)を求め、それを再度、仮想カメラのスクリーン406に射影することで、ポリゴンを曲面化した像408を得る。なおこの際の元の画素からの変位を逆に辿るベクトルが画像参照ベクトルである。これを用いて変位前の中間画像のカラー値をサンプリングすることにより、ポリゴンを曲面化したオブジェクトの像が描画される。
図21は実施の形態1における中間画像と仮想カメラのスクリーンの関係の別の例を模式的に示している。処理手順は図20と同様であるが、(a)に示す平面400における中間画像では、ポリゴンの像410の面積が著しく小さくなっている。このようにポリゴンの像の面積は、仮想カメラの視線がポリゴン平面に対し平行に近づくほど小さくなる。中間画像における像410の面積が小さいと、(b)に示すようにポリゴンの曲面化により像412の領域が広がり、そのカラー値を画像参照ベクトルの補間により決定するとしても、サンプリング先の画素が限定される。その結果、視線の変化によって画質がばらついたり変化したりすることが考えられる。
そこで本実施の形態では、中間画像の平面を仮想カメラのスクリーンと独立に設定する。画像表示システムや画像生成装置の構成は実施の形態1で述べたのと同様でよいため、以後、実施の形態1と異なる点のみを説明する。図22は、実施の形態2における中間画像と仮想カメラのスクリーンの関係を模式的に示している。この態様では中間画像生成部256は、中間画像を生成するための平面420を仮想カメラのスクリーン424と独立に設定し、当該平面420にオブジェクト402のポリゴンを射影する。図では1つのポリゴンを射影してなる像422を例示している。そしてテクスチャマッピングなどにより像を構成する画素のカラー値を決定することで中間画像を生成する。
表示画像生成部258は、中間画像におけるポリゴンの像422に含まれる各画素のパラメータ座標(u,v,w)から、ワールド座標系における曲面パッチ上の位置座標S(Sx,Sy,Sz)を求め、それを仮想カメラのスクリーン424に射影することで、ポリゴンを曲面化した像426を得る。この場合、像426の各画素のカラー値を決定するためのサンプリング先は、別途設けた平面420上に生成された中間画像となる。すなわちスクリーン424における画素428ごとに、中間画像の平面420上のサンプリング先430までの画像参照ベクトルを取得する。画像参照ベクトル自体は2次元の情報でよいため、実施の形態1の図12で示したのと同様の演算で画像参照ベクトルが求められる。
中間画像の平面420は1つでもよいし複数準備してもよい。例えばオブジェクト402、あるいは表示対象の空間を囲むように平面を準備しておき、ポリゴンごとに、その像の面積が最も大きくなる平面をサンプリング先として選択してもよい。また中間画像の平面の1つは仮想カメラのスクリーンと一致していてもよい。例えば実施の形態1と同様に、仮想カメラのスクリーンと同一平面で中間画像を生成し、そこでの像が所定値より小さい面積となるポリゴンのみを、像の面積が所定値以上となる別の角度や位置の平面に表し、中間画像としてもよい。
またポリゴンの曲面化前後における画素の位置関係がわかれば、中間画像の見た目は表示結果に影響を与えないことを利用し、中間画像を平行投影により生成してポリゴンの像をより大きく表してもよい。このように少なくとも1つの中間画像の平面420を、仮想カメラの位置や姿勢と独立に設定することにより、ポリゴンの像422の大きさを良好に保つことができる。結果として、視線の変化に対しより頑健性のある画像を描画できる。
図23は、実施の形態2において中間画像生成部256と表示画像生成部258が中間画像と画像参照ベクトルマップを生成する処理手順を示すフローチャートである。この処理は、実施の形態1の図5に示したフローチャートにおけるS16、S18の代わりに実施される。まず中間画像生成部256は、角度および位置の少なくともいずれかが異なる複数の平面候補のうち、ポリゴンの面積が最も大きく表れる平面を、中間画像の平面として選択する(S10)。
平面は全てあるいは複数のポリゴンで共通としてもよいし、ポリゴンごとに選択してもよい。前者の場合、複数のポリゴンの像の平均面積が最大となる平面などを選択してもよい。またあらかじめ設定した1つの平面で固定としてもよく、その場合はS210の処理は省略できる。
次に中間画像生成部256は、選択した平面上にポリゴンを射影して、一般的な手法でカラー値を決定することにより中間画像を描画する(S212)。ポリゴンによって異なる平面を選択した場合は当然、複数の中間画像が生成される。続いて表示画像生成部258の画素変位取得部266は、実施の形態1で説明したように、中間画像の各画素に対応するパラメータ座標(u,v,w)から、ポリゴンを曲面化したときの曲面上の位置座標S(Sx,Sy,Sz)を取得する(S214)。
実施の形態1の図16で示したグラフィックスパイプラインを利用する場合、ピクセルシェーダー300は変位ベクトルマップ308の代わりに、曲面パッチ上の位置座標Sを、中間画像の画素ごとに表したデータをMRTに表す。またこの段階では、変位後Z値マップ310は生成しない。次に画素変位取得部266は、曲面上の位置座標Sを仮想カメラのスクリーンに射影する(S216)。すなわち透視変換行列M_FPを用い、ワールド座標系の位置座標Sを次のようにスクリーン上の同次位置座標Qに変換する。
tQ = M_FP * tS
なおこの際の透視変換行列M_FPは、中間画像への透視変換行列とは独立に、仮想カメラの位置と姿勢によって決定される。このとき、スクリーンから位置座標Sまでの距離を求め、中間画像平面に表しておく。すなわちこの段階で図16の変位後Z値マップ310が得られる。以上の処理により、中間画像の各画素からスクリーン上の位置への変位ベクトルが得られるため、以後は実施の形態1と同様に、スクリーンの各画素を始点とする逆ベクトルを画像参照ベクトルとして求める(S218)。これをスクリーン平面に表すことにより、画像参照ベクトルマップが生成される。
この処理において、スクリーンの画素ごとに、画像参照ベクトルとともにその参照先である中間画像の識別情報も対応づけておく。これにより、描画部268が表示画像のカラー値を決定する際、適切な中間画像からサンプリングを行える。またS218の処理では実施の形態1で説明したのと同様、Z値による画像参照ベクトルの選択や穴の補間を適宜行ってよい。また、補間の必要がなければ画像参照ベクトルマップを生成する処理を省略し、画像参照ベクトルを求めたあと、中間画像を直接参照するようにしてもよい。
以上述べた本実施の形態によれば、3次元のオブジェクトを描画する際、オブジェクトを構成するポリゴンに対し曲面を生成し、ポリゴン上の位置と曲面上の位置の関係を取得する。そして、平面のポリゴンを用いて生成した画像を、当該位置関係に応じて変位させ表示画像を生成する。この際、変位前の画像の平面を、視点と独立に設定する。これにより、実施形態1で得られる効果に加え、変位前のポリゴンの像が視点に影響され潰れてしまい、それを参照した結果として生成される表示画像の画質が劣化するのを防ぐことができる。結果として、状況によらず高い頑健性で高品質な画像を描画し続けることができる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば実施の形態1、2では、よりリアルな形状を表現するためにオブジェクトモデルを構成するポリゴンを曲面とし、それによる画素の変位に基づく画像参照ベクトルを導入したが、処理の目的はそれに限らない。一例として、視差を有するステレオ画像を右目用および左目用に表示させ、オブジェクトを立体視させる技術への応用が考えられる。図24はステレオ画像を生成する際の、画像平面上での位置座標の変位の様子を説明するための図である。同図は図9の(b)に示したのと同様、曲面パッチ56をスクリーンに射影した状態を示しており、複数のマス目(例えばマス目60)はそれぞれ画素領域を示している。
また図9で示したように、ある画素の中心点62が、ポリゴンを曲面化することにより別の点64に変位しているとする。ステレオ画像を生成する際は、このように変位させた点64を、さらに画像平面上に水平方向に変位させる。図中、左方向の変位ベクトル92aは右目、右方向の変位ベクトル92bは左目の、視差による変位ベクトルである。この例では、中間画像の視点は右目視点と左目視点の中点にあるとしているため、水平方向で逆向きに同じ長さの変位ベクトルを生成する。中間画像の視点を両眼の視点の一方とし、他方の視点の画像を生成するために一つの変位ベクトルを生成してもよい。
いずれにしろ変位ベクトル92a、92bの長さは、オブジェクトのZ値に反比例する。したがってZ値から変位ベクトルの長さを求める関数をあらかじめ設定しておけば、図16で示した変位後Z値マップ310を用いて、視差による変位ベクトル92a、92bをそれぞれ求めることができる。
そしてポリゴンを曲面化したことによる変位ベクトル96に、視差による変位ベクトル92a、92bを加算することにより、右目用画像の変位ベクトルと左目用画像の変位ベクトルがそれぞれ求められる。この加算処理を、図16で示した変位ベクトルマップ308の各画素に対して実施すれば、右目用と左目用の変位ベクトルマップを生成できる。それらのマップから、本実施の形態で説明したのと同様に画像参照ベクトルマップを生成し、それぞれに基づき表示画像のカラー値を決定すれば、右目用、左目用の表示画像を少ない演算量で生成できる。あるいはポリゴンの曲面化に基づく画像参照ベクトルと、視差に基づく画像参照ベクトルをそれぞれ求め、両者を合成することにより最終的な画像参照ベクトルを求めてもよい。
ただしこのように、1つの中間画像からステレオ画像を生成すると、左右の視点の違いによる輝度の差までは表現できない。そこで当該輝度差を表した、右目用、左目用の中間画像を生成しておき、それぞれを参照先とする画像参照ベクトルマップにより、各視点の表示画像を生成してもよい。この場合、図24で示したような視差に基づく大きな変位を計算する必要がない。すなわち左右の視点の微少な移動に対する視差補正分の変位ベクトルを、ポリゴンの曲面化による変位ベクトルに加えればすむため、一度の画像参照ベクトルの計算で曲面補正とステレオ画像の視差補正を同時に行うことができる。
画像参照ベクトルを導入する別の例として、コンピュータグラフィクスや写真など様々な画像の加工処理に用いることが考えられる。図25は、画像参照ベクトルを導入して加工した画像を例示している。(a)は加工前の画像、(b)は凸レンズ効果を施した画像、(c)は渦巻き効果を施した画像である。これらの処理は一般的にはフィルタを用いて元の画素を直接操作する。そのため比較的広範囲の領域を補間するなどにより上述のように混色が生じ、画質が低下することが考えられる。
本実施の形態によれば、加工に伴う処理の多くをベクトル演算として理論上で行っておき、画素値の直接的な操作は最終段階での局所的な参照に限られるため、図示するように元の画像から品質が劣化しにくい。図示する加工例において、凸レンズ効果や渦巻き効果を生じさせるための、元の画像からの画素ごとの変位ベクトルは、それぞれに対応する幾何学計算から容易に求められる。したがって本実施の形態と同様に、変位ベクトルの分布から画像参照ベクトルを求め、必要に応じて穴の補間を行うことにより画像参照ベクトルマップを生成すれば、加工後の表示画像を容易に生成することができる。
なおこのような加工処理の場合、同じ加工には同じ画像参照ベクトルマップを用いることができるため、記憶装置などに格納しておき必要に応じて読み出すようにすればよい。また図示する例に限らず、変位ベクトルの分布を定義できれば、その他の各種加工や変形についても、同様の処理で品質劣化の少ない表示画像を生成できる。
また本実施の形態では、ポリゴンに対応する曲面上の位置をスクリーンに射影することで、当該スクリーン上で変位ベクトルを求め、その逆ベクトルを画像参照ベクトルとした。一方、「変位ベクトル」を、ポリゴン上の位置を始点とする3次元空間でのベクトルとしてもよい。この場合、当該変位ベクトルをスクリーンに射影すれば、本実施の形態と同様の手順で、その逆ベクトルを画像参照ベクトルとすることができる。ここで変位ベクトルの終点は、別途定義したベジェ曲面のような曲面パッチ上としてもよいし、曲面を定義することなく、ポリゴンの情報などを用いて変位ベクトル自体を所定の規則で生成してもよい。
12 表示装置、 200 画像生成装置、 222 CPU、 224 GPU、 226 メインメモリ、 250 入力情報取得部、 252 仮想空間生成部、 254 モデルデータ格納部、 256 中間画像生成部、 258 表示画像生成部、 260 中間画像格納部、 262 出力部、 264 曲面生成部、 266 画素変位取得部、 268 描画部。
以上のように本発明は、ゲーム装置、画像表示装置、携帯端末、パーソナルコンピュータなど各種情報処理装置や、それらのいずれかを含む情報処理システムなどに利用可能である。

Claims (16)

  1. 3次元のオブジェクトを含む空間を表す画像を生成する画像生成装置であって、
    前記オブジェクトを構成するポリゴンを平面に射影することにより中間画像を生成する中間画像生成部と、
    3次元空間において前記ポリゴン上の位置座標を所定の規則で変位させることにより生じる、前記中間画像の位置座標の変位に係る情報を取得する画素変位取得部と、
    前記変位に係る情報に基づき、表示画像の画素ごとに前記中間画像の対応する位置を特定し、当該位置におけるカラー値を前記表示画像の画素のカラー値として決定することにより表示画像を描画する描画部と、
    前記表示画像のデータを出力する出力部と、
    を備え、
    前記画素変位取得部は、前記中間画像の位置座標の変位における変位後の位置座標を始点とし変位前の位置座標を終点とする参照ベクトルを、前記表示画像の画像平面における変位後の位置座標を含む画素ごとに表したベクトルマップを、前記変位に係る情報として生成することを特徴とする画像生成装置。
  2. 前記画素変位取得部は、前記ベクトルマップにおける1つの画素領域に、前記中間画像における複数の位置からの変位後の位置が重複する場合、3次元空間における変位後の位置が、前記画像平面への射影において設定される仮想カメラの位置に、より近い変位を用いて、当該画素領域の前記参照ベクトルを決定することを特徴とする請求項1に記載の画像生成装置。
  3. 前記ポリゴンを所定の規則で曲面に対応させる曲面生成部をさらに備え、
    前記画素変位取得部は、前記ポリゴン上の位置座標に対応する、前記曲面上の位置座標を、前記画像平面に射影することにより、前記参照ベクトルを取得することを特徴とする請求項1または2に記載の画像生成装置。
  4. 前記画素変位取得部は、前記ポリゴンの各頂点におけるオブジェクトの法線ベクトルを補間してなる法線の方向に位置する、前記曲面上の点からの距離を、前記ポリゴンにマッピングするテクスチャの画素ごとに保持する距離マップを参照することにより求め、前記参照ベクトルを補正することを特徴とする請求項3に記載の画像生成装置。
  5. 前記画素変位取得部は、前記中間画像の位置座標の変位を、1つの画素領域より狭い間隔で取得し、それらの変位後の位置と前記ベクトルマップにおける画素領域との位置関係により、前記参照ベクトルを前記ベクトルマップの画素ごとに決定することを特徴とする請求項1から4のいずれかに記載の画像生成装置。
  6. 前記画素変位取得部は、前記ポリゴンと前記画像平面との角度、または前記ポリゴンが前記平面に射影されるときの前記角度による縮小率の大きさによって、前記変位を取得する間隔を変化させることを特徴とする請求項5に記載の画像生成装置。
  7. 前記画素変位取得部は、前記ベクトルマップにおける画素のうち、前記中間画像の位置座標からの変位先に該当しない画素に対し、周囲の参照ベクトルを用いた補間により、前記参照ベクトルを設定することを特徴とする請求項1から6のいずれかに記載の画像生成装置。
  8. 前記曲面生成部は、前記ポリゴンに対応するパラメトリック曲面を生成し、
    前記画素変位取得部は、前記ポリゴンの平面を対応するパラメトリック曲面にマッピングすることにより、前記ポリゴン上の位置と前記曲面上の位置との対応関係を取得することを特徴とする請求項3に記載の画像生成装置。
  9. 前記中間画像生成部は、前記中間画像のカラー値または前記ポリゴンに係る情報を画素ごとに決定する処理において、当該画素に対応する前記ポリゴン上の相対的位置座標を取得し、
    前記画素変位取得部は、前記ポリゴン上の相対的位置座標の変位後の位置座標の、前記画像平面への射影先を取得することで、前記参照ベクトルを前記画素ごとに取得することを特徴とする請求項1から8のいずれかに記載の画像生成装置。
  10. 前記画素変位取得部は、前記中間画像における複数の位置座標からの前記変位を並列に取得するとともに、変位先が同じ画素となる複数の変位について、3次元空間における変位後の位置と前記画像平面への射影において設定される仮想カメラの位置との距離を確認し、最も小さい距離値を当該変位先の画素に表した、射影方向をZ軸とするZバッファを、複数の前記ポリゴンを用いて生成し、
    さらに前記変位を逆に辿るベクトルを並列に取得したうえ、前記Zバッファに距離値が表されている変位に対応するベクトルを、前記変位先の画素に表すことにより、前記ベクトルマップを生成することを特徴とする請求項1から9のいずれかに記載の画像生成装置。
  11. 前記画素変位取得部はさらに、前記中間画像からの視点の変化に対応する像の変位を、前記中間画像の位置座標の変位に含めることを特徴とする請求項1から10のいずれかに記載の画像生成装置。
  12. 前記中間画像生成部は、前記表示画像の画像平面と独立に設定した平面に、前記ポリゴンを射影することを特徴とする請求項1から11のいずれかに記載の画像生成装置。
  13. 前記中間画像生成部は、前記ポリゴンを射影してなる像の面積に基づき、前記中間画像を生成する平面を選択することを特徴とする請求項12に記載の画像生成装置。
  14. 前記中間画像生成部は、前記ポリゴンによって異なる複数の平面に前記中間画像を生成し、
    前記画素変位取得部は、前記表示画像の画素ごとに、対応するポリゴンが表された前記中間画像の識別情報を、前記参照ベクトルに対応づけて保存することを特徴とする請求項12または13に記載の画像生成装置。
  15. 3次元のオブジェクトを含む空間を表す画像を生成する画像生成方法であって、
    前記オブジェクトを構成するポリゴンを平面に射影することにより中間画像を生成するステップと、
    3次元空間において前記ポリゴン上の位置座標を所定の規則で変位させることにより生じる、前記中間画像の位置座標の変位に係る情報を取得するステップと、
    前記変位に係る情報に基づき、表示画像の画素ごとに前記中間画像の対応する位置を特定し、当該位置におけるカラー値を前記表示画像の画素のカラー値として決定することにより表示画像を描画するステップと、
    前記表示画像のデータを出力するステップと、
    を含み、
    前記変位に係る情報を取得するステップは、前記中間画像の位置座標の変位における変位後の位置座標を始点とし変位前の位置座標を終点とする参照ベクトルを、前記表示画像の画像平面における変位後の位置座標を含む画素ごとに表したベクトルマップを、前記変位に係る情報として生成することを特徴とする画像生成装置による画像生成方法。
  16. 3次元のオブジェクトを含む空間を表す画像を生成するコンピュータに、
    前記オブジェクトを構成するポリゴンを平面に射影することにより中間画像を生成する機能と、
    3次元空間において前記ポリゴン上の位置座標を所定の規則で変位させることにより生じる、前記中間画像の位置座標の変位に係る情報を取得する機能と、
    前記変位に係る情報に基づき、表示画像の画素ごとに前記中間画像の対応する位置を特定し、当該位置におけるカラー値を前記表示画像の画素のカラー値として決定することにより表示画像を描画する機能と、
    前記表示画像のデータを出力する機能と、
    を実現させ、
    前記変位に係る情報を取得する機能は、前記中間画像の位置座標の変位における変位後の位置座標を始点とし変位前の位置座標を終点とする参照ベクトルを、前記表示画像の画像平面における変位後の位置座標を含む画素ごとに表したベクトルマップを、前記変位に係る情報として生成することを特徴とするコンピュータプログラム。
JP2019540772A 2017-09-07 2018-06-14 画像生成装置および画像生成方法 Active JP6802928B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/JP2017/032373 WO2019049289A1 (ja) 2017-09-07 2017-09-07 画像生成装置および画像生成方法
JPPCT/JP2017/032373 2017-09-07
PCT/JP2018/022808 WO2019049457A1 (ja) 2017-09-07 2018-06-14 画像生成装置および画像生成方法

Publications (2)

Publication Number Publication Date
JPWO2019049457A1 JPWO2019049457A1 (ja) 2020-07-09
JP6802928B2 true JP6802928B2 (ja) 2020-12-23

Family

ID=65633683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019540772A Active JP6802928B2 (ja) 2017-09-07 2018-06-14 画像生成装置および画像生成方法

Country Status (3)

Country Link
US (1) US11120614B2 (ja)
JP (1) JP6802928B2 (ja)
WO (2) WO2019049289A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112686805A (zh) * 2020-12-31 2021-04-20 联想(北京)有限公司 一种图像显示方法和电子设备
CN113473207B (zh) * 2021-07-02 2023-11-28 广州博冠信息科技有限公司 直播方法、装置、存储介质及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249289B1 (en) * 1996-11-27 2001-06-19 Silicon Graphics, Inc. Multi-purpose high resolution distortion correction
JP3705923B2 (ja) 1998-04-09 2005-10-12 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体
JP3619063B2 (ja) * 1999-07-08 2005-02-09 キヤノン株式会社 立体画像処理装置、その方法、立体視パラメータ設定装置、その方法そしてコンピュータプログラム記憶媒体
AU2001286216A1 (en) * 2000-09-13 2002-03-26 Center For Advanced Science And Technology Incubation, Ltd. Texture mapping method and rendering device
US7333107B2 (en) * 2005-08-18 2008-02-19 Voxar Limited Volume rendering apparatus and process

Also Published As

Publication number Publication date
WO2019049457A1 (ja) 2019-03-14
WO2019049289A1 (ja) 2019-03-14
US11120614B2 (en) 2021-09-14
US20200258290A1 (en) 2020-08-13
JPWO2019049457A1 (ja) 2020-07-09

Similar Documents

Publication Publication Date Title
US10607417B2 (en) Image generating apparatus and image generating method
US10721456B2 (en) Image generation apparatus and image generation method
EP3057066B1 (en) Generation of three-dimensional imagery from a two-dimensional image using a depth map
CN107274338B (zh) 用于深度图的低等待时间变形的系统、方法和装置
US20080309668A1 (en) Image processing method and apparatus
JP6802928B2 (ja) 画像生成装置および画像生成方法
US20220270205A1 (en) Reference image generation apparatus, display image generation apparatus, reference image generation method, and display image generation method
US9401044B1 (en) Method for conformal visualization
KR100381817B1 (ko) 제트버퍼를 이용한 입체영상 생성방법 및 기록매체
EP3573018B1 (en) Image generation device, and image display control device
US11050993B2 (en) Image generating apparatus and image generating method
JP2003233836A (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
JP4642431B2 (ja) 地図表示装置、地図表示システム、地図表示方法およびプログラム
JP6920440B2 (ja) 画像生成装置および画像生成方法
JP4714919B2 (ja) レンダリング装置及び記録媒体並びにプログラム
KR100914915B1 (ko) 저비용의 뷰-체적 클리핑 방법 및 장치
US6067089A (en) Texture mapping device
JP2004227095A (ja) テクスチャマップ作成方法、テクスチャマップ作成用プログラムおよびテクスチャマップ作成装置
CN117915057A (zh) 图像处理方法和虚拟现实显示系统
JP2005092752A (ja) 画像処理装置、画像処理方法
JPH07320086A (ja) 画像生成方法および画像生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201127

R150 Certificate of patent or registration of utility model

Ref document number: 6802928

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150