テクスチャマッピング装置、方法およびプログラム
【課題】条件に応じて変化する物体表面の特性を効率的に実現する。
【解決手段】テクスチャマッピングの各処理の制御命令を生成する生成手段と、制御命令により複数のモデルデータおよびテクスチャデータの中からモデルデータおよびテクスチャデータを選択し、データ配置を決定し、データ配置によりモデルデータおよびテクスチャデータを格納する手段104と、制御命令によりモデルデータおよびテクスチャデータの中から描画に利用するモデルデータおよびテクスチャデータを選択する手段105と、制御命令により描画に利用するモデルデータおよびテクスチャデータを補正する手段106と、制御命令によって補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する手段107と、制御命令により補間されたテクスチャデータを補間されたモデルデータにマッピングする手段108とを具備する。
【解決手段】テクスチャマッピングの各処理の制御命令を生成する生成手段と、制御命令により複数のモデルデータおよびテクスチャデータの中からモデルデータおよびテクスチャデータを選択し、データ配置を決定し、データ配置によりモデルデータおよびテクスチャデータを格納する手段104と、制御命令によりモデルデータおよびテクスチャデータの中から描画に利用するモデルデータおよびテクスチャデータを選択する手段105と、制御命令により描画に利用するモデルデータおよびテクスチャデータを補正する手段106と、制御命令によって補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する手段107と、制御命令により補間されたテクスチャデータを補間されたモデルデータにマッピングする手段108とを具備する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元コンピュータグラフィックス(CG)分野における高品位なテクスチャマッピング技術において、複数の条件で取得あるいは作成したテクスチャデータに対して、物理法則等の制御データに基づき、適応的な選択および補正等を行ない、それをCGモデルにマッピングするテクスチャマッピング装置、方法およびプログラムに関する。
【背景技術】
【0002】
近年、3次元コンピュータグラフィックス(CG)技術が急速に発展しており、実写の映像と見間違える程のリアルなグラフィックス表現が可能となってきている。しかしながら、映画やテレビなどで制作される高品位なCGは、コンテンツ制作者の長時間にわたる地道な手作業によって生み出されるものが多く、膨大なコストを要してしまう。今後も、さらに多様なCG表現が求められると考えられ、高品位なCGを、いかにコストをかけず簡単に作り出せるかが課題となっている。
【0003】
CG表現の中で特に難しいとされるのが、布地や皮膚、毛などの表現である。これらの柔らかい質感を持つ素材に対しては、その物体を眺める方向(視点方向)および光を照射する方向(光源方向)によって変化する物体表面の色変化や物体自身が作り出す影(self shadow)の表現が大変重要となる。
【0004】
そこで近年、実在する素材を撮影し、その素材の特性を再現することによってリアルなCGを作り出す手法が盛んに利用されるようになってきている。視点方向および光源方向に応じた表面質感の表現に関しては、BRDF(Bi-directional Reference Distribution Function)やBTF(Bi-directional Texture Function)、PTM(Polynomial Texture Maps)と呼ばれるモデル化手法の研究が進められている(例えば、非特許文献1参照)。これらの手法は、取得データを解析することによって関数モデルを導出するというアプローチを採っている。しかしながら、実在する素材の不規則な陰影変化や輝度変化を関数モデル化するのには限界があり、多くの課題が残されている。
【0005】
一方、取得データをテクスチャデータとしてそのまま保持し、視点方向や光源方向のパラメータをもとに、適応的にテクスチャを選択してマッピングするアプローチも考えられている(例えば、非特許文献2参照)。この方法は、関数モデルでは表現できないような不規則な変化が表現できる反面、精度よく質感を再現するためには、大量のテクスチャデータが必要となり、データ量が膨大となってしまうという問題がある。
【0006】
そこで、できるだけ少ないテクスチャデータで、CGモデル表面の質感をリアルに表現するための方法がいくつか考案されている。
【0007】
しかしながらCGモデル表面の質感をリアルに表現するには、視点/光源位置の変化に応じた色変化や陰影変化だけではなく、表面の歪みや伸び縮み、状態変化や経年変化など、様々な変化を再現する必要があり、すべての変化に対してテクスチャデータを用意すると、データ量が増してしまうという問題がある。また、表面変化の表現を多様化することによって、データの保持方法や選択方法、マッピング方法が複雑化してしまうという問題もある。
【0008】
そこで、複雑な処理を効率よく制御できるようなテクスチャマッピング装置を考案し、必要最低限のデータ量でより高品位なCGを表現する必要がある。
【非特許文献1】Dana, et.al, “Reflectance and Texture of Real World Surfaces”, ACM Transaction on Graphics, 18(1):1-34, 1999.
【非特許文献2】Y. Yamauchi, M. Sekine, S. Yanagawa, “Bidirectional Texture Mapping for Realistic Cloth Rendering”, ACM SIGGRAPH2003 sketch, 2003.
【発明の開示】
【発明が解決しようとする課題】
【0009】
様々な条件に応じて変化する物体表面の特性を、テクスチャデータを用いて表現しようとした場合、複数の異なる条件で取得あるいは作成した大量のテクスチャ画像を必要とするため、現状では実用的なシステムとして利用できていない。
【0010】
また従来では、視点条件や光源条件以外の様々な条件に適用した場合に、データ量が増してしまい、その大量なデータを格納するメモリの管理が非常に困難であるという問題が生じる。また、テクスチャデータの選択方法やマッピング方法などが非常に複雑化してしまうという問題も生じる。
【0011】
この発明は、上述した事情を考慮してなされたものであり、様々な条件に応じて変化する物体表面の特性を効率的に実現するテクスチャマッピング装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上述の課題を解決するため、本発明のテクスチャマッピング装置は、複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータを入力する入力手段と、前記複数のモデルデータおよび前記複数のテクスチャデータに応じて、テクスチャマッピングに用いる制御データを作成する作成手段と、前記作成された制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段と、を具備することを特徴とする。
【0013】
また、本発明のテクスチャマッピング装置は、複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータと、テクスチャマッピングに用いる制御データと、を入力する入力手段と、前記制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段と、を具備することを特徴とする。
【発明の効果】
【0014】
本発明のテクスチャマッピング装置によれば、様々な条件に応じて変化する物体表面の特性を効率的に実現することができる。
【発明を実施するための最良の形態】
【0015】
以下、図面を参照しながら本発明の実施形態に係るテクスチャマッピング装置、方法およびプログラムについて詳細に説明する。まず、本発明の実施形態のテクスチャマッピング装置、方法およびプログラムの概略を説明する。
本発明の実施形態のテクスチャマッピング装置、方法およびプログラムは、複数の異なる条件で取得あるいは作成されたテクスチャ群を、適切な制御を与えながらCGモデルにマッピングし、CGデータを作成するためのものである。また、本実施形態のテクスチャマッピング装置、方法およびプログラムは、ネットワーク上などにデータベース化されたモデルデータおよびテクスチャデータを適宜取得してCGデータを作成するような形態でも利用することができる。
【0016】
本実施形態のテクスチャマッピング装置、方法およびプログラムは、視点方向や光源方向に応じて変化する素材表面の質感表現を効率的に実現するだけではなく、様々な条件あるいは様々な成分に適用することができる。様々な条件への適用とは、視点条件や光源条件だけではなく、時間・速度・加速度・圧力・温度・湿度など自然界での様々な条件に応じて変化する信号に対しても適用できるということである。また、様々な成分への適用とは、ピクセルデータとして色成分を扱うのではなく、法線ベクトル成分や深度成分、照明効果成分などの成分に対しても適用できるということである。さらに、テクスチャデータのみならず、モデルデータの制御も行なうことによって、適応的なCGモデルの選択・補正を行なうことができ、例えばマッピングするテクスチャに応じたCGモデルのアニメーションの変化や、震えのような微小な動き等を表現することもできる。
【0017】
第1の実施形態では、制御を伴うテクスチャマッピング装置の一連の処理例を示す。第1の実施形態においては、素材表面の形状変化に対する処理を例に挙げる。テクスチャが矩形でマッピングされるのではなく、歪んだ形状でマッピングされたり、縦横に伸び縮みをしてマッピングされたりした場合の処理を具体的に示す。
【0018】
第2の実施形態では、素材表面の状態変化に対する処理例を示す。ぬいぐるみや絨毯などに使われている短い毛をテクスチャで表現した場合などに、その毛の状態(立っているか寝ているか等)によって、マッピングするテクスチャの種類を変化させる処理を具体的に示す。
【0019】
第3の実施形態では、制御データに基づくアニメーションの変化付けに対する処理例を示す。例えば、マッピングするテクスチャに応じて、それぞれの素材の固さや柔らかさを定義することができる。その固さや柔らかさを表すパラメータに応じて、CGモデルの動きを制御する処理を具体的に示す。
【0020】
第4の実施形態では、多様な変化を表現する際の処理として、関数などを利用した物理モデルで表現するか、テクスチャを利用した実写モデルで表現するかを適応的に選択する手法について示す。関数などによって表現できる連続的な変化に対しては、制御データとして物理モデルを与え、それ以外の非連続な変化に対しては、必要最低限のテクスチャデータを利用して表現する、といった処理を具体的に示す。
【0021】
なお、本発明の実施形態のテクスチャマッピング装置、方法およびプログラムは、次世代グラフィックス処理エンジンへの搭載を見込むことができ、コンピュータ支援設計(CAD)や、各種シミュレーションエンジン等のアプリケーションへの応用が期待できる。
【0022】
(第1の実施形態)
本実施形態のテクスチャマッピング装置について図1を参照して説明する。図1は、本実施形態のテクスチャマッピング装置の構成を説明する図である。
この装置は、複数のモデルデータおよび複数の異なる条件で取得あるいは作成したテクスチャデータを入力し、制御データに基づいた適応的なテクスチャマッピングを行ない、CGデータを出力するものである。
本実施形態のテクスチャマッピング装置は、入力部101、制御データ作成部102、テクスチャマッピング制御部103、格納部104、選択部105、補正部106、補間部107、描画部108、出力部109を備えている。
【0023】
入力部101は、複数のモデルデータおよび複数の異なる条件で取得あるいは作成したテクスチャデータを入力する。
【0024】
制御データ作成部102は、入力部101で入力したモデルデータおよびテクスチャデータを入力し、テクスチャマッピングに用いる制御データを作成する。
【0025】
テクスチャマッピング制御部103は、制御データ作成部102で作成された制御データを入力し、各部104〜108へ、テクスチャマッピングの様々な処理に対して制御命令を与える。なお、制御データ作成部102とテクスチャマッピング制御部103は同一の装置部分が行ってもよい。すなわち、制御データ作成部102がモデルデータおよびテクスチャデータを入力し、テクスチャマッピング制御部103が制御データを作成し、各装置部分に制御命令を与えてもよい。
【0026】
格納部104は、入力部101で入力したモデルデータおよびテクスチャデータを入力し、テクスチャマッピング制御部103による制御命令に従って、モデルデータおよびテクスチャデータの取捨選択およびデータ配置の決定を行ない、メモリ(図示せず)上にデータを格納する。
【0027】
選択部105は、テクスチャマッピング制御部103によって指定された方法で、格納部104で格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよびテクスチャデータを選択する。
【0028】
補正部106は、テクスチャマッピング制御部103によって指定された方法で、選択部105で選択されたモデルデータおよびテクスチャデータを補正する。
【0029】
補間部107は、テクスチャマッピング制御部103によって指定された方法で、補正部106で補正されたモデルデータおよびテクスチャデータを各データ間で補間する。
【0030】
描画部108は、テクスチャマッピング制御部103によって指定された方法で、補間部107で補間されたテクスチャデータを補間部107で補間されたモデルデータにマッピングする。
【0031】
出力部109は、描画部108によって描画されたCGデータを出力する。
【0032】
次に、図1のテクスチャマッピング装置の動作の一例について図2を参照して説明する。図2は、図1に示すテクスチャマッピング装置により実現される一連の処理を示した図である。本実施形態では、制御を伴うテクスチャマッピング装置を用いることによって、新たなCG表面の表現が可能となることを示す。
【0033】
入力部101が、複数の異なる条件で複数のモデルデータに基づいて、取得あるいは作成した複数のテクスチャデータを入力する(ステップS201)。本実施形態では、単一のモデルデータを入力(複数のモデルデータの入力に関しては、第3の実施形態で説明する)するものとし、テクスチャデータに関しては、素材表面を様々な形状に変化させて撮影したテクスチャデータを扱うものとする。素材表面の様々な形状変化については後に図3、図4、図5を参照して説明する。
【0034】
次に、制御データ作成部102が入力されたモデルデータおよびテクスチャデータを利用して制御データを作成する(ステップS202)。ここでは、テクスチャマッピング処理における格納部104、選択部105、補正部106、補間部107、108においてそれぞれ必要となる制御データを作成する。以降の処理方法の説明をしながら、それぞれの処理に対する制御データの作成方法も合わせて説明する。
【0035】
次に、格納部104が、制御データの基づくモデルデータおよびテクスチャデータの格納を行なう(ステップS203)。ここでは、入力されたモデルデータおよびテクスチャデータの中からマッピングに必要となるデータを取捨選択し、それらを効率よく取り出せるようなデータ配置でメモリ上に格納する。格納部104は、どの程度の容量のデータをメモリ上に格納するかを決定する。どのデータが必要でどのデータが必要でないかどうかを指示したり、どのようなデータ配置が最適かどうかを指示したりするのが、制御データに基づく制御命令である。テクスチャデータの格納については後に図3、図4を参照して説明する。メモリ配置については後に図6、図7を参照して説明する。
【0036】
次に、選択部105が、制御データに基づくモデルデータおよびテクスチャデータの選択を行なう(ステップS203)。従来は、モデルデータの各頂点における視点条件や光源条件等に基づき、近隣の複数のテクスチャデータを選択する、といった単純なテクスチャデータの選択しかできていなかった。しかしながら、本実施形態におけるテクスチャマッピング装置では、テクスチャデータを選択する際にも、制御データに基づく制御を与えることができる。例えば、歪みの条件に対しては、指定された条件に近い近隣の複数のテクスチャデータを選択するが、伸び縮みの条件に対しては、最も近い単一のテクスチャデータしか選択しないということもできる。これは、テクスチャマッピングの品質とコストとのトレードオフを調整することに相当する。品質を向上させたい場合には、多くのテクスチャデータを選択すればよく、品質を犠牲にしてコストを低減させたい場合には、より少ないテクスチャデータを選択すればよい。また、選択部105は、複数の異なる条件による変化のうち、ある条件の変化に対する第1のテクスチャデータが、他の条件の変化に対する第2のテクスチャデータによって表現できる場合には、前記第1のテクスチャデータも選択する。
【0037】
次に、補正部106が、制御データに基づくモデルデータおよびテクスチャデータの補正を行なう(ステップS205)。補正の具体例については後に図8を参照して説明する。
【0038】
次に、補間部107が、制御データに基づくモデルデータおよびテクスチャデータの補間を行なう(ステップS206)。ここでの補間処理に関しても、従来は近隣のテクスチャデータのデータを線形補間するだけの処理であったが、制御データを与えることによって、より高度な補間処理を行なうことができる。例えば、補正部106でテクスチャデータの補正を行なったが、これにより得られたテクスチャデータがどれだけ信頼性のあるものかを信頼度として数値化することができる。補正処理が大規模であったテクスチャデータほど精細度が低下してしまっている可能性が多く、その信頼度は低く評価されるべきである。このように、信頼度の大きさに応じて適応的に補間率を変更することによって、より精細度の高いピクセルデータをマッピングすることができる。補間部107は、例えば、信頼度が低いほど補間率を低く設定する。この信頼度は、例えば、補正部106が算出する。
【0039】
次に、描画部108が、制御データに基づくモデルデータおよびテクスチャデータの描画を行なう(ステップS207)。ここでは、従来、前段の処理で得られたピクセルデータをそのまま描画フレームに描画するだけであった。しかしながら、制御データを与えることによって、より高度な描画処理を行なうことができる。例えば、前段の処理で得られたピクセルデータと制御データとして与えられた理想とするテクスチャデータのピクセルデータとを比較して、再度、色補正をしてから描画フレームに描画する、といった処理ができる。この処理の具体例は後に図9を参照して説明する。
【0040】
そして最後に、出力部109がCGデータの出力を行なう(ステップS208)。
【0041】
次に、入力部101が入力するテクスチャデータについて図3、図4、図5を参照して説明する。
入力部101は、素材表面を様々な形状に変化させて撮影したテクスチャデータを入力する。素材表面の様々な形状変化とは、図3および図4に示すような変化である。すなわち、素材をφdだけ歪ませて取得したもの(図3)や、素材をdwだけ横に伸ばして取得したもの(図4)、素材をdhだけ縦に伸ばして取得したもの(図4)などである。本実施形態では、図5に示すようにCGモデルにマッピングされるテクスチャの歪みに応じて、テクスチャデータを選択し、補正・補間をしながらマッピングする処理について説明する。
【0042】
次に、格納部104がテクスチャデータを格納するしないについて図3、図4を参照して説明する。
テクスチャマッピング制御部103の指示が、例えば、これから描画しようとするCGデータに、素材が伸び縮みするような表現が使われていない、または、そういった表現があるが、実写のテクスチャデータを使うほどの品質の高い表現は必要としないといった場合には、格納部104は、図4に示すような様々な伸び縮みで取得した複数のテクスチャデータをメモリ上に格納する必要がなく、標準的な単一のテクスチャデータのみをメモリ上に格納すればよい。
【0043】
一方、テクスチャマッピング制御部103からの指示が表面の歪みに対する高品位な表現が必要であるという場合には、図3に示すような様々な歪みで取得した複数のテクスチャデータを細かいサンプリング間隔でメモリ上に格納する必要がある。
【0044】
次に、格納部104がテクスチャデータを格納する場合のメモリでのデータの配置について図6、図7を参照して説明する。
テクスチャマッピング制御部103が行う最適なデータ配置に関する制御命令は、マッピングする際の処理内容や用いるグラフィックスLSIの特性を考慮して、効率の良いデータ配置を指示する。格納部104は、例えば、利用するハードウェアの特性に応じて、キャッシュへのヒット率が向上する、かつ、データをロードする回数ができるだけ少なくなるようなデータ配置を決定する。例えば、斜めに歪んだテクスチャデータをそのままメモリ上に配置するのは効率的ではないため、格納部104は、アフィン変換処理などを行ない、矩形のテクスチャデータに置換してからメモリ上に格納する。例えば、図6、図7に示すようなメモリ配置を行なう。
【0045】
歪み角度の異なる複数のテクスチャデータを全て矩形に直したものをメモリ上に配置するのであるが、ある決まった条件φdの様々なテクスチャ座標(u,v)にアクセスすることが多い場合には、格納部104は図6のようなデータ配列をさせるのが良い。図6の左側は2Dテクスチャにタイル状に各条件のテクスチャを並べたものである。また、図6の右側は3Dテクスチャにレイヤー上に各条件のテクスチャを並べたものである。これらは、グラフィックスLSIがどのようなテクスチャ配置に対応しているか、どちらの方がデータへのアクセス速度が速いかによって最適なデータ配列を決めることができる。
【0046】
また、異なる条件φdのある決まったテクスチャ座標(u,v)にアクセスすることが多い場合には、格納部104は図7のようなデータ配置をさせるのが良い。図7の左側は、全ての条件φdのある決まったテクスチャ座標(u,v)のピクセルデータをひとまとめにし、それをタイル状に並べたものである。また、図7の右側は、図7の左側のようにデータ配置したピクセルデータをレイヤー方向にも並べた例である。このようにして、マッピング処理の内容や利用するグラフィックスLSIの種類に応じて、適応的にメモリへの格納方法を制御することができる。
【0047】
次に、補正部106が行う補正の一例について図8を参照して説明する。制御データに基づくテクスチャデータの補正例を図8に示す。
例えば、φd=100°のテクスチャをマッピングする際に、選択部105がφd=90°のテクスチャデータとφd=110°のテクスチャデータを選択したとする。この時、補正部106が、φd=90°のテクスチャデータをφd=100°のテクスチャデータの状態に近づけるような補正をすることによって、よりリアルな表現を実現することができる。但し、ここで制御データによる制御を与えない限りは、図8の右上に示すような線形的な補正しか行なうことができない。しかしながら、テクスチャマッピング制御部103が、図8の左下に模式的に示すような制御データを与えることによって、図8の右下の示すような不規則な補正を行なうことができる。ここで与えられた制御データは、素材特性の物理モデルが反映されたものであり、複数の歪み条件で取得したテクスチャデータを解析することによって導出される。
【0048】
次に、描画部108が行う描画処理の一例について図9を参照して説明する。
補間部107までで図9の左上のようなテクスチャデータが得られた場合に、そのまま描画してしまうと全体的に映像の精細度が低下してしまう可能性がある。その際に、テクスチャマッピング制御部103が、より理想的な映像を描画するための指示を行なうような制御データ(テクスチャデータ)を与える。こうすることによって、描画部108は図9の左下に模式的に示したようにできるだけ格子模様の柄だけは再現したいことを認識し、描画部108がテクスチャデータを若干、色補正することによって、比較的精細度の高い映像を描画することができる。
【0049】
以上に示した第1の実施形態によれば、テクスチャマッピングにおける各フェースにおいて様々な制御を与えながら処理を行なうことによって、従来不可能であった高度なCGデータの描画を行なうことができる。本実施形態においては、CGモデル表面の素材が歪んだり、伸び縮みしたりするような変化を表現することができ、素材の形状変化における特性をリアルに再現できる。
【0050】
また、本実施形態は、図10に示すようなテクスチャマッピング装置においても実施することができる。なお、図11は、図10に示すテクスチャマッピング装置により実現される一連の処理を示した図である。以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。また、以下、既に説明したステップと同様なものは同一の番号を付してその説明を省略する。
図10に示すテクスチャマッピング装置は、図1に示すテクスチャマッピング装置が備えている制御データ作成部102を持たず、入力部1001によって制御データを外部から入力している。このような装置によって、モデルデータおよびテクスチャデータからは作成することのできない全く別の制御データを入力することもできる(ステップS1101)。
【0051】
図1および図10に示したテクスチャマッピング装置の大きな特徴は、テクスチャマッピングを行なう各処理に対して、ある制御データに基づいた制御命令にしたがって処理を行なうという点である。
従来のテクスチャマッピング装置においては、モデルデータおよびテクスチャデータに応じた適用的な処理を行なうことができず、単純なテクスチャの選択・補正・補間によってのみテクスチャマッピングを実現することになる。例えば、図12に示したような空間の中で、視点の位置および光源の位置θc,φc,θl,φlをそれぞれ一定間隔ずつ変化させながら取得したテクスチャ群をマッピングする場合を考えてみる。一定間隔で取得した複数のテクスチャデータを規則的にメモリ上に格納しておき、CGモデルの頂点毎に視点・光源条件を算出した後、その条件に対応するテクスチャデータを選択し、選択されたテクスチャデータをCGモデルにマッピングするといった処理となる。また、視点・光源条件が正しくマッチングするテクスチャデータが存在しない場合には、近隣の複数のテクスチャデータを利用して、線形補間することによってマッピングする色情報を求める。しかしながら、従来のテクスチャマッピング装置では、このような単純な処理しか行なうことができず。モデルデータやテクスチャデータに応じて、適応的に処理の内容を変化させることができない。
【0052】
(第2の実施形態)
本実施形態では、図1または図10に示すテクスチャマッピング装置を用いて、CG表面にマッピングされる素材の状態変化を表現するための処理について示す。テクスチャマッピング装置における全体的な処理フロー(図2)については第1の実施形態で説明したので、本実施形態では特徴的な処理方法についてのみ示す。
本実施形態では、入力部101は、複数の異なる条件で取得あるいは作成したテクスチャデータとして、図13に示すような複数のテクスチャデータを入力する。この例は、ぬいぐるみや絨毯などに使われる短い毛を様々な状態に変化させて取得したものである。毛の状態を厳密に揃えるのは実際には困難であるが、大まかに言えば、「毛の状態1」は表面に対して毛が90°の状態、「毛の状態2」は表面に対して毛が70°の状態、「毛の状態3」は表面に対して毛が50°の状態、「毛の状態4」は表面に対して毛が30°の状態、「毛の状態5」は表面に対して毛が10°の状態といったように、入力部101が複数の素材表面の状態でテクスチャデータを取得する。
【0053】
格納部104は、テクスチャデータの格納に関して、第1の実施形態と同様に、マッピングする際の処理内容や用いるグラフィックスLSIの特性を考慮して、効率の良いデータ配置を行なってメモリ上に格納する。効率の良いデータ配置としては、テクスチャデータ内のあるピクセルデータをロードする際に、テクスチャキャッシュにヒットする確率が高く、一回一回のピクセルデータのロードにできるだけ時間がかからないようなものが良い。また、グラフィックスLSIのハードウェアの補間機能を有効に利用することができて、ピクセルデータをロードする回数自体が少ないものが良い。
【0054】
選択部105は、テクスチャデータの選択に関して、素材の状態変化だけではなく、視点条件など他の変化も考慮して選択することができる。その例を図14に示す。ここでは、モデルデータのある頂点に、表面に対して毛が80°の状態のものをマッピングしたい場合を考える。通常ならば、表面に対して毛が90°である「毛の状態1(視点1)」と、表面に対して毛が70°である「毛の状態2(視点1)」とが選ばれマッピングに利用されるわけであるが、これらの2つのテクスチャ以外にも視点条件を変化させた「毛の状態1(視点2)」や「毛の状態2(視点3)」のテクスチャデータも選択することができる。図14を見ても分かるとおり、選択された全てのテクスチャデータが、表面に対して毛が80°の状態のものに似通っている。このようにして、素材の状態変化を、視点条件の変化によって擬似的に表現することもできる。
【0055】
補間部107は、テクスチャデータの補間に関して、単純に選択されたテクスチャデータを線形補間するだけではなく、素材表面の状態変化の特性に従って、補間方法を制御することができる。その例を図15A、図15B、図15Cに示す。ここでは、ぬいぐるみや絨毯の表面を指で触り、毛の状態を変化させるようなシーンを考える。最初は、素材表面が全て「毛の状態(1)」つまり毛が全て寝ている状態であったとする。そして、その素材表面を指で触ると、その触った部分は「毛の状態(2)」、つまり毛が立っている状態に変化する。この時、テクスチャマッピングの処理としては、選択部105が、指で触られていない部分は「毛の状態(1)」を選択し、指で触られた部分は「毛の状態(2)」を選択して、それぞれマッピングされることになる。
ここで問題となるのが、その境界部分である。毛の状態変化の特性を考えてみると、「毛の状態(1)」と「毛の状態(2)」との境界では、はっきりと境界線が見えている部分もあれば滑らかに変化している部分もある。そこで、図15Cに示すような制御データを用意し、補間の方法を制御する。ここでは、指で触り始めた部分に関しては「毛の状態(1)」と「毛の状態(2)」とを滑らかに補間し、指の両脇部分に関しては補間をせずにはっきりと境界線を出すような処理を行なっている。補間部107は、「毛の状態(1)」と「毛の状態(2)」との補間は、例えば、これらの状態の物理モデルによる値にそれぞれ重みをつけて、加算して補間する。このようにして、補間をしたりしなかったり、もしくは線形補間ではなく、非線形な補間をしたりと、制御データによって自由な補間処理を行なうことができる。
【0056】
以上に示した第2の実施形態によれば、素材表面の状態変化をリアルに再現できる。
【0057】
(第3の実施形態)
本実施形態では、図1または図10に示すテクスチャマッピング装置を用いて、マッピングするテクスチャに応じてアニメーションを変化させたり、アニメーションの動きに合わせてテクスチャのマッピング方法を変化させたりする方法について説明する。本実施形態では、特に、モデルデータの制御について具体例とともに説明する。テクスチャマッピング装置における全体的な処理フロー(図2)については第1の実施形態で説明したので、本実施形態では特徴的な処理方法についてのみ示す。
【0058】
まず、マッピングするテクスチャに応じてアニメーションを変化させる方法の具体例について図16A、図16B、図16C、図16Dを参照して説明する。ここでは、格納部104が3種類のテクスチャデータをメモリ上に格納しており、モデルデータにこれらの複数のテクスチャを切り替えながらマッピングするような場合を考えてみる。3種類の素材にはそれぞれ特徴があり、図16Bに示した「テクスチャデータ1」は固い素材、図16Cに示した「テクスチャデータ2」はやや固い素材、図16Dに示した「テクスチャデータ3」は柔らかい素材であったとする。このとき、マッピングするテクスチャに応じて、図16B、図16C、図16Dに示すようなアニメーションの変化をさせる必要がある。具体的には、テクスチャマッピング制御部103からの制御データに基づいて、選択部105がモデルデータの選択を行なう際に、マッピングするテクスチャデータに応じて、選択部105が適切なアニメーションデータを選択することになる。例えば、素材の固さ・柔らかさを数段階で評価しておき、そのパラメータに応じて、アニメーションを表現する行列(マトリクス)を変更することによって、アニメーションを変化させることができる。
【0059】
次に、アニメーションの動きに合わせてテクスチャマッピングの方法を変化させる方法について説明する。筋肉や皮膚などの表現を行なう際に、モデルデータの動きに合わせて、筋肉が伸び縮みしたり、皮膚が微妙に震えたりすることによって、よりリアリティが向上する。そのような表現を実現させるために、筋肉や皮膚などのテクスチャデータに、アニメーションの動きに応じた形状変化の情報や微小な動きの情報を埋め込んでおき、マッピングされるテクスチャデータによって、テクスチャマッピング制御部103がモデルデータの形状やアニメーションを制御する。具体的には、補正部106がモデルデータの補正を行なう際に、マッピングするテクスチャの情報およびアニメーションの状況を基に、補正部106が、モデルデータのうちの、頂点データの位置座標を微小に変化させたり、テクスチャ座標を変化させたりといった処理を行なう。
【0060】
以上に示した第3の実施形態によれば、テクスチャマッピングの際に、制御データに基づいてモデルデータも制御することができ、アニメーションの制御やマッピング方法の制御などを行なうことができる。
【0061】
(第4の実施形態)
本実施形態では、図1または図10に示すテクスチャマッピング装置を用いて、多様な変化を同時に表現する際の処理方法について示す。テクスチャマッピング装置における全体的な処理フロー(図2)については第1の実施形態で説明したので、本実施形態では特徴的な処理方法についてのみ示す。
【0062】
CGモデル表面は、視点条件・光源条件・素材表面の形状・素材表面の状態・温度・湿度・濡れ・劣化など様々な基準によって変化が生じる。これらの変化を全てテクスチャデータで取得しておき、条件によってマッピングするテクスチャデータを切り替えることもできるが、全ての変化を同時に表現しようとすると、テクスチャデータが非常に膨大な量になってしまう。
【0063】
そこで、関数などによって表現できる連続的な変化と、テクスチャデータでしか表現することのできない非連続的な変化とをうまく切り分けることによって、効率のよいマッピングを実現する。具体的には、制御データ作成部102が制御データを作成する時に、制御データ作成部102は、連続的な変化をする部分は、テクスチャデータの解析結果もしくは与えられた物理法則を基にして、関数などを利用した物理モデル(解析的な表現ができる物理モデル)で表現するという制御データを作成する。そして、選択部105、補正部106、補間部107は、制御データをテクスチャデータの選択・補正・補間の際の制御データとしてテクスチャマッピング処理時に利用する。
【0064】
一方、非連続的な変化をする部分は、テクスチャデータでしか表現することができないため、制御データ作成部102は、その必要最低限のテクスチャデータをメモリ上に格納するような制御データを作成する。この時、テクスチャデータは、物理モデル等で計算される値からの差分のみを保持していれば良いため、より少ないビット数で済む。
【0065】
以上に示した第4の実施形態によれば、本実施形態のテクスチャマッピング装置の中で、モデルベースの表現と実写ベースの表現とをバランスよく融合させることによって、より少ないデータ量で、より高品位なCG表現を実現させることができる。
【0066】
(変形例)
変形例として、具体的な例を図17および図18を参照して説明する。テクスチャマッピング制御部が、テクスチャマッピングにおける全ての処理に対して制御命令を与える必要はなく、必要に応じて、例えば、補正部1705のみに制御命令を与えたり、補間部1804のみに制御命令を与えたりしてもよい(図17、図18)。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0067】
図17では、新たな装置部分は、制御データ作成部1701、テクスチャマッピング制御部1702、格納部1703、選択部1704、補正部1705、補間部1706、描画部1707である。図1と異なる点は、補正部1705にのみテクスチャマッピング制御部1702からの制御データを受けている点である。また、補正部1705の処理は上述した処理と同様である。制御データ作成部1701は、補正部1705に出力するための制御データを作成する。そして、格納部1703、選択部1704、補間部1706、描画部1707は、制御データを入力しない以外は上述した処理と同様の処理を行う。
【0068】
図18も図17の場合と同様である。すなわち、図18では、新たな装置部分は、制御データ作成部1801、テクスチャマッピング制御部1802、補正部1803、補間部1804である。図1と異なる点は、補間部1804にのみテクスチャマッピング制御部1702からの制御データを受けている点である。補間部1804の処理は上述した処理と同様である。制御データ作成部1801は、補間部1804に出力するための制御データを作成する。そして、格納部1703、選択部1704、補正部1803、補間部1804は、制御データを入力しない以外は上述した処理と同様の処理を行う。
【0069】
図17、図18は、一例に過ぎず、格納部104、選択部105、補正部106、補間部107、描画部108のうちのいずれか1つ、またはいずれか2つ、3つ、4つにテクスチャマッピング制御部103から制御データを出力して、各部が制御データに基づいて、上述した処理を行ってもよい。
【0070】
以上、第1の実施形態では、制御を伴うテクスチャマッピング処理の全体的な流れを示すとともに、素材表面の形状変化に対する処理方法について示した。第2の実施形態では、素材表面の状態変化に対する処理方法について示した。第3の実施形態では、モデルデータに対する制御方法について示し、第4の実施形態では、モデルベースの表現と実写ベースの表現とをうまく切り分けて、効率よく処理を行なう方法について示した。
【0071】
以上説明した本発明の実施形態によれば、制御を伴うテクスチャマッピング装置を利用することによって、視点条件や光源条件のみならず様々な条件で変化するCGモデル表面の質感をリアルに表現することができる。モデルデータおよびテクスチャデータの利用方法をうまく制御することによって、より少ないデータ量で、より高品位な表現が可能となる。また、グラフィックスLSIなどのハードウェアの特性を有効に利用することができ、高速なテクスチャマッピング処理を実現することができる。
また、様々な条件によって変化するテクスチャ群を、制御データに基づいてCGモデルに適応的にマッピングすることによって、CGモデル表面のリアルな質感を表現することができる。また、制御データによって、必要最低限のモデルデータおよびテクスチャデータを取捨選択することができ、より少ないデータ量で、高品位なCGデータを出力することができる。
【0072】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態のテクスチャマッピング装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態のテクスチャマッピング装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーションシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0073】
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【0074】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0075】
【図1】本発明の実施形態に係るテクスチャマッピング装置のブロック図。
【図2】図1のテクスチャマッピング装置の動作の一例を示すフローチャート。
【図3】テクスチャデータについて説明するための図。
【図4】テクスチャデータについて説明するための図。
【図5】形状変化に関するテクスチャデータについて説明するための図。
【図6】図1の格納部が格納するデータのメモリ配置について説明するための図。
【図7】図1の格納部が格納するデータのメモリ配置について説明するための図。
【図8】図1の補正部が行う補正の具体例を示す図。
【図9】図1の描画部が行う描画の具体例を示す図。
【図10】図1とは異なる、本発明の実施形態に係るテクスチャマッピング装置のブロック図。
【図11】図10のテクスチャマッピング装置の動作の一例を示すフローチャート。
【図12】テクスチャと視点の位置および光源の位置との関係を示す図。
【図13】本発明の第2の実施形態で入力部が入力するテクスチャデータを示す図。
【図14】第2の実施形態で選択部が選択するテクスチャデータを説明するための図。
【図15A】第2の実施形態で選択部が選択する選択肢である2つのテクスチャデータを示す図。
【図15B】選択部の選択するテクスチャデータの分布を示す図。
【図15C】選択部が入力する制御データを示す図。
【図16A】格納部が格納しているモデルデータの一例を示す図。
【図16B】図16Aのモデルデータに対応するある1つのテクスチャデータを示す図。
【図16C】図16Aのモデルデータに対応するある1つのテクスチャデータを示す図。
【図16D】図16Aのモデルデータに対応するある1つのテクスチャデータを示す図。
【図17】本発明の実施形態の変形例のテクスチャマッピング装置のブロック図。
【図18】本発明の実施形態の変形例のテクスチャマッピング装置のブロック図。
【符号の説明】
【0076】
101、1001…入力部、102、1701、1801…制御データ作成部、103、1702、1802…テクスチャマッピング制御部、104、1703…格納部、105、1704…選択部、106、1705、1803…補正部、107、1706、1804…補間部、108、1707…描画部、109…出力部。
【技術分野】
【0001】
本発明は、3次元コンピュータグラフィックス(CG)分野における高品位なテクスチャマッピング技術において、複数の条件で取得あるいは作成したテクスチャデータに対して、物理法則等の制御データに基づき、適応的な選択および補正等を行ない、それをCGモデルにマッピングするテクスチャマッピング装置、方法およびプログラムに関する。
【背景技術】
【0002】
近年、3次元コンピュータグラフィックス(CG)技術が急速に発展しており、実写の映像と見間違える程のリアルなグラフィックス表現が可能となってきている。しかしながら、映画やテレビなどで制作される高品位なCGは、コンテンツ制作者の長時間にわたる地道な手作業によって生み出されるものが多く、膨大なコストを要してしまう。今後も、さらに多様なCG表現が求められると考えられ、高品位なCGを、いかにコストをかけず簡単に作り出せるかが課題となっている。
【0003】
CG表現の中で特に難しいとされるのが、布地や皮膚、毛などの表現である。これらの柔らかい質感を持つ素材に対しては、その物体を眺める方向(視点方向)および光を照射する方向(光源方向)によって変化する物体表面の色変化や物体自身が作り出す影(self shadow)の表現が大変重要となる。
【0004】
そこで近年、実在する素材を撮影し、その素材の特性を再現することによってリアルなCGを作り出す手法が盛んに利用されるようになってきている。視点方向および光源方向に応じた表面質感の表現に関しては、BRDF(Bi-directional Reference Distribution Function)やBTF(Bi-directional Texture Function)、PTM(Polynomial Texture Maps)と呼ばれるモデル化手法の研究が進められている(例えば、非特許文献1参照)。これらの手法は、取得データを解析することによって関数モデルを導出するというアプローチを採っている。しかしながら、実在する素材の不規則な陰影変化や輝度変化を関数モデル化するのには限界があり、多くの課題が残されている。
【0005】
一方、取得データをテクスチャデータとしてそのまま保持し、視点方向や光源方向のパラメータをもとに、適応的にテクスチャを選択してマッピングするアプローチも考えられている(例えば、非特許文献2参照)。この方法は、関数モデルでは表現できないような不規則な変化が表現できる反面、精度よく質感を再現するためには、大量のテクスチャデータが必要となり、データ量が膨大となってしまうという問題がある。
【0006】
そこで、できるだけ少ないテクスチャデータで、CGモデル表面の質感をリアルに表現するための方法がいくつか考案されている。
【0007】
しかしながらCGモデル表面の質感をリアルに表現するには、視点/光源位置の変化に応じた色変化や陰影変化だけではなく、表面の歪みや伸び縮み、状態変化や経年変化など、様々な変化を再現する必要があり、すべての変化に対してテクスチャデータを用意すると、データ量が増してしまうという問題がある。また、表面変化の表現を多様化することによって、データの保持方法や選択方法、マッピング方法が複雑化してしまうという問題もある。
【0008】
そこで、複雑な処理を効率よく制御できるようなテクスチャマッピング装置を考案し、必要最低限のデータ量でより高品位なCGを表現する必要がある。
【非特許文献1】Dana, et.al, “Reflectance and Texture of Real World Surfaces”, ACM Transaction on Graphics, 18(1):1-34, 1999.
【非特許文献2】Y. Yamauchi, M. Sekine, S. Yanagawa, “Bidirectional Texture Mapping for Realistic Cloth Rendering”, ACM SIGGRAPH2003 sketch, 2003.
【発明の開示】
【発明が解決しようとする課題】
【0009】
様々な条件に応じて変化する物体表面の特性を、テクスチャデータを用いて表現しようとした場合、複数の異なる条件で取得あるいは作成した大量のテクスチャ画像を必要とするため、現状では実用的なシステムとして利用できていない。
【0010】
また従来では、視点条件や光源条件以外の様々な条件に適用した場合に、データ量が増してしまい、その大量なデータを格納するメモリの管理が非常に困難であるという問題が生じる。また、テクスチャデータの選択方法やマッピング方法などが非常に複雑化してしまうという問題も生じる。
【0011】
この発明は、上述した事情を考慮してなされたものであり、様々な条件に応じて変化する物体表面の特性を効率的に実現するテクスチャマッピング装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上述の課題を解決するため、本発明のテクスチャマッピング装置は、複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータを入力する入力手段と、前記複数のモデルデータおよび前記複数のテクスチャデータに応じて、テクスチャマッピングに用いる制御データを作成する作成手段と、前記作成された制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段と、を具備することを特徴とする。
【0013】
また、本発明のテクスチャマッピング装置は、複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータと、テクスチャマッピングに用いる制御データと、を入力する入力手段と、前記制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段と、を具備することを特徴とする。
【発明の効果】
【0014】
本発明のテクスチャマッピング装置によれば、様々な条件に応じて変化する物体表面の特性を効率的に実現することができる。
【発明を実施するための最良の形態】
【0015】
以下、図面を参照しながら本発明の実施形態に係るテクスチャマッピング装置、方法およびプログラムについて詳細に説明する。まず、本発明の実施形態のテクスチャマッピング装置、方法およびプログラムの概略を説明する。
本発明の実施形態のテクスチャマッピング装置、方法およびプログラムは、複数の異なる条件で取得あるいは作成されたテクスチャ群を、適切な制御を与えながらCGモデルにマッピングし、CGデータを作成するためのものである。また、本実施形態のテクスチャマッピング装置、方法およびプログラムは、ネットワーク上などにデータベース化されたモデルデータおよびテクスチャデータを適宜取得してCGデータを作成するような形態でも利用することができる。
【0016】
本実施形態のテクスチャマッピング装置、方法およびプログラムは、視点方向や光源方向に応じて変化する素材表面の質感表現を効率的に実現するだけではなく、様々な条件あるいは様々な成分に適用することができる。様々な条件への適用とは、視点条件や光源条件だけではなく、時間・速度・加速度・圧力・温度・湿度など自然界での様々な条件に応じて変化する信号に対しても適用できるということである。また、様々な成分への適用とは、ピクセルデータとして色成分を扱うのではなく、法線ベクトル成分や深度成分、照明効果成分などの成分に対しても適用できるということである。さらに、テクスチャデータのみならず、モデルデータの制御も行なうことによって、適応的なCGモデルの選択・補正を行なうことができ、例えばマッピングするテクスチャに応じたCGモデルのアニメーションの変化や、震えのような微小な動き等を表現することもできる。
【0017】
第1の実施形態では、制御を伴うテクスチャマッピング装置の一連の処理例を示す。第1の実施形態においては、素材表面の形状変化に対する処理を例に挙げる。テクスチャが矩形でマッピングされるのではなく、歪んだ形状でマッピングされたり、縦横に伸び縮みをしてマッピングされたりした場合の処理を具体的に示す。
【0018】
第2の実施形態では、素材表面の状態変化に対する処理例を示す。ぬいぐるみや絨毯などに使われている短い毛をテクスチャで表現した場合などに、その毛の状態(立っているか寝ているか等)によって、マッピングするテクスチャの種類を変化させる処理を具体的に示す。
【0019】
第3の実施形態では、制御データに基づくアニメーションの変化付けに対する処理例を示す。例えば、マッピングするテクスチャに応じて、それぞれの素材の固さや柔らかさを定義することができる。その固さや柔らかさを表すパラメータに応じて、CGモデルの動きを制御する処理を具体的に示す。
【0020】
第4の実施形態では、多様な変化を表現する際の処理として、関数などを利用した物理モデルで表現するか、テクスチャを利用した実写モデルで表現するかを適応的に選択する手法について示す。関数などによって表現できる連続的な変化に対しては、制御データとして物理モデルを与え、それ以外の非連続な変化に対しては、必要最低限のテクスチャデータを利用して表現する、といった処理を具体的に示す。
【0021】
なお、本発明の実施形態のテクスチャマッピング装置、方法およびプログラムは、次世代グラフィックス処理エンジンへの搭載を見込むことができ、コンピュータ支援設計(CAD)や、各種シミュレーションエンジン等のアプリケーションへの応用が期待できる。
【0022】
(第1の実施形態)
本実施形態のテクスチャマッピング装置について図1を参照して説明する。図1は、本実施形態のテクスチャマッピング装置の構成を説明する図である。
この装置は、複数のモデルデータおよび複数の異なる条件で取得あるいは作成したテクスチャデータを入力し、制御データに基づいた適応的なテクスチャマッピングを行ない、CGデータを出力するものである。
本実施形態のテクスチャマッピング装置は、入力部101、制御データ作成部102、テクスチャマッピング制御部103、格納部104、選択部105、補正部106、補間部107、描画部108、出力部109を備えている。
【0023】
入力部101は、複数のモデルデータおよび複数の異なる条件で取得あるいは作成したテクスチャデータを入力する。
【0024】
制御データ作成部102は、入力部101で入力したモデルデータおよびテクスチャデータを入力し、テクスチャマッピングに用いる制御データを作成する。
【0025】
テクスチャマッピング制御部103は、制御データ作成部102で作成された制御データを入力し、各部104〜108へ、テクスチャマッピングの様々な処理に対して制御命令を与える。なお、制御データ作成部102とテクスチャマッピング制御部103は同一の装置部分が行ってもよい。すなわち、制御データ作成部102がモデルデータおよびテクスチャデータを入力し、テクスチャマッピング制御部103が制御データを作成し、各装置部分に制御命令を与えてもよい。
【0026】
格納部104は、入力部101で入力したモデルデータおよびテクスチャデータを入力し、テクスチャマッピング制御部103による制御命令に従って、モデルデータおよびテクスチャデータの取捨選択およびデータ配置の決定を行ない、メモリ(図示せず)上にデータを格納する。
【0027】
選択部105は、テクスチャマッピング制御部103によって指定された方法で、格納部104で格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよびテクスチャデータを選択する。
【0028】
補正部106は、テクスチャマッピング制御部103によって指定された方法で、選択部105で選択されたモデルデータおよびテクスチャデータを補正する。
【0029】
補間部107は、テクスチャマッピング制御部103によって指定された方法で、補正部106で補正されたモデルデータおよびテクスチャデータを各データ間で補間する。
【0030】
描画部108は、テクスチャマッピング制御部103によって指定された方法で、補間部107で補間されたテクスチャデータを補間部107で補間されたモデルデータにマッピングする。
【0031】
出力部109は、描画部108によって描画されたCGデータを出力する。
【0032】
次に、図1のテクスチャマッピング装置の動作の一例について図2を参照して説明する。図2は、図1に示すテクスチャマッピング装置により実現される一連の処理を示した図である。本実施形態では、制御を伴うテクスチャマッピング装置を用いることによって、新たなCG表面の表現が可能となることを示す。
【0033】
入力部101が、複数の異なる条件で複数のモデルデータに基づいて、取得あるいは作成した複数のテクスチャデータを入力する(ステップS201)。本実施形態では、単一のモデルデータを入力(複数のモデルデータの入力に関しては、第3の実施形態で説明する)するものとし、テクスチャデータに関しては、素材表面を様々な形状に変化させて撮影したテクスチャデータを扱うものとする。素材表面の様々な形状変化については後に図3、図4、図5を参照して説明する。
【0034】
次に、制御データ作成部102が入力されたモデルデータおよびテクスチャデータを利用して制御データを作成する(ステップS202)。ここでは、テクスチャマッピング処理における格納部104、選択部105、補正部106、補間部107、108においてそれぞれ必要となる制御データを作成する。以降の処理方法の説明をしながら、それぞれの処理に対する制御データの作成方法も合わせて説明する。
【0035】
次に、格納部104が、制御データの基づくモデルデータおよびテクスチャデータの格納を行なう(ステップS203)。ここでは、入力されたモデルデータおよびテクスチャデータの中からマッピングに必要となるデータを取捨選択し、それらを効率よく取り出せるようなデータ配置でメモリ上に格納する。格納部104は、どの程度の容量のデータをメモリ上に格納するかを決定する。どのデータが必要でどのデータが必要でないかどうかを指示したり、どのようなデータ配置が最適かどうかを指示したりするのが、制御データに基づく制御命令である。テクスチャデータの格納については後に図3、図4を参照して説明する。メモリ配置については後に図6、図7を参照して説明する。
【0036】
次に、選択部105が、制御データに基づくモデルデータおよびテクスチャデータの選択を行なう(ステップS203)。従来は、モデルデータの各頂点における視点条件や光源条件等に基づき、近隣の複数のテクスチャデータを選択する、といった単純なテクスチャデータの選択しかできていなかった。しかしながら、本実施形態におけるテクスチャマッピング装置では、テクスチャデータを選択する際にも、制御データに基づく制御を与えることができる。例えば、歪みの条件に対しては、指定された条件に近い近隣の複数のテクスチャデータを選択するが、伸び縮みの条件に対しては、最も近い単一のテクスチャデータしか選択しないということもできる。これは、テクスチャマッピングの品質とコストとのトレードオフを調整することに相当する。品質を向上させたい場合には、多くのテクスチャデータを選択すればよく、品質を犠牲にしてコストを低減させたい場合には、より少ないテクスチャデータを選択すればよい。また、選択部105は、複数の異なる条件による変化のうち、ある条件の変化に対する第1のテクスチャデータが、他の条件の変化に対する第2のテクスチャデータによって表現できる場合には、前記第1のテクスチャデータも選択する。
【0037】
次に、補正部106が、制御データに基づくモデルデータおよびテクスチャデータの補正を行なう(ステップS205)。補正の具体例については後に図8を参照して説明する。
【0038】
次に、補間部107が、制御データに基づくモデルデータおよびテクスチャデータの補間を行なう(ステップS206)。ここでの補間処理に関しても、従来は近隣のテクスチャデータのデータを線形補間するだけの処理であったが、制御データを与えることによって、より高度な補間処理を行なうことができる。例えば、補正部106でテクスチャデータの補正を行なったが、これにより得られたテクスチャデータがどれだけ信頼性のあるものかを信頼度として数値化することができる。補正処理が大規模であったテクスチャデータほど精細度が低下してしまっている可能性が多く、その信頼度は低く評価されるべきである。このように、信頼度の大きさに応じて適応的に補間率を変更することによって、より精細度の高いピクセルデータをマッピングすることができる。補間部107は、例えば、信頼度が低いほど補間率を低く設定する。この信頼度は、例えば、補正部106が算出する。
【0039】
次に、描画部108が、制御データに基づくモデルデータおよびテクスチャデータの描画を行なう(ステップS207)。ここでは、従来、前段の処理で得られたピクセルデータをそのまま描画フレームに描画するだけであった。しかしながら、制御データを与えることによって、より高度な描画処理を行なうことができる。例えば、前段の処理で得られたピクセルデータと制御データとして与えられた理想とするテクスチャデータのピクセルデータとを比較して、再度、色補正をしてから描画フレームに描画する、といった処理ができる。この処理の具体例は後に図9を参照して説明する。
【0040】
そして最後に、出力部109がCGデータの出力を行なう(ステップS208)。
【0041】
次に、入力部101が入力するテクスチャデータについて図3、図4、図5を参照して説明する。
入力部101は、素材表面を様々な形状に変化させて撮影したテクスチャデータを入力する。素材表面の様々な形状変化とは、図3および図4に示すような変化である。すなわち、素材をφdだけ歪ませて取得したもの(図3)や、素材をdwだけ横に伸ばして取得したもの(図4)、素材をdhだけ縦に伸ばして取得したもの(図4)などである。本実施形態では、図5に示すようにCGモデルにマッピングされるテクスチャの歪みに応じて、テクスチャデータを選択し、補正・補間をしながらマッピングする処理について説明する。
【0042】
次に、格納部104がテクスチャデータを格納するしないについて図3、図4を参照して説明する。
テクスチャマッピング制御部103の指示が、例えば、これから描画しようとするCGデータに、素材が伸び縮みするような表現が使われていない、または、そういった表現があるが、実写のテクスチャデータを使うほどの品質の高い表現は必要としないといった場合には、格納部104は、図4に示すような様々な伸び縮みで取得した複数のテクスチャデータをメモリ上に格納する必要がなく、標準的な単一のテクスチャデータのみをメモリ上に格納すればよい。
【0043】
一方、テクスチャマッピング制御部103からの指示が表面の歪みに対する高品位な表現が必要であるという場合には、図3に示すような様々な歪みで取得した複数のテクスチャデータを細かいサンプリング間隔でメモリ上に格納する必要がある。
【0044】
次に、格納部104がテクスチャデータを格納する場合のメモリでのデータの配置について図6、図7を参照して説明する。
テクスチャマッピング制御部103が行う最適なデータ配置に関する制御命令は、マッピングする際の処理内容や用いるグラフィックスLSIの特性を考慮して、効率の良いデータ配置を指示する。格納部104は、例えば、利用するハードウェアの特性に応じて、キャッシュへのヒット率が向上する、かつ、データをロードする回数ができるだけ少なくなるようなデータ配置を決定する。例えば、斜めに歪んだテクスチャデータをそのままメモリ上に配置するのは効率的ではないため、格納部104は、アフィン変換処理などを行ない、矩形のテクスチャデータに置換してからメモリ上に格納する。例えば、図6、図7に示すようなメモリ配置を行なう。
【0045】
歪み角度の異なる複数のテクスチャデータを全て矩形に直したものをメモリ上に配置するのであるが、ある決まった条件φdの様々なテクスチャ座標(u,v)にアクセスすることが多い場合には、格納部104は図6のようなデータ配列をさせるのが良い。図6の左側は2Dテクスチャにタイル状に各条件のテクスチャを並べたものである。また、図6の右側は3Dテクスチャにレイヤー上に各条件のテクスチャを並べたものである。これらは、グラフィックスLSIがどのようなテクスチャ配置に対応しているか、どちらの方がデータへのアクセス速度が速いかによって最適なデータ配列を決めることができる。
【0046】
また、異なる条件φdのある決まったテクスチャ座標(u,v)にアクセスすることが多い場合には、格納部104は図7のようなデータ配置をさせるのが良い。図7の左側は、全ての条件φdのある決まったテクスチャ座標(u,v)のピクセルデータをひとまとめにし、それをタイル状に並べたものである。また、図7の右側は、図7の左側のようにデータ配置したピクセルデータをレイヤー方向にも並べた例である。このようにして、マッピング処理の内容や利用するグラフィックスLSIの種類に応じて、適応的にメモリへの格納方法を制御することができる。
【0047】
次に、補正部106が行う補正の一例について図8を参照して説明する。制御データに基づくテクスチャデータの補正例を図8に示す。
例えば、φd=100°のテクスチャをマッピングする際に、選択部105がφd=90°のテクスチャデータとφd=110°のテクスチャデータを選択したとする。この時、補正部106が、φd=90°のテクスチャデータをφd=100°のテクスチャデータの状態に近づけるような補正をすることによって、よりリアルな表現を実現することができる。但し、ここで制御データによる制御を与えない限りは、図8の右上に示すような線形的な補正しか行なうことができない。しかしながら、テクスチャマッピング制御部103が、図8の左下に模式的に示すような制御データを与えることによって、図8の右下の示すような不規則な補正を行なうことができる。ここで与えられた制御データは、素材特性の物理モデルが反映されたものであり、複数の歪み条件で取得したテクスチャデータを解析することによって導出される。
【0048】
次に、描画部108が行う描画処理の一例について図9を参照して説明する。
補間部107までで図9の左上のようなテクスチャデータが得られた場合に、そのまま描画してしまうと全体的に映像の精細度が低下してしまう可能性がある。その際に、テクスチャマッピング制御部103が、より理想的な映像を描画するための指示を行なうような制御データ(テクスチャデータ)を与える。こうすることによって、描画部108は図9の左下に模式的に示したようにできるだけ格子模様の柄だけは再現したいことを認識し、描画部108がテクスチャデータを若干、色補正することによって、比較的精細度の高い映像を描画することができる。
【0049】
以上に示した第1の実施形態によれば、テクスチャマッピングにおける各フェースにおいて様々な制御を与えながら処理を行なうことによって、従来不可能であった高度なCGデータの描画を行なうことができる。本実施形態においては、CGモデル表面の素材が歪んだり、伸び縮みしたりするような変化を表現することができ、素材の形状変化における特性をリアルに再現できる。
【0050】
また、本実施形態は、図10に示すようなテクスチャマッピング装置においても実施することができる。なお、図11は、図10に示すテクスチャマッピング装置により実現される一連の処理を示した図である。以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。また、以下、既に説明したステップと同様なものは同一の番号を付してその説明を省略する。
図10に示すテクスチャマッピング装置は、図1に示すテクスチャマッピング装置が備えている制御データ作成部102を持たず、入力部1001によって制御データを外部から入力している。このような装置によって、モデルデータおよびテクスチャデータからは作成することのできない全く別の制御データを入力することもできる(ステップS1101)。
【0051】
図1および図10に示したテクスチャマッピング装置の大きな特徴は、テクスチャマッピングを行なう各処理に対して、ある制御データに基づいた制御命令にしたがって処理を行なうという点である。
従来のテクスチャマッピング装置においては、モデルデータおよびテクスチャデータに応じた適用的な処理を行なうことができず、単純なテクスチャの選択・補正・補間によってのみテクスチャマッピングを実現することになる。例えば、図12に示したような空間の中で、視点の位置および光源の位置θc,φc,θl,φlをそれぞれ一定間隔ずつ変化させながら取得したテクスチャ群をマッピングする場合を考えてみる。一定間隔で取得した複数のテクスチャデータを規則的にメモリ上に格納しておき、CGモデルの頂点毎に視点・光源条件を算出した後、その条件に対応するテクスチャデータを選択し、選択されたテクスチャデータをCGモデルにマッピングするといった処理となる。また、視点・光源条件が正しくマッチングするテクスチャデータが存在しない場合には、近隣の複数のテクスチャデータを利用して、線形補間することによってマッピングする色情報を求める。しかしながら、従来のテクスチャマッピング装置では、このような単純な処理しか行なうことができず。モデルデータやテクスチャデータに応じて、適応的に処理の内容を変化させることができない。
【0052】
(第2の実施形態)
本実施形態では、図1または図10に示すテクスチャマッピング装置を用いて、CG表面にマッピングされる素材の状態変化を表現するための処理について示す。テクスチャマッピング装置における全体的な処理フロー(図2)については第1の実施形態で説明したので、本実施形態では特徴的な処理方法についてのみ示す。
本実施形態では、入力部101は、複数の異なる条件で取得あるいは作成したテクスチャデータとして、図13に示すような複数のテクスチャデータを入力する。この例は、ぬいぐるみや絨毯などに使われる短い毛を様々な状態に変化させて取得したものである。毛の状態を厳密に揃えるのは実際には困難であるが、大まかに言えば、「毛の状態1」は表面に対して毛が90°の状態、「毛の状態2」は表面に対して毛が70°の状態、「毛の状態3」は表面に対して毛が50°の状態、「毛の状態4」は表面に対して毛が30°の状態、「毛の状態5」は表面に対して毛が10°の状態といったように、入力部101が複数の素材表面の状態でテクスチャデータを取得する。
【0053】
格納部104は、テクスチャデータの格納に関して、第1の実施形態と同様に、マッピングする際の処理内容や用いるグラフィックスLSIの特性を考慮して、効率の良いデータ配置を行なってメモリ上に格納する。効率の良いデータ配置としては、テクスチャデータ内のあるピクセルデータをロードする際に、テクスチャキャッシュにヒットする確率が高く、一回一回のピクセルデータのロードにできるだけ時間がかからないようなものが良い。また、グラフィックスLSIのハードウェアの補間機能を有効に利用することができて、ピクセルデータをロードする回数自体が少ないものが良い。
【0054】
選択部105は、テクスチャデータの選択に関して、素材の状態変化だけではなく、視点条件など他の変化も考慮して選択することができる。その例を図14に示す。ここでは、モデルデータのある頂点に、表面に対して毛が80°の状態のものをマッピングしたい場合を考える。通常ならば、表面に対して毛が90°である「毛の状態1(視点1)」と、表面に対して毛が70°である「毛の状態2(視点1)」とが選ばれマッピングに利用されるわけであるが、これらの2つのテクスチャ以外にも視点条件を変化させた「毛の状態1(視点2)」や「毛の状態2(視点3)」のテクスチャデータも選択することができる。図14を見ても分かるとおり、選択された全てのテクスチャデータが、表面に対して毛が80°の状態のものに似通っている。このようにして、素材の状態変化を、視点条件の変化によって擬似的に表現することもできる。
【0055】
補間部107は、テクスチャデータの補間に関して、単純に選択されたテクスチャデータを線形補間するだけではなく、素材表面の状態変化の特性に従って、補間方法を制御することができる。その例を図15A、図15B、図15Cに示す。ここでは、ぬいぐるみや絨毯の表面を指で触り、毛の状態を変化させるようなシーンを考える。最初は、素材表面が全て「毛の状態(1)」つまり毛が全て寝ている状態であったとする。そして、その素材表面を指で触ると、その触った部分は「毛の状態(2)」、つまり毛が立っている状態に変化する。この時、テクスチャマッピングの処理としては、選択部105が、指で触られていない部分は「毛の状態(1)」を選択し、指で触られた部分は「毛の状態(2)」を選択して、それぞれマッピングされることになる。
ここで問題となるのが、その境界部分である。毛の状態変化の特性を考えてみると、「毛の状態(1)」と「毛の状態(2)」との境界では、はっきりと境界線が見えている部分もあれば滑らかに変化している部分もある。そこで、図15Cに示すような制御データを用意し、補間の方法を制御する。ここでは、指で触り始めた部分に関しては「毛の状態(1)」と「毛の状態(2)」とを滑らかに補間し、指の両脇部分に関しては補間をせずにはっきりと境界線を出すような処理を行なっている。補間部107は、「毛の状態(1)」と「毛の状態(2)」との補間は、例えば、これらの状態の物理モデルによる値にそれぞれ重みをつけて、加算して補間する。このようにして、補間をしたりしなかったり、もしくは線形補間ではなく、非線形な補間をしたりと、制御データによって自由な補間処理を行なうことができる。
【0056】
以上に示した第2の実施形態によれば、素材表面の状態変化をリアルに再現できる。
【0057】
(第3の実施形態)
本実施形態では、図1または図10に示すテクスチャマッピング装置を用いて、マッピングするテクスチャに応じてアニメーションを変化させたり、アニメーションの動きに合わせてテクスチャのマッピング方法を変化させたりする方法について説明する。本実施形態では、特に、モデルデータの制御について具体例とともに説明する。テクスチャマッピング装置における全体的な処理フロー(図2)については第1の実施形態で説明したので、本実施形態では特徴的な処理方法についてのみ示す。
【0058】
まず、マッピングするテクスチャに応じてアニメーションを変化させる方法の具体例について図16A、図16B、図16C、図16Dを参照して説明する。ここでは、格納部104が3種類のテクスチャデータをメモリ上に格納しており、モデルデータにこれらの複数のテクスチャを切り替えながらマッピングするような場合を考えてみる。3種類の素材にはそれぞれ特徴があり、図16Bに示した「テクスチャデータ1」は固い素材、図16Cに示した「テクスチャデータ2」はやや固い素材、図16Dに示した「テクスチャデータ3」は柔らかい素材であったとする。このとき、マッピングするテクスチャに応じて、図16B、図16C、図16Dに示すようなアニメーションの変化をさせる必要がある。具体的には、テクスチャマッピング制御部103からの制御データに基づいて、選択部105がモデルデータの選択を行なう際に、マッピングするテクスチャデータに応じて、選択部105が適切なアニメーションデータを選択することになる。例えば、素材の固さ・柔らかさを数段階で評価しておき、そのパラメータに応じて、アニメーションを表現する行列(マトリクス)を変更することによって、アニメーションを変化させることができる。
【0059】
次に、アニメーションの動きに合わせてテクスチャマッピングの方法を変化させる方法について説明する。筋肉や皮膚などの表現を行なう際に、モデルデータの動きに合わせて、筋肉が伸び縮みしたり、皮膚が微妙に震えたりすることによって、よりリアリティが向上する。そのような表現を実現させるために、筋肉や皮膚などのテクスチャデータに、アニメーションの動きに応じた形状変化の情報や微小な動きの情報を埋め込んでおき、マッピングされるテクスチャデータによって、テクスチャマッピング制御部103がモデルデータの形状やアニメーションを制御する。具体的には、補正部106がモデルデータの補正を行なう際に、マッピングするテクスチャの情報およびアニメーションの状況を基に、補正部106が、モデルデータのうちの、頂点データの位置座標を微小に変化させたり、テクスチャ座標を変化させたりといった処理を行なう。
【0060】
以上に示した第3の実施形態によれば、テクスチャマッピングの際に、制御データに基づいてモデルデータも制御することができ、アニメーションの制御やマッピング方法の制御などを行なうことができる。
【0061】
(第4の実施形態)
本実施形態では、図1または図10に示すテクスチャマッピング装置を用いて、多様な変化を同時に表現する際の処理方法について示す。テクスチャマッピング装置における全体的な処理フロー(図2)については第1の実施形態で説明したので、本実施形態では特徴的な処理方法についてのみ示す。
【0062】
CGモデル表面は、視点条件・光源条件・素材表面の形状・素材表面の状態・温度・湿度・濡れ・劣化など様々な基準によって変化が生じる。これらの変化を全てテクスチャデータで取得しておき、条件によってマッピングするテクスチャデータを切り替えることもできるが、全ての変化を同時に表現しようとすると、テクスチャデータが非常に膨大な量になってしまう。
【0063】
そこで、関数などによって表現できる連続的な変化と、テクスチャデータでしか表現することのできない非連続的な変化とをうまく切り分けることによって、効率のよいマッピングを実現する。具体的には、制御データ作成部102が制御データを作成する時に、制御データ作成部102は、連続的な変化をする部分は、テクスチャデータの解析結果もしくは与えられた物理法則を基にして、関数などを利用した物理モデル(解析的な表現ができる物理モデル)で表現するという制御データを作成する。そして、選択部105、補正部106、補間部107は、制御データをテクスチャデータの選択・補正・補間の際の制御データとしてテクスチャマッピング処理時に利用する。
【0064】
一方、非連続的な変化をする部分は、テクスチャデータでしか表現することができないため、制御データ作成部102は、その必要最低限のテクスチャデータをメモリ上に格納するような制御データを作成する。この時、テクスチャデータは、物理モデル等で計算される値からの差分のみを保持していれば良いため、より少ないビット数で済む。
【0065】
以上に示した第4の実施形態によれば、本実施形態のテクスチャマッピング装置の中で、モデルベースの表現と実写ベースの表現とをバランスよく融合させることによって、より少ないデータ量で、より高品位なCG表現を実現させることができる。
【0066】
(変形例)
変形例として、具体的な例を図17および図18を参照して説明する。テクスチャマッピング制御部が、テクスチャマッピングにおける全ての処理に対して制御命令を与える必要はなく、必要に応じて、例えば、補正部1705のみに制御命令を与えたり、補間部1804のみに制御命令を与えたりしてもよい(図17、図18)。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0067】
図17では、新たな装置部分は、制御データ作成部1701、テクスチャマッピング制御部1702、格納部1703、選択部1704、補正部1705、補間部1706、描画部1707である。図1と異なる点は、補正部1705にのみテクスチャマッピング制御部1702からの制御データを受けている点である。また、補正部1705の処理は上述した処理と同様である。制御データ作成部1701は、補正部1705に出力するための制御データを作成する。そして、格納部1703、選択部1704、補間部1706、描画部1707は、制御データを入力しない以外は上述した処理と同様の処理を行う。
【0068】
図18も図17の場合と同様である。すなわち、図18では、新たな装置部分は、制御データ作成部1801、テクスチャマッピング制御部1802、補正部1803、補間部1804である。図1と異なる点は、補間部1804にのみテクスチャマッピング制御部1702からの制御データを受けている点である。補間部1804の処理は上述した処理と同様である。制御データ作成部1801は、補間部1804に出力するための制御データを作成する。そして、格納部1703、選択部1704、補正部1803、補間部1804は、制御データを入力しない以外は上述した処理と同様の処理を行う。
【0069】
図17、図18は、一例に過ぎず、格納部104、選択部105、補正部106、補間部107、描画部108のうちのいずれか1つ、またはいずれか2つ、3つ、4つにテクスチャマッピング制御部103から制御データを出力して、各部が制御データに基づいて、上述した処理を行ってもよい。
【0070】
以上、第1の実施形態では、制御を伴うテクスチャマッピング処理の全体的な流れを示すとともに、素材表面の形状変化に対する処理方法について示した。第2の実施形態では、素材表面の状態変化に対する処理方法について示した。第3の実施形態では、モデルデータに対する制御方法について示し、第4の実施形態では、モデルベースの表現と実写ベースの表現とをうまく切り分けて、効率よく処理を行なう方法について示した。
【0071】
以上説明した本発明の実施形態によれば、制御を伴うテクスチャマッピング装置を利用することによって、視点条件や光源条件のみならず様々な条件で変化するCGモデル表面の質感をリアルに表現することができる。モデルデータおよびテクスチャデータの利用方法をうまく制御することによって、より少ないデータ量で、より高品位な表現が可能となる。また、グラフィックスLSIなどのハードウェアの特性を有効に利用することができ、高速なテクスチャマッピング処理を実現することができる。
また、様々な条件によって変化するテクスチャ群を、制御データに基づいてCGモデルに適応的にマッピングすることによって、CGモデル表面のリアルな質感を表現することができる。また、制御データによって、必要最低限のモデルデータおよびテクスチャデータを取捨選択することができ、より少ないデータ量で、高品位なCGデータを出力することができる。
【0072】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態のテクスチャマッピング装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態のテクスチャマッピング装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーションシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0073】
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【0074】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0075】
【図1】本発明の実施形態に係るテクスチャマッピング装置のブロック図。
【図2】図1のテクスチャマッピング装置の動作の一例を示すフローチャート。
【図3】テクスチャデータについて説明するための図。
【図4】テクスチャデータについて説明するための図。
【図5】形状変化に関するテクスチャデータについて説明するための図。
【図6】図1の格納部が格納するデータのメモリ配置について説明するための図。
【図7】図1の格納部が格納するデータのメモリ配置について説明するための図。
【図8】図1の補正部が行う補正の具体例を示す図。
【図9】図1の描画部が行う描画の具体例を示す図。
【図10】図1とは異なる、本発明の実施形態に係るテクスチャマッピング装置のブロック図。
【図11】図10のテクスチャマッピング装置の動作の一例を示すフローチャート。
【図12】テクスチャと視点の位置および光源の位置との関係を示す図。
【図13】本発明の第2の実施形態で入力部が入力するテクスチャデータを示す図。
【図14】第2の実施形態で選択部が選択するテクスチャデータを説明するための図。
【図15A】第2の実施形態で選択部が選択する選択肢である2つのテクスチャデータを示す図。
【図15B】選択部の選択するテクスチャデータの分布を示す図。
【図15C】選択部が入力する制御データを示す図。
【図16A】格納部が格納しているモデルデータの一例を示す図。
【図16B】図16Aのモデルデータに対応するある1つのテクスチャデータを示す図。
【図16C】図16Aのモデルデータに対応するある1つのテクスチャデータを示す図。
【図16D】図16Aのモデルデータに対応するある1つのテクスチャデータを示す図。
【図17】本発明の実施形態の変形例のテクスチャマッピング装置のブロック図。
【図18】本発明の実施形態の変形例のテクスチャマッピング装置のブロック図。
【符号の説明】
【0076】
101、1001…入力部、102、1701、1801…制御データ作成部、103、1702、1802…テクスチャマッピング制御部、104、1703…格納部、105、1704…選択部、106、1705、1803…補正部、107、1706、1804…補間部、108、1707…描画部、109…出力部。
【特許請求の範囲】
【請求項1】
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータを入力する入力手段と、
前記複数のモデルデータおよび前記複数のテクスチャデータに応じて、テクスチャマッピングに用いる制御データを作成する作成手段と、
前記作成された制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段と、を具備することを特徴とするテクスチャマッピング装置。
【請求項2】
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータと、テクスチャマッピングに用いる制御データと、を入力する入力手段と、
前記制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段と、を具備することを特徴とするテクスチャマッピング装置。
【請求項3】
前記格納選択手段は、前記制御命令に基づいてどの程度の容量のデータをメモリ上に格納するかを決定し、
前記決定手段は、利用するハードウェアの特性に応じて、キャッシュへのヒット率が向上する、かつ、データをロードする回数ができるだけ少なくなるようなデータ配置を決定し、
前記格納手段は、前記モデルデータおよび前記テクスチャデータを、前記決定手段によって決定されたデータ配置に変換するために、正規化された矩形データに変換するアフィン変換処理や並べ替え処理を行った上で、メモリに格納することを特徴とする請求項1または請求項2に記載のテクスチャマッピング装置。
【請求項4】
前記描画データ選択手段は、前記制御命令に最も近い複数のテクスチャデータを選択するか、前記制御命令に最も近い単一のテクスチャデータを選択するかを切り替え、前記複数の異なる条件による変化のうち、優先的に品質を向上させる変化に対しては選択するクスチャデータ数を増やし、品質を向上させない変化に対しては選択するテクスチャデータ数を減らすことを特徴とし、前記複数の異なる条件による変化のうち、ある条件の変化に対する第1のテクスチャデータが、他の条件の変化に対する第2のテクスチャデータによって表現できる場合には、前記第1のテクスチャデータを選択することを特徴とする請求項1から請求項3のいずれか1つに記載のテクスチャマッピング装置。
【請求項5】
前記生成手段は、前記制御命令として、マッピングされるテクスチャデータに応じて該テクスチャの素材の特性を反映させる素材特性命令を生成し、
前記描画データ選択手段は、前記素材特性命令に対応した、モデルデータ、あるいはモデルデータに含まれているアニメーションデータを選択することを特徴とする請求項1から請求項4のいずれか1つに記載のテクスチャマッピング装置。
【請求項6】
前記補正手段は、前記制御命令として、前記複数の異なる条件で取得あるいは作成したテクスチャデータを、物理法則に則った物理モデル、もしくは複数のテクスチャデータから得られた物理モデルにしたがって補正することを特徴とする請求項1から請求項5のいずれか1つに記載のテクスチャマッピング装置。
【請求項7】
前記補正手段は、前記制御命令として、マッピングされるテクスチャデータ、モデルデータの状態、もしくはアニメーションデータの状態に応じて、モデルデータに含まれる、頂点データの位置座標やテクスチャ座標を補正することを特徴とする請求項1から請求項6のいずれか1つに記載のテクスチャマッピング装置。
【請求項8】
前記補正手段は、前記補正手段が前記描画に利用する選択されたモデルデータおよび前記描画に利用する選択されたテクスチャデータに対して行った補正の規模が大きいほど、該モデルデータおよび該テクスチャデータに対して低い信頼度を付与し、
前記補間手段は、前記制御命令として、前記信頼度が低いほど、補間する割合である補間率を低くすることを特徴とする請求項1から請求項7のいずれか1つに記載のテクスチャマッピング装置。
【請求項9】
前記生成手段は、前記制御命令として参照テクスチャデータを生成し、
前記描画手段は、前記参照テクスチャデータに前記補間されたテクスチャデータに近づくように補正することを特徴とする請求項1から請求項8のいずれか1項に記載のテクスチャマッピング装置。
【請求項10】
前記生成手段は、請求項3、請求項4、請求項5、請求項6、請求項7、請求項8、および、請求項9に記載の制御命令を、モデルデータおよびテクスチャデータを解析することによって生成することを特徴とする請求項1から請求項9のいずれか1項に記載のテクスチャマッピング装置。
【請求項11】
前記生成手段は、前記テクスチャデータを、テクスチャデータを解析することによって、物理モデルによって表現できる連続的変化と、テクスチャデータでしか表現することのできない非連続的変化とを切り分け、連続的変化部分に対しては、物理法則もしくはモデルデータおよびテクスチャデータの解析結果を基にして、前記物理モデルを生成し、非連続変化部分に対しては、テクスチャデータを選択するための制御命令を生成し、前記物理モデルで表現される部分との前記テクスチャデータとの差分を制御命令として生成することを特徴とする請求項1から請求項9のいずれか1項に記載のテクスチャマッピング装置。
【請求項12】
前記生成手段は、請求項10、請求項11記載の前記制御命令を用いて、請求項3、請求項4、請求項5、請求項6、請求項7、請求項8、請求項9に記載の格納選択手段、描画データ選択手段、補正手段、補間手段、描画手段に対して制御命令を出力することを特徴とする請求項1から請求項11のいずれか1項に記載のテクスチャマッピング装置。
【請求項13】
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータを入力し、
前記複数のモデルデータおよび前記複数のテクスチャデータに応じて、テクスチャマッピングに用いる制御データを作成し、
前記作成された制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成し、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択し、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定し、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段を用意し、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択し、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正し、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間し、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングし、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力することを特徴とするテクスチャマッピング方法。
【請求項14】
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータと、テクスチャマッピングに用いる制御データと、を入力し、
前記制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成し、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択し、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定し、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段を用意し、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択し、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正し、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間し、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングし、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力することを特徴とするテクスチャマッピング方法。
【請求項15】
コンピュータを、
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータを入力する入力手段と、
前記複数のモデルデータおよび前記複数のテクスチャデータに応じて、テクスチャマッピングに用いる制御データを作成する作成手段と、
前記作成された制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段として機能させるためのテクスチャマッピングプログラム。
【請求項16】
コンピュータを、
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータと、テクスチャマッピングに用いる制御データと、を入力する入力手段と、
前記制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段として機能させるためのテクスチャマッピングプログラム。
【請求項1】
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータを入力する入力手段と、
前記複数のモデルデータおよび前記複数のテクスチャデータに応じて、テクスチャマッピングに用いる制御データを作成する作成手段と、
前記作成された制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段と、を具備することを特徴とするテクスチャマッピング装置。
【請求項2】
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータと、テクスチャマッピングに用いる制御データと、を入力する入力手段と、
前記制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段と、を具備することを特徴とするテクスチャマッピング装置。
【請求項3】
前記格納選択手段は、前記制御命令に基づいてどの程度の容量のデータをメモリ上に格納するかを決定し、
前記決定手段は、利用するハードウェアの特性に応じて、キャッシュへのヒット率が向上する、かつ、データをロードする回数ができるだけ少なくなるようなデータ配置を決定し、
前記格納手段は、前記モデルデータおよび前記テクスチャデータを、前記決定手段によって決定されたデータ配置に変換するために、正規化された矩形データに変換するアフィン変換処理や並べ替え処理を行った上で、メモリに格納することを特徴とする請求項1または請求項2に記載のテクスチャマッピング装置。
【請求項4】
前記描画データ選択手段は、前記制御命令に最も近い複数のテクスチャデータを選択するか、前記制御命令に最も近い単一のテクスチャデータを選択するかを切り替え、前記複数の異なる条件による変化のうち、優先的に品質を向上させる変化に対しては選択するクスチャデータ数を増やし、品質を向上させない変化に対しては選択するテクスチャデータ数を減らすことを特徴とし、前記複数の異なる条件による変化のうち、ある条件の変化に対する第1のテクスチャデータが、他の条件の変化に対する第2のテクスチャデータによって表現できる場合には、前記第1のテクスチャデータを選択することを特徴とする請求項1から請求項3のいずれか1つに記載のテクスチャマッピング装置。
【請求項5】
前記生成手段は、前記制御命令として、マッピングされるテクスチャデータに応じて該テクスチャの素材の特性を反映させる素材特性命令を生成し、
前記描画データ選択手段は、前記素材特性命令に対応した、モデルデータ、あるいはモデルデータに含まれているアニメーションデータを選択することを特徴とする請求項1から請求項4のいずれか1つに記載のテクスチャマッピング装置。
【請求項6】
前記補正手段は、前記制御命令として、前記複数の異なる条件で取得あるいは作成したテクスチャデータを、物理法則に則った物理モデル、もしくは複数のテクスチャデータから得られた物理モデルにしたがって補正することを特徴とする請求項1から請求項5のいずれか1つに記載のテクスチャマッピング装置。
【請求項7】
前記補正手段は、前記制御命令として、マッピングされるテクスチャデータ、モデルデータの状態、もしくはアニメーションデータの状態に応じて、モデルデータに含まれる、頂点データの位置座標やテクスチャ座標を補正することを特徴とする請求項1から請求項6のいずれか1つに記載のテクスチャマッピング装置。
【請求項8】
前記補正手段は、前記補正手段が前記描画に利用する選択されたモデルデータおよび前記描画に利用する選択されたテクスチャデータに対して行った補正の規模が大きいほど、該モデルデータおよび該テクスチャデータに対して低い信頼度を付与し、
前記補間手段は、前記制御命令として、前記信頼度が低いほど、補間する割合である補間率を低くすることを特徴とする請求項1から請求項7のいずれか1つに記載のテクスチャマッピング装置。
【請求項9】
前記生成手段は、前記制御命令として参照テクスチャデータを生成し、
前記描画手段は、前記参照テクスチャデータに前記補間されたテクスチャデータに近づくように補正することを特徴とする請求項1から請求項8のいずれか1項に記載のテクスチャマッピング装置。
【請求項10】
前記生成手段は、請求項3、請求項4、請求項5、請求項6、請求項7、請求項8、および、請求項9に記載の制御命令を、モデルデータおよびテクスチャデータを解析することによって生成することを特徴とする請求項1から請求項9のいずれか1項に記載のテクスチャマッピング装置。
【請求項11】
前記生成手段は、前記テクスチャデータを、テクスチャデータを解析することによって、物理モデルによって表現できる連続的変化と、テクスチャデータでしか表現することのできない非連続的変化とを切り分け、連続的変化部分に対しては、物理法則もしくはモデルデータおよびテクスチャデータの解析結果を基にして、前記物理モデルを生成し、非連続変化部分に対しては、テクスチャデータを選択するための制御命令を生成し、前記物理モデルで表現される部分との前記テクスチャデータとの差分を制御命令として生成することを特徴とする請求項1から請求項9のいずれか1項に記載のテクスチャマッピング装置。
【請求項12】
前記生成手段は、請求項10、請求項11記載の前記制御命令を用いて、請求項3、請求項4、請求項5、請求項6、請求項7、請求項8、請求項9に記載の格納選択手段、描画データ選択手段、補正手段、補間手段、描画手段に対して制御命令を出力することを特徴とする請求項1から請求項11のいずれか1項に記載のテクスチャマッピング装置。
【請求項13】
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータを入力し、
前記複数のモデルデータおよび前記複数のテクスチャデータに応じて、テクスチャマッピングに用いる制御データを作成し、
前記作成された制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成し、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択し、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定し、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段を用意し、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択し、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正し、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間し、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングし、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力することを特徴とするテクスチャマッピング方法。
【請求項14】
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータと、テクスチャマッピングに用いる制御データと、を入力し、
前記制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成し、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択し、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定し、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段を用意し、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択し、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正し、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間し、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングし、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力することを特徴とするテクスチャマッピング方法。
【請求項15】
コンピュータを、
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータを入力する入力手段と、
前記複数のモデルデータおよび前記複数のテクスチャデータに応じて、テクスチャマッピングに用いる制御データを作成する作成手段と、
前記作成された制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段として機能させるためのテクスチャマッピングプログラム。
【請求項16】
コンピュータを、
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータと、テクスチャマッピングに用いる制御データと、を入力する入力手段と、
前記制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から1以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段として機能させるためのテクスチャマッピングプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15A】
【図15B】
【図15C】
【図16A】
【図16B】
【図16C】
【図16D】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15A】
【図15B】
【図15C】
【図16A】
【図16B】
【図16C】
【図16D】
【図17】
【図18】
【公開番号】特開2007−265269(P2007−265269A)
【公開日】平成19年10月11日(2007.10.11)
【国際特許分類】
【出願番号】特願2006−92233(P2006−92233)
【出願日】平成18年3月29日(2006.3.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成19年10月11日(2007.10.11)
【国際特許分類】
【出願日】平成18年3月29日(2006.3.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]