(57)【要約】      （修正有）【課題】適切なシミュレーション結果を得る。【解決手段】仮想装置を利用して、照明部により照明された携帯端末を撮像する撮像部の各ピクセルのピクセル値を決定する際に、レンダリングにより、１つのピクセル内の複数点におけるピクセル値を算出し（Ｓ１０）、算出された複数点のピクセル値に基づいて１つのピクセルのピクセル値を決定する（Ｓ１２）。これにより、携帯端末表面に傷などの微細構造が存在するような場合であっても、現実装置で得られるピクセル値と近似するピクセル値を得ることができる。【選択図】図４
2015056048.tif 000002
【特許請求の範囲】
【請求項１】
対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置を生成する工程と、
前記仮想装置を利用して、前記照明部により照明された前記対象物を撮像する前記撮像部の各ピクセルのピクセル値を決定する工程と、をコンピュータが実行し、
前記決定する工程は、前記撮像部の１つのピクセルのピクセル値を決定する際に、レンダリングにより、該１つのピクセル内の複数点のピクセル値を算出し、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理を含むことを特徴とするシミュレーション方法。
【請求項２】
前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理では、前記１つのピクセル内の複数点におけるピクセル値を平均化することを特徴とする請求項１に記載のシミュレーション方法。
【請求項３】
前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理では、
前記仮想装置において、前記撮像部の縦方向に関する解像度をｎ倍（ｎは整数）及び横方向に関する解像度をｍ倍（ｍは整数）してレンダリングを行い、前記レンダリングにより得られた画像の縦方向に関する解像度を１／ｎ倍、横方向に関する解像度を１／ｍ倍した画像を用いて、前記１つのピクセルのピクセル値を決定することを特徴とする請求項１又は２に記載のシミュレーション方法。
【請求項４】
前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理では、
前記仮想装置において、前記撮像部を１ピクセルの寸法範囲内で移動させつつ、前記撮像部の各ピクセルの所定点におけるピクセル値を複数回算出し、
複数回算出した前記撮像部の各ピクセルの所定点におけるピクセル値に基づいて、前記撮像部の各ピクセルのピクセル値を決定することを特徴とする請求項１又は２に記載のシミュレーション方法。
【請求項５】
前記対象物のうち、前記照明部に照明される部分の形状変化に関する情報を取得する工程と、
前記形状変化に関する情報に基づいて、特定の形状変化を示す前記対象物の一部を特定する工程と、を前記コンピュータが更に実行し、
前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理は、前記特定する工程で特定された前記対象物の一部を撮像するピクセルのピクセル値を決定する際に実行することを特徴とする請求項１〜４のいずれか一項に記載のシミュレーション方法。
【請求項６】
対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置を生成し、
前記仮想装置を利用して、前記照明部により照明された前記対象物を撮像する前記撮像部の各ピクセルのピクセル値を決定する、処理をコンピュータに実行させ、
前記決定する処理は、前記撮像部の１つのピクセルのピクセル値を決定する際に、レンダリングにより、該１つのピクセル内の複数点のピクセル値を算出し、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理を含むことを特徴とするシミュレーションプログラム。
【請求項７】
対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置を生成する生成部と、
前記仮想装置を利用して、前記照明部により照明された前記対象物を撮像する前記撮像部の各ピクセルのピクセル値を決定する決定部と、を備え、
前記決定部は、前記撮像部の１つのピクセルのピクセル値を決定する際に、レンダリングにより、該１つのピクセル内の複数点のピクセル値を算出し、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定することを特徴とするシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション方法、シミュレーションプログラム及びシミュレーション装置に関する。
【背景技術】
【０００２】
検査装置や組立装置などの生産設備を仮想化できると、その仮想化した装置で装置運用に関するシミュレーションなどを行うことができるため、現実の装置の運用を効率化できるなどの利点がある。
【０００３】
ここで、仮想化の対象装置がカメラを有している場合には、カメラのシミュレーションも行う必要がある。また、仮想化の対象装置の光学系によっては、照明や物体の映り込みを含めてカメラシミュレーションしなければならないことがある。例えば、パターンを有する照明を被験体表面に写し込み、その写り込んだパターンの歪具合を見ることで被験体の表面状態の異常を検出する検査装置を仮想化した場合などである。
【０００４】
このような映り込みをカメラシミュレーション（レンダリング）する手法として、環境マッピング法やレイトレーシング、フォトンマッピングなどが知られている。例えば、環境マッピング法の場合、映り込む物体の周囲に擬似的背景を予めテクスチャーとして用意し、カメラの特定画素（ピクセル）から光線が出射した場合に被検体表面で反射して擬似的背景のどこに当たるかを判定し、カメラ画像のピクセル値を決定する。
【０００５】
なお、特許文献１には、仮想カメラに関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−２０７５４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
通常、仮想化の対象装置が有するカメラの画素数（横方向×縦方向）がＭ×Ｎであれば、Ｍ×Ｎのピクセル数だけ上述したレンダリングを行う。すなわち、カメラの画像の１ピクセルに対して１つの代表点（例えばピクセル中心）を定め、該代表点から光線が出射した場合に被検体表面で反射して擬似背景のどこにあたるかを判定し、そのピクセルのピクセル値を決定している。
【０００８】
しかしながら、実際のカメラの場合、１ピクセルの輝度値（ピクセル値）はイメージセンサの１ピクセル内に入ってきた全光量が平均化された値である。このため、上記のように、ピクセル値算出を１ピクセルの代表点のみで行うこととすると、現実装置で得られるピクセル値とは異なるシミュレーション結果が得られるおそれがある。
【０００９】
１つの側面では、本発明は、仮想装置を利用した適切なシミュレーション結果を得ることが可能なシミュレーション方法、シミュレーションプログラム及びシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
一つの態様では、シミュレーション方法は、対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置を生成する工程と、前記仮想装置を利用して、前記照明部により照明された前記対象物を撮像する前記撮像部の各ピクセルのピクセル値を決定する工程と、をコンピュータが実行し、前記決定する工程は、前記撮像部の１つのピクセルのピクセル値を決定する際に、レンダリングにより、該１つのピクセル内の複数点のピクセル値を算出し、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理を含んでいるシミュレーション方法である。
【００１１】
一つの態様では、シミュレーションプログラムは、対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置を生成し、前記仮想装置を利用して、前記照明部により照明された前記対象物を撮像する前記撮像部の各ピクセルのピクセル値を決定する、処理をコンピュータに実行させ、前記決定する処理は、前記撮像部の１つのピクセルのピクセル値を決定する際に、レンダリングにより、該１つのピクセル内の複数点のピクセル値を算出し、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理を含むプログラムである。
【００１２】
一つの態様では、シミュレーション装置は、対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置を生成する生成部と、前記仮想装置を利用して、前記照明部により照明された前記対象物を撮像する前記撮像部の各ピクセルのピクセル値を決定する決定部と、を備え、前記決定部は、前記撮像部の１つのピクセルのピクセル値を決定する際に、レンダリングにより、該１つのピクセル内の複数点のピクセル値を算出し、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定するシミュレーション装置である。
【発明の効果】
【００１３】
適切なシミュレーション結果を得ることができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係るシミュレーションシステムの構成を概略的に示す図である。
【図２】仮想装置を模式的に示す斜視図である。
【図３】図３（ａ）は、現実装置を図２の矢印Ａ方向から見た状態を模式的に示す図であり、図３（ｂ）は、携帯端末表面に微細構造が存在する場合を模式的に示す図である。
【図４】第１の実施形態における計算部の処理を示すフローチャートである。
【図５】仮想装置の撮像部において得られる画像を示す図である。
【図６】図６（ａ）、図６（ｂ）は、図４の処理を説明するための図（その１）である。
【図７】図７（ａ）、図７（ｂ）は、図４の処理を説明するための図（その２）である。
【図８】第２の実施形態の概要を説明するための図である。
【図９】第２の実施形態における計算部の処理を示すフローチャートである。
【図１０】図１０（ａ）、図１０（ｂ）は、図９の処理を説明するための図（その１）である。
【図１１】図１１（ａ）、図１１（ｂ）は、図９の処理を説明するための図（その２）である。
【図１２】図１２（ａ）、図１２（ｂ）は、図９の処理を説明するための図（その３）である。
【図１３】第３の実施形態における計算部の処理を示すフローチャート（その１）である。
【図１４】第３の実施形態における計算部の処理を示すフローチャート（その２）である。
【図１５】図１５（ａ）は、法線マップを示す図であり、図１５（ｂ）は、形状変化度マップＸ（２値化後）を示す図であり、図１５（ｃ）は、形状変化度マップＹ（２値化後）を示す図である。
【図１６】図１６（ａ）は、矩形領域Ｌｘを示す図であり、図１６（ｂ）は、矩形領域Ｌｙを示す図であり、図１６（ｃ）は、矩形領域Ｌｘｙを示す図である。
【図１７】図１４のステップＳ４４〜Ｓ５６を説明するための図である。
【図１８】第４の実施形態における計算部の処理を示すフローチャートである。
【図１９】図１９（ａ）は、図１８のステップＳ６６の処理を説明するための図であり、図１９（ｂ）は、図１８のステップＳ７０の処理を説明するための図であり、図１９（ｃ）は、図１８のステップＳ７４の処理を説明するための図である。
【発明を実施するための形態】
【００１５】
≪第１の実施形態≫
以下、シミュレーションシステムの第１の実施形態について、図１〜図７に基づいて詳細に説明する。図１は、シミュレーションシステム１００の一例を示した図である。
【００１６】
図１に示すように、シミュレーションシステム１００は、現実装置１０と、情報処理装置２０と、を備える。
【００１７】
現実装置１０は、対象物と、対象物に作用して外部から検出可能な変化を与える作用要素を発生させる発生源と、設定した検出範囲内で作用要素による変化を検出可能な検出部とを含む。本第１の実施形態では、現実装置１０は、携帯端末の検査装置であるものとし、発生源は、携帯端末を照明する照明部であり、検出部は、照明部により照明された携帯端末を撮像する撮像部（イメージセンサ）であるものとする。
【００１８】
情報処理装置２０は、記憶部２１と、計算部２２と、を有する。記憶部２１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、及び、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリなどの不揮発性記憶装置を有していてもよい。計算部２２は、ＣＰＵ（Central Processing Unit）又はＤＳＰ（Digital Signal Processor）などのプロセッサであってもよい。計算部２２は、ＡＳＩＣ（Application Specific Integrated Circuit）又はＦＰＧＡ（Field Programmable Gate Array）などのプロセッサ以外の電子回路であってもよい。計算部２２は、例えば、記憶部２１又は他のメモリに記憶されたプログラムを実行する。
【００１９】
記憶部２１は、現実装置１０の３次元情報を記憶する。例えば、記憶部２１は、対象物（携帯端末）、対象物を設置する設置機構、検出部（撮像部）、及び発生源（照明部）の位置・姿勢・形状などを示す３次元ＣＡＤ（computer aided design）データを３次元情報として記憶する。計算部２２は、３次元情報に基づいて現実装置１０を仮想空間内に再現した仮想装置２３を生成する。
【００２０】
より具体的には、計算部２２は、現実装置１０に含まれる携帯端末を仮想空間内に再現した携帯端末３０を生成する。また、計算部２２は、現実装置１０に含まれる撮像部を仮想空間内に再現した撮像部２４を生成する。さらに、計算部２２は、現実装置１０に含まれる照明部を仮想空間内に再現した照明部２５（図１では不図示、図２参照）を生成する。その他、計算部２２は、仮想空間内に対象物を設置するための設置機構なども生成する。このようにして、計算部２２は、３次元ＣＡＤデータなどの３次元情報を利用することで仮想空間内に現実装置１０を再現する。
【００２１】
本第１の実施形態では、上述したように、３次元情報を利用して現実装置１０を再現しているため、計算部２２は、現実装置１０の動作と同じ動作を仮想装置２３で再現することができる。
【００２２】
例えば、仮想装置２３においては、図２に示すような明暗の繰り返しパターンが描画されたスクリーンを有する照明部２５を携帯端末３０の表面に写し込み、その写り込んだパターンの歪具合を見ることで携帯端末の表面状態の異常を検出する動作を再現することができる。
【００２３】
このような映り込みをカメラシミュレーション（レンダリング）する場合、一例として、環境マッピング法を用いることができる。この環境マッピング法においては、図２に示すように、撮像部２４の特定画素（ピクセル）から光線が出射した場合に携帯端末３０表面で反射してスクリーンのどこに当たるかを判定し、撮像画像のピクセル値を決定する手法が採られている。
【００２４】
図３（ａ）は、現実装置を図２の矢印Ａ方向から見た状態を模式的に示す図である。図３（ａ）の波形はスクリーン上の明暗のレベル（０階調（暗い）〜２５５階調（明るい））を示している。現実装置１０の撮像部では、画像の１ピクセルの輝度値は、撮像部（センサ面）の１つのピクセル内に入ってきた全光量が平均化された値となる（センサ面拡大図参照）。一方、仮想装置２３では、ピクセルの代表点（例えば中心点）のピクセル値を計算することが一般的であるが、そのような計算を行っても、携帯端末３０の表面が平坦であれば、現実装置１０におけるピクセル値と仮想装置２３で計算されたピクセル値との間の差異はほとんどないと考えられる。
【００２５】
一方、図３（ｂ）のように携帯端末表面に曲面形状（傷などの微細構造や端末自身がもつ曲面）が存在する場合、スクリーン上の広い範囲からの光が１つのピクセルに入射することがある。この場合、現実装置の撮像部では、画像の１ピクセルの輝度値は、スクリーンの広い範囲の明るさを平均したものになる（図３（ｂ）の場合、明暗が平均化された１２８階調付近の値となる）。これに対し、仮想装置２３において、上述のようにピクセルの代表点のピクセル値を計算することとすると、撮像部２４の微小な位置変化によって、ピクセル値が変化し、現実装置１０におけるピクセル値と仮想装置２３で計算されたピクセル値との間に差異が生じるおそれがある。
【００２６】
そこで、本第１の実施形態では、撮像画像のピクセル値を決定する処理として、図４のフローチャートに沿った処理を実行する。以下、図４の処理について、その他図面を適宜参照しつつ説明する。
【００２７】
なお、現実装置１０の撮像部の解像度、すなわち仮想装置２３の撮像部に必要な縦解像度をＮ、横解像度をＭとする。この場合、仮想装置２３の撮像部２４では、図５に示すような画像が得られる。
【００２８】
図４の処理では、まず、ステップＳ１０において、計算部２２は、図６（ａ）に示す縦サイズｎ×Ｎ、横サイズｍ×Ｍの画像Ｓ’を生成し、環境マッピング法を用いてレンダリング（カメラシミュレーション）を実行する。すなわち、ステップＳ１０においては、仮想装置２３の撮像部２４の画角を現実装置の撮像部に合わせたまま縦解像度をｎ×Ｎ、横解像度をｍ×Ｍとして、環境マッピングによるレンダリングを行っているともいえる。なお、本第１の実施形態では、一例として、ｎ＝３、ｍ＝３であるものとする。
【００２９】
次いで、ステップＳ１２では、計算部２２は、図６（ａ）の画像Ｓ’を縦１／ｎ倍、横１／ｍ倍に縮小して、図６（ｂ）に示すような画像Ｓ”を生成する。すなわち、（ｎ×Ｎ）×（ｍ×Ｍ）の解像度の画像Ｓ’をＮ×Ｍの解像度の画像Ｓ”にするためのスケーリング処理を行う。スケーリング処理においては、一例として、平均画素法や線形補間処理を用いるものとする。
【００３０】
なお、本第１の実施形態では、ｎ＝３、ｍ＝３とすると、計算部２２は、図７（ａ）に示すように、各ピクセル内の９点においてピクセル値を求め（Ｓ１０）、その後に図７（ｂ）に示すように、各ピクセル内の９点のピクセル値に基づいて（平均化等して）各ピクセルのピクセル値を求めている（Ｓ１２）ともいえる。
【００３１】
本第１の実施形態では、上記のようにして算出された各ピクセルのピクセル値を現実装置１０にフィードバックすることで、現実装置１０における教示作業や、現実装置１０の運用を効率化することができる。
【００３２】
なお、これまでの説明から分かるように、計算部２２により、現実装置１０を仮想空間内に再現した仮想装置２３を生成する生成部、及び、仮想装置を利用して、照明部により照明された対象物（携帯端末）を撮像する撮像部の各ピクセルのピクセル値を決定する決定部と、しての機能が実現されている。
【００３３】
以上、詳細に説明したように、本第１の実施形態によると、仮想装置２３を利用して、照明部により照明された携帯端末を撮像する撮像部の各ピクセルのピクセル値を決定する際に、レンダリングにより、該１つのピクセル内の複数点におけるピクセル値を算出し（Ｓ１０、図７（ａ））、算出された複数点のピクセル値に基づいて１つのピクセルのピクセル値を決定する（Ｓ１２、図７（ｂ））。これにより、図３（ｂ）のように、携帯端末表面に傷などの微細構造が存在するような場合であっても、現実装置１０で得られるピクセル値と近い値をピクセル値（シミュレーション結果）として得ることができる。これにより、仮想装置２３を用いた適切なシミュレーション結果を得ることが可能となる。
【００３４】
また、本第１の実施形態では、複数点のピクセル値に基づいて１つのピクセルのピクセル値を決定する場合に、１つのピクセル内の複数点におけるピクセル値を平均化する。これにより、現実装置１０における処理（画像の１ピクセルの輝度値を、撮像部の１つのピクセル内に入ってきた全光量を平均して求める）を考慮した適切なシミュレーション結果を得ることができる。
【００３５】
また、本第１の実施形態では、複数点のピクセル値に基づいて１つのピクセルのピクセル値を決定する場合に、撮像部２４の縦方向に関する解像度をｎ倍（ｎは整数）及び横方向に関する解像度をｍ倍（ｍは整数）してレンダリングを行い、レンダリングにより得られた画像Ｓ’の縦方向に関する解像度を１／ｎ倍、横方向に関する解像度を１／ｍ倍した画像Ｓ”を用いて、１つのピクセルのピクセル値を決定する。これにより、簡易な計算で、適切なシミュレーション結果を得ることができる。
【００３６】
≪第２の実施形態≫
次に、第２の実施形態について、図８〜図１１に基づいて詳細に説明する。本第２の実施形態では、図８に示すように、仮想装置２３の撮像部２４を矢印Ａ方向及び矢印Ｂ方向に移動させつつ、環境マッピング法を用いたレンダリング（カメラシミュレーション）を行う。
【００３７】
具体的には、図９のフローチャートに沿った処理が行われる。
【００３８】
図９の処理では、まず、ステップＳ２０において、計算部２２は、仮想装置２３の撮像部２４の位置を正規位置から１ピクセル以下の範囲内で縦（Ｘ）、横（Ｙ）あるいは両方向に変更する。例えば、図１０（ａ）に示すように、各ピクセルの中心位置を代表点とすると、図１０（ｂ）に示すように、代表点が丸数字「５」番の位置に存在する正規位置から、図１１（ａ）に示すように、代表点が丸数字「１」番の位置に存在する位置となるように、撮像部２４を移動させる。
【００３９】
次いで、ステップＳ２２では、計算部２２は、縦サイズＮ、横サイズＭの画像Ｓ（図５のような画像）を環境マッピングでレンダリングして記憶部２１に保存する。すなわち、計算部２２は、撮像部２４の各ピクセルの所定点（代表点）におけるピクセル値を取得し、記憶部２１に保存する。
【００４０】
次いで、ステップＳ２４では、計算部２２は、全移動が終了したか否かを判断する。なお、「全移動が終了する」とは、本実施形態では代表点が丸数字「１」番〜「９」番の全てに位置した場合を意味する。ここでの判断が否定された場合には、計算部２２は、ステップＳ２０に戻り、図１１（ｂ）に示すように、各ピクセルの代表点が丸数字「２」の位置に位置するように、撮像部２４を移動させる。そして、ステップＳ２２では、計算部２２は、縦サイズＮ、横サイズＭの画像Ｓを環境マッピングでレンダリングして記憶部２１に保存する。
【００４１】
以降は、図１２（ａ）や図１２（ｂ）に示すように、各ピクセルの代表点の位置を変更しつつ、レンダリングを繰り返す。そして、ステップＳ２４の判断が肯定された場合には、ステップＳ２６に移行する。
【００４２】
ステップＳ２６に移行した場合、計算部２２は、保存した全画像Ｓを同一画素で平均して新たな画像を生成する。この場合の新たな画像の生成処理においては、平均画素法や、各回の撮像部の移動量を考慮した線形補間処理を用いることができる。
【００４３】
本第２の実施形態では、上記処理を行うことで、撮像部２４を１ピクセルの寸法範囲内で移動させつつ、撮像部２４の各ピクセルの所定点（代表点）におけるピクセル値を複数回算出し、複数回算出した撮像部２４の各ピクセルの所定点におけるピクセル値に基づいて（平均化等して）、撮像部２４の各ピクセルのピクセル値を決定しているといえる。
【００４４】
以上、説明したように、本第２の実施形態によると、仮想装置２３において、撮像部２４を１ピクセルの寸法範囲内Ｘ，Ｙ方向に移動させつつ、撮像部２４の各ピクセルの所定点（代表点）におけるピクセル値を複数回算出し、複数回算出した撮像部２４の各ピクセルの所定点におけるピクセル値に基づいて、前記撮像部の各ピクセルのピクセル値を決定する。これにより、本第２の実施形態では、結果的に、第１の実施形態と同様の処理が行われることから、第１の実施形態と同様、適切なシミュレーション結果を得ることができる。
【００４５】
なお、上記第２の実施形態では、代表点として、１ピクセルの中心を用いる場合について説明したが、これに限らず、代表点としては、１ピクセル内の任意の点を採用することができる。また、上記第２の実施形態では、レンダリングを９回行う場合について説明したが、これに限らず、レンダリングの回数は２以上の任意の回数とすることができる。
【００４６】
≪第３の実施形態≫
次に、第３の実施形態に係るシミュレーションシステムについて図１３〜図１７に基づいて、説明する。本第３の実施形態は、第１の実施形態で説明した処理の計算量を減らすことを目的としている。
【００４７】
図１３、図１４は、本第３の実施形態における計算部２２の処理を示すフローチャートである。
【００４８】
図１３、図１４の処理では、まず、ステップＳ３０において、計算部２２は、縦サイズＮ、横サイズＭの画像Ｓ（図５参照）を環境マッピングでレンダリングする。また、これと同時に、記憶部２１に記憶されている携帯端末３０のＣＡＤデータに基づいて、携帯端末３０表面の法線マップを作成する。法線マップは、図１５（ａ）のような携帯端末３０表面の各ピクセル中心に対応する位置の法線の向きを示すマップである。法線マップには、複数の縦方向位置（Ｘ位置）に対応する横方向（Ｙ方向）に関する法線マップと、複数の横方向位置（Ｙ位置）に対応する縦方向（Ｘ方向）に関する法線マップと、が含まれる。
【００４９】
次いで、ステップＳ３２では、計算部２２が、法線マップから形状変化度マップＸと形状変化度マップＹを作成する。形状変化度マップＸ，Ｙは携帯端末３０の形状変化の度合いを、２次元的に示したマップである。形状変化度マップＸは、Ｘ方向の形状変化が大きい（Ｘ方向に隣接するピクセル中心それぞれに対応する携帯端末３０表面の法線の傾き変化Δｎが大きい）領域を示すマップである。また、形状変化度マップＹは、Ｙ方向の形状変化が大きい（Ｙ方向に隣接するピクセル中心それぞれに対応する携帯端末３０表面の法線の傾き変化Δｎが大きい）領域を示すマップである。
【００５０】
次いで、ステップＳ３４では、計算部２２が、形状変化度マップ毎に形状変化が所定の閾値よりも大きい画素と小さい画素に分けて２値化する。図１５（ｂ）には、２値化後の形状変化度マップＸの一例が示され、図１５（ｃ）には、２値化後の形状変化度マップＹの一例が示されている。なお、図１５（ａ）に示すように、法線の傾き変化Δｎが大きい領域には、傷などの微細構造が存在していると考えられる。
【００５１】
次いで、ステップＳ３６では、計算部２２が、２値化した形状変化度マップ毎にそれぞれ連結領域をラベリング処理する。次いで、ステップＳ３８では、計算部２２が、ラベリングした形状変化度マップＸの各ラベリング領域に外接する矩形領域Ｌｘを求める。この場合、図１６（ａ）に示す２つの領域が矩形領域Ｌｘとなる。
【００５２】
ステップＳ４０では、計算部２２が、ラベリングした形状変化度マップＹの各ラベリング領域に外接する矩形領域Ｌｙを求める。この場合、図１６（ｂ）に示す２つの領域が矩形領域Ｌｙとなる。
【００５３】
次いで、ステップＳ４２では、計算部２２が、矩形領域Ｌｘと矩形領域Ｌｙが重複している矩形領域Ｌｘｙを求める。この場合、図１６（ｃ）に示す１つの領域が矩形領域Ｌｘｙとなる。なお、本ステップＳ４２で矩形領域Ｌｘｙとなった領域は、矩形領域Ｌｘ、Ｌｙ（図１６（ａ）、図１６（ｂ））からは除外されるものとする。
【００５４】
次いで、図１４のステップＳ４４に移行すると、計算部２２は、図１７に符号（Ａ）で示すように、全ての矩形領域Ｌｘに対して縦方向の解像度のみをｎ倍して環境マッピングによるレンダリングを行い、画像Ｓｘを取得する。
【００５５】
次いで、ステップＳ４６では、計算部２２が、図１７に符号（Ｂ）で示すように、全ての矩形領域Ｌｙに対して横方向の解像度のみをｍ倍して環境マッピングによるレンダリングを行い、画像Ｓｙを取得する。
【００５６】
次いで、ステップＳ４８では、計算部２２が、図１７に符号（Ｃ）で示すように、全ての矩形領域Ｌｘｙに対して縦方向の解像度をｎ倍、横方向の解像度をｍ倍して環境マッピングによるレンダリングを行い、画像Ｓｘｙを取得する。
【００５７】
次いで、ステップＳ５０では、計算部２２が、図１７に符号（Ｄ）で示すように、全ての画像Ｓｘを縦方向のみ１／ｎ倍して画像Ｓｘ’を作成する（スケーリング処理）。
【００５８】
次いで、ステップＳ５２では、計算部２２が、図１７に符号（Ｅ）で示すように、全ての画像Ｓｙを横方向のみ１／ｍ倍して画像Ｓｙ’を作成する（スケーリング処理）。
【００５９】
更に、ステップＳ５４では、計算部２２が、図１７に符号（Ｆ）で示すように、全ての画像Ｓｘｙを縦方向を１／ｎ倍、横方向を１／ｍ倍して画像Ｓｘｙ’を作成する（スケーリング処理）。
【００６０】
そして、ステップＳ５６では、計算部２２が、図１７に符号（Ｇ）で示すように、ステップＳ３０でレンダリングされた画像Ｓに対して、画像Ｓｘ’、画像Ｓｙ’、画像Ｓｘｙ’を上書き合成して新たな画像Ｓ’を生成する。
【００６１】
以上のように、本第３の実施形態では、携帯端末３０の表面に傷などの微細構造がある箇所を含む部分を撮像するピクセルのピクセル値を決定する場合に、ピクセル内の複数点のピクセル値に基づいてピクセル値を決定するようになっている。
【００６２】
これまでの説明から分かるように、本第３の実施形態では、計算部２２により、対象物（携帯端末３０）のうち、照明部に照明される部分の形状変化に関する情報を取得する取得部、及び形状変化に関する情報に基づいて、特定の形状変化を示す対象物の一部（Δｎが大きい部分）を特定する特定部としての機能が実現されている。
【００６３】
以上説明したように、本第３の実施形態によると、計算部２２は、携帯端末３０のＣＡＤデータに基づいて、携帯端末３０表面において傷などの微細構造が存在する部分を特定し、特定された部分を撮像するピクセルのピクセル値を決定する際に、ピクセル内の複数点のピクセル値を平均化するようにしている。これにより、必要なピクセルにおいてのみピクセル内の複数点のピクセル値を平均化することとしているので、計算量を低減しつつ、第１の実施形態と同様の効果を得ることができる。
【００６４】
なお、上記第３の実施形態では、携帯端末３０表面の特定された部分を撮像するピクセルにおいて、第１の実施形態と同様の処理を行う場合について説明したが、これに限られるものではない。例えば、携帯端末３０表面の特定された部分を撮像するピクセルにおいて、第２の実施形態と同様の処理を行うこととしてもよい。これにより、計算量を低減しつつ、第２の実施形態と同様の効果を得ることができる。
【００６５】
なお、上記第３の実施形態では、形状変化度マップＸ，Ｙを２値化する場合について説明したが、これに限らず、閾値を複数用意することで、形状変化度マップＸ，Ｙを多値化することとしてもよい。この場合、レンダリングにおいては、形状変化の大きさに応じて、解像度（ピクセル内の複数点の数）を異ならせることとしてもよい。
【００６６】
≪第４の実施形態≫
次に、第４の実施形態に係るシミュレーションシステムについて図１８に基づいて、説明する。本第４の実施形態では、計算部２２は、１ピクセルごとに、該ピクセルにおいて撮像される携帯端末３０表面の一部が微細構造部分であるかを判断する。
【００６７】
なお、図１８の処理は、撮像部２４の全てのピクセル（ｘ，ｙ）を対象として繰り返し実行される処理である。
【００６８】
図１８の処理では、まず、ステップＳ６０において、計算部２２が、ピクセル（ｘ，ｙ)に対応する携帯端末３０表面の法線と隣接するピクセル（ｘ＋１，ｙ)に対応する携帯端末３０表面の法線との差ｎｄｘ(ｘ，ｙ)を計算する。なお、ピクセル（ｘ＋１，ｙ)が存在しない場合には、ピクセル（ｘ，ｙ）の周囲のピクセル、例えばピクセル（ｘ−１，ｙ)を代用することとしてもよい。
【００６９】
次いで、ステップＳ６２では、計算部２２が、ピクセル（ｘ，ｙ）に対応する携帯端末３０表面の法線とピクセル（ｘ＋１，ｙ）に対応する携帯端末３０表面の法線の差ｎｄｙ（ｘ，ｙ）を計算する。なお、ピクセル（ｘ＋１，ｙ)が存在しない場合には、ピクセル（ｘ，ｙ）の周囲のピクセル、例えばピクセル（ｘ−１，ｙ)を代用することとしてもよい。
【００７０】
次いで、ステップＳ６４では、計算部２２が、ｎｄｘ（ｘ，ｙ）＞Ｔｘ、かつｎｄｙ（ｘ，ｙ）＞Ｔｙであるか否かを判断する。なお、Ｔｘは、法線の縦方向（Ｘ方向）の変化に関する閾値を意味し、Ｔｙは、法線の横方向（Ｙ方向）の変化に関する閾値を意味する。ここでの判断が肯定された場合には、ステップＳ６６に移行する。
【００７１】
ステップＳ６６に移行すると、計算部２２は、ピクセル（ｘ，ｙ）の代表点の周囲に、図１９（ａ）に示すように補間ピクセルを追加する。その後は、ステップＳ７６に移行する。なお、「ピクセル（ｘ，ｙ）の代表点の周囲に補間ピクセルを追加する」とは、ピクセル（ｘ，ｙ）のＸ，Ｙ方向の解像度を上げるということを意味している。
【００７２】
一方、ステップＳ６４の判断が否定された場合には、ステップＳ６８に移行し、計算部２２は、ｎｄｘ（ｘ，ｙ）＞Ｔｘであるか否かを判断する。ここでの判断が肯定された場合には、ステップＳ７０に移行し、計算部２２は、図１９（ｂ）に示すように、ピクセル（ｘ，ｙ）の代表点のＸ方向に隣接する位置に補間ピクセルを追加する。その後は、ステップＳ７６に移行する。なお、「ピクセル（ｘ，ｙ）の代表点のＸ方向の隣接する位置に補間ピクセルを追加する」とは、ピクセル（ｘ，ｙ）のＸ方向の解像度を上げるということを意味している。
【００７３】
一方、ステップＳ６８の判断が否定された場合には、ステップＳ７２に移行し、計算部２２は、ｎｄｙ（ｘ，ｙ）＞Ｔｙか否かを判断する。ここでの判断が肯定された場合には、ステップＳ７４に移行し、計算部２２は、図１９（ｃ）に示すように、ピクセル（ｘ，ｙ）の代表点のＹ方向に隣接する位置に補間ピクセルを追加する。その後は、ステップＳ７６に移行する。なお、ステップＳ７２の判断が否定された場合には、そのままステップＳ７６に移行する。なお、「ピクセル（ｘ，ｙ）の代表点のＹ方向の隣接する位置に補間ピクセルを追加する」とは、ピクセル（ｘ，ｙ）のＹ方向の解像度を上げるということを意味している。
【００７４】
ステップＳ７６に移行した場合、計算部２２は、ピクセル（ｘ，ｙ）および補間ピクセルに対して環境マッピングを行い、その平均値をピクセル（ｘ，ｙ）の値とする。なお、補間ピクセルが追加されていないピクセルに関してはピクセル（ｘ、ｙ）の値そのものがピクセル値となる。
【００７５】
以上、説明したように、本第４の実施形態によると、第３の実施形態と同様、必要なピクセルにおいてのみピクセル内の複数点のピクセル値を平均化することとしているので、計算量を低減しつつ、第１の実施形態と同様の効果を得ることができる。
【００７６】
なお、上記第４の実施形態では、ステップＳ６６、Ｓ７０，Ｓ７４それぞれにおいて、補間ピクセルを追加する位置を異ならせる場合について説明した（図１９（ａ）〜図１９（ｃ）参照）。しかしながら、これに限られるものではなく、例えば、ステップＳ７０，Ｓ７４においても、ステップＳ６６と同様の位置に補間ピクセルを追加することとしてもよい。
【００７７】
なお、上記第４の実施形態では、ステップＳ６６、Ｓ７０，Ｓ７４においてピクセル（ｘ、ｙ）に補間ピクセルを追加する場合について説明したが、これに限られるものではない。例えば、ピクセル（ｘ、ｙ）の代表点とこれに隣接するピクセルの代表点との間に補間ピクセルを追加するようにしてもよい。
【００７８】
なお、上記各実施形態では、カメラシミュレーション（レンダリング）において、環境マッピング法を用いる場合について説明したが、これに限らず、レイトレーシング、フォトンマッピングなどを用いることとしてもよい。
【００７９】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【００８０】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００８１】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００８２】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００８３】
なお、以上の第１〜第４の実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置を生成する工程と、
前記仮想装置を利用して、前記照明部により照明された前記対象物を撮像する前記撮像部の各ピクセルのピクセル値を決定する工程と、をコンピュータが実行し、
前記決定する工程は、前記撮像部の１つのピクセルのピクセル値を決定する際に、レンダリングにより、該１つのピクセル内の複数点のピクセル値を算出し、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理を含むことを特徴とするシミュレーション方法。
（付記２）  前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理では、前記１つのピクセル内の複数点におけるピクセル値を平均化することを特徴とする付記１に記載のシミュレーション方法。
（付記３）  前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理では、
前記仮想装置において、前記撮像部の縦方向に関する解像度をｎ倍（ｎは整数）及び横方向に関する解像度をｍ倍（ｍは整数）してレンダリングを行い、前記レンダリングにより得られた画像の縦方向に関する解像度を１／ｎ倍、横方向に関する解像度を１／ｍ倍した画像を用いて、前記１つのピクセルのピクセル値を決定することを特徴とする付記１又は２に記載のシミュレーション方法。
（付記４）  前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理では、
前記仮想装置において、前記撮像部を１ピクセルの寸法範囲内で移動させつつ、前記撮像部の各ピクセルの所定点におけるピクセル値を複数回算出し、
複数回算出した前記撮像部の各ピクセルの所定点におけるピクセル値に基づいて、前記撮像部の各ピクセルのピクセル値を決定することを特徴とする付記１又は２に記載のシミュレーション方法。
（付記５）  前記対象物のうち、前記照明部に照明される部分の形状変化に関する情報を取得する工程と、
前記形状変化に関する情報に基づいて、特定の形状変化を示す前記対象物の一部を特定する工程と、を前記コンピュータが更に実行し、
前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理は、前記特定する工程で特定された前記対象物の一部を撮像するピクセルのピクセル値を決定する際に実行することを特徴とする付記１〜４のいずれか一項に記載のシミュレーション方法。
（付記６）  対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置を生成し、
前記仮想装置を利用して、前記照明部により照明された前記対象物を撮像する前記撮像部の各ピクセルのピクセル値を決定する、処理をコンピュータに実行させ、
前記決定する処理は、前記撮像部の１つのピクセルのピクセル値を決定する際に、レンダリングにより、該１つのピクセル内の複数点のピクセル値を算出し、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理を含むことを特徴とするシミュレーションプログラム。
（付記７）  前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理では、前記１つのピクセル内の複数点におけるピクセル値を平均化することを特徴とする付記６に記載のシミュレーションプログラム。
（付記８）  前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理では、
前記仮想装置において、前記撮像部の縦方向に関する解像度をｎ倍（ｎは整数）及び横方向に関する解像度をｍ倍（ｍは整数）してレンダリングを行い、前記レンダリングにより得られた画像の縦方向に関する解像度を１／ｎ倍、横方向に関する解像度を１／ｍ倍した画像を用いて、前記１つのピクセルのピクセル値を決定することを特徴とする付記６又は７に記載のシミュレーションプログラム。
（付記９）  前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理では、
前記仮想装置において、前記撮像部を１ピクセルの寸法範囲内で移動させつつ、前記撮像部の各ピクセルの所定点におけるピクセル値を複数回算出し、
複数回算出した前記撮像部の各ピクセルの所定点におけるピクセル値に基づいて、前記撮像部の各ピクセルのピクセル値を決定することを特徴とする付記６又は７に記載のシミュレーションプログラム。
（付記１０）  前記対象物のうち、前記照明部に照明される部分の形状変化に関する情報を取得し、
前記形状変化に関する情報に基づいて、特定の形状変化を示す前記対象物の一部を特定する、処理を前記コンピュータに更に実行させ、
前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理は、前記特定する処理で特定された前記対象物の一部を撮像するピクセルのピクセル値を決定する際に実行することを特徴とする付記６〜９のいずれか一項に記載のシミュレーションプログラム。
（付記１１）  対象物と、前記対象物を照明する照明部と、前記照明部により照明された前記対象物を撮像する撮像部と、を有する現実装置を仮想空間内に再現した仮想装置を生成する生成部と、
前記仮想装置を利用して、前記照明部により照明された前記対象物を撮像する前記撮像部の各ピクセルのピクセル値を決定する決定部と、を備え、
前記決定部は、前記撮像部の１つのピクセルのピクセル値を決定する際に、レンダリングにより、該１つのピクセル内の複数点のピクセル値を算出し、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理を実行することを特徴とするシミュレーション装置。
（付記１２）  前記決定部は、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する場合に、前記１つのピクセル内の複数点におけるピクセル値を平均化することを特徴とする付記１１に記載のシミュレーション装置。
（付記１３）  前記決定部は、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する場合に、前記仮想装置において、前記撮像部の縦方向に関する解像度をｎ倍（ｎは整数）及び横方向に関する解像度をｍ倍（ｍは整数）してレンダリングを行い、前記レンダリングにより得られた画像の縦方向に関する解像度を１／ｎ倍、横方向に関する解像度を１／ｍ倍した画像を用いて、前記１つのピクセルのピクセル値を決定することを特徴とする付記１１又は１２に記載のシミュレーション装置。
（付記１４）  前記決定部は、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する場合に、
前記仮想装置において、前記撮像部を１ピクセルの寸法範囲内で移動させつつ、前記撮像部の各ピクセルの所定点におけるピクセル値を複数回算出し、
複数回算出した前記撮像部の各ピクセルの所定点におけるピクセル値に基づいて、前記撮像部の各ピクセルのピクセル値を決定することを特徴とする付記１１又は１２に記載のシミュレーション装置。
（付記１５）  前記対象物のうち、前記照明部に照明される部分の形状変化に関する情報を取得する取得部と、
前記形状変化に関する情報に基づいて、特定の形状変化を示す前記対象物の一部を特定する特定部と、を備え、
前記決定部は、前記特定部が特定した前記対象物の一部を撮像するピクセルのピクセル値を決定する場合に、前記複数点のピクセル値に基づいて前記１つのピクセルのピクセル値を決定する処理を実行することを特徴とする付記１１〜１４のいずれか一項に記載のシミュレーション装置。
【符号の説明】
【００８４】
１０  現実装置
２２  計算部（生成部、決定部、取得部、特定部）
２３  仮想装置
【図１】
2015056048.tif 000003
【図２】
2015056048.tif 000004
【図３】
2015056048.tif 000005
【図４】
2015056048.tif 000006
【図５】
2015056048.tif 000007
【図６】
2015056048.tif 000008
【図７】
2015056048.tif 000009
【図８】
2015056048.tif 000010
【図９】
2015056048.tif 000011
【図１０】
2015056048.tif 000012
【図１１】
2015056048.tif 000013
【図１２】
2015056048.tif 000014
【図１３】
2015056048.tif 000015
【図１４】
2015056048.tif 000016
【図１５】
2015056048.tif 000017
【図１６】
2015056048.tif 000018
【図１７】
2015056048.tif 000019
【図１８】
2015056048.tif 000020
【図１９】
2015056048.tif 000021