(57)【特許請求の範囲】
【請求項１】
コンピュータグラフィクスに用いるテクスチャデータを生成するテクスチャデータ生成装置であって、
テクスチャの基となるテクスチャ原画像上に、必要とする領域を指定する指定手段と、
前記指定手段で指定された領域を囲む凸包多角形の４辺を含む直線で形成される四角形のうち、面積の最小となる四角形を生成する生成手段と、
前記生成手段で抽出された四角形で囲まれる画像を所望の大きさの長方形画像に変換する第１変換手段と、
前記指定手段で指定された指定領域を前記長方形画像上の領域に変換する第２変換手段と、
前記第１変換手段で得られた長方形画像と前記第２変換手段で得られた指定領域を示す情報をテクスチャデータとして出力する出力手段と
を備えることを特徴とするテクスチャデータ生成装置。
【請求項２】
前記指定手段は、貼り付け先の画像の形状を表す複数の特徴点をテクスチャ画像上に指定することで、必要とする領域を指定し、
前記第２変換手段は、前記指定手段で指定された前記複数の特徴点を前記長方形画像上の対応する位置の特徴点に変換する
ことを特徴とする請求項１に記載のテクスチャデータ生成装置。
【請求項３】
コンピュータグラフィクスに用いるテクスチャデータを生成するテクスチャデータ生成方法であって、
テクスチャの基となるテクスチャ原画像上に、必要とする領域を指定する指定工程と、
前記指定工程で指定された領域を囲む凸包多角形の４辺を含む直線で形成される四角形のうち、面積の最小となる四角形を生成する生成工程と、
前記生成工程で抽出された四角形で囲まれる画像を所望の大きさの長方形画像に変換する第１変換工程と、
前記指定工程で指定された指定領域を前記長方形画像上の領域に変換する第２変換工程と、
前記第１変換工程で得られた長方形画像と前記第２変換工程で得られた指定領域を示す情報をテクスチャデータとして出力する出力工程と
を備えることを特徴とするテクスチャデータ生成方法。
【請求項４】
前記指定工程は、貼り付け先の画像の形状を表す複数の特徴点をテクスチャ画像上に指定することで、必要とする領域を指定し、
前記第２変換工程は、前記指定工程で指定された前記複数の特徴点を前記長方形画像上の対応する位置の特徴点に変換する
ことを特徴とする請求項３に記載のテクスチャデータ生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータグラフィクスにおけるテクスチャデータの生成方法及び装置に関する。
【０００２】
【従来の技術】
コンピュータグラフィックスにおける３次元のシーンの描画方法に、表面の模様をテクスチャデータとして用意し、これを３次元シーンの形状データに貼り付けるという手法がある。このテクスチャデータとしては、自然画を撮影して得られた画像を適用することができる。
【０００３】
このように、自然画をテクスチャデータとする場合、そのテクスチャデータの生成方法には、従来、以下のような２通りの方法が存在した。
【０００４】
（１）テクスチャデータとすべき画像の形状、大きさに合わせて画像の撮影を行ってテクスチャ原画像を得て、貼り付け先の形状と対応する点（頂点等）を当該テクスチャ原画像上に設定する。そして、このテクスチャ原画像上に与えられた点と貼り付け先の点とを対応付けながら画像の貼り付けを行う。
【０００５】
（２）撮影で得られたテクスチャの原画像上に所望の矩形を設定し、テクスチャ原画像から必要な領域を矩形で切り出す。この切り出された矩形の画像をテクスチャ原画像として上記（１）と同様の手順（頂点の設定及び貼り付け）で画像の貼り付けを行う。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記従来のテクスチャデータの生成手法には次のような問題がある。まず、上記（１）の手法では、テクスチャとして利用する対象の撮影を、その形状、大きさに合わせて行わなければならない。即ち、テクスチャとして利用する対象の全体を含むとともに、当該画像を極力大きく撮影することが望ましく、撮影を簡便に行うことができない。ここで、テクスチャとして利用する対象を極力大きさ撮影するのは、貼り付け後のテクスチャの細部についての再現性を向上するためである。
【０００７】
また、テクスチャの対象として例えば平面的な表面を撮影する場合、斜め方向から撮影すると、その撮影結果において当該表面の模様等が部分的に縮んだようになる。そのため、縮んだ箇所の細部を表現しようとすると高い解像度が要求されてしまい、テクスチャデータのデータ量が増加してしまう。従って、撮影はテクスチャとして利用する対象の真上から行うことが望ましく、このことも撮影を困難にする要因である。
【０００８】
また、上記（２）の手法では、テクスチャの原画像中の必要領域は長方形の形をしているとは限らないため、無駄な領域を多く残してしまう可能性があるという問題があった。また、テクスチャとして利用する対象を斜めから撮影してしまった場合は上述の（１）の場合と同様の問題が発生する。
【０００９】
本発明は上記の問題に鑑みてなされたもので、テクスチャ原画像を用意する際の撮影を簡便にし、かつ、テクスチャ原画像から必要な領域を抽出する際の無駄を解消する（必要でない領域の削減）ことを可能とするテクスチャデータの生成方法及び装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記の目的を達成するための本発明のテクスチャデータ生成装置は以下の構成を備えている。即ち、
コンピュータグラフィクスに用いるテクスチャデータを生成するテクスチャデータ生成装置であって、
テクスチャの基となるテクスチャ原画像上に、必要とする領域を指定する指定手段と、
前記指定手段で指定された領域を囲む凸包多角形の４辺を含む直線で形成される四角形のうち、面積の最小となる四角形を抽出する生成手段と、
前記生成手段で抽出された四角形で囲まれる画像を所望の大きさの長方形画像に変換する第１変換手段と、
前記指定手段で指定された指定領域を前記長方形画像上の領域に変換する第２変換手段と、
前記第１変換手段で得られた長方形画像と前記第２変換手段で得られた指定領域を示す情報をテクスチャデータとして出力する出力手段と
を備える。
【００１１】
また、好ましくは、前記指定手段は、貼り付け先の画像の形状を表す複数の特徴点をテクスチャ画像上に指定することで、必要とする領域を指定し、前記第２変換手段は、前記指定手段で指定された前記複数の特徴点を前記長方形画像上の対応する位置の特徴点に変換する。貼り付け先の特徴点（頂点や制御点等）を指定するので、得られた長方形画像に対して再度特徴点を指示することが不要となり、操作性が向上する（これに対して、従来はテクスチャ原画像からの矩形画像の切り出しと特徴点の指示が別々の処理であったため、操作が煩わしかった）。
【００１３】
【発明の実施の形態】
以下に添付の図面を参照し手本発明の好適な実施の形態を説明する。
【００１４】
図１は本実施形態におけるコンピュータ装置の概略の構成を表すブロック図である。図中、１０１はＣＰＵであり、本実施形態の手順を含む各種の処理を実行する。１０２はメモリでありＲＯＭ１０２ａ、ＲＡＭ１０２ｂを含む。ＲＯＭ１０２ａはＣＰＵ１０１が実行する制御プログラムや各種データを格納し、ＲＡＭ１０２ｂはＣＰＵ１０１が各種制御を実行するための作業領域を提供する。
【００１５】
１０３は記憶装置であり、例えばハードディスク、フロッピーディスクで構成される。記憶装置１０３には、テクスチャ原画像データ等、各種のデータが格納される。
【００１６】
１０４は、処理するデータを装置の外部から入力あるいは出力するための入出力インターフェースである。例えば、カメラで撮影して得られたテクスチャ原画像をスキャナで読み取り、これを入出力インターフェース１０４を介して取り込むことができる。１０５はキーボードであり、データを選択したり、手順の入力を行う。１０６はポインティングデバイスであり、表示装置上での指示点を指定するもので、例えばマウスで構成される。１０７は表示装置であり、処理状況や処理結果、処理過程、処理データを表示する。
【００１７】
次に、上記構成を有するコンピュータ装置において実現される本実施形態のテクスチャデータ生成処理を説明する。図２は本実施形態のテクスチャデータ生成処理の手順を表すフローチャートである。
【００１８】
ステップＳ２０１にて、生成したいテクスチャのもとであるテクスチャ原画像を入出力インターフェース１０４を通して読込み、テクスチャ原画像として記憶装置１０３に格納する。ここで、テクスチャ原画像とは、生成したいテクスチャを含む通常のカラーまたは濃淡画像である。そして、以下の処理により、このテクスチャ原画像中の一部の領域の画像データを利用して、テクスチャデータとなる画像を生成することとなる。
【００１９】
ステップＳ２０２にて、テクスチャ原画像上にテクスチャデータとして必要となる領域を指定する。このステップは、テクスチャを張り込む先であるパッチデータ（平面や曲面）の頂点や制御点がテクスチャ原画像上にどこにくるかを複数の点で指定するなどにより行われる。この点の指定は、記憶装置１０３に格納されているテクスチャ原画像を表示装置１０７上に表示し、その表示画面の上で、マウス１０６を用いて指定することにより指定される。指定された頂点や制御点等の特徴点は、指示点情報データとして記憶装置１０３に格納される。
【００２０】
次に、ステップＳ２０３にて、ステップＳ２０２で指定されたテクスチャ原画像上の指定点によりテクスチャデータに必要とされると規定された領域を囲む凸包を生成する。例えば、パッチが平面パッチ（ポリゴン）である場合は、頂点である指定点を囲む凸包を生成すればよい。また、曲面パッチの場合、例えばテクスチャを貼り付けるべき曲面を規定する制御点をテクスチャ原画像上に指定し、該制御点によってにより規定される曲面を囲む凸包を生成することとなる。この場合、必ずしも制御点が凸包に含まれるようになるとは限らない。更に説明すれば、制御点で規定される空間中の曲面パッチを、テクスチャ原画像の平面上に描写し、この描写された曲面パッチを含む凸包を形成することになる。
【００２１】
次に、ステップＳ２０４において、ステップＳ２０３で生成された凸包を構成している辺のうちから、４辺を選択する。続いて、ステップＳ２０５にて、選択された４辺を含む直線で四角形を生成する。このとき、生成される四角形が凸包の全体を包含しないものは除外し、凸包全体を包含する四角形のみを生成する。生成された四角形の面積が最小（今まで生成してきた中で最小）のものであった場合、この四角形を四角形ＳとしてＲＡＭ１０２ｂに記憶しておく。ステップＳ２０７にて、凸包のすべての４辺の組み合せに対してステップＳ２０４〜Ｓ２０６の処理が行われたかをチェックし、すべての４辺の組み合わせに対してこれらのステップを行うようにする。これにより、凸包を包含する四角形のうち面積が最少となる四角形Ｓを生成できる。ここまでの処理の概念を図３に示す。
【００２２】
図３はテクスチャ原画像における凸包及び四角形Ｓの生成手順を説明する図である。図３の（ａ）は、テクスチャ原画像中に指定された頂点又は制御点を示す。このように頂点や制御点により、テクスチャ原画像中のテクスチャデータとして必要な領域が設定される。（ｂ）では、テクスチャ原画像中に設定された点に基づいて凸包図形が生成された状態が示されている。凸包図形とは、図３の（ｂ）に示されているように、設定された頂点・制御点の幾つかを結んでできる多角形で、全ての頂点・制御点を包含し、かつ、最大面積を有する多角形である。
【００２３】
図３の（ｂ）のように凸包図形が得られると、この凸包図形におけるいずれかの４辺を含む直線で形成される四角形のうち面積が最少のものを四角形Ｓとして決定する（図３の（ｃ））。
【００２４】
以上のようにして生成した四角形Ｓを用いて、ステップＳ２０８以降でテクスチャデータの生成を行うことになる。
【００２５】
ステップＳ２０８では、長方形Ｒというある任意の長方形を想定し、四角形Ｓを長方形Ｒに変換する第１の座標変換系を生成する。図４は四角形Ｓと長方形Ｒとの対応を説明する図である。また、図５は四角形Ｓと長方形Ｒの内部の点の対応を説明する図である。第１の座標変換系では、図４に示すように四角形Ｓと長方形Ｒの頂点並びに内部を対応させ、図５に示すように、四角形Ｓの内部の点（ｕ，ｖ）を、長方形Ｒの内部の点（ｓ，ｔ）（ここで０≦ｓ≦１，０≦ｔ≦１）に対応させるために、双一次補間を用いて、次式
ｕ＝（１−ｔ）・｛（１−ｓ）・ｘ１＋ｓ・ｘ２｝＋ｔ・｛（１−ｓ）・ｘ４＋ｓ・ｘ３・ｓ｝
ｖ＝（１−ｔ）・｛（１−ｓ）・ｙ１＋ｓ・ｙ２｝＋ｔ・｛（１−ｓ）・ｙ４＋ｓ・ｙ３・ｓ｝
のような座標変換を行う。ここで、（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３），（ｘ４，ｙ４）は、それぞれ四角形Ｐ１，Ｐ２，Ｐ３，Ｐ４の頂点座標である。以上のように第１の座標変換系の生成では、（ｓ，ｔ）を代入すれば（ｕ，ｖ）が求まる変換系が生成される。
【００２６】
また、同様に、ステップＳ２０９にて、その変換の逆変換となる長方形Ｒを四角形Ｓに変換する第２の座標変換系を生成する。これは、上式を（ｓ，ｔ）の連立方程式とみなし、これを（ｓ，ｔ）について解けば、（ｕ，ｖ）値から（ｓ，ｔ）値を求める変換式となる。このような第２の座標変換系が必要である理由は、図３にあるように、形状の頂点（制御点）が画像中ではどこに対応するかを指定しているが、この画像を四角形が長方形になるように変形してしまうと、その点がどこであったかがわからなくなってしまうためである。即ち、指定した時点での頂点に対応する指定点は四角形Ｓ上に乗っており、（ｕ，ｖ）で与えられる。これらの指定点が、長方形Ｒ上ではどこに対応するかを求めておかないと、変形した画像と形状との対応がとれなくなってしまう。よって、四角形Ｓ上の点（ｕ，ｖ）からそれに対応する長方形Ｒ上の（ｓ，ｔ）を求める変換系が必要となる。
【００２７】
次に、ステップＳ２１０にて、長方形Ｒをある解像度の画像とみなし、記憶装置１０３内にこの長方形Ｒの画像データを格納する領域を確保する。そして、この長方形Ｒの画像のある画素Ａの位置Ｐ（ｓ，ｔ）を第１の座標変換系により変換し、テクスチャ原画像上での位置Ｐ’（ｕ，ｖ）を計算する。ここで、位置Ｐは長方形Ｒの画像の画素の位置そのものの値ではなく、縦横それぞれで、正規化した値であり、（ｓ，ｔ）で表されている。次にステップＳ２１１において、こうして得られたテクスチャ原画像上での位置Ｐ’に最も近いテクスチャ原画像の画素を見つけ、その画素値を画素Ａとして記憶装置３０１内の画像データに格納する。以上のステップＳ２１０からＳ２１１までの処理を、長方形Ｒの画像の全画素に対して行う（ステップＳ２１２）。こうして、長方形Ｒの画像データが得られ、これを画像データとして記憶装置１０３に格納する。
【００２８】
さらに、ステップＳ２０２で指定した頂点・制御点などの領域指定に用いた指示点が、長方形Ｒ上ではどの位置に相当するか、すなわち、ステップＳ２１０〜Ｓ２１２で生成した画像上のどの位置に相当するかを、第２の座標変換系を用いて計算する（ステップＳ２１３）。得られた指示点は、やはり指示点情報データとして記憶装置１０３に格納される。最後に、ステップＳ２１２までで生成した画像と、ステップＳ２１３で算出した指示点の該画像上での位置をテクスチャデータとして出力する。これにより、テクスチャ用画像データと、テクスチャが貼られる側（パッチなど）の頂点・制御点といった情報の両方が獲得できる。
【００２９】
図６，図７に本実施形態を適用した結果の例を示す。図６は、ステップＳ２０１で読み込んだテクスチャ原画像に、ステップＳ２０２で必要とする領域の指定を行った図である。×印で示した点が、パッチの頂点に相当する。これを元に、ステップＳ２０３〜Ｓ２１４までの処理を行い、出力された結果を図７に示す。必要とされる領域のみを切り出した画像データ、および、指定点のデータがこのように獲得される。なお、図６、図７はカラーの濃淡画像である。
【００３０】
図６は家屋内の玄関部分を撮影したもので、×印で囲まれた床には、全体に網目状の模様がほどかされている。図６では、このテクスチャデータの対象となる床部分が斜め上の方向から撮影されているので、図面上で上部へいくほど模様が縮まったようになる。このようなテクスチャ画像を従来の矩形領域を用いて切り出すと、上部の方の細かい模様を再現するために高い解像度が要求され、結果的にテクスチャデータのデータ量が増加してしまう。あるいは、解像度を制限した場合に、部分的に画像が劣化することになる。
【００３１】
これに対して、本実施形態では、図７のように長方形にデータを変換し、ほぼ均一な模様（実際の模様に近い）を再現し、これをテクスチャデータとするので、不必要に高い解像度を有する必要がなく、テクスチャデータのデータ量を低減することが可能となる。更に、必要な領域を可能な限り大きく含むようにテクスチャデータが生成されるので、テクスチャデータに含まれる無駄なデータを低減でき、テクスチャデータのデータ量を低減できる。なお、図７の長方形の縦横比は３次元形状に合わせて設定するのが好ましい。例えば、図６上部の縮んだ模様を復元するには、図７の長方形Ｒの縦横の長さの比が、実際の玄関の床の縦横の比と一致させるのが好ましい。
【００３２】
以上のように本実施形態によれば、テクスチャとして利用する対象の撮影において、その対象の大きさ、撮影方向の自由度が増すので、テクスチャ原画像の撮影が簡便化される。また、テクスチャ原画像から必要な領域を取り出すに際して、無駄な領域が効果的に除外されるので、テクスチャデータのデータ容量を低減できる。
【００３３】
更に、撮影方向の影響で、上述の図６に示したように、テクスチャとして利用する対象の画像が部分的に細かくなってしまうような場合でも、不必要に解像度を上げずに、しかも画像に劣化を生じさせずにテクスチャデータを生成することができる。
【００３４】
上記装置の機能もしくは方法の機能によって達成される本発明の目的は、前述の実施例のプログラムを記憶させた記憶媒体によっても達成できる。即ち、上記装置に、その記憶媒体を装着し、その記憶媒体から読み出したプログラム自体が本発明の新規な機能を達成するからである。この場合、図１の構成において、例えば記憶装置１０３をフロッピーディスクで構成し、フロッピーディスクからプログラムを供給することができる。フロッピーディスクから供給されたプログラムはＲＡＭ１０２ｂにロードされて、ＣＰＵ１０１によって実行される。このための、本発明にかかるプログラムの構造的特徴は、図８に示す通りである。
【００３５】
図８の（ａ）は、プログラムによる制御実行の手順を表す図である。８０は読取り処理であり、テクスチャの基となる原画像を入出力インターフェースを介して読取り、記憶装置１０３に格納する（図２のステップＳ２０１）。８１は指定処理であり、テクスチャの基となるテクスチャ原画像上に、必要とする領域を、貼り付け先のパッチの頂点や制御点で指定する（ステップＳ２０２）。８２は生成処理であり、指定処理８１で指定された領域を囲む四角形を所定の規則に基づいて生成し、生成された四角形のうち面積が最少となる四角形を抽出する（ステップＳ２０３〜ステップＳ２０７）。
【００３６】
８３は第１変換処理であり、生成処理８２で抽出された四角形で囲まれる画像を所望の大きさの長方形画像に変換する（ステップＳ２０８〜ステップＳ２１２）。更に、８４は第２変換処理であり、先の指定処理８１において指定された指定領域（特徴点）を、前記長方形画像上の領域に変換する（ステップＳ２１３）。そして、８５は出力処理であり、第１変換処理８３で得られた長方形画像と第２変換処理８４で得られた指定領域を示す情報をテクスチャデータとして出力する（ステップＳ２１４）。
【００３７】
図８の（ｂ）は、上記各処理を実行するためのプログラムモジュールの記憶媒体への格納状態を表すメモリマップである。読取り処理モジュール８０’、指定処理モジュール８１’、生成処理モジュール８２’、第１変換処理モジュール８３’、第２変換処理モジュール８４’、出力処理モジュール８５’は、それぞれ読取り処理８０、指定処理８１、生成処理８２、第１変換処理８３、第２変換処理８４、出力処理８５を実行するためのプログラムモジュールである。
【００３８】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明はシステム或は装置にプログラムを供給することによって達成される場合にも適用できることは言うまでもない。この場合、本発明に係るプログラムを格納した記憶媒体が、本発明を構成することになる。そして、該記憶媒体からそのプログラムをシステム或は装置に読み出すことによって、そのシステム或は装置が、予め定められた仕方で動作する。
【００３９】
【発明の効果】
以上説明したように、本発明によれば、テクスチャ原画像を用意する際の撮影が簡便になるとともに、テクスチャ原画像から必要な領域を抽出する際の無駄を解消する（必要でない領域を削減する）ことが可能となる。
【００４０】
【図面の簡単な説明】
【図１】本実施形態におけるコンピュータ装置の概略の構成を表すブロック図である。
【図２】本実施形態のテクスチャデータ生成処理の手順を表すフローチャートである。
【図３】テクスチャ原画像における凸包及び四角形Ｓの生成手順を説明する図である。
【図４】四角形Ｓと長方形Ｒとの対応を説明する図である。
【図５】四角形Ｓと長方形Ｒの内部の点の対応を説明する図である。
【図６】テクスチャ原画像及び領域指定を行った状態の一例を表す図である。
【図７】図６のテクスチャ原画像から得たテクスチャデータを表す図である。
【図８】本実施の形態の制御を実現するための制御プログラムを格納した記憶媒体の構成を説明する図である。
【符号の説明】
１０１  ＣＰＵ
１０２  記憶装置２
１０３  記憶装置１
１０４  入出力インターフェース
１０５  キーボード
１０６  マウス
１０７  表示装置
【図１】
0003610131.tif 000002
【図２】
0003610131.tif 000003
【図３】
0003610131.tif 000004
【図４】
0003610131.tif 000005
【図５】
0003610131.tif 000006
【図６】
0003610131.tif 000007
【図７】
0003610131.tif 000008
【図８】
0003610131.tif 000009