(57)【要約】  平面シーンモデラは、与えられた部屋の２Ｄ描写における与えられたアイテムの２Ｄ描写をモデリングする命令を受信することによって、環境におけるアイテムをより正確にシミュレーションすることが可能である。平面シーンモデラは、命令を分析し、部屋の３Ｄモデルにアイテムの３Ｄモデルを編成することが可能である。テクスチャ、材料、光の当たり方、および仮想カメラの位置は、受信した命令により修正される。３次元モデルからレンダリングされた２次元画像は、シミュレーションとしてユーザに提供されることが可能である。
2020510934.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
クライアントデバイスに対し、部屋の２次元（２Ｄ）画像を送信する工程と、
前記クライアントデバイスから、前記部屋の前記２Ｄ画像の指定のエリアにオブジェクトを配置するための配置命令を受信する工程であって、前記配置命令は前記オブジェクトの描写を用いて前記クライアントデバイス上において生成される、工程と、
プロセッサを用いて、前記オブジェクトの３次元（３Ｄ）モデルを少なくとも部分的には前記指定のエリアと前記部屋の前記３Ｄモデルの床とに基づいて位置整合する工程と、
前記部屋の前記３Ｄモデルに編成された前記オブジェクトの前記３Ｄモデルの２Ｄレンダリングを生成する工程と、
前記クライアントデバイス上に前記２Ｄレンダリングの提示を行う工程と、を備える方法。
【請求項２】
前記配置命令は、前記部屋の前記２Ｄ画像の前記指定のエリアに前記オブジェクトの前記描写のドラッグアンドドロップを行うことによって前記クライアントデバイス上において生成され、前記オブジェクトの前記描写は、前記オブジェクトの２Ｄ画像と前記オブジェクトの３Ｄモデルとのうちの少なくとも一方を含む、請求項１に記載の方法。
【請求項３】
前記部屋の初期の２Ｄ画像を追加のクライアントデバイスから受信する工程と、
前記部屋の前記初期の２Ｄ画像から前記部屋の前記３Ｄモデルを生成する工程と、をさらに備える、請求項１に記載の方法。
【請求項４】
前記配置命令に従う前記指定のエリアにおける前記オブジェクトの配置によって前記オブジェクトの前記３Ｄモデルと前記部屋の前記３Ｄモデルの表面との間に衝突が生じるか否かを判定する工程をさらに備える、請求項１に記載の方法。
【請求項５】
前記部屋の前記３Ｄモデルは、前記部屋の前記２Ｄ画像に位置整合されたコリジョンメッシュである、請求項４に記載の方法。
【請求項６】
前記オブジェクトの前記３Ｄモデルは、さらに、少なくとも部分的には前記部屋の前記３Ｄモデルの壁の位置に基づいて前記部屋の前記３Ｄモデル内に位置整合されている、請求項１に記載の方法。
【請求項７】
前記部屋の前記２Ｄ画像は、前記部屋の前記３Ｄモデル内の１つの位置における仮想カメラを用いて前記部屋の前記３Ｄモデルをレンダリングすることによって生成される、請求項１に記載の方法。
【請求項８】
前記部屋の前記３Ｄモデルに編成されている前記オブジェクトの前記３Ｄモデルの前記２Ｄレンダリングは、前記位置における前記仮想カメラを用いて生成される、請求項７に記載の方法。
【請求項９】
システムであって、
機械の１または複数のプロセッサと、
命令を含むメモリと、を備え、前記命令は、前記１または複数のプロセッサによる実行時、前記機械に、
クライアントデバイスに対し、部屋の２次元（２Ｄ）画像を送信することと、
前記クライアントデバイスから、前記部屋の前記２Ｄ画像の指定のエリアにオブジェクトを配置するための配置命令を受信することであって、前記配置命令は前記オブジェクトの描写を用いて前記クライアントデバイス上において生成される、ことと、
プロセッサを用いて、前記オブジェクトの３次元（３Ｄ）モデルを少なくとも部分的には前記指定のエリアと前記部屋の前記３Ｄモデルの床とに基づいて前記部屋の前記３Ｄモデルに位置整合することと、
前記部屋の前記３Ｄモデルに編成された前記オブジェクトの前記３Ｄモデルの２Ｄレンダリングを生成することと、
前記クライアントデバイス上に前記２Ｄレンダリングの提示を行うことと、を含む動作を行わせる、システム。
【請求項１０】
前記配置命令は、前記部屋の前記２Ｄ画像の前記指定のエリアに前記オブジェクトの前記描写のドラッグアンドドロップを行うことによって前記クライアントデバイス上において生成され、前記オブジェクトの前記描写は、前記オブジェクトの２Ｄ画像と前記オブジェクトの３Ｄモデルとのうちの少なくとも一方を含む、請求項９に記載のシステム。
【請求項１１】
前記動作は、
前記部屋の初期の２Ｄ画像を追加のクライアントデバイスから受信することと、
前記部屋の前記初期の２Ｄ画像から前記部屋の前記３Ｄモデルを生成することと、をさらに含む、請求項９に記載のシステム。
【請求項１２】
前記動作は、
前記配置命令に従う前記指定のエリアにおける前記オブジェクトの配置によって前記オブジェクトの前記３Ｄモデルと前記部屋の前記３Ｄモデルの表面との間に衝突が生じるか否かを判定することをさらに含む、請求項９に記載のシステム。
【請求項１３】
前記部屋の前記３Ｄモデルは、前記部屋の前記２Ｄ画像に位置整合されたコリジョンメッシュである、請求項１２に記載のシステム。
【請求項１４】
前記オブジェクトの前記３Ｄモデルは、さらに、少なくとも部分的には前記部屋の前記３Ｄモデルの壁の位置に基づいて前記部屋の前記３Ｄモデル内に位置整合されている、請求項９に記載のシステム。
【請求項１５】
前記部屋の前記２Ｄ画像は、前記部屋の前記３Ｄモデル内の１つの位置における仮想カメラを用いて前記部屋の前記３Ｄモデルをレンダリングすることによって生成される、請求項９に記載のシステム。
【請求項１６】
前記部屋の前記３Ｄモデルに編成されている前記オブジェクトの前記３Ｄモデルの前記２Ｄレンダリングは、前記位置における前記仮想カメラを用いて生成される、請求項１５に記載のシステム。
【請求項１７】
コンピュータ可読記憶媒体であって、デバイスの１または複数のプロセッサによる実行時、前記デバイスに、
クライアントデバイスに対し、部屋の２次元（２Ｄ）画像を送信することと、
前記クライアントデバイスから、前記部屋の前記２Ｄ画像の指定のエリアにオブジェクトを配置するための配置命令を受信することであって、前記配置命令は前記オブジェクトの描写を用いて前記クライアントデバイス上において生成される、ことと、
プロセッサを用いて、前記オブジェクトの３次元（３Ｄ）モデルを少なくとも部分的には前記指定のエリアと前記部屋の前記３Ｄモデルの床とに基づいて前記部屋の前記３Ｄモデルに位置整合することと、
前記部屋の前記３Ｄモデルに編成された前記オブジェクトの前記３Ｄモデルの２Ｄレンダリングを生成することと、
前記クライアントデバイス上に前記２Ｄレンダリングの提示を行うことと、を含む動作を行わせる命令を含む、コンピュータ可読記憶媒体。
【請求項１８】
前記動作は、
前記配置命令に従う前記指定のエリアにおける前記オブジェクトの配置によって前記オブジェクトの前記３Ｄモデルと前記部屋の前記３Ｄモデルの表面との間に衝突が生じるか否かを判定することをさらに含む、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記部屋の前記３Ｄモデルは、前記部屋の前記２Ｄ画像に位置整合されたコリジョンメッシュである、請求項１８に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記部屋の前記２Ｄ画像は、前記部屋の前記３Ｄモデル内の１つの位置における仮想カメラを用いて前記部屋の前記３Ｄモデルをレンダリングすることによって生成され、前記オブジェクトの前記描写は、前記オブジェクトの２Ｄ画像と前記オブジェクトの３Ｄモデルとのうちの少なくとも一方を含む、請求項１７に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、一般には視覚化を生成することに関し、より詳細には、以下に限定するものではないが、追加の次元を用いたエンハンスト画像を生成することに関する。
【背景技術】
【０００２】
大抵、オンラインでアイテム（例えば、家具）をブラウズするユーザは、アイテムを物理的に詳しく見ることができずに、そのアイテムについて決定することを強いられる。すなわち、ユーザは、アイテムに関する質を、そのアイテムをコンテキストにおいて（例えば、そのアイテムの周りのものに関連して）詳しく見ることなく確認することを強いられる。いくつかの従来のアプローチは、部屋の画像の上にアイテムの画像を重ねて、部屋においてアイテムがどのように見られるかシミュレーションすることを可能とする。しかしながら、アイテムの画像は、方位、光の当たり方、寸法、および他の点における差異により、部屋の画像とは視覚的に適合しないことが多い。例えば、リアルタイムのレンダリング・アプリケーションは、光（例えば、全方位の照明）とアイテムとの完全な相互作用をシミュレーションすることは不可能であり、それによって、アイテムの得られるレンダリングが非現実的に見られる。さらに、写実的なレンダリング・アプリケーションは、計算的に負荷があり遅いことが多く、低電力のコンピューティングデバイス（例えば、携帯電話機）には不適当なアプリケーションとなる。以下のアプローチがこれら技術的困難に対して向けられる。
【図面の簡単な説明】
【０００３】
【図１】いくつかの例としての実施形態に係る、ネットワーク化システムを示すブロック図。
【図２Ａ】いくつかの例としての実施形態に係る、サーバ側平面シーンモデラの内部機能コンポーネントを示す図。
【図２Ｂ】いくつかの例としての実施形態に係る、クライアント側平面シーンモデラの内部機能コンポーネントを示す図。
【図３】いくつかの例としての実施形態に係る、追加の次元を用いたエンハンスト画像を生成するための方法のフロー図。
【図４】いくつかの例としての実施形態に係る、部屋選択のために用いられる例としてのクライアントデバイスを示す図。
【図５】いくつかの例としての実施形態に係る、オブジェクト配置命令を受信する例としてのクライアントデバイスを示す図。
【図６】いくつかの例としての実施形態に係る、３Ｄ部屋における３Ｄオブジェクトの編成を示す図。
【図７】いくつかの例としての実施形態に係る、部屋におけるオブジェクトのレンダリングを表示する例としてのクライアントデバイスを示す図。
【図８】いくつかの例としての実施形態に係る、ネットワーク上の様々なコンピューティング・エンティティを用いて、高次元を用いたエンハンスト画像を生成するための相互作用図。
【図９】例としての一実施形態に係る、本明細書において説明される方法のうちの任意の１または複数の方法を機械に行わせるために命令のセットが実行され得る、コンピュータシステムの形態における機械の概略図。
【発明を実施するための形態】
【０００４】
添付の図面の種々のものは、本開示の例としての実施形態を示すものにすぎず、その範囲を限定するものとみなされるものではない。
以下の記載は、本開示の例示的な実施形態を実施するシステム、方法、技術、命令シーケンス、および計算機プログラム製品を含む。以下の記載では、説明のため、本発明の主題の様々な実施形態の理解を提供するように、多くの具体的な詳細が記載される。しかしながら、これらの具体的な詳細なしに本発明の主題の実施形態が実施され得ることは、当業者に明らかである。一般に、周知の命令インスタンス、プロトコル、構造、および技術は、詳細に示されるとは限らない。
【０００５】
様々な例としての実施形態では、フラット（平面）シーンモデラは、アイテムおよび部屋の３次元モデルを用いて、部屋におけるアイテムの現実的なシミュレーション（例えば、画像、平面シーン）を生成するように実装される。モデリングされる部屋の２次元（２Ｄ）描写は、芸術家、建設業者、設計技師、および建築家などのユーザによって、アップロードまたは記憶されてよい。部屋の２Ｄ描写の一例としては、部屋の写真、またはその部屋の間取り図などの画像が含まれる。平面シーンモデラは、間取り図または部屋のレンダリングされた画像を用いて、部屋の３次元（３Ｄ）モデルを３Ｄモデリングアプリケーションにおいて生成することが可能である。平面シーンモデラは、部屋におけるシミュレーション用のアイテムのライブラリを管理することが可能である。アイテムは、椅子、テーブル、または明かりなどの家具アイテムであることが可能であるが、当業者は、他のアイテムが同様にモデリングされることが可能であることを認識する。ライブラリにおけるアイテムの各々は、異なる視点からのアイテムの写真およびアイテムの３Ｄモデルデータを含んでよい。ユーザは、シミュレーション用に様々な部屋の選択肢から、また様々なアイテムの選択肢から選択することが可能である。いくつかの例としての実施形態では、部屋の２Ｄ画像および写真が、選択およびオブジェクト配置処理のためにユーザに表示され、一方で部屋の２Ｄ背景画像と、部屋およびアイテムの３Ｄモデルとが、シミュレーション処理のために用いられる。
【０００６】
例えば、ユーザは、テーブルの写真カタログを精読し、特定のテーブルを選択してよい。さらに、ユーザは、部屋のカタログを精読し、特定の部屋を選択してよい。次いで、ユーザは、選択された部屋の写真のエリア上に選択されたテーブルの写真のドラッグアンドドロップを行ってよい。そのドラッグアンドドロップに応じて、平面シーンモデラは、以下にさらに詳細に記載される通り、部屋の方位および他の配置の詳細を決定するようにテーブルの写真がドロップされているエリアを分析してよい。次いで、平面シーンモデラは、配置の詳細に従ってテーブルの３Ｄモデルを部屋の２Ｄ背景画像に編成してよい。いくつかの例としての実施形態では、部屋の３Ｄモデルは、部屋の２Ｄ背景画像に位置整合されているコリジョンメッシュである。コリジョンメッシュは、オブジェクトの配置が部屋の床面または壁と衝突しているか否かを検出するように用いられることが可能である。このようにして、部屋の２Ｄ画像上に配置されるオブジェクトの適切な位置整合を決定するように、軽量のコリジョンメッシュが用いられることが可能である。テーブルの３Ｄモデルは、テーブルが部屋に適合して見えるように、他の手法により回転、平行移動、サイズ変更、または変形されてよい。平面シーンモデラは、ユーザの命令に従って、仮想カメラを部屋の２Ｄ画像内の１つの位置に配置してよい。例えば、ユーザが部屋に対しテーブルのドラッグアンドドロップを行う前に、ユーザは、一方の側から他方の側にパンニングまたはズームインもしくはズームアウトすることによって、部屋の視界を調節してよい。次いで、仮想カメラの位置は、ユーザにより調節された部屋の視界が仮想カメラからの視界に一致するように設置される。次いで、平面シーンモデラは、部屋に編成されているテーブルのレンダリングを生成する。そのレンダリングは、テーブルが部屋に物理的に配置される場合にどのように見えるかのシミュレーションとして表示されてよい。このようにして、ユーザは、オブジェクトへの物理的なアクセスを有することなく、オブジェクトがどのように見えるかをネットワーク（例えば、インターネット）上の環境においてより正確にシミュレーションすることが可能である。
【０００７】
図１を参照すると、上位のクライアントサーバベースのネットワークアーキテクチャ１００の例としての実施形態が示される。ネットワーク化システム１０２は、サーバ側の機能を、ネットワーク１０４（例えば、インターネットまたはワイドエリアネットワーク（ＷＡＮ））を介して１または複数のクライアントデバイス１１０に提供する。いくつかの実装では、ユーザ１０６は、クライアントデバイス１１０を用いてネットワーク化システム１０２と対話する。図１は、例えば、いくつかの例としての実施形態に係る、平面シーンモデラシステムを形成するべくサーバ側平面シーンモデラ１５０とインタフェースするように構成されたクライアントデバイス１１０上において実行されるクライアント側平面シーンモデラ１５１を示す。図１は、１つのクライアントデバイス１１０を示すが、他の実装では、ネットワークアーキテクチャ１００は複数のクライアントデバイスを含む。
【０００８】
様々な実装では、クライアントデバイス１１０は、ディスプレイと、ネットワーク１０４を介したネットワーク化システム１０２へのアクセスを提供する通信機能と、を少なくとも備えるコンピューティングデバイスを含む。クライアントデバイス１１０として、リモートデバイス、ワークステーション、コンピュータ、汎用コンピュータ、インターネットアプライアンス、ハンドヘルドデバイス、無線デバイス、ポータブルデバイス、ウェアラブルコンピュータ、セルラフォンまたはモバイルフォン、携帯情報端末（ＰＤＡ）、スマートフォン、タブレット、ウルトラブック、ネットブック、ラップトップ、デスクトップ、マルチプロセッサシステム、マイクロプロセッサベースの家電システムまたはプログラマブル家電システム、ゲームコンソール、セットトップボックス、ネットワークパーソナルコンピュータ（ＰＣ）、ミニコンピュータなどが含まれるが、ただし、これらに限定されない。例としての実施形態では、クライアントデバイス１１０は、タッチスクリーン、加速度計、ジャイロスコープ、生体センサ、カメラ、マイクロフォン、グローバルポジショニングシステム（ＧＰＳ）デバイスなどのうちの１または複数を備える。
【０００９】
クライアントデバイス１１０は、有線接続または無線接続を介してネットワーク１０４と通信する。例えば、ネットワーク１０４の１または複数の部分として、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、ローカルエリアネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ＷＡＮ、無線ＷＡＮ、（ＷＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネットの一部、公衆交換電話網（ＰＳＴＮ）の一部、セルラ電話ネットワーク、無線ネットワーク、ＷＩ−ＦＩ（登録商標）ネットワーク、ワールドワイド・インタオペラビリティ・フォー・マイクロウェーブ・アクセス（ＷｉＭａｘ）ネットワーク、別の種類のネットワーク、またはそれらの任意の適切な組み合わせが含まれる。
【００１０】
いくつかの例としての実施形態では、クライアント側平面シーンモデラ１５１は、ウェブブラウザ内に実装される。これらの実施形態では、ウェブブラウザは、ウェブサーバ１２２またはアプリケーション・プログラミング・インタフェース（ＡＰＩ）サーバ１２０によってサポートされるウェブインタフェースを介して、ネットワーク化システム１０２の様々なシステムにアクセスする。
【００１１】
ユーザ（例えば、ユーザ１０６）として、人間、機械、またはクライアントデバイス１１０と対話する別の手段が含まれる。いくつかの例としての実施形態では、ユーザは、ネットワークアーキテクチャ１００の一部ではなく、クライアントデバイス１１０または別の手段を介してネットワークアーキテクチャ１００と対話する。例えば、ユーザは、クライアントデバイス１１０に入力（例えば、タッチスクリーン入力または英数字入力）を提供し、その入力は、ネットワーク１０４を介してネットワーク化システム１０２に対し通信される。本例では、ネットワーク化システム１０２は、ユーザから入力を受信することに応じて、情報を、ユーザに提示されるように、ネットワーク１０４を介してクライアントデバイス１１０に対し通信する。このようにして、ユーザは、クライアントデバイス１１０を用いて、ネットワーク化システム１０２と対話することが可能である。
【００１２】
アプリケーションサーバ１４０は、サーバ側平面シーンモデラ１５０をホストすることが可能であり、各々がハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せとして実施されることが可能な１または複数のモジュールまたはアプリケーションを含むことが可能である。アプリケーションサーバ１４０は、次に、データベース１２６などの１または複数の情報記憶リポジトリへのアクセスを容易とするデータベースサーバ１２４に結合されるように示されている。例としての実施形態では、データベース１２６は、平面シーンモデラシステムによりアクセスされる情報を記憶する１または複数のストレージデバイスを含む。例えば、オブジェクトおよび部屋の３Ｄモデルデータ、ならびに部屋の写真および間取り図が、データベース１２６に記憶されてよい。これに加えて、建設業者、設計技師、および建築家などの第三者ユーザが、第三者クライアントデバイス１３０などのクライアントデバイスを用いて、シミュレーションされる部屋の間取り図または写真などの部屋データをアップロードしてよい。
【００１３】
さらに、図１に示されるクライアントサーバベースのネットワークアーキテクチャ１００はクライアントサーバアーキテクチャを利用しているが、当然のことながら、本発明の主題は、そうしたアーキテクチャに限定されることなく、例えば、分散型またはピアツーピア型のアーキテクチャシステムにおいても同様に応用を見出すことが可能である。アプリケーションサーバ１４０の種々のシステムは、ネットワーク機能を有することが必須でないスタンドアローン・ソフトウェアプログラムとして実装されることも可能である。
【００１４】
図２Ａは、いくつかの例としての実施形態に係る、サーバ側平面シーンモデラ１５０の内部機能コンポーネントを示す。コンポーネント自身は、情報がアプリケーション間において渡されることを可能とするように、またはアプリケーションが共通のデータを共有することおよび共通のデータにアクセスすることを可能とするように、互いに、また様々なデータソースに対し通信可能に結合されている（例えば、適切なインタフェースを介して）。サーバ側平面シーンモデラ１５０は、平面シーンモデラシステムのサーバ側機能を実行するように構成されている。図示されるように、サーバ側平面シーンモデラ１５０は、インタフェースエンジン２０５、３Ｄ生成エンジン２１０、配置分析エンジン２３０、モデルエンジン２４０、およびレンダリングエンジン２５０を備える。
【００１５】
インタフェースエンジン２０５は、クライアント側平面シーンモデラ１５１を通じてクライアントデバイス１１０と通信するように構成されている。３Ｄ生成エンジン２１０は、２Ｄ部屋または２Ｄ環境の３Ｄモデル（例えば、２Ｄ部屋または２Ｄ環境の画像）を生成するように構成されている。配置分析エンジン２３０は、クライアントデバイス１１０から受信した配置命令を分析するように構成されている。モデルエンジン２４０は、配置命令および環境の表面（例えば、部屋の壁、床、天井）に従って部屋の２Ｄ画像におけるオブジェクトの３Ｄモデルの配置を管理する。レンダリングエンジン２５０は、部屋の３Ｄモデルに編成されるオブジェクトの３Ｄモデルのレンダリングを管理し、ここで、レンダリングは部屋の３Ｄモデル内の１つの位置における仮想カメラから行われる。
【００１６】
図２Ｂは、いくつかの例としての実施形態に係る、クライアント側平面シーンモデラ１５１の内部機能コンポーネントを示す。コンポーネント自身は、情報がアプリケーション間において渡されることを可能とするように、またはアプリケーションが共通のデータを共有することと共通のデータにアクセスすることとを可能とするように、互いに、また様々なデータソースに対し通信可能に結合されて（例えば、適切なインタフェースを介して）いる。クライアント側平面シーンモデラ１５１は、平面シーンモデラシステムのクライアント側機能を実行するように構成されている。図示されるように、クライアント側平面シーンモデラ１５１は、インタフェースエンジン２５３、オブジェクトエンジン２５５、および配置エンジン２６０を備える。インタフェースエンジン２５３は、サーバ側平面シーンモデラ１５０を通じてアプリケーションサーバ１４０と通信するように構成されている。オブジェクトエンジン２５５は、部屋の中に配置するための複数のオブジェクト（例えば、ソファ、椅子、明かり）の表示を管理する。配置エンジン２６０は、ユーザ１０６がクライアントデバイス１１０を用いて、オブジェクトの２Ｄまたは３Ｄ画像を選択するとともにその画像を部屋の３Ｄモデルのエリア内に配置することを可能とすることによって、配置命令を生成することを管理する。
【００１７】
図３は、いくつかの例としての実施形態に係る、追加の次元を用いたエンハンスト画像を生成するための方法３００のフロー図を示す。動作３０５では、３Ｄ生成エンジン２１０は２Ｄ部屋を識別する。２Ｄ部屋の例としては、建設業者、建築家、設計技師、または他のユーザによってアップロードされた部屋の写真、間取り図、または設計図が含まれる。動作３１０では、３Ｄ生成エンジン２１０は、２Ｄ部屋の３Ｄモデルを生成する。動作３１５では、３Ｄ生成エンジン２１０は、２Ｄオブジェクト（例えば、異なる視点からの１または複数のオブジェクトの写真）を識別する。動作３２０では、３Ｄ生成エンジン２１０は、２Ｄオブジェクトの３Ｄモデルを生成する。いくつかの例としての実施形態では、２Ｄオブジェクトの３Ｄモデルは、事前に生成され、３Ｄオブジェクトデータベース（例えば、データベース１２６）に記憶されている。これらの例としての実施形態では、２Ｄオブジェクトの３Ｄモデルは、生成される代わりにデータベースから取得される。
【００１８】
続いて、動作３２５では、インタフェースエンジン２０５は２Ｄ部屋におけるオブジェクトの配置を受信する（例えば、ユーザからの配置命令を受信する）。いくつかの実施形態では、ユーザは、オブジェクトの３Ｄ描写（例えば、３Ｄモデル）のオブジェクトを部屋の２Ｄ描写上に配置する。いくつかの例としての実施形態では、ユーザは、オブジェクトの２Ｄ描写を部屋の２Ｄ描写上に配置する。動作３３０では、配置分析エンジン２３０は、指定のエリア（例えば、ユーザによってオブジェクトが配置されたエリア）を識別するための配置命令を分析する。さらに、配置分析エンジン２３０は、部屋の２Ｄ画像におけるオブジェクトの３Ｄモデルの後の位置整合のために、部屋における任意の隅部（例えば、部屋の床と壁との交差部分）を識別する。後の位置整合のために用いられるデータは、ユーザにより配置されたオブジェクトが部屋の壁または床面と衝突することになるか否かを詳述する衝突（コリジョン）データを含む。いくつかの例としての実施形態では、配置分析エンジン２３０は、床面に対する配置は正確であると推定する。結果として、オブジェクトは床面に配置され、配置分析エンジン２３０は、床面に配置されたオブジェクトが部屋の１または複数の壁と衝突することになるか否かを分析する。いくつかの例としての実施形態では、動作３２５および３３０は、以下においてさらに説明される単一の動作（例えば、対象エリアの位置を示す配置を受信すること）内にて行われる。
【００１９】
動作３３５では、モデルエンジン２４０は、配置データ（例えば、衝突データ）に従って、部屋の３Ｄモデルにオブジェクトの３Ｄモデルを編成する。さらに、配置分析エンジン２３０が、オブジェクトが床面に置かれているときに１または複数の壁と衝突していると判定すると、動作３３５にて、モデルエンジン２４０は、オブジェクトがもはや壁とは衝突していないように、オブジェクトの配置を移動させてよい。さらに、いくつかの例としての実施形態では、モデルエンジン２４０は、配置分析エンジン２３０により提供された隅部データを用いて、オブジェクトの後部が壁に面するようにオブジェクトを回転させる。動作３４０では、レンダリングエンジン２５０は、部屋に編成されているようにオブジェクトの３Ｄモデルの写実的なレンダリング（例えば、２Ｄ画像）を生成する。例えば、いくつかの例としての実施形態に従って、レンダリングエンジン２５０は、編成されたオブジェクトの３Ｄモデルをレンダリングし、次いで部屋の２Ｄ画像上にオブジェクトの２Ｄレンダリングを重ねてよい。さらに、いくつかの例としての実施形態に従って、編成されたオブジェクトの３Ｄモデルは部屋の３Ｄモデルにおいてレンダリングされてよく、オブジェクトと部屋とは一緒にレンダリングされてよい。
【００２０】
図４は、いくつかの例としての実施形態に係る、部屋選択のために用いられる例としてのクライアントデバイス１１０を示す。図示されるように、クライアントデバイス１１０は、ユーザ１０６による選択用の複数の部屋４０５を描写するインタフェース４００を表示する。いくつかの例としての実施形態では、複数の部屋４０５は、第三者ユーザ（例えば、建築家、建設業者）によりアップロードされた部屋の２Ｄ描写であってよい。さらに、いくつかの例としての実施形態では、複数の部屋４０５は、３Ｄモデルから生成された２Ｄレンダリング（例えば、３Ｄ生成エンジン２１０により生成されたレンダリング）であってよい。図示されるように、ユーザ１０６（図示せず）は、選択ボックス４１０によって示されるように、インタフェース４００から第２の部屋「２Ｄ部屋２」を選択する。
【００２１】
図５は、いくつかの例としての実施形態に係る、オブジェクト配置命令を受信する例としてのクライアントデバイス１１０を示す。第２の部屋の選択に応じて、配置エンジン２６０は、第２の部屋５０５の一部を表示する配置インタフェース５０３を生成する。表示される部屋の部分では、部屋の壁５０７が部屋の床５１０と隅部５１５にて交わっており、窓５２０が壁５０７に組み込まれている。いくつかの例としての実施形態に従って、ユーザ１０６は、部屋のどの部分が表示されるかを、クライアントデバイス１１０のタッチスクリーンを直接通じて、左右にパンニングまたはズームインもしくはズームアウトすることによって、操作してよい。配置インタフェース５０３は、第２の部屋５０５に配置する選択肢として複数のオブジェクト５２０をさらに表示する。図示されるように、ユーザ１０６は、第２の部屋５０５における対象エリア５３０に対しオブジェクト３（“Ｏｂｊ．３”）のドラッグアンドドロップを行う。
【００２２】
図６は、いくつかの例としての実施形態に係る、３Ｄ部屋における３Ｄオブジェクトの編成を示す。ユーザ１０６が部屋の対象エリア５３０に対しオブジェクト３のドラッグアンドドロップを行うことに応じて、配置エンジン２６０は、インタフェースエンジン２５３を介して、第２の部屋５０５の２Ｄ描写内の対象エリア５３０の位置の指示を含む配置命令を送信する。サーバ側インタフェースエンジン２０５は、その配置命令を受信し、その配置命令を分析するために配置分析エンジン２３０に移送する。配置分析エンジン２３０は、配置命令を受信し、その命令を分析し、正確な配置パラメータ（例えば、部屋内の位置）を識別する。３Ｄ生成エンジン２１０は、部屋の３Ｄモデル６００を生成する。部屋の３Ｄモデル６００は、さらなるモデリングのために用いられることが可能な部屋の３次元モデルである。いくつかの例としての実施形態では、部屋の３Ｄモデルとしてコリジョンメッシュしか生成されない。コリジョンメッシュは、部屋の２Ｄ画像に位置整合されてよい（例えば、メッシュの角部を部屋の２Ｄ画像に描写される隅部に一致させる）。いくつかの例としての実施形態では、３Ｄモデルはパッケージ化されたファイルであり、そのファイルは、部屋の２Ｄ画像とその２Ｄ画像に位置整合された対応するコリジョンメッシュとを含む。このようにして、３Ｄモデルは、オブジェクトを部屋に編成するように、より効率的に用いられることが可能である。
【００２３】
いくつかの例としての実施形態では、部屋の３Ｄモデル６００は、部屋のレイアウトに応じて、壁（例えば、壁５０７）、床（例えば、床５１０、隅部５１５）、壁のフィーチャ（例えば、窓５２０）、光のユニット（例えば、天井灯６２５および６３０）、および他のオブジェクトのレイアウトを含む、部屋に関する完全な情報を含む。例えば、部屋の３Ｄモデル６００は、その部屋がリビングルームである場合、リビングルームの家具一式の３Ｄモデルをさらに含んでよい。
【００２４】
配置分析エンジン２３０は、オブジェクト３（６１０）の３Ｄモデルなどの選択されたオブジェクトの３Ｄモデルをさらに生成する。次いで、配置分析エンジン２３０は壁５０７を識別し、それに応じて、部屋に位置整合するようにオブジェクト３（６１０）の３Ｄモデルを回転させるように、モデルエンジン２４０に対し命令することが可能である。例えば、オブジェクト３が後側および前側を有するテーブルまたは椅子である場合、動作６１５において、オブジェクト３の後側が壁５０７に最近接するように、モデルエンジン２４０はオブジェクト３（６１０）の３Ｄモデルを回転させる。次に、モデルエンジン２４０は、オブジェクト３（６１０）の３Ｄモデルを対象エリア５３０に移動させることによって、オブジェクト３（６１０）の３Ｄモデルを配置してよい。次に、レンダリングエンジン２５０は、部屋の３Ｄモデル６００に配置されているようにオブジェクト３（６１０）の３Ｄモデルのレンダリングを生成する。このレンダリングは、図５に示される第２の部屋５０５の斜視である、仮想カメラ６５０の観察位置から生成される。ユーザ１０６は、仮想カメラ６５０の位置を、配置インタフェース５０３（図５）において一方の側からサイズにパンニングまたはズームインもしくはズームアウトすることによって、変更することが可能である。さらに、いくつかの例としての実施形態では、ユーザは、オブジェクトの３Ｄモデルを回転させること、拡大すること、または他の操作によって、その３Ｄモデルを操作することが可能である。例えば、ユーザは、オブジェクト３の３Ｄモデルを拡大するために、タッチパッドを通じてピンチして拡大するジェスチャを用いてよい。そのジェスチャに反応して、レンダリングエンジン２５０は、オブジェクト３の３Ｄモデルを拡大し、オブジェクト３のその３Ｄモデルを対象エリア５２５に重ねる。
【００２５】
オブジェクト３の３Ｄモデルの光の当たり方は、部屋の３Ｄモデルを用いて、より正確にモデリングされることが可能である。特に、部屋の３Ｄモデルにおける光源の位置および光の特性が作り出されるので、したがって、レンダリングエンジン２５０に知られる。部屋の３Ｄモデルと用いると、窓からの光、任意のユーザが形成した備品からの局所的な光、または推定される天井灯は、全方位の照明、およびパストレーシング、ラジオシティ、またはフォトンマッピングなどの光変換アルゴリズムを用いて推定されることが可能である。このようにして、光源自身からの直接的な光、および間接的な光（例えば、部屋における非光源オブジェクトから反射した光）も、より写実的にオブジェクトをレンダリングするように推定され用いられることが可能である。さらに、いくつかの例としての実施形態に従って、コースティクス、表面散乱、反射および他の態様などの他の光特性が、部屋の３Ｄモデルを用いて取得され推定されることが可能である。
【００２６】
この目的のため、部屋におけるオブジェクトをより正確にレンダリングするように、レンダリングエンジン２５０は窓５２０から生じる光、天井灯６２５、および天井灯６３０を考慮に入れる。平面シーンモデラシステムがオブジェクトのモデルを３次元において正確に位置整合するので、部屋の２Ｄ画像に対してオブジェクトの２Ｄ画像を歪めようとするのとは対照的に、オブジェクトのモデルは正確に位置整合される。さらに、上述の通り、材料および光がオブジェクトの材料特性および部屋の光源に従って３次元において生成されているので、オブジェクトはより現実的に見える。
【００２７】
図７は、いくつかの例としての実施形態に係る、部屋におけるオブジェクトのレンダリング７００を表示する、例としてのクライアントデバイス１１０を示す。レンダリングエンジン２５０が部屋の３Ｄモデルに編成されているオブジェクト６１０の３Ｄモデルのレンダリングを生成した後、サーバ側平面シーンモデラ１５０のインタフェースエンジン２０５は、クライアント側平面シーンモデラ１５１のインタフェースエンジン２５３に対しそのレンダリングを送信する。次いで、配置エンジン２６０によって、クライアントデバイス１１０が、ディスプレイ（例えば、図７におけるクライアントデバイス１１０の表示スクリーン）上にレンダリング７００を表示する。図示されるように、レンダリング７００は、配置インタフェース５０３（図５）の観察位置から、選択された部屋の一部を示す。さらに、レンダリング７００は、壁５０７に対向するオブジェクト７０５の後側が隅部５１５に平行となって床５１０上に正確に置いてあるように見える、オブジェクト７０５の２Ｄ版を示す。さらに、材料の特性およびシェーディング特性は描写されないが、当業者は、レンダリング７００が生成される時にレンダリングエンジン２５０がオブジェクトの材料およびテクスチャデータならびに部屋の光を用いるので、オブジェクト７０５の２Ｄ版がより正確な材料の特性およびシェーディング特性を表示することを認識する。
【００２８】
図８は、いくつかの例としての実施形態に係る、ネットワーク上の様々なコンピューティング・エンティティを用いて、より高次元を用いたエンハンスト画像を生成するための相互作用図８００を示す。動作８０５では、第三者ユーザ（例えば、建設業者、建築家）が、１または複数の部屋の２Ｄ描写をアップロードする。例えば、図示されるように、第三者ユーザは、第三者クライアントデバイス１３０を用いて、サーバ側平面シーンモデラ１５０に部屋の間取り図をアップロードしてよい。動作８１０では、３Ｄ生成エンジン２１０は、アップロードされた部屋の３Ｄモデル（例えば、３Ｄモデル６００）を生成する。動作８１５では、レンダリングエンジン２５０は、部屋の３Ｄモデルを用いて部屋の２Ｄ描写を生成する。例としての部屋の２Ｄ描写が、第２の部屋５０５の２Ｄ図として、図５に示される。
【００２９】
クライアント側平面シーンモデラ１５１のアプリケーションがクライアントデバイス１１０上において開始されると、配置エンジン２６０は、図４の部屋選択インタフェース内に表示するために利用可能な２Ｄ部屋をリクエストしてよい。さらに、オブジェクトエンジン２５５は、部屋に配置するための利用可能なオブジェクトをリクエストしてよい。動作８２０では、配置エンジン２６０は、部屋選択インタフェースを表示する。動作８２５では、配置エンジン２６０は、選択された部屋の対象エリアに配置されるオブジェクトを指定する配置命令を生成する。例えば、ユーザは部屋を選択し、次いで、配置命令を生成するようにその部屋のエリアにオブジェクトのドラッグアンドドロップを行ってよい。配置命令は、クライアント側平面シーンモデラ１５１のインタフェースエンジン２５３からサーバ側平面シーンモデラ１５０のインタフェースエンジン２０５に送信される。
【００３０】
動作８３０では、配置分析エンジン２３０は、対象エリアを、部屋の２Ｄ描写から部屋の３Ｄモデルへとマッピングする。いくつかの例としての実施形態では、配置分析エンジン２３０は、対象エリアの後方または最近接の任意の壁を識別し、配置されるオブジェクトが、後側が壁に対して最近接して壁に対向して配置されると推定する。動作８３５では、モデルエンジン２４０は、オブジェクトの３Ｄモデルと部屋の３Ｄモデルの壁および床との間の衝突を検出することによって、部屋内に置かれるオブジェクトについての適切な位置を決定する。例えば、オブジェクトおよび部屋の３Ｄモデルは異なるコリジョンメッシュを有してよい。モデルエンジン２４０は、コリジョンメッシュに従って、オブジェクトが部屋の床または壁と衝突するまで、観測者からさらに離れるように部屋内においてオブジェクトのモデルを移動させてよい。次いで、配置分析エンジン２３０は、そのオブジェクトの位置を、配置のための正確な位置として衝突直前に割り当てる。
【００３１】
いくつかの例としての実施形態では、動作８３０および３３５は、動作８１０（３Ｄ部屋の生成）の一部として完了していてよい。例えば、部屋の２Ｄ描写がユーザに表示されてよい。ユーザは２Ｄ描写上にアイテム（例えば、椅子の画像）のドラッグアンドドロップを行ってよく、そのドラッグアンドドロップに応じて、３Ｄ部屋が生成され（そうでない場合には、３Ｄ部屋がすでに作り出されたかアクセスされ）、またさらに対象エリアが識別され（動作８３０）衝突が判定される（動作８３５）。
【００３２】
続いて、動作８４０では、モデルエンジン２４０は、配置についての正確な位置（例えば、壁と衝突せずに壁に最近接、床と衝突せずに床に近接）に従って、部屋の３Ｄモデルにオブジェクトの３Ｄモデルを編成する。これに加えて、動作８４０では、モデルエンジン２４０は、オブジェクトの３Ｄモデルを回転させてよく、その結果、オブジェクトの後側が部屋の最近接の壁に最近接する。いくつかの実施形態では、オブジェクトが衝突の検出なく部屋に配置され、オブジェクトの配置のプレビューのレンダリングがクライアントデバイス１１０上に表示するために生成される。次いで、ユーザ１０６は、オブジェクトの配置を修正するように、回転、拡大縮小、または平行移動（Ｘ、Ｙ、Ｚ方向に沿った移動）を行ってよい。ユーザ１０６が修正を終えると、修正された対象位置は、サーバ側平面シーンモデラ１５０に送り返される。
【００３３】
動作８４５では、モデルエンジン２４０は、部屋におけるオブジェクトのレンダリングに使用するための仮想カメラの位置を決定する。例えば、ユーザ１０６は、配置インタフェースにおける部屋の視界を調節（例えば、第２の部屋５０５の異なるエリアにパンニングまたはズームインもしくはズームアウトすることによって視界を調節）してよい。いくつかの例としての実施形態に従って、モデルエンジン２４０は、仮想カメラの位置として調節された部屋の視界の位置を割り当てる。動作８５０では、レンダリングエンジン２５０は、部屋内の光源の位置および特性を決定する。例えば、動作８５０では、レンダリングエンジン２５０は、図６に示されるように、部屋の３Ｄモデル内の窓５２０、天井灯６２５、および天井灯６３０の位置を識別してよい。さらに、レンダリングエンジン２５０は、様々な光源から生じる光の特性を識別してよい。例えば、レンダリングエンジン２５０は、様々な光源の強度、スペクトル（例えば、色温度、色、波長）および分散パターン（例えば、点光源からの等方性、管状光源からの円筒性）を識別してよい。動作８５５では、レンダリングエンジン２５０は、部屋に編成されているように仮想カメラの観察位置からの３Ｄオブジェクトの２Ｄレンダリングを生成する。次いで、サーバ側平面シーンモデラ１５０のインタフェースエンジン２０５は、そのレンダリングをクライアント側平面シーンモデラ１５１のインタフェースエンジン２５３に送信する。動作８６０では、クライアントデバイス１１０は、部屋におけるオブジェクトの写実的な２Ｄレンダリングを表示する。
【００３４】
本明細書において、特定の実施形態は、ロジック、または複数のコンポーネント、モジュール、もしくは機構を含むものとして記載されている。モジュールは、ソフトウェアモジュール（例えば、機械可読媒体上に具現化されるコード）またはハードウェアモジュールのいずれかを構成することが可能である。「ハードウェアモジュール」は、特定の動作を実行することが可能な有形ユニットであり、何らかの物理的な形により構成または配置されることが可能である。様々な例としての実施形態では、１または複数のコンピュータシステム（例えば、スタンドアローンコンピュータシステム、クライアントコンピュータシステム、もしくはサーバコンピュータシステム）、またはコンピュータシステムの１または複数のハードウェアモジュール（例えば、プロセッサもしくはプロセッサ群）を、本明細書に記載される特定の動作を実行するように動作するハードウェアモジュールとして、ソフトウェア（例えば、アプリケーションもしくはアプリケーション部分）によって構成することが可能である。
【００３５】
いくつかの実施形態では、ハードウェアモジュールは、機械的に、電子的に、またはそれらの任意の適切な組み合わせにより実装されることが可能である。例えば、ハードウェアモジュールは、ある動作を実行するように永続的に構成された専用回路またはロジックを含み得る。例えば、ハードウェアモジュールは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または特定用途向け集積回路（ＡＳＩＣ）などの専用プロセッサとすることが可能である。また、ハードウェアモジュールは、特定の動作を実行するようにソフトウェアによって一時的に構成されたプログラマブルロジックまたは回路を含んでよい。例えば、ハードウェアモジュールは、汎用プロセッサまたは他のプログラマブルプロセッサによって実行されるソフトウェアを含み得る。ハードウェアモジュールは、そうしたソフトウェアによって構成されると、構成された機能を実行するように独自に調整された特有の機械（または機械の特有のコンポーネント）となり、もはや汎用プロセッサではなくなる。ハードウェアモジュールを機械的に実装するか、永続的に構成された専用回路に実装するか、または一時的に構成された（例えば、ソフトウェアにより構成された）回路に実装するかの決定は、コストおよび時間を考慮して行われ得ることが理解される。
【００３６】
従って、「ハードウェアモジュール」という表現は、何らかの形にて動作するように、または本明細書に記載の特定の動作を実行するように、物理的に構成されているか、永続的に構成（例えば、ハードワイヤード）されているか、または一時的に構成（例えば、プログラム）されている有形エンティティを包含するものと理解される。本明細書において使用されるとき、「ハードウェア実装モジュール」とは、ハードウェアモジュールを指す。ハードウェアモジュールが一時的に構成（例えば、プログラム）される実施形態を考えた場合、それらのハードウェアモジュールの各々は、任意の１つの時間インスタンスにて構成またはインスタンス化される必要はない。例えば、あるハードウェアモジュールが、専用プロセッサとなるようにソフトウェアによって構成される汎用プロセッサを含む場合、その汎用プロセッサは、その時々においてそれぞれ異なる専用プロセッサ（例えば、異なるハードウェアモジュールを含む）として構成されてよい。従って、ソフトウェアによって、ある特定の１または複数のプロセッサを、例えば、ある１つの時間インスタンスにおいては、ある特定のハードウェアモジュールとなり、異なる時間インスタンスにおいては異なるハードウェアモジュールとなるように、構成する。
【００３７】
ハードウェアモジュールは、他のハードウェアモジュールに情報を提供し、また他のハードウェアモジュールから情報を受け取ることが可能である。従って、記載されるハードウェアモジュールは、通信可能に結合されていると考えることができる。複数のハードウェアモジュールが同時に存在する場合には、それらのハードウェアモジュールの２つ以上の間において、信号伝送（例えば、適切な回路およびバスを介した）によって通信を達成することが可能である。複数のハードウェアモジュールが異なる時間に構成またはインスタンス化される実施形態では、そうしたハードウェアモジュール間の通信は、例えば、それら複数のハードウェアモジュールがアクセスできるメモリ構造における情報の記憶および取得によって達成され得る。例えば、ある１つのハードウェアモジュールは、ある動作を実行して、その動作の出力を、通信可能に結合されたメモリデバイスに保存することが可能である。次いで、さらなるハードウェアモジュールが後ほど、そのメモリデバイスにアクセスして、保存されている出力を取得して処理することができる。ハードウェアモジュールは、入力装置または出力装置との通信を開始することも可能であり、リソース（例えば、情報の集まり）上において動作することが可能である。
【００３８】
本明細書に記載される例としての方法の種々の動作は、関連動作を実行するように一時的に構成（例えば、ソフトウェアによって）または永続的に構成された１または複数のプロセッサによって、少なくとも部分的には実行されることが可能である。一時的に構成されるか永続的に構成されるかに関わらず、そうしたプロセッサは、本明細書に記載される１または複数の動作または機能を実行するように動作するプロセッサ実装モジュールを構成する。本明細書において使用されるとき、「プロセッサ実装モジュール」とは、１または複数のプロセッサを用いて実装されるハードウェアモジュールを指す。
【００３９】
同様に、本明細書に記載される方法は、ハードウェアの一例である特定の１または複数のプロセッサを用いて、少なくとも部分的にはプロセッサ実装が可能である。例えば、ある方法の動作の少なくともいくつかは、１または複数のプロセッサまたはプロセッサ実装モジュールによって実行されることができる。さらに、その１または複数のプロセッサは、「クラウドコンピューティング」環境における関連動作の実行、または「サービス型ソフトウェア」（ＳａａＳ）としての関連動作の実行をサポートするように動作してもよい。例えば、動作の少なくともいくつかは、それらの動作がネットワーク（例えば、インターネット）および１または複数の適切なインタフェース（例えば、ＡＰＩ）を介してアクセス可能なコンピュータ群（プロセッサを含む機械の例としての）によって実行されてよい。
【００４０】
それらの動作のうちのいくつかの実行は、その複数のプロセッサ間に分散させてよく、単一のマシン内に常駐するだけではなく、複数の機械間にデプロイされる。いくつかの例示的な実施形態では、それらのプロセッサまたはプロセッサ実装モジュールを、１つの地理的位置（例えば、家庭環境内、オフィス環境内、またはサーバファーム内）に配置することができる。他の例としての実施形態では、それらのプロセッサまたはプロセッサ実装モジュールを、複数の地理的位置に分散させる。
【００４１】
図１〜図８と併せて記載されたモジュール、方法、アプリケーションなどは、機械および関連するソフトウェアアーキテクチャの文脈におけるいくつかの実施形態において実装される。以下の節は、開示される実施形態とともに用いるのに適した、代表的なソフトウェアアーキテクチャおよび機械（例えば、ハードウェア）アーキテクチャを記載する。
【００４２】
図９は、いくつかの例示的な実施形態に係る、機械可読媒体（例えば、機械可読記憶媒体）から命令を読み出して、本明細書において説明された任意の１または複数の方法を実行することが可能な機械９００の構成要素を示すブロック図である。詳細には、図９は、コンピュータシステムの例としての形態における機械９００の概略図を示しており、このコンピュータシステムの中において、本明細書において説明された任意の１または複数の方法を機械９００に実施させるための命令９１６（例えば、ソフトウェア、プログラム、アプリケーション、アプレット、アプリ、または他の実行可能コード）が実行されることが可能である。例えば、命令９１６によって、図３および図８のフロー図を機械９００に実行させることが可能である。これに加えてまたはこれに代えて、命令９１６によって、図２Ａおよび図２Ｂのインタフェースエンジン２０５、３Ｄ生成エンジン２１０、検出エンジン２１５、配置分析エンジン２３０、モデルエンジン２４０、レンダリングエンジン２５０、インタフェースエンジン２５３、オブジェクトエンジン２５５、および配置エンジン２６０などを実装することができる。未プログラムの汎用機械を、命令９１６によって、記載および図示された機能を記載の形態で実行するようにプログラムされた特定の機械に変換する。代替的な実施形態では、機械９００は、スタンドアローンデバイスとして動作するか、または他の機械に結合（例えば、ネットワーク接続）されることが可能である。ネットワーク・デプロイメントでは、機械９００は、サーバ・クライアントネットワーク環境におけるサーバ機械もしくはクライアント機械として、またはピアツーピア（もしくは、分散）ネットワーク環境におけるピア機械として、動作してよい。機械９００として、限定するものではないが、サーバコンピュータ、クライアントコンピュータ、ＰＣ、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、セットトップボックス（ＳＴＢ）、ＰＤＡ、エンタテイメントメディアシステム、携帯電話機、スマートフォン、モバイルデバイス、ウェアラブルデバイス（例えば、スマートウォッチ）、スマートホームデバイス（例えば、スマートアプライアンス）、他のスマートデバイス、ウェブアプライアンス、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、または命令９１６を順次もしくは他の様式で実行することが可能な任意の機械を含むことが可能であり、それらの命令は、その機械９００により実行されるアクションを規定するものである。さらに、１つの機械９００しか図示されていないが、「機械」という用語は、本明細書において説明された任意の１または複数の方法を実行するための命令９１６を、個々にまたは連携して実行する機械群９００も含むものと解釈される。
【００４３】
機械９００は、プロセッサ９１０と、メモリ／ストレージ９３０と、Ｉ／Ｏコンポーネント９５０と、を備えることが可能であり、これらは、バス９０２を介するなどして相互に通信するように構成されることが可能である。例としての実施形態では、プロセッサ９１０（例えば、中央処理装置（ＣＰＵ）、縮小命令セットコンピューティング（ＲＩＳＣ）プロセッサ、複雑命令セットコンピューティング（ＣＩＳＣ）プロセッサ、グラフィックス処理装置（ＧＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、ＡＳＩＣ、無線周波数集積回路（ＲＦＩＣ）、別のプロセッサ、またはそれらの任意の適切な組み合わせ）は、例えば、命令９１６を実行し得るプロセッサ９１２およびプロセッサ９１４を含むことが可能である。「プロセッサ」という用語は、同時に命令を実行することが可能な２つ以上の独立なプロセッサ（「コア」と呼ばれることもある）を備え得るマルチコアプロセッサを含むことが意図される。図９は、複数のプロセッサ９１０を示しているが、機械９００は、シングルコアを有する単一のプロセッサ、複数のコアを有する単一のプロセッサ（例えば、マルチコアプロセッサ）、シングルコアを有する複数のプロセッサ、複数のコアを有する複数のプロセッサ、またはそれらの任意の組み合わせ、を備えてよい。
【００４４】
メモリ／ストレージ９３０は、メインメモリまたは他のメモリストレージなどのメモリ９３２と、ストレージユニット９３６と、を含むことが可能であり、これらは両方とも、バス９０２を介するなどしてプロセッサ９１０にアクセス可能である。ストレージユニット９３６およびメモリ９３２は、本明細書に記載される任意の１または複数の方法または機能を実施する命令９１６を記憶する。また、命令９１６は、完全にまたは部分的に、機械９００によるその命令の実行中に、メモリ９３２内、ストレージユニット９３６内、プロセッサ９１０のうちの１つ以上のプロセッサ内（例えば、そのプロセッサのキャッシュメモリ内）、またはそれらの任意の適切な組み合わせに、存在することも可能である。よって、メモリ９３２、ストレージユニット９３６、およびプロセッサ９１０のメモリは、機械可読媒体の例である。
【００４５】
本明細書において使用されるとき、「機械可読媒体」という用語は、命令およびデータを一時的または永続的に記憶することが可能なデバイスを意味し、限定するものではないが、ランダムアクセスメモリ（ＲＡＭ）、読出専用メモリ（ＲＯＭ）、バッファメモリ、フラッシュメモリ、光媒体、磁気媒体、キャッシュメモリ、他の種類のストレージ（例えば、消去可能プログラマブル読出専用メモリ（ＥＥＰＲＯＭ））、またはそれらの任意の適切な組み合わせを含んでよい。「機械可読媒体」という用語は、命令９１６を記憶することが可能な単一の媒体または複数の媒体（例えば、集中型もしくは分散型データベース、または関連付けられたキャッシュおよびサーバ）を含むものと解釈される。また、「機械可読媒体」という用語は、機械（例えば、機械９００）により実行するための命令（例えば、命令９１６）を記憶することが可能な任意の媒体または複数の媒体の組み合わせを含むものと解釈され、それらの命令は、その機械９００の１または複数のプロセッサ（例えば、プロセッサ９１０）による実行時、本明細書において記載される任意の１または複数の方法を機械９００に実行させるものである。従って、「機械可読媒体」とは、単一のストレージ装置またはデバイスを表すとともに、複数のストレージ装置またはデバイスを含む「クラウドベース」のストレージシステムまたはストレージネットワークをも表す。「機械可読媒体」という用語は、信号そのものは除外する。
【００４６】
Ｉ／Ｏコンポーネント９５０は、入力を受け取り、出力を提供し、出力を生成し、情報を送信し、情報を交換し、測定値を取得するなどのための多様なコンポーネントを含むことが可能である。特定のマシンに含まれる具体的なＩ／Ｏコンポーネント９５０は、機械の種類に依存する。例えば、携帯電話機のなどのポータブル機は、タッチ入力デバイスまたは他のそうした入力機構を備えることが多いが、一方でヘッドレスサーバ機械は、そうしたタッチ入力デバイスを備えないことが多い。Ｉ／Ｏコンポーネント９５０は、図９に示されない多くの他のコンポーネントを含み得ることが理解される。Ｉ／Ｏコンポーネント９５０は、単に以下の説明を簡単にするために、機能によってグループ分けされるが、このグループ分けは、限定するものでは全くない。様々な例としての実施形態では、Ｉ／Ｏコンポーネント９５０は、出力コンポーネント９５２と入力コンポーネント９５４とを含むことが可能である。出力コンポーネント９５２は、視覚コンポーネント（例えば、プラズマディスプレイパネル（ＰＤＰ）、発光ダイオード（ＬＥＤ）ディスプレイ、液晶ディスプレイ（ＬＣＤ）、プロジェクタ、またはブラウン管（ＣＲＴ）などのディスプレイ）、音響コンポーネント（例えば、スピーカ）、触覚コンポーネント（例えば、振動モータ、抵抗機構）、他の信号発生器などを含むことが可能である。入力コンポーネント９５４は、英数字入力コンポーネント（例えば、キーボード、英数字入力を受け取るように構成されたタッチスクリーン、光学キーボード、または他の英数字入力コンポーネント）、ポイント式入力コンポーネント（例えば、マウス、タッチパッド、トラックボール、ジョイスティック、モーションセンサ、または他のポインティング機器）、触覚入力コンポーネント（例えば、物理的ボタン、タッチまたはタッチジェスチャの位置および力を提供するタッチスクリーン、または他の触覚入力コンポーネント）、音響入力コンポーネント（例えば、マイクロフォン）などを含むことが可能である。
【００４７】
さらなる例としての実施形態では、Ｉ／Ｏコンポーネント９５０は、多様な他のコンポーネントの中でも特に、バイオメトリックコンポーネント９５６、モーションコンポーネント９５８、環境コンポーネント９６０、または位置コンポーネント９６２を含むことが可能である。例えば、バイオメトリックコンポーネント９５６は、表情（ｅｘｐｒｅｓｓｉｏｎｓ）（例えば、手の表情、顔の表情、声の表情、身ぶり、または目の動き）を検出するためのコンポーネント、生体信号（例えば、血圧、心拍数、体温、発汗、または脳波）を測定するためのコンポーネント、個人を識別するためのコンポーネント（例えば、音声識別、網膜識別、顔識別、指紋識別、または脳波による識別）などを含むことが可能である。モーションコンポーネント９５８は、加速度センサコンポーネント（例えば、加速度計）、重力センサコンポーネント、回転センサコンポーネント（例えば、ジャイロスコープ）などを含むことが可能である。環境コンポーネント９６０は、例えば、照度センサコンポーネント（例えば、光度計）、温度センサコンポーネント（例えば、周囲温度を検出する１または複数の温度計）、湿度センサコンポーネント、圧力センサコンポーネント（例えば、気圧計）、音響センサコンポーネント（例えば、背景ノイズを検出する１または複数のマイクロフォン）、近接センサコンポーネント（例えば、近くのオブジェクトを検出する赤外線センサ）、ガスセンサコンポーネント（例えば、機械嗅覚検出センサ、安全のために有害ガスの濃度を検出するガス検出センサ、もしくは大気中の汚染物質を測定するガス検出センサ）、または周囲の物理的環境に対応した指標、測定値、もしくは信号を提供し得る他のコンポーネントを含むことが可能である。位置コンポーネント９６２は、位置センサコンポーネント（例えば、ＧＰＳ受信機コンポーネント）、高度センサコンポーネント（例えば、高度計、または高度を導出できる気圧を検出する気圧計）、方位センサコンポーネント（例えば、磁力計）などを含むことが可能である。
【００４８】
通信は、多様な技術を用いて実装されることが可能である。Ｉ／Ｏコンポーネント９５０は、機械９００をネットワーク９８０またはデバイス９７０に、それぞれカップリング９８２およびカップリング９７２によって結合するように動作可能である通信コンポーネント９６４を含んでよい。例えば、通信コンポーネント９６４は、ネットワークインタフェースコンポーネント、またはネットワーク９８０にインタフェースする他の適切なデバイスを含む。さらなる例では、通信コンポーネント９６４は、有線通信コンポーネント、無線通信コンポーネント、セルラ通信コンポーネント、近距離無線通信（ＮＦＣ）コンポーネント、ＢＬＵＥＴＯＯＴＨ（登録商標）コンポーネント（例えば、ＢＬＵＥＴＯＯＴＨ（登録商標）ＬｏｗＥｎｅｒｇｙ）、ＷＩ−ＦＩ（登録商標）コンポーネント、および他の様式により通信を提供するための他の通信コンポーネントを含む。デバイス９７０は、別の機械、または多様な周辺デバイス（例えば、ユニバーサルシリアルバス（ＵＳＢ）によって結合される周辺デバイス）のいずれかであってよい。
【００４９】
さらに、通信コンポーネント９６４は、識別子を検出することができるか、または識別子を検出するように動作可能であるコンポーネントを含むことができる。例えば、通信コンポーネント９６４は、無線周波数識別（ＲＦＩＤ）タグ読取コンポーネント、ＮＦＣスマートタグ検出コンポーネント、光学読取コンポーネント（例えば、統一商品コード（ＵＰＣ）バーコードなどの一次元バーコード、クイックレスポンス（ＱＲ）コード、Ａｚｔｅｃコード、データマトリックス、データグリフ、マキシコード、ＰＤＦ４１７、ウルトラコード、ユニフォームコマーシャルコード省スペースシンボル（ＵＣＣ  ＲＳＳ）２Ｄバーコードなどの多次元バーコード、および他の光学コードを検出するための光学センサ）、音響検出コンポーネント（例えば、タグ付き音響信号を識別するためのマイクロフォン）、またはそれらの任意の適切な組み合わせを含むことが可能である。これに加えて、インタネットプロトコル（ＩＰ）ジオロケーションによる位置、ＷＩ−ＦＩ（登録商標）信号の三角測量による位置、特定の位置を示し得るＢＬＵＥＴＯＯＴＨ（登録商標）またはＮＦＣビーコン信号の検出による位置などの通信コンポーネント９６４によって様々な情報を導出することが可能である。
【００５０】
いくつかの例としての実施形態では、ネットワーク９８０の１または複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネット、インターネットの一部、ＰＳＴＮの一部、単純従来型電話サービス（ＰＯＴＳ）ネットワーク、セルラ電話ネットワーク、無線ネットワーク、ＷＩ−ＦＩ（登録商標）ネットワーク、別の種類のネットワーク、または２以上のそうしたネットワークの組み合わせ、であることが可能である。例えば、ネットワーク９８０またはネットワーク９８０の一部は、無線またはセルラネットワークを含んでよく、カップリング９８２は、符号分割多重アクセス（ＣＤＭＡ）接続、グローバル・システム・フォー・モバイル・コミュニケーションズ（ＧＳＭ）（登録商標）接続、または別の種類のセルラもしくは無線カップリングであってよい。本例では、カップリング９８２によって、シングルキャリア無線伝送技術（１ｘＲＴＴ）、エボリューションデータオプティマイズド（ＥＶＤＯ）技術、汎用パケット無線サービス（ＧＰＲＳ）技術、ＧＳＭエボリューション用エンハンストデータレート（ＥＤＧＥ）技術、さらに、３Ｇ、第４世代無線（４Ｇ）ネットワーク、ユニバーサル移動体通信システム（ＵＭＴＳ）、高速パケットアクセス（ＨＳＰＡ）、ワールドワイド・インタオペラビリティ・フォー・マイクロウェーブ・アクセス（ＷｉＭａｘ）、ロングタームエボリューション（ＬＴＥ）規格、様々な標準化団体によって規定された他の規格を含む第３世代パートナシッププロジェクト（３ＧＰＰ）、他の長距離プロトコル、または他のデータ転送技術などの、多様な種類のデータ転送技術のいずれかを実装することが可能である。
【００５１】
命令９１６は、ネットワークインタフェースデバイス（例えば、通信コンポーネント９６４に含まれるネットワークインタフェースコンポーネント）を介して、いくつかの周知の転送プロトコルのうちのいずれか１つ（例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ））を用いて、伝送媒体を用いたネットワーク９８０上で送信または受信することが可能である。同様に、命令９１６は、デバイス９７０へのカップリング９７２（例えば、ピアツーピアカップリング）によって、伝送媒体を用いて送信または受信することが可能である。「伝送媒体」という用語は、機械９００による実行のための命令９１６を記憶、符号化、または伝送することが可能な任意の無形媒体、およびそうしたソフトウェアの通信を容易とするデジタルもしくはアナログ通信信号または他の無形媒体を含むものと解釈される。
【００５２】
本明細書全体を通して、単一のインスタンスとして記載されているコンポーネント、動作、または構造は、複数のインスタンスにより実装されてよい。１または複数の方法の個々の動作を別々の動作として図示および記載しているが、それらの個々のオペレーションのうち１または複数を同時に実行してよく、それらの動作を図示された順序で実行する必要はない。例としての構成において別々のコンポーネントとして提示した構造および機能は、併合した構造またはコンポーネントとして実装されてよい。同様に、単一のコンポーネントとして提示した構造および機能は、別々のコンポーネントとして実装されてよい。これらおよび他の変形、変更、追加、および改良は、本明細書における主題の範囲内に含まれる。
【００５３】
本発明の主題の概要が、具体的な例としての実施形態を参照して記載されているが、これらの実施形態に対して、本開示の実施形態のより広い範囲から逸脱することなく、種々の変形および変更がなされてよい。本発明の主題のそうした実施形態を、本明細書においては、単に便宜上「発明」という用語で個称または総称することがあるが、複数の発明概念を実際に開示している場合に、本出願の範囲をいずれか１つの開示または発明概念に自ら限定するものではない。
【００５４】
本明細書において示されている実施形態は、開示した教示を当業者が実施することを可能とするのに十分に詳細に記載されている。本開示の範囲から逸脱することなく他の実施形態を用いてよく、他の実施形態から導出することにより、構造的および論理的置換および変更がなされてよい。従って、詳細な説明は、限定的な意味で解釈されるのではなく、種々の実施形態の範囲は、添付の請求項と、かかる請求項によって権利が与えられる均等物の全範囲とによってのみ規定される。
【００５５】
本明細書において使用するとき、「または」という用語は、包含的または排他的な意味のいずれかにより解釈され得る。さらに、単一のインスタンスとして本明細書に記載されているリソース、動作、または構造のために、複数のインスタンスを提供してよい。これに加えて、様々なリソース、動作、モジュール、エンジン、およびデータストアの間の境界は、ある程度任意であり、特定の動作は、詳細な例示的構成の文脈において示されている。機能の他の割り振りは、想定されるとともに、本開示の種々の実施形態の範囲内に含まれ得る。一般に、例としての構成において別々のリソースとして提示されている構造および機能は、併合した構造またはリソースとして実装されてよい。同様に、単一のリソースとして提示されている構造および機能は、別々のリソースとして実装されてよい。これらおよび他の変形、変更、追加、および改良は、添付の請求項により表される本開示の実施形態の範囲内に含まれる。従って、明細書および図面は、限定的な意味のものではなく、例示的なものとみなされる。
【００５６】
番号を付された以下の例は、実施形態である。
１．方法であって、クライアントデバイスに対し、部屋の２次元（２Ｄ）画像を送信する工程と、前記クライアントデバイスから、前記部屋の前記２Ｄ画像の指定のエリアにオブジェクトを配置するための配置命令を受信する工程であって、前記配置命令は前記オブジェクトの描写を用いて前記クライアントデバイス上において生成される、工程と、プロセッサを用いて、前記オブジェクトの３次元（３Ｄ）モデルを少なくとも部分的には前記指定のエリアと前記部屋の前記３Ｄモデルの床とに基づいて位置整合する工程と、前記部屋の前記３Ｄモデルに編成された前記オブジェクトの前記３Ｄモデルの２Ｄレンダリングを生成する工程と、前記クライアントデバイス上に前記２Ｄレンダリングの提示を行う工程と、を備える方法。
【００５７】
２．前記配置命令は、前記部屋の前記２Ｄ画像の前記指定のエリアに前記オブジェクトの前記描写のドラッグアンドドロップを行うことによって前記クライアントデバイス上において生成され、前記オブジェクトの前記描写は、前記オブジェクトの２Ｄ画像と前記オブジェクトの３Ｄモデルとのうちの少なくとも一方を含む、例１に記載の方法。
【００５８】
３．前記部屋の初期の２Ｄ画像を追加のクライアントデバイスから受信する工程と、前記部屋の前記初期の２Ｄ画像から前記部屋の前記３Ｄモデルを生成する工程と、をさらに備える、例１に記載の方法。
【００５９】
４．前記配置命令に従う前記指定のエリアにおける前記オブジェクトの配置によって前記オブジェクトの前記３Ｄモデルと前記部屋の前記３Ｄモデルの表面との間に衝突が生じるか否かを判定する工程をさらに備える、例１に記載の方法。
【００６０】
５．前記部屋の前記３Ｄモデルは、前記部屋の前記２Ｄ画像に位置整合されたコリジョンメッシュである、例４に記載の方法。
６．前記オブジェクトの前記３Ｄモデルは、さらに、少なくとも部分的には前記部屋の前記３Ｄモデルの壁の位置に基づいて前記部屋の前記３Ｄモデル内に位置整合されている、例１に記載の方法。
【００６１】
７．前記部屋の前記２Ｄ画像は、前記部屋の前記３Ｄモデル内の１つの位置における仮想カメラを用いて前記部屋の前記３Ｄモデルをレンダリングすることによって生成される、例１に記載の方法。
【００６２】
８．前記部屋の前記３Ｄモデルに編成されている前記オブジェクトの前記３Ｄモデルの前記２Ｄレンダリングは、前記位置における前記仮想カメラを用いて生成される、例７に記載の方法。
【００６３】
９．システムであって、機械の１または複数のプロセッサと、命令を含むメモリと、を備え、前記命令は、前記１または複数のプロセッサによる実行時、前記機械に、クライアントデバイスに対し、部屋の２次元（２Ｄ）画像を送信することと、前記クライアントデバイスから、前記部屋の前記２Ｄ画像の指定のエリアにオブジェクトを配置するための配置命令を受信することであって、前記配置命令は前記オブジェクトの描写を用いて前記クライアントデバイス上において生成される、ことと、プロセッサを用いて、前記オブジェクトの３次元（３Ｄ）モデルを少なくとも部分的には前記指定のエリアと前記部屋の前記３Ｄモデルの床とに基づいて前記部屋の前記３Ｄモデルに位置整合することと、前記部屋の前記３Ｄモデルに編成された前記オブジェクトの前記３Ｄモデルの２Ｄレンダリングを生成することと、前記クライアントデバイス上に前記２Ｄレンダリングの提示を行うことと、を含む動作を行わせる、システム。
【００６４】
１０．前記配置命令は、前記部屋の前記２Ｄ画像の前記指定のエリアに前記オブジェクトの前記描写のドラッグアンドドロップを行うことによって前記クライアントデバイス上において生成され、前記オブジェクトの前記描写は、前記オブジェクトの２Ｄ画像と前記オブジェクトの３Ｄモデルとのうちの少なくとも一方を含む、例９に記載のシステム。
【００６５】
１１．前記動作は、前記部屋の初期の２Ｄ画像を追加のクライアントデバイスから受信することと、前記部屋の前記初期の２Ｄ画像から前記部屋の前記３Ｄモデルを生成することと、をさらに含む、例９に記載のシステム。
【００６６】
１２．前記動作は、前記配置命令に従う前記指定のエリアにおける前記オブジェクトの配置によって前記オブジェクトの前記３Ｄモデルと前記部屋の前記３Ｄモデルの表面との間に衝突が生じるか否かを判定することをさらに含む、例９に記載のシステム。
【００６７】
１３．前記部屋の前記３Ｄモデルは、前記部屋の前記２Ｄ画像に位置整合されたコリジョンメッシュである、例１２に記載のシステム。
１４．前記オブジェクトの前記３Ｄモデルは、さらに、少なくとも部分的には前記部屋の前記３Ｄモデルの壁の位置に基づいて前記部屋の前記３Ｄモデル内に位置整合されている、例９に記載のシステム。
【００６８】
１５．前記部屋の前記２Ｄ画像は、前記部屋の前記３Ｄモデル内の１つの位置における仮想カメラを用いて前記部屋の前記３Ｄモデルをレンダリングすることによって生成される、例９に記載のシステム。
【００６９】
１６．前記部屋の前記３Ｄモデルに編成されている前記オブジェクトの前記３Ｄモデルの前記２Ｄレンダリングは、前記位置における前記仮想カメラを用いて生成される、例１５に記載のシステム。
【００７０】
１７．コンピュータ可読記憶媒体であって、デバイスの１または複数のプロセッサによる実行時、前記デバイスに、クライアントデバイスに対し、部屋の２次元（２Ｄ）画像を送信することと、前記クライアントデバイスから、前記部屋の前記２Ｄ画像の指定のエリアにオブジェクトを配置するための配置命令を受信することであって、前記配置命令は前記オブジェクトの描写を用いて前記クライアントデバイス上において生成される、ことと、プロセッサを用いて、前記オブジェクトの３次元（３Ｄ）モデルを少なくとも部分的には前記指定のエリアと前記部屋の前記３Ｄモデルの床とに基づいて前記部屋の前記３Ｄモデルに位置整合することと、前記部屋の前記３Ｄモデルに編成された前記オブジェクトの前記３Ｄモデルの２Ｄレンダリングを生成することと、前記クライアントデバイス上に前記２Ｄレンダリングの提示を行うことと、を含む動作を行わせる命令を含む、コンピュータ可読記憶媒体。
【００７１】
１８．前記動作は、前記配置命令に従う前記指定のエリアにおける前記オブジェクトの配置によって前記オブジェクトの前記３Ｄモデルと前記部屋の前記３Ｄモデルの表面との間に衝突が生じるか否かを判定することをさらに含む、例１７に記載のコンピュータ可読記憶媒体。
【００７２】
１９．前記部屋の前記３Ｄモデルは、前記部屋の前記２Ｄ画像に位置整合されたコリジョンメッシュである、例１８に記載のコンピュータ可読記憶媒体。
２０．前記部屋の前記２Ｄ画像は、前記部屋の前記３Ｄモデル内の１つの位置における仮想カメラを用いて前記部屋の前記３Ｄモデルをレンダリングすることによって生成され、前記オブジェクトの前記描写は、前記オブジェクトの２Ｄ画像と前記オブジェクトの３Ｄモデルとのうちの少なくとも一方を含む、例１７に記載のコンピュータ可読記憶媒体。
【図１】
2020510934.tif 000003
【図２Ａ】
2020510934.tif 000004
【図２Ｂ】
2020510934.tif 000005
【図３】
2020510934.tif 000006
【図４】
2020510934.tif 000007
【図５】
2020510934.tif 000008
【図６】
2020510934.tif 000009
【図７】
2020510934.tif 000010
【図８】
2020510934.tif 000011
【図９】
2020510934.tif 000012
【国際調査報告】
2020510934.tif 000013