(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-19
(45)【発行日】2024-07-29
(54)【発明の名称】環境内にコンテンツを投影するためのシステム及び方法
(51)【国際特許分類】
G06T 19/00 20110101AFI20240722BHJP
G06F 3/01 20060101ALI20240722BHJP
G06F 3/04815 20220101ALI20240722BHJP
【FI】
G06T19/00 600
G06F3/01 510
G06F3/04815
(21)【出願番号】P 2023501579
(86)(22)【出願日】2022-04-13
(86)【国際出願番号】 SG2022050214
(87)【国際公開番号】W WO2022235207
(87)【国際公開日】2022-11-10
【審査請求日】2023-01-11
(32)【優先日】2021-05-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521388058
【氏名又は名称】レモン インコーポレイテッド
【氏名又は名称原語表記】Lemon Inc.
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ハミルトン,フランク
(72)【発明者】
【氏名】キム,ファンギュ ショーン
(72)【発明者】
【氏名】ルー,ヂーシォン
(72)【発明者】
【氏名】リュ,チンヤン
(72)【発明者】
【氏名】ユー,ウェイシャン
(72)【発明者】
【氏名】マ,ベン
【審査官】中田 剛史
(56)【参考文献】
【文献】国際公開第2019/165044(WO,A1)
【文献】国際公開第2020/092195(WO,A1)
【文献】国際公開第2015/013347(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/01
G06F 3/04815
(57)【特許請求の範囲】
【請求項1】
コンピューティング装置の外部の被撮影環境内にコンテンツを配置するための方法であって、
コンテンツを受けることと、
前記コンピューティング装置の外部の前記被撮影環境に対応する奥行き情報を取得することと、
前記奥行き情報に基づいて前記コンテンツを前記被撮影環境内の位置に関連付ける指示を受けることと、
前記コンピューティング装置の外部の前記被撮影環境に対応する前記奥行き情報に基づいて前記コンテンツの少なくとも一部をワーピングすることと
、
前記被撮影環境に対応する前記奥行き情報が閾値より大きい信頼度スコアに関連付けられていると決定することと、
前記被撮影環境内の少なくとも1つの平面とマッチングするように前記コンテンツの少なくとも一部をワーピングすることと、
を含む方法。
【請求項2】
前記コンピューティング装置の外部の前記被撮影環境のビデオまたは画像コンテンツのうちの少なくとも1つを獲得することをさらに含み、前記ビデオまたは画像コンテンツのうちの前記少なくとも1つは、前記コンテンツの前記ワーピングされた一部を含む
請求項1に記載の方法。
【請求項3】
第2のコンテンツを受けることと、
前記コンピューティング装置の外部の前記被撮影環境に対応する第2の奥行き情報を取得することと、
前記第2の奥行き情報に基づいて前記第2のコンテンツを前記被撮影環境内の第2の位置に関連付ける第2の指示を受けることと、
前記コンピューティング装置の外部の前記被撮影環境に対応する前記第2の奥行き情報に基づいて前記第2のコンテンツの少なくとも一部をワーピングすることと
をさらに含み、
前記コンピューティング装置の外部の前記被撮影環境のビデオまたは画像コンテンツのうちの前記少なくとも1つは、前記コンテンツの前記ワーピングされた一部と、前記第2のコンテンツの前記ワーピングされた一部とを含む
請求項2に記載の方法。
【請求項4】
前記コンテンツは、複数のビデオフレームを含むビデオコンテンツを含み、前記複数のビデオフレームは、前記コンピューティング装置の外部の前記被撮影環境のビデオまたは画像コンテンツのうちの前記少なくとも1つにおいて表示される
請求項2に記載の方法。
【請求項5】
前記奥行き情報は、前記コンピューティング装置の画像センサによって獲得された複数の画像から取得される
請求項1に記載の方法。
【請求項6】
前記被撮影環境に対応する前記奥行き情報が閾値未満の信頼度スコアに関連付けられていると決定することと、
前記被撮影環境内の前記位置において前記コンテンツを表示することと、
をさらに含む請求項1に記載の方法。
【請求項7】
入力情報に応じて第2のコンテンツを受けることと、
前記コンピューティング装置の外部の前記被撮影環境に対応する第2の奥行き情報を取得することと、
前記被撮影環境に対応する前記第2の奥行き情報が閾値未満の信頼度スコアに関連付けられていると決定することと、
前記第2の奥行き情報に基づいて前記第2のコンテンツを前記被撮影環境内の第2の位置に関連付ける第2の指示を受けることと、
前記被撮影環境内の前記第2の位置において前記第2のコンテンツを表示することと、
をさらに含む請求項1に記載の方法。
【請求項8】
前記被撮影環境に対応する前記第2の奥行き情報が閾値より大きい信頼度スコアに関連付けられていると決定することと、
前記第2の奥行き情報に基づいて前記第2のコンテンツを前記被撮影環境内の第2の位置に関連付ける前記第2の指示を受けることと、
前記被撮影環境内の少なくとも1つの平面とマッチングするように前記第2のコンテンツの少なくとも一部をワーピングすることと、
をさらに含む請求項
7に記載の方法。
【請求項9】
前記コンテンツをワーピングする前に、前記コンテンツ内のエンティティを前記コンテンツの背景から分離することによって、または前記コンテンツの一部の背景色を修正することによって、前記コンテンツを修正することをさらに含む
請求項1に記載の方法。
【請求項10】
前記奥行き情報は奥行きマップ画像を含み、前記方法は、
前記コンテンツを前記被撮影環境内の前記位置に関連付ける指示を受けた場合、前記奥行き情報から前記奥行きマップ画像を保存することをさらに含む
請求項1に記載の方法。
【請求項11】
コンピューティング装置の外部の被撮影環境内にコンテンツを配置するように設定されるシステムであって、
プロセッサと、指令を含むメモリと、を備え
前記指令が前記プロセッサにより実行されるときに、前記プロセッサに、
コンテンツを受けさせ、
前記コンピューティング装置の外部の前記被撮影環境に対応する奥行き情報を取得させ、
前記奥行き情報に基づいて前記コンテンツを前記被撮影環境内の位置に関連付ける指示を受けさせ、
前記コンピューティング装置の外部の前記被撮影環境に対応する前記奥行き情報に基づいて前記コンテンツの少なくとも一部をワーピングさせ
、
前記被撮影環境に対応する前記奥行き情報が閾値より大きい信頼度スコアに関連付けられていると決定させ、
前記被撮影環境内の少なくとも1つの平面とマッチングするように前記コンテンツの少なくとも一部をワーピングさせる、
システム。
【請求項12】
前記指令が前記プロセッサにより実行されるときに、前記プロセッサに、
前記コンピューティング装置の外部の前記被撮影環境のビデオまたは画像コンテンツのうちの少なくとも1つを獲得させ、前記ビデオまたは画像コンテンツのうちの前記少なくとも1つは、前記コンテンツの前記ワーピングされた一部を含む
請求項
11に記載のシステム。
【請求項13】
前記指令が前記プロセッサにより実行されるときに、前記プロセッサに、
第2のコンテンツを受けさせ、
前記コンピューティング装置の外部の前記被撮影環境に対応する第2の奥行き情報を取得させ、
前記第2の奥行き情報に基づいて前記第2のコンテンツを前記被撮影環境内の第2の位置に関連付ける第2の指示を受けさせ、
前記コンピューティング装置の外部の前記被撮影環境に対応する前記第2の奥行き情報に基づいて前記第2のコンテンツの少なくとも一部をワーピングさせ、
前記コンピューティング装置の外部の前記被撮影環境のビデオまたは画像コンテンツのうちの前記少なくとも1つは、前記コンテンツの前記ワーピングされた一部と、前記第2のコンテンツの前記ワーピングされた一部とを含む
請求項
12に記載のシステム。
【請求項14】
前記コンテンツは、複数のビデオフレームを含むビデオコンテンツを含み、前記複数のビデオフレームは、前記コンピューティング装置の外部の前記被撮影環境のビデオまたは画像コンテンツのうちの前記少なくとも1つにおいて表示される
請求項
12に記載のシステム。
【請求項15】
前記指令が前記プロセッサにより実行されるときに、前記プロセッサに、前記コンテンツを前記被撮影環境内の前記位置に関連付ける指示を受けた場合、対応する前記奥行き情報を保存させる
請求項
11に記載のシステム。
【請求項16】
プロセッサにより実行されるときに、前記プロセッサに、
コンテンツを受けさせ、
コンピューティング装置の外部の被撮影環境に対応する奥行き情報を取得させ、
前記奥行き情報に基づいて前記コンテンツを前記被撮影環境内の位置に関連付ける指示を受けさせ、
前記コンピューティング装置の外部の前記被撮影環境に対応する前記奥行き情報に基づいて前記コンテンツの少なくとも一部をワーピングさせ
、
前記被撮影環境に対応する前記奥行き情報が閾値より大きい信頼度スコアに関連付けられていると決定させ、
前記被撮影環境内の少なくとも1つの平面とマッチングするように前記コンテンツの少なくとも一部をワーピングさせる
指令を含むコンピュータ可読記憶媒体。
【請求項17】
前記指令がプロセッサにより実行されるときに、前記プロセッサに、
前記コンピューティング装置の外部の前記被撮影環境のビデオまたは画像コンテンツのうちの少なくとも1つを獲得させ、前記ビデオまたは画像コンテンツのうちの前記少なくとも1つは、前記コンテンツの前記ワーピングされた一部を含む
請求項
16に記載のコンピュータ可読記憶媒体。
【請求項18】
前記指令が前記プロセッサにより実行されるときに、前記プロセッサに、
第2のコンテンツを受けさせ、
前記コンピューティング装置の外部の前記被撮影環境に対応する第2の奥行き情報を取得させ、
前記第2の奥行き情報に基づいて前記第2のコンテンツを前記被撮影環境内の第2の位置に関連付ける第2の指示を受けさせ、
前記コンピューティング装置の外部の前記被撮影環境に対応する前記第2の奥行き情報に基づいて前記第2のコンテンツの少なくとも一部をワーピングさせ、
前記コンピューティング装置の外部の前記被撮影環境のビデオまたは画像コンテンツのうちの前記少なくとも1つは、前記コンテンツの前記ワーピングされた一部と、前記第2のコンテンツの前記ワーピングされた一部とを含む
請求項
17に記載のコンピュータ可読記憶媒体。
【請求項19】
前記コンテンツは、複数のビデオフレームを含むビデオコンテンツを含み、前記複数のビデオフレームは、前記コンピューティング装置の外部の前記被撮影環境のビデオまたは画像コンテンツのうちの前記少なくとも1つにおいて表示される
請求項
16に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
拡張現実は、ユーザー、特にスマートフォン装置のユーザーに、参加型コンテンツや効果を発展させる数多くの機会を提供している。例において、翻訳サービス、デザイン視覚化サービス、および他の情報サービスは、この方法でなければ容易には入手できない、またはユーザーが入手するために多大な努力を要する情報をユーザーに提供することができる。例えば、外国語のメニューを読みたいユーザーは、言語翻訳アプリケーションを容易にダウンロードして使用することで、リアルタイムでメニューを翻訳することができる。また、ユーザーは、椅子を物理的に獲得することなく、椅子の2次元画像を例えば部屋の画像内に配置することで、椅子が自分の部屋でどのように見えるかを視覚化することができる。さらに、エンターテイメントアプリケーションにも、同様に、ユーザー体験及び/又はアプリケーションの全体的な使用状況を向上させる手段として拡張現実が含まれている。
【0002】
これらおよび他の一般的な考慮に関連して実施形態を説明する。比較的具体的な問題を討議していくが、本明細書で説明される例は、上記の背景技術において特定された具体的な問題の解決に限定されるべきではないことを、理解すべきである。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の例によれば、コンピューティング装置の撮影装置によって撮影されたユーザーの世界内に、ユーザーによって提供されたコンテンツを配置するためのシステムおよび方法を説明する。より具体的には、コンピューティング装置がアクセス可能なコンテンツを受け、当該コンピューティング装置の外部環境に対応する奥行き情報を取得する。選択されたコンテンツを当該奥行き情報に基づいて位置に関連付ける指示をユーザーから受ける。当該位置における奥行き画像に関連付けられた少なくとも1つの平面についての情報を取得し、そして、コンテンツの一部を、当該少なくとも1つの平面とマッチングするようにワーピングする。
【0004】
本開示の例によれば、コンピューティング装置の外部の被撮影環境内にコンテンツを配置するための方法が説明される。この方法は、コンテンツを受けることと、当該コンピューティング装置の外部の当該被撮影環境に対応する奥行き情報を取得することと、当該奥行き情報に基づいて当該コンテンツを当該被撮影環境内の位置に関連付ける指示を受けることと、当該コンピューティング装置の外部の当該被撮影環境に対応する当該奥行き情報に基づいて当該コンテンツの少なくとも一部をワーピングすることとを含むことができる。
【0005】
本開示の例によれば、コンピューティング装置の外部の被撮影環境内にコンテンツを配置するように設定されるシステムが説明される。当該システムは、プロセッサと、指令を含むメモリとを備えることができ、当該指令が当該プロセッサにより実行されるときに、当該プロセッサに、コンテンツを受けさせ、当該コンピューティング装置の外部の当該被撮影環境に対応する奥行き情報を取得させ、当該奥行き情報に基づいて当該コンテンツを当該被撮影環境内の位置に関連付ける指示を受けさせ、当該コンピューティング装置の外部の当該被撮影環境に対応する当該奥行き情報に基づいて当該コンテンツの少なくとも一部をワーピングさせる。
【0006】
本開示の例によれば、コンピュータ可読記憶媒体が説明される。当該コンピュータ可読記憶媒体は指令を含むことができ、当該指令がプロセッサにより実行されるときに、当該プロセッサに、コンテンツを受けさせ、当該コンピューティング装置の外部の当該被撮影環境に対応する奥行き情報を取得させ、当該奥行き情報に基づいて、選択したコンテンツを当該被撮影環境内の位置に関連付ける指示を受けさせ、当該コンピューティング装置の外部の当該被撮影環境に対応する当該奥行き情報に基づいて当該コンテンツの少なくとも一部をワーピングさせる。
【0007】
本概要は、以下の発明を実施するための形態でさらに説明される構想の抜粋を簡略化された形で紹介するために提供されるものである。本概要は、特許請求される主題事項の主要特徴又は基本特徴を識別することを目的とするものでもなければ、特許請求される主題事項の範囲を限定することを目的とするものでもない。
【図面の簡単な説明】
【0008】
以下の図面を参照して、非限定的および非網羅的な例を説明する。
【0009】
【
図1】本開示の例にかかる、拡張現実ユーザインターフェースを通して見られるユーザー環境またはユーザー世界内に、コンテンツなどのコンテンツを配置する能力をユーザーに提供する例示的なシステムを示す図である。
【0010】
【
図2A】本開示の例にかかる、コンテンツを配置するための例示的なユーザインターフェースを示す図である。
【
図2B】本開示の例にかかる、コンテンツを配置するための例示的なユーザインターフェースを示す図である。
【
図2C】本開示の例にかかる、コンテンツを配置するための例示的なユーザインターフェースを示す図である。
【
図2D】本開示の例にかかる、コンテンツを配置するための例示的なユーザインターフェースを示す図である。
【
図2E】本開示の例にかかる、コンテンツを配置するための例示的なユーザインターフェースを示す図である。
【
図2F】本開示の例にかかる、コンテンツを配置するための例示的なユーザインターフェースを示す図である。
【
図2G】本開示の例にかかる、コンテンツを配置するための例示的なユーザインターフェースを示す図である。
【0011】
【
図3A】本開示の例にかかる、奥行き情報の獲得に関する詳細を示す図である。
【
図3B】本開示の例にかかる、奥行き情報の獲得に関する詳細を示す図である。
【0012】
【
図4】は本開示の例にかかる、コンテンツの配置に関する詳細を示す。
【0013】
【
図5A】本開示の例にかかる、データ構造の詳細を示す図である。
【
図5B】本開示の例にかかる、データ構造の詳細を示す図である。
【0014】
【
図6】は本開示の例にかかる、コンテンツを配置するための追加の詳細を示す。
【0015】
【
図7】本開示の例にかかる、例示的なシステムを示す図である。
【0016】
【
図8】本開示の例にかかる、ユーザーの世界にコンテンツを配置するための方法の詳細を示す図である。
【0017】
【
図9】本開示の例にかかる、ユーザーの世界にコンテンツを配置してビデオを獲得するための方法の詳細を示す図である。
【0018】
【
図10】本開示の態様が実施可能なコンピューティング装置の物理的コンポーネント(例えば、ハードウェア)を示すブロック図である。
【0019】
【
図11A】本開示の実施形態が実施可能なモバイルコンピューティング装置を示す図である。
【
図11B】本開示の実施形態が実施可能なモバイルコンピューティング装置を示す図である。
【0020】
【
図12】データを処理するためのシステムのアーキテクチャの一態様を示す図である。
【発明を実施するための形態】
【0021】
以下の詳細な説明では、本明細書の一部を構成し、且つ特定の実施形態又は例を図示により示した添付図面を参照する。本開示から逸脱することなく、これらの態様を組み合わせたり、他の態様を利用したり、構造変更を行ったりすることができる。実施形態は、方法、システム、または装置として実施することができる。したがって、実施形態は、ハードウェア実現、完全なソフトウェア実現、またはソフトウェアおよびハードウェアの態様を組み合わせた実現の形態をとることができる。したがって、以下の詳細な説明は限定的であると理解されるべきではなく、本開示の範囲は、添付の特許請求の範囲およびその均等物によって限定されるものである。
【0022】
図1は本開示の例にかかる、拡張現実ユーザインターフェースを通して見られるユーザー環境またはユーザー世界106内に、コンテンツ112などのコンテンツ104を配置する能力をユーザー102に提供する例示的なシステム100を示す図である。コンテンツ104は、テキスト、オーディオ、1つまたは複数の画像、1つまたは複数のアニメーション、および1つまたは複数のビデオを含んでよいが、これらに限らない。拡張現実ユーザインターフェースまたはディスプレイは、コンピューティング装置108に常駐する、または少なくとも部分的にコンピューティング装置108で実行するアプリケーション110によって生成することができる。一例において、ユーザー102は、コンピューティング装置108によってキャプチャされた自分の世界内にコンテンツ104を配置することを望む可能性がある。別の例において、コンテンツ104は、アプリケーション110によって提供されるコンテンツであってもよく、したがって、ユーザー102は、所望のコンテンツ104を選択して、例えばコンピューティング装置108にインストールされたアプリケーション110によって、そのようなコンテンツを事前セットされるものとして自分の世界内に配置することができる。別の実施形態において、コンテンツ104は、コンピューティング装置108によってリアルタイムでキャプチャされたコンテンツであってもよい。例えば、ユーザー102は、コンピューティング装置108によってキャプチャされ、視覚化された自分の環境内に、コンテンツ112をアップロード、選択、またはキャプチャすることを望む可能性がある。ユーザー102は、例示的なユーザインターフェース120に示されているように、コンテンツ112をアップロード、選択、またはキャプチャし、コンテンツ112を配置することができる。
【0023】
第1のコンテンツ112Aは、環境または世界106の一部であるように見えるような仕方である位置に配置される。したがって、コンピューティング装置108のユーザインターフェースにおいて第1のコンテンツ112Aが見えなくなるようにユーザーがコンピューティング装置108を移動する場合、ユーザーが第1のコンテンツ112Aの配置された位置に戻ると、第1のコンテンツ112Aが見えるようになる。さらに、環境または世界106内に配置されているように見える第1のコンテンツ112Aは、環境または世界106内の異なる角度または位置から見ることができる。例えば、ユーザーがコンピューティング装置108を移動する場合、アプリケーション110によって獲得される画像またはビデオは、第1のコンテンツ112Aが環境または世界106に配置されたときとは異なる角度から第1のコンテンツ112Aを示すことができる。別の例として、ユーザーがコンピューティング装置108を移動する場合、アプリケーション110によって獲得される画像またはビデオは、第1のコンテンツ112Aが環境または世界106に配置されたときのコンピューティング装置108の位置とは異なる位置から第1のコンテンツ112Aを示すことができる。
【0024】
さらに、コンテンツ104は、環境または世界106の表面上に投影されているように見えることができる。例えば、第1のコンテンツ112Aは、ユーザインターフェース120に描画された柵表面上に投影されているように見える。いくつかの例において、コンテンツ104は、2つ以上の表面または平面上に配置することができる。したがって、
図1に示すように、コンテンツ104は、二つの表面または平面に配置することができる。より具体的には、
図1に示すように、コンテンツ104に対応する第2のコンテンツ112Bは、コーナー上に投影されていると見えるように配置することができる。第2のコンテンツ112Bは、第1のコンテンツ112Aのコピーであってもよい。第2のコンテンツ112Bは、第1のコンテンツ112Aとは異なる画像またはビデオであってもよい。言い換えれば、アプリケーション110によって提供されるユーザインターフェースにより獲得された画像またはビデオを見ると、第2のコンテンツ112Bの少なくとも一部は、第2のコンテンツ112Bの別の異なる部分が配置される表面とは異なる表面に配置されるように見える。一例において、コンテンツ112などのコンテンツ104が配置されると、ユーザーは、配置されたコンテンツとのインタラクションを記録することができる。
【0025】
ユーザー102は、環境または世界106に関連付けられる奥行き情報を取得し、コンテンツ112を環境または世界内の位置に配置または付けることができ、このような位置は、取得された奥行き情報に基づく。例えば、奥行き情報は、LiDAR、構造光(ストラクチャードライト)、または他のセンサなど、複数のセンサに基づいて取得することができる。一実施形態において、奥行き情報は、コンピューティング装置108の画像センサによって獲得された環境または世界106の複数の画像に基づいて取得されてもよい。奥行き情報は、奥行きマップとして存在することができ、ユーザー102の環境または世界106内に位置し、コンピューティング装置108の画像センサによって画像が獲得されたオブジェクト、表面などについての距離情報を提供することができる。ユーザーがコンテンツ112を配置する場所を決定すると、ユーザーは、追加のコンテンツ112を配置し、且つ/または、配置されたコンテンツ112を含むユーザーの環境または世界106のビデオまたは画像のキャプチャを開始することができる。ユーザーの環境または世界106のキャプチャされたビデオは、その後、配置されたコンテンツ112とともに、ネットワーク環境105を介してビデオフレーム122としてビデオホスティングプラットフォーム114に提供されることができる。一例において、別のコンピューティング装置124は、ビデオフレーム122にアクセスし、視聴することができる。例えば、ネットワーク環境105は、LTEまたは5Gのような無線アクセスネットワーク、ローカルエリアネットワーク(LAN)、インターネットのような広域ネットワーク(WAN)、または無線LAN(WLAN)であってもよい。これは限定することを意図しているわけではなく、本開示の範囲は、コンピューティング装置108及び/又はコンピューティング装置124とビデオホスティングプラットフォーム114とを、何らかの他の通信結合を介して動作可能にリンクすることができる実現を含むことを、理解すべきである。コンピューティング装置108及び/又はコンピューティング装置124は、無線接続または有線接続を介してネットワーク環境105と通信するように構成されてもよい。さらに、一例において、コンピューティング装置108及び/又はコンピューティング装置124は、無線接続または有線接続を介して互いに直接通信するように構成されてもよい。
【0026】
図2A~
図2Gは本開示の例にかかる、コンテンツを配置するための例示的なユーザインターフェース202を示す図である。
図2Aに示すように、コンピューティング装置108(
図1)などのコンピューティング装置において表示されるユーザインターフェース202は、コンピューティング装置108の画像センサによって撮影された第1の画像204を描画することができる。第1のユーザーコントロール206は、ビデオまたは画像などのコンテンツを選択するようにユーザーに促すことができる。一例において、コンピューティング装置がアクセス可能なコンテンツに関連付けられたアイコンをアイコン208として表示することができる。一例において、アイコンは、それぞれ表示されたビデオまたは画像の1つまたは複数のシーンを表すことができる。ユーザーは、コンピューティング装置の画像センサから見たユーザーの環境または世界内に含めようとする所望のビデオまたは画像に関連付けられたアイコン210を選択することができる。
【0027】
図2Aは、例示的な例にすぎない。他の例において、コンピューティング装置108(
図1)などのコンピューティング装置において表示されるユーザインターフェース202は、コンピューティング装置108の画像センサによって撮影された第1の画像204を描画することができる。別のアイコン(
図2Aに図示せず)は、ビデオまたは画像などのコンテンツをキャプチャするようにユーザーに促すことができる。したがって、キャプチャされたビデオまたは画像を、コンピューティング装置の画像センサから見たユーザーの環境または世界内に含めることができる。
【0028】
図2Bに示すように、コンピューティング装置108(
図1)などのコンピューティング装置において表示されるユーザインターフェース202は、コンピューティング装置の画像センサによって撮影された第2の画像212を描画することができる。第2の画像212は、第1の画像204と同じシーンであるが、異なる視点からのものであってもよい。ユーザインターフェース202は、ユーザインターフェース上にプロンプト214を表示することによって、コンピューティング装置をあちこち移動して奥行き情報を獲得するようにユーザーに指示することができる。例えば、プロンプト214は、コンピューティング装置のディスプレイにおいて表示されてもよい。プロンプト214は、電話を持っている手を描く画像216と、奥行き情報集めの状態を示すリング218と、ユーザーの動作を提示するテキスト220とを含むことができる。プロンプト214は、例示的な目的のためのものであり、他のタイプのプロンプトを使用してもよいが、本開示は、いかなる特定のプロンプトにも限定されない。
図2Cに示すように、コンピューティング装置108(
図1)などのコンピューティング装置において表示されるユーザインターフェース202は、コンピューティング装置の画像センサによって撮影された第3の画像222を描画することができる。第3の画像222は、第1の画像204および第2の画像212と同じシーンであるが、異なる視点からのものであってもよい。ユーザインターフェース202は、奥行き情報集めの状態を示すリング218を完了したように描画することができる。これにより、
図2Dに描かれたユーザインターフェース202を表示することができる。
【0029】
図2Dに示すように、コンピューティング装置108(
図1)などのコンピューティング装置において表示されるユーザインターフェース202は、コンピューティング装置の画像センサによって撮影された第4の画像226を描画することができる。第4の画像226は、第1の画像204、第2の画像212および第3の画像222と同じシーンであるが、異なる視点からのものであってもよい。ユーザインターフェース202は、
図2Aにおいて選択された、またはコンピューティング装置によってリアルタイムでキャプチャされたコンテンツを表示することができる。例えば、ビデオまたは画像を示すことができるコンテンツ231を表示してもよい。ユーザインターフェース202は、コンテンツ231を配置することをユーザーに示唆するプロンプト230をさらに含むことができる。例において、ユーザーは、柵229の第1の側と、柵233の第2の側とのコーナーにコンテンツ231を配置することを望む可能性がある。したがって、コンテンツ231は、第4の画像226に描かれた二つ以上の表面または平面上に配置することができる。
図2Dのユーザインターフェース202に描かれるように、コンテンツ231は、第4の画像226内に描かれた環境または世界内の二つ以上の表面上に投影されているように見える。コンテンツ231が二つ以上の表面上に投影されている様子についてユーザーが満足すると、ユーザーはコントロール232を選択して、コンテンツ231をコンテンツ231の描画位置に対応する座標位置に関連付けることができる。例えば、座標位置は、加速度計または他の位置センサと、奥行き情報(例えば、奥行きマップ)によって提供される推定奥行きとに基づいて、X座標およびY座標を特定することができる。奥行きマップはZ座標を提供することもできる。コンテンツ231と、コンテンツ231の描画位置に対応する座標位置とを関連付けることに加えて、描画されたコンテンツ231によって使用される奥行きマップなどの奥行き情報を保存して当該座標位置及びコンテンツ231とに関連付けてもよい。
【0030】
図2Eに示すように、コンピューティング装置108(
図1)などのコンピューティング装置において表示されるユーザインターフェース202は、コンピューティング装置の画像センサによって撮影された第5の画像234を描画することができる。第5の画像234は、第1の画像204、第2の画像212、第3の画像222および第4の画像226と同じシーンであるが、異なる視点からのものであってもよい。一例において、異なる視点は、シーンの異なるビュー及び/又は以前のシーンに近接しているかまたは隣接しているシーンを撮影するように、コンピューティング装置が移動または他の方式により調整されることに起因する。ユーザインターフェース202は、
図2Aにおいて選択された、またはコンピューティング装置によってキャプチャされたコンテンツ236をリアルタイムで表示することができる。すなわち、ユーザーは、
図2Aで選択された、またはコンピューティング装置によってリアルタイムでキャプチャされたコンテンツの別のコピーを環境または世界内に配置することを望む可能性がある。代替として、または追加として、コンテンツ236は、以前に配置されたコンテンツ231とは異なるコンテンツであってもよい。例えば、コンテンツ231は、第1のコンテンツとして時計の画像またはビデオを表示することができる一方、コンテンツ236は、第2の異なるコンテンツとして異なる画像またはビデオを表示することができる。コンテンツ236は、第5の画像234内に表示されてもよいが、コンテンツ236はビデオまたは画像を示すことができる。ユーザインターフェース202は、コンテンツ236を配置することをユーザーに示唆するプロンプト230をさらに含むことができる。例において、ユーザーは、柵238上にコンテンツ236を配置することを望む可能性がある。したがって、コンテンツ236を単一の表面または平面上に配置することができる。代替として、または追加として、コンテンツ236を第5の画像234に描かれた2つ以上の表面または平面上に配置するために、柵238をさまざまな奥行きに関連付けることができる。
図2Eのユーザインターフェース202に描かれるように、コンテンツ236は、第5の画像234内に描かれた環境または世界内の柵上に投影されているように見える。コンテンツ236が環境または世界内に投影されている様子についてユーザーが満足すると、ユーザーはコントロール232を選択して、コンテンツ236をコンテンツ236の描画位置に対応する座標位置に関連付けることができる。例えば、座標位置は、加速度計または他の位置センサと、奥行き情報(例えば、奥行きマップ)によって提供される推定奥行きとに基づいて、X座標およびY座標を特定することができる。奥行きマップなどの奥行き情報はZ座標を提供することもできる。コンテンツ236と、コンテンツ236の描画位置に対応する座標位置とを関連付けることに加えて、描画されたコンテンツ236によって使用される奥行きマップなどの奥行き情報を保存して当該座標位置及びコンテンツ236とに関連付けてもよい。
【0031】
コンテンツ236がユーザーの世界に配置されると、ユーザインターフェース202は続いて
図2Fに描かれた第6の画像240を表示することができるが、第6の画像240は、第1の画像204、第2の画像212、第3の画像222、第4の画像226および第5の画像234と同じシーンであるが、異なる視点からのものであってもよく、第6の画像240は関連付けられる座標位置に基づいてコンテンツ236を描画することができる。例えば、ユーザーがコンピューティング装置を移動し、コンピューティング装置から獲得された画像がユーザインターフェース202内に表示された場合、画像センサによって獲得された画像がコンテンツ236に関連付けられた座標位置を含むとき、コンテンツ236は、第6の画像240のような獲得された画像内に表示されることができる。第6の画像240は、配置されたコンテンツ231/236のうちの1つまたは複数を表示し、プロンプト242によってビデオの獲得を開始するようにユーザーに促すことができる。したがって、環境または世界のビデオが獲得されると、コンピューティング装置のディスプレイは、環境または世界内に配置されたコンテンツ231/236を描く拡張現実表示を出力することができる。例えば、
図2Gに描かれたように、画像244は、コンテンツ231およびコンテンツ236を配置するためにそれぞれ使用された元の角度または位置とは異なる角度または位置からコンテンツ231およびコンテンツ236を描くことができる。
図2Gの画像244に描かれているように、ユーザーは位置を変更して、コンピューティング装置に異なる位置を撮影させることができるが、この場合、コンテンツ236およびコンテンツ231は、異なる位置から見たときに、環境の1つまたは複数の表面上に投影されているように見えることができる。ユーザインターフェース202はさらに、アイコン、テキスト、図形、または他の表示とすることができる状態メッセージ246を用いて、コンピューティング装置がビデオを獲得していることをユーザーに示すことができる。
【0032】
図3A~
図3Bは本開示の例にかかる、奥行き情報の獲得に関する詳細を示す。より具体的には、
図3Aにおいて、ユーザー302は、コンピューティング装置304をわずかに移動することにより、
図3Bのユーザー302より少ない画像を獲得することができる。したがって、
図3Aのコンピューティング装置304によって獲得される奥行き情報は、
図3Bのコンピューティング装置304によって取得される奥行き情報より小さくなる。したがって、ユーザー302がコンピューティング装置を移動すればするほど、より多くの画像が処理され、環境306の追加の奥行き情報を得ることができる。例において、コンピューティング装置によって獲得された画像は、例えばアプリケーションプログラミングインターフェースによってアクセス可能な奥行き情報生成器によって処理することが可能である。奥行き情報生成器は、異なる角度からの複数の装置画像を利用し、それらを比較することで、ユーザーが自身のコンピューティング装置(例えば、電話)を移動させるときに画像内の各画素までの距離の推定値を生成することができる。コンピューティング装置が、例えば飛行時間センサのようなサポートされたハードウェア奥行きセンサを有する場合、当該サポートされたハードウェア奥行きセンサから得られるこのようなデータは、奥行き情報として直接使用されることに加えて、処理された奥行きに含まれることで既存の奥行き情報の精度を高めることができる。いくつかの例において、環境306の追加の奥行き情報は、奥行き画像のメッシュ表現から獲得することができ、以前に取得された既存の奥行き情報から獲得することができ、または例えば、LiDAR、構造光、または他のセンサのような複数のセンサに基づいて獲得することができる。
【0033】
図4は本開示の例にかかる、コンテンツの配置に関する詳細を示す。より具体的には、奥行きマップなどの獲得された奥行き情報に基づいて、環境または世界内の座標位置を得ることができる。一例として、ユーザーがコンテンツを選択またはキャプチャしたとき、またはユーザーがコンテンツの配置を開始したときに確立された原点を有する軸404は、コンピューティング装置の加速度計または他の位置センサによって提供されるX、Yの動きを追跡するために使用される。さらに、軸404によって、奥行き情報(例えば、1つまたは複数の奥行きマップ)によって提供される距離Zを追跡することができる。一例において、ユーザーが環境または世界内でコンテンツを配置、移動、スケーリングまたは回転するとき、座標位置、コンテンツを一意に識別するオブジェクト識別子、およびコンテンツを配置、移動、スケーリングまたは回転するための奥行き情報(例えば、奥行きマップ)を、データ構造408およびデータ構造412などのデータ構造内に記録することができる。データ構造に記述されているように、オブジェクトIDによって識別されるコンテンツは、環境内の異なる位置に配置される。
【0034】
図5Aに描かれているように、本開示の例によれば、配置されたコンテンツに対応する位置は、データ構造504に格納することができる。データ構造504は、object_IDフィールドを使用して配置されたコンテンツ、コンテンツがX、Y、Z座標を使用して配置された位置、および使用された特定の奥行きマップを一意に識別することができる。
図5Bにさらに描かれているように、各object_IDは、コンテンツまたはコンテンツのバージョンを一意に識別することができる。例において、ユーザーは同じコンテンツをビデオ内に複数回配置することができるが、コンテンツ(例えば、ビデオコンテンツまたは画像コンテンツ)に関連付けられる開始時間および停止時間を異ならせてもよい。したがって、コンテンツの異なるバージョンを一意に識別することができる。例えば、データ構造508は、ビデオVideo_1の第1のバージョンに対応するObject_ID(例えば、C_1)と、ビデオVideo_1の第2のバージョンに対応するObject_ID(例えば、C_2)とを含むことができる。さらに、データ構造508は、ビデオVideo_1の第2のバージョンに対応するObject_ID(例えば、C_3)を含むことができる。ビデオの第2のバージョンは、ビデオの第1のバージョンと同じであってもよいが、ビデオの第2のバージョンは、いくつかの点で異なってもよい。例として、ビデオの第2のバージョンは、異なる開始点で開始し、異なるフレームレートで表示し、且つ/または異なる停止点で終了することができる。
【0035】
図6は本開示の例にかかる、コンテンツを配置するための追加の詳細を示す。より具体的には、コンテンツ608の配置は、奥行き情報と位置追跡情報とを組み合わせることによって実現される。3D表示である可能性のあるコンテンツの形を維持するのではなく、あたかも弾力性のある布や投影であるかのようにコンテンツをワーピングする。このような投影効果は、コンテンツの中心をカメラ視錐台の中心にそろえて、コンテンツ頂点のZ成分をカメラの前方ベクトルに沿って移動させることによって達成されるが、カメラは、コンピューティング装置に関連付けられたる画像センサに対応することができる。各頂点の移動量は、コンテンツのX座標およびY座標に最も近い画素についての現在の奥行き推定値に依存する。さらに、いくつかの例において、奥行き情報に関する信頼度スコアを利用し、コンテンツを投影するか否かの決定を、奥行き情報の信頼度に依存させることができる。一実施形態において、奥行き情報の信頼度が低すぎる場合、例えば、信頼度が閾値より低い場合、コンテンツの投影を停止し、コンテンツを空中に浮いているカメラの前に位置させることができる。奥行き情報の信頼度が閾値より大きい場合、ユーザーが選択した位置に応じてコンテンツ608を配置し、それに応じてコンテンツ608を投影する。
【0036】
図6に描かれているように、本開示の例によれば、コンピューティング装置604は、環境または世界の画像を表示することができる。ユーザーは、コンテンツ608を表面620の撮影された表面616と表面628の撮影された表面624とのコーナーに配置することを望む可能性がある。したがって、ユーザインターフェース636は、表面620および表面628によって形成されたコーナーに配置されたコンテンツ608の例示的な表示を描画することができる。現在の投影の外観に満足できれば、ユーザーは、世界空間にコンテンツを配置することができる。この点において、世界空間でのコンテンツの位置と配置時の奥行き情報を保存することで、当該投影のコピーを作成する。投影が保存されると、コンテンツ608を使用して投影にテクスチャを追加する。初期コンテンツとして平面を使用するので、平面のアスペクト比にマッチングするために映像コンテンツまたは画像コンテンツを伸ばすことができる。コンテンツ608を平面に適用する場合、高さまで伸ばす方法をコンテンツ608に適用することができる。
【0037】
例において、コンテンツ608を処理するために、処理しない、ビデオマッティング、およびクロマキーイングの3つのオプションのうちの1つまたは複数を選択することができる。映像及び/又は画像のマッティングは、背景なしで人物又は他のオブジェクトの映像又は画像を投影することができるように、ビデオ又は画像内の人物又は他のオブジェクトを背景から分離する。クロマキーイングは、各画素の色値を利用して、共通のスクリーニング色とマッチングするか否かを決定する。クロマキーイング処理に関しては、まず、ビデオまたは画像の境界を見て、ビデオまたは画像中に共通の背景色が存在するか否かを決定することができる。そして、選択された共通の背景色によって決定された背景色が透明になるようにビデオまたは画像を修正することができる。例示的な色には、赤、緑、青、黒、白が含まれ、これらの色は、透明にすることができる共通の背景色として選択することができる。例えば、ユーザーは、緑色の背景を有するビデオまたは画像において緑色を選択することにより、緑色を有するビデオまたは画像内のすべてのコンテンツを透明にレンダリングすることができる。
【0038】
いくつかの例において、カメラの入力を獲得し、ユーザーの世界に投影し返してもよい。これは、ユーザーがアップロードまたはキャプチャしたコンテンツ(たとえば、ビデオや画像)を現実世界のテクスチャでブレンディングするために使用できる。したがって、ユーザーが現在持っていない可能性のある視点から現実世界の時間的にフリーズしたビューが入力画像によって生成されるように、入力画像を、現実世界上に直接伸ばすことができる。
【0039】
図7は本開示の例にかかる、例示的なシステム700を示す図である。システム700は、カメラの撮影装置から撮影可能なユーザー環境または世界にコンテンツを配置するためのシステムに対応することができる。例において、装置702は、ユーザー環境の複数の画像706を獲得するように設定される画像獲得モジュール704を備えることができる。複数の画像706は、画像センサ708から獲得することができる。画像センサ708は、コンピューティング装置108(
図1)のようなコンピューティング装置内に組み込まれてもよいし、他の方法によりコンピューティング装置内に含まれてもよい。一例において、複数の画像706を奥行き情報生成器710に提供することができる。奥行き情報生成器710は、異なる角度からの複数の装置画像を利用し、それらを比較することで、ユーザーが自身のコンピューティング装置を移動させるときに画像内の各画素までの距離の推定値を生成することができる。コンピューティング装置が、例えば飛行時間センサのようなサポートされたハードウェア奥行きセンサを有する場合、このようなデータは、処理された奥行きに含まれることで既存の奥行きマップの精度を高めることができる。奥行き情報712は、位置追跡及び奥行き推定モジュール714に提供することができる。一例において、奥行き情報712は、奥行き画像内の各画素における距離表現を含む奥行き画像を含む奥行きマップを含むことができる。
【0040】
位置追跡及び奥行き推定モジュール714は、コンテンツ716を受け、あたかも弾力性のある布や投影であるかのようにコンテンツ716をワーピングすることができる。一例において、コンテンツ716がユーザーによって選択された場合、コンテンツをコンテンツストレージ718から提供することができる。この投影効果は、コンテンツ716の中心をカメラ視錐台の中心にそろえて、コンテンツ716の頂点のZ成分をカメラの前方ベクトルまたは画像センサの前方ベクトルに沿って移動させることによって達成することができる。各頂点が移動される量は、コンテンツのX座標およびY座標に最も近い画素の現在の奥行き推定値に依存し、X座標およびY座標は、位置センサ707から提供される位置情報に基づくことができる。例において、位置追跡及び奥行き推定モジュール714は、表示された投影が受け入れ可能であることを示すユーザー入力720を受けることができ、ユーザー入力720は、コンテンツ716を配置する指令を送信するものである。したがって、世界空間におけるコンテンツ716の位置と配置時の奥行き情報を722として保存することにより、投影のコピーを作成する。一例において、コンテンツを投影するか否かの決定を、奥行き情報の信頼度に依存させることができる。一例において、奥行き情報の信頼度が低すぎる場合、例えば、信頼度が閾値より低い場合、コンテンツの投影を停止し、コンテンツを空中に浮いているカメラの前に位置させることができる。奥行き情報の信頼度が閾値より大きい場合、ユーザーが選択した位置に応じてコンテンツ716を配置し、それに応じてコンテンツ608を投影する。
【0041】
ビデオプロセッシングモジュール728は、保存されたユーザー投影をコンテンツ716でテクスチャリングすることができる。例えば、投影は、コンテンツ716でテクスチャリングされるように、奥行き情報を含むことができる。コンテンツ716は、奥行き情報712内の距離情報から導出された平面に対応することができる1つまたは複数の平面のアスペクト比にマッチングするように伸ばされる。次いで、ビデオプロセッシングモジュール728は、ユーザー環境内に配置された伸ばされたコンテンツを含む拡張現実画像をユーザーインターフェース726において表示することができる。例において、ビデオ獲得モジュール730は、複数の画像(例えば、ビデオ)または1つの画像を配置されたコンテンツ716とともに取得することができる。次いで、ビデオ獲得モジュール730は、複数の画像(例えば、ビデオ)または1つの画像を、配置されたコンテンツ716とともに、記憶のために、装置702において且つ/または装置702の外部に存在することができるコンテンツストレージ718に提供することができる。
【0042】
図8は本開示の例にかかる、ユーザーの世界にコンテンツを配置するための方法800の詳細を示す図である。方法800のステップの一般的な順序が
図8に示されている。一般的に、方法800は802で始まり、830で終わる。方法800は、より多くのステップまたはより少ないステップを含むことができ、または、ステップの順序を
図8に示されたステップとは異なるように構成することができる。方法800は、コンピュータシステムによって実行されるコンピュータ実行可能な指令のセットとして実行され、コンピュータ可読媒体上に符号化または記憶されることができる。一例において、方法800の態様は、例えば、コンピュータのような、1つまたは複数のプロセッシング装置によって実行される。さらに、方法800は、プロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SOC)、ニューラルプロセッシングユニット、または他のハードウェア装置に関連付けられるゲートまたは回路によって実行することができる。以下では、方法800を、
図1~
図7に関連して説明されたシステム、コンポーネント、モジュール、ソフトウェア、データ構造、ユーザインターフェース等を参照して説明することとする。
【0043】
本方法は802において始まり、フローはプロセス804に進むことができる。804において、コンテンツを受ける。例えば、ユーザーは、自分のコンピューティング装置のカメラロール内のビデオまたは画像を選択することができる。別の例において、ユーザーはビデオまたは画像をリアルタイムでキャプチャすることができる。別の例において、コンテンツは、アプリケーションを実行するコンピューティング装置上にインストールされた当該アプリケーションによって提供されるオプションから選択されてもよい。方法800は、808に進むことができ、808において、ユーザーの世界に関連付けられる奥行き情報を取得することができる。例において、上述したように、複数の画像から奥行き情報を獲得することができる。すなわち、ユーザが自身のコンピューティング装置を移動すると、異なる角度からの複数の装置画像を獲得して比較することで、画像内の各画素までの距離の推定値を生成することができる。別の例において、奥行き情報は、例えば飛行時間センサのようなサポートされたハードウェア奥行きセンサから獲得することができ、奥行き情報はサポートされたハードウェア奥行きセンサから取得することができる。さらに、既存の奥行き情報(例えば、複数の画像から獲得された奥行きマップ)の精度を高めるために、このようなデータを、処理された奥行きに含めることができる。810において、奥行きマップ情報の信頼度閾値を取得することができる。例において、奥行きマップ情報の信頼度が閾値より大きくない場合(例えば、コンピューティング装置が奥行き情報が正しいと確信していない場合)、方法は822に進むことができる。そうでなければ、方法は、コンテンツをユーザーの世界上に投影する812に進む。
【0044】
例えば、812において、あたかも弾力性のある布や投影であるかのようにコンテンツをワーピングする。このような投影効果は、コンテンツの中心をカメラまたは画像センサの視錐台の中心にそろえて、コンテンツの頂点のZ成分をカメラの前方ベクトルに沿って移動させることによって達成される。各頂点が移動される量は、コンテンツのX座標およびY座標に最も近い画素の現在の奥行き推定値に依存し、X座標およびY座標は、位置センサから提供される位置情報に基づくことができる。816において、ユーザが投影された位置に満足していることを示す指示を受けることができる。したがって、816において、奥行き情報のコピーおよびコンテンツのコピーを保存する。方法800は、コンテンツをテクスチャとして1つまたは複数の表面に適用する818に進むことができる。例えば、1つまたは複数の表面(または平面)は、奥行き情報から確定することができる。奥行き情報に基づいて、それぞれの平面又は表面に対応するコンテンツの部分をワーピングすることができる。例において、ユーザーは、ビデオまたは画像内の人物または他のオブジェクトを背景から分離するために、または他の方法で背景を透明にするために、ビデオマッティング及び/又はクロマキーイングのうちの1つまたは複数を任意に選択することができる。これにより、人やオブジェクトのみをユーザーの世界上に投影することができる。
【0045】
奥行き情報が信頼区間を満たしていない場合、822において、コンテンツをコンピューティング装置のカメラの前に位置させることができる。824においてユーザが位置を受け入れた旨の指示を受けると、826においてコンテンツの位置を保存することで、828において、あたかもコンテンツが単一の平面または表面上に投影されているかのように、826において保存された位置情報に従ってコンテンツを表示することができる。方法800は、830において終了することができる。
【0046】
図9は本開示の例にかかる、ユーザーの世界にコンテンツを配置し且つビデオを獲得するための方法900の詳細を示す。方法900のステップの一般的な順序が
図9に示されている。一般的に、方法900は902で始まり、922で終わる。方法900は、より多くのステップまたはより少ないステップを含むことができ、または、ステップの順序を
図9に示されたステップとは異なるように構成することができる。方法900は、コンピュータシステムによって実行されるコンピュータ実行可能な指令のセットとして実行され、コンピュータ可読媒体上に符号化または記憶されることができる。一例において、方法900の態様は、例えば、コンピュータのような、1つまたは複数のプロセッシング装置によって実行される。さらに、方法900は、プロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SOC)、ニューラルプロセッシングユニット、または他のハードウェア装置に関連付けられるゲートまたは回路によって実行することができる。以下では、方法900を、
図1~
図8に関連して説明されたシステム、コンポーネント、モジュール、ソフトウェア、データ構造、ユーザインターフェース等を参照して説明することとする。
【0047】
本方法は902において始まり、フローはプロセス904に進むことができる。904において、コンテンツを受ける。例えば、ユーザーは、自分のコンピューティング装置のカメラロール内のビデオまたは画像を選択することができる。別の例において、ユーザーはビデオまたは画像をリアルタイムでキャプチャすることができる。別の例において、コンテンツは、アプリケーションを実行するコンピューティング装置上にインストールされた当該アプリケーションによって提供されるオプションから選択されてもよい。方法は、906に進むことができ、906において、ユーザーの世界に関連付けられる奥行き情報を取得することができる。例において、上述したように、複数の画像から奥行き情報を獲得することができる。すなわち、ユーザが自身のコンピューティング装置を移動すると、異なる角度からの複数の画像を獲得して比較することで、画像内の各画素までの距離の推定値を生成することができる。別の例において、奥行き情報は、例えば飛行時間センサのようなサポートされたハードウェア奥行きセンサから獲得することができ、奥行き情報はサポートされたハードウェア奥行きセンサから取得することができる。さらに、このようなデータを処理された奥行きに含めることにより、既存の奥行き情報の精度を高めることができる。908において、コンテンツをユーザーの世界上に投影する。
【0048】
例えば、908において、あたかも弾力性のある布や投影であるかのようにコンテンツをワーピングする。この投影効果は、コンテンツの中心をカメラ視錐台の中心にそろえて、コンテンツの頂点のZ成分をカメラの前方ベクトルに沿って移動させることによって達成することができる。各頂点が移動される量は、コンテンツのX座標およびY座標に最も近い画素の現在の奥行き推定値に依存し、X座標およびY座標は、位置センサから提供される位置情報に基づくことができる。例において、ユーザーは、ビデオまたは画像内の人物または他のオブジェクトを背景から分離するために、または他の方法で背景を透明にするために、ビデオマッティング及び/又はクロマキーイングのうちの1つまたは複数を任意に選択することができる。これにより、人やオブジェクトのみをユーザーの世界上に投影することができる。
【0049】
910において、ユーザが投影された位置に満足していることを示す指示を受けることができる。したがって、912において、奥行マップのような奥行き情報のコピーおよびコンテンツのコピーを保存する。方法900は、コンテンツをテクスチャとして1つまたは複数の表面に適用する914に進むことができる。例えば、1つまたは複数の表面(または平面)は、奥行き情報から確定することができる。奥行き情報に基づいて、それぞれの平面又は表面に対応するコンテンツの部分をワーピングすることができる。
【0050】
方法は、ユーザーの世界に投影されたまたは配置されたコンテンツを含むビデオを取得する916に進むことができる。例えば、コンピューティング装置は、異なる角度及び/又は位置からコンテンツを描く1つまたは複数の画像/ビデオを取得することができる。例において、その後、920において、共有のために、獲得されたビデオをビデオホスティングプラットフォームに提供する。方法900は、922において終了することができる。
【0051】
図10は本開示の態様を実施するために利用可能なコンピューティング装置1000の物理的コンポーネント(例えば、ハードウェア)を示すブロック図である。以下に説明されるコンピューティング装置コンポーネントは、上述したコンピューティング装置及び/又はプロセッシング装置に適用することができる。基本的な構成では、コンピューティング装置1000は、少なくとも1つのプロセッシングユニット1002とシステムメモリ1004とを含むことができる。コンピューティング装置の構成およびタイプによっては、システムメモリ1004は、揮発性ストレージ(例えば、ランダムアクセスメモリ(RAM))、不揮発性ストレージ(例えば、リードオンリーメモリ(ROM))、フラッシュメモリ、またはこのようなメモリの任意の組み合わせを含むことができるが、それらに限定されない。
【0052】
システムメモリ1004は、オペレーティングシステム1005と、本明細書に記載されたシステムによってサポートされる1つまたは複数のコンポーネントのようなソフトウェアアプリケーション1020を実行するのに適した1つまたは複数のプログラムモジュール1006とを含むことができる。例として、システムメモリ1004は、画像獲得モジュール1021、奥行き情報生成器1022、位置追跡及び奥行き推定モジュール1023、ビデオプロセッシングモジュール1024、およびビデオ獲得モジュール1025を備えることができる。画像獲得モジュール1021は、画像獲得モジュール704と同一であってもよく、または似ていてもよい。奥行き情報生成器1022は、奥行き情報生成器710と同一であってもよく、または似ていてもよい。位置追跡及び奥行き推定モジュール1023は、位置追跡及び奥行き推定モジュール714と同一であってもよく、または似ていてもよい。ビデオプロセッシングモジュール1024は、ビデオプロセッシングモジュール728と同一であってもよく、または似ていてもよい。ビデオ獲得モジュール1025は、ビデオ獲得モジュール730と同一であってもよく、または似ていてもよい。例えば、オペレーティングシステム1005は、コンピューティング装置1000の操作を制御するように適合できる。
【0053】
さらに、本開示の実施形態は、グラフィックライブラリ、他のオペレーティングシステム、または任意の他のアプリケーションプログラムに関連して実行することができるが、任意の特定のアプリケーションまたはシステムに限定されない。この基本的な構成は、破線1008内のそれらの構成要素によって
図10に示されている。コンピューティング装置1000は、追加の特徴または機能を有することができる。例えば、コンピューティング装置1000は、磁気ディスク、光ディスク、またはテープなどの追加のデータストレージ装置(取外し可能な装置及び/又は取外し不可能な装置)をさらに備えることができる。このような追加のストレージは、
図10において、取り外し可能なストレージ装置1009および取り外し不可能なストレージ装置1010によって示されている。
【0054】
上述したように、複数のプログラムモジュールおよびデータファイルがシステムメモリ1004に記憶されていてもよい。プログラムモジュール1006(例えば、ソフトウェアアプリケーション1020)は、プロセッシングユニット1002上で実行された場合、本明細書で説明された態様を含むがそれらに限定されないプロセスを実行することができる。本開示の態様に従って使用できる他のプログラムモジュールは、電子メール及び連絡先アプリケーション、ワープロアプリケーション、スプレッドシートアプリケーション、データベースアプリケーション、スライドプレゼンテーションアプリケーション、製図プログラム、またはコンピュータ支援プログラムなどを含むことができる。
【0055】
さらに、本開示の実施形態は、電気回路、個別電子部品、論理ゲートを含むパッケージチップまたは集積電子チップ、マイクロプロセッサを利用する回路、または電子部品またはマイクロプロセッサを含む単一のチップ上で実施することができる。例えば、本開示の実施形態は、システムオンチップ(SOC)を介して実施することができるが、
図10に示される各コンポーネントまたは複数のコンポーネントは、単一の集積回路上に集積化することが可能である。このようなSOC装置は、1つ又は複数のプロセッシングユニット、グラフィックスユニット、通信ユニット、システム仮想化ユニット、および様々なアプリケーション機能を含み、これらのすべてが単一の集積回路としてチップ基板上に集積化される(または「書き込み」される)ことができる。SOCを介して操作する場合、本明細書に記載されたクライアントがプロトコルを切り替える能力に関する機能は、単一の集積回路(チップ)上のコンピューティング装置1000の他のコンポーネントと集積化された特定用途向けロジックを介して動作することができる。本開示の実施形態はまた、AND、OR、およびNOTなどの論理演算を実行することができる、機械、光学、流体、および量子技術を含むがそれらに限定されない他の技術を使用して実施することができる。さらに、本開示の実施形態は、汎用コンピュータ内で、または任意の他の回路またはシステム内で実施することができる。
【0056】
コンピューティング装置1000はまた、キーボード、マウス、ペン、音または声入力装置、タッチまたはスワイプ入力装置などの1つまたは複数の入力装置1012を有することができる。当該1つまたは複数の入力装置1012は、画像センサを含むことができる。ディスプレイ、スピーカ、プリンタなどの出力装置1014も含むことができる。上記の装置は例であり、他の装置を使用することができる。コンピューティング装置1000は、他のコンピューティング装置/システム1050との通信を可能にする1つ又は複数の通信接続1016を含むことができる。好適な通信接続1016の例は、無線周波数(RF)送信機、受信機、及び/又はトランシーバ回路、ユニバーサルシリアルバス(USB)、パラレルポート、及び/またはシリアルポートを含むが、これらに限定されない。
【0057】
本明細書で使用されるコンピュータ可読媒体という用語は、コンピュータ記憶媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読指令、データ構造、またはプログラムモジュールのような、情報を記憶するための任意の方法または技術で実現される揮発性および不揮発性の取り外し可能な媒体および取り外し不可能な媒体を含むことができる。システムメモリ1004、取り外し可能なストレージ装置1009、および取り外し不可能なストレージ装置1010は、いずれもコンピュータ記憶媒体の一例(例えば、メモリストレージ)である。コンピュータ記憶媒体は、RAM、ROM、電気的に消去可能なリードオンリーメモリ(EEPROM)、フラッシュメモリまたは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)または他の光学的ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージ装置、または情報を記憶するために使用され、コンピューティング装置1000によってアクセス可能な任意の他の製品を含むことができる。任意のそのようなコンピュータ記憶媒体は、コンピューティング装置1000の一部であってもよい。コンピュータ記憶媒体は、搬送波または他の伝搬または変調されたデータ信号を含まない。
【0058】
通信媒体は、コンピュータ可読指令、データ構造、プログラムモジュール、または変調されたデータ信号内の他のデータ、例えば搬送波または他の移送機構によって具現化することができるとともに、任意の情報伝達媒体を含む。「変調されたデータ信号」という用語は、信号内に情報を符号化するように設定または変更された1つまたは複数の特徴を有する信号を表すことができる。限定ではなく、一例として、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体、および音響、無線周波数(RF)、赤外、および他の無線媒体のような無線媒体を含むことができる。
【0059】
図11Aと
図11Bは、本開示の実施形態を実施するために利用可能な携帯電話、スマートフォン、(スマートウォッチのような)ウェアラブルコンピュータ、タブレットコンピュータ、ラップトップコンピュータ、スマートホーム装置などのようなモバイルコンピューティング装置1100を示している。いくつかの例において、モバイルコンピューティング装置1100は、コンピューティング装置108と同一であってもよく、または似ていてもよい。いくつかの態様において、クライアントは、モバイルコンピューティング装置であってもよい。
図11Aを参照すると、これらの態様を実現するためのモバイルコンピューティング装置1100の一態様が示されている。基本的な構成において、モバイルコンピューティング装置1100は、入力要素および出力要素の両方を有する手持ちコンピュータである。モバイルコンピューティング装置1100は、典型的に、ディスプレイ1105と、ユーザがモバイルコンピューティング装置1100に情報を入力することを可能にする1つまたは複数の入力ボタン1110とを備える。モバイルコンピューティング装置1100のディスプレイ1105は、入力装置(例えば、タッチスクリーンディスプレイ)としても機能することができる。
【0060】
含まれる場合、オプションの副入力要素1115によって、別のユーザ入力を可能にする。副入力要素1115は、ロータリースイッチ、ボタン、または任意の他のタイプの手動入力要素であってもよい。代替としての態様において、モバイルコンピューティング装置1100は、より多くの入力要素またはより少ない入力要素を組み込むことができる。例えば、いくつかの実施形態において、ディスプレイ1105はタッチスクリーンでなくてもよい。
【0061】
さらに別の代替実施形態において、モバイルコンピューティング装置1100は、セルラー電話などの携帯電話システムである。モバイルコンピューティング装置1100はさらに、オプションのキーパッド1135を含むことができる。オプションのキーパッド1135は、物理キーパッドまたはタッチスクリーンディスプレイ上で生成される「ソフト」キーパッドとすることができる。
【0062】
様々な実施形態において、出力要素は、グラフィカルユーザインターフェース(GUI)を表示するためのディスプレイ1105と、視覚的インジケータ1120(例えば、発光ダイオード)と、及び/又はオーディオトランスデューサ1125(例えば、スピーカ)とを含む。いくつかの態様において、モバイルコンピューティング装置1100は、ユーザに触覚フィードバックを提供するための振動トランスデューサを組み込んでいる。さらに別の態様において、モバイルコンピューティング装置1100は、オーディオ入力(例えば、マイクロホンジャック)、オーディオ出力(例えば、ヘッドフォンジャック)、およびビデオ出力(例えば、HDMIポート)のような入力及び/又は出力ポートを組み込むことで、外部装置との間で信号の送受信を行う。
【0063】
図11Bはモバイルコンピューティング装置の一態様のアーキテクチャを示すブロック図である。すなわち、モバイルコンピューティング装置1100は、システム(例えば、アーキテクチャ)1102を組み込むことで、いくつかの態様を実現することができる。一実施形態において、システム1102は、1つまたは複数のアプリケーション(例えば、ブラウザ、電子メール、カレンダー、連絡先マネージャ、メッセージ通信クライアント、ゲーム、およびメディアクライアント/プレーヤ)を実行することができる「スマートフォン」として実現される。いくつかの態様において、システム1102は、統合されたパーソナルデジタルアシスタント(PDA)、無線電話、ウェアラブル装置、スマートホーム装置などのコンピューティング装置として統合される。
【0064】
1つまたは複数のアプリケーションプログラム1166は、メモリ1162にロードされ、オペレーティングシステム1164上で、またはオペレーティングシステム1164に関連して実行することができる。アプリケーションプログラムの例としては、電話ダイヤルプログラム、電子メールプログラム、個人情報管理(PIM)プログラム、ワープロプログラム、スプレッドシートプログラム、インターネットブラウザプログラム、メッセージ通信プログラム、地図プログラムなどが含まれる。システム1102はまた、メモリ1162内の不揮発性記憶領域1168を含む。不揮発性記憶領域1168は、システム1102の電源が切られたときに失われてはならない永続的な情報を記憶するために使用することが可能である。アプリケーション1166は、電子メールまたは電子メールアプリケーションによって使用される他のメッセージなど、不揮発性記憶領域1168内の情報を使用し、不揮発性記憶領域1168に格納することができる。同期アプリケーション(図示せず)もシステム1102上に常駐し、ホストコンピュータ上に常駐する対応の同期アプリケーションとやり取りして、不揮発性記憶領域1168に格納された情報とホストコンピュータ上に記憶された対応の情報との同期を維持するようにプログラミングされる。他のアプリケーションは、メモリ1162にロードされ、本明細書で説明されたモバイルコンピューティング装置1100上で動作することができることを理解すべきである。
【0065】
システム1102は、1つまたは複数のバッテリとして実現することができる電源1170を有する。電源1170はさらに、ACアダプタまたはバッテリを補充または再充電する電源付き格納台などの外部電源を含むことができる。
【0066】
システム1102はさらに、無線周波数通信を送受ける機能を実行する無線インターフェース層1172を含むことができる。無線インターフェース層1172は、通信キャリアまたはサービスプロバイダを介してシステム1102と「外部世界」との間の無線接続を容易にする。無線インターフェース層1172との間の送信は、オペレーティングシステム1164の制御の下で行われる。言い換えれば、無線インターフェース層1172によって受信された通信は、オペレーティングシステム1164を介してアプリケーションプログラム1166に配布することができ、その逆も同様である。
【0067】
視覚的インジケータ1120は、視覚的通知を提供するために使用することが可能で、且つ/またはオーディオインターフェース1174は、オーディオトランスデューサ1125を介して可聴通知を生成するために使用することが可能である。示された実施形態において、視覚的インジケータ1120は発光ダイオード(LED)であり、オーディオトランスデューサ1125はスピーカである。これらの装置は、電源1170に直接結合されることで、起動されたときに、バッテリ電力を節約するためにプロセッサ1160および他の構成要素がオフにされていても、通知機構によって指定された継続時間の間、オンにされた状態を維持することが可能である。LEDは、ユーザが装置の電源オン状態を示す行動を行うまで、無期限に点灯し続けるようにプログラムされてもよい。オーディオインターフェース1174は、ユーザに可聴信号を提供し、ユーザから可聴信号を受けるために使用される。例えば、オーディオインターフェース1174は、オーディオトランスデューサ1125に結合されることに加えて、マイクロフォンに結合されることで、例えば電話会談を容易にするために、可聴入力を受けることができる。本開示の実施形態によれば、マイクロフォンは、以下で説明するように、通知の制御を容易にするためにオーディオセンサとして機能することもできる。システム1102は、オンボードカメラ1130のオペレーションにより静止画像、ビデオストリーム等を記録することを可能にするビデオインターフェース1176をさらに含むことができる。
【0068】
システム1102を実現するモバイルコンピューティング装置1100は、追加の特徴または機能を有することができる。例えば、モバイルコンピューティング装置1100は、磁気ディスク、光ディスク、またはテープなどの追加のデータストレージ装置(取外し可能な装置及び/又は取外し不可能な装置)をさらに備えることができる。このような追加のストレージは、
図11Bにおいて不揮発性記憶領域1168によって示されている。
【0069】
以上で説明されたように、モバイルコンピューティング装置1100によって生成またはキャプチャされ、システム1102を介して記憶されたデータ/情報は、モバイルコンピューティング装置1100上にローカルに記憶されることができ、あるいは、データは、無線インターフェース層1172を介して、またはモバイルコンピューティング装置1100とモバイルコンピューティング装置1100に関連付けられている別のコンピューティング装置(例えば、インターネットなどの、分散型コンピューティングネットワーク内のサーバコンピュータ)との間の有線接続を介して装置からアクセス可能な任意の数の記憶媒体に記憶されることができる。このようなデータ/情報は、モバイルコンピューティング装置1100を介して、無線インターフェース層1172を介して、または分散型コンピューティングネットワークを介してアクセスすることができる。同様に、このようなデータ/情報は、電子メールおよび共同データ/情報共有システムを含む公知のデータ/情報送信および記憶手段に従って、記憶および使用のためにコンピューティング装置間で容易に送信することができる。
【0070】
図12は、上記で説明されたような、パーソナルコンピュータ1204、タブレットコンピューティング装置1106、またはモバイルコンピューティング装置1208のような遠隔ソースからコンピューティングシステムにおいて受信されたデータを処理するための、システムのアーキテクチャの一態様を示している。パーソナルコンピュータ1204、タブレットコンピューティング装置1206、またはモバイルコンピューティング装置1208は、1つまたは複数のアプリケーションを含むことができ、このようなアプリケーションは、画像獲得モジュール1221、奥行き情報生成器1222、位置追跡及び奥行き推定モジュール1223、ビデオプロセッシングモジュール1224、およびビデオ獲得モジュール1225を含むことができるが、これらに限定されない。画像獲得モジュール1221は、画像獲得モジュール704と同一であってもよく、または似ていてもよい。奥行き情報生成器1222は、奥行き情報生成器710と同一であってもよく、または似ていてもよい。位置追跡及び奥行き推定モジュール1223は、位置追跡及び奥行き推定モジュール714と同一であってもよく、または似ていてもよい。ビデオプロセッシングモジュール1224は、ビデオプロセッシングモジュール728と同一であってもよく、または似ていてもよい。ビデオ獲得モジュール1025は、ビデオ獲得モジュール730と同一であってもよく、または似ていてもよい。
【0071】
先に説明されたプログラムモジュール1006またはソフトウェアアプリケーション1020のうちの1つまたは複数は、上述したように、サーバ装置1202及び/又はパーソナルコンピュータ1204、タブレットコンピューティング装置1206、またはモバイルコンピューティング装置1208によって使用されることができる。
【0072】
サーバ装置1202は、ネットワーク1215を介して、パーソナルコンピュータ1204、タブレットコンピューティング装置1206、及び/又はモバイルコンピューティング装置1208(例えば、スマートフォン)などのクライアントコンピューティング装置にデータを提供し、クライアントコンピューティング装置からデータを提供されることができる。一例として、上述したコンピュータシステムは、パーソナルコンピュータ1204、タブレットコンピューティング装置1206、及び/又はモバイルコンピューティング装置1208(例えば、スマートフォン)内で実現することができる。
【0073】
さらに、本明細書に記載された態様および機能は、分散型システム(例えば、クラウドベースのコンピューティングシステム)上で動作することができるが、ここでは、アプリケーション機能、メモリ、データ記憶およびデータ検索、ならびに様々な処理機能は、分散型コンピューティングネットワーク(例えば、インターネットまたはイントラネット)上で互いに遠隔的に動作することができる。様々なタイプのユーザインターフェースおよび情報は、オンボードコンピューティング装置ディスプレイを介して、または1つまたは複数のコンピューティング装置に関連付けられている遠隔ディスプレイユニットを介して表示することができる。例えば、様々なタイプのユーザインターフェースと情報を投影した壁面にこれらの様々なタイプのユーザインターフェースと情報を表示してインタラクションすることができる。本発明の実施形態を実施するために利用できる複数のコンピューティングシステムとのインタラクションは、キーストローク入力、タッチスクリーン入力、声または他のオーディオ入力、ジェスチャ入力などを含み、ジェスチャ入力の場合、関連付けられているコンピューティング装置は、コンピューティング装置の機能を制御するためにユーザのジェスチャをキャプチャおよび解釈するための検出(例えば、カメラ)機能を備える。
【0074】
例えば、本開示の態様は、本開示の態様にかかる方法、システム、およびコンピュータプログラム製品のブロック図及び/又はオペレーション説明を参照して以上に説明されている。ブロック内に記された機能/動作は、任意のフローチャートに示された順序とは異なる順序で発生することができる。例えば、関連する機能/動作によっては、連続して示される2つのブロックは実際には実質的に同時に実行されてもよく、またはこれらのブロックは時には逆の順序で実行されてもよい。
【0075】
本開示は、少なくとも以下のセクションで提供される例に従って、コンピューティング装置の外部の被撮影環境内にコンテンツを配置するためのシステムおよび方法に関する。
【0076】
(A1)一態様において、いくつかの例は、コンピューティング装置の外部の被撮影環境内にコンテンツを配置するための方法を含む。本方法は、コンテンツを受けることと、当該コンピューティング装置の外部の当該被撮影環境に対応する奥行き情報を取得することと、当該奥行き情報に基づいて当該コンテンツを当該被撮影環境内の位置に関連付ける指示を受けることと、当該コンピューティング装置の外部の当該被撮影環境に対応する当該奥行き情報に基づいて当該コンテンツの少なくとも一部をワーピングすることとを含む。
【0077】
(A2)A1のいくつかの例において、本方法は、コンピューティング装置の外部の被撮影環境のビデオまたは画像コンテンツのうちの少なくとも1つを獲得することを含み、ビデオまたは画像コンテンツのうちの当該少なくとも1つは、コンテンツのワーピングされた一部を含む。
【0078】
(A3)A1~A2のいくつかの例において、本方法は、第2のコンテンツを受けることと、当該コンピューティング装置の外部の当該被撮影環境に対応する第2の奥行き情報を取得することと、当該第2の奥行き情報に基づいて当該第2のコンテンツを当該被撮影環境内の第2の位置に関連付ける第2の指示を受けることと、当該コンピューティング装置の外部の当該被撮影環境に対応する当該第2の奥行き情報に基づいて当該第2のコンテンツの少なくとも一部をワーピングすることとを含み、当該コンピューティング装置の外部の被撮影環境のビデオまたは画像コンテンツのうちの当該少なくとも1つは、コンテンツのワーピングされた一部と、第2のコンテンツのワーピングされた一部とを含む。
【0079】
(A4)A1~A3のいくつかの例において、コンテンツは、複数のビデオフレームを備えるビデオコンテンツを含み、当該複数のビデオフレームは、コンピューティング装置の外部の被撮影環境のビデオまたは画像コンテンツのうちの少なくとも1つにおいて表示される。
【0080】
(A5)A1~A4のいくつかの例において、奥行き情報は、コンピューティング装置の画像センサによって獲得された複数の画像から取得されるものである。
【0081】
(A6)A1~A5のいくつかの例において、本方法は、被撮影環境に対応する奥行き情報が閾値より大きい信頼度スコアに関連付けられていると決定することと、当該被撮影環境内の少なくとも1つの平面とマッチングするようにコンテンツの少なくとも一部をワーピングすることと、を含む。
【0082】
(A7)A1~A7のいくつかの例において、本方法は、被撮影環境に対応する奥行き情報が閾値未満の信頼度スコアに関連付けられていると決定することと、当該被撮影環境内の位置においてコンテンツを表示することと、を含む。
【0083】
(A8)A1~A7のいくつかの例において、本方法は、入力情報に応じて第2のコンテンツを受けることと、コンピューティング装置の外部の被撮影環境に対応する第2の奥行き情報を取得することと、被撮影環境に対応する第2の奥行き情報が閾値未満の信頼度スコアに関連付けられていると決定することと、第2の奥行き情報に基づいて第2のコンテンツを被撮影環境内の第2の位置に関連付ける第2の指示を受けることと、被撮影環境内の第2の位置において第2のコンテンツを表示することと、を含む。
【0084】
(A9)A1~A8のいくつかの例において、本方法は、被撮影環境に対応する第2の奥行き情報が閾値より大きい信頼度スコアに関連付けられていることを決定することと、第2の奥行き情報に基づいて第2のコンテンツを被撮影環境内の第2の位置に関連付ける当該第2の指示を受けることと、当該被撮影環境内の少なくとも1つの平面とマッチングするように第2のコンテンツの少なくとも一部をワーピングすることと、を含む。
【0085】
(A10)A1~A9のいくつかの例において、ワーピングする前に、コンテンツの一部の背景色を修正する。
【0086】
(A11)A1~A10のいくつかの例において、本方法は、当該コンテンツをワーピングする前に、コンテンツ内のエンティティをコンテンツの背景から分離することによって、またはコンテンツの一部の背景色を修正することによって、コンテンツを修正することを含む。
【0087】
(A12)A1~A11のいくつかの例において、奥行き情報は奥行きマップ画像を含み、本方法はさらに、コンテンツを被撮影環境内の位置に関連付ける指示を受けた場合、奥行き情報から奥行きマップ画像を保存することを含む。
【0088】
また別の態様において、いくつかの例はコンピューティングシステムを含み、当該コンピューティングシステムは1つまたは複数のプロセッサと、当該1つまたは複数のプロセッサに結合されたメモリとを備え、当該メモリは、当該1つまたは複数のプロセッサにより実行されるときに、当該1つまたは複数のプロセッサに、本明細書に説明された方法のうちのいずれかの方法(例えば、上記A1~A12)を実行させる1つまたは複数の指令を記憶している。
【0089】
さらに別の態様において、いくつかの例は、ストレージ装置の1つまたは複数のプロセッサによって実行されるための1つまたは複数のプログラムを記憶している非一時的なコンピュータ可読記憶媒体を含み、当該1つまたは複数のプログラムは本明細書で説明された方法(例えば、上記A1~A12)のうちのいずれかの方法を実行するための指令を含む。
【0090】
本願で提供された1つまたは複数の態様の説明および例示は、特許請求される本開示の範囲をいかなる態様で制限または限定することも意図していない。本明細書で説明された態様、例及び詳細は、所有権を伝えるのに十分であり、かつ、他の者が特許請求される本開示の最善の形態を形成及び使用することを可能にするのに十分であるとみなされる。特許請求される本開示は、本明細書で説明された態様、例、または詳細に限定されるものと解釈すべきではない。様々な特徴(構造的特徴および方法的特徴)は、組み合わせて図示又は説明されるかまたは個別に図示又は説明されるかにかかわらず、特定の特徴セットを有する実施形態を形成するためには、選択的に含むまたは省略することが意図されている。本願の説明及び例示を提供することにより、当業者は、特許請求される開示のより広い範囲から逸脱しない、本願で実現された一般的な発明構想のより広い態様の要旨に含まれる変更、修正及び代替態様を想定することができる。