(57)【特許請求の範囲】
【請求項１】
３Ｄテクスチャモデルを自動最適化するコンピュータ実装された方法であって、
−少なくとも１つのプロセッサによって、複数のメッシュから成る３Ｄテクスチャモデルから、３Ｄジオメトリおよび複数のテクスチャを抽出するステップと、
−前記少なくとも１つのプロセッサによって、パラメータのデータベースからの目標パラメータの第１の組を用いることにより、前記３Ｄジオメトリに対して集約アルゴリズムを適用して集約された３Ｄジオメトリを得て、集約された３Ｄジオメトリに対して簡素化アルゴリズムを適用して複数の簡素化された３Ｄジオメトリバージョンを得るステップであって、データベースが、目標アプリケーションおよび目標装置に対して予め規定された、目標パラメータおよび最適パラメータを含む、ステップと、
−前記少なくとも１つのプロセッサによって、パラメータのデータベースからの目標パラメータの第２の組を用いて、前記複数のテクスチャに対して縮退アルゴリズムを適用して複数の縮退されたテクスチャバージョンを得るステップと、
−前記少なくとも１つのプロセッサによって、前記複数の簡素化された３Ｄジオメトリバージョンを前記複数の縮退されたテクスチャバージョンと共に直列化して、複数の直列化された３Ｄデータコンテンツを得るステップと、
−前記少なくとも１つのプロセッサによって、目標アプリケーションおよび目標装置に対するパラメータのデータベースから選択される最適パラメータの組を用いて、簡素化されたジオメトリおよび縮退されたテクスチャから、最適化された３Ｄテクスチャモデルを生成するステップであって、最適化された３Ｄテクスチャモデルは、目標装置の目標アプリケーションにおけるリアルタイムのレンダリングに最適化されている、ステップとを含む方法。
【請求項２】
前記簡素化ステップが、経験的および／または２次関数的簡素化を適用するものである、請求項１に記載の方法。
【請求項３】
簡素化された３Ｄジオメトリバージョンに各々の詳細レベルが関連付けられている、請求項２に記載の方法。
【請求項４】
前記集約ステップが、３Ｄジオメトリのオブジェクトにランク付けするステップを含んでいる、請求項３に記載の方法。
【請求項５】
前記直列化ステップが、１個の簡素化された３Ｄジオメトリバージョンを１個の縮退されたテクスチャバージョンにより直列化するものである、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記縮退ステップが更に、前記直列化ステップの前に、前記縮退されたテクスチャバージョンを変換するステップを含んでいる、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記直列化ステップが、少なくとも１個の簡素化された３Ｄジオメトリバージョンを少なくとも１個の変換且つ縮退されたテクスチャバージョンにより直列化するものである、請求項６に記載の方法。
【請求項８】
前記複数の直列化された３Ｄデータコンテンツを格納するステップを更に含んでいる、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
適当なコンピュータ装置上で実行された場合に、請求項１〜８のいずれか１項に記載の方法のステップを実行する命令を含むコンピュータプログラム。
【請求項１０】
請求項１〜８のいずれか１項に記載の方法のステップを実行するのに適した手段を含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多次元デジタルデータ処理の分野に関し、より具体的にはネットワーク転送およびリアルタイムレンダリング用にテクスチャ３Ｄモデルを自動的に最適化するシステム、方法、およびコンピュータプログラム製品に関する。
【背景技術】
【０００２】
コンピュータグラフィックスは、益々複雑になる３次元的表現の見栄えを含む複雑な画像の生成を可能にしている。３Ｄコンピュータグラフィックスにおいて、３Ｄモデリングは、専用ソフトウェアを介して物体（無生物または生物）の任意の３次元の表面に数学的表現を生成する処理である。その成果物は３Ｄモデルと呼ばれる。３Ｄモデルは、３Ｄレンダリングと呼ばれる処理を通じて２次元画像としてのコンピュータ画面に表示すること、または物理的現象のコンピュータシミュレーションで利用することができる。３Ｄレンダリングは、オプションとして素材を設定可能な３Ｄワイヤフレームモデルをコンピュータ上での３Ｄの写実的または非写実的レンダリングにより２Ｄ画像に自動的に変換する３Ｄコンピュータグラフィック処理である。３Ｄモデルは自動的にまたは手動で生成されてよい。モデリングアプリケーションまたはモデラーと呼ばれる３Ｄモデリングソフトウェアは、３Ｄモデルの作成に用いる３Ｄコンピュータグラフィックスソフトウェアのクラスである。
【０００３】
ゲームおよびシミュレーション等の対話型３Ｄ用のレンダリングは、毎秒約２０〜１２０フレームの速度でリアルタイムで計算および表示される。リアルタイムレンダリングの究極的目標は、数分の１秒で目が処理できる程度の情報を示すことである。１フレームにおいて、毎秒３０フレームの場合、フレームのアニメーションは一般に３０分の１秒間にわたる。従って、人間の目に動きを感じさせるために最低限必要な毎秒２４フレームに通常設定されている受容可能な最低レンダリング速度で可能な限り高いレンダリング品質を実現するために主な妥協がなされる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１６／０３８０９０号
【非特許文献】
【０００５】
【非特許文献１】Ｍ．Ｇａｒｌａｎｄ，“Ｑｕａｄｒｉｃ−ｂａｓｅｄ  Ｐｏｌｙｇｏｎａｌ  Ｓｕｒｆａｃｅ  Ｓｉｍｐｌｉｆｉｃａｔｉｏｎ  Ｍｉｃｈａｅｌ  Ｇａｒｌａｎｄ  Ｓｃｈｏｏｌ  ｏｆ  ｃｏｍｐｕｔｅｒ  ｓｃｉｅｎｃｅｓ  Ｃａｒｎｅｇｉｅ  Ｍｅｌｌｏｎ  Ｕｎｉｖｅｒｓｉｔｙ”
【発明の概要】
【発明が解決しようとする課題】
【０００６】
３Ｄのウェブアプリケーションまたはモバイル機器、スマートフォン等との一体化が進むにつれて、３次元的表現の専用家でない多くのユーザーが自身の３Ｄ体験を他者と対話的に簡単に共有できることが必要である。
【０００７】
しかし、表面を簡素化する問題は増加しつつある問題であり、今日簡単な解決策は存在しない。ユーザーによるパラメータ化を一切必要とすることなく、任意の３Ｄモデルを自動的に簡素化する透明的な方法に対するニーズがある。
【０００８】
更に、非専用家のエンドユーザーが３Ｄモデルを生成、アクセス、操作、および共有するニーズもある。
【０００９】
従って、３Ｄモデルのリアルタイムレンダリングを扱うための改良されたシステム、方法、および、コンピュータプログラム製品が必要とされている。本発明は、このニーズに対する解決策を提供する。
【課題を解決するための手段】
【００１０】
従って、本発明の目的は、非標準または歪んだテクスチャ座標を有するあらゆる種類のジオメトリ（幾何学的形状）、すなわち平坦、有機物等に対して実施可能な多様な解決策を提供することである。提案する方式はユーザーにとって透過的であり、ユーザーは３Ｄモデリングに関する特定の専用知識を有していなくてよい。
【００１１】
有利な特徴として、当該処理により高速且つ原モデルの簡素化が可能になる。
【００１２】
有利な特徴として、本方法により、１回の操作でユーザーに簡素化モデルを数秒で表示し、当該簡素化モデルは最適化された最終レンダリングを有している。
【００１３】
上述の目的を実現するために、添付の独立請求項１に、９および１０に詳述するようなシステム、方法、およびコンピュータプログラム製品を提供する。
【００１４】
特に、目標アプリケーションにおけるネットワーク転送およびリアルタイムレンダリング用の３Ｄテクスチャモデルを自動最適化するコンピュータ実装された方法は以下のステップ、すなわち
−３Ｄテクスチャモデルの３Ｄデータコンテンツおよび目標アプリケーションに関連付けられた複数の目標パラメータを受信するステップと、
−３Ｄデータコンテンツから、ジオメトリおよび複数のテクスチャを抽出するステップと、
−複数の目標パラメータの第１の組を用いて、ジオメトリに対して集約および簡素化アルゴリズムを適用して複数の簡素化されたジオメトリバージョンを得るステップと、
−複数の目標パラメータの第２の組を用いて、複数のテクスチャに対して縮退アルゴリズムを適用して複数の縮退されたテクスチャバージョンを得るステップと、
−複数の簡素化されたジオメトリバージョンを複数の縮退されたテクスチャバージョンと共に直列化することにより直列化された３Ｄデータコンテンツを得るステップとを含んでいる。
【００１５】
一実施形態において、簡素化ステップは、経験的および／または２次関数的簡素化を適用するものである。別の実施形態において、簡素化されたジオメトリバージョンに各々の詳細レベルが関連付けられている。
【００１６】
一代替案において、集約ステップは、３Ｄデータコンテンツのオブジェクトにランク付けするステップを含んでいる。
【００１７】
更に、直列化ステップは、１個の簡素化されたジオメトリバージョンを１個の縮退されたテクスチャバージョンにより直列化するものである。
【００１８】
一実施形態において、縮退ステップは更に、直列化ステップの前に、縮退されたテクスチャバージョンを変換するステップを含んでいる。別の実施形態において、直列化ステップは、少なくとも１個の簡素化されたジオメトリバージョンを少なくとも１個の変換且つ縮退されたテクスチャバージョンにより直列化するものである。
【００１９】
一実施形態において、直列化されたバージョンに関連付けられた３Ｄデータは、ローカルデータベースに格納される。
【００２０】
本発明はまた、本方法のステップを実行すべく適合された手段を含むシステムを提供する。
【００２１】
本発明はまた、非一時的計算機可読記憶媒体を含むコンピュータプログラム製品、および計算機可読記憶媒体に格納されたプログラムコードとして提供され、実行時に、プロセッサに本方法のステップを動作させるべく構成されていてよい。
【００２２】
本発明の更なる態様について、好適な実装および例を通じて、添付図面を参照しながら以下に述べる。
【００２３】
本発明の上述およびその他の項目、特徴および利点について、本発明の以下のより具体的な記述を図面を参照しながら読解することにより理解が深まるであろう。
【図面の簡単な説明】
【００２４】
【図１】本発明を実行する一般的コンピュータ環境を示す。
【図２】本発明の一実施形態によるレンダリングプロセスの一般的フロー図である。
【図３】本発明の一実施形態による一括化処理の詳細フロー図である。
【図４】本発明の一実施形態による間引き処理の詳細フロー図である。
【図５】３Ｄモデルを最適化する処理の代替的な実施形態のフロー図である。
【発明を実施するための形態】
【００２５】
全ての図面を通じて同一要素を同一番号で示すことを理解されたい。
【００２６】
本発明の実施形態は一般に、コンピュータ装置におけるネットワーク転送およびリアルタイムレンダリング用に３Ｄテクスチャモデルを自動的に最適化するシステム、方法、およびコンピュータプログラム製品を目的とする。
【００２７】
図１を参照するに、本発明を実行するコンピュータ装置１００を示す。コンピュータ装置は、少なくとも１個のプロセッサ１０２、および当該少なくとも１個のプロセッサ１０２に接続されたメモリ１０４を含んでいる。メモリ１０４は、ランダムアクセスメモリ（ＲＡＭ）、および他の任意の補助的レベルのメモリ、例えばキャッシュメモリ、不揮発性またはバックアップメモリ（例：プログラム可能またはフラッシュメモリ）、読出し専用メモリ等であってよい。また、メモリ１０４は、例えばマイクロプロセッサ内の任意のキャッシュメモリ等の物理的メモリストレージ、あるいは、例えば、大容量記憶装置またはコンピュータ装置１００に接続された別のコンピュータに格納された仮想メモリとして用いる任意の記憶容量を含んでいると考えてよい。
【００２８】
コンピュータ装置１００は、ユーザーまたは操作者とのインターフェースとして、１個以上のユーザー入出力装置、例えばキーボード、位置指示装置、ディスプレイ、プリンタ等が組み込まれたユーザーインターフェース１０６を含んでいてよい。あるいは、任意の通信回路網に接続されたネットワークインターフェース１０８を介して別のコンピュータとの間でデータ通信を行うことができる。コンピュータ装置１００は、例えば内蔵ハードディスク記憶装置、外部ハードディスク記憶装置、外部データベース、ストレージエリアネットワーク装置等、１個以上の大量記憶装置と通信状態にあってよい。
【００２９】
コンピュータ装置はまた、３Ｄコンテンツの最終レンダリングを計算してコンピュータディスプレイに表示させるために送信すべく、ビデオランダムアクセスメモリ（ＶＲＡＭ）を有するグラフィックスカード１１０を含んでいる。
【００３０】
コンピュータ装置１００は典型的に、オペレーティングシステム１０３の制御下で動作し、各種のコンピュータソフトウェアアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、エンジン、データ構造等を実行するかまたはこれらに依存する。特に、コンポーネントおよびアプリケーションは、入力３Ｄコンテンツコンポーネント１２０、ジオメトリ集約コンポーネント１２２、ジオメトリ簡素化コンポーネント１２４、テクスチャ縮退コンポーネント１２６、テクスチャ形式変換コンポーネント１２８、および直列化コンポーネント１３０を含んでいてよい。
【００３１】
入力３Ｄコンテンツコンポーネント１２０は、例えば３Ｄモデルを提供するＧｏｏｇｌｅ  Ｓｋｅｔｃｈ  Ｕｐ（登録商標）アプリケーションまたはＢｌｅｎｄｅｒ（登録商標）アプリケーション等のローカルネイティブアプリケーションからの３Ｄモデルを含んでいてよい。
【００３２】
コンピュータ装置１００はまた、例えば、３Ｄレコードデータベース、目標パラメータ、および最適パラメータデータベースを含む１個以上のデータベース１３２を含んでいてよい。３Ｄレコードデータベースは、３Ｄデータを格納および編成するデータおよび対応データ構造を含んでいてよい。特に、３Ｄレコードデータベースは、リレーショナルデータベース、階層型データベース、ネットワークデータベース、および／またはこれらの組合せを含むがこれらに限定されない任意のデータベース編成および／または構造に構成されていてよい。コンピュータ装置１００の処理装置上で命令として動作するコンピュータソフトウェアアプリケーション形式のデータベース管理システムを用いて、データベース１３２に格納された情報、パラメータ、またはデータにアクセスすることができる。
【００３３】
コンピュータ装置は、遠隔サーバおよび／またはいわゆるクラウドコミュニティのコンピュータとの間で３Ｄモデルの通信、転送、交換を可能にする専用および／または公共ネットワーク、例えばインターネット等のネットワークに接続されていてよい。
【００３４】
本願出願人により同日に出願された特許出願「Ｓｙｓｔｅｍ，  Ｍｅｔｈｏｄ  ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｐｒｏｇｒａｍ  Ｐｒｏｄｕｃｔ  ｆｏｒ  ｉｎｊｅｃｔｉｎｇ  ｄｉｒｅｃｔｌｙ  ｉｎｔｏ  ａ  ｗｅｂ  ｂｒｏｗｓｅｒ  ｃｏｍｍａｎｄｓ  ａｎｄ／ｏｒ  ｃｏｎｔｅｎｔｓ  ｃｒｅａｔｅｄ  ｏｎ  ｌｏｃａｌ  ｄｅｓｋｔｏｐ  ａｐｐｌｉｃａｔｉｏｎｓ  ｏｆ  ａ  ｃｏｍｐｕｔｅｒ  ｄｅｖｉｃｅ，  ａｎｄ  ｖｉｃｅ−ｖｅｒｓａ」（国際公開第２０１６／０３８０９０Ａ１号パンフレット）に、３Ｄ最適化されたモデルのローカルウェブブラウザまたは遠隔サーバへの転送を可能にする各種の実施形態の詳細な記述が開示されている。
【００３５】
図２に、本発明の一実施形態のワークフローの一例の全般的概要を示す。一般に、本方法は、３Ｄデータコンテンツおよび目標アプリケーションに関連付けられた複数の目標パラメータを受信するステップと、当該３Ｄデータコンテンツからジオメトリおよび複数のテクスチャをから抽出するステップと、複数の目標パラメータの第１の組を用いることにより、ジオメトリに対して集約アルゴリズムを適用して集約されたジオメトリを得て、続いて集約されたジオメトリに対して簡素化アルゴリズムを適用して簡素化済みの集約されたジオメトリバージョンの複数バージョンを得るステップと、複数の目標パラメータの第２の組を用いることにより、複数のテクスチャに対して縮退アルゴリズムを適用して複数の縮退されたテクスチャバージョンを得るステップと、複数の縮退されたテクスチャバージョンにより、複数の簡素化済みの集約されたジオメトリバージョンを直列化して直列化された３Ｄデータコンテンツを得るステップとを含んでいる。
【００３６】
以下に詳述するように、３Ｄモデル、例えばカプセル化または分析対象のモデルがステップ２０２で受信される。３Ｄモデルは一般に、ジオメトリ面を画定または近似する多角形メッシュにより一般的に表現される３Ｄ形状を含んでいる。湾曲面について、近似の精度は表現に用いる多角形の個数に比例する。有利な特徴として、所定の閾値を超える個数の頂点を有するモデルを処理用に分割してＧＰＵ計算を最適化することができる。実装に際して、モデルの頂点の最大個数の閾値は６５５３６の頂点に制限されている。
【００３７】
受信したデータから、以下に詳述するように、一方が３Ｄモデルのジオメトリの処理（ステップ２０４〜２１２）、他方が３Ｄモデルのテクスチャの処理（ステップ２１４〜２２０）である２系統のステップが好適には高速処理の目的で並列に実行されるが、逐次的に実行されてもよい。
【００３８】
ステップ２０４において３Ｄモデルから３Ｄジオメトリが抽出される。いくつかのアルゴリズムは他より高速であり得るため、摘出ステップは複数の仕方で実行することができる。摘出ステップは、受信した複数のモデルについて繰り返すことができる。１個以上の受信したモデルから１個以上のジオメトリが抽出された後で、更なるステップ２０６は、異なるジオメトリを集約（一括化とも呼ぶ）するものであってよい。一実施形態において、複数のジオメトリは複数のオブジェクトまたはユニットあるいはサブユニットに分解することができ、１個のオブジェクトまたはユニット、サブユニットは、オブジェクトまたはサブユニットの融合／併合を可能にする所定の粒度レベルにある。大域的３Ｄシーンの集約２０６または再配置あるいは構成は、「目標パラメータ」２０１（例えば経験則）により誘導または制御することができる。
【００３９】
３Ｄシーンが任意選択的に最適化された後で、更なるステップ２０８は、シーンを簡素化するものである。図４を参照しながら更に詳述する簡素化または間引きステップ２１２もまた最適化することができる。例えば、受信した３Ｄモデルからの各オブジェクトの大多数が併合されている場合、再構築されたシーンを過度に簡素化しないことに関心を持ってよい。例えば、レンダリング装置（コンピュータ、スマートフォン）の処理能力に応じて、更なる計算のために大域的３Ｄシーンを最適化することができる。目標パラメータは、これらの側面を考慮に入れることができる。一実施形態において、目標パラメータは、ランキングスコアおよび付随する閾値の管理に関連付けられている。特に、３Ｄシーンは、例えば、求められる詳細レベルに応じて扱い方が異なっていてよい（２１０）。詳細レベル（ＬＯＤ）は、シーンを動的に見ている場合に、レンダリング効率の向上を図るものである。モデルの詳細バージョンは、通常は画像サイズにより決定される現在のビュー内での物体の重要度に応じて、シーンデータベースとの間でスワップイン／アウトすることができる。例えば、画面が小さくて帯域幅および処理能力（例えば可動性）が限られるスマートフォンは、強力な家庭用メディアサーバ（ＨＤＴＶでのインターネット閲覧および家庭向け光ファイバアクセス）よりも低い詳細レベルで済む。エンドユーザー機器の構成は、３Ｄシーンのレンダリングおよび探索に最適なパラメータを決定する。
【００４０】
ドローコール（描画呼び出し）の回数を最小化して間引きレンダリングを最適化すべく、有利な特徴として、使用する目標パラメータは、素材、距離、およびサイズに関係している。一括化は、値の順に応じて分類されるメッシュノードのペアによりプルキュー（取り出しキュー）を生成するものである。各ペアの値は、ノード同士で共通の素材、ノード間の距離、およびノードのサイズに応じて計算される。
【００４１】
ステップ２１４において、３Ｄモデルから複数のテクスチャが抽出される。得られたテクスチャは次いでステップ２１６で縮退される。縮退ステップは例えばデータ圧縮ステップを含んでいてよい。縮退ステップは、目標パラメータ２０１により制御することができる。テクスチャは次いで特定の形式に変換され（２１８）、ステップ２２０において縮退または変換されたテクスチャが得られる。
【００４２】
モデルからのジオメトリおよびテクスチャ抽出の後、直列化ステップ２２２が実行される。得られたジオメトリおよびテクスチャは集約または組立あるいは併合または関連付けられる。集約および／または簡素化された３Ｄモデルは従って縮退および／または変換されたテクスチャに関連付けられる。
【００４３】
ステップ２２４において、受信した複数の３Ｄモデルに関して、テクスチャおよびジオメトリが変更済みの最適化された３Ｄモデルが得られる。最適化された３Ｄモデルはまた、例えば初期目標パラメータを含むメタパラメータ２２６に関連付けられており、最適パラメータは、テクスチャとジオメトリとの間の妥協、および他のメタデータについて決定されている。
【００４４】
図３、４は、受信した３Ｄシーンに関連付けられたジオメトリおよびテクスチャの扱いの詳細事項の更にいくつかを示す。
【００４５】
図３に、集約ステップ２０４（一括化とも呼ぶ）の詳細を示す。一般に、本方法は、Ｍ．Ｇａｒｌａｎｄにより“Ｑｕａｄｒｉｃ−ｂａｓｅｄ  Ｐｏｌｙｇｏｎａｌ  Ｓｕｒｆａｃｅ  Ｓｉｍｐｌｉｆｉｃａｔｉｏｎ  Ｍｉｃｈａｅｌ  Ｇａｒｌａｎｄ  Ｓｃｈｏｏｌ  ｏｆ  ｃｏｍｐｕｔｅｒ  ｓｃｉｅｎｃｅｓ  Ｃａｒｎｅｇｉｅ  Ｍｅｌｌｏｎ  Ｕｎｉｖｅｒｓｉｔｙ”において提案された公知の２次関数的簡素化アルゴリズムから導かれたものである。本発明の目的のために、点の畳み込みペア用の局所的畳み込み演算子、および上面誤差量を用いる。３Ｄメッシュ化は、２個の点を１個で代替し、次いで縮退面を削除して新たな隣接関係を更新することにより簡素化される。更に詳述するように、汎用アルゴリズムは、原モデルの各上面に２次関数を設定し、次いで、頂点により接続されているかまたはジオメトリ的に閉じた隣接上面の全てのペアを識別するステップを含んでいる。各ペアに対して、畳み込みに最適な点および付随する誤差を計算し、次いで当該ペアを誤差ランキングの優先順位リストに挿入して、最上位ペアを縮退させる。当該処理は、一定個数の面または画定された最大の誤差を得るまで繰り返される。有利な特徴として、２次関数アルゴリズム処理に特定の経験則を追加することにより、本発明の方法を簡素化計算を表面の属性、モデルの境界、および異なるテクスチャ間の境界に適合させることができる。
【００４６】
従って、以下に詳述するように、ジオメトリはステップ３００において分解されるかまたは複数のオブジェクトに構成される。オブジェクトの１個以上のペアが当該モデルで決定され、１個のペアとは、所定の閾値を考慮することによりいくつかのオブジェクトを同化したものと言うことができる。当該処理は、ステップ３０２において、考慮するペアが集約に適しているか否かを判定することができる。適している場合、併合対象であるオブジェクトの傾向に基づいてペアランクが計算される（３０４）。ペアランクは次いで、ステップ３０６でランキングリストに追加される。次いで、３Ｄシーンから導かれたオブジェクトの複数のペアに対してステップ３０２〜３０６が繰り返され、ランキング動作が完了する。当該処理は、ステップ３０８において、ランクリストが空であるか否かを判定することができる。ｙｅｓの場合は、一括化処理が終了し、得られた集約ジオメトリ３１８を（図４を参照しながら詳述するように）簡素化処理に更に用いる。ｙｅｓでない場合、オブジェクトの最高ランクのペアからのオブジェクトを併合（３１０）して新たな１個の集約されたオブジェクトを得る。ステップ３１２において、オブジェクトのペアからのオブジェクトの１個１個のインスタンスが新たな集約されたオブジェクトで代替される。そしてステップ３１４において、ランキングが更新される。オプションとして、新たな集約されたオブジェクトは新たな集約には適していない。３Ｄシーンを構成する複数のオブジェクトがランク付けおよび併合された後で、最終的な集約ジオメトリがステップ３１８で得られる。
【００４７】
図４に、簡素化ステップ２０８（間引とも呼ぶ）の詳細を示す。ステップ３１８で既に得られた集約ジオメトリは、メッシュ簡素化アルゴリズムを用いて、オプションとしてステップ４０２で簡素化することができる。メッシュ簡素化は、原メッシュのトポロジまたは形状に忠実なまま、メッシュ内の多角形の個数を減らす。簡素化動作は、２次関数的誤差を用いて、および簡素化エンベロープまたは並列メッシュ簡素化、分散簡素化、詳細または並列視点依存メッシュ改良の並列的且つ階層的なレベルを用いて、１個以上の頂点を組み合わせることにより１個以上のエッジを縮退させるステップを含んでいる。モバイル機器およびタブレット向けのレンダリングを対象とする特定の実装において、簡素化ステップは、一括化されたモデルを間引いて２００万個の三角形をフィットさせることを意図している。
【００４８】
当該処理は、簡素化が最適であるか否かを判定（４０４）することができる。可能な都度、目標パラメータに関して最適な簡素化モード４０６が実行され、改良された簡素化がステップ４０８で保存される。終了時点４１０で、１個以上の詳細レベル（４１２）に関連付けられた１個以上の最適簡素化（４１４）が得られる。
【００４９】
図５へ進み、３Ｄモデルを最適化する処理の別の実施形態について以下に述べる。
【００５０】
当該処理は、小さく且つ高密度のＤモデルの処理を対象とする２ステップの事前フェーズ、すなわち事前間引きフェーズおよび事前一括化フェーズから始まる。事前間引きステップ５０２は、モデルを密度に応じてソートするものであり、所定の閾値にわたり多数の三角形を有する３Ｄモデル、すなわち重いモデルの場合、メッシュ衝突を最小限に抑えるべく当該モデルは事前間引きされる。事前一括化している動作５０４は、シーン内の小さい孤立したオブジェクトを処理するものである。例えば、テーブル、複数の皿、および植木鉢を含む３Ｄシーンの場合、植木鉢は１個の小さい（三角形の個数の観点から）孤立した（単一インスタンスの観点から）オブジェクトと思われる。小さい孤立したオブジェクトは、一括化されて、新たなオブジェクトを生成すべく別の小さいオブジェクトと組み合わされる。
【００５１】
次のステップ５０６は、初期３Ｄモデルの三角形の総個数が所定の閾値を超えた場合、較正された間引きを適用することができる。所定の閾値は、３Ｄモデルのレンダリングの目標装置に依存する目標パラメータとして定義される。
【００５２】
あるアプリケーションにおいて、三角形の最大個数は２００万個のオーダーである。本発明の処理は、連続的なステップにより、３Ｄモデルをタブレットおよびモバイル機器上でリアルタイム表示させるべく三角形の個数を２００万個まで間引くことができる。本出願において、較正された間引きステップを適用する際の閾値は、三角形２００万個に設定されている。
【００５３】
較正された間引きにより、三角形の個数を制限すべく削除する三角形を決定することができる。三角形の個数、孤立したインスタンスであるか否かの属性に応じて、各モデルについて重みが計算される。テーブルおよび多数の皿を含むシーンの例で言えば、当該処理は、皿よりもテーブルの方に大きい重みを割り当て、三角形の個数を１５％減らすべきならば、当該処理は次のステップ５０８で、皿の三角形のいくつかを間引く一方、最終レンダリングの品質を維持するためテーブルは間引かない。較正された間引きステップでは、各モデルに対して、削除する三角形の個数を表す間引きの値を生成することができる。
【００５４】
次いで、次のステップ５０８では、重み計算の結果を適用したモデルに対する間引き動作が可能である。新たな間引きモデルが生成される。
【００５５】
次のステップ５１０では、素材に応じてモデルを分類することができる。当該処理では更に、モデルが複数の素材からなるか否かを判定することができる。先の皿の例で皿が２個の異なる素材からなる場合、当該処理は、上面の素材および底面の異なる素材に応じて分類すべく皿を拡張することができる。当該皿のために２個のモデルが生成される。
【００５６】
次に、当該処理では、分類されたモデルに一括化ステップ５１２を適用して、先行ステップの結果に応じてグループ化すべきモデルを判定することができる。ドローコールの回数の所定の目標パラメータを満たすべく一括化が実行される。ドローコールの都度グラフィックスＡＰＩが重要な動作をするため、ドロー呼び出往々にして高負荷であり、ＣＰＵ側で性能オーバーヘッドを生じさせる。本発明の一括化ステップにより、ＧＰＵメモリ使用状況を改善することができる。
【００５７】
市販アプリケーションにおいて、ＧＰＵに対するドローコールの最大回数は、３Ｄモデルをタブレットおよびモバイル機器上でリアルタイムに表示可能にすべく、５００ドローコール未満となっている。次いで、本出願では、一括化ステップのドローコール目標パラメータを、素材数を５００素材インスタンスまで減らすことによりモデルを一括化すべく５００ドローコール未満に設定している。
【００５８】
最後に、ウェブブラウザ内でリアルタイム３Ｄのレンダリングを行う間、一括化されたモデルの生成が行われる。
【００５９】
次のステップ５１４では、テクスチャ最適化動作を適用することができる。テクスチャ最適化処理は、テクスチャの元のサイズを変更（テクスチャ形式変換）する動作を実行する。好適には、サイズの上限は１０２４×１０２４ピクセルである。次いで、全てのテクスチャのサイズを、１６×１６、３２×３２、６４×６４、１２８×１２８、２５６×２５６、５１２×５１２および１０２４×１０２４のように最小値が１６ピクセルである一辺が２のベキ乗個のピクセルからなる正方形単位に変更する。
【００６０】
このように、上述のテクスチャサイズにより、ＧＰＵメモリを最大化して計算時間を短縮することができる。テクスチャの寸法が２のベキ乗であることを保証することにより、グラフィックスパイプラインは、例えば２のベキ乗の除算および乗算の方が高速である等、２のベキ乗を扱うことによる効率に関する最適化を利用することができる。更に有利な特徴として、２のベキ乗を扱うことでミップマップの計算および使用等、パイプライン内での動作が簡素化される。すなわち２のベキ乗である数は常に等分されるため、ミップマップ寸法の切り上げ／切り捨てが必要なシナリオを扱う必要が無いことを意味する。
【００６１】
従って、テクスチャ最適化ステップは、テクスチャ目標パラメータを用いて目標レンダリングを満たすことを意図するものである。一つのテクスチャ目標パラメータとしてテクスチャの個数がある。市販アプリケーションにおいて、上限が１２８メガバイトに設定されている。別のテクスチャ目標パラメータは、最終テクスチャのサイズとの紐付けである。最終テクスチャのサイズは、３Ｄモデルで適用された表面と全表面との比較に依存する。例えば、７５×４９ピクセルのテクスチャが３Ｄモデルの全表面の５０％を表す場合、テクスチャのサイズは６４×６４に変更される。しかし、同じテクスチャが３Ｄモデルの全表面の１％を表す場合、当該処理では１６×１６へのサイズ変更が可能である。この結果を得るには、素材に応じて表面が計算され、モデルの全表面およびメモリ制限に応じて各素材の全表面に重み付けがなされる。
【００６２】
テクスチャサイズを最適化する一実施形態において、アルファチャネルが抽出される。アルファチャネルを含むＰＮＧ画像形式はＪＰＥＧ形式に圧縮される。アルファチャネルは１ピクセル毎にバイナリ形式で格納される。次いで、モバイル機器上でＪＰＥＧ形式がＩＯＳ用のＰＶＲＴＣ形式またはＡｎｄｒｏｉｄ用のＥＴＣ１形式に符号化される。有利な特徴として、符号化動作により、メモリ制限に関してテクスチャの個数を最適化することができる。
【００６３】
最後に、次のステップ５１６で、ステップ２２２で上述したようにバイナリデータの直列化を行うことができる。
【００６４】
図５を参照しながら述べてきた実施形態により、間引き動作をモデルの決定にのみ適用することでより速く間引きを行うことができる。更に、一括化動作によりモデルを記述するファイルが小さくなるため、ファイルの転送が大幅に改善される。
【００６５】
本発明は特に、３Ｄプログラミングの専門家ではないエンドユーザーの関心を引くのである。有利な特徴として、本発明が提案する簡単な方式により、これらのユーザーは、特定のリアルタイム環境に対するモデルの影響を評価可能にするために対話型モデルが必要とされる、都市化、建築、ゲーム等のあらゆる商業分野、または他の任意の産業領域等、自身の特定の環境内で容易に３Ｄモデルを導入することができる。
【００６６】
有利な特徴として、本発明は、複雑な３Ｄモデルの簡素化アルゴリズムを提供する最終的な最適化されたレンダリングモデルをユーザーとの一切の対話無しに自動的に生成することができ、モデルの生成は現在にコンテキストに合わせて決定された適当な詳細レベルを有している。更に、提案する簡素化アルゴリズムにより、すなわち平面境界、テクスチャ、複合オブジェクト、角度等のコンテキストの不連続性が維持される。
【００６７】
当業者には、上述の実施形態は図示および説明目的で提示するものであって、網羅的ではなく、且つ本発明が開示した形式に限定されるものではない点を理解されよう。当業者には多くの変更および変形が明らかになろう。上述の実施形態は本発明の原理、現実的な用途を最も分かりやすく説明すると共に、考察する特定の用途に適した各種の変更と共に各種の実施形態を通じて本発明を当業者に理解いただけるよう選択および記述されている。
【００６８】
本発明について特に好適な実施形態に関して図示および記述してきたが、本発明の概念および範囲から逸脱することなくその形式および詳細に対し各種の変更を行うことができる点を理解されたい。本発明は、コンピュータまたは任意の対話型実行システムにより、またはこれらと組み合わせて用いられるプログラムコードを提供するコンピュータ可用またはコンピュータ可読媒体からアクセスできるコンピュータプログラム製品の形式であってよい。ここで記述した内容を実行すべく、コンピュータ可用またはコンピュータ可読媒体は、命令実行システム、装置、または機器により、またはこれらと組み合わせて用いられるプログラムを包含、格納、伝送、伝播、または輸送可能な任意の有形装置であってよい。媒体は、電子、磁気、光、電磁気、赤外線または半導体システム（または装置あるいは機器）または伝搬媒体であってよい。コンピュータ可読媒体の例として半導体または固体メモリ、磁気テープ、着脱可能コンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、固定磁気ディスクおよび光ディスクが含まれていてよい。光ディスクの現行例としてコンパクトディスク−読出し専用メモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−読出し／書込み（ＣＤ−Ｒ／Ｗ）およびＤＶＤが含まれる。
【図１】
0006673905.tif 000002
【図２】
0006673905.tif 000003
【図３】
0006673905.tif 000004
【図４】
0006673905.tif 000005
【図５】
0006673905.tif 000006