(57)【要約】【課題】三次元物体を効率的に表現すること。【解決手段】物体の形状を示す形状データとその形状の表面に割り当てられるテクスチャを表すテクスチャデータとを用いて三次元物体を表現する３Ｄモデルを生成する情報生成装置は、形状データに含まれる第１の構成要素を記述した第１の情報と、第１の構成要素とその第１の構成要素に対応して割り当てられているテクスチャの第２の構成要素との組合せを記述した第２の情報と、組合せを示す値によって三次元物体の各面の形状と割り当てられるテクスチャとを記述した第３の情報と、テクスチャデータに含まれる第２の構成要素を記述した第４の情報と、を含んだ前記３Ｄモデルを生成し、その３Ｄモデルを出力する。第３の情報では、少なくとも第１の構成要素が、形状の頂点の座標値とは異なる値によって記述される。【選択図】  図５
2019086918.tif 000002
【特許請求の範囲】
【請求項１】
物体の形状を示す形状データと前記形状の表面に割り当てられるテクスチャを表すテクスチャデータとを用いて三次元物体を表現する３Ｄモデルを生成する情報生成装置であって、
前記形状データに含まれる第１の構成要素を記述した第１の情報と、前記第１の構成要素と当該第１の構成要素に対応して割り当てられている前記テクスチャの第２の構成要素との組合せを記述した第２の情報と、前記組合せを示す値によって前記三次元物体の各面の形状と割り当てられるテクスチャとを記述した第３の情報と、前記テクスチャデータに含まれる第２の構成要素を記述した第４の情報と、を含んだ前記３Ｄモデルを生成する生成手段と、
前記３Ｄモデルを出力する出力手段と、
を有し、
前記第３の情報において、少なくとも前記第１の構成要素が、前記形状の頂点の座標値とは異なる値によって記述される、
ことを特徴とする情報生成装置。
【請求項２】
前記構成要素が形状およびテクスチャの頂点であることを特徴とする、請求項１に記載の情報生成装置。
【請求項３】
前記構成要素が形状およびテクスチャのエッジであることを特徴とする、請求項１に記載の情報生成装置。
【請求項４】
前記構成要素が形状およびテクスチャの面であることを特徴とする、請求項１に記載の情報生成装置。
【請求項５】
前記第４の情報における複数の前記第２の構成要素の記述の順序が、前記第２の情報において連続して記述されるべき複数の組合せにおける前記第４の情報を参照するための値の順序と対応する場合、前記生成手段は、順序が対応する範囲に関する第５の情報を含め、かつ、前記複数の組合せのうち、当該順序が対応する範囲に関する組合せについての前記第２の構成要素に関する情報を省略して前記第２の情報を記述するように、前記３Ｄモデルを生成する、
ことを特徴とする請求項１から４のいずれか１項に記載の情報生成装置。
【請求項６】
前記第２の情報において、前記第２の構成要素が前記テクスチャの座標値によって記述される、
ことを特徴とする請求項２に記載の情報生成装置。
【請求項７】
前記第１の情報における複数の前記第１の構成要素の記述の順序が、前記第２の情報において連続して記述されるべき複数の組合せにおける前記第１の情報を参照するための値の順序と対応する場合、前記生成手段は、順序が対応する範囲に関する第６の情報を含め、かつ、前記複数の組合せのうち、当該順序が対応する範囲に関する組合せについての前記第１の構成要素に関する情報を省略して前記第２の情報を記述するように、前記３Ｄモデルを生成する、
ことを特徴とする請求項１から６のいずれか１項に記載の情報生成装置。
【請求項８】
物体の形状を示す形状データと前記形状の表面に割り当てられるテクスチャを表すテクスチャデータとを用いて三次元物体を表現する３Ｄモデルを取得して、当該三次元物体の描画を行う情報処理装置であって、
前記形状データに含まれる第１の構成要素を記述した第１の情報と、前記第１の構成要素と当該第１の構成要素に対応して割り当てられている前記テクスチャの第２の構成要素との組合せを記述した第２の情報と、前記組合せを示す値によって前記三次元物体の各面の形状と割り当てられるテクスチャとを記述した第３の情報と、前記テクスチャデータに含まれる第２の構成要素を記述した第４の情報と、を含んだ前記３Ｄモデルを取得する取得手段と、
前記第１の情報、前記第２の情報、及び前記第４の情報に基づいて、前記第１の構成要素と前記第２の構成要素との組合せを特定する特定手段と、
前記特定された構成要素の組合せと前記第３の情報とに基づいて、前記三次元物体の描画を行う描画手段と、
を有し、
前記第３の情報において、少なくとも前記第１の構成要素が、前記形状の頂点の座標値とは異なる値によって記述される、
ことを特徴とする情報処理装置。
【請求項９】
前記３Ｄモデルは、前記第４の情報における複数の前記第２の構成要素の記述の順序が、前記第２の情報において連続して記述されるべき複数の組合せにおける前記第４の情報を参照するための値の順序と対応する場合、順序が対応する範囲に関する第５の情報と、前記複数の組合せのうち、当該順序が対応する範囲に関する組合せについての前記第２の構成要素に関する情報が省略された前記第２の情報とを含み、
前記特定手段は、前記第２の情報と前記第５の情報とに基づいて、前記順序が対応する範囲に対応する前記第２の構成要素をまとめて特定し、前記順序が対応していない範囲についての前記第２の構成要素を前記第２の情報と前記第４の情報とに基づいて特定する、
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記第２の情報において、前記第２の構成要素が前記テクスチャの座標値によって記述される、
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１１】
前記３Ｄモデルは、前記第１の情報における複数の前記第１の構成要素の記述の順序が、前記第１の情報において連続して記述されるべき複数の組合せにおける前記第１の情報を参照するための値の順序と対応する場合、順序が対応する範囲に関する第６の情報と、前記複数の組合せのうち、当該順序が対応する範囲に関する組合せについての前記第１の構成要素に関する情報が省略された前記第２の情報とを含み、
前記特定手段は、前記第１の情報と前記第６の情報とに基づいて、前記順序が対応する範囲に対応する前記第１の構成要素をまとめて特定し、前記順序が対応していない範囲についての前記第１の構成要素を前記第１の情報と前記第２の情報とに基づいて特定する、
ことを特徴とする請求項８から１０のいずれか１項に記載の情報処理装置。
【請求項１２】
物体の形状を示す形状データと前記形状の表面に割り当てられるテクスチャを表すテクスチャデータとを用いて三次元物体を表現する３Ｄモデルを生成する情報生成装置の制御方法であって、
前記形状データに含まれる第１の構成要素を記述した第１の情報と、前記第１の構成要素と当該第１の構成要素に対応して割り当てられている前記テクスチャの第２の構成要素との組合せを記述した第２の情報と、前記組合せを示す値によって前記三次元物体の各面の形状と割り当てられるテクスチャとを記述した第３の情報と、前記テクスチャデータに含まれる第２の構成要素を記述した第４の情報と、を含んだ前記３Ｄモデルを生成する生成工程と、
前記３Ｄモデルを出力する出力工程と、
を有し、
前記第３の情報において、少なくとも前記第１の構成要素が、前記形状の頂点の座標値とは異なる値によって記述される、
ことを特徴とする制御方法。
【請求項１３】
物体の形状を示す形状データと前記形状の表面に割り当てられるテクスチャを表すテクスチャデータとを用いて三次元物体を表現する３Ｄモデルを取得して、当該三次元物体の描画を行う情報処理装置の制御方法であって、
前記形状データに含まれる第１の構成要素を記述した第１の情報と、前記第１の構成要素と当該第１の構成要素に対応して割り当てられている前記テクスチャの第２の構成要素との組合せを記述した第２の情報と、前記組合せを示す値によって前記三次元物体の各面の形状と割り当てられるテクスチャとを記述した第３の情報と、前記テクスチャデータに含まれる第２の構成要素を記述した第４の情報と、を含んだ前記３Ｄモデルを取得する取得工程と、
前記第１の情報、前記第２の情報、及び前記第４の情報に基づいて、前記第１の構成要素と前記第２の構成要素との組合せを特定する特定工程と、
前記特定された構成要素の組合せと前記第３の情報とに基づいて、前記三次元物体の描画を行う描画工程と、
を有し、
前記第３の情報において、少なくとも前記第１の構成要素が、前記形状の頂点の座標値とは異なる値によって記述される、
ことを特徴とする制御方法。
【請求項１４】
コンピュータに請求項１２又は請求項１３に記載の制御方法を実行させるためのプログラム。
【請求項１５】
物体の形状を示す形状データと前記形状の表面に割り当てられるテクスチャを表すテクスチャデータとを用いて三次元物体を表現する３Ｄモデルのデータ構造であって、
前記形状データに含まれる第１の構成要素を記述した第１の情報と、前記第１の構成要素と当該第１の構成要素に対応して割り当てられている前記テクスチャの第２の構成要素との組合せを記述した第２の情報と、前記組合せを示す値によって前記三次元物体の各面の形状と割り当てられるテクスチャとを記述した第３の情報と、前記テクスチャデータに含まれる第２の構成要素を記述した第４の情報と、を含み、
前記第３の情報において、少なくとも前記第１の構成要素が、前記形状の頂点の座標値とは異なる値によって記述される、
ことを特徴とするデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は三次元物体データの記述手法に関する。
【背景技術】
【０００２】
三次元物体の表現方法の１つとして、テクスチャを伴うメッシュの形式で物体表面を記述する方法が存在する。メッシュは、例えば、三次元空間上のポリゴンの集合として表現される。特許文献１では、三次元のメッシュ頂点座標（ＸＹＺ）に対応する画像上のテクスチャ頂点座標（ＵＶ）を１対１で対応付けて記述することにより、物体の構造とメッシュの見え方を表すテクスチャ画像を対応付ける手法が記載されている。なお、各ポリゴンは、そのポリゴンを構成するメッシュ頂点の番号が指定されることによって定義される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１９５６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術には、三次元物体を表現するデータが冗長であったり、メモリへのデータの展開に関する処理効率が十分でない等の改善の余地があった。
【０００５】
本発明は、かかる背景に鑑みなされたものであり、三次元物体の効率的な表現手法を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様による情報生成装置は、物体の形状を示す形状データと前記形状の表面に割り当てられるテクスチャを表すテクスチャデータとを用いて三次元物体を表現する３Ｄモデルを生成する情報生成装置であって、前記形状データに含まれる第１の構成要素を記述した第１の情報と、前記第１の構成要素と当該第１の構成要素に対応して割り当てられている前記テクスチャの第２の構成要素との組合せを記述した第２の情報と、前記組合せを示す値によって前記三次元物体の各面の形状と割り当てられるテクスチャとを記述した第３の情報と、前記テクスチャデータに含まれる第２の構成要素を記述した第４の情報と、を含んだ前記３Ｄモデルを生成する生成手段と、前記３Ｄモデルを出力する出力手段と、を有し、前記第３の情報において、少なくとも前記第１の構成要素が、前記形状の頂点の座標値とは異なる値によって記述される、ことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、三次元物体の効率的な表現が可能となる。
【図面の簡単な説明】
【０００８】
【図１】ポリゴンで構成される３Ｄモデルのメッシュ頂点とテクスチャ頂点との例を示す図。
【図２】メッシュの記述方式の概要を示す図。
【図３】メッシュ頂点とテクスチャ頂点とを関連付けて記述する方式の概要を示す図。
【図４】メッシュ頂点とテクスチャ頂点とを関連付けて記述する方式の概要を示す図。
【図５】メッシュ頂点とテクスチャ頂点とを関連付けて記述する方式の第１の例を示す図。
【図６】実施形態に係るデータ構造を記述するファイルの第１の構成例を示す図。
【図７】情報生成装置及び情報処理装置のハードウェア構成例を示す図。
【図８】情報生成装置及び情報処理装置の機能構成例を示すブロック図。
【図９】情報生成装置が実行する処理の流れの例を示すフローチャート。
【図１０】情報処理装置が実行する処理の流れの例を示すフローチャート。
【図１１】メッシュ頂点とテクスチャ頂点とを関連付けて記述する方式の第２の例を示す図。
【図１２】実施形態に係るデータ構造を記述するファイルの第２の構成例を示す図。
【図１３】メッシュ頂点とテクスチャ頂点とを関連付けて記述する方式の第３の例を示す図。
【図１４】実施形態に係るデータ構造を記述するファイルの第３の構成例を示す図。
【図１５】情報処理装置が実行する処理の流れの例を示すフローチャート。
【図１６】メッシュエッジとテクスチャエッジとを関連付けて記述する方式の例を示す図。
【図１７】情報生成装置が実行する処理の流れの例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下では、図面を参照しながら、本発明の実施の形態について説明する。
【００１０】
＜実施形態１＞
本実施形態に係る手法は、テクスチャを伴う三次元（３Ｄ）ポリゴンモデルにおいて、そのデータ量を低減したデータ構造の構成技術に関する。以下では、まず、従来のデータ構造と、本実施形態に係る一例のデータ構造とを説明した後に、本実施形態に係るデータを生成する情報提供装置及びそのデータを使用して三次元画像を形成する情報処理装置の構成及びその処理方法について説明する。なお、以下で説明する装置構成や方法の手順は一例に過ぎず、様々な変形や変更が可能である。
【００１１】
（従来の３Ｄモデルの記述手法）
図１（Ａ）〜図１（Ｃ）を用いて、従来のテクスチャ付き３Ｄモデルの記述方法について説明する。図１（Ａ）は、ある方向から見た立方体の３Ｄモデルの例であり、ここでは四角形ポリゴンからなるメッシュにアルファベット（「Ａ」や「Ｃ」）が描画されたテクスチャが付加されている。なお、ここでは、説明のために、立方体の角のメッシュ頂点に対して、そのメッシュ頂点を識別するための識別情報として値「Ｖ０」〜「Ｖ７」を付している。図１（Ｂ）は、３Ｄモデルのテクスチャ画像を表したものである。図１（Ｂ）では、メッシュ頂点に対応する位置がテクスチャ頂点として表されており、説明のために、そのテクスチャ頂点を示す番号Ｃ０〜Ｃ１１を付している。図１（Ｃ）は、図１（Ａ）の立方体を平面に展開した展開図の一例である。図１（Ｃ）では、同一の頂点が展開によって複数の点として表される場合に、その複数の点が破線で繋がれるような表現が用いられている。なお、図１（Ａ）は、３Ｄモデルを四角形のポリゴンで表現する例について示しているが、これに限られず、一般的に用いられる三角形のポリゴンによって３Ｄモデルが表現されてもよい。
【００１２】
まず、テクスチャのない形状データの一般的な表現方法について、図２（Ａ）及び図２（Ｂ）を用いて説明する。図２（Ａ）では、メッシュの各頂点が、ＸＹＺ軸による３次元空間上の座標値であるＸＹＺ０〜ＸＹＺ７によって記述されている。なお、ＸＹＺｋ（ｋ＝０〜７）は、（ｘｋ、ｙｋ、ｚｋ）のような３次元のベクトルデータである。ここで、メッシュ頂点番号（Ｖ０〜Ｖ７）は、座標の並びによって黙示的に定義される（すなわち、ｊ＋１番目のメッシュ頂点番号はＶｊであることが特定される）ため、データとして記述されなくてもよい。図２（Ｂ）では、各ポリゴンを構成するメッシュ頂点番号が記述されている。ポリゴン番号は、図２（Ａ）におけるメッシュ頂点番号と同様に、座標の並びによって黙示的に定義されるため、データとして記述されなくてもよい。このように、図２（Ａ）のような各メッシュ頂点に対応する座標値と、図２（Ｂ）のようなポリゴンを構成するメッシュ頂点番号とが記述されることによって、ポリゴンの位置及び形が定義される。
【００１３】
次に、テクスチャ画像とメッシュとの対応関係をポリゴン情報に与える形式について、図３（Ａ）〜図３（Ｃ）を用いて説明する。図３（Ａ）は、図２（Ａ）と同様のメッシュ頂点の情報である。図３（Ｂ）では、テクスチャの各頂点が、図１（Ｂ）のような画像空間における座標値であるＵＶ０〜ＵＶ１１によって記述されている。なお、ＵＶｋ（ｋ＝０〜１１）は、（ｕｋ、ｖｋ）のような２次元のベクトルデータである。ここで、テクスチャ頂点番号（Ｃ０〜Ｃ１１）は、図２（Ａ）及び図３（Ａ）におけるメッシュ頂点番号と同様に、座標の並びによって黙示的に定義されるため、データとして記述されなくてもよい。図３（Ｃ）では、各ポリゴンのメッシュ頂点番号に対応付けられるテクスチャ頂点番号が記述されている。図３（Ｃ）のポリゴン番号Ｆ３の例では、メッシュ頂点Ｖ５がテクスチャ頂点Ｃ７と、メッシュ頂点Ｖ４がテクスチャ頂点Ｃ８と、メッシュ頂点Ｖ３がテクスチャ頂点Ｃ９と、メッシュ頂点Ｖ６がテクスチャ頂点Ｃ１０と、それぞれ対応付けられる。なお、ポリゴン番号も、座標の並びによって黙示的に定義されるため、データとして記述されなくてもよい。図３（Ａ）〜図３（Ｃ）のような、ポリゴンに対応情報（テクスチャ頂点情報）を追加する記述形式は、情報の記述処理が簡易であり、かつ、自由度が高いため、ＯＢＪ、ＰＬＹ、ＶＲＭＬ等の多くの３Ｄモデルファイルフォーマットによって採用されている。
【００１４】
続いて、３Ｄモデルの別の表現方法として、メッシュ頂点に直接テクスチャの対応情報を追加して３Ｄモデルを表現する形式について、図４（Ａ）及び図４（Ｂ）を用いて説明する。ここで、図３（Ｃ）では、メッシュ頂点Ｖ５にはテクスチャ頂点Ｃ５（ポリゴン番号Ｆ０）とＣ７（ポリゴン番号Ｆ２及びＦ３）が対応付けられている。すなわち、メッシュ頂点座標ＸＹＺ５に対して、複数のテクスチャ頂点座標ＵＶ５及びＵＶ７が対応付けられている。このように、メッシュ頂点とテクスチャ頂点との対応関係が１対１ではないことがある。このため、本形式では、図４（Ａ）のように、１つのメッシュ頂点座標に対して１つのテクスチャ頂点座標が対応付けられたメッシュ頂点情報を形成すべく、複数のテクスチャ頂点に対応するメッシュ頂点の情報が対応するテクスチャ頂点ごとに複数回記述される。すなわち、メッシュ頂点座標ＸＹＺ５に対して、テクスチャ頂点座標ＵＶ５を対応付けたメッシュ頂点情報Ｖ５と、テクスチャ頂点座標ＵＶ７を対応付けたメッシュ頂点情報Ｖ７が、別個に記述される。なお、このような記述では、メッシュ頂点番号が振りなおされるため、図４（Ａ）のメッシュ頂点番号と、図１（Ａ）のモデルにおけるメッシュ頂点番号とが対応しなくなることに留意されたい。本形式では、各ポリゴンを構成するメッシュ頂点番号は、図４（Ｂ）のように、図４（Ａ）で定義されたメッシュ頂点番号を用いて記述される。このデータ表現方式は、ＰＭＤファイルフォーマットや特許文献１等で採用されている。
【００１５】
３Ｄモデルをレンダリングする際には、多くの場合、データをメモリ上に図４（Ａ）及び図４（Ｂ）のような形態で展開した後に、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に転送して処理を命令する。図３（Ａ）〜図３（Ｃ）のようなデータ形式から、図４（Ａ）及び図４（Ｂ）のデータ形式に変換する手法として、メッシュ頂点番号リストとテクスチャ頂点番号リストに示された番号に従って座標情報を、順次メモリ上に書き出す方法がある。例えば、図３（Ｃ）に記述されているポリゴン番号Ｆ０についてポリゴン情報を参照すると、メッシュ頂点番号Ｖ０とテクスチャ頂点番号Ｃ０という組合せの情報が得られる。この組合せについて、図３（Ａ）及び図３（Ｂ）を参照して、メッシュ頂点座標とテクスチャ頂点座標との組の情報がメモリ上に出力される。同様に、メッシュ頂点番号Ｖ１とテクスチャ頂点番号Ｃ１、メッシュ頂点番号Ｖ４とテクスチャ頂点番号Ｃ４、メッシュ頂点番号Ｖ５とテクスチャ頂点番号Ｃ５の各組合せについても、メッシュ頂点座標とテクスチャ頂点座標との組の情報の出力が行われる。その後、続いてポリゴン番号Ｆ１からＦ５まで同様の処理が実行されることによって、図３（Ａ）〜図３（Ｃ）のようなデータ形式から図４（Ａ）及び図４（Ｂ）の形式のデータへの変換が行われうる。しかしながら、このような変換では、メッシュ頂点番号とテクスチャ頂点番号の同じ組合せが何度も記述される場合がある。すなわち、例えばポリゴン番号Ｆ２及びＦ３について、メッシュ頂点番号Ｖ５とテクスチャ頂点番号Ｃ７が対応付けられており、これに伴って、Ｖ５とＣ７の組合せの情報が２度記述されてしまう。この結果、頂点数が本来の数よりも多くなり、データ転送やレンダリング処理に負荷がかかってしまう場合がある。また、頂点数が増えないように重複を考慮した変換を行うと、変換処理に要する時間が増大しうる。これは、連番で生成された３Ｄモデルの動画を再生する際に特に障害となりうる。
【００１６】
一方、図４（Ａ）及び図４（Ｂ）のような記述方式は、レンダリングには適するが、同じ座標情報を繰り返し記述する必要があり、データ表現として冗長でありうる。例えばメッシュ頂点座標とテクスチャ頂点座標を１対１に対応付けるために、図１（Ａ）のモデルにおけるメッシュ頂点番号Ｖ０のメッシュ頂点座標ＸＹＺ０が、図４（Ａ）のメッシュ頂点番号Ｖ０、Ｖ６、Ｖ１２において繰り返し記述されている。その他の頂点についても同じ現象が発生しうる。
【００１７】
（実施形態に係る３Ｄモデルの第１の記述例）
本実施形態では、メッシュ頂点とテクスチャ頂点との組合せ情報を規定する参照テーブルを利用する。ここでは、まず、先に説明した図１（Ａ）の３Ｄモデルを例に、３Ｄモデルのデータ構造について説明する。図５（Ａ）及び図５（Ｂ）は、それぞれ、本実施形態に係る、メッシュ頂点とテクスチャ頂点との組合せ情報を規定する参照テーブルと、その参照テーブルを用いてポリゴンを表現した情報とを示す。なお、本実施形態に係るデータ構造は、図５（Ａ）及び図５（Ｂ）の情報に加えて、図３（Ａ）及び図３（Ｂ）のようなメッシュ頂点とテクスチャ頂点とに関する頂点座標情報を含むが、説明の簡略化のためにそれらについては省略している。図５（Ａ）の参照テーブルには、図１（Ａ）の３Ｄモデルにおいて存在する、メッシュ頂点とテクスチャ頂点との全ての組合せの情報が記述される。ここで、図５（Ａ）において記述されるのは、どのような組合せが存在するかであるため、同じメッシュ頂点とテクスチャ頂点との組合せの情報が複数回記述されることはない。なお、図５（Ａ）においては、メッシュ頂点とテクスチャ頂点との組合せのそれぞれに対して、対応する組合せ番号Ｐｋ（ｋ＝０〜１５）が付されているが、この情報は、座標の並びによって黙示的に定義されるため、データとして記述されなくてもよい。そして、本実施形態では、各ポリゴンは、図５（Ｂ）に示されるように、図５（Ａ）で規定された組合せ番号によって記述される。すなわち、各ポリゴン情報は、組合せ番号を指定することにより、間接的にメッシュ頂点座標及びテクスチャ頂点座標を指定する。
【００１８】
図３（Ａ）及び図３（Ｂ）と図５（Ａ）及び図５（Ｂ）とを含むように生成されるファイルの例を図６（Ａ）〜図６（Ｆ）に示す。図６（Ａ）は、ファイル全体の構成例であり、図６（Ｂ）〜図６（Ｆ）は、図６（Ａ）の各要素の具体的なデータの記述例である。図６（Ａ）のファイルは、一例において、ヘッダ、組合せ情報、メッシュ頂点座標、テクスチャ頂点座標、及びポリゴン情報を含んで構成される。ファイル内のヘッダ領域には、図６（Ｂ）に示すように、テクスチャ画像に関するファイルへのパスを記したテクスチャ画像リンクが記述されうる。また、ヘッダ領域には、例えば、図５（Ａ）の組合せ情報の要素の数、メッシュ頂点の数、テクスチャ頂点の数、及びポリゴンの数を示す情報が記述される。これらの数の情報は、図６（Ａ）のファイルにおける、組合せ情報とメッシュ頂点座標との境界、メッシュ頂点座標とテクスチャ頂点座標の境界、及びテクスチャ頂点座標とポリゴン情報との境界等を判別するために利用されうる。なお、ヘッダ領域における情報の記述順序はこれに限られず、このファイルを取得した情報処理装置が解釈可能な任意の規則に従って各データが記述される領域が設定されうる。また、ヘッダ領域には、図６（Ｂ）に例示した内容以外のデータが記述されてもよい。
【００１９】
組合せ情報領域には、一例において、図６（Ｃ）に示すように、図５（Ａ）の組合せ情報の順でメッシュ頂点番号の全てが記述された後にテクスチャ頂点番号が順次記述される。ただし、これに限られず、このファイルを取得した情報処理装置が解釈可能な任意の規則に従ってデータが記述されうる。例えばメッシュ頂点番号とテクスチャ頂点番号との記述順序が反転されてもよい。また、１つのメッシュ頂点番号の後に対応するテクスチャ頂点番号を記述し、その後に次のメッシュ頂点番号とテクスチャ頂点番号とを記述するなど、メッシュ頂点番号とテクスチャ頂点番号とが交互に記述されてもよい。メッシュ頂点座標領域には、一例において、図６（Ｄ）に示すように、図３（Ａ）に示される順序でメッシュ頂点座標の全てが記述される。テクスチャ頂点座標領域には、一例において、図６（Ｅ）に示すように、図３（Ｂ）に示される順序でテクスチャ頂点座標の全てが順次記述される。なお、メッシュ頂点座標及びテクスチャ頂点座標の記述の順序についても、図３（Ａ）及び図３（Ｂ）の順序に従う必要はなく、このファイルを取得した情報処理装置が解釈可能な任意の規則に従う順序でデータが記述されうる。
【００２０】
なお、上述の各領域は２つ以上に分割されてもよいし、複数の領域が１つの領域に統合されてもよい。また、各データは所定の圧縮方式によって圧縮（符号化）されてもよい。なお、この場合、各データへのアクセスを容易にするために、それぞれのデータの先頭位置や長さ情報がヘッダに記述されうる。また、上述のデータ以外の別のデータがファイル内に記述されてもよいし、例えば一部のデータから他のデータの一部または全部が特定可能又は推定可能である場合、その特定可能又は推定可能なデータはファイル内に記述されなくてもよい。また、ここでは、テクスチャ画像データが格納されるファイルが別に存在し、ヘッダ内でそのファイルの所在情報を記述する例について説明したが、テクスチャ画像データそのものがこのファイル内に含められてもよい。
【００２１】
このようなデータ構造とすることにより、重複した組合せの情報は記述されなくなるため、データの冗長性を低減することができる。また、各頂点座標の情報についても１度のみ記述されることとなるため、これによってもデータ量が削減可能となる。また、上述のデータ形式は、図４（Ａ）及び図４（Ｂ）と同様に、レンダリングに適した形式であるため、処理効率も十分に高くすることができる。
【００２２】
（装置構成）
続いて、上述のようなデータ構造に関するファイルを生成する情報生成装置と、そのようなファイルを取得して三次元物体の描画を行う情報処理装置の構成について説明する。
【００２３】
図７は、情報生成装置及び情報処理装置のハードウェア構成例を示す図である。情報生成装置及び情報処理装置は、一般的なコンピュータでありうる。これらの装置は、例えば、ＣＰＵ７０１、ＧＰＵ７０２、ＲＡＭ７０３、ＲＯＭ７０４、キーボード７０５、マウス７０６、表示装置７０７、外部記憶装置７０８、記憶媒体ドライブ７０９、Ｉ／Ｆ７１０を有する。なお、これらの各部分は、内部バス７１１を介して相互に通信可能に接続される。
【００２４】
ＣＰＵ７０１は、ＲＡＭ７０３やＲＯＭ７０４に格納されているコンピュータプログラムやデータを用いて、コンピュータ全体の制御を行うと共に、後述する情報生成装置及び情報処理装置が担う各種処理を実行する。ＧＰＵ７０２は、例えば、ＣＰＵ７０１からの３Ｄモデル情報とレンダリング指示とを受け付けて画像をレンダリングし、表示装置７０７にそのレンダリングした画像を表示させるための処理を実行する。
【００２５】
ＲＡＭ７０３は、コンピュータが読み取り可能な記憶媒体の一例である。ＲＡＭ７０３は、外部記憶装置７０８、記憶媒体ドライブ７０９、Ｉ／Ｆ７１０等からロードされたコンピュータプログラムやデータを一時的に記憶するための記憶領域を有する。また、ＲＡＭ７０３は、ＣＰＵ７０１が各種の処理を実行する際に用いるワークエリアを提供する。すなわち、ＲＡＭ７０３は、各種のデータを保持するために適宜提供可能な記憶領域を有する。ＲＯＭ７０４は、コンピュータが読み取り可能な記憶媒体の一例であり、コンピュータの設定データや、ブートプログラムなどを格納する。
【００２６】
キーボード７０５及びマウス７０６は、コンピュータのユーザによる操作を受け付けるデバイスであり、受け付けた操作の内容をＣＰＵ７０１へ入力する。なお、キーボード７０５及びマウス７０６は、操作受付デバイスの一例であり、例えばタッチパネルや、音声入力機構等の様々な操作受付デバイスによって置き換えられうる。表示装置７０７は、ＣＲＴや液晶画面等によって構成され、ＣＰＵ７０１による処理結果を画像や文字などを用いて表示する。なお、表示装置７０７は、例えばタッチディスプレイ等の操作受付機能を有してもよい。また、表示装置７０７は、情報生成装置及び情報処理装置の内部に備えられる必要はなく、これらの装置とは別個に用意され、これらの装置とケーブル等を介して接続可能な装置であってもよい。この場合、情報生成装置及び情報処理装置は、例えば、表示制御装置を内部に有しうる。
【００２７】
外部記憶装置７０８は、コンピュータが読み取り可能な記憶媒体の一例であり、ハードディスクドライブ装置等の大容量情報記憶装置である。外部記憶装置７０８には、ＯＳ（オペレーティングシステム）や、後述する各処理を実現するための、例えばＣＰＵ７０１によって実行されるコンピュータプログラムやデータ、上述の各種テーブル、データベース等が保存されうる。外部記憶装置７０８に保存されるコンピュータプログラムやデータは、例えば、ＣＰＵ７０１による制御に従ってＲＡＭ７０３にロードされてＣＰＵ７０１によって処理される。記憶媒体ドライブ７０９は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記憶媒体に記録されているコンピュータプログラムやデータを読み出し、読み出したコンピュータプログラムやデータを外部記憶装置７０８やＲＡＭ７０３に出力する。例えば、本実施形態で説明されるデータやコンピュータプログラムの一部または全部を記憶媒体に記録させておき、この記憶媒体を記憶媒体ドライブ７０９に読み取らせることによって情報生成装置及び情報処理装置の内部に取り込むようにしてもよい。Ｉ／Ｆ７１０は、情報生成装置及び情報処理装置の外部からの頂点インデックス等の入力の受け付けや、生成したデータの出力のためのインタフェースである。Ｉ／Ｆ７１０は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、Ｅｔｈｅｒｎｅｔ（登録商標）等の、任意のインタフェースでありうる。
【００２８】
情報生成装置及び情報処理装置では、電源を投入されると、ＣＰＵ７０１がＲＯＭ７０４に格納されているブートプログラムに従って、ＯＳを外部記憶装置７０８からＲＡＭ７０３にロードする。この結果、キーボード７０５、マウス７０６を介したユーザ操作の受け付けと、表示装置７０７へのＧＵＩの表示とが可能となる。そして、情報生成装置では、ＣＰＵ７０１が、キーボード７０５やマウス７０６を介したユーザ操作によって３Ｄモデル記述アプリケーションの起動指示を受け付けたことに応じて、対応するプログラムをＲＡＭ７０３にロードして実行する。同様に、情報処理装置では、ＧＰＵ７０２が、キーボード７０５やマウス７０６を介したユーザ操作によって物体描画アプリケーションの起動指示を受け付けたことに応じて、三次元物体の描画処理を実行する。これらによって、それぞれ、後述する３Ｄモデルに関するファイル生成処理と三次元物体の描画処理が実行される。
【００２９】
続いて、図８を用いて、情報生成装置と情報処理装置の機能構成例について説明する。なお、図８は、情報生成装置と情報処理装置が有する機能構成例の一例を示しており、示される機能構成の一部または全部が他の構成と置き換えられてもよい。例えば、１つの機能部が複数の機能部に分割されてもよいし、複数の機能部が統合されて１つの機能部として実現されてもよい。一例において、情報生成装置８００は、メッシュ取得部８０１、テクスチャ割当部８０２、組合せ情報生成部８０３、ポリゴン情報生成部８０４、及び３Ｄモデル出力部８０５を有する。また、一例において、情報処理装置８１０は、３Ｄモデル入力部８１１、３Ｄモデル変換部８１２、及び物体描画部８１３を有する。これらの機能部は、例えば、情報生成装置及び情報処理装置のＣＰＵ７０１が、それぞれ、３Ｄモデル記述アプリケーション及び物体描画アプリケーションに対応するプログラムを実行することにより実現されうる。ただしこれに限られず、図８の機能部の一部または全部を実現する専用のハードウェアが用いられてもよい。
【００３０】
メッシュ取得部８０１は、図３（Ａ）で示されるような、三次元物体を表現するメッシュの情報を取得する。メッシュ取得部８０１は、例えば既知のグローバル座標系に存在し、事前に外部記憶装置７０８に格納されたメッシュ情報を取得してもよいし、記憶媒体ドライブ７０９を介して記憶媒体から、又はＩ／Ｆ７１０を介して外部から、メッシュ情報を取得してもよい。メッシュ取得部８０１は、このメッシュの情報をテクスチャ割当部８０２に出力する。テクスチャ割当部８０２は、メッシュに含まれる各ポリゴンに割り当てるテクスチャ頂点を決定し、テクスチャの割当情報を取得する。テクスチャ割当部８０２は、各ポリゴンへのテクスチャの割当情報を、組合せ情報生成部８０３に出力する。組合せ情報生成部８０３は、取得した割当情報に基づいて、存在するメッシュ頂点番号とテクスチャ頂点番号の組合せを抽出して、図５（Ａ）のような組合せ情報を生成する。組合せ情報生成部８０３は、組合せ情報をポリゴン情報生成部８０４に出力する。ポリゴン情報生成部８０４は、組合せ情報に基づいて、図５（Ｂ）のようなポリゴン情報を生成する。このようにして取得／生成されたメッシュ頂点情報、テクスチャ頂点情報、組合せ情報、及びポリゴン情報は、例えば図６（Ａ）のファイルの形式で、三次元物体の描画を行う情報処理装置８１０へ提供される。
【００３１】
３Ｄモデル入力部８１１は、例えば、情報生成装置８００からファイルを受け付け、取得したファイル内のヘッダを解析する。そして、３Ｄモデル入力部８１１は、テクスチャ画像リンクに基づくテクスチャ画像を取得し、また、組合せ情報の数、メッシュ頂点数、テクスチャ頂点数、及びポリゴン数の情報を取得し、各情報を保持するためのメモリ領域を確保する。そして、３Ｄモデル入力部８１１は、確保した領域のそれぞれに、組合せ情報、メッシュ頂点座標の情報、テクスチャ頂点座標の情報、及びポリゴンの情報を格納する。３Ｄモデル変換部８１２は、３Ｄモデル入力部８１１が取得した情報を、メッシュ頂点座標とテクスチャ頂点座標との組合せの情報に変換し、メモリに格納する。物体描画部８１３は、３Ｄモデル変換部８１２がメモリに格納した情報に基づいて、三次元物体を描画する。なお、本実施形態では、図４（Ａ）及び図４（Ｂ）のようにメッシュ頂点座標とテクスチャ頂点座標とを対にした状態のデータを受け取る仕様のＧＰＵが多いことに鑑みて、上述の構成例を示しているが、実際の描画の態様に応じて、異なる構成が用いられうる。例えば、図３（Ａ）及び図３（Ｂ）と図５（Ａ）及び図５（Ｂ）の組合せのような形式のデータから直接描画を行うことが可能な描画装置（ＧＰＵ）に対しては、３Ｄモデル変換部８１２が用いられなくてもよい。また、ここで説明されていない別の形式でのデータを受け取って描画を行う描画装置に対しては、その描画装置に適した形式となるように、３Ｄモデル変換部８１２によってデータが変形されうる。
【００３２】
（処理の流れ）
図９を用いて、情報生成装置によって実行される、３Ｄモデルに関するファイル生成処理の流れの例について説明する。本処理は、例えば、既知のグローバル座標系に存在する３Ｄモデルに対してカメラ撮影によって取得される画像をテクスチャとして付与する場合や、ＣＧのテクスチャを指定した箇所に付与する場合に実行される。本処理では、まず、テクスチャ割当部８０２が、メッシュ取得部８０１によって取得されたメッシュ内の各ポリゴンに割り当てるテクスチャを決定する（Ｓ９０１）。そして、組合せ情報生成部８０３が、Ｓ９０１で行われたテクスチャの割り当てに従って、存在するメッシュ頂点とテクスチャ頂点との組合せを全て抽出して、図５（Ａ）のような組合せ情報を生成する（Ｓ９０２）。そして、ポリゴン情報生成部８０４が、図５（Ａ）のようにメッシュ頂点とテクスチャ頂点の組合せに対して付与される組合せ番号に基づいて、図５（Ｂ）のようなポリゴン情報を生成する（Ｓ９０３）。その後、全ポリゴンについてＳ９０３の処理が完了したか否かが判定される（Ｓ９０４）。そして、全ポリゴンについて処理が終了していない場合（Ｓ９０４でＮＯ）は、次のポリゴンの処理へ移行し（Ｓ９０５）、全ポリゴンについての処理が終了するまで（Ｓ９０４でＹＥＳとなるまで）、Ｓ９０３の処理が繰り返し実行される。全ポリゴンについてのＳ９０３の処理が終了すると、３Ｄモデル出力部８０５が、取得／生成された情報に基づいて、図６（Ａ）のような形式のファイルとして３Ｄモデルを出力する。
【００３３】
次に、図１０を用いて、情報処理装置によって実行される、情報生成装置によって生成されたファイルに基づく三次元物体の描画処理の流れの例について説明する。なお、上述のように、図４（Ａ）及び図４（Ｂ）のような形式のデータを受け取る仕様のＧＰＵが多いことに鑑み、ここでは、情報処理装置が情報生成装置から取得したファイルに基づいて３Ｄモデルデータをメモリ上に展開して描画を行う処理について説明する。本処理では、まず、３Ｄモデル入力部８１１が、取得したファイルのヘッダ情報を解析して、メッシュ頂点座標、テクスチャ頂点座標、組合せ情報、及びポリゴン情報のそれぞれの要素数（サイズ）を読み込む（Ｓ１００１）。そして、３Ｄモデル入力部８１１が、Ｓ１００１で取得したサイズに従って、各情報を格納するためのメモリ領域を確保し（Ｓ１００２）、確保したメモリ領域にそれぞれの情報をファイルから読み込んで格納する（Ｓ１００３）。この時、メッシュ頂点座標、テクスチャ頂点座標、組合せ情報、及びポリゴン情報についてそれぞれ確保されたメモリ領域を、それぞれＭ１〜Ｍ４とする。
【００３４】
そして、３Ｄモデル変換部８１２が、メモリ上に、それぞれが組合せ情報のサイズに対応するサイズのメッシュ頂点座標領域Ｍ５とテクスチャ頂点座標領域Ｍ６とを確保する（Ｓ１００４）。例えば、各メッシュ座標値を表すために確保されるビット数が組合せ情報の値を表すために確保されるビット数のＮ１倍（Ｎ１は例えば１以上の値）である場合、Ｍ５はＭ３のＮ１倍のビット数の領域として確保されうる。同様に、各テクスチャ座標値を表すために確保されるビット数が組合せ情報の値を表すために確保されるビット数のＮ２倍（Ｎ２は例えば１以上の値）である場合Ｍ６はＭ３のＮ２倍のビット数の領域として確保されうる。そして、３Ｄモデル変換部８１２が、組合せ情報に記述されているメッシュ頂点番号及びテクスチャ頂点番号に従って、Ｍ１及びＭ２に格納されている座標値を、Ｍ５及びＭ６にコピーする（Ｓ１００５）。そして、物体描画部８１３が、Ｍ４〜Ｍ６に格納された情報をＧＰＵに転送し（Ｓ１００６）、ＧＰＵに対して、要求視点位置を指定して物体のレンダリングを指示し、画像を描画させる（Ｓ１００７）。なお、上述の例では、一例としてメモリへの情報の展開について詳述したが、実体的には、メッシュ頂点座標とテクスチャ頂点座標との組合せを特定することができるようにする処理が行われる限りにおいて、どのような手法が用いられてもよい。
【００３５】
このように、本実施形態では、メッシュ頂点とテクスチャ頂点との組合せ情報を定義して用いる。これにより、組合せ情報を介してポリゴン情報からメッシュ頂点座標及びテクスチャ頂点座標を指定することで、同じメッシュ頂点座標及びテクスチャ頂点座標が複数回記述されることを防ぎ、データ表現の冗長性を削減することができる。また、図５（Ａ）及び図５（Ｂ）のような構成を用いることにより、図４（Ａ）及び図４（Ｂ）のような三次元物体の描画に適した形式へのデータの変換処理の処理負荷を低減することもできる。
【００３６】
（実施形態に係る３Ｄモデルの第２の記述例）
なお、図１（Ａ）の例では、図１（Ｂ）のＣ０〜Ｃ５に囲まれたテクスチャ領域が、メッシュ内の２か所に割り当てられたために、１つのテクスチャ頂点が複数のメッシュ頂点に割り当てられた。しかし、実写画像からのテクスチャマッピングを行う場合など、このような繰り返しの貼り付けがほぼ発生しないケースでは、テクスチャ頂点座標が繰り返し記述される状況はほぼ発生しない。このような場合には、組合せ情報を構成する際にテクスチャ頂点番号を記述するのではなく、図１１のように、組合せ情報の中にテクスチャ頂点座標を直接記述し、図３（Ｂ）の情報を省略してもよい。この場合のファイルの構成を図１２（Ａ）〜図１２（Ｅ）に示す。図１２（Ａ）の構成は、図６（Ａ）と比較して、テクスチャ頂点座標の領域が省略されている。また、図１２（Ｂ）のヘッダは、図６（Ｂ）のヘッダと比較して、テクスチャ頂点数の情報が省略されている。また、図１２（Ｃ）の組合せ情報では、テクスチャ頂点番号に代えて、テクスチャ頂点座標の情報が含められる。なお、図１２（Ｄ）及び図１２（Ｅ）の構成は、図６（Ｄ）及び図６（Ｆ）と同様である。これによれば、データの量を削減でき、また、データの展開の処理負担も低減することができる。
【００３７】
（実施形態に係る３Ｄモデルの第３の記述例）
上述の記述例では、メッシュ頂点及びテクスチャ頂点の記述の冗長性を削減するために、存在する全ての組合せ情報を記述した。この手法では、描画のためのメモリ展開時に、メッシュ頂点座標とテクスチャ頂点座標とを、メッシュ頂点番号及びテクスチャ頂点番号を参照して１つ１つコピーする。一方、例えば図５（Ａ）の組合せ番号Ｐ０〜Ｐ５に対応するメッシュ頂点番号はＶ０〜Ｖ５であり、展開時には図３（Ａ）のＶ０〜Ｖ５までの値をそのまままとめてコピーすることができれば、データ展開処理の負荷を軽減することができる。同様に、例えば図５（Ａ）の組合せ番号Ｐ０〜Ｐ１１に対応するテクスチャ頂点番号はＣ０〜Ｃ１１であり、展開時には図３（Ｂ）の表をそのまままとめてコピーすることで、データ展開処理負荷を低減することができる。このため、本記述例では、このようなメッシュ頂点情報及びテクスチャ頂点情報の順序と組合せ情報で記述されるべき各番号の順序とが対応しており座標値のコピーをまとめて実行することが可能な範囲をブロックコピーが可能な範囲として指定する。本記述例では、図５（Ａ）の情報を、例えば、図１３のように記述する。すなわち、情報生成装置は、組合せ情報のメッシュ頂点番号とテクスチャ頂点番号とについて、それぞれ、番号が０から連番を維持している数をブロックコピーサイズとして特定し、このブロックコピーサイズの情報をそれらの頂点番号の代わりに記述する。このときに情報生成装置が生成するファイルの一例を図１４（Ａ）〜図１４（Ｆ）に示す。情報生成装置は、一例において、メッシュ頂点とテクスチャ頂点とのそれぞれについてのブロックコピーサイズの情報を、ヘッダに格納する。これにより、情報処理装置は、このファイルを取得すると、組合せ情報のうち、Ｐ０〜Ｐ５についてメッシュ頂点座標とテクスチャ頂点座標を、Ｐ６〜Ｐ１１についてはテクスチャ頂点座標を、まとめてコピーすることができる。
【００３８】
なお、ファイルの形式はこれに限られず、例えば、組合せ情報内にブロックコピーサイズの情報を含めてもよい。すなわち、図１４（Ｃ）の例では、ブロックコピーの対象とならない組合せ情報についてのメッシュ頂点番号及びテクスチャ頂点番号が記述されているが、各頂点番号の前に、ブロックコピーサイズの情報を格納するようにしてもよい。また、本例では、組合せ情報Ｐ０に対してメッシュ頂点番号Ｖ０とテクスチャ頂点番号Ｃ０との組み合わせが対応することを前提として、Ｐ０からブロックコピーが可能な数をブロックコピーサイズとして規定したがこれに限られない。例えば、任意のメッシュ頂点番号とテクスチャ頂点番号からブロックコピーが可能な数を特定し、そのメッシュ頂点番号又はテクスチャ頂点番号とブロックコピーサイズとを記述するようにしてもよい。この場合、例えば、４つの組合せ情報について、メッシュ頂点番号「Ｖ１」から「Ｖ４」まで連続する場合、メッシュ頂点番号が連続し始める「Ｖ１」とブロックコピーサイズ「４」とが記述されうる。この記述は、例えば、任意の組合せ番号からのブロックコピーを可能としうる。例えば、６個の連続する組合せ番号Ｐ０〜Ｐ５に連続するメッシュ頂点番号Ｖ３〜Ｖ８が対応し、４個の連続する組合せ番号Ｐ６〜Ｐ９に連続するメッシュ頂点番号Ｖ２〜Ｖ５が対応する場合、「Ｖ３」「６」「Ｖ２」「４」等の情報が組合せ情報に記述されうる。これによれば、大きいサイズの３Ｄモデルに対して、ブロックコピーを行うことができる機会を増やし、メモリ展開時の処理負荷を低減することが可能となる。なお、ここでは、メッシュ頂点番号やテクスチャ頂点番号が連続するか否かでブロックコピーが可能であるか否かが判定可能である場合について説明しているが、これに限られない。すなわち、図３（Ａ）のメッシュ頂点座標又は図３（Ｂ）のテクスチャ頂点の情報をまとめてコピーすることができるサイズをブロックコピーサイズとして規定するだけでよい。この場合、図３（Ａ）のメッシュ頂点座標又は図３（Ｂ）のテクスチャ頂点は、メッシュ頂点番号順又はテクスチャ頂点番号順に並んでいる必要はない。
【００３９】
３Ｄモデルデータの生成処理の流れは図９と同様であるが、情報生成装置は、Ｓ９０６の処理で、組合せ情報Ｐ０からのメッシュ頂点番号及びテクスチャ頂点番号について、それぞれ、番号が０から連続増加している数をブロックコピーサイズとして特定する。そして、情報生成装置は、３Ｄモデルデータのヘッダ情報にブロックコピーサイズを記述し、ブロックコピーの対象となるメッシュ頂点番号及びテクスチャ頂点番号を省略した形式で組合せ情報を記述する。これにより、図１４（Ａ）〜図１４（Ｆ）に示すファイルが生成される。
【００４０】
続いて、情報処理装置が上述のファイルに基づいて実行する、三次元物体の描画処理の流れの例について、図１５を用いて説明する。なお、本処理において、図１０と同様の処理については、図１０と共通の参照番号を用いることによってその説明を省略する。本処理では、まず、情報処理装置は、ヘッダ情報を解析して、Ｓ１００１で読み込まれる情報に加えて、メッシュ頂点及びテクスチャ頂点のブロックコピーサイズの情報を取得する（Ｓ１５０１）。そして、Ｓ１００２〜Ｓ１００４によってメモリ領域Ｍ１〜Ｍ６の確保と、Ｍ１〜Ｍ４へのデータの格納とが行われた後に、情報処理装置は、ブロックコピーサイズに従って、０番目の要素から指定サイズ分の値をブロックコピーする（Ｓ１５０２）。例えば、メッシュ頂点についてのブロックコピーサイズが６であった場合、情報処理装置は、Ｍ５の０〜５番目の要素にＭ１の０〜５番目の要素をまとめてコピーする。同様に、テクスチャ頂点についてのブロックコピーサイズが６であった場合、情報処理装置は、Ｍ６の０〜１１番目の要素にＭ２の０〜１１番目の要素をまとめてコピーする。この段階で、図１３の空欄にあたる情報はメモリへの展開が完了する。その後、情報処理装置は、コピーされていない要素に関して、Ｓ１００５の処理と同様にして、組合せ情報を参照しながら１つずつ値をコピーする（Ｓ１５０３）。これにより、Ｍ５及びＭ６の領域に、図１０を用いて説明したのと同様のデータが展開される。
【００４１】
なお、第１〜第３の記述例のいずれが用いられているかを示すフラグが、例えばヘッダ内に格納されてもよい。これにより、３Ｄモデルごとに適切なデータ記述方法を用いることが可能となる。さらに、例えば、第２の記述例において、メッシュ頂点番号の記述を、第３の記述例のように、ブロックコピーサイズを追記することによって一部省略してもよい。すなわち、各記述例を、別個独立に用いてもよいし、組み合わせて用いてもよい。
【００４２】
（データ量の比較）
従来例（図４（Ａ）及び図４（Ｂ））と、第１及び第３の記述例（図３（Ａ）及び図３（Ｂ）と図５（Ａ）及び図５（Ｂ）の組合せと、図３（Ａ）及び図３（Ｂ）と図１３及び図５（Ｂ）の組合せ）のデータ量を比較する。ここで、メッシュ頂点座標及びテクスチャ頂点座標はＸＹＺの各座標に対して４バイトの単精度浮動小数、番号は４バイトの整数で記述されるものとする。
【００４３】
図４（Ａ）及び図４（Ｂ）の場合、図４（Ａ）の情報に（４（バイト数）×３（メッシュ頂点の次元数）＋４（バイト数）×２（テクスチャ頂点の次元数））×１８（要素数）＝３６０バイトが必要となる。また、図４（Ｂ）の情報に、４（バイト数）×４（メッシュ頂点数）×６（要素数）＝９６バイトが必要となり、図４（Ａ）及び図４（Ｂ）の情報に合計４５６バイトが必要となる。
【００４４】
第１の記述例では、図３（Ａ）の情報に４（バイト数）×３（次元数）×８（頂点数）＝９６バイト、図３（Ｂ）の情報に４（バイト数）×２（次元数）×１２（頂点数）＝９６バイトが必要となる。また、図５（Ａ）の情報に４（バイト数）×２（メッシュ頂点番号とテクスチャ頂点番号）×１６（要素数）＝１２８バイト、図５（Ｂ）の情報には図４（Ｂ）と同様に９６バイトが必要となる。このため、第１の記述例では、合計４１６バイトが必要となる。また、第３の記述例では、図５（Ａ）が図１３に置き換えられることにより、図１３の記述には、４（バイト数）×１４（要素数）＋４（バイト数）×２（ブロックコピーサイズ要素数）＝６４バイトが必要となる。このため、第３の記述例は、合計３５２バイトが必要となる。
【００４５】
以上のように、本実施形態の記述例によれば、いずれも、図４（Ａ）及び図４（Ｂ）の従来の記述手法と比して、データサイズを削減することができる。さらに、第３の記述例を用いることで、ブロックコピーサイズが大きくなるほど、大幅にデータ量を削減することができるようになる。なお、座標情報及び番号を表現するためのバイト数は一例にすぎず、例えば、頂点数に応じて番号の表現に用いられるバイト数を適宜変動させてもよい。
【００４６】
なお、上述の手法は、物体の形状を表すデータとその形状の表面に割り当て可能なテクスチャ平面を表すデータとを用いて、物体形状上の第１の点とテクスチャ平面上の第２の点とを対応付けて三次元物体を表現する任意の手法に適用可能である。すなわち、三次元物体の形状に関するデータとテクスチャ画像に関するデータとを関連付ける情報として組合せ情報が用いられ、形状の第１の点とテクスチャの第２の点との同じ組合せの情報が繰り返し記述されないようにする。そして、三次元物体の形状の各面を組合せ番号によって記述することにより、三次元物体を記述したデータについてのデータ量を削減することが可能となる。
【００４７】
＜実施形態２＞
次に本発明の第２の実施形態について、実施形態１との差異を中心に説明する。実施形態１では、形状とテクスチャの頂点の組合せ情報を用いて３Ｄモデルが記述される例について説明した。これに対して、本実施形態では、頂点同士の接続関係を表現するエッジの組合せ情報を用いて３Ｄモデルが記述される場合の例について説明する。
【００４８】
図１６（Ａ）〜図１６（Ｆ）に、図１（Ａ）のモデルをエッジの組合せ情報を用いて記述した例を示す。図１６（Ａ）及び図１６（Ｃ）は、図３（Ａ）及び図３（Ｂ）と同様の、メッシュ及びテクスチャの頂点座標の一覧である。図１６（Ｂ）は、図１６（Ａ）に示したメッシュの頂点番号の組によって、接続された２頂点を結ぶエッジを表現している。同様に、図１６（Ｄ）は、テクスチャのエッジを表す。図１６（Ｅ）は、メッシュのエッジに対応するテクスチャのエッジの組合せ情報を表しており、これによって、メッシュとテクスチャとを関連付ける。そして、図１６（Ｆ）は、面をエッジの組合せ情報を指定することによって定義している。ここで示した表現形式の場合、まずポリゴン情報で組合せ情報にアクセスし、この情報を用いてメッシュ及びテクスチャのエッジにアクセスし、エッジ情報からさらにそれぞれの頂点座標にアクセスし、最終的に面を定義する座標情報を得ることができる。
【００４９】
図１６（Ａ）〜図１６（Ｆ）のデータ形式の生成処理の流れの例を図１７に示す。本処理は、実施形態１の図９に対応するものであり、処理を実行する構成部は図８と同様である。本処理では、まず、メッシュ取得部８０１によって取得されたメッシュ内の各ポリゴンに割り当てるテクスチャが決定され（Ｓ１７０１）、メッシュとテクスチャのそれぞれのエッジが抽出される（Ｓ１７０２）。そして、Ｓ１７０１で行われたテクスチャの割り当てに従って、Ｓ１７０２で抽出されたメッシュエッジとテクスチャエッジの組合せが全て抽出され、図１６（Ｅ）のような組合せ情報が生成される（Ｓ１７０３）。そして、図１６（Ｅ）のようなメッシュエッジとテクスチャエッジの組合せに対して付与される組合せ番号に基づいて、図１６（Ｆ）のようなポリゴン情報が生成される（Ｓ１７０４）。その後、全ポリゴンについてＳ１７０４の処理が完了したか否かが判定される（Ｓ１７０５）。そして、全ポリゴンについて処理が終了していない場合（Ｓ１７０５でＮＯ）は、次のポリゴンの処理へ移行し（Ｓ１７０６）、全ポリゴンについての処理が終了するまで（Ｓ１７０５でＹＥＳとなるまで）、Ｓ１７０４の処理が繰り返し実行される。全ポリゴンについてのＳ１７０４の処理が終了すると、取得／生成された情報に基づいて、３Ｄモデルが出力される。
【００５０】
このようにして、形状データ及びテクスチャデータの構成要素は頂点であってもよいし、エッジ（辺）であってもよい。いずれの場合であっても、３Ｄモデルには、形状データの第１の構成要素を記述した第１の情報が含まれ、さらに、第１の構成要素とその第１の構成要素に対応して割り当てられているテクスチャの第２の構成要素との組合せを記述した第２の情報が含まれる。また、３Ｄモデルでは、第１の構成要素と第２の構成要素との組合せを示す値によって三次元物体の各面の形状と割り当てられるテクスチャとを記述した第３の情報が含まれる。また、３Ｄモデルには、テクスチャデータに含まれる第２の構成要素を記述した第４の情報が含まれうる。
【００５１】
なお、組合せ情報は、同様の考え方で、メッシュとテクスチャで独立にポリゴン情報を生成し、面同士の組合わせとして表現してもよい。すなわち、図３（Ｃ）の各ポリゴン番号に対応するメッシュ頂点番号リストと、テクスチャ頂点番号リストをそれぞれ別個に形成し、メッシュポリゴン番号とテクスチャポリゴン情報との組合せを用いて、組合せ情報が生成されてもよい。
【００５２】
上述のような表現形式を用いることにより、メッシュとテクスチャとの間のエッジの対応関係をデータに埋め込むことが可能となる。これにより、テクスチャとメッシュのエッジ対応関係を保ちながらモデルを処理する必要がある場合などに、面の接続情報からエッジの解析をすることなく高速にその処理を実行することが可能になる。
【００５３】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５４】
７０１：ＣＰＵ、７０２：ＧＰＵ、７０３：ＲＡＭ、７０４：ＲＯＭ、７０８：外部記憶装置、７０９：記憶媒体ドライブ、８０１：メッシュ取得部、８０２：テクスチャ割当部、８０３：組合せ情報生成部、８０４：ポリゴン情報生成部、８０５：３Ｄモデル出力部、８１１：３Ｄモデル入力部、８１２：３Ｄモデル変換部、８１３：物体描画部
【図１】
2019086918.tif 000003
【図２】
2019086918.tif 000004
【図３】
2019086918.tif 000005
【図４】
2019086918.tif 000006
【図５】
2019086918.tif 000007
【図６】
2019086918.tif 000008
【図７】
2019086918.tif 000009
【図８】
2019086918.tif 000010
【図９】
2019086918.tif 000011
【図１０】
2019086918.tif 000012
【図１１】
2019086918.tif 000013
【図１２】
2019086918.tif 000014
【図１３】
2019086918.tif 000015
【図１４】
2019086918.tif 000016
【図１５】
2019086918.tif 000017
【図１６】
2019086918.tif 000018
【図１７】
2019086918.tif 000019