(57)【要約】  複数のデバイス間での３Ｄオブジェクトの視覚化および操作を容易にする方法および装置が開示される。本明細書に開示される例示的な装置は、視点決定器、可視シャード決定器およびラミネートアセンブラを含む。視点決定器は、ビューイングデバイスに対応する視点の視点位置を決定し、視点位置は、３次元（３Ｄ）モデルの基準座標系内にある。可視シャード決定器は、視点位置に基づいて３Ｄモデルの可視シャードセットを決定する。ラミネートアセンブラは、可視シャードセットの２次元（２Ｄ）画像を生成する。【選択図】なし
2021511614.tif 000002
【特許請求の範囲】
【請求項１】
ビューイングデバイスに対応する視点の視点位置を決定する視点決定器であって、前記視点位置は３次元（３Ｄ）モデルの基準座標系内にある、視点決定器と、
前記視点位置に基づいて前記３Ｄモデルの可視シャードセットを決定する可視シャード決定器と、
前記可視シャードセットに基づいて２次元（２Ｄ）画像を生成するタイル合成器と、を含む、装置。
【請求項２】
前記可視シャード決定器は、データベース内の前記視点位置を調べ、前記可視シャードセットは、前記データベース内の前記視点位置に関連付けられる、請求項１に記載の装置。
【請求項３】
前記可視シャードセットの個々のシャードを２Ｄタイルに平坦化するタイル生成器をさらに含む、請求項１に記載の装置。
【請求項４】
前記タイル生成器は、データベースから前記可視シャードセットを取得する、請求項３に記載の装置。
【請求項５】
前記可視シャード決定器は、前記可視シャードセットを前記タイル生成器に通信する、請求項３に記載の装置。
【請求項６】
前記タイル合成器は、前記２Ｄタイルを２Ｄラミネートにマージして前記２Ｄ画像を生成する、請求項３に記載の装置。
【請求項７】
前記タイル合成器は、前記２Ｄタイルの深度データに基づいて前記２Ｄタイルをマージする、請求項３に記載の装置。
【請求項８】
プロセッサで命令を実行することにより、ビューイングデバイスに対応する視点の視点位置を決定することであって、前記視点位置は３次元（３Ｄ）モデルの基準座標系内にある、決定することと、
前記プロセッサで命令を実行することにより、前記視点位置に基づいて前記３Ｄモデルの可視シャードセットを決定することと、
前記プロセッサで命令を実行することにより、前記可視シャードセットに基づいて２次元（２Ｄ）画像を生成することと、を含む、方法。
【請求項９】
前記視点位置を決定することは、データベース内の前記視点位置を調べることを含み、前記可視シャードセットは、前記データベース内の前記視点位置に関連付けられる、請求項８に記載の方法。
【請求項１０】
前記２Ｄ画像を生成することは、データベースから前記可視シャードセットを取得することを含む、請求項８に記載の方法。
【請求項１１】
前記可視シャードセットの個々のシャードを２Ｄタイルに平坦化することをさらに含む、請求項８に記載の方法。
【請求項１２】
前記２Ｄタイルを２Ｄラミネートに合成することをさらに含む、請求項１１に記載の方法。
【請求項１３】
前記２Ｄタイルの深度データを比較することをさらに含む、請求項１１に記載の方法。
【請求項１４】
前記可視シャードセットの個々のシャードを割り当てることをさらに含む、請求項８に記載の方法。
【請求項１５】
コンピュータ可読命令を含む有形コンピュータ可読記憶媒体であって、前記コンピュータ可読命令は実行されると、プロセッサに、少なくとも、
３次元（３Ｄ）モデルの基準座標系内にある、ビューイングデバイスに対応する視点の視点位置を決定させ、
前記視点位置に基づいて前記３Ｄモデルの可視シャードセットを決定させ、
前記可視シャードセットの２次元（２Ｄ）画像を生成させる、コンピュータ可読記憶媒体。
【請求項１６】
前記視点位置を決定するための前記命令は、前記プロセッサにデータベース内の前記視点位置を調べさせ、前記可視シャードセットは、前記データベース内の前記視点位置に関連付けられる、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記２Ｄ画像を生成するための前記命令は、前記プロセッサに、データベースから前記可視シャードセットを取得させる、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記命令はさらに、前記プロセッサに、前記可視シャードセットの個々のシャードを２Ｄタイルに平坦化させる、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記命令はさらに、前記プロセッサに、前記２Ｄタイルを２Ｄラミネートにマージさせる、請求項１８に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記命令はさらに、前記プロセッサに、前記２Ｄタイルの深度データを比較させる、請求項１８に記載のコンピュータ可読記憶媒体。
【請求項２１】
前記命令はさらに、前記プロセッサに、前記可視シャードセットの個々のシャードを割り当てさせる、請求項２０に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本国際出願は、２０１８年１月２５日に出願された米国特許出願第６２／６２２，０７５号の優先権を主張し、参照によりその全体が組み込まれる。
【０００２】
本開示は、概して３次元（３Ｄ）コンピュータグラフィックスに関し、より具体的には、複数のデバイス間での３Ｄオブジェクトの視覚化および操作を容易にする方法および装置に関する。
【背景技術】
【０００３】
３Ｄ幾何モデルは、（例えば建築、建設、不動産、ゲーム、ヘルスケア、科学的可視化、映画等における）製品をデザインするためによく使用される。デザインプロセス中、３Ｄモデルへの反復的な変更は、しばしばデザイナー（例えばエンジニア、技術者、製図担当者等）間で、更新された３Ｄモデルファイルを電子的にやり取りすることによって行われる。しかし、３Ｄモデルファイルのサイズは、従来の電子メールを介して送信するには大き過ぎることが多く、かつ／または、送信者から受信者に転送するのに長い時間を要する。したがって、現在の３Ｄデザインプロセスでは、デザイナー間で特殊なファイル転送プロトコル（ＦＴＰ）または共有ローカルもしくはホスト型ネットワークストレージを利用し、かつ／または、大きい３Ｄファイルが転送されるまで長時間待つ。
【発明の概要】
【０００４】
例示的な装置が開示される。例示的な装置は、視点決定器と、可視シャード決定器と、ラミネートアセンブラとを含む。視点決定器は、ビューイングデバイスに対応する視点の視点位置を決定し、視点位置は、仮想３Ｄ環境における３Ｄモデルの基準座標系内にある。可視シャード決定器は、視点位置に基づいて３Ｄモデルの可視シャードセットを決定する。ラミネートアセンブラは、可視シャードセットに基づいて２次元（２Ｄ）画像を生成する。
【０００５】
例示的な方法が開示される。例示的な方法は、プロセッサで命令を実行することにより、ビューイングデバイスに対応する視点の視点位置を決定することであって、視点位置は３Ｄモデルの基準座標系内にある、決定することと、プロセッサで命令を実行することにより、視点位置に基づいて３Ｄモデルの可視シャードセットを決定することと、プロセッサで命令を実行することにより、可視シャードセットに基づいて２Ｄ画像を生成することとを含む。
【０００６】
本明細書では、プロセッサによる実行のための例示的な命令を含む例示的な有形コンピュータ可読媒体が開示される。例示的な命令は、実行されると、プロセッサに、３Ｄモデルの基準座標系内にある、ビューイングデバイスに対応する視点の視点位置を決定させ、視点位置に基づいて３Ｄモデルの可視シャードセットを決定させ、可視シャードセットに基づいて２Ｄ画像を生成させる。
【図面の簡単な説明】
【０００７】
【図１】本明細書に開示される例示的な環境を示す。
【図２】図１の例示的な環境において使用される例示的なモデルビューアのブロック図である。
【図３】例示的な３Ｄモデルを示す。
【図４】三角形で表される図３の例示的な３Ｄモデルを示す。
【図５】シャードにグループ化された三角形で表される図３および図４の例示的な３Ｄモデルを示す。
【図６】図５の例示的な３Ｄモデルの分解図である。
【図７】複数のボクセルを占める図３〜図５の例示的な３Ｄモデルを示す。
【図８】図２のモデルビューアを介して視点によって見られる例示的な３Ｄモデルを示す。
【図９】図８の視点を介して可視である例示的な３Ｄモデルのシャードセット、図２のモデルビューアによって生成される対応する２Ｄタイルおよびモデルビューアによって生成される２Ｄラミネートを示す。
【図１０Ａ】図２の例示的なモデルビューアによって生成される図３〜図６の例示的な３Ｄモデルの例示的な２Ｄタイルを示す。
【図１０Ｂ】図２の例示的なモデルビューアによって生成される図３〜図６の例示的な３Ｄモデルの例示的な２Ｄタイルを示す。
【図１１】図９の可視シャードの１つと交差する視点に対応する光線の側面図である。
【図１２】図２の例示的なモデルビューアによって生成される例示的な３Ｄモデルの２Ｄラミネートの集合を示す。
【図１３】図２の例示的なモデルビューアを実装して２Ｄラミネートを表示するために実行されてよい機械可読命令を表すフローチャートである。
【図１４】図２の例示的なモデルビューアを実装するために図１３の命令を実行可能である例示的なコンピュータプラットフォームのブロック図である。
【０００８】
図は縮尺通りではない。可能な限り、同じ参照番号を図面および添付の説明を通して使用して、同じまたは同様の部分を指す。
【発明を実施するための形態】
【０００９】
図１は、本明細書に開示されるような例示的な環境１１０を示す。図１に示される例では、環境１１０は、少なくとも１つのサーバ１１２、少なくとも１つのビューイングデバイス１１４およびネットワーク１１６を含む。図１に示される例では、少なくとも１つのビューイングデバイス１１４は、ラップトップコンピュータ１１８、タブレット１２０、モバイルデバイス１２２（例えばスマートフォン）およびデスクトップコンピュータ１２４を含む複数のビューイングデバイス１１４である。ビューイングデバイス１１４は、図１に示される例示的なラップトップコンピュータ１１８、例示的なタブレット１２０、例示的なモバイルデバイス１２２および例示的なデスクトップコンピュータ１２４よりも多いまたは少ないビューイングデバイスを、ビューイングデバイスタイプの任意の組み合わせで含んでもよいことを理解されたい。つまり、環境１１０に含まれるビューイングデバイス１１４の数は、図１に示される数および組み合わせおよびビューイングデバイス（例えばラップトップコンピュータ１１８、タブレット１２０、モバイルデバイス１２２およびデスクトップコンピュータ１２４）に限定されない。ネットワーク１１６は、任意のタイプの電子データ転送システム（例えばインターネット、イントラネット、ローカルエリアネットワーク（ＬＡＮ）等）であってよい。
【００１０】
図１に示される例に示されるように、ビューイングデバイス１１４は、ネットワーク１１６を介してサーバ１１２と接続される。ビューイングデバイス１１４はさらに、ネットワーク１１６を介して互いに接続されていてもよい。図１に示される例では、３Ｄモデルファイル１２６および／または３Ｄモデルファイル１２６の一部が、サーバ１１２に格納されている。図２〜１２に関連して以下により詳細に説明されるように、動作中、３Ｄモデルファイルの２Ｄレンダリングが、ネットワーク１１６を介してビューイングデバイス１１４に表示される。
【００１１】
図２は、図１の例示的な環境１１０において使用される例示的なモデルビューア２０２のブロック図である。図２に示される例では、モデルビューア２０２は、可視シャード決定器２０４、複数のタイル生成器２０６ａ〜２０６ｎ、ラミネートアセンブラ２０８、視点決定器２１０、複数のタイル合成器２１２ａ〜２１２ｎおよびインターフェース２１４を含む。例示的なタイル生成器２０６ａ〜２０６ｎは、実質的に同一であることを理解されたい。モデルビューア２０２は、任意の数のタイル生成器２０６を有してよいことをさらに理解されたい。例示的なタイル合成器２１２ａ〜２１２ｎは、実質的に同一であることを理解されたい。モデルビューア２０２は、任意の数のタイル合成器２０６を有してよいことをさらに理解されたい。図２に示される例では、モデルビューアはデータベース２１８と通信する。可視シャード決定器２０４、タイル生成器２０６ａ〜２０６ｎ、ラミネートアセンブラ２０８、タイル合成器２１２ａ〜２１２ｎおよびデータベース２１８は、図１のサーバ１１２のうちの１つ以上に格納されてよい。図２に示される例では、視点決定器２１０およびインターフェース２１４は、図１のビューイングデバイス１１４のうちの１つに格納されてよい。したがって、モデルビューア２０２は、サーバ１１２（例えばバックエンド）およびビューイングデバイス１１４（例えばフロントエンド）に格納される。
【００１２】
図２に示される例では、可視シャード決定器２０４は、タイル生成器２０６ａ〜２０６ｎ、視点決定器２１０およびデータベース２１８と通信する。タイル生成器２０６ａ〜２０６ｎはさらに、ラミネートアセンブラ２０８およびデータベース２１８と通信する。タイル合成器２１２ａ〜２１２ｎは、ラミネートアセンブラ２０８と通信する。インターフェース２１４は、ラミネートアセンブラ２０８および視点決定器２１０と通信する。
【００１３】
動作中、インターフェース２１４は、ビューイングデバイス１１４から表示入力を受け取る。表示入力は、（例えばマウス、キー、タッチスクリーン、スクロールホイール等を介した）移動入力を含む。図３〜８に関連してより詳細に説明されるように、視点決定器２１０は、移動入力に基づいて３Ｄモデルの周りの基準座標系内でビューイングデバイス１１４の視点をどこに移動するかを決定する。図３〜８に関連してより詳細に説明されるように、可視シャード決定器２０４は、データベース２１８にアクセスして、決定された視点に基づいて３Ｄモデル（例えば図１の３Ｄモデル１２６）のどのシャードが可視であるかを決定する。図９〜１１に関連してより詳細に説明されるように、タイル生成器２０６ａ〜２０６ｎは、決定された可視シャードの深度および色データを生成し、可視シャードをタイル（平坦化された２Ｄ画像）にレンダリングする。タイル生成器２０６ａ〜２０６ｎは、タイルとそれらの対応する色および深度データとをラミネートアセンブラ２０８に通信する。ラミネートアセンブラ２０８は、タイルのペアとそれらの対応する色および深度データとをタイル合成器２１２ａ〜２１２ｎに送る。図９〜１１に関連してより詳細に説明されるように、タイル合成器２１２ａ〜２１２ｎは、タイルの深度データを比較して、深度比較に基づいて選択された色データを使用して複合タイルを生成する。タイル合成器２１２ａ〜２１２ｎは、複合タイルをラミネートアセンブラ２０８に送る。図９〜１１に関連して以下に説明されるように、ラミネートアセンブラ２０８は、タイル生成器２０６ａ〜２０６ｎによって最初に生成されたタイルのすべてが、ラミネートと呼ばれる単一の２Ｄ複合タイルに組み合わされるまで、個々のタイルおよび複合タイルをタイル合成器２１２ａ〜２１２ｎに送り続ける。ラミネートアセンブラ２０８は、ラミネート画像をインターフェース２１４に通信する。インターフェース２１４は、ビューイングデバイス１１４のうちの１つにラミネートを表示する。
【００１４】
図３は、例示的な３Ｄモデル３０２を示す。図４は、三角形４１０で表される例示的な３Ｄモデル３０２を示す。図５および６は、第１、第２、第３、第４、第５、第６、第７および第８のシャード５２１、５２２、５２３、５２４、５２５、５２６、５３１、５３２にグループ化された三角形４１０で表される例示的な３Ｄモデル３０２を示す。図７は、複数のボクセル７１０を占める例示的な３Ｄモデル３０２を示す。図３〜１１の例では、例示的な３Ｄモデル３０２は、ピストンおよびコネクティングロッドのアセンブリを示す。図３〜１１に示される例では、３Ｄモデル３０２と、第１、第２、第３、第４、第５、第６、第７および第８のシャード５２１、５２２、５２３、５２４、５２５、５２６、５３１、５３２とは、基準座標系３０６内に配置されている。例示的な基準座標系３０６は、３次元デカルトである。例示的な３Ｄモデル３０２は、任意のタイプの３Ｄ基準座標系（例えば円筒形、球形等）内に配置されてもよいことを理解されたい。
【００１５】
高レベルでは、本明細書に開示される例は、大きい３Ｄモデルファイル（または多くの３Ｄモデル）を取得し、当該３Ｄモデルファイルを、独立して処理可能なシャードと呼ばれるより小さいコンポーネントに分割して、所与のユーザーまたはビューイングデバイスに対して表示する２Ｄラミネート画像を決定することを含んでよい。実際には、これには、最初に３Ｄモデルを処理して複数の三角形または他のポリゴンを生成することが含まれうる。これは、テッセレーションと呼ばれることもある。本明細書に開示される例は、三角形を参照して説明することができる。しかし、ポリゴン、境界表現（Ｂ−ｒｅｐまたはＢＲＥＰ）、空間領域構成法（ＣＳＧ）ツリー、コーン等（例えばモデルプリミティブ）を含む、光線との交点を決定することができる任意のオブジェクトを使用することができることを理解されたい。次に、三角形または他のモデルプリミティブは、１つ以上のシャードにグループ化される。三角形は、それらの頂点によって定義される平面に関して２次元（２Ｄ）であってよく、または、基準座標系に関して３Ｄと理解されてよく、規定サイズまたは可変サイズを有してよく、また、組み合わされた場合に、３Ｄモデルの輪郭に従うメッシュまたはサーフェスを形成することができる。いくつかの例では、所与のモデルを表す数百、数千、数百万またはそれ以上の三角形が存在する場合がある。三角形の数および密度は、３Ｄモデルのより高いまたはより低い解像度を可能にするように変更することができる。例えば単純な３Ｄモデルは、より複雑なモデルよりも少ない数の三角形を有して、複雑なモデルの輪郭のより詳細な定義を可能にすることができる。さらに、複雑なモデルは、モデルの比較的小さい特徴を説明するためにより高い密度の三角形を含むことができる。いくつかの例では、三角形の数および密度は、モデル全体で異なってよく、したがって、より複雑な領域は、より大きい数および／またはより高い密度の三角形によって表される。
【００１６】
三角形をグループ化して、シャード（例えば第１、第２、第３、第４、第５、第６、第７および第８のシャード５２１、５２２、５２３、５２４、５２５、５２６、５３１、５３２）にまとめることができる。シャードあたりの三角形の数は様々であってよく、場合によっては、シャードあたり２万個の三角形といった上限があってよい。他の数、制限および範囲も可能である。シャードあたりの三角形の数は、１つ以上の処理ベンチマークまたはメトリックに影響を与える可能性があるため、例えば特定のフレームレートまたは処理速度を維持するために変更または動的に修正することができる。さらに、三角形の密度も、各シャードのサイズおよび形状に影響を与える可能性がある。
【００１７】
１つ以上の処理手法を使用して、どの三角形が所与のシャードにグループ化されるかを決定することができる。いくつかの例では、３Ｄモデルの特定のコンポーネントに基づいて三角形をグループ化することができる。例えば３Ｄモデルは複数のコンポーネントを有してよく（例えばハンドル付きのシリンダには２つのコンポーネント、即ち、シリンダおよびハンドルが含まれてよい）、所与のコンポーネントに対応するすべての三角形を１つのシャードにグループ化することができる。あるいは、１つ以上のコンポーネントが単一のシャードにグループ化することができる数よりも多い数の三角形を含むことがあり、したがって、１つのコンポーネントを、複数のシャードで表すことができる。これは、コンポーネントが大きくて複雑であるか、または、高解像度または詳細に示される場合に生じる可能性がある。さらに、単一のシャードが複数のコンポーネントを表す。したがって、単一のシャードは、単一のコンポーネント、コンポーネントの一部または複数のコンポーネントを表す三角形を含むことができる。
【００１８】
三角形をシャードにグループ化する手法は複数ある。一例では、隣接する三角形をグループ化してシャードを形成することができる。この手法は、三角形の隣接関係に基づいていてよい。別の例では、第１の三角形が選択され、エッジに沿って次の三角形に移動することによって追加の三角形が選択されるエッジウォーキングを使用してグループ化を決定することができる。一般に、最近接グループ化または階層的クラスタリングといった手法を使用することができる。これらの手法は、三角形または他の幾何プリミティブを、各三角形の１つ以上の他の三角形への近接性を記述する階層構造にまとめることを伴ってよい。階層構造を分析および使用して、１つ以上の特徴に基づいて三角形をクラスタにグループ化することができる。これにより、所与の数の三角形を１つのシャードにグループ化することができる。さらに、いくつかの例では、三角形は、それらが表すコンポーネントまたは三角形に関連付けられる他のメタデータに基づいてグループ化することができる。シャードは、決定されると、後で使用するためにデータベースに格納することができる。図５および６は、三角形４１０の数、サイズ、密度および他の特性が、表されるオブジェクトの１つのシャード内およびシャード間で異なりうることを示す。
【００１９】
いくつかの例では、３Ｄモデルは、三角形およびシャードに分割され、これらは、単一のデバイスに、複数のデバイスにわたってかつ／または複数のデバイス間で重複して格納されてよい。
【００２０】
所与のオブジェクトのラミネート、すなわち、２Ｄ画像をユーザーに表示するために、例示的な実施形態は、ラミネートを決定または生成するために使用することができる情報（例えば視点、ビューイング位置または向き）をユーザーデバイスから受信することを含んでよい。図８は、例示的な視点位置８０４を示す。このプロセスは、（ｉ）３Ｄモデルに対する視点の位置／向きを決定することと、（ｉｉ）決定された位置からどのシャードが可視であるかを決定することと、（ｉｉｉ）可視シャードの２Ｄ画像を生成するために複数の処理タスクを生成することと、（ｉｖ）生成された２Ｄ画像を組み合わせてビューイングデバイスに提示される単一の画像にすることとを含んでよい、いくつかのステップを含んでよい。これらのステップは、以下にさらに詳細に説明される。
【００２１】
まず、ラミネートを要求するビューイングデバイスの位置、向きまたは他の空間的向きデータを決定することができる。この情報は、ビューイングデバイスから、インターフェースを介してモデルビューアまたは処理デバイスに送信されてよい。システムが、複数のデバイスで所与のモデルを見ている複数のユーザーを含む場合、特定のビューイングデバイスのＩＤまたはユーザーアカウントを使用して、ユーザーを識別し、１つ以上の利用可能な許可またはセキュリティ措置を決定するか、または、１つ以上の利用可能な機能（例えばブックマーク、メモ取り、オブジェクトまたはコンポーネントの操作等）を許可することができる。要求をしているビューイングデバイスの位置および向きは、ビューイングデバイスがオブジェクトを「見る」角度に対応してよい。これは、図８に関して以下に説明される。
【００２２】
決定された位置および向きに基づいて、オブジェクトの可視シャードを決定することができる。通常、３Ｄモデルのすべてのシャードが可視と選択されて処理されて、ユーザーに表示される２Ｄ画像を決定することができる。しかし、１つ以上のカリング手法を使用して、可視とみなされるシャードの数を減らし、したがって、必要な処理能力量を減らすことができる。これは、例えば錐台カリング、オクルージョンカリングおよび詳細レベルカリングを含むいくつかの方法で行うことができる。
【００２３】
錐台カリングは、ビューイングデバイスの視点に対応する視錐台の完全に外側にある任意のシャードを考慮から外すことができる。図８は、例示的な視錐台８１２を示す。したがって、ユーザーがズームインするか、３Ｄモデル全体のサブセットしか見えない場合、視錐台の外側の部分に対応するシャードは、モデルの２Ｄ画像の生成には使用されない。いくつかの例では、所与のシャードが、部分的に視錐台の内側および外側にある場合がある。このような場合、部分的に視錐台内にある任意のシャードも考慮され、完全に視錐台の外側にあるシャードのみが考慮から外される。図８の例では、第７および第８のシャード５３１、５３２が完全に視錐台８１２の外側にあり、したがって、考慮から外される。対照的に、図８の例では、第５のシャード５２５は、部分的に視錐台８１２内に存在し、したがって、考慮される。
【００２４】
オクルージョンカリングは、決定された視点に関して、別のシャードによって部分的または完全に遮断されている１つ以上のシャードを決定することを含んでよい。例えば図５、６および８は、第６のシャード５２６が、第１、第２および第４のシャード５２１、５２２、５２４によって、視点８０４による視界から遮断されていることを示す。したがって、第６のシャード５２６は考慮から外され、ビューイングデバイスに送信される２Ｄ画像を決定するために処理されなくてよい。
【００２５】
詳細レベルカリングは、示されるオブジェクトの詳細レベルに基づいて、所与のシャードを考慮から外すかどうかを決定することを含んでよい。例えば視点がオブジェクトから遠く離れている場合、所与のシャードが１つのピクセルまたは少数のピクセルを占める場合がある。この場合、画像に大きな影響を与えない場合は、シャードを考慮から外すことができる。解像度および視点の位置／向きによって、１つ以上のシャードが考慮から外され、処理されない場合がある。
【００２６】
上記カリング手法および１つ以上の他の処理手法に基づいてシャードのリストが決定されると、複数の処理タスクを決定することができる。処理タスクはそれぞれ、１つの可視シャードまたは複数の可視シャードに対応してよく、１つ以上のシャードのレンダリングを含んでよい。つまり、可視シャードのリストが決定されると、シャードを独立して処理して、複数の２Ｄレンダリングされた画像を決定することができる。次に、これらを組み合わせて、ビューイングデバイスに送ることができる。
【００２７】
複数のタスクのそれぞれは、１つ以上のコンピューティングデバイスによって行うことができるレンダリングタスクであってよい。いくつかの例では、１つ以上の加入者デバイスを使用して、先着順で一連のタスクを処理することができる。例えば１０個のシャードが可視である場合、ビューイングデバイスに提示する２Ｄ画像を決定するために完了しなければならないレンダリングタスクは１０個ある。いくつかの例では、すべてのレンダリングタスクを完了する単一の加入者デバイスがあってよい。また、１０個のレンダリングタスクを並行処理することができる２つ以上の加入者デバイスがあってもよい。例えば第１の加入者が第１のレンダリングタスクを引き受ける一方で、第２の加入者が第２のレンダリングタスクを引き受けることができる。第１の加入者は、第２の加入者よりも強力なプロセッサを含んでよく、したがって、第１のレンダリングタスクを迅速に完了することができる。次に、第１の加入者は、第３のレンダリングタスクを引き受け、完了することができ、次いで、第２の加入者が第２のレンダリングタスクを完了する前に、第４のレンダリングタスクを引き受け、完了することができる。したがって、レンダリングタスクは、任意の順序で、並行して、また、１つ以上のデバイスによって完了することができる。このようにして、複数の加入者デバイスは、最速のプロセッサを有する加入者がより遅い加入者よりも多くのレンダリングタスクを完了することができるように、レンダリングタスクを効率的に完了することができる。
【００２８】
各処理タスクは、可視シャードのレンダリングを含んでよい。いくつかの例では、これは、レイトレーシング、ラスタライゼーションまたは３Ｄ幾何学的形状を２次元に投影する他のこのような操作といった、決定された視点位置に基づく３Ｄレンダリング操作を行うことを含んでよい。本明細書に開示される例は、特にレイトレーシングに関して説明されるが、３Ｄ幾何学的形状を２次元に投影する任意の他の操作を使用してもよいことに留意されたい。レンダリングタスクを完了する加入者は、レンダリングする必要のあるシャードの識別子を受け取り、それに応じて、データベースから、当該シャードを構成する三角形を取得することができる。次に、加入者は、レイトレーシング操作を行って、各ピクセルの色および深度を決定することができる。レイトレーシング操作は、視点位置から開始して、表示される各ピクセルを通過する光線を送出することとして理解することができる。光線は、ピクセルを通過し、レンダリングされるシャードの三角形に接触することができる。次に、光線は三角形から跳ね返り、１つ以上の他の三角形または光源に接触することができる。所与のピクセルの色は、三角形が属するコンポーネントに対応してよい。各ピクセルはまた、当該ピクセルに対応する三角形の深度に対応してよいシェーディングおよびライティング情報も含んでよい。したがって、レンダリングされた各ピクセルは、色情報および深度情報の両方を含むことができる。所定のピクセルの深度は、光線と交差された三角形または他の３Ｄ幾何プリミティブ（キューブ、コーン、ポリゴン、Ｂ−ｒｅｐ、ＣＳＧツリー等）との交点までの光線に沿った１次元距離として決定することができる。レイトレーシングは、図１１に関連して以下にさらに説明される。
【００２９】
いくつかの例では、境界ボリューム階層（ＢＶＨ）、ボクセル階層、空間グリッド等といった派生的な３Ｄレンダリング加速データ構造を各シャードについて決定することができる。本明細書に開示される例は、ＢＶＨに関して説明されるが、他のデータ構造も使用することができることに留意されたい。ＢＶＨは、１つ以上の加入者によって格納され、アクセスされることができるため、所与のシャードがレンダリングされなければならない場合、それをより迅速にレンダリングすることができる。これは、視点が変化し、シャードを再レンダリングしなければならず、新しい加入者が当該シャードのレンダリングを担当する場合に特に有用でありうる。この場合、ＢＶＨは、加入者によってデータベースから取得されて使用され、シャードをより迅速にレンダリングすることができる。
【００３０】
ＢＶＨといった３Ｄレンダリング加速データ構造は、レイトレーシングまたはスキャンラインラスタライゼーションにおいて単一の光線に対して行う必要のある光線−三角形（または他の幾何プリミティブ）交差テストの数を減らすことができる。この削減は、三角形（または他の幾何プリミティブ）を空間的にグループ化し、そのグループを別の単一の幾何プリミティブで表すことによって達成される。サロゲートプリミティブが作成されるにつれて、それらを他のプリミティブで再帰的に、累進的に階層ツリー構造にグループ化することができる。このツリー構造に対してトップダウンで行われる交差は、ツリーのブランチ全体のカリングを効果的かつ効率的に可能にする。これにより、交差テストを行わなければならない相当数のリーフ幾何プリミティブが除去される。
【００３１】
ボクセル（例えば複数のボクセル７１０）を１つ以上のカリング操作において使用して、単一のラミネートを生成するのに最低必要な複数のシャード処理ジョブまたはレンダリングジョブを決定することができる。図７に示されるように、シャード５２１〜５２６、５３１、５３２は、少なくとも１つのボクセル７１０を占める。つまり、シャード５２１〜５２６、５３１、５３２のそれぞれは、基準座標系３０６の空間の少なくとも１つの３次元量子化ブロック、すなわち、ボクセル７１０の１つに対応する。したがって、図８に関連して以下により詳細に説明されるように、ボクセル７１０が視錐台８１２内に存在するかどうか、ボクセル７１０がシャードを含むかどうか、および、ボクセル７１０がどのシャードを含むかを、モデルビューア２０２によって決定することができる。
【００３２】
いくつかの例では、レイトレーシングの代わりに、ラスタライゼーションまたは別のレンダリング手法を使用することができる。次に、使用される手法に関係なく、処理タスク（すなわち、レンダリングタスク）によって、所与のシャードに対応する色および深度情報を有するピクセルを含む２Ｄ画像をもたらすことができる。複数のシャードが可視である場合、複数の２Ｄ画像を決定することができる。次に、複数の２Ｄ画像を組み合わせて、複数の可視シャードを含む単一の２Ｄ画像にすることができる。次に、この組み合わされた２Ｄ画像を、ビューイングデバイスに送信することができる。
【００３３】
図８は、図２のモデルビューア２０２を介して視点８０４によって見られる例示的な３Ｄモデル３０２を示す。図８に示される例では、視点８０４は、映画フィルムカメラとして示されている。視点８０４は、図１のビューイングデバイス１１４の１つと関連付けられている。ビューイングデバイス１１４のそれぞれが、対応する視点に関連付けられ、複数の視点が３Ｄモデル３０２を同時に見ることができることを理解されたい。図８に示されるように、視点８０４は、視錐台８１２を通して３Ｄモデルを見る。つまり、視点８０４は、視錐台８１２に含まれる３Ｄモデル３０２の部分を見る。したがって、図８に示されるように、視錐台８１２の外側の３Ｄモデル３０２の部分は視点８０４から見えないようになっている。動作中、３Ｄモデル３０２は、基準座標系３０６内で静止したままである一方で、視点８０４は、二重矢印８０８および矢印付き弧８１０によって示されるように、３Ｄモデル３０２に対して基準座標系３０６内で動き、平行移動し、接近し（例えばズームインし）、後退する（例えばズームアウトする）。類推による説明として、３Ｄモデルは固定の彫像として機能し、視点８０４は彫像の周りを歩いて法のすべての側面を見る観察者である。動作中、３Ｄモデルを観察する視点（視点８０４を含む）のそれぞれの位置に基づく３Ｄモデル３０２のアセンブルされた２Ｄラミネート画像は、図１のサーバ１１２によってレンダリングされて通信されて、図１のビューイングデバイス１１４に表示される。言い換えれば、視点（例えば視点８０４）が見るものが、ビューイングデバイス１１４で２Ｄラミネートとして示される。さらに言い換えれば、ユーザーは、ビューイングデバイス１１４を介して、視点のうちの有利な視点から３Ｄモデル３０２の２Ｄラミネートを見る。３Ｄモデル３０２の２Ｄラミネートを生成し通信することは、３Ｄモデルを構成するすべてのデータを送信し、様々な視点について３Ｄモデルをレンダリング／再レンダリングすることよりも効率的であることを理解および認識されたい。つまり、３Ｄモデルデータを送信することよりも、すべての３Ｄモデルデータを（例えばクラウド内の）１つ以上のサーバーロケーションに格納し、単純な２Ｄラミネート画像をビューイングデバイス１１４に送ることの方が簡単である。したがって、ビューイングデバイス１１４に転送されるデータ量を削減することによって、データ伝送効率が向上される。動作中、図２の視点決定器２１０は、基準座標系３０６内の視点の位置を決定する。
【００３４】
図８に示されるように、第１、第２、第３、第４、第５および第６のシャード５２１、５２２、５２３、５２４、５２５、５２６を含むボクセル７１０は、視錐台８１２内に配置され、したがって、視点８０４から可視である。第７および第８のシャード５３１、５３２を含むボクセル７１０は、視錐台８１２の外側にあり、したがって、視点８１２から見えない。したがって、第１、第２、第３、第４、第５および第６のシャード５２１、５２２、５２３、５２４、５２５、５２６は、可視シャードセット８２０を構成する。図８に示されるように、第５のシャード５２５は、視錐台８１２に部分的にのみ含まれているにも関わらず、可視シャードセット８２０に含まれていることを理解および認識されたい。図６、７および８を見ると、第６のシャード５２６は、第１のシャード５２１によって隠されているにもかかわらず、視錐台８１２内に存在し、したがって、可視シャードセット８２０に含まれることをさらに理解および認識されたい。さらに、第７および第８のシャード５３１、５３２は、視錐台８１２の完全に外側のボクセル７１０内にあるため、第７および第８のシャード５３１、５３２は、隠れシャードセット８３０を構成する。つまり、視点８０４のうちの有利な視点から、可視シャードセット８２０は可視である一方で、隠れシャードセット８３０は見えない。
【００３５】
動作中、図３〜７の例を使用して、可視シャード決定器２０４は、基準座標系３０６内の視点８０４の位置に基づいて、視点８０４から第１、第２、第３、第４、第５および第６のシャード５２１、５２２、５２３、５２４、５２５、５２６が可視であるという可視シャード決定を行う。つまり、図３〜７の例について、可視シャード決定器２０４は、視点８０４の可視シャードのセット、すなわち、可視シャードセット８２０が、第１、第２、第３、第４、第５および第６のシャード５２１、５２２、５２３、５２４、５２５、５２６を含むと決定する。さらに動作中、可視シャード決定器２０４は、可視シャードセット８２０をタイル生成器２０６ａ〜２０６ｎに通信する。可視シャード決定器２０４によって行われる可視シャード決定は量子化されることを理解されたい。つまり、所与の視点についてシャードの一部のみが可視であるまたはシャードははっきりとは見えない場合でも、可視シャード決定器２０４は、第５および第６のシャード５２５、５２６に関して前述したように、可視シャードのセットに部分的に可視であり、かつ／またははっきりとは見えないシャードを含める。
【００３６】
図９は、例示的な３Ｄモデル３０２の可視シャードセット８２０、モデルビューア２０２によって生成される対応する２Ｄタイルおよびモデルビューア２０２によって生成される２Ｄラミネート９３０を示す。図１０Ａおよび１０Ｂは、例示的なモデルビューア２０２によって生成される例示的な３Ｄモデル３０２の例示的な２Ｄタイルを示す。図１１は、可視シャードセット８２０の一部である第１のシャード５２１と交差する視点８０４に対応する光線１１２０の側面図である。
【００３７】
動作中、タイル生成器２０６ａ〜２０６ｎは、図８に示される可視シャードセット８２０に基づいて、視点８０４についての２Ｄタイルを生成する。より具体的には、タイル生成器２０６ａ〜２０６ｎのうちの１つ以上が、図２のデータベース２１８から、第１、第２、第３、第４、第５および第６のシャード５２１、５２２、５２３、５２４、５２５、５２６を取得する。つまり、可視シャードセット８２０の個々のシャードを、複数のタイル生成器２０６間で分配することができる。タイル生成器２０６ａ〜２０６ｎは、それぞれ、３Ｄの第１、第２、第３、第４、第５および第６のシャード５２１、５２２、５２３、５２４、５２５、５２６を２Ｄタイルにレンダリング（平坦化）する。図９、１０Ａおよび１０Ｂに示されるように、第１のシャード５２１は、２Ｄの第１のタイル９２１に平坦化される。第２のシャード５２２は、２Ｄの第２のタイル９２２に平坦化される。第３のシャード５２３は、２Ｄの第３のタイル９２３に平坦化される。第４のシャード５２４は、２Ｄの第４のタイル９２４に平坦化される。第５のシャード５２５は、２Ｄの第５のタイル９２５に平坦化される。第６のシャード５２６は、２Ｄの第６のタイル９２６に平坦化される。図１０Ａおよび１０Ｂに示されるように、第１、第２、第３、第４、第５および第６のタイル９２１、９２２、９２３、９２４、９２５、９２６は、２Ｄ基準座標系９０６内にある。したがって、可視シャードセット８２０の全体が、タイル生成器２０６ａ〜２０６ｎによって２Ｄタイルに平坦化される。
【００３８】
図１１に示される例では、光線１１２０は、ビューイング面１１１０のピクセル１１４０から垂直に延在する。ビューイング面１１１０は、視錐台８１２内の視点８０４によって可視である２Ｄ領域である。ビューイング面１１１０は、列および行に配置されたピクセル１１４０といった複数のピクセルを含むことを理解されたい。図１１に示されるように、第１のシャード５２１は、光線１１２０が第１のシャード５２１と交差する交点１１３０において、色値ｃ（例えば赤、青、緑、灰色または可視スペクトル上の任意の色）および深度値ｄを有する。この色および深度データは、図１１に（ｃ，ｄ）としてまとめて示されている。深度値ｄは、ビューイング面１１１０から交点１１３０までの距離である。色値ｃは、ピクセル１１４０においてビューイング面１１１０を介して視点８０４によって見られる交点１１３０における第１のシャード５２１の色である。つまり、視点８０４がビューイング面１１１０を見ると、ピクセル１１４０は、色値ｃを有し、深度値ｄに関連付けられる。
【００３９】
動作中、タイル生成器２０６ａ〜２０６ｎは、光線が可視シャードと交差するすべての点について、個々の可視シャードの色および深度データを決定する。したがって、個々の可視シャードのそれぞれについて、個々のシャードがそれを通して見られるビューイング面の各ピクセルについて、色および深度データが生成される。各ピクセルからの色データは２Ｄタイルを形成し、深度データは各ピクセルに（例えばメタデータとして）関連付けられる。つまり、２Ｄタイルは、色付きピクセルの集合であり、深度データは色付きピクセルのそれぞれに関連付けられる。タイル生成器２０６ａ〜２０６ｎは、タイルおよび関連の深度データをラミネートアセンブラ２０８に提供する。いくつかの例では、タイル生成器２０６ａ〜２０６ｎはさらに、可視シャード光線交点の透明度データを決定することができる。
【００４０】
動作中、ラミネートアセンブラ２０８は、タイルのペア（例えば第１のタイル９２１と第６のタイル９２６、第３のタイル９２３と第４のタイル９２４等）と、関連の深度および透明度データとを、複合タイルにマージされるようにタイル合成器２１２ａ〜２１２ｎに送る。したがって、タイルのペアを合成する作業は、タイル合成器２１２ａ〜２１２ｎ間で分散される。
【００４１】
動作中、タイル合成器２１２ａ〜２１２ｎは、ラミネートアセンブラ２０８によって提供されたタイルの各ピクセルの対応する深度データを比較する。タイル内の所与のピクセル位置について、タイル合成器２１２ａ〜２１２ｎは、タイルのペアにおいて最小の深度値を有する色付きピクセルを選択する。つまり、タイル合成器２１２は、タイルのペアにおいてどのピクセルがビューイング面１１１０に最も近いかに基づいて、タイルのペアを複合タイルにマージする。したがって、各複合タイルは、タイルのペアにおいてビューイング面１１１０に最も近い色付きピクセルの集合である。さらに、したがって、複合タイルの各ピクセルは、色データおよび深度データを有する。次に、タイル合成器２１２ａ〜２１２ｎは、複合タイルをラミネートアセンブラ２０８に送る。タイルが透明度データを含む例では、タイル合成器２１２ａ〜２１２ｎは、透明度データおよび非選択ピクセルの色データに基づいて、選択されたピクセルの色データを調整する。
【００４２】
さらに動作中、ラミネートアセンブラ２０８は、タイル生成器２０６ａ〜２０６ｎによって最初に送られたタイルのすべてが合成されて最終ラミネート９３０になるまで、複合タイルと元のタイルとのペアまたは複合タイルのペアをタイル合成器２１２ａ〜２１２ｎに送ることによってタイル合成プロセスを続ける。図９の例では、２Ｄラミネート９３０は、視錐台８１２内の視点８０４によって観察される３Ｄモデル３０２の合成された２Ｄ画像である。
【００４３】
さらに、ラミネートアセンブラ２０８は、２Ｄラミネート９３０を、ビューイングデバイス１１４での表示のためにビューイングデバイス１１４に送る。つまり、図９に示されるように、タイル生成器２０６ａ〜２０６ｎは、可視シャードセット８２０を２Ｄタイル９２１〜９２６に変換し、タイル合成器２１２ａ〜２１２ｎは、ピクセル深度データに従ってタイル９２１〜９２６を連続的に合成してラミネート９３０とし、ラミネートアセンブラ２０８は、ラミネート９３０をビューイングデバイス１１４に送る。
【００４４】
図１２は、図２の例示的なモデルビューア２０２によって生成される例示的な３Ｄモデル３０２の２Ｄラミネート１２１２の集合を示す。図１２に示される例では、２Ｄラミネート１２１２の集合は、図９の第１のラミネート９３０、第２のラミネート９３２、第３のラミネート９３３、第４のラミネート９３４および第５のラミネート９３５を含む。第１、第２、第３、第４および第５のラミネート９３０、９３２、９３３、９３４、９３５のそれぞれは、例示的な３Ｄモデル３０２の周りの基準座標系（例えば図３〜１１の基準座標系３０６）内の異なる視点位置にそれぞれ対応する。つまり、第１、第２、第３、第４および第５のラミネート９３０、９３２、９３３、９３４、９３５は、基準座標系３０６内の第１の位置、第２の位置、第３の位置、第４の位置および第５の位置において、視点８０４が３Ｄモデル３０２を観察したものの画像である。
【００４５】
図１２の例では、動作中、視点８０４が基準座標系３０６内で移動するにつれて、図２のタイル生成器２０６ａ〜２０６ｎ、タイル合成器２１２ａ〜２１２ｎおよびラミネートアセンブラ２０８は、第１、第２、第３、第４および第５のラミネート９３０、９３２、９３３、９３４、９３５を連続的に生成する。動作中、視点８０４がフレームレート（例えば毎秒２４フレーム、毎秒４０フレーム等）に従って視点位置間を移動するにつれて、タイル生成器２０６ａ〜２０６ｎは２Ｄタイルを生成し、タイル合成器２１２ａ〜２１２ｎは２Ｄラミネートを合成する。タイル生成器２０６ａ〜２０６ｎは、視点が仮想３Ｄ空間内の視点位置に固定されたままである場合は新しい２Ｄタイルを生成しないため、処理能力が節約される。つまり、タイル生成器２０６ａ〜２０６ｎは、ビューイングデバイス１１４からの移動入力に応答して、タイル合成器２１２ａ〜２１２ｎによる２Ｄラミネートへの合成のための２Ｄタイルを生成する。
【００４６】
さらに動作中、図２のインターフェース２１４は、ビューイングデバイス（例えば図１のビューイングデバイス１１４のうちの１つ）で高速生成されたラミネートを表示する。したがって、ビューイングデバイスに静的ラミネートを高速表示することによって、ビューイングデバイスのユーザーのために、３Ｄモデルの動き（例えば回転、平行移動等）の錯覚が生成される。つまり、モデルビューア２０２は、ビューイングデバイス１１４を介してユーザーに高速に示される静的ラミネートの電子的フリップブックを作成する。したがって、図１２に示される例では、３Ｄモデル３０２は、ラミネート１２１２の集合において回転しているように見える。彫像の類推に戻ると、モデルビューア２０２は、ユーザーの前の動かない彫像の周りで撮られた２Ｄ画像のスタックをめくる。ユーザーが静止している場合でも、彫像はユーザーの前で回転しているように見える。したがって、図１２に示される例では、３Ｄモデル３０２は、第１、第２、第３、第４および第５のラミネート９３０、９３２、９３３、９３４、９３５が左から右に進むにつれて回転しているように見える。
【００４７】
本明細書に含まれる実施形態は、スクリーンまたは表示デバイスに様々な画像、ラミネート、シャードおよび他の視覚的特徴を表示することを伴うものとして説明されてきた。特定の例は、拡張現実および／または仮想現実応用のコンテキストにおいて本明細書に説明される概念の使用を含んでよいことを理解されたい。拡張現実のコンテキストでは、画像、ラミネート、シャードまたは他の視覚的特徴を透明な背景と共に提供することができる。透明な背景により、表示デバイスが提供された画像をローカルのカメラ画像またはビューに重ねることができるため、画像、ラミネートまたはシャード内のオブジェクトがカメラ視野内にあるように見える。これは、開示された概念を拡張現実で使用する方法の一例である。他の手法を使用してもよいことを理解されたい。さらに、本明細書に開示される概念は、仮想現実のコンテキストにおいて使用されてもよい。例えば複数の画像、ラミネートまたは表示されたシャードを立体的にデバイスに提供して、そのデバイスを仮想現実ディスプレイに使用することを可能にすることができる。本明細書に開示される手法および概念を使用して立体ディスプレイ用のデュアル画像を提供することにより、表示デバイス自体での重要な処理の必要性を取り除くことができる。このようにすると、仮想現実表示デバイスは、よりコンパクトで、電力効率がよく、シンプルかつコスト効率の高いデザインにすることができる。
【００４８】
図１３は、図２の例示的なモデルビューア２０２を実装してラミネートを表示するために実行されうる機械可読命令を表すフローチャートである。図１３のフローチャートは、（図１４のメモリ１４０４といった）メモリに格納され、（図１４のプロセッサ１４０６といった）プロセッサによって実行されると、環境１１０に図２の例示的なモデルビューア２０２を実装させる１つ以上の方法を含む機械可読命令を表す。例示的なプログラム１３００は、図１３に示されるフローチャートを参照して説明されるが、例示的なモデルビューア２０２を実装する多くの他の方法を代替的に使用してもよい。例えばブロックの実行順序を並べ替えて、変更して、削除して、かつ／または組み合わせて、方法１３００を行うことができる。さらに、方法１３００は、図２のコンポーネントに関連して開示されるため、これらのコンポーネントのいくつかの機能は、以下で詳細には説明されない。
【００４９】
「非一時的コンピュータ可読媒体」および「コンピュータ可読媒体」との用語は、集中型または分散型データベースといった単一の媒体または複数の媒体、および／または、１つ以上の命令セットを格納する関連のキャッシュおよびサーバを含む。さらに、「非一時的コンピュータ可読媒体」および「コンピュータ可読媒体」との用語は、プロセッサによる実行のための命令セットを格納、符号化または運ぶことができるか、または、システムに本明細書に開示される方法または操作の任意の１つ以上を行わせる任意の有形媒体を含む。本明細書で使用される場合、「コンピュータ可読媒体」との用語は、任意のタイプのコンピュータ可読ストレージデバイスおよび／またはストレージディスクを含み、伝搬信号を含まないように明確に定義される。
【００５０】
図１３に示される例では、例示的なインターフェース２１４は、ビューイングデバイス１１４から入力（例えば移動入力、ラミネート表示要求等）を受け取る（ブロック１３０２）。視点決定器２１０は、３Ｄモデルに関連付けられた基準座標系内の入力に対応する視点位置を決定する（ブロック１３０４）。可視シャード決定器２０４は、データベース２１８にアクセスして、視点位置に基づいて３Ｄモデルの可視シャードセットを決定する（ブロック１３０６）。可視シャード決定器２０４は、可視シャードセットの個々のシャードをタイル生成器２０６ａ〜２０６ｎに割り当てる（ブロック１３０８）。タイル生成器２０６ａ〜２０６ｎは、データベース２１８から、割り当てられた可視シャードを取得する（ブロック１３１０）。タイル生成器２０６ａ〜２０６ｎは、割り当てられた可視シャードを２Ｄタイルにレンダリングし、２Ｄタイルをラミネートアセンブラ２０８に送る（ブロック１３１２）。タイル合成器２１２ａ〜２１２ｎは、ラミネートアセンブラ２０８から受け取った２Ｄタイルを連続的にマージして、２Ｄタイルを２Ｄラミネートにアセンブルする（ブロック１３１４）。インターフェース２１４は、２Ｄラミネートをビューイングデバイス１１４に送る（ブロック１３１６）。その後、方法１３００は終了する。
【００５１】
図１４は、図２の例示的なモデルビューア２０２を実装するために図１３の命令を実行可能である例示的なコンピューティングプラットフォーム１４０２のブロック図である。図１４に示される例では、コンピューティングプラットフォーム１４０２は、メモリ１４０４、プロセッサ１４０６、入力デバイス１４０８、インターフェース１４１０、出力デバイス１４１２およびバス１４１４を含む。
【００５２】
図１４に示される例では、メモリ１４０４、プロセッサ１４０６、インターフェース１４１０および出力デバイス１４１２は、バス１４１４を介して互いに通信する。入力デバイス１４０８は、インターフェース１４１０と通信する。
【００５３】
図１４に示される例では、オンボードコンピューティングプラットフォーム１４０２のプロセッサ１４０６は、モデルビューア２０２を含むように構成される。プロセッサ１４０６は、例えばマイクロプロセッサ、マイクロコントローラベースのプラットフォーム、集積回路、１つ以上のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）および／または１つ以上の特定用途向け集積回路（ＡＳＩＣ）であるがこれらに限定されない任意の適切な処理デバイスまたは処理デバイスのセットであってよい。メモリ１４０４は、揮発性メモリ（例えば不揮発性ＲＡＭ、磁気ＲＡＭ、強誘電性ＲＡＭ等を含むＲＡＭ）、不揮発性メモリ（例えばディスクメモリ、フラッシュメモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、メモリスタベースの不揮発性ソリッドステートメモリ等）、変更不可メモリ（例えばＥＰＲＯＭ）、読み取り専用メモリおよび／または大容量ストレージデバイス（例えばハードドライブ、ソリッドステートドライブ等）であってよい。いくつかの例では、メモリ１４０４は、複数の種類のメモリ、特に揮発性メモリおよび不揮発性メモリを含む。
【００５４】
メモリ１４０４は、本開示の方法を動作させるためのソフトウェアといった命令１４１８の１つ以上のセットを埋め込むことができるコンピュータ可読媒体である。命令１４１８は、本明細書に説明されるような方法または論理のうちの１つ以上を具現化することができる。例えば命令１４１８は、命令１４１８の実行中に、メモリ１４０４、コンピュータ可読媒体および／またはプロセッサ１４０６のいずれか１つかまたは複数の中に完全にまたは少なくとも部分的に存在する。
【００５５】
インターフェース１４１０は、任意のタイプのインターフェース規格（例えばイーサネット、ユニバーサルシリアルバス（ＵＳＢ）および／または周辺コンポーネント相互接続（ＰＣＩ）エクスプレスインターフェース）によって実装することができる。インターフェース１４１０は、ネットワーク１４１６（例えばイーサネット接続、ワイヤレス接続、電話線、同軸ケーブル、携帯電話システム等）を介して外部マシンおよび／またはコンピューティングデバイスとデータを交換するための通信デバイス（例えば送信器、受信器、トランシーバ、モデム、ネットワークインターフェースカード等）を含む。
【００５６】
機械可読命令１４１８は、メモリ１４０４および／または取り外し可能な有形コンピュータ可読媒体ストレージ（例えばコンパクトディスク、デジタル多用途ディスク、ブルーレイディスク、ＵＳＢドライブ等）に格納することができる。
【００５７】
図１４に示される例では、入力デバイス１４０８は、オペレータまたは技術者といったユーザーが、命令、コマンドおよび／またはデータをプロセッサ１４０６に提供することを可能にする。入力デバイス１４０８の例には、ボタン、制御ノブ、計器パネル、タッチスクリーン、タッチパッド、キーボード、マウス、音声認識システム等のうちの１つ以上が含まれる。
【００５８】
示される例の出力デバイス１４１２は、オペレータまたは技術者といったユーザーに、プロセッサ１４０６の出力情報および／またはデータを表示する。出力デバイス１４１２の例には、液晶ディスプレイ（ＬＣＤ）、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、フラットパネルディスプレイ、タッチスクリーン、ソリッドステートディスプレイおよび／またはユーザーに情報を視覚的に提示する任意の他のデバイスが含まれる。追加的にまたは代替的に、出力デバイスは、１つ以上のスピーカおよび／またはユーザーにオーディオ信号を提供する任意の他のデバイスを含んでよい。さらに、出力デバイス１４１２は、触覚信号といった他のタイプの出力情報を提供することができる。
【００５９】
上記から、上記開示される方法および装置は、プロダクトデザインプロセス中の３Ｄモデルの同時ビューイングを支援することができることが理解されよう。したがって、ユーザーはリアルタイムで互いに協力して、３Ｄモデルによって表されるプロダクトについてコメントすることができる。さらに、上記開示される方法および装置は、デザインプロセス中に、大きい３Ｄモデルファイルが電子メール、ＦＴＰ等を介して転送される回数を減らすことにより、プロセッサを解放して他のタスクをより速くかつ消費エネルギーは少なく行うことができるようにすることにより、コンピュータ関連技術に明確な改良点を提供する。
【００６０】
特定の例示的な方法、装置および製品が本明細書に開示されているが、本特許の適用範囲はこれらに限定されない。それどころか、本特許は、本特許の請求項の範囲内に適正に含まれるすべての方法、装置および製品を対象とする。
【図１】
2021511614.tif 000003
【図２】
2021511614.tif 000004
【図３】
2021511614.tif 000005
【図４】
2021511614.tif 000006
【図５】
2021511614.tif 000007
【図６】
2021511614.tif 000008
【図７】
2021511614.tif 000009
【図８】
2021511614.tif 000010
【図９】
2021511614.tif 000011
【図１０Ａ】
2021511614.tif 000012
【図１０Ｂ】
2021511614.tif 000013
【図１１】
2021511614.tif 000014
【図１２】
2021511614.tif 000015
【図１３】
2021511614.tif 000016
【図１４】
2021511614.tif 000017
【国際調査報告】
2021511614.tif 000018