(57)【要約】【課題】画像の面を定める積分の計算に使用するための標本点を発生するために、厳密に決定論的な方法を用いて画像中の画素の画素値を発生するコンピュータグラフィックス装置及び方法を提供する。【解決手段】コンピュータグラフィックス装置は、(1)点光源とは異なって、円板などの、有限の拡がりを持つ光源によって照明されるシーンに対して発生される柔らかい影、(2)被写界深度のシミュレーション、(3)動きによるボケ、(4)ジッタ、を含めて、いくつかのコンピュータグラフィックス技術をシミュレートするために用いられる積分を計算するための標本点として、厳密に決定論的な不一致の小さい数列、例えばホールトン数列を用いて、シーン中の物体の画像中の画素の画素値を発生する。【選択図】図１
2008181571.tif 000002
【特許請求の範囲】
【請求項１】
シーン中の点を表わすような画像中の画素についての画素値を発生するコンピュータグラフィックス装置であって、選択された関数の、光源の有限の拡がりにわたる積分の計算によって表わされる柔らかい影を得るために画素値を発生するコンピュータグラフィックス装置において、
Ａ．標本点を発生するために所定の厳密に決定論的な不一致の小さい(low-discrepancy)数列を用いる、光源の有限の拡がり上の点を表わす標本点の組を発生する標本点発生器と、
Ｂ．前記標本点発生器によって発生された標本点の１つにおける前記選択された関数の計算をそれぞれ表わす複数の関数値を発生する関数計算器と、
Ｃ．シーン中の点に対する輝度レベル値を、前記関数計算器によって発生された前記関数値の平均値として発生する輝度値発生器と、
Ｄ．画素値の発生に際してシーン中の点に対して発生された輝度レベルを用いるための画素値発生器と、
を備えるコンピュータグラフィックス装置。
【請求項２】
前記所定の不一致の小さい数列が一般化されたホールトン(Halton)数列である請求項１に記載のコンピュータグラフィックス装置。
【請求項３】
前記選択された関数が
【数１】
2008181571.tif 000054
である、請求項１または２に記載のコンピュータグラフィックス装置。
【請求項４】
シーン中の点を表わすような画像中の画素についての画素値を発生するコンピュータグラフィックス方法であって、選択された関数の、光源の有限の拡がりにわたる積分の計算によって表わされる柔らかい影を得るために画素値を発生するコンピュータグラフィックス方法において、
Ａ．所定の厳密に決定論的な不一致の小さい(low-discrepancy)数列を用いて、光源の有限の拡がり上の点を表わす標本点の組を発生するステップと、
Ｂ．標本点の１つにおける前記選択された関数の計算をそれぞれ表わす複数の関数値を発生するステップと、
Ｃ．シーン中の点に対する輝度レベル値を、前記関数値の平均値として発生するステップと、
Ｄ．画素値の発生に際してシーン中の点に対して発生された輝度レベルを用いるステップと、
を備えるコンピュータグラフィックス方法。
【請求項５】
前記所定の不一致の小さい数列が一般化されたホールトン(Halton)数列である請求項４に記載のコンピュータグラフィックス方法。
【請求項６】
前記選択された関数が
【数２】
2008181571.tif 000055
である、請求項４または５に記載のコンピュータグラフィックス方法。
【請求項７】
シーン中の点を表わすような画像中の画素についての画素値を発生するコンピュータグラフィックス装置であって、選択された関数の、レンズの領域にわたる積分の計算によって表わされる視界の深さを得るために画素値を発生するコンピュータグラフィックス装置において、
Ａ．標本点を発生するために所定の厳密に決定論的な不一致の小さい(low-discrepancy)数列を用いる、レンズの領域上の点を表わす標本点の組を発生する標本点発生器と、
Ｂ．前記標本点発生器によって発生された標本点の１つにおける前記選択された関数の計算をそれぞれ表わす複数の関数値を発生する関数計算器と、
Ｃ．シーン中の点に対する輝度値を、前記関数計算器によって発生された前記関数値の平均値として発生する輝度値発生器と、
Ｄ．画素値の発生に際してシーン中の点に対して発生された輝度レベルを用いるための画素値発生器と、
を備えるコンピュータグラフィックス装置。
【請求項８】
前記所定の不一致の小さい数列が一般化されたホールトン(Halton)数列である請求項７に記載のコンピュータグラフィックス装置。
【請求項９】
選択された関数が
【数３】
2008181571.tif 000056
であって、レンズ上の点（ｘ'，ｙ'）から画像面内の点（ｘ，ｙ）に向けられた輝度を示すものである、請求項７または８に記載のコンピュータグラフィックス装置。
【請求項１０】
シーン中の点を表わすような画像中の画素についての画素値を発生するコンピュータグラフィックス方法であって、選択された関数の、レンズの領域にわたる積分の計算によって表わされる視界の深さを得るために画素値を発生するコンピュータグラフィックス方法において、
Ａ．所定の厳密に決定論的な不一致の小さい(low-discrepancy)数列を用いて、レンズの領域上の点を表わす標本点の組を発生するステップと、
Ｂ．標本点の１つにおける前記選択された関数の計算をそれぞれ表わす複数の関数値を発生するステップと、
Ｃ．シーン中の点に対する輝度値を、前記関数値の平均値として発生するステップと、
Ｄ．画素値の発生に際してシーン中の点に対して発生された輝度値を用いるステップと、
を備えるコンピュータグラフィックス方法。
【請求項１１】
前記所定の不一致の小さい数列が一般化されたホールトン(Halton)数列である請求項１０に記載のコンピュータグラフィックス方法。
【請求項１２】
選択された関数が
【数４】
2008181571.tif 000057
であって、レンズ上の点（ｘ'，ｙ'）から画像面内の点（ｘ，ｙ）に向けられた輝度を示すものである、請求項１０または１１に記載のコンピュータグラフィックス方法。
【請求項１３】
シーン中の点を表わすような画像中の画素についての画素値を発生するコンピュータグラフィックス装置であって、選択された関数の、選択された時間区間にわたる積分の計算によって表わされる動きによるボケを得るために画素値を発生するコンピュータグラフィックス装置において、
Ａ．標本点を発生するために所定の厳密に決定論的な不一致の小さい(low-discrepancy)数列を用いる、時間区間上の点を表わす標本点の組を発生する標本点発生器と、
Ｂ．前記標本点発生器によって発生された標本点の１つにおける前記選択された関数の計算をそれぞれ表わす複数の関数値を発生する関数計算器と、
Ｃ．シーン中の点に対する輝度レベル値を、前記関数計算器によって発生された前記関数値の平均値として発生する輝度値発生器と、
Ｄ．画素値の発生に際してシーン中の点に対して発生された輝度値を用いるための画素値発生器と、
を備えるコンピュータグラフィックス装置。
【請求項１４】
前記所定の不一致の小さい数列が一般化されたホールトン(Halton)数列である請求項１３に記載のコンピュータグラフィックス装置。
【請求項１５】
前記選択された関数が、時刻ｔにおける画像内の点（ｘ，ｙ）の輝度を表わすＬ(ｘ，ｙ，ｔ)である、請求項１３または１４に記載のコンピュータグラフィックス装置。
【請求項１６】
シーン中の点を表わすような画像中の画素についての画素値を発生するコンピュータグラフィックス方法であって、選択された関数の、選択された時間区間にわたる積分の計算によって表わされる動きによるボケを得るために画素値を発生するコンピュータグラフィックス方法において、
Ａ．所定の厳密に決定論的な不一致の小さい(low-discrepancy)数列を用いて、時間区間上の点を表わす標本点の組を発生するステップと、
Ｂ．標本点の１つにおける前記選択された関数の計算をそれぞれ表わす複数の関数値を発生するステップと、
Ｃ．シーン中の点に対する輝度レベル値を、前記関数値の平均値として発生するステップと、
Ｄ．画素値の発生に際してシーン中の点に対して発生された輝度値を用いるステップと、
を備えるコンピュータグラフィックス方法。
【請求項１７】
前記所定の不一致の小さい数列が一般化されたホールトン(Halton)数列である請求項１６に記載のコンピュータグラフィックス方法。
【請求項１８】
前記選択された関数が、時刻ｔにおける画像内の点（ｘ，ｙ）の輝度を表わすＬ(ｘ，ｙ，ｔ)である、請求項１６または１７に記載のコンピュータグラフィックス方法。
【請求項１９】
シーン中の点を表わすような画像中の画素についての画素値を発生するコンピュータグラフィックス装置であって、選択された関数の、画素についての画像中の領域にわたる積分の計算によって表わされるジッタ(jittering)を得るために画素値を発生するコンピュータグラフィックス装置において、
Ａ．標本点を発生するために所定の厳密に決定論的な不一致の小さい(low-discrepancy)数列を用いる、画素値を発生すべき対象である画素を含む、画像中の複数の近接する画素内の点を表わす標本点の組を発生する標本点発生器と、
Ｂ．前記標本点発生器によって発生された標本点の１つにおける前記選択された関数の計算をそれぞれ表わす複数の関数値を発生する関数計算器と、
Ｃ．前記関数計算器によって発生された前記関数値の平均として、画素についての画素値を発生する画素値発生器と、
を備えるコンピュータグラフィックス装置。
【請求項２０】
前記所定の不一致の小さい数列が一般化されたホールトン(Halton)数列である請求項１９に記載のコンピュータグラフィックス装置。
【請求項２１】
前記選択された関数が、画像内の点（ｘ，ｙ）の色を表わすＬ(ｘ，ｙ)である、請求項１９または２０に記載のコンピュータグラフィックス装置。
【請求項２２】
シーン中の点を表わすような画像中の画素についての画素値を発生するコンピュータグラフィックス方法であって、選択された関数の、画素についての画像中の領域にわたる積分の計算によって表わされるジッタ(jittering)を得るために画素値を発生するコンピュータグラフィックス方法において、
Ａ．所定の厳密に決定論的な不一致の小さい(low-discrepancy)数列を用いて、画素値を発生すべき対象である画素を含む、画像中の複数の近接する画素内の点を表わす標本点の組を発生するステップと、
Ｂ．標本点の１つにおける前記選択された関数の計算をそれぞれ表わす複数の関数値を発生するステップと、
Ｃ．前記関数値の平均として、画素についての画素値を発生するステップと、
を備えるコンピュータグラフィックス方法。
【請求項２３】
前記所定の不一致の小さい数列が一般化されたホールトン(Halton)数列である請求項２２に記載のコンピュータグラフィックス方法。
【請求項２４】
前記選択された関数が、画像内の点（ｘ，ｙ）の色を表わすＬ(ｘ，ｙ)である、請求項２２または２３に記載のコンピュータグラフィックス方法。
【請求項２５】
画像中の画素についての画素値を発生するコンピュータグラフィックス装置であって、ホールトン(Halton)数列などの、厳密に決定論的な不一致の小さい(low-discrepancy)数列を用いて、いくつかのコンピュータグラフィックス技術をシミュレートするために用いられる区間を計算するための標本点として、画素が画像中の点を表わす、コンピュータグラフィックス装置。
【請求項２６】
装置が請求項１，２，３，７，８，９，１３，１４，１５，１９，２０または２１のいずれか１項に記載の装置を備える、請求項２５に記載の装置。
【請求項２７】
画像中の画素についての画素値を発生するコンピュータグラフィックス方法であって、ホールトン(Halton)数列などの、厳密に決定論的な不一致の小さい(low-discrepancy)数列を用いて、いくつかのコンピュータグラフィックス技術をシミュレートするために用いられる区間を計算するための標本点として、画素が画像中の点を表わす、コンピュータグラフィックス方法。
【請求項２８】
方法が請求項４，５，６，１０，１１，１２，１６，１７，１８，２２，２３または２４のいずれか１項に記載の方法を備える、請求項２７に記載の方法。
【請求項２９】
画像中の画素についての画素値を発生するためのコンピュータグラフィックス装置における、ホールトン(Halton)数列などの、厳密に決定論的な不一致の小さい(low-discrepancy)数列の使用。
【請求項３０】
装置が請求の範囲２５または２６に記載の装置から選択される請求項２９に記載の使用。
【請求項３１】
画像中の画素についての画素値を発生するためのコンピュータグラフィックス方法における、ホールトン(Halton)数列などの、厳密に決定論的な不一致の小さい(low-discrepancy)数列の使用。
【請求項３２】
方法が請求の範囲２７または２８に記載の方法から選択される請求項３１に記載の使用。
【請求項３３】
添付図面を参照してこれまでに説明したもの、及び／または、添付図面によって示されているもの、であるコンピュータ装置。
【請求項３４】
添付図面を参照してこれまでに説明したもの、及び／または、添付図面によって示されているもの、であるコンピュータ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全体としてコンピュータグラフィックスの分野に関するものであり、さらに詳しくいえば、画像（イメージ）中の画素（ピクセル；pixel）の画素値を発生する装置及び方法に関する。
【背景技術】
【０００２】
コンピュータグラフィックスでは、１つまたは複数の光源によって照明されている、例えば三次元シーン内の、物体の表面の二次元画像面への投影を表すデジタルデータを発生して、例えばカメラによるシーン（光景）の記録をシミュレートするために、コンピュータが用いられる。カメラは、シーンの画像を画像面に投影するためにレンズを含むことができ、または、レンズを使用しないピンホールカメラで構成できる。二次元画像は、画像要素（これは「画素(pixel)」または「pel」とも呼ばれる）のアレイの形態であり、各画素に対して発生されたデジタルデータは、画像面内のそれぞれの画素の点において、画像面に投影されたシーンの色と輝度とを表わす。物体の表面は、形状、色、鏡面性(specularity)、テクスチャーなどを含むいくつかの特性のいずれかを有することができる。それらの特性は、画像中でできるだけ似せて表現して、実物のように見える(realstic-looking)画像を得ることが好ましい。
【０００３】
一般に、特定の画素の色と強さとを表わす画素値に対する、シーン中の種々の点から反射された光の寄与は、比較的複雑な関数の１回積分または多重積分の形で表される。コンピュータグラフィックスで用いられる積分は、一般に、閉じた形の解を持たないために、それらの積分を求めるためには数値法を使用しなければならず、それによって画素値を発生する。典型的には、積分を数値的に解くために、従来の「モンテカルロ(Monte Carlo)」法がコンピュータグラフィックスで用いられてきた。一般に、モンテカルロ法では、積分
【０００４】
【数１】
2008181571.tif 000003
【０００５】
を計算する。ここで、ｆ(ｘ)は０から１までの実数区間上の実関数であって、まずＮ個の統計的に独立している乱数ｘi，ｉ＝１，…，Ｎがその区間にわたって発生される。乱数ｘiは、関数ｆ(ｘ)に対して標本値ｆ(ｘi)が発生される対象である標本点(sampling point)として用いられる。この積分の解
【０００６】
【数２】
2008181571.tif 000004
【０００７】
は、
【０００８】
【数３】
2008181571.tif 000005
【０００９】
として発生される。
【００１０】
標本点ｆ(ｘi)の発生において用いられる乱数の数が増加すると、解
【００１１】
【数４】
2008181571.tif 000006
【００１２】
の値が積分＜ｆ＞の実際の値へ向かって収束する。一般に、標本値ｆ(ｘi)を発生するために用いられる値ｘiが統計的に独立しているならば、すなわち、値ｘiが真にランダム発生するならば、Ｎの種々の値に対して、すなわち、発生される数の標本に対して発生する計算値分布は、実際の値を中心とする、標準偏差がσである正規分布である。標準偏差σは
【００１３】
【数５】
2008181571.tif 000007
【００１４】
によって計算できる。
【００１５】
一般に、発生される画像中に、シーン中に存在しない、モアレパターンやエイリアシングなどの望ましくないアーティファクト（人工物；artifact)が発生しないようにするために、モンテカルロ法のような乱数法が必要であると信じられてきた。しかし、コンピュータグラフィックスにおいてモンテカルロ法を使用することから、いくつかの問題が生ずる。第１に、モンテカルロ法で用いられる標本点ｘiはランダムに分布させられているために、一般に、それらをその区間にわたって一様に分布させることができず、その代わりに、積分を計算すべき区間内の種々の領域内にかたまることがある。したがって、発生される乱数群に応じて、積分の主要な部分に対するモンテカルロ法において、標本値ｆ(ｘi)が発生される対象である標本点ｘiが存在しないことがある。その場合には、誤差が極めて大きくなることがある。コンピュータグラフィックスにおいて画素値を発生する状況においては、モンテカルロ法を用いて実際に発生される画素値は、標本点ｘiがその区間にわたって全体として一様に分布させられることを保証されているという他の場合ならば反映されるかもしれないいくつかの要素を反映しないことがある。この問題は、区間を複数の副区間に分割することによって軽減できるが、区間を分割すべき副区間の数をアプリオリに（先験的に）決定することは一般に困難であり、かつ、多次元積分領域（これは、ここで説明している一次元区間の代わりに、コンピュータグラフィックスで実際に使用される）においては領域を等しい大きさの副領域に区画することは極めて複雑である。
【００１６】
また、この方法は乱数を用いているために、計算した値
【００１７】
【数６】
2008181571.tif 000008
【００１８】
と実際の値＜ｆ＞との間の誤差
【００１９】
【数７】
2008181571.tif 000009
【００２０】
（｜ｘ｜は値ｘの絶対値を表わす）が確率的であり、かつ、Ｎの種々の値に対する誤差値が実際の値＜ｆ＞を中心として正規分布しているために、発生されるであろう計算値
【００２１】
【数８】
2008181571.tif 000010
【００２２】
の６８パーセントだけが実際の値＜ｆ＞の１標準偏差以内に入ることを保証される。
【００２３】
さらに、式(3)から、標準偏差σが標本の数Ｎが増加するにつれて減少する、すなわち、Ｎの平方根の逆数（すなわち、
【００２４】
【数９】
2008181571.tif 000011
【００２５】
）に比例することが明らかである。したがって、統計誤差を２分の１に減少したいとすると、Ｎの数を４倍に増加する必要がある。そうすると、画像中の数多くの各画素ごとに画素値を発生することを求められる計算負荷が増加する。
【００２６】
また、モンテカルロ法は乱数を必要とするために、乱数を発生する効果的な方法が必要である。一般に、デジタルコンピュータにはいわゆる「乱数」発生器が設けられている。乱数発生器というのは、ほぼランダムである数群を発生するために処理できるコンピュータプログラムのことである。乱数発生器は決定論的技術を使用するために、発生する数は真に乱数ではない。しかし、乱数発生器からの引き続く乱数が統計的に独立しているという性質は、コンピュータにおける疑似乱数の決定論的な実装において、維持しなければならない。
【非特許文献１】J. H. Halton著「数値数学(Numerische Mathematik)」第２巻（１９６０）、８４〜９０ページ
【非特許文献２】W. H. Press他著、「フォートランにおける数値的方法(Numerical Recipes in Fortran)」（第２版）（Cambridge University Press）、３００ページ
【発明の開示】
【発明が解決しようとする課題】
【００２７】
本発明は、画像の面を定める積分の計算に使用するための標本点を発生するために、厳密に決定論的な方法を用いて画像中の画素の画素値を発生する新規かつ改良したコンピュータグラフィックス装置及び方法を提供するものである。
【課題を解決するための手段】
【００２８】
簡単に要約すれば、本発明のコンピュータグラフィックス装置は、
(1)点光源とは異なって、円板などの、有限の拡がりを持つ光源によって照明されるシーンに対して発生される柔らかい影(soft shadow)、
(2)被写界深度のシミュレーション、
(3)動きによるボケ、
(4)ジッタ(jittering)、
を含めて、いくつかのコンピュータグラフィックス技術をシミュレートするために用いられる積分を計算するための標本点として、厳密に決定論的な不一致の小さい(low-discrepancy)数列、例えばホールトン数列(Halton sequence)を用いて、シーン中の物体の画像中の画素の画素値を発生する。
【００２９】
コンピュータグラフィックス装置は、不一致の小さい数列を用いて、
(1)柔らかい影に関連して、シーンを照明している光源の有限領域にわたって標本点を発生し、
(2)被写界深度のシミュレーションに関連して、シーンと画像との間のレンズの領域にわたって標本点を発生し、
(3)動きによるボケに関連して、シーン中の動いている物体に対して動きによるボケをシミュレートすべき時間区間にわたって標本点を発生し、かつ、
(4)ジッタに関連して、画像または複数の隣接する画素にわたって、ジッタされた標本点を発生する。
【００３０】
モンテカルロ法に関連して用いられる乱数とは異なって、不一致の小さい数列は、それぞれの領域または時間区間にわたって標本点が一様に分布することを保証するから、モンテカルロ法で起きることがあるそのような標本点がかたまることの結果として生ずることがある画像中の誤りを減少する。
【００３１】
特に本発明は、モンテカルロ法におけるものと同じ計算コストで、同数の標本点を用いた時に、画質が向上した画像の発生を容易にする。
【００３２】
本発明の有利な特徴が、添付した請求の範囲に記載されている。本発明の上記利点およびその他の利点は、添付図面とともに以下の説明を参照することによってより良く理解できる。
【発明を実施するための最良の形態】
【００３３】
本発明は、シーン（光景）の画像（イメージ）中の画素の画素値を発生するためのコンピュータグラフィックス装置及び方法を提供するものである。この装置及び方法は、それぞれの画素値に対する、シーン中の種々の点から反射された光の寄与を表す関数を対象とする積分または複数の積分を計算するための標本値を発生するために、過去において使用されてきた乱数または疑似乱数モンテカルロ方法論ではなくて、厳密に決定論的な方法論(strictly-deterministic methodology)を使用する。厳密に決定論的な方法論は、標本点が、不一致が小さい(low-discrepancy)やり方で積分を計算すべき区間すなわち領域にわたって、全体として一様に分布する、ということをアプリオリに保証する。
【００３４】
ここに添付されている図１は、そのような厳密に決定論的な方法論を使用する例示のコンピュータ装置１０を示す。図１を参照して、実施の一態様のコンピュータ装置１０は、プロセッサモジュール１１と、キーボード１２Ａ及び／またはマウス１２Ｂなどのオペレータ入力部品を構成するオペレータインタフェース要素（オペレータ入力要素１２として全体的に示されている）と、ビデオ表示装置１３などのオペレータ出力要素とを含む。例示のコンピュータ装置１０は、従来のプログラム内蔵（ストアード・プログラム）コンピュータアーキテクチャのものである。プロセッサモジュール１１は、たとえば、１つまたは複数のプロセッサと、メモリと、供給されたデジタルデータに関連する処理動作および記憶動作を行うディスク及び／またはテープ記憶要素（別々に示していない）などの大容量記憶装置とを含む。オペレータ入力要素１２は、オペレータが処理のための情報を入力できるようにするために設けられている。ビデオ表示装置１３は、プロセッサモジュール１１によってスクリーン１４上に発生され、処理のためにオペレータが入力できるデータと、オペレータが制御処理に入力できる情報と、処理中に発生された情報とを含む、出力情報をオペレータに表示するために設けられている。プロセッサモジュール１１は、いわゆる「グラフィカルユーザーインタフェース」（「ＧＵＩ」）を用いてビデオ表示装置１３によって表示するための情報を発生する。その表示では、種々の「ウィンドウ」を用いて種々のアプリケーションプログラムのための情報が表示される。コンピュータ装置１０は、オペレータから入力情報を受けるためのキーボード１２Ａ及びマウス１２Ｂと、出力情報をオペレータに表示するためのビデオ表示装置１３などの特定の部品を有するものとして示したが、コンピュータ装置１０は、図１に示されている部品に加えて、または図１に示されている部品の代わりに、各種の部品を含むことができることを理解されるであろう。
【００３５】
また、プロセッサモジュール１１は、参照番号１４によって全体として識別されている、１つまたは複数のネットワークポートを含む。それらのネットワークポートは、コンピュータ装置１０をコンピュータネットワークに接続する通信リンクに接続される。ネットワークポートは、コンピュータ装置１０がネットワーク中の他のコンピュータ装置及び他の装置へ情報を送ること、及びこれらから情報を受けること、を可能にする。例えば、クライアント−サーバパラダイムに従って編成された典型的なネットワークでは、ネットワーク中のあるコンピュータ装置がサーバとして指定され、他のコンピュータ装置すなわちクライアントコンピュータ装置が処理するためのデータとプログラム（全体として「情報」）を蓄積することによって、クライアントコンピュータ装置が情報を便利に共用できるようにする。特定のサーバによって保持されている情報をアクセスする必要があるクライアントコンピュータ装置は、サーバが情報をネットワークを通じてクライアントにダウンロードできるようにする。データを処理した後で、クライアントコンピュータ装置は、処理されたデータをサーバに戻して保存することもできる。コンピュータ装置（上記サーバとクライアントを含めて）に加えて、ネットワークは、例えば、プリンタ及びファクシミリ装置と、デジタルオーディオまたはビデオを記録し分配する装置などを含むこともできる。それらの装置は、ネットワークに接続されている種々のコンピュータ装置の間で共用できる。ネットワーク中のコンピュータを相互に接続する通信リンクは、従来のように、ワイヤ、光ファイバまたはコンピュータの間で信号を運ぶためのその他の媒体を含めた任意の便利な情報伝達媒体を含むことができる。コンピュータ装置は、通信リンクを通じて転送されるメッセージによって、ネットワークを介して情報を転送する。各メッセージは、情報とそのメッセージを受ける装置を特定する識別子とを含む。
【００３６】
上記のように、コンピュータグラフィックス装置１０は、シーンの画像中の画素の画素値を発生する。この装置は、標本値を発生するために用いられる標本点を選択するために、厳密に決定論的な方法論を使用する。その後で、標本値は、それぞれの画素値に対するシーン中の種々の点から反射された光の寄与を表す関数を対象とする積分を計算するために用いられる。１つの特定の実施態様では、コンピュータグラフィックス装置１０によって用いられる厳密に決定論的な方法論は、それぞれの積分が計算される範囲である領域全体にわたって標本点が全体として一様に分布することがアプリオリに保証されるように、不一致の小さい標本点列を提供する。一実施態様では、用いられる標本点は、いわゆるホールトン(Halton)数列を基にしている。例えば、J. H. Halton著「数値数学(Numerische Mathematik)」第２巻（１９６０）、８４〜９０ページ（非特許文献１）、及びW. H. Press他著、「フォートランにおける数値的方法(Numerical Recipes in Fortran)」（第２版）（Cambridge University Press）、３００ページ（非特許文献２）参照。底ｐを選ばれた素数として、数底ｐに対して発生されるホールトン数列では、Ｈpkによって表されるその数列のｋ番目の値は、
(1)選択された底ｐ中の値の数値表現として値ｋを書くことによって、その値に対する表現をＤMＤM-1…Ｄ2Ｄ1、（ここで、Ｄm（ｍ＝１，２，…，Ｍ）はその表現の数字である）として与えることによって、
(2)基数点（底１０で書かれた数に対する小数点に対応する）を上のステップ(1)で書かれた表現ＤMＤM-1…Ｄ2Ｄ1の終りに置き、基数点の周囲の数字を反映して０．ＤMＤM-1…Ｄ2Ｄ1（それはＨpkに対応する）を与えることによって、
発生される。
【００３７】
表現に対して選択された底ｐとは無関係に、底ｐで書かれた値１，２，…，ｋの任意の列に対して、表現の最下位の数字は最上位の数字よりも速い率で変化することがわかるであろう。その結果、ホールトン数列Ｈp1，Ｈp2，…，Ｈpkでは、最上位の数字がより速い率で変化するために、数列中の初めの方の値が１から０までの区間にわたって一般的に広く分布し、数列中の後の方の値は数列中の初めの方の値の間の間隔を埋める。上述したモンテカルロ法で用いられる乱数または疑似乱数とは異なり、ホールトン数列の値は統計的には独立しておらず、ホールトン数列の値は厳密に決定論的であって、その区間にわたって相互に「最大限に避け合い」、したがって、それらの値は集中しない。これに反し、モンテカルロ法で用いられる乱数または疑似乱数はかたまる（集中する）。
【００３８】
上記のホールトン数列は、一次元に沿って０から１までの０と１を含む区間にわたって値の列を供給することが、分かるであろう。多次元ホールトン数列は同様なやり方で発生できるが、各次元ごとに異なる底を用いる。
【００３９】
一般化されたホールトン数列（上記のホールトン数列はそれの特殊な場合である）は、次のようにして生成される。０から１までの０と１を含む数値区間に沿う各始点に対して、異なるホールトン数列が発生される。０から１までび０と１を含む区間にわたる任意のｘとｙに対して疑似和
【００４０】
【数１０】
2008181571.tif 000012
【００４１】
を定め、２より大きい任意の値を持つ任意の整数ｐに対して、ｘとｙを表す数字を最上位の数字から最下位の数字まで逆の順序で加え合わせることによって疑似和が形成され、各加算に対して、最上位の次の数字の和から生じた桁上りにまた加え合わせる。したがって、底ｐでのｘが０．Ｘ1Ｘ2…ＸM-1ＸM（ここで各Ｘmは底ｐでの数字である）によって表わされ、底ｐでのｙが０．Ｙ1Ｙ2…ＹN-1ＹN（ここで各Ｙnは底ｐでの数字である）によって表わされるものとすると（ここで底ｐでのｘの表現での数字の数であるＭと、底ｐでのｙの表現での数字の数であるＮとは異なることがある）、疑似和ｚが０．Ｚ1Ｚ2…ＺL-1ＺLによって表される。ここに、各ｚlはＺl＝(Ｘl＋Ｙl＋Ｃl) ｍｏｄ ｐによって与えられる底ｐでの数字である。ここに、ｍｏｄはモジュロ関数を表し、
【００４２】
【数１１】
2008181571.tif 000013
【００４３】
であり、Ｃ1は０にセットされる。
【００４４】
上記のように疑似和関数を用いて、一般化されたホールトン数列が、以下のようにして生成される。ｐが整数であって、ｘ0が０から１までの０と１を含む区間における任意の値であるとすると、ｐ次のvon-Neumann-Kakutani（フォン・ノイマン−角谷）変換Ｔp(ｘ)が、
【００４５】
【数１２】
2008181571.tif 000014
【００４６】
によって与えられ、一般化されたホールトン数列ｘ0，ｘ1，ｘ2，…が
【００４７】
【数１３】
2008181571.tif 000015
【００４８】
として再帰的に定められる。
【００４９】
式(4), (5)から、ｐについての任意の値に対して、一般化されたホールトン数列が、ｘの各出発値、すなわち各ｘ0に対して発生される異なる数列を提供できる。上記のホールトン数列Ｈpkは、ｘ0＝０に対する一般化されたホールトン数列の特殊なケースである（式(4), (5)）。
【００５０】
コンピュータグラフィックスにおける画像中の画素の画素値を発生するために積分の計算において不一致が小さい数列を使用することについて、いくつかの特定のコンピュータ応用、特に、
(1)点光源ではなくて、円板などの、有限の拡がりを持つ光源によって照明されるシーンに対して発生する柔らかい影(soft shadow)、
(2)被写界深度のシミュレーション、
(3)動きによるボケ、
(4)ジッタ(jittering)、
を表わす画像に対する画素値の発生に関連して説明することにする。
【００５１】
それらのおのおのに関連してコンピュータグラフィックス装置１０によって実行される動作を以下に説明する。
【００５２】
（１）柔らかい影(soft shadows)
柔らかい影は、光景中の物体が、点光源の代わりに、円板などの識別できる領域を持つ光源によって照明される時に、シーン中で起きることがある。例えば、日蝕が起きると、月によって地球に投げられる影の半影部が柔らかい影であって、本影部が完全な影を構成する。蝕の本影部は、地球のうち、月が太陽を完全に隠す領域において起き、半影部は月が太陽を部分的に隠す領域において起きる。半影における影の度合いは、本影から外側に進むにつれて小さくなり、半影は蝕の「柔らかい影」を構成する。あるシーン中の特定の影に対しては、柔らかい影は、完全に影になっているシーンの領域（もしあれば）から影がない領域までの階調を表す。
【００５３】
シーン中では、面積を持つ光源による照明を表わすシーン中のある点に対する画素値の一部が、光源の領域にわたる光源によるあるシーン中の特定の点の照明を平均化することによって発生される。そのシーン中の点が完全な影領域（それはその点がシーン中の１つまたは複数の物体によって完全に見えなくされた場合に起きることがある）の中にあるとすると、その平均は、完全な影を表す輝度レベルを表わす。同様に、その点が影のない領域内にあるとすると、平均は、影のないことを表す輝度レベルを表わす。他方、点がシーン中の物体によって光源の全領域から部分的に遮られ、したがって、その点が柔らかい影領域内にあるとすると、平均は、遮られる光源の広さを基にした中間輝度レベルを表わす。いずれの場合にも、平均は二次元積分
【００５４】
【数１４】
2008181571.tif 000016
【００５５】
によって例示的に与えられる。ここで、
【００５６】
【数１５】
2008181571.tif 000017
【００５７】
はシーン中の照明値が発生されている点であり、
【００５８】
【数１６】
2008181571.tif 000018
【００５９】
は拡がり光源上の点であり、
【００６０】
【数１７】
2008181571.tif 000019
【００６１】
はシーン中の点
【００６２】
【数１８】
2008181571.tif 000020
【００６３】
における照明を表わし、
【００６４】
【数１９】
2008181571.tif 000021
【００６５】
は拡がり光源の光放出レベルを示し、
【００６６】
【数２０】
2008181571.tif 000022
【００６７】
は、光源上の点
【００６８】
【数２１】
2008181571.tif 000023
【００６９】
がシーン中の点
【００７０】
【数２２】
2008181571.tif 000024
【００７１】
から見えるならば１であり、光源上の点
【００７２】
【数２３】
2008181571.tif 000025
【００７３】
がシーン中の点
【００７４】
【数２４】
2008181571.tif 000026
【００７５】
から見えなければ０である鮮明度関数(visibility function)である。積分は光源の領域Ａ'にわたって計算される。特定の画像に対する関数
【００７６】
【数２５】
2008181571.tif 000027
【００７７】
の定式化は当業者に知られていることである。
【００７８】
本発明にしたがって、コンピュータグラフィックス装置１０は、一般化した二次元ホールトン数列を用いて、標本点
【００７９】
【数２６】
2008181571.tif 000028
【００８０】
の数Ｎを選択することによって積分（式(6)）を計算して画素値を発生する。標本点
【００８１】
【数２７】
2008181571.tif 000029
【００８２】
を生成した後で、コンピュータグラフィックス装置１０は、発生された各標本点について、関数
【００８３】
【数２８】
2008181571.tif 000030
【００８４】
を計算し、照明値
【００８５】
【数２９】
2008181571.tif 000031
【００８６】
を発生すべきシーン中の各点
【００８７】
【数３０】
2008181571.tif 000032
【００８８】
に対して積分（式(6)）の値を
【００８９】
【数３１】
2008181571.tif 000033
【００９０】
として近似する。不一致が小さい(low-discrepancy)数列（例えばホールトン(Halton)数列）を使用することによって、標本点がかたまらなくすることができるが、その代わりに光源の領域にわたって一様に分布される。
【００９１】
一実施態様では、照明値
【００９２】
【数３２】
2008181571.tif 000034
【００９３】
を発生すべきシーン中の各点
【００９４】
【数３３】
2008181571.tif 000035
【００９５】
に対して、コンピュータグラフィックス装置１０は、他の状況では柔らかい影が濃淡にむらがある(blocky)ように見えることがあるような画素値の発生を避けるように、上記一般化したホールトン数列の方法論（式(5)）にしたがって発生された、異なるホールトン数列を用いる。その実施態様では、画素値がシーン中の点
【００９６】
【数３４】
2008181571.tif 000036
【００９７】
に関連している画像中の点の座標を基にしている底値ｘ0を用いて、特定のホールトン数列が発生される。
【００９８】
柔らかい影を与えるような画素値の発生に関連して上で述べた動作を図２のフローチャートに示す。このフローチャートに示されている動作は、上の説明から当業者には直ちに明らかになることであるから、その図におけるフローチャートをこの明細書では独立して説明することはしない。
【００９９】
式(6)で用いられる関数
【０１００】
【数３５】
2008181571.tif 000037
【０１０１】
は、柔らかい影をシミュレートするために画素値の発生に関連して使用できる関数の例であることが分かるであろう。他の関数は、式(7), (8)を対応して変更することによって、当業者には明らかであろう。例えば、式(6)における
【０１０２】
【数３６】
2008181571.tif 000038
【０１０３】
の分母で項
【０１０４】
【数３７】
2008181571.tif 000039
【０１０５】
が二乗（すなわち平方）にされていることが示されているが、他のべき乗とすることができ、その場合には式(7), (8)はそれに応じて修正されることが分かるであろう。また、計算のために標本点を得るために用いられているものとしてホールトン数列を示したが、この技術で知られている、不一致の小さい他の数列を代わりに使用できることが分かるであろう。
【０１０６】
また、拡がりを持った光源に関連して柔らかい影をシミュレートするものとしてコンピュータグラフィックス装置１０を説明したが、コンピュータグラフィックス装置１０は、上記したことに類似するやり方で線状光源に関連して柔らかい影をシミュレートすることもできることが分かるであろう。拡がりを持った光源についての柔らかい影のシミュレーションにおけるように、コンピュータグラフィックス装置１０は、標本点
【０１０７】
【数３８】
2008181571.tif 000040
【０１０８】
を光源上に落ちるように閉じ込める。また、光源が線状光源であるとすると、コンピュータグラフィックス装置１０は、一般化した一次元ホールトン列を用いて標本点
【０１０９】
【数３９】
2008181571.tif 000041
【０１１０】
を発生できる。
【０１１１】
（２）被写界深度のシミュレーション
上記のように、コンピュータグラフィックス装置１０はピンホールカメラのために記録される画像を表わす描画された(rendered)画像を定める画素値を発生でき、あるいは、レンズ付きカメラのために記録される画像を表わす描画された画像を定める画素値を発生できる。典型的には、レンズなしカメラの場合、全ての対象物に通常、焦点が合っている。しかしながら、レンズ付き従来のカメラの場合には、レンズから特定の距離にある物体、および（「被写界深度」として知られている）それの所定の距離の平面内の物体とに対して、焦点（ピント）が合っている。より近い物体またはより遠い物体では、物体のボケが次第に大きくなる。
【０１１２】
被写界深度を持つカメラに対する画像の発生をシミュレートするために、コンピュータグラフィックス装置１０は、積分
【０１１３】
【数４０】
2008181571.tif 000042
【０１１４】
の計算を基にして、各画素についての画素値を発生する。ここで
【０１１５】
【数４１】
2008181571.tif 000043
【０１１６】
は、レンズ上の点（ｘ'，ｙ'）から画像平面内の点（ｘ，ｙ）の向きに来る輝度を示す。コンピュータグラフィックス装置１０は、レンズの領域Ａeffにわたって積分を計算する。特定の画像に対する関数
【０１１７】
【数４２】
2008181571.tif 000044
【０１１８】
の定式化は当業者に知られている。
【０１１９】
本発明に従って、コンピュータグラフィックス装置１０は、積分（式(9)）を計算して、ホールトン数列を用いてレンズ上の点（ｘi，ｙi）についての標本点の数Ｎを選択することによって、画素値を発生する。標本点が発生された後で、コンピュータグラフィックス装置１０は、Ｎ個の標本点（ｘi，ｙi）のおのおのについての関数
【０１２０】
【数４３】
2008181571.tif 000045
【０１２１】
を計算し、積分（式(9)）を
【０１２２】
【数４４】
2008181571.tif 000046
【０１２３】
として近似する。
【０１２４】
特定の一実施態様では、画像平面上の各点（ｘi，ｙi）に対して、コンピュータグラフィックス装置１０は、他の状況では描画された画像が濃淡のむらになって現れるかもしれないような画素値の発生を避けるように、上記の一般化したホールトン数列の方法論（式(5)）に従って発生された、異なるホールトン数列を用いる。その実施態様においては、画像平面内の点（ｘi，ｙi）に関連させられている、対象とする画素値が発生されている画像中の点の座標を基にしている底値ｘ0を用いて、その特定のホールトン数列は発生される。不一致の小さい数列（例えばホールトン数列）を使用することによって、標本点がかたまらなくされるが、その代わりにレンズの領域にわたって標本点は一様に分布される。
【０１２５】
被写界深度を得るような画素値の発生に関連して上で説明した動作が、図３のフローチャートに示されている。そのフローチャートに示されている動作は上の説明から当業者にはただちに明らかであろうから、この図のフローチャートをこの明細書で個々に説明することはしない。
【０１２６】
積分（式(9)）の計算のために上で説明したように選択された標本点ｘiは、不一致の小さい標本点セットの使用によって標本点が一緒にかたまらないことを保証する「自己回避」性を持つことにおいて、有利である。そのかたまることは、乱数を基にしたモンテカルロ法などの従来の方法では起きる可能性があった。他の利点は、標本点ｘiの数を計算に先立ってアプリオリに選択しておく必要がないことである。
【０１２７】
式(9)で用いられる関数
【０１２８】
【数４５】
2008181571.tif 000047
【０１２９】
は視界の深さをシミュレートするために使用できる関数の例であること、および他の関数は、式(10)に対応する修正を加えることで、当業者には明らかであろうことが、分かるであろう。また、計算のための標本点を得るために使用されるものとしてホールトン数列を示してきたが、この技術分野で知られている、不一致の小さい他の数列を代わりに使用できることがわかるであろう。
【０１３０】
（３）動きによるボケ
動きによるボケ（動きのブレ：motion blur）は、例えば、静止しているカメラによって記録されているシーン中の物体が動いているときに起きる。動きによるボケが起きる理由は、カメラのシャッターが開かれる時間期間が０ではなく、動いている物体を画像中の正確に同じ点に維持するようにカメラが動かされないとすると、動いている物体が画像中に現れる点がその時間期間中に動くためである。したがって、動きの方向と交わる物体の縁部は、画像上でブレて見える。
【０１３１】
開く時間期間が０でないようなシャッターを持つカメラによる物体が動いているシーンの画像の発生をシミュレートするために、コンピュータグラフィックス装置１０は、積分
【０１３２】
【数４６】
2008181571.tif 000048
【０１３３】
の計算を基にして、各画素に対する画素値を発生する。ここに、Ｌ(ｘ，ｙ)は点（ｘ，ｙ）の輝度、Ｌ(ｘ，ｙ，ｔ)は時刻ｔにおける画像中の点（ｘ，ｙ）の輝度、ｔsはシャッターが開かれるまでの時間の長さである。Ｌ(ｘ，ｙ)は時間ｔsの間のＬ(ｘ，ｙ，ｔ)のほぼ平均であることがわかるであろう。特定の画像についての関数Ｌ(ｘ，ｙ，ｔ)の定式化は当業者に知られている。
【０１３４】
本発明に従って、コンピュータグラフィックス装置１０は、積分（式(11)）を計算して、ホールトン数列を用いて０からｔsまでの時間期間にわたって点ｔiについての標本点の数Ｎを選択することによって、画素値を発生して標本点を得る。標本点が発生された後で、コンピュータグラフィックス装置１０は、Ｎ個の標本点ｔiのおのおのについて関数Ｌ(ｘ，ｙ，ｔ)を計算し、積分（式(11)）を
【０１３５】
【数４７】
2008181571.tif 000049
【０１３６】
として近似する。
【０１３７】
特定の一実施態様では、画像中の各画素に対して、コンピュータグラフィックス装置１０は、他の状況では描画された画像が濃淡のむらになって現れるかもしれないような画素値の発生を避けるように、上記の一般化したホールトン数列の方法論（式(5)）に従って発生された、異なるホールトン数列を用いる。その実施態様においては、画素値が発生されている画像中の点（ｘ，ｙ）の座標を基にしている底値ｘ0を用いて、その特定のホールトン数列は発生される。不一致の小さい数列（例えばホールトン数列）を使用することによって、標本点がかたまらなくされるが、その代わりに積分（式(11)が評価されるべきである）を計算する時間にわたって標本点は一様に分布される。
【０１３８】
動きによるボケを与えるような画素値の発生に関連して上で説明した動作が、図４のフローチャートに示されている。そのフローチャートに示されている動作は上記の説明から当業者には直ちに明らかであろうから、その図のフローチャートをこの明細書では個々に説明することはしない。
【０１３９】
式(11)で用いられる関数Ｌ(ｘ，ｙ，ｔ)は、被写体深度をシミュレートするための画素値の発生に関連して使用できる関数の例であること、および他の関数は、式(12)に対応する修正を加えることで当業者には明らかであろうことが、分かるであろう。また、計算のための標本点を得るために使用されるものとしてホールトン数列を示してきたが、この技術分野で知られている、不一致の小さい他の数列を代わりに使用できることが分かるであろう。
【０１４０】
また、画像中の各標本点（ｘ，ｙ）に対して時間次元ｔに沿って式(12)で使用するための標本点ｔiを発生するために、一次元ホールトン数列を使用できることが分かるであろう。その場合は、画素値の発生中に、コンピュータグラフィックス装置１０は、式(12)に従って標本点（ｘ，ｙ）に対する輝度値Ｌ(ｘ，ｙ)を発生する。あるいは、コンピュータグラフィックス装置１０は、式(12)で用いるために、例えば、時間次元ｔと画像面の空間次元ｘ，ｙとに沿う標本点（ｘi，ｙi，ｔi）を発生するために三次元ホールトン数列を使用でき、かつ、輝度値Ｌ(ｘi，ｙi，ｔi)を用いて式(12)を用いる画素に対する輝度値を発生できる。ここで、（ｘi，ｙi）は画素の領域内の標本点である。
【０１４１】
（４）ジッタ(Jittering)
画像中のそれぞれの点における画素の色を表わす画素の画素値を発生するために、画素値によって表わされる色が、画素の領域にわたって平均される。それをシミュレートするために、コンピュータグラフィックス装置１０は、画素Ｐiが平均された色Ｌiを持つために、積分
【０１４２】
【数４８】
2008181571.tif 000050
【０１４３】
を計算することによって画素値を発生する。ここに、Ｌ（ｘ，ｙ）は画像中の点（ｘ，ｙ）における色を表し、｜Ｐi｜は画素Ｐiの面積を表わす。特定の画像に対する関数Ｌ（ｘ，ｙ）の定式化は当業者に知られている。
【０１４４】
コンピュータグラフィックス装置１０は、積分（式(13)）を計算し、標本点を与えるためのホールトン数列を用いて画像Ｐi中の標本点（ｘi，ｙi）の数Ｎを選択することにより、画素値を発生できる。標本点が発生された後で、コンピュータグラフィックス装置１０は、Ｎ個の標本点（ｘi，ｙi）のおのおのに対する関数Ｌ(ｘ，ｙ)を計算し、積分（式(13)）を
【０１４５】
【数４９】
2008181571.tif 000051
【０１４６】
として近似する。
【０１４７】
しかし、各画素に対して発生されたホールトン数列を用いて積分（式(13)）が計算されたとすると、いくつかの問題が起きる。まず、１つの画素内でかたまりが起きないことをホールトン数列が保証するが、隣接する画素との境界でかたまりが起きないことは保証しない。また、画素に対して発生されたホールトン数列は、画素レベルでの周期性を示す。その場合には、眼に明らかになることがあるアーティファクトが画像中に発生することがある。
【０１４８】
したがって、それらの問題に対処するために、本発明に従って、コンピュータグラフィックス装置１０は、以下のように、ホールトン数列を発生して、全体としての画像に対する、または所定数の近接する画素に対する標本点を発生する。最初に、コンピュータグラフィックス装置１０は、ｎ×ｍのサイズの格子を基にして、画像または所定数の近接する画素を分割する。ここで、ｎ＝２iは、２の正のべき（ｉ）、ｍ＝３jは、３の正のべき（ｊ）である。（この説明では、２と３は、二次元ホールトン数列の発生のために選択された数底（すなわち、一次元ホールトン数列を記述する式(4), (5)におけるｐ）である。コンピュータグラフィックス装置１０が、二次元ホールトン数列の発生のために他の数底を用いるとすると、ｎとｍはそれらの数底のべきであるように選択される。）その後で、コンピュータグラフィックス装置１０は、式(14)の計算に使用すべき標本点（ｘi，ｙi）のセットを、ｋ＝１，…，ｎｍに対して、（ｎＨ2k，ｍＨ3k）として発生する。それは基準化された(scaled)二次元ホールトン数列を構成し、基準化はｎとｍとの値に従って行われる。各副画素の左側境界と下側境界とが副画画素の一部を構成するものとみなされ、各副画素の右側境界と上側境界とが副画素の一部を構成しないものとみなされるものとすると、そのようにして発生された標本点、正確には１つの標本点が、各画素中の複数の副画素のそれぞれに与えられる。
【０１４９】
たとえば、コンピュータグラフィックス装置１０が、各画素についてＮ×Ｎの副画素上に標本点を発生すべきものとし、画像中または近接する画素の選択されたサブセット中の列の数がＲｅｓxであるとし、かつ画像中の画素の行の数または近接する画素の選択されたサブセット中の行の数がＲｅｓyであるとすると、コンピュータグラフィックス装置１０は、
【０１５０】
【数５０】
2008181571.tif 000052
【０１５１】
であるように整数ｉとｊを最初に選択することによって、画像中の画素または画素の選択されたサブセットに使用すべき標本点の数
【０１５２】
【数５１】
2008181571.tif 000053
【０１５３】
を発生できる。ｎ×ｍ副画素の副画素格子は、一般に画像または近接する画素の選択されたサブセットのサイズより大きいことに注目されたい。
【０１５４】
上記機構に従って、コンピュータグラフィックス装置１０は、それぞれの画素の領域内に設けられている標本点を用いて各画素について式(14)中の積分を計算できる。
【０１５５】
式(14)中の積分の計算における画像全体または近接する画素の選択されたサブセットについて、１つの画素内の基準化されていないホールトン数列（すなわち、例えば（Ｈ2k，Ｈ3k））を標本点として用いる代わりに、基準化された二次元ホールトン数列（ｎＨ2k，ｍＨ3k）を用いて標本点を発生することからいくつかの利点が生ずる。まず、基準化された二次元ホールトン数列を用いることによって、基準化されていない二次元ホールトン数列に関連して起きることがある、画素のレベルにおける標本点の周期性が避けられる。また、基準化された二次元ホールトン数列（ｎＨ2k，ｍＨ3k）を用いると、基準化されていない二次元ホールトン数列に関連して起きることがある、隣接する画素の境界における標本点のかたまり形成が起きないようにされる。したがって、基準化された二次元ホールトン数列（ｎＨ2k，ｍＨ3k)を用いると、画像全体または画素の近接する領域全体にわたって標本点が一様に分布されるようにされる。これは、比較的少数の標本点が使用されたとしても、及び画素当りただ１つの画素が使用されたとしてさえも、そうなる。
【０１５６】
ジッタを生ずるような画素値の発生に関連して上で説明した動作が図５のフローチャートに示されている。そのフローチャートに示されている動作は、上記の説明から当業者には直ちに明らかであるから、その図におけるフローチャートをこの明細書では個々には説明しない。
【０１５７】
式(13)で用いられる関数Ｌ(ｘ，ｙ)は、ジッタをシミュレートするために画素値の発生に関連して使用できる関数の例であり、その他の関数は、式(14)に対応する変更を行うことで、当業者には明らかであろう。また、計算のための標本点を得るためにホールトン数列が使用されるとして説明したが、この技術分野で知られている不一致が小さい他の数列を代わりに使用できることが、分かるであろう。
【０１５８】
本発明の装置は、専用ハードウェアまたは汎用コンピュータ装置、あるいはそれらの任意の組合わせから、全体としてまたは部分的に製作できること、それの任意の部分を適するプログラムによって制御できることが分かるであろう。任意のプログラムが、全体としてまたは部分的に、装置の一部を構成し、あるいは従来のやり方で装置に保存でき、また、情報を従来のやり方で転送するためネットワークやその他の機構を介して装置に全体としてまたは部分的に供給できる。また、装置に直接接続でき、または従来のやり方で情報を転送するためのネットワークやその他の機構を介して装置に転送できるオペレータ入力要素（図示せず）を用いてオペレータにより供給される情報によって、装置を操作できること及び／またはその他のやり方で制御できるが分かるであろう。
【０１５９】
以上の説明は、本発明の特定の実施態様に限定されている。しかし、本発明に対して種々の変更および修正を行うことができ、しかも本発明の利点のいくつかまたは全てを達成できることが分かるであろう。添付した請求の範囲は、本発明の真の要旨及び範囲内に入るものとして、それらの変更または修正を含むものである。
【０１６０】
一般に、本発明は、
(1)点光源とは異なって、円板などの、有限の拡がりを持つ光源によって照明されるシーンに対して発生される柔らかい影、
(2)被写界深度のシミュレーション、
(3)動きによるボケ、
(4)ジッタ、
を含めて、いくつかのコンピュータグラフィックス技術をシミュレートするために用いられる積分を計算するための標本点として、厳密に決定論的な不一致の小さい数列、例えばホールトン数列を用いて、シーン中の物体の画像中の画素の画素値を発生するコンピュータグラフィックス装置を提供する。
【０１６１】
このコンピュータグラフィックス装置は、不一致の小さい数列を用いて、
(1)柔らかい影に関連して、シーンを照明している光源の拡がりにわたって標本点を発生し、
(2)被写界深度のシミュレーションに関連して、シーンと画像との間のレンズの領域にわたって標本点を発生し、
(3)動きによるボケに関連して、シーン中の動いている物体に対して動きによるボケをシミュレートすべき時間区間にわたって標本点を発生し、かつ、
(4)ジッタに関連して、画像または複数の隣接する画素にわたって、ジッタされた標本点を発生する。
【０１６２】
モンテカルロ法に関連して用いられる乱数とは異なって、不一致の小さい数列は、それぞれの領域または時間区間にわたって標本点が一様に分布することを保証するから、モンテカルロ法で起きることがあるそのような標本点がかたまることの結果として生ずることがある画像中の誤りを減少する。
【０１６３】
特に本発明は、モンテカルロ法におけるものと同じ計算コストで、同数の標本点を用いた時に、画質が向上した画像の発生を容易にする。
【図面の簡単な説明】
【０１６４】
【図１】本発明に従って製作したコンピュータグラフィックス装置を示す。
【図２】本発明に基づく、図１に示すコンピュータグラフィックス装置の動作を理解するために有用なフローチャートである。
【図３】本発明に基づく、図１に示すコンピュータグラフィックス装置の動作を理解するために有用なフローチャートである。
【図４】本発明に基づく、図１に示すコンピュータグラフィックス装置の動作を理解するために有用なフローチャートである。
【図５】本発明に基づく、図１に示すコンピュータグラフィックス装置の動作を理解するために有用なフローチャートである。
【図１】
2008181571.tif 000058
【図２】
2008181571.tif 000059
【図３】
2008181571.tif 000060
【図４】
2008181571.tif 000061
【図５】
2008181571.tif 000062
【手続補正書】
【提出日】平成20年5月21日(2008.5.21)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１１３
【補正方法】変更
【補正の内容】
【０１１３】
【数４０】
2008181571.tif 000063