(57)【要約】【課題】多視点シルエットエッジを用いて放射輝度の関数の不連続性を検出することにより、多視点画像を生成する。【解決手段】多視点シルエットエッジは、逆追跡平面と交差し、かつ、交点から見て後ろ向きのトライアングルのエッジであり、当該エッジは、他の後ろ向きのトライアングルには繋がっていない。シェーディング点とカメララインとの間の可視性を計算し、共有されるシェーディング計算を再利用する。【選択図】図１
2013537997.tif 000002
【特許請求の範囲】
【請求項１】
多視点画像を生成する方法であり、
多視点シルエットエッジを用いて放射輝度の関数の不連続性を検出する段階を備える、方法。
【請求項２】
シェーディング点とカメララインとの間の分析可視性を計算する段階をさらに備える、請求項１に記載の方法。
【請求項３】
多視点シルエットエッジを用いて再構成を行う段階をさらに備え、
ピクセルは複数の領域に分割される、請求項２に記載の方法。
【請求項４】
前記分析可視性に基づき逆追跡サンプルを挿入する段階をさらに備える、請求項２または３に記載の方法。
【請求項５】
サンプルを含まない領域に対して新たな光線を照射する段階をさらに備える、請求項３または４に記載の方法。
【請求項６】
前記カメラライン上の可視性セグメントに関するシェーディング計算を共有する段階をさらに備える、請求項２から５のいずれか１項に記載の方法。
【請求項７】
前記シェーディング計算を複数の構成部分へ分割し、異なる頻度で前記複数の構成部分を評価する段階をさらに備える、請求項６に記載の方法。
【請求項８】
逆追跡トライアングル内の多視点シルエットエッジを検出する段階をさらに備える、請求項１から７のいずれか１項に記載の方法。
【請求項９】
交点から見て後ろ向きのトライアングルのみを処理することにより、シルエットエッジを見つけ出す段階をさらに備える、請求項１から８のいずれか１項に記載の方法。
【請求項１０】
逆追跡トライアングル平面と交差するトライアングルのみをテストすることによりシルエットエッジを見つけ出す段階をさらに備える、請求項１から９のいずれか１項に記載の方法。
【請求項１１】
コンピュータに、
多視点シルエットエッジを用いて放射輝度の関数の不連続性を検出することにより多視点画像を生成する手順を実行させる、コンピュータプログラム。
【請求項１２】
シェーディング点とカメララインとの間の分析可視性を計算する手順をさらにコンピュータに実行させる、請求項１１に記載のコンピュータプログラム。
【請求項１３】
多視点シルエットエッジを用いて再構成を行う手順をさらにコンピュータに実行させ、
ピクセルは複数の領域に分割される、請求項１２に記載のコンピュータプログラム。
【請求項１４】
前記分析可視性に基づき逆追跡サンプルを挿入する手順をさらにコンピュータに実行させる、請求項１２または１３に記載のコンピュータプログラム。
【請求項１５】
サンプルを含まない領域に対して新たな光線を照射する手順をさらにコンピュータに実行させる、請求項１３または１４に記載のコンピュータプログラム。
【請求項１６】
前記カメラライン上の可視性セグメントに関するシェーディング計算を共有し、異なる頻度（ｆｒｅｑｕｅｎｃｙ）でシェーディングを行う手順をさらにコンピュータに実行させる、請求項１２から１５のいずれか１項に記載のコンピュータプログラム。
【請求項１７】
逆追跡トライアングル内の多視点シルエットエッジを検出する手順をさらにコンピュータに実行させる、請求項１１から１６のいずれか１項に記載のコンピュータプログラム。
【請求項１８】
交点から見て後ろ向きのトライアングルのみを処理することにより、シルエットエッジを見つけ出す手順をさらにコンピュータに実行させる、請求項１１から１７のいずれか１項に記載のコンピュータプログラム。
【請求項１９】
逆追跡トライアングル平面と交差するトライアングルのみをテストすることによりシルエットエッジを見つけ出す手順をさらにコンピュータに実行させる、請求項１１から１８のいずれか１項に記載のコンピュータプログラム。
【請求項２０】
エッジを共有する後ろ向きのトライアングルを見つけ出し、シルエットエッジを見つけ出す際に、共有された前記エッジを無視する手順をさらにコンピュータに実行させる、請求項１１から１９のいずれか１項に記載のコンピュータプログラム。
【請求項２１】
グラフィックを処理する装置であり、
多視点シルエットエッジを用いて放射輝度の関数の不連続性を検出することにより多視点画像を生成するプロセッサと、
前記プロセッサと関連付けられた記憶部と
を備える、装置。
【請求項２２】
前記プロセッサは、シェーディング点とカメララインとの間の分析可視性を計算する、請求項２１に記載の装置。
【請求項２３】
前記プロセッサは、多視点シルエットエッジを用いて再構成を行い、
ピクセルは複数の領域に分割される、請求項２２に記載の装置。
【請求項２４】
前記プロセッサは、前記分析可視性に基づき逆追跡サンプルを挿入する、請求項２２または２３に記載の装置。
【請求項２５】
前記プロセッサは、サンプルを含まない領域に対して新たな光線を照射する、請求項２３または２４に記載の装置。
【請求項２６】
前記プロセッサは、前記カメラライン上の可視性セグメントに関するシェーディング計算を共有し、異なる頻度でシェーディングを行う、請求項２２から２５のいずれか１項に記載の装置。
【請求項２７】
前記プロセッサは、逆追跡トライアングル内の多視点シルエットエッジを検出する、請求項２１から２６のいずれか１項に記載の装置。
【請求項２８】
前記プロセッサは、交点から見て後ろ向きのトライアングルのみを処理することにより、シルエットエッジを見つけ出す、請求項２１から２７のいずれか１項に記載の装置。
【請求項２９】
前記プロセッサは、逆追跡トライアングル平面と交差するトライアングルのみをテストすることによりシルエットエッジを見つけ出す、請求項２１から２８のいずれか１項に記載の装置。
【請求項３０】
前記プロセッサは、エッジを共有する後ろ向きのトライアングルを見つけ出し、シルエットエッジを見つけ出す際に、共有された前記エッジを無視する、請求項２１から２９のいずれか１項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、多視点表示、および多視点表示される画像を生成するグラフィック処理に関する。
【背景技術】
【０００２】
立体レンダリングおよび３Ｄ立体表示が急速に主流となってきている。必然的に、アクティブまたはパッシブアイグラスを必要とせずに、同時に多くの観察者に対応できる視差バリアまたはレンチキュラーレンズを用いた裸眼立体多視点ディスプレイ（ａｕｔｏｓｔｅｒｅｏｓｃｏｐｉｃ  ｍｕｌｔｉ−ｖｉｅｗ  ｄｉｓｐｌａｙｓ）が用いられてきている。近い将来においては、これらのディスプレイはかなり限られた数の視点のみにしか対応できないので、高品質な視点間のアンチエイリアス処理の大きな必要性がある。
【図面の簡単な説明】
【０００３】
【図１】図１は、単純化した例における、カメラライン、順光線、逆追跡トライアングル、および画像平面の概念を示す模式図である。
【図２】図２は、本願発明の一実施形態において、どのように分析可視性の計算を行うかを図示する。
【図３】図３は、本願発明の一実施形態に係る多視点シルエットエッジの生成を示す模式図である。
【図４】図４は、ｖ次元でクリッピング処理を行った多視点シルエットを描写する。
【図５】図５は、一実施形態に係る共有された補間シェーディングを描写する。
【図６】図６は、一実施形態において、再構成フィルタを用いてどのように再構成を行うかを描写する。
【図７】図７は、逆追跡を用いることによる不均一なサンプル密度を描写する。
【図８】図８は、一実施形態に係るアンチエイリアス処理に用いる多視点シルエットエッジの交点を描写する。
【図９】図９は、一実施形態に係るフローチャートである。
【図１０】図１０は、一実施形態に係るハードウェアを描写する。
【発明を実施するための形態】
【０００４】
光線追跡を用いて効率的に多視点画像を生成する特別なアルゴリズムを説明する。シーン内の幾何学的なエッジによって生成される放射輝度の関数の明確な不連続性を検出するのに用いる、多視点シルエットエッジを導入する。さらに、シェーディング点とカメララインとの間の分析可視性を計算すること、およびシェーディング計算を共有することにより、シェーダコヒーレンスを活用する。
【０００５】
サンプリングする空間は、（ｘ，ｙ，ｖ）で示される３次元空間である。ここでｖはカメララインに沿った視点パラメータであり、（ｘ，ｙ）は、画像平面パラメータである。図１はこのことを示す。
【０００６】
光照射野Ｌ（ｘ，ｙ，ｖ）をサンプリングし再構成することにより、裸眼マルチ立体（ａｕｔｏｍｕｌｔｉｓｃｏｐｉｃ）ディスプレイ上で当該光照射野の高品質な表示を行うことを目的とする。そのようなディスプレイは、概念的に格子状に配置されたピクセルを有し、各ピクセルは、カメララインに沿った異なる位置ｖｉに向けて放射されるｎ個の独立した放射輝度値で同時に表示を行うことができる。それらの視点は小さな範囲内で可視性であり、通常は、ディスプレイの光学特性に依存して、視点の重なりがいくらかある。視点の数が少ないので（例えば、８〜６４）、ディスプレイのｖに沿った帯域幅は、非常に限られたものとなる。
【０００７】
視点間のエイリアスを避けるべく、再構成工程において、Ｌを視点依存性フィルタと統合し、ｎ個の独立した画像Ｌｉを計算する。
【数１】
2013537997.tif 000003
（１）ここでｇｉは、視点ｉのフィルタカーネルである。このことにより効果的に、観察者が動くときに知覚される、焦点平面の前方および後方の物体がぼけるストロボ効果をなくすことが出来る。なお通常通り、最終的なピクセル値を求める際、Ｌｉは空間アンチエイリアス処理フィルタとも統合される。
【０００８】
Ｌのランダムサンプリングは多くの演算量を要する。サンプルごとに、シーンとの交点を見つけ出すべく「順光線」がｖから（ｘ，ｙ）を通って送り出され、シェーディングが評価される。
【０００９】
Ｌの不連続性は、２つのことに起因し得る。それらは、シェーディングの急激な変化、およびソーン内の幾何学的なエッジである。多視点の状況に特有のシェーディングコヒーレンスを活用することにより少ない演算量でサンプルを生成する、多視点光線追跡に用いられる特別なアルゴリズムを提案する。順光線を用いた幾何学的なシルエットエッジのランダムなサンプリングに代わり、「逆追跡」により交点からカメララインへ後ろ向きにトライアングルを追跡することにより、それらエッジを分析検出する。図９のブロック１０２を参照されたい。このデータを符号化する多視点シルエットエッジと呼ばれる概念を導入する。シェーダは、それに関する情報が知られていない未知のものであるので、シェーディングの不連続性に関しては、引き続き適応サンプリングを用いる。
【００１０】
幾何学的なエッジを分析検出するので、副次的な効果として、シェーディング点とカメララインとの間の可視性の程度を正確に知ることも出来る。よって、さらに光線追跡を必要とすることなく、可視性であることが知られているセグメントに沿って、サンプルを追加的に任意の数だけ挿入することが出来る。例えば入射する放射輝度のサンプリングなど視点に依存する計算の全てを再利用することが出来るので、これら追加的な「逆追跡サンプル」のシェーディングは、演算量が比較的少なくて済む。
【００１１】
再構成工程において、格納されたサンプルおよびエッジに関する情報に基づいて、連続的な関数が作成される。従来の方法ではサンプルごとの勾配を計算することによりエッジを検出するという手間を要していたが、本発明では、幾何学的なシルエットエッジの正確な位置を知ることが出来る。いくつかの実施形態においては、これにより、再構成の品質をかなり向上させることが出来、よって、統合後の最終的な成果物の品質も向上させることが出来る。
【００１２】
サンプルがどのように生成され、多視点シルエットがどのように計算され、シェーディング計算がどのように再利用されるかについて説明する。図１に示すような順光線が表面に当たると、通常、シェーディングは（ｘ，ｙ，ｖ）座標で表されるサンプルとして計算され、格納される。カメララインの一部に関し（つまり、交点を「見る」ことの出来るｖの値に関し）、全てのシェーディングの視点に依存しない部分を、それら全てのｖの値に再利用することが出来る。このコヒーレンスを活用する直接的な方法は順光線の交点から後方へ、カメララインに向かって光線の組を追跡する方法である。しかし、このことによって、異なるエリア間でサンプル密度にばらつきが生じ得、再構成の際に対処を取らない限り、幾何学的なエッジの僅かなずれが起こり得る。図７を参照されたい。
【００１３】
本明細書で説明するアルゴリズムの逆追跡工程は、交点において順光線が物体に当たった後に開始される。逆追跡トライアングルは、図１に示すように当該交点とカメララインとによって形成される。このことの目的は、カメララインのどの部分が交点から見て可視性であるかを計算することである。本実施形態ではこのことを、平面におけるシャドウボリュームレンダリング（ｓｈａｄｏｗ  ｖｏｌｕｍｅ  ｒｅｎｄｅｒｉｎｇ）と最後の部分が同様であるアプローチを用いて分析的に行う。ここで取り上げたシーンにおけるトライアングルの幾何学の全ては、軸に並行な直方体（ａｘｉｓ−ａｌｉｇｎｅｄ  ｂｏｕｎｄｉｎｇ  ｂｏｘｅｓ（ＡＡＢＢ））を用いたｂｏｕｎｄｉｎｇ  ｖｏｌｕｍｅ  ｈｉｅｒａｒｃｈｙ（ＢＶＨ）で格納される。最初に、ＢＶＨを検討し、ＡＡＢＢについて、当該逆追跡トライアングルとの重複がないか確認する。このことを最適化トライアングル／ＡＡＢＢ重複テストを用いて行う。概念として、トライアングルのエッジが逆追跡トライアングルと交差する場合、当該トライアングルの逆追跡平面と交差する全てのエッジが、当該エッジの２つの頂点に関する指標から作成されるハッシュキーを有するハッシュ表へ挿入される。
【００１４】
シルエットエッジは本明細書において、トライアングルの逆追跡平面と交差するエッジとして定義し、さらに、トライアングルは交点から見て後ろ向きであり、当該エッジは他の後ろ向きのトライアングルとさらに繋がっていない。つまり、２次元多様体の開かれた、および閉じられた表面の両方（ｂｏｔｈ  ｏｐｅｎ  ａｎｄ  ｃｌｏｓｅｄ  ２−ｍａｎｉｆｏｌｄ  ｓｕｒｆａｃｅｓ）を扱うことが出来る。可視性を決定づけるのは交点から見たシルエットエッジのみであるので、これらのシルエットエッジを迅速に検出することが所望される。
【００１５】
本願発明では、シルエットエッジを、いくつかの最適化を用いて見つけ出す。図９のブロック１０４を参照されたい。最初に、交点から見て後ろ向きのトライアングルのみを処理する。次に、テスト対象のトライアングルは逆追跡トライアングルの平面に交差してなければならなく、また逆追跡トライアングルの平面はテスト対象のトライアングルに交差していなければならない。次に、ハッシュ内において重複がある場合、エッジを共有する２つの後ろ向きのトライアングルに基づいて、その共有される当該エッジが挿入されたということである。トライアングルは両方とも後ろ向きであるので、共有されたエッジはシルエットエッジとなり得ず、よって両方のエントリがハッシュ表から削除される。さらに、１つの頂点が交点の後方にあり、少なくとも１つの頂点が交点の前方にあるトライアングルを検出する。極稀にしか起こらないケースではあるが、当該トライアングルの逆追跡トライアングルに対するクリッピング処理を行い、その後、エッジを挿入する。全ての処理が完了すると、可能性のある全てのシルエットエッジがハッシュ表に含まれる。
【００１６】
図２は、交点（ＩＰ）から後方へ、カメララインに向かう分析可視性の計算をどのように行うかを図示する。オクルーダは、図示を簡潔にするべく、２次元で示す。よって３次元方向に存在するトライアングルは、２次元において線として示され、シルエットエッジは、「シルエット点」（黒点）で示される交点を向く線は点線で示す。図２の左側の図面では、最初に逆追跡トライアングルに基づいてカリングを行えない物体のトライアングルが処理されている。ハッシュ表を用い、残りの線の上のシルエット点を迅速に見つけ出す。図２の中央の図面では、シルエット点の屈曲を用い、＋１か、または−１の重み付けを行う。図２の右側の図面では、左から右にかけて重みの加減を行い、閉塞した（ｏｃｃｌｕｄｅｄ）部分は加減の結果、重みがゼロより大きくなるセグメントである。カメラライン上の黒色のセグメントＳが閉塞した部分である。
【００１７】
全てのシルエットエッジを見つけ出すと、シルエットエッジの、逆追跡トライアングルの平面との交点を、カメララインに沿って左から右へ処理する。図９のブロック１０６を参照されたい。トライアングルが外部から始まり、バック追跡トライアングルの左側にあるシルエットエッジの数となるようカウンタを初期化する。屈曲の順番に従い、それぞれの点は＋１か、または−１の重みを有する（図２において小さな矢印で示す）。カメララインに沿って重みの合計を計算し、合計がゼロより大きい場合、カメララインは閉塞した状態である。そうでない場合、交点から見て可視性である。最後に、外側のシルエットポイント、つまり図２の黒色のセグメントＳの端点のみを残す。なお、カメラライン上の少なくとも１点から交点が可視性であるので、カメララインの全体が閉塞した状態は起こらない。
【００１８】
多視点シルエットは、シーン内の幾何学的なエッジの代表的なサブセットを符号化する。上述した逆追跡工程において、外側のシルエットポイントの数を特定した。それらの各点は、カメラライン上の少なくともいずれかのｖおよび画像平面におけるｙに関するシルエットであるトライアングルのエッジから生成される。トライアングルのエッジは画像平面に投射されると、特定のｖに関する線となる。三次元の（ｘ，ｙ，ｖ）空間において、これらの線は、双線形パッチである表面を描く。これらのパッチを、多視点シルエットエッジと呼ぶことにするが、パッチという語も同じ意味で用いることもある。図３は幾何学的な例を示し、ここで、多視点シルエットエッジは４つの点ｐｉ、ｉ∈｛０，１，２，３｝により定められる。これら４つの点は、トライアングルエッジの端点をカメララインの端点へ向けて投射した際、画像平面と交わる点として得られる。シルエットエッジの端点がカメララインの端点に向けて投射されると、４つの点ｐ０、ｐ１、ｐ２、ｐ３が得られる。これら４つの点により、双線形パッチである多視点シルエットエッジが定められる。本願発明の再構成アルゴリズムでは、多視点シルエットエッジを用いて、幾何学的なエッジをより良好に表現する。なお焦点平面は、図３における画像平面と同一である。
【００１９】
多視点シルエットエッジのそれぞれは、サンプルドメインを、シーン内の幾何学的な不連続性を表す、重なりをもたない領域に局所的に分割する。再構成工程において、この情報を用い、本質的にエッジを考慮した再構成フィルタを用いることにより、実質的に品質を向上させる。以下では、多視点シルエットをどのように処理し、少ない演算量で、近似するエッジの表現を構成するかについて説明する。図９のブロック１０８を参照されたい。
【００２０】
最初に、対象となるのは、カメララインから見て可視性であるシルエットのみである。各パッチにおいて少なくとも１点は可視性であり（逆追跡段階で見つけ出される外側のシルエット点）、他の部分は、他のパッチによって閉塞されているということが十分にあり得る。一般的に、各パッチの限られた領域のみがカメララインから見て可視性である。
【００２１】
第１の最適化として、可能であれば、ｖ次元の多視点シルエットエッジの程度を低下させる。シルエットエッジを共有するトライアングルの２つの平面を用いて、エッジがカメララインから見て内側のシルエットではなく真のシルエットであるｖの範囲を求める。これらの平面は、カメララインに対してテストされる交点であり、それにしたがって、カメララインに対し、クリッピング処理が行われる。
【００２２】
図４は、１つの一般的なケースと、２つの特別なケースを示す。多視点シルエットに対し、ｖ次元でクリッピング処理が行われる。シルエットエッジに入射する平面を用い、ｖ軸に沿った多視点シルエットエッジの程度を制限する。図４において、多視点シルエットエッジに対し、ｖ軸上の間隔Ｉまでクリッピング処理が行われる。これら３つの全てのケースにおいて、カメララインのうち、エッジが実際にシルエットであり、交点が（少なくとも１点から見て）可視性である部分のみを残す。多視点シルエットのうち、カメララインから見て可視性であることが分かっている部分のみ（つまり、順光線が生じる部分のみ）を残す。
【００２３】
次に、次元に関する問題は、ｙ次元をいわゆるｙバケットへと離散化させる（ｄｉｓｃｒｅｔｉｚｉｎｇ）ことにより検討しないでよいものとする。各バケットは、座標ｙｉを中心とする。通常、１つの走査線あたり１つか、またはいくつかのバケットを用いれば十分であるが、複雑な幾何学を有するシーンにおいては、さらに多くのものを用いてもよい。双線形パッチとして多視点シルエットを扱う代わりに、多視点シルエットを、ｙバケットの（ｘ，ｖ）平面における線分として残す。このことにより、全てのクリッピング処理およびその他の処理を２次元上で行うので、アルゴリズムを大幅に単純化することが出来る。
【００２４】
各バケットに関し、２次元のｋＤツリーを用いて線分を維持する（ｈｏｌｄ）。新たなシルエットは挿入されたときは常に、当該バケット内の既存のエッジに対してクリッピング処理が行われる。この目的において、奥行き値およびエッジの屈曲を考慮すること、つまり、左側を向くシルエットであるか右側を向くシルエットであるかを検討することが重要である。ｋＤツリーに新たなエッジが挿入されると、カメララインンにより近いエッジに対しクリッピング処理が行われ、より遠いエッジのクリッピング処理を行う。最も前面にあるエッジの屈曲により、クリッピング処理が行われたエッジのうちどのセグメントを残すかどうかが決定される。
【００２５】
性能面での理由により、いくつかの実施形態において、パッチが重なる全てのバケットではなく、現在のｙバケット内の多視点シルエットのデータのみを挿入する。代替的に、他の交点からの逆追跡を活用して、同じ多視点シルエットエッジを繰り返して見つけ出し、当該多視点シルエットエッジを他のバケットに挿入する。このことは直観的な処理には見えないかもしれないが、いくつかのケースにおいては、より良好な性能で同等の品質を得ることが出来る。計算の複雑性を軽減するべく、パッチごとの全ての設定（つまり、端点ｐｉおよび他の必要な情報）が一度のみ計算され、ハッシュマップに格納され、エッジを構成するトライアングルｉｄ：ｓに適合させられる（ｋｅｙｅｄ  ｏｎ）。
【００２６】
最後に、多視点シルエットを見つけ出すべく、いくつかの実施形態において、ｙ方向のジッタリングを行わず、ｙバケットの中心を通る順光線のみを照射する。このことにより、稀にではあるが視覚的なアーチファクトを引き起こし得る、順光線のｙ座標に沿ってのみ可視性であるが、ｙバケットの中心からのものではないパッチを得ることがなくなる。本実施例での目的は、多視点シルエットエッジを全て表現するということではなく、代わりに、誤差測定および再構成をサポートすべく、エッジの代表的な組を迅速に構成することである。幾何学的なエッジがないドメインの領域においては、シェーダの不連続性の検出にコントラストの測定値を用いる通常の多次元適応サンプリング（ＭＤＡＳ）を自動的に用いるようなアルゴリズムとなる。Ｈａｃｈｉｓｕｋａ，Ｔ．，Ｊａｒｏｓｚ，Ｗ．，Ｗｅｉｓｔｒｏｆｆｅｒ，Ｒ．，Ｋ．Ｄａｌｅ，Ｇ．Ｈ．Ｚｗｉｃｋｅｒ，Ｍ．，ａｎｄ  Ｊｅｎｓｅｎ，Ｈ．Ｗ．２００８，"Ｍｕｌｔｉｄｉｍｅｎｓｉｏｎａｌ  Ａｄａｐｔｉｖｅ  Ｓａｍｐｌｉｎｇ  ａｎｄ  Ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｆｏｒ  Ｒａｙ  Ｔｒａｃｉｎｇ"，ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｇｒａｐｈｉｃｓ，２７，３，３３．１−３３．１０を参照されたい。
【００２７】
分析逆追跡によりカメラライン上の可視セグメントの組を特定すると、逆追跡サンプルの組がそれらセグメント内で生成され、これらサンプルが、全てのサンプルを有する３次元のｋＤツリーへ挿入される。逆追跡サンプルは、カメララインｖ上の点から見た、順光線が当たる交点から生じる放射である。同じ交点から生成された逆追跡サンプルのシューディング計算を再利用することにより、シェーダコヒーレンスを活用する。図９のブロック１１０を参照されたい。
【００２８】
順光線のそれぞれが、シェーディングを必要とする交点に当たる。最も単純化した実施例において、シェーダを視点に依存する部分と視点に依存しない部分とに分割する。逆追跡サンプルの全てに関し、双方向反射率分布係数（ＢＲＤＦ）の視点に依存する部分の評価を行う。このことには、例えば、鏡面ハイライト、反射および屈折などが含まれる。ＢＲＤＦの視点に依存しない部分は、１つの順光線ごとに一度のみ評価される。この例としては、放射照度の収集（ｉｒｒａｄｉａｎｃｅ  ｇａｔｈｅｒｉｎｇ）、可視性の計算（例えば影など）、および拡散照明などが挙げられる。このことだけでも、速度が格段に速くなる。また、ミップマップテクスチャフィルタリングまたは異方性テクスチャフィルタリングから抽出した色は、視点に依存する。表面上の点の方を見ると、テクスチャルックアップはカメラライン上の視点に依存して、異なるフットプリントが得られる。これまでのところ、本願発明のシェーディング最適化は正確なものである。
【００２９】
近似シェーダ再利用方法により、異なる頻度（ｆｒｅｑｕｅｎｃｉｅｓ）でのシェーディングが可能となり、また当該方法に、任意のカメラ位置でのシェーディングサンプルを得るべく、補間または最近傍探索を用いてもよい。例えば、ＢＲＤＦの鏡面反射成分は急速に変わり得るので、シェーディングサンプルを忠実に再構成するには、密にサンプリングを行う必要がある。しかし、いくつかのケースにおいては、低い頻度で鏡面反射成分のサンプリングを行い、その後それらサンプル間で補間を行ってもよい。同様に、テクスチャルックアップが変わる頻度はさらに低いことが多く、よりまばらなサンプリングでもよい。
【００３０】
図５は、シェーディングの再利用の一実施形態を示す。図中左に進む順光線は交点において球形の物体に当たる。分析可視性は、本願発明のアルゴリズムを用いて計算する。交点からは、垂直方向に延びるカメララインの、太線でない部分のみが可視性である。５つの新たな逆追跡サンプルが生成される（右側に進む光線）。拡散シェーディング計算は（何らかのテクスチャルックアップを伴わない場合）、６つの全ての光線に関し一度行うことが出来、その後、全ての光線に再利用することが出来る。右に示す文字は、一実施形態における、鏡面反射シェーディング計算の頻度を視覚的にわかるようにするものである。「ｓ」が付された光線の全てについては、鏡面反射シェーディングの計算が最初から行われ、他の「ｉ」が付された光線は、隣接する光線からの補間が行われる。先行する工程において可視性が分析によって判断されているので、逆追跡においては、可視性の計算は行われない。
【００３１】
シェーディングの再利用に関する他の実施形態において、カメララインｖに沿った、ランダムであり、かつ逆追跡サンプルよりもまばらな位置においてシェーディングが行われる。その後、その結果得られるシェーディング値を用いて、逆追跡サンプルに対す直線的な補間が行われる。逆追跡サンプルが最も外側のシェーディングサンプルのカメララインパラメータｖより上方または下方に位置する場合、これら逆追跡サンプルに割り当てられた、シェーディングされた色の値に対して、最も近いシェーディングサンプルへのクランピングが行われる。同様に、テクスチャルックアップは、シェーディングサンプルよりもさらにまばらに行うことが出来る。シェーディングサンプルおよび逆追跡サンプルに関して説明した補間およびクランピングのルールに従って、テクスチャ色の値をシェーディングサンプルに割り当てる。
【００３２】
１つの順光線あたりの逆追跡サンプルの数は、変数パラメータであり、シェーダによって調整することが出来る。しかし一般的に本願発明では、逆追跡サンプルの数を、分析逆追跡工程で見つけ出されるカメララインの可視セグメントの長さの合計に比例するものとする。さらに、逆追跡サンプルのカメラライン上でのジッタリングを行い、順光線が生じるサブセグメントに関し、対応する逆追跡サンプルが削除される。代替的に、順光線は、誤差測定値が最も大きいＭＤＡＳにより生成されたものであり重要度が高いので、そのままの位置で用いられる。一般的に逆追跡サンプルは、ＭＤＡＳにより生成される「完全な」サンプルよりも重要性は低い。よって、逆追跡サンプルの数を必要以上に大きくしても意味がない。なぜなら、ｋＤツリールックアップの速度が、実質的に遅くなるからである。しかし、演算量の多いシェーダに関しては、シェーダの計算を再利用し、シェーダの部分をより低い頻度で評価することの利点は大きく、このことは特に視点の数が大きくなると顕著になる。
【００３３】
次に、本願発明の再構成アルゴリズムを説明する。図９のブロック１１２を参照されたい。サンプルは全てが３次元であり、つまり、（ｘ，ｙ，ｖ）座標を持つ。さらに、それぞれのサンプルは色およびｚ座標といった何らかの補助的なデータを有する。このサンプルセットから、ｎ個の異なる画像を再構成する。ここでｎは対象となる表示に依存して決まる。例えば、立体表示ではｎ＝２である。
【００３４】
図６に示すように、本願発明のアルゴリズムにおけるサンプル生成工程の後、サンプルの３次元空間（ｘ，ｙ，ｖ）が得られる。ここでｖは視点の次元、つまり、カメララインに沿ったパラメータである。このサンプルセットから、ｎ個の画像が再構成される。この場合、ｎ＝９であるが、３つの画像のみを右側に示す。ｖ軸に沿った任意のフィルタカーネルｇｉを用いることが出来る。図６の下部に、９つの画像すべてを示す。
【００３５】
第１の工程は、ＭＤＡＳの再構成アルゴリズムと同一である。簡単に説明すると、最初に、ｋＤツリーが、各ノードが１つのサンプルを有するようになるまで細分化される。各サンプルが処理されると、最も近くのサンプルが見つけ出され、勾配が計算され、最終的に構造テンソルがサンプルごとに計算される。この処理の後、ピクセルの中間、つまり固定された（ｘ，ｙ）座標において、ｖ次元内のｖラインと呼ばれる線に沿って統合を行うことにより、ピクセルの最終的な色が見つけ出される。多視点の状況において、特定の視点に関しては特定の範囲のｖのみを処理する必要がある（図６を参照）。その後ＭＤＡＳによって、ｖラインと重なるｋＤツリーノードを見つけ出し、各ｋＤツリーノードのピクセル色への影響を蓄積する。この影響は、ｋＤツリーノードの中間において、ｖライン上の統合点（ｘ，ｙ）を設定し、
【数２】
2013537997.tif 000004
隣接するサンプルの統合点への色に関する影響を計算することにより、計算される。ＭＤＡＳではこのことを、ユークリッド空間（ｔｈｅ  Ｅｕｃｌｉｄｅａｎ  ｓｅｎｓｅ）におけるノードの中心に最も近いｋＤツリーのｓ個のサンプルを見つけ出し、近似する、最も近く隣接するサンプルの大体の組を得ることによって行い、この組は、各ノードに格納される。続いて、構造テンソルを用いてこれらのサンプルに関しマハラノビス距離を計算する。統合点の色は、最も近いサンプルの色となる。
【００３６】
ＭＤＡＳによると、ｋＤツリーが真のエッジの忠実な表現を有する場合、高品質のエッジを再構成できる。しかし、本願発明の演算量が少なくて済む逆追跡サンプルが挿入されると、多くの場合において、このことは正しくはない。図７はこのことの一例を示しており、逆追跡による、不均一なサンプル密度を示す。
【００３７】
図７の一番左の図面は、シーンのｘｚ平面内での走査線を示しており、２つの水平な線Ｒには焦点があっており、水平な線Ｂは背景である。各順光線について、光線の組が、交点からカメララインまで追跡される。理解いただけるように、線Ｂに当たる順光線については、逆光線の一部分のみがカメララインに到達する。中央の図面は、適当な数の順光線および対応する逆光線の追跡が行われた後のエピポーラ平面を示す。「エピポーラ平面」は、特定のｙに関するｘｖ空間である。線Ｒからのサンプルは四角Ｑとして示されており、背景Ｂからのサンプルは、黒点Ｄとして示されている。なお、サンプル密度は、領域Ｒにおいて著しく低い。最後に右側の図面において、エピポーラ平面からの拡大された視点が示されている。シェーディングされた背景は、真の幾何学的なエッジの位置を示しているが、サンプリング密度が異なるので、再構成されたエッジ（垂直線Ｓ）は、より密度の低いサンプル領域Ｍへとはみ出すこともあり得、よって、真のエッジＴとは異なる場所に配置してもよい。これらの図面は例示的なものであり、実際のサンプル分布を示すものではない。よって、このことを解決すべく、本願発明の再構成技術では多視点シルエットが用いられ、本願発明のアルゴリズムが生成するタイプのサンプルの組の再構成品質を向上させる。
【００３８】
次に、ｖラインに重なる各ｋＤツリーノードを処理する際の、ピクセル領域上への統合を実質的にどのように向上させるかを説明する。特定のｋＤツリーノードおよびピクセル（ｘｐ，ｙｐ）に関し、
【数３】
2013537997.tif 000005
において統合点も作成する。概念としては、次に、多視点シルエットデータ構造において、ｘ方向に、統合点に最も近い２つのエッジを探す。このことは以下のように行う。双線形パッチである多視点シルエットエッジ（図３）の、平面ｙ＝ｙｐとの交点は、構成によりｘｖ空間において直線となる。次にこの線形の方程式を用いて、
【数４】
2013537997.tif 000006
における多視点シルエットのｘ座標を計算する。このことを最も近い多視点シルエットの全てに関して行い、ｘ＜ｘｐである最も近いエッジ、およびｘ≧ｘｐである最も近いエッジは残す。この状況を図８の左側に示す。
【００３９】
図８の左側において、エピポーラ平面ｘｖで見られる、サンプルのｋＤツリーからのノード（四角Ｇ）を示す。×印は、このｋＤツリーノードに関して選択された統合線上の統合点であり、黒色の丸はサンプルである。
【数５】
2013537997.tif 000007
において、本願発明のアルゴリズムは、ｘにおいて２つの最も近い多視点シルエット（線ＥおよびＦ）を探す。最も近い多視点シルエットは、ピクセル中心のｙ値に関し評価される。
【００４０】
最も近い多視点シルエットエッジが見つけ出されると、
【数６】
2013537997.tif 000008
における当該多視点シルエットエッジから新たな線形の方程式を作成することにより、それら最も近い多視点シルエットエッジを画像平面（ｘ，ｙ）に投射する。その後これらの線は、ピクセルの範囲（ｅｘｔｅｎｔ）に対してクリッピング処理が行われる。２つのエッジがあるので、このことによって図８の右側に示すような４つの異なる構成となる。ここでピクセルは１〜４個の領域に分割される。その後、各領域の色が、当該各領域内の（マハラノビス距離で測って）最も近いサンプルを用いて計算される。同時に、これらのピクセル領域の面積ａｉ、ｉ∈｛１，２，３，４｝が計算される。ここでこれらの面積の合計は、ピクセルの面積と等しい。次に、ノードの中心点の周りの、ユークリッド空間において最も近いｓ個のサンプルが直接ノードからフェッチされる。その後、最も近いサンプルは異なる領域に分類され、ピクセルに重なる各領域の色ｃｉが、当該領域内のサンプルのみを用いて、マハラノビス距離に基づいて選択される。その後、ｋＤツリーノードの最終的な色の影響は、
【数７】
2013537997.tif 000009
となる。ここで、ａｉはゼロであってよい。結果として、ｋＤツリーノードの、ピクセルに重なるエッジが１〜２個ある場合、本願発明のアルゴリズムは、アンチエイリアス処理された高品質のエッジを画像内で生成する。なお、エッジがピクセルを２つの部分へと分割する場合（図８の右上の例）、ａ３＝ａ４＝０となる。いくつかの実施形態において、ユーザは、３つ以上の分割エッジを用いることを所望するかもしれない。
【００４１】
なお、いくつかの非常に稀なケースにおいては、１以上の領域にサンプルが１つもないかもしれない。この場合、再構成された色は単純に不正確なものとなり、このことに対する解決策として、これらの領域に対し新たな光線を照射し、再構成において当該サンプルの色を用いることである。ｋＤツリーの再構築、勾配および構造テンソルの再計算などを避けるべく、新たなサンプルは、用いられた後、単純に破棄される。
【００４２】
ｙ次元は、走査線ごとに、少ない数のｙバケットの中心へと離散化させられる（ｄｉｓｃｒｅｔｉｚｅｄ）。結果的に、このことによってｙ方向のエイリアシングが起こる可能性が高いこの影響を軽減するべく、再構成の間、ノードおよび走査線ごとに、ピクセル内の統合点のｙ値のジッタリングを行う。ジッタリングされた統合点に最も近いｙバケットを局所的な幾何学の代表として用いる。ｙバケットの数が十分に大きければ、このことによって、ノイズを含むエイリアシングをなくすことが出来る。
【００４３】
図１０に示すコンピュータシステム１３０は、ハードドライブ１３４および取り外し可能媒体１３６を含んでよい。取り外し可能媒体１３６は、バス１０４を介し、チップセットのコアロジック１１０と結合される。キーボードおよびマウス１２０、または従来の他のコンポーネントが、バス１０８を介し、チップセットのコアロジックに結合されてよい。一実施形態においてコアロジックは、バス１０５を介してグラフィックプロセッサ１１２に、およびメインまたはホストプロセッサ１００に結合されてよい。グラフィックプロセッサ１１２も、バス１０６を介してフレームバッファ１１４に結合されてよい。フレームバッファ１１４は、バス１０７を介してディスプレイスクリーン１１８に結合されてよい。一実施形態において、グラフィックプロセッサ１１２は単一命令多重データ（ＳＩＭＤ）アーキテクチャを用いるマルチスレッド、マルチコアパラレルプロセッサであってよい。
【００４４】
ソフトウェアを用いた実施例において、関連するコードが、メインメモリ１３２またはグラフィックプロセッサ内の任意の利用可能なメモリを含む、任意の適した半導体、磁気または光メモリに格納されてもよい。よって、図９の一連の段階を実行するコードは、一実施形態において、メモリ１３２またはグラフィックプロセッサ１１２などの機械可読またはコンピュータ可読媒体に格納されてよく、また一実施形態において、プロセッサ１００またはグラフィックプロセッサ１１２によって実行されてよい。
【００４５】
図９は、フローチャートである。いくつかの実施形態において、本フローチャートに示す一連の段階をハードウェア、ソフトウェアまたはファームウェアで実装することが出来る。ソフトウェアを用いた実施形態においては、半導体メモリ、磁気メモリまたは光メモリなどの非一時的なコンピュータ可読媒体を用いて命令を格納し、図９に示す一連の段階を実施するようプロセッサが命令を実行してもよい。
【００４６】
本明細書で説明するグラフィック処理技術は、様々なハードウェアアーキテクチャにより実装することも出来る。例えば、グラフィック機能をチップセット内で実装してもよい。代替的に、独立したグラフィックプロセッサを用いてもよい。さらに他の実施形態において、グラフィック機能をマルチコアプロセッサなどの汎用プロセッサで実装してもよい。
【００４７】
本明細書を通して「一実施形態」または「実施形態」といった用語を用いた場合、対応する実施形態に関連して説明される特定の特徴、構造または特性が本願発明に包含される少なくとも１つの実施形態に含まれることを意味する。よって、「一実施形態」または「実施形態」といった用語を用いた場合、常に同じ実施形態を指すものとは限らない。さらに、特定の特徴、構造または特性は、示される特定の実施形態以外の他の適した形態で用いてもよく、それらの全ての形態が、本明細書の請求項に包含される。
【００４８】
本願発明を、限られた数の実施形態に関して説明してきたが、当業者であれば様々な修正例および変形例を考え付くであろう。以下の請求項は、そのような修正例および変形例を本願発明の思想および態様に含まれるものとして網羅する。
【図１】
2013537997.tif 000010
【図２】
2013537997.tif 000011
【図３】
2013537997.tif 000012
【図４】
2013537997.tif 000013
【図５】
2013537997.tif 000014
【図６】
2013537997.tif 000015
【図７】
2013537997.tif 000016
【図８】
2013537997.tif 000017
【図９】
2013537997.tif 000018
【図１０】
2013537997.tif 000019
【国際調査報告】
2013537997.tif 000020
2013537997.tif 000021