(57)【要約】【課題】オブジェクト空間に立体物を配置する場合において、絵画風の画像をより高速に作成すること。【解決手段】オブジェクトＡ（立体物）の面の法線情報をピクセルの色情報として格納するノーマルベクトル画像と、グレースケールの陰影画像を生成する。ノーマルベクトル画像からサンプリング点Ｐの色情報を取得しノーマルベクトルＶＮを求め、光線ベクトルＶＬ２と視線ベクトルＶＥとに応じて変向し、インテンス＝ノーマルベクトルＶＩを求める。インテンス＝ノーマルベクトルＶＩの方向に、ブラシ画像を回転させ、サンプリング点Ｐの位置の陰影画像の輝度に応じてブラシ画像の輝度を設定して描画することによってレタッチ画像を生成する。【選択図】　図６
2004110597.tif 000002
【特許請求の範囲】
【請求項１】
所与の視点から見た立体物の画像を生成し、生成した画像の色情報を描画バッファに書き込むことによって前記立体物を描画するコンピュータに類する装置を、
前記立体物表面の法線を演算する法線演算手段、
前記視点に基づいて前記立体物を投影することによって得られる前記立体物の描画域中にサンプリング点を複数設定する標本点設定手段、
サンプリング点に対応する前記立体物表面の位置の、前記法線演算手段によって演算された法線に基づいて所与のブラシ画像の配置角度を決定し、前記描画バッファ中の当該サンプリング点に対応する位置に、前記ブラシ画像を前記決定した配置角度で配置する処理を前記標本点設定手段によって設定された各サンプリング点について行うことにより前記立体物を描画する描画手段、
として機能させるための画像生成情報。
【請求項２】
請求項１に記載の画像生成情報であって、
前記法線演算手段は、前記視点の視線方向に直交する第１方向を光線方向とする第１光源と、前記視点の視線方向に直交する第２方向を光線方向とする第２光源とを設定し、前記第１光源及び第２光源の光線を前記立体物に当てて、前記視点に基づく所定のレンダリング処理を実行して当該立体物表面の法線を色情報で表した法線画像を生成することにより、前記立体物表面の法線を演算し、
前記標本点設定手段は、前記法線演算手段によって生成された法線画像中にサンプリング点を複数設定し、
前記描画手段は、サンプリング点の色情報に基づいて所与のブラシ画像の配置角度を決定し、前記描画バッファ中の当該サンプリング点に対応する位置に、前記ブラシ画像を前記決定した配置角度で配置する処理を前記標本点設定手段によって設定された各サンプリング点について行うことにより前記立体物を描画する、ことを特徴とする画像生成情報。
【請求項３】
請求項２に記載の画像生成情報であって、
前記描画バッファは、画素毎にＲＧＢ値を格納可能に形成されており、
前記法線演算手段は、前記第１光源の光線色をＲＧＢの内の何れか１色とし、前記第２光源の光線色をＲＧＢの残る２色の内の１色として前記レンダリング処理を行って、画素毎のＲＧＢ値を演算することにより前記法線画像を生成し、
前記描画手段は、前記法線画像のＲＧＢ値の内、前記第１光源の光線色の値と前記第２光源の光線色の値とに基づいて当該サンプリング点の法線相当方向を演算することにより、当該サンプリング点における前記ブラシ画像の配置角度を決定する、ことを特徴とする画像生成情報。
【請求項４】
請求項２又は３に記載の画像生成情報であって、
前記立体物が配置されるオブジェクト空間の光源設定を行う空間光源設定手段として前記装置を機能させるための情報を更に含み、
前記描画手段は、前記法線演算手段によって演算された法線の方向に前記空間光源設定手段により設定された光源の光線方向を合成することによって前記ブラシ画像の配置角度を決定する、ことを特徴とする画像生成情報。
【請求項５】
請求項２〜４の何れか一項に記載の画像生成情報であって、
前記法線演算手段によって生成された法線画像の所与の位置から前記標本点設定手段によって設定された複数のサンプリング点それぞれへの方向を演算する方向演算手段を前記装置に機能させるための情報を更に含み、
前記描画手段は、前記法線画像の色情報に基づいて求まる方向に前記方向演算手段によって演算された方向を合成することによって前記ブラシ画像の配置角度を決定する、ことを特徴とする画像生成情報。
【請求項６】
請求項４に記載の画像生成情報であって、
前記法線演算手段によって生成された法線画像の所与の位置から前記標本点設定手段によって設定された複数のサンプリング点それぞれへの方向を演算する方向演算手段を前記装置に機能させるための情報を更に含み、
前記描画手段は、前記空間光源設定手段により設定された光源の光線方向と、前記方向演算手段によって演算された方向とを、前記法線画像の色情報に基づいて求まる角度情報に合成することによって前記ブラシ画像の配置角度を決定する、ことを特徴とする画像生成情報。
【請求項７】
請求項１〜６の何れか一項に記載の画像生成情報であって、
前記立体物が配置されるオブジェクト空間の光源設定を行う空間光源設定手段として前記装置を機能させるための情報と、
前記視点及び前記空間光源設定手段により設定された光源に基づく所定のレンダリング処理を行うことにより、前記立体物の陰影情報を算出する陰影情報算出手段として前記装置を機能させるための情報と、
を更に含み、
前記標本点設定手段は、前記陰影情報算出手段により算出された陰影情報に基づいて、サンプリング点を設定することを特徴とする画像生成情報。
【請求項８】
請求項７に記載の画像生成情報であって、
前記標本点設定手段は、前記陰影情報に基づいて、低輝度部分の方が高輝度部分に対してサンプリング点の密集度が高くなるように、サンプリング点を設定することを特徴とする画像生成情報。
【請求項９】
請求項７又は８に記載の画像生成情報であって、前記描画手段は、前記陰影情報算出手段によって算出された陰影情報に基づいて前記ブラシ画像の輝度情報を可変することを特徴とする画像生成情報。
【請求項１０】
請求項１〜９の何れか一項に記載の画像生成情報であって、
前記描画手段は、所与の色情報を基に前記ブラシ画像の輝度情報で輝度を調整した色情報を前記描画バッファに書き込むことにより前記ブラシ画像を配置する処理を行うことを特徴とする画像生成情報。
【請求項１１】
請求項１〜９の何れか一項に記載の画像生成情報であって、
前記描画手段は、サンプリング点に対応する前記立体物表面の色情報を基に前記ブラシ画像の輝度情報で輝度を調整した色情報を前記描画バッファに書き込むことにより前記ブラシ画像を配置する処理を行うことを特徴とする画像生成情報。
【請求項１２】
請求項１〜１１の何れか一項に記載の画像生成情報であって、
前記標本点設定手段は、前記視点と前記立体物間の距離に応じてサンプリング点の数を可変することを特徴とする画像生成情報。
【請求項１３】
請求項１〜１２の何れか一項に記載の画像生成情報であって、
前記視点と前記立体物間の距離に応じてブラシ画像の大きさを可変するブラシサイズ可変手段として前記装置を機能させるための情報を更に含み、
前記描画手段は、前記ブラシサイズ可変手段によって大きさが可変されたブラシ画像を基に前記立体物の描画を行う、ことを特徴とする画像生成情報。
【請求項１４】
請求項１〜１３の何れか一項に記載の画像生成情報であって、
複数のブラシ画像の情報と、
前記複数のブラシ画像の内、所与の条件に応じてブラシ画像を択一的に選択するブラシ選択手段として前記装置を機能させるための情報と、
を更に含み、
前記描画手段は、前記ブラシ選択手段によって選択されたブラシ画像を基に前記立体物の描画を行う、ことを特徴とする画像生成情報。
【請求項１５】
請求項１〜１４の何れか一項に記載の画像生成情報であって、
前記描画手段は、ブラシ画像を配置する際に、当該ブラシ画像の配置位置から所与の方向に向けて、一部重畳するように当該ブラシ画像を所定数配置することを特徴とする画像生成情報。
【請求項１６】
請求項１５に記載の画像生成情報であって、
前記描画手段は、ブラシ画像を配置する際に、当該ブラシ画像の配置角度に基づいた所与の方向に向けて、一部重畳するように当該ブラシ画像を所定数配置することを特徴とする画像生成情報。
【請求項１７】
請求項１〜１６の何れか一項に記載の画像生成情報であって、
前記標本点設定手段は、設定したサンプリング点の位置を時間経過に応じてずらし、
前記描画手段は、前記標本点設定手段によってずらされたサンプリング点に基づいて前記立体物の描画を行う、ことを特徴とする画像生成情報。
【請求項１８】
請求項１〜１７の何れか一項に記載の画像生成情報であって、
前記描画手段は、配置したブラシ画像の配置角度を時間経過に応じてずらして前記立体物の描画を行うことを特徴とする画像生成情報。
【請求項１９】
請求項１〜１８の何れか一項に記載の画像生成情報を記憶したコンピュータ読取可能な情報記憶媒体。
【請求項２０】
所与の視点から見た立体物の画像を生成し、生成した画像の色情報を描画バッファに書き込むことによって前記立体物を描画する画像生成装置であって、
前記立体物表面の法線を演算する法線演算手段と、
前記視点に基づいて前記立体物を投影することによって得られる前記立体物の描画域中にサンプリング点を複数設定する標本点設定手段と、
サンプリング点に対応する前記立体物表面の位置の、前記法線演算手段によって演算された法線に基づいて所与のブラシ画像の配置角度を決定し、前記描画バッファ中の当該サンプリング点に対応する位置に、前記ブラシ画像を前記決定した配置角度で配置する処理を前記標本点設定手段によって設定された各サンプリング点について行うことにより前記立体物を描画する描画手段と、
を備えることを特徴とする画像生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所与の視点から見た立体物の画像を生成し、生成した画像の色情報を描画バッファに書き込むことによって前記立体物を描画するための画像生成情報等に関する。
【０００２】
【従来の技術】
近年のコンピュータ・グラフィックス（以下、適宜「ＣＧ」という。）の技術の多くは、より写実的な画像を得るためのものであるが、絵画風の画像（以下、適宜「ＮＰＲ画像（ノン・フォトリアリスティック・レンダリング画像）」と言う）を得るための研究も種々成されている。
【０００３】
絵画風の画像の内、特にセルアニメ調の画像を得るための技術開発が盛んである。セルアニメ調の画像は、いわゆるベタ塗りと言われる、階調の少ない画像であるが、単調な色彩の上に縁取られる輪郭によって、キャラクタの豊かな表情が表現される。セルアニメ調の画像を得るための技術として、３次元ＣＧのレンダリング処理を利用してセルアニメ調の彩色を決定する技術（特許文献１）や、輪郭を生成するための技術が知られている（特許文献２）。
【０００４】
一方、セルアニメ調でない絵画風の画像として、油絵のような手書き風の画像を生成する技術研究も行われている。実写画像から手書き風画像に変換する技術として、エッジ検出フィルタを用いてエッジ強度とその傾きを検出し、タッチ（本願におけるブラシ画像）の形状を決定する技術が知られている（特許文献３）。
【０００５】
【特許文献１】
特許第３２３１０２９号公報
【特許文献２】
特許第３２５３０２０号公報
【特許文献３】
特許第２８６２０８０号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、手書き風の画像を生成する技術においては、画像処理に関するコスト（特に時間）が膨大であり、より短時間で効果的な手書き風の画像を得る技術が求められている。特許文献３の技術も、より短時間に手書き風の画像を得ることを目的とするものであるが、実写画像にエッジ検出フィルタをかけることによって検出された輪郭線方向にタッチを書き込んでいくものであるため、必ずしも輪郭を正確に検出できるわけではない。従って、実写画像の中から正確にモデルの部分を抽出できず、誤った方向にタッチを書き込むといった事象が起こり得た。
【０００７】
３次元ＣＧにおいては、オブジェクト空間に複数のプリミティブ面（例えばポリゴン）から成る立体物を配置し、レンダリングを行うことによって所与の視点から見た２次元の画像を生成する。このため、立体物の輪郭部分等は、オブジェクト空間の座標系で特定することができる。また、座標系が定義されたオブジェクト空間に立体物を配置するため、演算によって所望の部位の座標を正確に求めることができる。但し、これらの座標計算は、コスト（特に時間）に相反する問題である。特に、ゲーム機等において、リアルタイムに画像を生成する（１フレーム毎に画像を生成する）ような場合においては、コスト（特に時間）の問題は切実である。
【０００８】
本発明の課題は、オブジェクト空間に立体物を配置する場合において、絵画風の画像をより高速に作成することである。
【０００９】
【課題を解決するための手段】
以上の課題を解決するため、請求項１に記載の発明の画像生成情報は、所与の視点から見た立体物（例えば、図４のオブジェクトＡ）の画像を生成し、生成した画像の色情報を描画バッファ（例えば、図１の描画バッファ１１１５）に書き込むことによって前記立体物を描画するコンピュータに類する装置（例えば、図１の画像生成装置１１００）を、
前記立体物表面の法線を演算する法線演算手段（例えば、図２の画像生成演算部２２）、前記視点に基づいて前記立体物を投影することによって得られる前記立体物の描画域中にサンプリング点を複数設定する標本点設定手段（例えば、図２のレタッチ演算部２２６）、サンプリング点に対応する前記立体物表面の位置の、前記法線演算手段によって演算された法線に基づいて所与のブラシ画像の配置角度を決定し、前記描画バッファ中の当該サンプリング点に対応する位置に、前記ブラシ画像を前記決定した配置角度で配置する処理を前記標本点設定手段によって設定された各サンプリング点について行うことにより前記立体物を描画する描画手段（例えば、図２の画像生成演算部２２）、として機能させる。
【００１０】
また、請求項２０の発明の画像生成装置は、所与の視点から見た立体物の画像を生成し、生成した画像の色情報を描画バッファに書き込むことによって前記立体物を描画する画像生成装置であって、前記立体物表面の法線を演算する法線演算手段と、前記視点に基づいて前記立体物を投影することによって得られる前記立体物の描画域中にサンプリング点を複数設定する標本点設定手段と、サンプリング点に対応する前記立体物表面の位置の、前記法線演算手段によって演算された法線に基づいて所与のブラシ画像の配置角度を決定し、前記描画バッファ中の当該サンプリング点に対応する位置に、前記ブラシ画像を前記決定した配置角度で配置する処理を前記標本点設定手段によって設定された各サンプリング点について行うことにより前記立体物を描画する描画手段と、を備えることを特徴とする。
【００１１】
ここで法線演算手段は、請求項２のように法線の演算を実現することとしてもよい。すなわち、請求項２の発明は、請求項１に記載の画像生成情報であって、前記法線演算手段は、前記視点の視線方向に直交する第１方向を光線方向とする第１光源（例えば、図４の赤色平行光源Ｌｒ−１、Ｌｒ−２）と、前記視点の視線方向に直交する第２方向を光線方向とする第２光源（例えば、図４の緑色平行光源Ｌｇ−１、Ｌｇ−２）とを設定し、前記第１光源及び第２光源の光線を前記立体物に当てて、前記視点に基づく所定のレンダリング処理を実行して、当該立体物表面の法線を色情報で表した法線画像を生成することにより、前記立体物の法線を演算し、前記標本点設定手段は、前記法線演算手段によって生成された法線画像中にサンプリング点を複数設定し、前記描画手段は、サンプリング点の色情報に基づいて所与のブラシ画像（例えば、図８（ｃ）のブラシ画像７３４）の配置角度を決定し、前記描画バッファ中の当該サンプリング点に対応する位置に、前記ブラシ画像を前記決定した配置角度で配置する処理を前記標本点設定手段によって設定された各サンプリング点について行うことにより前記立体物を描画することを特徴とする。
【００１２】
ここで、本明細書において「描画する」とは、描画バッファ（例えばフレームバッファ）に色情報を書き込むことを意味する。また、画像生成情報とは、コンピュータに類する装置（例えば、電子計算機）によって実行可能なプログラムに準じた情報の意味である。
【００１３】
この請求項２に記載の発明によれば、法線演算手段によって生成される法線画像は、立体物表面の法線が色情報として表現された画像であるため、例えば、立体物の表面に沿った配置角度でブラシ画像を配置するといった描画手段による描画を簡単に実現することができる。具体的には、第１光源と第２光源とによって、視線方向に直交する２方向から、立体物に光が当てられるため、その２方向からの光によって表される立体物表面の色情報が、そのまま法線に相当する情報となる。すなわち、視点から見れば、第１光源の光線の色情報に基づけば、立体物表面の第１方向に対する角度を推定することができ、第２光源の光線の色情報に基づけば、立体物表面の第２方向に対する角度を推定することができる。よって、法線画像には、視点からみて、立体物表面の法線の方向が、色情報となって表されることとなる。法線演算手段によって実行されるレンダリング処理自体は、公知のレンダリング処理と同様であって、一般的な画像生成装置に実装される、所謂レンダリング・エンジンと称されるＤＳＰ等のハードウェアによって実行可能な処理である。こういったハードウェアを実装した画像生成装置においては、本発明は一層有効である。
【００１４】
また、法線画像と描画バッファに書き込まれる画像の大きさは、必ずしも同一である必要はない。法線演算手段は、レンダリング処理において、モデル空間に立体物を配置し、そのモデル空間上の立体物を、オブジェクト空間と同一の視点（視点方向）から見てレンダリングすることとする。そしてレンダリングによって生成されたモデル空間の立体物の画像を、描画バッファに書き込む（即ち、描画する）ことによって、立体物を描画することとしても良い。この場合には、法線演算手段は、視点から見えるオブジェクト空間全体をレンダリングする必要がないため、より高速な、コストの低い（処理時間の短い）処理を実現することができる。
【００１５】
また、描画手段による配置角度で配置する処理は、例えば、ブラシ画像に基準方向及び回転中心点を定義付けておき、ブラシ画像の基準方向及び回転基準点と、配置角度とに基づいて、ブラシ画像の配置方向を決めることとしても良い。
【００１６】
請求項２に記載の画像生成情報においては、より高速な処理を実現する発明として、請求項３に記載の発明がある。即ち、請求項３に記載の発明は、請求項２に記載の画像生成情報であって、前記描画バッファは、画素毎にＲＧＢ値を格納可能に形成されており、前記法線演算手段は、前記第１光源の光線色をＲＧＢの内の何れか１色とし、前記第２光源の光線色をＲＧＢの残る２色の内の１色として前記レンダリング処理を行って、画素毎のＲＧＢ値を演算することにより前記法線画像を生成し、前記描画手段は、前記法線画像のＲＧＢ値の内、前記第１光源の光線色の値と前記第２光源の光線色の値とに基づいて当該サンプリング点の法線相当方向を演算することにより、当該サンプリング点における前記ブラシ画像の配置角度を決定する、ことを特徴とする。
【００１７】
この請求項３に記載の発明によれば、描画バッファは、画素毎にＲＧＢ（本明細書において、ＲＧＢとは、赤、緑、青の色の３原色のことを意味する。）値を格納する。このため、第１光源の光線色を例えばＲ（赤）とし、第２光源の光線色を例えばＧ（緑）とすれば、法線画像はＲとＧとの各色の値で表現されることとなる。このため、描画手段による法線相当方向の演算において、法線画像のＲとＧとの色の値を読み出せば演算を実行できるため、容易に法線相当方向を演算することができる。
【００１８】
なお、第１光源の光線方向と第２光源の光線方向とを直交する方向とすることにより、更に法線相当方向の演算を簡単にすることができる。
【００１９】
また、請求項４に記載の発明は、請求項２又は３に記載の画像生成情報であって、前記立体物が配置されるオブジェクト空間の光源（例えば、図６の光源Ｌ）設定を行う空間光源設定手段（例えば、図２のライティング設定７３１）として前記装置を機能させるための情報を更に含み、前記描画手段は、前記法線演算手段によって演算された法線の方向（例えば、図６のノーマルベクトルＶＮ）に前記空間光源設定手段により設定された光源の光線方向（例えば、図６の光線ベクトルＶＬ２）を合成することによって前記ブラシ画像の配置角度を決定する、ことを特徴とする。
【００２０】
この請求項４に記載の発明によれば、立体物が配置されるオブジェクト空間の光源の光線方向が加味されて、ブラシ画像の配置角度が決定されることとなる。従って、オブジェクト空間の光源に考慮した、矛盾のない画像を生成することができる。
【００２１】
より詳細に説明する。例えば、立体物の表面に沿ってブラシ画像を配置する場合を考える。この請求項４に記載の発明を適用しなかった場合には、ブラシ画像の模様が立体物の表面形状に沿って表れた画像となるが、オブジェクト空間の光の当たり具合によっては、その画像は矛盾するものとなり得る。より具体的に説明する。画像においては、光源は非常に重要な要素であるため、明るい部分を明るく、暗い部分を暗い色調で表現するのが通常である。しかし、光の明暗に関係なく、立体物の表面に沿ってブラシ画像を配置した場合には、ブラシ画像の模様によって、光の明暗とは無関係な柄が立体物表面に描かれることとなる。これは観者に違和感を与えるものである。請求項３に記載の発明によれば、オブジェクト空間に設定される光源の光線方向によって、ブラシ画像の配置角度が、いわば補正することとなるため、この違和感を取り除き、オブジェクト空間の光源に考慮した、矛盾のない画像を生成することができる。
【００２２】
また、請求項５に記載の発明は、請求項２〜４の何れか一項に記載の画像生成情報であって、前記法線演算手段によって生成された法線画像の所与の位置（例えば、図６の画像中心Ｏｂ；オブジェクトＡの中心位置）から前記標本点設定手段によって設定された複数のサンプリング点それぞれへの方向を演算する方向演算手段（例えば、図６の視線ベクトルＶＥ）を前記装置に機能させるための情報を更に含み、前記描画手段は、前記法線画像の色情報に基づいて求まる方向（例えば、図６のノーマルベクトルＶＮ）に前記方向演算手段によって演算された方向を合成することによって前記ブラシ画像の配置角度を決定する、ことを特徴とする。
【００２３】
また、請求項６に記載の発明は、請求項４に記載の画像生成情報であって、前記法線演算手段によって生成された法線画像の所与の位置から前記標本点設定手段によって設定された複数のサンプリング点それぞれへの方向を演算する方向演算手段（例えば、図２のノーマルベクトル補正部２２４）を前記装置に機能させるための情報を更に含み、前記描画手段は、前記空間光源設定手段により設定された光源の光線方向（例えば、図６の光線ベクトルＶＬ２）と、前記方向演算手段によって演算された方向（例えば、図６の視線ベクトルＶＥ）とを、前記法線画像の色情報に基づいて求まる角度情報（例えば、図６のノーマルベクトルＶＮ）に合成することによって前記ブラシ画像の配置角度を決定する、ことを特徴とする。
【００２４】
例えば、視点が立体物を直視している場合には、画像の中心部分に立体物が描画される。一方、視点が立体物を斜視している場合には、画像の中心部分には立体物が描画されない。すなわち、画像の中心位置は、視点の視線方向となる。ところで、１つの立体物を絵画表現する場合、立体物の略中央を中心して、円弧状にブラシ画像を配置することができれば、より立体感のある表現を実現することができる。この請求項５、６に記載の発明によれば、例えば、法線画像の所与の位置を、法線画像における立体物の中心とすることにより、この表現を実現することができる。
【００２５】
また、所与の位置を、注視点の位置とすることにより、注視点を中心とした円弧状にブラシ画像を配置するように、ブラシ画像の配置角度を補正するといったこともできる。この場合には、注視点を中心した、画像の柄（ブラシ画像の模様）が表現されるため、観者の視線を誘引することができる。なお、方向演算手段によって演算された方向を合成する際の合成割合については適宜設定可能であり、例えば、所定の位置を注視点の位置とした場合、観者の視線をどの程度注視点に向けさせたいかによって、合成割合を可変することとしても良い。例えば、注視点に対する注視度といったものを予め設定し、その注視度に応じて、合成割合を可変することとしても良い。
【００２６】
また、請求項７に記載の発明は、請求項１〜６の何れか一項に記載の画像生成情報であって、前記立体物が配置されるオブジェクト空間の光源設定を行う空間光源設定手段（例えば、図２の画像生成演算部２２）として前記装置を機能させるための情報と、前記視点及び前記空間光源設定手段により設定された光源に基づく所定のレンダリング処理を行うことにより、前記立体物の陰影情報を算出する陰影情報算出手段（例えば、図２の画像生成演算部２２、図１５のステップＳ１０２）として前記装置を機能させるための情報と、を更に含み、前記標本点設定手段は、前記陰影情報算出手段により算出された陰影情報に基づいて、サンプリング点を設定する（例えば、図８のサンプリング点Ｐ）ことを特徴とする。
【００２７】
この請求項７に記載の発明によれば、標本点設定手段は、オブジェクト空間の光源が作用して施される立体物の陰影の情報に基づいて、サンプリング点を設定する。ブラシ画像を配置する際、重畳して配置すればするほど、ブラシ画像の色が濃く反映されることとなる。したがって、例えば、請求項８に記載の発明のように、請求項７に記載の画像生成情報における標本点設定手段が、前記陰影情報に基づいて、低輝度部分の方が高輝度部分に対してサンプリング点の密集度が高くなるように、サンプリング点を設定することとしても良い。
【００２８】
また、請求項９に記載の発明のように、請求項７又は８に記載の画像生成情報における描画手段が、前記陰影情報算出手段によって算出された陰影情報に基づいて前記ブラシ画像の輝度情報を可変する（例えば、図１７のステップＳ３１８〜Ｓ３２０）こととしても良い。
【００２９】
この請求項９に記載の発明によれば、陰影画像の高輝度部分はブラシ画像の輝度を高くし、低輝度部分はブラシ画像の輝度を低くすることによって、オブジェクト空間における立体物の陰影をより正確に表現することができる。なお、ブラシ画像の「輝度を低くする」ことは、色情報を無くすことをも含む意味である。
【００３０】
また、請求項１０に記載の発明は、請求項１〜９の何れか一項に記載の画像生成情報であって、前記描画手段は、所与の色情報を基に前記ブラシ画像の輝度情報で輝度を調整した色情報を前記描画バッファに書き込むことにより前記ブラシ画像を配置する処理を行う（例えば、図２７のステップＳ４１４〜Ｓ４３０）ことを特徴とする。
【００３１】
この請求項１０に記載の発明によれば、描画バッファに書き込まれる色情報は、ブラシ画像の輝度情報で調整された色情報となる。従って、絵画調の画像表現に必須な輝度情報を保持したまま、ブラシ画像の色情報を可変することができる。
【００３２】
例えば、請求項１１に記載の発明のように、請求項１〜９の何れか一項に記載の画像生成情報において、前記描画手段が、サンプリング点に対応する前記立体物表面の色情報を基に前記ブラシ画像の輝度情報で輝度を調整した色情報を前記描画バッファに書き込むことにより前記ブラシ画像を配置する処理を行う（例えば、図２７のステップＳ４１４〜Ｓ４３０）こととしても良い。
【００３３】
この請求項１１に記載の発明によれば、立体物表面の色情報を反映させたブラシ画像とすることができる。
【００３４】
また、請求項１２に記載の発明は、請求項１〜１１の何れか一項に記載の画像生成情報であって、前記標本点設定手段は、前記視点と前記立体物間の距離に応じてサンプリング点の数を可変することを特徴とする。
【００３５】
この請求項１２に記載の発明によれば、例えば、視点と立体物間の距離が短くなる程サンプリング点の数を多くし、長くなる程少なくする、といったことが可能となる。即ち、視点と立体物間の距離と、コスト（処理時間や、絵画調に見える度合）とを考慮して、絵画調の画像を生成することができる。
【００３６】
また、請求項１３に記載の発明は、請求項１〜１２の何れか一項に記載の画像生成情報であって、前記視点と前記立体物間の距離に応じてブラシ画像の大きさを可変するブラシサイズ可変手段として前記装置を機能させるための情報を更に含み、前記描画手段は、前記ブラシサイズ可変手段によって大きさが可変されたブラシ画像を基に前記立体物の描画を行うことを特徴とする。
【００３７】
この請求項１３に記載の発明によれば、例えば、視点と立体物間の距離が短くなる程ブラシ画像の大きさを大きくし、長くなる程ブラシ画像の大きさを小さくするといったことが可能である。即ち、視点と立体物間の距離と、コスト（処理時間や、絵画調に見える度合）とを考慮して、絵画調の画像を生成することができる。
【００３８】
また、請求項１４に記載の発明は、請求項１〜１３の何れか一項に記載の画像生成情報であって、複数のブラシ画像の情報（例えば、図１４のブラシ画像７３４）と、前記複数のブラシ画像の内、所与の条件に応じてブラシ画像を択一的に選択するブラシ選択手段（例えば、図１８のレタッチ演算部２２６、図２０の使用ブラシ７１６ｂ、図２７のステップＳ４０６））として前記装置を機能させるための情報と、を更に含み、前記描画手段は、前記ブラシ選択手段によって選択されたブラシ画像を基に前記立体物の描画を行うことを特徴とする。
【００３９】
この請求項１４に記載の発明によれば、ブラシ画像を可変して立体物の描画を行うことができるため、多種多様なタッチの立体物の画像を作成することができる。ブラシ選択手段によるブラシ画像の選択の条件としては、例えば、オブジェクト空間における立体物の陰影（輝度）に応じたものであってもよい。即ち、輝度が閾値に達している位置（サンプリング位置）には第１のブラシ画像を選択し、閾値に達していない位置（サンプリング位置）には第２のブラシ画像を選択する。第２のブラシ画像に比べて、第１のブラシ画像の方を、輝度の低い画像或いは大きさの大きい画像とすることにより、オブジェクト空間における立体物の陰影をより正確に表現することができる。
【００４０】
また、請求項１５に記載の発明は、請求項１〜１４の何れか一項に記載の画像生成情報であって、前記描画手段は、ブラシ画像を配置する際に、当該ブラシ画像の配置位置から所与の方向に向けて、一部重畳するように当該ブラシ画像を所定数配置する（例えば、図２６のブラシ画像７３４−１〜７３４−３、図２８のステップＳ４３８）ことを特徴とする。
【００４１】
この請求項１５に記載の発明によれば、例えば、１つのサンプリング点について、ブラシ画像を複数、一部重畳するように配置できるため、絵画調の画像の生成をより高速に実現することができる。また、サンプリング点の色情報から求められる法線相当方向にブラシ画像を一部重畳するように複数配置しても良い。この場合には、高速な描画と、立体物の表面に沿った違和感の生じ難い画像の生成とを実現することができる。
【００４２】
なお、請求項１６に記載の発明のように、請求項１５に記載の画像生成情報における描画手段は、ブラシ画像を配置する際に、当該ブラシ画像の配置角度に基づいた所与の方向に向けて、一部重畳するように当該ブラシ画像を所定数配置することとしても良い。この場合には、高速な描画と、より違和感の少ない画像の生成とを実現することができる。
【００４３】
また、請求項１７に記載の発明は、請求項１〜１６の何れか一項に記載の画像生成情報であって、前記標本点設定手段は、設定したサンプリング点の位置を時間経過に応じてずらし（例えば、図２８のステップＳ４３２〜Ｓ４３４）、前記描画手段は、前記標本点設定手段によってずらされたサンプリング点に基づいて前記立体物の描画を行う、ことを特徴とする。
【００４４】
この請求項１７に記載の発明によれば、立体物や視点が動いていない場合であっても、標本点設定手段によるサンプリング点のずらしによって、絵画調な立体物が存在しているという感覚（立体物表面がざわざわしたような感覚）を与えることができる。
【００４５】
また、請求項１８に記載の発明は、請求項１〜１７の何れか一項に記載の画像生成情報であって、前記描画手段は、配置したブラシ画像の配置角度を時間経過に応じてずらして前記立体物の描画を行う（例えば、図２８のステップＳ４３６）ことを特徴とする。
【００４６】
この請求項１８に記載の発明によれば、立体物や視点が動いていない場合であっても、描画手段によるブラシ画像の配置角度のずらしによって、絵画調な立体物が存在しているという感覚（立体物表面がざわざわしたような感覚）を与えることができる。
【００４７】
また、請求項１９に記載の発明のように、請求項１〜１８の何れか一項に記載の画像生成情報を記憶したコンピュータ読取可能な情報記憶媒体を構成することとしても良い。
【００４８】
【発明の実施の形態】
〔第１の実施の形態〕
図１〜図１７及び図３０を参照して、本発明を適用した第１の実施の形態について説明する。本実施の形態では、オブジェクト空間（３次元仮想空間）に配置したオブジェクトを所与の視点から見た画像を元に、手書き風のタッチの入ったＮＰＲ画像を生成するために必要なレタッチ画像（タッチが施された画像；タッチの情報が含まれる画像）を生成する場合を例に挙げて説明する。
【００４９】
ここで言う「手書き風のタッチ」とは、例えば油絵の場合、画布であるカンバスに筆で絵具を塗りつけてゆくことによって生じる筆跡に相当する濃淡である。レタッチ画像には、筆跡に相当する輝度情報が記憶されている。
【００５０】
［構成の説明］
図１は、本実施の形態における画像生成装置１１００の構成の一例を示す図である。同図に示すように、画像生成装置１１００は装置本体１１１０と、モニタ１１０４と、キーボード１１０６と、マウス１１０８とを備える。
【００５１】
装置本体１１１０は、画像処理に掛かる各種の演算処理と画像生成装置１１００の統合的な制御を担う演算処理ユニット１１１２と、プログラムやデータを記憶する記憶装置１１１４と、モニタ１１０４へ画像表示する情報を記憶する描画バッファ１１１５とを備える。
【００５２】
演算処理ユニット１１１２は、例えば、ＣＰＵ、ＤＳＰ、ＡＳＩＣなどの演算装置、ＩＣメモリなどのハードウェアによって実現され、記憶装置１１１４に記憶されるプログラムやデータを適宜読出して使用することによって、種々の機能を実現する。記憶装置１１１４は、例えばＩＣメモリやハードディスク、ＭＯ、ＤＶＤなどによって実現される。描画バッファ１１１５は、例えばＩＣメモリなどによって実現される。
【００５３】
利用者は、キーボード１１０６及びマウス１１０８の操作入力手段によって画像処理にかかわる操作を入力する。キーボード１１０６及びマウス１１０８は、タブレットなどのその他の入力機器によって実現するとしても良い。
モニタ１１０４は、例えばＣＲＴやＬＣＤ、ＥＬＤ、ＰＤＰなどの表示装置によって実現され、画像処理の過程やその処理結果の画像等を画像表示して確認できる。
【００５４】
画像生成装置１１００は、例えばパソコンや家庭用ゲーム装置、業務用ゲーム装置、ＰＤＡ（パーソナル・デジタル・アシスタント）などによって実現できるが、これらに限定されるものではない。
【００５５】
また、装置本体１１１０に情報記憶媒体読取装置１１１６を備え適宜ＣＤ−ＲＯＭ１１１８などのコンピュータ読取自在な情報記憶媒体からプログラムやデータを読み出して使用する構成であっても良い。
【００５６】
［機能ブロックの説明］
図２は、本実施の形態における機能構成の一例を示す機能ブロック図である。同図に示すように、画像生成装置１１００は、操作入力部１０と、処理部２０と、画像表示部３０と、記憶部７０とを有する。
【００５７】
操作入力部１０は、利用者による操作入力を受けつける。例えば、スイッチやレバー、トラックパッド、ダイヤル、タブレットなどによって実現される。図１のキーボード１１０６、マウス１１０８がこれに該当する。
【００５８】
処理部２０は、所定のプログラムに基づいて種々の演算処理を実行し、画像生成装置１１００の機能を統合的に制御するとともに、画像生成演算部２２によって画像生成及び画像処理を実行する。その機能は、例えば、ＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェア及び関連する制御プログラム等により実現される。図１の演算処理ユニット１１１２がこれに該当する。
【００５９】
画像生成演算部２２は、画像生成及び画像処理に必要な種々の演算処理、及び描画バッファ１１１５への色情報の書込み処理を実行する。より具体的には、例えば３次元仮想空間（オブジェクト空間）の設定や該仮想空間へのオブジェクトや光源の配置、座標変換、クリッピング、輝度計算などを実行するジオメトリ演算、及びジオメトリ演算によって求められたオブジェクトの頂点位置座標や輝度値から２次元画像の各ピクセルの色の補間計算や陰面処理などを実行するレンダリング演算などを実行する。
【００６０】
本実施の形態では、画像生成演算部２２が陰影画像７４０と、ノーマルベクトル画像７４２とを生成する。
【００６１】
図３は、球オブジェクトを対象とした陰影画像７４０の一例を示す図である。陰影画像７４０はシェード画像とも呼ばれ、本実施の形態では光源から光をうけている面を高輝度（明）、陰部分を低輝度（暗）とするグレースケール画像である。カラー画像を生成する場合に比べて処理が少なくて済む。
【００６２】
ノーマルベクトル画像７４２は、オブジェクトＡを構成するポリゴン面の法線情報をピクセルの色情報であるＲＧＢ値（赤緑青の３原色の輝度値）として有するカラー画像であって、法線マップや法線画像とも呼ばれる場合もある。
【００６３】
図４は、本実施の形態におけるノーマルベクトル画像７４２の生成方法の概念を説明する図である。例えば、オブジェクトＡのマテリアル属性を、アンビエント成分をＲＧＢ全て１．０（１００％）、ディフューズ成分もＲＧＢ全てを１．０（１００％）と設定する。そして、同図に示すように、仮想視点のローカル座標を基準に、Ｘ軸プラス方向に＋５０％の輝度の赤色平行光源Ｌｒ−１を設定し、マイナス方向に−５０％の輝度の赤色平行光源Ｌｒ−２を設定する。同様にしてＹ軸プラス方向に＋５０％の輝度の緑色平行光源Ｌｇ−１を設定し、マイナス方向に−５０％の輝度の緑色平行光源Ｌｇ−２を設定する。
【００６４】
この状態でレンダリングすると、Ｘ方向及びＹ方向からオブジェクトＡに当った光は、各平行光源に対して正反射方向（真正面）に一番強く反射し、正反射方向からずれるに従って弱くなる。即ち、輝度値は正反射方向で「１２８」（「２５５」の５０％）となり、平行光線に対して直角になる方向で「０」となる。また、各軸マイナス方向に向いた位置では輝度値には「−（マイナス）」が付く。従って、輝度値は「−１２７〜１２８（幅２５５）」の値を有することになる。
【００６５】
画像生成演算部２２は、この輝度値に「１２７」を加えて「０〜２５５」の値に補正し、ノーマルベクトル画像７４２のピクセルの色情報Ｒ値とＧ値とする。また、α値にはオブジェクトが描画されているか否かを識別するためのマスク情報として、オブジェクトが描画されているピクセルに「２５５」、描画されていないピクセルには「０」を格納するものとする。
【００６６】
ノーマルベクトル画像７４２のピクセルの色情報Ｒ値とＧ値とを参照し、輝度値「２５５」＝ベクトル値「１」、輝度値「１２８」＝ベクトル値「０」、輝度値「０」＝ベクトル値「−１」と対応づけることによって、オブジェクトを構成する面（ポリゴン面）をスクリーン座標ＸＹ平面に投影させた場合の法線ベクトルであるノーマルベクトルＶＮを算出できる。例えば、Ｘ軸プラス方向に向いたＸＹ平面に垂直な面のＲＧ値は、（２５５，１２８）となりベクトル値は（１，０）となる。
【００６７】
図５は、球オブジェクトを対象としたノーマルベクトル画像７４２を模式的に示した図である。便宜上ノーマルベクトルＶＮを矢印で表現している。同図に示すように、球オブジェクトを対象とした場合、ノーマルベクトルＶＮは球の頂き（図中円の中心）を中心とした放射状となる。
【００６８】
上述のように、本実施の形態ではノーマルベクトル画像７４２を生成する際、色情報Ｂ値を演算対象とせず、ノーマルベクトルＶＮはＸＹ成分の２次元ベクトルとして扱う。これは後述するレタッチ演算部２２６においてスクリーン座標ＸＹ平面に投影されたオブジェクトの面の方向ベクトルに基づいて演算するためである。従って、画像生成演算部２２がノーマルベクトル画像７４２を生成する場合、Ｘ軸とＹ軸方向に平行光源を設定し、且つ色情報のＢ値を演算対象外とするレンダリングを行えば済むため、ノーマルベクトルＶＮを３次元ベクトルとして扱う場合に比べて高速に処理できる。
【００６９】
図２において、本実施の形態では画像生成演算部２２は更にノーマルベクトル補正部２２４と、レタッチ演算部２２６とを含む。
【００７０】
ノーマルベクトル補正部２２４は、ノーマルベクトル画像７４２の各ピクセルの色情報のＲ値及びＧ値として記憶されているノーマルベクトルＶＮを、▲１▼仮想空間に設定された光源の光線方向、及び▲２▼画像中心Ｏｂと各ピクセルの位置関係、に応じて補正する。
【００７１】
図６は、本実施の形態におけるノーマルベクトルの補正の概念を説明する図であり、同図のＸＹ軸は視点座標軸である。
画像処理演算部２２は、オブジェクトＡを描画する全ピクセルについて、ノーマルベクトル画像７４２のピクセルの色情報Ｒ値及びＧ値からノーマルベクトルＶＮを求める。更に、例えば光源Ｌの設定位置座標ＸＹ成分からＸＹ平面における光の方向を示す光線ベクトルＶＬ２を求める。また、例えばノーマルベクトル画像７４２の画像中心ＯｂのＸＹ成分から処理対象のピクセルのＸＹ成分を減算して視線ベクトルＶＥを求める。
そして、ノーマルベクトルＶＮと光線ベクトルＶＬ２と視線ベクトルＶＥとをそれぞれ単位ベクトル化して合成し、合成されたベクトルを更に単位ベクトル化する。この最終的に求められたＸＹの２次元ベクトルをインテンスノーマルベクトルＶＩと呼ぶ。
【００７２】
インテンスノーマルベクトルＶＩの２次元ベクトル成分のＸ値とＹ値を、それぞれピクセルのＲ値とＧ値として有する画像をインテンスノーマルベクトル画像７４４と言う。
【００７３】
インテンスノーマルベクトル画像７４４の生成においても、上述のノーマルベクトル画像７４２の生成時と同様の理由によって、ピクセルの色情報Ｂ値を演算対象外としている。従って、ベクトルの合成や単位ベクトル化などを容易に実行できる。
【００７４】
図７は、球オブジェクトを対象とするインテンスノーマルベクトル画像７４４を模式的に示した図である。便宜上インテンスノーマルベクトルＶＩを矢印で表現し、光源からの光によって生じる陰影の等輝度線を破線表示している。同図に示すように、ノーマルベクトルＶＮ（図５）が球の頂きを中心とする放射状であったのとは異なり、インテンスノーマルベクトルＶＩは、オブジェクトの面の本来の法線方向（ノーマルベクトルＶＮ）から陰影の方向に変向され、球の表面にそってハイライト部分からシャドー部分へと向かう自然な方向を有している。
【００７５】
レタッチ演算部２２６は、ノーマルベクトル補正部２２４で求められたインテンスノーマルベクトル画像７４４を参照し、インテンスノーマルベクトルＶＩに基づいてレタッチ画像７４６を生成する。
【００７６】
図８は、本実施の形態におけるレタッチ画像の生成の概念を説明する図である。本実施の形態では、インテンスノーマルベクトルＶＩの方向にブラシ画像７３４の方向を合わせて描画する。
【００７７】
より具体的には、同図（ａ）に示すように、レタッチ演算部２２６がスクリーン座標上に所定数のサンプリング点Ｐの座標を設定する。サンプリング点Ｐの設定方法は、例えばランダムでも良いし所定の格子状に沿って設定するとしても良い。そして、同図（ｂ）に示すように、インテンスノーマルベクトル画像７４４から各サンプリング点Ｐの位置の色情報Ｒ値とＧ値とを参照してインテンスノーマルベクトルＶＩを求め、Ｘ軸との交差角度θを求める。
【００７８】
同図（ｃ）に示すように、ブラシ画像７３４は筆先によって着色される形状と着色の濃淡を輝度によって表すグレースケール画像である。ブラシ画像７３４はそれぞれ基準となるブラシ方向ＶＳを有している。そして、同図（ｄ）に示すように、レタッチ演算部２２６は、このブラシ方向ＶＳ（ＸＹの２次元ベクトル）をインテンスノーマルベクトルＶＩの方向に一致するようにブラシ画像７３４を交差角度（９０−θ）だけ時計方向に回転させ、レタッチ画像７４６のサンプリング点Ｐに描画する（同図（ｅ））。
描画時の描画色は、陰影画像７４０のサンプリング点Ｐの位置におけるグレースケール値に応じて決定される。多数のサンプリング点Ｐについてブラシ画像７３４を描画することによって、あたかも筆を何度も置いてタッチを付けたような画像を得ることができる。
【００７９】
図９は、レタッチ画像７４６の一例を示す図である。同図に示すように、本実施の形態におけるレタッチ画像７４６は、上述のように多数のブラシ画像７３４が描画されたグレースケール画像として生成される。インテンスノーマルベクトルＶＩは、光線の方向と、視線との関係によって補正されているのでオブジェクトの陰影に沿って筆を置いたような手書き感覚に似たタッチをつけることができる。一方、図１０はノーマルベクトルＶＮに基づいてレタッチ画像７４６の一例を示す図である。同図に示すようにオブジェクトの陰影とは異なる方向にブラシ画像７３４が描画され、違和感のある印象を与える場合が有る。このように、インテンスノーマルベクトルＶＩに基づいたブラシ画像７３４を描画することによって、タッチの方向をより自然な配置とすることができる。
【００８０】
画像表示部３０は、処理部２０によって生成された画像を表示することができる手段であって、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、ＥＬＤなどの画像表示装置及びドライバによって実現される。図１ではモニタ１１０４がこれに該当する。
【００８１】
記憶部７０は、処理部２０で演算処理を実行するのに必要なプログラムや各種データを記憶する手段であって、例えば、各種ＩＣメモリ、ハードディスク、ＭＯ、ＤＶＤ、ＣＤ−ＲＯＭなどによって実現される。図１では、記憶装置１１１４及び描画バッファ１１１５がこれに該当する。
【００８２】
記憶部７０は、処理部２０を画像生成演算部２２として機能させるための画像生成演算プログラム７２２を記憶する。画像生成演算プログラム７２２には、更に処理部２０をノーマルベクトル補正部２２４として機能させるためのノーマルベクトル補正プログラム７２４と、レタッチ演算部２２６として機能させるためのレタッチ演算プログラム７２６とが含まれる。
【００８３】
また記憶部７０は、設定値等を格納するデータとして、オブジェクトデータ７１０と、ライティング設定７３１と、サンプリング点数７３２と、サンプリング輝度閾値７３３と、ブラシ画像７３４と、仮想視点設定７３５とを記憶する。
また、画像データとして、陰影画像７４０と、ノーマルベクトル画像７４２と、ノーマルベクトル画像７４２を補正したインテンスノーマルベクトル画像７４４と、レタッチ演算部２２６によって作成されるレタッチ画像７４６とを記憶する。
【００８４】
オブジェクトデータ７１０は、画像生成の対象となるオブジェクトのモデリングデータや色情報（オブジェクト面の色設定）などを格納する。ライティング設定７３１は、仮想空間に配置する光源の設定情報を格納する。サンプリング点数７３２は、レタッチ演算部２２６がタッチを施すサンプリング点Ｐの数である。仮想視点設定７３５は、仮想空間内における仮想視点Ｃの位置、回転角度、画角などの設定情報を格納する。
【００８５】
サンプリング輝度閾値７３３は、レタッチ演算部２２６がタッチを施すか否かを判定するための輝度閾値であって、陰影画像７４０のサンプリング点Ｐの位置における輝度値と比較される。本実施の形態ではグレースケール値を格納する。
【００８６】
図１１はモンスターの後姿をレンダリングした陰影画像７４０の一例であり、図１２及び図１３はサンプリング輝度閾値７３３がそれぞれ異なる図１１に対応するレタッチ画像７４６の例である。尚、同図における光源は図中右上方に想定されているものとする。また、図１２及び図１３は、便宜上見易くするために輪郭線を付加している。
【００８７】
サンプリング輝度閾値７３３が大きい場合（閾値が白色「２５５」に近い輝値値）、図１１の陰影画像７４０の比較的明るいところまでサンプリング点Ｐが設定される。従って、図１２に示すように多くのタッチを施すことが可能となり、重厚感を出すことが出来る。一方、サンプリング輝度閾値７３３が小さい場合（閾値が黒色「０」に近い輝度値）、図１１の陰影画像７４０の比較的暗いところにサンプリング点Ｐが設定される。従って図１３に示すように少量のタッチを施すことになり、軽快感を表現することができる。このように、サンプリング輝度閾値７３３を適当に設定することによって、手書き風タッチの調子をコントロールすることができる。
【００８８】
ブラシ画像７３４は、絵筆やペンなどの画材を紙に置いたときに付く彩色される輝度パターンに相当するグレースケール画像である。図１４は、ブラシ画像７３４の一例を示す図である。同図に示すように、ブラシ画像７３４として、所望するタッチを実現できる画像を予め用意する。またその大きさも、例えば６４×６４ピクセル、１２８×１２８ピクセルなどの様に所望するタッチに応じて適宜設定する。
【００８９】
［処理の説明］
次に、図１５〜図１７を参照して、本実施の形態における処理の流れについて説明する。
【００９０】
図１５は、本実施の形態における処理の主な流れを説明するためのフローチャートである。同図に示すように、先ず画像生成演算部２２が陰影画像７４０を生成する（ステップＳ１０２）。より具体的には、オブジェクト空間を設定し、オブジェクトデータ７１０を参照して対象とするオブジェクトを配置する。更にライティング設定７３１を参照して光源Ｌを配置し、仮想視点設定７３５を参照して仮想視点Ｃを配置する。そして、グレースケールでシェーディングとレンダリングとを実行し陰影画像７４０を生成して記憶部７０に記憶する。
【００９１】
次に、画像生成演算部２２は、ノーマルベクトル画像７４２を生成する（ステップＳ１０４）。より具体的には、図４に示した様に、オブジェクトＡのマテリアル属性を、アンビエント成分をＲＧＢ全て１．０（１００％）、ディフューズ成分もＲＧＢ全てを１．０（１００％）と設定する。そして、仮想視点Ｃのローカル座標を基準に、Ｘ軸プラス方向に＋５０％の輝度の赤色平行光源Ｌｒ−１を設定し、マイナス方向に−５０％の輝度の赤色平行光源Ｌｒ−２を設定する。同様にしてＹ軸プラス方向に＋５０％の輝度の緑色平行光源Ｌｇ−１を設定し、マイナス方向に−５０％の輝度の緑色平行光源Ｌｇ−２を設定する。そして、この状態でレンダリングして得られるＲ値とＧ値に「１２７」を加え、ノーマルベクトル画像７４２のピクセルの色情報Ｒ値とＧ値の値とする。またこの際、α値にはオブジェクトＡが描画されているか否かを識別するためのマスク情報として「０」又は「２５５」を格納する
【００９２】
次に、ノーマルベクトル補正部２２４がノーマルベクトル補正処理を実行する（ステップＳ１０６）。図１６は、本実施の形態におけるノーマルベクトル補正処理の流れを説明するためのフローチャートである。同図に示すように、ノーマルベクトル補正部２２４は先ずライティング設定７３１を参照して光源ベクトル（図示略）を算出する（ステップＳ２０２）。例えば、光源Ｌの位置座標から光源の注視点座標を減算して求める。光源ベクトルが算出されたならば、これを単位ベクトル化する（ステップＳ２０４）。
【００９３】
次に、ノーマルベクトル補正部２２４は画像中心Ｏｂを算出し（ステップＳ２０６）、ノーマルベクトル画像の全ピクセルについて以下のループ処理▲１▼を実行する（ステップＳ２０８）。
【００９４】
ループ処理▲１▼では、先ず光源ベクトルを反転して光源から発せられる光の向きを表す光線ベクトルＶＬ２を算出し（ステップＳ２１０）、更にこれを単位ベクトル化する（ステップＳ２１２）。
【００９５】
次に、画像中心Ｏｂから処理対象となっているノーマルベクトル画像７４２のピクセルへのベクトルを算出する。このベクトルを視線ベクトルＶＥとし（ステップＳ２１４）、更に単位ベクトル化する（ステップＳ２１６）。
【００９６】
次に、処理対象となっているノーマルベクトル画像７４２のピクセルのＲ値、Ｇ値及びα値をノーマルベクトル画像７４２から読み取る（ステップＳ２１８）。α値が「２５５」の場合（ステップＳ２２０のＹＥＳ）、その注視点位置には背景が描かれていると判断し、Ｒ値とＧ値を「０」にして（ステップＳ２２２）、インテンスノーマルベクトル画像７４４のピクセルの色情報Ｒ値及びＧ値とする（ステップＳ２３０）。α値が「２５５」でない場合（ステップＳ２２０のＮＯ）、その注視点位置にはオブジェトが描かれていると判断し、ノーマルベクトル画像７４２のピクセルのＲ値とＧ値からノーマルベクトルＶＮを算出する（ステップＳ２２４）。
【００９７】
次に、光線ベクトルＶＬ１と、視線ベクトルＶＥと、ノーマルベクトルＶＮをベクトル合成し、合成結果のベクトルを単位ベクトル化してインテンスノーマルベクトルＶＩを算出する（ステップＳ２２６）。
【００９８】
インテンスノーマルベクトルＶＩが算出されたならば、ベクトル値（Ｘ，Ｙ）をインテンスノーマルベクトル画像７４４の該当ピクセルの（Ｒ，Ｇ）値ととして格納する（ステップＳ２２８）。
【００９９】
以上のループ処理▲１▼を、ノーマルベクトル画像７４２の全てのピクセルについて実行したならば（ステップＳ２３２）、ノーマルベクトル補正処理を終了して、図１５のフローに戻る。
【０１００】
図１５において、次にレタッチ演算部２２６がレタッチ画像生成処理を実行する（ステップＳ１０８）。
【０１０１】
図１７は、本実施の形態におけるレタッチ画像生成処理の流れを説明するためのフローチャートである。同図に示すように、レタッチ演算部２２６は先ずサンプリング点数７３２を参照して（ステップＳ３０２）、サンプリング点Ｐをスクリーン座標上にランダムに設定する（ステップＳ３０４）。設定されたサンプリング点Ｐの位置座標は、記憶部７０に記憶される。
【０１０２】
そして、設定した全サンプリング点Ｐについて以下のループ処理▲２▼を実行する（ステップＳ３０６）。
ループ処理▲２▼では、先ず陰影画像７４０からサンプリング点Ｐの座標位置の輝度を読み出す（ステップＳ３０８）。サンプリング点Ｐの位置の輝度がサンプリング輝度閾値７３３より小さい場合（ステップＳ３１０のＹＥＳ）、即ち閾値によって示された明るさより暗い場合には、インテンスノーマルベクトル画像７４４から、サンプリング点Ｐの座標位置のＲ値とＧ値を読み出してインテンスノーマルベクトルＶＩを算出する（ステップＳ３１２）。
【０１０３】
次に、インテンスノーマルベクトルＶＩが仮想視点Ｃのローカル座標Ｘ軸と成す交差角度θを算出し（ステップＳ３１４）、交差角度θに基づいてブラシ画像７３４をブラシ方向ＶＳがインテンスノーマルベクトルＶＩに一致するように回転させる（ステップＳ３１６）。
そして、陰影画像７４０からサンプリング点Ｐの座標位置の輝度を読み出し、陰影画像７４０から読み出した輝度に基づく輝度でブラシ画像７３４を決定し（ステップＳ３１８）、サンプリング点Ｐの位置に描画する（ステップＳ３２０）。
【０１０４】
全てのサンプリング点Ｐについて描画が終了したならば（ステップＳ３２２）、インテンスノーマルベクトル画像７４４のα値を参照してマスキングをし、インテンスノーマルベクトル画像７４４でオブジェクトＡが描画されていない場所に描かれたブラシ画像７３４の部分を削除する（ステップＳ３２４）。
【０１０５】
以上の構成と処理によって、対象とするオブジェクトの３次元モデルデータを元にレタッチ画像をより高速に作成することができる。
【０１０６】
［ハードウェアの構成］
図３０は、第１の実施の形態における画像生成装置１１００を実現できるハードウェア構成の一例を示す図である。画像生成装置１１００は、ＣＰＵ１０００と、ＲＯＭ１００２と、ＲＡＭ１００４と、情報記憶媒体１００６と、音生成ＩＣ１００８と、画像生成ＩＣ１０１０と、Ｉ／Ｏポート１０１２及び１０１４とを有し、システムバス１０１６により相互にデータの入出力可能に接続されている。
【０１０７】
ＣＰＵ１０００は、図２における処理部２０に該当し、情報記憶媒体１００６に格納されているプログラム、ＲＯＭ１００２に格納されているシステムプログラム、コントロール装置１０２２によって入力される操作入力信号等に従って、装置全体の制御や各種のデータ処理を行う。
【０１０８】
ＲＯＭ１００２、ＲＡＭ１００４及び情報記憶媒体１００６は、図２における記憶部７０に該当する。
ＲＯＭ１００２は、図１の記憶装置１１１４に該当し、図２の画像生成情報７２の特に予め設定されているプログラムやデータを記憶する。ＲＡＭ１００４は、ＣＰＵ１０００の作業領域などとして用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、或いはＣＰＵ１０００の演算結果が格納される。情報記憶媒体１００６は、図１のＣＤ−ＲＯＭ１１１８に該当し、ＩＣメモリカードや着脱自在なハードディスクユニット、ＭＯなどによって実現されＲＯＭ１００２に記憶される情報を記憶し、適宜読み出して利用する構成としても良い。
【０１０９】
音生成ＩＣ１００８は、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて操作音等を生成する集積回路であり、生成された音はスピーカ１０２０によって出力される。なお、スピーカ１０２０は、例えば図１におけるモニタ１１０４や装置本体１１１０に内蔵される。
【０１１０】
画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から出力される画像情報にもとづいて表示装置１０１８に画像を出力するための画素情報を生成する集積回路である。なお、表示装置１０１８は、図２における画像表示部３０、図１におけるディスプレイ１１０４に該当する。
【０１１１】
Ｉ／Ｏポート１０１２には、コントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には、通信装置１０２４が接続されている。
コントロール装置１０２２は、図２における操作入力部１０に該当し、操作パネルや図１のキーボード１１０６やマウス１１０８等に相当するものであり、プレーヤがゲームの進行に応じて種々のゲーム操作を入力するための装置である。
【０１１２】
通信装置１０２４は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受信したり、通信回線を介して、ゲームプログラム等の情報を送受信することなどに利用される。例えば図１における装置本体１１１０に内蔵される。
【０１１３】
尚、画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理はＣＰＵ１０００、或いは汎用のＤＳＰ等によってソフトウェア的に実行されても良い。
【０１１４】
〔第２の実施の形態〕
次に図１８〜図２５を参照して、本発明を適用した第２の実施の形態について説明する。本実施の形態では、動画表示を想定した複数のレタッチ画像を生成する場合について説明する。尚、本実施の形態は基本的に第１の実施の形態と同様の構成要素によって実現可能である。同様の構成要素には同じ符号をつけ、その説明は省略するものとする。
【０１１５】
［機能ブロックの説明］
図１８は、本実施の形態における機能構成の一例を示す機能ブロック図である。本実施の形態における記憶部７０のオブジェクトデータ７１０は、オブジェクトのモデリングの３次元データやオブジェクトの色情報などを格納するモデリングデータ７１２と、オブジェクトに施されるタッチの位置に当るサンプリング点Ｐを決定するための情報を格納するサンプリング設定情報７１４と、サンプリング点Ｐへのブラシ画像７３４の描画方法についての情報を設定するレタッチ設定情報７１６とを含む。
【０１１６】
図１９は、サンプリング設定情報７１４のデータ構成の一例を示す図である。オブジェクトＩＤ７１４ａは、サンプリング設定情報７１４の識別情報であって、例えばオブジェクトの名称やファイル名が格納される。
サンプリングイメージ７１４ｂは、ブラシ画像７３４を描画する際に、オブジェクトの面のスクリーン座標ＸＹ平面における向きを表すベクトルの情報を何れの画像データから取得するかを指定する。本実施の形態では、インテンスノーマルベクトルＶＩの方向に基づいてブラシ画像７３４を描画するので、インテンスノーマルベクトル画像７４４がデフォルトとなっているが、適宜ノーマルベクトル画像７４２を設定できる。
【０１１７】
サンプリングタイプ７１４ｃは、サンプリング点Ｐをどの様に配置するかを設定する。本実施の形態では格子状に設定するグリッドタイプとランダムに設定するランダムタイプとが選択できる。設定するサンプリング点Ｐの総数は、サンプリング数７１４ｇに格納される。
【０１１８】
図２１は、サンプリングタイプの異なるレタッチ画像７４６の例を示す図である。尚、便宜的に輪郭線を付加してある。同図（ａ）はランダムタイプの場合であり、タッチが不規則に描画されている。一方（ｂ）は、グリッドタイプの場合であり、タッチが規則的に描画されている。タッチによってカンバスのように比較的規則正しい肌目の画材の感じを表現する際に効果的である。
【０１１９】
図１９のサンプリングタイプ７１４ｃがランダムタイプに設定される場合は、更にランダムパタン７１４ｄによってサンプリング点Ｐを設定する範囲を設定できる。
【０１２０】
図２２は、本実施の形態におけるランダムパタン７１４ｄを説明する概念図である。同図に示すように、例えば同図（ａ）のグリッドタイプでは、格子状にサンプリング点Ｐを設定する。同図（ｂ）のランダムタイプｉでは、スクリーン座標全体にランダムにサンプリング点Ｐを設定する。同図（ｃ）のランダムタイプｉｉでは、スクリーン座標のうちオブジェクトＡが描画されている部分にのみランダムにサンプリング点Ｐを設定する。オブジェクトＡが描画されている部分の識別は、例えばノーマルベクトル画像７４２のα値を参照して判断する。
【０１２１】
同図（ｄ）のランダムタイプｉｉｉではスクリーン座標のうちオブジェクトＡが描画されている部分にのみランダムにサンプリング点Ｐを設定し、更に陰影画像７４０からサンプリング点Ｐの位置の輝度値を参照して（目安として等輝度線を破線表示）、輝度値が所定の条件（例えば、サンプリング輝度閾値７３３の以上或いは以下など）を満たすサンプリング点Ｐを有効とする。同図（ｅ）のランダムタイプｉｖでは、陰影画像７４０のサンプリング点Ｐの位置における輝度値を事前に参照し、輝度値が所定の条件を満たす範囲に全サンプリング点Ｐを設定する。
【０１２２】
図１９のサンプリングカーブ７１４ｅは、ランダムパタン７１４ｄのランダムタイプｉｉｉ及びｉｖにおいて、陰影画像７４０の輝度を参照する際に使用するサンプリング関数（フィルタ）の種類を設定する。
【０１２３】
図２３は、サンプリングカーブ７１４ｅで設定されるサンプリング関数の概念を説明する図である。サンプリング関数は、陰影画像７４０から読み出した輝度を入力とし、所定の関数によって算出される値を出力する。
同図（ａ）では、陰影画像７４０より取得できる輝度の値をより低く出力する。従って、陰影画像７４０の比較的明るい場所にもサンプリング点Ｐが設定されてタッチが入る。同図（ｂ）では反対に輝度をより高く出力する。従って陰影画像７４０の比較的暗い場所にサンプリング点Ｐが設定されてタッチが入ることになる。
その他同図（ｃ）や（ｄ）のように設定しても良い。（ｄ）は関数の特性が更にランダムに変化する設定を示している。
前記ランダムパタン７１４ｄのランダムタイプｉｉｉ及びｉｖにおいて、陰影画像７４０の輝度に基づく判定をする場合には、サンプリング関数の出力値によって判定されることになる。
【０１２４】
本実施の形態では、サンプリングカーブ７１４ｅで設定できるサンプリング関数を予め複数用意しておき、オブジェクトの特性や環境条件（例えば、キャラクタのイメージや登場する環境の光の状態など）に応じて適宜選択される。
【０１２５】
サンプリングカーブオフセット量７１４ｆは、サンプリング関数のオフセット量ＯＦを設定する（図２３参照）。例えば、プラス方向のオフセットした場合、陰影画像７４０のある輝度以上或いは以下を「０」で出力する。
図２４は、同じ陰影画像７４０を元にしたサンプリングカーブオフセット量７１４ｆの異なるレタッチ画像７４６の例を示す図である。尚、便宜的に輪郭線を付加してある。同図（ａ）はオフセット量＝０の場合、（ｂ）はオフセット量＝３の場合をそれぞれ示す。同図（ｂ）は、プラス方向にオフセットしたことによって、相対的に入力値より高い値が出力される。従って、同じ輝度を境にサンプリング点Ｐを設定する／しないを判定するならば、（ｂ）のようにタッチが減少して明るい調子の手書き風ＮＰＲ画像を生成できる。
【０１２６】
図２０は、本実施の形態におけるレタッチ設定情報７１６のデータ構成の一例を示す図である。レタッチ設定情報７１６は、生成するレタッチ画像毎に設定される。
【０１２７】
オブジェクトＩＤ７１６ａは、サンプリング設定情報７１４の識別情報であって、例えばオブジェクトの名称やファイル名が格納される。
使用ブラシ７１６ｂは、タッチとして描画するブラシ画像７３４を指定する。ブラシサイズ７１６ｃは、ブラシ画像７３４を描画する際の拡大／縮小率を設定する。
【０１２８】
ブラシロール７１６ｄは、レタッチ演算部２２６がブラシ画像７３４をインテンスノーマルベクトルＶＩ（サンプリングイメージ７１４ｂの設定によってはノーマルベクトルＶＮ）の方向にブラシ画像７３４の方向を合わせる際の、ブラシ画像７３４の回転量のオフセット値として設定する。
【０１２９】
図２５は、ブラシロール７１６ｄの概念を説明する図である。同図（ａ）に示すように、ブラシ画像７３４のブラシ方向ＶＳがオフセット量だけインテンスノーマルベクトルＶＩの方向からずれる。ブラシロール７１６ｄを適当に設定することによって、例えば平筆を縦に使う状態（ｂ）や横に使う状態（ｃ）など、複数のタッチ表現が可能になる。
【０１３０】
図２０のブラシリピート数７１６ｅは、一のサンプリング点Ｐにブラシ画像７３４を描画する数を設定する。その際、どの程度ブラシ画像７３４をずらして描画するかは、ブラシ移動範囲７１６ｆに設定される範囲内に、ブラシリピート数７１６ｅが収まるように、適宜描画位置座標を増減する。図２０の場合、一のサンプリング点Ｐについて、サンプリング点Ｐの位置座標を始点にインテンスノーマルベクトルＶＩの方向に１５ピクセルの範囲にブラシ画像７３４を３回描画するように、且つ一部が重畳するように描画位置が変更されて描画される。
【０１３１】
図２６は、ブラシリピートの概念を説明する図である。同図に示すように、一箇所のサンプリング点Ｐに対して一部重畳するようにしてブラシ画像７３４を描画する。一度に複数のブラシ画像７３４を描画できるので、処理を高速化できるとともに、サンプリング数７１４ｇをむやみに多く設定しなくとも十分なタッチを表現できる。
【０１３２】
本実施の形態では、図２０のランダム設定方式７１６ｇ・位置オフセット範囲７１６ｈ・位置オフセット量７１６ｊ・回転オフセット範囲７１６ｋによって、サンプリング点Ｐに対するブラシ画像７３４を描画する相対位置を時間経過に応じてランダムに可変する（ずらす）ことが出来る。
【０１３３】
ランダム設定方式７１６ｇは、一の乱数発生関数が連続的に使用される条件を設定する。例えば本実施の形態では、レタッチ画像の生成の都度異なる乱数発生関数を使用する「ＥＶＥＲＹモード」と、動画の同一フレームでは同じ乱数発生関数を使用する「ＦＲＡＭＥモード」と、１シーンの間同じ乱数発生関数を使用する「ＳＣＥＮＥモード」を設定できる。尚、ここで必要とされるフレーム数やシーン数のカウントは、レコード情報７３６に適宜カウントされる。
【０１３４】
位置オフセット範囲７１６ｈは、サンプリング点Ｐに対するブラシ画像７３４を描画する位置に関するＸＹ軸共通のオフセット範囲を指定する。図２０の場合、サンプリング点Ｐの位置をＸＹ軸方向プラス・マイナス５ピクセルの範囲でオフセットした位置に描画される。位置オフセット変化量７１６ｊは、更に１フレーム毎のオフセット値として設定する。
【０１３５】
回転オフセット範囲７１６ｋは、サンプリング点Ｐに対するブラシ画像７３４の相対角度のオフセット範囲を指定する。即ち、ブラシロール７１６ｄにランダムな変化をつける。
【０１３６】
従って、フレーム毎にブラシ画像７３４の描画される位置が微妙に異なる状態とすることによって、観者にとってあたかも手書き故の描画位置のズレや揺らぎを表現することができる。
従って、位置オフセット範囲７１６ｈ、位置オフセット変化量７１６ｊ、回転オフセット範囲７１６ｋを大きくすると、フレーム間におけるタッチの位置ズレが大きくなり、勢いの有る荒削りな感じを受ける手書き風タッチを作り出すことができる。逆に値を小さくすると、フレーム間におけるタッチの位置ズレが小さくなるので、穏やかな緻密な感じを受けるタッチを作り出せる。
【０１３７】
また、本実施の形態では、ブラシ画像７３４の描画の色情報を設定することができる。
カラーサンプリング素材７１６ｍは、ブラシ画像７３４をサンプリング点Ｐに描画する場合の描画色を何れの画像データを参照して決定するかを指定する。本実施の形態では、陰影画像７４０をサンプリング素材とする「ＮＯＮＥ」がデフォルトであり、この場合ブラシ画像７３４はブラシカラーに基づいて描画される。そのほか、例えば所定の紙や布のテクスチャ画像データを指定することによって、手書き風のタッチのなかに擦れた感じを表現することもできる。
【０１３８】
カラーサンプリングカーブ７１６ｎは、カラーサンプリング素材７１６ｍで指定された画像データから取得された色情報を可変するサンプリング関数を設定する。例えば、取得された色情報を所定の関数で補正し、明暗の強調や平均化などが成される。サンプリング関数は、図２３で示したのと同様の特性を有する。
【０１３９】
カーブオフセット７１６ｐは、カラーサンプリングカーブ７１６ｎで設定されたサンプリング関数のオフセット値を設定する。ブラシカラー７１６ｒは、ブラシ画像７３４に与える特定の色情報を設定する。デフォルトは黒であるが、例えば赤を設定すると赤色でタッチをいれることできる。色数７１６ｓは、ブラシ画像７３４の色階調を設定する。即ち、カラーサンプリングカーブ７１６ｎで設定されたサンプリング関数によって得られた色情報は、更に指定された色階調に変換される。
【０１４０】
［処理の流れの説明］
図２７及び図２８は、本実施の形態におけるレタッチ画像生成処理の流れを説明するためのフローチャートである。
【０１４１】
先ず、タッチを施す位置に当るサンプリング点Ｐを決定する。
レタッチ演算部２２６は、サンプリング設定情報７１４を参照して、サンプリング点設定処理を実行してスクリーン座標上にサンプリング点Ｐを設定する（ステップＳ４０２）。サンプリング点Ｐの位置座標は記憶部７０に記憶される。
【０１４２】
図２９は、本実施の形態におけるサンプリング点設定処理の流れを説明するためのフローチャートである。同図に示すように、レタッチ演算部２４６は、サンプリングタイプ７１４ｃが「グリッド」に指定されている場合（ステップＳ５０２のＹＥＳ）、スクリーン座標上にサンプリング数７１４ｇだけサンプリング点Ｐを所定の格子上に設定する（ステップＳ５０４）。
【０１４３】
サンプリングタイプ７１４ｃが「ランダム」に指定されている場合（ステップＳ５０２のＮＯ）、更にランダムパタン７１４ｄを参照する（ステップＳ５０６）。
【０１４４】
ランダムパタン７１４ｄがランダムパタンｉの場合、サンプリング点Ｐを条件に従ってスクリーン座標全域に対してランダムにサンプリング点Ｐを設定する（ステップＳ５０８）。
【０１４５】
ランダムパタン７１４ｄがランダムパタンｉｉの場合、オブジェクトの描画されている範囲内にのみサンプリング点Ｐを設定する（ステップＳ５１０）。範囲は、例えばインテンスノーマルベクトルＶＩのα値を参照して判定する。
【０１４６】
ランダムパタン７１４ｄがランダムパタンｉｉｉの場合、オブジェクトの描画されている範囲内にのみサンプリング点Ｐを設定し（ステップＳ５１１）、陰影画像７４０の各サンプリング点Ｐの輝度を取得する（ステップＳ５１２）。取得したサンプリング点Ｐの輝度をサンプリングカーブ７１４ｅに指定されたサンプリング関数をサンプリングカーブオフセット量７１４ｆに従ってオフセットし（ステップＳ５１４）、オフセット後のサンプリング関数で陰影画像７４０から取得した輝度を補正した値を算出する（ステップＳ５１６）。そして、該補正値が所定条件（例えば、輝度閾値より以上／以下など）を満さないサンプリング点Ｐを削除する（ステップＳ５１８）。
【０１４７】
ランダムパタン７１４ｄがランダムパタンｉｖの場合、陰影画像７４０からオブジェクトが描画されている範囲の輝度を取得し（ステップＳ５２０）、サンプリングカーブ７１４ｅに指定されたサンプリング関数をサンプリングカーブオフセット量７１４ｆに従ってオフセットし（ステップＳ５２２）、オフセット後のサンプリング関数で陰影画像７４０から取得した輝度を補正した値を算出する（ステップＳ５２４）。該補正値が所定条件を満たす範囲にサンプリング点Ｐを設定する（ステップＳ５２６）。
【０１４８】
サンプリング点Ｐを設定したならば、サンプリング設定処理を終了し図２７のフローに戻る。
【０１４９】
図２７において、サンプリング点設定処理によって設定された全てのサンプリング点Ｐについて以下のループ処理▲３▼を実行する（ステップＳ４０４）。
【０１５０】
ループ処理▲３▼では、先ずタッチを描画するブラシ画像７３４を用意する。レタッチ演算部２４６は、使用ブラシ７１６ｂを参照してブラシ画像７３４を読み出す（ステップＳ４０６）。次に、サンプリングイメージ７１４ｂで指定される画像（この場合インテンスノーマルベクトル画像）を参照してサンプリング点Ｐの位置の色情報を読出しインテンスノーマルベクトルＶＩを求める（ステップＳ４０８）。
【０１５１】
インテンスノーマルベクトルＶＩが求められたならば、レタッチ演算部２４６は、ブラシ方向ＶＳをインテンスノーマルベクトルＶＩと合わせるようにブラシ画像７３４を回転させる（ステップＳ４１０）。この際、ブラシロール７１６ｄを加算して回転させる（ステップＳ４１２）。これで、基本的なブラシの方向が決定されたことになる。
【０１５２】
次に、ブラシ画像７３４を描画する色（描画色）を決定する。
ブラシカラー７１６ｒが指定されている場合（ステップＳ４１４のＹＥＳ）、ブラシ画像７３４のグレースケールをブラシカラー７１６ｒのカラースケールに変換する（ステップＳ４１６）。例えば、ブラシカラー７１６ｒで黄色が指定されている場合、ブラシ画像７３４は、指定された黄色の明暗によるカラースケールとなる。このスケール変換後のブラシ画像７３４で描画すると、黄色を帯びた明暗によるタッチとなる。
【０１５３】
ブラシカラー７１６ｒが指定されず（ステップＳ４１４のＮＯ）、カラーサンプリング素材７１６ｍが指定されていない（「ＮＯＮＥ」）場合（ステップＳ４１８のＹＥＳ）、陰影画像７４０からサンプリング点Ｐの位置の輝度を参照し（ステップＳ４１９）、ブラシ画像７３４のグレースケールを参照した輝度に基づいて変換する（ステップＳ４２０）。即ち、ブラシ画像７３４はグレースケール画像のままであるが、陰影画像７４０におけるサンプリング点Ｐの位置の輝度に応じてグレースケールにシフトされる。この輝度変換後のブラシ画像７３４で描画すると、陰影画像７４０に応じた明暗を有するタッチとなる。
【０１５４】
カラーサンプリング素材７１６ｍが特定の画像を指定している場合（ステップＳ４１８のＮＯ）、指定されている画像からのサンプリング点Ｐの位置の色情報を取得し（ステップＳ４２２）、カラーサンプリングカーブ７１６ｎに指定されたサンプリング関数をカーブオフセット７１６ｐに従ってオフセットし（ステップＳ４２４）、ブラシ画像７３４のグレースケールをオフセット後のサンプリング関数で該色情報を補正した値に基づいてカラースケールに変換する（ステップＳ４２６）。
【０１５５】
ここで、色数７１６ｓで描画可能な色数が指定されている場合（ステップＳ４２８のＹＥＳ）、ブラシ画像７３４の輝度のスケールを指定された色数に段階化する（ステップＳ４３０）。即ち、ブラシ画像７３４は段階的な輝度のスケールとなる。このスケール変換後のブラシ画像７３４で描画すると、あたかも色数の限定されたセルアニメ調のタッチとなる。
【０１５６】
次に、描画色が決定されたブラシ画像７３４について、描画の大きさとサンプリング点Ｐへの描画位置のずらしを決定し、ブラシ画像７３４を描画する（図２８）。先ずブラシサイズ７１６ｃを参照して、ブラシ画像７３４を拡大或いは縮小する（ステップＳ４３２）。次に、ランダム設定方式７１６ｇの条件に従って乱数発生関数を決定して乱数を発生する（ステップＳ４３４）。この乱数に基づいて、回転オフセット範囲７１６ｋに従ってブラシ画像７３４を回転させ（ステップＳ４３６）、位置オフセット範囲７１６ｈ及び位置オフセット変化量７１６ｊに従ってサンプリング点Ｐの位置座標からのＸＹのオフセット量を算出して、描画位置をオフセットする（ステップＳ４３８）。
【０１５７】
描画位置が決定されたならば、ブラシ移動範囲７１６ｆとブラシリピート数７１６ｅを参照し（ステップＳ４４０）、ブラシリピート数７１６ｅのブラシ画像７３４がブラシ移動範囲７１６ｆに納まるように、描画位置を段階的に変更しながらブラシ画像７３４をレタッチ画像７４６上に描画する（ステップＳ４４２）。
以上のループ処理▲３▼を全サンプリング点Ｐに実行し（ステップＳ４４４）、レタッチ画像生成処理を終了する。
【０１５８】
以上、第２の実施の形態によれば、ブラシ画像７３４の描画される位置が微妙に異なる複数のレタッチ画像７４６が生成できる。従って、動画に適用した場合、あたかも手書き故の描画位置のズレや揺らぎを表現することができる。また、ブラシ画像７３４の描画色を設定可能にすることによって、よりさまざまな表現のレタッチ画像７４６を生成できる。
【０１５９】
以上、本発明を適用した第１及び第２の実施の形態について説明したが、本発明の適用がこれに限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて適宜構成要素の追加・変更・削除を行っても良い。
【０１６０】
例えば、画像生成装置１１００は、スタンドアローンの装置に限らず、ネットワーク接続された複数の装置で機能を分散して実現する構成であっても良い。
【０１６１】
また、サンプリング数７１４ｇは固定に限らず適宜可変するとしても良い。より具体的には、例えばサンプリング点設定処理の実行時最初に、オブジェクトＡの画像中心Ｏｂから仮想視点Ｃまでの距離を算出し当該距離に比例してサンプリング数７１４ｇを可変する。
これによって、オブジェクトＡが仮想視点Ｃから遠くに離れた位置に配置され、画面におけるオブジェクトＡが描画されている面積が小さい場合、多数のタッチを施してもタッチ同士が重なって意味をなさなくなるのでサンプリング数７１４ｇを距離に応じて適切な数に削減して処理負荷を軽減する。逆に、オブジェクトＡが仮想視点Ｃの近くに配置され、画面におけるオブジェクトＡが描画されている面積が大きくなる場合、サンプリング数７１４ｇを増加してタッチの不足を補うことができる。
【０１６２】
また、ブラシサイズ７１６ｃは固定に限らず可変するとしても良い。例えば、レタッチ画像生成処理のステップＳ４３７において、画像中心Ｏｂから仮想視点Ｃまでの距離を算出し当該距離に比例してブラシサイズ７１６ｃを可変する。これによって、仮想視点Ｃから離れたオブジェクトＡのタッチを細かく、近くのオブジェクトＡのタッチを大きく設定できる。
【０１６３】
また、各種画像データの生成については、ノーマルベクトル画像７４２・陰影画像７４０は、必ずしも画像生成演算部２２で生成するに限らず、複雑なモデルなど生成に時間を要する場合には、適宜予め画像を用意しておいて使用するとしても構わない。
【０１６４】
また、インテンスノーマルベクトルＶＩは、ノーマルベクトル画像７４２より求めるに限らず、例えば適宜オブジェクトのポリゴンデータからノーマルベクトルＶＮを読み出して使用するとしても良いのは勿論である。
【０１６５】
【発明の効果】
本発明によれば、第１光源と第２光源とによって視線方向に直交する２方向から立体物に光を当てて生成される法線画像から、立体物表面の法線情報を取得し、立体物の表面に沿った配置角度でブラシ画像を配置することによって、絵画風の描画を実現する。法線画像のレンダリング処理自体は、公知のレンダリング処理と同様であって、一般的な画像生成装置に実装される、所謂レンダリング・エンジンと称されるＤＳＰ等のハードウェアによって実行可能な処理である。従って、絵画風の画像をより高速に作成することができる。
【０１６６】
更に、ブラシ画像を配置する際、立体物が配置されるオブジェクト空間の光源の光線方向を加味して、ブラシ画像の配置角度を決定することによって、オブジェクト空間の光源に考慮した、矛盾のない画像を生成することができる。
【図面の簡単な説明】
【図１】第１の実施の形態における画像生成装置の構成の一例を示す図。
【図２】第１の実施の形態における機能構成の一例を示す機能ブロック図。
【図３】球オブジェクトを対象とした陰影画像の一例を示す図。
【図４】第１の実施の形態におけるノーマルベクトル画像の生成方法の概念を説明する図。
【図５】球オブジェクトを対象としたノーマルベクトル画像を模式的に示した図。
【図６】ノーマルベクトルの補正の概念を説明する図。
【図７】球オブジェクト対象とするインテンスノーマルベクトル画像を模式的に示した図。
【図８】第１の実施の形態におけるレタッチ画像生成処理の概念を説明する図。
【図９】インテンスノーマルベクトルに基づくレタッチ画像の一例を示す図。
【図１０】ノーマルベクトルに基づくレタッチ画像の一例を示す図。
【図１１】モンスターの後姿をレンダリングした陰影画像の一例。
【図１２】図１１に対応するレタッチ画像の例。
【図１３】図１１に対応するレタッチ画像の例
【図１４】ブラシ画像の一例を示す図。
【図１５】第１の実施の形態における処理の主な流れを説明するためのフローチャート。
【図１６】第１の実施の形態におけるノーマルベクトル補正処理の流れを説明するためのフローチャート。
【図１７】第１実施の形態におけるレタッチ画像生成処理の流れを説明するためのフローチャート。
【図１８】第２の実施の形態における機能構成の一例を示す機能ブロック図。
【図１９】サンプリング設定情報のデータ構成の一例を示す図。
【図２０】レタッチ設定情報のデータ構成の一例を示す図。
【図２１】サンプリングタイプの異なるレタッチ画像の例を示す図。
【図２２】ランダムパタンを説明する概念図。
【図２３】サンプリングカーブで設定されるサンプリング関数の概念を説明する図。
【図２４】同じ陰影画像を元にしたサンプリングカーブオフセット量の異なるレタッチ画像の例を示す図。
【図２５】ブラシロールの概念を説明する図。
【図２６】ブラシリピートの概念を説明する図。
【図２７】第２の実施の形態におけるレタッチ画像生成処理の流れを説明するためのフローチャート。
【図２８】第２の実施の形態におけるレタッチ画像生成処理の流れを説明するためのフローチャート。
【図２９】第２の実施の形態におけるサンプリング点設定処理の流れを説明するためのフローチャート。
【図３０】第１の実施の形態における画像生成装置を実現するためのハードウェア構成の一例を示す図。
【符号の説明】
１０　操作入力部
２０　処理部
２２　画像生成演算部
２２４　ノーマルベクトル補正部
２２６　レタッチ演算部
３０　画像表示部
７０　記憶部
７１０　オブジェクトデータ
７１２　モデリングデータ
７１４　サンプリング設定情報
７１６　レタッチ設定情報
７２２　画像生成演算プログラム
７２４　ノーマルベクトル補正プログラム
７２６　レタッチ演算プログラム
７３１　ライティング設定
７３２　サンプリング点数
７３３　サンプリング輝度閾値
７３４　ブラシ画像
７４０　陰影画像
７４２　ノーマルベクトル画像
７４４　インテンスノーマルベクトル画像
７４６　レタッチ画像
１１１２　演算処理ユニット
１１１５　描画バッファ
Ａ　オブジェクト
Ｃ　仮想視点
Ｌ　光源
Ｌｇ　緑色平行光源
Ｌｒ　赤色平行光源
Ｏｂ　画像中心
Ｐ　　サンプリング点
ＶＥ　視線ベクトル
ＶＩ　インテンスノーマルベクトル
ＶＬ２　光線ベクトル
ＶＮ　ノーマルベクトル
ＶＳ　ブラシ方向
【図１】
2004110597.tif 000003
【図２】
2004110597.tif 000004
【図３】
2004110597.tif 000005
【図４】
2004110597.tif 000006
【図５】
2004110597.tif 000007
【図６】
2004110597.tif 000008
【図７】
2004110597.tif 000009
【図８】
2004110597.tif 000010
【図９】
2004110597.tif 000011
【図１０】
2004110597.tif 000012
【図１１】
2004110597.tif 000013
【図１２】
2004110597.tif 000014
【図１３】
2004110597.tif 000015
【図１４】
2004110597.tif 000016
【図１５】
2004110597.tif 000017
【図１６】
2004110597.tif 000018
【図１７】
2004110597.tif 000019
【図１８】
2004110597.tif 000020
【図１９】
2004110597.tif 000021
【図２０】
2004110597.tif 000022
【図２１】
2004110597.tif 000023
【図２２】
2004110597.tif 000024
【図２３】
2004110597.tif 000025
【図２４】
2004110597.tif 000026
【図２５】
2004110597.tif 000027
【図２６】
2004110597.tif 000028
【図２７】
2004110597.tif 000029
【図２８】
2004110597.tif 000030
【図２９】
2004110597.tif 000031
【図３０】
2004110597.tif 000032