(57)【特許請求の範囲】
【請求項１】
立体オブジェクトデータから漫画的表現の２次元画像を生成する方法であって、
仮想空間内における立体オブジェクトの配置を入力手段によって受け付ける配置入力ステップと、
該仮想空間内における視点の位置を入力手段によって受け付ける視点設定ステップと、
該仮想空間内における照明光源の特徴を入力手段によって受け付ける光源設定ステップと、
前記照明光源によって前記立体オブジェクトが示す色を、前記表示画素のそれぞれについて色情報として演算手段により得るステップと、
前記色情報とある基準値とに基づいて、前記２次元画像において該基準値により区分される２次元画像の部分のいずれかに対して明度が異なるテクスチャを割り当てることにより、前記表示画素のそれぞれに対して前記基準値の前後で明度が異なるテクスチャの画素を演算手段が採用して描画する視覚的階調化ステップと、
前記視点から見て前記立体オブジェクトが存在する前記２次元画像の表示画素の位置をマスク情報として演算手段により得るステップと、
前記立体オブジェクトの前記視点から見える外形面と前記視点との間の距離を、前記表示画素のそれぞれに対して距離情報として演算手段により得るステップと、
前記外形面の前記仮想空間における法線ベクトルを、前記表示画素のそれぞれに対して法線ベクトル情報として演算手段により得るステップと、
前記視覚的階調化ステップより後に、前記マスク情報と前記距離情報と前記法線ベクトル情報とに基づいて、前記表示画素のそれぞれにおいて前記立体オブジェクトの複数の面の境界となる線または該立体オブジェクトの輪郭線を強調する主線を表わすデータを演算手段により描画する主線描画ステップと、
前記２次元面における採用された前記テクスチャの画像に前記主線のデータを描画した画像を演算手段によって表示する画像表示ステップと
を備えてなる方法。
【請求項２】
前記主線描画ステップにおいて、前記立体オブジェクトの輪郭を示す主線は輪郭以外を示す主線とは異なる線幅である、請求項１に記載の立体オブジェクトデータから漫画的表現の２次元画像を生成する方法。
【請求項３】
前記主線描画ステップは、
前記２次元面の注目画素とその周辺の画素との前記距離情報から前記距離情報の差分値を演算手段によって求めるステップと、
前記２次元面の注目画素とその周辺の画素との前記法線ベクトル情報から前記法線ベクトル情報の差分値を演算手段によって求めるステップと
を含み、
前記主線描画ステップは、前記距離情報の前記差分値と前記法線ベクトル情報の前記差分値とに基づいて主線の描画を演算手段によって判定する、請求項１に記載の立体オブジェクトデータから漫画的表現の２次元画像を生成する方法。
【請求項４】
前記視覚的階調化ステップは、前記色情報から計算される数値と前記基準値とを用いて演算手段によって生成させる数値生成テクスチャを用いて階調化する、請求項１に記載の立体オブジェクトデータから漫画的表現の２次元画像を生成する方法。
【請求項５】
請求項１から４のいずれかに記載の方法を実現するためのプログラム。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、ＣＧ（コンピュータ・グラフィックス）の分野や、ＤＴＰ（デスクトップ・パブリッシング）の分野、アニメーション制作や漫画・コミック等の制作の分野、コンピュータゲームの分野に関する。特に、仮想空間内の３次元オブジェクトに関するデータから漫画的表現の２次元画像を生成する方法およびそのためのプログラムに関する。
【０００２】
【従来の技術】
コンピュータの高性能化や、低価格化、関連したソフトウエアの一般化などによって、アニメーション制作や、漫画やコミック等の製作現場にもＣＧ技術が利用されてきている。また、従来、ＣＧ分野においては、仮想空間で立体オブジェクト（又は物体）を表現することが行われてきた。特に、オブジェクトを仮想空間で作成し、様々な動きをさせたり、向きや配置を変えたりしながらその画像としての仕上がりをコンピュータ上で確認できることは、漫画制作といった最終的には２次元で表現され、静止画像を制作する現場においても制作工程が短縮されたりする大きな利点がある。また、コンピュータゲームの分野では、ＣＧ画像がその２次元画像が最終的にディスプレイ・スクリーンに表示されてユーザーに提供されている。
【０００３】
こういった分野では、ユーザーの見る２次元画像を、より自然に、より精緻に、実物らしく表現するという要望以外に、これまでの漫画やアニメーションにおいて用いられてきて慣れ親しまれている表現手法（以下「漫画的表現」と呼ぶ）を生かした画像表現を実現したいという要望がある。
【０００４】
この漫画的表現とは、立体の複数の面の境界となる線を一定の太さの線で強調する線（主線）で表現する手法や、その中から特に背景と立体との境界を表わす主線を輪郭線として強調する手法、あるいは、光源の位置と立体形状の曲面や他の立体の存在によって作られる影をスクリーントーンで表現したり、その部分を明度の低い一定の色調で表現する手法などである。これまでは、制作者が必要に応じてこれらを人手の作業やＤＴＰの手法で組み合わせて表現し、漫画的表現が実現していた。
【０００５】
【発明が解決しようとする課題】
しかし、仮想空間の立体オブジェクトデータから自動的にこの漫画的表現を生成する方法は開示されていない。
特開平７−１２９７６２号公報には、既に２次元で表現された画像から輪郭や陰影を抽出して再構成する手法が開示されている。この手法では２次元画像においてその画像のみの持つ情報を元に輪郭や陰影をつける。このために、ＣＧ画像に応用しても、うまく主線が表せない。例えば、視点からの距離（奥行き）が異なっていて明るさが変わらない互いに平行な二つの面の境界などを主線によっては表現できない。このような二つの面の境界は、実物の写真やＣＧ画像においては、殆どコントラストがつかないためである。従来のコンピュータを使用しない場合には、こういった境界には制作者が必要に応じて主線を書き入れることによって漫画的表現に仕上げられていたが、このような表現はコンピュータによって実現できていない。
【０００６】
また、特開２００１−３１９２４４号公報には、３次元オブジェクトにスクリーントーンの画像を付加することが試みられている。この方法によれば、オブジェクトにスクリーントーンの表現を用いることが可能となる。しかし、３次元オブジェクトから主線や輪郭が生成されていないために、単にスクリーントーンを用いるのみでは漫画的表現が得られるものではない。
【０００７】
本発明は以上の課題に鑑み、これまでの漫画やアニメーションにおいて用いられてきた上記表現手法を、コンピュータの立体オブジェクトデータから生成する画像で実現する方法や、それを行うためのプログラムを提供するものである。
【０００８】
【課題を解決するための手段】
本発明においては、仮想空間内における立体オブジェクトの配置を入力手段によって受け付ける配置入力ステップと、仮想空間内における視点の位置を入力手段によって受け付ける視点設定ステップと、仮想空間内における照明光源の特徴を入力手段によって受け付ける光源設定ステップと、視点から見て立体オブジェクトが存在する方向をマスク情報として演算手段により得るステップと、視点から照明光源によって立体オブジェクトが示す色を色情報として演算手段により得るステップと、立体オブジェクトの視点から見える外形面と視点との間の距離を距離情報として演算手段により得るステップと、外形面の仮想空間における法線ベクトルを法線ベクトル情報として演算手段により得るステップと、マスク情報と距離情報と法線ベクトル情報とに基づいて、２次元面の画素において主線を演算手段により描画する主線描画ステップと、色情報とある基準値とに基づいて、２次元面において基準値の前後で異なるテクスチャを演算手段が採用する視覚的階調化ステップと、２次元面における主線と採用されたテクスチャとの合成画像を求めて演算手段によって表示する画像表示ステップとを備えてなる立体オブジェクトデータから漫画的表現の２次元画像を生成する方法やこの方法を実現するためのプログラムが提供される。
【０００９】
これにより、ＣＧ画像に漫画的表現を実現したり、漫画やアニメーション制作での従来からの表現方法を実現しつつコンピュータによる制作過程の効率化が図れる。
【００１０】
ここで、主線描画ステップと視覚的階調化ステップとは、上記したままの順序でなくてもよい。距離情報と法線ベクトル情報とマスク情報が得られた後に主線描画ステップがあり、色情報が得られた後に視覚的階調化ステップがあればよい。つまり、上述の順序以外に、視覚的階調化ステップの後に主線描画ステップがあったり、あるいは、適当な処理システムの並列処理方法を用いて並行処理されても構わない。
【００１１】
また、照明光源の特徴とは、照明の色温度、方向、照度、点光源か平行光源か、といった照明光源そのものの特徴のほかに、照明光源の仮想空間での位置や向き等の幾何学的配置の特徴も含む。
【００１２】
また、本発明では、主線描画ステップにおいて、立体オブジェクトの輪郭を示す主線は輪郭以外を示す主線とは異なる線幅である。
これにより、オブジェクトの輪郭部分をより明確に表現でき、オブジェクトとそこより奥に配置される部分との境界の認識が容易になり、漫画やアニメーション制作での従来からの表現方法を、より忠実に実現できる。
【００１３】
更に、本発明においては、主線描画ステップは、２次元面の注目画素とその周辺の画素との距離情報から距離情報の差分値を演算手段によって求めるステップと、２次元面の注目画素とその周辺の画素との法線ベクトル情報から法線ベクトル情報の差分値を演算手段によって求めるステップとを含み、主線描画ステップは、距離情報の差分値と法線ベクトル情報の差分値とに基づいて主線の描画を演算手段によって判定する。
【００１４】
これにより、何らかの面によって囲まれて定義される立体オブジェクトデータであっても、漫画等で用いられてきた主線が、立体オブジェクトの幾何学的な形状から求まり、漫画やアニメーション制作での従来からの表現方法を、より忠実に実現できる。
【００１５】
更に加えて、本発明においては、視覚的階調化ステップが、色情報から計算される数値と基準値とを用いて演算手段によって生成させる数値生成テクスチャを用いて階調化する。
これにより、何らかの入力手段によって基準値を変更して容易に陰影のテクスチャによる表現が変更できる。
【００１６】
本発明においては、ここに示した方法やプログラムが実現されるハードウエア環境は特には問わない。演算機能があり、画像が扱えて、必要に応じてファイル入出力が可能で、適当な記憶装置があって、入力手段が備わっているもの等であれば良い。典型的には、任意のアーキテクチャのコンピュータであって、グラフィック機能や３Ｄレンダリング機能を備えているものが好適である。ビデオゲーム機やパーソナルコンピュータ、あるいは、画面が装備された携帯電話端末なども含まれる。またネットワークを経由して実行されたりするようなものでもよい。
【００１７】
演算手段は、任意のプロセッサによる演算が可能な手段であり、ＭＰＵやＣＰＵ、グラフィックチップ、ＤＳＰ等から選ばれる演算手段である。また適当なバスやネットワークによって相互につながれた複数の演算手段によって分散して処理されたりするものでも構わない。
【００１８】
また、入力手段としては、これまでに多用されている入力手段は当然使用可能であり、キーボードや音声認識装置等の文字数値入力手段、マウス、トラックボール、感圧式タブレット、静電感応式タブレット等のポインティングデバイス、あるいは、モーションキャプチャ装置といった、数値データとして演算装置に受け渡しの可能な入力データが提供される任意のインターフェース類を意味する。さらに、本発明は、オペレーティングシステムを限定するものでもない。上記等に上げた適当なハードウエア環境を、適切に動作させるオペレーティングシステムが好適である。マルチタスクＯＳやシングルタスクＯＳ、あるいは機器組み込み用ＯＳ、ネットワークＯＳ等、いずれにおいても本発明の方法やプログラムを適切に実装できる。
【００１９】
また、必要に応じて印刷手段等を備えたハードウエアにおいてこの方法やプログラムが実行できる。これにより、例えば漫画作家はこれまで手作業によって実現していた漫画制作作業を省力化できる。
【００２０】
また「描画」とは、任意の表示装置で視認可能な映像や画像を描くこと、あるいはこれらに出力するビデオメモリに格納すること、あるいは、出力が紙で得られる場合にはその出力として印刷することや、そのためのメモリへの格納動作を意味する。
【００２１】
また、階調や陰影に付す「連続」の表現は、視覚的に実質的に連続と見える程度に量子化された離散状態（例えばＣＧの分野で連続階調と通常見なされて用いられている２５６階調や、６４階調、あるいは、ルックアップテーブル法で微妙な色調や陰影が表現された色数の少ない階調表示等）も含むものとする。
【００２２】
【発明の実施の形態】
図６および７に本発明の方法で実現される漫画的表現された画像の生成途中の画像の例を示す。また、本発明による画像生成フローを図１〜図４に示す。
図６（ａ）および図７（ａ）は、本発明の準備段階として仮想空間でモデリングして得たオブジェクトや、あるいはデータとして呼び出したオブジェクトを輪郭と主線で表わしたものである。縦、横、高さが定義される３次元の仮想空間内でのこういったオブジェクトは、その空間で抽象的なモデルとして表現される数値データでしかない。したがって、再配置やその他の様々な自由度を有しているが、一方、そのままでは２次元のディスプレイ・スクリーン面や紙面に表現することができない（ここでは、後述するアルゴリズムに従って既に輪郭と主線を用いて表現された後のものを説明のためだけに示している）。図６（ａ）は球面、図７（ａ）は立方体の一部をへこませた多面体を示している。オブジェクトとしてはさらに様々なオブジェクトにすることができる。例えば、人物や自動車といった画像のキャラクターとなるようなものだけでなく、例えば、建物や風景などの背景となるものでも良い。どのようなオブジェクトであっても、仮想空間で定義可能なものであれば本発明の漫画的表現の処理の対象として選ぶことができる。
【００２３】
本発明の準備段階では、これらの漫画的表現によって表現したい対象を３次元のオブジェクトとしてモデリングしたり、あるいは事前にモデリングされているデータをファイルから読み込む（ブロック１１）。このようなオブジェクトは、座標が（Ｘ，Ｙ，Ｚ）で定まる仮想空間内でその配置が検討されて、位置、方向等が調整され（ブロック１２、１３）、どのように配置するかが決められる（ブロック１４）。このようにして立体オブジェクトの仮想空間内における配置が入力去れる（配置入力ステップ）。
【００２４】
さらに、この仮想空間内で視点位置や、画角（フレーム）といったパラメータが決定される（ブロック２１）。このようにして後に２次元化する配置を決定する。この配置に際し、通常のＣＧの手法で用いられるように、マウス操作等の任意のユーザーインターフェースが用いられる。また、後にレンダリングされる際に用いられる照明光源の特徴が決定される（光源設定ステップ）。
【００２５】
さらに、この配置が定まったオブジェクトを、（ｘ、ｙ）で座標が定められる２次元画像フレーム１００内へレンダリング（描画）する（ブロック２２）。レンダリングのステップは、図示しないが、仮想空間の３次元オブジェクトを仮想スクリーン面に透視変換する変換ステップと、仮想スクリーン面上でのオブジェクトの色を画素値として求める画素値算出ステップとが含まれる。実際に描画される２次元画像フレームは、仮想スクリーン面の実際の画像やそのデータを保持するメモリーをさす。
変換ステップでは、配置が定まったオブジェクトを用いて、仮想空間内に設けた視点とそのオブジェクトとの間に設けた面（仮想スクリーン面）とを想定する。これにより、２次元画像上でのオブジェクトの形状は視点向かってオブジェクトを仮想スクリーン上に透視変換（射影）して得られる。
【００２６】
また、画素値算出ステップでは、オブジェクトの面が照明光に応じて示す仮想スクリーン面上での輝度が、通常の手法と同様にレイトレーシング等に代表される計算手法によって計算される。これによって、仮想空間において照明の位置とオブジェクト、必要に応じて他のオブジェクトの位置等を考慮して、陰影等が求められる。この計算は、式（１）に従って行われる。
【数１】
0003626144.tif 000002
【００２７】
式（１）の右辺の第１項は、Ｌａｍｂｅｒｔ則に従った、光源と面との傾きに対してその面の輝度がどのように依存するかを表現した項である。また、式（１）の右辺上段の第２項や、右辺下段は、光源からの直接光が無いときの、周囲の光の照度Ｌａｍｂとその周囲の光に対する係数Ｍａｍｂによる効果を表現する項である。Ｌａｍｂｅｒｔ則は、その面の位置における照明によるベクトルＬ（その面の位置から光源に向かっていて、その光源の光束がその面に与える照度を長さとするベクトル）と、オブジェクトの面の外側に向けて立てたその面の法線ベクトルＮとの内積（Ｎ・Ｌ）に、そのオブジェクトの面の拡散係数Ｍｄｉｆを掛けたものである。拡散係数は、面の材質、色等によって定まる係数で、反射率と光沢の情報を含んでいる。なお、光源の色と面の色との関係は別途考慮することができる。例えば光源が赤い光のときと青い光のときを考え、それぞれの光源が同じ方向から同じ照度をオブジェクトのその面に与えるものであっても、その面が例えば赤い面のときには、赤い光に対する反射される反射光が、青い光に対する反射光よりも高い輝度になる。光源と面の色のこういった効果を考慮した場合には、より精密には、Ｒ、Ｇ、Ｂの三原色の各色ごとにこの式を評価する。また、測光学・測色学的な正確さをさらに反映させることも不可能ではない。また、より簡便な手法として、グローシェーディングやフォンシェーディングなどによって面の陰影を求めても良い。
【００２８】
ブロック２２のレンダリングでは、仮想スクリーン面の全ての（ｘ、ｙ）座標において、三原色Ｒ，Ｇ，Ｂのそれぞれについて画素値Ｃｉ（ｘ、ｙ）（ただし、ｉはＲ，Ｇ、Ｂ）が計算される。画素値Ｃｉは典型的には０〜２５５まで（８ビット値をとる場合）であり、必要に応じてビット幅は増減される。これと同時に、オブジェクトが描かれたか描かれていないかを示すマスクＭ（ｘ、ｙ）が計算される。マスク（マスク情報）Ｍは、式（２）にしたがって算出される。マスクＭはその画素について面のレンダリングが行われれば１、行われなければ０となるデータであり、後にオブジェクトの輪郭を描画する際に用いられる。
【数２】
0003626144.tif 000003
【００２９】
ブロック２２を実行する装置では、２次元画像フレームに対応して画素値用メモリとして働く任意の記憶装置が備えられており、この記憶装置に対して演算装置がレンダリングしたデータであるＣｉ（ｘ、ｙ）を順次格納させてゆく。また、同様に全画素用のアドレス空間を持つマスク用メモリに対してＭ（ｘ、ｙ）が格納される。
【００３０】
その後、後に詳細に説明する主線・輪郭描画ステップ（ブロック２３）によって主線と輪郭が求められる（ブロック２３）。この処理を経ることによって、仮想空間内の数値表現であるオブジェクトから図６（ａ）および図７（ａ）のような主線（輪郭を含む）で表現される２次元画像データが得られる。図６（ａ）の線６１は球オブジェクトから生成された輪郭線で、図７（ａ）の線７１は多面体オブジェクトから生成された輪郭線、線７６は主線である。このような主線・輪郭描画はオブジェクトがより複雑なものであっても同様である。
【００３１】
また、後に詳細に説明する陰影処理ステップ（視覚的階調化ステップ、ブロック２４）によって、連続階調の陰影を１以上のテクスチャで表現される。テクスチャは、例えば、図６（ｂ）や図６（ｃ）に示すドットのパターンや、図示しないストライプといった、従来のスクリーントーンにみられるようなもの、あるいは、一定の色相や明度を持つ「ベタ塗り」などである。これにより、図６（ｂ）や図６（ｃ）に示したように、一定の平均明度を有する少なくとも１つ以上のテクスチャで陰影を表現する。
【００３２】
ブロック２３、ブロック２４によって主線や輪郭が作られた画像（図６（ａ）、図７（ａ））と、陰影がテクスチャによって表現された画像（図６（ｂ）、（ｃ）、図７（ｂ）、（ｃ））とは、画像表示ステップ（ブロック２５）で合成されて全体として漫画的表現を含んだ画像が得られる。この例を図６（ｄ）、図７（ｄ）に示している。
【００３３】
以上から分るように、図６（ａ）や図７（ａ）のみでは単なる主線や輪郭線のみを示すものであるし、主線を用いずに図６（ｂ）と図６（ｃ）とを組み合わせただけのものや、あるいは、図７（ｂ）と図７（ｃ）とを組み合わせただけのものでは、面の明るさがテクスチャで示されるのだけなので、複雑なオブジェクトの場合に形状を把握することは難しい。また、図示していないが、レンダリング直後の連続的なリアルな陰影を持った画像に、例えば図６（ｂ）と図６（ｃ）をただ単に合成しても、リアルな画像にスクリーントーンを張っただけのようになり、漫画的表現とは程遠い。
【００３４】
［主線・輪郭描画］
本発明の特徴である主線（輪郭線を含む）を描画するステップ（ブロック２３）について詳細に説明する。この主線・輪郭描画ステップを図３に説明する。このステップでは、まず、２次元画像フレーム内での注目画素を指定し（ブロック３０）、オブジェクトの面の法線ベクトルを抽出する（ブロック３１）。例えば立体オブジェクトがポリゴンで表現されているときには、オブジェクトの外形面を表す少なくとも３つの頂点Ａ，Ｂ，Ｃを持つ面５（図５）では、その頂点のそれぞれに対して、法線ベクトルＮが定まる。この法線ベクトルＮを頂点以外の点（例えば図５のＤ）は、適当な数学的な方法をもちいて、頂点Ａ，Ｂ，Ｃの法線ベクトルの値から補間して求めることができる。これによりオブジェクトの任意の面の任意の点に対して法線ベクトルが定まる。この法線ベクトルは、仮想空間においてＸ，Ｙ，Ｚの各方向に対応して（ＮＸ，ＮＹ，ＮＺ）という成分で表現される。法線ベクトルを抽出する必要があるのは、最終的に見える面だけであり、視点からは隠れていて陰面処理されてしまう面に対しては算出の必要がない。このようにして、２次元画像フレーム内の位置（ｘ、ｙ）に対して、その位置での外形面の法線ベクトルＮを帰属させることができる。つまり、ｊをＸ，Ｙ，Ｚとして、Ｎｊ（ｘ、ｙ）を求めることができる。これを法線ベクトル用メモリ等の適当な記憶装置に格納する。オブジェクトの面が他の方法によって定まっているときには、適宜他の方法によって法線ベクトルを求めればよい。
【００３５】
また、ブロック３２で奥行き情報（距離情報）を抽出する。奥行き情報とは、仮想空間における仮想スクリーンからその画素に表示されるオブジェクトの外形面までの距離か、あるいは、視点からその外形までの距離である。視点とオブジェクトとを結ぶ視線に沿って求める。レンダリング処理における陰面処理等において用いられるｚバッファの値があればその値を用いても良い。法線ベクトルとは異なり、スカラー量であるが、２次元画像フレーム内の各画素（ｘ、ｙ）に対して、ｚ（ｘ、ｙ）として求まる。これを奥行き情報用メモリに蓄えてもよいし、ｚバッファの値をそのまま用いても良い。
【００３６】
以上のようにして、２次元画像フレーム内の各画素（ｘ、ｙ）に対して、マスクＭ，画素値Ｃｉ、奥行きｚ、法線ベクトルの各成分Ｎｊが求まる。
【００３７】
主線は、２次元画像フレームにおいて隣り合った面同士が仮想空間で不連続な場合と、連続であるが滑らかでない状態でつながる場合とにおいて、その境界部分に描画する。また、輪郭部分にも描画する。図７（ａ）の多面体オブジェクト７０における面７８と面７９が２次元画像フレーム１００において隣りあっているが、仮想空間では不連続である。また、面７７と面７９が２次元画像フレームにおいて隣りあっていて仮想空間で連続ではあるが、折れ曲がっていて滑らかには連続してない。漫画などでは従来からこのような面の境界は、制作者によって主線と呼ばれる線によって描かれてきた。
【００３８】
この主線を描くには、２次元画像フレーム内の各画素（ｘ、ｙ）に対して、その点の近傍とｚやＮｊが変化していないかどうかの差分を求める（ブロック３３，３４）。これらは、ラプラシアンフィルタによって実行でき、ｚについては式（３）、Ｎｊについては式（４）によって差分をとることができる。
【数３】
0003626144.tif 000004
【数４】
0003626144.tif 000005
【００３９】
この差分値を用いることにより、主線の有無とその線幅が求められる。例えば、式（５）によって、ｚから求まるＷｚを、式（６）によって、Ｎから求まるＷＮをそれぞれ求め、それらの値に適当な関数を用いて線幅を求める。
【数５】
0003626144.tif 000006
【数６】
0003626144.tif 000007
【００４０】
ここで、［定数ｚ］、［定数Ｎ］は、一定以上の差分値が得られない場合には主線を描かないことを示すオフセット値である。Ｗｚ、ＷＮが負の値の時には線を描画しない。また、ブロック３５において、既に式（２）によって計算しておいたマスク情報Ｍ（ｘ、ｙ）を抽出する。
【００４１】
また、輪郭線を求める。マスクＭが求まっているのでこれを用いて輪郭が判定可能である（ブロック３６）。つまり、注目画素と周囲８画素を含めた９画素のマスク情報Ｍの値の和を計算し、０または９のときはその画素はオブジェクトの描画領域の内側か外側かであり、また、それ以外のときには、少なくとも注目画素か周囲の画素の何れかに、オブジェクトの２次元画像フレーム上への射影図形の境界が含まれていることを示している。従って、その注目画素を輪郭と判定することができる（ブロック３６）。ここで、輪郭係数Ｂという変数を用いる。この輪郭係数Ｂは注目画素が輪郭であると判定された場合に１より大きな値（オペレータが設定できる値）となり、輪郭以外では１となる。これにより主線の線幅を与える式と輪郭線の線幅を与える式をまとめて定義できて、線幅Ｗ（ｘ，ｙ）は式（７）のようになる。
【数７】
0003626144.tif 000008
【００４２】
このようにして得られた線幅Ｗを用い、この線幅Ｗだけの半径を有する円を、２次元画像フレーム内に重ねられる適当なレイヤー（以後「主線レイヤー」）に、位置（ｘ、ｙ）を中心に描画する（ブロック３７）。２次元画像フレーム内で注目画素をスキャンすると、結果として主線や輪郭線となる。主線レイヤーは例えば主線用メモリ等の適当な記憶装置に格納される。最終的には、この主線レイヤーのデータを２次元画像フレームに表示等する。主線レイヤーは、適当に色を変更したりすることが可能であり、黒やその他の適当な色で描くことができる。また、漫画等の別途印刷する場合には、印刷段階でこの部分の色を選択してもよい。
【００４３】
このようにしてある注目画素に対して処理を終えた後、注目画素を移動させて（ブロック３８）、全画素にわたってスキャンして終了する（ブロック３９）。注目画素を隣接した画素に移動する際には、奥行き用、法線ベクトル用のメモリにアクセスする回数を低減させるように、例えば注目画素の直ぐ右隣に移動するのあれば、新しく周囲画素となる右側の３画素のみメモリから読み出して、注目画素と周囲画素の残りの値は、直前の位置の注目画素の際の値を利用することもできる。
【００４４】
また、上記の説明で記載した順序以外に、例えば、ブロック３１の直後にブロック３３を処理し、その後ブロック３２、ブロック３４と処理したりすることも可能である。ブロック３７の主線・輪郭描画までに必要なマスクＭ，奥行きの差分値ｄｚ、法線ベクトルの各成分の差分値ｄＮｊの各値がその注目画素について求まっていれば良い。
以上のような主線・輪郭描画ステップによって、図６（ａ）および図７（ａ）が得られる。図７（ａ）には輪郭と主線が共に描かれているが、輪郭部分は主線より太く描かれている。
【００４５】
また、図示しないが、オブジェクトの種類によっては、オブジェクトを作る個々の面を囲んでそれを構成する境界線（面の縁取り）に、テクスチャマッピング等の手法で予め主線を描画しておくことができる。これは、オブジェクトが比較的少ない数の面で構成されていて直線の多面体の組み合わせになっているような場合（建物など）にはレンダリング段階に既存のテクスチャマッピング手法によって主線が表現されるために有効である。この場合、２次元画像フレームにおいて主線を明示することができるが、主線と輪郭線の判定ができず、また、湾曲した面では境界線以外が輪郭となる場合もある。この場合には、輪郭描画ステップをあわせて用いることで、輪郭を主線で表現できる。
【００４６】
［陰影の処理（視覚的階調化ステップ）］
また、本発明のもう１つの特徴である、陰影処理ステップ（視覚的階調化ステップ、ブロック２４）を図４に詳細に説明する。従来の漫画的表現では、絵に表れる影などは必ずしも陰影を忠実に連続階調で表現したりせずに、一以上のテクスチャで表現することが行われてきた。そのテクスチャとして、多くの場合は周期的な白黒等の２値の明暗を有するスクリーントーンと呼ばれるパターンが多用されてきた。そのスクリーントーンは、例えば円形ドットの網点の正方格子や三角格子状のものの場合（図６（ｂ）、図７（ｂ）はこれに類似のパターンを用いて描かれている）がある。これらは、スクリーン線数（１インチ＝２．５４ｃｍ当たりの線数）で決まる一定のピッチをもった黒等の着色された円が透明なシートに多数配列されて作られている。多くの場合、スクリーン線数６０から７０本程度のパターンが用いられる。この他に、ストライプやその他の様々なスクリーントーンが漫画的表現に用いられている。また、テクスチャとしては、一様なベタ塗りなども利用できる。本発明の陰影処理ステップ（視覚的階調化ステップ）は、限定しないが、こういったテクスチャをコンピュータ上で再現し、オブジェクトがリアルに表現している陰影を、それを用いて漫画のような表現のテクスチャを採用して表現するための処理である。
【００４７】
この陰影処理では、まず、注目画素が指定されて（ブロック４０）、必要に応じてグレースケール化処理（ブロック４１）が行われる。これは、例えば、式（８）に従って、２次元画像フレームの各点において、ビデオ信号のＹ信号を算出する式である。
【数８】
0003626144.tif 000009
【００４８】
必要に応じて、ガンマ処理等をおこなって画像の明るさや階調性を調整する（不図示）。そして、その画素のＣＹ（ｘ、ｙ）を、予めオペレータが定めておたり、あるいは既定値として持っている基準値Ｔ１、Ｔ２等と比較する。基準値は、陰影を表現するテクスチャを収納するレイヤー（以後トーンレイヤーと呼ぶ）の数を定め、その数から１を除いた個数だけ指定する。
【００４９】
次に各基準値Ｔｋ（ここに、ｋ＝１、２、・・・（トーンレイヤー数）―１）とＣＹとを比較する。その結果、例えば、トーンレイヤー数が３で、基準値がＴ１＜Ｔ２なる二つの値だけ定められている場合には、Ｔ１、Ｔ２を境界にして、その位置（ｘ、ｙ）に描画するトーンレイヤーを決める。例えば、ＣＹ＜Ｔ１のときには（ブロック４２）、注目画素をトーンレイヤー１に格納されたテクスチャで描画し（ブロック４３）、Ｔ１＜ＣＹ＜Ｔ２のときは（ブロック４４）トーンレイヤー２に格納されたテクスチャで（ブロック４５）、Ｔ２＜ＣＹのときには（ブロック４６）、トーンレイヤー３に格納されたテクスチャで描画する（ブロック４７）。そして注目画素を移動させて（ブロック４８）、全画素をスキャンすることによって（ブロック４９）、２次元画像フレーム内にこの処理を施す。これによって、予めトーンレイヤー１、２、３のそれぞれに、円パターンの占有割合で定義される濃度を用いて、例えば、濃度５０％（暗い）、濃度２０％（やや暗い）、濃度０％（何もない）といったテクスチャを格納しておけば、階調を減らしてから各階調をスクリーントーンのようなテクスチャで表現するという漫画的表現に見られる陰影表現が可能となる。
【００５０】
図６（ｂ）、図７（ｂ）は、共に濃度２０％のスクリーントーンの表現を用いており、トーンレイヤー２にあるスクリーントーンを模したデータを描画する部分に書いたそのデータである。また、図６（ｃ）、図７（ｃ）は、共に濃度５０％のスクリーントーンの表現を用いたトーンレイヤー１から描画される同様のデータである。濃度０％のスクリーントーンの表現は、何も描かないのと同じであるため、特には示さない。なお、このテクスチャは、予め用意されて適当な記憶装置に準備されても良いが、何らかの数学的な関係を用いて適宜生成して、数値的に生成しても良い。例えば、判定値によって分けられたＣＹ値が同じところは同じ濃度の網点を生成させたりすることができる。あるいは、元の画素値Ｃｉから色相を保って明度を落とすといった処理をして生成するテクスチャでも良い。
【００５１】
このようにしてブロック２３で準備された主線レイヤーとブロック２４で準備された少なくとも１以上のトーンレイヤーを、合成して画像として表示すれば（ブロック２５）図６（ｄ）、図７（ｄ）が得られる。これによってオペレータは画像として立体オブジェクトデータから生成された漫画的表現が施された２次元画像を確認することが可能となる。
【００５２】
この画像は、画像表示によって目的が達成されるような用途（例えばコンピュータゲームなど）では、必要に応じてオブジェクトをジオメトリエンジンで駆動しつつ、ブロック２２からブロック２５までの処理を行い、動画の個々のフレームを進めて連続した動画等を生成させる。
【００５３】
また、アニメーションの制作現場などでは、必要に応じてブロック２６でオペレータの要求するものかどうかが判定される。その結果によってブロック２２から２６が適当なＡ、Ｂ，Ｃのポイントから再実行されて、コンピュータ上で漫画的表現を含んだＣＧの処理作業が効率的に行われる。
【００５４】
また、最終的に画像でユーザーに提供されるものではなくて印刷して提供されるような用途（ＤＴＰ，漫画制作現場等）では、更に、印刷ステップ（ブロック２７）を含めて、その結果によってブロック２２から２７が適当なＡ、Ｂ，Ｃのポイントから再実行される。
【００５５】
以上に説明した本発明の方法において、主線・輪郭描画ステップ（ブロック２３）と陰影処理ステップ（ブロック２４）は、この順に行う必要はない。逆に陰影処理ステップを行った後に主線・輪郭描画ステップを行うこともできる。大抵の主線や輪郭線は、陰影のテクスチャに上書きされるので、画像表示用の２次元画像フレームメモリー（フレームバッファ）に直接書き込むこともできる。また、ブロック２３とブロック２４の内部で独立して注目画素をスキャンさせているが、差分処理で注目画素の周囲の画素のデータを用いることなどを調整した上で、スキャンするループを共通にしてもよい。このようにすれば、ｚの差分値、法線ベクトルの成分Ｎｊの差分値等を２次元画像フレーム分だけ格納するメモリを節約することができる。
【００５６】
［実施例］
図８〜１１に示すように、建物のオブジェクトから漫画的表現を構成した。図８には、この建物の２次元画像フレーム内における配置が描かれている。なお、図６（ａ）、図７（ａ）と同様に、仮想空間内のオブジェクト自体は数値データであるが、説明のために本発明の主線・輪郭処理後の図形を示す。
このオブジェクトである建物８０は、本願発明の方法に従って仮想空間で配置している。また、このオブジェクトには、地面に見える部分８１も含まれている。
【００５７】
さらに、オペレータがそのオブジェクト８０に当てる照明を決定し、仮想空間でそのオブジェクトを観察する視点や画角を決定した。本実施例では、ほぼ真上においた平行光源を設定した。
この光源によって建物のオブジェクトでレンダリング（変換ステップ、画素値算出ステップ）を行った。レンダリング直後（図２のブロック２２の処理直後）の段階では、図示しないが、面ごとに大きく明るさが異なると共に、面の中でも場所によってその明るさが異なっていた（これは、図１１における屋根の部分に明るい部分８７と暗い部分８６となって表れている）。レンダリング直後の段階では、この明るさの違いは、連続した陰影（グラデーション）に感じられるようなものであり、いわゆるリアルな表現ではあるが、漫画等に見られる画像表現ではない。
【００５８】
このレンダリングの後、本発明の主線・輪郭の描画を行い、陰影の処理（視覚的階調化）を行った。主線・輪郭の描画は、本願の方法に従って、立体オブジェクトの各面間での距離情報と法線ベクトル方向とから、自動的に生成された。式（５）や式（６）の関数のパラメータ（係数、定数）を変更すれば、線の太さを変更できたり、主線として描画する境界を全て拾うように選んだり、あまり拾わないように選んだりすることが可能であった。図８において、線８２は本実施の形態で得られた輪郭線を表し、線８３は主線である。輪郭線係数Ｂは、主線が輪郭のとき１．５倍されるように設定した。
【００５９】
また、陰影は、空白も含めて３種類のテクスチャで表現した。図９はこの実施例で中間の明度の部分に割り当てられた３０％の網点パターンの配置８４でありレイヤー２に格納したテクスチャを必要な範囲に切り取ったものである。また、図１０は、暗い明度の部分に割り当てられた５０％の網点パターンの配置８５でありレイヤー１に格納したテクスチャを必要な範囲に切り取ったものである。レイヤー３はここでは空白としている。この割り当ては、ＲＧＢの画素値から求めたＣＹ（Ｙ値）の値が０〜３１までは５０％網点、３２〜１２７までは３０％網点、１２８〜２５５までは空白となるように、Ｔ１を３２、Ｔ２を１２８として得られたものである。各画素値は、オブジェクトの属性として決定していた面ごとの拡散係数（反射率と光沢情報を含む）、照明条件、照明と面との方向の関係、オブジェクトの作る影等によってレンダリングによって得られた画素値である。図９、図１０はともに、本発明の陰影の処理（視覚的階調化）を行って立体オブジェクトデータから自動的に生成された。
【００６０】
以上のようにして生成された主線・輪郭の画像とテクスチャの画像を合成して、図１１に示す漫画的表現された２次元画像が生成され、表示装置に表示された。図１１の部分８７と部分８６は、共に同じオブジェクトの同じ面であるが、レンダリング直後のこの部分に見られたグラデーションを反映して、異なるテクスチャで描画された。主線の描画は、式（５），（６）のパラメータを変更して、どの程度の細かいディテールまで主線として描画するか、容易に設定できた。また、輪郭係数を変更して、容易に輪郭に描かれる主線（輪郭線）の太さを協調することができた。
【００６１】
また、テクスチャを採用する基準値に用いる基準値Ｔ１、Ｔ２をオペレータが調整することによって、それまで網点のテクスチャで置き換えられる部分が変化し、容易に処理状態を調整することができた。テクスチャは、網点以外にも用意されていて、それを切り換えることで異なる印象の様々な陰影の表現が容易に確認できた。
【００６２】
また、オペレータは仮想空間でのオブジェクトの向きや配置を容易に変更でき、視点を変更することも容易であった。これにより、オブジェクトを再配置したり、パース処理（奥行き感）が容易に修正できた。また、同じオブジェクトを別の場面で向きを変更して用いたり、再利用することもできた。
以上のように、本願の特徴によって、立体オブジェクトデータからオペレータの意図する漫画処理された２次元画像が容易に生成できた。
【００６３】
【発明の効果】
本願の発明によれば、コンピュータグラフィクスの技術において、漫画等で従来から用いられている主線や輪郭を描画し、かつ、陰影には任意のパターンや一定階調のベタ塗りの色といったテクスチャーを用いる表現が可能になる。これにより、コンピュータグラフィクスで従来の表現を用いることができる。また、オブジェクトを容易に再配置できたりするようなコンピュータの利点が、漫画制作の現場やアニメーション製作現場で利用できる。
【図面の簡単な説明】
【図１】本発明の立体オブジェクトの配置方法を示すフローチャートである。
【図２】本発明の立体オブジェクトデータから２次元画像を生成する方法を示すフローチャートである。
【図３】本発明の主線・輪郭描画ステップの詳細を説明するフローチャートである。
【図４】本発明の陰影処理ステップの詳細を説明するフローチャートである。
【図５】本発明の法線ベクトルの算出の概念を示す斜視図である。
【図６】本発明の方法によって球のオブジェクトから漫画的表現の球の２次元画像が生成される様子を示す説明図である。
【図７】本発明の方法によって多面体のオブジェクトから漫画的表現の球の２次元画像が生成される様子を示す説明図である。
【図８】本発明の実施の形態に係る、建物のオブジェクトから生成された主線および輪郭から表現された２次元画像示す説明図である。
【図９】本発明の実施の形態に係る、建物のオブジェクトから生成されたテクスチャ（２０％網点）のパターンとそれで表現される部分を示す説明図である。
【図１０】本発明の実施の形態に係る、建物のオブジェクトから生成されたテクスチャ（５０％網点）のパターンとそれで表現される部分を示す説明図である。
【図１１】本発明の実施の形態に係る、建物のオブジェクトから生成された主線および輪郭と、テクスチャのパターンとから合成して生成される漫画的表現された建物の２次元画像を説明する説明図である。
【符号の説明】
２３  主線・輪郭描画
２４  陰影処理（視覚的階調化ステップ）
１００  ２次元画像フレーム
６０  球オブジェクト
６１  主線（輪郭）
７０  多面体オブジェクト
８０  建物オブジェクト
６０１、６０２、７０１、７０２、８４、８５  テクスチャ（網点パターン）
【図１】
0003626144.tif 000010
【図２】
0003626144.tif 000011
【図３】
0003626144.tif 000012
【図４】
0003626144.tif 000013
【図５】
0003626144.tif 000014
【図６】
0003626144.tif 000015
【図７】
0003626144.tif 000016
【図８】
0003626144.tif 000017
【図９】
0003626144.tif 000018
【図１０】
0003626144.tif 000019
【図１１】
0003626144.tif 000020