(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-07
(45)【発行日】2024-06-17
(54)【発明の名称】複数のデバイス間での3Dオブジェクトの視覚化および操作を容易にする方法および装置
(51)【国際特許分類】
G06T 15/00 20110101AFI20240610BHJP
G06T 19/00 20110101ALI20240610BHJP
【FI】
G06T15/00 501
G06T19/00 A
(21)【出願番号】P 2020562077
(86)(22)【出願日】2019-01-25
(86)【国際出願番号】 US2019015101
(87)【国際公開番号】W WO2019147907
(87)【国際公開日】2019-08-01
【審査請求日】2022-01-25
(32)【優先日】2018-01-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520276659
【氏名又は名称】ヴァーテックス ソフトウェア インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】マレー ダニエル
(72)【発明者】
【氏名】ズウィカ ジェイムズ
(72)【発明者】
【氏名】オウラダ スティーヴン
(72)【発明者】
【氏名】マレー ジェフリー
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開2004-348702(JP,A)
【文献】特開2010-165100(JP,A)
【文献】特表2004-522224(JP,A)
【文献】米国特許出願公開第2002/0126138(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/00-19/20
A63F 13/00
G09G 5/00
(57)【特許請求の範囲】
【請求項1】
ビューイングデバイスに対応する視点の視点位置を決定する視点決定器であって、前記視点位置は3次元(3D)モデルの基準座標系内にある、視点決定器と、
前記視点位置に基づいて前記3Dモデルを分割した、グループ化した三角形で表される、より小さいコンポーネントのセットである可視シャードセットを決定する可視シャード決定器と、
前記可視シャードセット
をレンダリングした画像に基づいて2次元(2D)
ラミネート画像を生成するタイル合成器と、を含む、装置。
【請求項2】
前記可視シャード決定器は、データベース内の前記視点位置を調べ、前記可視シャードセットは、前記データベース内の前記視点位置に関連付けられる、請求項1に記載の装置。
【請求項3】
前記可視シャードセットの個々のシャードを2Dタイルに平坦化するタイル生成器をさらに含む、請求項1に記載の装置。
【請求項4】
前記タイル生成器は、データベースから前記可視シャードセットを取得する、請求項3に記載の装置。
【請求項5】
前記可視シャード決定器は、前記可視シャードセットを前記タイル生成器に通信する、請求項3に記載の装置。
【請求項6】
前記タイル合成器は、前記2Dタイルを2Dラミネートにマージして前記2D
ラミネート画像を生成する、請求項3に記載の装置。
【請求項7】
前記タイル合成器は、前記2Dタイルの深度データに基づいて前記2Dタイルをマージする、請求項3に記載の装置。
【請求項8】
プロセッサで命令を実行することにより、ビューイングデバイスに対応する視点の視点位置を決定することであって、前記視点位置は3次元(3D)モデルの基準座標系内にある、決定することと、
前記プロセッサで命令を実行することにより、前記視点位置に基づいて前記3Dモデルを分割した、グループ化した三角形で表される、より小さいコンポーネントのセットである可視シャードセットを決定することと、
前記プロセッサで命令を実行することにより、前記可視シャードセット
をレンダリングした画像に基づいて2次元(2D)
ラミネート画像を生成することと、を含む、方法。
【請求項9】
前記視点位置を決定することは、データベース内の前記視点位置を調べることを含み、前記可視シャードセットは、前記データベース内の前記視点位置に関連付けられる、請求項8に記載の方法。
【請求項10】
前記2D
ラミネート画像を生成することは、データベースから前記可視シャードセットを取得することを含む、請求項8に記載の方法。
【請求項11】
前記可視シャードセットの個々のシャードを2Dタイルに平坦化することをさらに含む、請求項8に記載の方法。
【請求項12】
前記2Dタイルを2Dラミネートに合成することをさらに含む、請求項11に記載の方法。
【請求項13】
前記2Dタイルの深度データを比較することをさらに含む、請求項11に記載の方法。
【請求項14】
前記可視シャードセットの個々のシャードを割り当てることをさらに含む、請求項8に記載の方法。
【請求項15】
コンピュータ可読命令を含む有形コンピュータ可読記憶媒体であって、前記コンピュータ可読命令は実行されると、プロセッサに、少なくとも、
3次元(3D)モデルの基準座標系内にある、ビューイングデバイスに対応する視点の視点位置を決定させ、
前記視点位置に基づいて前記3Dモデルを分割した、グループ化した三角形で表される、より小さいコンポーネントのセットである可視シャードセットを決定させ、
前記可視シャードセット
をレンダリングした画像に基づいて2次元(2D)
ラミネート画像を生成させる、コンピュータ可読記憶媒体。
【請求項16】
前記視点位置を決定するための前記命令は、前記プロセッサにデータベース内の前記視点位置を調べさせ、前記可視シャードセットは、前記データベース内の前記視点位置に関連付けられる、請求項15に記載のコンピュータ可読記憶媒体。
【請求項17】
前記2D
ラミネート画像を生成するための前記命令は、前記プロセッサに、データベースから前記可視シャードセットを取得させる、請求項15に記載のコンピュータ可読記憶媒体。
【請求項18】
前記命令はさらに、前記プロセッサに、前記可視シャードセットの個々のシャードを2Dタイルに平坦化させる、請求項15に記載のコンピュータ可読記憶媒体。
【請求項19】
前記命令はさらに、前記プロセッサに、前記2Dタイルを2Dラミネートにマージさせる、請求項18に記載のコンピュータ可読記憶媒体。
【請求項20】
前記命令はさらに、前記プロセッサに、前記2Dタイルの深度データを比較させる、請求項18に記載のコンピュータ可読記憶媒体。
【請求項21】
前記命令はさらに、前記プロセッサに、前記可視シャードセットの個々のシャードを割り当てさせる、請求項20に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本国際出願は、2018年1月25日に出願された米国特許出願第62/622,075号の優先権を主張し、参照によりその全体が組み込まれる。
【0002】
本開示は、概して3次元(3D)コンピュータグラフィックスに関し、より具体的には、複数のデバイス間での3Dオブジェクトの視覚化および操作を容易にする方法および装置に関する。
【背景技術】
【0003】
3D幾何モデルは、(例えば建築、建設、不動産、ゲーム、ヘルスケア、科学的可視化、映画等における)製品をデザインするためによく使用される。デザインプロセス中、3Dモデルへの反復的な変更は、しばしばデザイナー(例えばエンジニア、技術者、製図担当者等)間で、更新された3Dモデルファイルを電子的にやり取りすることによって行われる。しかし、3Dモデルファイルのサイズは、従来の電子メールを介して送信するには大き過ぎることが多く、かつ/または、送信者から受信者に転送するのに長い時間を要する。したがって、現在の3Dデザインプロセスでは、デザイナー間で特殊なファイル転送プロトコル(FTP)または共有ローカルもしくはホスト型ネットワークストレージを利用し、かつ/または、大きい3Dファイルが転送されるまで長時間待つ。
【発明の概要】
【0004】
例示的な装置が開示される。例示的な装置は、視点決定器と、可視シャード決定器と、ラミネートアセンブラとを含む。視点決定器は、ビューイングデバイスに対応する視点の視点位置を決定し、視点位置は、仮想3D環境における3Dモデルの基準座標系内にある。可視シャード決定器は、視点位置に基づいて3Dモデルの可視シャードセットを決定する。ラミネートアセンブラは、可視シャードセットに基づいて2次元(2D)画像を生成する。
【0005】
例示的な方法が開示される。例示的な方法は、プロセッサで命令を実行することにより、ビューイングデバイスに対応する視点の視点位置を決定することであって、視点位置は3Dモデルの基準座標系内にある、決定することと、プロセッサで命令を実行することにより、視点位置に基づいて3Dモデルの可視シャードセットを決定することと、プロセッサで命令を実行することにより、可視シャードセットに基づいて2D画像を生成することとを含む。
【0006】
本明細書では、プロセッサによる実行のための例示的な命令を含む例示的な有形コンピュータ可読媒体が開示される。例示的な命令は、実行されると、プロセッサに、3Dモデルの基準座標系内にある、ビューイングデバイスに対応する視点の視点位置を決定させ、視点位置に基づいて3Dモデルの可視シャードセットを決定させ、可視シャードセットに基づいて2D画像を生成させる。
【図面の簡単な説明】
【0007】
【
図2】
図1の例示的な環境において使用される例示的なモデルビューアのブロック図である。
【
図4】三角形で表される
図3の例示的な3Dモデルを示す。
【
図5】シャードにグループ化された三角形で表される
図3および
図4の例示的な3Dモデルを示す。
【
図7】複数のボクセルを占める
図3~
図5の例示的な3Dモデルを示す。
【
図8】
図2のモデルビューアを介して視点によって見られる例示的な3Dモデルを示す。
【
図9】
図8の視点を介して可視である例示的な3Dモデルのシャードセット、
図2のモデルビューアによって生成される対応する2Dタイルおよびモデルビューアによって生成される2Dラミネートを示す。
【
図10A】
図2の例示的なモデルビューアによって生成される
図3~
図6の例示的な3Dモデルの例示的な2Dタイルを示す。
【
図10B】
図2の例示的なモデルビューアによって生成される
図3~
図6の例示的な3Dモデルの例示的な2Dタイルを示す。
【
図11】
図9の可視シャードの1つと交差する視点に対応する光線の側面図である。
【
図12】
図2の例示的なモデルビューアによって生成される例示的な3Dモデルの2Dラミネートの集合を示す。
【
図13】
図2の例示的なモデルビューアを実装して2Dラミネートを表示するために実行されてよい機械可読命令を表すフローチャートである。
【
図14】
図2の例示的なモデルビューアを実装するために
図13の命令を実行可能である例示的なコンピュータプラットフォームのブロック図である。
【0008】
図は縮尺通りではない。可能な限り、同じ参照番号を図面および添付の説明を通して使用して、同じまたは同様の部分を指す。
【発明を実施するための形態】
【0009】
図1は、本明細書に開示されるような例示的な環境110を示す。
図1に示される例では、環境110は、少なくとも1つのサーバ112、少なくとも1つのビューイングデバイス114およびネットワーク116を含む。
図1に示される例では、少なくとも1つのビューイングデバイス114は、ラップトップコンピュータ118、タブレット120、モバイルデバイス122(例えばスマートフォン)およびデスクトップコンピュータ124を含む複数のビューイングデバイス114である。ビューイングデバイス114は、
図1に示される例示的なラップトップコンピュータ118、例示的なタブレット120、例示的なモバイルデバイス122および例示的なデスクトップコンピュータ124よりも多いまたは少ないビューイングデバイスを、ビューイングデバイスタイプの任意の組み合わせで含んでもよいことを理解されたい。つまり、環境110に含まれるビューイングデバイス114の数は、
図1に示される数および組み合わせおよびビューイングデバイス(例えばラップトップコンピュータ118、タブレット120、モバイルデバイス122およびデスクトップコンピュータ124)に限定されない。ネットワーク116は、任意のタイプの電子データ転送システム(例えばインターネット、イントラネット、ローカルエリアネットワーク(LAN)等)であってよい。
【0010】
図1に示される例に示されるように、ビューイングデバイス114は、ネットワーク116を介してサーバ112と接続される。ビューイングデバイス114はさらに、ネットワーク116を介して互いに接続されていてもよい。
図1に示される例では、3Dモデルファイル126および/または3Dモデルファイル126の一部が、サーバ112に格納されている。
図2~12に関連して以下により詳細に説明されるように、動作中、3Dモデルファイルの2Dレンダリングが、ネットワーク116を介してビューイングデバイス114に表示される。
【0011】
図2は、
図1の例示的な環境110において使用される例示的なモデルビューア202のブロック図である。
図2に示される例では、モデルビューア202は、可視シャード決定器204、複数のタイル生成器206a~206n、ラミネートアセンブラ208、視点決定器210、複数のタイル合成器212a~212nおよびインターフェース214を含む。例示的なタイル生成器206a~206nは、実質的に同一であることを理解されたい。モデルビューア202は、任意の数のタイル生成器206を有してよいことをさらに理解されたい。例示的なタイル合成器212a~212nは、実質的に同一であることを理解されたい。モデルビューア202は、任意の数のタイル合成器206を有してよいことをさらに理解されたい。
図2に示される例では、モデルビューアはデータベース218と通信する。可視シャード決定器204、タイル生成器206a~206n、ラミネートアセンブラ208、タイル合成器212a~212nおよびデータベース218は、
図1のサーバ112のうちの1つ以上に格納されてよい。
図2に示される例では、視点決定器210およびインターフェース214は、
図1のビューイングデバイス114のうちの1つに格納されてよい。したがって、モデルビューア202は、サーバ112(例えばバックエンド)およびビューイングデバイス114(例えばフロントエンド)に格納される。
【0012】
図2に示される例では、可視シャード決定器204は、タイル生成器206a~206n、視点決定器210およびデータベース218と通信する。タイル生成器206a~206nはさらに、ラミネートアセンブラ208およびデータベース218と通信する。タイル合成器212a~212nは、ラミネートアセンブラ208と通信する。インターフェース214は、ラミネートアセンブラ208および視点決定器210と通信する。
【0013】
動作中、インターフェース214は、ビューイングデバイス114から表示入力を受け取る。表示入力は、(例えばマウス、キー、タッチスクリーン、スクロールホイール等を介した)移動入力を含む。
図3~8に関連してより詳細に説明されるように、視点決定器210は、移動入力に基づいて3Dモデルの周りの基準座標系内でビューイングデバイス114の視点をどこに移動するかを決定する。
図3~8に関連してより詳細に説明されるように、可視シャード決定器204は、データベース218にアクセスして、決定された視点に基づいて3Dモデル(例えば
図1の3Dモデル126)のどのシャードが可視であるかを決定する。
図9~11に関連してより詳細に説明されるように、タイル生成器206a~206nは、決定された可視シャードの深度および色データを生成し、可視シャードをタイル(平坦化された2D画像)にレンダリングする。タイル生成器206a~206nは、タイルとそれらの対応する色および深度データとをラミネートアセンブラ208に通信する。ラミネートアセンブラ208は、タイルのペアとそれらの対応する色および深度データとをタイル合成器212a~212nに送る。
図9~11に関連してより詳細に説明されるように、タイル合成器212a~212nは、タイルの深度データを比較して、深度比較に基づいて選択された色データを使用して複合タイルを生成する。タイル合成器212a~212nは、複合タイルをラミネートアセンブラ208に送る。
図9~11に関連して以下に説明されるように、ラミネートアセンブラ208は、タイル生成器206a~206nによって最初に生成されたタイルのすべてが、ラミネートと呼ばれる単一の2D複合タイルに組み合わされるまで、個々のタイルおよび複合タイルをタイル合成器212a~212nに送り続ける。ラミネートアセンブラ208は、ラミネート画像をインターフェース214に通信する。インターフェース214は、ビューイングデバイス114のうちの1つにラミネートを表示する。
【0014】
図3は、例示的な3Dモデル302を示す。
図4は、三角形410で表される例示的な3Dモデル302を示す。
図5および6は、第1、第2、第3、第4、第5、第6、第7および第8のシャード521、522、523、524、525、526、531、532にグループ化された三角形410で表される例示的な3Dモデル302を示す。
図7は、複数のボクセル710を占める例示的な3Dモデル302を示す。
図3~11の例では、例示的な3Dモデル302は、ピストンおよびコネクティングロッドのアセンブリを示す。
図3~11に示される例では、3Dモデル302と、第1、第2、第3、第4、第5、第6、第7および第8のシャード521、522、523、524、525、526、531、532とは、基準座標系306内に配置されている。例示的な基準座標系306は、3次元デカルトである。例示的な3Dモデル302は、任意のタイプの3D基準座標系(例えば円筒形、球形等)内に配置されてもよいことを理解されたい。
【0015】
高レベルでは、本明細書に開示される例は、大きい3Dモデルファイル(または多くの3Dモデル)を取得し、当該3Dモデルファイルを、独立して処理可能なシャードと呼ばれるより小さいコンポーネントに分割して、所与のユーザーまたはビューイングデバイスに対して表示する2Dラミネート画像を決定することを含んでよい。実際には、これには、最初に3Dモデルを処理して複数の三角形または他のポリゴンを生成することが含まれうる。これは、テッセレーションと呼ばれることもある。本明細書に開示される例は、三角形を参照して説明することができる。しかし、ポリゴン、境界表現(B-repまたはBREP)、空間領域構成法(CSG)ツリー、コーン等(例えばモデルプリミティブ)を含む、光線との交点を決定することができる任意のオブジェクトを使用することができることを理解されたい。次に、三角形または他のモデルプリミティブは、1つ以上のシャードにグループ化される。三角形は、それらの頂点によって定義される平面に関して2次元(2D)であってよく、または、基準座標系に関して3Dと理解されてよく、規定サイズまたは可変サイズを有してよく、また、組み合わされた場合に、3Dモデルの輪郭に従うメッシュまたはサーフェスを形成することができる。いくつかの例では、所与のモデルを表す数百、数千、数百万またはそれ以上の三角形が存在する場合がある。三角形の数および密度は、3Dモデルのより高いまたはより低い解像度を可能にするように変更することができる。例えば単純な3Dモデルは、より複雑なモデルよりも少ない数の三角形を有して、複雑なモデルの輪郭のより詳細な定義を可能にすることができる。さらに、複雑なモデルは、モデルの比較的小さい特徴を説明するためにより高い密度の三角形を含むことができる。いくつかの例では、三角形の数および密度は、モデル全体で異なってよく、したがって、より複雑な領域は、より大きい数および/またはより高い密度の三角形によって表される。
【0016】
三角形をグループ化して、シャード(例えば第1、第2、第3、第4、第5、第6、第7および第8のシャード521、522、523、524、525、526、531、532)にまとめることができる。シャードあたりの三角形の数は様々であってよく、場合によっては、シャードあたり2万個の三角形といった上限があってよい。他の数、制限および範囲も可能である。シャードあたりの三角形の数は、1つ以上の処理ベンチマークまたはメトリックに影響を与える可能性があるため、例えば特定のフレームレートまたは処理速度を維持するために変更または動的に修正することができる。さらに、三角形の密度も、各シャードのサイズおよび形状に影響を与える可能性がある。
【0017】
1つ以上の処理手法を使用して、どの三角形が所与のシャードにグループ化されるかを決定することができる。いくつかの例では、3Dモデルの特定のコンポーネントに基づいて三角形をグループ化することができる。例えば3Dモデルは複数のコンポーネントを有してよく(例えばハンドル付きのシリンダには2つのコンポーネント、即ち、シリンダおよびハンドルが含まれてよい)、所与のコンポーネントに対応するすべての三角形を1つのシャードにグループ化することができる。あるいは、1つ以上のコンポーネントが単一のシャードにグループ化することができる数よりも多い数の三角形を含むことがあり、したがって、1つのコンポーネントを、複数のシャードで表すことができる。これは、コンポーネントが大きくて複雑であるか、または、高解像度または詳細に示される場合に生じる可能性がある。さらに、単一のシャードが複数のコンポーネントを表す。したがって、単一のシャードは、単一のコンポーネント、コンポーネントの一部または複数のコンポーネントを表す三角形を含むことができる。
【0018】
三角形をシャードにグループ化する手法は複数ある。一例では、隣接する三角形をグループ化してシャードを形成することができる。この手法は、三角形の隣接関係に基づいていてよい。別の例では、第1の三角形が選択され、エッジに沿って次の三角形に移動することによって追加の三角形が選択されるエッジウォーキングを使用してグループ化を決定することができる。一般に、最近接グループ化または階層的クラスタリングといった手法を使用することができる。これらの手法は、三角形または他の幾何プリミティブを、各三角形の1つ以上の他の三角形への近接性を記述する階層構造にまとめることを伴ってよい。階層構造を分析および使用して、1つ以上の特徴に基づいて三角形をクラスタにグループ化することができる。これにより、所与の数の三角形を1つのシャードにグループ化することができる。さらに、いくつかの例では、三角形は、それらが表すコンポーネントまたは三角形に関連付けられる他のメタデータに基づいてグループ化することができる。シャードは、決定されると、後で使用するためにデータベースに格納することができる。
図5および6は、三角形410の数、サイズ、密度および他の特性が、表されるオブジェクトの1つのシャード内およびシャード間で異なりうることを示す。
【0019】
いくつかの例では、3Dモデルは、三角形およびシャードに分割され、これらは、単一のデバイスに、複数のデバイスにわたってかつ/または複数のデバイス間で重複して格納されてよい。
【0020】
所与のオブジェクトのラミネート、すなわち、2D画像をユーザーに表示するために、例示的な実施形態は、ラミネートを決定または生成するために使用することができる情報(例えば視点、ビューイング位置または向き)をユーザーデバイスから受信することを含んでよい。
図8は、例示的な視点位置804を示す。このプロセスは、(i)3Dモデルに対する視点の位置/向きを決定することと、(ii)決定された位置からどのシャードが可視であるかを決定することと、(iii)可視シャードの2D画像を生成するために複数の処理タスクを生成することと、(iv)生成された2D画像を組み合わせてビューイングデバイスに提示される単一の画像にすることとを含んでよい、いくつかのステップを含んでよい。これらのステップは、以下にさらに詳細に説明される。
【0021】
まず、ラミネートを要求するビューイングデバイスの位置、向きまたは他の空間的向きデータを決定することができる。この情報は、ビューイングデバイスから、インターフェースを介してモデルビューアまたは処理デバイスに送信されてよい。システムが、複数のデバイスで所与のモデルを見ている複数のユーザーを含む場合、特定のビューイングデバイスのIDまたはユーザーアカウントを使用して、ユーザーを識別し、1つ以上の利用可能な許可またはセキュリティ措置を決定するか、または、1つ以上の利用可能な機能(例えばブックマーク、メモ取り、オブジェクトまたはコンポーネントの操作等)を許可することができる。要求をしているビューイングデバイスの位置および向きは、ビューイングデバイスがオブジェクトを「見る」角度に対応してよい。これは、
図8に関して以下に説明される。
【0022】
決定された位置および向きに基づいて、オブジェクトの可視シャードを決定することができる。通常、3Dモデルのすべてのシャードが可視と選択されて処理されて、ユーザーに表示される2D画像を決定することができる。しかし、1つ以上のカリング手法を使用して、可視とみなされるシャードの数を減らし、したがって、必要な処理能力量を減らすことができる。これは、例えば錐台カリング、オクルージョンカリングおよび詳細レベルカリングを含むいくつかの方法で行うことができる。
【0023】
錐台カリングは、ビューイングデバイスの視点に対応する視錐台の完全に外側にある任意のシャードを考慮から外すことができる。
図8は、例示的な視錐台812を示す。したがって、ユーザーがズームインするか、3Dモデル全体のサブセットしか見えない場合、視錐台の外側の部分に対応するシャードは、モデルの2D画像の生成には使用されない。いくつかの例では、所与のシャードが、部分的に視錐台の内側および外側にある場合がある。このような場合、部分的に視錐台内にある任意のシャードも考慮され、完全に視錐台の外側にあるシャードのみが考慮から外される。
図8の例では、第7および第8のシャード531、532が完全に視錐台812の外側にあり、したがって、考慮から外される。対照的に、
図8の例では、第5のシャード525は、部分的に視錐台812内に存在し、したがって、考慮される。
【0024】
オクルージョンカリングは、決定された視点に関して、別のシャードによって部分的または完全に遮断されている1つ以上のシャードを決定することを含んでよい。例えば
図5、6および8は、第6のシャード526が、第1、第2および第4のシャード521、522、524によって、視点804による視界から遮断されていることを示す。したがって、第6のシャード526は考慮から外され、ビューイングデバイスに送信される2D画像を決定するために処理されなくてよい。
【0025】
詳細レベルカリングは、示されるオブジェクトの詳細レベルに基づいて、所与のシャードを考慮から外すかどうかを決定することを含んでよい。例えば視点がオブジェクトから遠く離れている場合、所与のシャードが1つのピクセルまたは少数のピクセルを占める場合がある。この場合、画像に大きな影響を与えない場合は、シャードを考慮から外すことができる。解像度および視点の位置/向きによって、1つ以上のシャードが考慮から外され、処理されない場合がある。
【0026】
上記カリング手法および1つ以上の他の処理手法に基づいてシャードのリストが決定されると、複数の処理タスクを決定することができる。処理タスクはそれぞれ、1つの可視シャードまたは複数の可視シャードに対応してよく、1つ以上のシャードのレンダリングを含んでよい。つまり、可視シャードのリストが決定されると、シャードを独立して処理して、複数の2Dレンダリングされた画像を決定することができる。次に、これらを組み合わせて、ビューイングデバイスに送ることができる。
【0027】
複数のタスクのそれぞれは、1つ以上のコンピューティングデバイスによって行うことができるレンダリングタスクであってよい。いくつかの例では、1つ以上の加入者デバイスを使用して、先着順で一連のタスクを処理することができる。例えば10個のシャードが可視である場合、ビューイングデバイスに提示する2D画像を決定するために完了しなければならないレンダリングタスクは10個ある。いくつかの例では、すべてのレンダリングタスクを完了する単一の加入者デバイスがあってよい。また、10個のレンダリングタスクを並行処理することができる2つ以上の加入者デバイスがあってもよい。例えば第1の加入者が第1のレンダリングタスクを引き受ける一方で、第2の加入者が第2のレンダリングタスクを引き受けることができる。第1の加入者は、第2の加入者よりも強力なプロセッサを含んでよく、したがって、第1のレンダリングタスクを迅速に完了することができる。次に、第1の加入者は、第3のレンダリングタスクを引き受け、完了することができ、次いで、第2の加入者が第2のレンダリングタスクを完了する前に、第4のレンダリングタスクを引き受け、完了することができる。したがって、レンダリングタスクは、任意の順序で、並行して、また、1つ以上のデバイスによって完了することができる。このようにして、複数の加入者デバイスは、最速のプロセッサを有する加入者がより遅い加入者よりも多くのレンダリングタスクを完了することができるように、レンダリングタスクを効率的に完了することができる。
【0028】
各処理タスクは、可視シャードのレンダリングを含んでよい。いくつかの例では、これは、レイトレーシング、ラスタライゼーションまたは3D幾何学的形状を2次元に投影する他のこのような操作といった、決定された視点位置に基づく3Dレンダリング操作を行うことを含んでよい。本明細書に開示される例は、特にレイトレーシングに関して説明されるが、3D幾何学的形状を2次元に投影する任意の他の操作を使用してもよいことに留意されたい。レンダリングタスクを完了する加入者は、レンダリングする必要のあるシャードの識別子を受け取り、それに応じて、データベースから、当該シャードを構成する三角形を取得することができる。次に、加入者は、レイトレーシング操作を行って、各ピクセルの色および深度を決定することができる。レイトレーシング操作は、視点位置から開始して、表示される各ピクセルを通過する光線を送出することとして理解することができる。光線は、ピクセルを通過し、レンダリングされるシャードの三角形に接触することができる。次に、光線は三角形から跳ね返り、1つ以上の他の三角形または光源に接触することができる。所与のピクセルの色は、三角形が属するコンポーネントに対応してよい。各ピクセルはまた、当該ピクセルに対応する三角形の深度に対応してよいシェーディングおよびライティング情報も含んでよい。したがって、レンダリングされた各ピクセルは、色情報および深度情報の両方を含むことができる。所定のピクセルの深度は、光線と交差された三角形または他の3D幾何プリミティブ(キューブ、コーン、ポリゴン、B-rep、CSGツリー等)との交点までの光線に沿った1次元距離として決定することができる。レイトレーシングは、
図11に関連して以下にさらに説明される。
【0029】
いくつかの例では、境界ボリューム階層(BVH)、ボクセル階層、空間グリッド等といった派生的な3Dレンダリング加速データ構造を各シャードについて決定することができる。本明細書に開示される例は、BVHに関して説明されるが、他のデータ構造も使用することができることに留意されたい。BVHは、1つ以上の加入者によって格納され、アクセスされることができるため、所与のシャードがレンダリングされなければならない場合、それをより迅速にレンダリングすることができる。これは、視点が変化し、シャードを再レンダリングしなければならず、新しい加入者が当該シャードのレンダリングを担当する場合に特に有用でありうる。この場合、BVHは、加入者によってデータベースから取得されて使用され、シャードをより迅速にレンダリングすることができる。
【0030】
BVHといった3Dレンダリング加速データ構造は、レイトレーシングまたはスキャンラインラスタライゼーションにおいて単一の光線に対して行う必要のある光線-三角形(または他の幾何プリミティブ)交差テストの数を減らすことができる。この削減は、三角形(または他の幾何プリミティブ)を空間的にグループ化し、そのグループを別の単一の幾何プリミティブで表すことによって達成される。サロゲートプリミティブが作成されるにつれて、それらを他のプリミティブで再帰的に、累進的に階層ツリー構造にグループ化することができる。このツリー構造に対してトップダウンで行われる交差は、ツリーのブランチ全体のカリングを効果的かつ効率的に可能にする。これにより、交差テストを行わなければならない相当数のリーフ幾何プリミティブが除去される。
【0031】
ボクセル(例えば複数のボクセル710)を1つ以上のカリング操作において使用して、単一のラミネートを生成するのに最低必要な複数のシャード処理ジョブまたはレンダリングジョブを決定することができる。
図7に示されるように、シャード521~526、531、532は、少なくとも1つのボクセル710を占める。つまり、シャード521~526、531、532のそれぞれは、基準座標系306の空間の少なくとも1つの3次元量子化ブロック、すなわち、ボクセル710の1つに対応する。したがって、
図8に関連して以下により詳細に説明されるように、ボクセル710が視錐台812内に存在するかどうか、ボクセル710がシャードを含むかどうか、および、ボクセル710がどのシャードを含むかを、モデルビューア202によって決定することができる。
【0032】
いくつかの例では、レイトレーシングの代わりに、ラスタライゼーションまたは別のレンダリング手法を使用することができる。次に、使用される手法に関係なく、処理タスク(すなわち、レンダリングタスク)によって、所与のシャードに対応する色および深度情報を有するピクセルを含む2D画像をもたらすことができる。複数のシャードが可視である場合、複数の2D画像を決定することができる。次に、複数の2D画像を組み合わせて、複数の可視シャードを含む単一の2D画像にすることができる。次に、この組み合わされた2D画像を、ビューイングデバイスに送信することができる。
【0033】
図8は、
図2のモデルビューア202を介して視点804によって見られる例示的な3Dモデル302を示す。
図8に示される例では、視点804は、映画フィルムカメラとして示されている。視点804は、
図1のビューイングデバイス114の1つと関連付けられている。ビューイングデバイス114のそれぞれが、対応する視点に関連付けられ、複数の視点が3Dモデル302を同時に見ることができることを理解されたい。
図8に示されるように、視点804は、視錐台812を通して3Dモデルを見る。つまり、視点804は、視錐台812に含まれる3Dモデル302の部分を見る。したがって、
図8に示されるように、視錐台812の外側の3Dモデル302の部分は視点804から見えないようになっている。動作中、3Dモデル302は、基準座標系306内で静止したままである一方で、視点804は、二重矢印808および矢印付き弧810によって示されるように、3Dモデル302に対して基準座標系306内で動き、平行移動し、接近し(例えばズームインし)、後退する(例えばズームアウトする)。類推による説明として、3Dモデルは固定の彫像として機能し、視点804は彫像の周りを歩いて法のすべての側面を見る観察者である。動作中、3Dモデルを観察する視点(視点804を含む)のそれぞれの位置に基づく3Dモデル302のアセンブルされた2Dラミネート画像は、
図1のサーバ112によってレンダリングされて通信されて、
図1のビューイングデバイス114に表示される。言い換えれば、視点(例えば視点804)が見るものが、ビューイングデバイス114で2Dラミネートとして示される。さらに言い換えれば、ユーザーは、ビューイングデバイス114を介して、視点のうちの有利な視点から3Dモデル302の2Dラミネートを見る。3Dモデル302の2Dラミネートを生成し通信することは、3Dモデルを構成するすべてのデータを送信し、様々な視点について3Dモデルをレンダリング/再レンダリングすることよりも効率的であることを理解および認識されたい。つまり、3Dモデルデータを送信することよりも、すべての3Dモデルデータを(例えばクラウド内の)1つ以上のサーバーロケーションに格納し、単純な2Dラミネート画像をビューイングデバイス114に送ることの方が簡単である。したがって、ビューイングデバイス114に転送されるデータ量を削減することによって、データ伝送効率が向上される。動作中、
図2の視点決定器210は、基準座標系306内の視点の位置を決定する。
【0034】
図8に示されるように、第1、第2、第3、第4、第5および第6のシャード521、522、523、524、525、526を含むボクセル710は、視錐台812内に配置され、したがって、視点804から可視である。第7および第8のシャード531、532を含むボクセル710は、視錐台812の外側にあり、したがって、視点812から見えない。したがって、第1、第2、第3、第4、第5および第6のシャード521、522、523、524、525、526は、可視シャードセット820を構成する。
図8に示されるように、第5のシャード525は、視錐台812に部分的にのみ含まれているにも関わらず、可視シャードセット820に含まれていることを理解および認識されたい。
図6、7および8を見ると、第6のシャード526は、第1のシャード521によって隠されているにもかかわらず、視錐台812内に存在し、したがって、可視シャードセット820に含まれることをさらに理解および認識されたい。さらに、第7および第8のシャード531、532は、視錐台812の完全に外側のボクセル710内にあるため、第7および第8のシャード531、532は、隠れシャードセット830を構成する。つまり、視点804のうちの有利な視点から、可視シャードセット820は可視である一方で、隠れシャードセット830は見えない。
【0035】
動作中、
図3~7の例を使用して、可視シャード決定器204は、基準座標系306内の視点804の位置に基づいて、視点804から第1、第2、第3、第4、第5および第6のシャード521、522、523、524、525、526が可視であるという可視シャード決定を行う。つまり、
図3~7の例について、可視シャード決定器204は、視点804の可視シャードのセット、すなわち、可視シャードセット820が、第1、第2、第3、第4、第5および第6のシャード521、522、523、524、525、526を含むと決定する。さらに動作中、可視シャード決定器204は、可視シャードセット820をタイル生成器206a~206nに通信する。可視シャード決定器204によって行われる可視シャード決定は量子化されることを理解されたい。つまり、所与の視点についてシャードの一部のみが可視であるまたはシャードははっきりとは見えない場合でも、可視シャード決定器204は、第5および第6のシャード525、526に関して前述したように、可視シャードのセットに部分的に可視であり、かつ/またははっきりとは見えないシャードを含める。
【0036】
図9は、例示的な3Dモデル302の可視シャードセット820、モデルビューア202によって生成される対応する2Dタイルおよびモデルビューア202によって生成される2Dラミネート930を示す。
図10Aおよび10Bは、例示的なモデルビューア202によって生成される例示的な3Dモデル302の例示的な2Dタイルを示す。
図11は、可視シャードセット820の一部である第1のシャード521と交差する視点804に対応する光線1120の側面図である。
【0037】
動作中、タイル生成器206a~206nは、
図8に示される可視シャードセット820に基づいて、視点804についての2Dタイルを生成する。より具体的には、タイル生成器206a~206nのうちの1つ以上が、
図2のデータベース218から、第1、第2、第3、第4、第5および第6のシャード521、522、523、524、525、526を取得する。つまり、可視シャードセット820の個々のシャードを、複数のタイル生成器206間で分配することができる。タイル生成器206a~206nは、それぞれ、3Dの第1、第2、第3、第4、第5および第6のシャード521、522、523、524、525、526を2Dタイルにレンダリング(平坦化)する。
図9、10Aおよび10Bに示されるように、第1のシャード521は、2Dの第1のタイル921に平坦化される。第2のシャード522は、2Dの第2のタイル922に平坦化される。第3のシャード523は、2Dの第3のタイル923に平坦化される。第4のシャード524は、2Dの第4のタイル924に平坦化される。第5のシャード525は、2Dの第5のタイル925に平坦化される。第6のシャード526は、2Dの第6のタイル926に平坦化される。
図10Aおよび10Bに示されるように、第1、第2、第3、第4、第5および第6のタイル921、922、923、924、925、926は、2D基準座標系906内にある。したがって、可視シャードセット820の全体が、タイル生成器206a~206nによって2Dタイルに平坦化される。
【0038】
図11に示される例では、光線1120は、ビューイング面1110のピクセル1140から垂直に延在する。ビューイング面1110は、視錐台812内の視点804によって可視である2D領域である。ビューイング面1110は、列および行に配置されたピクセル1140といった複数のピクセルを含むことを理解されたい。
図11に示されるように、第1のシャード521は、光線1120が第1のシャード521と交差する交点1130において、色値c(例えば赤、青、緑、灰色または可視スペクトル上の任意の色)および深度値dを有する。この色および深度データは、
図11に(c,d)としてまとめて示されている。深度値dは、ビューイング面1110から交点1130までの距離である。色値cは、ピクセル1140においてビューイング面1110を介して視点804によって見られる交点1130における第1のシャード521の色である。つまり、視点804がビューイング面1110を見ると、ピクセル1140は、色値cを有し、深度値dに関連付けられる。
【0039】
動作中、タイル生成器206a~206nは、光線が可視シャードと交差するすべての点について、個々の可視シャードの色および深度データを決定する。したがって、個々の可視シャードのそれぞれについて、個々のシャードがそれを通して見られるビューイング面の各ピクセルについて、色および深度データが生成される。各ピクセルからの色データは2Dタイルを形成し、深度データは各ピクセルに(例えばメタデータとして)関連付けられる。つまり、2Dタイルは、色付きピクセルの集合であり、深度データは色付きピクセルのそれぞれに関連付けられる。タイル生成器206a~206nは、タイルおよび関連の深度データをラミネートアセンブラ208に提供する。いくつかの例では、タイル生成器206a~206nはさらに、可視シャード光線交点の透明度データを決定することができる。
【0040】
動作中、ラミネートアセンブラ208は、タイルのペア(例えば第1のタイル921と第6のタイル926、第3のタイル923と第4のタイル924等)と、関連の深度および透明度データとを、複合タイルにマージされるようにタイル合成器212a~212nに送る。したがって、タイルのペアを合成する作業は、タイル合成器212a~212n間で分散される。
【0041】
動作中、タイル合成器212a~212nは、ラミネートアセンブラ208によって提供されたタイルの各ピクセルの対応する深度データを比較する。タイル内の所与のピクセル位置について、タイル合成器212a~212nは、タイルのペアにおいて最小の深度値を有する色付きピクセルを選択する。つまり、タイル合成器212は、タイルのペアにおいてどのピクセルがビューイング面1110に最も近いかに基づいて、タイルのペアを複合タイルにマージする。したがって、各複合タイルは、タイルのペアにおいてビューイング面1110に最も近い色付きピクセルの集合である。さらに、したがって、複合タイルの各ピクセルは、色データおよび深度データを有する。次に、タイル合成器212a~212nは、複合タイルをラミネートアセンブラ208に送る。タイルが透明度データを含む例では、タイル合成器212a~212nは、透明度データおよび非選択ピクセルの色データに基づいて、選択されたピクセルの色データを調整する。
【0042】
さらに動作中、ラミネートアセンブラ208は、タイル生成器206a~206nによって最初に送られたタイルのすべてが合成されて最終ラミネート930になるまで、複合タイルと元のタイルとのペアまたは複合タイルのペアをタイル合成器212a~212nに送ることによってタイル合成プロセスを続ける。
図9の例では、2Dラミネート930は、視錐台812内の視点804によって観察される3Dモデル302の合成された2D画像である。
【0043】
さらに、ラミネートアセンブラ208は、2Dラミネート930を、ビューイングデバイス114での表示のためにビューイングデバイス114に送る。つまり、
図9に示されるように、タイル生成器206a~206nは、可視シャードセット820を2Dタイル921~926に変換し、タイル合成器212a~212nは、ピクセル深度データに従ってタイル921~926を連続的に合成してラミネート930とし、ラミネートアセンブラ208は、ラミネート930をビューイングデバイス114に送る。
【0044】
図12は、
図2の例示的なモデルビューア202によって生成される例示的な3Dモデル302の2Dラミネート1212の集合を示す。
図12に示される例では、2Dラミネート1212の集合は、
図9の第1のラミネート930、第2のラミネート932、第3のラミネート933、第4のラミネート934および第5のラミネート935を含む。第1、第2、第3、第4および第5のラミネート930、932、933、934、935のそれぞれは、例示的な3Dモデル302の周りの基準座標系(例えば
図3~11の基準座標系306)内の異なる視点位置にそれぞれ対応する。つまり、第1、第2、第3、第4および第5のラミネート930、932、933、934、935は、基準座標系306内の第1の位置、第2の位置、第3の位置、第4の位置および第5の位置において、視点804が3Dモデル302を観察したものの画像である。
【0045】
図12の例では、動作中、視点804が基準座標系306内で移動するにつれて、
図2のタイル生成器206a~206n、タイル合成器212a~212nおよびラミネートアセンブラ208は、第1、第2、第3、第4および第5のラミネート930、932、933、934、935を連続的に生成する。動作中、視点804がフレームレート(例えば毎秒24フレーム、毎秒40フレーム等)に従って視点位置間を移動するにつれて、タイル生成器206a~206nは2Dタイルを生成し、タイル合成器212a~212nは2Dラミネートを合成する。タイル生成器206a~206nは、視点が仮想3D空間内の視点位置に固定されたままである場合は新しい2Dタイルを生成しないため、処理能力が節約される。つまり、タイル生成器206a~206nは、ビューイングデバイス114からの移動入力に応答して、タイル合成器212a~212nによる2Dラミネートへの合成のための2Dタイルを生成する。
【0046】
さらに動作中、
図2のインターフェース214は、ビューイングデバイス(例えば
図1のビューイングデバイス114のうちの1つ)で高速生成されたラミネートを表示する。したがって、ビューイングデバイスに静的ラミネートを高速表示することによって、ビューイングデバイスのユーザーのために、3Dモデルの動き(例えば回転、平行移動等)の錯覚が生成される。つまり、モデルビューア202は、ビューイングデバイス114を介してユーザーに高速に示される静的ラミネートの電子的フリップブックを作成する。したがって、
図12に示される例では、3Dモデル302は、ラミネート1212の集合において回転しているように見える。彫像の類推に戻ると、モデルビューア202は、ユーザーの前の動かない彫像の周りで撮られた2D画像のスタックをめくる。ユーザーが静止している場合でも、彫像はユーザーの前で回転しているように見える。したがって、
図12に示される例では、3Dモデル302は、第1、第2、第3、第4および第5のラミネート930、932、933、934、935が左から右に進むにつれて回転しているように見える。
【0047】
本明細書に含まれる実施形態は、スクリーンまたは表示デバイスに様々な画像、ラミネート、シャードおよび他の視覚的特徴を表示することを伴うものとして説明されてきた。特定の例は、拡張現実および/または仮想現実応用のコンテキストにおいて本明細書に説明される概念の使用を含んでよいことを理解されたい。拡張現実のコンテキストでは、画像、ラミネート、シャードまたは他の視覚的特徴を透明な背景と共に提供することができる。透明な背景により、表示デバイスが提供された画像をローカルのカメラ画像またはビューに重ねることができるため、画像、ラミネートまたはシャード内のオブジェクトがカメラ視野内にあるように見える。これは、開示された概念を拡張現実で使用する方法の一例である。他の手法を使用してもよいことを理解されたい。さらに、本明細書に開示される概念は、仮想現実のコンテキストにおいて使用されてもよい。例えば複数の画像、ラミネートまたは表示されたシャードを立体的にデバイスに提供して、そのデバイスを仮想現実ディスプレイに使用することを可能にすることができる。本明細書に開示される手法および概念を使用して立体ディスプレイ用のデュアル画像を提供することにより、表示デバイス自体での重要な処理の必要性を取り除くことができる。このようにすると、仮想現実表示デバイスは、よりコンパクトで、電力効率がよく、シンプルかつコスト効率の高いデザインにすることができる。
【0048】
図13は、
図2の例示的なモデルビューア202を実装してラミネートを表示するために実行されうる機械可読命令を表すフローチャートである。
図13のフローチャートは、(
図14のメモリ1404といった)メモリに格納され、(
図14のプロセッサ1406といった)プロセッサによって実行されると、環境110に
図2の例示的なモデルビューア202を実装させる1つ以上の方法を含む機械可読命令を表す。例示的なプログラム1300は、
図13に示されるフローチャートを参照して説明されるが、例示的なモデルビューア202を実装する多くの他の方法を代替的に使用してもよい。例えばブロックの実行順序を並べ替えて、変更して、削除して、かつ/または組み合わせて、方法1300を行うことができる。さらに、方法1300は、
図2のコンポーネントに関連して開示されるため、これらのコンポーネントのいくつかの機能は、以下で詳細には説明されない。
【0049】
「非一時的コンピュータ可読媒体」および「コンピュータ可読媒体」との用語は、集中型または分散型データベースといった単一の媒体または複数の媒体、および/または、1つ以上の命令セットを格納する関連のキャッシュおよびサーバを含む。さらに、「非一時的コンピュータ可読媒体」および「コンピュータ可読媒体」との用語は、プロセッサによる実行のための命令セットを格納、符号化または運ぶことができるか、または、システムに本明細書に開示される方法または操作の任意の1つ以上を行わせる任意の有形媒体を含む。本明細書で使用される場合、「コンピュータ可読媒体」との用語は、任意のタイプのコンピュータ可読ストレージデバイスおよび/またはストレージディスクを含み、伝搬信号を含まないように明確に定義される。
【0050】
図13に示される例では、例示的なインターフェース214は、ビューイングデバイス114から入力(例えば移動入力、ラミネート表示要求等)を受け取る(ブロック1302)。視点決定器210は、3Dモデルに関連付けられた基準座標系内の入力に対応する視点位置を決定する(ブロック1304)。可視シャード決定器204は、データベース218にアクセスして、視点位置に基づいて3Dモデルの可視シャードセットを決定する(ブロック1306)。可視シャード決定器204は、可視シャードセットの個々のシャードをタイル生成器206a~206nに割り当てる(ブロック1308)。タイル生成器206a~206nは、データベース218から、割り当てられた可視シャードを取得する(ブロック1310)。タイル生成器206a~206nは、割り当てられた可視シャードを2Dタイルにレンダリングし、2Dタイルをラミネートアセンブラ208に送る(ブロック1312)。タイル合成器212a~212nは、ラミネートアセンブラ208から受け取った2Dタイルを連続的にマージして、2Dタイルを2Dラミネートにアセンブルする(ブロック1314)。インターフェース214は、2Dラミネートをビューイングデバイス114に送る(ブロック1316)。その後、方法1300は終了する。
【0051】
図14は、
図2の例示的なモデルビューア202を実装するために
図13の命令を実行可能である例示的なコンピューティングプラットフォーム1402のブロック図である。
図14に示される例では、コンピューティングプラットフォーム1402は、メモリ1404、プロセッサ1406、入力デバイス1408、インターフェース1410、出力デバイス1412およびバス1414を含む。
【0052】
図14に示される例では、メモリ1404、プロセッサ1406、インターフェース1410および出力デバイス1412は、バス1414を介して互いに通信する。入力デバイス1408は、インターフェース1410と通信する。
【0053】
図14に示される例では、オンボードコンピューティングプラットフォーム1402のプロセッサ1406は、モデルビューア202を含むように構成される。プロセッサ1406は、例えばマイクロプロセッサ、マイクロコントローラベースのプラットフォーム、集積回路、1つ以上のフィールドプログラマブルゲートアレイ(FPGA)および/または1つ以上の特定用途向け集積回路(ASIC)であるがこれらに限定されない任意の適切な処理デバイスまたは処理デバイスのセットであってよい。メモリ1404は、揮発性メモリ(例えば不揮発性RAM、磁気RAM、強誘電性RAM等を含むRAM)、不揮発性メモリ(例えばディスクメモリ、フラッシュメモリ、EPROM、EEPROM、メモリスタベースの不揮発性ソリッドステートメモリ等)、変更不可メモリ(例えばEPROM)、読み取り専用メモリおよび/または大容量ストレージデバイス(例えばハードドライブ、ソリッドステートドライブ等)であってよい。いくつかの例では、メモリ1404は、複数の種類のメモリ、特に揮発性メモリおよび不揮発性メモリを含む。
【0054】
メモリ1404は、本開示の方法を動作させるためのソフトウェアといった命令1418の1つ以上のセットを埋め込むことができるコンピュータ可読媒体である。命令1418は、本明細書に説明されるような方法または論理のうちの1つ以上を具現化することができる。例えば命令1418は、命令1418の実行中に、メモリ1404、コンピュータ可読媒体および/またはプロセッサ1406のいずれか1つかまたは複数の中に完全にまたは少なくとも部分的に存在する。
【0055】
インターフェース1410は、任意のタイプのインターフェース規格(例えばイーサネット、ユニバーサルシリアルバス(USB)および/または周辺コンポーネント相互接続(PCI)エクスプレスインターフェース)によって実装することができる。インターフェース1410は、ネットワーク1416(例えばイーサネット接続、ワイヤレス接続、電話線、同軸ケーブル、携帯電話システム等)を介して外部マシンおよび/またはコンピューティングデバイスとデータを交換するための通信デバイス(例えば送信器、受信器、トランシーバ、モデム、ネットワークインターフェースカード等)を含む。
【0056】
機械可読命令1418は、メモリ1404および/または取り外し可能な有形コンピュータ可読媒体ストレージ(例えばコンパクトディスク、デジタル多用途ディスク、ブルーレイディスク、USBドライブ等)に格納することができる。
【0057】
図14に示される例では、入力デバイス1408は、オペレータまたは技術者といったユーザーが、命令、コマンドおよび/またはデータをプロセッサ1406に提供することを可能にする。入力デバイス1408の例には、ボタン、制御ノブ、計器パネル、タッチスクリーン、タッチパッド、キーボード、マウス、音声認識システム等のうちの1つ以上が含まれる。
【0058】
示される例の出力デバイス1412は、オペレータまたは技術者といったユーザーに、プロセッサ1406の出力情報および/またはデータを表示する。出力デバイス1412の例には、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、フラットパネルディスプレイ、タッチスクリーン、ソリッドステートディスプレイおよび/またはユーザーに情報を視覚的に提示する任意の他のデバイスが含まれる。追加的にまたは代替的に、出力デバイスは、1つ以上のスピーカおよび/またはユーザーにオーディオ信号を提供する任意の他のデバイスを含んでよい。さらに、出力デバイス1412は、触覚信号といった他のタイプの出力情報を提供することができる。
【0059】
上記から、上記開示される方法および装置は、プロダクトデザインプロセス中の3Dモデルの同時ビューイングを支援することができることが理解されよう。したがって、ユーザーはリアルタイムで互いに協力して、3Dモデルによって表されるプロダクトについてコメントすることができる。さらに、上記開示される方法および装置は、デザインプロセス中に、大きい3Dモデルファイルが電子メール、FTP等を介して転送される回数を減らすことにより、プロセッサを解放して他のタスクをより速くかつ消費エネルギーは少なく行うことができるようにすることにより、コンピュータ関連技術に明確な改良点を提供する。
【0060】
特定の例示的な方法、装置および製品が本明細書に開示されているが、本特許の適用範囲はこれらに限定されない。それどころか、本特許は、本特許の請求項の範囲内に適正に含まれるすべての方法、装置および製品を対象とする。