(57)【要約】      （修正有）【課題】材料のコンピュータグラフィックス（CG）表現のシェーディングのための方法、システム、及び装置を提供する。【解決手段】物理的な材料を記述するデータを得るステップと、レンダリングエンジンから該物理的な材料のCG表現における特定の点をシェーディングするための、特定の点のマッピング位置、マッピング位置における視方向、及び該マッピング位置における光方向を特定するシェーディングリクエストを受け取るステップと、複数のパレット画像を用いてマッピング位置における直接照明の色を計算するステップと、物理的な材料を記述するデータを用いてマッピング位置における間接照明の色を計算するステップと、直接照明の色と間接照明の色とを組み合わせることによってマッピング位置における最終的な色を得るステップと、及び物理的な材料のCG表現のレンダリングに使用されるレンダリングエンジンに最終的な色を供給するステップとを含む。【選択図】図１０
2015219918.tif 000002
【特許請求の範囲】
【請求項１】
物理的な材料を記述するデータを得るステップであって、該物理的な材料を記述するデータが、該物理的な材料の第1のサンプルの複数のパレット画像を含み、該各パレット画像が、複数のミラーのそれぞれによって反射された該物理的な材料の第1のサンプルのそれぞれの反射画像を含む、該ステップ；
レンダリングエンジンから該物理的な材料のコンピュータグラフィックス（CG）表現における特定の点をシェーディングするためのシェーディングリクエストを受け取るステップであって、該リクエストが、該特定の点のマッピング位置、該マッピング位置における視方向、及び該マッピング位置における光方向を特定する、該ステップ；
該複数のパレット画像を用いて該マッピング位置における直接照明の色を計算するステップ；
該物理的な材料を記述するデータを用いて該マッピング位置における間接照明の色を計算するステップ；
該直接照明の色と該間接照明の色とを組み合わせることによって該マッピング位置における最終的な色を得るステップ；及び
該物理的な材料のCG表現のレンダリングに使用される該レンダリングエンジンに該最終的な色を供給するステップ：を含む、方法。
【請求項２】
前記複数のミラーの位置が半球を画定する、請求項1記載の方法。
【請求項３】
様々な視点から、前記複数のミラーの上に配置された材料サンプルの光景をそれぞれ反射する該複数のミラーの位置によって画定される半球のボロノイ図を作成するステップ；
複数のセルを含む2次元の表を作成するステップであって、該各セルが、それぞれの水平角と鉛直角の対によって該半球にマッピングされる、該ステップ；及び
該各セルに対して：
該セルに対応する該水平角と鉛直角の対における楕円体の表面上に円を作成するステップ、及び
該セルに対応するデータとして複数の対（位置、重み）を保存するステップであって：
所定数の点を該円内にランダムに配置すること、
該各点に対して、該各点のそれぞれの最も近いミラーを決定すること、
該各ミラーに対して、該点の最も近いミラーとして該ミラーを有する点の総数を決定すること、及び
該各ミラーのそれぞれの対（位置、重み）を決定することを含み、該位置が該ミラーを特定し、該重みが、該ミラーの該点の総数を該所定数で除すことによって決定される、該ステップ；をさらに含む、請求項1記載の方法。
【請求項４】
前記複数のパレット画像を用いて前記マッピング位置における前記直接照明の色を計算するステップが：
前記視方向に対応する前記2次元の表における第1のセルを特定すること；
前記光方向に対応する該2次元の表における第2のセルを特定すること；
該第1のセル及び該第2のセルに保存された前記対（位置、重み）を用いて第1の寄与するパレット画像及び第2の寄与するパレット画像を決定すること；
該第1の寄与するパレット画像から第1の画素を抽出し、かつ該第2の寄与するパレット画像から第2の画素を抽出すること；及び
該抽出した画素並びに該第1及び第2のセルの該重みを用いて該直接照明の色を決定すること；を含む、請求項3記載の方法。
【請求項５】
前記各寄与するパレット画像から画素を抽出することが、前記マッピング位置の座標を該各寄与するパレット画像における位置に変換することによって前記画素を抽出することを含む、請求項4記載の方法。
【請求項６】
前記抽出した画素及び前記重みを用いて前記直接照明の色を決定することが：
前記第1の画素の色及び前記第2の画素の色を決定すること；
前記第1の寄与するパレット画像を選択するために使用される前記対（位置、重み）における重みに基づいて該第1の画素の色に重みを付けること；
前記第2の寄与するパレット画像を選択するために使用される前記対（位置、重み）における重みに基づいて該第2の画素の色に重みを付けること；及び
該重み付けされた色を合計して該直接照明の色を決定すること；を含む、請求項4記載の方法。
【請求項７】
前記ボロノイ図を作成するステップが、前記楕円体における各点の最も近いミラーを特定することを含み、該最も近いミラーが、該点からミラーの中心までの距離が最も短いミラーである、請求項3記載の方法。
【請求項８】
前記ボロノイ図を作成するステップが、同じ最も近いミラーを共有する各点を該ボロノイ図の同じゾーンに割り当てることをさらに含む、請求項7記載の方法。
【請求項９】
前記表面上に円を作成するステップが、前記ボロノイ図における少なくとも2つのゾーンに亘る各候補の円から、最も小さい半径を有する円を選択することを含む、請求項3記載の方法。
【請求項１０】
前記物理的な材料を記述するデータが、第1の領域画像における第1の画素についてのK×Mの表を含み、該第1の領域画像が、受け取った視方向に対応し、該第1の画素が、受け取ったマッピング位置に対応し、該表の各セルが、前記複数のミラーによって画定される楕円体のそれぞれの要素の中心の位置を含む、請求項1記載の方法。
【請求項１１】
前記物理的な材料を記述するデータを用いて前記マッピング位置における間接照明の色を計算するステップが：
該マッピング位置における第1の間接照明の色を決定することであって：
0〜Kの範囲から選択される第1の非整数の乱数を作成すること；
0〜Mの範囲から選択される第2の非整数の乱数を作成すること；
該第1の乱数及び該第2の乱数を用いて前記表にインデックス付けして、該第1の乱数及び該第2の乱数に隣接したセルを特定すること；
該特定されたセルに含まれる位置を特定すること；
該位置を組み合わせて最終的な位置を得ること；及び
該最終的な位置によって決定された方向に光線をトレースして、該第1の間接照明の色を決定すること；を含む、該第1の間接照明の色を決定すること；並びに
少なくともある程度は該第1の間接照明の色に基づいて該マッピング位置における間接照明の色を計算すること；を含む、請求項10記載の方法。
【請求項１２】
前記少なくともある程度は前記第1の間接照明の色に基づいて前記マッピング位置における間接照明の色を計算することが、該第1の間接照明の色を前記間接照明の色として用いることを含む、請求項11記載の方法。
【請求項１３】
前記少なくともある程度は前記第1の間接照明の色に基づいて前記マッピング位置における間接照明の色を計算することが：
1つ以上の他の間接照明の色を計算すること；及び
該1つ以上の他の間接照明の色を該第1の間接照明の色と組み合わせて、最終的な間接照明の色を得ること；を含む、請求項11記載の方法。
【請求項１４】
1つ以上のコンピュータ及び命令を保存する1つ以上の記憶装置を含むシステムであって、該命令が、該1つ以上のコンピュータによって実行されると、該1つ以上のコンピュータが：
物理的な材料を記述するデータを得る動作であって、該物理的な材料を記述するデータが、該物理的な材料の第1のサンプルの複数のパレット画像を含み、該各パレット画像が、複数のミラーのそれぞれによって反射された該物理的な材料の第1のサンプルのそれぞれの反射画像を含む、該動作；
レンダリングエンジンから該物理的な材料のコンピュータグラフィックス（CG）表現における特定の点をシェーディングするためのシェーディングリクエストを受け取る動作であって、該リクエストが、該特定の点のマッピング位置、該マッピング位置における視方向、及び該マッピング位置における光方向を特定する、該動作；
該複数のパレット画像を用いて該マッピング位置における直接照明の色を計算する動作；
該物理的な材料を記述するデータを用いて該マッピング位置における間接照明の色を計算する動作；
該直接照明の色と該間接照明の色とを組み合わせることによって該マッピング位置における最終的な色を得る動作；及び
該物理的な材料のCG表現のレンダリングに使用される該レンダリングエンジンに該最終的な色を供給する動作；を含む動作を実行する、前記システム。
【請求項１５】
前記動作が：
様々な視点から、前記複数のミラーの上に配置された材料サンプルの光景をそれぞれ反射する該複数のミラーの位置によって画定される半球のボロノイ図を作成する動作；
複数のセルを含む2次元の表を作成する動作であって、該各セルが、それぞれの水平角と鉛直角の対によって該半球にマッピングされる、該動作；及び
該各セルに対して：
該セルに対応する該水平角と鉛直角の対における楕円体の表面上に円を作成する動作、及び
該セルに対応するデータとして複数の対（位置、重み）を保存する動作であって：
所定数の点を該円内にランダムに配置すること、
該各点に対して、該各点のそれぞれの最も近いミラーを決定すること、
該各ミラーに対して、該点の最も近いミラーとして該ミラーを有する点の総数を決定すること、及び
該各ミラーのそれぞれの対（位置、重み）を決定することを含み、該位置が該ミラーを特定し、該重みが、該ミラーの該点の総数を該所定数で除すことによって決定される、該動作；をさらに含む、請求項14記載のシステム。
【請求項１６】
前記複数のパレット画像を用いて前記マッピング位置における前記直接照明の色を計算する動作が：
前記視方向に対応する前記2次元の表における第1のセルを特定すること；
前記光方向に対応する該2次元の表における第2のセルを特定すること；
該第1のセル及び該第2のセルに保存された前記対（位置、重み）を用いて第1の寄与するパレット画像及び第2の寄与するパレット画像を決定すること；
該第1の寄与するパレット画像から第1の画素を抽出し、かつ該第2の寄与するパレット画像から第2の画素を抽出すること；及び
該抽出した画素並びに該第1及び第2のセルの該重みを用いて該直接照明の色を決定すること；を含む、請求項15記載のシステム。
【請求項１７】
前記抽出した画素並びに前記重みを用いて前記直接照明の色を決定することが：
前記第1の画素の色及び前記第2の画素の色を決定すること；
前記第1の寄与するパレット画像を選択するために使用される前記対（位置、重み）における重みに基づいて該第1の画素の色に重みを付けること；
前記第2の寄与するパレット画像を選択するために使用される前記対（位置、重み）における重みに基づいて該第2の画素の色に重みを付けること；及び
該重み付けされた色を合計して前記直接照明の色を決定すること；を含む、請求項16記載のシステム。
【請求項１８】
前記物理的な材料を記述するデータが、第1の領域画像における第1の画素についてのK×Mの表を含み、該第1の領域画像が、受け取った視方向に対応し、該第1の画素が、受け取ったマッピング位置に対応し、該表の各セルが、前記複数のミラーによって画定される楕円体のそれぞれの要素の中心の位置を含む、請求項14記載のシステム。
【請求項１９】
前記物理的な材料を記述するデータを用いて前記マッピング位置における間接照明の色を計算する動作が：
該マッピング位置における第1の間接照明の色を決定することであって：
0〜Kの範囲から選択される第1の非整数の乱数を作成すること；
0〜Mの範囲から選択される第2の非整数の乱数を作成すること；
該第1の乱数及び該第2の乱数を用いて前記表にインデックス付けして、該第1の乱数及び該第2の乱数に隣接したセルを特定すること；
該特定されたセルに含まれる位置を特定すること；
該位置を組み合わせて最終的な位置を得ること；及び
該最終的な位置によって決定された方向に光線をトレースして、該第1の間接照明の色を決定すること；を含む、該第1の間接照明の色を決定すること；並びに
少なくともある程度は該第1の間接照明の色に基づいて該マッピング位置における間接照明の色を計算すること；を含む、請求項18記載のシステム。
【請求項２０】
命令を保存するコンピュータ可読媒体であって、該命令が、1つ以上のコンピュータによって実行されると、該1つ以上のコンピュータが：
物理的な材料を記述するデータを得る動作であって、該物理的な材料を記述するデータが、該物理的な材料の第1のサンプルの複数のパレット画像を含み、該各パレット画像が、複数のミラーのそれぞれによって反射された該物理的な材料の第1のサンプルのそれぞれの反射画像を含む、該動作；
レンダリングエンジンから該物理的な材料のコンピュータグラフィックス（CG）表現における特定の点をシェーディングするためのシェーディングリクエストを受け取る動作であって、該リクエストが、該特定の点のマッピング位置、該マッピング位置における視方向、及び該マッピング位置における光方向を特定する、該動作；
該複数のパレット画像を用いて該マッピング位置における直接照明の色を計算する動作；
該物理的な材料を記述するデータを用いて該マッピング位置における間接照明の色を計算する動作；
該直接照明の色と該間接照明の色とを組み合わせることによって該マッピング位置における最終的な色を得る動作；及び
該物理的な材料のCG表現のレンダリングに使用される該レンダリングエンジンに該最終的な色を供給する動作；を含む動作を実行する、前記コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
（背景）
本明細書は、材料のコンピュータグラフィックス（CG）表現のシェーディングに関する。材料のCG表現をレンダリングするプロセスにおいて、1つ以上のシェーディング技術を使用して、例えば、レンダリングされたシーンにおける所望の照明に基づいて材料の表面の色及び輝度を決定することができる。
【発明の概要】
【課題を解決するための手段】
【０００２】
（概要）
一般に、本明細書で説明される主題の1つの革新的な態様は、装置として実施することができ、該装置は、光を放射するレンズを有する光源；複数の第1の平面ミラーであって、該光源が、該複数の第1の平面ミラーのそれぞれを直接照明するために移動可能である、該複数の第1の平面ミラー；該複数の第1のミラーと該光源との間に材料サンプルを保持するように構成されたサンプル支持体であって、該各第1のミラーが、様々な視点から材料サンプルの各光景を反射するように配置された、該サンプル支持体；及び該光源に近接したカメラであって、該光源が該各平面ミラーを直接照明するように配置されたときに、該材料サンプルを反射する該第1のミラーのそれぞれの画像を撮るように構成された、該カメラ；を備える。
【０００３】
これら及び他の実施態様はそれぞれ、任意に、1つ以上の以下の特徴を含み得る。放射される光は、コリメート光であり得る。第1の平面ミラーの直接照明は、第2のミラーによって反射されて第1の平面ミラーに入射する光を光源のレンズから放射することを含み得る。カメラは、材料サンプルのコンピュータグラフィックス表現をシェーディングするためのデータ構造の作成に使用されるシステムに画像を供給するようにさらに構成することができる。第1の平面ミラーは、該第1の平面ミラーのそれぞれの表面が楕円体を画定するように配置することができる。材料サンプルの中心は、楕円体の中心を通る楕円体の断面を取ることによって形成された楕円の第1の焦点に配置することができ、該楕円体の半軸に沿っている。カメラは、楕円の第2の焦点に配置することができる。光源は、回転ディスクに取り付けることができる。
【０００４】
一般に、本明細書で説明される主題の別の革新的な態様は、方法として実施することができ、該方法は、複数の第1の画像を得る動作であって、各第1の画像が複数の領域を備え、各領域が、複数のミラーのそれぞれに対応し、かつ対応するミラーによって反射される材料の第1のサンプルの反射画像を含み、該複数のミラーが楕円体を画定する、該動作；各第1の画像に対して：該第1の画像から該領域に対応する反射画像を抽出することによって該第1の画像における各領域に対してそれぞれの領域画像を作成する動作であって、該各領域画像が、複数の各領域画像画素を含む、該動作、及び該各領域画像をパレット化する動作；及び材料のCG表現のシェーディングに使用されるコンピュータグラフィックス（CG）レンダリングエンジンに各パレット画像を供給する動作を含む。
【０００５】
この態様の他の実施態様は、それぞれこの方法の動作を実行するように構成された対応するコンピュータシステム、装置、及び1つ以上のコンピュータ記憶装置に記録されたコンピュータプログラムを含む。
【０００６】
1つ以上のコンピュータのシステムは、作動するとシステムが動作を実行する、該システムにインストールされたソフトウェア、ファームウェア、ハードウェア、又はこれらの組み合わせを有することによって特定のオペレーション又は動作を実施するように構成することができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されると該データ処理装置が動作を実行する命令を含めることによって特定のオペレーション又は動作を実行するように構成することができる。
【０００７】
これら及び他の実施態様はそれぞれ、任意に、1つ以上の以下の特徴を含み得る。この方法は、複数の第1の画像の校正に使用されるジオメトリ校正データ及び色校正データを得るステップをさらに含み得る。第1の画像における各領域のそれぞれの領域画像を作成するステップは：ジオメトリ校正データを用いて第1の画像から領域に対応する反射画像を抽出するステップ；及び反射画像の色を色校正データを用いて調整して領域画像を作成するステップを含み得る。この方法は、各領域画像画素に対して：複数のミラーによって画定された楕円体を第1の数のセクターに分割するステップであって、材料によって反射される光線が、各セクターへの到達について等しい確率を有する、該ステップ、各セクターを第2の数の要素に分割するステップであって、材料によって反射される光線が、各要素への到達について等しい確率を有する、該ステップ、及び複数のセルを有する表を作成するステップであって、該表の各セルが、楕円体のそれぞれの要素の中心を特定するデータを保存する、該ステップをさらに含み得る。この方法は、材料のCG表現に対する間接照明の影響の決定に使用されるレンダリングエンジンに各領域画像画素の表を供給するステップをさらに含み得る。複数のミラーによって画定された楕円体を第1の数のセクターに分割するステップは、楕円体の表面の小区分の局所確率を繰り返し集積することを含み得る。各小区分の局所確率は、楕円体の表面の平均輝度によって分割される小区分の局所輝度とすることができる。各セクターを第2の数の要素に分割するステップは、セクターの小区分の局所確率を繰り返し集積することを含み得る。この方法は、複数の第2の画像を得るステップであって、該各第2の画像が、対応するミラーによって反射される材料の第2の大きいサンプルの直接画像であり、該各第2の画像が、複数の各第2の画像画素を含む、該ステップ；該各第2の画像画素に対して最も類似したそれぞれの領域画像画素を決定するステップ；及び該各第2の画像画素を、該第2の画像画素に対して最も類似した対応する領域画像画素に関連付けるマッピングを保存するステップをさらに含み得る。各第2の画像は、それぞれの角度で撮ることができ、それぞれの角度は各々、複数のミラーの1つ1つが材料の第1のサンプルを反射する角度に対応する。各第2の画像画素に対して最も類似したそれぞれの領域画像画素を決定するステップが：各領域画像画素及び各第2の画像画素に対してそれぞれのシグネチャを決定すること；及び該シグネチャに基づいて最も類似した領域画像画素を選択することを含み得る。各領域画像画素及び各第2の画像画素に対するそれぞれのシグネチャを決定することは：画素の高さ及び該画素に隣接した所定数の画素の高さを計算すること；及び該高さに基づいて画素のシグネチャを計算することを含み得る。各領域画像画素及び各第2の画像画素に対するそれぞれのシグネチャを決定することは、色合わせに基づいて画素のシグネチャを計算することを含み得る。シグネチャに基づいて最も類似した領域画像画素を選択することは、最も類似した領域画像画素として、第2の画像画素のシグネチャから距離が最も短いシグネチャを有する領域画像画素を、第2の画像画素から選択することを含み得��。
【０００８】
本明細書で説明される主題の特定の実施態様は、1つ以上の次の利点を実現するように実施することができる。材料のCG表現は、物理的な材料の大きいサンプルの複数の高解像度画像を得なくても、効果的にシェーディングすることができる。複雑かつ様々な質感を有する材料の表現も、効果的にシェーディングすることができる。材料の表現は、少ないデータを用いて短時間で効果的にシェーディングすることができる。
【０００９】
一般に、本明細書で説明される主題の別の革新的な態様は、方法として実施することができ、該方法は、物理的な材料を記述するデータを得る動作であって、該物理的な材料を記述するデータが、該物理的な材料の第1のサンプルの複数のパレット画像を含み、該各パレット画像が、複数のミラーのそれぞれによって反射された該物理的な材料の第1のサンプルのそれぞれの反射画像を含む、該動作；レンダリングエンジンから該物理的な材料のコンピュータグラフィックス（CG）表現における特定の点をシェーディングするためのシェーディングリクエストを受け取る動作であって、該リクエストが、該特定の点のマッピング位置、該マッピング位置における視方向、及び該マッピング位置における光方向を特定する、該動作；該複数のパレット画像を用いて該マッピング位置における直接照明の色を計算する動作；該物理的な材料を記述するデータを用いて該マッピング位置における間接照明の色を計算する動作；該直接照明の色と該間接照明の色とを組み合わせることによって該マッピング位置における最終的な色を得る動作；及び該物理的な材料のCG表現のレンダリングに使用される該レンダリングエンジンに該最終的な色を供給する動作；を含む。
【００１０】
この態様の他の実施態様は、それぞれこの方法の動作を実行するように構成された対応するコンピュータシステム、装置、及び1つ以上のコンピュータ記憶装置に記録されたコンピュータプログラムを含む。
【００１１】
1つ以上のコンピュータのシステムは、作動するとシステムが動作を実行する、該システムにインストールされたソフトウェア、ファームウェア、ハードウェア、又はこれらの組み合わせを有することによって特定のオペレーション又は動作を実施するように構成することができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行されると該データ処理装置が動作を実行する命令を含めることによって特定のオペレーション又は動作を実行するように構成することができる。
【００１２】
これら及び他の実施態様はそれぞれ、任意に、1つ以上の以下の特徴を含み得る。複数のミラーの位置は、半球を画定することができる。この方法は、様々な視点から、複数のミラーの上に配置された材料サンプルの光景をそれぞれ反射する該複数のミラーの位置によって画定される半球のボロノイ図を作成するステップ；複数のセルを含む2次元の表を作成するステップであって、該各セルが、それぞれの水平角と鉛直角の対によって該半球にマッピングされる、該ステップ；及び該各セルに対して：該セルに対応する該水平角と鉛直角の対における楕円体の表面上に円を作成するステップ、及び該セルに対応するデータとして複数の対（位置、重み）を保存するステップであって：所定数の点を該円内にランダムに配置すること、該各点に対して、該各点のそれぞれの最も近いミラーを決定すること、該各ミラーに対して、該点の最も近いミラーとして該ミラーを有する点の総数を決定すること、及び該各ミラーのそれぞれの対（位置、重み）を決定することを含み、該位置が該ミラーを特定し、該重みが、該ミラーの該点の総数を該所定数で除すことによって決定される、該ステップ；をさらに含み得る。
【００１３】
該複数のパレット画像を用いてマッピング位置における直接照明の色を計算するステップは：視方向に対応する2次元の表における第1のセルを特定すること；光方向に対応する該2次元の表における第2のセルを特定すること；該第1のセル及び該第2のセルに保存された対（位置、重み）を用いて第1の寄与するパレット画像及び第2の寄与するパレット画像を決定すること；該第1の寄与するパレット画像から第1の画素を抽出し、かつ該第2の寄与するパレット画像から第2の画素を抽出すること；及び該抽出した画素並びに該第1及び第2のセルの該重みを用いて該直接照明の色を決定すること；を含み得る。各寄与するパレット画像から画素を抽出することは、マッピング位置の座標を各寄与するパレット画像における位置に変換することによって画素を抽出することを含み得る。抽出した画素及び重みを用いて直接照明の色を決定することは：第1の画素の色及び第2の画素の色を決定すること；第1の寄与するパレット画像を選択するために使用される対（位置、重み）における重みに基づいて該第1の画素の色に重みを付けること；第2の寄与するパレット画像を選択するために使用される対（位置、重み）における重みに基づいて該第2の画素の色に重みを付けること；及び該重み付けされた色を合計して直接照明の色を決定すること；を含み得る。ボロノイ図を作成するステップは、楕円体における各点の最も近いミラーを特定することを含み得、該最も近いミラーが、該点からミラーの中心までの距離が最も短いミラーである。ボロノイ図を作成するステップは、同じ最も近いミラーを共有する各点を該ボロノイ図の同じゾーンに割り当てることをさらに含み得る。表面上に円を作成するステップは、ボロノイ図における少なくとも2つのゾーンに亘る各候補の円から、最も小さい半径を有する円を選択することを含み得る。物理的な材料を記述するデータは、第1の領域画像における第1の画素についてのK×Mの表を含み得、ここで該第1の領域画像は、受け取った視方向に対応し、該第1の画素は、受け取ったマッピング位置に対応し、該表の各セルは、複数のミラーによって画定される楕円体のそれぞれの要素の中心の位置を含む。
【００１４】
物理的な材料を記述するデータを用いてマッピング位置における間接照明の色を計算するステップは：該マッピング位置における第1の間接照明の色を決定することであって：0〜Kの範囲から選択される第1の非整数の乱数を作成すること；0〜Mの範囲から選択される第2の非整数の乱数を作成すること；該第1の乱数及び該第2の乱数を用いて表にインデックス付けして、該第1の乱数及び該第2の乱数に隣接したセルを特定すること；該特定されたセルに含まれる位置を特定すること；該位置を組み合わせて最終的な位置を得ること；及び該最終的な位置によって決定された方向に光線をトレースして、該第1の間接照明の色を決定するステップを含む、該第1の間接照明の色を決定すること、並びに少なくともある程度は該第1の間接照明の色に基づいて該マッピング位置における間接照明の色を計算すること；を含み得る。少なくともある程度は第1の間接照明の色に基づいてマッピング位置における間接照明の色を計算することは、該第1の間接照明の色を間接照明の色として用いることを含み得る。少なくともある程度は第1の間接照明の色に基づいてマッピング位置における間接照明の色を計算することは：1つ以上の他の間接照明の色を計算すること；及び該1つ以上の他の間接照明の色を該第1の間接照明の色と組み合わせて、最終的な間接照明の色を得ること；を含み得る。
【００１５】
本明細書の主題の1つ以上の実施態様の詳細が、添付の図面及び以下の説明に示される。主題の他の特徴、態様、及び利点は、以下の説明、図面、及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１６】
【図１】図1は、物理的な材料のコンピュータグラフィックス（CG）表現をシェーディングするための例示的なシステムのハイレベルの例示である。
【図２Ａ】図2Aは、例示的な材料サンプルスキャナの線図である。
【図２Ｂ】図2Bは、材料サンプルスキャナ内の構成要素の例示的な構成を例示している。
【図３】図3は、光源−カメラアセンブリの底部の線図である。
【図４】図4は、上からのミラーアセンブリの図を示している。
【図５】図5は、材料サンプルスキャナによって取り込まれた例示的なミラー画像である。
【図６】図6は、材料のCG表現に対する直接照明の決定に使用されるパレット画像を作成するための例示的な技術の流れ図である。
【図７】図7は、材料のCG表現に対する間接照明の影響の決定に使用されるデータ構造を作成するための例示的な技術の流れ図である。
【図８】図8は、材料サンプルスキャナによって取り込まれた画像のジオメトリ及び色を校正するための例示的な技術の流れ図である。
【図９】図9は、直接画像の画素とミラー画像の画素との間のマッピングを作成するための例示的な技術の流れ図である。
【図１０】図10は、所与のマッピング位置における最終的な色を計算するための例示的な技術の流れ図である。
【図１１Ａ】図11Aは、所与のマッピング位置における直接照明の影響を決定するための例示的な技術の流れ図である。
【図１１Ｂ】図11Bは、例示的なボロノイ図を示している。
【図１２】図12は、所与のマッピング位置における間接照明の影響を決定するための例示的な技術の流れ図である。
【発明を実施するための形態】
【００１７】
（詳細な説明）
様々な図面における同様の参照数字及び記号は、同様の要素を示す。
【００１８】
図1は、物理的な材料、例えば、木材、織物、皮革、又は金属のコンピュータグラフィックス（CG）表現を材料の物理的なサンプルを用いてシェーディングするための例示的なシステム100のハイレベルの例示である。
【００１９】
システム100は、レンダリングエンジン106を含む。レンダリングエンジン106は、例えば、従来の技術を用いて画像又は動画をレンダリングする。一般に、レンダリングエンジン106は、例えば、モデル又は他のレンダリング基準に基づいて、用意したシーンから画像又は動画を作成する。レンダリングプロセスの一部として、かつ物理的な材料のCG表現に対する、レンダリングされたシーンの所望の照明条件の影響を考慮するために、即ち、3次元モデルにおける物理的な材料の画像を正確に描くために、レンダリングエンジン106は、CG表現のシェーディング情報をシェーディングモジュール108から得る必要があり得る。シェーディングモジュール108は、例えば、レンダリングエンジン106のプラグインソフトウェアコンポーネントであり得る。
【００２０】
シェーディングモジュール108は、シェーディングされるべき材料、シェーディングされるべきマッピング位置、即ち、画像の3次元モデルのUVマッピングにおける位置、該マッピング位置の視方向、及び該マッピング位置における光方向を特定するシェーディング情報のリクエストをレンダリングエンジン106から受け取る。マッピング位置は、例えば、UV座標で表すことができる。リクエストに応じて、シェーディングモジュール108は、材料製造システム（material builder system）104から得られたデータを用いてマッピング位置における最終的な色を決定し、レンダリングのために最終的な色をレンダリングエンジン106に供給する。マッピング位置における最終的な色を決定するために、シェーディングモジュール108は、該位置における直接照明及び間接照明の影響を決定する。直接照明とは、他の表面で反射されていない、光源から放射された照明のことである。間接照明とは、他の表面での光の反射、即ち、あるシーンにおける物体を取り囲む表面での、直接光源から放射された光の反射によって生じる照明である。所与のマッピング位置における最終的な色の決定については、図10を参照して以下により詳細に説明される。
【００２１】
材料製造システム104は、1つ以上の地理的な位置で1つ以上のデータ処理装置（例えば、パーソナルコンピュータ、サーバー、タブレットコンピュータ、スマートフォンなど）で実行するコンピュータプログラム命令として実施することができる。材料製造システム104は、材料サンプルスキャナ102によって取り込まれた物理的な材料のサンプルの画像を受け取り、材料のCG表現のシェーディングにおいて、シェーディングモジュール、例えば、シェーディングモジュール108によって使用されるデータ構造を作成する。直接照明下での材料のCG表現のシェーディングに対する直接照明の影響の決定に使用されるデータの作成が、図6を参照して以下に説明される。材料のCG表現のシェーディングに対する間接照明の影響の決定に使用されるデータの作成が、図7を参照して以下に説明される。
【００２２】
材料サンプルスキャナ102は、所与の材料の物理的なサンプルの画像を取り込んで、該画像を材料製造システム104に供給する装置である。材料サンプルスキャナ102によって取り込まれる各画像は、様々な視方向及び照明方向のサンプルの複数の画像を含む。材料サンプルスキャナの一例が、図2を参照して以下に説明される。
【００２３】
図2Aは、例示的な材料サンプルスキャナ200の線図である。材料サンプルスキャナ200は、材料250のサンプルの画像を取り込む装置である。例示として、材料は、一片の織物、木材、皮革、毛皮、カーペット、金属、ガラス、プラスチック、これらの組み合わせ、又は他の材料とすることができる。サンプル250の寸法は、例えば、概ね2.54cm×2.54cm（1インチ×1インチ）とすることができる。他のサンプルのサイズも可能である。一般に、サンプル250は、レンダリング中にシェーディングされるべき材料のほんの一部である。
【００２４】
スキャナ200は、光源−カメラアセンブリ240を備える。光源−カメラアセンブリ240は、光源202及びカメラ208を含む。光源202は、ミラー210に向けて光を放射するレンズを備え、該ミラー210は、光をミラーアセンブリ215に向けて反射する。
【００２５】
ミラーアセンブリ215は、一連の平面ミラー204を含む。これらのミラー204は、楕円体を画定するように配置される。即ち、ミラー204は、ミラーの反射面が、楕円体の外面の一部に近接するように配置される。一般に、ミラーの反射面の寸法は、サンプル250の寸法よりも大きい。例えば、サンプルの寸法が、2.54cm×2.54cm（1インチ×1インチ）である場合は、各ミラーは5.08cm×5.08cm（2インチ×2インチ）とすることができる。
【００２６】
光源202は、各ミラー204を直接照明するように移動可能である。即ち、光源202は、径方向に移動可能であり、光源202の角度、ミラー210の角度、又は両方の角度を、該光源のレンズによって放射されて該ミラー210で反射される光によって各ミラーの反射面が直接照明されるように、該光源202の径方向位置と該光源202及び該ミラー210の角度とのある組み合わせで調整可能とすることができる。図2の例示されている例では、例えば、光源202は、該光源202によって放射される例示的な光線225が、ミラー210によって反射され、平面ミラー204の1つの反射面に直接入射するように配置されている。光源202を移動可能にして各ミラーを照明するために、該光源202は、回転ディスク220のトラックに取り付けて該光源202のディスクの半径に沿った移動を可能にすることができる。光源は、例えば、コリメート光源、即ち、コリメート光線、即ち、互いにほぼ平行な光線を発生させる光源とすることができる。
【００２７】
ミラーアセンブリ215は、サンプル支持体206も含む。サンプル支持体206は、スキャナ200内で一連のミラー204と光源202との間にサンプル250を保持するように構成されている。具体的には、サンプル支持体206は、サンプルが光源202に背を向け、該サンプルの中心が、ミラー204によって画定された楕円299の1つのほぼ焦点であるようにサンプルを保持するよう構成され、該楕円299が、楕円体の中心を通る該楕円体の断面を取ることによって形成され、該楕円体の一方の半軸に沿っている。ミラー204及び材料サンプル250をこの構成で配置することにより、各ミラー204は、光源202がミラー204の任意の1つを直接照明するときにそれぞれの角度でサンプルの画像を反射する。一部の実施では、サンプル支持体206は、サンプルが1つ以上の軸に沿って回転できるようにさらに構成されている。
【００２８】
カメラ208が、光源202に近接して配置されている。例えば、カメラ208は、ほぼサンプルの中心の上に配置することができる。具体的には、カメラ208は、楕円299の他の焦点にほぼ配置することができる。一連のミラー204及びサンプル250に対するカメラ208の位置決めは、図2Bを参照して以下により詳細に説明される。
【００２９】
一部の実施では、カメラ208は、リクエスト、例えば、材料製造システム、例えば、図1の材料製造システム104から受け取るリクエストに応答してミラー204の画像を撮るように構成されている。具体的には、カメラ208は、光源202が各ミラーを直接照明するように配置されたときに該ミラー204のそれぞれの画像を撮ることができる。例えば、40の位置と40のミラーが存在する場合、カメラ208は、40の画像を撮るように構成することができ、各画像は、サンプルの40の反射画像を含み、光源は、ミラーのそれぞれ1つを直接照明するように配置される。サンプル250の反射画像は、ミラー204の1つの画像であり、該ミラー204は、サンプル支持体206によって支持されたサンプル250の画像を反射する。40のミラーを備えたスキャナ200は、一例として使用されるが、任意の数のミラー、従って、任意の数の画像が可能である。
【００３０】
ミラーの画像が撮られたら、該画像を、処理のために材料製造システムに供給することができる。一部の実施では、材料製造システムによって処理される前に、画像は、特定の形式、例えば、OpenEXR形式に変換される。他の実施では、画像製造システムは、カメラ204によって撮られた形式の画像を処理する。
【００３１】
図2Bは、図2Aの材料サンプルスキャナ200内の構成要素の例示的な構成を例示している。楕円299は、図2Aの一連のミラー204によって画定されて示されている。材料サンプル250は、楕円299の第1の焦点、即ち、一連のミラー204に最も近い焦点に配置されている。カメラ208は、楕円299の他の焦点に配置されている。一例として、楕円299の主軸299a、即ち、サンプル250及びカメラ208を通る軸は、約120cmの長さにすることができ、短軸299bは、約66cmの長さにすることができる。この例では、材料サンプル250とカメラ208との間の距離は約50cmである。しかしながら、他の寸法も可能である。
【００３２】
図3は、図2Aの光源−カメラアセンブリ240の底部の線図である。光源−カメラアセンブリ240は、ミラー210で反射されて一連のミラー、例えば、図2Aの一連のミラー204に向かう光線を放射するように配置された光源202を含む。光源202は、該光源202が径方向に移動できるようにするために回転ディスク220に取り付けられている。上記説明されたように、光源202、ミラー210、又はこれらの両方の角度は調整可能とすることができる。光源−カメラアセンブリ240は開口部275を備える。カメラ、例えば、図2Aのカメラ208は、開口部の上に配置することができる。
【００３３】
図4は、図2Aのミラーアセンブリ215の上からの図を示している。ミラーアセンブリ215は、一連の平面ミラー204を含む。上記説明されたように、一連の平面ミラー204におけるミラーは、該ミラーの反射面が、楕円体の外面の一部に近接するように配置されている。ミラーアセンブリ215は、サンプル支持体206も含む。サンプル支持体206は、支持体アーム292を用いて一連の平面ミラー204の上にサンプルを保持するように構成されている。上からの図面では見えないが、サンプルは、サンプル支持体206の下側に保持されている。支持アーム292は、ミラーアセンブリ215の上に位置するカメラから撮られる画像において一連の平面ミラー204のいずれのミラーの視野も妨げないように配置されている。
【００３４】
図5は、材料サンプルスキャナ、例えば、図2Aの材料サンプルスキャナ200によって取り込まれた例示的なミラー画像500である。ミラー画像500は、一連の領域、例えば、領域502を含み、各領域は、一連の平面ミラー、例えば、図2Aの一連のミラー204のそれぞれのミラーの反射、及びサンプル支持体504の上面の画像を含む画像500の領域に対応する。各領域は、シェーディングされるべき材料のサンプルのそれぞれの反射画像を含む。ミラー画像500は、光源、例えば、図2Aの光源202が一連のミラーの1つのミラーを直接照明し、かつサンプルがサンプル支持体によって保持されているときに撮られた画像である。例えば、ミラー画像500が取り込まれるときに、光源は、ミラー画像500における領域502に対応するミラーを直接照明することができる。この場合、領域502は、光源によって直接照明されるときに対応するミラーによって反射されたサンプルの反射画像を含む。
【００３５】
図6は、材料のCG表現に対する直接照明の影響の決定に使用されるパレット画像を作成するための例示的な技術600の流れ図である。便宜上、技術600は、1つ以上の位置に配置された1つ以上のデータ処理装置のシステムによって実施されるとして説明される。例えば、適切にプログラムされた材料製造システム、例えば、図1の材料製造システム104は、技術600を実施することができる。
【００３６】
システムは、色を校正し602、任意に、材料サンプルスキャナ、例えば、図1の材料サンプルスキャナ102によって取り込まれた画像のジオメトリを校正する。ジオメトリ及び色を校正するための1つの例示的な技術が、図8を参照して以下に説明される。校正プロセスの結果として、システムは、材料サンプルスキャナによって取り込まれた画像における反射画像に適用される色変換を特定する色校正データ、及び材料サンプルスキャナによって取り込まれた画像における反射画像の位置を特定する任意のジオメトリ校正データを作成する。
【００３７】
システムは、材料サンプルスキャナによって取り込まれた一連のミラー画像を得る604。各ミラー画像、例えば、図5のミラー画像500は、一連の領域を含み、これらの各領域は、一連のミラー、例えば、図2Aの一連のミラー204のそれぞれのミラーに対応する。各領域、例えば、図5の領域502は、シェーディングされるべき材料のサンプルのそれぞれの反射画像を含む。一般に、一連のミラー画像は、該一連のミラーにおけるミラーの数と同じ数のミラー画像を含み、該一連のミラー画像は、光源が、該一連のミラーの異なるミラーを直接照明しているときに取り込まれた画像を含む。
【００３８】
各ミラー画像に対して、システムは、色構成データ及び任意のジオメトリ校正データを用いてミラー画像の各領域に対するそれぞれの領域画像を作成する606。システムは、反射画像を各領域から抽出することによって領域画像を作成する。具体的には、システムは、ジオメトリ校正データで特定される位置を用いて、又はジオメトリ校正が行われない場合はミラー画像から領域の位置を直接特定することによって、ミラー画像における各領域の内容を抽出する。
【００３９】
領域画像作成の一部として、システムは、ミラーの位置を用いて半球を画定するデータを作成する。即ち、システムは、ミラーの位置を特定するデータを使用して、材料サンプル又は光源に対する各ミラーの中心のそれぞれの角度を決定する。次いで、システムは、これらの角度を用いて、所定の半径、例えば、1つの半径を有する半球を画定する。
【００４０】
任意に、システムは、各領域を長方形に変換する。次いで、システムは、領域画像を作成するために色校正データに基づいて各領域における各画素の色を調整することができる。
【００４１】
システムは、領域画像をパレット化し608、このパレット画像を保存する610。一般に、画像のパレット化により、画像に使用される色の数が所定数に減少する。具体的には、システムは、各画素の色を、パレット表のセルを指す色インデックスに置き替える。パレット表は、画像に使用される色のリストを含む。システムは、例えば、従来のパレット化技術を用いて領域画像をパレット化することができる。システムは、対（光、カメラ）で保存されたパレット画像をインデックス付けし、各パレット画像の「光」値は、パレット画像が撮られたときに直接照明されていたミラーを特定し、各画像の「カメラ」値は、パレット画像が撮られたときにカメラの位置が合わせられていたミラーを特定する。システムは、各ミラーに1からミラーの総数までの範囲のそれぞれの整数を割り当てることによってミラーの識別子を作成することができる。
【００４２】
保存されたパレット画像は、材料のCG表現の直接照明の決定に使用するために、シェーディングモジュール、例えば、図1のシェーディングモジュール108に供給することができる。システムは、各画像の対応する対（光、カメラ）に関連したパレット画像を提供することができる。
【００４３】
図7は、材料のCG表現に対する間接照明の影響の決定に使用されるデータ構造を作成するための例示的な技術700の流れ図である。便宜上、技術700は、1つ以上の位置に配置された1つ以上のデータ処理装置のシステムによって実施されるとして説明される。例えば、適切にプログラムされた材料製造システム、例えば、図1の材料製造システム104は、技術700を実施することができる。
【００４４】
一部の実施では、技術700は、材料サンプルスキャナから得られたミラー画像から作成される各領域画像における各画素に対して実施される。
【００４５】
システムは、一連のミラーによって画定された半球を第1の数のセクターに分割する702。具体的には、システムは、材料によって反射された光線が、各セクターへの到達について等しい確率を有するように半球を分割する。システムは、局所確率に基づいてこれらの等しい確率のセクターを作成することができ、各局所確率は、半球全体の平均輝度によって除された局所輝度である。画像のどの小区分の輝度も、例えば、小区分における赤色（R）、緑色（G）、及び青色（B）の平均値、即ち、（R＋G＋B）/3として測定することができる。
【００４６】
半球をセクターに分割するために、システムは、半球表面の小区分を繰り返し集積する。即ち、システムは、半球表面の小さい小区分を選択し、例えば、各小区分は、それぞれ半球表面全体の1/10000である。例えば、システムは、所定のステップサイズ、例えば、1度を用いて各軸に沿って半球表面を横断することによって小区分を選択することができる。
【００４７】
システムは、合計した確率が1/K（Kは所望の第1の数のセクター）になるまで各連続小区分の確率を合計する。次いで、システムは、この合計に含まれる小区分の集合体として第1のセクターを画定し、各セクターが画定されるまでこのプロセスを続ける。
【００４８】
システムは、各セクターを第2の数の要素に分割する704。具体的には、システムは、材料によって反射された光線が、各要素への到達について等しい確率を有するように各セクターを分割する。システムは、例えば、半球の分割について上記説明された技術と同じ技術を用いて、各セクターを第2の数の要素に分割することができる。
【００４９】
システムは、各要素の中心を特定するデータを保存するデータ構造を作成する706。例えば、それぞれM個の要素に分割されるK個のセクターが存在する場合、システムは、K×Mの表を作成することができ、該表にそれぞれ入力されるデータは、各要素の中心位置である。
【００５０】
技術700が、各領域画像における各画素に対して実施されると、システムは、材料のCG表現の間接照明の決定に使用するために、データ構造をシェーディングモジュール、例えば、図1のシェーディングモジュール108に供給することができる。
【００５１】
各画素及びパレット領域画像に対する半球の各要素の中心を特定するデータに加えて、システムは、材料の物理的なサンプルの寸法を特定する情報、各ミラー画像における領域の数、ミラー画像における各領域の位置、及びミラーによって画定される半球を特定するデータをシェーディングモジュールに供給することもできる。
【００５２】
図8は、材料サンプルスキャナ（例えば、材料スキャナ102）によって取り込まれた画像のジオメトリ及び色を校正するための例示的な技術800の流れ図である。便宜上、技術800は、1つ以上の位置に配置された1つ以上のデータ処理装置のシステムによって実施されるとして説明される。例えば、適切にプログラムされた材料製造システム、例えば、図1の材料製造システム104は、技術800を実施することができる。
【００５３】
システムは、特殊な所定パターンを有するサンプル材料を用いて材料サンプルスキャナ（例えば、材料スキャナ102）によって取り込まれたミラー画像を得る802。例えば、該パターンは、チェッカー盤パターンとすることができる。他のパターンも可能である。
【００５４】
システムは、ミラー画像における各領域の初期位置を特定する804。例えば、システムは、ミラー画像を分析してミラー画像における各領域の各縁を特定し、例えば、縁検出技術を用いて2つの特定された縁の各交点を決定することができる。各交点をある領域の角と見なすことができ、かつ該領域の位置を、見なされた縁及び角によって画定することができる。
【００５５】
一部の実施では、システムは、材料に対する所定パターンに基づいて初期位置を調整する806。具体的には、各領域に対して、システムは、低周波フーリエ解析を行い、そしてフーリエ解析の結果に基づいて初期位置を調整する。システムは、所与のミラー画像における4つの最も大きい領域の平均の位相及び周波数を決定し、この領域の位相を該4つの最大の領域の平均の位相及び周波数と等しくするために、各初期の角の位置を調整する。システムは、材料サンプルスキャナによって取り込まれた画像における反射画像の位置を特定するジオメトリ校正データとして調整された位置データを保存する。一部の実施では、システムは、ジオメトリ校正データを作成しないが、例えば、上記説明されたように縁及び交点を特定することによって、システムによって処理された各ミラー画像における領域の初期位置を特定する。
【００５６】
システムは、純拡散双方向反射分析関数（BRDF）を有する白色材料の、材料サンプルスキャナによって取り込まれたミラー画像を得る808。
【００５７】
システムは、ミラー画像から単位球BRDFを決定し810、反射画像の色に適用される色変換を特定する色校正データとしてデータを保存する。即ち、システムは、この色校正データを使用して、シェーディングモジュールによって使用される前に材料サンプルスキャナによって取り込まれた画像の色を正規化することができる。
【００５８】
上記説明は、物理的な材料のCG表現のシェーディングでシェーディングモジュールによって使用されるデータの作成について述べているが、上記データは、材料の小さいサンプルのミラー画像に基づいて作成される。一部の状況では、材料の大きいサンプルのいわゆる直接画像を得て、該大きいサンプルの直接画像の1つにおける各画素に対して、該画素に最も類似した任意のミラー画像における画素を特定するシェーディングモジュールにマッピングを提供することが有利であり得る。例えば、物理的なサンプルが、繰り返さないパターン、又は繰り返すが材料の小さいサンプルでは全体を捉えることができないパターンを有する場合、シェーディングモジュールは、提供されたマッピングを使用して、大きいサンプルの画素をミラー画像の最も類似した画素にマッピングする必要があり得る。一般に、大きいサンプルの表面積は、ミラー画像の作成に使用される小さいサンプルの表面積の約10倍となる。マッピングの作成は、図9を参照して以下に説明される。
【００５９】
図9は、直接画像の画素とミラー画像の画素との間のマッピングを作成するための例示的な技術900の流れ図である。便宜上、技術900は、1つ以上の位置に配置された1つ以上のデータ処理装置のシステムによって実施されるとして説明される。例えば、適切にプログラムされた材料製造システム、例えば、図1の材料製造システム104は、技術900を実施することができる。
【００６０】
システムは、材料サンプルスキャナ、例えば、図1の材料サンプルスキャナ102から物理的な材料の小さいサンプルの一連のミラー画像を得る902。
【００６１】
システムは、物理的な材料の大きいサンプルの一連の直接画像を得る904。一般に、各直接画像は、材料サンプルスキャナのミラーの1つが小さいサンプルの画像を反射する角度に対応する角度で撮られる。例えば、一連の直接画像は、ミラー画像のサンプルに最も近いと思われる一連のミラー204の4つのミラー、例えば、図5の領域506、508、510、及び512に対応するミラーのそれぞれ1つの角度に対応するそれぞれの角度でそれぞれ撮られる4つの画像を含み得る。
【００６２】
システムは、各直接画像における各画素のシグネチャを決定する906。各シグネチャは、画素を表す一連の値である。例えば、シグネチャは、n次元のベクトルであり、このnは所定の整数である。システムは、任意の様々な方法で画素のシグネチャを計算することができる。
【００６３】
一部の実施では、システムは、画像における画素の高さ及び該画素に隣接した所定数、例えば、8つの画素の高さを計算することによって画素のシグネチャを計算することができる。次いで、シグネチャを、少なくともある程度は高さに基づいて計算することができる。例えば、シグネチャは、高さの値のベクトルとすることができる。一般に、物理的な材料の表面は平らでないため、所与の画素の高さの値は、画素が表す点での垂直方向における物理的な材料の表面の変化の値である。
【００６４】
システムは、材料の高さマップから画素及び隣接する画素の高さを計算する。高さマップを作成するために、システムは、材料の4つの画像から垂直フィールドを作成する。即ち、システムは、それぞれ4つの画像のうちの3つを含む2つの連立一次方程式を解いて各点の高さを得ることができる。これらの連立一次方程式は、ある点の測定輝度が、該点で垂直な表面と該点での光方向との間のドット積に比例するという仮定によって立てることができる。システムは、2つの連立方程式の解を組み合わせて、例えば、第1の連立方程式の解の成分の一部及び第2の連立方程式の解の他の垂直成分を用いて該点における高さを得ることができる。
【００６５】
垂直フィールドから、システムは、高さマップを繰り返し決定する。具体的には、初期の繰り返しは、全ての画素の高さを0と仮定する。各画素に対して、システムは、隣接画素に対する垂直方向の予想される差を計算し、この差を垂直フィールドにおける差と比較する。システムは、誤差を現在の高さから減じて、繰り返しの最終的な高さを得る。高さマップが、繰り返しの間に比較的一定の状態に収束したら、収束高さマップを最終的な高さマップとして使用して、シグネチャの画素の高さを決定する。
【００６６】
他の実施では、システムは、色合わせに基づいて画素のシグネチャを作成することができる。画素の色合わせシグネチャを作成するために、システムは、4つの各画像における目的の画素の周囲の画素を特定する。例えば、各画素に対して、システムは、目的の画素を格子の中心にして、3×3の画素の格子を作成することができる。次いで、システムは、各格子における各画素のRGB値に基づいて画素のシグネチャを作成する。例えば、シグネチャは、全てのRGB値の順序付きリストとすることができる。
【００６７】
次いで、システムは、各直接画像の各画素に対して最も類似した画素を全ての領域画像から決定する908。一般に、任意の直接画像の画素に対して最も類似した領域画像の画素は、そのシグネチャと直接画像の画素のシグネチャとの間の距離が最も小さいシグネチャを有するミラー画像の画素である。具体的には、シグネチャがn次元ベクトルで表される場合、シグネチャAとシグネチャBとの間の距離dは以下を満たす：
d＝（A1−B1）2＋（A2−B2）2＋…＋（An−Bn）2
【００６８】
システムは、直接画像における各画素を、ミラー画像の1つにおける画素に最も類似した画素に関連付けるマッピングを保存する910。例えば、システムは、直接画像における画素の座標を、この画素が属するミラー画像における最も類似した画素の座標に関連付けるデータを保存することができる。
【００６９】
図10は、所与のマッピング位置における最終的な色を計算するための例示的な技術1000の流れ図である。便宜上、技術1000は、1つ以上の位置に配置された1つ以上のデータ処理装置のシステムによって実施されるとして説明される。例えば、適切にプログラムされたシェーディングモジュール、例えば、図1のシェーディングモジュール108は、技術1000を実施することができる。
【００７０】
システムは、材料製造システム、例えば、図1の材料製造システム104から物理的な材料を記述するデータを得る（ステップ1002）。このデータは、物理的な材料のCG表現上の特定の点における直接照明及び間接照明の影響の計算に使用されるデータを含む。システムは、様々な時点、例えば、物理的な材料のCG表現のシェーディングリクエストの受け取りに応答して、又はリクエストの受け取りの前にデータを得ることができる。物理的な材料によって、データは、物理的な材料の大きいサンプルの一連の各直接画像における各画素の座標を、物理的な材料の小さいサンプルの任意のミラー画像における最も類似した画素を特定するデータに関連付けるデータを含み得る。
【００７１】
システムは、レンダリングエンジン、例えば、図1のレンダリングエンジン106からシェーディングリクエストを受け取る（ステップ1004）。シェーディングリクエストは、シェーディングされるべき材料、シェーディングされるべきマッピング位置、即ち、画像の3次元モデルのUVマッピングにおける位置、該マッピング位置の視方向、及び該マッピング位置における光方向を特定する。
【００７２】
システムによって得られるデータが、物理的な材料の大きいサンプルの一連の各直接画像における各画素の座標を、物理的な材料の小さいサンプルの任意のミラー画像における最も類似した画素を特定するデータに関連付けるデータを含んでいた場合、システムは、リクエストで特定されたマッピング位置を、該データを用いて小さいサンプルのミラー画像における点に変換することができる。次いで、システムは、最終的な色の計算にこの位置を使用することができる。
【００７３】
システムは、物理的な材料を記述するデータを用いて、リクエストで特定されたマッピング位置における直接照明下の色を計算する（ステップ1006）。直接照明下の色を計算するための例示的な技術は、図11を参照して以下に説明される。
【００７４】
システムは、物理的な材料を記述するデータを用いてマッピング位置における間接照明下の色を計算する（ステップ1008）。間接照明下の色を計算する例示的な技術は、図12を参照して以下に説明される。
【００７５】
システムは、色を組み合わせてマッピング位置における最終的な色を得る（ステップ1010）。例えば、システムは、直接照明下の色に間接照明下の色を加えて最終的な色を得ることができる。
【００７６】
システムは、物理的な材料のCG表現のレンダリングに使用されるレンダリングエンジンに最終的な色を供給する（ステップ1012）。
【００７７】
図11Aは、所与のマッピング位置における直接照明の影響を決定するための例示的な技術1100の流れ図である。便宜上、技術1100は、1つ以上の位置に配置された1つ以上のデータ処理装置のシステムによって実施されるとして説明される。例えば、適切にプログラムされたシェーディングモジュール、例えば、図1のシェーディングモジュール108は、技術1100を実施することができる。
【００７８】
システムは、材料サンプルスキャナのミラーの角度によって画定された表面にボロノイ図を作成する1102。即ち、この表面の各点に対して、システムは、最も近いミラーを特定し、点からミラーまでの距離が、該点から該ミラーの中心までの距離によって画定される。同じ最も近いミラーを共有する全ての点がまとまって、ボロノイ図にゾーンを形成する。この表面は、例えば、図2A及び図2Bを参照して説明されるミラーの位置によって画定される楕円体の一部とすることができる。あるいは、この表面は、ミラーの角度によって画定される半球とすることができる。
【００７９】
図11Bは、例示的なボロノイ図1150を示している。例示的なボロノイ図1150は、材料サンプルスキャナのミラーの角度によって画定された半球上に作成された。ボロノイ図1150は、一連のミラーにおける同じ最も近いミラーを共有する全ての点をそれぞれ含む多数のゾーン、例えば、ゾーン1152及び1154を含む。
【００８０】
図11Aの説明に戻ると、システムは、水平角及び鉛直角によって表面にマッピングされる表を作成する1104。即ち、表中の各セルは、それぞれの角度幅及び高さを有する表面のそれぞれの領域を表す。例えば、表が1025×256の表である場合、表中の各セルは、0.35度の幅及び0.35度の高さを有するそれぞれの領域を表す。
【００８１】
表の各セルに対して、システムは、表面上のセルによって表される領域の中心を中心とする円を作成し1106、該円のボロノイ図のゾーンとの交点を特定する。システムは、円が、任意の方向でボロノイ図の少なくとも2つのゾーンに亘る最小限の半径を有する、即ち、任意の方向で円の中心を通るように引かれたどの線もこの円を出るまでにボロノイ図の2つ以上のゾーンを横断しなければならない各円を作成する。
【００８２】
システムは、表の各セルにデータを保存する1108。具体的には、各セルに、システムは1つ以上の対（位置、重み）を保存する。所与のセルの対（位置、重み）を特定するために、システムは、セルに対して、所定数Nのランダムな点を円の中にランダムに配置する。例えば、Nは、200、500、1000、又は2500とすることができる。各点に対して、システムは、最も近いミラーを決定し、各ミラーに対して、いくつの点が、その点の最も近いミラーとしてそのミラーを有するかを決定する。次いで、システムは、各ミラーに対してそれぞれの対（位置、重み）を保存し、位置の値はミラーを特定し、重みは、最も近いミラーとしてそのミラーを有する点の数をランダムな点の総数Nで除して求められる。次いで、システムは、表の対応するセルにおける各対（位置、重み）を保存する。
【００８３】
システムは、シェーディングされる材料、シェーディングされるマッピング位置、即ち、画像の3次元モデルのUVマッピングにおける位置、該マッピング位置の視方向、及び該マッピング位置における光方向を特定するデータを受け取る1110。
【００８４】
システムは、視方向及び光方向が表のセルに位置するようにこれらの視方向及び光方向を変更する1112。例えば、方向が、［-1、1］の範囲を有する（x、y、z）としてシステムに与えられる場合、該システムは、次のようにx座標及びy座標を変更することができる：該システムは、x座標及びy座標のそれぞれに1を加えてこれらの範囲を［0、2］に変更し、次いで、x座標及びy座標のそれぞれを2で除して［0、1］の範囲にすることができる。次いで、システムは、x及びyに表の幅、即ち、表の列の数を乗じて［0、幅］の範囲に変更することができる。
【００８５】
システムは、視方向及び光方向を用いて表におけるセルを特定する1114。即ち、システムは、視方向を用いて第1のセルを特定し、そして光方向を用いて第2のセルを特定する。システムは、x座標をセルの列インデックスとして用い、かつy座標をセルの行インデックスとして用いることによって一連の座標からセルを特定することができる。
【００８６】
システムは、表の特定されたセルに保存された内容を用いて寄与するパレット画像及び寄与する各画像のそれぞれの重みを特定する1116。即ち、特定された各セルは、1つ以上の対（位置、重み）を保存する。システムは、可能な各対（位置1、位置2）を計算し、位置1は、視方向を用いて特定されたセルに保存された位置の1つであり、位置2は、光方向によって特定されたセルに保存された位置の1つである。各対（位置1、位置2）に対して、システムは、位置1と対をなす重みに位置2と対をなす重みを乗じて重みを求める。次いで、システムは、対（位置1、位置2）に一致する値を有する対（光、カメラ）によって特定されたパレット画像に各対（位置1、位置2）をマッピングし、対（位置1、位置2）の重みをパレット画像の重みとして使用する。
【００８７】
システムは、寄与する各パレット画像から画素を選択する1118。システムは、レンダリングエンジンから受け取ったUV座標を用いて、即ち、受け取ったUV座標を画像位置に変換して寄与する各画像のその位置にある画素を選択することによって、各画像から画素を選択することができる。
【００８８】
システムは、寄与する各画像の重みに基づいてマッピング位置における直接照明下の色を決定する1120。即ち、システムは、各画素の色に、対応する画像の重みを乗じ、次いで、重み付けされた色を合計してその位置における直接照明下の色を決定する。
【００８９】
図12は、所与のマッピング位置における間接照明の影響を決定するための例示的な技術1200の流れ図である。便宜上、技術1200は、1つ以上の位置に配置された1つ以上のデータ処理装置のシステムによって実施されるとして説明される。例えば、適切にプログラムされたシェーディングモジュール、例えば、図1のシェーディングモジュール108は、技術1200を実施することができる。
【００９０】
システムは、材料サンプルスキャナから得られた半球の各要素の中心を特定するデータにアクセスする1202。即ち、システムは、UVマッピングにおける位置及びリクエストで指定された光方向によって特定される画素及び領域画像に対応するK×Mの表にアクセスする。言い換えれば、システムは、リクエストで指定された光方向に対応する領域画像を特定し、UVマッピングにおける位置に対応する特定された画像における画素を特定し、特定された画素に対応するK×Mの表にアクセスする。
【００９１】
システムは、2つの乱数を作成する1204。乱数は、非整数であり、第1の数は、0〜Kの範囲から選択され、第2の数は、0〜Mの範囲から選択される。
【００９２】
システムは、2つの乱数を用いて表にインデックス付けし1206、数字の対に隣接した4つの表のセルを特定する。例えば、第1の数が2.4で、第2の数が3.6である場合、数字の対に隣接した4つのセルは、インデックス［2、3］、［2、4］、［3、3］、及び［3、4］を有するセルとなる。
【００９３】
システムは、数字の対に隣接した表のセルに保存された位置を特定する1208。
【００９４】
システムは、双線形補間を用いて位置を混合して最終的な位置を求め1210、次いで、光線をマッピング位置から、最終的な位置によって決定された方向にトレースして光線の色を決定する1212。光線の色を決定するために、システムは、光線の方向を特定するレンダリングエンジンにリクエストを供給することができ、該レンダリングエンジンは、その方向における光線のトレースから得られた色を戻すことができる。
【００９５】
一部の実施では、システムは、ステップ1204〜1212を何回も繰り返して多数の色を得ることができる。次いで、システムは、各光線の放射によって生成される色を平均して、マッピング位置における最終的な色を決定することができる。
【００９６】
本明細書で説明される主題の実施態様及び動作は、デジタル電子回路で実施しても良いし、又は本明細書に開示される構造及びその構造的等価物、又はこれらの1つ以上の組み合わせを含むコンピュータソフトウェア、ファームウェア、又はハードウェアで実施しても良い。本明細書で説明される主題の実施態様は、データ処理装置による実施のため、又はデータ処理装置の動作の制御のために、コンピュータ記憶媒体に符号化された1つ以上のコンピュータプログラムとして、即ち、コンピュータプログラム命令の1つ以上のモジュールとして実施することができる。あるいは、又はこれに加えて、プログラム命令は、データ処理装置による実行のために適切な受信装置に送信される情報を符号化するように生成される、人工的に生成される伝搬信号、例えば、機械生成電気信号、光学信号、又は電磁信号に符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶装置、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくは装置、又はこれらの1つ以上の組み合わせとしても良いし、又はこれらに含めても良い。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成される伝搬信号に符号化されるコンピュータプログラム命令のソース又はデスティネーションとすることができる。コンピュータ記憶媒体は、1つ以上の別個の物理的な構成要素もしくは媒体としても良いし、又はこれらに含めても良い。
【００９７】
本明細書で説明される動作は、1つ以上のコンピュータ可読記憶装置に保存されたデータ又は他のソースから受け取るデータに対してデータ処理装置によって実施される動作として実施することができる。「データ処理装置」という語は、データを処理するためのあらゆる種類の装置、デバイス、及び機械を含み、例として、プログラム可能なプロセッサ、コンピュータ、チップ上のシステム、複数のこれら、又はこれらの組み合わせを含む。データ処理装置は、ハードウェアに加えて、該当するコンピュータプログラムの実行環境を整えるコード、例えば、プロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、又はこれらの1つ以上の組み合わせも含み得る。データ処理装置及び実行環境は、様々な異なるコンピューティングモデルインフラストラクチャー、例えば、ウェブサービス、分散コンピューティング、及びグリッドコンピューティングインフラストラクチャーを実現し得る。
【００９８】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られている）は、コンパイラ型もしくはインタープリタ型言語、宣言型もしくは手続型言語を含む任意の形式のプログラミング言語で記述することができ、例えば、スタンドアロン型プログラムとして、又はモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境での使用に適した他のユニットとして、任意の形式で配置することができる。コンピュータプログラムは、必ずしも必要ではないが、ファイルシステムのファイルに対応させることができる。プログラムは、該当するプログラム専用の1つのファイル、又は複数の連携ファイル（coordinated files）、例えば、1つ以上のモジュール、サブプログラム、コードの一部分を保存するファイルに他のプログラム又はデータ、例えば、マークアップ言語ドキュメントで保存された1つ以上のスクリプトを保持するファイルの一部に保存することができる。コンピュータプログラムは、1つのコンピュータで、又は1つのサイトに配置されたもしくは複数のサイトに分散された、通信ネットワークで相互接続された複数のコンピュータで実行するように配置することができる。
【００９９】
本明細書で説明されるプロセス及び論理の流れは、1つ以上のコンピュータプログラムを実行して入力データを処理して出力を生成することによって動作を実行する、1つ以上のプログラム可能なプロセッサによって実施することができる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用及び専用マイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリ、ランダムアクセスメモリ、又はこれらの両方から命令及びデータを受け取る。コンピュータの必須要素は、命令に従って動作を実行するプロセッサ、並びに命令及びデータを保存するための1つ以上のメモリ装置である。一般に、コンピュータはまた、データを保存するための1つ以上の大容量記憶装置を含むか、又は、該1つ以上の大容量記憶装置からデータを受け取る、若しくは該1つ以上の大容量記憶装置にデータを転送する、若しくはこれらの両方のために、該1つ以上の大容量記憶装置に機能的に接続される。しかしながら、コンピュータは、必ずしもこのような装置を備える必要はない。さらに、コンピュータは、別の装置、例えば、一部の例を挙げると、携帯電話、スマートフォン、携帯型オーディオ又はビデオプレイヤー、ゲーム機、グローバルポジショニングシステム（GPS）受信機、及びウェアラブルコンピュータ装置に組み入れることができる。コンピュータプログラム命令及びデータを保存するのに適した装置は、全ての形式の不揮発性メモリ、メディア、及びメモリ装置を含み、例として、半導体メモリ装置及び磁気ディスクなどが挙げられる。プロセッサ及びメモリは、専用の論理回路によって補完しても良いし、又は専用の論理回路に組み入れても良い。
【０１００】
使用者との対話を可能にするために、本明細書で説明される主題の実施態様は、使用者に情報を表示するための表示装置、キーボード、及びポインティングディバイス、例えば、使用者がコンピュータに入力することができるマウス又はトラックボールを有するコンピュータ上で実施することができる。他の種類の装置を使用して使用者との対話を可能にすることもできる；例えば、使用者へのフィードバックは、任意の形式の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックとすることができる；そして使用者による入力は、音響、音声、又は触覚の入力及び出力を含む任意の形式で受け取ることができる。
【０１０１】
本明細書は、多数の具体的な実施の詳細を含むが、これらは、あらゆる発明の範囲又は請求できる範囲を限定すると解釈されるべきものではなく、むしろ、特定の発明の特定の実施態様に特有の特徴の説明と解釈されるべきである。別個の実施態様の文脈における本明細書で説明される特定の特徴は、単一の実施態様で組み合わせて実施することもできる。逆に、単一の実施態様の文脈で説明される様々な特徴は、複数の実施態様で別個に、又は任意の適切な部分的な組み合わせで実施することもできる。さらに、特徴は、特定の組み合わせで役割を果たすとして上記のように説明することができ、さらにはこのようなものとして最初に請求することもできるが、請求される組み合わせの1つ以上の特徴は、場合によっては、組み合わせから削除することができ、かつ請求される組み合わせは、部分的な組み合わせ又は部分的な組み合わせの変形を対象にすることができる。
【０１０２】
同様に、動作は、図面に特定の順序で示されているが、これは、所望の結果を得るために、このような動作を図示されている特定の順序又は連続的な順序で行う、又は例示されている全ての動作を行う必要があると解釈されるべきではない。特定の状況では、マルチタスク又は並行処理が有利であり得る。さらに、上記説明された実施態様の様々なシステムの構成要素の分離は、全ての実施態様でこのような分離を必要とすると解釈されるべきではなく、説明されたプログラムの構成要素及びシステムは、一般に、単一ソフトウェア製品に統合しても良いし、又は多数のソフトウェア製品にパッケージングしても良いことを理解されたい。
【０１０３】
従って、主題の特定の実施態様が既に説明された。他の実施態様も、以下の特許請求の範囲内である。場合によっては、特許請求の範囲で述べられる動作は、異なる順序で行ってもなお所望の結果を得ることができる。加えて、添付の図面に示されるプロセスは、所望の結果を得るために、必ずしも図示されている特定の順序又は連続的な順序を要求するものではない。特定の実施では、マルチタスク及び並行処理は有利であり得る。
【図１】
2015219918.tif 000003
【図２Ａ】
2015219918.tif 000004
【図２Ｂ】
2015219918.tif 000005
【図３】
2015219918.tif 000006
【図４】
2015219918.tif 000007
【図５】
2015219918.tif 000008
【図６】
2015219918.tif 000009
【図７】
2015219918.tif 000010
【図８】
2015219918.tif 000011
【図９】
2015219918.tif 000012
【図１０】
2015219918.tif 000013
【図１１Ａ】
2015219918.tif 000014
【図１１Ｂ】
2015219918.tif 000015
【図１２】
2015219918.tif 000016
【外国語明細書】
2015219918000001.pdf