(57)【特許請求の範囲】
【請求項１】
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータを入力する入力手段と、
前記複数のモデルデータおよび前記複数のテクスチャデータに応じて、テクスチャマッピングに用いる制御データを作成する作成手段と、
前記作成された制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から１以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段と、を具備し、
前記描画データ選択手段は、前記制御命令に近い条件に対応する複数のテクスチャデータを選択するか、前記制御命令に最も近い条件に対応する単一のテクスチャデータを選択するかを切り替え、前記複数の異なる条件による変化のうち、優先的に品質を向上させる変化に対しては選択するテクスチャデータ数を増やし、品質を向上させない変化に対しては選択するテクスチャデータ数を減らすことを特徴とし、前記複数の異なる条件による変化のうち、ある条件の変化に対する第１のテクスチャデータが、他の条件の変化に対する第２のテクスチャデータによって表現できる場合には、前記第２のテクスチャデータを選択することを特徴とするテクスチャマッピング装置。
【請求項２】
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータと、テクスチャマッピングに用いる制御データと、を入力する入力手段と、
前記制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から１以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段と、を具備し、
前記描画データ選択手段は、前記制御命令に近い条件に対応する複数のテクスチャデータを選択するか、前記制御命令に最も近い条件に対応する単一のテクスチャデータを選択するかを切り替え、前記複数の異なる条件による変化のうち、優先的に品質を向上させる変化に対しては選択するテクスチャデータ数を増やし、品質を向上させない変化に対しては選択するテクスチャデータ数を減らすことを特徴とし、前記複数の異なる条件による変化のうち、ある条件の変化に対する第１のテクスチャデータが、他の条件の変化に対する第２のテクスチャデータによって表現できる場合には、前記第２のテクスチャデータを選択することを特徴とするテクスチャマッピング装置。
【請求項３】
前記格納選択手段は、前記制御命令に基づいてどの程度の容量のデータをメモリ上に格納するかを決定し、
前記決定手段は、利用するハードウェアの特性に応じて、キャッシュへのヒット率が向上する、かつ、データをロードする回数ができるだけ少なくなるようなデータ配置を決定し、
前記格納手段は、前記モデルデータおよび前記テクスチャデータを、前記決定手段によって決定されたデータ配置に変換するために、正規化された矩形データに変換するアフィン変換処理や並べ替え処理を行った上で、メモリに格納することを特徴とする請求項１または請求項２に記載のテクスチャマッピング装置。
【請求項４】
前記生成手段は、前記制御命令として、マッピングされるテクスチャデータに応じて該テクスチャの素材の特性を反映させる素材特性命令を生成し、
前記描画データ選択手段は、前記素材特性命令に対応した、モデルデータ、あるいはモデルデータに含まれているアニメーションデータを選択することを特徴とする請求項１から請求項３のいずれか１つに記載のテクスチャマッピング装置。
【請求項５】
前記補正手段は、対応する前記制御命令によって指定された手法で、前記複数の異なる条件で取得あるいは作成したテクスチャデータを、物理法則に則った物理モデル、もしくは複数のテクスチャデータから得られた物理モデルにしたがって補正することを特徴とする請求項１から請求項４のいずれか１つに記載のテクスチャマッピング装置。
【請求項６】
前記補正手段は、対応する前記制御命令によって指定された手法で、マッピングされるテクスチャデータ、モデルデータの状態、もしくはアニメーションデータの状態に応じて、モデルデータに含まれる、頂点データの位置座標やテクスチャ座標を補正することを特徴とする請求項１から請求項５のいずれか１つに記載のテクスチャマッピング装置。
【請求項７】
前記生成手段は、前記制御命令として補正の規模と補間率とを生成し、
前記補正手段は、前記補正手段が前記描画に利用する選択されたモデルデータおよび前記描画に利用する選択されたテクスチャデータに対して行った前記補正の規模が大きいほど、該モデルデータおよび該テクスチャデータに対して低い信頼度を付与し、
前記補間手段は、対応する前記制御命令によって指定された手法で、前記信頼度が低いほど、前記補間率を低くすることを特徴とする請求項１から請求項６のいずれか１つに記載のテクスチャマッピング装置。
【請求項８】
前記生成手段は、前記制御命令に対応する参照テクスチャデータを生成し、
前記マッピング手段は、前記参照テクスチャデータに前記補間されたテクスチャデータに近づくように補正することを特徴とする請求項１から請求項７のいずれか１項に記載のテクスチャマッピング装置。
【請求項９】
前記生成手段は、前記制御命令を、モデルデータおよびテクスチャデータを解析することによって生成することを特徴とする請求項３、請求項４、請求項５、請求項６、請求項７、および請求項８のいずれか１項に記載のテクスチャマッピング装置。
【請求項１０】
前記生成手段は、前記テクスチャデータを、テクスチャデータを解析することによって、物理モデルによって表現できる連続的変化と、テクスチャデータでしか表現することのできない非連続的変化とを切り分け、連続的変化部分に対しては、物理法則もしくはモデルデータおよびテクスチャデータの解析結果を基にして、前記物理モデルを生成し、非連続変化部分に対しては、テクスチャデータを選択するための制御命令を生成し、前記物理モデルで表現される部分との前記テクスチャデータとの差分を制御命令として生成することを特徴とする請求項１から請求項８のいずれか１項に記載のテクスチャマッピング装置。
【請求項１１】
前記生成手段は、前記制御命令を用いて、格納選択手段、描画データ選択手段、補正手段、補間手段、描画手段に対して制御命令を出力することを特徴とする請求項３、請求項４、請求項５、請求項６、請求項７、および請求項８のいずれか１項に記載のテクスチャマッピング装置。
【請求項１２】
前記生成手段は、前記テクスチャデータを、テクスチャデータを解析することによって、物理モデルによって表現できる連続的変化と、テクスチャデータでしか表現することのできない非連続的変化とを切り分け、連続的変化部分に対しては、物理法則もしくはモデルデータおよびテクスチャデータの解析結果を基にして、前記物理モデルを生成し、非連続変化部分に対しては、テクスチャデータを選択するための制御命令であって、前記物理モデルで表現される部分との前記テクスチャデータとの差分である制御命令を用いて、格納選択手段、描画データ選択手段、補正手段、補間手段、描画手段に対して制御命令を出力することを特徴とする請求項請求項３、請求項４、請求項５、請求項６、請求項７、および請求項８に記載のいずれか１項に記載のテクスチャマッピング装置。
【請求項１３】
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータを入力し、
前記複数のモデルデータおよび前記複数のテクスチャデータに応じて、テクスチャマッピングに用いる制御データを作成し、
前記作成された制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成し、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から１以上のモデルデータおよび複数のテクスチャデータを選択し、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定し、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段を用意し、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択し、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正し、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間し、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングし、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力し、
描画に利用する前記モデルデータおよび描画に利用する前記テクスチャデータを選択することは、前記制御命令に近い条件に対応する複数のテクスチャデータを選択するか、前記制御命令に最も近い条件に対応する単一のテクスチャデータを選択するかを切り替え、前記複数の異なる条件による変化のうち、優先的に品質を向上させる変化に対しては選択するテクスチャデータ数を増やし、品質を向上させない変化に対しては選択するテクスチャデータ数を減らすことを特徴とし、前記複数の異なる条件による変化のうち、ある条件の変化に対する第１のテクスチャデータが、他の条件の変化に対する第２のテクスチャデータによって表現できる場合には、前記第２のテクスチャデータを選択することを特徴とするテクスチャマッピング方法。
【請求項１４】
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータと、テクスチャマッピングに用いる制御データと、を入力し、
前記制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成し、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から１以上のモデルデータおよび複数のテクスチャデータを選択し、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定し、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段を用意し、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択し、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正し、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間し、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングし、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力し、
描画に利用する前記モデルデータおよび描画に利用する前記テクスチャデータを選択することは、前記制御命令に近い条件に対応する複数のテクスチャデータを選択するか、前記制御命令に最も近い条件に対応する単一のテクスチャデータを選択するかを切り替え、前記複数の異なる条件による変化のうち、優先的に品質を向上させる変化に対しては選択するテクスチャデータ数を増やし、品質を向上させない変化に対しては選択するテクスチャデータ数を減らすことを特徴とし、前記複数の異なる条件による変化のうち、ある条件の変化に対する第１のテクスチャデータが、他の条件の変化に対する第２のテクスチャデータによって表現できる場合には、前記第２のテクスチャデータを選択することを特徴とするテクスチャマッピング方法。
【請求項１５】
コンピュータを、
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータを入力する入力手段と、
前記複数のモデルデータおよび前記複数のテクスチャデータに応じて、テクスチャマッピングに用いる制御データを作成する作成手段と、
前記作成された制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から１以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段として機能させ、
前記描画データ選択手段は、前記制御命令に近い条件に対応する複数のテクスチャデータを選択するか、前記制御命令に最も近い条件に対応する単一のテクスチャデータを選択するかを切り替え、前記複数の異なる条件による変化のうち、優先的に品質を向上させる変化に対しては選択するテクスチャデータ数を増やし、品質を向上させない変化に対しては選択するテクスチャデータ数を減らすことを特徴とし、前記複数の異なる条件による変化のうち、ある条件の変化に対する第１のテクスチャデータが、他の条件の変化に対する第２のテクスチャデータによって表現できる場合には、前記第２のテクスチャデータを選択することを特徴とするテクスチャマッピングプログラム。
【請求項１６】
コンピュータを、
複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータと、テクスチャマッピングに用いる制御データと、を入力する入力手段と、
前記制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、
対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から１以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、
前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、
前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、
対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、
対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、
対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、
対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、
前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段として機能させ、
前記描画データ選択手段は、前記制御命令に近い条件に対応する複数のテクスチャデータを選択するか、前記制御命令に最も近い条件に対応する単一のテクスチャデータを選択するかを切り替え、前記複数の異なる条件による変化のうち、優先的に品質を向上させる変化に対しては選択するテクスチャデータ数を増やし、品質を向上させない変化に対しては選択するテクスチャデータ数を減らすことを特徴とし、前記複数の異なる条件による変化のうち、ある条件の変化に対する第１のテクスチャデータが、他の条件の変化に対する第２のテクスチャデータによって表現できる場合には、前記第２のテクスチャデータを選択することを特徴とするテクスチャマッピングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元コンピュータグラフィックス（ＣＧ）分野における高品位なテクスチャマッピング技術において、複数の条件で取得あるいは作成したテクスチャデータに対して、物理法則等の制御データに基づき、適応的な選択および補正等を行ない、それをＣＧモデルにマッピングするテクスチャマッピング装置、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、３次元コンピュータグラフィックス（ＣＧ）技術が急速に発展しており、実写の映像と見間違える程のリアルなグラフィックス表現が可能となってきている。しかしながら、映画やテレビなどで制作される高品位なＣＧは、コンテンツ制作者の長時間にわたる地道な手作業によって生み出されるものが多く、膨大なコストを要してしまう。今後も、さらに多様なＣＧ表現が求められると考えられ、高品位なＣＧを、いかにコストをかけず簡単に作り出せるかが課題となっている。
【０００３】
ＣＧ表現の中で特に難しいとされるのが、布地や皮膚、毛などの表現である。これらの柔らかい質感を持つ素材に対しては、その物体を眺める方向（視点方向）および光を照射する方向（光源方向）によって変化する物体表面の色変化や物体自身が作り出す影（self shadow）の表現が大変重要となる。
【０００４】
そこで近年、実在する素材を撮影し、その素材の特性を再現することによってリアルなＣＧを作り出す手法が盛んに利用されるようになってきている。視点方向および光源方向に応じた表面質感の表現に関しては、ＢＲＤＦ（Bi-directional Reference Distribution Function）やＢＴＦ（Bi-directional Texture Function）、ＰＴＭ（Polynomial Texture Maps）と呼ばれるモデル化手法の研究が進められている（例えば、非特許文献１参照）。これらの手法は、取得データを解析することによって関数モデルを導出するというアプローチを採っている。しかしながら、実在する素材の不規則な陰影変化や輝度変化を関数モデル化するのには限界があり、多くの課題が残されている。
【０００５】
一方、取得データをテクスチャデータとしてそのまま保持し、視点方向や光源方向のパラメータをもとに、適応的にテクスチャを選択してマッピングするアプローチも考えられている（例えば、非特許文献２参照）。この方法は、関数モデルでは表現できないような不規則な変化が表現できる反面、精度よく質感を再現するためには、大量のテクスチャデータが必要となり、データ量が膨大となってしまうという問題がある。
【０００６】
そこで、できるだけ少ないテクスチャデータで、ＣＧモデル表面の質感をリアルに表現するための方法がいくつか考案されている。
【０００７】
しかしながらＣＧモデル表面の質感をリアルに表現するには、視点／光源位置の変化に応じた色変化や陰影変化だけではなく、表面の歪みや伸び縮み、状態変化や経年変化など、様々な変化を再現する必要があり、すべての変化に対してテクスチャデータを用意すると、データ量が増してしまうという問題がある。また、表面変化の表現を多様化することによって、データの保持方法や選択方法、マッピング方法が複雑化してしまうという問題もある。
【０００８】
そこで、複雑な処理を効率よく制御できるようなテクスチャマッピング装置を考案し、必要最低限のデータ量でより高品位なＣＧを表現する必要がある。
【非特許文献１】Dana, et.al, “Reflectance and Texture of Real World Surfaces”, ACM Transaction on Graphics, 18(1):1-34, 1999.
【非特許文献２】Y. Yamauchi, M. Sekine, S. Yanagawa, “Bidirectional Texture Mapping for Realistic Cloth Rendering”, ACM SIGGRAPH2003 sketch, 2003.
【発明の開示】
【発明が解決しようとする課題】
【０００９】
様々な条件に応じて変化する物体表面の特性を、テクスチャデータを用いて表現しようとした場合、複数の異なる条件で取得あるいは作成した大量のテクスチャ画像を必要とするため、現状では実用的なシステムとして利用できていない。
【００１０】
また従来では、視点条件や光源条件以外の様々な条件に適用した場合に、データ量が増してしまい、その大量なデータを格納するメモリの管理が非常に困難であるという問題が生じる。また、テクスチャデータの選択方法やマッピング方法などが非常に複雑化してしまうという問題も生じる。
【００１１】
この発明は、上述した事情を考慮してなされたものであり、様々な条件に応じて変化する物体表面の特性を効率的に実現するテクスチャマッピング装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述の課題を解決するため、本発明のテクスチャマッピング装置は、複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータを入力する入力手段と、前記複数のモデルデータおよび前記複数のテクスチャデータに応じて、テクスチャマッピングに用いる制御データを作成する作成手段と、前記作成された制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から１以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段と、を具備し、前記描画データ選択手段は、前記制御命令に近い条件に対応する複数のテクスチャデータを選択するか、前記制御命令に最も近い条件に対応する単一のテクスチャデータを選択するかを切り替え、前記複数の異なる条件による変化のうち、優先的に品質を向上させる変化に対しては選択するテクスチャデータ数を増やし、品質を向上させない変化に対しては選択するテクスチャデータ数を減らすことを特徴とし、前記複数の異なる条件による変化のうち、ある条件の変化に対する第１のテクスチャデータが、他の条件の変化に対する第２
のテクスチャデータによって表現できる場合には、前記第２のテクスチャデータを選択することを特徴とする。
【００１３】
また、本発明のテクスチャマッピング装置は、複数のモデルデータおよび複数の異なる条件において取得あるいは作成した複数のテクスチャデータと、テクスチャマッピングに用いる制御データと、を入力する入力手段と、前記制御データに対応する制御命令であって、テクスチャマッピングの処理ごとに対応する制御命令を生成する生成手段と、対応する前記制御命令に基づいて、前記複数のモデルデータおよび前記複数のテクスチャデータの中から１以上のモデルデータおよび複数のテクスチャデータを選択する格納選択手段と、前記選択されたモデルデータおよび前記選択されたテクスチャデータのデータ配置を決定する決定手段と、前記決定されたデータ配置に基づいて、前記選択されたモデルデータおよび前記選択されたテクスチャデータを格納する格納手段と、対応する前記制御命令に基づいて、前記格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよび描画に利用するテクスチャデータを選択する描画データ選択手段と、対応する前記制御命令によって指定された手法で、描画に利用する前記選択されたモデルデータおよび描画に利用する前記選択されたテクスチャデータを補正する補正手段と、対応する前記制御命令によって指定された手法で、前記補正されたモデルデータおよびテクスチャデータをそれぞれのデータ間で補間する補間手段と、対応する前記制御命令によって指定された手法で、前記補間されたテクスチャデータを前記補間されたモデルデータにマッピングするマッピング手段と、前記マッピングされたデータをコンピュータグラフィックスデータとして出力する出力手段と、を具備し、前記描画データ選択手段は、前記制御命令に近い条件に対応する複数のテクスチャデータを選択するか、前記制御命令に最も近い条件に対応する単一のテクスチャデータを選択するかを切り替え、前記複数の異なる条件による変化のうち、優先的に品質を向上させる変化に対しては選択するテクスチャデータ数を増やし、品質を向上させない変化に対しては選択するテクスチャデータ数を減らすことを特徴とし、前記複数の異なる条件による変化のうち、ある条件の変化に対する第１のテクスチャデータが、他の条件の変化に対する第２のテクスチャデータによって表現できる場合には、前記第２のテクスチャデータを選択することを特徴とする。
【発明の効果】
【００１４】
本発明のテクスチャマッピング装置によれば、様々な条件に応じて変化する物体表面の特性を効率的に実現することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しながら本発明の実施形態に係るテクスチャマッピング装置、方法およびプログラムについて詳細に説明する。まず、本発明の実施形態のテクスチャマッピング装置、方法およびプログラムの概略を説明する。  
本発明の実施形態のテクスチャマッピング装置、方法およびプログラムは、複数の異なる条件で取得あるいは作成されたテクスチャ群を、適切な制御を与えながらＣＧモデルにマッピングし、ＣＧデータを作成するためのものである。また、本実施形態のテクスチャマッピング装置、方法およびプログラムは、ネットワーク上などにデータベース化されたモデルデータおよびテクスチャデータを適宜取得してＣＧデータを作成するような形態でも利用することができる。
【００１６】
本実施形態のテクスチャマッピング装置、方法およびプログラムは、視点方向や光源方向に応じて変化する素材表面の質感表現を効率的に実現するだけではなく、様々な条件あるいは様々な成分に適用することができる。様々な条件への適用とは、視点条件や光源条件だけではなく、時間・速度・加速度・圧力・温度・湿度など自然界での様々な条件に応じて変化する信号に対しても適用できるということである。また、様々な成分への適用とは、ピクセルデータとして色成分を扱うのではなく、法線ベクトル成分や深度成分、照明効果成分などの成分に対しても適用できるということである。さらに、テクスチャデータのみならず、モデルデータの制御も行なうことによって、適応的なＣＧモデルの選択・補正を行なうことができ、例えばマッピングするテクスチャに応じたＣＧモデルのアニメーションの変化や、震えのような微小な動き等を表現することもできる。
【００１７】
第１の実施形態では、制御を伴うテクスチャマッピング装置の一連の処理例を示す。第１の実施形態においては、素材表面の形状変化に対する処理を例に挙げる。テクスチャが矩形でマッピングされるのではなく、歪んだ形状でマッピングされたり、縦横に伸び縮みをしてマッピングされたりした場合の処理を具体的に示す。
【００１８】
第２の実施形態では、素材表面の状態変化に対する処理例を示す。ぬいぐるみや絨毯などに使われている短い毛をテクスチャで表現した場合などに、その毛の状態（立っているか寝ているか等）によって、マッピングするテクスチャの種類を変化させる処理を具体的に示す。
【００１９】
第３の実施形態では、制御データに基づくアニメーションの変化付けに対する処理例を示す。例えば、マッピングするテクスチャに応じて、それぞれの素材の固さや柔らかさを定義することができる。その固さや柔らかさを表すパラメータに応じて、ＣＧモデルの動きを制御する処理を具体的に示す。
【００２０】
第４の実施形態では、多様な変化を表現する際の処理として、関数などを利用した物理モデルで表現するか、テクスチャを利用した実写モデルで表現するかを適応的に選択する手法について示す。関数などによって表現できる連続的な変化に対しては、制御データとして物理モデルを与え、それ以外の非連続な変化に対しては、必要最低限のテクスチャデータを利用して表現する、といった処理を具体的に示す。
【００２１】
なお、本発明の実施形態のテクスチャマッピング装置、方法およびプログラムは、次世代グラフィックス処理エンジンへの搭載を見込むことができ、コンピュータ支援設計（ＣＡＤ）や、各種シミュレーションエンジン等のアプリケーションへの応用が期待できる。
【００２２】
（第１の実施形態）  
本実施形態のテクスチャマッピング装置について図１を参照して説明する。図１は、本実施形態のテクスチャマッピング装置の構成を説明する図である。  
この装置は、複数のモデルデータおよび複数の異なる条件で取得あるいは作成したテクスチャデータを入力し、制御データに基づいた適応的なテクスチャマッピングを行ない、ＣＧデータを出力するものである。  
本実施形態のテクスチャマッピング装置は、入力部１０１、制御データ作成部１０２、テクスチャマッピング制御部１０３、格納部１０４、選択部１０５、補正部１０６、補間部１０７、描画部１０８、出力部１０９を備えている。
【００２３】
入力部１０１は、複数のモデルデータおよび複数の異なる条件で取得あるいは作成したテクスチャデータを入力する。
【００２４】
制御データ作成部１０２は、入力部１０１で入力したモデルデータおよびテクスチャデータを入力し、テクスチャマッピングに用いる制御データを作成する。
【００２５】
テクスチャマッピング制御部１０３は、制御データ作成部１０２で作成された制御データを入力し、各部１０４〜１０８へ、テクスチャマッピングの様々な処理に対して制御命令を与える。なお、制御データ作成部１０２とテクスチャマッピング制御部１０３は同一の装置部分が行ってもよい。すなわち、制御データ作成部１０２がモデルデータおよびテクスチャデータを入力し、テクスチャマッピング制御部１０３が制御データを作成し、各装置部分に制御命令を与えてもよい。
【００２６】
格納部１０４は、入力部１０１で入力したモデルデータおよびテクスチャデータを入力し、テクスチャマッピング制御部１０３による制御命令に従って、モデルデータおよびテクスチャデータの取捨選択およびデータ配置の決定を行ない、メモリ（図示せず）上にデータを格納する。
【００２７】
選択部１０５は、テクスチャマッピング制御部１０３によって指定された方法で、格納部１０４で格納されたモデルデータおよびテクスチャデータの中から、描画に利用するモデルデータおよびテクスチャデータを選択する。
【００２８】
補正部１０６は、テクスチャマッピング制御部１０３によって指定された方法で、選択部１０５で選択されたモデルデータおよびテクスチャデータを補正する。
【００２９】
補間部１０７は、テクスチャマッピング制御部１０３によって指定された方法で、補正部１０６で補正されたモデルデータおよびテクスチャデータを各データ間で補間する。
【００３０】
描画部１０８は、テクスチャマッピング制御部１０３によって指定された方法で、補間部１０７で補間されたテクスチャデータを補間部１０７で補間されたモデルデータにマッピングする。
【００３１】
出力部１０９は、描画部１０８によって描画されたＣＧデータを出力する。
【００３２】
次に、図１のテクスチャマッピング装置の動作の一例について図２を参照して説明する。図２は、図１に示すテクスチャマッピング装置により実現される一連の処理を示した図である。本実施形態では、制御を伴うテクスチャマッピング装置を用いることによって、新たなＣＧ表面の表現が可能となることを示す。
【００３３】
入力部１０１が、複数の異なる条件で複数のモデルデータに基づいて、取得あるいは作成した複数のテクスチャデータを入力する（ステップＳ２０１）。本実施形態では、単一のモデルデータを入力（複数のモデルデータの入力に関しては、第３の実施形態で説明する）するものとし、テクスチャデータに関しては、素材表面を様々な形状に変化させて撮影したテクスチャデータを扱うものとする。素材表面の様々な形状変化については後に図３、図４、図５を参照して説明する。
【００３４】
次に、制御データ作成部１０２が入力されたモデルデータおよびテクスチャデータを利用して制御データを作成する（ステップＳ２０２）。ここでは、テクスチャマッピング処理における格納部１０４、選択部１０５、補正部１０６、補間部１０７、１０８においてそれぞれ必要となる制御データを作成する。以降の処理方法の説明をしながら、それぞれの処理に対する制御データの作成方法も合わせて説明する。
【００３５】
次に、格納部１０４が、制御データの基づくモデルデータおよびテクスチャデータの格納を行なう（ステップＳ２０３）。ここでは、入力されたモデルデータおよびテクスチャデータの中からマッピングに必要となるデータを取捨選択し、それらを効率よく取り出せるようなデータ配置でメモリ上に格納する。格納部１０４は、どの程度の容量のデータをメモリ上に格納するかを決定する。どのデータが必要でどのデータが必要でないかどうかを指示したり、どのようなデータ配置が最適かどうかを指示したりするのが、制御データに基づく制御命令である。テクスチャデータの格納については後に図３、図４を参照して説明する。メモリ配置については後に図６、図７を参照して説明する。
【００３６】
次に、選択部１０５が、制御データに基づくモデルデータおよびテクスチャデータの選択を行なう（ステップＳ２０３）。従来は、モデルデータの各頂点における視点条件や光源条件等に基づき、近隣の複数のテクスチャデータを選択する、といった単純なテクスチャデータの選択しかできていなかった。しかしながら、本実施形態におけるテクスチャマッピング装置では、テクスチャデータを選択する際にも、制御データに基づく制御を与えることができる。例えば、歪みの条件に対しては、指定された条件に近い近隣の複数のテクスチャデータを選択するが、伸び縮みの条件に対しては、最も近い単一のテクスチャデータしか選択しないということもできる。これは、テクスチャマッピングの品質とコストとのトレードオフを調整することに相当する。品質を向上させたい場合には、多くのテクスチャデータを選択すればよく、品質を犠牲にしてコストを低減させたい場合には、より少ないテクスチャデータを選択すればよい。また、選択部１０５は、複数の異なる条件による変化のうち、ある条件の変化に対する第１のテクスチャデータが、他の条件の変化に対する第２のテクスチャデータによって表現できる場合には、前記第１のテクスチャデータも選択する。
【００３７】
次に、補正部１０６が、制御データに基づくモデルデータおよびテクスチャデータの補正を行なう（ステップＳ２０５）。補正の具体例については後に図８を参照して説明する。
【００３８】
次に、補間部１０７が、制御データに基づくモデルデータおよびテクスチャデータの補間を行なう（ステップＳ２０６）。ここでの補間処理に関しても、従来は近隣のテクスチャデータのデータを線形補間するだけの処理であったが、制御データを与えることによって、より高度な補間処理を行なうことができる。例えば、補正部１０６でテクスチャデータの補正を行なったが、これにより得られたテクスチャデータがどれだけ信頼性のあるものかを信頼度として数値化することができる。補正処理が大規模であったテクスチャデータほど精細度が低下してしまっている可能性が多く、その信頼度は低く評価されるべきである。このように、信頼度の大きさに応じて適応的に補間率を変更することによって、より精細度の高いピクセルデータをマッピングすることができる。補間部１０７は、例えば、信頼度が低いほど補間率を低く設定する。この信頼度は、例えば、補正部１０６が算出する。
【００３９】
次に、描画部１０８が、制御データに基づくモデルデータおよびテクスチャデータの描画を行なう（ステップＳ２０７）。ここでは、従来、前段の処理で得られたピクセルデータをそのまま描画フレームに描画するだけであった。しかしながら、制御データを与えることによって、より高度な描画処理を行なうことができる。例えば、前段の処理で得られたピクセルデータと制御データとして与えられた理想とするテクスチャデータのピクセルデータとを比較して、再度、色補正をしてから描画フレームに描画する、といった処理ができる。この処理の具体例は後に図９を参照して説明する。
【００４０】
そして最後に、出力部１０９がＣＧデータの出力を行なう（ステップＳ２０８）。
【００４１】
次に、入力部１０１が入力するテクスチャデータについて図３、図４、図５を参照して説明する。  
入力部１０１は、素材表面を様々な形状に変化させて撮影したテクスチャデータを入力する。素材表面の様々な形状変化とは、図３および図４に示すような変化である。すなわち、素材をφｄだけ歪ませて取得したもの（図３）や、素材をｄｗだけ横に伸ばして取得したもの（図４）、素材をｄｈだけ縦に伸ばして取得したもの（図４）などである。本実施形態では、図５に示すようにＣＧモデルにマッピングされるテクスチャの歪みに応じて、テクスチャデータを選択し、補正・補間をしながらマッピングする処理について説明する。
【００４２】
次に、格納部１０４がテクスチャデータを格納するしないについて図３、図４を参照して説明する。  
テクスチャマッピング制御部１０３の指示が、例えば、これから描画しようとするＣＧデータに、素材が伸び縮みするような表現が使われていない、または、そういった表現があるが、実写のテクスチャデータを使うほどの品質の高い表現は必要としないといった場合には、格納部１０４は、図４に示すような様々な伸び縮みで取得した複数のテクスチャデータをメモリ上に格納する必要がなく、標準的な単一のテクスチャデータのみをメモリ上に格納すればよい。
【００４３】
一方、テクスチャマッピング制御部１０３からの指示が表面の歪みに対する高品位な表現が必要であるという場合には、図３に示すような様々な歪みで取得した複数のテクスチャデータを細かいサンプリング間隔でメモリ上に格納する必要がある。
【００４４】
次に、格納部１０４がテクスチャデータを格納する場合のメモリでのデータの配置について図６、図７を参照して説明する。  
テクスチャマッピング制御部１０３が行う最適なデータ配置に関する制御命令は、マッピングする際の処理内容や用いるグラフィックスＬＳＩの特性を考慮して、効率の良いデータ配置を指示する。格納部１０４は、例えば、利用するハードウェアの特性に応じて、キャッシュへのヒット率が向上する、かつ、データをロードする回数ができるだけ少なくなるようなデータ配置を決定する。例えば、斜めに歪んだテクスチャデータをそのままメモリ上に配置するのは効率的ではないため、格納部１０４は、アフィン変換処理などを行ない、矩形のテクスチャデータに置換してからメモリ上に格納する。例えば、図６、図７に示すようなメモリ配置を行なう。
【００４５】
歪み角度の異なる複数のテクスチャデータを全て矩形に直したものをメモリ上に配置するのであるが、ある決まった条件φｄの様々なテクスチャ座標（ｕ，ｖ）にアクセスすることが多い場合には、格納部１０４は図６のようなデータ配列をさせるのが良い。図６の左側は２Ｄテクスチャにタイル状に各条件のテクスチャを並べたものである。また、図６の右側は３Ｄテクスチャにレイヤー上に各条件のテクスチャを並べたものである。これらは、グラフィックスＬＳＩがどのようなテクスチャ配置に対応しているか、どちらの方がデータへのアクセス速度が速いかによって最適なデータ配列を決めることができる。
【００４６】
また、異なる条件φｄのある決まったテクスチャ座標（ｕ，ｖ）にアクセスすることが多い場合には、格納部１０４は図７のようなデータ配置をさせるのが良い。図７の左側は、全ての条件φｄのある決まったテクスチャ座標（ｕ，ｖ）のピクセルデータをひとまとめにし、それをタイル状に並べたものである。また、図７の右側は、図７の左側のようにデータ配置したピクセルデータをレイヤー方向にも並べた例である。このようにして、マッピング処理の内容や利用するグラフィックスＬＳＩの種類に応じて、適応的にメモリへの格納方法を制御することができる。
【００４７】
次に、補正部１０６が行う補正の一例について図８を参照して説明する。制御データに基づくテクスチャデータの補正例を図８に示す。  
例えば、φｄ＝１００°のテクスチャをマッピングする際に、選択部１０５がφｄ＝９０°のテクスチャデータとφｄ＝１１０°のテクスチャデータを選択したとする。この時、補正部１０６が、φｄ＝９０°のテクスチャデータをφｄ＝１００°のテクスチャデータの状態に近づけるような補正をすることによって、よりリアルな表現を実現することができる。但し、ここで制御データによる制御を与えない限りは、図８の右上に示すような線形的な補正しか行なうことができない。しかしながら、テクスチャマッピング制御部１０３が、図８の左下に模式的に示すような制御データを与えることによって、図８の右下の示すような不規則な補正を行なうことができる。ここで与えられた制御データは、素材特性の物理モデルが反映されたものであり、複数の歪み条件で取得したテクスチャデータを解析することによって導出される。
【００４８】
次に、描画部１０８が行う描画処理の一例について図９を参照して説明する。  
補間部１０７までで図９の左上のようなテクスチャデータが得られた場合に、そのまま描画してしまうと全体的に映像の精細度が低下してしまう可能性がある。その際に、テクスチャマッピング制御部１０３が、より理想的な映像を描画するための指示を行なうような制御データ（テクスチャデータ）を与える。こうすることによって、描画部１０８は図９の左下に模式的に示したようにできるだけ格子模様の柄だけは再現したいことを認識し、描画部１０８がテクスチャデータを若干、色補正することによって、比較的精細度の高い映像を描画することができる。
【００４９】
以上に示した第１の実施形態によれば、テクスチャマッピングにおける各フェースにおいて様々な制御を与えながら処理を行なうことによって、従来不可能であった高度なＣＧデータの描画を行なうことができる。本実施形態においては、ＣＧモデル表面の素材が歪んだり、伸び縮みしたりするような変化を表現することができ、素材の形状変化における特性をリアルに再現できる。
【００５０】
また、本実施形態は、図１０に示すようなテクスチャマッピング装置においても実施することができる。なお、図１１は、図１０に示すテクスチャマッピング装置により実現される一連の処理を示した図である。以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。また、以下、既に説明したステップと同様なものは同一の番号を付してその説明を省略する。  
図１０に示すテクスチャマッピング装置は、図１に示すテクスチャマッピング装置が備えている制御データ作成部１０２を持たず、入力部１００１によって制御データを外部から入力している。このような装置によって、モデルデータおよびテクスチャデータからは作成することのできない全く別の制御データを入力することもできる（ステップＳ１１０１）。
【００５１】
図１および図１０に示したテクスチャマッピング装置の大きな特徴は、テクスチャマッピングを行なう各処理に対して、ある制御データに基づいた制御命令にしたがって処理を行なうという点である。  
従来のテクスチャマッピング装置においては、モデルデータおよびテクスチャデータに応じた適用的な処理を行なうことができず、単純なテクスチャの選択・補正・補間によってのみテクスチャマッピングを実現することになる。例えば、図１２に示したような空間の中で、視点の位置および光源の位置θｃ，φｃ，θｌ，φｌをそれぞれ一定間隔ずつ変化させながら取得したテクスチャ群をマッピングする場合を考えてみる。一定間隔で取得した複数のテクスチャデータを規則的にメモリ上に格納しておき、ＣＧモデルの頂点毎に視点・光源条件を算出した後、その条件に対応するテクスチャデータを選択し、選択されたテクスチャデータをＣＧモデルにマッピングするといった処理となる。また、視点・光源条件が正しくマッチングするテクスチャデータが存在しない場合には、近隣の複数のテクスチャデータを利用して、線形補間することによってマッピングする色情報を求める。しかしながら、従来のテクスチャマッピング装置では、このような単純な処理しか行なうことができず。モデルデータやテクスチャデータに応じて、適応的に処理の内容を変化させることができない。
【００５２】
（第２の実施形態）  
本実施形態では、図１または図１０に示すテクスチャマッピング装置を用いて、ＣＧ表面にマッピングされる素材の状態変化を表現するための処理について示す。テクスチャマッピング装置における全体的な処理フロー（図２）については第１の実施形態で説明したので、本実施形態では特徴的な処理方法についてのみ示す。  
本実施形態では、入力部１０１は、複数の異なる条件で取得あるいは作成したテクスチャデータとして、図１３に示すような複数のテクスチャデータを入力する。この例は、ぬいぐるみや絨毯などに使われる短い毛を様々な状態に変化させて取得したものである。毛の状態を厳密に揃えるのは実際には困難であるが、大まかに言えば、「毛の状態１」は表面に対して毛が９０°の状態、「毛の状態２」は表面に対して毛が７０°の状態、「毛の状態３」は表面に対して毛が５０°の状態、「毛の状態４」は表面に対して毛が３０°の状態、「毛の状態５」は表面に対して毛が１０°の状態といったように、入力部１０１が複数の素材表面の状態でテクスチャデータを取得する。
【００５３】
格納部１０４は、テクスチャデータの格納に関して、第１の実施形態と同様に、マッピングする際の処理内容や用いるグラフィックスＬＳＩの特性を考慮して、効率の良いデータ配置を行なってメモリ上に格納する。効率の良いデータ配置としては、テクスチャデータ内のあるピクセルデータをロードする際に、テクスチャキャッシュにヒットする確率が高く、一回一回のピクセルデータのロードにできるだけ時間がかからないようなものが良い。また、グラフィックスＬＳＩのハードウェアの補間機能を有効に利用することができて、ピクセルデータをロードする回数自体が少ないものが良い。
【００５４】
選択部１０５は、テクスチャデータの選択に関して、素材の状態変化だけではなく、視点条件など他の変化も考慮して選択することができる。その例を図１４に示す。ここでは、モデルデータのある頂点に、表面に対して毛が８０°の状態のものをマッピングしたい場合を考える。通常ならば、表面に対して毛が９０°である「毛の状態１（視点１）」と、表面に対して毛が７０°である「毛の状態２（視点１）」とが選ばれマッピングに利用されるわけであるが、これらの２つのテクスチャ以外にも視点条件を変化させた「毛の状態１（視点２）」や「毛の状態２（視点３）」のテクスチャデータも選択することができる。図１４を見ても分かるとおり、選択された全てのテクスチャデータが、表面に対して毛が８０°の状態のものに似通っている。このようにして、素材の状態変化を、視点条件の変化によって擬似的に表現することもできる。
【００５５】
補間部１０７は、テクスチャデータの補間に関して、単純に選択されたテクスチャデータを線形補間するだけではなく、素材表面の状態変化の特性に従って、補間方法を制御することができる。その例を図１５Ａ、図１５Ｂ、図１５Ｃに示す。ここでは、ぬいぐるみや絨毯の表面を指で触り、毛の状態を変化させるようなシーンを考える。最初は、素材表面が全て「毛の状態（１）」つまり毛が全て寝ている状態であったとする。そして、その素材表面を指で触ると、その触った部分は「毛の状態（２）」、つまり毛が立っている状態に変化する。この時、テクスチャマッピングの処理としては、選択部１０５が、指で触られていない部分は「毛の状態（１）」を選択し、指で触られた部分は「毛の状態（２）」を選択して、それぞれマッピングされることになる。  
ここで問題となるのが、その境界部分である。毛の状態変化の特性を考えてみると、「毛の状態（１）」と「毛の状態（２）」との境界では、はっきりと境界線が見えている部分もあれば滑らかに変化している部分もある。そこで、図１５Ｃに示すような制御データを用意し、補間の方法を制御する。ここでは、指で触り始めた部分に関しては「毛の状態（１）」と「毛の状態（２）」とを滑らかに補間し、指の両脇部分に関しては補間をせずにはっきりと境界線を出すような処理を行なっている。補間部１０７は、「毛の状態（１）」と「毛の状態（２）」との補間は、例えば、これらの状態の物理モデルによる値にそれぞれ重みをつけて、加算して補間する。このようにして、補間をしたりしなかったり、もしくは線形補間ではなく、非線形な補間をしたりと、制御データによって自由な補間処理を行なうことができる。
【００５６】
以上に示した第２の実施形態によれば、素材表面の状態変化をリアルに再現できる。
【００５７】
（第３の実施形態）  
本実施形態では、図１または図１０に示すテクスチャマッピング装置を用いて、マッピングするテクスチャに応じてアニメーションを変化させたり、アニメーションの動きに合わせてテクスチャのマッピング方法を変化させたりする方法について説明する。本実施形態では、特に、モデルデータの制御について具体例とともに説明する。テクスチャマッピング装置における全体的な処理フロー（図２）については第１の実施形態で説明したので、本実施形態では特徴的な処理方法についてのみ示す。
【００５８】
まず、マッピングするテクスチャに応じてアニメーションを変化させる方法の具体例について図１６Ａ、図１６Ｂ、図１６Ｃ、図１６Ｄを参照して説明する。ここでは、格納部１０４が３種類のテクスチャデータをメモリ上に格納しており、モデルデータにこれらの複数のテクスチャを切り替えながらマッピングするような場合を考えてみる。３種類の素材にはそれぞれ特徴があり、図１６Ｂに示した「テクスチャデータ１」は固い素材、図１６Ｃに示した「テクスチャデータ２」はやや固い素材、図１６Ｄに示した「テクスチャデータ３」は柔らかい素材であったとする。このとき、マッピングするテクスチャに応じて、図１６Ｂ、図１６Ｃ、図１６Ｄに示すようなアニメーションの変化をさせる必要がある。具体的には、テクスチャマッピング制御部１０３からの制御データに基づいて、選択部１０５がモデルデータの選択を行なう際に、マッピングするテクスチャデータに応じて、選択部１０５が適切なアニメーションデータを選択することになる。例えば、素材の固さ・柔らかさを数段階で評価しておき、そのパラメータに応じて、アニメーションを表現する行列（マトリクス）を変更することによって、アニメーションを変化させることができる。
【００５９】
次に、アニメーションの動きに合わせてテクスチャマッピングの方法を変化させる方法について説明する。筋肉や皮膚などの表現を行なう際に、モデルデータの動きに合わせて、筋肉が伸び縮みしたり、皮膚が微妙に震えたりすることによって、よりリアリティが向上する。そのような表現を実現させるために、筋肉や皮膚などのテクスチャデータに、アニメーションの動きに応じた形状変化の情報や微小な動きの情報を埋め込んでおき、マッピングされるテクスチャデータによって、テクスチャマッピング制御部１０３がモデルデータの形状やアニメーションを制御する。具体的には、補正部１０６がモデルデータの補正を行なう際に、マッピングするテクスチャの情報およびアニメーションの状況を基に、補正部１０６が、モデルデータのうちの、頂点データの位置座標を微小に変化させたり、テクスチャ座標を変化させたりといった処理を行なう。
【００６０】
以上に示した第３の実施形態によれば、テクスチャマッピングの際に、制御データに基づいてモデルデータも制御することができ、アニメーションの制御やマッピング方法の制御などを行なうことができる。
【００６１】
（第４の実施形態）  
本実施形態では、図１または図１０に示すテクスチャマッピング装置を用いて、多様な変化を同時に表現する際の処理方法について示す。テクスチャマッピング装置における全体的な処理フロー（図２）については第１の実施形態で説明したので、本実施形態では特徴的な処理方法についてのみ示す。
【００６２】
ＣＧモデル表面は、視点条件・光源条件・素材表面の形状・素材表面の状態・温度・湿度・濡れ・劣化など様々な基準によって変化が生じる。これらの変化を全てテクスチャデータで取得しておき、条件によってマッピングするテクスチャデータを切り替えることもできるが、全ての変化を同時に表現しようとすると、テクスチャデータが非常に膨大な量になってしまう。
【００６３】
そこで、関数などによって表現できる連続的な変化と、テクスチャデータでしか表現することのできない非連続的な変化とをうまく切り分けることによって、効率のよいマッピングを実現する。具体的には、制御データ作成部１０２が制御データを作成する時に、制御データ作成部１０２は、連続的な変化をする部分は、テクスチャデータの解析結果もしくは与えられた物理法則を基にして、関数などを利用した物理モデル（解析的な表現ができる物理モデル）で表現するという制御データを作成する。そして、選択部１０５、補正部１０６、補間部１０７は、制御データをテクスチャデータの選択・補正・補間の際の制御データとしてテクスチャマッピング処理時に利用する。
【００６４】
一方、非連続的な変化をする部分は、テクスチャデータでしか表現することができないため、制御データ作成部１０２は、その必要最低限のテクスチャデータをメモリ上に格納するような制御データを作成する。この時、テクスチャデータは、物理モデル等で計算される値からの差分のみを保持していれば良いため、より少ないビット数で済む。
【００６５】
以上に示した第４の実施形態によれば、本実施形態のテクスチャマッピング装置の中で、モデルベースの表現と実写ベースの表現とをバランスよく融合させることによって、より少ないデータ量で、より高品位なＣＧ表現を実現させることができる。
【００６６】
（変形例）  
変形例として、具体的な例を図１７および図１８を参照して説明する。テクスチャマッピング制御部が、テクスチャマッピングにおける全ての処理に対して制御命令を与える必要はなく、必要に応じて、例えば、補正部１７０５のみに制御命令を与えたり、補間部１８０４のみに制御命令を与えたりしてもよい（図１７、図１８）。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００６７】
図１７では、新たな装置部分は、制御データ作成部１７０１、テクスチャマッピング制御部１７０２、格納部１７０３、選択部１７０４、補正部１７０５、補間部１７０６、描画部１７０７である。図１と異なる点は、補正部１７０５にのみテクスチャマッピング制御部１７０２からの制御データを受けている点である。また、補正部１７０５の処理は上述した処理と同様である。制御データ作成部１７０１は、補正部１７０５に出力するための制御データを作成する。そして、格納部１７０３、選択部１７０４、補間部１７０６、描画部１７０７は、制御データを入力しない以外は上述した処理と同様の処理を行う。
【００６８】
図１８も図１７の場合と同様である。すなわち、図１８では、新たな装置部分は、制御データ作成部１８０１、テクスチャマッピング制御部１８０２、補正部１８０３、補間部１８０４である。図１と異なる点は、補間部１８０４にのみテクスチャマッピング制御部１７０２からの制御データを受けている点である。補間部１８０４の処理は上述した処理と同様である。制御データ作成部１８０１は、補間部１８０４に出力するための制御データを作成する。そして、格納部１７０３、選択部１７０４、補正部１８０３、補間部１８０４は、制御データを入力しない以外は上述した処理と同様の処理を行う。
【００６９】
図１７、図１８は、一例に過ぎず、格納部１０４、選択部１０５、補正部１０６、補間部１０７、描画部１０８のうちのいずれか１つ、またはいずれか２つ、３つ、４つにテクスチャマッピング制御部１０３から制御データを出力して、各部が制御データに基づいて、上述した処理を行ってもよい。
【００７０】
以上、第１の実施形態では、制御を伴うテクスチャマッピング処理の全体的な流れを示すとともに、素材表面の形状変化に対する処理方法について示した。第２の実施形態では、素材表面の状態変化に対する処理方法について示した。第３の実施形態では、モデルデータに対する制御方法について示し、第４の実施形態では、モデルベースの表現と実写ベースの表現とをうまく切り分けて、効率よく処理を行なう方法について示した。
【００７１】
以上説明した本発明の実施形態によれば、制御を伴うテクスチャマッピング装置を利用することによって、視点条件や光源条件のみならず様々な条件で変化するＣＧモデル表面の質感をリアルに表現することができる。モデルデータおよびテクスチャデータの利用方法をうまく制御することによって、より少ないデータ量で、より高品位な表現が可能となる。また、グラフィックスＬＳＩなどのハードウェアの特性を有効に利用することができ、高速なテクスチャマッピング処理を実現することができる。  
また、様々な条件によって変化するテクスチャ群を、制御データに基づいてＣＧモデルに適応的にマッピングすることによって、ＣＧモデル表面のリアルな質感を表現することができる。また、制御データによって、必要最低限のモデルデータおよびテクスチャデータを取捨選択することができ、より少ないデータ量で、高品位なＣＧデータを出力することができる。
【００７２】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態のテクスチャマッピング装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態のテクスチャマッピング装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。  
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーションシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。  
また、記憶媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００７３】
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【００７４】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態に係るテクスチャマッピング装置のブロック図。
【図２】図１のテクスチャマッピング装置の動作の一例を示すフローチャート。
【図３】テクスチャデータについて説明するための図。
【図４】テクスチャデータについて説明するための図。
【図５】形状変化に関するテクスチャデータについて説明するための図。
【図６】図１の格納部が格納するデータのメモリ配置について説明するための図。
【図７】図１の格納部が格納するデータのメモリ配置について説明するための図。
【図８】図１の補正部が行う補正の具体例を示す図。
【図９】図１の描画部が行う描画の具体例を示す図。
【図１０】図１とは異なる、本発明の実施形態に係るテクスチャマッピング装置のブロック図。
【図１１】図１０のテクスチャマッピング装置の動作の一例を示すフローチャート。
【図１２】テクスチャと視点の位置および光源の位置との関係を示す図。
【図１３】本発明の第２の実施形態で入力部が入力するテクスチャデータを示す図。
【図１４】第２の実施形態で選択部が選択するテクスチャデータを説明するための図。
【図１５Ａ】第２の実施形態で選択部が選択する選択肢である２つのテクスチャデータを示す図。
【図１５Ｂ】選択部の選択するテクスチャデータの分布を示す図。
【図１５Ｃ】選択部が入力する制御データを示す図。
【図１６Ａ】格納部が格納しているモデルデータの一例を示す図。
【図１６Ｂ】図１６Ａのモデルデータに対応するある１つのテクスチャデータを示す図。
【図１６Ｃ】図１６Ａのモデルデータに対応するある１つのテクスチャデータを示す図。
【図１６Ｄ】図１６Ａのモデルデータに対応するある１つのテクスチャデータを示す図。
【図１７】本発明の実施形態の変形例のテクスチャマッピング装置のブロック図。
【図１８】本発明の実施形態の変形例のテクスチャマッピング装置のブロック図。
【符号の説明】
【００７６】
１０１、１００１…入力部、１０２、１７０１、１８０１…制御データ作成部、１０３、１７０２、１８０２…テクスチャマッピング制御部、１０４、１７０３…格納部、１０５、１７０４…選択部、１０６、１７０５、１８０３…補正部、１０７、１７０６、１８０４…補間部、１０８、１７０７…描画部、１０９…出力部。
【図１】
0004594892.tif 000002
【図２】
0004594892.tif 000003
【図３】
0004594892.tif 000004
【図４】
0004594892.tif 000005
【図５】
0004594892.tif 000006
【図６】
0004594892.tif 000007
【図７】
0004594892.tif 000008
【図８】
0004594892.tif 000009
【図９】
0004594892.tif 000010
【図１０】
0004594892.tif 000011
【図１１】
0004594892.tif 000012
【図１２】
0004594892.tif 000013
【図１３】
0004594892.tif 000014
【図１４】
0004594892.tif 000015
【図１５Ａ】
0004594892.tif 000016
【図１５Ｂ】
0004594892.tif 000017
【図１５Ｃ】
0004594892.tif 000018
【図１６Ａ】
0004594892.tif 000019
【図１６Ｂ】
0004594892.tif 000020
【図１６Ｃ】
0004594892.tif 000021
【図１６Ｄ】
0004594892.tif 000022
【図１７】
0004594892.tif 000023
【図１８】
0004594892.tif 000024