(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-05
(45)【発行日】2024-08-14
(54)【発明の名称】3Dシーン拡張及び再構築のためのシステム及び方法
(51)【国際特許分類】
G06Q 30/0241 20230101AFI20240806BHJP
G06T 19/00 20110101ALI20240806BHJP
G06T 7/11 20170101ALI20240806BHJP
【FI】
G06Q30/0241
G06T19/00 A
G06T7/11
(21)【出願番号】P 2021544959
(86)(22)【出願日】2019-10-09
(86)【国際出願番号】 IB2019058618
(87)【国際公開番号】W WO2020075098
(87)【国際公開日】2020-04-16
【審査請求日】2022-09-27
(32)【優先日】2018-10-09
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-03-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521151201
【氏名又は名称】レソナイ インコーポレイテッド
(73)【特許権者】
【識別番号】521151212
【氏名又は名称】アロン, エミル
(73)【特許権者】
【識別番号】521151223
【氏名又は名称】ロゼンマン, エヤル
(74)【代理人】
【識別番号】100111707
【氏名又は名称】相川 俊彦
(72)【発明者】
【氏名】アロン, エミル
(72)【発明者】
【氏名】ロゼンマン, エヤル
【審査官】大古 健一
(56)【参考文献】
【文献】特開2007-260838(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 30/0241
G06T 19/00
G06T 7/11
G05D 1/00 - 1/87
B25J 1/00 -21/02
(57)【特許請求の範囲】
【請求項1】
ロボットの制御システムであって、その制御システムは、
少なくとも1つのプロセッサーを含み、その少なくとも1つのプロセッサーは、
ロボットに関連付けられた環境を描
き及び示すシーンのための画像情報を受信するように構成され;
シーンをセグメント化して、シーン内の少なくとも1つのオブジェクトに関連付けられた画像データを抽出するように構成され
、ここで、シーンをセグメント化することは、シーン内の画像要素を処理することを含み、画像要素はボクセル、点、又はポリゴンの少なくとも1つを含み;
複数のオブジェクトに関する履歴情報を格納するデータ構造にアクセスするように構成され
、ここで履歴情報はオブジェクトを特徴付ける事前に収集された情報であり;
抽出された画像データをデータ構造内の履歴情報と比較して、少なくとも1つのオブジェクトに関するデータ構造内の対応する情報を特定するように構成され、ここで、対応する情報は、少なくとも1つのオブジェクトの可動特性を表すスクリプトを含み
、ここで、可動特性は、ロボットによって加えられた外部刺激に応答してその少なくとも1つのオブジェクトがどのように動くかを表し;
スクリプトを適用することによりロボットを制御し、これにより、ロボットがスクリプトで規定された可動特性に基づいて、少なくとも1つのオブジェクトと相互作用するように構成される、制御システム。
【請求項2】
ロボットは、シーンのための画像情報を生成するように構成されたカメラを含む、請求項1に記載の制御システム。
【請求項3】
可動特性は、外部刺激に基づいて、少なくとも1つのオブジェクトの動きを規定する少なくとも1つのルールを含む、請求項1に記載の制御システム。
【請求項4】
少なくとも1つのプロセッサは、少なくとも1つのオブジェクトの可動特性に基づいて、ロボットによって少なくとも1つのオブジェクトに及ぼされる外部刺激を調整するように構成される、請求項
3に記載の制御システム。
【請求項5】
少なくとも1つのプロセッサは、ロボットと少なくとも1つのオブジェクトとの相互作用に基づいて
オブジェクトの可動特性によって決定される変更されたシーンを生成するように構成される、請求項1に記載の制御システム。
【請求項6】
少なくとも1つのプロセッサは、変更されたシーンを表示のために出力するように構成される、請求項
5に記載の制御システム。
【請求項7】
少なくとも1つのプロセッサは更に
少なくとも1つのオブジェクトに関連付けられた別のスクリプトを選択するように構成され、ここで、別のスクリプトは、シーン内の少なくとも1つのオブジェクトと少なくとも1つの他のオブジェクトとの間の相互作用を表し;及び
スクリプトを少なくとも1つのオブジェクトに適用するように構成される、
請求項1に記載のシステム。
【請求項8】
ロボットを制御するためのコンピュータ実施の方法であって、
ロボットに関連付けられた環境を描写
し及び示すシーンのための画像情報を受信するステップと;
シーンをセグメント化して、シーン内の少なくとも1つのオブジェクトに関連付けられた画像データを抽出するステップと
、ここで、シーンをセグメント化するステップは、シーン内の画像要素を処理するステップを含み、画像要素は、ボクセル、点、又はポリゴンの少なくとも1つを含み;
複数のオブジェクトに関する履歴情報を格納するデータ構造にアクセスするステップと
、ここで履歴情報はオブジェクトを特徴付ける事前に収集された情報であり;
抽出された画像データをデータ構造内の履歴情報と比較して、少なくとも1つのオブジェクトに関するデータ構造内の対応する情報を特定するステップと、ここで、対応する情報は、少なくとも1つのオブジェクトの可動特性を表すスクリプトを含み
、ここで、可動特性は、ロボットによって加えられた外部刺激に応答してその少なくとも1つのオブジェクトがどのように動くかを表し;及び
スクリプトを適用することによりロボットを制御し、それによってロボットがスクリプトで規定された可動特性に基づいて少なくとも1つのオブジェクトと相互作用するようにさせるステップと、を含む方法。
【請求項9】
画像情報を受信するステップは、ロボットに関連付けられたカメラを使用してシーンのための画像情報を生成するステップを含む、請求項
8に記載の方法。
【請求項10】
可動性特性は、外部刺激に基づいて少なくとも1つのオブジェクトの動きを規定する少なくとも1つのルールを含む、請求項
8に記載の方法。
【請求項11】
少なくとも1つのオブジェクトの可動特性に基づいて、ロボットによって少なくとも1つのオブジェクトに及ぼされる外部刺激を調整するステップを更に含む、請求項
10に記載の方法。
【請求項12】
ロボットと少なくとも1つのオブジェクトとの相互作用に基づいて
オブジェクトの可動特性によって決定される変更されたシーンを生成するステップを更に含む、請求項
8に記載の方法。
【請求項13】
変更されたシーンを表示のために出力するステップを更に含む、請求項
12に記載の方法。
【請求項14】
少なくとも1つのオブジェクトに関連付けられた別のスクリプトを選択するステップと、ここで、別のスクリプトは、少なくとも1つのオブジェクトとシーン内の少なくとも1つの他のオブジェクトとの間の相互作用を表し;及び
スクリプトを少なくとも1つのオブジェクトに適用するステップと、
を更に含む、請求項
12に記載の方法。
【請求項15】
少なくとも1つのプロセッサによって実行されると、ロボットを制御するためのオペレーションを少なくとも1つのプロセッサに実行させる命令を含む非一時的なコンピュータ可読媒体であって、該オペレーションは、
ロボットに関連付けられた環境を描写
し及び示すシーンの画像情報を受信することと;
シーンをセグメント化して、シーン内の少なくとも1つのオブジェクトに関連付けられた画像データを抽出することと
、ここで、シーンをセグメント化することは、シーン内の画像要素を処理することを含み、画像要素は、ボクセル、点、又はポリゴンの少なくとも1つを含み;
複数のオブジェクトに関する履歴情報を格納するデータ構造にアクセスすることと
、ここで履歴情報はオブジェクトを特徴付ける事前に収集された情報であり;
抽出された画像データをデータ構造内の履歴情報と比較して、少なくとも1つのオブジェクトに関するデータ構造内の対応する情報を特定することと、ここで、対応する情報は、少なくとも1つのオブジェクトの可動特性を表すスクリプトを含み
、ここで、可動特性は、ロボットによって加えられた外部刺激に応答してその少なくとも1つのオブジェクトがどのように動くかを表し;及び
スクリプトを適用することによりロボットを制御し、それによってロボットがスクリプトで規定された可動特性に基づいて少なくとも1つのオブジェクトと相互作用するようにさせること、
を含む、非一時的なコンピュータ可読媒体。
【請求項16】
画像情報を受信することは、ロボットに関連付けられたカメラを使用してシーンの画像情報を生成することを含む、請求項
15に記載の非一時的なコンピュータ可読媒体。
【請求項17】
可動特性は、外部刺激に基づいて少なくとも1つのオブジェクトの動きを規定する少なくとも1つのルールを含む、請求項
15に記載の非一時的なコンピュータ可読媒体。
【請求項18】
少なくとも1つのオブジェクトの可動特性に基づいて、ロボットによって少なくとも1つのオブジェクトに及ぼされる外部刺激を調整することを更に含む、請求項
17に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
I. 関連する出願への相互参照
この出願は、2018年10月9日に出願された米国仮特許出願第62/743,065号及び2019年3月6日に出願された米国仮特許出願第62/814,513号の内容に基づいており、その優先権の利益を主張しているが、これらは両方とも、その全体が参照により本明細書に組み込まれる。
【0002】
II. 技術分野
本開示は、一般に、2次元(2D)又は3次元(3D)のシーン又は画像を生成、拡張、又は再構築するためのシステム及び方法に関する。より具体的には、開示された実施例は、視聴覚環境からシーンを受信し、受信されたシーンの1つ又はそれ以上の部分を変更、拡張、又は再構築することを対象とする。シーンは、例えば、仮想現実環境、拡張現実環境、複合現実環境、2D又は3Dビデオゲーム環境、2D又は3Dスキャン、2D又は3D静止画又はビデオカメラ画像又は複数の画像などからでもよい。
【背景技術】
【0003】
III. 背景情報
広告主及びその他は、オーディエンスに到達するため、ターゲットされた及び効果的な方法において、広告やその他のメッセージや画像を2D又は3D環境内に配置したいと願ってもよい。広告主は、製品又はサービスを販売しようとしている個人又は組織、メッセージのある政治組織、宗教団体、代理人又は代理店、非営利団体、及び/又はその他の個人又は組織を含んでもよい。
【0004】
メディアコンテンツプロバイダーは、広告主に競争入札の機会を提供したいと願ってもよい。メディアコンテンツプロバイダーは、ゲーム開発者、ビデオプロデューサー、ストリーミングサービスプロバイダー、仮想現実プロバイダー、拡張現実又は複合現実プロバイダー、及び/又は如何なる他のメディアコンテンツプロバイダーを含んでもよい。更に、メディアコンテンツプロバイダー及び広告主は、メッセージ、画像、及び/又は他のデータをコンテンツに動的に挿入することを願うかもしれない。メディアコンテンツプロバイダー及び広告主は、対象となるオーディエンス向けにリアルタイムでコンテンツをメディアに挿入したいと願うかもしれない。一般に、メディアコンテンツプロバイダー及び広告主は、コンテンツを2D又は3D環境に自然な方法で配置して、コンテンツがシーンの一部であり、シーンにとって異質ではないように見せたいと願うかもしれない。
【0005】
例えば、コンテンツプロバイダーは、2D又は3D環境に表示される飲料容器をブランド飲料に置き換える競争入札の機会を提供したいと願うかもしれない。広告主は、特定のオーディエンスに提供されるコンテンツに特定のブランドの飲料を配置したいと願うかもしれない(例えば、健康志向のオーディエンス向けのダイエット飲料(ソーダ))。広告主は、異なる特定のオーディエンスに提供されるときに、同じ又は異なるコンテンツ内に異なるブランドの飲料を配置したいと願うかもしれない(例えば、深夜のオーディエンス向けのエナジードリンク)。
【発明の概要】
【発明が解決しようとする課題】
【0006】
入札の機会を特定して作成し、コンテンツを動的に挿入するための従来のアプローチは、幾つかの欠点を有する。例えば、従来のアプローチは、意図するオーディエンスに基づいて広告を配置できないかもしれない。更に、広告主又は他の第三者からのマッチする代替物と置き換えるためのターゲットメディアアイテムを特定しようと試みるとき、従来のアプローチは欠陥に悩まされるかもしれない。別の例として、従来のアプローチは、広告コンテンツを自然な方法で2D又は3D環境内に適合させることができないかもしれない。
【0007】
従って、従来のアプローチの欠点及び問題を考慮すれば、競争入札の機会を効率的に、効果的に、及びリアルタイムで、特定及び管理し、並びに、特定のオーディエンスのため及び自然な態様において、コンテンツを2D又は3Dシーン内に配置する柔軟で、非従来型のアプローチが必要である。
【0008】
幾つかのケースにおいて、コンテンツプロバイダー(例えば、ゲーム開発者、広告主、映画製作者など)は、リアルな世界の環境のスキャンを受け取り(受信し)、その環境(即ち、シーン)の3Dモデルを開発したいと願うかもしれない。コンテンツプロバイダーは、コンテンツプロバイダーに関連付けられたメモリデバイスから、又は別のパーティに関連付けられたデバイスからシーンを受信することができる。幾つかのケースにおいて、コンテンツプロバイダーは、新しいオブジェクトをシーンに挿入したい願うかもしれない。例えば、コンテンツプロバイダーは、リビングルームのスキャンに基づいてリビングルームを含むシーンを作成したいと願うかもしれない。コンテンツプロバイダーは、新しいチェアをシーンに挿入し、又は、シーンチェアを新しいチェアと交換したいと願うかもしれない。
【0009】
しかし、コンテンツを挿入する従来の方法には欠点がある。例えば、従来のアプローチは、オブジェクトの不完全なスキャン(即ち、部分的な表現をキャプチャするスキャン)を受け入れて、シーンを生成したり、シーンを変更したり、シーン内のオブジェクトを置き換えたりすることができないかもしれない。更に、従来の方法は、あるオブジェクトの側面(アスペクト)を別のオブジェクトのものと組み合わせることができないかもしれない。例えば、従来の方法は、新しいオブジェクト(例えば、メモリデバイスから受信されたオブジェクト)のテクスチャをシーン内のオブジェクトに適用することができないかもしれない。更に、従来のシステムは、どの可能な置換オブジェクトがシーン内のオブジェクトに最も密接にマッチするか、及び、適切なマッチを選択するかを特定できないかもしれない。一般に、従来の方法は、組み込まれたオブジェクトがシーンの一部であるように見えるように自然に見える様式で、新規なオブジェクトを組み込むように変更されたシーンをレンダリングすることができないかもしれない。
【0010】
従って、従来のアプローチの欠点及び問題を考慮して、マッチするオブジェクトを特定し、マッチするオブジェクトをシーンに挿入し、完全な又は不完全なスキャンに基づき自然に見える変更されたシーンを発生させることができる、これまでにないアプローチの必要性がある。
【0011】
コンテンツプロバイダー又はユーザは、コンテンツプロバイダー又はユーザに関連付けられたメモリデバイスから、又は別のパーティに関連付けられたデバイスから画像を受信するかもしれない。幾つかのケースにおいて、コンテンツプロバイダー又はユーザが静止画像を受け取り、画像の一部をアニメーション化して、画像をよりリアルに見せたり、画像に注意を向けさせたいと願うかもしれない。
【0012】
オブジェクトのアニメーションなどのコンテンツを挿入する従来の方法には、欠点がある。従来の方法では、あるオブジェクトの側面を別のオブジェクトと組み合わせることができないかもしれない。例えば、従来の方法は、新しいオブジェクトの特徴(例えば、オブジェクトの可動部分のアニメーション)を画像又はシーン内のオブジェクトに適用することができないかもしれない。一般に、従来の方法は、組み込まれたオブジェクトが画像又はシーンの一部であるように見えるように自然に見える様式で可動部分を含む新しいオブジェクトを組み込むように変更されたシーンをレンダリングできないかもしれない。
【0013】
従って、従来のアプローチの欠点と問題を考慮して、画像又はシーン内のオブジェクトに類似したオブジェクトを特定(識別)する、類似のオブジェクトに関連付けられた移動データを使用してオブジェクトの可動バージョンを構築する、ハイブリッド画像を構築する、そして、表示のためにハイブリッド画像を出力する、かもしれない非従来型のアプローチが必要である。
【0014】
幾つかのケースにおいて、コンテンツプロバイダー又はユーザ(例えば、ゲーム開発者、広告主、映画製作者、ゲームプレーヤー、学生など)がオブジェクトの部分的な画像を受け取るかもしれない。このようなレンダリングは使用できないかもしれない。例えば、プレーヤーは自分の部屋をスキャンするかもしれず、オブジェクトを移動できる部屋に基づいて3Dゲームをプレイしたいかもしれない。従って、ゲームは、スキャンにおいて利用できないビュー、種々の移動オブジェクトの裏側を「視聴」できるように、プレーヤーの部屋におけるものと類似のオブジェクトを有する部屋を生成する必要がある。従って、コンテンツプロバイダーは、拡張現実又は仮想ゲーム環境内のシーン内への挿入のためのオブジェクトの完全な3Dモデルを作成するために部分的な画像を完成させる能力を望むかもしれない。
【0015】
しかしながら、3D視聴覚コンテンツを作成するための従来の方法は欠陥に悩まされるかもしれない。例えば、従来のアプローチは、オブジェクトの不完全なスキャン(即ち、部分的な表現をキャプチャするスキャン)を3Dコンテンツ内に転送できないかもしれない。更に、従来の方法は、不完全な画像又は部分的な画像に基づいてオブジェクトの完全な画像を生成できないかもしれない。より一般的には、従来の方法は、組み込まれたオブジェクトが完全な及びシーンの一部であるように見えるように、自然に見える様式において、オブジェクトの部分画像を組み込むために変更されたシーンをレンダリングできないかもしれない。
【0016】
従って、従来のアプローチの欠点及び問題を考慮して、シミュレートされた完全な3Dモデルを構築するため、オブジェクトの部分的な画像を追加情報と組み合わせることができ、及び、完全な3Dモデルを出力することができる、非従来型のアプローチが必要とされる。
【課題を解決するための手段】
【0017】
多くのケースにおいて、ロボットは、さまざまなオペレーションを実行するために環境と相互作用するかもしれない。例えば、ロボット掃除機は、掃除の目的のために部屋の中を動き回るかもしれない。別の例として、ロボット芝刈り機は、草を刈る目的で芝生又は屋外エリアを移動するかもしれない。更に別の例において、自動運転車は、作業現場又は工業場所で種々のオペレーションを実施するために使用されるかもしれず、又は、ロボットは、自動組立ラインで、組立、溶接などを実行するために使用されるかもしれない。ロボットは、ロボットに関連付けられた環境において、例えば、1つ又はそれ以上のオブジェクト(例えば、部屋の中の、チェア、テーブル、ランプなど)又は障害物(例えば、庭の、岩、水栓など)、又はツール及び備品(例えば、アセンブリ又はアセンブリライン上の溶接ツール)に遭遇するかもしれない。
【0018】
ロボットがその環境内で遭遇するオブジェクトが移動可能か移動不可能かを認識することは、役立つかもしれない。もしオブジェクトが移動可能であるならば、ロボットがオブジェクトの運動特性(移動距離、移動速度、移動の力/移動に必要な力、加速度特性など)を認識することもまた役立つかもしれない。例えば、掃除ロボットが部屋の中のオブジェクトが移動可能かどうかを認識することは役立つかもしれないが、次に、そのロボットが部屋をより効率的に掃除できるように、そのロボットはオブジェクトを現在の位置から移動させることができるかもしれない。ロボットは、印加された刺激に応答して部屋内のオブジェクトの動きの量又は速度を認識し、そして、ロボットは、オブジェクトの移動をコントロールするようにオブジェクトに印加される刺激の大きさ及び/又は方向を調整するかもしれない。
【0019】
しかしながら、家庭、商業、又は産業環境において、ロボットをコントロールする従来の方法は、欠陥に悩まされている。例えば、従来のロボットは、オブジェクトが移動可能であるかどうか、又は外部刺激に応答してオブジェクトが移動可能となるような態様を決定することができるかもしれない。その結果、そのようなロボットの操作(オペレーション)は、オブジェクトと相互作用することなく、環境内のオブジェクトの周りでロボットを動かすことに限られるかもしれない。この制限により、ロボットの操作(オペレーション)が非効率になるかもしれない。例えば、掃除ロボットが常にオブジェクトの周りを回らなければならない場合、部屋を掃除するのに必要な時間は、ロボットがオブジェクトを片側に動かしてロボットが部屋を掃除しやすくする場合よりも長くなるかもしれない。別の例として、ロボットがオブジェクトを動かすことができない場合、掃除ロボットは、オブジェクトが占める場所を掃除することができないかもしれない。
【0020】
従って、ロボットをコントロールするための従来のアプローチの欠点及び問題を考慮して、ロボットに関連する環境内の1つ又はそれ以上のオブジェクトを識別し、特定されたそのオブジェクトの可動特性を決定し、及び、その可動特性に基づいてそのオブジェクトと相互作用するようにロボットをコントロールすることができる、非従来型のアプローチの必要性がある。
【0021】
幾つかのケースにおいて、メディアコンテンツプロバイダーは、現実の世界の環境のスキャンを受信し、環境(即ち、シーン)の3Dモデルの開発を願うかもしれない。メディアコンテンツプロバイダーは、メディアコンテンツプロバイダーに関連付けられたデバイスから、又は別のものに関連付けられたデバイスから、シーンのスキャンを受信することができる。コンテンツプロバイダーは、シーンに新しいオブジェクトの挿入を願うかもしれない。例えば、コンテンツプロバイダーは、リビングルームのシーンを受け取り、そのシーンに、通常はリビングルームの一部を形成する追加の補完的なオブジェクト(花瓶、コーヒーテーブルなど)の追加を願うかもしれない。その他の場合、コンテンツプロバイダーは、部屋にすでに存在するオブジェクトの交換を願うかもしれない(例えば、シーンチェアを別のタイプ又はデザインの新しいチェアに交換する)。
【0022】
消費者ユーザは、シーン内にあるオブジェクトを補完する追加のオブジェクトを使用してシーンを作成することを願うかもしれない。例えば、ユーザは、ユーザの家の一部(例えば、裏庭)のシーンを受け取る場合がある。ユーザは、シーン内で見つかった現在のオブジェクトに適した追加の補完的なオブジェクトの提案を受け取りたい場合がある。例えば、ユーザは庭の家具(例えば、ハンモック、傘など)をショッピングしている可能性がある。ユーザは、補完的なオブジェクトの提案を受け取りたいと願うかもしれず、更に、例えば、購入を行う前に、補完的なオブジェクトを含むシーンをプレビューしたいと願うかもしれない。
【0023】
しかしながら、3Dコンテンツを生成する従来の方法は欠陥に悩まされるかもしない。例えば、従来のアプローチでは、特定のシーンで見つかったオブジェクトに通常関連付けられている関連オブジェクトを正しく特定(識別)して提案できない場合がある。従来のアプローチでは、ユーザの相互作用によって、特定のシーンで通常見られる適切な補完的なオブジェクトを特定(識別)できない場合もある。
【0024】
従って、従来のアプローチの欠点と問題を考慮して、補完的なオブジェクトを識別し、補完的なオブジェクトをシーンに挿入し、シーンのスキャンに基づいてハイブリッドシーンを生成できる非従来型のアプローチが必要である。
【0025】
広告主やその他の人々は、広告やその他のメッセージや画像を2D又は3D環境内に、対象を絞った効果的な方法で配置して、オーディエンスにリーチしたいと思うかもしれない。広告主には、製品又はサービスを販売しようとしている個人又は組織、メッセージのある政治組織、宗教団体、代理人又は代理店、非営利団体、及び/又はその他の個人又は組織が含まれる場合がある。
【0026】
メディアコンテンツプロバイダーは、広告主に競争入札の機会を提供したいと願うかもしれない。メディアコンテンツプロバイダーには、ゲーム開発者、ビデオプロデューサー、ストリーミングサービスプロバイダー、仮想現実プロバイダー、拡張現実又は複合現実プロバイダー、及び/又はその他のメディアコンテンツプロバイダーが含まれる場合がある。更に、メディアコンテンツプロバイダー及び広告主は、メッセージ、画像、及び/又は他のデータを放送(ブロードキャスト)コンテンツに動的に挿入したいと思うかもしれない。メディアコンテンツプロバイダーと広告主は、対象となるオーディエンス向けにリアルタイムでコンテンツをメディアに挿入したいと願うかもしれない。一般に、メディアコンテンツプロバイダーと広告主は、コンテンツを3D環境に自然な方法で配置して、コンテンツがシーンの一部であり、シーンにとって異質ではないように見せたい場合がある。
【0027】
例えば、コンテンツプロバイダーは、3D放送(ブロードキャスト)シーンに表示される飲料容器をブランド飲料に置き換える競争入札の機会を提供したいと願うかもしれない。広告主は、特定のオーディエンスに提供される放送(ブロードキャスト)シーンに特定のブランドの飲料を配置することを願うかもしれない(例えば、健康志向のオーディエンス向けのダイエットソーダ)。広告主は、異なる特定のオーディエンスに提供されるときに、同じ又は異なる放送(ブロードキャスト)シーンに異なるブランドの飲料を配置することを願うかもしれない(例えば、深夜のオーディエンスのためのエナジードリンク)。
【0028】
入札の機会を特定して作成し、コンテンツを動的に挿入するための従来のアプローチには、幾つかの欠点がある。例えば、従来のアプローチでは、対象とするオーディエンスに基づいて広告を掲載できない場合がある。更に、従来のアプローチは、広告主又は他の第三者からのマッチする代替物と置き換えるためにターゲットメディアアイテムを特定(識別)しようとするときに欠陥に悩まされる可能性がある。別の例として、従来のアプローチは、広告コンテンツを既存の放送(ブロードキャスト)3Dシーンの3D環境に自然な方法で適合させることができない場合がある。
【0029】
従って、従来のアプローチの欠点及び問題を考慮して、競争入札の機会を効率的に且つ効果的に特定し管理して、そして、特定のオーディエンスに対して及び自然な態様において3Dシーンにコンテンツを配置する、柔軟な非従来型のアプローチが必要とされる。
【図面の簡単な説明】
【0030】
IV. 図面の簡単な説明
本開示に組み込まれ、その一部を構成する添付の図面は、様々な開示された実施例を示す。そのような図面において以下の通りである。
【0031】
【
図1】
図1は、本開示の実施例と一致して、2D又は3Dシーン又は画像を拡張又は再構築するための例示的なシステムを描く。
【0032】
【
図2】
図2は、本開示の実施例と一致して、例示的な計算装置を図解する。
【0033】
【
図3】
図3は、本開示の実施例と一致して、広告主からの入札を選択し、落札に対応する画像を視聴覚環境からの既存のシーンに挿入するための例示的なシステムを描く。
【0034】
【
図4】
図4は、本開示の実施例と一致して、視聴覚環境から既存のシーンに広告画像を選択して挿入する例示的な方法を描く。
【0035】
【
図5】
図5は、本開示の実施例と一致して、既存のコンテンツフレームへのコンテンツの選択的挿入を可能にする例示的な方法を描く。
【0036】
【
図6】
図6は、本開示の実施例と一致して、コンテンツを既存のコンテンツフレームに挿入するための入札を行う例示的な方法を描く。
【0037】
【
図7】
図7は、本開示の実施例と一致して、シーン内のCADオブジェクトを置き換えるための3Dモデルを選択する例示的な方法を描く。
【0038】
【
図8】
図8は、本開示の実施例と一致して、3Dモデルを選択し、既存のシーン内のCADオブジェクトを選択された3Dモデルで置き換える例示的な方法を描く。
【0039】
【
図9】
図9は、本開示の実施例と一致して、3Dシーンを生成する例示的な方法を描く。
【0040】
【
図10】
図10は、本開示の実施例と一致して、2D又は3Dシーン又は画像にアニメーションを拡張、再構築、及び提供するための例示的なシステムを描く。
【0041】
【
図11】
図11は、本開示の実施例と一致して、ユーザによって見られている入力3Dシーン内の例示的なオブジェクト(例えば、ファン)を描く。
【0042】
【
図12】
図12は、本開示の実施例と一致して、入力3Dシーンからのオブジェクトの1つ又はそれ以上の部分を、アニメーションを含むデータ構造内のオブジェクトの対応する部分で置き換えることを描く。
【0043】
【
図13】
図13は、本開示の実施例と一致して、静止画像の部分をアニメーション化するプロセスのフローチャートを描く。
【0044】
【
図14】
図14は、本開示の実施例と一致して、完全な3Dモデルをシミュレートするために部分画像をメッシュ処理する例を描く。
【0045】
【
図15】
図15は、本開示の実施例と一致して、完全な3Dモデルをシミュレートするために部分画像をメッシュ処理する例示的な方法を描く。
【0046】
【
図16】
図16は、本開示の実施例と一致して、ロボットを制御(コントロール)するための例示的なシステムを描く。
【0047】
【
図17】
図17は、本開示の実施例と一致して、シーンからのセグメント化されたオブジェクトの特性に基づいてロボットを制御(コントロール)する例示的な方法を描く。
【0048】
【
図18】
図18は、本開示の実施例と一致して、ロボットの環境内のオブジェクトに関連する可動特性に基づいてロボットをコントロールする例示的な方法を描く。
【0049】
【
図19】
図19は、本開示の実施例と一致して、3Dコンテンツを生成するための例示的なシステムを描く。
【0050】
【
図20】
図20は、本開示の実施例と一致して、シーンに補完的なオブジェクトを追加するための3Dコンテンツ作成を自動化する例示的な方法を描く。
【0051】
【
図21】
図21は、本開示の実施例と一致して、補完的なオブジェクトを選択し、既存のシーンにおける補完的なオブジェクトの3D表現を組み合わせる例示的な方法を描く。
【0052】
【
図22】
図22は、本開示の実施例と一致して、少なくとも1つの補完的なオブジェクトを特定する例示的な方法を描く。
【0053】
【
図23】
図23は、本開示の実施例と一致して、視聴覚環境から放送(ブロードキャスト)シーン内に広告画像を選択して挿入する例示的な方法を描く。
【発明を実施するための形態】
【0054】
V. 概要
幾つかの開示された実施例は、既存のコンテンツフレームへのコンテンツの選択的挿入を可能にするためのコンピュータ実装の視覚入力再構成システムを含む。システムは、少なくとも1つのプロセッサを含み得る。プロセッサは、複数のオブジェクトに関連付けられた複数のオブジェクト画像識別子を格納するメモリにアクセスするように構成することができる。プロセッサは、1つ又はそれ以上のクライアントデバイスに、複数のオブジェクト画像識別子のうちの少なくとも1つのオブジェクト画像識別子を送信するように構成され得る。プロセッサは、1つ又はそれ以上のクライアントデバイスから、少なくとも1つのオブジェクト画像識別子に関連付けられた1つ又はそれ以上の入札を受信するように構成され得る。プロセッサは、受信した1つ又はそれ以上の入札の中から落札を決定するように構成することができ、落札は、1つ又はそれ以上のクライアントデバイスの中から落札クライアントデバイスに関連付けられる。プロセッサは、落札(勝利)クライアントデバイスから落札者(勝者)の画像データを受信し、落札者(勝者)の画像データをメモリに格納するように構成することができる。プロセッサは、少なくとも1つの既存のメディアコンテンツフレームにおいて、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトのオブジェクト挿入位置を特定(識別)するように構成され得る。プロセッサは、少なくとも1つの既存のメディアコンテンツフレームを処理して、オブジェクト挿入位置に、落札者(勝者)画像データの少なくとも引き渡し(レンディション)を挿入することによって、少なくとも1つの処理されたメディアコンテンツフレームを生成するように構成され得る。プロセッサは、少なくとも1つの処理されたメディアコンテンツフレームを1つ又はそれ以上のユーザデバイスに送信するように構成され得る。
【0055】
幾つかの実施例において、少なくとも1つのオブジェクト画像識別子は、形状、形状の記述子、製品、又は製品の記述子のうちの少なくとも1つを含む。
【0056】
幾つかの実施例において、既存のメディアコンテンツフレームは、静止画像、一連のビデオフレーム、一連の仮想3次元コンテンツフレーム、又はホログラムのうちの少なくとも1つを含む。
【0057】
幾つかの実施例において、少なくとも1つのプロセッサは、落札者(勝者)の画像データに対して画像処理を実行して、落札者(勝者)の画像データを既存のメディアコンテンツフレームのフォーマットと互換性のあるものにするように更に構成される。
【0058】
幾つかの実施例では、少なくとも1つの既存のメディアコンテンツフレームは、仮想現実視野を構成する複数のフレームを含み、挿入は、複数のフレーム内の落札(勝利)の画像データからオブジェクトをレンダリングする。
【0059】
幾つかの実施例において、送信は、ネットワークを介した送信を含む。
【0060】
幾つかの実施例において、送信は、処理されたメディアコンテンツフレームを1つ又はそれ以上のユーザーデバイスの第1のユーザデバイスに送信することを含み、ここで、少なくとも1つのプロセッサは、少なくとも1つの既存のメディアコンテンツフレームを、落札者(勝者)の画像データを除外する態様において第2のユーザデバイスに送信するように構成される。
【0061】
幾つかの実施例において、落札者(勝者)の画像データは、少なくとも1つの既存のメディアコンテンツフレームに挿入され、その結果、落札者(勝者)の画像データは、少なくとも1つの既存のメディアコンテンツフレーム内の既存のコンテンツに重ね合わせ(オーバーレイ)される。
【0062】
幾つかの実施例において、落札者(勝者)の画像データのオブジェクトが少なくとも1つの既存のメディアコンテンツフレーム内の既存のコンテンツを置き換えるように、落札者(勝者)の画像データが少なくとも1つの既存のメディアコンテンツフレームに挿入される。
【0063】
幾つかの実施例において、落札者(勝者)の画像データは、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトの一部に挿入される。
【0064】
幾つかの実施例において、プロセッサは、落札(勝利)クライアントデバイスから命令を受信するように更に構成され、その命令は、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトに対するサイズ制限を含み、そして、落札者(勝者)の画像データの少なくとも1つのレンディションを挿入することは、その命令に基づいている。
【0065】
幾つかの実施例において、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトは、壁、ビルボード、額縁、又は窓の少なくとも1つを含む。
【0066】
幾つかの実施例において、既存のメディアコンテンツフレームに表示される落札者(勝者)の画像データは、所定の期間の後に変化する。
【0067】
幾つかの実施例において、プロセッサは、少なくとも1つの既存のメディアコンテンツフレームをリアルタイムで取得し、落札者(勝者)の画像データの引き渡し(レンディション)を少なくとも1つの既存のメディアコンテンツフレームにリアルタイムで挿入するように更に構成される。
【0068】
更に開示される実施例は、既存のコンテンツフレームへのコンテンツの選択的挿入を可能にするためのコンピュータで実施される方法を含む。この方法は、複数のオブジェクトに関連付けられた複数のオブジェクト画像識別子を格納するメモリにアクセスすることを含み得る。この方法は、複数のオブジェクト画像識別子のうちの少なくとも1つのオブジェクト画像識別子を1つ又は複数のクライアントデバイスに送信することを含み得る。この方法は、1つ又はそれ以上のクライアントデバイスから、少なくとも1つのオブジェクト画像識別子に関連付けられた1つ又は複数の入札を受信することを含み得る。この方法は、受け取られた1つ又はそれ以上の入札の中から落札を決定することを含み得る。落札(勝利入札(winning bid))は、1つ又はそれ以上のクライアントデバイスの中から落札するクライアントデバイスに関連付けることができる。この方法は、落札(勝利)クライアントデバイスから落札者(勝者)の画像データを受信し、落札者(勝者)の画像データをメモリに格納することを含み得る。この方法は、少なくとも1つの既存のメディアコンテンツフレームにおいて、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトのオブジェクト挿入位置を特定(識別)することを含み得る。この方法は、少なくとも1つの既存のメディアコンテンツフレームを処理して、オブジェクト挿入位置に落札者(勝者)の画像データの少なくともレンディションを挿入することによって、少なくとも1つの処理されたメディアコンテンツフレームを生成することを含み得る。この方法は、少なくとも1つの処理されたメディアコンテンツフレームを1つ又はそれ以上のユーザデバイスに送信することを含み得る。
【0069】
追加の開示された実施例は、プログラム命令を格納することができる非一時的なコンピュータ可読記憶媒体を含み、これは、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、既存のコンテンツフレームへのコンテンツの選択的挿入を可能にする操作を実行させることができる。操作は、複数のオブジェクトに関連付けられた複数のオブジェクト画像識別子を格納するメモリにアクセスすることを含み得る。操作は、1つ又はそれ以上のクライアントデバイスに、複数のオブジェクト画像識別子のうちの少なくとも1つのオブジェクト画像識別子を送信することを含み得る。操作は、1つ又はそれ以上のクライアントデバイスから、少なくとも1つのオブジェクト画像識別子に関連付けられた1つ又はそれ以上の入札を受信することを含み得る。操作は、受け取られた1つ又はそれ以上の入札の中から落札を決定することを含み得る。落札は、1つ又はそれ以上のクライアントデバイスの中から落札するクライアントデバイスに関連付けることができる。操作は、落札(勝利)クライアントデバイスから落札者(勝者)の画像データを受信すること、及び落札者(勝者)の画像データをメモリに格納することを含み得る。操作は、少なくとも1つの既存のメディアコンテンツフレームにおいて、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトのオブジェクト挿入位置を特定(識別)することを含み得る。操作は、少なくとも1つの既存のメディアコンテンツフレームを処理して、オブジェクト挿入位置に落札者(勝者)の画像データの少なくともレンディションを挿入することによって、少なくとも1つの処理されたメディアコンテンツフレームを生成することを含み得る。操作は、少なくとも1つの処理されたメディアコンテンツフレームを1つ又はそれ以上のユーザデバイスに送信することを含み得る。
【0070】
追加の開示された実施例は、3次元(3D)シーンを生成するためのシステムを含む。システムは、少なくとも1つのプロセッサを含み得る。プロセッサは、スキャンに基づいてシーンを受信するように構成することができる。シーンには、少なくとも1つのオブジェクトが含まれるかもしれない。プロセッサは、シーン内の画像要素を処理して、シーンをシーンコンポーネントにセグメント化するように構成することができる。画像要素は、ボクセル、点、又はポリゴンのうちの少なくとも1つを含み得る。プロセッサは、シーンコンポーネントと格納された画像データとの比較に基づいて、シーンコンポーネントの中からマッチしたコンポーネントを特定(識別)するように構成され得る。一致したコンポーネントは、少なくとも1つのオブジェクトのコンポーネントに対応するかもしれない。プロセッサは、一致したコンポーネントに基づいて、少なくとも1つのオブジェクトに対応する画像要素を特定(識別)するように構成され得る。プロセッサは、少なくとも1つのオブジェクトに対応する画像要素に基づいて、ストレージ場所からCADモデルを取得するように構成され得る。プロセッサは、オブジェクトのCADモデルとシーンを組み合わせることによって、変更されたシーンを生成するように構成され得る。プロセッサは、3D表示のために変更されたシーンを出力するように構成され得る。
【0071】
幾つかの実施例において、変更されたシーンは、CADモデルの少なくとも一部及び少なくとも1つのオブジェクトの少なくとも一部を含むハイブリッドシーンである。
【0072】
幾つかの実施例において、スキャンは不完全なスキャンであり、変更されたシーンは、CADモデルのセマンティクスに基づくシーンの改良を含む。
【0073】
幾つかの実施例において、少なくとも1つの少なくとも1つのプロセッサは、CADモデルに関連するセマンティクスにアクセスするように、ここでセマンティクスは少なくとも1つのオブジェクトの可動特性を表すスクリプトを含み、及び、ハイブリッドシーンにおけるCADモデルにスクリプトを適用するように、構成されるが、そのスクリプトは、そのハイブリッドシーンにおいてオブジェクトを移動可能にするように実行されるように構成されている。
【0074】
幾つかの実施例において、スクリプトを含むハイブリッドシーンは、3D表示のために出力される。
【0075】
幾つかの実施例において、その少なくとも1つのプロセッサは更に、オブジェクトに関連付けられたもう1つのスクリプトを選択するように、ここで、そのもう1つのスクリプトはそのオブジェクト及びシーン内の少なくとも1つの他のオブジェクトの間の相互作用を表し、及び、ハイブリッドシーン内のCADモデルにスクリプトを適用するように、構成される。
【0076】
幾つかの実施例において、その少なくとも1つのプロセッサは、マッチしたコンポーネントから材料特性を抽出するように、及び、CADモデルに、その抽出した材料特性を適用するように、構成される。
【0077】
追加の開示された実施例は、3次元(3D)シーンを生成するためのコンピュータで実施される方法を含む。この方法は、スキャンに基づいてシーンを受信することを含み得る。シーンには、少なくとも1つのオブジェクトが含まれるかもしれない。この方法は、シーン内の画像要素を処理して、シーンをシーンコンポーネントにセグメント化することを含み得る。画像要素は、ボクセル、点、又はポリゴンのうちの少なくとも1つを含み得る。この方法は、シーン構成要素と格納された画像データとの比較に基づいて、シーン構成要素の中からマッチしたコンポーネントを特定(識別)することを含み得る。マッチしたコンポーネントは、少なくとも1つのオブジェクトのコンポーネントに対応するかもしれない。この方法は、マッチしたコンポーネントに基づいて、少なくとも1つのオブジェクトに対応する画像要素を識別することを含み得る。この方法は、少なくとも1つのオブジェクトに対応する画像要素に基づいて、ストレージ場所からCADモデルを取得することを含み得る。この方法は、オブジェクトとシーンのCADモデルを組み合わせることによって変更されたシーンを生成することを含み得る。この方法は、3D表示のために変更されたシーンを出力することを含み得る。
【0078】
幾つかの実施例において、この方法は、CADモデルに関連するセマンティクスにアクセスするステップと、ここで、そのセマンティクスは、少なくとも1つのオブジェクトの可動性特性を表すスクリプトを含み、及び、ハイブリッドシーン内のCADモデルにスクリプトを適用するステップと、を更に含むが、そのスクリプトは、ハイブリッドシーン内でオブジェクトを移動可能にするために実行されるように構成される。
【0079】
幾つかの実施例において、この方法は、オブジェクトに関連付けられたもう1つのスクリプトを選択するステップと、ここで、そのもう1つのスクリプトはそのオブジェクト及びシーン内の少なくとも1つの他のオブジェクトの間の相互作用を表し、及び、ハイブリッドシーンのCADモデルにスクリプトを適用するステップと、を更に含む。
【0080】
幾つかの実施例において、この方法は、マッチするコンポーネントから材料特性を抽出するステップと、及び、その抽出された材料特性をCADモデルに適用するステップと、を更に含む。
【0081】
追加の開示された実施例は、プログラム命令を記憶することができる非一時的なコンピュータ可読記憶媒体を含み、これは、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに3Dシーンの生成を可能にする操作を実行させることができる。操作は、スキャンに基づいてシーンを受信することを含み得る。シーンには、少なくとも1つのオブジェクトが含まれるかもしれない。操作は、シーン内の画像要素を処理して、シーンをシーンコンポーネントにセグメント化することを含み得る。画像要素は、ボクセル、点、又はポリゴンのうちの少なくとも1つを含み得る。操作は、シーンコンポーネントと格納された画像データとの比較に基づいて、シーンコンポーネントの中からマッチしたコンポーネントを特定(識別)することを含み得る。マッチしたコンポーネントは、少なくとも1つのオブジェクトのコンポーネントに対応するかもしれない。操作は、マッチしたコンポーネントに基づいて、少なくとも1つのオブジェクトに対応する画像要素を特定(識別)することを含み得る。操作(オペレーション)は、少なくとも1つのオブジェクトに対応する画像要素に基づいて、記憶(ストレージ)場所からCADモデルを取得することを含み得る。操作(オペレーション)は、オブジェクトとシーンのCADモデルを組み合わせることによって変更されたシーンを生成することを含み得る。操作(オペレーション)は、3D表示のために変更されたシーンを出力することを含み得る。
【0082】
追加の開示された実施例は、静止画像の部分をアニメーション化するためのコンピュータで実施されるシステムを含む。システムは、少なくとも1つのプロセッサを含み得る。プロセッサは、オブジェクトの静止画像を受信するように構成することができる。プロセッサは、メモリに格納された同様のオブジェクトの少なくとも1つの画像を特定(識別)するためにルックアップを実行するように構成され得る。メモリは、同様のオブジェクトの記憶された画像において可動部分を不動部分から区別するセグメンテーションデータ、及び可動部分に関連する移動データを含み得る。プロセッサは、オブジェクトの受信された静止画像内のボクセルの分析を実行して、静止画像をディスクリートコンポーネント(discrete components)内にセグメント化するように構成され得る。プロセッサは、ディスクリートコンポーネント(discrete components)を少なくとも1つの同様のオブジェクトの可動部分と比較して、受信画像において、静止画像の不動コンポーネントとは異なる可動ディスクリートコンポーネントの少なくとも1つの静止レンダリングを特定(識別)するように構成され得る。プロセッサは、静止画像から可動ディスクリートコンポーネントの静止レンダリングを抽出するように構成することができる。プロセッサは、静止レンダリング及び移動データ、可動コンポーネントの静止レンダリングの可動バージョンを使用して構築するように構成され得る。そのプロセッサは、静止画像からの不動コンポーネントが静止したままであるところ、ハイブリッド画像内を可動ディスクリートコンポーネントが移動可能になるように、可動コンポーネントの静止レンダリングの構築された可動バージョンと、静止画像の不動コンポーネントを組み合わせることにより、ハイブリッド画像を構築するように構成されてもよい。
【0083】
幾つかの実施例において、静止画像は人の頭(ヘッド)を含み、ディスクリートコンポーネントは人の頭及び髪を含み、少なくとも1つのプロセッサは、ハイブリッド画像内で頭が動かないままにし、髪が動くように構成される。
【0084】
幾つかの実施例において、静止画像は水体を含み、ディスクリートコンポーネントは波及び海岸を含み、及び、少なくとも1つのプロセッサは、ハイブリッド画像内を海岸が動かないままにし、波が動くように構成される。
【0085】
幾つかの実施例では、静止画像は木を含み、ディスクリートコンポーネントは幹及び葉を含み、少なくとも1つのプロセッサは、ハイブリッド画像において幹を動かないままにし、葉を動かすように構成される。
【0086】
幾つかの実施例において、静止画像は人を含み、ディスクリートコンポーネントは人の体及び衣料品一点を含み、及び、少なくとも1つのプロセッサは、ハイブリッド画像において体が動かないままにするようにし、衣料品一点が動くように構成される。
【0087】
幾つかの実施例では、静止画像は時計を含み、ディスクリートコンポーネントは顔と手を含み、少なくとも1つのプロセッサは、ハイブリッド画像において時計に異なる時間を表示させるように構成される。
【0088】
幾つかの実施例では、静止画像はペットを含み、ディスクリートコンポーネントは体と毛皮を含み、少なくとも1つのプロセッサは、ハイブリッド画像において体を動かないままにし、毛皮を動かすように構成される。
【0089】
幾つかの実施例では、静止画像は動物を含み、ディスクリートコンポーネントは体と尾を含み、少なくとも1つのプロセッサは、ハイブリッド画像において体を動かないままにし、尾を動かすように構成される。
【0090】
幾つかの実施例において、類似のオブジェクトの記憶画像内の可動部分は、複数の可動部分を含み、及び、少なくとも1つのプロセッサは、可動部分中から選択された可動部分の選択を受け取り、可動ディスクリートコンポーネントの静止レンダリングの少なくとも1つを特定するためディスクリートコンポーネントを選択された可動部分と比較し、静止レンダリング及び移動データ、選択された可動コンポーネントの静止レンダリングの可動バージョンを使用して構築し、及び、静止画像の不動コンポーネントを選択された可動コンポーネントの静止レンダリングの可動バージョンと組み合わせることによってハイブリッド画像を構築するように、更に構成される。
【0091】
幾つかの実施例において、少なくとも1つのプロセッサは、複数の可動部分を検出し、ユーザに選択を促すように構成される。
【0092】
幾つかの実施例において、移動(動き)データは、ユーザによって構成可能である。
【0093】
追加の開示された実施例は、静止画像の部分をアニメーション化するためのコンピュータで実施される方法を含む。この方法は、オブジェクトの静止画像を受信することを含み得る。この方法は、メモリに格納された類似のオブジェクトの少なくとも1つの画像を特定(識別)するためにルックアップを実行することを含み得る。メモリは、類似のオブジェクトの記憶された画像において、可動部分を不動部分から区別するセグメンテーションデータを含み得る。メモリは、可動部分に関連する移動データを含み得る。この方法は、オブジェクトの受信された静止画像内のボクセルの分析を実行して、静止画像を個別のコンポーネントにセグメント化することを含み得る。この方法は、ディスクリートコンポーネントを少なくとも1つの類似のオブジェクトの可動部分と比較して、受信画像において、静止画像の不動コンポーネントとは異なる可動ディスクリートコンポーネントの少なくとも1つの静止レンダリングを特定(識別)することを含み得る。この方法は、静止画像から可動ディスクリートコンポーネントの静止レンダリングを抽出することを含み得る。この方法は、静止レンダリング及び移動データ、可動コンポーネントの静止レンダリングの可動バージョンを使用して構築することを含み得る。この方法は、ハイブリッド画像において可動ディスクリートコンポーネントの可動バージョンがハイブリッド画像内でそれによって移動することができるように、可動コンポーネントの静止レンダリングの構築された可動バージョンと静止画像の不動コンポーネントを組み合わせることによりハイブリッド画像を構築することを含むかもしれないが、ここで、静止画像からの不動コンポーネントは、静止したままである。この方法は、ハイブリッド画像を出力することを含み得る。
【0094】
幾つかの実施例において、ハイブリッド画像を出力することは、ハイブリッド画像を表示することを含む。
【0095】
幾つかの実施例において、ハイブリッド画像を出力することは、ハイブリッド画像を保存することを含む。
【0096】
幾つかの実施例において、ハイブリッド画像を出力することは、ハイブリッド画像を転送することを含む。
【0097】
幾つかの実施例において、第1及び第2のオブジェクトは類似している。
【0098】
幾つかの実施例において、第1及び第2のオブジェクトは実質的に異なる。
【0099】
幾つかの実施例において、第1及び第2のオブジェクトは、ユーザによって選択される。
【0100】
幾つかの実施例において、移動データは、ユーザによって構成可能である。
【0101】
追加の開示された実施例は、プログラム命令を記憶することができる非一時的なコンピュータ可読記憶媒体を含み、これは、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに静止画像の部分をアニメーション化することを可能にする動作(オペレーション)を実行させることができる。操作(オペレーション)には、オブジェクトの静止画像の受信が含まれるかもしれない。操作(オペレーション)は、メモリに格納された同様のオブジェクトの少なくとも1つの画像を特定(識別)するためにルックアップを実行することを含み得る。メモリは、類似のオブジェクトの記憶された画像において、可動部分を不動部分から区別するセグメンテーションデータを含み得る。メモリは、可動部分に関連する移動データを含み得る。操作(オペレーション)は、オブジェクトの受信された静止画像内のボクセルの分析を実行して、静止画像を個別のコンポーネントにセグメント化することを含み得る。操作(オペレーション)は、ディスクリートコンポーネントを少なくとも1つの類似のオブジェクトの可動部分と比較して、静止画像の不動コンポーネントとは異なる可動ディスクリートコンポーネントの少なくとも1つの静止レンダリングを受信画像内で特定(識別)することを含み得る。操作(オペレーション)は、静止画像から可動ディスクリートコンポーネントの静止レンダリングを抽出することを含み得る。操作(オペレーション)は、静止レンダリング及び移動データ、可動コンポーネントの静止レンダリングの可動バージョンを使用して構築することを含み得る。操作(オペレーション)は、ハイブリッド画像内で可動個別コンポーネントの可動バージョンがそれによって移動できるように可動コンポーネントの静止レンダリングの構築された可動バージョンと静止画像の不動コンポーネントを組み合わせることによってハイブリッド画像を構築することを含むかもしれないが、ここで、静止画像からの不動コンポーネントは静止したままである。操作(オペレーション)は、ハイブリッド画像を出力することを含むかもしれない。
【0102】
追加の開示された実施例は、不完全な3Dデータからオブジェクトの完全な3Dモデルをシミュレートするためのコンピュータで実施されるシステムを含む。システムは、少なくとも1つのプロセッサを含み得る。プロセッサは、オブジェクトの部分画像を受信するように構成されることができ、部分画像は、2D画像又は不完全な3D画像のうちの少なくとも1つである。プロセッサは、部分画像を使用し、部分画像に対応する追加情報について少なくとも1つのデータ構造を検索(サーチ)するように構成され得る。プロセッサは、データ構造がオブジェクトの対応する3Dモデルを含まないと決定するように構成され得る。プロセッサは、部分画像内のオブジェクトとは異なるが部分画像内のオブジェクトと類似している参照3Dモデルについて少なくとも1つのデータ構造を検索(サーチ)するように構成され得る。プロセッサは、部分画像を参照3Dモデルと比較して、部分画像の欠落した特性に一般的に対応する3D参照モデルの部分を決定するように構成され得る。プロセッサは、部分的な画像を追加情報と組み合わせて、オブジェクトのシミュレートされた完全な3Dモデルを構築するように構成され得る。プロセッサは、表示装置に表示するためにシミュレートされた完全な3Dモデルを出力するように構成され得る。
【0103】
幾つかの実施例において、追加情報は、受信された部分画像に対応する3Dモデルを含む。
【0104】
幾つかの実施例において、追加情報は、部分画像内のオブジェクトに類似した少なくとも1つのオブジェクトの部分スキャンから得られた情報を含む。
【0105】
幾つかの実施例において、組み合わせることは、部分画像を3D参照モデルの決定された部分とメッシュ処理することを含む。
【0106】
幾つかの実施例において、少なくとも1つのプロセッサは、部分画像の色及びテクスチャの少なくとも1つを特定し、及び、メッシュに切る際に、色及びテクスチャの少なくとも1つを3D参照モデルの決定された部分に適用するように、更に構成される。
【0107】
幾つかの実施例において、少なくとも1つのプロセッサは、シミュレートされた完全な3Dモデルを3D消耗品環境と互換性のあるフォーマットにエクスポートするように構成される。
【0108】
幾つかの実施例において、3D消耗可能な環境は、仮想現実環境及び拡張現実環境のうちの少なくとも1つを含む。
【0109】
幾つかの実施例において、少なくとも1つのプロセッサは、約0°及び約360°の間の範囲内の角度でシミュレートされた完全な3Dモデルの回転に対する入力を受け取り;その入力に基づきシミュレートされた完全な3Dモデルを回転させ;及び表示装置にその回転されたシミュレートされた完全な3Dモデルを表示するように更に構成される。
【0110】
幾つかの実施例において、少なくとも1つのプロセッサは、シミュレートされた完全3Dモデルを拡大縮小(スケーリング)するための入力を受け取り、入力に基づいてシミュレートされた完全3Dモデルをスケーリングし、スケーリングされたシミュレートされた完全3Dモデルを表示装置に表示するように更に構成される。
【0111】
追加の開示された実施例は、不完全な3Dデータからオブジェクトの完全な3Dモデルをシミュレートするためのコンピュータで実施され得る方法を含む。この方法は、オブジェクトの部分画像を受信することを含み得、部分画像は、2D画像又は不完全な3D画像のうちの少なくとも1つである。この方法は、部分画像に対応する追加情報について少なくとも1つのデータ構造を検索(サーチ)することを含み得る。この方法は、データ構造がオブジェクトの対応する3Dモデルを含まないことを決定することを含み得る。この方法は、部分画像内のオブジェクトとは異なるが部分画像内のオブジェクトと類似性を有する参照3Dモデルについて少なくとも1つのデータ構造を検索(サーチ)することを含み得、参照3Dモデルは追加のデータを含む。この方法は、部分画像を参照3Dモデルと比較して、部分画像の欠落した特性に一般的に対応する3D参照モデルの部分を決定することを含み得る。この方法は、部分画像を追加情報、追加データ、又は追加情報と追加データの組み合わせ、と組み合わせて、オブジェクトのシミュレートされた完全な3Dモデルを構築することを含み得る。この方法は、表示装置上に表示するためにシミュレートされた完全な3Dモデルを出力することを含み得る。
【0112】
幾つかの実施例において、この方法は、約0°及び約360°の間の範囲の角度でシミュレートされた完全な3Dモデルの回転に対する入力を受け取り;その入力に基づいてシミュレートされた完全な3Dモデルを回転させ;及び表示装置にその回転したシミュレートされた完全な3Dモデルを表示し;及びその表示装置に回転したシミュレートされた完全な3Dモデルを表示することを更に含んでよい。
【0113】
幾つかの実施例において、この方法は、シミュレートされた完全3Dモデルを拡大縮小(スケーリング)するための入力を受け取り、入力に基づいてシミュレートされた完全3Dモデルをスケーリングし、スケーリングされたシミュレートされた完全3Dモデルを表示装置に表示することを更に含む。
【0114】
追加の開示された実施例は、プログラム命令を保存してもよい非一時的なコンピュータ読み取り可能媒体を含み、このプログラム命令は、少なくとも1つのプロセッサによって実行されるとき、その少なくとも1つのプロセッサが不完全な3Dデータからオブジェクトの完全な3Dモデルをシミュレートすることが可能となるオペレーションを実行するようにさせてよい。操作(オペレーション)は、オブジェクトの部分画像を受信することを含み得、部分画像は、2D画像又は不完全な3D画像のうちの少なくとも1つである。操作(オペレーション)は、部分画像に対応する追加情報のために少なくとも1つのデータ構造を検索(サーチ)することを含み得る。操作(オペレーション)は、データ構造がオブジェクトの対応する3Dモデルを含まないことを決定することを含み得る。操作(オペレーション)は、部分画像内のオブジェクトとは異なるが部分画像内のオブジェクトと類似している参照3Dモデルについて少なくとも1つのデータ構造を検索(サーチ)することを含み得、参照3Dモデルは追加のデータを含む。操作(オペレーション)は、部分画像を参照3Dモデルと比較して、部分画像の欠落した特性に一般的に対応する3D参照モデルの部分を決定することを含み得る。操作(オペレーション)は、部分画像を追加情報、追加データ、又は追加情報と追加データの組み合わせと組み合わせて、オブジェクトのシミュレートされた完全な3Dモデルを構築することを含み得る。操作(オペレーション)は、表示装置上に表示するためにシミュレートされた完全な3Dモデルを出力することを含み得る。
【0115】
追加の開示された実施例は、ロボットのための制御(コントロール)システムを含む。システムは、少なくとも1つのプロセッサを含み得る。プロセッサは、ロボットに関連する環境を描写するシーンの画像情報を受信するように構成され得る。プロセッサは、シーンをセグメント化して、シーン内の少なくとも1つのオブジェクトの画像を抽出するように構成され得る。プロセッサは、複数のオブジェクトに関する情報を格納するデータ構造にアクセスするように構成することができる。プロセッサは、抽出された画像をデータ構造内の情報と比較して、少なくとも1つのオブジェクトに関するデータ構造内の対応する情報を識別するように構成され得る。対応する情報は、少なくとも1つのオブジェクトの可動性特性を表すスクリプトを含み得る。スクリプトを適用することにより、ロボットを制御するようにプロセッサを構成することができる。スクリプトを適用すると、ロボットは、スクリプトで定義された可動性の特性に基づいて、少なくとも1つのオブジェクトと相互作用するかもしれない。
【0116】
幾つかの実施例において、少なくとも1つのプロセッサは、シーン内の画像要素を処理することによってシーンをセグメント化するように構成される。画像要素は、ボクセル、点、又はポリゴンのうちの少なくとも1つを含む。
【0117】
幾つかの実施例において、ロボットは、シーンの画像情報を生成するように構成されたカメラを含む。
【0118】
幾つかの実施例において、可動性特性は、外部刺激に基づいて少なくとも1つのオブジェクトの動きを定義(規定)する少なくとも1つのルールを含む。
【0119】
幾つかの実施例において、少なくとも1つのプロセッサは、少なくとも1つのオブジェクトの可動特性に基づいて、ロボットによって少なくとも1つのオブジェクトに及ぼされる外部刺激を調整するように構成される。
【0120】
幾つかの実施例において、少なくとも1つのプロセッサは、ロボットと少なくとも1つのオブジェクトとの相互作用に基づいて変更されたシーンを生成するように構成される。
【0121】
幾つかの実施例において、少なくとも1つのプロセッサは、変更されたシーンを表示のために出力するように構成される。
【0122】
幾つかの実施例において、その少なくとも1つのプロセッサは、その少なくとも1つのオブジェクトと関連付けられたもう1つのスクリプトを選択し、ここで、そのもう1つのスクリプトはシーン内において少なくとも1つのオブジェクト及び少なくとも1つの他のオブジェクトの間の相互作用を表し、及び、そのスクリプトをその少なくとも1つのオブジェクトに適用するように、更に構成される。
【0123】
追加の開示された実施例は、ロボットを制御するためのコンピュータで実施される方法を含む。この方法は、ロボットに関連する環境を描写するシーンの画像情報を受信することを含み得る。この方法は、シーンをセグメント化して、シーン内の少なくとも1つのオブジェクトの画像を抽出することを含み得る。この方法は、複数のオブジェクトに関する情報を格納するデータ構造にアクセスすることを含み得る。この方法は、抽出された画像をデータ構造内の情報と比較して、少なくとも1つのオブジェクトに関するデータ構造内の対応する情報を識別することを含み得る。対応する情報は、少なくとも1つのオブジェクトの可動性特性を表すスクリプトを含み得る。この方法は、スクリプトを適用することによってロボットを制御することを含み得る。スクリプトを適用することは、ロボットが、スクリプトで定義された可動性の特性に基づいて、少なくとも1つのオブジェクトと相互作用することを引き起こすかもしれない。
【0124】
幾つかの実施例において、シーンのセグメント化は、シーン内の画像要素を処理することを含み、画像要素は、ボクセル、点、又はポリゴンのうちの少なくとも1つを含む。
【0125】
幾つかの実施例において、画像情報を受信することは、ロボットに関連付けられたカメラを使用してシーンの画像情報を生成することを含む。
【0126】
幾つかの実施例において、この方法は、少なくとも1つのオブジェクトの可動特性に基づいて、ロボットによって少なくとも1つのオブジェクトに及ぼされる外部刺激を調整することを更に含む。
【0127】
幾つかの実施例において、この方法は、ロボットと少なくとも1つのオブジェクトとの相互作用に基づいて変更されたシーンを生成することを更に含む。
【0128】
幾つかの実施例において、この方法は、変更されたシーンを表示のために出力することを更に含む。
【0129】
幾つかの実施例において、この方法は、その少なくとも1つのオブジェクトと関連付けられたもう1つのスクリプトを選択することと、ここで、そのもう1つのスクリプトはシーン内において少なくとも1つのオブジェクト及び少なくとも1つの他のオブジェクトの間の相互作用を表し、及び、そのスクリプトをその少なくとも1つのオブジェクトに適用すること、を更に含む。
【0130】
追加の開示された実施例は、プログラム命令を記憶することができる非一時的なコンピュータ可読記憶媒体を含み、これは、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサにロボットを制御するための動作を実行させることができる。操作(オペレーション)は、シーンをセグメント化して、シーン内の少なくとも1つのオブジェクトの画像を抽出することを含み得る。操作(オペレーション)は、複数のオブジェクトに関する情報を格納するデータ構造にアクセスすることを含み得る。操作(オペレーション)は、抽出された画像をデータ構造内の情報と比較して、少なくとも1つのオブジェクトに関するデータ構造内の対応する情報を識別することを含み得る。対応する情報は、少なくとも1つのオブジェクトの可動性特性を表すスクリプトを含み得る。操作(オペレーション)は、スクリプトを適用することによるロボットの制御を含み得る。スクリプトを適用すると、ロボットは、スクリプトで定義された可動性の特性に基づいて、少なくとも1つのオブジェクトと相互作用するかもしれない。
【0131】
追加の開示された実施例は、三次元(3D)コンテンツ作成を自動化するためのシステムを含む。システムは、少なくとも1つのプロセッサを含み得る。プロセッサは、シーンのスキャンを受信するように構成することができる。プロセッサは、スキャンをセグメント化して、シーン内の少なくとも1つのオブジェクトを特定(識別)するように構成され得る。プロセッサは、特定されたオブジェクトに対応する画像データをスキャンから抽出するように構成することができる。プロセッサは、抽出された画像データを使用して少なくとも1つのデータ構造を検索(サーチ)し、特定(識別)されたオブジェクトに対する少なくとも1つの補完的なオブジェクトの少なくとも1つの画像を特定(識別)するように構成され得る。プロセッサは、少なくとも1つのデータ構造から、少なくとも1つの補完的なオブジェクトの3D表現を取得するように構成され得る。プロセッサは、少なくとも1つの補完的なオブジェクトの3D表現を、特定(識別)されたオブジェクトに対応する部分以外のシーンのスキャンの部分と組み合わせることによって、ハイブリッドシーンを生成するように構成され得る。プロセッサは、表示装置上に提示するためにハイブリッドシーンを出力するように構成され得る。
【0132】
幾つかの実施例において、少なくとも1つの補完的なオブジェクトの少なくとも1つの画像は、複数の補完的なオブジェクトの複数の画像を含む。
【0133】
幾つかの実施例において、少なくとも1つのプロセッサは、複数の補完的なオブジェクトの複数の画像のインデックスを表示するために出力するように更に構成される。
【0134】
幾つかの実施例において、少なくとも1つのプロセッサは、複数の補完的なオブジェクトのうちの少なくとも1つの選択をユーザから受信し;及びシーンのスキャン内にその選択を挿入するように更に構成される。
【0135】
幾つかの実施例において、抽出された画像データは、特定(識別)されたオブジェクトの分類を含む。
【0136】
幾つかの実施例において、少なくとも1つのプロセッサは、分類に基づいて少なくとも1つの補完的なオブジェクトを特定(識別)する。
【0137】
幾つかの実施例において、少なくとも1つのプロセッサは、シーン内の少なくとも1つの特定(識別)されたオブジェクトのためのセマンティックタグを生成するように構成される。
【0138】
幾つかの実施例において、少なくとも1つのプロセッサは、特定(識別)されたオブジェクトのセマンティックタグを少なくとも1つのデータ構造に格納されたオブジェクトのセマンティックタグと比較し、そして、その比較に基づいて少なくとも1つの補完的なオブジェクト(complementary object)を選択するように構成される。
【0139】
幾つかの実施例において、少なくとも1つのデータ構造は、セマンティックタグに関連付けられた3Dシーンを含む。
【0140】
追加の開示された実施例は、3Dコンテンツを自動化するためのコンピュータで実施される方法を含む。この方法は、シーンのスキャンを受信することを含み得る。この方法は、スキャンをセグメント化して、シーン内の少なくとも1つのオブジェクトを特定(識別)することを含み得る。この方法は、スキャンから特定(識別)されたオブジェクトに対応する画像データを抽出することを含み得る。この方法は、抽出された画像データを使用して少なくとも1つのデータ構造を検索(サーチ)し、特定(識別)されたオブジェクトに対する少なくとも1つの補完的なオブジェクトの少なくとも1つの画像を特定(識別)することを含み得る。この方法は、少なくとも1つのデータ構造から、少なくとも1つの補完的なオブジェクトの3D表現を取得することを含み得る。この方法は、少なくとも1つの補完的なオブジェクトの3D表現を、抽出されたオブジェクトに対応する部分以外の受信されたスキャンの部分と組み合わせることによってハイブリッドシーンを生成することを含み得る。この方法は、表示装置上に提示するためにハイブリッドシーンを出力することを含み得る。
【0141】
幾つかの実施例において、この方法は、複数の補完的なオブジェクトの複数の画像のインデックスを表示するために出力することを更に含む。
【0142】
幾つかの実施例において、この方法は、ユーザから、複数の補完的なオブジェクトのうちの少なくとも1つの選択を受け取ること、及び、その選択をシーンのスキャンに挿入すること、を含む。
【0143】
幾つかの実施例において、この方法は、分類に基づいて少なくとも1つの補完的なオブジェクトを特定(識別)することを更に含む。
【0144】
幾つかの実施例において、この方法は、シーン内の少なくとも1つの特定(識別)されたオブジェクトのためのセマンティックタグを生成することを更に含む。
【0145】
幾つかの実施例において、この方法は、特定(識別)されたオブジェクトのセマンティックタグを、少なくとも1つのデータ構造に格納されたオブジェクトのセマンティックタグと比較することと、及び、その比較に基づいて少なくとも1つの補完的なオブジェクトを選択すること、を含む。
【0146】
幾つかの実施例において、動作(オペレーション)は、シーン内の少なくとも1つの特定(識別)されたオブジェクトのためのセマンティックタグを生成することを更に含む。
【0147】
追加の開示された実施例は、プログラム命令を格納することができる非一時的なコンピュータ可読記憶媒体を含み、これは、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに自動化された3Dコンテンツ作成を可能にする操作を実行させることができる。操作(オペレーション)は、シーン内の少なくとも1つのオブジェクトを特定(識別)するためにスキャンをセグメント化することを含み得る。操作(オペレーション)は、スキャンから識別されたオブジェクトに対応する画像データを抽出することを含み得る。操作(オペレーション)は、抽出された画像データを使用して少なくとも1つのデータ構造を検索(サーチ)し、特定(識別)されたオブジェクトに対する少なくとも1つの補完的なオブジェクトの少なくとも1つの画像を特定(識別)することを含み得る。操作(オペレーション)は、少なくとも1つのデータ構造から、少なくとも1つの補完的なオブジェクトの3D表現を取得することを含み得る。操作(オペレーション)は、少なくとも1つの補完的なオブジェクトの3D表現を、抽出されたオブジェクトに対応する部分以外の受信されたスキャンの部分と組み合わせることによって、ハイブリッドシーンを生成することを含み得る。操(オペレーション)作は、表示装置上に提示するためにハイブリッドシーンを出力することを含み得る。
【0148】
追加の開示された実施例は、3Dコンテンツを3D放送(ブロードキャスト)シーンに追加するためのコンピュータで実施されるシステムを含む。システムは、少なくとも1つのプロセッサを含み得る。プロセッサは、複数のクライアントデバイス上に少なくとも1つの3D放送(ブロードキャスト)シーンを表示するように構成され得る。プロセッサは、3D放送(ブロードキャスト)シーン内の少なくとも1つのオブジェクトに対応する少なくとも1つのタグをクライアントデバイス上に表示するように構成され得る。プロセッサはまた、少なくとも1つのタグ付けされたオブジェクトに少なくとも1つの入札を行うための命令をクライアントデバイス上に表示するように構成され得る。更に、プロセッサは、クライアントデバイスから、少なくとも1つのタグ付けされたオブジェクトに対する1つ又は複数の入札を受信するように構成され得る。プロセッサは、受信した1つ又はそれ以上の入札の中から落札(勝利)を決定するように構成することができ、落札(勝利)は、クライアントデバイスの中から落札(勝利)クライアントデバイスに関連付けられる。プロセッサはまた、落札(勝利)クライアントデバイスから、少なくとも1つのタグ付けされた画像に対応する落札者(勝者)の画像データを受信するように構成され得る。プロセッサは、3D放送(ブロードキャスト)シーンから、少なくとも1つのタグ付けされたオブジェクトに対応する3D画像データを分離するように構成され得る。更に、プロセッサは、落札者(勝者)の画像データを抽出された3D画像データと組み合わせることによって、タグ付けされたオブジェクトの3Dハイブリッドレンダリングを生成するように構成され得る。そして、プロセッサは、ハイブリッドレンダリングをハイブリッド3D放送(ブロードキャスト)シーンに挿入するように構成され得る。
【0149】
幾つかの実施例において、3D放送(ブロードキャスト)シーンは、ビデオゲームの一部である。
【0150】
幾つかの実施例において、3D放送(ブロードキャスト)シーンは、3D映画の一部である。
【0151】
幾つかの実施例において、3D放送(ブロードキャスト)はオンライン広告の一部である。
【0152】
幾つかの実施例において、少なくとも1つのプロセッサは、落札者(勝者)画像データに対して画像処理を実行して、落札者(勝者)画像データを3D放送(ブロードキャスト)シーンのフォーマットと互換性のあるものにするように更に構成される。
【0153】
幾つかの実施例において、3D放送(ブロードキャスト)シーンは、複数のフレームを含み、挿入は、複数のフレーム内の落札(勝ち)画像データからオブジェクトをレンダリングする。
【0154】
幾つかの実施例では、落札者(勝者)の画像データは、3D放送(ブロードキャスト)シーン内の既存のコンテンツに落札者(勝者)の画像データが重ね合わせ(オーバーレイ)されるように、3D放送(ブロードキャスト)シーンに挿入される。
【0155】
幾つかの実施例において、少なくとも1つのプロセッサは、各シーンに対する空間セマンティックグラフ(spatial semantic graph)を生成し、その生成された空間セマンティックグラフをデータ構造に格納されたシーンの空間セマンティックグラフと比較し、その生成された空間セマンティックグラフと同様の空間セマンティックグラフを有するデータ構造内でシーンを特定し、及び、そのデータ構造内で特定されたシーンに基づいて3Dブロードキャストシーンに関する情報を決定するように構成される。
【0156】
追加の開示された実施例は、3Dコンテンツを3D放送(ブロードキャスト)シーンに追加するためのコンピュータ実装方法を含む。この方法は、複数のクライアントデバイス上に少なくとも1つの3D放送(ブロードキャスト)シーンを表示することを含み得る。この方法はまた、クライアントデバイス上に、3D放送(ブロードキャスト)シーン内の少なくとも1つのオブジェクトに対応する少なくとも1つのタグを表示することを含み得る。更に、この方法は、少なくとも1つのタグ付けされたオブジェクトに少なくとも1つの入札を行うための指示をクライアントデバイスに表示することを含み得る。この方法は、1つ又はそれ以上のクライアントデバイスから、少なくとも1つのタグ付きオブジェクトに対する1つ又はそれ以上の入札を受信することを含み得る。この方法は、入札の中から落札(勝利入札)を決定することを含み得、落札(勝利入札)は、クライアントデバイスからの落札(勝利)クライアントデバイスに関連付けられる。この方法はまた、落札(勝利)クライアントデバイスから、少なくとも1つのタグ付けされた画像に対応する落札者(勝者)の画像データを受信することを含み得る。この方法はまた、3D放送(ブロードキャスト)シーンから、少なくとも1つのタグ付けされたオブジェクトに対応する3D画像データを分離することを含み得る。この方法は、落札者(勝者)の画像データを抽出された3D画像データと組み合わせることによって、タグ付けされたオブジェクトの3Dハイブリッドレンダリングを生成することを含み得る。この方法は又はイブリッドレンダリングをハイブリッド3D放送(ブロードキャスト)シーンに挿入することを含み得る。更に、この方法は、3Dハイブリッド放送(ブロードキャスト)シーンを放送(ブロードキャスト)することを含み得る。
【0157】
幾つかの実施例において、この方法は更に、各シーンの空間セマンティックグラフを生成すること;その生成された空間セマンティックグラフをデータ構造に格納されているシーンの空間セマンティックグラフと比較すること;その生成された空間セマンティックグラフに類似する空間セマンティックグラフを有するシーンを特定すること;及びデータ構造における特定されたシーンに基づいて3Dブロードキャストシーンに関する情報を決定すること、を含む。
【0158】
追加の開示された実施例は、プログラム命令を記憶することができる非一時的なコンピュータ可読記憶媒体を含み、それは、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、3Dブロードキャストシーン内にコンテンツの選択的挿入を可能にするオペレーションを実行させることができる。そのオペレーションは、複数のクライアントデバイス上に少なくとも1つの3Dブロードキャストシーンを表示することを含み得る。この方法はまた、クライアントデバイス上に、3Dブロードキャストシーン内の少なくとも1つのオブジェクトに対応する少なくとも1つのタグを表示することを含み得る。更に、そのオペレーションは、少なくとも1つのタグ付けされたオブジェクトに少なくとも1つの入札(bid)を行うための命令をクライアントデバイス上に表示することを含み得る。そのオペレーションは、1つ又はそれ以上のクライアントデバイスから、少なくとも1つのタグ付けされたオブジェクトに対する1つ又はそれ以上の入札を受け取ることを含み得る。そのオペレーションは、入札の中から落札(処理入札)を決定することを含み得、落札は、クライアントデバイスからの落札(勝利)クライアントデバイスに関連付けられる。この方法はまた、落札(勝利)クライアントデバイスから、少なくとも1つのタグ付けされた画像に対応する落札者(勝者)の画像データを受信することを含み得る。この方法はまた、3D放送(ブロードキャスト)シーンから、少なくとも1つのタグ付けされたオブジェクトに対応する3D画像データを分離することを含み得る。操作は、落札者(勝者)の画像データを抽出された3D画像データと組み合わせることによって、タグ付けされたオブジェクトの3Dハイブリッドレンダリングを生成することを含み得る。この方法は又はハイブリッドレンダリングをハイブリッド3D放送(ブロードキャスト)シーンに挿入することを含み得る。加えて、そのオペレーションは、3Dハイブリッドブロードキャストシーンを放送(ブロードキャスト)することを含み得る。
【0159】
開示されたシステム及び方法は、従来のハードウェア及びソフトウェア、ならびに開示された方法ステップに関連する機能を実行するために特別に構築及び/又はプログラムされた機械などの特殊なハードウェア及びソフトウェアの組み合わせを使用して実施され得る。前述の一般的な説明及び以下の詳細な説明は、例示的かつ説明的なものにすぎず、特許請求の範囲を限定するものではない。
【0160】
VI. 詳細な記述
例示的な実施例は、添付の図面を参照して説明される。数字は必ずしも一定の縮尺で描かれているわけではない。開示された原理の例及び特徴が本明細書に記載されているが、変更、適合、及び他の実施は、開示された実施例の精神及び範囲から逸脱することなく可能である。また、「からなる」、「有する」、「含有する」、「含む」という単語、及び他の同様の形式は、意味において等価であり、これらの単語のいずれかに続く1つ又は複数の項目が、そのような1つ又は複数の項目の限られるリストを意味するものではない、又は、リストされる1つ又は複数の項目だけに限られることを意味する。本明細書及び添付の特許請求の範囲で使用される場合、単数形「a」、「an」、及び「the」は、文脈が明確に別段の指示をしない限り、複数形の参照を含むことにも留意されたい。
【0161】
用語
ボクセル(voxel):ボクセル(voxel)は、閉じたn角形[n辺(面)ポリゴン](例えば、立方体、ピラミッド形、又は如何なる閉じたn辺(面)ポリゴン)であってもよい。シーン内のボクセルは、サイズにおいて均一又は不均一であり得る。ボクセルは、シーン内で一貫して成形されてもよく、又は、シーン内で異なってもよい。
【0162】
メッシュ(Mesh):本開示の実施例において、メッシュは、シーン内のオブジェクトの外面を表す2D又は3D空間内の1セットの多角形[多面体](ポリゴン)(例えば、三角形、四角形等)を含み得る。メッシュは、1セットのコントロールポイント(control points)と、そのコントロールポイントによって作成された1セットのn角形[n面体](ポリゴン)によって規定され得る。n角形[n辺(面)体](ポリゴン)は、如何なる数の「n」個の辺(面)を有し得る。ポリゴンの辺は、如何なる長さであってもよく、その辺の長さは不規則であってもよい(即ち、辺の長さはシーン内で変化し得る)。メッシュは、数百万のコントロールポイントのような、如何なる数のコントロールポイント又はポリゴンを含んでもよい。幾つかの実施例において、メッシュは、コントロールポイントのセット及びそれらの間の関係を確立することによって作成され得る。幾つかの実施例において、メッシュの生成は、以前に生成されたオブジェクトの挿入を含み得る。点群(ポイントクラウド(point cloud))は、直交平面(例えば、X、Y、及びZ座標)のような座標系における1つのセットのデータポイントを含み得る。メッシュは、視点(viewpoint)の位置、向き、及び/又はズームを含む1つ又はそれ以上の視点(perspectives)からユーザに提示されるように構成され得る。メッシュ又は点群は、スキャンに基づいて作成され得る。より一般的には、スキャンに基づいてシーンを生成することは、メッシュ、点群、又は他の形式(フォーマット)として、それを表すために画像を処理することを含み得る。例えば、スキャンは、現実の世界のスナップショットを撮ること、及び、上述される形式(フォーム)の1つにおいて、それをデジタル的に表現すること、を含み得る。メッシュは、シーンを表す複数のボクセル、又は、空間のサブセットのボクセルマッピング(voxel-mapping)を含み得る。メッシュ又は点群は、WEBVR、VRMESH、MESHROOMVR、FARO SCENE、MESHMAKERのようなソフトウェア、及び/又は、メッシュを生成及び/又は編集するように構成されたその他のプログラム又はアプリケーション、を使用して作成され得る。メッシュ又は点群は、オブジェクト、境界、アニメーション、又はメッシュの他のプロパティを規定するコンピューティングコード(computing code)(即ち、スクリプト)に関連付けられ得る。
【0163】
セグメンティング(Segmenting)又はセグメンテーション(Segmentation):本開示の実施例と一致して、セグメンティング(セグメント化)は、システムによって特定(識別)可能なオブジェクト又は部分への画像の分離を可能にする如何なる計算又はプロセスを含み得る。幾つかの実施例において、静止画像は、ディスクリートコンポーネント又はパーツにセグメント化され又は特徴付けられ得る。ディスクリートコンポーネント又はパーツは、オブジェクトのすべて又は一部が含まれ得る。シーン又は画像は、例えば、画像要素(例えば、ピクセル、点(ポイント)、ポリゴン、ボクセルなど)のグループを互いに関連付けすること、及び、グループを分割オブジェクト又はオブジェクトの部分に関連付けられているものとして特定(識別)すること、によってセグメント化され得る。セグメンテーション中に、これらの要素のグループは、オブジェクトに割り当てられ得る。セグメント化は、スキャンされたシーンの1つ又はそれ以上の基本要素(例えば、3Dにおける三角形、又は3Dにおける点(ポイント))をシーン内のオブジェクトに属するものとしてタグ付け、ラベル付け、特定(識別)、又は別様に分類することが含まれ得る。即ち、セグメント化は、シーンの画像要素をオブジェクトに分割する(即ち、分類する)ことを含み得る。セグメント化は、多数の点(ポイント)又はポリゴン(例えば、数十万のポリゴン)を静止画像内の複数のディスクリートコンポーネントにマッピングすることを含み得る。セグメント化は、1つ又はそれ以上のディスクリートコンポーネントに基本的な画像要素(ボクセル等)をマッピングするため、オブジェクト認識アルゴリズム及び/又は機械学習モデルの実施を含み、セグメント化アルゴリズムの実施を含み得る。使用され得る画像セグメンテーションアルゴリズム及び方法の例は、限られることなく、閾値法、クラスタリング手法、圧縮方法、ヒストグラムベースの方法、エッジ検出、デュアルクラスタリング手法、領域拡張法;パラメトリック法、レベルセット法、及び高速マーチング法(fast marching methods)のような偏微分方程式ベースの方法、変分法、グラフ分割法(graph partitioning methods)、流域変換(watershed transformations)、モデルベース法(model-based methods)、マルチスケール法(multi-scale methods)、半自動セグメンテーション(semi-automatic segmentation)、トレーニング可能なセグメンテーション(trainable segmentation)、及びディープラーニングアルゴリズム(deep learning algorithms)を含む。セグメント化は、シーンの色、形状、コントラスト、及び/又は他の特徴に基づくかもしれない。セグメント化は、画像要素が特定の個別コンポーネントに属する確率を割り当てることを含み得る。一例として、システムは、画像を複数のディスクリートコンポーネントにセグメント化し得る。セグメント化は、画像の基本要素を分類するために、ディープラーニングモデルの実施を含み得る(例えば、畳み込みニューラルネットワークモデル(convolutional neural network model)、例えば、PointNet)。幾つかの実施例において、セグメント化は、スキャンされたシーン(即ち、2Dスナップショット)の複数の2D表現を生成することを含み得るが、その2D表現は、3Dスキャンされたシーンの様々な角度からの2次元への投影を含む。2Dスナップショットは、複数のピクセルを含み得る。1つのピクセルは、複数の画像要素に対応し得る。例えば、視線に沿った1セットの画像要素は、2Dスナップショット内のピクセルに対応し得る(即ち、画像要素のセットをピクセルにマッピングすることによって2Dスナップショットを生成する)。2Dスナップショットは、重複(オーバーラップ)するかもしれない(即ち、1つ又はそれ以上の同じオブジェクトを含み得る)。セグメント化は、2Dスナップショットの1つ又はそれ以上のピクセルを、個別コンポーネントに属するものとして、タグ付け、ラベル付け、特定(識別)、又は別様に分類すること、及び、その1つ又はそれ以上のピクセルを1つのセットの3D要素にマッピングすること、を含み得る(例えば、2Dスナップショットを生成するために使用されるマッピング(mapping)の逆写像(逆マッピング(inverse mapping))を実施することにより)。セグメント化は、既知の分類及び/又は未知の分類に対応するコンポーネントの特定(識別)を含んでもよく、及び、分類モデル(classification model)を実施することを含んでもよい。
【0164】
オブジェクト及び/又は画像データの比較:開示された実施例と一致して、オブジェクト及び/又は画像データ(例えば、完全又は部分的な画像表現、画像要素、3DモデルCADモデル、テキスト又はその画像に関連する他の情報)を比較することは、分類アルゴリズム(例えば、機械学習モデル)を実施することを含み得る。オブジェクト及び/又は画像データを比較することは、ここにおいて記述されるように、類似性メトリック(similarity metric)のような1つ又はそれ以上の基準を生成することを含み得る。オブジェクト及び/又は画像データの比較は、シーン内のオブジェクトのセグメント化、即ち、オブジェクトの面、線、表面、又はそれ自体がオブジェクトであるコンポーネントのようなオブジェクトのコンポーネントを特定(識別)すること(例えば、車オブジェクトのコンポーネントオブジェクトとしてホイールを特定(識別)すること)を含み得る。オブジェクト及び/又は画像データの比較は、画像オブジェクト識別子に基づいてもよい。オブジェクト及び/又は画像の比較は、オブジェクト及び/又は画像に関連付けられたセマンティックタグ又は空間セマンティックグラフの比較を含み得る。オブジェクト及び/又は画像の比較は、オブジェクト及び/又は画像に関連する特徴ベクトルを比較することを含み得る。比較は、テキストデータ、形状データ、ユーザーデータ、及び/又はその他のデータに基づいて比較することを含み得る。このような比較は、例としてだけではあるが、類似性の統計分析、又は類似性を特定(識別)する人工知能ベースのアプローチを含み得る。一例において、比較は、比較されたオブジェクト及び/又は画像の間の類似度(性)を示す類似性メトリック(similarity metric)を決定することを含み得る。例えば、開示されたシステムは、比較されたオブジェクト及び/又は画像に対応する特徴ベクトルを生成又は読み出し、そして、その特徴ベクトルを比較してもよい。幾つかの実施例において、開示されたシステムは、例えば、マルチビューニューラルネットワーク(multi-view neural networks)又は他のタイプのニューラルネットワークを使用して特徴ベクトルを生成してもよい。開示されたシステムは、類似性メトリックに基づいて、比較されたオブジェクト及び/又は画像の間の類似度(性)を決定することができる。類似性メトリックは、類似性の度合いの何らかの尺度を表すスコアを含んでもよい。類似性メトリックは、共分散、最小二乗距離、又は整列(位置合わせ)されたオブジェクト間のハウスドルフ距離のような統計的類似性に基づいていてもよい。
【0165】
結合画像又はハイブリッド画像の生成(画像の挿入、マージ(merging)、又は置換による):開示された実施例と一致して、結合画像又はハイブリッド画像の生成は、第1の画像の一部又は全部を第2の画像の一部又は全部と組み合わせることを含んでもよい。従って、例えば、プロセッサは、第1の画像に関連付けられた幾つか又はすべての画像要素を、第2の画像に関連付けられた幾つか又はすべての画像要素と組み合わせてもよい。結合画像又はハイブリッド画像の生成は、第1の画像内のオブジェクトを第2の画像内のオブジェクトと同じ向き(即ち、オブジェクトを整列すること)及び同様のサイズ(即ち、オブジェクトを拡大縮小すること)で配置することを含んでもよい。例として、第1の画像内のオブジェクトを第2の画像内のオブジェクトに整列させることは、第1の画像の画像要素の(x、y、z)座標を、第2の画像内におけるこの要素の所望の位置であるT(x、y、z)に変換する、或いは、逆に変換する、アフィン変換を含んでもよい。他の実施例において、結合画像又はハイブリッド画像を生成することは、画像要素の2つのファミリーの幾つか又はすべての結合をとることを含み得る。更に他の実施例において、結合画像又はハイブリッド画像を生成することは、融合要素を取得するために、第1の画像の幾つか又はすべての画像要素及び第2の画像の幾つか又はすべての画像要素の特性を組み合わせることを含み得る。例えば、第1の画像及び第2の画像が、ポリゴンのファミリーを含むとする。各ポリゴンは、テクスチャに関連付けられ得る。テクスチャは、画像からポリゴンへの2Dマッピングであってよいが、このポリゴンがビューアーにどのように表示されるかを表す(例えば、ポリゴンの異なるパーツが、異なる色を有してもよい)。第1の画像及び第2の画像のアラインメントTは、対応するポリゴンファミリのマッチングを決定するために使用されてもよい。例えば、第1の画像からのポリゴンは、第1の画像内のポリゴンに対して最も近い第1の画像ポリゴンを見つけるために、変換Tを使用して、第2の画像内のポリゴンにマッピングされてもよい。マッチングを使用して、システムは、第1の画像及び第2の画像のポリゴンの頂点をマッチングしてもよい。開示されたシステムはまた、色、テクスチャ、材料特性などを、第1の画像のポリゴンから第2の画像のポリゴンに転送してもよく、又はその逆に転送してもよい。幾つかの実施例において、オブジェクトを整列すること、及び/又は、オブジェクトを拡大縮小することは、主成分分析(PCA)の使用を含み得る。結合画像又はハイブリッド画像を生成することは、開示された実施例と一致する、画像処理技術(例えば、明るさの調整、照明の調整、勾配ドメイン法(gradient domain method)の実施など)の使用を含み得る。当業者が認識するように、勾配ドメイン法は、第1の画像の画像要素の勾配を第2の画像の画像要素の勾配と統合することによって、或いは、その逆にすることにより、ハイブリッド画像を構築することを含み得る。結合画像又はハイブリッド画像を生成することはまた、テクスチャ、材料、可動性、色、陰影などのような、1つ又はそれ以上の特性を、第1の画像の一部又はすべての画像要素から第2の画像の一部又はすべての画像要素に転送すること、或いは、その逆に転送することを含み得る。幾つかの実施例において、結合画像又はハイブリッド画像を生成することは、第1の画像における画像要素に基づいて、第2の画像における追加の画像要素を生成すること、或いは、その逆を更に含み得る。
【0166】
データ構造:本開示と一致するデータ構造は、データ値の如何なるコレクション及びそれらの間の関係を含み得る。データは、直線的に、水平的に、階層的に、リレーショナルに、非リレーショナルに、一次元的に、多次元的に、オペレーション的に、順序付けられた方法で、順序付けられていない方法で、オブジェクト指向の方法で、集中化された方法で、分散化された方法で、分配された方式で、カスタム方式で、又は、データアクセスを可能にする如何なる方法で格納され得る。非限定的な例として、データ構造は、配列、連想配列、連結リスト、二分木(バイナリツリー)、平衡木(バランスドツリー)、ヒープ、スタック、キュー、セット、ハッシュテーブル、レコード、タグ付き共用体、ERモデル、及びグラフを含み得る。例えば、データ構造は、XMLデータベース、RDBMSデータベース、SQLデータベース、又は、例えば、MongoDB、Redis、Couchbase、Datastax Enterprise Graph、Elastic Search、Splunk、Solr、Cassandra、Amazon DynamoDB、Scylla、HBase、及びNeo4Jのようなデータストレージ/検索用のNoSQL代替手段を含み得る。データ構造は、開示されたシステムのコンポーネント又はリモートコンピューティングコンポーネント(例えば、クラウドベースのデータ構造)であり得る。データ構造内のデータは、連続メモリ又は非連続メモリに格納され得る。更に、ここにおいて使用されるようなデータ構造は、情報が同じ場所に配置されることを必要としない。例えば、同じエンティティ又は異なるエンティティによって所有又はオペレーションされてよい複数のサーバーに渡って分配されていてもよい。従って、ここにおいて単数形で使用されるような「データ構造」という用語は、複数のデータ構造を含む。
【0167】
プロセッサ:開示された実施例と一致して、「少なくとも1つのプロセッサ」は、1つの入力又は複数の入力に対して論理演算を実行する電気回路を有する如何なる物理デバイス又はデバイスのグループを構成し得る。例えば、その少なくとも1つのプロセッサは、アプリケーション固有の集積回路(ASIC)、マイクロチップ、マイクロプロセッサ、マイクロプロセッサ、中央処理装置(CPU)の全部又は一部、グラフィックス・プロセッシング・ユニット(GPU)、デジタル・シグナル・プロセッサ(DSP)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、サーバー、仮想サーバー、又は、論理演算を実施するために又は命令を実行するために適したその他の回路を含む1つ又はそれ以上の集積回路(IC)を含み得る。少なくとも1つのプロセッサによって実行される命令は、例えば、コントローラと統合された又はコントローラに埋め込まれたメモリに予め組み込まれ(プリロードされ)得るか、又は別個のメモリに格納され得る。
【0168】
メモリ:メモリは、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスク、光ディスク、磁気媒体、フラッシュメモリ、その他の永久、固定、若しくは揮発性メモリ、又は命令を格納できるその他のメカニズムを含み得る。幾つかの実施例において、その少なくとも1つのプロセッサは、2つ以上のプロセッサを含み得る。各プロセッサは、同様の構造を有してもよく、又は、互いに電気的に接続又は切断される異なる構造のものであってもよい。例えば、そのプロセッサは、別個の回路であってもよく、又は単一の回路に統合されていてもよい。複数のプロセッサが使用される場合、それらのプロセッサは、独立して又は協調して動作するように構成され得る。プロセッサは、電気的、磁気的、光学的、音響的、機械的、又はそれらが相互作用することを可能にする他の手段によって結合され得る。
【0169】
本開示は、仮想現実(VR)、拡張現実(AR)、及び複合現実(MR)技術及びアプリケーションにおいて使用するためのコンピュータ実施広告入札システム(computer-implemented advertising bidding systems)に関する。本開示は、リアルタイムの市場広告インベントリ(real time market advertisement inventory)又はリアルタイムで生成された供給とリアルタイムの消費者の意図とのマッチング及び広告の正確かつ効果的なターゲティングを配信するため、AR、VR、及びMR技術及びアプリケーション内の新しい種類の広告に対するソリューションを提供する。本開示は、AR、VR、及びMR技術及びアプリケーションの例を提供するが、それらの最も広い意味での開示の態様は、特定の例に限定されないことに留意されたい。むしろ、前述の原理は、他のコンピュータ化された現実化技術及びアプリケーションに適用されてもよいことが考えられる。
【0170】
以下の説明において、本開示のより徹底的な理解を提供するために、様々な特定の詳細が与えられている。しかしながら、当業者にとって、本開示は、これらの詳細のうちの1つ又はそれ以上がなくても実施され得ることは明らかであろう。
【0171】
本開示は、一般に、コンピュータ化された環境にコンテンツを挿入するための入札に関する。入札は、コンテンツの挿入と引き換えに価値のあるもの(例えば、お金)を提供することを含み得る。入札は、入札自体の側面(態様)を指定することが含まれ得る(例えば、入札が受け入れられるオファー期間)。入札は、タイミング、対象となるオーディエンス、期間、金銭的価値、又は挿入されたコンテンツの他の側面のような、挿入されたコンテンツの側面を特定することが含まれ得る。幾つかの実施例において、入札は、オブジェクト(例えば、車、ボトル、チェア、ドア)、シーンのタイプ(例えば、オフィス、リビングルーム、アートギャラリー)、時間(例えば、午後1時から午後2時の間)又は/及びターゲットにされた特定の場所(例えば、ニューヨーク市、5番街)、又はユーザーのクラス(即ち、視聴者のクラス)を含むかもしれない。
【0172】
本実施例と一致して、入札はリアルタイムであり得る。例えば、入札は、オンラインオーディエンスへの送信中又は他のブロードキャスト中に発生し得る。開示されたシステムは、シーン分析又はシーン内のオブジェクトの分析に基づいて、そのシーン内のどのオブジェクト、シーン、又は要素がインベントリ又はリアルタイムの市場供給とマッチングするかを決定するように構成され得る。開示された実施例と一致して、マッチングは、シーン、インベントリ、又はリアルタイムの市場供給の複数の抽出されたデータ又は特徴に基づいて実施され得る。
【0173】
VR、AR、及びMRという用語は、一般に、3次元(3D)環境のような物理環境をシミュレートする又はそれにちなんでモデル化されたコンピューター化された環境を指す。AR、VR、及びMRは、環境内の実際のシーン及びオブジェクト(AR及びMRの場合)並びに仮想オブジェクトに関連付けられた情報及び機能でもって没入して自然な方法においてユーザが相互作用できる技術である。VR、AR、及びMR環境は、実際の世界の物理環境を記述するデータに基づいている場合もあれば、そうでない場合もあるかもしれない。最も広い意味でのVRは、AR及びMR環境を含む、没入型マルチメディア又はコンピューターでシミュレートされた現実を指すかもしれない。没入型マルチメディア体験は、3Dにおいてインタラクティブな現実の世界の体験をシミュレートするような方法において情報を提示し(例えば、ヘッドセットなどを介して)、及び、ジェスチャー、視線、発話等のような現実の世界の入力に対応するユーザー入力をキャプチャーし得る、ものであり得る。AR及びMRは、現実の世界からセンサデータをデジタルオブジェクトと融合させて、ユーザーがリアルタイムにおいてデジタルオブジェクトと相互作用できるようにし得る、部分的にコンピューター化された環境又はハイブリッド環境を示し得る。VR、AR、及びMR技術は、ヘッドマウントディスプレイ、コンピューター、又はコンピューター化された現実を生成及び表示するための他のハードウェアのような、ハードウェアの組み合わせが含まれ得る。
【0174】
本開示はまた、広告に関する。広告は、広い観点から、媒体を介してオーディエンスに情報を表示する行為を含み、これは、特定の媒体を介して特定のオーディエンスに特定の情報を表示することを含み得る。ディスプレイバナー、画像、ビデオ、3Dモデル、3Dフィルター、オーディオ、又はテキストのクリック可能な広告は、特定のオーディエンスセグメントをターゲットにする、又は特定のユーザー向けに高度にパーソナライズされたすべてのタイプの広告ユニットである。広告業界は、ビッグデータ分析、ユーザーインタラクション分析、及び種々なタイプの機械学習最適化手法を組み込むことのような、種々な解析技術を通して、的を絞った(ターゲット化された)広告の特定のオーディエンス及び彼らの使用に対する特定のメディアの研究において多大な労力をつぎ込むかもしれない。
【0175】
本開示は、AR、VR、及びMR技術の放送(ブロードキャスト)に関するかもしれない。本開示において使用されるような放送(ブロードキャスト)は、ネットワークを介した複数の個人への送信を含み得る。例えば、放送(ブロードキャスト)は、マルチプレーヤーゲームをプレイする多くのプレーヤー又はスポーツイベントを見ている多くのビューアーへの送信を含み得る。一般に、放送(ブロードキャスト)は、現実のシーン又は仮想のシーンと同じ又は類似の視界(ビュー)にさらされたビューアーへの送信を含み得る。放送(ブロードキャスト)は、インターネット、ケーブルテレビ、又は多くのユーザーに同時にデータを送信するための他の如何なる媒体を介した送信を含み得る。
【0176】
幾つかの実施例において、広告主オブジェクトは、放送(ブロードキャスト)を受信するすべての個人への送信に挿入され得る。幾つかの実施例において、広告主オブジェクトは、ブロードキャストを受信する個人のサブセットへの送信に挿入され得る。例えば、広告主オブジェクトは、時刻、国、言語等のようなビューアーの環境の特性、性別及び年齢のようなビューアーの特性に基づいてビューアーの送信に挿入されたり、又は、ビューアーの送信から除外されたりすることがある。
【0177】
以下の記述において、本開示のより徹底的な理解を提供するために、様々な特定の詳細が与えられている。しかしながら、当業者にとって、本開示は、これらの詳細の1つ又はそれ以上がないとしても実施され得ることは明らかであろう。
【0178】
本開示は、特定のオーディエンス又は特定のユーザーに広告をターゲティングするための技術を提供することを意図している。この応用(アプリケーション)は、AR、MR、又はVRアプリケーションを搭載したデバイスを介して消費される環境において使用され得る。本開示は、AR、MR、VRの消費されるシーン内で宣伝され得る、与えられるオブジェクトに値を関連付けさせるリアルタイム入札システムと、観察されたシーン又はシーンの一部、或いは、シーン内の単一又は部分的なオブジェクトでさえも、この新規な方法でマッチングさせることができる。
【0179】
その入札システムは、広告主又は広告エージェントが、入札することを可能にするか、又は、提案された値を所与のオブジェクトに関連付けることを可能にする。値を関連付けさせることは、時間、場所、シーンの記述等のような特定のフィルターを使用して、又は使用せずに達成し得る。入札システムは、広告主又は広告エージェントが、それらの広告ユニット(例えば、バナー、画像、ビデオ、又は3Dモデル)を関連付けさせることができ、及び、提案された値をそれらの特定の広告ユニットに関連付けさせることができるように、特定のオブジェクト又はシーンの一部を、広告主又は広告エージェントに押し出す(プッシュする)かもしれない。
【0180】
幾つかの実施例において、広告主又は広告エージェントは、広告ユニットを所与の1つ又は複数のオブジェクトに関連付けることができる。例えば、自動車メーカーは、特定のバナー、3Dモデル、画像、又はビデオを「スポーツカー」として特定されるオブジェクトに関連付けられ得る。製造業者がオブジェクト「スポーツカー」に割り当てる値に基づいて、マッチングシステムは、いつ、どこで、及びどのユーザに広告が表示されるかを決定することができる(即ち、マッチングシステムは、広告を表示するための、シーン、オブジェクト、時間、又は場所を決定することができる)。
【0181】
典型的な使用のケースは、AR又はMR環境における実際のスポーツカーに没入型の方法でバナーを追加することが含まれ得る。別の使用のケースは、VRの消費されるシーン内のデジタル化されたスポーツカーモデルにバナーを追加することが含まれ得る。更に別の使用のケースは、AR又はMR環境を含み得、AR又はMR環境における実際のスポーツカーを宣伝されたスポーツカーに置き換えることを含み得るが、従って、AR又はMR環境を経験しているユーザは、実際のスポーツカーの代わりに表示される宣伝されたスポーツカーを見るであろう。同様の応用(アプリケーション)は、VRシーンにおける元々のモデルを宣伝されたモデルに置き換えることができる。
【0182】
本開示の幾つかの実施例のためVR構築されたシーンにおいて、そのシーンの設計者又はクリエーターは、どのオブジェクトが置換又は広告ユニットの埋め込みに良い候補であるかを事前に決定することができる。
【0183】
幾つかの例示的な実施例において、実際の(リアル)オブジェクト、コンテンツプロバイダ、又は他の如何なる人、機械、又は組織の所有者は、どのオブジェクトをAR又はMR環境における宣伝されたオブジェクトに置き換えることができるか、又はどのオブジェクトが広告を埋め込むことができるかを事前に定義することができる。例えば、現実の世界の店舗を含むAR又はMR環境において、製品の店舗又はメーカは、AR又はMRベースの広告を埋め込んで、製品、その価格、又は使用法を記述するコンテンツを追加し得る。
【0184】
入札システムは、どの広告ユニットをAR/MR/VR消費者シーンに組み込むべきかに関する様々なパラメータを選択することができる。そのようなパラメータは、限られることなく、宣伝された形状に対する実際の又はデジタル化された形状との類似性;広告主又は広告エージェントによって割り当てられたオブジェクトに関連付けられた値;又は広告ユニット、タイムゾーン、場所等とユーザが相互作用する可能性を含み得る。
【0185】
本開示の様々な例示的な実施例によれば、新規のシーン増強及び再構成の概念は、広告主が形状又はオブジェクトに入札し(即ち、形状ベースの検索)、その後、静止画又はビデオコンテンツに製品を挿入することを可能にし得る。例えば、仮想ゲーム環境に関連して、自動車メーカが車の形状に入札してもよく、落札者の車がゲーム環境において表示されるであろう。同様に、飲料メーカがボトルに入札することを許可され、その後、落札者の飲料ボトルがオンラインビデオに現れてもよい。そして、より一般的な意味において、誰でも壁に入札してもよく、落札者のメッセージは、他のオンラインコンテンツの表示の一部として壁に現れてもよい。
【0186】
本開示に基づく広告システム(又は視覚入力再構成システム)の実施の例を以下に示す。この例において、ユーザは、VRヘッドセットを使用してゲームをプレイすることができ、ゲーム内で、ユーザは、ゲームによって生成されたオフィスチェア(即ち、「ゲームチェア」)を備えた部屋に入ることができる。この例において、開示された広告システムは、ゲームチェアを、ブランドのチェアのような広告主によって提供された別のチェアと交換することができる。
【0187】
1つの実施例において、ゲームは、環境の3D表現を使用してゲーム開発者によってプログラムされ得る。広告システムは、ゲーム内のユーザに見える環境の一部を分析し得る。開示されたシステムは、可視環境をチェア、テーブル、ベッドなどのような個別の検出されたオブジェクトに分割するため、例えば、シーンセグメンテーションを使用することにより、オブジェクトを検出(即ち、認識する)することができる。セグメント化は、オブジェクトの面、表面、又はそれ自体がオブジェクトであるコンポーネントのような、シーン又はオブジェクトのコンポーネントを特定することが含まれ得る(例えば、ホイールを車のオブジェクトコンポーネントとして特定する)。セグメント化は、本開示の実施例と一致して、上で論じたセグメント化のための技術を使用して、追加的又は代替的に実行され得る。例えば、そのシステムは、機械学習モデルを含むオブジェクト認識モデルを使用してもよい。広告システムは、可視シーンから検出されたオブジェクトを、オブジェクトのデータ構造内のオブジェクトと比較することができる。本開示の実施例と一致する例示的なデータ構造は、上記に記述されている。本開示の実施例と一致して、広告システムは、上で論じたオブジェクト及び/又は画像データを比較するための技術を使用して、追加的又は代替的に比較を実行することができる。
【0188】
データ構造は、オブジェクトを説明するテキストを含み得、開示されたシステムは、検出されたオブジェクト及びデータ構造オブジェクトの間の類似性の尺度を決定し得る。類似性の尺度は、ラベル、テキスト、ユーザ入力、形状、又はモデル出力(例えば、分類モデル出力又は統計モデル出力)に基づくことができる。開示されたシステム及び/又はユーザは、類似性の尺度及び基準(例えば、閾値を満たすこと)に基づいて、データ構造ラベルに対応するテキストでオブジェクトにタグを付けることができる。この例において、開示されたシステムは、「オフィスチェア」とタグ付けされたデータ構造オブジェクトに類似するシーン内のシーンオブジェクトを特定することができる。
【0189】
この例を続けると、広告システムは、「オフィスチェア」に関連付けられているとして特定された入札(例えば、「オフィスチェア」というテキストを含む入札)を受信し及び比較することができる。入札は、広告主のチェアに関連付けられ得る。そのシステムは、その比較に基づいて最大の入札(例えば、最高のドル値での入札)を決定し、そして、その入札を落札として選択することができる。従って、広告システムは、ゲームチェアオブジェクトをシーンから削除し、広告主チェアを、既存のシーンに可能な限り自然にマッチするように、正しい向き、サイズ、及び照明においてシーンに挿入することができる。
【0190】
この例において、広告システムは、落札を決定するために、受け取った入札を分析することができる。例えば、開示された実施例と一致して、入札はチェアの画像を含み得、開示されたシステムは、その画像をスキャンし、そのチェアを検出し、更にそのチェアがオフィスチェアであると決定し得る。開示されたシステムは、ユーザーが見ることができる場合、このチェアの背後にバナーを付けることができる。
【0191】
当業者が認識するように、例示的な実施例において、VRヘッドセットをプラスしたゲームは、視覚入力再構成システムの特殊なケースである。ゲーム開発者によって設計されたある場合でユーザによって見えるゲーム環境は、既存のコンテンツフレームの特殊なケースである。この例において、「オフィスチェア」というテキストによるオフィスチェアオブジェクトの表現は、オブジェクト画像識別子の特殊なケースである。本開示と一致する他の例が可能である。
【0192】
本開示によれば、既存のコンテンツフレームへのコンテンツの選択的挿入を可能にするためのコンピュータ実施の視覚入力再構成システムが開示される。視覚入力再構成システムは、VR、AR、又はMR環境を含む如何なる2D又は3Dメディアを生成及び/又は表示することができるシステムを含み得る。例えば、視覚入力再構成システムの特殊なケースは、VRヘッドセットで再生されるソフトウェアベースのゲームのような、VRヘッドセットで見ることができるコンテンツを生成するシステムが含まれ得る。視覚入力再構成システムは、VRヘッドセットを含み得る。他の例示的な視覚入力再構成システムは、部屋のカメラビューに要素を追加するMR体験を備える電話又はタブレットと;実際の環境に追加されている追加の要素を備える視聴される部屋の3D体験を表すMRヘッドセットと;又は実際の又は仮想のシーンと相互作用するユーザによって使用される他の如何なる装置と互換性のあるコンテンツを含むか、又は生成することができる。
【0193】
開示された実施例と一致して、既存のコンテンツフレームは、特定の時間にユーザによって見られる、又は見られることを意図された画像を含み得る。既存のコンテンツフレームは、例えば、ゲーム開発者によって設計されたゲーム環境の表現を含み得る。既存のコンテンツフレームは、電話、コンピュータ画面、MRヘッドセット、又はその他の装置を通して見られるように、現実そのものの画像を含み得る。幾つかの実施例において、既存のコンテンツフレームは、現実及び仮想オブジェクト(即ち、AR/MR)の画像を含み得る。既存のコンテンツフレームは、年齢又は興味のような視聴者(ビューアー)(例えば、ゲームをプレイするユーザ)の特性を含む情報を含み得る。現実の特性(プロパティ)は、日付、時刻、又は場所のような、既存のコンテンツフレームにおいて含まれ得る。幾つかの実施例において、体験の特性(プロパティ)は、ゲームや画像データ(例えば、RGBデータ)及び/又は深度カメラデータを体験しているユーザの視界の角速度のような、既存のコンテンツフレーム内に含まれ得る。既存のコンテンツフレームはまた、ユーザ装置の位置、並進及び回転、及び/又はユーザ装置の速度及び加速度を抽出するためにユーザ装置内に埋め込まれたGPSデータ、ジャイロスコープデータ、又は加速度計データのようなセンサデータを含み得る。特定のヘッドマウントデバイスのような幾つかの装置は、特定のタイミングで、シーンのどの要素がユーザにより関連しているのかを判断するため、目の動きをキャプチャし、ユーザの視線を追跡する。
【0194】
既存のコンテンツフレームは、静止画像、一連のビデオフレーム、一連の仮想3Dコンテンツフレーム、又はホログラムのうちの少なくとも1つを含み得る。静止画像は、如何なる画像形式(例えば、.JPG)において画像を含め得る。一連のビデオフレームは、ある速度で視聴者(ビューアー)に提供されると、動きの様子を与える2D又は3Dにおける一連のフレームを含み得る。一連のビデオフレームは、.MP4のような、既知のビデオ形式又は他の既知の形式において、フォーマットされ得る。一連の仮想3Dコンテンツフレームは、開示された実施例と一致して、VR、MR、又はARコンテキストにおいて提示のために構成された一連の3Dビデオフレームを含み得る。ホログラムは、結果として生じる投影された光が3Dオブジェクトの外観を有するように投影用に構成されたデータを含み得る。例えば、ホログラムは、分割コヒーレント放射線ビームを放出することができる装置(デバイス)(例えば、レーザー)に提供されると、分割コヒーレント放射線ビームによる干渉のパターンから生じる3次元画像を作成するデータを含み得る。
【0195】
幾つかの実施例において、視覚入力再構成システムは、少なくとも1つのプロセッサを含み得る。プロセッサは、メモリにアクセスするように構成され得る。プロセッサ及びメモリの例示的な記述は、上記で、及び
図2を参照して、記述されている。
【0196】
幾つかの実施例において、システムのプロセッサは、複数のオブジェクト画像識別子を格納するメモリにアクセスするように構成され得る。オブジェクト画像識別子は、オブジェクト画像を表すテキストを含み得る。例えば、オフィスチェアのオブジェクト画像は、「オフィスチェア」というテキストで表し得る。幾つかの実施例において、オブジェクト画像識別子は、形状、形状の記述子、製品、又は製品の記述子の少なくとも1つを含み得る。形状は、形状データ、座標、ベクトル、メッシュ又はグリッドを含む形状データ、形状の表現(例えば、2D又は3Dモデル)、又は形状に関連する如何なる他のデータを含み得る。形状の記述子は、テキストデータ、ラベル、分類、タグ、及び/又は形状を記述又は特定する他の如何なるデータをも含み得る。製品は、形状データ(例えば、スポーツカーの表面のような製品の物理的表面の表現を提供する形状データ)を含み得る。製品の記述子は、テキストデータ、ラベル、分類、タグ、及び/又は製品を説明又は特定するその他の如何なるデータをも含み得る。
【0197】
幾つかの実施例において、オブジェクト画像識別子は、形状類似性エンジンの出力を含み得る。この例を説明するために、広告主は、広告主のチェアの画像をオブジェクトデータ構造内のゲームチェアと比較して、広告システムによって提供される形状類似性エンジンを介して特定のオフィスチェアの画像を実施することができる。広告主は、オフィスチェアに対する広告主の理解を表す検索結果を承認又はその他の方法で示すことができる。幾つかの例示的な実施例において、広告システムは、ゲーム中に、ゲームチェアの画像をデータ構造内の広告主チェアの画像と比較する類似性検索を実施することができる。そのシステムは、ゲームチェア及び候補広告主チェアの間の類似性メトリックを満足する結果を特定することができる。類似性メトリックは、画像データ、オブジェクトデータ、及び/又は2つのオブジェクト画像の間の形状データの間の類似性の度合のある程度の尺度を表すスコアを含み得る。類似性メトリックは、共分散、最小二乗距離、画像要素に関連付けられたベクトル間の距離(例えば、特徴ベクトル)、又は整列されたオブジェクト間のハウスドルフ距離のような統計的類似性に基づくことができる。類似性メトリックは、ここにおけるの他の場所でより詳細に記述されているように、特徴ベクトルに基づき得る。ゲームチェア及び広告主チェアの間の類似性に基づいて、そのシステムは、広告主が広告主チェアの画像をゲームシーンに配置することに興味があるかもしれないと判断することができる。そのシステムは、本開示の実施例と一致して、ゲームチェアの画像をデータ構造内の広告主チェアの画像と比較するために、上記で論じたオブジェクト及び/又は画像データを比較するための1つ又はそれ以上の技術を追加的に又は代替的に使用することができる。
【0198】
幾つかの実施例において、オブジェクト画像識別子は、アルゴリズムによって生成されたテキストを含み得る。例えば、広告主は、オブジェクトを記述するテキストを提供することができ、テキスト解析システムは、オブジェクト画像識別子において使用するためにテキストから関連するキーワードを抽出することができる。幾つかの実施例において、オブジェクト画像識別子は、分類モデルの結果に基づく情報を含み得る。例えば、広告主が製品の1つ又はそれ以上の画像を提供し、3D又は2Dマッチングアルゴリズムがゲームシーン内の類似したオブジェクトを特定し得る。2Dマッチングアルゴリズムの例として、ニューラルネットワークは、画像を1つ又はそれ以上のオブジェクトにセグメント化し、オブジェクトを分類することができる。幾つかの実施例において、ニューラルネットワークは、類似のオブジェクトを特定し、及び/又は3Dシーン又は2D画像内のオブジェクトを分類するように訓練(トレーニング)されたディープラーニングモデル(例えば、畳み込みニューラルネットワークモデル)を含み得る。例えば、ニューラルネットワークは、2Dスナップショットの1つ又はそれ以上のピクセルを、オブジェクトに属するものとしてタグ付け、ラベル付け、特定、又は別様に分類することができる。
【0199】
幾つかの実施例において、マッチングアルゴリズムは、3Dシーン内のオブジェクトを特徴ベクトルにマッピングすること(即ち、特徴ベクトルを生成すること)を含み得る。幾つかの実施例において、システムは、シーンコンポーネントの特徴ベクトル及び/又は3Dシーン内のオブジェクトの特徴ベクトルを計算することができる。特徴ベクトルは、実数又は他のデータのシーケンスを含み得る。特徴ベクトルは、シーンコンポーネント又はマッチしたコンポーネントの回転及び/又は位置変更に関連する情報を含み得る。特徴ベクトルの生成は、マルチビュー畳み込みニューラルネットワーク(multi-view convolutional neural network)のような機械学習モデルの使用を含み得る。例えば、マルチビュー畳み込みニューラルネットワークは、3D形状の複数の2D表現(即ち、スナップショット)、様々な視点(例えば、オブジェクトの写真)からの2D画像への3D形状の投影を含む2D表現を受け入れることができる。
【0200】
本開示と一致して、オブジェクト及び体験の他の特性(プロパティ)の間の相互作用は、オブジェクト画像識別子内に含まれ得る。例えば、オブジェクト画像識別子は、年齢又は興味のような、ゲームをプレイするユーザの特性(プロパティ)(即ち、ユーザデータ)を含み得る。他のユーザデータは、特定情報、使用情報、購入履歴、相互作用履歴等を含み得る。幾つかの実施例において、年の日付及び時刻のような現実の特性(プロパティ)は、オブジェクト画像識別子に含まれ得る。オブジェクト画像識別子は、ゲームを体験しているユーザーの視界(ビュー)の角速度のような、体験の特性(プロパティ)を含み得る。
【0201】
本開示によれば、複数のオブジェクト画像識別子は、複数のオブジェクトに関連付けられ得る。幾つかの実施例において、オブジェクト画像識別子は、それぞれのオブジェクトに関連付けられ得る。各オブジェクト画像識別子は、異なるオブジェクトに関連付けられ得る(即ち、オブジェクト画像識別子はユニークであり得る)。幾つかの実施例において、オブジェクト画像識別子は、複数のオブジェクトに関連付けられ得る。例えば、「スポーツカー」に対するオブジェクト画像識別子は、さまざまなスポーツカーメーカ及びモデルに関連付けられ得る。幾つかの実施例において、複数のオブジェクト画像識別子は、同じオブジェクトに関連付けられ得る。特定の例として、「チェア」に対するオブジェクト画像識別子及び「オフィス家具」に対するオブジェクト画像識別子は、オフィスチェアを表すオブジェクト画像に関連付けられ得る。当業者が認識し得るように、オブジェクト画像識別子に対応するオブジェクトは、壁、ビルボード、絵画用額縁、窓、コンピュータ画面、本の表紙、ドア、又は如何なる他のオブジェクトの少なくとも1つを含み得る。例えば、VRシーンは、壁(又は、2D画像が投影され得る他のオブジェクト)を有する部屋の表現を含み得、そして、オブジェクト画像識別子は、その壁に対応し得る。幾つかの実施例において、画像オブジェクト識別子は、オブジェクトの2D画像、オブジェクトの抽象化された画像(例えば、一般的なボトル)、オブジェクトの3Dデータ、及び/又はオブジェクトを表す他の如何なるデータをも含み得る。
【0202】
幾つかの例示的な実施例において、視覚入力再構成システムは、1つ又はそれ以上のクライアント装置(デバイス)に、複数のオブジェクト画像識別子の1つのオブジェクト画像識別子を送信することができる。送信には、TCP/IPネットワークのような如何なるネットワークを介した送信が含まれ得る。クライアント装置(デバイス)は、電話、タブレット、モバイルデバイス、コンピュータ、サーバー、サーバーのクラスター、クラウドコンピューティングサービス、及び/又はその他のクライアントデバイスを含み得る。幾つかの実施例において、クライアント装置(デバイス)は、広告システム(即ち、広告主、広告代理店、エージェントなどによって管理されるシステム)を含むか、又はそのコンポーネントであり得る。クライアント装置(デバイス)は、開示された実施例と一致して、ネットワーク(例えば、ネットワーク140)を介して視覚入力再構成システムに接続することができる。幾つかの実施例において、クライアント装置(デバイス)は、短距離無線技術(例えば、BLUETOOTH(登録商標)、WI-FI)又は有線接続(例えば、USBケーブル)を介して視覚入力再構成システムに接続することができる。幾つかの実施例において、クライアント装置(デバイス)は、画像オブジェクト識別子に基づいて(例えば、インターフェースを介して)情報を送受信するように構成され得る。幾つかの実施例において、クライアント装置(デバイス)は、画像オブジェクト識別子に基づくアルゴリズム(例えば、入札を生成又は入札するためのアルゴリズム)を実施するように構成され得る。
【0203】
幾つかの実施例において、少なくとも1つのオブジェクト画像識別子を送信することにより、1つ又はそれ以上のクライアント装置(デバイス)によって、少なくとも1つのオブジェクト画像識別子が表示され得る。オブジェクト画像識別子を表示することは、スクリーン、投影、発光コンポーネント、又は情報を表示する他の手段による表示を含み得る。表示は、スピーカーを介したオーディオ信号の再生を含み得る。
【0204】
幾つかの例示的な実施例において、少なくとも1つのオブジェクト画像識別子を送信することにより、1つ又はそれ以上のクライアント装置(デバイス)によってインターフェースが表示され得る。インターフェースは、ディスプレイ、VRヘッドセット、タッチスクリーン、キーボード、マウス、ゲームコンソール、及び/又はユーザに情報を提供し、ユーザ入力から情報を受信することができる他の如何なる入力又は出力装置(デバイス)を含み得る。インターフェースは、特定の使用コンテキスト(use context)(例えば、キオスク)専用にすることができる。インターフェイスは、ユーザによって構成され得る。
【0205】
インターフェースは、少なくとも1つのオブジェクト画像識別子について少なくとも1つの入札を行うように構成されてもよい。入札を行うことは、値をオブジェクト画像識別子に関連付けるユーザ入力を受け取ることを含み得る。入札は、期間(例えば、特定の時間において広告を掲載するための入札)、ユーザ数(例えば、1,000人のゲームプレーヤー)、レート(表示された単位時間あたりのコスト、又は放送(ブロードキャスト)を受ける人あたりのコスト)、又はその他の如何なる情報を含み得る。一例として、クライアント装置(デバイス)(例えば、広告主によってオペレーションされるクライアント装置(デバイス))は、ブロードキャスト受信者毎に0.10ドルの入札を行うことができる。当業者が認識するように、入札の他の例が可能である。入札は、以前になされた入札の更新を含み得る。
【0206】
インターフェースは、入札を行うためのオークションシステムを含み得る。例えば、インターフェースは、価格又は1セットの価格を送受信するように構成され得る。インターフェースは、複数の入札オプションを含むように構成され得る。例えば、インターフェースは、オブジェクト識別子に投影された小さな画像を追加するための1つのオプション、大きな画像のためのもう1つのオプション、オブジェクトを置き換えるためのもう1つのオプション、及びオブジェクトを置き換えて3D環境の特徴を変更するための更にもう1つのオプションを含み得る(例えば、照明の調整、音量レベルの変更など)。入札は、ここにおいて記述されるように、オブジェクト識別子画像及び広告主オブジェクトの間の類似性メトリックに関連し得る(例えば、類似性の程度が低いことを示すメトリックに対してより低い価格が利用可能であり得る)。
【0207】
インターフェースは、潜在的な広告主オブジェクトのシーンへの互換性に関連する情報を提供し得るデータなど、オブジェクト又はオブジェクト識別子の上にデータを提示することができる。例えば、シーン内のおもちゃのオフィスチェアは、フルサイズのオフィスチェアではないこと、又はフルサイズのオフィスチェアと互換性がないことを示すようにラベル付けされているかもしれない。色、スタイル、素材、及び、オブジェクトの他の如何なるプロパティ、又は入札に関連する可能性のある周囲との関係を含み、オブジェクトの他のプロパティが表示されてもよい。
【0208】
本開示によれば、視覚入力再構成システムは、1つ又はそれ以上のクライアントデバイスから、少なくとも1つのオブジェクト画像識別子に関連付けられた1つ又はそれ以上の入札を受け取ることができる。幾つかの実施例において、入札は、クライアントデバイス(例えば、広告主によってオペレーションされるクライアントデバイス)で受信されたユーザ入力に基づくことができる。幾つかの実施例において、入札は、ユーザ入力の有無にかかわらず入札を生成する及び応札するクライアントデバイスのアルゴリズム又は他の実行可能コードに基づくことができる。
【0209】
幾つかの実施例において、視覚入力再構成システムは、受信した1つ又はそれ以上の入札の中から落札を決定することができる。落札は、1つ又はそれ以上のクライアントデバイスの中から落札するクライアントデバイスに関連付けられ得る。幾つかの実施例において、落札の決定は、値(即ち、金額)、シーンに対する広告主オブジェクトの互換性、オーディエンスに関連する情報、及び/又は他の如何なる情報のような1つ又はそれ以上の基準に基づいてもよい。幾つかの実施例において、落札を決定するための基準は、入札勝者(落札者)が最初の入札に勝った後に2番目の入札を行う可能性に基づいてもよい。例えば、視覚入力再構成システムは、広告主が入札に勝った(落札した)ことから肯定的な結果を受け取る可能性が高く、広告主が将来2回目の入札を行う(応札する)可能性が高いと決定してもよい。肯定的な結果は、例えば、製品の購入、Webサイトのトラフィックの増加、ソーシャルメディアでの言及などを含み得る。落札を決定するための基準のここにおいて提供される例は、限定されることはなく、そして、他の基準も可能である。更に、当業者が認識するように、視覚入力再構成システムは、それぞれのオブジェクト画像識別子に関連付けられた受信した1つ又はそれ以上の入札の中から複数の落札を決定してもよい。
【0210】
より詳細には、基準は、価格及び/又はシーン内のオブジェクトの落札者(勝者)画像データ(例えば、オブジェクトの3Dモデル)に対する類似性メトリックのような数値を含み得る。幾つかの実施例において、類似性メトリックは、オブジェクトの特徴ベクトルに基づき得る。例えば、類似性メトリックは、それぞれのオブジェクトに関連付けられた2つの特徴ベクトル間の最小二乗距離推定を含み得る。最小二乗距離は、複数のオブジェクト(例えば、データ構造内の複数のランダムオブジェクト)に対するオブジェクトの平均類似性としてゼロ(0)を設定し、イチ(1)がそれ自身に対するオブジェクトの類似性メトリックを表すように、正規化されてもよい。幾つかの実施例において、基準は、宣伝(アドバタイズ)されたオブジェクトに関連付けられたタグ及びシーンオブジェクトに関連付けられたタグの間の類似性の尺度を含み得る。基準は、シーンにおいて満足される、空間基準又は他の意味的基準を含み得る。例えば、空間基準は、画像データが「テーブル上」にあることを指定し得る。別の例として、意味的基準は、コンピュータマウスが「ラップトップの近く」に配置されるため、画像データを配置する要求を含み得る。追加的又は代替的に、幾つかの実施例において、空間基準は、空間意味的グラフを含み得るが、これは、本開示において以下により詳細に論じられる。幾つかの実施例において、基準は、コンピューティング言語(例えば、コード、スクリプトなど)で記述され得る。例えば、基準は、システムによって提供される予め決定されたコンピューティング言語において書かれてもよく、そして、入札者は、基準を定義するスクリプトを提供してもよく、そして、そのシステムは、オブジェクトの提案された配置とともに、この基準がシーンにおいて満足されるかどうかをチェックしてもよい。
【0211】
幾つかの実施例において、視覚入力再構成システムは、落札者(勝者)のクライアントデバイスから落札者(勝者)の画像データを受信することができる。落札者(勝者)の画像データは、開示された実施例と一致する、如何なる画像データをも含み得る。落札者(勝者)の画像データは、オブジェクトの2D又は3D画像又はモデルを含み得る。例えば、オブジェクト画像識別子は、ソフトドリンクの缶に関連付けられた識別子を含み得、そして、落札者(勝者)画像データは、そのソフトドリンクの缶上に表示するのに適した飲料メーカの2Dロゴを含み得る。別の例として、落札者(勝者)の画像データは、メーカーのソフトドリンクの缶の3Dモデルを含み得る。開示された実施例と一致して、画像データは、.JPG、.BMP、.GIF、.PNG、.SVG、3Dベクトルフォーマット、コンピュータ支援設計(CAD)ファイル、.FLV、.MP4、.AVI、.MPG、.MP3、.MOV、.F4V、.VR、又はその他の画像、ビデオ、又はモデルフォーマットを含み如何なるフォーマットでもあり得る。幾つかの実施例において、落札者(勝者)画像データは、テキストデータ(例えば、シーン内のオブジェクトに投影するためのテキストデータ)及び/又は落札者(勝者)クライアントデバイスによって指定された他の如何なる変更(例えば、シーンの照明レベルの変更又はボリュームレベルの変更)をも含む。
【0212】
幾つかの実施例において、視覚入力再構成システムは、落札者(勝者)のクライアントデバイスから命令を受信するように構成され得る。その命令は、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトに対するサイズ制限を含み得る。例えば、サイズ制限は、最小又は最大のオブジェクトサイズ、ピクセル密度、フォントサイズ、又はその他のサイズ制限が含まれ得る。サイズ制限は、オブジェクトの拡大縮小、回転、又はその他の変形に関連する制限が含まれ得る。
【0213】
落札者(勝者)の画像データは、開示された実施例と一致して、1つ又はそれ以上のオブジェクトに関連し、シーンに挿入されるように構成されたデータを含み得る。例えば、入札は、空の部屋に関連し得、そして、落札者(勝者)の画像データは、部屋の壁に投影するためのテキストデータと、メッセージを伝えるマスコット(又は、他のスポークスパーソン)を表す画像オブジェクトデータとを含み得る。
【0214】
幾つかの実施例において、視覚入力再構成システムは、落札者(勝者)画像データを既存のメディアコンテンツフレームのフォーマットと互換性のあるものにするように、落札者(勝者)画像データに対して画像処理を実施するように構成され得る。例えば、落札者(勝者)の画像データは第1のフォーマットであり得、そして、既存のメディアコンテンツフレームは第2のフォーマットであり得る。視覚入力再構成システムは、中間の変換又は処理の有無にかかわらず、落札者(勝者)の画像データを第1のフォーマットから第2のフォーマットに変換するように構成され得る。フォーマットは、放送(ブロードキャスト)フォーマットを含み得る。落札者(勝者)の画像データの画像処理は、開示された実施例と一致して、画像処理の如何なる方法をも含み得る。例えば、画像処理は、明るさ、影、周囲光、コントラスト、色相、彩度、拡大縮小、トリミング、回転、引き伸ばし、フィルタリング、スムージングの調整、又は別様に画像データを変換することを含み得る。
【0215】
視覚入力再構成システムは、落札者(勝者)の画像データをメモリ内に格納することができる。メモリ内への格納は、データ構造に、インデックスに、データストレージに、ローカルメモリに、リモートメモリに格納すること、又は他の如何なる格納の方法をも含み得る。落札者(勝者)の画像データの格納(保存)は、如何なるファイル形式での格納(保存)をも含み得る。格納(保存)は、変換された落札者(勝者)の画像データを格納(保存)することを含み得る。
【0216】
本開示によれば、視覚入力再構成システムは、少なくとも1つの既存のメディアコンテンツフレームにおいて、オブジェクトのためのオブジェクト挿入位置を特定し得る。既存のメディアコンテンツフレームは、如何なる画像データ、ビデオデータ、VRデータ、ARデータ、MRデータなどを含み得る。既存のメディアコンテンツフレームは、仮想現実の視野を構成する複数のフレームを含み得る。バーチャルリアリティの視野は、VR、MR、又はAR環境の1つ又はそれ以上の視点からの視野を含み得る。例えば、VR環境は、出入り口、4つの壁、天井、床、及び家具を備えた仮想部屋を含み得る。バーチャルリアリティの視野を構成する複数のフレームは、出入り口に立っている人によって見られるように仮想部屋の複数のフレームを含み得る。別の例として、仮想現実の視野を構成する複数のフレームは、家具に座っている人によって見られるように仮想部屋の複数のフレームを含み得る。バーチャルリアリティの視野は、時間とともに変化し得る。
【0217】
オブジェクト挿入位置は、コンピュータ化された環境内の位置及び/又は方向を含み得る。オブジェクト挿入位置は、少なくとも1つのオブジェクト画像識別子に対応し得る(例えば、オブジェクト画像識別子は、テキスト「ドアハンドル」を含み得、そして、オブジェクト挿入位置は、ドアハンドルを表すドア上の位置に対応し得る)。オブジェクト挿入位置は、面、前面、側面、上面、又はオブジェクトのコンポーネントの場所のような、オブジェクトに関連付けられた位置を含み得る。オブジェクト挿入位置は、VR、AR、又はMR環境内の位置を含み得る。例えば、オブジェクトの挿入位置は、VRシーン内のチェアのセンターバックを識別(特定)するデータを含み得る(例えば、バナー広告を挿入するため)。オブジェクトの挿入位置は、シーン内のオブジェクト間の関係を含み得る。例えば、オブジェクト挿入位置は、別のオブジェクトへの近接性(例えば、「シーン内のテーブルの近く」)、又は別のオブジェクトに相対する方向(例えば、テーブルの前)を識別(特定)する情報を含み得る。より一般的には、ゲームオブジェクトを消去するアクションの有無にかかわらず、広告主オブジェクト及びゲームオブジェクトの間の2D又は3D変換は、すべてオブジェクトの挿入位置の例である。
【0218】
幾つかの実施例において、視覚入力再構成システムは、オブジェクト挿入位置に落札者(勝者)の画像データの少なくともレンディション(rendition)を挿入するために、少なくとも1つの既存のメディアコンテンツフレームを処理することにより、少なくとも1つの処理済みメディアコンテンツフレームを生成してもよい。既存のメディアコンテンツフレームの処理は、落札者(勝者)の画像データ又は落札者(勝者)の画像データのレンディションをコンピュータ化された環境内に挿入することを含み得る。落札者(勝者)の画像データのレンディションは、落札者(勝者)の画像データ自体を含み得る。幾つかの実施例において、落札者(勝者)の画像データの表現は、落札者(勝者)の画像データに基づく画像データを含み得る。処理は、落札者(勝者)の画像データを拡大縮小又は方向付けるために、ホモグラフィ(homography)の方法を使用することを含み得る。処理は、落札者(勝者)の画像データをコンピュータ化された環境内に混合(ブレンド)するために、勾配ドメイン法(gradient domain methods)又は他の画像処理技術を含み得る。処理は、明るさ、影、周囲光、コントラスト、色相、彩度の調整、又はその他の画像処理技術を含み得る。例えば、落札者(勝者)の画像データのレンディション(rendition)は、落札者(勝者)の画像データに基づいて、拡大縮小され、トリミングされ、回転され、引き伸ばされ、フィルタリングされ、スムージングされ、又は別様に変換された画像データを含み得る。処理されたメディアコンテンツフレームの生成は、主成分分析(Principal Component Analysis)(PCA)の使用を含み得る。
【0219】
既存のメディアコンテンツフレームの処理は、開示された実施例と一致して、落札者(勝者)の画像オブジェクトデータに基づいて、シーンにコンテンツを追加することを含み得る。即ち、落札者(勝者)の画像オブジェクトデータは、没入型体験に組み込まれ得る相互作用(インタラクティブ)オブジェクトのような追加のコンテンツを含み得る。一例として、落札者(勝者)のオブジェクトの入札は、チェアに座っている会社のマスコットに関連するデータを含み得る。この場合、マスコットの存在は、VRシーンの特性(プロパティ)を変更し得る(例えば、ファーストパーソンゲームプレイヤー(first person game player)は、仮想衝突なしでマスコットを通して歩くことができないかもしれない)。
【0220】
幾つかの実施例において、画像オブジェクトデータは、落札者(勝者)の画像オブジェクトの移動に関連するコード、テキスト、又は他の命令を含み得、そして、既存のメディアコンテンツフレームの処理は、命令の実行を含み得る。例えば、その命令は、マスコットをテーブルからジャンプさせてチェアに座らせるコードを含み得る。幾つかの実施例において、命令は、広告システムによって翻訳される自然言語で提供され得る(例えば、その命令は、「マスコットをジャンプさせる」ことであり得、そのシステムは、それに応じて既存のコンテンツフレームを処理し得る)。更に、前述のように、落札者(勝者)の画像オブジェクトデータは、ユーザの注意をオブジェクトに集中させる照明を追加することのような、シーンの特性(プロパティ)を変更するための命令を含み得る。
【0221】
本開示によれば、落札者(勝者)の画像データの少なくともレンディション(rendition)を挿入することは、複数のフレーム内で勝利のオブジェクトデータからオブジェクトをレンダリングし得る。例えば、勝利のオブジェクトデータは、放送(ブロードキャスト)内に仮想的に表示され得る。一例として、オブジェクトは特定のスポーツカーであり得、そして、勝利のオブジェクト画像データは、特定のスポーツカーの画像を含み得、そして、落札者(勝者)の画像データのレンディションを挿入することは、特定のスポーツカーを複数のフレーム内にレンダリングし得る。落札者(勝者)の画像データは、少なくとも1つの既存のコンテンツフレーム内に挿入され得、その結果、落札者(勝者)の画像データは、少なくとも1つの既存のコンテンツフレーム内の既存のコンテンツにオーバーレイされ得る。一例として、既存のコンテンツに落札者(勝者)の画像データをオーバーレイすることは、VR環境の視聴者(ビューアー)の観点から、ビルボードの画像を含む既存のコンテンツにロゴの画像を含む落札者(勝者)の画像データを重ね合わせることを含み得る。落札者(勝者)の画像データをオーバーレイすることは、オブジェクトにバナーを追加することを含み得る(例えば、チェアの背もたれ又はボトルにバナーを追加すること)。
【0222】
落札者(勝者)の画像データの挿入は、オブジェクトと相互作用する要素を追加することを含み得る(例えば、要素は、マスコットに関連するオブジェクトデータを含み得、及び、そのマスコットは、シーン内のチェアに座ることができる)。より一般的には、落札者(勝者)の画像データの挿入は、追加がオブジェクトをオーバーレイするか置き換えるかに関係なく、シーン内の他のオブジェクトと相互作用するかもしれないコンテンツを含む、コンテンツを追加するシーンへの如何なる追加をも含み得る。
【0223】
例えば、幾つかの実施例において、落札者(勝者)の画像データは、シーン内の1つ又はそれ以上のオブジェクトが互いに相互作用するときに挿入され得る。幾つかの実施例において、物理ベースのエンジン(オブジェクトのジャンプ、落下、プッシュをシミュレートする)及びセマンティックベースのエンジン(例えば、3D環境でセマンティックにタグ付けされ得る他のオブジェクトに向かって移動するように構成されたオブジェクト)は、オブジェクトが互いに相互作用するように使用され得る。広告主は、シーン内の2つのオブジェクトの間の相互作用に応じて、落札者(勝者)の画像データがシーン内に挿入されるように指定するルールを定義し得る。例として、広告主は、そのシーンが、床、テーブル、ラップトップを含むことを要求し得る。更に、広告主は、シーン内のオブジェクト間の相互作用を指定し得るが、例えば、小さな生き物が床にジャンプし、チェアにジャンプし、しばらく座って、次に起き上がり、テーブルにジャンプし、そして、姿を消す。広告主は、視聴者(ビューアー)の注意が落札者(勝者)の画像データの挿入に先立つ相互作用により捕獲(キャプチャー)されたことを確実にするように、相互作用が起こった後に、落札者(勝者)の画像データ(例えば、広告画像)が挿入されるように指定し得る。
【0224】
落札者(勝者)の画像データは、落札者(勝者)の画像データによって表されるオブジェクトの画像が少なくとも1つの既存のコンテンツフレーム内の既存のコンテンツを置き換えることができるように、少なくとも1つの既存のコンテンツフレームに挿入され得る。一例として、既存のコンテンツは、VRゲーム環境を通って移動する仮想スポーツカーを含み得、そして、特定のスポーツカーに関連する画像データを含む落札者(勝者)の画像データは、仮想のスポーツカーではなく、特定のスポーツカーをビューアーが知覚するように、仮想のスポーツカーを置換し得る。別の例として、都会のシーン内の家は、ファーストフードレストランに置き換えられ得る。幾つかの実施例において、落札者(勝者)の画像データは、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトの一部に挿入され得る。幾つかの実施例において、落札者(勝者)の画像データの少なくともレンディションを挿入することは、サイズ制限を含む命令に基づいているかもしれない。例えば、サイズ制限は、最大サイズを含み得、そして、少なくとも落札者(勝者)の画像データのレンディションを挿入することは、最大サイズ以下のサイズの落札者(勝者)の画像データのレンディションを挿入することを含み得る。上記で論じた2つの画像(例えば、第1の画像及び第2の画像)を組み合わせるための追加又は代替の技術はまた、本開示の実施例と一致して、落札者(勝者)の画像データで、既存のコンテンツフレーム内に1つ又はそれ以上のオブジェクト又は画像を置換すること、或いは、少なくとも1つの既存のコンテンツフレームに落札者(勝者)の画像データを挿入及び/又はオーバーレイすることにより、少なくとも1つの処理されたメディアコンテンツフレームを生成するために、使用され得る。
【0225】
幾つかの実施例において、視覚入力再構成システムは、少なくとも1つの処理されたメディアコンテンツフレームを1つ又はそれ以上のユーザデバイスに送信することができる。ユーザデバイスは、モバイルデバイス、VRヘッドセット、ゲームコンソール、コンピュータ、サーバー、及び/又は他の如何なるユーザデバイスのような、メディアコンテンツを受信及び/又は表示するように構成された如何なるデバイスをも含み得る。送信は、ブロードキャストを含み得る。前述のように、ブロードキャストは、ネットワークを介した複数の個人への送信を含み得る。幾つかの実施例において、送信することは、処理されたメディアコンテンツフレームを1つ又はそれ以上のユーザデバイスの第1のユーザデバイスに送信することを含み得る。幾つかの実施例において、送信することは更に、落札者(勝者)の画像データを除外する様式で、少なくとも1つの既存のメディアコンテンツフレームを第2のユーザデバイスに送信することを含み得る。このようにして、メディアコンテンツフレームは、特定のオーディエンスに対してターゲット化され得る。例えば、処理されたメディアコンテンツフレームは、既存のメディアコンテンツフレーム内の通常のソフトドリンクを置き換えたダイエットソフトドリンクの画像を含み得る。この場合、第1のユーザデバイスは、健康志向の人として識別(特定)された人に関連付けられたユーザデバイスであり得、一方、第2のユーザデバイスは、以前に通常のソフトドリンクを購入した人として識別(特定)された人に関連付けられ得る。
【0226】
前述のステップ及び方法が、リアルタイムで実行され得ることは、理解されるべきである。幾つかの実施例において、視覚入力再構成システムは、少なくとも1つの既存のコンテンツフレームをリアルタイムで取得し、及び、落札者(勝者)画像データのレンディションを少なくとも1つの既存のコンテンツフレームにリアルタイムで挿入するように構成され得る。当業者が認識するように、ステップは、様々な順序で実行され得、そして、幾つか又はすべてのステップは、リアルタイムで放送(ブロードキャスト)を変更するために繰り返され得る。例えば、幾つかの実施例において、既存のコンテンツフレームに表示される落札者(勝者)の画像データは、所定の期間の後に変化してもよい。この例を説明するために、VR環境内の仮想ビルボードは、最初のロゴを含む落札者(勝者)の画像データを10分間表示し、そして、その10分の終わりに2番目のロゴを表示してもよい。所定の時間は、広告システム(即ち、視覚入力再構成システム)によって設定されてもよい。幾つかの実施例において、入札は、所定の時間を含んでもよい(例えば、広告主は、画像オブジェクトを表示するための時間を設定してもよい)。幾つかの実施例において、所定の時間は、ユーザ(即ち、オーディエンスメンバー(an audience member))によって決定されてもよい。当業者が認識するように、所定の期間は、予定された時間を含んでもよい(例えば、所定の期間の後に表示される勝利の画像データを変更することは、午後3時で、のように設定された時間での変更を含んでもよい)。
【0227】
図1は、本開示の実施例と一致して、2D又は3Dシーン又は画像を増強(augmenting)又は再構築(reconstructing)するための例示的なシステム100を示す。示されるように、システム100は、クライアントデバイス110、視覚入力再構成システム120、データ構造130、及び/又はユーザデバイス150を含み得る。システム100の構成要素(コンポーネント)は、ネットワーク140を介して互いに接続され得る。幾つかの実施例において、システム100の側面は、1つ又はそれ以上のクラウドサービスにおいて実装され得る。幾つかの実施例において、システム100の側面は、モバイルデバイス、コンピュータ、サーバ、サーバのクラスタ、又は複数のサーバクラスタを含むコンピューティングデバイス上に実装され得る。
【0228】
当業者によって理解されるように、システム100の構成要素(コンポーネント)は、様々な方法で配置され、及び、適用できる場合は、ハードウェア、ファームウェア、及び/又はソフトウェアの適切な如何なる組み合わせで実装され得る。例えば、
図1の描写と比較して、システム100は、より大きな又はより小さな数のクライアントデバイス、視覚入力再構成システム、データ構造、ユーザデバイス、及び/又はネットワークを含み得る。加えて、システム100は、開示された実施例と一致して、1つ又はそれ以上のプロセスの実行、又は、その実行における支援を行う、図示されていない他のコンポーネント又はデバイスを更に含み得る。
図1に示される例示的な構成要素(コンポーネント)及び配置は、開示された実施例を限定することを意図するものではない。
【0229】
幾つかの実施例において、クライアントデバイス110は、広告主、広告エージェント、及び/又は他の如何なる個人又は組織に関連付けられ得る。例えば、クライアントデバイス110は、開示された実施例と一致して、広告主が既存のメディアコンテンツフレーム内にコンテンツを挿入することについて入札することを可能にするソフトウェアを実行するように構成され得る。クライアントデバイス110は、開示された実施例と一致するオペレーションを実行するように構成された1つ又はそれ以上のメモリユニット及び1つ又はそれ以上のプロセッサを含み得る。幾つかの実施例において、クライアントデバイス110は、ハードウェア、ソフトウェア、及び/又はファームウェアモジュールを含み得る。クライアントデバイス110は、モバイルデバイス、タブレット、パーソナルコンピュータ、端末、キオスク、サーバー、サーバークラスタ、クラウドサービス、ストレージデバイス、開示された実施例による方法を実行するように構成された特殊なデバイス等を含み得る。クライアントデバイスは、ユーザ入力を(例えば、インターフェースで)受信し、情報(例えば、画像及び/又はテキスト)を表示し、他のデバイスと通信し、及び/又は開示された実施例と一致する他の機能を実行するように構成され得る。幾つかの実施例において、クライアントデバイスは、別のデバイスから(例えば、視覚入力再構成システム120から)受信した情報に基づいて入札を行うアルゴリズムを実装するように構成される。
【0230】
視覚入力再構成システム120は、開示された実施例と一致して、コンピューティングデバイス、コンピュータ、サーバ、サーバクラスタ、複数のサーバクラスタ、及び/又はクラウドサービスを含み得る。視覚入力再構成システム120は、開示された実施例と一致するオペレーションを実行するように構成された1つ又はそれ以上のメモリユニット及び1つ又はそれ以上のプロセッサを含み得る。視覚入力再構成システム120は、システム100の他のコンポーネント及び/又はシステム100の外部のコンピューティングコンポーネントから(例えば、ネットワーク140を介して)データを受信し、データを読み出し、及び/又はデータをそれらに送信するように構成され得る。
【0231】
データ構造130は、1つ又はそれ以上のサーバー、サーバーの1つ又はそれ以上のクラスター、又は1つ又はそれ以上のクラウドサービスにおいてホストされ得る。幾つかの実施例において、データ構造130は、視覚入力再構成システム120(図示せず)の構成要素(コンポーネント)であり得る。データ構造130は、画像、ビデオデータ、画像オブジェクト情報、画像オブジェクト識別子、メタデータ、ラベル、及び/又は他の如何なるデータをも格納するように構成された1つ又はそれ以上のデータ構造を含み得る。データ構造130は、データに関する情報を別のデバイス又は別のシステムに提供するように構成され得る。データ構造130は、クラウドベースのデータ構造、クラウドベースのバケット、又はオンプレミスのデータ構造を含み得る。
【0232】
ユーザデバイス150は、VR、AR、及び/又はMRデータを含む、メディアコンテンツフレームを受信及び/又は表示するように構成された如何なるデバイスでもあり得る。例えば、ユーザデバイス150は、モバイルデバイス、スマートフォン、タブレット、コンピュータ、ヘッドセット、ゲーム機、及び/又は他の如何なるユーザデバイスをも含み得る。幾つかの実施例において、ユーザデバイス150は、ブロードキャストを受信及び/又は表示するように構成される。ユーザデバイス150は、開示された実施例と一致するオペレーションを実行するように構成された1つ又はそれ以上のメモリユニット及び1つ又はそれ以上のプロセッサを含み得る。幾つかの実施例において、ユーザデバイス150は、ハードウェア、ソフトウェア、及び/又はファームウェアモジュールを含み得る。
【0233】
クライアントデバイス110、視覚入力再構成システム120、データ構造130、及び/又はユーザデバイス150の1つ又はそれ以上のものは、ネットワーク140に接続され得る。ネットワーク140は、パブリックネットワーク又はプライベートネットワークであり得、そして、例えば、ローカルエリアネットワーク(Local Area Network)、ワイドエリアネットワーク(Wide Area Network)、メトロポリタンエリアネットワーク(Metropolitan Area Network)、IEEE 1002.11ワイヤレスネットワーク(例えば、「Wi Fi」)、複数のネットワークからのネットワーク(例えば、インターネット)、固定電話ネットワークなどを含み得る。ネットワーク140は、様々なシステムコンポーネントを互いに及び/又は外部システム又はデバイスに接続するために、他のネットワーク(
図1には示されていない)に接続され得る。幾つかの実施例において、ネットワーク140は、安全なネットワークであり得、そして、ネットワークにアクセスするためにパスワードを必要としてもよい。
【0234】
図2は、本開示の実施例及び特徴を実装するための例示的な計算装置200を図解する。例として、計算装置200又は同様の計算装置は、クライアントデバイス110、視覚入力再構成システム120、及び/又はユーザデバイス150を含む、ここにおいて記述される装置(デバイス)又はシステムのいずれかを実装するために使用される。計算装置200の構成要素(コンポーネント)は、説明の目的のために提供されている。本開示と一致して、追加の配置、構成要素(コンポーネント)の数、及び/又は他の変更は、開示された計算装置200に対して行うことができることが考えられる。
【0235】
計算装置200は、命令を実行するための1つ又はそれ以上のプロセッサ202を含み得る。プロセッサ202は、マイクロプロセッサを含む既知のコンピューティングプロセッサを含み得る。プロセッサ202は、並列プロセスを同時に実行するシングルコア又はマルチコアプロセッサを構成することができる。例えば、プロセッサ202は、仮想処理技術で構成されたシングルコアプロセッサであり得る。幾つかの実施例において、プロセッサ202は、複数のプロセスを同時に実行及び制御するために、論理プロセッサを使用し得る。プロセッサ202は、実行、制御、実施、操作、格納等をする能力、複数のソフトウェア処理、アプリケーション、プログラム等を提供するため、バーチャル・マシン技術、又は他の既知の技術を実装し得る。別の実施例において、プロセッサ202は、複数のプロセスの同時実行を可能にする並列処理機能を提供するように構成されたマルチコアプロセッサ構成(例えば、デュアルコア、クアッドコアなど)を含み得る。特定の実施例において、プロセッサ202は、複数のプロセスを同時に実行及び制御するために、論理プロセッサを使用し得る。当業者は、ここにおいて開示される機能を提供する他のタイプのプロセッサ構成が実装され得ることを理解するであろう。開示された実施例は、如何なるタイプのプロセッサに限定されない。プロセッサ202は、以下により詳細に説明される、開示された実施例の様々な機能を実行するために、メモリ430に格納された様々な命令を実行し得る。プロセッサ202は、1つ又はそれ以上の既知のプログラミング言語で書かれた機能を実行するように構成され得る。幾つかの実施例において、プロセッサ202は、縮小命令セットコンピュータ(Reduced Instruction Set Computer)(RISC)アーキテクチャ、複合命令セットコンピュータ(Complex Instruction Set Computer)(CISC)アーキテクチャ、又は当技術分野で知られている他の如何なるコンピュータ命令アーキテクチャに基づくことができる。プロセッサ202は、1つ又はそれ以上のグラフィックス又は他のデジタル信号プロセッサを含み得ることも予期される。
【0236】
計算装置200はまた、1つ又はそれ以上の入力/出力(I/O)装置(デバイス)204であり得る。例として、I/Oデバイス204は、ディスプレイ(例えば、LEDディスプレイ、VRディスプレイ)、ヘッドセット、増強眼鏡(augmented glasses)(例えば、GOOGLE GLASS)、物理的キーボード、発光コンポーネント、触覚フィードバックデバイス(haptic feedback device)、タッチパッド、マウス、マイク、プリンター、スキャナー、3Dスキャナー、生体認証デバイス、センサー、モーションセンサー、位置センサー、GPSセンサー、加速度計、磁気計、仮想タッチスクリーンキーボード、ジョイスティック、スタイラス、ボタン、スイッチ、ダイヤル、ノブ、及び/又は他の如何なるI/Oデバイスを含み得る。
【0237】
図2に更に示されているように、計算装置200は、1つ又はそれ以上のプロセッサ202によって実行されるときに機能又はオペレーションを実行するデータ又は1つ又はそれ以上の命令及び/又はソフトウェアプログラムを格納するように構成されたメモリ206を含み得る。メモリ206は、開示された実施例と一致して、揮発性又は不揮発性、磁気、半導体、光学、取り外し可能、非取り外し可能、又は他のタイプのストレージデバイス又は有形の(即ち、非一時的)コンピュータ可読媒体を含み得る。メモリ206は、暗号化されたデータ及び/又は暗号化されていないデータを含み得る。例として、メモリ206は、ランダムアクセスメモリ(RAM)デバイス、NOR又はNADフラッシュメモリデバイス、読み取り専用メモリ(ROM)デバイスなどを含み得る。計算装置200はまた、1つ又はそれ以上のプロセッサ202によって実行されるときに機能又はオペレーションを実行するデータ又は1つ又はそれ以上の命令及び/又はソフトウェアプログラムを格納するように構成された記憶媒体208を含み得る。幾つかの例示的な実施例において、記憶媒体208はまた、データ又は命令を格納するように構成され得る。例として、記憶媒体208は、ハードドライブ、ソリッドステートドライブ、テープドライブ、RAIDアレイ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、ブルーレイディスク(BD)などを含み得る。
図2は、1つのメモリ206及び1つの記憶媒体208のみを示すが、計算装置200は、如何なる数のメモリ206及び記憶媒体208を含むことができる。更に、
図2は、計算装置200の一部としてのメモリ206及び記憶媒体208を示すが、メモリ206及び/又は記憶媒体208は、遠隔に配置され得、そして、計算装置200は、ネットワーク140を介してメモリ206及び/又は記憶媒体208にアクセスし得る。
【0238】
計算装置200は、データ及び情報を表示するための1つ又はそれ以上のディスプレイ210を含み得る。ディスプレイ210は、陰極線管(CRT)ディスプレイ、液晶ディスプレイ(LDC)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイ、タッチスクリーンタイプのディスプレイ、投影システム、仮想現実又は拡張現実の眼鏡又はヘッドセット、及び/又は、当技術分野で知られているような2D又は3D視聴覚コンテンツを表示することができる他の如何なるタイプのディスプレイのような装置又は技術を用いて実施され得る。開示された実施例は、計算装置200において構成される如何なる特定のタイプのディスプレイに限定されない。
【0239】
計算装置200はまた、1つ又はそれ以上の通信インターフェース212を含み得る。通信インターフェース212は、ソフトウェア及び/又はデータが、計算デバイス200、ネットワーク140、クライアントデバイス110、視覚入力再構成システム120、データ構造130、ユーザデバイス150、及び/又は他のコンポーネントの間で転送されることを可能にし得る。通信インターフェース212の例は、モデム、ネットワークインターフェース(例えば、イーサネットカード又はワイヤレスネットワークカード)、通信ポート、PCMCIAスロット及びカード、セルラーネットワークカードなどを含み得る。通信インターフェース212は、信号の形式でソフトウェア及び/又はデータを転送することができ、信号は、通信インターフェース212によって送受信することができる電子的、電磁的、光学的、又は他の形式の信号であり得る。通信インターフェース212は、ワイヤ、ケーブル、光ファイバー、無線周波数(「RF」)リンク、及び/又は他の通信チャネルを使用してこれらの信号を送信又は受信することができる。通信インターフェース212は、WI-FI、BLUETOOTH(登録商標)、近接場(ニアフィールド)、LI-FI、及び/又は他の如何なる無線伝送方法を介して通信するように構成され得る。
【0240】
本開示と一致して、開示されたシステムは、プレビューシステムの機能を実行するために1つ又はそれ以上の命令、アルゴリズムなどを実行するように構成され得る、少なくとも1つのプロセッサを含み得る。例として、
図1及び
図2に示されるように、システム100は、クライアントデバイス110及び視覚入力再構成システム120の1つ又はそれ以上に含まれる1つ又はそれ以上のプロセッサ202を含み得る。
【0241】
図3は、本開示の実施例と一致して、広告主からの入札を選択し、及び、視聴覚環境からの既存のシーン内に落札に対応する画像を挿入する、ための例示的なシステム300を示す。システム300は、システム100の実施例であり得る。
【0242】
示されるように、システム300は、デジタル化され得る既存の3Dシーン302のようなの既存のシーンを含むデータを含み得る。開示された実施例と一致して、シーン302は、既存のメディアコンテンツフレームを含み得る。シーン302は、3Dデータに限定されず、VRデータ、ARデータ、MRデータ、画像データ、ビデオデータ、及び/又は他の如何なるシーンデータを含み得る。シーン302は、チェア304、ソファ306、及び/又はテーブル308のような画像オブジェクトの表現を含み得る。画像オブジェクトは、前述のように、1つ又はそれ以上の画像オブジェクト識別子に対応し得る。
【0243】
システム300は、広告主の入札310を受信するように構成され得る。広告主の入札は、広告主、アカウント、個人を特定(識別)する特定(識別)情報、又は他の特定(識別)情報が含まれ得る。例えば、特定(識別)情報は、「広告主1」、「広告主2」、又は「広告主3」というラベルを含み得る。広告主の入札は、オブジェクト情報を含み得る。オブジェクト情報は、「チェア1」、「チェア2」、又は「チェア3」のような製品のオブジェクト識別子のようなオブジェクト識別子を含み得る。広告主の入札は、広告主の入札310におけるドル記号によって表されるそれぞれの入札額に関連付けられ得る。
【0244】
幾つかの実施例において、システム300は、落札を特定(識別)し、シーン302内のオブジェクトをその落札に関連付けられたオブジェクト(例えば、落札者(勝者)の画像データ)で置き換えるように構成され得る。落札を特定(識別)することは、開示された実施例と一致する、基準に基づいていてよい。例えば、システム300は、シーンチェアを最高入札に関連付けられたチェア(例えば、広告主2から)と置き換え(312)るように構成され得る。
【0245】
システム300は、レンダリング314を実行するように構成され得る。レンダリングは、オブジェクト挿入位置に落札者(勝者)の画像データのレンディションを挿入するため、既存のメディアコンテンツフレームを処理することを含み得る。レンダリング314は、ここにおいて記述されるような如何なる画像処理技術又は他の如何なる画像処理技術を含み得る。レンダリング314は、VRデバイス及び/又は画面(VR/画面316)による表示のためにフォーマットされ得る。ユーザ318は、VR/画面316を介してレンダリングされたシーンを見ることができる。
【0246】
図4は、本開示の実施例と一致して、視聴覚環境から既存のシーン内に広告画像を選択して挿入する例示的な方法400を示す。プロセス400のステップの順序及び配置は、説明の目的のために提供されている。本開示から認識されるように、例えば、プロセスのためのステップを追加、結合、除去、及び/又は再配置することによって、プロセス400に変更を加えることができる。方法400のステップは、視覚入力再構成システム120を含むが、これには限定されない、システム100の構成要素(コンポーネント)によって実行され得る。例えば、方法400は、視覚入力再構成システム120によって実行されるステップとして記述され得るが、クライアントデバイス110及び/又はユーザデバイス150が、方法400のいずれか又はすべてのステップを実行し得ることは、理解されるべきである。当業者が認識するように、方法400は、ここにおいて記述される他の如何なる方法と共に実行(実施)され得る。例えば、プロセス400が、開示された実施例と一致して、オブジェクト画像識別子を送信し(例えば、ステップ504)、オブジェクト画像識別子に関連付けられた入札を受信する(例えば、ステップ506)ステップ(図示せず)、及び/又は他の如何なる行動を含み得ることは理解されるべきである。プロセス400は、開示された実施例と一致して、メディアコンテンツの進行中の送信を変更するためにリアルタイムにおいて実行され得る。
【0247】
ステップ402において、視覚入力再構成システム120は、入力シーンを受信又は読み出すことができる。開示された実施例と一致して、入力シーンは、データストレージから受信又は読み出され得る。入力シーンは、システム100の別のコンポーネント及び/又はシステム100の外部の別のコンピューティングコンポーネントから(例えば、ネットワーク140を介して)受信され得る。入力シーンは、メモリ(例えば、メモリ206)、データ構造(例えば、データ構造130)、又は他の如何なるコンピューティングコンポーネントから読み出し得る。
【0248】
入力シーンは、開示された実施例と一致して、VR、AR、及び/又はMRシーンであり得る。入力シーンは、2D及び/又は3Dシーンであり得る。入力シーンは、如何なるフォーマット(例えば、F4V、.VRなど)でもあり得る。入力シーンは、開示された実施例と一致して、既存のコンテンツフレームを含み得る。入力シーンは、ここにおいて記述されるように、落札者(勝者)の画像データを含む処理されたメディアコンテンツフレームを含むシーンのような、以前に変更されたシーンを含み得る。一般に、入力シーンは如何なるビジュアルメディアをも含み得る。
【0249】
ステップ402は、開示された実施例と一致して、画像オブジェクト識別子を受信又は読み出すことを含み得る。ステップ402は、ユーザデータを受信することを含み得る。ユーザーデータは、特定(識別)データ(例えば、ユーザーID、IPアドレス、アカウント番号)、利用状況データ、購入データ、相互作用データなどを含み得る。相互作用データは、ジェスチャ、音声、視線、タッチなどに関連するデータを、限られることなく、含み得る。
【0250】
ステップ404において、視覚入力再構成システム120は、開示された実施例と一致して、オブジェクトの入力シーンをスキャンすることができる。例えば、視覚入力再構成システム120は、チェア、テーブル、又はソフトドリンクボトルのようなオブジェクトを検出するためにスキャンすることができる。オブジェクトの他の例もあり得る。ステップ404は、画像オブジェクト識別子を受信又は読み出すことを含み得る。スキャンは、オブジェクト認識アルゴリズム(例えば、機械学習方法)を含み得る。スキャンは、開示された実施例と一致して、オブジェクト挿入位置を決定又は検出することを含み得る。
【0251】
幾つかの実施例において、入力再構成システム120は、シーンからオブジェクトを抽出することができる。抽出は、シーンで検出されたオブジェクトに関連する画像オブジェクトデータの生成又はコピーが含み得る。システムは、オブジェクト又は要素又はシーンの一部の2D又は3D形状を抽出することができる。例えば、システムは、検出されたゲームチェアのモデルを生成することができる。幾つかの実施例において、視覚入力再構成は、開示された実施例と一致して、抽出された画像オブジェクト及び/又は画像オブジェクト識別子をクライアントデバイスに送信することができる。
【0252】
幾つかの実施例において、スキャンは、VR、AR、又はMR環境におけるユーザの相互作用データを決定することを含み得る。例えば、相互作用データは、開示された実施例と一致して、オブジェクトが視野に現れる頻度に基づいて決定され得る。相互作用データは、ジェスチャ、視線、又はその他のユーザーアクションに基づき得る。
【0253】
ステップ406において、視覚入力再構成システム120は、開示された実施例と一致して、検出されたオブジェクトを、広告主オブジェクトデータ構造のようなデータ構造内のオブジェクトと比較し得る。追加的又は代替的に、ステップ406は、クライアントデバイスから広告主オブジェクトを受信し、オブジェクトを検出するために広告主オブジェクトを比較することを含み得る(例えば、それぞれの広告主オブジェクトを含む1つ又はそれ以上の入札を受信すること)。比較することは、分類アルゴリズム(例えば、機械学習モデル)の実施が含まれ得る。比較することは、ここにおいて記述されるように、類似性メトリックのような1つ又はそれ以上の基準を生成することを含み得る。比較することは、シーン内のオブジェクトのセグメント化、即ち、オブジェクトの面、線、表面、又はそれ自体がオブジェクトであるコンポーネントのようなオブジェクトのコンポーネントの特定(識別)(例えば、ホイールを車オブジェクトのコンポーネントオブジェクトとして特定(識別))が含まれ得る。比較することは、画像オブジェクト識別子に基づき得る。比較することは、テキストデータ、形状データ、ユーザーデータ、及び/又はその他のデータに基づく比較を含み得る。
【0254】
ステップ408で、入力再構成システム120は、開示された実施例と一致して、入力シーンを分類することができる。例えば、シーンは、屋内シーン、オフィスシーン、レセプションホールシーン、スポーツ会場シーンなどに分類され得る。シーンのタイプの特定(識別)又は分類は、シーンを記述又は別様にラベル付けするシーンメタデータに基づき得る。代替的又は追加的に、スキャンは、シーン内で検出及び特定(識別)されたオブジェクトに基づいてシーンのタイプを特定(識別)又は分類することを含み得る(例えば、キッチンに関連付けられたオブジェクトが検出され得、そして、それに応じてシーンはキッチンシーンとして特定(識別)され得る)。
【0255】
ステップ410において、入力再構成システム120は、開示された実施例と一致して、ユーザの関心を特定(識別)し得る。ユーザの関心は、ユーザと、シーン内のオブジェクト、広告オブジェクト、又は他のデータのような他のデータとの間の相関関係を示すデータを含み得る。ユーザの関心を特定(識別)することは、前述のように、相互作用データを含むユーザーデータに基づき得る。ユーザの関心を特定(識別)することは、ユーザーデータ、オブジェクトデータ、及び/又はシーンの分類の統計分析を実施することを含み得る。ユーザの関心を特定(識別)することは、受信したユーザーデータ及び/又は推定された相互作用データに基づいて追加のユーザーデータを受信又は読み出すことを含み得る。ユーザーの関心を特定(識別)することは、前述のように、相互作用データを含むユーザーデータに基づき得る。ユーザの関心を特定(識別)することは、ユーザーデータ、オブジェクトデータ、及び/又はシーンの分類の統計分析を実施することを含み得る。ユーザーの関心を特定(識別)することは、受信したユーザーデータ及び/又は推定された相互作用データに基づいて追加のユーザーデータを受信又は読み出すことを含み得る。
【0256】
ステップ412において、視覚入力再構成システム120は、開示された実施例と一致して、マッチングするオブジェクトを決定し得る。マッチングオブジェクトを決定することは、アルゴリズム又はモデル(例えば、機械学習モデル)の出力に基づき得る。マッチングを決定することは、画像オブジェクト識別子に基づき得る。マッチングオブジェクトは、広告主オブジェクト(即ち、広告主、製品などに関連付けられたオブジェクト)を含み得る。マッチングを決定することは、ここにおいて記述されるように、落札を決定するための最高入札及び/又は他の基準に基づき得る。例えば、マッチングオブジェクトを決定することは、時刻のような外部変数、又は、入力シーン又は変更シーンを受け取るユーザーのプロパティ、に基づき得る。幾つかの実施例において、マッチングオブジェクトを決定することは、ユーザの関心の表示に基づき得る。ユーザの関心は、ユーザがシーンのどの部分と相互作用するかを示すデータのような相互作用データを含む、ユーザの履歴データによって決定され得る。相互作用は、ジェスチャ、声、視線、タッチなどを含むが、これらに限定されない。
【0257】
ステップ414において、視覚入力再構成システム120は、開示された実施例と一致して、出力シーンを提供することができる。幾つかの実施例において、出力シーンを提供することは、開示された実施例と一致して、入力シーンを修飾して、マッチングオブジェクトで修飾されたものを出力するために、オブジェクトをマッチングオブジェクトで置き換えることを含み得る。即ち、出力シーンは修飾されたシーンであり得る。オブジェクトの交換は、開示された実施例と一致して、如何なる画像処理方法を含み得る。例えば、オブジェクトの置き換えは、少なくともオブジェクトのレンディションをシーンに挿入することが含まれ得る。
【0258】
示されるように、ステップ414は、プロセス400の如何なるステップに続くことができる。例えば、視覚入力再構成システム120は、マッチするものが見つからない、入力シーンが広告を含むべきではないものとして分類(秘匿)される、又はユーザが製品に興味がないであろう、と決定することができる。従って、出力シーンは入力シーンと同じであり得る。このようにして、視覚入力再構成システム120は、既存のコンテンツを他のユーザに提供しながら、修飾されたシーンを一部のユーザに提供することによって、ターゲットを絞った広告を提供することができる。
【0259】
ステップ414で出力シーンを提供することは、開示された実施例と一致して、出力シーンを記憶及び/又は送信することを含み得る。例えば、ステップ414は、出力シーンをブロードキャストすること、及び/又は出力シーンをメモリ(例えば、メモリ206、記憶媒体208、及び/又はデータ構造130)に格納(記憶)することを含み得る。
【0260】
図5は、本開示の実施例と一致して、既存のコンテンツフレームへのコンテンツの選択的挿入を可能にするための例示的な方法500を示す。プロセス500のステップは、視覚入力再構成システム120によって実行されるように記述され得るが、当業者は、システム100の他のコンポーネント及び/又はシステム100の外部のコンポーネントがプロセス500の1つ又はそれ以上のステップを実行し得ることを理解する。プロセス500のステップの順序及び配置は、説明の目的のために提供されている。本開示から理解されるように、例えば、プロセスのステップを追加、結合、除去、及び/又は再配置することによって、プロセス500に変更を加えることができる。
【0261】
ステップ502において、視覚入力再構成システム120は、開示された実施例と一致して、複数のオブジェクトに関連付けられた複数のオブジェクト画像識別子を格納するメモリにアクセスしてもよい。
【0262】
ステップ504において、視覚入力再構成システム120は、1つ又はそれ以上のクライアントデバイスに、複数のオブジェクト画像識別子のうちの少なくとも1つのオブジェクト画像識別子を送信してもよい。
【0263】
ステップ506で、視覚入力再構成システム120は、開示された実施例と一致して、1つ又はそれ以上のクライアントデバイスから、少なくとも1つのオブジェクト画像識別子に関連付けられた1つ又はそれ以上の入札を受信してもよい。
【0264】
ステップ508で、視覚入力再構成システム120は、開示された実施例と一致して、受信された1つ又はそれ以上の入札の中から落札を決定してもよい。幾つかの実施例において、落札(勝利入札)は、1つ又はそれ以上のクライアントデバイスの中からの落札者(勝者)クライアントデバイスに関連付けられ得る。
【0265】
ステップ510において、視覚入力再構成システム120は、開示された実施例と一致して、落札者(勝者)クライアントデバイスから落札者(勝者)画像データを受信してもよい。
【0266】
ステップ512で、視覚入力再構成システム120は、開示された実施例と一致して、落札者(勝者)画像データをメモリに格納してもよい。
【0267】
ステップ514において、視覚入力再構成システム120は、開示された実施例と一致して、少なくとも1つの既存のメディアコンテンツフレームにおいて、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトのためのオブジェクト挿入位置を特定(識別)し得る。
【0268】
ステップ516において、視覚入力再構成システム120は、示された実施例に一致して、そのオブジェクト挿入位置に落札者(勝者)画像データの少なくともレンディションを挿入するために、少なくとも1つの既存のメディアコンテンツフレームを処理することにより、少なくとも1つの処理されたメディアコンテンツフレームを生成してもよい。
【0269】
ステップ518で、視覚入力再構成システム120は、開示された実施例と一致して、少なくとも1つの処理されたメディアコンテンツフレームを1つ又はそれ以上のユーザデバイスに送信してもよい。
【0270】
図6は、本開示の実施例と一致して、コンテンツを既存のコンテンツフレームに挿入するため入札を行う例示的な方法600を示している。プロセス600のステップは、クライアントデバイス110によって実行されるように記述されてもよいが、当業者は、システム100の他のコンポーネント及び/又はシステム100の外部のコンポーネントが、プロセス600の1つ又はそれ以上のステップを実行し得ることを認識する。プロセス600のステップの順序及び配置は、説明の目的で提供されている。本開示から理解されるように、例えば、そのプロセスのステップを追加、結合、除去、及び/又は再配置することによって、プロセス600に変更を加えてもよい。
【0271】
ステップ602で、クライアントデバイス110は、開示された実施例と一致して、入札のルールを生成してもよい。入札のルールは、入札の特性を制限又は定義する論理ルール、アルゴリズム、表現、又はモデル(例えば、機械学習モデル)であってもよい。例えば、入札のルールは、広告画像オブジェクトをターゲットオーディエンスに関連付けるルールを含んでもよい。入札のルールは、コンテンツメディアフレーム、オブジェクト識別子、及び/又は画像データに基づいていてもよい。例えば、入札のルールは、ここにおいて記述されるように、受信画像データ、受信オブジェクト識別子データ、広告画像データ、及び/又は広告オブジェクト識別子データに基づいていてもよい。入札のルールは、入札の最大値、入札に関連付けられた時間、又は入札の他のプロパティを含んでもよい。入札のルールは、マッチングアルゴリズム又は形状類似性エンジンによって生成された類似性メトリックに基づいて入札を行うためのルールを含んでもよい。入札のルールの生成は、ユーザー入力から、別のコンピューティングコンポーネントから受信したデータに基づいていてもよい。入札のルールは、これまでの入札に関連付けられたデータ(例えば、前の入札に関連付けられた前の広告のクリック率)に基づいていてもよい。当業者が認識するであるように、ここにおいて表される入札のルールの例は、限定的ではなく、そして、開示された実施例と一致して、他の例が可能である。入札のルールの生成は、以前に生成された入札のルールをコピーすること又は変更することを含んでもよい。
【0272】
ステップ604において、クライアントデバイス110は、開示された実施例と一致して、画像データ及び/又は画像オブジェクト識別子データを受信してもよい。画像データは、VR、AR、MR、2D、3D、及び/又は如何なるその他のフォーマットを含む如何なるフォーマットにしてもよい。画像オブジェクト識別子は、開示された実施例と一致して、ラベル、テキスト、分類、及び/又は如何なる他の画像オブジェクト識別子を含んでもよい。
【0273】
ステップ606で、クライアントデバイス110は、開示された実施例と一致して、受信された画像データ及び/又は画像オブジェクト識別子データをインターフェースで表示してもよい。例えば、クライアントデバイス110は、ヘッドセット、LEDスクリーン、タッチスクリーン、及び/又は如何なる他のスクリーンで、インターフェースを生成してもよい。インターフェースは、ここにおいて記述されるように、ユーザー入力を受信し、ユーザーに情報を提供することができる入力及び出力デバイス、又は如何なる他のタイプのインターフェースを含んでもよい。表示は、視覚データ(例えば、プロジェクター又はスクリーンを介して)、音声データ(例えば、スピーカーで音を再生することによって)、及び/又は触覚データ(例えば、触覚フィードバックデバイスを介して)を提供することを含んでもよい。例えば、受信された画像データは、車輪付きの青いオフィスチェアの画像を含んでもよく、受信されたオブジェクト識別子データは、「オフィスチェア」、「チェア」、「青いチェア」、及び/又は「車椅子(車輪付きチェア)」を含んでもよい。
【0274】
ステップ608で、クライアントデバイス110は、開示された実施例と一致して、広告主画像データ及び/又は広告主オブジェクト識別子データを読出(検索)及び/又は特定(識別)してもよい。幾つかの実施例において、ステップ608は、データ構造130のようなデータストレージへのアクセス又はそこでの検索を含み得る。データストレージは、広告主の画像データ及び/又は広告主のオブジェクト識別子データを含んでもよい。広告主の画像データは、開示された実施例と一致して、製品、メッセージ、キャンペーン、又は如何なる他の画像データに関連付けられる画像を含んでもよい。幾つかの実施例において、広告主の画像データは、テキストデータ、数値データ、及び/又は他のデータを含んでもよい。広告主オブジェクト識別子データは、開示された実施例と一致して、如何なるオブジェクト識別子を含んでもよい。
【0275】
ステップ608での広告主画像及び/又は広告主オブジェクト識別子データの取得(読出)及び/又は特定(識別)は、受信された画像データ及び/又は受信されたオブジェクト識別子データに基づいていてもよい。幾つかの実施例において、読出(検索)は、前述のように、検索アルゴリズム及び/又は形状類似性エンジンのようなマッチングアルゴリズムを実施することを含んでもよい。幾つかの実施例において、ステップ608は、監視され、ユーザ入力に基づいていてもよい。幾つかの実施例において、ステップ608は、
図6に示されるように、ステップ610に続いていてもよい。
【0276】
ステップ610で、クライアントデバイス110は、開示された実施例と一致して、広告主画像データ及び/又は広告主オブジェクト識別子データを表示してもよい。ステップ610は、ステップ606で使用されるのと同じインターフェースで、又は別のインターフェースで、広告主画像データ及び/又は広告主オブジェクト識別子データを表示することを含んでもよい。ステップ610は、受信された画像データ、広告主画像データ、画像オブジェクト識別子データ、及び/又は広告主画像オブジェクト識別子データを表示することを含んでもよい。
【0277】
ステップ612で、クライアントデバイス110は、開示された実施例と一致して、ユーザ入力を受信してもよい。ユーザー入力は、受信された画像データ、広告主の画像データ、画像オブジェクト識別子データ、及び/又は広告主画像オブジェクト識別子データに関連してもよい。ユーザー入力は、少なくとも1つの広告主画像オブジェクト及び/又は広告主オブジェクト識別子を選択するための入力を含んでもよい。ユーザー入力は、入札を生成するための入力を含んでもよい。
【0278】
図6に示されるように、ステップ608から612は、如何なる回数繰り返されてもよい。例えば、ステップ612で受信されたユーザ入力は、広告主画像データ及び/又は広告主オブジェクト識別子データを読出(検索)及び/又は特定(識別)するための命令を含んでもよく、そして、ユーザが、検索(サーチ)を繰り返して絞り込み、広告主画像オブジェクト又は広告主オブジェクト識別子データを選択することを可能にする。
【0279】
ステップ614で、クライアントデバイス110は、開示された実施例と一致して、入札を生成してもよい。入札は、価値、価値の範囲、入札を受け入れのために開いたままにする期間、広告を含む期間、ターゲットオーディエンスに関する情報、送信又はブロードキャストの手段、及び/又は入札に関連する如何なる他の情報を含んでもよい。入札の生成は、入札の特性を制限又は別様に定義する入札のルール(例えば、論理ルール、アルゴリズム、表現など)に基づいていてもよい。入札の生成は、ユーザ入力(例えば、ステップ610のユーザ入力)に基づいていてもよい。幾つかの実施例において、
図6に示されるように、ステップ614で入札を生成することは、ステップ608で実行された検索(サーチ)プロセスの結果に基づいていてもよい。例えば、プロセス600は自動化されてもよく、入札は、マッチングアルゴリズム及び受信された画像データ、受信されたオブジェクト識別子データ、及び/又は入札のルールに基づいて生成されてもよい。入札は、開示された実施例と一致して、広告主画像データ及び/又は広告主オブジェクト識別子データを含んでもよい。
【0280】
ステップ616で、クライアントデバイス110は、開示された実施例と一致して、入札を送信してもよい。ステップ616は、入力画像再構成システム120に入札を送信することを含んでもよい。入札の送信は、広告主画像データ及び/又は広告主オブジェクト識別子データを送信することを含んでもよい。
【0281】
本開示はまた、仮想現実(バーチャルリアリティ)(VR)、拡張現実(AR)、及び複合現実(MR)技術及びアプリケーションで使用するためのシーン(例えば、スキャンに基づく3Dシーン)を処理するためのコンピュータで実施されるシステムに関する。本開示は、シーン内のオブジェクトを生成及び変更するための技術及びアプリケーションにおける問題に対する解決策を提供する。本開示は、AR、VR、及びMR技術及びアプリケーションの例を提供するが、それらの最も広い意味での開示の側面(アスペクト)は、特定の例に限定されないことに留意されたい。むしろ、前述の原理は、他のコンピュータによる現実の技術及びアプリケーションに適用されてもよいことが考えられる。
【0282】
本開示によれば、3Dシーンを生成するためのコンピュータで実施されるシステムが開示される。
図1は、本開示の実施例と一致して、3Dシーンを生成するための例示的なシステム100を示す。システムは、少なくとも1つのプロセッサを含んでもよい。プロセッサ及びメモリの例示的な記述は、上述されており、また、
図2を参照して記述されている。
【0283】
プロセッサは、シーンのスキャンを受信するように構成されてもよい。シーンは、別のデバイス(例えば、クライアントデバイス、ユーザデバイス)から受信されてもよい。シーンは、リモート又はローカルのデータストレージから取得(読出)されてもよい。シーンは、開示された実施例と一致して、画像データを含んでもよい。幾つかの実施例において、シーンは、スキャンに基づいていてもよく、そして、スキャンは、1つ又はそれ以上のカメラ又はスキャナ(例えば、3Dスキャナ)からの画像データをキャプチャーすることを含む。
【0284】
幾つかの実施例において、スキャンは、不完全なスキャン(即ち、オブジェクトの部分的な表現をキャプチャーするスキャン)であってもよい。例えば、不完全なスキャンは、チェアの正面のような、オブジェクトの一部をキャプチャーしてもよい。幾つかのケースにおいて、3Dで完全なオブジェクトを表すのに必要な情報よりも少ない情報しかスキャンで取得されないとき、不完全なスキャンという結果になり得る。例えば、スキャンは、3Dオブジェクトのすべての表面をキャプチャーするために必要なすべての方向よりも少ない方向からデータを受信するかもしれず、或いは、他のオブジェクトがスキャナー入力を妨害するかもしれない(例えば、別のオブジェクトがオブジェクトとカメラの間にあるかもしれない)。不完全なスキャンは、幾つかのケースにおいて、2次元(2D)データしか取得されないかもしれない。スキャンが色情報のような実際のオブジェクトのプロパティを取得しないとき、不完全なスキャンが発生するかもしれない。スキャンの入力方法の制限又はその他のエラーが原因で、スキャンが不完全になるかもしれない(例えば、部分的に透明なオブジェクトは、スキャンにおいて現れないかもしれない)。幾つかのケースにおいて、スキャンがシーンデータの一部(例えば、シーンにおける穴)をミス(読み取り失敗)したり、ハードウェアの制限又はスキャン中に発生したユーザエラーによるその他のエラー又は歪みが発生したりすると、不完全なスキャンが発生するかもしれない。
【0285】
開示された実施例と一致して、シーンは、ヘッドセット、コンピュータスクリーン、モニター、投影などのようなデバイスを介して表示するように構成されてもよい。シーンの側面(アスペクト)は、3Dベクトルフォーマット、コンピューター支援設計ファイル、.FLV、.MP4、.AVI、.MPG、.MP3、.MOV、.F4V、.VR、又は画像、ビデオ、又はモデルフォーマットのような、既知のフォーマットでエンコードされてもよい。本開示と一致する実施例は、メッシュ、点群、又はシーンをエンコードする如何なる他の表現によって表されるシーンを含んでもよい。
【0286】
例示的な実施例において、シーンは、上述のようなメッシュとしてエンコードされたリビングルームの3D表現を含んでもよい。この原理を説明するために、シーンのメッシュは、床、壁、出入り口、階段などを構成するポイントを確立することを含んでもよい。開示された実施例と一致して、メッシュは、家具アイテム、建物、人、動物、神話上の生き物、植物、又は如何なる他のオブジェクトのような現実の世界又は架空のオブジェクトを表す複数の仮想オブジェクト(即ち、コンポーネント)を含んでもよい。コンポーネントは、別のコンポーネントを含んでもよい(例えば、テーブルは、脚を含んでもよい)。一般に、シーンのコンポーネント(即ち、オブジェクト)は、ポイント又はポリゴンの間の関係に基づいて、メッシュ内のポイント又はポリゴンの群(グループ)を含んでもよい。シーンにおいて、オブジェクトは、場所の変更、回転、サイズの変更、形状の変更などを行ってもよい。
【0287】
幾つかの実施例において、シーンは、ここにおいて記述されるように、少なくとも1つのオブジェクトを含んでもよい。オブジェクトは、例えば、チェア、車、絵画、人、動物、神話上の生き物、及び/又は如何なる他のオブジェクトであってもよい。
【0288】
幾つかの実施例において、システムは、受信されたスキャンに基づいて画像要素を生成してもよく、及び/又はシーンは、開示された実施例と一致して、画像要素を含んでもよい。より一般的には、シーンは、画像要素又は基本的な2D要素のような複数の画像要素を含んでもよい。例えば、画像要素は、ピクセル、ボクセル、ポイント、又はポリゴンの少なくとも1つを含んでもよい。幾つかの実施例において、システムは、ポリゴン又はボクセルのセットを生成してもよく、個々のポリゴン又はボクセルは、基本的な要素である。
【0289】
幾つかのケースにおいて、画像要素は、更に細分化されてもよい。例えば、システムは、画像要素として複数のn面ポリゴンから構成されるメッシュを生成してもよく、1つ又はそれ以上のポリゴンは、解像度を改善するために、又は他の理由で、追加のポリゴンに細分化されてもよい。幾つかの実施例において、シーンは、複数の既存の画像要素を含んでもよい。既存の画像要素は、シーンの受信と一緒に、又はそれとは別に受信されてもよい。
【0290】
幾つかの実施例において、システムは、シーンを上で論じたセグメント化技術と一致するシーン-コンポーネントにセグメント化するためにシーン内の画像要素を処理してもよい。本開示の実施例と一致して、セグメント化は、上記で議論されたセグメント化のための技術を使用して追加的又は代替的に実行されてもよい。例えば、システムは、開示された実施例と一致して、チェア、カップ、テーブル、又は他のオブジェクトのようなリビングルームの家具を表すオブジェクトのシーンコンポーネントにシーンをセグメント化してもよい。オブジェクトは、自身がオブジェクトであってもよい1つ又はそれ以上のシーンコンポーネントを有していてもよい。例えば、オフィスチェアの肘掛けは、個別の独立したシーンコンポーネントであってもよく、或いは、チェア全体を表すシーンコンポーネントの一部であってもよい。従って、セグメント化は、肘掛けをシーン構成要素として、及び/又はチェア全体をシーンコンポーネントとして特定(識別)してもよい。セグメント化は、以下で説明するように、既知の分類(例えば、シーンコンポーネントを特定(識別)すること及び「肘掛け」としてそれを分類すること)及び/又は未知の分類(例えば、シーンコンポーネントを特定(識別)すること及びそれを「未知のコンポーネント」として分類すること)に対応するシーンコンポーネントを特定(識別)することを含んでもよい。
【0291】
上で論じたように、セグメント化は、シーンの画像要素をシーンコンポーネントに分割する(即ち、分類する)ことを含んでもよい。分類は、シーンコンポーネントのタイプを含んでもよい。例えば、「家具」、「チェア」、「オフィスチェア」はすべて、同じオブジェクトのクラスを含む、オブジェクトのクラスであってもよい。当業者に明らかであるように、クラスは、互いに対してより広い又はより狭いクラスのヒエラルキーにおいて定義されてもよい。例えば、「家具」クラスは「チェア」クラスよりも広くてよく、「チェア」クラスは「オフィスチェア」クラスよりも広くてもよい。
【0292】
例えば、シーンコンポーネントは、テーブル、テーブルの表面、テーブルの脚などの既知のオブジェクトや未知のオブジェクトに関連付けられた、ポイント、ボクセル、又はポリゴンを含んでもよい。システムは、リビングルームのスキャンからなるシーンを、チェア、ドアノブ、ハンドル、カップ、調理器具、靴、壁、植物の葉、カーペット、テレビなどのような複数のシーンコンポーネントにセグメント化してもよい。システムは、シーンコンポーネントに属するように及び既知の分類又は未知の分類でシーンコンポーネントを分類するように、画像要素を、セグメント化してもよい。例えば、セグメント化中に、シーンコンポーネントは、特定のタイプのオブジェクト(例えば、チェア)、未知のタイプのオブジェクト、及び/又は可能性のある既知のオブジェクト(例えば、「ありそうな」チェア)として、セグメント化アルゴリズム出力に関連付けられる信頼性又は可能性のある尺度に基づいて、ラベル付けされてもよい。1つ又はそれ以上の画像要素は、セグメント化後もマッピングされないままであってもよい(即ち、オブジェクト又はオブジェクトのコンポーネントに割り当てられていない)。セグメント化は、3D要素を1つのオブジェクト又は複数のオブジェクトにマッピングする(即ち、割り当てる)ことを含んでもよい(例えば、同じ3D要素は、「肘掛け」及び「チェア」に割り当てられてもよい)。
【0293】
例示的な実施例において、セグメンテーション(セグメント化)は、「未知のシーンコンポーネント」のようなラベルを含む、分類モデル出力に基づいて、シーンコンポーネントを特定(識別)すること及び分類モデルを実施することを含んでもよい。例えば、「不明なシーンコンポーネント」は、チェアの肘掛けに対応してもよいが、分類モデルの出力は、シーンコンポーネントを肘掛けとして認識されないかもしれない。チェアの他の部分は、セグメンテーション中に個別に特定(識別)され、そして、対応するシーンコンポーネントは、「未知の」、「ヘッドレスト」、「チェアの脚」などとしてラベル付けられてもよい。
【0294】
システムは、少なくとも1つのオブジェクトのコンポーネントに対応する、シーンコンポーネントの中からの、マッチするコンポーネントを、格納された画像データとのシーンコンポーネントの比較に基づき、特定(識別)してもよい。本開示の実施例と一致して、システムは、上記で論じたオブジェクト及び/又は画像データを比較するための1つ又はそれ以上の技術を使用して、シーンコンポーネントを格納された画像データと追加又は代替的に比較してもよい。マッチしたコンポーネントは、シーンコンポーネントの改善された分類であってもよく、及び/又はシーンコンポーネントに関連付けられた追加情報を含んでもよい。例えば、シーンコンポーネントは「未知の」として分類されてもよく、シーンコンポーネントと格納された画像データとの比較に基づいて、シーンコンポーネントは、「肘掛け」としてラベル付けされたマッチしたコンポーネントとして特定(識別)されてもよい。マッチしたコンポーネントは、開示された実施例と一致して、少なくとも1つのオブジェクト及び/又は画像オブジェクト識別子のモデルを含んでもよい。幾つかの実施例において、マッチしたコンポーネントは、シーンコンポーネントに類似しているが同じではないコンポーネントであってもよい。例えば、シーンコンポーネントは、車輪及び肘掛けが付いた台座の上の黒いチェアであってもよく、マッチしたコンポーネントは、肘掛けの有無にかかわらず、さまざまな色の台座を備えるオフィスチェアを含んでもよい。
【0295】
幾つかの実施例において、シーンコンポーネントの中からマッチしたコンポーネントを特定(識別)することは、3D形状を特徴ベクトルにマッピングすること(即ち、特徴ベクトルを生成すること)を含んでもよい。幾つかの実施例において、システムは、シーンコンポーネントの特徴ベクトル及び/又はマッチしたコンポーネントの特徴ベクトルを計算してもよい。特徴ベクトルは、実数又は他のデータのシーケンスを含んでもよい。特徴ベクトルは、シーンコンポーネント又はマッチしたコンポーネントの回転及び/又は位置変更に関連する情報を含んでもよい。特徴ベクトルの生成は、マルチビュー畳み込みニューラルネットワークのような機械学習モデルを使用することを含んでもよい。例えば、マルチビュー畳み込みニューラルネットワークは、3D形状の複数の2D表現(即ち、スナップショット)を受け入れてもよいが、ここで、その2D表現は、様々な角度からの2Dへの3D形状の投影(例えば、オブジェクトの写真)を含む。
【0296】
コンポーネントを比較することは、マッチしたコンポーネント及び保存(格納)された画像データの間の類似度を示す類似性メトリックを決定することを含んでもよい。類似性メトリックは、形状データ、色データ、及び/又は如何なる他のデータに基づいていてもよい。類似性メトリックは、共分散、最小二乗距離、画像要素に関連付けられたベクトル間の距離(例えば、特徴ベクトル)、又は整列されたオブジェクト間のハウスドルフ距離のような統計的類似性に基づいていてもよい。類似性メトリックは、特徴ベクトルに基づいていてもよい。 幾つかの実施例において、モデルは、機械学習モデルのような類似性メトリックを生成してもよい。幾つかの実施例において、比較は、オブジェクトのコンポーネントを分類するために、分類モデル(例えば、ランダムフォレストモデル)を実施することを含んでもよい。少なくとも1つのオブジェクトに対応するコンポーネントを特定(識別)することは、類似性メトリックに基づいている。一例として、オブジェクトはチェアであってもよく、そして、システムは、チェア及び肘掛けの3Dモデルを含むデータ構造内における画像データ及び特定のシーンコンポーネントの間の類似性メトリックに基づいて、チェアの肘掛けであるマッチしたコンポーネントと特定のシーンコンポーネントが類似すると決定してもよい。本開示の実施例と一致して、例示的なデータ構造は、上記に記述されている。
【0297】
シーンコンポーネントを格納された画像データと比較することは、シーンコンポーネントに基づいてオブジェクトのデータ構造を検索(サーチ)すること、及び、データ構造内のオブジェクトに対応する1つ又はそれ以上の検索(サーチ)結果を生成する(即ち、マッチする)ことを含んでもよい。検索(サーチ)結果は、マッチ度(パーセントマッチ)、尤度(起こり易さ)、又は、データ構造内の画像オブジェクト識別子に対応するオブジェクト又はデータ構造内のオブジェクト及び検出されたオブジェクトの間の類似度を表す別のメトリック、を含んでもよい。最高ランクの検索(サーチ)結果は、例えば、検出されたオブジェクトにマッチするデータ構造内のコンポーネント又はオブジェクトの最も狭いクラスを定義してもよい。幾つかの実施例において、システムは、以前に実施されたデータ構造の検索(サーチ)に基づいて、同様のオブジェクトを特定(識別)してもよい。
【0298】
本開示と一致して、データ構造は、格納された画像データを含んでもよい。データ構造の画像データは、オブジェクトの2D又は3Dモデルを含んでもよい。画像データは、タグ付きオブジェクトを備えるシーンデータを含んでもよい。本開示と一致するデータ構造は、1つ又はそれ以上のオブジェクトに対応する1つ又はそれ以上のコンピュータ支援設計(CAD)モデルを含んでもよい。CADモデルは、メッシュ、点群(ポイントクラウド)、3D空間のボクセルマッピング、及び/又は、オブジェクトのグラフィカルな描写を提示するように構成されもよい如何なる他のマッピング、のような1つ又はそれ以上のフォーマットにおいて格納されてもよい。CADモデルは、オブジェクト及び/又はオブジェクトのコンポーネント(例えば、チェア及び/又はチェアの肘掛け)を表すことができる。
【0299】
データ構造内のマッチするコンポーネントは、1つ又はそれ以上のオブジェクト画像識別子に対応してもよい。オブジェクト画像識別子は、オブジェクト画像を表すテキスト(即ち、オブジェクトの名前のようなラベル又はタグ)を含んでもよい。例えば、オフィスチェアのオブジェクト画像識別子は、ラベル「オフィスチェア」を含んでもよい。幾つかの実施例において、オブジェクト画像識別子は、形状、形状の記述子(例えば、文を含む形状のラベル又はテキスト記述)、製品、又は製品の記述子、の少なくとも1つを含んでもよい。形状は、形状データ、座標、ベクトル、メッシュ又はグリッドを含む形状データ、形状の表現(例えば、2D又は3Dモデル)、又は形状に関連する如何なる他のデータを含んでもよい。形状の記述子は、テキストデータ、ラベル、分類、タグ、及び/又は、形状を記述又は特定する如何なる他のデータ、を含んでもよい。製品は、形状データ(例えば、スポーツカーの表面のような製品の物理的表面の表現を提供する形状データ)を含んでもよい。製品の記述子は、テキストデータ、ラベル、分類、タグ、及び/又は製品を記述又は特定する如何なるその他のデータを含んでもよい。
【0300】
例示的な実施例において、「未知のシーンコンポーネント」としてラベル付けされたシーンコンポーネントと格納された画像データとの比較に基づいて、システムは、マッチしたコンポーネントを「肘掛け」としてラベル付けしてもよい。オブジェクト画像識別子は、オブジェクト画像を表すテキスト(即ち、オブジェクトの名前のようなラベル又はタグ)を含んでもよい。例えば、オフィスチェアのオブジェクト画像識別子は、ラベル「オフィスチェア」を含んでもよい。幾つかの実施例において、オブジェクト画像識別子は、形状、形状の記述子(例えば、文を含む形状のラベル又はテキスト記述)、製品、又は製品の記述子の少なくとも1つを含んでもよい。形状は、形状データを含んでもよいが、その形状データは、座標、ベクトル、メッシュ又はグリッド、形状の表現(例えば、2D又は3Dモデル)、又は形状に関連する如何なる他のデータを含む。形状の記述子は、テキストデータ、ラベル、分類、タグ、及び/又は、形状を記述又は特定する如何なる他のデータを含んでもよい。製品は、形状データ(例えば、スポーツカーの表面のような製品の物理的表面の表現を提供する形状データ)を含んでもよい。製品の記述子は、テキストデータ、ラベル、分類、タグ、及び/又は、製品を記述又は特定する如何なるその他のデータを含んでもよい。
【0301】
幾つかの実施例において、システムは、シーンをクライアントデバイスに送信してもよく、或いは、システムのインターフェースでシーンを表示してもよい。送信することは、TCP/IPネットワーク、ブロードバンド接続、セルラーデータ接続、及び/又は如何なる他の送信方法のような如何なるネットワークを介した送信を含んでもよい。クライアントデバイス及び/又はシステムのインターフェースは、モバイルデバイス、ヘッドセット、コンピュータ、ディスプレイ、インターフェース、及び/又は如何なる他のクライアントデバイスを、限られることなく、含んでもよい。幾つかの実施例において、シーンを送信又は表示することは、ハイライトされたシーンコンポーネントとしてシーンコンポーネントを送信又は表示することを含んでもよい。例えば、ハイライトされたシーンコンポーネントは、輪郭、明るさの変化、色の変化などで提示されてもよい。システムは、クライアントデバイスがアクション(例えば、マウスオーバーホバー、視線など)を実行するときに、検出されたシーンコンポーネントがハイライトされるように、シーンを送信又は表示してもよい。
【0302】
幾つかの実施例において、インターフェースを使用して、クライアント(例えば、ビデオゲームデザイナー又は広告主)は、オフィスチェアのようなシーン内で検出されたオブジェクトを選択してもよい。当業者が理解するように、選択することは、オブジェクトをクリックすること、テキストボックス内に識別子を入力すること、オブジェクトを選択するジェスチャを行うことなどの1つ又はそれ以上のアクションを実行することを含んでもよい。システムは、インターフェースから、又はクライアントデバイスからの送信を介して、選択を受け取ってもよい。幾つかの実施例において、システムは、データをクライアントデバイスに送信するか、又はインターフェースでデータを表示してもよいが、そのデータは、1つ又はそれ以上のマッチしたコンポーネントに関連している。例えば、システムは、開示された実施例と一致して、マッチしたコンポーネントに関連付けられた画像データ、マッチしたコンポーネントに関連付けられた3Dモデル、又は、マッチしたコンポーネントに関連付けられた画像オブジェクト識別子、を送信してもよい。幾つかの実施例において、クライアントは、マッチしたコンポーネントに関連するデータを選択してもよい。例えば、クライアントは、台座を備えるが、肘掛けがない、青いオフィスチェアの画像を選択してもよい。
【0303】
本実施例と一致して、システムは、マッチしたコンポーネントに基づいて、少なくとも1つのオブジェクトに対応する画像要素を特定(識別)してもよい。例えば、幾つかの実施例では、オブジェクトは、一致する構成要素を含み得る(例えば、一致する構成要素は、肘掛けであり得、少なくとも1つのオブジェクトは、肘掛けを含むチェアであり得る)。幾つかの実施例において、少なくとも1つのオブジェクトは、マッチしたコンポーネントと同じであってもよい(例えば、マッチしたコンポーネントは、ソフトドリンクのボトルであり、そして、少なくとも1つのオブジェクトは、同じソフトドリンクのボトルである)。画像要素を識別することは、マッチしたコンポーネントに含まれない3D要素が、所定の距離内のオブジェクトのようなオブジェクトに対応することを決定することを、含んでもよい。例えば、マッチしたコンポーネントは、ビーチパラソルであってもよく、そして、少なくとも1つのオブジェクトは、ビーチパラソルに隣接するビーチタオル又はビーチパラソルの所定の距離内の砂の城であってもよい。開示された実施例と一致して、少なくとも1つのオブジェクトに対応する画像要素を特定(識別)することは、CADモデル、画像オブジェクト識別子、又は他のデータのようなデータ構造内の画像データに基づいていてもよい。
【0304】
幾つかの実施例において、システムは、少なくとも1つのオブジェクトに対応する画像要素に基づいて、格納(記憶)場所からCADモデルを取得してもよい。CADモデルは、少なくとも1つのオブジェクトの移動特性又は材料特性(即ち、テクスチャ特性)を記述するスクリプトを含んでもよい。CADモデルは、開示された実施例と一致して、画像要素を含んでもよい。以前に開示されたように、CADモデルは、オブジェクト及び/又はオブジェクトのコンポーネント(例えば、チェア及び/又はチェアの肘掛け)を表してもよい。CADモデルは、メッシュ、点群(ポイントクラウド)、3D空間のボクセルマッピング、及び/又はオブジェクトのグラフィカルな描写(graphical depiction)を提示するように構成されてもよい如何なる他のマッピング、のような1つ又はそれ以上のフォーマットにおいて格納されてもよい。
【0305】
幾つかの実施例において、システムは、CADモデルに関連するセマンティクスにアクセスしてもよいが、ここで、セマンティクスは、少なくとも1つのオブジェクトの可動特性を表すスクリプトを含む。セマンティクスへアクセスすることは、開示された実施例と一致して、データストレージ(例えば、データ構造)からセマンティクスを取得(読出)すること又は受け取ることを含んでもよい。幾つかの実施例において、セマンティクスへアクセスすることは、3Dモデル及び3Dモデルのセマンティクスに関連付けられた画像オブジェクト識別子に基づいていてもよい。
【0306】
本開示と一致する実施例において、CADモデルに関連付けられるセマンティクスは、移動又は材料特性のようなオブジェクトの特性を含んでもよい。例えば、チェア(椅子)は、回転、リクライニング、肘掛けの高さの調整が可能であってもよく、又は動きに関連付けられた他の移動特性を有していてもよい。一般に、移動特性は、オブジェクト又はオブジェクトのコンポーネントの動きの自由度に関連付けられた如何なる特性をも含んでもよい。材料特性(即ち、テクスチャ特性)の例として、チェアシートは、別のオブジェクトがその上に置かれたとき(例えば、人が木製のチェアに座ったとき)、硬く、変形しなくてもよい。或いは、チェアシートのテクスチャ特性は、別のオブジェクトがその上に置かれたとき(例えば、人がパッド入りのチェアに座ったとき)、プラッシュのようであり変形してもよい。材料特性は、弾性、硬度、粗さ、滑らかさ、反射率、色、形状、変形能、又はその他の材料特性を、限ることなく、含んでもよい。一般に、CADモデルに関連付けられたセマンティクスは、CADモデルの移動特性又は材料特性を含んでもよい。
【0307】
セマンティクスは、移動特性又は材料特性を表す又は支配するスクリプトを含んでもよいが、そのようなスクリプトは、設計者又は他のクライアントによって構成可能であってもよい。例えば、シーンのアニメーション中に、クライアントは、回転する機能のようなチェアの自由度を変更してもよい。スクリプトは、例えば、外力に対する自由度を持つオブジェクトの反応のプログラム記述を含んでもよい。例えば、回転椅子(チェア)に対して、プログラムは、上部に回転力が与えられた場合に、チェアの脚に対してチェアの上部のCADモデルの回転を提供するであろう。オブジェクトのこの変更は、シーンにおいてレンダリングされてもよい。別の例として、CADモデルは、カーテンを置き換えてもよく、そして、スクリプトはカーテンの風に対する反応を記述してもよく、そして、シーンにおいて置き換えられたカーテンをそれに応じて反応させることができる。そのスクリプトは、オブジェクトをアニメ化できる如何なるコード(例えば、AUTOCAD、BLENDER、CINEMA 4D、及び/又は、AUTODESK MAYA)において記述されてもよい。
【0308】
CADモデルは、オブジェクト全体(例えば、跳ね返るときのボールの弾性)に関連付けられたスクリプト、又はオブジェクトの一部(例えば、ヘリコプター上のローターの動き)に関連付けられたスクリプトを有してもよい。自由度は複雑であるかもしれず、チェアシートを持ち上げるレバー、ドアを開くハンドルなどのような、幾つかのオブジェクト間の相互作用を表す。従って、スクリプトは、シーン内の1つのオブジェクト及び少なくとも1つの他のオブジェクトの間の相互作用を表してもよい。スキャンされたシーンは静的であってもよく、或いは、別様に特定の動的な移動又は材料特性をエンコードするスクリプトを含めないかもしれないが、CADモデルはセマンティクスをエンコードし、そして、置き換えられたシーンはそのような移動及び材料特性のプログラム記述を含んでもよい。
【0309】
幾つかの実施例において、システムは、シーン及びオブジェクトのCADモデルを組み合わせることによって、変更されたシーンを生成してもよい。開示された実施例と一致して、組み合わせることは、オブジェクトを置換すること、オブジェクトの一部を置換すること、オブジェクトの移動又は材料特性を変更することなどを含んでもよい。例えば、変更されたシーンを生成することは、オブジェクトのCADモデルのテクスチャ特性(例えば、反射率又は色)をシーンコンポーネントに適用することを含んでもよい。
【0310】
本開示と一致して、変更されたシーンを生成することは、オブジェクトデータをシーンデータと組み合わせることを含んでもよい。例えば、システムは、シーンからのオリジナルのオブジェクト(例えば、黒いオフィスチェア)を、クライアントによって選択された別のオブジェクト(例えば、青いオフィスチェア)で置き換えてもよい。オブジェクトを置換することは、選択されたオブジェクトを、オリジナルのオブジェクトと同じ向き(即ち、オブジェクトを整列すること)及び同様のサイズ(即ち、オブジェクトを拡大縮小すること)において、配置することを含んでもよい。オブジェクトを整列すること及び/又はオブジェクトを拡大縮小することは、主成分分析(PCA)を使用することを含んでもよい。オブジェクトを置換することは、クライアントがシーン内で選択されたブジェクトを、配置、拡大縮小、又は別様に操作できるようにすることを含んでもよい。オブジェクトを置換することは、開示された実施例と一致して、画像処理技術(例えば、明るさの調整、照明の調整、勾配ドメイン法の実施など)を使用することを含んでもよい。当業者が理解するように、勾配ドメイン法は、画像要素の勾配を積分することによって新しい画像を構築することを含んでもよい。置換は、照明、シーンの解像度、遠近法などに基づいて、オブジェクトのメッシュ、ポイント、又はその他のデジタル化された表現をレンダリングすることを含んでもよい。オブジェクトの置換に続いて、結果となるシーンは、オブジェクトのCADモデルから取得した情報及びオリジナルのシーンを組み合わせることによって変更されたシーンの例であってもよい。
【0311】
開示された実施例と一致して、変更されたシーンは、CADモデルの少なくとも一部及び少なくとも1つのオブジェクトの少なくとも一部を含むハイブリッドシーンを含んでもよい。ハイブリッドシーンは、オブジェクトの一部(例えば、オフィスチェアの肘掛け)又はオブジェクトの特性(例えば、テクスチャ又は色)のみがデータ構造からのオブジェクトデータに置き換えられた変更されたシーンを意味してよい。オリジナルのオブジェクト及び別の源(例えば、データ構造)からのオブジェクトの両方により得られる特性を有するオブジェクトの少なくとも1つを備えるシーンは、ハイブリッドシーンの例である。CADモデルの一部は、CADモデルのコンポーネント(例えば、チェアの肘掛け)に対応する画像要素を含んでもよい。少なくとも1つのオブジェクトの一部は、オブジェクトのコンポーネント(例えば、チェアの脚)に対応する画像要素を含んでもよい。幾つかの実施例において、CADモデルの部分及び少なくとも1つのオブジェクトの部分は、現実的な外観を作成するために、画像処理技術を使用して境界でブレンドされてもよい。例えば、画像処理技術は、勾配ドメイン法又は他の画像併合法を含んでもよい。
【0312】
幾つかの実施例において、変更されたシーンは、CADモデルのセマンティクスに基づくシーンの改良を含んでもよい。幾つかの実施例において、スキャンされたシーンが不完全なスキャンであるならば、置換することは、シーンの改良、即ち、部分的な情報を追加情報で置き換えるプロセスを含んでもよい。改良は、オブジェクトの一部をデータ構造からの完全な3Dオブジェクトに置き換えることを含んでもよい。例えば、スキャンは、オブジェクトの一部(例えば、チェアの正面)のみを含んでもよく、そして、オブジェクトを置き換えることは、オブジェクトの一部をデータ構造からの完全な3Dオブジェクトと置き換えることを含んでもよい。CADモデルのセマンティクスからのシーンの改良の別の例は、データ構造内のオブジェクトからの色及びテクスチャを、形状はあるが色やテクスチャがないスキャンされたオブジェクトに追加することを含んでもよい。シーンの改良の別の例として、システムは、スキャンされたチェアが金属製のチェアであると決定してもよく、そして、データ構造は、表面反射率特性のような金属又は金属製のチェアの材料特性を含んでもよい。システムは、チェアのリアリズムを高めるために、表面反射率特性に基づいてチェアに照明を追加してもよい。シーンの改良は、CADモデルの移動特性又は材料特性を含んで、以下でより詳細に説明するように、CADモデルのセマンティクスに基づいていてもよい。上で論じた2つの画像(例えば、第1の画像及び第2の画像)を組み合わせるための追加又は代替的技術もまた、変更された又はハイブリッドのシーンを生成するために使用されてもよい。
【0313】
幾つかの実施例において、システムは、開示された実施例と一致して、マッチしたコンポーネントから材料特性を抽出し、及び抽出された材料特性をCADモデルに適用してもよい。例えば、スキャンは、テクスチャ特性又は色のようなオブジェクトの特性を抽出してもよい。例示的な実施例において、スキャンされたチェアは、金属表面を含んでもよく、データ構造内のマッチするCADチェアは、その表面上に異なる材料又は非特定の材料を有してもよい。従って、オブジェクトを置換することは、CADチェアを金属製のチェアとしてレンダリングすることを含んでもよい。例えば、マッチしたコンポーネントは、シートチェアであってよく、そして、色、テクスチャ、硬さなどに関連する材料特性を有してもよい。システムは、マッチしたコンポーネントから材料特性を抽出してもよく、そして、それをチェアのCADモデルに適用してもよい。上で論じたように2つの画像(例えば、第1の画像及び第2の画像)を組み合わせるための追加又は代替の技術もまた、本開示の実施例と一致して、変更又はハイブリッドシーンを生成するために使用されてもよい。
【0314】
幾つかの実施例において、システムは、ハイブリッドシーン内のCADモデルにスクリプトを適用してもよく、そして、そのスクリプトは、ハイブリッドシーン内でオブジェクトを移動可能に(レンダリング)するように実行されるように構成される。例えば、スクリプトは、オブジェクトが、平行移動し、回転し、ヒンジとして動き、曲がることを可能にし、又は別様にオブジェクトをアニメーション化する(動かす)ように構成されてもよい。スクリプトは、オブジェクトをアニメーション化できる如何なるコードで記述されてもよい(例えば、AUTOCAD、BLENDER、CINEMA 4D、AUTODESK MAYA)。幾つかの実施例において、スクリプトを含むハイブリッドシーンは、3D表示のために出力される。例えば、スクリプトを備えるハイブリッドシーンは、VRヘルメット又は如何なる他の3Dディスプレイ用にフォーマットされてもよく、そして、ディスプレイに送信されてもよい。シーンを出力することについては、以下で詳しく説明され得る。
【0315】
幾つかの実施例において、システムは、オブジェクトに関連付けられた別のスクリプトを選択してもよいが、ここで、この別のスクリプトは、オブジェクト及びシーン内の少なくとも1つの他のオブジェクトの間の相互作用を表す。別のスクリプトを選択することは、少なくとも1つのオブジェクト及び別のオブジェクトに関連付けられた画像オブジェクト識別子に基づいていてもよい。例えば、第1のスクリプトは、ボールに対応する第1の画像オブジェクト識別子に関連付けられていてよく、第2のスクリプトは、ボールに対応する第1の画像オブジェクト識別子及びバットに対応する第2の画像オブジェクト識別子に関連付けられていてよい。第1のスクリプトは、重力下でのボールの動きを可能にするスクリプトを含んでもよく、そして、第2のスクリプトは、バットがボールと相互作用することを可能にするスクリプト(例えば、バットがボールを打つ)を含んでもよい。幾つかの実施例において、システムは、ハイブリッドシーン内のCADモデルにスクリプトを適用してもよい。
【0316】
開示された実施例と一致して、システムは、3D表示のために変更されたシーンを出力してもよい。変更されたシーンを出力することは、開示された実施例と一致して、変更されたシーンを保存及び/又は送信することを含んでもよい。送信は、開示された実施例と一致して、如何なる既知の方法によるネットワークを介した送信を含んでもよい。例えば、システムは、変更されたシーンをブロードキャストしてもよく(即ち、ネットワークを介して複数のユーザデバイスに送信する)、変更されたシーンをユーザデバイスに送信してもよく、及び/又は変更されたシーンをメモリに格納(保存)してもよい。
【0317】
図7は、本開示の実施例と一致して、シーン内のCADオブジェクトを置き換えるための3Dモデルを選択する例示的な方法700を示している。プロセス700におけるステップの順序及び配置は、説明の目的で提供されている。本開示から理解されるように、例えば、プロセスのためのステップを追加、結合、除去、及び/又は再配置することによって、プロセス700に変更を加えてもよい。方法700のステップは、3Dジェネレータ120を限定されることなく含むシステム100のコンポーネントによって実行されてもよい。例えば、方法700は、3Dジェネレータ120によって実行されるステップとして記述されてもよいが、クライアントデバイス110及び/又はユーザデバイス150が方法700のいずれか又はすべてのステップを実行し得ることは理解されるべきである。当業者が認識し得るように、方法700は、ここにおいて記述される如何なる他の方法と共に実行されてもよい。幾つかの実施例において、プロセス700は、プロセス800及び/又は900のステップと共に実行されてもよい。プロセス700は、開示された実施例と一致して、メディアコンテンツの進行中の送信(例えば、シーンのブロードキャスト)を変更するためにリアルタイムで実行されてもよい。
【0318】
ステップ702で、3Dジェネレータ120は、開示された実施例と一致して、3Dシーンを受け取ってもよい。シーンは、開示された実施例と一致して、データストレージから受信(受取)又は読出されてもよい。シーンは、システム100の別のコンポーネント及び/又はシステム100の外部の別のコンピューティングコンポーネントから(例えば、ネットワーク140を介して)受け取られてもよい。シーンは、メモリ(例えば、メモリ206)、データ構造(例えば、データ構造130)、又は如何なる他のコンピューティングコンポーネントから読み出してもよい。シーンは、開示された実施例と一致して、1つ又はそれ以上のカメラ(即ち、スキャン)によってキャプチャされた画像に基づいていてもよい。
【0319】
ステップ704において、3Dジェネレータ120は、開示された実施例と一致して、3Dシーンをセグメント化してもよい。ここにおいて記述するように、セグメント化は、シーンの画像要素を、テーブル706、ソファ708、チェア710、及び/又は他のコンポーネント又はオブジェクトのようなシーンコンポーネント又はオブジェクトに分割(即ち、分類)することを含んでもよい。幾つかの実施例において、ステップ704は、メッシュ、点群、又はシーンの他の表現を生成することを含んでもよい。
【0320】
ステップ712で、3Dジェネレータ120は、開示された実施例と一致して、1つ又はそれ以上のマッチしたコンポーネントを特定(識別)するためにオブジェクトデータ構造を検索(サーチ)してもよい。オブジェクトデータ構造の検索(サーチ)は、シーンコンポーネントに基づいていてもよい。オブジェクトデータ構造は、3Dモデル、画像データ、CADモデル、画像オブジェクト識別子、及び/又は、コンポーネント及び/又はオブジェクトに関連する如何なる他のデータを含んでもよい。
【0321】
ステップ714で、3Dジェネレータ120は、開示された実施例と一致して、検索(サーチ)に基づいてオブジェクトデータ構造の結果を受け取ってもよい。ステップ714では、データ構造からの2つのオブジェクトのみが検索(サーチ)の結果として描かれているが、より一般的には、オブジェクトデータ構造の結果は、如何なる数の結果をも含んでもよい。データ構造からの検索(サーチ)の結果は、開示された実施例と一致して、3Dモデル、マッチしたコンポーネント、画像オブジェクト識別子、及び/又は類似性メトリックを含んでもよい。類似性メトリックは、開示された実施例と一致して、「マッチスコア」又は如何なる他の類似性メトリックを含んでもよい。マッチスコアは、シーンのコンポーネントがデータ構造コンポーネント又はオブジェクトである確率を表してもよい。マッチスコアは、シーンのコンポーネント及びデータ構造コンポーネントの間の類似度を表してもよい。マッチスコアは、コンポーネントの形状及びデータ構造コンポーネントの形状に基づいていてもよい。
図7に示されるように、「チェア1」は、データ構造内のオブジェクトであり、0.9のマッチスコアに関連付けられ、そして、「チェア2」は、データ構造内のオブジェクトであり、0.95のマッチスコアに関連付けられる。
図7の例において、マッチスコアは、データ構造内のチェア及びチェア710の間の程度の類似性を表してもよい。
【0322】
ステップ716において、3Dジェネレータ120は、開示された実施例と一致して、オブジェクトデータ構造の結果に基づいてCADモデルを特定(識別)してもよい。例えば、3Dジェネレータ120は、最高の一致スコアに関連付けられたCADモデル(例えば、「チェア2」)を特定(識別)してもよい。
【0323】
ステップ718で、3Dジェネレータ120は、開示された実施例と一致して、変更されたシーンをレンダリングしてもよい。変更されたシーンをレンダリングすることは、CADモデルに基づくオブジェクトをレンダリングすること、シーンコンポーネントをCADモデルで置き換えること、シーンをCADモデルと組み合わせること、又は、ここにおいて開示される如何なる他のレンダリングする方法を含んでもよい。変更されたシーンは、シーンの他のコンポーネントと比較して、CADモデルの側面(特徴)がビューアーに自然に見えるシーンを作成するためにレンダリングされてもよい(例えば、シーンに挿入されたチェアのCADモデルは、シーン自身の一部であるように見え、そして、シーンの他の側面(特徴)に似ている、方向、サイズ、シャドウイング、ハイライトなどを有している)。レンダリングは、開示された実施例と一致して、如何なる画像処理技術を実施することを含んでもよい。
【0324】
ステップ720で、3Dジェネレータ120は、開示された実施例と一致して、変更されたシーンを送信してもよい。幾つかの実施例において、3Dジェネレータ120は、変更されたシーンをユーザデバイス(例えば、ユーザデバイス150)に送信する。幾つかの実施例において、ステップ720は、変更されたシーンをブロードキャストすることを含む。ステップ720で送信することは、開示された実施例と一致して、如何なる既知の方法によりネットワークを介して送信することを含んでもよい。
【0325】
ステップ722で、デバイスは、開示された実施例と一致して、変更されたシーンを表示してもよい。幾つかの実施例において、ユーザデバイス150又は他のデバイスは、開示された実施例と一致して、変更されたシーンを表示する。このようにして、エンドユーザは変更されたシーンを体験する。
【0326】
図8は、本開示の実施例と一致して、3Dモデルを選択し、既存のシーンのCADオブジェクトを選択された3Dモデルで置き換える例示的な方法800を示している。プロセス800におけるステップの順序及び配置は、説明の目的で提供されている。本開示から認識されるように、例えば、プロセスのステップを追加、結合、除去、及び/又は再配置することによって、プロセス800に変更を加えてもよい。方法800のステップは、3Dジェネレータ120を限られることなく含むシステム100のコンポーネントによって実行されてもよい。例えば、方法800は、3Dジェネレータ120によって実行されるステップとして記述されてもよいが、クライアントデバイス110及び/又はユーザデバイス150は、方法800のいずれか又はすべてのステップを実行し得ることが理解されるべきである。当業者が認識し得るように、方法800は、ここにおいて記述される如何なる他の方法と共に実施されてもよい。幾つかの実施例において、プロセス800は、プロセス700及び/又は900のステップと共に実行されてもよい。プロセス800は、開示された実施例と一致して、メディアコンテンツの進行中の送信(例えば、シーンのブロードキャスト)を変更するためにリアルタイムで実行されてもよい。
【0327】
ステップ802で、3Dジェネレータシステムは、開示された実施例と一致して、シーンを受け取ってもよい。シーンは2D又は3Dシーンであってもよい。シーンは、開示された実施例と一致して、不完全であってもよい(即ち、オブジェクトの部分的な表現をキャプチャするスキャンに基づく)。シーンは、クライアントデバイス、データ構造、メモリ、ユーザーデバイス、又は如何なる他のコンピューティングコンポーネントから受け取ってもよい。
【0328】
ステップ804において、3Dジェネレータシステムは、開示された実施例と一致して、シーンをセグメント化してもよい。ここにおいて記述されるように、セグメント化は、シーンの画像要素を、テーブル806、ソファ808、チェア810、及び/又は他のコンポーネント又はオブジェクトのようなシーンコンポーネント又はオブジェクトに分割(即ち、分類)することを含んでもよい。幾つかの実施例において、ステップ804は、メッシュ、点群、又はシーンの他の表現を生成することを含んでもよい。シーンコンポーネントは、完全なオブジェクト(例えば、カップ)、オブジェクトの一部(例えば、カップのハンドル)、又はオブジェクトの部分的な表現(例えば、片側から見たカップ)を含んでもよい。
【0329】
ステップ812で、3Dジェネレータシステムは、開示された実施例と一致して、シーンコンポーネント特性を抽出してもよい。例えば、スキャンは、前述のように、移動特性及び/又は材料特性(即ち、テクスチャ特徴)又は如何なる他の特性を抽出してもよい。
【0330】
ステップ814で、3Dジェネレータシステムは、開示された実施例と一致して、シーンコンポーネントに基づいてオブジェクトデータ構造を検索(サーチ)してもよい。オブジェクトデータ構造を検索(サーチ)することは、セグメント化されたコンポーネントに基づいていてもよい。オブジェクトデータ構造は、3Dモデル、画像データ、CADモデル、画像オブジェクト識別子、及び/又は、コンポーネント及び/又はオブジェクトに関連する如何なる他のデータ、を含んでもよい。
【0331】
ステップ816で、3Dジェネレータシステムは、開示された実施例と一致して、オブジェクトデータ構造の結果を受け取ってもよい。前述のように、オブジェクトデータ構造の結果は、マッチスコア又はその他の類似性メトリックを含んでもよい。
【0332】
ステップ818で、3Dジェネレータシステムは、開示された実施例と一致して、CADモデルを選択してもよい。CADモデルを選択することは、クライアントからの入力に基づいていてもよい。例えば、ステップ818は、オブジェクトデータ構造の結果及び/又はデータ構造オブジェクト(例えば、CADモデル)の表現をインターフェースで表示すること、及び、クライアントから入力を受信することを含んでもよい。幾つかの実施例において、ステップ818は、オブジェクトデータ構造の結果及び/又はデータ構造オブジェクト(例えば、CADモデル)の表現をクライアントデバイスに送信すること、及び、クライアントデバイスから情報を受け取ることを含んでもよい。3Dジェネレータシステムは、受け取られた情報に基づいてCADモデルを選択してもよい。幾つかの実施例において、CADモデルを選択することは、類似性メトリック、マッチスコアなどに基づく(例えば、最高のマッチスコアの選択)。
【0333】
ステップ820で、3Dジェネレータシステムは、開示された実施例と一致して、シーンコンポーネントを選択されたCADモデルと組み合わせて、組み合わされたオブジェクトモデルを生成してもよい。幾つかの実施例において、シーンコンポーネントを選択されたCADモデルと組み合わせることは、シーンコンポーネントの側面(アスペクト)をCADモデルの側面(アスペクト)と併合することを含んでもよい。例えば、結合されたオブジェクトモデルは、CADモデルに適用されるようなシーンコンポーネントのテクスチャ、又はシーンコンポーネントに適用されるようなCADモデルのテクスチャを含んでもよい。別の例として、結合されたオブジェクトモデルは、シーンコンポーネントに適用されるようなCADモデルのテクスチャを含んでもよい。幾つかの実施例において、シーンコンポーネントの側面(アスペクト)を併合(マージ)することは、CADモデルのコンポーネントをシーンコンポーネントに追加すること、又はシーンコンポーネントのコンポーネントをCADモデルに追加すること(例えば、肘掛けをチェアに追加すること)を含んでもよい。幾つかの実施例において、シーンコンポーネントを選択されたCADモデルと組み合わせることは、シーンコンポーネントをCADモデルで置き換えることを含んでもよい(即ち、組み合わされたモデルはCADモデルである)。ステップ820は、開示された実施例と一致して、如何なる画像処理技術を実施することを含んでもよい。
【0334】
ステップ822で、3Dジェネレータシステムは、開示された実施例と一致して、シーンコンポーネントを組み合わされたオブジェクトモデルで置き換えてもよい。ステップ822は、開示された実施例と一致して、ハイブリッドシーンを含む、変更されたシーンを生成することを含む。ステップ822は、開示された実施例と一致して、如何なる画像処理技術を実施することを含んでもよい。
【0335】
図9は、本開示の実施例と一致して、3Dシーンを生成する例示的な方法900を示す。プロセス900におけるステップの順序及び配置は、説明の目的のために提供されている。本開示から理解されるように、例えば、プロセスのステップを追加、結合、除去、及び/又は再配置することによって、プロセス900に変更を加えてもよい。方法900のステップは、3Dジェネレータ120を限られることなく含むシステム100のコンポーネントによって実行されてもよい。例えば、方法900は、3Dジェネレータ120によって実行されるステップとして記述されてもよいが、クライアントデバイス110及び/又はユーザデバイス150が、方法900のいずれか又はすべてのステップを実行してもよいことは理解されるべきである。当業者が理解するように、方法900は、ここにおいて記述される如何なる他の方法と共に実施されてもよい。幾つかの実施例において、プロセス900は、プロセス700及び/又は800のステップと共に実行されてもよい。プロセス900は、開示された実施例と一致して、メディアコンテンツの進行中の送信(例えば、シーンのブロードキャスト)を変更するためにリアルタイムで実行されてもよい。
【0336】
ステップ902で、3Dジェネレータは、開示された実施例と一致して、シーンのスキャンを受け取ってもよい。スキャンは、少なくとも1つのオブジェクトを含んでもよい。ここにおいて開示されるように、スキャンは、メモリ、別のコンピューティングコンポーネントなどから受け取られてもよい。スキャンを受け取ることは、メッシュ、点群、又はシーンの他の表現を受け取ることを含んでもよい。
【0337】
ステップ904において、3Dジェネレータは、開示された実施例と一致して、シーンをシーンコンポーネントにセグメント化するためにスキャン内の画像要素を処理してもよい。前述のように、画像要素は、ボクセル、ポイント、ポリゴン、又は他の画像要素の少なくとも1つを含んでもよい。セグメント化は、メッシュ、点群、又はシーンの他の表現を生成することを含んでもよい。
【0338】
ステップ906で、3Dジェネレータは、開示された実施例と一致して、1つ又はそれ以上のマッチしたコンポーネントを特定(識別)してもよい。マッチしたコンポーネントは、少なくとも1つのシーンコンポーネントに対応してもよい。マッチしたコンポーネントは、ここにおいて記述されている如何なるコンポーネント又はオブジェクトをも含んでもよい。
【0339】
ステップ908で、3Dジェネレータは、開示された実施例と一致して、オブジェクトに対応する画像要素を特定(識別)してもよい。開示されるように、画像要素を特定(識別)することは、画像要素を分類することを含んでもよい。画像要素を特定(識別)することは、開示された実施例と一致して、オブジェクトデータ構造を検索(サーチ)すること、及び、オブジェクトデータ構造の結果を生成又は受信することを含んでもよい。
【0340】
ステップ910で、3Dジェネレータは、開示された実施例と一致して、オブジェクトに対応する画像要素に基づいてCADモデルを取得してもよい。CADモデルを取得することは、開示された実施例と一致して、オブジェクトデータ構造を検索(サーチ)すること、及び、オブジェクトデータ構造の結果を生成又は受信することを含んでもよい。CADモデルを取得することは、開示された実施例と一致して、クライアントデバイスからの入力に基づいていてもよい。CADモデルを取得することは、開示された実施例と一致して、類似性メトリックに基づいてCADモデルを選択することを含んでもよい。
【0341】
ステップ912で、3Dジェネレータは、開示された実施例と一致して、変更されたシーンを生成してもよい。変更されたシーンを生成することは、シーンコンポーネントをCADモデルと組み合わせること、及び/又は、置き換えること、を含んでもよい。
【0342】
ステップ914において、3Dジェネレータは、開示された実施例と一致して、変更されたシーンを出力してもよい。変更されたシーンを出力することは、開示された実施例と一致して、変更されたシーンを送信及び/又は保存することを含んでもよい。ステップ914は、変更されたシーンをユーザデバイスに送信することを含んでもよい。
【0343】
本開示はまた、静止画像の一部をアニメーション化するためのコンピュータ実装システムに関する。本開示によれば、2D又は3Dシーン又は画像を増強又は再構築するためのシステムは、互いに相互作用及び協力してもよい幾つかのコンポーネントを含んでもよい。例として、
図10は、本開示と一致する例示的なシステム1000を図解する。
図10に図解されるように、システム1000は、例えば、ユーザシステム1010、ユーザ1012、サーバ1020、データ構造1030、及びネットワーク1040を含んでもよい。システム1000のコンポーネントは、ネットワーク1040を介して互いに接続されていてもよい。幾つかの実施例において、システム1000の側面(アスペクト)は、1つ又はそれ以上のクラウドサービス上で実施されてもよい。幾つかの実施例において、システム1000の側面(アスペクト)は、モバイルデバイス、コンピュータ、サーバー、サーバーのクラスター、又は複数のサーバークラスターを含むコンピューティングデバイス上で実施されてもよい。
【0344】
ユーザシステム1010は、オーディオビジュアルコンテンツを作成する、拡張する、又は再構築するためにユーザ1012によって使用されてもよい1つ又はそれ以上の計算装置を含んでもよい。例として、ユーザシステム1010は、パーソナルコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、ノートブック、携帯電話、端末、キオスク、開示された実施例による方法を実行するように構成された特殊なデバイスなどのような計算装置を含んでもよい。ユーザシステム1010は、例えば、2D又は3Dシーン又は画像のようなオーディオビジュアルコンテンツを生成、拡張、又は再構築するためのアプリケーション又は1セットの命令を実行するように構成されてもよい。ユーザシステム1010は、1又はそれ以上のユーザ1012によって操作されるように構成されてもよい。
【0345】
サーバー1020は、オーディオビジュアルコンテンツを生成、拡張、又は再構築するために使用されてもよい1つ又はそれ以上の計算装置を含んでもよい。例として、サーバ1020は、汎用コンピュータ、メインフレームコンピュータ、又はこれらのコンポーネントの如何なる組み合わせであってもよい。特定の実施例において、サーバ1020は、スタンドアロンであってもよく、又はそれは、より大きなシステムの一部であってもよいサブシステムの一部であってもよい。例えば、サーバー1020は、遠隔に配置され、ネットワーク(例えば、ネットワーク1040)又は、ローカルエリアネットワーク(LAN)のような専用ネットワークを介して通信する分散サーバーを表してもよい。加えて、開示された実施例と一致して、サーバ1020は、サーバ、複数のサーバを含むサーバシステム、又は、負荷分散システム及び複数のサーバを含むサーバファームとして実装されてもよい。
【0346】
サーバー1020はまた、3Dモデルコンテンツデータをデータ構造1030に格納及び/又はデータ構造1030から検索(読出)するように、データ構造1030と相互作用するように構成されてもよい。サーバー1020は、データ構造1030と直接又はネットワーク1040を介して通信してもよい。ユーザシステム1010及び/又はサーバ1020は、
図2に関して上で論じたように、計算装置200を使用して実装されてもよい。本開示の実施例と一致して、データ構造1030は、上述のデータ構造のものと同様の特性を有してもよい。
【0347】
ネットワーク1040は、ユーザシステム1010、サーバ1020、及び/又はデータ構造1030の間のデータ及び/又は情報の電子通信及び交換を容易にするようにしてもよい。ネットワーク140は、通信ネットワークの如何なる組み合わせをも含んでもよい。例えば、ネットワーク1040は、インターネット及び/又は別のタイプの広域ネットワーク、イントラネット、メトロポリタンエリアネットワーク、ローカルエリアネットワーク、ワイヤレスネットワーク、セルラー通信ネットワークなどを含んでもよい。
図10には、1つのユーザシステム1010、1つのサーバ1020、及び1つのデータ構造1030のみが図解されているが、コンテンツプレビューシステム100は、如何なる数のユーザシステム1010、サーバ1020、及び/又はデータ構造1030を含んでもよいことが考えられる。
【0348】
本開示によれば、静止画像の一部をアニメーション化するためのコンピュータ実施のシステムが開示されている。本開示のシステムは、ビデオからキャプチャされたフレームを含む静止画像にアニメーションを追加することによって、写真測量を達成するための自動化されたプロセスで使用されてもよい。このシステムは、如何なるタイプの静止画像に可動特徴を提供するため、及び、静止画像の全部又は一部に知覚されるアーティキュレーション、移動、又は動きを提供するため、使用されてもよい。例えば、木々、水域、又は人間の頭を含む画像において、画像の他の部分が動かないままでいるところ、葉、波、及び髪の毛は、可動にレンダリングされてもよい。
【0349】
開示されるシステムは、モバイルデバイス、コンピュータ、サーバ、サーバのクラスタ、複数のサーバクラスタ、パーソナルコンピュータ、スマートデバイス、タブレット、パーソナルコンピュータ、端末、キオスク、クラウドサービス、ストレージデバイス、開示された実施例による方法を実行するように構成された特殊な装置などのような、1つ又はそれ以上のコンピューティングデバイスを含むコンピュータ実施のシステムであってもよい。本開示は、システム、デバイス、及び方法の例を提供するところ、これらの開示は、単なる例示であり、クレームの文言を制限的にすることを意図するものではないことに留意されたい。
【0350】
開示されたシステム及びプロセスは、静止画像の部分的又は完全なアニメーションを可能にしてもよい。静止画像は、静的な2D又は3D画像、動画のフレームショット、ビデオの一部、又はデータキャプチャによって静止状態でレンダリングされてもよい如何なる画像をも含んでもよい。静止画像は、.JPG、.BMP、.GIF、.PNG、.SVG、3Dベクターフォーマット、コンピューター支援設計ファイル、又は如何なる他の静止画像、を含む如何なるフォーマット、又はモデルフォーマットにおいて提供されてもよい。静止画像は、3Dメッシュ表現又は3D点群(ポイントクラウド)表現を含んでもよい。幾つかの実施例において、画像はシーンと呼ばれてもよい。2D自然シーンでは、木が静止画像の例であってもよい。ファンを表す3Dメッシュは、静止画像であってもよい。オブジェクトの3D点群(ポイントクラウド)表現は、静止画像であってもよい。本開示は、幾つかのファイルフォーマットの例を提供するところ、それらの最も広い意味において本開示の側面(アスペクト)は、特定の開示されたファイルフォーマットに限定されないことに留意されたい。画像又は画像の一部が完全に又は部分的に動かないようにレンダリングされる如何なるフォーマットも、本開示による静止画像の根底にあるかもしれない。
【0351】
幾つかの実施例において、静止画像をアニメーション化するためのシステムは、少なくとも1つのプロセッサを含んでもよい。プロセッサ及びメモリの例示的な記述は、上記で、そしてまた、
図2を参照して記述されている。
【0352】
幾つかの実施例において、プロセッサは、オブジェクトの静止画像を受け取るように構成されてもよい。オブジェクトは、現実の世界、架空又は仮想の要素又は特徴、要素又は特徴の組み合わせ、又は画像内に存在する要素又は特徴の一部であってもよい。例えば、リンゴの静止画像において、リンゴは茎及び葉とともにオブジェクトと見なされてもよく、リンゴ及び茎はオブジェクトと見なされてもよく、そして、葉は第2の別個のオブジェクトと見なされてもよく、或いは、リンゴは第1のオブジェクトと見なされてもよく、茎は第2のオブジェクトと見なされてもよく、葉は第3の別個のオブジェクトと見なされてもよい。オブジェクトは、ポイント又はポリゴンの間の関係に基づいて、メッシュ内のポイント又はポリゴンのグループを含んでもよい。本開示はオブジェクトの例を提供するが、それらの最も広い意味において、本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0353】
幾つかの実施例において、プロセッサは、メモリに格納された同様のオブジェクトの少なくとも1つの画像を特定(識別)するために検索(ルックアップ)を実行するように構成されてもよい。同様のオブジェクトは、少なくとも部分的な類似の外観、特性、特質、形状、又は特徴を有してもよい。類似のオブジェクトは、例えば、形状データ、色データ、及び/又は如何なる他のオブジェクトを特徴付けるデータに基づく類似性メトリックに基づいていてもよい。類似性メトリックは、例えば、共分散、最小二乗距離、画像要素に関連付けられたベクトル間の距離(例えば、特徴ベクトル)、又は整列されたオブジェクト間のハウスドルフ距離のような統計的類似性に基づいていてもよい。類似性メトリックもまた、特徴ベクトルに基づいていてもよい。幾つかの実施例において、機械学習モデルのようなモデルは、類似性メトリックを生成してもよい。幾つかの実施例において、比較することは、オブジェクトのコンポーネントを分類するために分類モデル(例えば、ランダムフォレストモデル)を実施することを含んでもよい。少なくとも1つのオブジェクトに対応するオブジェクトを特定することは、類似性メトリックに基づいていてもよい。例えば、もしオブジェクトがチェアであるならば、システムは、シーン内のチェアと及び複数のオブジェクトの3Dモデルを含むデータ構造内の画像データとの間の類似性メトリックに基づいて、メモリ内のオブジェクトがそのチェアに類似していると決定してもよい。例示的なデータ構造は、本開示の実施例と一致して、上記に記述されている。検索(ルックアップ)を実行することは、メモリ、データ構造、又はその他のデータ取得システムの検索(サーチ)を含んでもよい。類似のオブジェクトに対するデータ構造の検索(サーチ)は、例えば、検索(ルックアップ)を実行することを含んでもよい。検索(ルックアップ)を実行することは、ネットワークを介してローカルで又はリモートで実行されてもよい。本開示が、検索(ルックアップ)を実行する方法の例を提供するところ、それらの最も広い意味において本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0354】
幾つかの実施例において、メモリは、セグメンテーションデータを含んでもよい。セグメンテーションデータは、異なる処理のためのグループに分けられた関連データを含んでもよい。例えば、類似のオブジェクトに関連付けられたセグメンテーションデータは、オブジェクトの可動部分をオブジェクトの不動部分から区別することができる。可動部分は、不動部分に対する動き又は知覚される動きを可能にするところ、オブジェクトの不動部分は、固定又は静止の位置又は場所内に留まってもよく、そして、知覚される動きを含まなくてもよい。セグメンテーションデータは、オブジェクト又は類似のオブジェクトのすべて又は一部に関連付けられてもよい。可動部分は、スピード、速度、加速度における変化を含み、又は如何なるタイプの位置の変化を含む、移動、動き、並進、回転が可能なオブジェクトの如何なる部分、一部若しくは全部、であってもよい。これは、実際の移動や動き、又は、移動や動きの単なる知覚であってもよい。不動部分は、実質的に動かない静止したままであり、又は、位置、スピード、速度、加速度を変化させられない又は位置における如何なる変化をも含むことができない、オブジェクトの如何なる部分、一部若しくは全部、であってもよい。これには、知覚された不動が含まれてもよい。
【0355】
例として、人の頭の画像は、可動部分(例えば、風によって動く髪)及び不動部分(例えば、髪とは異なる頭の他の部分)を含んでもよい。一例として、木の画像は、可動部分(例えば、風によって動く可能性がある葉)及び不動部分(例えば、木の樹皮)を含んでもよい。セグメンテーションデータは、不動部分に対する可動部分に関連付けられてもよい1つ又はそれ以上の画像要素(例えば、メッシュポイント、ポリゴン、ピクセル、ボクセルなど)の特定(識別)を含んでもよい。セグメンテーションデータは、特定の基本的な画像要素(例えば、メッシュポイント、ポリゴン、ピクセル、ボクセルなど)が可動部分又は不動部分に属することを示すかもしれないラベル又はフラグを含んでもよい。幾つかの実施例において、セグメンテーションデータは、画像の可動部分と不動部分との間の境界を規定する基本的な画像要素を特定(識別)(ラベル付け又はフラグ付け)してもよい。本開示はセグメンテーションデータの例を提供するところ、それらの最も広い意味において本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0356】
幾つかの実施例において、メモリは、可動部分に関連付けられた移動データを含んでもよい。移動データは、オブジェクトの動き又は知覚された動きに関連する如何なるデータをも含んでもよい。例えば、移動データは、オブジェクトの動きの自由度、又はオブジェクトのコンポーネント又は部分の動きの自由度に関連付けられた如何なるデータをも含んでもよい。移動データは、1つ又はそれ以上の軸の周りの回転運動、1つ又はそれ以上の軸の周り又は線又は平面に沿った並進運動、ランダムな動き、オブジェクトの方向の変化又は知覚される方向の変化に関連するデータ、速度データ、スピードデータ、又は加速度データを含んでもよい。移動データは、オブジェクト全体、又はオブジェクトの一部のみに関連付けられていてもよい。例えば、チェアに関連する移動データは、第1の軸の周りの旋回、第2の軸に沿ったリクライニング、座席の高さの調整、肘掛けの高さの調整、又は他の移動パラメータに関連するデータを含んでもよい。
【0357】
移動データはまた、物理法則に基づいていてもよい。例えば、木の葉の機械モデルは、風に対するそれらの応答を記述してもよい。特定の風モデル(例えば、方向、速度などを含む)がシーンに適用されるとき、複数の時点での葉の位置を計算するためにシミュレーションが実行されてもよい。ここで、可動部分は、ベースに葉を接続する茎から始めて、葉を含んでもよい。
【0358】
移動データは、可能な移動モードのパラメータ化を含んでもよい。例えば、ドアとそのヒンジに関して、角度がゼロ(ドアが閉じている)から90度(ドアが壁近く迄と全開している)まで変化するところ、1つの角度によってエンコードされる、ドアに作用する回転演算子があってもよい。移動データは、マニュアル・クロックの例えば分又は秒の矢印の機能のようなオブジェクトの位置を規定するスクリプト、又は、例えば特定のポイントから特定の力で押されるとき回転椅子(チェア)の運動である、外力に対するオブジェクトの応答を規定するスクリプト、を含んでよい。このようなスクリプトは、システムの設計者、ユーザ、又はクライアントによって、設定可能であってもよい。幾つかの側面(アスペクト)において、スクリプトは、不動部分の1つ又はそれ以上の基本画像要素に対する、又は、所定の参照フレームに対する、可動部分に関連付けられた1つ又はそれ以上の基本画像要素の方向、スピード、加速度、回転などを規定してもよい。例えば、システムは、設計者、ユーザ、又はクライアントによるアニメーション化中に、オブジェクト又はオブジェクトの一部の方向、スピード、又は自由度において変更を可能にし得る。スクリプトは、オブジェクトをアニメーション化できる如何なるコード(AUTOCAD、BLENDER、CINEMA 4D、及び/又はAUTODESK MAYA)において記述されてもよい。本開示は移動データの例を提供するところ、それらの最も広い意味での本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0359】
幾つかの実施例において、プロセッサは、静止画像をディスクリートコンポーネントにセグメント化するため、オブジェクトの受け取られた静止画像の内の画像要素の分析を実行するように構成されてもよい。本開示の実施例と一致して、セグメント化は、追加的又は代替的に、上記で議論されたセグメント化のための技術を使用して実行されてもよい。例えば、システムは、部屋の画像を、チェア、ドアノブ、ハンドル、カップ、調理器具、靴、壁、植物の葉、カーペット、テレビ、ファンなどのようなディスクリートコンポーネントにセグメント化してもよい。システムは、ディスクリートコンポーネントに属するような画像要素をセグメント化してもよく、そして、コンポーネントを既知の分類又は未知の分類で分類してもよい。例えば、セグメント化中に、ディスクリートコンポーネントは、セグメント化アルゴリズムの出力に関連付けられた信頼性又は可能性の何らかの尺度に基づいて、特定のタイプのオブジェクト(例えば、チェア)、未知のタイプのオブジェクト、及び/又は可能な既知のオブジェクト(例えば、「ありそうな」チェア)としてラベル付けされてもよい。
【0360】
類似のオブジェクトの保存画像において、不可動部分から可動部分を区別するセグメント化の例は、木の葉が風にどのように反応するかに関する物理モデルと共に不動の幹及び可動の葉に分割された木の3Dモデル、及び、風に対して反応する髪のアニメーション及び開く及び閉じる目蓋のアニメーションと共に、口、目、耳のような異なる顔のパーツに分割された人間の頭の2D画像である。本開示は、画像をセグメント化する方法の例を提供するが、それらの最も広い意味において、本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0361】
幾つかの実施例において、プロセッサは、ディスクリートコンポーネントを類似のオブジェクトの可動部分と比較して、受け取った画像において、静止画像の不動コンポーネントとは異なる可動ディスクリートコンポーネントの少なくとも1つの静止レンダリングを特定(識別)するように構成されてもよい。ディスクリートコンポーネントを類似のオブジェクトの可動部分と比較することは、例えば、上記で論じたオブジェクト及び/又は画像データを比較するための1つ又はそれ以上の技術を含む、ディスクリートコンポーネントを比較することを可能にする如何なる方法をも含んでもよい。そのような比較は、例としてのみ、類似性の統計分析又は類似性を特定(識別)する人工知能ベースのアプローチを含んでもよい。一例において、比較することは、ディスクリートコンポーネント及び格納された画像の対応するディスクリートコンポーネントの間の類似度を示す類似性メトリックを決定することを含んでもよい。例えば、開示されたシステムは、ディスクリートコンポーネントに対応する特徴ベクトルを生成又は読出(検索)し、そして、特徴ベクトルを、記憶された画像の対応するディスクリートコンポーネントに関連付けられた特徴ベクトル又は記憶された画像全体に対応する特徴ベクトルと比較してもよい。開示されたシステムは、類似性メトリックに基づいて、静止画像のディスクリートコンポーネント及び記憶された画像のディスクリートコンポーネントの間の類似性を決定してもよい。類似性メトリックは、共分散、最小二乗距離、又は、静止画像のディスクリートコンポーネント及び保存された画像のディスクリートコンポーネントの間のハウスドルフ距離のような統計的類似性に基づいていてもよい。
【0362】
コンポーネントを比較することは、静止画像において特定(識別)されたディスクリートコンポーネントに基づいてオブジェクトのデータ構造を検索(サーチ)すること、及び、類似のディスクリートコンポーネントを含むかもしれないデータ構造内のオブジェクトの1つ又はそれ以上の検索(サーチ)結果(即ち、マッチすること)を生成することを含んでもよい。幾つかの側面(アスペクト)において、検索(サーチ)結果は、静止画像のディスクリートコンポーネント及びデータ構造に格納された画像のディスクリートコンポーネントの間の類似度を表す別のメトリック、尤度、又はパーセントマッチを含んでもよい。幾つかの実施例において、システムは、以前に実施されたデータ構造の検索(サーチ)に基づいて、類似のオブジェクトを特定してもよい。本開示は、ディスクリートコンポーネントを比較する方法の例を提供するが、それらの最も広い意味での開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0363】
幾つかの実施例において、プロセッサは、静止画像から可動ディスクリートコンポーネントの静止レンダリングを抽出するように構成されてもよい。ここにおいて使用されるように、可動個別(ディスクリート)画像の静止レンダリングを抽出することは、静止から可動を抽出すること、又は可動から静止を抽出することを含み得る。画像の一部が可動であると識別されると、如何なる既知のメカニズムもそのような抽出を実行するために使用されてもよい。例えば、プロセッサは、移動可能であると決定されたディスクリートコンポーネントに関連付けられる静止画像内の画像要素(例えば、メッシュポイント、ポリゴン、ピクセル、ボクセルなど)を抽出又は分離してもよい。抽出することは、ディスクリートコンポーネントに関連付けられた基本的な画像要素を分離された保存場所に格納することを含んでもよい。追加的に、又は代替的に、抽出することは、ディスクリートコンポーネントに関連付けられた基本画像要素にラベルを付けること又は特定することを含んでもよいが、静止画像の他の部分に関連付けられた基本画像要素からそれらを区別するためにすることである。本開示は、可動ディスクリートコンポーネントの静止レンダリングを抽出する方法の例を提供するが、その最も広い意味において開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0364】
幾つかの実施例において、プロセッサは、静止レンダリング及び移動データを使用して、可動コンポーネントの静止レンダリングの可動バージョンを構築するように構成されてもよい。プロセッサは、移動データを使用して静止レンダリングの可動バージョンを構築してもよい。上で論じたように、幾つかの実施例において、移動データは、可動ディスクリートコンポーネントに関連付けられたスクリプトを含んでもよい。移動データは、特定の動的移動又は材料特性をエンコードするスクリプト、及び/又はそのような移動及び材料特性のプログラムによる記述を含んでもよい。プロセッサは、可動ディスクリートコンポーネントに関連付けられた抽出された基本的な画像要素にスクリプトを適用してもよい。例えば、プロセッサは、可動ディスクリートコンポーネントの静止レンダリングに関連付けられた基本的な画像要素の1つ又はそれ以上に、移動のプログラムによる記述又はスクリプトを関連付けてもよい。プログラムによる記述は、ユーザによって見られたとき、移動の外観を与えるかもしれない可動ディスクリートコンポーネントに関連付けられる、基本的な画像要素(例えば、メッシュポイント、ポリゴン、ピクセル、ボクセルなど)に対する、色、照明、向き、拡大縮小、テクスチャ、及び/又は他の材料特性の経時変化を特定(指定)し得る。本開示は、ディスクリートコンポーネントの可動バージョンを構築する方法の例を提供するが、その最も広い意味において開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0365】
可動部を有するオブジェクトにおいて、プロセッサは、オブジェクトの不動部分及び可動部分の間の接続要素を特定(識別)してもよい。例えば、ファンにおいて、プロセッサは、ファンの静止部分及びファンの可動部分の間の円筒形要素(例えば、コネクティングロッド)を特定(識別)してもよい。接続要素は、オブジェクト全体に対するその位置とともに、データ構造内に格納されたファンの画像及び静止画像において、プロセッサがそれを特定(識別)することを可能にすることができるはっきりと異なる形状を有してもよい。接続要素は、シーン・ファン及びデータベース・ファンの間でマッチされてもよい。更に、主成分分析(PCA)のような方法を使用して、プロセッサは、データ構造内の画像からの接続要素を静止画像内の接続要素と位置合わせしてもよい。
【0366】
幾つかの実施例において、静止画像からの不動コンポーネントが動かないままであるところ、可動ディスクリートコンポーネントの可動バージョンが、ハイブリッド画像内で移動できるように、プロセッサは、静止画像の不動コンポーネントを可動コンポーネントの静止レンダリングの構築された可動バージョンと組み合わせることによってハイブリッド画像を構築してもよい。開示されたシステム及びプロセスは、静止画像内のクリティカルな接続要素の位置合わせ(整列)に依存してもよい。例えば、回転可能なファンは、ファンの非可動部をファンの回転可能部に接続する接続部材(例えば、ロッド又はチューブ)を含んでもよい。ハイブリッド画像の生成中に、開示されたシステム及びプロセスは、可動コンポーネントの静止レンダリングの構築された可動バージョンにおけるクリティカルな接続要素が、静止画像における対応するクリティカルな接続要素と可能な限り密接に整列することを確実にするのに役立ってもよい。このような密接な整列(位置合わせ)は、可動コンポーネントの挿入された画像が、結果として得られるハイブリッド画像において自然に見えることを確実にするのに役立つであろう。
【0367】
開示された実施例と一致して、ハイブリッド画像を生成することは、可動コンポーネントの静止レンダリングの可動バージョンを静止画像に挿入することを含んでもよい。従って、例えば、プロセッサは、可動コンポーネントの静止レンダリングの可動バージョンに関連づけられた基本画像要素(関連する移動データを含む)を、静止画像の不動部分に関連する基本画像要素と組み合わせてもよい。ハイブリッド画像を生成することは、プロセッサによって受け取られた静止画像内のディスクリートコンポーネントの静止レンダリングと同じ方向(即ち、オブジェクトを整列すること(位置合わせ))及び同様なサイズ(即ち、オブジェクトを拡大縮小すること(スケーリング))において可動バージョンを配置することを含んでもよい。例として、可動バージョンと静止画像の不動部分との整列(位置合わせ)は、画像の可動バージョンの基本要素の(x、y、z)座標を、静止画像座標におけるこの要素の所望の位置であるT(x、y、z)に変換するアフィン変換を含んでもよい。他の実施例において、ハイブリッド画像を生成することは、画像要素の2つのファミリーの結合をとることによって、画像の可動バージョンを静止画像の不動部分と組み合わせることを含んでもよい。
【0368】
更に他の実施例において、ハイブリッド画像を生成することは、融合要素を得るために、可動バージョンの画像要素の特性と静止画像の不動部分の画像要素とを組み合わせることを含んでもよい。例えば、ディスクリートコンポーネントの可動バージョン及び静止画像がポリゴンのファミリを含むとする。各ポリゴンはテクスチャに関連付けられていてもよい。テクスチャは、画像からポリゴンへの2Dマッピングであってよいが、このポリゴンが、ビューアーにどのように見えるか(現れるか)を表す(例えば、ポリゴンの異なる部位は、異なる色を有してもよい)。静止画像の不動部分及び可動バージョンの整列(位置合わせ)Tは、対応するポリゴンファミリのマッチングを決定するように使用されてもよい。例えば、ディスクリートコンポーネントの可動バージョンからのポリゴンは、静止画像内のポリゴンに対して最も近い可動バージョンのポリゴンの位置を見つけるために、変換Tを使用して静止画像内のポリゴンにマッピングされてもよい。マッチングを使用して、システムは、静止画像及び可動バージョンの画像データのポリゴンの頂点をマッチングしてもよい。開示されたシステムはまた、移動可能バージョンの画像データのポリゴンから静止画像のポリゴンへと、色、テクスチャ、材料特性などを転送してもよい。幾つかの実施例において、オブジェクトの位置合わせ(整列)及び/又はオブジェクトの拡大縮小(スケーリング)は、主成分分析(PCA)の使用を含んでもよい。
【0369】
ハイブリッド画像を生成することはまた、開示された実施例と一致して、画像処理技術(例えば、明るさの調整、照明の調整、勾配ドメイン法の実施など)を使用することを含んでもよい。当業者が認識するように、勾配ドメイン法は、ディスクリートコンポーネントの可動バージョンの基本画像要素の勾配を静止画の不動部分の画像要素の勾配と統合することによってハイブリッド画像を構築することを含んでもよい。ハイブリッド画像において、ハイブリッド画像に含まれる静止画像の不動部分が動かないままであってもよいが、ディスクリートコンポーネントの可動バージョンは、関連する移動データに従って移動してもよい。上記で論じたの2つの画像(例えば、第1の画像及び第2の画像)を組み合わせるための追加的又は代替的な技術もまた、本開示の実施例と一致して、可動コンポーネントの静止レンダリングの可動バージョンを構築し、及び/又はハイブリッド画像を生成するために使用されてもよい。
【0370】
幾つかの実施例において、プロセッサは、ハイブリッド画像を出力するように構成されてもよい。ハイブリッド画像を出力することは、開示された実施例と一致して、画像を表示すること、画像を保存すること及び/又は送信することを含んでもよい。送信することは、開示された実施例と一致して、如何なる既知の方法によるネットワークを介して送信することを含んでもよい。例えば、システムは、ハイブリッド画像をブロードキャストする(即ち、ネットワークを介して複数のユーザデバイスに送信する)、ハイブリッド画像をユーザデバイスに送信する、及び/又はハイブリッド画像をメモリに格納することができる。
【0371】
図11は、本開示の実施例と一致して、ユーザによって見られている入力3Dシーン内の例示的なオブジェクト(例えば、ファン1100)を図解している。ファンは、4つの脚1104、ポール1103、安全ケージ1101に封入された可動ファン要素1102を含むファンのヘッドを含んでもよい。開示されたシステムは、ファン300の画像を、4つの脚1104、ポール1103、ファン要素1102、及び安全ケージ1101のようなディスクリートコンポーネントにセグメント化するように構成されてもよい。
【0372】
図12は、データ構造1030におけるファン1201及び1202の例を図解している。ファン1201及び1202は、それぞれ、可動であるかもしれないディスクリートコンポーネント1203、1205、及び不動であるかもしれないディスクリートコンポーネント1204、1206とを含んでもよい。開示されたシステムは、ファン1100のディスクリートコンポーネント1102をデータ構造に格納された画像と比較してもよい。開示されたシステムは、ディスクリートコンポーネント1102と同様の可動ディスクリートコンポーネント1203、1205を有する、データ構造内の1つ又はそれ以上のファン(例えば、1201、1202)を特定(識別)してもよい。例えば、開示されたシステムは、各々セグメント化された部品(パーツ)1101、1102、1103、1104を、ファン1202又はデータ構造において特定(識別)された他のファンのセグメント化された部品(パーツ)1203、1204と比較してもよい。システムは、各入力ファン・コンポーネント1101、1102、1103、1104を、データ構造に格納されたファン・コンポーネント(例えば、脚に対して脚、ポールに対してポールなど)へマッチングすることを特定(識別)してもよい。
【0373】
データ構造において、各ファンセグメントは
移動性又は不可動性として記述されてもよく、移動性の要素の動きのモードも記述されてもよい。従って、例えば、
図12に図解されるファン1202では、個別の(ディスクリートな)ファン・コンポーネント1203は移動性であってもよいが、脚1204は不可動性であってもよい。上で論じたように、開示されたシステムは、ファン1100の画像(
図11)から、個別の(ディスクリートな)ファン・コンポーネント1102の静止レンダリングを抽出してもよい。開示されたシステムは、ファン・コンポーネント1101の静止レンダリングの移動可能なバージョンを作成するために、ファン・コンポーネント1102の抽出された静止レンダリングを、データ構造内に格納されたファン1202のマッチするディスクリート(個別)コンポーネント1203又はデータ構造内に格納されたファン1201のマッチするディスクリート(個別)コンポーネント1205を関連付けられた移動データ(例えば、スクリプト)と組み合わせてもよい。上記で論じたように、開示されたシステムは、ファン・コンポーネント1101の静止レンダリングの可動バージョン(ファン・コンポーネント1203又は1205の移動データを含む)をファン1100の不動部分(例えば1103、1104)の静止レンダリングと組み合わせることによってハイブリッド画像を生成してもよい。結果として得られるファン1100のハイブリッド画像は、ファン・コンポーネント1203又は1205の移動データに従って可動であるとしてファン・コンポーネント1101を示すであろうが、一方、他のコンポーネント1103、1104は不動のままであってもよい。
【0374】
セグメント化された入力ファン/ツリー内の各セグメントと、事前にセグメント化されたデータ構造ファン/ツリー内の移動性の(モバイル)セグメントの各々との比較は、ディスクリートコンポーネントを可動部分と比較するための方法の例であってもよいが、ここで、ディスクリートコンポーネントは、入力ファンの部品(パーツ)へのセグメント化であり、そして、比較は、2D又は3Dオブジェクトの類似性に対するチェックを含んでもよい。システムは、画像が入力ファンを含むことを決定してもよく、更に、ファンの「上部」(例えば、ファンケージ、ブレード制御ユニット)が統合されたセグメントであってよいことを決定してもよい。システムは、データ構造に格納されているファン内の同様の統合されたセグメントを特定(識別)してもよい。システムはまた、データ構造から、特定(識別)された統合されたセグメントが移動性(モバイル)であると決定してもよい。入力ファンの上部の抽出は、それが移動性であると決定するとともに、静止画像からの可動ディスクリートコンポーネントの静止レンダリングの例であってもよい。
【0375】
幾つかの実施例において、システムは、入力ファン/ツリーの葉の上部が移動性であると決定してもよい。システムは、動きのモードを決定してもよい。幾つかの例示的な実施例において、システムは、追加情報、例えば、入力ファンの上部とデータ構造ファンの上部との間のポイントツーポイントマッチング(point-to-point matching)(ツリーに対して同様に)を決定してもよい。システムは、データ構造ファンの動きのモードを入力ファンのポイントツーポイントマッチングと組み合わせるだけで、データ構造上部から入力上部に動きのモードをインポートしてもよい。入力ファンの上部は、既知の動きのモードと共に、今や移動性である。これは、静止レンダリング及び移動データを使用して、可動コンポーネントの静止レンダリングの可動バージョンを構築する例であってもよい。
【0376】
幾つかの実施例において、システムは、入力上部ファン及びデータ構造上部ファンのポイントツーポイントマッチングを決定することができないかもしれない。しかしながら、システムは、例えば、上記で論じたハイブリッド画像を生成する例示的な方法を使用して、既存の上部ファンをシーンから接合(スプライシング)して同じ位置及び方向にデータ構造を挿入することにより、入力上部ファンをデータ構造上部ファンに置き換えてもよい。システムは、入力上部ファンをデータ構造上部ファンに置き換えてもよい。接合(スプライシング)及び挿入のこのケースは、静止画像の不動コンポーネントを、可動コンポーネントの静止レンダリングの構築された可動バージョンと組み合わせることによってハイブリッド画像を構築する例であってもよい。
【0377】
上記のどちらのケースにおいても、下部ファンを固定したまま、上部ファンにモーションスクリプトを適用することで、結果として得られるオブジェクトは、部分的にアニメーション化されてよい(ここで、スクリプトは、接合(スプライシング)の場合にオリジナルのもの又はインポートされたものの何れかである)。これは、静止画像からの不動コンポーネントが静止したままであるところ、可動ディスクリートコンポーネントの可動バージョンがハイブリッド画像内で移動できるようにする例である。
【0378】
幾つかの実施例において、静止画像は人の頭を含んでもよく、ディスクリートコンポーネントは人の頭及び髪を含んでもよく、そして少なくとも1つのプロセッサは、ハイブリッド画像において、頭が動かないままであり、髪が動くようにさせるように構成されてもよい。例えば、プロセッサは、人の頭又は顔の静止画像を受け取ってもよい。プロセッサは、静止画像を、例えば、髪の部分及び頭の残りの不動部分を表すディスクリートコンポーネントにセグメント化(分割)することができる。プロセッサは、ディスクリートコンポーネント(例えば、髪の毛及び不動の頭の部分)をデータ構造内のオブジェクトと比較してもよい。プロセッサは、髪が動いているかもしれない(例えば、風のために)頭の幾つかの画像を特定(識別)してもよい。プロセッサは、受け取られた静止画像及びデータ構造内の画像の間の最良のマッチングを特定(識別)してもよい。プロセッサは、可動の髪部分のレンダリングを作り出すために、髪に関連付けられた受け取られた静止画像の部分を抽出し、移動データ(例えば、スクリプト又は他のプログラムによる記述)を抽出された部分に適用してもよい。プロセッサは、ハイブリッド画像を作り出すために、受け取られた静止画像内において不動の頭の部分と可動の髪の部分のレンダリングを組み合わせてもよい。ハイブリッド画像において、髪の部分は、データ構造から取得(読出)された移動データに従って移動(動き)を示してもよい。
【0379】
幾つかの実施例において、静止画像は、水域を含んでもよく、ディスクリートコンポーネントは波及び海岸を含んでもよく、そして少なくとも1つのプロセッサは、ハイブリッド画像において海岸を動かないままにさせ、波を動かすようにさせるように構成されてもよい。例えば、プロセッサは、大海、湖、海、又は他の水域の静止画像を受け取ってもよい。プロセッサは、静止画像を、例えば、波及び岸の不動部分を表すディスクリートコンポーネントに分割してもよい。プロセッサは、ディスクリートコンポーネント(例えば、波及び不動の海岸)をデータ構造内のオブジェクトと比較してもよい。プロセッサは、波が移動しているかもしれない水域の幾つかの画像を特定(識別)してもよい。プロセッサは、受け取られた(受信された)静止画像及びデータ構造内の画像の間の最良のマッチングを特定(識別)してもよい。プロセッサは、可動な波のレンダリングを作り出すために、波に関連付けられた受け取られた静止画像の部分を抽出し、移動データ(例えば、スクリプト又は他のプログラムによる記述)を抽出された部分に適用してもよい。プロセッサは、ハイブリッド画像を作り出すために、可動な波のレンダリングを、受け取られた静止画像内の不動の海岸部分と組み合わせてもよい。ハイブリッド画像において、波はデータ構造から取得(読出)された移動データに従って移動(動き)を示してもよい。この例において、クリティカルな接続コンポーネントは、海底(又は、そのレベルより下の水がアニメーションに影響を与えないほど十分に深いかもしれない抽象的なフロア)を含んでもよい。開示されたシステムは、波に対応するデータ構造内のオブジェクト内の各画像要素の移動(動き)をシミュレートし、それを静止画像の対応する画像要素に適用してもよい。
【0380】
幾つかの実施例において、静止画像は木(ツリー)を含んでもよく、ディスクリートコンポーネントは幹及び葉を含んでもよく、そして少なくとも1つのプロセッサは、ハイブリッド画像において幹を動かないままにさせ、葉を動かすようにさせるように構成されてもよい。例えば、プロセッサは木(ツリー)の静止画像を受け取ってもよい。プロセッサは、静止画像を、例えば、葉及び残りの不動の幹部分を表すディスクリートコンポーネントにセグメント化(分割)してもよい。プロセッサは、ディスクリートコンポーネント(例えば、葉や不動の幹部分)をデータ構造内のオブジェクトと比較してもよい。プロセッサは、(例えば、風のために)葉が動いているかもしれない木の幾つかの画像を特定(識別)してもよい。プロセッサは、受け取られた静止画像及びデータ構造内の画像の間の最良のマッチングを特定(識別)してもよい。プロセッサは、可動な葉のレンダリングを作り出すために、葉に関連付けられた受け取られた静止画像の部分を抽出し、移動データ(例えば、スクリプト又は他のプログラムによる記述)を抽出された部分に適用してもよい。プロセッサは、ハイブリッド画像を作り出すために、可動な葉のレンダリングを、受け取られた静止画像内の不動の幹部分と組み合わせてもよい。ハイブリッド画像において、葉は、データ構造から取得(読出)された移動データに従って移動(動き)を示してもよい。別の実施例において、ユーザによって見られているシーンは、2次元であってもよく、例えば、木を含む風景自然画像を含んでもよい。開示されたシステムは、シーン内の木を分離したオブジェクトとして認識してもよい。システムは、それを幹、枝、葉に(例えば色によって)セグメント化(分割)してもよい。システムは、データ構造内の類似した木の画像に対する検索(サーチ)をしてもよい。システムは、入力の木(ツリー)の葉を、データ構造からの木(ツリー)の画像の葉のセグメント(leaves-segments)(以下では、データ構造木(ツリー)と呼ぶ)とマッチングさせることができるかもしれない。システムは、データ構造木(ツリー)が葉のアニメーションを含んでいると決定してもよい。システムは、このアニメーションを入力の木(ツリー)の葉にインポートして、そして、静止木(ツリー)から新しい「ライブ」木(ツリー)を作り出してもよい。
【0381】
幾つかの実施例において、静止画像は人を含んでもよく、ディスクリートコンポーネントは人の体及び衣類を含んでもよく、そして少なくとも1つのプロセッサは、ハイブリッド画像において体を動かないままにさせて、衣類が移動する(動く)ようにさせるように構成されてもよい。例えば、プロセッサは、人の静止画像を受け取ってもよい。プロセッサは、静止画像を、例えば、衣類及び人の残りの不動の本体を表すディスクリートコンポーネントにセグメント化(分割)してもよい。プロセッサは、ディスクリートコンポーネント(例えば、衣類の不動の本体部分)をデータ構造内のオブジェクトと比較してもよい。プロセッサは、(例えば、風又は人の動きのために)衣類が動いているかもしれない本体の幾つかの画像を特定(識別)してもよい。プロセッサは、受け取られた静止画像及びデータ構造内の画像の間の最良のマッチングを特定(識別)してもよい。プロセッサは、可動な衣類のレンダリングを作り出すために、衣類に関連付けられた受け取られた静止画像の部分を抽出し、移動データ(例えば、スクリプト又は他のプログラムによる記述)を抽出した部分に適用してもよい。プロセッサは、ハイブリッド画像を作り出すために、可動な衣類のレンダリングを、受け取られた静止画像内の不動の本体部分と組み合わせてもよい。ハイブリッド画像において、衣類は、データ構造から取得(読出)された移動データに従って移動(動き)を示してもよい。衣類は、ヘッドカバー、シャツ、ジャケット、スカーフ、ズボン、ジーンズ、ドレス、スカート、又はその他の衣料品であってもよい。
【0382】
幾つかの実施例において、静止画像は時計を含んでよく、ディスクリートコンポーネントは時計の文字盤及び針を含んでよく、そして少なくとも1つのプロセッサは、ハイブリッド画像において時計が異なる時間を表示するようにさせるように構成されてもよい。例えば、プロセッサは、時計の静止画像を受け取ってもよい。プロセッサは、静止画像を、例えば、針及び残りの動かせない文字盤部分を表すディスクリートコンポーネントにセグメント化(分割)してもよい。プロセッサは、ディスクリートコンポーネント(例えば、針及び不動の文字盤部分)をデータ構造内のオブジェクトと比較してもよい。プロセッサは、葉が動いているかもしれない時計の幾つかの画像を特定(識別)してもよい。プロセッサは、受け取られた静止画像とデータ構造内の画像との間の最良のマッチングを特定(識別)してもよい。プロセッサは、可動な針のレンダリングを作り出すために、針に関連付けられた受け取られた静止画像の部分を抽出し、移動データ(例えば、スクリプト又は他のプログラムによる記述)を抽出された部分に適用してもよい。プロセッサは、ハイブリッド画像を作り出すために、受けた取られた静止画像内において、可動な針のレンダリングを不動の文字盤部分と組み合わせてもよい。ハイブリッド画像において、針はデータ構造から取得(読出)した移動データに従って移動(動き)を示し、そして、異なる時間を表示してもよい。この例において、クリティカルな接続コンポーネントは、針がそのまわりを回る、針の中心にあるポイント(点)であってもよい。座標系は、この中心ポイント(点)を通過する時計の平面に垂直なベクトルと共に、この中心ポイント(点)を含んでもよい。可動性の要素は、この垂直ベクトルの周りの回転に関連付けられたアフィン変換を含んでもよい。開示されたシステムは、データ構造内の時計の画像から時計の静止画像への変換を移動(転送)させるために、時計の平面及び中心をマッチングさせてもよい。
【0383】
幾つかの実施例において、静止画像はペットを含んでもよく、ディスクリートコンポーネントは本体及び毛皮を含んでもよく、そして少なくとも1つのプロセッサは、ハイブリッド画像において本体を動かないままにさせ、毛皮を動かすようにさせるように構成されてもよい。例えば、プロセッサはペットの静止画像を受け取ることができる。ペットには、犬、猫、馬、マウス、又はその他のペットが含まれてもよい。プロセッサは、静止画像を、例えば、毛皮及び不動の本体部分を表すディスクリートコンポーネントにセグメント化(分割)してもよい。プロセッサは、ディスクリートコンポーネント(例えば、不動の本体部分)をデータ構造内のオブジェクトと比較してもよい。プロセッサは、毛皮が動いているかもしれないペットの幾つかの画像を特定(識別)してもよい。プロセッサは、受け取られた静止画像とデータ構造内の画像との間の最良のマッチングを特定(識別)してもよい。プロセッサは、可動な毛皮のレンダリングを作り出すために、毛皮に関連付けられた受け取られた静止画像の部分を抽出し、移動データ(例えば、スクリプト又は他のプログラムによる記述)を抽出された部分に適用してもよい。プロセッサは、ハイブリッド画像を作り出すために、可動な毛皮のレンダリングを、受け取られた静止画像内の不動の本体部分と組み合わせてもよい。ハイブリッド画像において、毛皮は、データ構造から取得(読出)された移動データに従って移動(動き)を示してもよい。
【0384】
幾つかの実施例において、静止画像は動物を含んでもよく、ディスクリートコンポーネントは本体及び尾(テール)を含んでもよく、そして少なくとも1つのプロセッサは、ハイブリッド画像において体を動かないままにさせて、尾を動かすようにさせるように構成されてもよい。例えば、プロセッサは、動物の静止画像を受け取ってもよい。動物は、猫、犬、マウス、馬、又は如何なる他の動物であってもよい。プロセッサは、静止画像を、例えば、尾(テール)及び不動の本体部分を表すディスクリートコンポーネントにセグメント化(分割)してもよい。プロセッサは、ディスクリートコンポーネント(例えば、尾(テール)や不動の本体部分)をデータ構造内のオブジェクトと比較してもよい。プロセッサは、尾(テール)が動いているかもしれない動物の幾つかの画像を特定(識別)してもよい。プロセッサは、受信した静止画像とデータ構造内の画像との間の最良のマッチングを特定(識別)してもよい。プロセッサは、可動な尾(テール)のレンダリングを作り出すために、尾に関連付けられた受信された静止画像の部分を抽出し、移動データ(例えば、スクリプト又は他のプログラムによる記述)を抽出された部分に適用してもよい。プロセッサは、ハイブリッド画像を作り出すために、可動テールのレンダリングを受け取られた静止画像内の不動の本体部分と組み合わせてもよい。ハイブリッド画像において、データ構造から取得(読出)した移動データに従って、尾(テール)が動きを示してもよい。
【0385】
別の実施例において、システムは、ユーザがオブジェクトを選択し、オブジェクトをユーザによって指示されたディスクリートコンポーネントに解析し、各ディスクリートコンポーネントに対する移動データを構成することを可能にしてもよい。そのようなユーザー定義のディスクリートコンポーネントは、ユーザが画像を不動及び可動のディスクリートコンポーネントの如何なる組み合わせにも分離することを可能にするであろう。システムは、ユーザが所望のシーン又は画像を作り出すために移動データをカスタマイズすることを可能にする特徴を含んでもよい。ユーザは、アナログ時計の静止画像を取得し、時計の文字盤を1つのディスクリートコンポーネントに解析し、時計の時針を2番目のディスクリートコンポーネントに解析し、及び時計の分針を3番目のディスクリートコンポーネントに解析してもよい。次に、ユーザは、各ディスクリートコンポーネントに対する移動データを構成することにより、移動データをカスタマイズしてもよい。このようなカスタマイズは、回転軸、並進経路、回転又は並進の方向、スピード、速度、コンポーネントの加速度、又は、モーション(動き)又は知覚されるモーション(動き)に関連付けられる如何なるパラメータの特定を含んでもよい。このことは、ユーザが、時計をアニメーション化して、文字盤を第1の方向に所望の速度で回転させ、分針を第2の方向に所望の速度で回転させ、時針を所望の方向に第3の速度で回転させることができるようにしてもよい。
【0386】
幾つかの実施例において、システムは、ユーザがオブジェクトをアニメーション化するかどうかを選択することを可能にしてもよい。システムは、ユーザが移動データに関連付けられる特徴を調整することを可能にしてもよい。例えば、システムは、所望の回転スピード、方向、範囲、又は、ディスクリートコンポーネントのモーション(動き)又は知覚されるモーション(動き)に関連付けられる他のパラメータを選択又は調整するようにユーザに促してもよい。例えば、可動ファン要素302及び可動ケージ302を含むファンの上記の例において、システムは、ユーザに、ファン要素302の方向及び可動ケージ301の振動のスピード408を選択又は調整するように促してもよい。システムは、移動データに関連付けられる2より大きい数の特徴を選択又は調整するようにユーザに促してもよいことに留意されたい。開示されたシステムは、ユーザの選択に基づいて選択された回転モードで回転するファンを備えた新しい3Dアニメーション407をレンダリングしてもよい。
【0387】
別の実施例において、システムは、ユーザが複数のオブジェクトから画像内のオブジェクトを選択することを可能にしてもよい。幾つかの実施例において、プロセッサは、シーン又は画像内の複数のオブジェクトを検出し、どのオブジェクトをアニメーション化するかの選択をユーザに促すように構成されてもよい。システムは、ユーザによる選択に基づいて、データ構造内のオブジェクト画像を検索(サーチ)してもよい。データ構造内のオブジェクト画像は、ユーザが選択したオブジェクトと類似しているか、又は、それとは実質的に異なっているかもしれない。ユーザは、データ構造内で少なくとも1つの所望のオブジェクトを選択してもよい。データ構造は、選択されたオブジェクトの可動部分及び選択されたオブジェクトの不動部分に関連するセグメンテーションデータを含む。システムは、ユーザが所望の画像を選択し、ユーザによって行われた選択に基づいてハイブリッド画像を作り出すことを可能にしてもよい。例えば、ユーザは静止画像においてサメを選択してもよい。システムは、ユーザがピエロを選択するところ、データ構造内のオブジェクトの画像をユーザが検索できるようにしてもよい。ピエロに関連するセグメンテーションデータは、可動腕(アーム)及び頭(ヘッド)を含んでもよい。システムは、アニメーション化されたピエロ-サメのハイブリッド画像を作り出してもよく、ここで、サメの本体は静止したままであるが、頭(ヘッド)及び腕(アーム)が動く。システムは更に、ユーザが、ハイブリッド画像内でオブジェクトのどの部分が動くかをカスタマイズし、及びその移動に関連する変数を定義することを可能にしてもよい。
【0388】
図13は、本開示の実施例と一致する静止画像の部分をアニメーション化する例示的な方法1300を図解している。方法1300のステップは、上記の方法と一致して、システム1000のコンポーネント(例えば、ユーザシステム1010又はサーバー1020)によって実行されてもよい。ステップ1301では、システム1000は、オブジェクトの静止画像を受け取る(受信する)ことをしてもよい。ステップ1302では、システム1000は、メモリに格納された類似のオブジェクトの少なくとも1つの画像を特定するために、検索(ルックアップ)を実行してもよい。メモリは、同様のオブジェクトの記憶された画像において可動部分を不動部分から区別するセグメンテーションデータを含んでもよく、そして、可動部分に関連付けられる移動データを含んでもよい。ステップ1303では、システム1000は、静止画像をディスクリートコンポーネントにセグメント化するために、オブジェクトの受け取られた(受信された)静止画像内のボクセルの分析を実行してもよい。ステップ1304では、システム1000は、静止画像の不動成分とは異なる、可動ディスクリートコンポーネントの少なくとも1つの静止レンダリングを受け取られた画像内において特定(識別)するために、ディスクリートコンポーネントを少なくとも1つの類似のオブジェクトの可動部分と比較してもよい。ステップ1305において、システム1000は、静止画像から可動ディスクリートコンポーネントの静止レンダリングを抽出してもよい。ステップ1306において、システム1000は、静止レンダリング及び移動データを使用して、可動コンポーネントの静止レンダリングの可動バージョンを構築してもよい。ステップ1307では、システム1000は、静止画像の不動コンポーネントを、可動コンポーネントの静止レンダリングの構築された可動バージョンと組み合わせることによってハイブリッド画像を構築し、それによって、静止画像からの不動コンポーネントが動かないままでいるところ、可動ディスクリートコンポーネントの可動バージョンがハイブリッド画像内で移動できるようにしてもよい。ステップ1308では、システム1000は、ハイブリッド画像を出力してもよい。
【0389】
本開示はまた、オブジェクトの部分画像に基づいて1つ又はそれ以上のオブジェクトの完全な3Dモデルを生成するためのコンピュータで実施されるシステムに関する。本開示によれば、2D又は3Dシーン又は画像を拡張又は再構築するためのシステムは、互いに相互作用及び協調してもよい幾つかのコンポーネントを含んでもよい。例として、
図10は、本開示と一致する例示的なシステム1000を図解している。
図2は、本開示の実施例及び特徴を実施するための例示的な計算装置200を図解している。
【0390】
本開示によれば、不完全な3Dデータからオブジェクトの完全な3Dモデルをシミュレートするためのコンピュータで実施されるシステムが開示される。開示されるシステムは、モバイルデバイス、コンピューター、サーバー、サーバーのクラスター、複数のサーバークラスター、パーソナルコンピューター、スマートデバイス、タブレット、端末、キオスク、クラウドサービス、ストレージデバイス、開示された実施例などによる方法を実行するように構成された特殊なデバイス、のような、1つ又はそれ以上のコンピューティングデバイスを含むコンピュータで実施されるシステムであってもよい。本開示のシステムは、部分的な画像又はシーンのような不完全なデータからオブジェクトの完全な3Dモデルをシミュレートする又は作り出すためのプロセスにおいて使用されてもよい。本開示は、システム又はデバイスの例を提供するが、その最も広い意味において本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0391】
開示された実施例は、仮想現実(VR)、拡張現実(AR)、及び複合現実(MR)技術及びアプリケーションで使用するための画像又はシーン(例えば、スキャンに基づく3Dシーン)を処理するためのコンピュータで実施されるシステムを含む。幾つかの実施例において、システムは、少なくとも1つのプロセッサを含んでもよい。プロセッサ及びメモリの例示的な記述は、上記で記述されており、また、
図2を参照してなされている。例として、
図2及び10に示されるように、システム1000は、1つ又はそれ以上のユーザシステム1010及びサーバ1020に含まれる1つ又はそれ以上のプロセッサ202を含んでもよい。本開示で使用されるように、「プロセッサ」という用語は、「少なくとも1つのプロセッサ」を指すための縮めた表現として使用される。プロセッサは、メモリにアクセスするように構成されてもよい。プロセッサ及びメモリの代替的及び追加的な記述も、
図2を参照して上記で記述されている。
【0392】
幾つかの実施例において、プロセッサは、オブジェクトの部分画像を受信するように構成されてもよいが、ここで、部分画像は、2D画像又は不完全な3D画像の少なくとも1つである。例えば、プロセッサは、ユーザからのアップロードなどによって、画像センサ、メモリ、データ構造、ルックアップテーブルから部分画像を受け取っても(受信しても)よい。更に、プロセッサは、如何なるデータ通信チャネルを介して部分画像を受信してもよく、如何なるデータ転送プロトコルを利用してもよい。画像は、2D又は3Dを問わず、如何なるタイプのカメラ又は撮像装置(イメージャ)で取得されてもよい。3D撮像装置(イメージャ)の網羅的ではない例は、ステレオカメラ、距離カメラ、3Dスキャナー、レーザー距離計、レンチキュラーデバイス、飛行時間型カメラ、ストラクチャード・ライト・カメラ(structured light cameras)、及びベクトグラフィック・カメラ(vectographic cameras)を含む。2D画像は、CCDアレイ又はその他のデジタルカメラ技術によってキャプチャされてもよい。ここにおいて広く使用されているように、前述の又は他の画像キャプチャデバイスのいずれかによってキャプチャされた画像は、「スキャン」と見なされてよい。
【0393】
オブジェクトは、現実の世界、架空又は仮想の要素又は特徴、要素又は特徴の組み合わせ、又は画像内に存在する要素又は特徴の一部であってもよい。例えば、リンゴの静止画像において、リンゴは、茎及び葉とともにオブジェクトであってもよく、リンゴ及び茎は1つのオブジェクトであり、葉は第2の分離したオブジェクトであってもよく、リンゴは第1のオブジェクトで、茎は第2のオブジェクトで、及び葉は第3の分離したオブジェクトであってもよい。
【0394】
部分的な画像は、オブジェクトの一部のみが含まれてもよい。部分的な画像は、オブジェクトの全体の画像又はシーンよりも少ない量が含まれてもよい。例えば、部分的な画像は、不完全な画像又はスキャン、データ転送によるデータの損失、画像のノイズ、別のオブジェクトによって隠されているオブジェクト、又はオブジェクトの完全な画像がキャプチャされないような他の理由、の結果であるかもしれない。例えば、不完全なスキャンは、チェアの前面であるが、チェアの背面ではないというような、オブジェクトの一部をキャプチャするかもしれない。チェアの正面のみのスキャンは、不完全な3Dデータの例である。幾つかのケースにおいて、スキャンが、3Dで完全なオブジェクトを表すのに必要な情報よりも少ない情報を得るとき、不完全スキャンという結果になるかもしれない。このチェアの部分スキャンは、オブジェクトの部分画像の例でもある。オブジェクトの部分的な画像へと導かれ得るプロセスの他の例は、3Dスキャナーによってスキャンされているが、すべての方向からスキャンされているわけではないオブジェクトを含んでもよい。別の例は、他のオブジェクトによって遮られ(塞がれ)ているオブジェクト、又は他の部分によって遮られ(塞がれ)ているオブジェクトの一部に関する。この例において、スキャン中にチェアがテーブルの後ろに配置されているかもしれない。別の例において、セグメンテーションアルゴリズムは、オブジェクトを正確に分離していないかもしれず、オブジェクトの一部が欠落しているかもしれず、又は冗長な部品(パーツ)が存在するかもしれない。別の例において、スキャナーの解像度が低いか、照明条件が不十分なために、オブジェクトが不正確にスキャンされるかもしれない。スキャンが色情報などの実際のオブジェクトの特性を取得しない場合、又はスキャン入力方法の制限やその他のエラーが原因で、不完全なスキャンが発生するかもしれない(例えば、部分的に透明なオブジェクトはスキャンにおいて現れないかもしれない)。幾つかのケースにおいて、スキャンがシーンデータの一部(例えば、シーン内の穴やシーンの不明瞭な部分)を見逃したり、ハードウェアの制限やスキャン中に発生するユーザエラーによるその他のエラーや歪みが発生したりすると、不完全なスキャンという結果になるかもしれない。本開示は、オブジェクトの部分画像の例を提供するが、その最も広い意味において本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0395】
オブジェクトの全体又は一部の画像は、メッシュ、点群、又は画像又はシーンをエンコードするその他の表現で表されてもよい。例示的な実施例において、画像又はシーンは、上記で論じたようにメッシュとしてエンコードされた3D表現を含んでもよい。幾つかの実施例において、シーン又は画像は、複数の既存の画像要素を含んでもよい。幾つかの実施例において、システムは、開示された実施例と一致して、受信されたスキャンに基づいて画像の画像要素を生成してもよい。より一般的には、画像又はシーンは、画像要素(2D又は3D)のような複数の画像要素を含んでもよい。例えば、画像要素は、ピクセル、ボクセル、点、ポリゴンなどの少なくとも1つを含んでもよい。幾つかの実施例において、システムは、1セットのポリゴンを生成してもよいが、ここで、個々のポリゴンは画像要素である。別の例として、システムが点群を生成する場合、個々の点(ポイント)は画像要素であってもよい。例えば、システムは、画像要素として複数のn面ポリゴン又はボクセルから構成されるメッシュを生成してもよく、1つ又はそれ以上のポリゴンは、解像度を改善するために、又は他の理由で、追加のポリゴンに細分化してもよい。
【0396】
幾つかの実施例において、プロセッサは、部分画像に対応する追加情報のために少なくとも1つのデータ構造を検索(サーチ)するために、部分画像を使用してもよい。本開示の実施例と一致して、例示的なデータ構造は、上記に記述されている。データ構造は、開示されたシステムのコンポーネント又はリモートコンピューティングコンポーネント(例えば、クラウドベースのデータ構造)であるかもしれない。幾つかの実施例において、少なくとも1つのデータ構造は、3Dオブジェクト及び/又は複数の3Dオブジェクトに対応する追加情報を含んでもよい。データ構造の追加情報及び/又は追加データを含む画像データは、オブジェクトの2D又は3Dモデルを含んでもよい。本開示と一致するデータ構造は、1つ又はそれ以上のオブジェクトに対応する1つ又はそれ以上のコンピュータ支援設計(CAD)モデルを含んでもよい。CADモデルは、メッシュ、点群、3D空間のボクセルマッピング、及び/又はオブジェクトのグラフィカルな描写を提示するように構成され得る如何なる他のマッピングのような1つ又はそれ以上のフォーマットにおいて保存されてもよい。CADモデルは、オブジェクト及び/又はオブジェクトのコンポーネント(例えば、チェア及び/又はチェアの肘掛け)を表してもよい。
【0397】
幾つかの実施例において、追加情報及び/又は追加データは、リアル又は架空のオブジェクトの固有な、外因性の、又は内因性の特徴に関連する如何なる情報又はデータを含んでもよい。例えば、追加情報又はデータは、色、テクスチャ、形状、輪郭、材料、柔軟性特性、質量特性、配向、物理的特性、又は如何なる他の特徴に関連する情報又はデータを含んでもよい。追加情報又はデータは、情報のリポジトリ(repository)の一部として、ニューラルネットワーク又は自己学習システムを介して、ユーザによってシステムに入力されるか、又はデータの収集を可能にする他の方法によって、時間の経過とともにシステムによって蓄積されてもよい。幾つかの実施例において、追加情報又はデータは、オブジェクト固有で、グループ固有で、カテゴリ固有であってもよく、更に、ユーザによって指定及び定義されてもよい。追加情報又はデータは、データ構造内で特定の画像、シーン、又はモデルにリンクされるかもしれない。幾つかの実施例において、追加情報は、受信された部分画像に対応する3Dモデルを含んでもよい。幾つかの実施例において、追加情報は、部分画像内のオブジェクトに類似した少なくとも1つのオブジェクトの部分スキャンから導かれた情報を含んでもよい。追加情報又はデータは、部分的な画像スキャンのコレクション又はオブジェクト又は一連のオブジェクトに関連する画像に基づくデータであってもよい。本開示は、追加情報又は追加データの例を提供するが、その最も広い意味において開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0398】
データ構造に格納されている情報(例えば、CADモデル、追加情報など)は、セマンティックタグ又は1つ又はそれ以上の空間セマンティックグラフに関連付けられてもよい。例えば、データ構造に格納された3Dモデルに関連付けられた空間セマンティックグラフ及びセマンティックタグは、格納された情報を言葉でテキスト形式で表すことができる。例えば、「テーブル」、「棚」、「チェア」のようなテキスト表現は、それぞれ、データ構造に格納されている対応するテーブル、棚、及びチェアのオブジェクトモデルに関連付けられたセマンティックタグであるかもしれない。幾つかの実施例において、セマンティックタグは、3Dオブジェクトの分類を含んでもよい。当業者に明らかであるように、クラスは、互いに対してより広い又はより狭いクラスの階層(ヒエラルキー)で定義されてもよい。例えば、「家具」クラスは「チェア」クラスよりも広くてもよく、「チェア」クラスは「オフィスチェア」クラスよりも広くてもよい。他の実施例において、セマンティックタグは、「オフィス」、「リビングルーム」、又は「キッチン」のような環境又は3Dシーンを表してもよい。
【0399】
開示されたシステムは、部分画像のセマンティックタグ又は空間セマンティックグラフを、データ構造に格納されたモデル、オブジェクト、及び他の情報のセマンティックタグ及び/又は空間セマンティックグラフと比較してもよい。本開示の実施例と一致して、開示されたシステムは、上で論じられたオブジェクト及び/又は画像を比較するための1つ又はそれ以上の技術を使用して、セマンティックタグ又は空間セマンティックグラフを追加的又は代替的に比較してもよい。幾つかの実施例において、必要に応じて、開示されたシステムは、セマンティックタグ又は空間セマンティックグラフを比較する前に、データ構造に格納された1つ又はそれ以上のモデル又はオブジェクトをセグメント化してもよい。本開示の実施例と一致して、セグメント化は、追加的又は代替的に、上記で議論されたセグメント化のための技術を使用して実行されてもよい。システムは、部分画像に関連して最も近い又は最も類似したセマンティックタグ又は空間セマンティックグラフを有する1つ又はそれ以上のモデル及び/又は他の追加情報を特定(識別)してもよい。システムは、共分散、最小二乗距離、画像要素に関連付けられたベクトル間の距離(例えば、特徴ベクトル)、整列されたオブジェクト間のハウスドルフ距離のような統計的類似性に基づいて、近さ又は類似性を決定してもよい。幾つかの実施例において、システムは、部分画像及びモデル、オブジェクト、又はデータ構造に格納された追加情報に関連付けられた特徴ベクトルの比較に基づいて、近さ又は類似性を決定してもよい。幾つかの実施例において、システムは、以前に実施されたデータ構造の検索(サーチ)に基づいて、類似のオブジェクトを特定(識別)してもよい。本開示は、少なくとも1つのデータ構造を検索(サーチ)するための方法の例を提供するが、その最も広い意味において開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0400】
幾つかの実施例において、1つ又はそれ以上のプロセッサは、データ構造がオブジェクトの対応する3Dモデルを含まないことを決定するように構成されてもよい。例えば、プロセッサは、上記で論じたように、部分画像がデータ構造に格納された追加情報及び/又はモデルと十分にマッチしないことを示して、類似性の尺度が閾値を下回っていると判断してもよい。例として、部分画像がオブジェクト(例えば、ガラス)を表し、データ構造が家具オブジェクトのモデルを含む場合、プロセッサは、データ構造がガラスオブジェクトに対応する3Dモデルを含まないと判断してもよい。
【0401】
幾つかの実施例において、1つ又はそれ以上のプロセッサは、部分画像内のオブジェクトとは異なるが部分画像内のオブジェクトと類似性を有する参照3Dモデルに対する少なくとも1つのデータ構造を検索(サーチ)するように構成されてもよい。プロセッサは、上で論じられたものと同様のプロセスを使用して、部分画像を、データ構造内に格納されたモデル及び情報と比較することによって検索(サーチ)を実行してもよい。プロセッサは、例えば、(例えば、セマンティックタグ、空間セマンティックグラフ、及び/又は特徴ベクトルの間の)類似性の尺度が特定の閾値を超える場合、データ構造がオブジェクトとは異なるが類似性を有する3Dモデルを含むと決定してもよい。幾つかの実施例において、決定は、類似性を示すために、画像、シーン、又はオブジェクトの1つ又はそれ以上の要素にタグ付け、ラベル付け、特定(識別)、又は別様に分類することを含んでもよい。
【0402】
データ構造内に格納された3Dモデルは、部分画像内のオブジェクトと少なくとも1つの特徴に基づいて類似していると見なすことができる。幾つかの実施例において、類似性は、画像又はシーンの別の要素又は部分に類似している画像又はシーンの如何なる要素又は部分を含んでもよい。そのような類似性は、サイズ、形状、配向、色、テクスチャ、パターン、位置、又は部分画像又はその一部に関連付けられた他の特徴又は特性の1つ又はそれ以上のものに基づいて決定されてもよい。例えば、部分画像内のオブジェクトとの類似点には、以下のものが含まれるが、それらは、部分画像と類似の3次元形状を備える部品(パーツ)を含むかもしれないCAD又はその他の3Dオブジェクト表現、部分画像において現れるテクスチャと類似のテクスチャを持つかもしれない3Dオブジェクト表現、例えばチェアのような部分画像と同じクラスであるかもしれないオブジェクトの3Dオブジェクト表現、である。
図14に図解されているように、チェアの参照モデル1410が、チェア1400について特定(識別)されている。参照モデル1410は、チェア1400と同一ではないが、シート、脚1411、及び背もたれ1412のような同様の特徴を有する。本開示は、部分画像内のオブジェクトと類似性を有するオブジェクトを特定(識別)するための方法の例を提供するが、その最も広い意味において本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0403】
幾つかの実施例において、プロセッサは、部分画像の欠落した特性に一般的に対応する参照3Dモデルの部分を決定するために、部分画像を参照3Dモデルと比較するように構成される。以前に論じたように、欠落している特性は、データ転送の欠如、低品質のスキャン、ノイズ、隠されたオブジェクトなどのために、欠落しているデータ、特徴、又は部分を含んでもよい。例として、システムは、部分画像内のオブジェクトと類似性を備えるデータ構造内の参照3Dモデルを検出(発見)する。参照3Dモデルのどの部分がスキャンからの欠落データに対応するかを理解するために、例えば、開示されたシステムは、部分画像の欠落する特性に一般に対応する3D参照画像の部分を探してもよい。これを行う1つの方法は、参照3Dモデルの一部がスキャンされたオブジェクトに最もよくマッチする最適な方向(オリエンテーション)及び縮尺(スケール)を決定し、そして、スキャンから「欠落している」として、スキャン内の部品(パーツ)と直接マッチをしない3Dオブジェクト表現のすべてを考慮することであってもよい。
【0404】
例えば、開示されたシステムは、どのオブジェクトが部分画像に最もよく一致するかを決定し、更に、データ構造オブジェクトのどのビューが部分画像のビューにマッチするかを決定してもよい。開示されたシステムは、データ構造から部分画像及びオブジェクトの大まかな位置合わせ(アライメント)を取得するために、この決定を使用してもよい。開示されたシステムは、データ構造から取得された3Dオブジェクト表現のかなりの部分が部分画像とマッチしないであろうことに留意して、2つのオブジェクト間のポイントツーポイントマッチングを取得するために、様々なコンピューティングアルゴリズム(例えば、ICP(Iterative Closest Point)アルゴリズム)を使用してもよい。開示されたシステムはまた、スキャンされたシーンに挿入されたときにその位置が既存の部分画像の位置と整列するように、データ構造からオブジェクトの3Dオブジェクト表現に適用されなければならない変換を決定してもよい。部分画像及びデータストアから取得された3Dオブジェクト表現の間のこのマッピングに基づいて、開示されたシステムは、3Dオブジェクト表現とマッチする部分画像の部分を決定してもよい。開示されたシステムは、追加的又は代替的に、2つの画像を組み合わせることに関連して上記で論じられたような位置合わせ及び拡大縮小(スケーリング)の技術を用いてもよい。
【0405】
プロセッサは、部分画像の画像要素(例えば、ピクセル、ボクセル、ポリゴン、メッシュポイントなど)をデータ構造から取得された3Dモデルと比較することによって、上記の操作(オペレーション)を実行してもよい。画像要素の比較は、同じ向き(即ち、オブジェクトの位置合わせ(アライメント))及び同様のサイズにおいて3Dモデル及び部分画像を配置することを含んでもよい。例として、データストアからの3Dモデル及び部分画像の位置合わせ(アライメント)は、部分画像の画像要素の(x、y、z)座標を、3Dモデル座標でのこの要素の所望の位置であるT(x、y、z)に変換する、或いは、逆に変換する、アフィン変換を含んでもよい。位置合わせ(アライメント)及び拡大縮小(スケーリング)後、プロセッサは、部分画像内において欠落する(即ち、存在しない)かもしれない3Dモデル内の画像要素を特定(識別)するために、3Dモデル及び部分画像の画像要素(例えば、ピクセル、ボクセル、ポリゴン、メッシュポイントなど)を比較してもよい。プロセッサは、部分画像の欠落した特性に対応するものとして、これらの欠落した画像要素にラベルを付ける、フラグを立てる、又はタグ付けすることができる。
【0406】
例えば、
図14に図解するように、チェアの部分画像1400が示されている。部分画像1400は不完全であり、脚1405に及び1402の背もたれに関連付けられたデータ1403を欠落している。部分画像1400もまた、ノイズ又は1404でのぼやけて不鮮明である結果としてデータを欠落している。更に、画像の第4の脚1405は、画像から欠落している。
【0407】
幾つかの実施例において、プロセッサは、オブジェクトのシミュレートされた完全な3Dモデルを構築するために、部分画像を、追加情報又は追加データと組み合わせてもよい。オブジェクトのシミュレートされた完全な3Dモデルは、部分画像からのオブジェクトの特徴及び参照3Dモデルからの特徴を含んでもよい。「完全な(full)」と言及されるが、シミュレートされた完全な(フル)3D画像は、オブジェクトのすべての詳細が含まれているかもしれず、含まれていないかもしれないという点で、未だ幾分不完全であると言える。そうであったとしても、それは部分的な画像よりも完全(fuller)であるため、本開示の文脈内では依然として「完全である(full)」であると見なされてもよい。シミュレートされた完全な3Dモデルの生成は、要素又は特徴の置き換え、要素又は特徴の混合(ブレンド)、要素又は特徴の変更、要素又は特徴の結合、又は部分画像を参照3Dモデルとマージ(併合)させること含む如何なる操作(マニピュレーション)を含んでもよい。本開示と一致して、完全な3Dモデルを構築することは、部分画像内のオブジェクトデータを、データストアに格納されたオブジェクトの3Dモデルに関連付けられた追加のデータと組み合わせることを含んでもよい。例えば、システムは、部分的な画像を別のオブジェクト又は別のオブジェクトの一部で置き換えてもよい。このような変更は、自動的に、又はユーザー又はクライアントの指示に従って、行われてもよい。
【0408】
オブジェクト又はオブジェクトの一部を置き換えることは、選択されたオブジェクトをオリジナルのオブジェクトと同じ方向に(即ち、オブジェクトを位置合わせ(アライメント)すること)及び同様のサイズ(即ち、オブジェクトを拡大縮小(スケーリング)すること)で配置することを含んでもよい。幾つかの実施例において、オブジェクトの整列(アライメント)及び/又はオブジェクトの拡大縮小(スケーリング)は、上記で論じたようなアフィン変換及び/又は主成分分析(PCA)を含んでもよい。オブジェクトの置換は、クライアントが、シーン内で選択されたオブジェクトを配置、拡大縮小、又は別様に操作(マニピュレート)できるようにすることを含んでもよい。オブジェクトを置換することは、開示された実施例と一致して、画像処理技術(例えば、明るさの調整、照明の調整、勾配ドメイン法の実施など)を含んでもよい。当業者が理解するように、勾配ドメイン法は、例えば、データ構造から得られた3Dモデル内の画像要素の勾配と、部分画像内の画像要素の勾配を、統合させることにより、シミュレートされた完全な3Dモデルを構築することを含んでもよい。置換は、照明、シーンの解像度、遠近法などに基づいて、オブジェクトのメッシュ、ポイント、又はその他のデジタル化された表現をレンダリングすることを含んでもよい。オブジェクトの置き換えに続いて、結果として得られるシーンは、オリジナルの部分画像及びデータストアから取得されたオブジェクトの3Dモデルから取得された情報を組み合わせることによって変更させられたシーンの例であってもよい。
【0409】
幾つかの実施例において、シミュレートされた完全な3Dモデルを生成することは、画像要素の2つのファミリの結合を取ることによって、例えば、データ構造から検索(読出)された3Dモデルと、部分画像を、組み合わせることを含んでもよい。更に他の実施例において、ハイブリッド画像を生成することは、融合要素を取得するために、例えばデータストアから取得された3Dモデルの画像要素及び部分画像の画像要素の特性を組み合わせることを含んでよい。例えば、部分画像及びデータストアの3Dモデルは、それぞれポリゴンのファミリを含むとする。各ポリゴンは、テクスチャに関連付けられてもよい。テクスチャは、画像からポリゴンへの2Dマッピングであってよいが、ここで、このポリゴンがビューアーにどのように表れるかを表示する(例えば、ポリゴンのさまざまな部分(パーツ)が、異なる色を有してもよい)。データストア3Dモデル及び部分画像のアラインメントT(例えば、アフィン変換を使用する)は、対応するポリゴンファミリのマッチングを決定するために、使用されてもよい。例えば、部分画像からのポリゴンは、Dモデル内のポリゴンに対して部分画像内で最も近いポリゴンを見つけるために、変換Tを使用してデータストア3Dモデル内のポリゴンにマッピングされてもよい。マッチングを使用して、システムは、3Dモデル及び部分画像のポリゴンの頂点をマッチングさせてもよい。開示されたシステムはまた、3Dモデルのポリゴンから部分画像のポリゴンに、或いは、その逆向きに、色、テクスチャ、材料特性などを、転送してもよい。
【0410】
幾つかの実施例において、組み合わせは、3D参照モデルの決定された部分で、部分画像をメッシュ処理することを含んでもよい。上で論じたように、プロセッサは、部分画像内で欠落している(即ち、存在しない)かもしれない3Dモデルにおいて画像要素を特定するために、例えば、データ構造(即ち、3D参照モデル)から得られた3Dモデル及び部分画像の画像要素(例えば、ピクセル、ボクセル、ポリゴン、メッシュポイントなど)を比較してもよい。幾つかの実施例において、プロセッサは、3Dモデルから部分画像に、座標、位置、向き、色、照明、テクスチャ、材料特性などの特性を、例えば、コピーすることによって、これらの画像要素を部分画像に転送してもよい。従って、プロセッサは、3Dモデルから、対応する画像要素のプロパティをコピーすることによって、部分画像内において、メッシュを完成させることができ、それにより、部分画像を3D参照モデルの決定された部分でメッシュ処理することができる。上で論じた2つの画像(例えば、第1の画像及び第2の画像)を組み合わせるための追加的又は代替的な技術もまた、オブジェクトのシミュレートされた完全な3Dモデルを生成するために使用されてもよい。
【0411】
例えば、
図14に図解されるように、部分画像1400は、シミュレートされた完全又は完全な3Dモデル1420を構築するために、追加情報又は追加データと組み合わされる。部分画像1400の欠落している特性1402、1403は、追加情報又は参照3Dモデル1410に関連付けられる追加情報に置き換えられた。この例において、完全な3Dモデル1420は、部分画像1400と参照3Dモデルの両方からの特徴の組み合わせを含む。システムは、部分画像1400の脚1405を参照3Dモデル1410の脚1411と比較することによって、脚1405全体及び脚1403の一部が部分画像1400から欠落していることを特定(識別)した。脚は異なる外観を有するが、システムは、部分画像1400において見つけられる特性を有する追加の脚1405を作り出すために、参照3Dモデル1410からの追加情報を利用することができる。完全な3Dモデル1420において示されるように、システムは、完全な3Dモデル1420内に背もたれ1412を作り出すために、チェアの背もたれ1412からの追加データ又は追加情報を利用した。
【0412】
幾つかの実施例において、システムは、部分画像のテクスチャ及び色の少なくとも1つを特定(識別)し、そして、メッシュ処理中に、少なくとも1つのテクスチャ及び色を3D参照モデルの決定された部分に適用してもよい。上で論じたように、部分画像は、画像要素(例えば、ピクセル、メッシュポイント、ポリゴン、ボクセルなど)によって表されてもよい。開示されたシステムは、部分画像の画像要素に関連付けられた特性に基づいて、部分画像の特性を決定してもよい。例えば、開示されたシステムは、部分画像の画像要素の色、明るさ、テクスチャ、材料特性などのような特性を特定(識別)してもよい。また上で論じたように、システムは、部分画像において欠落していることが見出されたデータストア3Dモデルの画像要素に関連付けられた情報を、部分画像にコピーしてもよい。幾つかの実施例において、プロセッサは、部分画像の特定された特性を、データストア3Dモデルから部分画像にコピーされた画像要素に適用してもよい。
【0413】
例えば、
図14に示されるように、部分画像からの色又はテクスチャ1421が、完全な3Dモデル1420で再構成された。幾つかの実施例において、システムは、部分画像1400と参照3Dモデル1410とのマージ(併合)を自動的に実行してもよい。しかしながら、幾つかの実施例において、ユーザは、画像又は部分画像内のどのオブジェクトを、同じくユーザによって選択された参照3Dモデルによって置き換えることができるかを選択してもよい。更に、ユーザは、画像又はモデルのどの特定の部分を、画像又はモデルの別の部分と置き換えるか、ブレンドするか、又は組み合わせるかを選択及び構成することができるかもしれない。例えば、
図14において、ユーザは、完全な3Dモデル1420においてオリジナルの矩形の背もたれを維持しながら、すべての脚1405を脚1411と交換することを選択してもよい。幾つかの実施例において、ユーザはまた、データストア3Dモデルから部分画像にコピーされる画像要素(例えば、ピクセル、メッシュポイント、ポリゴン、ボクセルなど)に適用されるべき1つ又はそれ以上のプロパティ(例えば、色、明るさ、テクスチャ、材料特性など)を選択することができるかもしれない。
【0414】
幾つかの実施例において、プロセッサは、表示装置上に表示するためにシミュレートされた完全な3Dモデルを出力するように構成されてもよい。幾つかの実施例において、完全な3Dモデル、画像、又はシーンは、ヘッドセット、コンピュータ画面、モニター、投射などのデバイスを介して表示するように構成されてもよい。幾つかの実施例において、出力することは、シミュレートされた完全な3Dモデルを3D消費可能な環境と互換性のあるフォーマットにエクスポートすることを含んでもよい。本開示の実施例と一致する3D消費可能な環境は、仮想現実(VR)、拡張現実(AR)、及び複合現実(MR)、3D静止画、ビデオ、又は、物理的な環境にちなんでモデル化される又は物理的な環境をシミュレートするブロードキャスト環境を含んでもよい。3D消費可能な環境は、上で論じたように、仮想現実環境及び拡張現実環境のうちの少なくとも1つを含んでもよい。オブジェクトのモデル、シーン、画像の側面(アスペクト)は、3Dベクトルフォーマット、コンピューター支援設計ファイル、.FLV、.MP4、.AVI、.MPG、.MP3、.MOV、.F4V、.VR、又は如何なる他の画像、ビデオ、又はモデルフォーマットのような既知のフォーマットで、エンコードされてもよい。
【0415】
幾つかの実施例おいて、システムは、クライアントデバイスに送信することによってモデルを出力するか、又はシステムのインターフェースでシーンを表示してもよい。送信することは、TCP/IPネットワーク、ブロードバンド接続、セルラーデータ接続、及び/又は如何なる他の送信する方法のような如何なるネットワークを介した送信することを含んでもよい。クライアントデバイス及び/又はシステムのインターフェースは、モバイルデバイス、ヘッドセット、コンピュータ、ディスプレイ、インターフェース、及び/又は如何なる他のクライアントデバイスを、限られることなく、含んでもよい。本開示は、送信するための方法、及び表示するためのデバイスの例を提供するが、その最も広い意味において開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0416】
部分的オブジェクト検出問題は、オブジェクトの3Dデータが完全でないときに3Dオブジェクトを理解することの問題を含む。3Dオブジェクトの表現は、点群(ポイントクラウド)、メッシュ、ボクセル表現など、3Dオブジェクトフォーマット/モダリティなどのいずれかにおいて与えられてもよい。以下で論じるように、部分的なオブジェクトを検出する必要がある理由は幾つかある。
【0417】
図15は、本開示で開示されるシステムによって実行されてもよい例示的な方法を示す。本開示から理解されるように、例えば、方法1500のステップを追加すること、組合せること、削除すること、及び/又は再配置することによって、方法1500に変更を加えてもよい。方法1500のステップは、3Dジェネレータ1020を、限られることなく、含むシステム1000のコンポーネントによって実行されてもよい。例えば、方法1500は、3Dジェネレータ1020によって実行されるステップとして記述されてもよいが、ユーザシステム1010及び/又はサーバ1020が、方法1500のいずれか又はすべてのステップを実行し得ることは、理解されるべきである。当業者が認識し得るように、方法1500は、ここにおいて記述される如何なる他の方法と共に実行されてもよい。この方法は、部分スキャンを受信すること、及び、部分スキャンされた画像をメッシュ処理して、オブジェクトの完全な3Dモデルを生成することを含んでもよい。
【0418】
ステップ1501において、計算装置200は、オブジェクトの部分画像を受け取って(受信して)もよいが、ここで、部分画像は、2D画像又は不完全な3D画像の少なくとも1つである。ここにおいて論じられるように、計算装置200は、メモリのような格納された場所から、データ構造又は複数のデータ構造から、ユーザ入力から、如何なる有線又は無線の通信経路から、又は如何なる他のタイプのデータ転送プロトコルから、部分画像を受け取って(受信して)もよい。
【0419】
ステップ1502において、計算装置200は、部分画像に対応する追加情報について少なくとも1つのデータ構造130を検索(サーチ)してもよい。幾つかの実施例において、データ構造1030は、ローカルであるかもしれず、メモリに格納されているかもしれず、又は一連のネットワーク又はクラウドストレージデバイスによって接続されたリモートデータ構造であるかもしれない。
【0420】
ステップ1503において、計算装置200は、データ構造1030がオブジェクトの対応する3Dモデルを含まないと決定してもよい。ステップ1504において、計算装置200は、部分画像内のオブジェクトとは異なるが部分画像内のオブジェクトと類似性を有する参照3Dモデルに対して少なくとも1つのデータ構造1030を検索(サーチ)してもよく、ここで、参照3Dモデルは追加データを含む。ステップ1505で、計算装置200は、部分画像の欠落した特性に一般的に対応する3D参照モデルの部分を決定するために、部分画像を参照3Dモデルと比較してもよい。
【0421】
ステップ1506で、計算装置200は、部分画像を追加情報、追加データ、又は追加情報及び追加データの組み合わせと組み合わせて、オブジェクトのシミュレートされた完全な3Dモデルを構築してもよい。ステップ1507で、計算装置200は、シミュレートされた完全な3Dモデルを出力してもよい。幾つかの実施例において、出力は、完全な3Dモデルを保存、転送、又は表示することを含む。
【0422】
以下は、本開示に基づくオブジェクト完了スキームの実施の例を提供する。ユーザは、物理的なチェアの3Dスキャンを行う。スキャンは、チェアの前面の一部のみであり、チェアの背面は見えない。従って、開示された方法は、オブジェクトをスキャンすること、又はオブジェクトの部分スキャンを受け取る(受信する)ことを含んでよい。開示された方法は、3Dオブジェクトの既存のデータ構造において結果として生じるスキャンを検索(サーチ)するステップを含んでもよい。更に、開示されたシステムは、正面が現在のチェアと正確にマッチするデータ構造内の如何なるチェアをも見つけることができないかもしれない。しかしながら、開示されたシステムは、同様の比率であるが、異なる材料及びテクスチャのチェアを見つけることができるかもしれない。従って、例えば、開示された方法は、選択されたオブジェクト(例えば、チェア)のCADモデルを選択するステップを含んでもよい。開示されたシステムは、新しいCADモデルを作り出してもよい。例えば、開示された方法は、オブジェクトのスキャンを選択されたオブジェクトのCADモデルと組み合わせることによって、新しいCADモデルを生成するステップを含んでもよい。新しいモデルは、スキャンされたチェアからテクスチャと材料を継承し、データ構造の完全なCADモデルから3次元形状を継承してもよい。新しいモデルは、ある意味で、CADモデルとスキャンの融合(即ち、マージ(合併)又は組み合わせ)であってもよい。幾つかの実施例において、開示された方法は、例えば、物理的なチェアのスキャンに類似すること、及びユーザから材料の入力を受け取ることが見出されたチェアに関連付けられたデータ構造内のタグに基づいて、チェアの材料を特定してもよい。データ構造は、さまざまなマテリアルを関連するテクスチャと相互に関連付ける情報を格納してもよい。開示された方法は、ユーザからの入力として受け取られた材料に対応するテクスチャについてデータ構造を検索(サーチ)し、及び、そのテクスチャをCADモデルの基本的な画像要素に適用してもよい。開示されたシステムは、VRヘッドセット、通常のスクリーンなどのような3D視聴装置を介して、ユーザに新しいモデルを提示してもよい。従って、例えば、開示された方法は、オブジェクトの完全な組み合わされた3D・CADモデルをユーザに提示するステップを含んでもよいが、ここで、ユーザは、3D視聴装置上で完全なモデルを視聴してもよい。ユーザは、開示されたシステムによって生成された融合3D・CADモデルを視聴してもよいことが考えられる。
【0423】
開示されたシステムは、両方から特性を継承する3Dオブジェクトを作り出すために、2つのソース(源)を融合してもよい。従って、例えば、開示されたシステムは、シミュレートされた完全な3Dモデルを構築するために、部分画像を追加情報と組み合わせてもよい。2つのソース(源)のこのような組み合わせの例は、スキャンを最適なCADモデルに置き換えることや;スキャンを最もフィットするCADモデルに置き換えることや、但し、CADモデルの比率は部分的なスキャンにおいて見られ得る比率にフィットするように変化され得;及び、スキャンを最もフィットするCADモデルに置き換えることを、但し、テクスチャ/マテリアルはスキャンされたデータからCADモデルに転送され得、CADモデル全体に外挿し得るが;含んでもよい。
【0424】
新しい融合モデルは、スキャンされたモデル及び外部CADモデルから作り出されてもよい。従って、オリジナルのスキャン内に含まれている情報よりも多くの情報を含んでもよい。例えば、追加された情報は、我々のデータ構造内のCADデータから来てもよく、及び、この追加情報は、部分画像に対応する追加的な情報であってもよい。
【0425】
幾つかの側面(アスペクト)において、スキャンにおいて見えるチェアの部品(パーツ)のCADモデルは、十分であるかもしれないので、部分スキャンから完全なCADチェアを作り出すことは、必要とはされないかもしれない。これは、例えば、モデルでのより自然な照明の計算のために役立つかもしれない。従って、例えば、追加情報は、受け取られた(受信された)部分画像に対応する3Dモデルを含んでもよい。
【0426】
幾つかの側面(アスペクト)において、開示されたデータ構造は、CADモデルを含まないかもしれないが、スキャンされたオブジェクトのファミリーを含むかもしれず、そして、これらのスキャンは部分的であるかもしれない。この場合、開示されたシステムは、部分スキャンに類似するデータ構造内のスキャンのサブセットを見つけてもよく、そして、このサブセットからの情報を更に組み合わせてもよい。例えば、開示されたシステムは、現在のスキャンにおいて存在した「穴」がない融合部分画像を作り出すために、現在のスキャンにおいて隠された部分(パーツ)を完成させるために、データ構造-スキャンからのデータを組み合わせてもよい。従って、例えば、追加情報は、部分画像内のオブジェクトに類似した少なくとも1つのオブジェクトの部分スキャンから得られた情報を含んでもよい。
【0427】
幾つかの側面(アスペクト)において、スキャンされたデータは、点群であってもよく、そして、この点群を最もよく表すメッシュを作成する(作り出す)ことが望ましくてもよい。これは3Dオブジェクトをスキャンすることに関連する標準的なタスクであり、そして、点群から直接的にメッシュを取得する方法があるが、これらの従来の方法は、スキャンエラーに敏感であるかもしれない。しかしながら、よりグローバルであるためスキャンエラー対して敏感度がより低い、開示されたシステムからの検索(サーチ)は、スキャンされたデータに対して3DマニホールドとしてのCADモデルの間でマッピングと共に、我々のスキャンに十分類似した3D・CADモデルを、見つけるならば、開示されたシステムは、既存の高品質メッシュをCADモデルからスキャンの点群へと転送してもよい。従って、例えば、開示されたシステム及び方法において、組み合わせることは、部分画像を3D参照モデルの決定された部分でメッシュ処理することを含んでもよい。幾つかの実施例において、開示されたシステムは、ポアソン再構成(Poisson reconstruction)のような標準的なメッシュアルゴリズムを使用して点群を直接メッシュするハイブリッドアプローチを使用してもよい。メッシュの他の部分において、開示されたシステムは、データ構造に格納されたCADモデルからのメッシュを使用してもよい。
【0428】
幾つかの側面(アスペクト)において、開示されたシステムは、スキャンされた部分画像に最も正確に対応するCADモデルを提供してもよい。従って、例えば、開示されたシステムは、受け取られた(受信された)部分画像に対応する3Dモデルを含み得る追加情報を提供してもよい。
【0429】
幾つかの側面(アスペクト)において、開示されたシステムは、スキャンされたデータからテクスチャを検出してもよい(例えば、スキャンデータの各ポイントについて、開示されたシステムは、スキャンデータから、それが金属製、木のような、ガラスなどであるかどうかを推論してもよい)。次に、開示されたシステムは、検索(サーチ)によって発見されたCADモデル(又はこのCADモデルの関心のある部分)にこのテクスチャデータを融合してもよい。CADモデルとスキャンデータとの間のマッチングを表す3Dマニホールドマッピングが利用可能である場合、開示されたシステムは、スキャンされたオブジェクトのテクスチャ以外、形状を備えるCADモデルを作り出して、スキャンされたデータからCADモデルにテクスチャを転送してもよい。従って、例えば、開示されたシステムは、メッシュ処理中に、少なくとも1つのテクスチャ及び色を3D参照モデルの決定された部分に適用するために、部分画像のテクスチャ及び色の少なくとも1つを特定(識別)してもよい。
【0430】
幾つかの側面(アスペクト)において、開示されたシステムは、融合されたオブジェクトを3Dコンピュータゲームに挿入してもよい。この場合、開示されたシステムは、コンピュータゲームに関連する特性(プロパティ)を追加してもよい。開示されたシステムは、完全な3Dモデルを提供し得るので、プレーヤーは、ゲーム内でオブジェクトを操作することができる。開示されたシステムはまた、質量及び柔軟性の特性を提供し得るので、オブジェクトの操作は物理的に自然である。従って、例えば、開示されたシステムは、シミュレートされた完全な3Dモデルを、3D消費可能な環境と互換性のあるフォーマットにエクスポートしてもよい。
【0431】
幾つかの側面(アスペクト)において、開示されたシステムは、融合されたオブジェクトを特定の方向でユーザに提示してもよい。例えば、チェアが正面からスキャンされるとき、開示されたシステムは、180度回転された、融合されたチェアを背面から提示してもよい。開示されたシステムは、この向きの変化(3次元回転群のメンバー)を入力として表示ステップへ追加してもよい。幾つかの実施例において、少なくとも1つのプロセッサは、1つ又はそれ以上の平面において約0°から約360°の範囲の角度でシミュレートされた完全な3Dモデルの回転のための入力を受け取るように更に構成されてもよい。プロセッサはまた、プロセッサによって定義された、又はユーザによって定義された回転軸の周りの完全な3Dモデルの並進及び/又は回転に関するユーザからの入力を受け取るように構成されてもよい。プロセッサは、入力に基づいてシミュレートされた完全な3Dモデルを並進及び/又は回転させ、そして、回転されたシミュレートされた完全な3Dモデルを表示装置に表示してもよい。
【0432】
幾つかの側面(アスペクト)において、開示されたシステムは、オリジナルのスキャン又はオリジナルのCADモデルよりも小さい縮尺(スケール)で融合モデルを提示してもよい。例えば、日用品がおもちゃに変えられる、コンピュータゲームを作成するときである。この場合、縮尺(スケール)は、上述されたモデル融合プロセスの表示段階へ、入力として提供されてもよい。他の側面(アスペクト)において、開示されたシステムは、スキャンされたオブジェクトに見られる実際のサイズに対応するようにCADモデルを拡大縮小(スケーリング)してもよい。幾つかの実施例において、開示されたシステムは、シミュレートされた完全3Dモデルを拡大縮小(スケーリング)するための入力を受け取り、入力に基づいてシミュレートされた完全3Dモデルを拡大縮小(スケーリング)し、拡大縮小(スケーリング)されたシミュレートされた完全3Dモデルを表示装置に表示してもよい。
【0433】
本開示は、ロボットの環境に関連付けられたシーン(例えば、スキャンに基づく2D又は3Dシーン)を処理することによってロボットを制御するためのコンピュータで実施されるシステムに関する。本開示で使用されるように、ロボットは、産業用ロボット、ヒューマノイドロボット、又は車両ロボット、或いは、予めプログラムされた、自律型の、半自律型の、遠隔操作の、又は拡張型の他のマシンのいずれかであろうが、また、産業用に、家庭用に、軍事用に、緊急対応に、探索的に、消費者向けに、医療用に、サービス用に、セキュリティ用に、航空宇宙用に、又は水生環境用に応用されようが、オブジェクトと物理的に相互作用をする又は行動する機能を発揮可能な如何なるマシンを意味してもよい。このようなロボットは、直角座標ロボット(Cartesian robots)、円筒座標ロボット(cylindrical robots)、スカラロボット(SCARA robots)、パラレルロボット(parallel robots)、多関節ロボット(articulated robots)、極座標ロボット(spherical robots)、単輪型及び多輪型ロボット(single and multi-wheeled robots)、トレッデドロボット(treaded robots)、又は脚型ロボット(legged robots)、飛行ロボット(flying robots)、水泳ロボット(swimming robots)、及び、これらのハイブリッドを含んでよい。例えば、車両ロボット(vehicular robot)は、環境(例えば、部屋、芝生、工場の床、工業用作業領域など)又は如何なる他の空間を移動することができるかもしれない。
【0434】
ロボットのオペレーションは、ロボットに搭載されている、又はロボットから搭載されていない1つ又はそれ以上のプロセッサを使用してコントロールされてもよい。本開示は、ロボットが、ロボットの環境内のオブジェクトの位置、向き、及び/又は構成と相互作用し、及び潜在的に変更することを可能にするための技術及びアプリケーションにおける問題に対する解決策を提供する。本開示は、拡張現実(AR)、仮想現実(VR)、及び複合現実(MR)の技術及びアプリケーションの例に関連し得るが、それらの最も広い意味での開示の側面(アスペクト)は、特定の例に限定されないことに留意されたい。むしろ、前述の原理は、他のプロセッサでコントロールされる技術及びアプリケーションに適用されてもよいことが考えられる。
【0435】
例として、部屋に入るかもしれない掃除ロボットを考えてみよう。ロボットに取り付けられた1つ又はそれ以上のカメラが、ロボットの周囲の3D表現を作り出してもよい。開示されたシステム及び方法は、3D表現を個々のオブジェクトにセグメント化してもよい。本開示の実施例と一致して、セグメント化は、追加的又は代替的に、上記で議論されたセグメント化のための技術を使用して実行されてもよい。これらのオブジェクトの1つは、例えば、回転椅子(チェア)であってもよい。ロボットのタスクは床を掃除することであってもよく、そして、回転椅子(チェア)は部屋の真ん中に置かれていてもよい。システムは、セグメント化されたチェアを検索(サーチ)エンジンに送ってもよい。検索(サーチ)エンジンは、ロボットの周囲の3D表現内の回転椅子(チェア)が検索(サーチ)エンジンに関連付けられたデータ構造内の幾つかの回転椅子(チェア)に類似していることを検出してもよい。データ構造内の回転椅子(チェア)は、どのように環境と相互作用するかの命令を含んでいてもよい。例えば、命令は、押されたとき回転椅子(チェア)が動くことを開示してもよい。ここで、開示されたシステムは、回転椅子(チェア)の周りを掃除する代わりに、ロボットにチェアを部屋の脇に押すように命令し、そして、更にロボットに床を自由に掃除するように命令してもよい。
【0436】
例えば、ロボットは最適化問題を解決するかもしれない:床から可能な限りきれいにせよ。ロボットは部屋をスキャンして、可能性のあるすべての行動方針を検索(サーチ)するかもしれない。ロボットは、部屋内のチェアを検出するかもしれない。開示されたシステムは、チェアが、特定の相互作用によってチェアがどのように動かされ得るかを記述する1つ又はそれ以上のスクリプトに関連付けられ得ると決定するかもしれない。開示されたシステムは、チェアのスクリプトをロボット自身の動作モードと組み合わせて、新しい行動方針を決定するかもしれない。例えば、開示されたシステムは、ロボットがチェアを押すと、チェアのスクリプトによって記述されたように、チェアが動くことであろうことを決定するかもしれない。
【0437】
ロボットスクリプト及びチェアスクリプトの組み合わせは、ロボットが、チェアを脇に移動させるような、クリーニングの最適化問題に対するより良い解決策を見つけることができるかもしれない。ロボットは、どのチェアを動かすことができるかを事前に判断できないかもしれない。更に、チェアが可動であっても、ユーザはチェアを動かしたくないかもしれない。ユーザーの好みは、例えば、特定のチェアを動かさないようにロボットに命令することができるロボットスクリプトにおいて、記述されるかもしれない。従って、アプリケーションによっては、チェアスクリプト及びロボットスクリプトの組み合わせは、タスクに不可欠であるかもしれない。
【0438】
チェアスクリプトは、チェアが可動であるかどうかに加えて、情報を含むかもしれない。例えば、特定の力を受けたときにチェアがどのように動くかについての情報が含まれるかもしれない。例えば、回転椅子(チェア)に一方向に加えられた力は、シートが回転することを引き起こし、一方、異なるように加えられた力は、チェアの車輪付きベースが移動することを引き起こすかもしれない。更に、スクリプトは、チェアがどのように加速及び減速すると予想されるか、という特定の移動に特に必要な力に関する情報、及び、フロア表面のような環境条件が予想される移動にどのような影響を与えるかに関する情報を含むかもしれない。
【0439】
本開示によれば、ロボットに対するコントロールシステムが開示される。制御システムは、ロボットの1つ又はそれ以上のオペレーションをコントロールするように構成されていてもよい。例えば、コントロールシステムは、ロボットに関連付けられる環境内の如何なる方向にでもロボットを推進するように構成されてもよい。コントロールシステムは、例えば、ロボットの動きのスピード、方向、及び加速度を調整するように構成されてもよい。コントロールシステムはまた、例えば、1つ又はそれ以上のオブジェクトに外部刺激(例えば、力、トルクなど)を加えることによって、ロボットがロボットの環境内の1つ又はそれ以上のオブジェクトと相互作用することを引き起こすように構成されてもよい。システムは、少なくとも1つのプロセッサを含んでもよい。プロセッサ及びメモリの例示的な記述は、上記で、また、
図2を参照して、記述されている。
【0440】
プロセッサは、ロボットに関連付けられた環境を描写するシーンの画像情報を受け取る(受信する)ように構成されてもよい。シーンは、ロボットの位置に関連付けられたローカル環境(例えば、周囲のもの)であってもよい。従って、例えば、シーンの画像情報は、ロボットの周りに配置された1つ又はそれ以上のオブジェクトの表現を含んでもよい。シーンの画像情報は、視覚的な画像自体であってもよく、及び/又は、非画像形式の画像特定データ(例えば、画像情報を特徴付ける数値データ)を含んでもよい。
【0441】
例として、掃除ロボットに関連付けられるシーンは、1つ又は複数のチェア、テーブル、ランプ、ドア、おもちゃ、又は部屋に通常見られる他のオブジェクトのようなオブジェクトを含んでもよく、一方、ロボット芝刈り機に関連付けられるシーンは、1つ又はそれ以上の岩や障害物、屋外の照明、敷石、壁、門のようなオブジェクトを含んでもよい。シーンの画像情報は、別のデバイス(例えば、クライアントデバイス、ユーザデバイス)から受け取ってもよく、又は、ロボット自体のイメージャから受け取ってもよい。シーンの画像情報は、リモート又はローカルのデータストレージ又はデータ構造から取得(読出)してもよい。シーンの画像情報は、開示された実施例と一致して、画像データを含んでもよい。幾つかの実施例において、ロボットは、シーンの画像情報を生成するように構成されたカメラ(又はスキャナ)を含んでもよい。従って、例えば、シーンの画像情報は、スキャンに基づいていてもよく、スキャンは、ロボットに関連付けられた1つ又はそれ以上のカメラ又はスキャナ(例えば、3Dスキャナ)を使用してキャプチャされた画像データを含んでもよい。
【0442】
開示された実施例と一致して、シーンの画像情報は、ヘッドセット、コンピュータ画面、モニタ、投影のようなデバイスを介して表示するように構成されてもよい。例えば、ロボットは、シーンに関連付けられた画像情報を離れた場所にあるデバイス(ヘッドセット、コンピュータ画面など)に送信するように構成されてもよい。他の実施例において、ロボットは、画像情報を表示することができる1つ又はそれ以上の表示装置を含んでもよい。シーンの画像情報は、3Dベクトルフォーマット、コンピュータ支援設計ファイル、.FLV、.MP4、.AVI、.MPG、.MP3、.MOV、.F4V、.VR、又は如何なる他の画像、ビデオ、又はモデルフォーマット、のような既知のフォーマットでエンコードされてもよい。本開示と一致する実施例は、メッシュ、点群、又はシーンの画像情報をエンコードする如何なる他の表現によって表される画像情報を含んでもよい。
【0443】
例示的な実施例において、シーンの画像情報は、メッシュとしてエンコードされたリビングルームのような空間の3D表現を含んでもよい。幾つかの実施例において、シーンは、ここにおいて記述されるように、少なくとも1つのオブジェクトを含んでもよい。オブジェクトは、例えば、チェア、車又は他の地上又は空中の乗り物、絵画、人、動物、コンポーネント、ワークピース、及び/又はロボットが相互作用するかもしれない他の如何なるものであるかもしれない。
【0444】
幾つかの実施例において、開示された実施例と一致して、システムは、受け取られたスキャンに基づいて画像要素を生成してもよく、及び/又は、シーンは、画像要素を含んでもよい。より一般的には、シーンは、画像要素(2D又は3D)のような複数の基本要素を含んでもよい。例えば、画像要素は、ボクセル、点(ポイント)、又はポリゴンの少なくとも1つを含んでもよい。幾つかの実施例において、システムは、1セットのポリゴンを生成してもよいが、ここで、個々のポリゴンは基本要素である。別の例として、システムが点群を生成する場合、個々の点(ポイント)は画像要素である。メッシュがシーンを表す複数のボクセル又は空間のサブセットのボクセルマッピングを含む場合、ボクセルは画像要素であってもよい。ボクセルは、閉じたn辺(n面)ポリゴン(例えば、立方体、ピラミッド、又は如何なる閉じたn辺(n面)ポリゴン)であってもよい。シーン内のボクセルは、サイズが均一又は不均一であってもよい。ボクセルは、シーン内で一貫して成形されてもよく、或いは、シーン内で変化してもよい。
【0445】
幾つかのケースにおいて、基本要素は、更に細分化されてもよい。例えば、システムは、画像要素として複数のn辺(n面)ポリゴンから構成されるメッシュを生成してもよく、そして、1つ又はそれ以上のポリゴンは、解像度を改善するために、又は他の理由で、追加のポリゴンに細分化されてもよい。
【0446】
幾つかの実施例において、シーンは、複数の既存の画像要素を含んでもよい。既存の画像要素は、シーンを受け取る(受信する)ことと一緒に、又は、それとは別に受け取って(受信して)もよい。
【0447】
幾つかの実施例において、システムは、上で論じた1つ又はそれ以上のセグメント化技術を使用して、シーンをセグメント化して、シーン内の少なくとも1つのオブジェクトの画像を抽出してもよい。例えば、システムは、開示された実施例と一致して、シーンを、チェア、カップ、テーブル、又は他のオブジェクトのようなリビングルームの家具を表す1つ又はそれ以上のオブジェクトにセグメント化してもよい。以下で述べられるように、セグメント化は、既知の分類(例えば、オブジェクトを特定し、それを「アームレスト」として分類する)及び/又は未知の分類(例えば、オブジェクトを特定し、それを「未知のオブジェクト」として分類する)に対応するオブジェクトを特定することを含んでもよい。
【0448】
分割/分類された画像要素の組み合わせは、シーン内の1つ又はそれ以上のオブジェクトの抽出された画像を構成するかもしれない。分類は、オブジェクトのタイプを含むかもしれない。例えば、「家具」、「チェア」、「オフィスチェア」はすべて、同じオブジェクトのクラスを含む、オブジェクトのクラスであるかもしれない。当業者には明らかであるように、クラスは、互いに対してより広い又はより狭いクラスの階層(ヒエラルキー)において定義されるかもしれない。例えば、「家具」クラスは、「チェア」クラスよりも広いかもしれないが、「チェア」クラスは「オフィスチェア」クラスよりも広いかもしれない。
【0449】
例えば、オブジェクトの抽出された画像は、テーブル、テーブルの表面、テーブルの脚などのオブジェクトに関連付けられた点(ポイント)、ボクセル、又はポリゴンを含んでもよい。一例において、システムは、リビングルームのスキャンを含むシーンを、チェア、ドアノブ、ハンドル、カップ、調理器具、靴、壁、植物の葉、カーペット、テレビなどの複数のオブジェクトにセグメント化してもよい。システムは、画像要素をオブジェクトに属するとして、及び、既知の分類又は未知の分類でオブジェクトを分類するとして、セグメント化してもよい。例えば、セグメント化中に、オブジェクトは特定のタイプのオブジェクト(例えば、チェア)として、未知のタイプのオブジェクト、及び/又は、セグメント化アルゴリズム出力に関連付けられた信頼性又は可能性の何らかの尺度に基づくあり得る既知のオブジェクト(例えば、「ありそうな」チェア)、としてラベル付けされてもよい。
【0450】
1つ又はそれ以上の画像要素は、セグメント化に続いて、マッピングされないままであってもよい(即ち、オブジェクト又はオブジェクトのコンポーネントに割り当てられていない)。セグメント化は、3D要素を1つのオブジェクト又はそれ以上の数のオブジェクトにマッピングする(即ち、割り当てる)ことを含んでもよい(例えば、同じ3D要素は、「肘掛け」及び「チェア」に割り当てられてもよい)。
【0451】
開示された実施例は、データ構造にアクセスしてもよい。本開示の実施例と一致して、例示的なデータ構造は、上に記述されている。データ構造は、1つ又はそれ以上のオブジェクトに関する情報を格納してもよい。オブジェクトに関する情報は、オブジェクト画像識別子の有無にかかわらず、フォーム又は画像データにおいてであってもよく、又は、オブジェクトの特性がそこから特定(識別)されてもよい非画像データを含んでもよい。例えば、データ構造の画像データは、オブジェクトの2D又は3Dモデル又はCADモデルを含んでもよい。CADモデルは、メッシュ、点群、3D空間のボクセルマッピング、及び/又は、グラフ的に又は数値的にオブジェクトの描写を表してもよいように構成されてもよい如何なる他のマッピングのような、1つ又はそれ以上のフォーマットで格納されてもよい。CADモデルは、オブジェクト及び/又はオブジェクトのコンポーネント(例えば、チェア及び/又はチェアの肘掛け)を表してもよい。オブジェクト画像識別子は、オブジェクト画像を表すテキストを含んでもよい。例えば、オフィスチェアのオブジェクト画像は、「オフィスチェア」というテキストによって表されてもよい。幾つかの実施例において、オブジェクト画像識別子は、形状、形状の記述子、製品、又は製品の記述子の少なくとも1つを含んでもよい。形状は、形状データ、座標を含む形状データ、ベクトル、メッシュ又はグリッド、形状の表現(例えば、2D又は3Dモデル)、又は形状に関連する如何なる他のデータを含んでもよい。形状の記述子は、テキストデータ、ラベル、分類、タグ、及び/又は形状を記述又は特定する如何なる他のデータを含んでもよい。製品の記述子は、テキストデータ、ラベル、分類、タグ、及び/又は製品を記述又は特定する如何なる他のデータを含んでもよい。
【0452】
本開示と一致するデータ構造は、1つ又はそれ以上のオブジェクトに関する履歴情報を含んでもよい。ここにおいて使用されるように、履歴情報は、オブジェクトを特徴付ける、事前に収集された情報を指す。履歴情報は、ある意味において、オブジェクトの特定(識別)を可能にし、別の意味において、オブジェクトに関する移動性情報を特徴付けてもよい。対応する履歴情報はまた、少なくとも1つのオブジェクトの可動性特性を表すスクリプトを含んでもよい。スクリプトは、1つ又はそれ以上のオブジェクトの移動特性を記述してもよい。一般に、移動特性は、オブジェクト又はオブジェクトのコンポーネントの動きの自由度に関連付けられた如何なる特性をも含んでもよい。例えば、移動特性は、力のような刺激に応答して、オブジェクト又はオブジェクトのコンポーネント(総称してオブジェクト)がどのように動くかを表す。関連する特性は、動きを引き起こす力、動きの速度、加速、減速、回転、又は移動に関付けられた如何なる他の特性を含んでもよい。オブジェクトに関連付けられたスクリプトは、設計者又は他のクライアントによって構成可能であってよい。
【0453】
幾つかの実施例において、可動特性は、外部刺激に基づいて少なくとも1つのオブジェクトの動きを定義する少なくとも1つの規則を含んでもよい。例えば、可動特性は、1つ又はそれ以上の外力に対する自由度を有するオブジェクトの反応のプログラム記述を含んでもよい。スクリプトは、オブジェクトに与えられた方向に加えられた特定の外力を受けたときにオブジェクトが移動するかもしれない量を記述してもよい。例えば、オブジェクトは、オブジェクトが力ベクトルFでポイントxにおいて押されると、オブジェクトが速度wでベクトルkの方向に移動するかもしれないことを記述するスクリプトを有していてもよい。別の例として、静止オブジェクト(例えば花瓶)は、ロボット及びオブジェクトの間の接触を防ぐために、ロボットが常にオブジェクトから少なくとも距離Dだけ離れて位置しなければならないことを記述するスクリプトを有してもよい。別の例として、カップのスクリプトは、カップがポイントx、yでそれぞれFx、Fyの力で押されると、カップがx及び/又はy方向に特定の量だけ移動するかもしれないことを記述してもよい(例えば、ロボットがカップを持ち上げることを可能にする)。
【0454】
別の例として、スクリプトは、力Fがオブジェクトに印加されたときにオブジェクトが速度V又は加速度Aを達成するであろうことを記述してもよい。ここで、L、V、A、及びFは、さまざまな規定された数値を取ってもよい。幾つかの例示的な実施例において、L、V、A、及び/又はFは、オブジェクトに関連付けられた1つ又はそれ以上のスクリプトにおいて体系化されるかもしれない、相関表、数式、アルゴリズムなどを介して互いに関連し得るとも考えられる。別の例として、回転椅子(チェア)に対して、プログラムは、上部に加えられた所与の回転力に対して、チェアの脚についてのチェアの上部のCADモデルの回転量を記述する規則を具体化してもよい。可動特性を記述するスクリプトは、オブジェクトをアニメーション化できる如何なるコード(AUTOCAD、BLENDER、CINEMA 4D、AUTODESK MAYAなど)において記載されてもよい。力、距離、速度、加速度などのような特性は上記で議論したが、スクリプトは、他の特性、例えば、角速度、角運動量、回転、たわみ、応力、及び/又はオブジェクトに関連付けられた如何なる他の特性を含んでもよいと考えられる。
【0455】
別の例として、可動性スクリプトは、その重心の動きだけでなく、オブジェクトの動きの幾つかの内部モードを含んでもよい。例えば、力が加えられ続けなくなった後でも、ばねは、引っ張りに対して膨張及び収縮を始めてもよい。別の例として、回転椅子(チェア)は、押されると、重心運動及びその脚を中心にする回転の組み合わせで動いてもよく、そして、車輪付き脚自体が床に対して回転してもよく、これらは、オペレーションの3つの異なるモードである。スクリプトは、動きの3つのモードの一部又はすべてのシミュレーションを含んでもよい。スクリプトはまた、外力が加えられていないとき、チェアの動きのシミュレーションを含んでもよく、そして、短期間の力が加えられ、次に、しばらく力が加えられていないとき、この動きがどのように変化するかのシミュレーションを含んでもよい。
【0456】
CADモデルは、オブジェクト全体(例えば、バウンドするときのボールの弾性)に関連付けられたスクリプト、又はオブジェクトの一部(例えば、ヘリコプターのローターの動き)に関連付けられたスクリプトを含んでもよい。自由度は、チェアシートを持ち上げるレバー、ドアを開くハンドルなどのような、幾つかのオブジェクト間の相互作用を表し、複雑であってもよい。従って、スクリプトは、シーン内の1つのオブジェクト及び少なくとも1つの他のオブジェクトの間の相互作用を表してもよい。例えば、スクリプトは、回転椅子(チェア)及び別の回転椅子(チェア)の間、又は例えば、回転椅子(チェア)及びシーン内に存在するボール又はおもちゃとの間、の相互作用を表してもよい。従って、例えば、スクリプトは、回転椅子(チェア)が別の回転椅子(チェア)、ボール、又はおもちゃに刺激(例えば、力、トルクなど)を加えるとき、別の回転椅子(チェア)、ボール、又はおもちゃの動きの量、速度、加速度などを記述してもよい。
【0457】
システムは、少なくとも1つのオブジェクトに関するデータ構造内の対応する情報を特定(識別)するために、抽出された画像データをデータ構造内の履歴情報と比較してもよい。本開示の実施例と一致して、システムは、上記で論じられたオブジェクト及び/又は画像データを比較するための1つ又はそれ以上の技術を使用して比較を実行してもよい。例えば、システムは、スクリプトのような対応する情報を特定(識別)するために、抽出された画像に関連付けられたオブジェクト画像識別子、形状、記述子、ラベルなどを、データ構造内の情報(例えば、オブジェクト画像識別子、形状、記述子、ラベルなど)と比較してもよい。幾つかの実施例において、例えば、抽出された画像(シーンオブジェクトと呼ばれてもよい)内に存在するオブジェクトに対応するデータ構造内のマッチするオブジェクトを特定(識別)するため、システムは、抽出された画像情報(例えば、オブジェクト画像識別子、形状、記述子、ラベルなど)をデータ構造内の情報と比較してもよい。マッチするオブジェクトは、開示された実施例と一致して、少なくとも1つのオブジェクトのモデル、オブジェクト画像識別子、形状、記述子、及び/又はラベルを含んでもよい。幾つかの実施例において、一致するオブジェクトは、シーンオブジェクトと同じではないが、類似しているコンポーネントであってもよい。例えば、シーンオブジェクトは、車輪及び肘掛けを備える台座の上の黒いチェアであってもよく、そして、マッチするオブジェクトは、肘掛けの有無にかかわらず、さまざまな色の台座が付いたオフィスのチェアを含んでもよい。
【0458】
幾つかの実施例において、マッチするオブジェクトを特定(識別)することは、3D形状を特徴ベクトルにマッピングすること(即ち、特徴ベクトルを生成すること)を含んでもよい。幾つかの実施例において、システムは、マッチするオブジェクトの特徴ベクトルを用いてシーンオブジェクトの特徴ベクトルを計算してもよい。特徴ベクトルは、実数又は他のデータのシーケンスを含んでもよい。特徴ベクトルは、同様に、シーンオブジェクト又はマッチするオブジェクトの回転及び/又は位置変化に関連する情報を含んでもよい。特徴ベクトルの生成は、マルチビュー畳み込みニューラルネットワークのような機械学習モデルを使用することを含んでもよい。例えば、マルチビュー畳み込みニューラルネットワークは、3D形状の複数の2D表現(即ち、スナップショット)、様々な角度からの2Dへの3D形状の投影(例えば、オブジェクトの写真)を含む2D表現を受け入れてもよい。
【0459】
幾つかの実施例において、マッチするオブジェクトを特定(識別)することは、マッチするオブジェクト及びシーンオブジェクト(即ち、抽出された画像内のオブジェクト)の間の類似度を示す類似性メトリックを決定することを含んでもよい。類似性メトリックは、形状データ、色データ、及び/又は如何なる他のデータに基づいていてもよい。類似性メトリックは、共分散、最小二乗距離、画像要素に関連付けられたベクトル間の距離(例えば、特徴ベクトル)、又は整列されたオブジェクト間のハウスドルフ距離のような統計的類似性に基づいていてもよい。類似性メトリックは、特徴ベクトルに基づいていてもよい。幾つかの実施例において、比較することは、オブジェクトのコンポーネントを分類するために分類モデル(例えば、ランダムフォレストモデル)を実施することを含んでもよい。
【0460】
幾つかの実施例において、マッチするオブジェクトを特定することは、オブジェクトのデータ構造を検索(サーチ)し、そして、データ構造内のオブジェクトに対応する1つ又はそれ以上の検索(サーチ)結果(即ち、マッチ(マッチング))を生成することを含んでもよい。検索(サーチ)結果は、パーセントマッチ、可能性、又は、シーンオブジェクトとデータ構造内のオブジェクト又はデータ構造内の画像オブジェクト識別子に対応するオブジェクトとの間の類似度を表す別のメトリックを含んでもよい。最高ランクの検索(サーチ)結果は、例えば、シーンオブジェクトにマッチするコンポーネント又はデータ構造オブジェクトの最も狭いクラスを定義するかもしれない。
【0461】
システムはまた、例えば、マッチするオブジェクトに関連付けられた1つ又はそれ以上のスクリプトを含む、対応する情報をデータ構造から抽出してもよい。例えば、システムは、検索(サーチ)結果又はマッチにおいて最高のランク(例えば、最高の類似度)を有するオブジェクトに関連付けられた1つ又はそれ以上のスクリプトを特定してもよい。上で論じたように、1つ又はそれ以上のスクリプトは、例えば、ルールの形で可動特性を定義してもよい。
【0462】
システムは、スクリプトを適用することによってロボットを制御し、それによって、ロボットに、スクリプトによって規定された可動特性に基づいて少なくとも1つのオブジェクトと相互作用させてもよい。幾つかの実施例において、スクリプトを適用することは、開示されたシステムの少なくとも1つのプロセッサによってスクリプトを実行することを含んでもよい。例えば、システムは、少なくとも1つのオブジェクトが刺激に応答して所与の方向に移動するようにさせるため、ロボットがその少なくとも1つのオブジェクトに外部刺激(例えば、力、トルクなど)を適用するようにさせてもよい。従って、例えば、チェアが新しい位置に移動するようにさせるため、ロボットはチェアに力を加えてもよい。オブジェクトが所望の位置に移動するか、又は所望の速度又は加速度などで所望の方向に移動することを確実にするため、システムは、スクリプトに記述された可動特性に従って力の大きさ及び方向を決定してもよい。幾つかの実施例において、少なくとも1つのプロセッサは、少なくとも1つのオブジェクトの可動特性に基づいて、ロボットによって少なくとも1つのオブジェクトに及ぼされる外部刺激を調整するように構成されてもよい。例えば、システムは、可動性特性に基づいて、少なくとも1つのオブジェクト(例えば、チェア)が、チェアに加えられた力Fに応答して距離Lだけ移動することができると決定することができる。オブジェクトが例えば距離Lだけ移動するようにさせるため、力Fに対応するように外部刺激を調整するため、システムは、ロボットを制御してもよい。他の実施例において、可動特性は、例えば、Fmaxよりも大きい力を加えると、少なくとも1つのオブジェクトに損傷を与えるかもしれないことを示し得る。この情報に基づいて、システムは、ロボットによって加えられる刺激を調整して、ロボットによって少なくとも1つのオブジェクトに加えられる力が少なくとも1つのオブジェクトへの損傷を防ぐためにFmax未満になるようにし、同時に、少なくとも1つのオブジェクトが、可動特性に従ってそのオリジナルな位置から移動するようにしてもよい。更に他の実施例において、可動特性は、力Fを加えることにより、オブジェクトが速度V又は加速度Aで移動するようにさせられるかもしれないことを示し得る。オブジェクトが、例えば、それぞれV又はA以下の速度又は加速度で動くことを確実にするため、システムは、ロボットによって加えられる刺激を調整することができる。
【0463】
幾つかの実施例において、オブジェクトが移動可能であっても、ユーザ又はクライアントは、オブジェクトが移動させられることを許可しないかもしれず、又は、例えば、オブジェクトが特定の方向又は特定の距離だけ移動させられることのみを許可するかもしれない。これらの嗜好設定は、ロボットに関連付けられた1つ又はそれ以上のスクリプトにおいてエンコードされてもよい。開示されたシステムは、1つ又はそれ以上のロボットスクリプトと可動オブジェクトに関連付けられたスクリプトとの組み合わせを適用することによってロボットを制御してもよい。従って、ユーザ又はクライアントによって許可された方向又は距離によってのみオブジェクトが移動してもよいように、ロボットが外部刺激のみをオブジェクトに適用するように、開示されたシステムは、ロボットをコントロールしてもよい。
【0464】
幾つかの実施例において、少なくとも1つのプロセッサは、少なくとも1つのオブジェクトとロボットとの相互作用に基づいて変更されたシーンを生成するように構成されてもよい。本開示と一致して、変更されたシーンを生成することは、抽出された画像又は抽出された画像の変更をシーンデータと組み合わせることを含んでもよい。システムは、シーン内のオリジナルのオブジェクト(例えば、チェア)を、例えば、オブジェクトの可動特性によって決定されるように、新しい位置に配置された同じオブジェクトで置き換えてもよい。例えば、シーン内のチェアが、ロボットによって加えられた外部刺激に基づいて新しい位置に移動すると予想される場合、変更されたシーン内の新しい移動された位置にあるチェアを描写するために、少なくとも1つのプロセッサは、抽出された2D又は3D画像をシーンと組み合わせるように構成されてもよい。少なくとも1つのプロセッサは、その新しい位置内にオブジェクトを描写するために、オブジェクトを、配置、拡大縮小、回転、又は整列させてもよい。オブジェクトを配置すること及び/又はオブジェクトを拡大縮小することは、主成分分析(PCA)を使用することを含んでもよい。少なくとも1つのプロセッサは、開示された実施例と一致して、画像処理技術(例えば、明るさの調整、照明の調整、勾配ドメイン法の実施など)を採用してもよい。当業者が認識するように、勾配ドメイン法は、画像要素の勾配を統合することによって新しい画像を構築することを含んでもよい。システムは、照明、シーン解像度、遠近法などに基づいて、オブジェクトのメッシュ、ポイント、又は如何なる他のデジタル化された表現をレンダリングすることによって、変更されたシーンを生成してもよい。追加的又は代替的に、開示されたシステムは、2つの画像を組み合わせるために上記で論じられた技術を使用することによって、変更されたシーンを生成してもよい。
【0465】
開示された実施例と一致して、少なくとも1つのプロセッサは、3D表示のために変更されたシーンを出力するように構成されてもよい。変更されたシーンを出力することは、開示された実施例と一致して、変更されたシーンを保存及び/又は送信することを含んでもよい。送信することは、開示された実施例と一致して、TCP/IPネットワーク、ブロードバンド接続、セルラーデータ接続、及び/又は如何なる他の送信方法のようなネットワークを介した送信を含んでもよい。例えば、システムは、変更されたシーンをブロードキャストし(即ち、ネットワークを介して複数のユーザ及び/又はクライアントデバイスに送信し)、変更されたシーンをユーザデバイスに送信し、及び/又は変更されたシーンをメモリに格納してもよい。ユーザ又はクライアントデバイス及び/又はシステムのインターフェースは、限られることなく、モバイルデバイス、ヘッドセット、コンピュータ、ディスプレイ、インターフェースなどを含んでもよい。
【0466】
幾つかの実施例において、システムは、オブジェクトに関連付けられた別のスクリプトを選択してもよいが、その別のスクリプトは、オブジェクトとシーン内の少なくとも1つの他のオブジェクトとの間の相互作用を表す。別のスクリプトを選択することは、少なくとも1つのオブジェクト及び別のオブジェクトに関連付けられた画像オブジェクト識別子に基づいていてもよい。例えば、第1のスクリプトは、第1のオブジェクト(例えば、チェア)に対応する第1の画像オブジェクト識別子に関連付けられてもよいが、一方、第2のスクリプトは、第1のオブジェクト(例えば、チェア)に対応する第1の画像オブジェクト識別子及び第2のオブジェクト(例えば、ドア)に対応する第2の画像オブジェクト識別子に関連付けられてもよい。
【0467】
幾つかの実施例において、システムは、スクリプトを少なくとも1つのオブジェクトに適用してもよい。例えば、第1のスクリプトは、チェアのみの動きを記述するスクリプトを含んでもよく、そして、第2のスクリプトは、チェアがドアと接触したときのチェアとドアの両方の動きを記述するスクリプトを含んでもよい。システムは、例えば、チェアがドアと接触するとき、チェア及び/又はドアの動きの量を決定するために、第2のスクリプトを適用してもよい。
【0468】
幾つかの実施例において、シーン(例えば、部屋)の画像又は表現は、シーン内のオブジェクトの事前のセグメト化とともにデータ構造内に格納されてもよい。従って、データ構造は、格納された画像内の複数のオブジェクトを特定する画像情報をすでに含んでいてもよい。データ構造はまた、オブジェクトが移動可能か移動不可能かに関する情報を格納してもよい。事前の(アプリオリ)セグメント化(セグメンテーション)は、ユーザによって手動で、又は開示されたシステムに関連付けられたプロセッサを使用して自動的に、実行されてもよい。更に、ロボットは、データ構造に格納された事前の(アプリオリ)セグメント化(セグメンテーション)及び画像の両方にアクセスできるかもしれないと考えられる。画像とセグメント化(セグメンテーション)に関する情報に基づいて、ロボットは、データ構造に格納されたシーンの事前の(アプリオリ)セグメント化(セグメンテーション)から取得されたオブジェクトに対応する特定のオブジェクトを検索(サーチ)してもよい。ロボットは、例えば、室内に自分自身を配置するための登録を含む、様々な計算技術を適用してもよい。
【0469】
図16は、本開示の実施例と一致して、ロボットをコントロールするための例示的なシステム1600を示している。示されるように、システム1600は、クライアントデバイス1610、ロボット1620、データ構造1630(例えば、データベース)、ユーザデバイス1650、及びカメラ1660を含んでもよい。システム1600のコンポーネントは、互いに接続されてもよく、又はネットワーク1640を介して互いに通信されてもよい。幾つかの実施例において、システム1600の側面(アスペクト)は、1つ又はそれ以上のクラウドサービスで実施されてもよい。幾つかの実施例において、システム1600の側面(アスペクト)は、モバイルデバイス、コンピュータ、サーバ、サーバのクラスタ、又は複数のサーバクラスタを含むコンピューティングデバイス上で実施されてもよい。
【0470】
当業者によって認識されるように、システム1600のコンポーネントは、様々な方法で配置されてもよく、必要に応じて、ハードウェア、ファームウェア、及び/又はソフトウェアの如何なる適切な組み合わせで実施されてもよい。例えば、
図16における描写と比較して、システム1600は、より多い又はより少ない数のクライアントデバイス、ロボット、データ構造、ユーザデバイス、カメラ、及び/又はネットワークを含んでもよい。更に、システム1600は、開示された実施例と一致して、1つ又はそれ以上のプロセスのパフォーマンスを実行又は支援する、図示されていない他のコンポーネント又はデバイスを更に含んでもよい。
図16において示される例示的なコンポーネント及び配置は、開示された実施例を限定することを意図するものではない。
【0471】
幾つかの実施例において、クライアントデバイス1610は、如何なる個人又は組織に関連付けられてもよい。例えば、クライアントデバイス1610は、開示された実施例と一致して、環境(例えば、部屋、オフィス、工場フロア)のシーンをキャプチャし、及びロボット1620にシーンを提供するため、ソフトウェアを実行するように構成されてもよい。クライアントデバイス1610はまた、開示された実施例と一致して、ロボット1620から変更されたシーンを受信し、及び変更されたシーンをクライアントデバイス1610のユーザに表示するように構成されてもよい。クライアントデバイス1610は、開示された実施例と一致して、オペレーションを実行するように構成された少なくとも1つ(又はそれ以上)のプロセッサ及び1つ又はそれ以上のメモリユニットを含んでもよい。幾つかの実施例において、クライアントデバイス1610は、ハードウェア、ソフトウェア、及び/又はファームウェアモジュールを含んでもよい。クライアントデバイス1610は、モバイルデバイス、タブレット、パーソナルコンピュータ、端末、キオスク、サーバ、サーバクラスタ、クラウドサービス、ストレージデバイス、開示された実施例による方法を実行するように構成された特殊なデバイスなど、を含んでもよい。クライアントデバイスは、ユーザ入力を(例えば、インターフェースで)受信し、情報(例えば、画像及び/又はテキスト)を表示し、他のデバイスと通信し、及び/又は開示された実施例と一致する他の機能を実行するように構成されてもよい。
【0472】
ロボット1620は、開示された実施例と一致して、環境内で1つ又はそれ以上のオペレーションを実行するように構成されたデバイスを含んでもよい。例として、ロボット1620は、自律型掃除ロボット(例えば、ロボット掃除機)、自律型芝刈り機、自律型工場組立ロボット、自律型車両、多関節アーム、又は前述の他のロボットであってもよい。ロボット1620は、開示された実施例と一致して、オペレーションを実行するように構成された1つ又はそれ以上のプロセッサ及び1つ又はそれ以上のメモリユニットを含んでもよい。
【0473】
データ構造1630は、1つ又はそれ以上のサーバー、サーバーの1つ又はそれ以上のクラスター、又は1つ又はそれ以上のクラウドサービスにおいてホストされてもよい。幾つかの実施例において、データ構造1630は、ロボット1620(図示せず)のコンポーネントであってもよい。データ構造1630は、画像、ビデオデータ、画像オブジェクト情報、画像オブジェクト識別子、メタデータ、ラベル、可動特性、スクリプト、及び/又は如何なる他のデータをも格納するように構成された1つ又はそれ以上のデータ構造を含んでもよい。データ構造1630は、データに関する情報を別のデバイス又は別のシステムに提供するように構成されてもよい。データ構造1630は、クラウドベースのデータ構造、クラウドベースのバケット、又はオンプレミスのデータ構造を含んでもよい。
【0474】
ユーザデバイス1650は、VR、AR、及び/又はMRデータを含む、メディアコンテンツフレームを受信及び/又は表示するように構成された如何なるデバイスであってもよい。例えば、ユーザデバイス1650は、モバイルデバイス、スマートフォン、タブレット、コンピュータ、ヘッドセット、ゲーム機、及び/又は如何なる他のユーザデバイスを含んでもよい。幾つかの実施例において、ユーザデバイス1650は、ブロードキャストを受信及び/又は表示するように構成されてもよい。ユーザデバイス1650は、開示された実施例と一致して、オペレーションを実行するように構成された1つ又はそれ以上のプロセッサ及び1つ又はそれ以上のメモリユニットを含んでもよい。幾つかの実施例において、ユーザデバイス1650は、ハードウェア、ソフトウェア、及び/又はファームウェアモジュールを含んでもよい。
【0475】
カメラ1660は、ロボット1620に関連付けられる環境を描写するシーンのための画像情報を生成するように構成された2D又は3D画像化デバイス又はスキャナであってもよい。上記で論じたように、画像情報は、3Dベクトルフォーマット、コンピュータ支援設計ファイル、.FLV、.MP4、.AVI、.MPG、.MP3、.MOV、.F4V、.VR、又は、如何なる他の画像、ビデオ、又はモデルフォーマット、のような既知のフォーマットでエンコードされてもよい。本開示と一致する実施例は、メッシュ、点群、又はシーンをエンコードする如何なる他の表現によって表されるシーンを含んでもよい。カメラ1660は、シーンをロボット1620に直接又はネットワーク140を介して送信するように構成されてもよい。
【0476】
クライアントデバイス1610、ロボット1620、データ構造1630、ユーザデバイス1650、及び/又はカメラ1660の1つ又はそれ以上のものは、ネットワーク1640に接続されてもよく、又はネットワーク1640と通信されてもよい。ネットワーク1640は、パブリックネットワーク又はプライベートネットワークであってもよく、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、メトロポリタンエリアネットワーク、IEEE 1002.11ワイヤレスネットワーク(例えば、「Wi Fi」)、ネットワークのネットワーク(例えば、インターネット)、固定電話ネットワークなどを、限られることなく、含む有線又は無線ネットワークを含んでよい。ネットワーク1640は、様々なシステムコンポーネントを互いに及び/又は外部システム又はデバイスに接続するために、他のネットワーク(
図16には示されていない)に接続されてもよい。幾つかの実施例において、ネットワーク1640は安全なネットワークであってもよく、及び、そのネットワークにアクセスするためにパスワードを必要としてもよい。
【0477】
一例において、ロボットに「冷たい水を一杯取って」のようなタスクが与えられるかもしれない。ロボットは、タスク「冷たい水」を、システム1600に関連付けられる(例えば、ユーザデバイス1650又はクライアントデバイス1610に関連付けられる)プロセッサに送信してもよい。プロセッサは、データ構造1630を検索(サーチ)して、ウォーターディスペンサー(冷水機)オブジェクトを含む冷蔵庫オブジェクトを含む部屋の画像を特定(識別)してもよい。プロセッサは、画像及び冷蔵庫に関する情報をロボットに送信してもよい。ロボットは、ロボットに関連付けられたスキャナ及び/又はカメラ1660からロボットによって取得されたスキャン又はシーンの表現又は画像内の対応する冷蔵庫オブジェクトを検索(サーチ)するために、送信された情報を使用してもよい。ロボットはまた、受信されたシーン内の冷蔵庫オブジェクトに対応するオブジェクトを検索(サーチ)してもよい。ロボットは、特定された冷蔵庫オブジェクトに隣接して移動してもよい。次に、プロセッサ(例えば、ユーザデバイス1650又はクライアントデバイス1610の)は、ロボットが特定された冷蔵庫オブジェクトからカップに水を供給できるようにするために、カップに関連付けられた可動性スクリプトを転送してもよい。
【0478】
図17は、本開示の実施例と一致して、ロボットを制御する例示的な方法1700を示す。プロセス1700のステップの順序及び配置は、説明の目的で提供されている。本開示から理解されるように、例えば、プロセスのステップを追加、組み合わせ、除去、及び/又は再配置することによって、プロセス1700に変更を加えることができる。方法1700のステップは、ロボット1620を、限られることなく、含むシステム1600の構成要素によって実行されてもよい。例えば、方法1700は、ロボット1620によって実行されるステップとして記述されてもよいが、クライアントデバイス1610及び/又はユーザデバイス1650は、方法1700のいずれか又はすべてのステップを実行し得ることは理解されるべきである。当業者が認識するように、方法1700は、ここにおいて記述される如何なる他の方法と共に実行されてもよい。幾つかの実施例において、プロセス1700は、プロセス400のステップと共に実行されてもよい。
【0479】
ステップ1702で、ロボット1620は、開示された実施例と一致して、3Dシーンのための画像情報を受け取っ(受信し)てもよい。シーンのための画像情報は、開示された実施例と一致して、データストレージから受信又は検索(読出)されてもよい。シーンのための画像情報は、システム1600の別のコンポーネント及び/又はシステム1600の外部の別のコンピューティングコンポーネントから(例えば、ネットワーク140を介して)受信されてもよい。シーンのための画像情報は、メモリ(例えば、メモリ206)、データ構造(例えば、データ構造1630)、又は如何なる他のコンピューティングコンポーネントから取得(読出)されてもよい。シーンのための画像情報は、開示された実施例と一致して、1つ又はそれ以上のカメラ1660(即ち、スキャン)によってキャプチャされた画像に基づいていてもよい。
【0480】
ステップ1704で、ロボット1620は、開示された実施例と一致して、3Dシーンをセグメント化してもよい。ここにおいて記述されるように、セグメント化は、シーンの画像要素を、回転椅子(チェア)1706、ソファ1708、チェア1710、及び/又は他のコンポーネント又はオブジェクトのようなシーンコンポーネント又はオブジェクトに分割(即ち、分類)することを含んでもよい。幾つかの実施例において、ステップ1704は、メッシュ、点群、又はシーンの他の表現を生成することを含んでもよい。
【0481】
ステップ1712で、ロボット1620は、開示された実施例と一致して、1つ又はそれ以上のマッチするオブジェクトを特定するために、オブジェクトデータ構造を検索(サーチ)してもよい。オブジェクトデータ構造の検索(サーチ)は、例えば、ステップ1704で特定されたオブジェクトに基づいていてもよい。オブジェクトデータ構造は、3Dモデル、画像データ、CADモデル、画像オブジェクト識別子、可動特性、スクリプト、プログラム、コード、及び/又は1つ又はそれ以上のオブジェクトに関連する如何なる他のデータを含んでもよい。
【0482】
ステップ1714で、ロボット1620は、開示された実施例と一致して、検索(サーチ)に基づいてオブジェクトデータ構造の結果を受け取る(受信する)ことができる。ステップ1714に2つのオブジェクトデータ構造の結果が描かれているが、より一般的には、オブジェクトデータ構造の結果は、如何なる数の結果を含んでもよい。オブジェクトデータ構造の結果は、開示された実施例と一致して、3Dモデル、マッチしたオブジェクト、画像オブジェクト識別子、及び/又は類似性メトリックを含んでもよい。類似性メトリックは、開示された実施例と一致して、「マッチスコア」又は如何なる他の類似性メトリックを含んでもよい。マッチスコアは、シーン内のオブジェクトがデータ構造内のオブジェクトとマッチする確率を表すかもしれない。マッチスコアは、シーン内のオブジェクトとデータ構造オブジェクトの間の類似度を表すかもしれない。マッチスコアは、シーン内のオブジェクトの形状とデータ構造オブジェクトの形状とに基づいていてもよい。
図17に示されるように、「回転椅子(チェア)」データ構造オブジェクトは、0.9のマッチスコアに関連付けられ、そして、「ソファ」データ構造オブジェクトは、0.5のマッチスコアに関連付けられている。
【0483】
ステップ1716で、ロボット1620は、開示された実施例と一致して、オブジェクトデータ構造の結果に基づいてCADモデル又はマッチするオブジェクトを特定(識別)することができる。例えば、ロボット1620は、最高のマッチスコアに関連付けられたCADモデル又はマッチするオブジェクト(例えば、「回転椅子(チェア)」)を特定(識別)してもよい。
【0484】
ステップ1718で、ロボット1620は、マッチするオブジェクトの可動特性を規定する1つ又はそれ以上のスクリプトにアクセスすることができる。例えば、ロボット1620は、1つ又はそれ以上の外部刺激を受けたときに、「回転椅子(チェア)」がどのように動くことができるかを記述するスクリプトを検索(読出)することができる。
【0485】
ステップ1720で、ロボット1620は、1つ又はそれ以上の外部刺激をシーン内の1つ又はそれ以上のオブジェクトに適用することができる。例えば、ロボット1620は、「回転椅子(チェア)」に所定の力を加えて、例えば、ステップ1718で得られたスクリプトによって規定された可動特性に従って回転椅子(チェア)を移動させる(動かす)ことができる。
【0486】
ステップ1722で、ロボット1620は、開示された実施例と一致して、変更されたシーンをレンダリングすることができる。変更されたシーンをレンダリングすることは、例えば、ステップ1718で特定(識別)された可動特性又はスクリプトに基づいて、オブジェクトが新しい位置に移動させられたシーンをレンダリングすることを含んでもよい。レンダリングすることは、開示された実施例と一致して、如何なる画像処理技術を実施することを含んでもよい。
【0487】
ステップ1724で、ロボット1620は、開示された実施例と一致して、変更されたシーンを送信してもよい。幾つかの実施例において、ロボット1620は、変更されたシーンをユーザデバイス(例えば、ユーザデバイス1650)及び/又はクライアントデバイス1610に送信してもよい。幾つかの実施例において、ステップ1724は、変更されたシーンをブロードキャストすることを含んでもよい。ステップ1724で送信することは、開示された実施例と一致して、如何なる既知の方法によるネットワークを介して送信することを含んでもよい。更に、ステップ1724で、デバイスは、開示された実施例と一致して、変更されたシーンを表示してもよい。幾つかの実施例において、クライアントデバイス1610、ユーザデバイス1650、又は他のデバイス(例えば、ロボット1620上の)は、開示された実施例と一致して、変更されたシーンを表示してもよい。
【0488】
図18は、本開示の実施例と一致して、ロボットをコントロールする例示的な方法1800を描いている。プロセス1800のステップの順序及び配置は、説明の目的で提供されている。本開示から認識されるように、例えば、プロセスのステップを追加、組み合わせ、除去、及び/又は再配置することによって、プロセス1800に変更を加えてもよい。方法1800のステップは、ロボット1620を、限られることなく、含むシステム1600のコンポーネントによって実行されてもよい。例えば、方法1800は、ロボット1620によって実行されるステップとして記述されてもよいが、クライアントデバイス1610及び/又はユーザデバイス1650が、方法1800のいずれか又はすべてのステップを実行し得ることは、理解されるべきである。当業者が認識するように、方法1800は、ここにおいて記述される如何なる他の方法と共に実行されてもよい。プロセス1800は、開示された実施例と一致して、ロボット1620のオペレーションをコントロールするためにリアルタイムで実行されてもよい。
【0489】
ステップ1802で、ロボット1620は、開示された実施例と一致して、シーンの画像情報を受信(受取)することができる。シーンは、2D又は3Dシーンであってもよい。シーンは、クライアントデバイス1610、データ構造1630、カメラ1660、ユーザデバイス1650、又は如何なる他のコンピューティングコンポーネントから受信(受取)することができる。
【0490】
ステップ1804で、ロボット1620は、開示された実施例と一致して、シーンをセグメント化してもよい。ここにおいて記述されるように、セグメント化は、シーンの画像要素を、回転椅子(チェア)1706、ソファ1708、チェア310、及び/又は他のオブジェクトのようなオブジェクトに分割(即ち、分類)することを含んでもよい。幾つかの実施例において、ステップ404は、メッシュ、点群、又はシーンの他の表現を生成することを含んでもよい。オブジェクトの表現(例えば、メッシュ、点群などの形式(フォーム))は、シーン内の少なくとも1つのオブジェクトの抽出された画像を形成してもよい。
【0491】
ステップ1806で、ロボット1620は、複数のオブジェクトに関する情報を格納するデータ構造1630にアクセスしてもよい。ステップ1808で、ロボット1620は、マッチするオブジェクトを特定(識別)するために、抽出された画像をデータ構造内の情報と比較してもよい。例えば、ロボット1620は、例えばステップ1804で取得された抽出された画像に基づいて、オブジェクトデータ構造を検索(サーチ)してもよい。オブジェクトデータ構造は、3Dモデル、画像データ、CADモデル、画像オブジェクト識別子、及び/又は、コンポーネント及び/又はオブジェクトに関連する如何なる他のデータ、を含んでもよい。ロボット1620は、開示された実施例と一致して、オブジェクトデータ構造の結果を受け取っ(受信し)てもよい。前述のように、オブジェクトデータ構造の結果は、マッチスコア又はその他の類似性メトリックを含んでもよい。ロボット1620は、マッチスコア又は他の類似性メトリックに基づいて、データ構造の結果からCADモデル又はマッチするオブジェクトを選択してもよい。
【0492】
ステップ1810で、ロボット1620は、データ構造1630からマッチするオブジェクトのために対応する情報を特定(識別)してもよい。例えば、ロボット1620は、データ構造1630からのマッチするオブジェクトに対応する可動特性を表す1つ又はそれ以上のスクリプトを特定(識別)してもよい。
【0493】
ステップ1812において、ロボット1620に関連付けられたプロセッサは、スクリプトによって規定された可動特性に基づいてシーン内の少なくとも1つのオブジェクトとロボット1620が相互作用するようにさせる1つ又はそれ以上のスクリプトを適用することによって、ロボット1620をコントロールしてもよい。例えば、プロセッサは、例えば、少なくとも1つのオブジェクトを新しい位置に移動させるために、シーン内の少なくとも1つのオブジェクトに1つ又はそれ以上の外部刺激をロボット1620が適用するようにさせてもよい。
【0494】
本開示は、仮想現実(VR)、拡張現実(AR)、及び複合現実(MR)技術及びアプリケーションにおける使用のための3次元(3D)コンテンツ作成のためのコンピュータで実施されるシステムに関する。本開示は、3Dシーンを自動的に処理するための技術及びアプリケーションにおける問題に対する解決策を提供する。本開示は、一般に、3Dシーンのスキャンをオブジェクトにセグメント化すること、オブジェクトを認識すること、及び、次に、認識されたオブジェクトと共にしばしば見つけられる補完的なオブジェクトのコンテキストベースの検索(サーチ)を実行すること、による3Dコンテンツ作成の自動化に関する。自動化は、これらの補完的なオブジェクトの3D表現を特定(識別)すること、及び、再構築されたシーン内にそれらを含めることを提案こと若しくは再構築されたシーン内に自動的にそれらを挿入すること、を含んでもよい。本開示は、AR、VR、及びMR技術及びアプリケーションの例を提供するが、それらの最も広い意味での開示の側面(アスペクト)は、特定の例に限定されないことに留意されたい。むしろ、前述の原理は、他のコンピュータ化された現実の技術及びアプリケーションに適用されてもよいことが考えられている。
【0495】
開示されたシステムによる3Dコンテンツ作成の例示的なシナリオを以下に説明する。ユーザは、リビングルームを表す3Dシーンを表示装置上で視聴してもよい。シーンは、メッシュを含んでもよい(メッシュは、シーン内のすべてのオブジェクトの外面を表す3D空間内の1セットの三角形である)。開示されたシステムは、シーンをセグメント化してもよい。本開示の実施例と一致して、セグメント化は、追加的又は代替的に、上記で議論されたセグメント化のための技術を使用して実行されてもよい。例えば、開示されたシステムは、メッシュの数十万のポリゴンのそれぞれを、部屋内のはるかに少数のオブジェクトにマッピングして、シーンをオブジェクトに分割してもよい。オブジェクトは、例えば、チェア、テーブル、カップ、ランプ、ドア、写真などであってもよい。システムは、データ構造内の各オブジェクトが名前で分類されてもよいところ、3Dオブジェクトの既存のデータ構造内の各オブジェクトを検索(サーチ)してもよい。各オブジェクトごとに、最高ランクの検索(サーチ)結果がオブジェクトのクラスを規定してもよい。システムは、部屋の中のオブジェクトを分類してもよい。例えば、部屋のシーン内のオブジェクトは、(1)オフィスチェア、(2)ボトル、(3)ラップトップ、(4)ホワイトボードなどを含んでもよい。システムは、シーンで検出されたオブジェクトとそれらの空間的関係が与えられると、シーンがオフィス環境である可能性が非常に高いと推測するかもしれない。システムは、現在のシーンに類似しているかもしれない他のシーンに対して、そのデータ構造をスキャンしてもよい。例えば、システムは、同様の空間的関係を有する同様のオブジェクトを含むデータ構造内に格納されたシーンから、他のシーンを特定(識別)してもよい。システムは、同様のデータ構造シーン内で、例えば、多くの場合カップがボトルの隣に配置されているかもしれないことを検出してもよい。システムは、例えば、現在のシーンにカップを追加することを提案してもよい。システムは、例えば、幾つかのカップ及び幾つかの提案された場所(例えば、テーブル上の、ボトルの隣の)を表示することができるユーザーインターフェースを提示してもよい。システムはまた、追加されたオブジェクト(例えば、カップ)がシーン内に挿入されるかもしれない場所をユーザが変更することを可能にしてもよい。
【0496】
本開示によれば、3次元(3D)コンテンツ作成を自動化するためのコンピュータで実施されるシステムが、開示される。システムは、VR、AR、又はMR環境内を含め、如何なる2D又は3Dメディアを生成及び/又は表示できるかもしれない。例えば、開示されたシステムの特別な場合は、VRヘッドセット上でプレイされるソフトウェアベースのゲームのような、VRヘッドセット上で視聴可能なコンテンツを生成するシステムを含んでもよい。他の例示的な開示されたシステムは、部屋のカメラビューに要素を追加するMR体験を備えるタブレット又は電話と;実際の環境に追加的な要素が追加される視聴される部屋の3D体験を表すMRヘッドセットと;又は、実際のシーン又は仮想シーンと相互作用するユーザにより使用される如何なる他のデバイスと、互換性のあるコンテンツを含むか、或いは、生成することができるかもしれない。このシステムは、リアルタイムで動的に生成されるか、後で放送(ブロードキャスト)するために記録されるかにかかわらず、シネマトグラフィ(映画撮影術)、テレビ、ビデオのような映画のためのコンテンツを生成することができるかもしれない。
【0497】
開示された実施例と一致するシステムは、少なくとも1つのプロセッサを含んでもよい。プロセッサ及びメモリの例示的な記述は、上記で、及び、
図2を参照しても、記述されている。本開示は、システム又はデバイスの例を提供するが、それらの最も広い意味において、本開示の側面(アスペクト)は、対応する方法及びコンピュータ読み取り可能な媒体に実装されてもよいことに留意されたい。従って、本開示は3つすべてを具体化し、開示された例に限定されない。
【0498】
少なくとも1つのプロセッサは、シーンのスキャンを受け取る(受信する)ように構成されてもよい。シーンのスキャンは、別のデバイス(例えば、クライアントデバイス、ユーザーデバイス)から受け取ら(受信さ)れてもよい。シーンは、リモート又はローカルのデータストレージから取得(読出)されてもよい。シーンのスキャンを受け取る(受信する)ことは、1つ又はそれ以上のカメラ又はスキャナー(例えば、3Dスキャナー)から画像データをキャプチャすることを含んでもよい。開示された実施例と一致して、シーンは、ヘッドセット、コンピュータスクリーン、モニター、投影などのようなデバイスを介して表示するように構成されてもよい。シーンの側面(アスペクト)は、3Dベクトルフォーマット、コンピューター支援設計ファイル、.FLV、.MP4、.AVI、.MPG、.MP3、.MOV、.F4V、.VR、又は如何なる他の画像、ビデオ、又はモデルフォーマットのような既知のフォーマットでエンコードされてもよい。本開示は、スキャンのためのフォーマット及びスキャンを受信する例を提供するが、それらの最も広い意味において、本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0499】
シーンは、開示された実施例と一致して、画像データを含んでもよい。幾つかの実施例において、画像データは、すべてのオブジェクトの外面を表すメッシュレンダリングを含んでもよい。幾つかの実施例において、シーンは、複数の既存の画像要素を含んでもよい。画像要素は、例えば、ボクセル、点(ポイント)、又はポリゴンの少なくとも1つを含んでもよい。幾つかの実施例において、システムは、1セットのポリゴンを生成してもよいが、個々のポリゴンは基本要素である。別の例として、システムが点群を生成する場合、個々の点(ポイント)は画像要素であってもよい。メッシュがシーンを表す複数のボクセル又は空間のサブセットのボクセルマッピングを含む場合、ボクセルは画像要素であるかもしれない。ボクセルは、閉じたn辺(面)のポリゴン(例えば、立方体、ピラミッド、又は如何なる閉じたn辺(面)のポリゴン)であるかもしれない。シーン内のボクセルは、サイズが均一又は不均一であるかもしれない。ボクセルは、シーン内で一貫して成形されてもよく、或いは、シーン内で変化してもよい。
【0500】
幾つかのケースにおいて、基本要素が更に細分化されてもよい。例えば、システムは、画像要素として複数のn辺(面)のポリゴンから構成されるメッシュを生成してもよく、1つ又はそれ以上のポリゴンは、解像度を改善するために、又は他の理由で、追加のポリゴンに細分化されてもよい。本開示は、基本的な画像要素の例を提供するが、それらの最も広い意味において、本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0501】
幾つかの実施例において、システムは、シーン内の少なくとも1つのオブジェクトを特定するため、スキャンをセグメント化してもよい。オブジェクトは、例えば、チェア、電話、机、及び/又はシーンに存在する如何なる他のオブジェクトであってもよい。スキャンは、シーン内の各オブジェクトを個別に特定するため、セグメント化されてもよい。幾つかの場合において、セグメンテーション(セグメント化)は、より小さなオブジェクト(例えば、カップ又はペン)を特定することができるようにするため、メッシュ内において、より高い解像度を使用してもよい。例えば、シーンオブジェクトmは、テーブル、テーブルの表面、テーブルの脚などのようなオブジェクトに関連付けられた点(ポイント)、ボクセル、又はポリゴンを含んでもよい。セグメント化は、シーン内の1つ又はそれ以上のオブジェクトへの多数の点(ポイント)又はポリゴン(例えば、数十万個のポリゴン)をマッピングすることを含んでもよい。一例として、システムは、リビングルームのスキャンを含むシーンを、チェア、ドアノブ、ハンドル、カップ、調理器具、靴、壁、植物の葉、カーペット、テレビ、額縁などのような複数のシーンオブジェクトにセグメント化してもよい。本開示はセグメント化の例を提供するが、それらの最も広い意味において、本開示の側面(アスペクト)が、開示された例に限定されないことに留意されたい。
【0502】
幾つかの実施例において、システムは、スキャンから特定されたオブジェクトに対応する画像データを抽出してもよい。画像データを抽出することは、形状データ、色データ、セマンティックデータ、又は如何なる他のデータに基づいて、スキャンされたシーンの1つ又はそれ以上の特定されたオブジェクトをタグ付けすること、ラベル付けすること、特定すること、又は別様に分類することを含んでもよい。例示的な実施例において、抽出された画像データは、スキャンされたシーン内の特定されたオブジェクトのための分類を含んでもよい。この例において、「家具」、「チェア」、「オフィスチェア」はすべて、同じオブジェクトのクラスを含む、オブジェクトのクラスであるかもしれない。当業者に明らかであるように、クラスは、互いに対してより広い又はより狭いクラスの階層(ヒエラルキー)で定義されてもよい。例えば、「家具」クラスは「チェア」クラスよりも広くてもよく、「チェア」クラスは「オフィスチェア」クラスよりも広くてもよい。画像データを抽出することは、オブジェクトに対応する画像要素又はオブジェクトに関連付けられた画像要素を特定(識別)することを含んでもよい。従って、例えば、チェアの画像データを抽出することは、シーンのスキャンにおいてチェアオブジェクトに関連付けられた点(ポイント)、ポリゴン、ボクセルなどのグループを特定(識別)することを含んでもよい。そのグループが特定(識別)されると、チェアに関連付けられた画像データは、抽出されることができる(例えば、シーン内の他の画像データからユニークであると特定されると)。抽出は、必ずしもチェアの画像がシーンから削除されることを意味するわけではない(ただし、幾つかの実施例において、発生するかもしれない)。むしろ、シーン内の他の画像情報からユニークであるとして、その関連付けられた情報及びチェアを特定することによって、チェアに関連付けられた画像データは、検索(サーチ)目的のために、シーン内の他の画像データから区別され得るが、この文脈(コンテキスト)において、この特定されたオブジェクトに対応する画像データは、「抽出された」と言われるべきである。
【0503】
幾つかの実施例において、抽出された画像データは、スキャンされたシーンの少なくとも1つのオブジェクトに関連付けられたセマンティックタグを含んでもよい。システムは、スキャンされたシーン内の少なくとも1つの特定されたオブジェクトのセマンティックタグを生成してもよい。例えば、「テーブル」、「棚」、及び「チェア」はそれぞれ、シーン内で特定される対応するテーブル、棚、及びチェアのオブジェクトに関連付けられたセマンティックタグであってもよい。セマンティックタグは、シーン内で特定されたオブジェクトのリストを含んでもよい。例えば、セマンティックタグは、「テーブル、棚、及びチェア」を含んでもよい。
【0504】
開示されたシステムはまた、入力として受信し、及び/又は、受信した3Dシーンの空間セマンティックグラフを生成してもよい。空間セマンティックグラフは、スキャンされたシーン内の特定されたオブジェクト間の空間的関係を開示してもよい。セマンティックタグは、1つ又はそれ以上の空間セマンティックグラフを含んでもよい。空間セマンティックグラフは、シーン内のオブジェクトのリストを、それらの空間関係の記述と共に、含んでもよい。例えば、空間セマンティックグラフは、「チェア、近く、テーブル」、「チェア、近く、棚」、「チェア、下、机」、「床の上のゴミ箱」、「テーブルの上のボトル」、「天井からぶら下がっているランプ」又は「ランプの下のチェア」のような関係を含んでもよい。システムは、シーンをセグメント化し、セマンティックタグを個々のオブジェクトに割り当ててもよい。システムはまた、個々のオブジェクト間の空間的関係に基づいて空間セマンティックグラフを生成してもよい。更に、システムは、検出されたオブジェクト及びそれらの画像データに基づいて、シーンの「環境」を推測してもよい。例えば、システムは、スキャンされたシーンがオフィス環境のものである可能性が高いことを、「チェア、近く、テーブル」を含むセマンティックタグから、及び/又は、空間セマンティックグラフ「チェア、近く、棚」から、推測することができる。システムはまた、特定されたオブジェクトの3D画像に基づいて同様の推論を引き出してもよい。本開示は、画像データを抽出すること、分類すること、空間的セマンティックタグ及びグラフなどの例を提供するが、それらの最も広い意味において、本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0505】
幾つかの実施例において、システムはデータ構造にアクセスしてもよい。本開示の実施例と一致して、例示的なデータ構造は、上記に記述されている。幾つかの実施例において、少なくとも1つのデータ構造は、セマンティックタグ又は1つ又はそれ以上の空間セマンティックグラフに関連付けられた3Dシーンを含んでもよい。例えば、シーンに関連付けられた空間セマンティックグラフ及びセマンティックタグは、シーンを言葉でテキスト的に表してもよい。開示されたシステムは、受信された3Dシーンの空間セマンティックグラフを、データ構造内の3Dシーンの空間セマンティックグラフと比較してもよい。本開示の実施例と一致して、システムは、上記で論じられたオブジェクト及び/又は画像データを比較するための1つ又はそれ以上の技術を使用して比較を実行してもよい。システムは、最も近い又は最も類似した空間セマンティックグラフを有する1つ又はそれ以上の3Dシーンを特定してもよい。システムは、共分散、最小二乗距離、画像要素に関連付けられたベクトル間の距離(例えば、特徴ベクトル)、又は整列されたオブジェクト間のハウスドルフ距離のような統計的類似性に基づいて、近さ又は類似性を決定してもよい。幾つかの実施例において、システムは、3Dシーンに関連付けられた特徴ベクトルの比較に基づいて、近さ又は類似性を決定してもよい。多くの例の空間セマンティックグラフから学習することにより、システムはオブジェクトがシーンに加わるように示唆し易くなるかもしれない。例えば、オフィスチェア→テーブルの近く(office chair→near table)、ホワイトボード→の上→壁(whiteboard→on→wall)、ラップトップ→に接続→画面(laptop→connected to→screen)、及び画面→の上→テーブル(screen→on→table)によって記述される空間セマンティックグラフによって記述されるオフィス環境内において、システムは、コーヒーマグ→の上→テーブル(coffee mug→on→table)が、シーンに追加され易いと決定してもよい。多くのシーンにおいてコーヒーマグがテーブル上に配置されているかもしれない、データ構造に存在するそのようなシーンのファミリーの空間セマンティックグラフに、入力シーンの空間セマンティックグラフが類似しているかもしれないので、システムは、この決定を行うかもしれない。
【0506】
幾つかの実施例において、少なくとも1つのプロセッサは、データ構造内の3Dシーンをオブジェクトにセグメント化するように構成されてもよい。少なくとも1つのプロセッサは、本開示の実施例と一致して、上で記述されたようにシーンをオブジェクトにセグメント化する1つ又はそれ以上の技術を用いてもよい。少なくとも1つのプロセッサは、データ構造に格納された受信されたシーン及び3Dシーンの両方をセグメント化してもよい。少なくとも1つのプロセッサは、データ構造の3Dシーンからセグメント化されたオブジェクトを使用して、単一オブジェクト検索(サーチ)を実行してもよい。従って、例えば、少なくとも1つのプロセッサは、受信されたシーンから特定されたオブジェクトを、データ構造の3Dシーンからセグメント化されたオブジェクトと比較してもよい。本開示の実施例と一致して、システムは、上記で論じられたオブジェクト及び/又は画像データを比較するための1つ又はそれ以上の技術を使用して比較を実行してもよい。上で論じたように、特定されたオブジェクトに類似するかもしれないデータ構造の3Dシーンからセグメント化されたオブジェクトを特定するために、少なくとも1つのプロセッサは、1つ又はそれ以上の統計的類似性尺度を使用してもよい。少なくとも1つのプロセッサは、特定されたオブジェクトに類似するかもしれないデータ構造の3Dシーンからのオブジェクトに対応するタグを特定してもよい。
【0507】
追加的又は代替的に、幾つかの実施例において、少なくとも1つのプロセッサは、セグメント化されたオブジェクトに対応するタグ及びそのシーンのセグメント化されたオブジェクトを頂点として有する数学的グラフとして、各シーンの空間セマンティックグラフを生成してもよい。グラフのエッジは、それぞれの頂点上のオブジェクトの重心間の3D差分ベクトル、又はオブジェクト間の最短距離、又はオブジェクトの相対位置の如何なる他の空間導関数によってマークされてもよい。少なくとも1つのプロセッサはまた、頂点をマッチさせるオブジェクトの特徴ベクトル間の距離、各頂点に現れるタグのテキストの類似性、及びマッチする端点を備える2つのグラフのエッジに現れるベクトルの間の違いの差の合計の加重和として、2つのシーンのセマンティックグラフ間の距離を、決定してもよい。空間セマンティックグラフ間の距離は、2つのグラフの頂点間の最初の部分マッチングに依存する。少なくとも1つのプロセッサは、例えば、最適化アルゴリズム(例えば、遺伝的アルゴリズム)を使用することによって、最良の一致(ベストマッチング)を見つけることを最適化してもよい。
【0508】
幾つかの実施例において、補完的なオブジェクトは、受信されたシーンのセマンティックグラフに最も近い距離を有するセマンティックグラフを有するデータ構造からのシーンから選択されてもよい。例えば、少なくとも1つのプロセッサは、受信されたシーン内に存在しないデータ構造からシーン内のオブジェクトを特定し、1つ又はそれ以上の特定されたオブジェクトを補完的なオブジェクトとして選択してもよい。少なくとも1つのプロセッサはまた、データ構造からのシーン内の他のオブジェクトに対するそれらのオブジェクトの相対的な位置に基づいて、1つ又はそれ以上の補完的なオブジェクトの配置位置を提案してもよい。幾つかの実施例において、ユーザは、補完的なオブジェクトを異なる場所に移動することができてもよい。
【0509】
幾つかの実施例において、少なくとも1つのプロセッサは、特定されたオブジェクトに対する少なくとも1つの補完的なオブジェクトの少なくとも1つの画像を特定するため少なくとも1つのデータ構造を検索(サーチ)するため抽出された画像データを使用するように構成されてもよい。一旦チェアのようなオブジェクトが抽出されると、補完的なオブジェクトを特定するため、及び/又は、オブジェクトを特に又はクラスにより特定するため、データ構造内のデータと比較され得る。例えば、データ構造が飲用グラスに飲料用ボトルを関連付ける履歴情報を含むならば、テーブル上で特定される飲用グラスに対する補完オブジェクトは飲料用ボトルであるかもしれない。飲用グラスの中身がオレンジ色である場合、特定された補完的なオブジェクトはオレンジジュースの容器であるかもしれない。グラスの中身がダークである場合、特定された補完的なオブジェクトはコーラボトルであるかもしれない。
【0510】
上で論じたように、分類は、あるタイプのシーン-コンポーネントを含んでもよい。例えば、「家具」、「チェア」、「オフィスチェア」はすべて、同じオブジェクトのクラスを含む、オブジェクトのクラスであるかもしれない。当業者に明らかとなるように、クラスは、互いに対してより広い又はより狭いクラスの階層(ヒエラルキー)で定義されてもよい。例えば、「家具」クラスは「チェア」クラスよりも広いかもしれず、「チェア」クラスは「オフィスチェア」クラスよりも広いかもしれない。本開示の実施例と一致して、データ構造は、「テーブル」、「棚」、又は「チェア」のような各オブジェクトの分類を含むかもしれない、セマンティックタグに関連付けられた3Dオブジェクトを含んでもよい。データ構造内の各3Dオブジェクトは、「オフィス」、「リビングルーム」、又は「キッチン」のような環境又は3Dシーンに関連付けられてもよい。各3Dオブジェクト又は3Dシーンはまた、オブジェクトの分類及び/又は環境に基づいて、1つ又はそれ以上の補完的なオブジェクトに関連付けられてもよい。例えば、データ構造内の3Dオブジェクトは、「チェア」内の「オフィス」環境に関係付けられてもよいが、「オフィス」環境内のそのような3Dオブジェクトに関連付けられた補完オブジェクト及び分類は、例えば、ファイルキャビネット、時計、又は電話を含んでもよい。抽出された画像データをデータ構造と比較することにより、結果として、システムは、特定されたオブジェクトに対する少なくとも1つの補完的なオブジェクトの少なくとも1つの画像を特定してもよい。
【0511】
幾つかの実施例において、システムは、セマンティックデータを使用してもよく、そして、特定されたオブジェクトのセマンティックタグを少なくとも1つのデータ構造に格納されたオブジェクトに対するセマンティックタグと比較してもよく、そして、その比較に基づいて少なくとも1つの補完的なオブジェクトを選択してもよい。本開示の実施例と一致して、システムは、上記で論じられたオブジェクト及び/又は画像データを比較するための1つ又はそれ以上の技術を使用して比較を実行してもよい。例えば、システムは、スキャンされたシーンにおいて、チェアのような特定されたオブジェクトの抽出されたデータを検索(サーチ)してもよい。次に、システムは、チェアの周りの他の特定されたオブジェクトに基づいて、チェアがオフィス環境内にあると推測してもよい。この推論から、システムは、セマンティックタグをチェアに割り当てて、それがオフィス環境内の「チェア」の分類内に属することを示すようにしてもよい。次に、システムはデータ構造を検索(サーチ)して、類似のセマンティックタグを備えるオブジェクト(例えば、オフィス環境内のチェア)を含むデータ構造シーンを特定してもよい。開示されたシステムは、特定されたデータ構造シーン内に存在する補完的なオブジェクトを特定してもよい。例えば、システムは、データ構造シーン内のファイルキャビネットのような少なくとも1つの補完的なオブジェクトの少なくとも1つの画像を特定してもよい。本開示は、補完的なオブジェクトを特定する又は選択する例を提供するが、それらの例は、本開示のより広い概念を明らかにするためのメカニズムとして提供され、そして、そのより広い開示を制限することを意図するものではない。
【0512】
幾つかの実施例において、システムが、特定されたオブジェクトに対して少なくとも1つの補完的なオブジェクトを特定した後、システムは、その少なくとも1つの補完的なオブジェクトの3D表現を少なくとも1つのデータ構造から取得してもよい。3D表現は、補完的なオブジェクトの実際の画像又はその同じものの複製を含んでもよい。例えば、複製は、1つ又はそれ以上のオブジェクトに対応する1つ又はそれ以上のコンピュータ支援設計(CAD)モデルに基づいていてもよい。CADモデルは、開示された実施例と一致して、画像要素を含んでもよい。例えば、CADモデルは、メッシュ、点群、3D空間のボクセルマッピング、及び/又は、オブジェクトのグラフィカルな描写を提示するように構成されてもよい如何なる他のマッピングを含んでもよい。システムはまた、例えば、2D表現のような少なくとも1つの補完的なオブジェクトの他の表現を取得してもよい。本開示は、補完的なオブジェクトの表現を得るための例を提供するが、それらの最も広い意味において本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0513】
幾つかの実施例において、システムは、少なくとも1つの補完的なオブジェクトの3D表現を、特定されたオブジェクトに対応する部分以外のシーンのスキャンの部分と組み合わせることによって、ハイブリッドシーンを自動的に生成するように構成されてもよい。本開示と一致して、ハイブリッドシーンを生成することは、補完的なオブジェクトの2D又は3D表現をシーンの3D表現と組み合わせることを含んでもよい。例えば、システムは、特定されたオブジェクトによって占められていない場所に補完的なオブジェクトを配置してもよい。システムはまた、補完的なオブジェクトをシーンのスケールに合わせて拡大縮小(スケーリング)してもよい。これは、補完オブジェクトに対する、シーン内で特定されたオブジェクトの相対的な寸法を特定することにより、及び、シーン内への挿入に応じて補完的なオブジェクトのサイズを調整することによって、そのように行ってもよい。システムはまた、データ構造内の相対的な向きの情報に基づいて、特定されたオブジェクトの向きと一致する向きに補完的なオブジェクトを配置してもよい。
【0514】
ハイブリッドシーンを生成することは、開示された実施例と一致して、画像処理技術(例えば、明るさの調整、照明の調整、勾配ドメイン法の実施など)を使用することを含んでもよい。当業者が認識するように、勾配ドメイン法は、補完的なオブジェクトに関連付けられた画像要素の勾配を受信されたシーンの画像要素と統合することによって、新しい画像を構築することを含んでもよい。システムは、如何なる数の補完的なオブジェクトの如何なる数の3D表現をハイブリッドシーン内に組み合わせてもよいことが更に考えられる。追加的又は代替的に、少なくとも1つのプロセッサは、本開示の実施例と一致して、上記で論じられた2つの画像を組み合わせる1つ又はそれ以上の技術を用いてもよい。
【0515】
幾つかの実施例において、システムは、表示装置上に提示するためにハイブリッドシーンを出力してもよい。ハイブリッドシーンを出力することは、開示された実施例と一致して、ハイブリッドシーンを格納及び/又はユーザ又はクライアントデバイスに送信すること、或いはシステムのインターフェースでハイブリッドシーンを表示することを含んでもよい。送信は、開示された実施例と一致して、如何なる既知の方法によっても、ネットワークを介した送信を含んでもよい。例えば、システムは、ハイブリッドシーンをブロードキャスト(即ち、ネットワークを介して複数のユーザ又はクライアントデバイスに送信)してもよく、及び/又は変更されたシーンをメモリ内に格納してもよい。本開示は、ハイブリッドシーンを出力する例を提供するが、それらの最も広い意味において、本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0516】
幾つかの実施例において、開示されたシステムは、少なくとも1つの補完的なオブジェクトの3D表現を挿入するために、受信されたシーン内の複数の場所を推奨してもよい。幾つかの実施例において、開示されたシステムは、システムのユーザが表示装置と相互作用してハイブリッドシーンを操作することを可能にするように構成されてもよい。一例として、システムは、ファイルキャビネットのCADモデルをオフィスのスキャンされたシーン内に組み合わせてもよい。システムは、例えば、シーンの受信されたスキャンにおいて、テーブル又はチェアに隣接するファイルキャビネットを配置することを推奨するかもしれない。開示されたシステムは、補完的なオブジェクトの場所に関するユーザからの入力を受け取るように構成されてもよい。開示されたシステムは、ユーザによって選択された位置に補完的なオブジェクトを配置するため、補完的なオブジェクトの3D表現をシーンの画像データと組み合わせることにより、ハイブリッドシーンを生成するように構成されてもよい。
【0517】
幾つかの実施例において、開示されたシステムは、ユーザがハイブリッドシーンを操作することを更に可能にしてもよい。例えば、開示されたシステムは、以下の
図2に関して論じるように、1つ又はそれ以上の例示的な入力デバイス使用して、ハイブリッドシーン内の補完的なオブジェクトの、移動、拡大縮小、方向付け、照明特性の変更などをユーザができるようにしてもよい。従って、例えば、ユーザは、スキャンされたシーン内のファイルキャビネットを所望の場所(例えば、テーブルの隣又はチェアの隣)に移動することができてもよい。
【0518】
幾つかの実施例において、少なくとも1つの補完的なオブジェクトの少なくとも1つの画像は、補完的なオブジェクトの複数の画像を含んでもよい。例えば、補完的なオブジェクトの検索(サーチ)は、補完的なオブジェクトの複数の画像を生み出してもよい。この例において、開示されたシステムは、表示装置上に複数の画像を表示してもよい。システムは、ハイブリッドシーンを表示装置に出力することに関して上で論じたのと同様の方法で複数の画像を表示してもよい。別の例において、補完的なオブジェクトの検索(サーチ)は、受信されたシーン内の特定されたオブジェクトに関連付けられた1つより多い数の補完的なオブジェクトを生み出してもよい。開示されたシステムは、表示装置上に複数の補完的なオブジェクトに対応する複数の画像を表示するように構成されてもよい。
【0519】
幾つかの実施例において、システムは、複数の補完的なオブジェクトの複数の画像のインデックスを表示するために出力するように構成されてもよい。インデックスは、補完的なオブジェクトの対応する画像を表す数字、テキスト、記号などを含んでもよい。開示されたシステムは、補完的なオブジェクトの複数の画像を、それらのそれぞれのインデックスと共に、表示装置上に表示してもよい。
【0520】
幾つかの実施例において、システムは、ユーザから、少なくとも1つの補完的なオブジェクトの選択を受け取り、そして、その選択をシーンのスキャン内に挿入するように構成されてもよい。例えば、上で論じたように、幾つかの実施例において、開示されたシステムは、1つの補完的なオブジェクトの複数の画像を表示装置上に表示してもよい。開示されたシステムは、表示された画像の1つ又はそれ以上の選択をユーザから受け取るように構成されてもよい。開示されたシステムは、ユーザが選択された画像を挿入したいと望む受信シーン内の1つ又はそれ以上の場所の表示をユーザから受信するように構成されてもよいこともまた、考えられる。ユーザは、
図2に関連して以下に記述するように、1つ又はそれ以上の例示的なユーザ又はクライアントデバイスに関連付けられた1つ又はそれ以上の入力/出力デバイスを使用して選択を行ってもよい。例えば、ユーザは、入力デバイスを使用して画像をクリックすることによって、1つ又はそれ以上の画像を選択してもよい。同様に、例えば、ユーザは、場所を指し示し、及び入力デバイスを使用してクリックすることによって、受信されたシーン内の1つ又はそれ以上の場所を選択してもよい。
【0521】
また上で論じたように、幾つかの実施例において、開示されたシステムは、表示されたインデックスから、表示装置上に複数の相補的なオブジェクト及び/又は関連するインデックスを表示してもよい。開示されたシステムは、表示された補完的なオブジェクトの1つ又はそれ以上の選択をユーザから受け取るように構成されてもよい。開示されたシステムは、選択された補完的なオブジェクトをユーザが挿入したい希望する受信されたシーン内の1つ又はそれ以上の場所の表示をユーザから受け取る(受信する)ように構成されてもよいことも考えられる。ユーザは、
図2に関連して以下に記述されるように、1つ又はそれ以上の例示的なユーザ又はクライアントデバイスに関連付けられた1つ又はそれ以上の例示的な入力/出力デバイスを使用して選択を行ってもよい。開示されたシステムは、1つ又はそれ以上の選択を受信してもよく、そして、1つ又はそれ以上のユーザが選択した補完的なオブジェクトの3D表現を受信されたシーンのスキャンと組み合わせることによってハイブリッドシーンを生成してもよい。本開示は、ユーザ選択を受け取る(受信する)例を提供するが、最も広い意味において、本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0522】
図19は、本開示の実施例と一致して、3Dコンテンツを生成するための例示的なシステム1900を描写している。
図19に図解されるように、システム1900は、クライアントデバイス1910、3Dジェネレータ1920、データ構造1930、及び/又はユーザデバイス1950を含んでもよい。システム1900のコンポーネントは、ネットワーク140を介して互いに接続されてもよい。幾つかの実施例において、システム1900の側面(アスペクト)は、1つ又はそれ以上のクラウドサービス上で実施されてもよい。幾つかの実施例において、システム1900の側面(アスペクト)は、コンピューティングデバイス、例えば、モバイルデバイス、コンピュータ、サーバ、サーバのクラスタ、複数のサーバクラスタなどの上で実施されてもよい。
【0523】
当業者によって理解されるように、システム1900のコンポーネントは、様々な方法で配置され、必要に応じて、ハードウェア、ファームウェア、及び/又はソフトウェアの如何なる適切な組み合わせで実施されてもよい。例えば、
図19における描写と比較して、システム1900は、より多くの又はより少ない数のクライアントデバイス、3Dジェネレータ、データ構造、ユーザデバイス、及び/又はネットワークを含んでもよい。更に、システム1900は、開示された実施例と一致して、1つ又はそれ以上のプロセスの実行おいて、実行又は支援をする、図示されていない他のコンポーネント又はデバイスを更に含んでもよい。
図19に示される例示的なコンポーネント及び配置は、開示された実施例を限定することを意図するものではない。
【0524】
幾つかの実施例において、クライアントデバイス1910は、ゲームデザイナー、データマネージャー、広告主、広告代理店、及び/又は3Dコンテンツを生成し得る如何なる他の個人又は組織に関連付けられてもよい。クライアントデバイス1910は、開示された実施例と一致して、オペレーションを実行するように構成された1つ又はそれ以上のメモリユニット及び1つ又はそれ以上のプロセッサを含んでもよい。幾つかの実施例において、クライアントデバイス1910は、ハードウェア、ソフトウェア、及び/又はファームウェアモジュールを含んでもよい。クライアントデバイス1910は、モバイルデバイス、タブレット、パーソナルコンピューター、端末、キオスク、サーバー、サーバークラスター、クラウドサービス、ストレージデバイス、開示された実施例による方法を実行するように構成された特殊なデバイスなどを含んでもよい。クライアントデバイス1910は、ユーザ入力を(例えば、インターフェースで)受信し、情報(例えば、画像及び/又はテキスト)を表示し、他のデバイスと通信し、及び/又は、開示された実施例と一致する他の機能を実行するように構成されてもよい。
【0525】
3Dジェネレータ1920は、開示された実施例と一致して、コンピューティングデバイス、コンピュータ、サーバ、サーバクラスタ、複数のサーバクラスタ、及び/又はクラウドサービスを含んでもよい。3Dジェネレータ1920は、開示された実施例と一致して、オペレーションを実行するように構成された1つ又はそれ以上のメモリユニット及び1つ又はそれ以上のプロセッサを含んでもよい。3Dジェネレータ1920は、システム1900の他のコンポーネント及び/又はシステム1900の外部のコンピューティングコンポーネントから(例えば、ネットワーク1940を介して)データを受信し、データを取得(読出)し、及び/又は、それらへデータを送信するように構成されてもよい。
【0526】
データ構造1930は、1つ又はそれ以上のサーバー、1つ又はそれ以上のサーバーのクラスター、又は1つ又はそれ以上のクラウドサービスでホストされてもよい。幾つかの実施例において、データ構造1930は、3Dジェネレータ1920のコンポーネント(図示せず)であってもよい。データ構造1930は、画像、ビデオデータ、画像オブジェクト情報、画像オブジェクト識別子、セマンティックタグ、メタデータ、ラベル、及び/又は如何なる他のデータを格納するように構成された1つ又はそれ以上のデータ構造を含んでもよい。データ構造1930は、データに関する情報を別のデバイス又は別のシステムに提供するように構成されてもよい。データ構造1930は、クラウドベースのデータ構造又はオンプレミスのデータ構造を含んでもよい。
【0527】
ユーザデバイス1950は、VR、AR、及び/又はMRデータを含む、メディアコンテンツフレームを受信及び/又は表示するように構成された如何なるデバイスであってもよい。例えば、ユーザデバイス1950は、モバイルデバイス、スマートフォン、タブレット、コンピュータ、ヘッドセット、ゲーム機、及び/又は如何なる他のユーザデバイスを含んでもよい。幾つかの実施例において、ユーザデバイス1950は、ブロードキャストを受信及び/又は表示するように構成されてもよい。ユーザデバイス1950は、開示された実施例と一致して、オペレーションを実行するように構成された1つ又はそれ以上のメモリユニット及び1つ又はそれ以上のプロセッサを含んでもよい。幾つかの実施例において、ユーザデバイス9は、ハードウェア、ソフトウェア、及び/又はファームウェアモジュールを含んでもよい。クライアントデバイス1910、3Dジェネレータ1920、及び/又はユーザデバイス1950の少なくとも1つは、開示された実施例と一致して、3Dコンテンツを生成する1つ又はそれ以上の方法を実行するように構成されてもよい。
【0528】
クライアントデバイス1910、3Dジェネレータ1920、データ構造1930、及び/又はユーザデバイス1950の1つ又はそれ以上は、ネットワーク1940に接続されてもよい。ネットワーク1940は、パブリックネットワーク又はプライベートネットワークであってもよく、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、メトロポリタンエリアネットワーク、IEEE 1002.11ワイヤレスネットワーク(例えば、「Wi Fi」)、ネットワークのネットワーク(例えば、インターネット)、固定電話ネットワークなどを、限定することなく含む、有線又は無線ネットワークを含んでもよい。ネットワーク1940は、種々のシステムコンポーネントを互いに及び/又は外部システム又はデバイスに接続するため、他のネットワーク(
図19には示されていない)に接続されてもよい。幾つかの実施例において、ネットワーク1940は、安全なネットワークであってもよく、ネットワークにアクセスするためにパスワードを必要としてもよい。本開示は、システム1900の例示的な記述を提供するが、それらの最も広い意味において、本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0529】
図20は、開示された実施例と一致して、3Dコンテンツ作成を自動化する例示的な方法2000を示す。方法2000のステップの順序及び配置は、説明の目的で提供されている。本開示から理解されるように、例えば、方法2000のステップを追加、組み合わせ、削除、及び/又は再配置することによって、変更が方法2000になされてもよい。方法2000のステップは、3Dジェネレータ1920を、限定されることなく含む、システム1900のコンポーネントによって実行されてもよい。例えば、方法2000は、3Dジェネレータ1920によって実行されるステップとして記述されてもよいが、クライアントデバイス1910及び/又はユーザデバイス1950は、方法2000のいずれか又はすべてのステップを実行してもよいことが理解されるべきである。当業者が理解するように、方法2000は、ここにおいて記述される如何なる他の方法と一緒に実行されてもよい。幾つかの実施例において、プロセス2000は、プロセス2100及び/又は2200のステップと共に実行されるかもしれない。プロセス2000は、開示された実施例と一致して、メディアコンテンツの進行中の送信(例えば、シーンのブロードキャスト)を変更するためにリアルタイムで実行されてもよい。
【0530】
ステップ2002で、システム1900は、開示された実施例と一致して、データストレージから受信又は検索(読出)されてもよい、シーンのスキャンを受信してもよい。シーンは、システム1900の別のコンポーネント及び/又はシステム1900の外部の別のコンピューティングコンポーネントから(例えば、ネットワーク1940を介して)受信されてもよい。シーンは、メモリ(例えば、メモリ206)、データ構造(例えば、データ構造1930)、又は如何なる他のコンピューティングコンポーネントから検索(読出)されてもよい。シーンは、開示された実施例と一致して、1つ又はそれ以上のカメラ及び/又はスキャナ(即ち、スキャン)によってキャプチャされた画像に基づいていてもよい。
【0531】
ステップ2004で、システム1900は、開示された実施例と一致して、シーンのスキャンをセグメント化してもよい。上述のように、セグメント化は、シーンの画像要素をシーンオブジェクトに分割(及び/又は分類)することを含んでもよい。幾つかの実施例において、ステップ2004は、メッシュ、点群、又はシーンの他の表現を生成することを含んでもよい。スキャンは、シーン内の各オブジェクトを個別に特定するためにセグメント化されてもよく、そして、より小さなオブジェクトを特定できるようにするためメッシュ内でより高い解像度を使用してもよい。
【0532】
ステップ2006で、システム1900は、開示された実施例と一致して、シーンのスキャンからセグメント化され及び特定されたオブジェクトに対応する画像データを抽出してもよい。画像データは、形状データ、色データ、セマンティック(意味)データ、又は如何なる他のデータに基づいて、スキャンされたシーンの1つ又はそれ以上の特定されたオブジェクトをタグ付けし、ラベル付けし、特定し、又は別様に分類することを含んでもよい。抽出された画像データは、例えば、各セグメント化されたオブジェクトに関連付けられたメッシュ、点群、ボクセルなどの一部を含んでもよい。
【0533】
ステップ2008で、システム1900は、開示された実施例と一致して、ステップ2004で特定されたオブジェクトに対応する補完的なオブジェクトに対するオブジェクトデータ構造1930を検索(サーチ)してもよい。特定されたオブジェクトの抽出された画像データを使用することによって、システム1900は、関連する補完的なオブジェクトを特定するため、データ構造1930内の類似のオブジェクトを検索(サーチ)してもよい。幾つかの実施例において、システム1900は、受信されたシーンと同様のシーンを検索(サーチ)してもよい。オブジェクトデータ構造1930は、3Dシーン、3Dモデル、2Dモデル、画像データ、CADモデル、オブジェクト又は環境による分類、セマンティックタグ、又はオブジェクト又は3Dシーンに関連する如何なる他のデータを含んでもよい。データ構造1930は、セマンティックタグに関連付けられた3Dシーン及び/又は3Dオブジェクトを含んでもよい。システム1900が複数のデータ構造を検索(サーチ)してもよいことが更に考えられる。各検索(サーチ)結果は、システム1900が特定(識別)及び提案をシステム1900のユーザにしてもよい如何なる数の関連する補完的なオブジェクトを含んでもよい。
【0534】
ステップ2010で、システム1900は、開示された実施例と一致して、データ構造1930から補完的なオブジェクトの3D表現を取得してもよい。3D表現は、1つ又はそれ以上のオブジェクトに対応する1つ又はそれ以上のコンピュータ支援設計(CAD)モデルを含んでもよい。システムはまた、2D表現のような少なくとも1つの補完的なオブジェクトの他の表現を取得してもよい。これらの表現は、ハイブリッドシーンにおけるユーザの選択のための補完的なオブジェクトの提案として、システムのユーザに表示されてもよい。補完的なオブジェクトの表現は、ステップ2010でデータ構造1930から表現が取得された後、いつでもユーザに表示されてもよい。
【0535】
ステップ2012で、システム1900は、開示された実施例と一致して、補完的なオブジェクトの3D表現を、最初に特定(識別)されたオブジェクトに対応する部分以外のシーンのスキャンの部分と、組み合わせることによってハイブリッドシーンを生成してもよい。システム1900は、如何なる数の補完的なオブジェクトの如何なる数の3D表現をハイブリッドシーン内に組み合わせるために、方法2000のステップ2008、2010、及び2012を繰り返してもよい。
【0536】
ステップ2014で、システム1900は、開示された実施例と一致して、クライアントデバイス1910又はユーザデバイス1950のようなシステム1900のインターフェース内にハイブリッドシーンを出力してもよい。システム1900のユーザが、異なる補完的オブジェクト又は追加の補完的オブジェクトでハイブリッドシーンを変更することを望む場合、システム1900は、補完的なオブジェクトの新しい3D表現を取得し、及びそれを受信又はハイブリッドシーンと組み合わせるために、方法2000のステップのいずれかをも繰り返してもよい。
【0537】
図21は、本開示の実施例と一致して、3Dコンテンツ作成を自動化する例示的な方法2100を描写する。方法2100のステップの順序及び配置は、例示の目的で提供されている。本開示から理解されるように、例えば、方法2100のステップを追加、組み合わせ、削除、及び/又は再配置することによって、方法2100に変更を加えてもよい。方法2100のステップは、3Dジェネレータ1920を、限定することなく含む、システム1900のコンポーネントによって実行されてもよい。例えば、方法2100は、3Dジェネレータ1920によって実行されるステップとして記述されてもよいが、クライアントデバイス1910及び/又はユーザデバイス1950は、方法2100のいずれか又はすべてのステップを実行してもよいことが理解されるべきである。当業者が理解するように、方法2100は、ここにおいて記述される如何なる他の方法と共に実施されてもよい。幾つかの実施例において、プロセス2100は、プロセス2000及び/又は2200のステップと共に実施されてもよい。プロセス2100は、開示された実施例と一致して、メディアコンテンツの進行中の送信(例えば、シーンのブロードキャスト)を変更するためにリアルタイムで実施されてもよい。
【0538】
ステップ2102で、システム1900は、開示された実施例と一致して、シーンのスキャンを受信してもよい。シーンは2D又は3Dシーンであってもよい。シーンは、システム1900の別のコンポーネント及び/又はシステム1900の外部の別のコンピューティングコンポーネントから(例えば、ネットワーク1940を介して)受信されてもよい。シーンは、メモリ(例えば、メモリ206)、データ構造(例えば、データ構造1930)、又は如何なる他のコンピューティングコンポーネントから検索(読出)されてもよい。シーンは、開示された実施例と一致して、1つ又はそれ以上のカメラ(即ち、スキャン)によってキャプチャされた画像に基づいていてもよい。
【0539】
ステップ2104において、3Dジェネレータシステムは、開示された実施例と一致して、受信されたシーンをセグメント化してもよい。ここにおいて記述されるように、セグメント化は、シーンの画像要素を、テーブル2106、棚2108、チェア2110、及び/又は他のコンポーネント又はオブジェクトのような特定(識別)されたシーンコンポーネント又は特定(識別)されたオブジェクトに分割(即ち、分類)することを含んでもよい。幾つかの実施例において、ステップ2104は、メッシュ、点群、又はシーンの他の表現を生成することを含んでもよい。スキャンは、シーン内の各オブジェクトを個別に特定(識別)するためにセグメント化されてもよく、そして、より小さなオブジェクトを特定(識別)できるようにするため、メッシュ内でより高い解像度を使用してもよい。
【0540】
ステップ2112で、システム1900は、開示された実施例と一致して、画像データを抽出してもよい。画像データは、形状データ、色データ、セマンティック(意味)データ、又は如何なる他のデータに基づいて、スキャンされたシーンの1つ又はそれ以上の特定(識別)されたオブジェクトをタグ付けし、ラベル付けし、特定(識別)し、又は別様に分類することを含んでもよい。
【0541】
ステップ2114で、システム1900は、開示された実施例と一致して、ステップ2112から抽出された画像データに基づいて、オブジェクトデータ構造1930を検索(サーチ)してもよい。特定(識別)されたオブジェクトの抽出された画像データを使用することによって、システム1900は、連する補完的なオブジェクトを特定(識別)するため、データ構造1930内の類似のオブジェクトを検索(サーチ)してもよい。オブジェクトデータ構造1930は、3Dモデル、2Dモデル、画像データ、CADモデル、オブジェクト又は環境による分類、セマンティックタグ、又は、オブジェクト又は3Dシーンに関連する如何なる他のデータを含んでもよい。データ構造1930はまた、セマンティックタグに関連付けられた3Dシーン及び/又は3Dオブジェクトを含んでもよい。システム1900は、抽出された画像データを検索(サーチ)するために複数のデータ構造を検索(サーチ)してもよいことが更に考えられる。システム1900は、如何なる数の検索(サーチ)結果に対して「マッチスコア」(例えば、「0.95」)を生成してもよい。マッチスコアは、データ構造1930において特定(識別)されたオブジェクト(例えば、「チェア」)と検索(サーチ)されたオブジェクト(例えば、「チェア2」)との間の類似度を示してもよい。各検索(サーチ)結果は、システム1900が特定(識別)及び提案をシステム1900のユーザに行ってもよい、如何なる数の関連する補完的なオブジェクト(例えば、「マット、時計」)を含んでもよい。例えば、システム1900は、「ランプ」又は「カップ」をチェア1の補完的なオブジェクトとして特定(識別)してもよい。「マッチスコア」が高いほど、検索(サーチ)されたオブジェクトがチェア2110のような特定(識別)されたオブジェクトに類似している可能性が高くなってもよい。
【0542】
ステップ2118で、システム1900は、開示された実施例と一致して、ユーザ選択を受け取る(受信する)ことができる。ユーザは、ステップ2116のデータ構造検索(サーチ)結果を視聴してもよく、そして、少なくとも1つの補完的なオブジェクトの選択をしてもよい。システム1900のユーザがステップ2116のデータ構造検索(サーチ)結果を視聴するとき、システム1900は、受信したシーン内への挿入のために複数の画像の1つ又はそれ以上をユーザが視聴及び選択できるようにするため、1つの補完的なオブジェクトの複数の画像をユーザに表示するように構成されてもよい。他の実施例において、システム1900は、受信シーン内に挿入するための1つ又はそれ以上の補完的なオブジェクトをユーザが視聴及び選択できるように、複数の補完的なオブジェクトの複数の画像のインデックスを表示するように構成されてもよい。
【0543】
ステップ2120で、システム1900は、開示された実施例と一致して、データ構造1930から、補完的なオブジェクト又はユーザ選択された補完的なオブジェクトのユーザ選択された画像の3D表現を取得してもよい。3D表現は、1つ又はそれ以上の補完的なオブジェクトに対応する1つ又はそれ以上のコンピュータ支援設計(CAD)モデルを含んでもよい。システム1900はまた、2D表現のような少なくとも1つの補完的なオブジェクトの他の表現を取得してもよい。
【0544】
ステップ2122において、システム1900は、開示された実施例と一致して、3D表現を、特定されたオブジェクト(例えば、「チェア」2110)を含まないシーンのスキャンの部分と組み合わせることによって、ハイブリッドシーンを生成してもよい。このようにして、システム1900は、1つ又はそれ以上の追加の補完的なオブジェクトを生成し、ハイブリッドシーン内に挿入してもよい。システム1900は、如何なる数の補完的なオブジェクトの如何なる数の3D表現をハイブリッドシーンと組み合わせるために、方法2100におけるステップのいずれかを繰り返してもよいことが更に考えられる。
【0545】
ステップ2124で、システム1900は、システム1900のインターフェースを介して表示するためハイブリッドシーンを出力してもよい。例えば、システム1900は、開示された実施例と一致して、クライアントデバイス1910又はユーザデバイス1950上に表示するためハイブリッドシーンを出力してもよい。更に、ステップ2124でのハイブリッドシーンの出力は、最終表示用であってもよく、又は、補完的なオブジェクトの新しい3D表現を得るため方法2100のステップのいずれかを繰り返すため追加のユーザ入力用に表示されてもよいことが考えられる。
【0546】
図22は、本開示の実施例と一致して、少なくとも1つの補完的なオブジェクトを特定する例示的な方法2200を描写する。方法2200は、セマンティックタグを使用して、特定されたオブジェクトの補完的なオブジェクトを特定する別の実施例を図解する。方法2200のステップの順序及び配置は、例示の目的で提供されている。本開示から理解されるように、例えば、方法2200のステップを追加、組み合わせ、削除、及び/又は再配置することによって、方法2200に変更を加えてもよい。方法2200のステップは、3Dジェネレータ1920を、限定することなく含む、システム1900のコンポーネントによって実行されてもよい。例えば、方法2200は、3Dジェネレータ1920によって実行されるステップとして記述されてもよいが、クライアントデバイス1910及び/又はユーザデバイス1950は、方法2200のいずれか又はすべてのステップを実行してもよいことが理解されるべきである。当業者が理解するように、方法2200は、ここにおいて記述される如何なる他の方法と共に実行されてもよい。幾つかの実施例において、プロセス2200は、プロセス2000及び/又は2100のステップと共に実行されてもよい。プロセス2200は、開示された実施例と一致して、メディアコンテンツの進行中の送信(例えば、シーンのブロードキャスト)を変更するためにリアルタイムで実行されてもよい。
【0547】
図22において、システム1900は、シーンのスキャン内においてチェア2110のような特定されたオブジェクトに関連付けるために、特定されたオブジェクトのセマンティック(意味)タグ2202を生成してもよい。特定されたオブジェクトのセマンティックタグ2202は、セマンティックデータ、形状データ、色データ、又は如何なる他のデータのような特定されたオブジェクトに対応する如何なる抽出された画像データを含んでもよい。この例示的な実施例において、特定されたオブジェクトのセマンティックタグ2202は、分類2204、空間セマンティックグラフ2206、及び環境2208を含む。システム1900は、特定されたオブジェクトが「チェア」のクラスに属することを特定及び分類するために、シーンのスキャンをセグメント化してもよい。更に、システム1900はまた、シーンのスキャン内で特定された様々なオブジェクト間の空間的関係を含む空間セマンティックグラフ2206を生成してもよい。空間セマンティックグラフ2206は、各特定されたオブジェクトのための単一の空間的関係、又は複数の空間的関係を含んでもよい。システム1900は、空間セマンティックグラフ2206を生成してもよく、又はシステム1900のユーザからの入力として空間セマンティックグラフ2206を受け取っても(受信しても)よい。更に、空間セマンティックグラフは、シーン内のオブジェクトのリスト(例えば、「チェア、テーブル、棚」)を含んでもよい。分類2204及び空間セマンティックグラフ2206に基づいて、システム1900は、「オフィス」又は「リビングルーム」のような特定されたオブジェクトの環境2208を推測するように構成されてもよい。環境2208はまた、システム1900のユーザからの入力として受け取ら(受信さ)れてもよい。
【0548】
幾つかの実施例において、データ構造1930は、データ構造オブジェクトのセマンティックタグ2210に関連付けられた3Dシーン及びオブジェクトを含んでもよい。データ構造オブジェクトのセマンティックタグ2210は、同様に、セマンティックデータ、形状データ、色データ、又は如何なる他のデータを含んでもよい。
図22における例示的な実施例は、分類2212、環境2214、及び補完的なオブジェクト2216を備えるデータ構造オブジェクトのセマンティックタグ2210を図解している。システム1900は、特定されたオブジェクトのセマンティックタグ2202をデータ構造オブジェクトのセマンティックタグ2210と比較してもよい。例えば、システム1900は、特定されたオブジェクトが特定されたオブジェクトのセマンティック(意味)タグ2202内の「オフィス」「チェア」であると推論した場合、「オフィス」環境2214内の「チェア」の分類2212を検索(サーチ)してもよい。この比較において、システム1900は、典型的なオフィスチェアに関連付けられた補完的なオブジェクト2216を特定してもよい。特定されたオブジェクトのセマンティックタグ2202とデータ構造オブジェクトのセマンティックタグ2210との間の比較に基づいて、システム1900は、ユーザ選択のために、提案された補完的なオブジェクト2218(例えば、「ファイルキャビネット」、「電話」、又は「時計」)のフォームにおいて追加の補完的なオブジェクト2216を出力してもよい。
【0549】
提案された補完的なオブジェクト2218は、開示された実施例と一致して、システム1900のユーザに表示されてもよい。例えば、提案された補完的なオブジェクト2218は、単一の提案された補完的なオブジェクト2218又は複数の提案された補完的なオブジェクト2218を表示してもよい。システム1900はまた、複数の提案された補完的なオブジェクト2218の複数の画像のインデックスを表示してもよい。システム1900は、方法2000及び方法2100と一致して、データ構造1930から、ユーザが選択した提案された補完的なオブジェクト2218の3D表現を取得してもよい。
【0550】
本開示の側面(アスペクト)は、仮想現実(VR)、拡張現実(AR)、及び複合現実(MR)の技術及びアプリケーションにおける使用のためのコンピュータで実施される広告入札システムに関する。本開示は、リアルタイムのマーケット広告インベントリ又はリアルタイムで生成された供給に、リアルタイムの消費者の意図をマッチングすること、及び、広告の正確で効果的なターゲティングを配信するためにAR、VR、及びMR技術及びアプリケーション(従来の2Dアプリケーションと同様に)内で広告することの新しい種類のものに対するソルーションを提供する。本開示は、AR、VR、及びMR技術及びアプリケーションの例を提供するが、それらの最も広い意味において、本開示の側面(アスペクト)は、特定の例に限定されないことに留意されたい。むしろ、前述の原理は、他のコンピュータ化された現実の技術及びアプリケーション、並びに従来の2Dアプリケーションにも適用されてもよいことが考えられる。
【0551】
開示されたシステムは、オフィスシーン、スポーツクラブ、ビーチなど、シーンの「環境」を理解するように構成されてもよい。シーンは、例えば、仮想現実環境、拡張現実環境、複合現実環境、3Dビデオゲーム環境、3D映画、オンライン広告、3Dスキャン、3D静止画又はビデオカメラ画像又は画像、2Dメディアなどに関連付けられたブロードキャストシーンであってもよい。
【0552】
開示されたシステムは、例えば、空間セマンティックグラフによって、シーン内で検出されたオブジェクト間の空間的関係を記述してもよい。各シーンに対して、システムは空間セマンティックグラフを生成してもよい。システムは、生成されたグラフを、データ構造内に格納されたシーンの空間セマンティックグラフと比較してもよい。本開示の実施例と一致して、システムは、上記で論じられたオブジェクト及び/又は画像データを比較するための1つ又はそれ以上の技術を使用して比較を実行してもよい。システムは、ブロードキャストビデオ内のシーンのものと類似する空間セマンティックグラフを有するデータ構造から1つ又はそれ以上のシーンを特定してもよい。システムはまた、データ構造内の特定されたシーンに基づいて、ブロードキャストシーン(例えば、シーンに関連付けられた環境)に関する情報を推定してもよい。例えば、データ構造において、シーンがセマンティック情報でタグ付けされていると仮定することができる。
【0553】
本開示はまた、一般に、2D又は3Dコンテンツを既存の2D又は3Dブロードキャストシーンに挿入するための入札に関する。この開示は、2D及び3Dの実施に等しく適用することを意図しているが、議論を容易にするために、3Dの実施は、以下でしばしば言及される。3Dの例への言及は、この開示を限定するものとして解釈されるべきではない。
【0554】
入札は、コンテンツを挿入することと引き換えに価値のあるもの(例えば、お金)を提供することを含む。入札は、入札自体の側面(アスペクト)を規定することを含んでもよい(例えば、入札が受け入れられるオファー期間)。入札は、タイミング、対象オーディエンス、期間、金銭的価値、又は挿入されたコンテンツの如何なる他の側面(アスペクト)のような挿入されたコンテンツの側面(アスペクト)を規定することを含んでもよい。幾つかの実施例において、入札は、オブジェクト(例えば、車、ボトル、チェア、ドア)、シーンタイプ(例えば、オフィス、リビングルーム、アートギャラリー)、時間(例えば、午後1時から午後2時の間)又は/及びターゲット化される特定の場所(例えば、ニューヨーク市、5番街)、又は、ユーザのクラス(即ち、視聴者のクラス)を含んでもよい。
【0555】
本実施例と一致して、入札はリアルタイムであってもよい。例えば、入札は、オンラインオーディエンスへの送信中又は他のブロードキャスト中に発生するかもしれない。開示されたシステムは、シーン分析又はシーン内のオブジェクトの分析に基づいて、シーン内のどのオブジェクト、シーン、又は要素がインベントリ又はリアルタイムのマーケット供給とマッチするかを決定するように構成されてもよい。開示された実施例と一致して、マッチングは、シーン、インベントリ、又はリアルタイムのマーケット供給の複数の抽出されたデータ又は特徴に基づいて実行されてもよい。
【0556】
本開示はまた、広告に関連してもよい。システムは、シーン環境が彼らの広告戦略と互換性があるかどうかを決定するために、シーンの環境を広告主に渡してもよい。広告は、広い観点から、媒体を介して視聴者に情報を表示する行為を含むが、このことは、特定の媒体を介して特定の視聴者に特定の情報を表示することを含んでもよい。ディスプレイバナー、画像、ビデオ、3Dモデル、3Dフィルター、オーディオ、又はテキストのクリック可能な広告は、特定のオーディエンスセグメントをターゲットにする、又は特定のユーザ向けに高度にパーソナライズされたすべてのタイプの広告ユニットである。広告業界は、ビッグデータ分析、ユーザーインタラクション分析、及び種々のタイプの機械学習最適化手法を組み込むことのような種々の分析手法を通じて、ターゲット広告の使用及び特定のオーディエンス向けの特定のメディアの研究において多大な労力をつぎ込むかもしれない。
【0557】
本開示は、AR、VR、及びMR技術を放送(ブロードキャスト)することに関連してもよい。本開示で使用されるブロードキャストは、ネットワークを介した複数の個人への送信を含んでもよい。例えば、放送(ブロードキャスト)は、マルチプレーヤーゲームをプレイする多くのプレーヤー又はスポーツイベントを見ている多くの視聴者への送信を含んでもよい。一般に、放送(ブロードキャスト)は、実シーン又は仮想シーンの同じ又は類似の表示(ビュー)にさらされた視聴者への送信を含んでもよい。ブロードキャストは、インターネット、ケーブルテレビ、又は、ターゲットユーザー若しくは多くのユーザへの同時のデータ送信のための如何なる他のメディアを介する送信を含んでもよい。
【0558】
幾つかの実施例において、広告主オブジェクトは、ブロードキャストを受信するすべての個々人への送信に挿入されてもよい。幾つかの実施例において、広告主オブジェクトは、ブロードキャストを受信する個々人のサブセットへの送信に挿入されてもよい。例えば、広告主オブジェクトは、視聴者の年齢や性別のような特性、視聴者の好み、以前に消費されたコンテンツの視聴者の履歴、時間帯・国・又は言語等のような視聴者の環境の特性に基づいて、視聴者の送信に挿入されたり、視聴者の送信から除外されたりしてもよい。
【0559】
以下の記述において、本開示のより完全な理解を提供するために、様々な特定の詳細が与えられている。しかしながら、当業者にとって、これらの詳細の1つ又はそれ以上がなくても、本開示が実施され得ることは明らかであろう。
【0560】
本開示は、特定のオーディエンス又は特定のユーザに広告することをターゲットとするシステム及び方法を提供することを意図している。このアプリケーションは、AR、MR、又はVRアプリケーションを搭載したデバイスを介して消費される環境下で使用されてもよい。この開示により、AR、MR、VR、又は2Dで消費されるシーン内で広告されるかもしれない与えられたオブジェクト(1又は複数)に価値を関連付けるリアルタイム入札システムと、観察されたシーン又はシーンの一部をマッチさせる新しい方法が可能となる。
【0561】
入札システムにより、広告主又は広告エージェントは、既存の2D又は3Dブロードキャストシーン内で、与えられたオブジェクトに提案された価値で入札又はその価値を関連付けることができる。価値の関連付けは、時間、場所、シーンの記述などのような特定のフィルターを使用して又は使用せずに達成されてもよい。入札システムは、特定のオブジェクト又はシーンの一部を広告主又は広告エージェントにプッシュしてよいが、広告ユニット(例えば、バナー、画像、ビデオ、又は3Dモデル)が関連付けられ得るようにし、及び、提案された価値をそれらの特定の広告ユニットに関連付けるようにしてもよい。入札システム及び広告主の間の相互作用は、自動化された方法で行われてもよく、広告主は、入札インターフェースを介して、入札パラメータと共にプッシュする既存のコンテンツを確立してもよい。その後、入札の機会が生じた場合、入札インターフェースを介して入力されたデータに自動的にアクセスし、入札を自動的に生成して、進行中のブロードキャスト又は予期されるブロードキャストにコンテンツをリアルタイムで挿入できるようにしてもよい。
【0562】
幾つかの実施例において、広告主又は広告エージェントは、広告ユニットを与えられた1つ又は複数のオブジェクトに関連付けてもよい。例えば、自動車製造業者は、特定のバナー、3Dモデル、画像、又はビデオを「スポーツカー」として特定されるオブジェクトに関連付けてもよい。製造業者がオブジェクト「スポーツカー」に割り当てる値(価値)に基づいて、マッチングシステムは、広告がいつ、どこで、どのユーザーに表示されるかを決定してもよい(即ち、マッチングシステムは、広告を表示するためのシーン、オブジェクト、時間、又は場所を決定してもよい)。
【0563】
典型的な使用ケースは、AR又はMR環境下で現実のスポーツカーに没入型の方法でバナーを追加することを含んでもよい。別の使用ケースは、VRの消費されるシーン内のデジタル化されたスポーツカーモデルにバナーを追加することを含んでもよい。更に別の使用ケースは、AR又はMR環境を含んでもよく、AR又はMR環境下の現実のスポーツカーを宣伝されるスポーツカーに置き換えることを含んでもよく、そして、AR又はMR環境を経験しているユーザは、現実のスポーツカーの代わりに宣伝されたスポーツカーを見るであろう。同様のアプリケーションは、VRシーン内のオリジナルなモデルを広告されたモデルに置き換えることを含んでもよい。
【0564】
本開示の幾つかの実施例のためのVR構築されたシーンにおいて、シーンの設計者又は創作者は、どのオブジェクトが置換又は広告ユニットの埋め込みに適している候補かを事前に決定してもよい。幾つかの例示的な実施例において、実際のオブジェクトの所有者、コンテンツプロバイダー、又は如何なる他の人・機械・又は組織は、どのオブジェクトをAR又はMR環境下で広告(アドバタイズ)されたオブジェクトに置き換えてもよいか、又はどのオブジェクトに広告(アドバタイズメント)を埋め込んでもよいかを事前に規定してもよい。例えば、現実の世界の店舗のAR又はMR環境下において、店舗又は製品の製造業者は、AR又はMRベースの広告を埋め込んで、製品、その価格、又は使用法を記述するコンテンツを追加できる。置換の候補として特定されたこれらの所定のオブジェクトは、タグをそれらのオブジェクトに関連付けることによってタグ付けされてもよい。
【0565】
入札システムは、どの広告ユニットをAR/MR/VRの消費者シーン内に組み込むべきかに関する種々のパラメータを選択してもよい。このようなパラメータは、限られることなく、現実のオブジェクト又はデジタル化されたオブジェクトと広告(アドバタイズ)されたオブジェクトとの類似性;広告主又は広告エージェントによって割り当てられたようなオブジェクトに関連付けられた値(価値);又は、ユーザが広告ユニット、時間帯(タイムゾーン)、場所などと相互作用する可能性 を含んでもよい。
【0566】
本開示の種々の例示的な実施例によれば、新規のシーン拡張及び再構成の概念は、広告主が3Dブロードキャストシーン内のオブジェクトに入札することを可能にしてもよく、及び、その後に製品を3Dブロードキャストシーン内に挿入することを可能にしてもよい。例えば、仮想ゲーム環境に関連して、自動車製造業者は車の形状に入札できてもよく、落札者の車はゲーム環境内の3Dブロードキャストシーン内に表示されるであろう。同様に、飲料製造業者がボトルに入札することを許可されてもよく、その後、落札者の飲料ボトルが3Dブロードキャストシーン内に現れてもよい。
【0567】
本開示に基づくシステムの実施の例は以下の通りである。この例において、ユーザは、VRヘッドセットを使用してゲームをプレイしてもよく、そして、ゲーム内で、ユーザは、ゲームによって生成されたオフィスチェア(即ち、「ゲームチェア」)を備えた部屋に入ってもよい。この例において、開示された広告システムは、ゲームチェアを、ブランドのチェアのような広告主によって提供された別のチェアに置き換えてもよい。もちろん、どのオブジェクトも交換可能である。通常、このようなオブジェクトは、如何なる消費財を含んでもよい。ただし、オブジェクトは人を含んでもよい。個人の宣伝(パブリシティ)を求める広告主(例えば、政治家又はメディアの人物)は、コンテンツ内に人間の画像を挿入するために入札できてもよい。
【0568】
1つの実施例において、ゲームは、環境の3D表現を使用してゲーム開発者によってプログラムされてもよい。開示されたシステムは、ゲーム内のユーザに見える環境の一部を解析してもよい。開示されたシステムは、例えば、可視環境をチェア、テーブル、ベッドのような別個の検出されたオブジェクトに分割するため、シーンセグメンテーションを使用することにより、オブジェクトを検出(即ち、認識)してもよい。本開示の実施例と一致して、セグメント化は、追加的又は代替的に、上記で議論されたセグメント化のための技術を使用して実行されてもよい。セグメント化は、オブジェクトの面、表面、又はそれ自体がオブジェクトであるコンポーネントのような、シーン又はオブジェクトのコンポーネントを特定することを含んでもよい(例えば、ホイールを車のオブジェクトコンポーネントとして特定すること)。例えば、システムは、機械学習モデルを含むオブジェクト認識モデルを使用してもよい。開示されたシステムはまた、1つ又はそれ以上の認識されたオブジェクトを、広告主からの2D又は3D画像コンテンツで置き換えるための適切な候補としてタグ付けしてもよい。
【0569】
開示されたシステムは、ブロードキャストシーン内のタグ付けされたオブジェクトを置き換えるのに適した2D又は3Dコンテンツに対して、1つ又はそれ以上の広告主又は広告エージェントから入札を求めてもよい。開示されたシステムは、タグ付けされたオブジェクトに関連付けられていると特定された入札(例えば、「オフィスチェア」というテキストを含む入札)を受け取り、及び比較してもよい。システムは、その比較に基づいて最大入札(例えば、最高のドル値での入札)を決定し、その入札を落札として選択してもよい。価格に加えて、システムはシーンとの互換性も考慮に入れてもよい。例えば、チェアが必要なシーン内で最高入札額がスツールの製造業者からのものである場合、システムは、スツールがシーンに適していないと決定し、そして、互換性のあるチェアで次に高い入札を選択してもよい。システムは、落札者に関連付けられた広告主又は広告エージェントから落札者画像データを受け取ってもよい。落札者画像データは、ブロードキャストシーン内に挿入するために広告主又は広告エージェントによって提供される2D又は3D画像であってもよい。従って、開示されたシステムは、シーンからタグ付けされたオブジェクトを抽出してもよく、2D又は3Dの落札者画像データを、抽出されたタグ付けされたオブジェクトと組み合わせてもよい。システムは、落札者画像データと抽出されたタグ付きオブジェクトとの組み合わせのハイブリッドレンダリングをブロードキャストシーン内に挿入してもよい。開示されたシステムはまた、ハイブリッドレンダリングを3Dブロードキャストシーンと可能な限り自然にマッチさせるため、方向、拡大縮小(スケーリング)、サイズ、照明、色、テクスチャ、及び/又は他の画像特性を調整するため、受信された2D又は3D落札者画像データを変更してもよい。
【0570】
幾つかの実施例において、開示されたシステムは、ブロードキャストに先立って2D又は3Dコンテンツを1つ又はそれ以上の広告主に送信してもよい。1人又はそれ以上の広告主は、コンテンツを事前に視聴(プレビュー)し、広告主が広告主自身の画像を挿入することに興味を有するかもしれない1つ又はそれ以上のオブジェクト及び/又はシーンを特定することができてもよい。開示されたシステムは、広告主が、1つ又はそれ以上の広告主に関連付けられたインターフェース(例えば、1つ又はそれ以上のクライアントデバイス1910)を使用することができるようにしてもよく、そして、広告主にとって関心のあるオブジェクトを選択することができ、及び/又はオブジェクトへの入札を可能にするルールを設定することことができるようにしてもよい。幾つかの実施例において、インターフェースは、グラフィカルユーザーインターフェースであってもよいが、これは、1つ又はそれ以上の広告主が、広告主が彼ら自身の画像の配置のために入札することに興味を有するかもしれないオブジェクト及び/又はシーンを特定することを可能にするようにしてもよい。例えば、ユーザは、シーンを事前に視聴(プレビュー)し、ユーザがユーザ自身の画像/オブジェクトで置き換えることを望む1つ又はそれ以上のオブジェクトを選択することを可能にしてあってもよい。ユーザーインターフェースはまた、広告主が広告画像の配置に関するルールを特定することを可能にしてもよい。例えば、広告主は、シーンに特定の他のオブジェクト又は人が含まれているときはいつでも;視聴者のプロフィールが特定の基準にマッチするときはいつでも;ビューが特定の購買層領域にあるときはいつでも;ブロードキャストが特定の時間間隔で生成するときはいつでも、或いは、如何なる他の基準又はこれまで述べてきた基準同志の組合せ若しくは興味のある他の基準との組み合わせで、オブジェクトを挿入したいと努めている主体に、オブジェクトを表示するように指定してもよい。他のルールは、ブロードキャストシーン内に広告画像の配置のための時(とき)又は期間を指定することを含んでもよい。更に他のルールは、ブロードキャストシーンを視聴するユーザの特性(例えば、年齢、人種、民族、購買層、政党など)に基づいて、ブロードキャストシーン内に表示されるべき広告画像のタイプを指定してもよく、又は特定の画像を特定してもよい。
【0571】
開示されたシステムはまた、広告主が事前視聴段階(プレビュー・フェーズ)中に入札することを可能にしてもよい。広告主は、開示されたシステムによって提供されるユーザインターフェースを使用して、入札を行うことができてよく、又は入札を行うためのルールを指定することができてもよい。例えば、入札ルールは、ブロードキャストの時間及び/又はブロードキャストシーンを視聴するユーザの特性に基づいて、特定の価格、特定の画像、表示期間などを指定してもよい。ブロードキャストシーンの視聴者への送信中に、開示されたシステムは、以前に指定された入札ルールに基づいて、1人又はそれ以上のユーザ/広告主のために自動的に入札を行ってもよい。開示されたシステムは、入札を評価し、そして、1人又はそれ以上のユーザ/広告主(落札広告主)から1つ又はそれ以上の落札を選択してもよい。更に、開示されたシステムは、ブロードキャストシーン内への挿入のため落札者画像データを特定するために、落札者広告主によって以前に指定されたルールを評価してもよい。開示されたシステムはまた、落札者画像データをブロードキャストシーンとリアルタイムで組み合わせてもよく、1人又はそれ以上のユーザにブロードキャストされているシーン内の落札者広告主の画像を含むシーンを提示してもよい。
【0572】
オペレーションの3つの代替の例は、1)事前視聴(プレビュー)のためにシーンを提示されるユーザ(例えば、広告主の代表)を含んでもよく、そして、ユーザが、後に入札するオブジェクトを事前に選択することができるようにしてもよい。このような選択は、入札が落札された場合、シーン内に挿入されるであろう置換オブジェクトを事前規定することも含まれてもよい。次に、リアルタイムで、ユーザの入札が他の入札と競合し、落札者の置換オブジェクトがリアルタイムで、上記の最初の例と2)類似するシーン内に挿入されるであろう;しかし、ブロードキャストよりも前に生じる入札で、落札者が非リアルタイムで選択され;及び3)ユーザが参加することに興味を持っている機会のパラメータを規定すること及び/又はルールを選択することをユーザができるインターフェースをユーザに提示する。リアルタイムブロードキャスト中又はその前に、ルール及び/又は事前定義されたパラメータが十分に満たされている場合、ユーザは入札プロセスに自動的に介入されるかもしれないが、その結果、ユーザのオブジェクトがシーンに挿入されるかもしれない。上記は、開示された実施例がどのように動作(オペレーション)し得るかについての非限定的な意味を提供する単なる幾つかの例である。
【0573】
本開示によれば、3Dコンテンツを3Dブロードキャストシーンに追加するためのコンピュータで実施されるシステムが開示される。開示されるシステムは、複数のクライアントデバイス上で、VR、AR、又はMR環境を含む3Dブロードキャストシーンを生成及び/又は表示することができるシステムを含んでもよい。例えば、開示されたシステムは、VRヘッドセット上でプレイされるソフトウェアベースのゲームのようなVRヘッドセット上で視聴可能なコンテンツを生成するシステムを含んでもよい。他の例示的な開示されたシステムは、部屋のカメラビューに要素を追加するMR体験を備えるタブレット又は電話と;現実の環境に追加される追加の要素で、視聴される部屋の3D体験を表すMRヘッドセットと;又は、現実のシーン又は仮想のシーンと相互作用するユーザによって使用される如何なる他の装置と、互換性のあるコンテンツを生成することができるか又は含むかもしれない。
【0574】
当業者が理解するように、VRヘッドセットは、本開示の実施例がどのように実施され得るかの一例にすぎない。この例では、ユーザに事前視聴(プレビュー)される場合、オブジェクト(例えば、オフィスチェア・オブジェクト)の表現は、オブジェクトが交換可能であるというインジケータを伴うことができる。例えば、事前視聴(プレビュー)のオフィスチェアは、視覚的インジケータ(強調表示、アウトラインなど)又はセマンティックインジケータ(例えば、タグ「オフィスチェア」を示すテキスト)を含んでもよい。これにより、ユーザ(例えば、広告主)が入札可能なオブジェクトをすばやく特定できるようになってもよい。
【0575】
開示された実施例と一致して、3Dブロードキャストシーンは、ユーザによって見られる、又は見られることを意図されるような画像を含んでもよい。3Dブロードキャストシーンは、例えば、ゲーム開発者によって設計されたゲーム環境の表現を含んでもよい。3Dブロードキャストシーンは、例えば、電話、コンピュータ画面、MRヘッドセット、又は他のデバイスを使用して見られるような画像を含んでもよい。幾つかの実施例において、3Dブロードキャストシーンは、現実のオブジェクト及び仮想のオブジェクト(即ち、AR/MR)の画像を含んでもよい。3Dブロードキャストシーンは、年齢又は興味のような視聴者(例えば、ゲームをプレイするユーザ)の特性を含む情報を含んでもよい。日付、時刻、又は場所のような特性は、3Dブロードキャストシーン内に含まれてもよい。幾つかの実施例において、体験の特性は、ゲームを体験しているユーザの視線(ビュー)の角速度、画像データ(例えば、RGBデータ)のような3Dブロードキャストシーン及び/又は深度カメラデータを含んでもよい。3Dブロードキャストシーンはまた、ユーザデバイスの位置、並進及び回転、及び/又はユーザデバイスの速度及び加速度を抽出するために、ユーザデバイスに埋め込まれた加速度計データ、ジャイロスコープデータ、又はGPSデータのようなセンサデータを含んでもよい。特定のヘッドマウントデバイスのような幾つかのデバイスは、目の動きをキャプチャし、及びユーザの視線を追跡して、特定のタイミングでシーンのどの要素がユーザにより関連しているのかを決定する。シーン内に挿入されたオブジェクトの配置は、ユーザの視線を考慮に入れてもよく、又はユーザの視線に基づいて最適化されてもよい。
【0576】
3Dブロードキャストシーンは、静止画像、一連のビデオフレーム、一連の仮想3Dブロードキャストシーン、又はホログラムの少なくとも1つを含んでもよい。静止画像は、如何なる画像フォーマット(.JPGなど)の画像を含んでもよい。一連のビデオフレームは、3Dの一連のフレームが含まれてもよいが、これらのフレームは、ある速度で視聴者に提供されると、動きのように見える。一連のビデオフレームは、.MP4のような既知のビデオフォーマット又は如何なる他の既知のフォーマットでフォーマットされてもよい。一連の仮想3Dブロードキャストシーンは、VR、MR、又はARコンテキストにおける提示のために構成された一連の3Dビデオフレーム、又は開示された実施例と一致する一連の3Dブロードキャストシーンを含んでもよい。ホログラムは、結果として生じる投影された光が3Dオブジェクトの外観を有するように、投影用に構成されたデータを含んでもよい。例えば、ホログラムは、分割コヒーレント放射線ビームを放出することができるデバイス(例えば、レーザー)に提供されると、分割コヒーレント放射線ビームによる干渉のパターンから生じる3次元画像を作成するデータを含んでもよい。
【0577】
幾つかの実施例において、開示されたシステムは、少なくとも1つのプロセッサを含んでもよい。プロセッサ及びメモリの例示的な説明は、上記で、また
図2を参照して記述されている。幾つかの実施例において、システムのプロセッサは、複数のクライアントデバイス上に少なくとも1つのブロードキャスト3Dシーンを表示するように構成されてもよい。ブロードキャストシーンを表示することは、1つ又はそれ以上の表示装置上で画像(静止画、ビデオ、ホログラフィックなど)を表示することを含んでもよく、この表示装置は、例えば、VRヘッドセット、電話又はタブレット、MRヘッドセット、又は他のタイプの表示装置を含んでもよい。表示装置の代替及び追加の記述もまた、
図2を参照してより詳細に提供される。本開示は、表示装置及び3Dブロードキャストシーンを表示することの例を提供するが、それらの最も広い意味において本開示の側面(アスペクト)は、特定の例に限定されないことに留意されたい。
【0578】
幾つかの実施例において、システムのプロセッサは、3Dブロードキャストシーン内の少なくとも1つのオブジェクトに対応する少なくとも1つのタグをクライアントデバイス上に表示するように構成されてもよい。クライアントデバイスは、電話、タブレット、モバイルデバイス、コンピュータ、サーバー、サーバーのクラスター、クラウドコンピューティングサービス、及び/又は如何なる他のクライアントデバイスを含んでもよい。幾つかの実施例において、クライアントデバイスは、広告システム(即ち、広告主、広告代理店、エージェントなどによって管理されるシステム)を含んでもよく、又はそのコンポーネントであってもよい。クライアントデバイスは、開示された実施例と一致して、ネットワーク(例えば、ネットワーク1940)を介して開示されたシステムに接続してもよい。幾つかの実施例において、クライアントデバイスは、短距離無線技術(例えば、BLUETOOTH(登録商標)、WI-FI)又は有線接続(例えば、USBケーブル)を介して開示されたシステムに接続してもよい。
【0579】
タグは、オブジェクトに関する外部情報を追加するように構成された画像要素であってもよいが、ここで、オブジェクトは、3Dオブジェクト又は3Dブロードキャストシーンに含まれる2D画像であってもよい。より一般的には、タグは、如何なる情報の如何なるタイプのエンコーディングを含んでもよい。幾つかの実施例において、3Dブロードキャストシーン内の少なくとも1つのオブジェクトに対応するタグは、色の変化、オブジェクトのアウトライン、又は各オブジェクトに関連付けられた別の視覚的インジケータ、又はオブジェクトに関連付けられたテキストを含んでもよい。タグは、アルゴリズムによって生成されてもよい。例えば、広告主は、オブジェクトを記述するテキストを提供してもよく、テキスト解析システムは、少なくとも1つのオブジェクトに対応するタグにおける使用のために、テキストから関連するキーワードを抽出してもよい。従って、例えば、タグは単語又は単語のリストであってもよい。例えば、回転椅子(チェア)は、「回転」、「チェア」、「回転椅子(チェア)」、「移動椅子(モバイルチェア)」などの1つ又はそれ以上によってタグ付けされてもよい。タグは、3Dブロードキャストシーン内の特定のオブジェクトが、シーン内のそのオブジェクトを置き換えるための入札のために開かれていることを合図で知らせることができるインジケータを含んでもよい。例えば、テーブル及びテーブル上のラップトップがある部屋において、システムは広告主に「ラップトップ」というタグを提供してもよいが、広告主は、次に、3Dブロードキャストシーン内のラップトップオブジェクトを異なるラップトップ又は別のコンピューティングデバイスの画像に置き換えることに入札するかどうかを決定してもよい。
【0580】
幾つかの側面(アスペクト)において、タグは、3Dブロードキャストシーン内の既存のオブジェクトに添付されなくてもよいが、シーンに追加されるかもしれないオブジェクトを表してもよい。例えば、シーン内のテーブル上のラップトップは、例えば、タグ「マウス」をラップトップオブジェクトに関連付けることによって、広告主にタグ「マウス」を提案するシステムへと導くかもしれない。広告主は、システムによって提案された場所、例えばラップトップオブジェクトの近くで、シーンにマウスを追加することについて入札してもよい。シーン内の空のテーブル又は他の占有されていない空間(スペース)は、事前規定された又は未規定のオブジェクトの配置のために利用可能であってもよい。本開示はタグの例を提供するが、タグは、オブジェクトに関連付け可能な如何なるインジケータであってもよい。
【0581】
幾つかの実施例において、少なくとも1つのプロセッサは、少なくとも1つのタグ付けされたオブジェクトについて少なくとも1つの入札を行うための命令をクライアントデバイス上に表示するように構成されてもよい。少なくとも1つの入札を行うための命令は、タグ付けされたオブジェクト又はその周囲の置換又は変更のいずれかについて入札することにおいてユーザをガイドするテキスト又はソフトウェアプログラムを含んでもよい。命令は、クライアントデバイスを介して入札を入力することにおいてユーザをガイドしてもよい。命令は、入札を行うためのオークションシステムに組み込まれてもよい。例えば、インターフェースは、価格又は1セットの価格を送受信するように構成されてもよい。
【0582】
入札を行うことは、値(価値)をオブジェクト画像識別子に関連付ける入力を提供することを含んでもよい。入札は、期間(例えば、特定の長さの時間の広告を掲載するための入札)、ユーザ数(例えば、1000人のゲームプレーヤー)、レート(表示される単位時間あたり又はブロードキャストを受信する人あたりのコスト)、又は如何なる他の情報を含んでもよい。1つの例として、クライアントデバイス(例えば、広告主によって操作(オペレーション)されるクライアントデバイス)は、ブロードキャスト受信者ごとに0.10ドルの入札を行ってもよい。当業者が理解するように、入札の他の例が可能である。入札は、以前に入札した入札の更新を含んでもよい。入札を行うことは、開示されたシステムの1つ又はそれ以上のコンポーネントに入札を送信することを含んでもよい。送信することは、TCP/IPネットワークのような如何なるネットワークを介した送信することをも含んでもよい。
【0583】
幾つかの実施例において、クライアントデバイスは、インターフェースを介して情報を送受信するように構成されてもよい。インターフェースは、ディスプレイ、VRヘッドセット、タッチスクリーン、キーボード、マウス、ゲーム機、及び/又は、ユーザに情報を提供し及びユーザ入力から情報を受信することができる如何なる他の入力又は出力デバイスを含んでもよい。インターフェースは、特定の使用コンテキスト(例えば、キオスク)専用にしてもよい。インターフェイスは、ユーザにより構成可能であってもよい。幾つかの実施例において、クライアントデバイスは、入札を生成又は実行するためのアルゴリズムを実施するように構成されてもよい。本開示は、タグ付けされたオブジェクトについて入札する例を提供するが、それらの最も広い意味において本開示の側面(アスペクト)は、特定の例に限定されないことに留意されたい。
【0584】
幾つかの実施例において、少なくとも1つのプロセッサは、クライアントデバイスから、少なくとも1つのタグ付けされたオブジェクトについての1つ又はそれ以上の入札を受信するように構成されてもよい。例えば、複数のユーザが同じオブジェクトについて入札してもよく、システムがそのようなすべてのユーザから入札を受け取っ(受信し)てもよい。幾つかの実施例において、入札を受信することは、クライアントデバイス(例えば、広告主によって操作(オペレーション)されるクライアントデバイス)を介してユーザ入力を受信することを含んでもよい。幾つかの実施例において、入札は、リアルタイムのユーザ入力の有無にかかわらず、入札を生成及び実行するクライアントデバイスのアルゴリズム又は他の実行可能コードに基づいて受け取ら(受信さ)れてもよい。最も広い意味において、入札は、オファーを行うユーザの意図を伝えることができる如何なる様式において生成されてもよい。
【0585】
幾つかの実施例において、少なくとも1つのプロセッサは、受信された1つ又はそれ以上の入札の中から落札を決定するように構成されてもよいが、落札は、クライアントデバイスの中からの落札クライアントデバイスに関連付けられてもよい。落札を決定することは、値(価値)(即ち、金額)、シーンに対する広告主オブジェクトの互換性、オーディエンスに関連する情報、及び/又は如何なる他の情報のような基準に基づいていてもよい。幾つかの実施例において、落札を決定するための基準は、落札者(入札勝者)が最初の入札を落札した(勝利した)後に2番目の入札を行う可能性に基づいてもよい。例えば、開示されたシステムは、広告主が落札する(入札に勝つ)ことから肯定的な結果を受け取る可能性が高いかもしれず、そして、広告主が将来2回目の入札を行う可能性が高いかもしれないと判断してもよい。肯定的な結果は、例えば、製品の購入、Webサイトにおけるトラフィックの増加、ソーシャルメディアでの言及などを含んでもよい。最も広い意味において、システムオペレータによって選択された如何なる基準をも、落札を決定するために使用されてもよい。
【0586】
幾つかの実施例において、少なくとも1つのプロセッサは、少なくとも1つのタグ付けされた画像に対応する落札(勝利)画像データを落札(勝利)クライアントデバイスから受信するように構成されてもよい。落札者(勝者)の画像データは、開示された実施例と一致して、如何なる画像データをも含んでもよい。落札者(勝者)の画像データは、既存のオブジェクトに追加されるラベル又はロゴ或いはオブジェクトの2D又は3D画像又はモデルを含んでもよい。例えば、落札者(勝者)の画像データは、飲料(ソーダ)缶に表示するのに適した飲料製造業者の2Dロゴを含んでもよく、又は、落札者(勝者)の画像データは、製造業者の飲料(ソーダ)缶の3Dモデルを含んでもよい。開示された実施例と一致して、画像データは、.JPG、.BMP、.GIF、.PNG、.SVG、3Dベクトルフォーマット、コンピューター支援設計ファイル、.FLV、.MP4、.AVI、.MPG、.MP3、.MOV、.F4V、.VR、又は、その他の画像・ビデオ・モデルフォーマットを含む、如何なるフォーマットにおいてであってもよい。幾つかの実施例において、落札者(勝者)の画像データは、テキストデータ(例えば、シーン内のオブジェクトに投影するテキストデータ)及び/又は落札(勝利)クライアントデバイスによって指定された如何なる他の変更(例えば、シーンの照明レベル又は音量レベルの変更)を含んでもよい。落札者(勝者)の画像データは、オブジェクト、ラベル、バナー、人間又は動物の肖像、テキスト、又はシンボルを含むかどうかにかかわらず、シーンに追加される如何なる情報でもあり得る。
【0587】
幾つかの実施例において、少なくとも1つのプロセッサは、3Dブロードキャストシーンから、少なくとも1つのタグ付けされたオブジェクトに対応する3D画像データを分離するように構成されてもよい。タグ付けされたオブジェクトの3D画像データを分離することは、3Dブロードキャストシーンを、少なくとも1つのタグ付けされたオブジェクトを含む個別のオブジェクトにセグメント化することを含んでもよい。少なくとも1つのプロセッサは、上で論じた1つ又はそれ以上のセグメント化技術を採用してもよい。開示されたシステムは、ブロードキャストシーンから検出されたオブジェクトを、オブジェクトを格納するデータ構造内のオブジェクトと比較してもよい。比較することは、例えば、上記で論じたオブジェクト及び/又は画像データを比較するための1つ又はそれ以上の技術を含むが、画像からセグメント化されたオブジェクトをデータ構造に格納されたオブジェクトと比較することを可能にする如何なる方法をも含んでもよい。そのような比較は、例としてのみ、類似性の統計分析又は類似性を特定(識別)する人工知能ベースのアプローチを含んでもよい。1つの例において、比較することは、タグ付けされたオブジェクトとデータ構造内に格納されたオブジェクト表現との間の類似性の度合を示す類似性メトリックを決定することを含んでもよい。例えば、開示されたシステムは、タグ付けされたオブジェクトに対応する特徴ベクトルを生成又は検索(読出)してもよく、そして、特徴ベクトルを、データ構造内に格納されたオブジェクト表現に関連付けられた特徴ベクトルと比較してもよい。開示されたシステムは、類似性メトリックに基づいて、タグ付けされたオブジェクトとデータ構造内に格納されたオブジェクト表現との間の類似性を決定してもよい。類似性メトリックは、共分散、最小二乗距離、又は静止画像のディスクリートコンポーネントと保存された画像のディスクリートコンポーネントとの間のハウスドルフ距離のような統計的類似性に基づいていてもよい。開示されたシステムは、類似性メトリックに基づいて、データ構造内のオブジェクトに類似しているブロードキャストシーン内のオブジェクトを特定してもよい。
【0588】
幾つかの実施例において、システムは、ブロードキャストシーン内の画像要素を処理して、そのシーンをオブジェクトにセグメント化してもよい。画像要素は、ボクセル、点(ポイント)、又はポリゴンの少なくとも1つを含んでもよい。ボクセルは、閉じたn辺(面)のポリゴン(例えば、立方体、ピラミッド、又は如何なる閉じたn辺(面)のポリゴン)であってもよい。シーン内のボクセルは、サイズが均一又は不均一であってもよい。ボクセルは、シーン内で一貫して成形されてもよく、又は、シーン内で変化してもよい。セグメント化(セグメンテーション)中に、開示されたシステムは、画像要素をオブジェクトに割り当ててもよい。
【0589】
3D画像データは、オブジェクトの3D画像又はモデルを含んでもよい。3D画像データは、例えば、オブジェクトに関連付けられた画像要素(例えば、ピクセル、メッシュポイント、ポリゴン、ボクセルなど)のデジタル又はプログラムによる記述を含んでもよい。3D画像データは、オブジェクトに関連付けられたセマンティックタグ又はグラフを含んでもよい。3D画像データは、オブジェクトに関連付けられたセマンティックタグ又はグラフをも含んでもよい。幾つかの実施例において、3D画像データは、1つ又はそれ以上の画像要素に関連付けられた色、テクスチャ、陰影、照明、材料特性などの特性を含んでもよい。最も広い意味において、オブジェクトの構造、機能、外観、又はその他の特性を記述する如何なる特性も、3D画像データに含まれてもよい。開示された実施例と一致して、画像データは、.JPG、.BMP、.GIF、.PNG、.SVG、3Dベクトルフォーマット、コンピューター支援設計ファイル、.FLV、.MP4、.AVI、.MPG、.MP3、.MOV、.F4V、.VR、又はその他の画像、ビデオ、又はモデルフォーマット、を含む如何なるフォーマットにおいてであってもよい。3D画像データを分離することは、タグ付けされたオブジェクトに関連付けられた画像要素を特定することを含んでもよい。画像要素を特定することは、それらの要素がタグ付けされたオブジェクトに関連付けられていることを示すために、ラベル付けすること、又は、テキスト、フラグ、若しくは如何なる他の識別子で特定すること又はエンコードすることを含んでもよい。幾つかの側面(アスペクト)において、3D画像データを分離することは、タグ付けされたオブジェクトに関連付けられた画像要素を別個のメモリ又は記憶場所(ストレージロケーション)に格納することを含んでもよい。より一般的には、3D画像データを分離することは、システムオペレータによって選択された特定(識別)の如何なる方法をも使用して、タグ付けされたオブジェクトに関連付けられた画像要素を特定(識別)することを含んでもよい。
【0590】
幾つかの実施例において、システムのプロセッサは、落札者(勝者)の画像データを抽出された3D画像データと組み合わせることによって、タグ付けされたオブジェクトの3Dハイブリッドのレンダリングを生成するように構成されてもよい。3Dハイブリッドのレンダリングを生成することは、落札者(勝者)の画像データと分離された3D画像データとの位置合わせ(アラインメント)を含んでもよい。幾つかの実施例において、落札者(勝者)の画像データと分離された3D画像データとの位置合わせ(アラインメント)は、落札者(勝者)の画像データの画像要素の(x、y、z)座標を、抽出された3D画像データの座標におけるこの要素の望ましい位置であるT(x、y、z)に変換するアフィン変換を含んでもよい。他の実施例において、3Dハイブリッドのレンダリングを生成することは、画像要素の2つのファミリの融合を取ることによって、落札者(勝者)の画像データを抽出された3D画像データと組み合わせることを含んでもよい。
【0591】
更に他の実施例において、3Dハイブリッドのレンダリングを生成することは、落札者(勝者)の画像データと抽出された画像データの特性を組み合わせて、融合要素を取得することを含んでもよい。例えば、落札者(勝者)の画像データ及び抽出された画像データがポリゴンのファミリを含むとする。各ポリゴンはテクスチャに関連付けられてもよい。テクスチャは、画像からポリゴンへの2Dマッピングであってよいが、このポリゴンがビューアにどのように見え(現れ)るかを表す(例えば、ポリゴンの異なる部分が、異なる色を有してもよい)。落札者(勝者)の画像データと抽出された画像データの位置合わせ(アラインメント)Tは、対応するポリゴンファミリのマッチングを決定するために、拡張されてもよい。例えば、落札者(勝者)の画像データからのポリゴンは、抽出された画像データ内のポリゴンに対して最も近い落札者(勝者)の画像ポリゴンを探し出すために、変換Tを使用して抽出された画像データ上のポリゴンにマッピングされてもよい。マッチングを使用して、システムは、落札者(勝者)の画像データと抽出された画像データのポリゴンの頂点をマッチさせて(マッチングして)もよい。開示されたシステムはまた、落札者(勝者)の画像データのポリゴンから、抽出された3D画像データのポリゴンに、テクスチャ、材料特性などを転送してもよい。上で論じた2つの画像(例えば、第1の画像及び第2の画像)を組み合わせるための追加又は代替の技術もまた、ハイブリッドレンダリングを生成するために使用されてもよい。
【0592】
開示された実施例と一致して、3Dハイブリッドレンダリングは、JPG、BMP、GIF、PNG、SVG、3Dベクトルフォーマット、コンピュータ支援設計ファイル、FLV、MP4、AVI、MPG、MP3、MOV、F4V、VR、又は如何なる他の画像、ビデオ、又はモデルフォーマット、を含む如何なるフォーマットにおいてであってもよい。幾つかの実施例において、3Dハイブリッドレンダリングは、テキストデータ(例えば、シーン内のオブジェクトに投影するテキストデータ)及び/又は落札(勝利)クライアントデバイスによって指定された如何なる他の変更(例えば、シーンの照明レベル又は音量レベルの変更)をも含んでもよい。最も広い意味において、3Dハイブリッドレンダリングを生成することは、落札者(勝者)の画像データの特性(例えば、配置(ジオメトリ)、方向、色、テクスチャ、外観、材料特性、可動特性(movability properties)、又はその他の特性)を抽出された画像データの特性と組み合わせる如何なる方法をも含んでもよい。
【0593】
幾つかの実施例において、システムのプロセッサは、ハイブリッドレンダリングをハイブリッド3Dブロードキャストシーン内に挿入するように構成されてもよい。開示されたシステムは、3Dハイブリッドレンダリングをブロードキャストシーンと組み合わせるために、上で論じられたものと同様の技術(例えば、アフィン変換、ポリゴンマッピングなど)を使用してもよい。ハイブリッド3Dブロードキャストシーンは、.JPG、.BMP、.GIF、.PNG、.SVG、3Dベクトルフォーマット、コンピューター支援設計ファイル、.FLV、.MP4、.AVI、.MPG、.MP3、.MOV、.F4V、.VR、又はその他の画像、ビデオ、又はモデルフォーマット、及び/又は、落札(勝利)クライアントデバイスによって指定された如何なる他の変更(例えば、シーンの照明レベル又は音量レベルの変更)、を含む如何なるフォーマットにおいてであってもよい。
【0594】
幾つかの実施例において、3Dブロードキャストシーンは、ビデオゲームの一部であってもよい。幾つかの実施例において、3Dブロードキャストシーンは、3D映画の一部であってもよい。幾つかの実施例において、3Dブロードキャストシーンは、オンライン広告の一部であってもよい。ビデオゲーム、3D映画、及び/又はオンライン広告は、.JPG、.BMP、.GIF、.PNG、.SVG、3Dベクトルフォーマット、コンピューター支援設計ファイル、.FLV、.MP4、.AVI、.MPG、.MP3、.MOV、.F4V、.VR、又は、如何なる他の画像、ビデオ、又はモデルフォーマット、を含む如何なるフォーマットにおいてであってもよいことが考えられる。ビデオゲーム、3D映画、及び/又はオンライン広告もまた、ユーザによってプレイ可能なものであってもよい。
【0595】
幾つかの実施例において、請求項1のコンピュータで実施されるシステムは、落札者(勝者)の画像データについて画像処理を実行して、落札者(勝者)の画像データを3Dブロードキャストシーンのフォーマットと互換性のあるものにする(レンダリングする)ように構成されてもよい。例えば、落札者(勝者)の画像データは、第1のフォーマットにおいてであってよく、そして、3Dブロードキャストシーンは、第2のフォーマットにおいてであってよい。開示されたシステムは、中間の変換又は処理の有無にかかわらず、落札者(勝者)の画像データを第1のフォーマットから第2のフォーマットに変換するように構成されてもよい。フォーマットは、ブロードキャストフォーマットを含んでもよい。落札者(勝者)の画像データの画像処理は、開示された実施例と一致して、画像処理の如何なる方法をも含んでもよい。例えば、画像処理は、明るさ、影、周囲光、コントラスト、色相、彩度、拡大縮小(スケーリング)、トリミング、回転、引き伸ばし(ストレッチ)、フィルタリング、スムージング、又は別様に画像データを変換することを含んでもよい。本開示は、フォーマットを変更するための画像処理の例を提供するが、それらの最も広い意味において本開示の側面(アスペクト)は、特定の例に限定されないことに留意されたい。
【0596】
幾つかの実施例において、請求項1のコンピュータで実施されるシステムは、複数のフレーム内の落札(勝利)画像データからオブジェクトを3Dブロードキャストシーン内に挿入するように構成されてもよい。3Dブロードキャストシーンは、仮想現実の視野を構成する複数のフレームを含んでもよい。仮想現実の視野は、1つ又はそれ以上の視点からVR、MR、又はAR環境の視野(ビュー)を含んでもよい。例えば、VR環境は、出入り口、4つの壁、天井、床、及び家具を備えた仮想部屋を含んでもよい。仮想現実の視野を構成する複数のフレームは、出入り口に立っている人から見られるような仮想部屋の複数のフレームを含んでもよい。別の例として、仮想現実の視野を構成する複数のフレームは、家具に座っている人から見られるような仮想部屋の複数のフレームを含んでもよい。仮想現実の視野は時間とともに変化してもよい。開示されたシステムは、タグ付けされたオブジェクトに対応する3D画像データを各フレームから分離するように構成されてもよい。開示されたシステムはまた、落札者(勝者)の画像データを複数のフレームのそれぞれからの分離された3D画像データと組み合わせることによって、複数の3Dハイブリッドレンダリングを生成するように構成されてもよい。更に、システムは、3Dハイブリッドレンダリングをそれぞれのフレームの残りの部分と組み合わせるように構成されてもよい。上で論じた2つの画像(例えば、第1の画像及び第2の画像)を組み合わせるための追加又は代替の技術もまた、3Dハイブリッドレンダリングを3Dブロードキャストシーン内に挿入するために使用されてもよい。
【0597】
幾つかの実施例において、請求項1のコンピュータで実施されるシステムは、落札者(勝者)の画像データが3Dブロードキャストシーンの既存のコンテンツに重ね合わ(オーバーレイ)されるように、ハイブリッドレンダリングを3Dブロードキャストシーン内に挿入するように構成されてもよい。本開示によれば、落札者(勝者)の画像データの少なくともレンディションを挿入することは、複数のフレーム内で落札(勝利)オブジェクト画像データからオブジェクトをレンダリングするかもしれない。例えば、落札(勝利)オブジェクトデータは、ブロードキャスト内に仮想的に表示されてもよい。一例として、オブジェクトは特定のスポーツカーであってもよく、落札(勝利)オブジェクト画像データは特定のスポーツカーの画像を含んでもよく、そして、落札者(勝者)の画像データのレンディションを挿入することは、特定のスポーツカーを複数のフレーム内にレンダリングするかもしれない。落札者(勝者)の画像データは、落札者(勝者)の画像データが少なくとも1つのブロードキャストシーン内の既存のコンテンツに重ね合わ(オーバーレイ)され得るように、少なくとも1つのブロードキャストシーンに挿入されてもよい。一例として、既存のコンテンツに落札者(勝者)の画像データを重ね合わ(オーバーレイ)することは、VR環境の視聴者の視点から、ビルボードの画像を含む既存のコンテンツに画像(例えば、ロゴ)を含む落札者(勝者)の画像データを重ね合わせることを含んでもよい。落札者(勝者)の画像データを重ね合わ(オーバーレイ)することは、オブジェクトにバナーを追加することを含んでもよい(例えば、チェアの背もたれ又はボトルにバナーを追加すること)。落札者(勝者)の画像データを既存のコンテンツに重ね合わ(オーバーレイ)せるための追加又は代替の技術は、本開示の実施例と一致して、上記で論じた2つの画像(例えば、第1の画像及び第2の画像)を組み合わせるための技術を含んでもよい。
【0598】
幾つかの実施例において、開示されたシステムは、各シーンの空間セマンティックグラフを生成するように構成された少なくとも1つのプロセッサを含んでもよい。空間セマンティックグラフは、シーン内で検出されたオブジェクト間の空間関係を表してもよい。各シーンの空間セマンティックグラフは、本開示の実施例と一致して、上記で議論されたものと同様の特徴を含んでもよい。空間セマンティックグラフは、システムが与えられたシーンの環境を推測できるようにしてもよい。例えば、システムは、類似の空間関係を有する類似のオブジェクトを含む他のシーンを特定するために、例えば、データ構造内に格納された他のシーンの空間セマンティックグラフと共に、3Dブロードキャストシーンの空間セマンティックグラフを使用してもよい。空間セマンティックグラフは、空間セマンティックグラフを含んでもよい。空間セマンティックグラフは、それらの空間関係の記述と共に、シーン内のオブジェクトのリストを含んでもよい。例えば、リストは「ゴミ箱、床、ボトル、テーブル、チェア、ランプ、天井」を含んでもよい。リストは、これらのさまざまなオブジェクト間の空間的関係をも含んでもよい。例えば、リストは、「ゴミ箱→上に→床の」、「ボトル→上に→テーブルの」、「ランプ→吊り下げ→天井から」、「ゴミ箱→近く→チェアの」、「チェア→下に→ランプの」など、のような関係を含んでもよい。
【0599】
幾つかの実施例において、開示されたシステムは、ブロードキャストシーンの生成された空間セマンティックグラフをデータ構造内に格納されたシーンの空間セマンティックグラフと比較するように構成された少なくとも1つのプロセッサを含んでもよい。本開示の実施例と一致して、例示的なデータ構造は、上記に記述されている。比較することは、2D又は3Dオブジェクトの類似性、2D又は3Dの意味的(セマンティック)類似性、及び/又は2D又は3Dの空間セマンティックグラフの類似性に対してチェックすることを含んでもよい。システムは、3Dブロードキャストシーンに最も近い又は最も類似した空間セマンティックグラフを有するデータ構造内の1つ又は複数の3Dシーンを識別し得る。システムは、共分散、最小二乗距離、画像要素に関連付けられたベクトル(例えば、特徴ベクトル)の間の距離、又は位置合わせ(整列)されたオブジェクトの間のハウスドルフ距離のような統計的類似性に基づいて、近さ又は類似性を決定してもよい。システムは、追加的又は代替的に、上に開示された加重和法を使用して空間セマンティックグラフの間の距離を決定してもよい。幾つかの実施例において、システムは、3Dシーンに関連付けられた特徴ベクトルの比較に基づいて、近さ又は類似性を決定してもよい。本開示は、空間セマンティックグラフを比較する例を提供するが、それらの最も広い意味において本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0600】
幾つかの実施例において、開示されたシステムは、生成された空間セマンティックグラフと同様の空間セマンティックグラフを有するデータ構造内のシーンを特定するように構成された少なくとも1つのプロセッサを含んでもよい。開示されたシステムは、3Dブロードキャストシーンに最も近い又は最も類似した空間セマンティックグラフを有するデータ構造内の1つ又はそれ以上の3Dシーンを特定してもよい。幾つかの実施例において、最も近い又は最も類似した空間セマンティックグラフを決定することは、共分散、最小二乗距離、画像要素に関連付けられたベクトル(例えば、特徴ベクトル)の間の距離、又はハウスドルフ距離を、関連付けられたしきい値と比較することを含んでもよい。本開示は、シーンを特定する例を提供するが、それらの最も広い意味において本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0601】
幾つかの実施例において、開示されたシステムは、データ構造内の特定されたシーンに基づいて3Dブロードキャストシーンに関する情報を決定するように構成された少なくとも1つのプロセッサを含んでもよい。情報は、例えば、特定されたシーン内のオブジェクトの同様の特性に基づく、3Dブロードキャストシーン内のオブジェクトの特性(テクスチャ、材料、可動性)などに関する情報を含んでもよい。開示されたシステムは、例えば、決められた特性に基づいて、オフィスシーン、スポーツクラブ、ビーチなどのシーンの「環境」を理解するように構成されてもよい。開示されたシステムは、ブロードキャストシーン内のタグ付けされたオブジェクトについての入札に関心があるかもしれないある特定の広告主を特定するために、決定された環境を使用してもよい。例えば、開示システムが環境は「オフィスシーン」であると決定するならば、開示されたシステムは、例えば、ビーチ家具製造業者又はスポーツ用品製造業者ではなく、オフィス家具製造業者に関連付けられたクライアントデバイスについて入札を行うためのタグ及び命令を表示してもよい。本開示は、3Dシーンに関する情報を決定する例を提供するが、それらの最も広い意味において本開示の側面(アスペクト)は、開示された例に限定されないことに留意されたい。
【0602】
前述のステップ及び方法は、リアルタイムで実行されてもよいことは理解されるべきである。幾つかの実施例において、開示されたシステムは、リアルタイムで少なくとも1つのブロードキャストシーンを取得し、及び、リアルタイムで少なくとも1つのブロードキャストシーン内に落札者(勝者)の画像データのレンディションを挿入するように構成されてもよい。当業者が理解するように、ステップは様々な順序で実行されてもよく、そして、幾つか又はすべてのステップがリアルタイムでブロードキャストを変更するために繰り返されてもよい。例えば、幾つかの実施例において、ブロードキャストシーンに表示される落札者(勝者)の画像データは、所定の期間の後に変化してもよい。この例を説明するために、VR環境における仮想ビルボードは、第1のロゴを含む落札者(勝者)の画像データを10分間表示し、そして、その10分間の終わりに第2のロゴを表示してもよい。所定の時間は、広告システムによって設定されてもよい。幾つかの実施例において、入札は、所定の時間を含んでもよい(例えば、広告主は、画像オブジェクトを表示するための時間の長さを設定し得る)。幾つかの実施例において、所定の時間は、ユーザ(即ち、オーディエンスメンバー)によって決定されてもよい。当業者が理解するように、所定の期間は、スケジュールされた時間を含んでもよい(例えば、所定の期間後に表示される落札者(勝者)の画像データを変更することは、午後3時のような設定された時間に変更することを含んでもよい)。
【0603】
図19は、本開示の実施例と一致して、既存の3Dブロードキャストシーンに3Dコンテンツを追加するための例示的なシステム1900を描写している。示されるように、システム1900は、クライアントデバイス1910、3Dコンテンツジェネレータ1920、データ構造1930、及び/又はユーザデバイス1950を含んでもよい。システム1900のコンポーネントは、ネットワーク1940を介して互いに接続されてもよい。幾つかの実施例において、システム1900の側面(アスペクト)は、1つ又はそれ以上のクラウドサービス上で実施されてもよい。幾つかの実施例において、システム1900の側面(アスペクト)は、モバイルデバイス、コンピュータ、サーバ、サーバのクラスタ、又は複数のサーバクラスタを含むコンピューティングデバイス上で実施されてもよい。
【0604】
当業者によって理解されるように、システム1900のコンポーネントは、様々な方法で配置されてもよく、必要に応じて、ハードウェア、ファームウェア、及び/又はソフトウェアの如何なる適切な組み合わせで実施されてもよい。例えば、
図19の描写と比較して、システム1900は、より多い又はより少ない数のクライアントデバイス、3Dコンテンツジェネレータ、データ構造、ユーザデバイス、及び/又はネットワークを含んでもよい。更に、システム1900は、開示された実施例と一致して、1つ又はそれ以上のプロセスの実行を実行又は支援する、図示されていない他のコンポーネント又はデバイスを更に含んでもよい。
図19に示される例示的なコンポーネント及び配置は、開示された実施例を限定することを意図するものではない。
【0605】
幾つかの実施例において、クライアントデバイス1910は、広告主、広告エージェント、及び/又は如何なる他の個人又は組織に関連付けられてもよい。例えば、クライアントデバイス1910は、開示された実施例と一致して、広告主がコンテンツを3Dブロードキャストシーンに挿入することについて入札することを可能にするソフトウェアを実行するように構成されてもよい。クライアントデバイス1910は、開示された実施例と一致して、オペレーションを実行するように構成された1つ又はそれ以上のメモリユニット及び1つ又はそれ以上のプロセッサを含んでもよい。幾つかの実施例において、クライアントデバイス1910は、ハードウェア、ソフトウェア、及び/又はファームウェアモジュールを含んでもよい。クライアントデバイス1910は、モバイルデバイス、タブレット、パーソナルコンピュータ、端末、キオスク、サーバー、サーバークラスター、クラウドサービス、ストレージデバイス、開示された実施例による方法を実行するように構成された特殊なデバイスなど、を含んでもよい。クライアントデバイスは、開示された実施例と一致して、ユーザ入力を(例えば、インターフェースで)受信し、情報(例えば、画像及び/又はテキスト)を表示し、他のデバイスと通信し、及び/又は他の機能を実行するように、構成されてもよい。幾つかの実施例において、クライアントデバイスは、別のデバイスから(例えば、3Dコンテンツジェネレータ1920から)受信した情報に基づいて入札を行うためのアルゴリズムを実施するように構成される。
【0606】
3Dコンテンツジェネレータ1920は、開示された実施例と一致して、コンピューティングデバイス、コンピュータ、サーバ、サーバクラスタ、複数のサーバクラスタ、及び/又はクラウドサービスを含んでもよい。3Dコンテンツジェネレータ1920は、開示された実施例と一致して、オペレーションを実行するように構成された1つ又はそれ以上のメモリユニット及び1つ又はそれ以上のプロセッサを含んでもよい。3Dコンテンツジェネレータ1920は、システム1900の他のコンポーネント及び/又はシステム1900の外部のコンピューティングコンポーネントから(例えば、ネットワーク1940を介して)データを受信し、データを取得(読出)し、及び/又はコンピューティングコンポーネントへデータを送信するように構成されてもよい。
【0607】
データ構造1930は、1つ又はそれ以上のサーバー、サーバーの1つ又はそれ以上のクラスター、又は1つ又はそれ以上のクラウドサービスにホストされてもよい。幾つかの実施例において、データ構造1930は、3Dコンテンツジェネレータ1920(図示せず)のコンポーネントであってもよい。データ構造1930は、画像、ビデオデータ、画像オブジェクト情報、画像オブジェクト識別子、メタデータ、ラベル、及び/又は如何なる他のデータを格納するように構成された1つ又はそれ以上のデータ構造を含んでもよい。データ構造1930は、データに関する情報を別のデバイス又は別のシステムに提供するように構成されてもよい。データ構造1930は、クラウドベースのデータ構造、クラウドベースのバケット、又はオンプレミスのデータ構造を含んでもよい。
【0608】
ユーザデバイス1950は、VR、AR、及び/又はMRデータを含む3Dブロードキャストシーンを受信及び/又は表示するように構成された如何なるデバイスであってもよい。例えば、ユーザデバイス1950は、モバイルデバイス、スマートフォン、タブレット、コンピュータ、ヘッドセット、ゲーム機、及び/又は如何なる他のユーザデバイスを含んでもよい。幾つかの実施例において、ユーザデバイス1950は、ブロードキャストを受信及び/又は表示するように構成されてもよい。ユーザデバイス1950は、開示された実施例と一致して、オペレーションを実行するように構成された1つ又はそれ以上のメモリユニット及び1つ又はそれ以上のプロセッサを含んでもよい。幾つかの実施例において、ユーザデバイス1950は、ハードウェア、ソフトウェア、及び/又はファームウェアモジュールを含んでもよい。
【0609】
クライアントデバイス1910、3Dコンテンツジェネレータ1920、データ構造1930、及び/又はユーザデバイス1950の1つ又はそれ以上のものは、ネットワーク1940に接続されてもよい。ネットワーク1940は、パブリックネットワーク又はプライベートネットワークであってもよく、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、メトロポリタンエリアネットワーク、IEEE 1002.11ワイヤレスネットワーク(例えば、「Wi-Fi」)、ネットワークのネットワーク(例えば、インターネット)、固定電話ネットワークなどを、限られることなく含む、有線又は無線ネットワーク、を含んでもよい。ネットワーク1940は、種々のシステムコンポーネントを互いに及び/又は外部システム又はデバイスに接続するため、他のネットワーク(
図19には描写されていない)に接続されてもよい。幾つかの実施例において、ネットワーク1940は安全なネットワークであってよく、ネットワークにアクセスするためにパスワードを必要としてもよい。
【0610】
本開示と一致して、開示されたシステムは、プレビューシステムの機能を実行するために1つ又はそれ以上の命令、アルゴリズムなどを実行するように構成されてもよい、少なくとも1つのプロセッサを含んでもよい。例として、
図2及び
図19に図解されるように、システム1900は、クライアントデバイス1910及び3Dコンテンツジェネレータ1920の1つ又はそれ以上に含まれる1つ又はそれ以上のプロセッサ202を含んでもよい。
【0611】
図3は、本開示の実施例と一致して、広告主からの入札を選択するための、及び、落札に対応する画像を視聴覚環境からの3Dブロードキャストシーンに挿入するための例示的なシステム300を描写する。システム300は、システム1900の例示的実施であってもよい。
【0612】
示されるように、システム300は、デジタル化されるかもしれない3Dブロードキャストシーン302のためのデータを含んでもよい。シーン302は、3Dデータに限定されないが、VRデータ、ARデータ、MRデータ、画像データ、ビデオデータ、及び/又は如何なる他のシーンデータを含んでもよい。シーン302は、チェア304、ソファ306、及び/又はテーブル308のような画像オブジェクトの表現を含んでもよい。
【0613】
システム300は、広告主の入札310を受信するように構成されてもよい。広告主の入札は、広告主、アカウント、個人を特定する特定情報、又は他の特定情報を含んでもよい。例えば、特定情報は、「広告主1」、「広告主2」、又は「広告主3」というラベルを含んでもよい。広告主の入札は、オブジェクト情報を含んでもよい。オブジェクト情報は、「チェア1」、「チェア2」、又は「チェア3」のような製品のためのオブジェクト識別子のようなオブジェクト識別子を含んでもよい。広告主の入札は、広告主の入札310のドル記号によって表される、それぞれの入札額に関連付けられてもよい。
【0614】
幾つかの実施例において、システム300は、落札を特定するように構成されてよく、及び、シーン302内のオブジェクトを落札に関連付けられたオブジェクト(例えば、落札者(勝者)の画像データ)で置き換えるように構成されてもよい。落札の特定は、開示された実施例と一致して、基準に基づいていてもよい。例えば、システム300は、シーンチェアを最高入札(312)に関連付けられたチェア(例えば、広告主2から)に置き換えるように構成されてもよい。
【0615】
システム300は、レンダリング314を実行するように構成されてもよい。レンダリングは、オブジェクトの挿入場所に落札者(勝者)の画像データのレンディションを挿入するため、3Dブロードキャストシーンを処理することを含んでもよい。上で論じたように、レンダリングは、タグ付けされたオブジェクトをシーンから分離すること、ハイブリッドレンダリングを生成するために落札者(勝者)の画像データをタグ付けされたオブジェクトに関連付けられた抽出された画像データと組み合わせること、及び、ハイブリッドレンダリングをブロードキャストシーン内に挿入することを含んでもよい。レンダリング314は、ここにおいて記述されるような如何なる画像処理技術又は如何なる他の画像処理技術をも含んでもよい。レンダリング314は、VRデバイス及び/又は画面(VR/画面316)による表示用にフォーマットされてもよい。ユーザ318は、VR/画面316を介してレンダリングされたシーンを視聴してもよい。
【0616】
図23は、本開示の実施例と一致して、視聴覚環境から既存のシーン内に広告画像を選択して挿入する例示的な方法2300を描写している。本開示から理解されるように、例えば、方法2300のステップを追加、組み合わせ、削除、及び/又は再配置することによって、方法2300を変更してもよい。方法2300のステップは、3Dコンテンツジェネレータ1920を、限ることなく含むシステム1900のコンポーネントによって実行されてもよい。例えば、方法2300は、3Dコンテンツジェネレータ1920によって実行されるステップとして記述されてもよいが、クライアントデバイス1910及び/又はユーザデバイス1950が、方法2300のいずれか又はすべてのステップを実行し得ることは、理解されるべきである。当業者が理解するように、方法2300は、ここにおいて記述される如何なる他の方法と共に実施されてもよい。例えば、開示された実施例と一致して、プロセス2300が、ステップ(図示せず)、及び/又は如何なる他のアクションを含んでもよいことは、理解されるべきである。プロセス2300は、開示された実施例と一致して、メディアコンテンツの進行中の送信を変更するためにリアルタイムで実行されてもよい。
【0617】
ステップ2302で、クライアントデバイス1910は、ブロードキャスト3Dシーンを表示してもよい。ブロードキャスト3Dシーンは、開示された実施例と一致して、データストレージから受信又は検索(読出)されてもよい。ブロードキャスト3Dシーンは、システム1900の別のコンポーネント及び/又はシステム1900の外部の別のコンピューティングコンポーネントから(例えば、ネットワーク1940を介して)受信されてもよい。ブロードキャスト3Dシーンは、メモリ(例えば、メモリ206)、データ構造(例えば、データ構造1930)、又は如何なる他のコンピューティングコンポーネントから検索(読出)されてもよい。
【0618】
ブロードキャスト3Dシーンは、開示された実施例と一致して、VR、AR、及び/又はMRシーンであってもよい。ブロードキャスト3Dシーンは、2D及び/又は3Dシーンであってもよい。ブロードキャスト3Dシーンは、如何なるフォーマット(例えば、F4V、.VRなど)においてであってもよい。ブロードキャスト3Dシーンは、開示された実施例と一致して、既存の3Dブロードキャストシーンを含んでもよい。ブロードキャスト3Dシーンは、ここにおいて記述されるように、落札者(勝者)の画像データを含む処理された3Dブロードキャストシーンを含むシーンのような、以前に変更されたシーンを含んでもよい。一般に、ブロードキャスト3Dシーンは、如何なる視覚媒体(ビジュアルメディア)を含んでもよい。
【0619】
ステップ2304において、クライアントデバイス1910は、開示された実施例と一致して、ブロードキャストシーン内のオブジェクトに対応する製品のタグ又は他の記述子を表示してもよい。例えば、3Dコンテンツジェネレータ1920は、ブロードキャストシーンをスキャンして、チェア、テーブル、又は飲料(ソーダ)ボトルのようなオブジェクトを検出してもよい。オブジェクトの他の例も可能である。3Dコンテンツジェネレータ1920は、1つ又はそれ以上のタグを1つ又はそれ以上の検出されたオブジェクトに関連付けてもよい。3Dコンテンツジェネレータ1920は、タグを1つ又はそれ以上のクライアントデバイス1910に送信してもよく、クライアントデバイス1910は、クライアントデバイス1910に関連付けられた表示装置に1つ又はそれ以上のタグを表示してもよい。
【0620】
ステップ2306で、クライアントデバイス1910は、開示された実施例と一致して、1つ又はそれ以上のタグ付きオブジェクトについて1つ又はそれ以上の入札を行うための命令を表示してもよい。入札を行うことは、値(価値)をタグ付けされたオブジェクトに関連付ける入力を受け取る(受信する)ことを含んでもよい。 入札を行うことは、以前に行った入札の更新を含んでもよい。ステップ2308で、3Dコンテンツジェネレータ1920は、1つ又はそれ以上のクライアントデバイス1910から1つ又はそれ以上の入札を受信してもよいが、データ構造1930と一致して、3Dコンテンツジェネレータ1920に入札を送信してもよく、そして、開示された実施例と一致して、入札を受信するための命令を表示してもよい。
【0621】
ステップ2310で、3Dコンテンツジェネレータ1920は、開示された実施例と一致して、落札を決定してもよい。3Dコンテンツジェネレータ1920はまた、開示された実施例と一致して、落札に関連付けられた落札クライアントデバイスを特定してもよい。ステップ2312で、3Dコンテンツジェネレータ1920は、開示された実施例と一致して、落札者のクライアントデバイスから落札者の画像データを受信してもよい。幾つかの実施例において、3Dコンテンツジェネレータ1920は、システム1900の1つ又はそれ以上のコンポーネントに関連付けられたメモリ及び/又はデータ構造に落札画像データを格納してもよい。
【0622】
ステップ2314で、3Dコンテンツジェネレータ1920は、開示された実施例と一致して、タグ付けされたオブジェクトに関連付けられた3D画像データを分離してもよい。ステップ2316で、3Dコンテンツジェネレータ1920は、開示された実施例と一致して、落札画像データを、タグ付けされたオブジェクトに関連付けられた抽出された3D画像データと、組み合わせることによって、3Dハイブリッド画像を生成してもよい。幾つかの実施例において、3Dコンテンツジェネレータ1920は、クライアントデバイス1910から受信した2D画像ファイルを3Dオブジェクトとメッシュして、2Dシーン内に3Dメッシュレンダリングを作成することができる。ステップ2318で、3Dコンテンツジェネレータ1920は、開示された実施例と一致して、ハイブリッドレンダリングをブロードキャスト3Dシーンに挿入してもよい。
【0623】
ステップ2320で、3Dコンテンツジェネレータ1920は、開示された実施例と一致して、出力シーンを提供してもよい。ステップ2320で出力シーンを提供することは、開示された実施例と一致して、出力シーンを記憶及び/又は送信することを含んでもよい。例えば、ステップ2320は、出力シーンをブロードキャストすること、及び/又は出力シーンをメモリ(例えば、メモリ206、記憶媒体208、及び/又はデータ構造1930)に格納することを含んでもよい。
【0624】
ここにおいて開示されるシステム及び方法は、VR、AR、及び/又はMR技術及びアプリケーションにおける使用のためのコンピュータで実施される広告入札システムへの従来のアプローチに対する型破りな改善を含んでもよい。ここにおいて開示されるシステム及び方法はまた、画像及びスキャンされた3D又は他のシーンを処理することへの従来のコンピュータで実施されるアプローチに対する型破りな改善を含んでもよい。ここにおいて開示されるシステム及び方法はまた、ロボットとロボットの環境内のオブジェクトとの相互作用を制御することへの従来のコンピュータで実施されるアプローチに対する型破りな改善を含んでもよい。ここにおいて開示されるシステム及び方法は、3Dコンテンツ作成を自動化することへの従来のコンピュータで実施されるアプローチに対する型破りな改善を含んでもよい。ここにおいて開示されるシステム及び方法はまた、VR、AR、及び/又はMR技術及びアプリケーションにおける使用のためのコンピュータで実施される3Dコンテンツ生成(ジェネレーション)システムへの従来のアプローチに対する型破りな改善を含んでもよい。開示された実施例の記述は網羅的とは言えず、開示された正確な形態又は実施例に限定されない。実施例の変更及び適応は、開示された実施例の仕様及び実施を考慮することから明らかになるであろう。更に、開示された実施例は、ここにおいて論じられる実施例に限定されない。
【0625】
前述の記述は、説明のために提示されてきた。それは網羅的であるとは言えず、開示された正確な形態又は実施例に限定されない。実施例の変更及び適応は、開示された実施例の仕様及び実施を考慮することから明らかになるであろう。例えば、記述された実施は、ハードウェア及びソフトウェアを含むが、本開示と一致するシステム及び方法は、ハードウェア単独で実施されてもよい。
【0626】
この明細書の書面による記述及び方法に基づくコンピュータプログラムは、ソフトウェア開発者のスキルの範囲内にある。さまざまな機能、スクリプト、プログラム、又はモジュールは、さまざまなプログラミング手法を使用して作成されてもよい。例えば、プログラム、スクリプト、機能、プログラムセクション、又はプログラムモジュールは、JAVASCRIPT(登録商標)、C、C++、JAVA(登録商標)、PHP、PYTHON、RUBY、PERL、BASH、又はその他のプログラミング言語又はスクリプト言語、を含む言語によって、或いは、その言語において設計されてもよい。そのようなソフトウェアセクション又はモジュールのうちの1つ又はそれ以上は、コンピュータシステム、一時的ではないコンピュータ可読媒体、又は既存の通信ソフトウェアに統合されてもよい。プログラム、モジュール、又はコードは、ファームウェア又は回路ロジックとして実施又は複製されてもよい。
【0627】
更に、説明に役立つ実施例がここにおいて記述されているが、その範囲は、本開示に基づく、同等の要素、変更、省略、組み合わせ(例えば、様々な実施例にわたる態様の)、適合又は変更を有するいずれかの及びすべての実施例を含んでもよい。特許請求の範囲の要素は、特許請求の範囲で使用される言語に基づいて広く解釈されるべきであり、本明細書に記載された例又は本願の審査中のものに限定されず、このような例は非排他的であると解釈されるべきである。更に、開示された方法のステップは、ステップを並べ替えたり、ステップを挿入又は削除したりすることを含む、如何なる方法で変更されてもよい。従って、明細書及び実施例は例示としてのみ見なされることが意図されており、真の範囲及び精神は、以下の特許請求の範囲及びそれらに均等なものの全範囲によって示されている。
[1]
既存のメディアコンテンツフレーム内へのコンテンツの選択的挿入を可能にするためのコンピュータ実施の視覚入力再構成システムであって、
該視覚入力再構成システムは、少なくとも1つのプロセッサーを含み、該少なくとも1つのプロセッサーは、
複数のオブジェクトに関連付けられた複数のオブジェクト画像識別子を格納するメモリにアクセスするように構成され;
複数のオブジェクト画像識別子の少なくとも1つのオブジェクト画像識別子を1つ又はそれ以上のクライアントデバイスに送信するように構成され;
1つ又はそれ以上のクライアントデバイスから、少なくとも1つのオブジェクト画像識別子に関連付けられた1つ又はそれ以上の入札を受信するように構成され;
受信した1つ又はそれ以上の入札の中から落札を決定するように構成され、ここで、落札は1つ又はそれ以上のクライアントデバイスの中から落札クライアントデバイスに関連付けられ;
落札クライアントデバイスから落札者の画像データを受信するように構成され;
落札者の画像データをメモリに格納するように構成され;
少なくとも1つの既存のメディアコンテンツフレームにおいて、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトのためのオブジェクト挿入位置を特定するように構成され;
オブジェクト挿入位置で落札者の画像データの少なくともレンディションを挿入するために少なくとも1つの既存のメディアコンテンツフレームを処理することによって、少なくとも1つの処理されたメディアコンテンツフレームを生成するように構成され;及び
少なくとも1つの処理されたメディアコンテンツフレームを1つ又はそれ以上のユーザデバイスに送信するように構成される、
コンピュータ実施の視覚入力再構成システム。
[2]
少なくとも1つのオブジェクト画像識別子は、形状、形状の記述子、製品、又は製品の記述子の少なくとも1つを含む、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[3]
既存のメディアコンテンツフレームは、静止画像、一連のビデオフレーム、一連の仮想3次元コンテンツフレーム、又はホログラムの少なくとも1つを含む、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[4]
少なくとも1つのプロセッサは、既存のメディアコンテンツフレームのフォーマットと互換性のあるように落札者の画像データをレンダリングするために落札者の画像データについて画像処理を実行するように更に構成される、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[5]
少なくとも1つの既存のメディアコンテンツフレームは、仮想現実視野を構成する複数のフレームを含み、及び、挿入は複数のフレーム内の落札画像データからオブジェクトをレンダリングする、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[6]
送信することは、ネットワークを介した送信を含む、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[7]
送信することは、処理されたメディアコンテンツフレームを1つ又はそれ以上のユーザデバイスの第1のユーザデバイスに送信することを含み、及び、少なくとも1つのプロセッサは、落札者の画像データを除外する様式で、少なくとも1つの既存のメディアコンテンツフレームを第2のユーザデバイスに送信するように構成される、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[8]
落札者の画像データが、少なくとも1つの既存のメディアコンテンツフレーム内の既存のコンテンツにオーバーレイされるように、落札者の画像データは、前記少なくとも1つの既存のメディアコンテンツフレーム内に挿入される、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[9]
落札者の画像データのオブジェクトが、少なくとも1つの既存のメディアコンテンツフレーム内の既存のコンテンツを置き換えるように、落札者の画像データが、少なくとも1つの既存のメディアコンテンツフレーム内に挿入される、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[10]
落札者の画像データは、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトの一部に挿入される、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[11]
プロセッサは、落札クライアントデバイスから命令を受信するように更に構成され、命令は、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトに対するサイズ制限を含み、及び、落札者の画像データの少なくともレンディションを挿入することは、命令に基づいている、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[12]
少なくとも1つのオブジェクト画像識別子に対応するオブジェクトは、壁、ビルボード、額縁、又は窓の少なくとも1つを含む、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[13]
既存のメディアコンテンツフレームに表示された落札者の画像データは、所定の期間後に変化する、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[14]
プロセッサは、少なくとも1つの既存のメディアコンテンツフレームをリアルタイムで取得するように、及び、落札者の画像データのレンディションを、少なくとも1つの既存のメディアコンテンツフレーム内にリアルタイムで挿入するように、更に構成される、上記[1]に記載のコンピュータ実施の視覚入力再構成システム。
[15]
既存のメディアコンテンツフレーム内へのコンテンツの選択的挿入を可能にするためのコンピュータ実施の方法であって、
複数のオブジェクトに関連付けられた複数のオブジェクト画像識別子を格納するメモリにアクセスするステップと;
複数のオブジェクト画像識別子の少なくとも1つのオブジェクト画像識別子を1つ又はそれ以上のクライアントデバイスに送信するステップと;
1つ又はそれ以上のクライアントデバイスから、少なくとも1つのオブジェクト画像識別子に関連付けられた1つ又はそれ以上の入札を受信するステップと;
受信した1つ又はそれ以上の入札の中から落札を決定するステップと、ここで、落札は、1つ又はそれ以上のクライアントデバイスの中から落札クライアントデバイスに関連付けられ;
落札クライアントデバイスから落札者の画像データを受信するステップと;
落札者の画像データをメモリに格納するステップと;
少なくとも1つの既存のメディアコンテンツフレームにおいて、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトのオブジェクト挿入位置を特定するステップと;
オブジェクト挿入位置に落札者の画像データの少なくともレンディションを挿入するため少なくとも1つの既存のメディアコンテンツフレームを処理することにより、少なくとも1つの処理されたメディアコンテンツフレームを生成するステップと;及び
少なくとも1つの処理されたメディアコンテンツフレームを1つ又はそれ以上のユーザデバイスに送信するステップと、
を含む方法。
[16]
少なくとも1つのオブジェクト画像識別子が、形状、形状の記述子、製品、又は製品の記述子の少なくとも1つを含む、上記[15]に記載の方法。
[17]
既存のメディアコンテンツフレームは、静止画像、一連のビデオフレーム、一連の仮想3次元コンテンツフレーム、又はホログラムの少なくとも1つを含む、上記[15]に記載の方法。
[18]
少なくとも1つのプロセッサは、落札者の画像データを既存のメディアコンテンツフレームのフォーマットと互換性のあるようにレンダリングするために画像処理を実行するように、更に構成される、上記[15]に記載の方法。
[19]
少なくとも1つの既存のメディアコンテンツフレームは、仮想現実視野を構成する複数のフレームを含み、及び、挿入は、複数のフレーム内の落札画像データからオブジェクトをレンダリングする、上記[15]に記載の方法。
[20]
少なくとも1つのプロセッサによって実行されると、既存のメディアコンテンツフレーム内へのコンテンツの選択的挿入を可能にするオペレーションを少なくとも1つのプロセッサに実行させる命令を含む、非一時的なコンピュータ可読媒体であって、そのオペレーションは、
複数のオブジェクトに関連付けられた複数のオブジェクト画像識別子を格納するメモリにアクセスすることと;
複数のオブジェクト画像識別子の少なくとも1つのオブジェクト画像識別子を1つ又はそれ以上のクライアントデバイスに送信することと;
1つ又はそれ以上のクライアントデバイスから、少なくとも1つのオブジェクト画像識別子に関連付けられた1つ又はそれ以上の入札を受信することと;
受信した1つ又はそれ以上の入札の中から落札を決定することと、ここで、落札は、1つ又はそれ以上のクライアントデバイスの中からの落札クライアントデバイスに関連付けられ;
落札クライアントデバイスから落札者の画像データを受信することと;
落札者の画像データをメモリに格納することと;
少なくとも1つの既存のメディアコンテンツフレーム内に、少なくとも1つのオブジェクト画像識別子に対応するオブジェクトのためのオブジェクト挿入位置を特定することと;
オブジェクト挿入位置に落札者の画像データの少なくともレンディションを挿入するために少なくとも1つの既存のメディアコンテンツフレームを処理することによって、少なくとも1つの処理されたメディアコンテンツフレームを生成することと;及び
少なくとも1つの処理されたメディアコンテンツフレームを1つ又はそれ以上のユーザデバイスに送信することと、
を含む、非一時的なコンピュータ可読媒体。
[21]
3次元(3D)シーンを生成するためのコンピュータ実施のシステムであって、該システムは、少なくとも1つのプロセッサを含み、該少なくとも1つのプロセッサは、
スキャンに基づいてシーンを受信するように構成され、ここで、シーンは少なくとも1つのオブジェクトを含み;
シーンをシーンコンポーネントにセグメント化するためにシーン内の画像要素を処理するように構成され、ここで、画像要素は、ボクセル、点、又はポリゴンの少なくとも1つを含み;
シーンコンポーネントと格納された画像データとの比較に基づいて、シーンコンポーネントの中からマッチしたコンポーネントを特定するように構成され、ここで、マッチしたコンポーネントは少なくとも1つのオブジェクトのコンポーネントに対応し;
マッチしたコンポーネントに基づいて、少なくとも1つのオブジェクトに対応する画像要素を特定するように構成され;
少なくとも1つのオブジェクトに対応する画像要素に基づいて、ストレージ場所からCADモデルを取得するように構成され;
シーンとオブジェクトのCADモデルを組み合わせることにより、変更されたシーンを生成するように構成され;及び
変更したシーンを3D表示用に出力するように構成される、システム。
[22]
変更されたシーンは、CADモデルの少なくとも一部及び少なくとも1つのオブジェクトの少なくとも一部を含むハイブリッドシーンである、上記[21]に記載のシステム。
[23]
スキャンは不完全なスキャンであり、及び、変更されたシーンは、CADモデルのセマンティクスに基づくシーンの改良を含む、上記[21]に記載のシステム。
[24]
少なくとも1つの少なくとも1つのプロセッサが更に、
CADモデルに関連付けられたセマンティクスにアクセスするように構成され、ここで、セマンティクスは、少なくとも1つのオブジェクトの可動特性を表すスクリプトを含み;及び
スクリプトをハイブリッドシーン内でCADモデルに適用するように構成されるが、ここで、スクリプトは、ハイブリッドシーン内でオブジェクトを移動可能にレンダリングするために実行されるように構成される、上記[23]に記載のシステム。
[25]
スクリプトを含むハイブリッドシーンが3D表示のために出力される、上記[24]に記載のシステム。
[26]
少なくとも1つのプロセッサが更に、
オブジェクトに関連付けられる別のスクリプトを選択するように構成され、ここで、別のスクリプトは、オブジェクトとシーン内の少なくとも1つの他のオブジェクトとの間の相互作用を表し;及び
ハイブリッドシーン内のCADモデルにスクリプトを適用するように構成される、上記[25]に記載のシステム。
[27]
少なくとも1つのプロセッサが更に
マッチしたコンポーネントから材料特性を抽出するように構成され;及び
抽出された材料特性をCADモデルに適用するように構成される、上記[21]に記載のシステム。
[28]
3Dシーンを生成するためのコンピュータ実施の方法であって、
スキャンに基づいてシーンを受信するステップと、ここで、シーンは少なくとも1つのオブジェクトを含み;
シーンをシーンコンポーネントにセグメント化するためにシーン内の画像要素を処理するステップと、ここで、画像要素は、ボクセル、点、又はポリゴンの少なくとも1つを含み;
シーンコンポーネントと格納された画像データとの比較に基づいて、シーンコンポーネントの中からマッチしたコンポーネント特定するステップと、ここで、マッチしたコンポーネントは、少なくとも1つのオブジェクトのコンポーネントに対応し;
マッチしたコンポーネントに基づいて、少なくとも1つのオブジェクトに対応する画像要素を特定するステップと;
少なくとも1つのオブジェクトに対応する画像要素に基づいて、ストレージ場所からCADモデルを取得するステップと;
シーンとオブジェクトのCADモデルとを組み合わせることにより変更されたシーンを生成するステップと;及び
変更されたシーンを3D表示用に出力するステップと、を含む方法。
[29]
変更されたシーンは、CADモデルの少なくとも一部及び少なくとも1つのオブジェクトの少なくとも一部を含むハイブリッドシーンである、上記[28]に記載の方法。
[30]
受信されたスキャンが不完全なスキャンであり、及び、変更されたシーンが、CADモデルのセマンティクスに基づくシーンの改良を含む、上記[28]に記載の方法。
[31]
CADモデルに関連付けられたセマンティクスにアクセスするステップと、ここで、セマンティクスは、少なくとも1つのオブジェクトの可動特性を表すスクリプトを含み;及び
ハイブリッドシーン内のCADモデルにスクリプトを適用するステップと、を更に含む方法であって、
ここで、スクリプトは、ハイブリッドシーン内でオブジェクトを移動可能にレンダリングするために実行されるように構成される、上記[30]に記載の方法。
[32]
スクリプトを含むハイブリッドシーンが3D表示のために出力される、上記[31]に記載の方法。
[33]
オブジェクトに関連付けられた別のスクリプトを選択するステップと、ここで、別のスクリプトは、オブジェクトとシーン内の少なくとも1つの他のオブジェクトとの間の相互作用を表し;及び
ハイブリッドシーンのCADモデルにスクリプトを適用するステップと、
を更に含む、上記[32]に記載の方法。
[34]
マッチしたコンポーネントから材料特性を抽出するステップと;及び
抽出された材料特性をCADモデルに適用するステップと、
を更に含む、上記[28]に記載の方法。
[35]
少なくとも1つのプロセッサによって実行されると、3Dシーンの生成を可能にするオペレーションを少なくとも1つのプロセッサに実行させる命令を含む非一時的なコンピュータ可読媒体であって、該オペレーションは、
シーンをシーンコンポーネントにセグメント化するためにシーン内の画像要素を処理することと、ここで、画像要素は、ボクセル、点、又はポリゴンの少なくとも1つを含み;
シーンコンポーネントと格納された画像データとの比較に基づいて、シーンコンポーネントの中からマッチしたコンポーネントを特定することと、ここで、マッチしたコンポーネントは、少なくとも1つのオブジェクトのコンポーネントに対応し;
マッチしたコンポーネントに基づいて、少なくとも1つのオブジェクトに対応する画像要素を特定することと;
少なくとも1つのオブジェクトに対応する画像要素に基づいて、ストーレージ場所からCADモデルを取得することと;
シーンとオブジェクトのCADモデルを組み合わせることにより変更されたシーンを生成することと;及び
変更したシーンを3D表示用に出力することと、
を含む、非一時的なコンピュータ可読媒体。
[36]
スキャンは不完全なスキャンであり、及び、変更されたシーンは、CADモデルのセマンティクスに基づくシーンの改良を含む、上記[35]に記載の非一時的なコンピュータ可読媒体。
[37]
オペレーションは、
CADモデルに関連付けられたセマンティクスにアクセスすることと、ここで、セマンティクスは、少なくとも1つのオブジェクトの可動特性を表すスクリプトを含み;及び
ハイブリッドシーン内のCADモデルにスクリプトを適用することと、を更に含み、
ここで、スクリプトは、ハイブリッドシーン内でオブジェクトを移動可能にレンダリングするために実行されるように構成される、上記[35]に記載の非一時的なコンピュータ可読媒体。
[38]
スクリプトを含むハイブリッドシーンが3D表示のために出力される、上記[35]に記載の非一時的なコンピュータ可読媒体。
[39]
オペレーションは、
オブジェクトに関連付けられた別のスクリプトを選択することと、ここで、別のスクリプトは、オブジェクトとシーン内の少なくとも1つの他のオブジェクトとの間の相互作用を表し;及び
ハイブリッドシーンのCADモデルにスクリプトを適用することと、
を更に含む、上記[35]に記載の非一時的なコンピュータ可読媒体。
[40]
方法は、
マッチしたコンポーネントから材料特性を抽出することと;及び
抽出された材料特性をCADモデルに適用することと、
を更に含む、上記[35]に記載の非一時的なコンピュータ可読媒体。
[41]
静止画像の一部をアニメーション化するためのコンピュータ実施のシステムであって、少なくとも1つのプロセッサーを含み、該少なくとも1つのプロセッサーは、
オブジェクトの静止画像を受信するように構成され;
ルックアップを実行して、メモリに格納された類似のオブジェクトの少なくとも1つの画像を識別するためにルックアップを実行するように構成され、ここで、メモリは、不動部分から可動部分を類似のオブジェクトの格納された画像において区別するセグメンテーションデータを含み、及び可動部分に関連付けられた移動データを含み;
静止画像をディスクリートコンポーネントにセグメント化するためオブジェクトの受信した静止画像内の画像要素の解析を実行するように構成され;
ディスクリートコンポーネントを少なくとも1つの類似のオブジェクトの可動部分と比較して、静止画像の不動コンポーネントとは異なる、可動ディスクリートコンポーネントの少なくとも1つの静止レンダリングを、受信画像内において、特定するように構成され;
静止画像から可動ディスクリートコンポーネントの静止レンダリングを抽出するように構成され;
移動データ及び静止レンダリングを使用して、可動コンポーネントの静止レンダリングの可動バージョンを構築するように構成され;及び
静止画像の不動コンポーネントを、可動コンポーネントの静止レンダリングの構築された可動バージョンと組み合わせることによってハイブリッド画像を構築し、それによって、静止画像からの不動コンポーネントは不動のままでありながら、可動ディスクリートコンポーネントの可動バージョンが、ハイブリッド画像内で移動できるようにするように構成される、
コンピュータ実施のシステム。
[42]
静止画像が人の頭を含み、ディスクリートコンポーネントが人の頭と髪を含み、そして、少なくとも1つのプロセッサは、ハイブリッド画像において、頭が動かないままでありながら、髪が動くようにさせるように構成される、上記[41]に記載のコンピュータ実施のシステム。
[43]
静止画像が水域を含み、ディスクリートコンポーネントが波及び岸を含み、そして、少なくとも1つのプロセッサは、ハイブリッド画像において、岸が動かないままでありながら、波が動くようにさせるように構成される、上記[41]に記載のコンピュータ実施のシステム。
[44]
静止画像が木を含み、ディスクリートコンポーネントは幹及び葉を含み、そして、少なくとも1つのプロセッサは、ハイブリッド画像において、幹が動かないままでありながら、葉が動くようにさせるように構成される、上記[41]に記載のコンピュータ実施のシステム。
[45]
静止画像が人を含み、ディスクリートコンポーネントが人の身体及び衣類を含み、そして、少なくとも1つのプロセッサは、ハイブリッド画像において、身体が動かないままでありながら、衣類が動くようにさせるように構成される、上記[41]に記載のコンピュータ実施のシステム。
[46]
静止画像が時計を含み、ディスクリートコンポーネントが文字盤及び針を含み、少なくとも1つのプロセッサが、ハイブリッド画像において、時計に異なる時間を表示させるように構成される、上記[41]に記載のコンピュータ実施のシステム。
[47]
静止画像がペットを含み、ディスクリートコンポーネントが身体及び毛皮を含み、そして、少なくとも1つのプロセッサは、ハイブリッド画像において、身体が動かないままでありながら、毛皮が動くようにさせるように構成される、上記[41]に記載のコンピュータ実施のシステム。
[48]
静止画像が動物を含み、ディスクリートコンポーネントが身体及び尾を含み、そして、少なくとも1つのプロセッサは、ハイブリッド画像において、身体が動かないままでありながら、尾が動くようにさせるように構成される、上記[41]に記載のコンピュータ実施のシステム。
[49]
類似のオブジェクトの格納された画像内の可動部分が複数の可動部分を含み、少なくとも1つのプロセッサが更に、
可動部分の中から選択された可動部分の選択を受信するように構成され;
ディスクリートコンポーネントを選択された可動部分と比較して、可動ディスクリートコンポーネントの少なくとも静止レンダリングを特定するように構成され;
静止レンダリング及び移動データを使用して、選択された可動コンポーネントの静止レンダリングの可動バージョンを構築するように構成され;及び
静止画像の不動のコンポーネントを、選択された可動コンポーネントの静止レンダリングの構築された可動バージョンと組み合わせることによって、ハイブリッド画像を構築するように構成される、
上記[41]に記載のコンピュータ実施のシステム。
[50]
少なくとも1つのプロセッサは、複数の可動部分を検出し、ユーザに選択を促すように構成される、上記[49]に記載のコンピュータ実施のシステム。
[51]
移動データは、ユーザによって構成可能である、上記[41]に記載のコンピュータ実施のシステム。
[52]
静止画像の一部をアニメーション化するためのコンピュータ実施の方法であって、
第1のオブジェクトの静止画像を受信するステップと;
メモリに格納された少なくとも1つの第2のオブジェクトを特定するステップと、ここで、メモリは、第2のオブジェクトにおいて可動部分を不動部分から区別するセグメンテーションデータを含み、及び可動部分に関連付けられた移動データを含み;
静止画像をディスクリートコンポーネントにセグメント化するために第1のオブジェクトの受信された静止画像内のボクセルの解析を実行するステップと;
ディスクリートコンポーネントを少なくとも1つの第2のオブジェクトの可動部分と比較して、受信された画像において、静止画像の不動コンポーネントとは異なる可動ディスクリートコンポーネントの少なくとも静止レンダリングを特定するステップと;
静止画像から可動ディスクリートコンポーネントの静止レンダリングを抽出するステップと;
静止レンダリング及び移動データを使用して、可動コンポーネントの静止レンダリングの可動バージョンを構築するステップと;
静止画像の不動コンポーネントを、可動コンポーネントの静止レンダリングの構築された可動バージョンと組み合わせることによってハイブリッド画像を構築し、それによって、静止画像からの不動コンポーネントが動かないままでありながら、可動ディスクリートコンポーネントの可動バージョンが、ハイブリッド画像内で動くことができるようにするステップと、及び
ハイブリッド画像を出力するステップと、
を含む方法。
[53]
ハイブリッド画像を出力することは、ハイブリッド画像を表示することを含む、上記[49]に記載のコンピュータ実施の方法。
[54]
ハイブリッド画像を出力することは、ハイブリッド画像を格納することを含む、上記[49]に記載のコンピュータ実施の方法。
[55]
ハイブリッド画像を出力することは、ハイブリッド画像を転送することを含む、上記[49]に記載のコンピュータ実施の方法。
[56]
第1のオブジェクト及び第2のオブジェクトが類似している、上記[49]に記載のコンピュータ実施の方法。
[57]
第1のオブジェクトと第2のオブジェクトとは実質的に異なる、上記[49]に記載のコンピュータ実施の方法。
[58]
第1のオブジェクト及び第2のオブジェクトは、ユーザによって選択される、上記[49]に記載のコンピュータ実施の方法。
[59]
移動データは、ユーザによって構成可能である、上記[49]に記載のコンピュータ実施の方法。
[60]
少なくとも1つのプロセッサによって実行されると、静止画像の一部をアニメーション化することができるオペレーションを少なくとも1つのプロセッサが実行するようにさせる命令を含む非一時的なコンピュータ可読媒体であって、そのオペレーションは、
オブジェクトの静止画像を受信することと;
メモリに格納されたオブジェクトの少なくとも1つの画像を特定するためルックアップを実行することと、ここで、メモリは、類似のオブジェクトの格納された画像において、不動部分から可動部分を区別するセグメンテーションデータを含み、及び可動部分に関連付けられる移動データを含み;
静止画像をディスクリートコンポーネントにセグメント化するために、オブジェクトの受信された静止画像内のボクセルの解析を実行することと;
ディスクリートコンポーネントを少なくとも1つの類似のオブジェクトの可動部分と比較して、受信された画像において、静止画像の不動コンポーネントとは異なる、可動ディスクリートコンポーネントの少なくとも1つの静止レンダリングを特定することと;
静止画像から可動ディスクリートコンポーネントの静止レンダリングを抽出することと;
静止レンダリング及び移動データを使用して、可動コンポーネントの静止レンダリングの可動バージョンを構築することと;
静止画像の不動コンポーネントを、可動コンポーネントの静止レンダリングの構築された可動バージョンと組み合わせることによって、ハイブリッド画像を構築し、それによって、静止画像からの不動コンポーネントが動かないままでありながら、可動ディスクリートコンポーネントの可動バージョンが、ハイブリッド画像内で動くことができるようにすることと;及び
ハイブリッド画像を出力することと、
を含む、非一時的なコンピュータ可読媒体。
[61]
不完全な3Dデータからオブジェクトの完全な3Dモデルをシミュレートするためのコンピュータ実施のシステムであって、
少なくとも1つのプロセッサーを含み、該少なくとも1つのプロセッサーは、
オブジェクトの部分画像を受信するように構成され、ここで、部分画像は、2D画像又は不完全な3D画像の少なくとも1つであり;
部分画像を使用して、部分画像に対応する追加情報を少なくとも1つのデータ構造でサーチするように構成され;
データ構造がオブジェクトの対応する3Dモデルを含まないことを決定するように構成され;
部分画像内のオブジェクトとは異なるが、部分画像内のオブジェクトと類似している参照3Dモデルについて少なくとも1つのデータ構造でサーチするように構成され;
部分画像を参照3Dモデルと比較して、部分画像の欠落した特性に一般的に対応する3D参照画像の部分を決定するように構成され;
部分画像を追加情報を組み合わせて、オブジェクトのシミュレートされた完全な3Dモデルを構築するように構成され;及び
シミュレートされた完全な3Dモデルを表示装置に表示するために出力するように構成される、コンピュータ実施のシステム。
[62]
追加情報は、受信された部分画像に対応する3Dモデルを含む、上記[61]に記載のコンピュータ実施のシステム。
[63]
追加情報は、部分画像内のオブジェクトに類似する少なくとも1つのオブジェクトの部分スキャンから得られた情報を含む、上記[61]に記載のコンピュータ実施のシステム。
[64]
組み合わせることは、部分画像を3D参照モデルの決定された部分とメッシュ処理することを含む、上記[61]に記載のコンピュータ実施のシステム。
[65]
少なくとも1つのプロセッサは、部分画像のテクスチャ及び色の少なくとも1つを特定し、そして、メッシュ作成中に、3D参照モデルの決定された部分に少なくとも1つのテクスチャ及び色を適用するように更に構成される、上記[61]に記載のコンピュータ実施のシステム。
[66]
少なくとも1つのプロセッサは、シミュレートされた完全な3Dモデルを3D消費可能な環境と互換性のあるフォーマットにエクスポートするように構成される、上記[61]に記載のコンピュータ実施のシステム。
[67]
3D消費可能な環境は、仮想現実環境及び拡張現実環境の少なくとも1つを含む、上記[66]に記載のコンピュータ実施のシステム。
[68]
少なくとも1つのプロセッサが更に、
シミュレートされた完全な3Dモデルを約0°から約360°の範囲の角度で回転させるための入力を受信するように構成され;
入力に基づいて、シミュレートされた完全な3Dモデルを回転させるように構成され;及び
回転したシミュレートされた完全な3Dモデルを表示装置に表示するように構成される、上記[61]に記載のコンピュータ実施のシステム。
[69]
少なくとも1つのプロセッサは、シミュレートされた完全な3Dモデルをスケーリングするための入力を受け取り、入力に基づいてシミュレートされた完全な3Dモデルをスケーリングし、及びスケーリングされたシミュレートされた完全な3Dモデルを表示装置に表示するように更に構成される、上記[61]に記載のコンピュータ実施のシステム。
[70]
不完全な3Dデータからオブジェクトの完全な3Dモデルをシミュレートするためのコンピュータ実施の方法であって、
オブジェクトの部分画像を受信するステップと、ここで、部分画像は、2D画像又は不完全な3D画像の少なくとも1つであり;
部分画像に対応する追加情報を求めて少なくとも1つのデータ構造をサーチするステップと;
データ構造がオブジェクトの対応する3Dモデルを含まないことを決定するステップと;
部分画像内のオブジェクトとは異なるが、部分画像内のオブジェクトと類似性を有する参照3Dモデルについて少なくとも1つのデータ構造をサーチし、ここで、参照3Dモデルは追加のデータを含み;
部分画像を参照3Dモデルと比較して、部分画像の欠落した特性に一般的に対応する参照3Dモデルの部分を決定するステップと;
部分画像を追加情報、追加のデータ、又は、追加情報と追加のデータの組み合わせと組み合わせて、オブジェクトのシミュレートされた完全な3Dモデルを構築するステップと;及び
シミュレートされた完全な3Dモデルを表示装置に表示するために出力するステップと、
を含む、コンピュータ実施の方法。
[71]
追加情報又は追加のデータは、受信された部分画像に対応する3Dモデルを含む、上記[60]に記載のコンピュータ実施の方法。
[72]
追加情報又は追加のデータは、部分画像内のオブジェクトに類似する少なくとも1つのオブジェクトの部分スキャンから得られた情報を含む、上記[60]に記載のコンピュータ実施の方法。
[73]
組み合わせることは、部分画像を3D参照モデルの決定された部分とメッシュ処理することを含む、上記[60]に記載のコンピュータ実施の方法。
[74]
部分画像のテクスチャ及び色の少なくとも1つを特定し、メッシュ処理中に、少なくとも1つのテクスチャ及び色を、3D参照モデルの決定された部分に適用するステップを更に含む、上記[60]に記載のコンピュータ実施の方法。
[75]
完全な3Dモデルを出力して、シミュレートされた完全な3Dモデルを3D消費可能な環境と互換性のあるフォーマットにエクスポートする、上記[60]に記載のコンピュータ実施の方法。
[76]
3D消費可能な環境は、仮想現実環境及び拡張現実環境の少なくとも1つを含む、上記[75]に記載のコンピュータ実施の方法。
[77]
シミュレートされた完全な3Dモデルを約0°から約360°の範囲の角度で回転させるための入力を受信するステップと;
入力に基づいてシミュレートされた完全な3Dモデルを回転させるステップと;及び
回転させたシミュレートされた完全な3Dモデルを表示装置に表示するステップと、
を更に含む、上記[60]に記載のコンピュータ実施の方法:
[78]
シミュレートされた完全な3Dモデルをスケーリングするための入力を受信するステップと、入力に基づいてシミュレートされた完全な3Dモデルをスケーリングするステップと、スケーリングされたシミュレートされた完全な3Dモデルを表示装置に表示するステップと、を更に含む、上記[70]に記載のコンピュータ実施の方法。
[79]
少なくとも1つのプロセッサによって実行されると、不完全な3Dデータからオブジェクトの完全な3Dモデルをシミュレートすることを可能にするオペレーションを少なくとも1つのプロセッサに実行させる命令を含む、非一時的なコンピュータ可読記憶媒体であって、その方法は、
オブジェクトの部分画像を受信するステップと、ここで、部分画像は、2D画像又は不完全な3D画像の少なくとも1つであり;
部分画像に対応する追加情報を求めて少なくとも1つのデータ構造をサーチするステップと;
データ構造がオブジェクトの対応する3Dモデルを含まないことを決定するステップと;
部分画像内のオブジェクトとは異なるが、部分画像内のオブジェクトと類似性を有する参照3Dモデルについて、少なくとも1つのデータ構造をサーチするステップと;
部分画像を参照3Dモデルと比較して、部分画像の欠落した特性に一般的に対応する参照3Dモデルの部分を決定するステップと;
部分画像と追加情報を組み合わせて、オブジェクトのシミュレートされた完全な3Dモデルを構築するステップと;及び
シミュレートされた完全な3Dモデルを表示装置に表示するために出力するステップと、
を含む、非一時的なコンピュータ可読記憶媒体。
[80]
追加情報又は追加のデータは、受信された部分画像に対応する3Dモデルを含む、上記[79]に記載の非一時的なコンピュータ可読媒体。
[81]
ロボットの制御システムであって、その制御システムは、
少なくとも1つのプロセッサーを含み、その少なくとも1つのプロセッサーは、
ロボットに関連付けられた環境を描いたシーンのための画像情報を受信するように構成され;
シーンをセグメント化して、シーン内の少なくとも1つのオブジェクトに関連付けられた画像データを抽出するように構成され;
複数のオブジェクトに関する履歴情報を格納するデータ構造にアクセスするように構成され;
抽出された画像データをデータ構造内の履歴情報と比較して、少なくとも1つのオブジェクトに関するデータ構造内の対応する情報を特定するように構成され、ここで、対応する情報は、少なくとも1つのオブジェクトの可動特性を表すスクリプトを含み;及び
スクリプトを適用することによりロボットを制御し、これにより、ロボットがスクリプトで規定された可動特性に基づいて、少なくとも1つのオブジェクトと相互作用するように構成される、制御システム。
[82]
少なくとも1つのプロセッサは、シーン内の画像要素を処理することによって、ボクセル、点、又はポリゴンの少なくとも1つを含む画像要素にシーンをセグメント化するように構成される、上記[81]に記載の制御システム。
[83]
ロボットは、シーンのための画像情報を生成するように構成されたカメラを含む、上記[81]に記載の制御システム。
[84]
可動特性は、外部刺激に基づいて、少なくとも1つのオブジェクトの動きを規定する少なくとも1つのルールを含む、上記[81]に記載の制御システム。
[85]
少なくとも1つのプロセッサは、少なくとも1つのオブジェクトの可動特性に基づいて、ロボットによって少なくとも1つのオブジェクトに及ぼされる外部刺激を調整するように構成される、上記[84]に記載の制御システム。
[86]
少なくとも1つのプロセッサは、ロボットと少なくとも1つのオブジェクトとの相互作用に基づいて変更されたシーンを生成するように構成される、上記[81]に記載の制御システム。
[87]
少なくとも1つのプロセッサは、変更されたシーンを表示のために出力するように構成される、上記[86]に記載の制御システム。
[88]
少なくとも1つのプロセッサは更に
少なくとも1つのオブジェクトに関連付けられた別のスクリプトを選択するように構成され、ここで、別のスクリプトは、シーン内の少なくとも1つのオブジェクトと少なくとも1つの他のオブジェクトとの間の相互作用を表し;及び
スクリプトを少なくとも1つのオブジェクトに適用するように構成される、
上記[81]に記載のシステム。
[89]
ロボットを制御するためのコンピュータ実施の方法であって、
ロボットに関連付けられた環境を描写するシーンのための画像情報を受信するステップと;
シーンをセグメント化して、シーン内の少なくとも1つのオブジェクトに関連付けられた画像データを抽出するステップと;
複数のオブジェクトに関する履歴情報を格納するデータ構造にアクセスするステップと;
抽出された画像データをデータ構造内の履歴情報と比較して、少なくとも1つのオブジェクトに関するデータ構造内の対応する情報を特定するステップと、ここで、対応する情報は、少なくとも1つのオブジェクトの可動特性を表すスクリプトを含み;及び
スクリプトを適用することによりロボットを制御し、それによってロボットがスクリプトで規定された可動特性に基づいて少なくとも1つのオブジェクトと相互作用するようにさせるステップと、を含む方法。
[90]
シーンをセグメント化するステップは、シーン内の画像要素を処理するステップを含み、画像要素は、ボクセル、点、又はポリゴンの少なくとも1つを含む、上記[89]に記載の方法。
[91]
画像情報を受信するステップは、ロボットに関連付けられたカメラを使用してシーンのための画像情報を生成するステップを含む、上記[89]に記載の方法。
[92]
可動性特性は、外部刺激に基づいて少なくとも1つのオブジェクトの動きを規定する少なくとも1つのルールを含む、上記[89]に記載の方法。
[93]
少なくとも1つのオブジェクトの可動特性に基づいて、ロボットによって少なくとも1つのオブジェクトに及ぼされる外部刺激を調整するステップを更に含む、上記[92]に記載の方法。
[94]
ロボットと少なくとも1つのオブジェクトとの相互作用に基づいて変更されたシーンを生成するステップを更に含む、上記[89]に記載の方法。
[95]
変更されたシーンを表示のために出力するステップを更に含む、上記[94]に記載の方法。
[96]
少なくとも1つのオブジェクトに関連付けられた別のスクリプトを選択するステップと、ここで、別のスクリプトは、少なくとも1つのオブジェクトとシーン内の少なくとも1つの他のオブジェクトとの間の相互作用を表し;及び
スクリプトを少なくとも1つのオブジェクトに適用するステップと、
を更に含む、上記[94]に記載の方法。
[97]
少なくとも1つのプロセッサによって実行されると、ロボットを制御するためのオペレーションを少なくとも1つのプロセッサに実行させる命令を含む非一時的なコンピュータ可読媒体であって、該オペレーションは、
ロボットに関連付けられた環境を描写するシーンの画像情報を受信することと;
シーンをセグメント化して、シーン内の少なくとも1つのオブジェクトに関連付けられた画像データを抽出することと;
複数のオブジェクトに関する履歴情報を格納するデータ構造にアクセスすることと;
抽出された画像データをデータ構造内の履歴情報と比較して、少なくとも1つのオブジェクトに関するデータ構造内の対応する情報を特定することと、ここで、対応する情報は、少なくとも1つのオブジェクトの可動特性を表すスクリプトを含み;及び
スクリプトを適用することによりロボットを制御し、それによってロボットがスクリプトで規定された可動特性に基づいて少なくとも1つのオブジェクトと相互作用するようにさせること、
を含む、非一時的なコンピュータ可読媒体。
[98]
画像情報を受信することは、ロボットに関連付けられたカメラを使用してシーンの画像情報を生成することを含む、上記[97]に記載の非一時的なコンピュータ可読媒体。
[99]
可動特性は、外部刺激に基づいて少なくとも1つのオブジェクトの動きを規定する少なくとも1つのルールを含む、上記[97]に記載の非一時的なコンピュータ可読媒体。
[100]
少なくとも1つのオブジェクトの可動特性に基づいて、ロボットによって少なくとも1つのオブジェクトに及ぼされる外部刺激を調整することを更に含む、上記[99]に記載の非一時的なコンピュータ可読媒体。
[101]
三次元(3D)コンテンツ作成を自動化するためのコンピュータ実施のシステムであって、該システムは、少なくとも1つのプロセッサーを含み、
該少なくとも1つのプロセッサーは、
シーンのスキャンを受信するように構成され;
スキャンをセグメント化して、シーン内の少なくとも1つのオブジェクトを特定するように構成され;
スキャンから特定されたオブジェクトに対応する画像データを抽出するように構成され;
抽出された画像データを使用して、少なくとも1つのデータ構造をサーチし、特定されたオブジェクトに対する少なくとも1つの補完的なオブジェクトの少なくとも1つの画像を特定するように構成され;
少なくとも1つのデータ構造から、少なくとも1つの補完的なオブジェクトの3D表現を取得するように構成され;
少なくとも1つの補完的なオブジェクトの3D表現を、特定されたオブジェクトに対応する部分以外のシーンのスキャンの部分と組み合わせることによって、ハイブリッドシーンを生成するように構成され;及び
ハイブリッドシーンを表示装置に表示するために出力するように構成される、コンピュータ実施のシステム。
[102]
少なくとも1つの補完的なオブジェクトの少なくとも1つの画像は、複数の補完的なオブジェクトの複数の画像を含む、上記[101]に記載のシステム。
[103]
少なくとも1つのプロセッサは、複数の補完的なオブジェクトの複数の画像のインデックスを表示するために出力するように更に構成される、上記[102]に記載のシステム。
[104]
少なくとも1つのプロセッサが
ユーザから、複数の補完的なオブジェクトの少なくとも1つの選択を受信するように構成され;及び
選択をシーンのスキャン内に挿入するように更に構成される、上記[103]に記載のシステム。
[105]
抽出された画像データは、特定されたオブジェクトのための分類を含む、上記[101]に記載のシステム。
[106]
少なくとも1つのプロセッサは、分類に基づいて少なくとも1つの補完的なオブジェクトを特定する、上記[105]に記載のシステム。
[107]
少なくとも1つのプロセッサは、シーン内の少なくとも1つの特定されたオブジェクトのセマンティックタグを生成するように構成される、上記[101]に記載のシステム。
[108]
少なくとも1つのプロセッサは、
特定されたオブジェクトのセマンティックタグを、少なくとも1つのデータ構造に格納されているオブジェクトのセマンティックタグと比較するように構成され;及び
比較に基づいて、少なくとも1つの補完的なオブジェクトを選択するように構成される、上記[107]に記載のシステム。
[109]
少なくとも1つのデータ構造は、セマンティックタグに関連付けられた3Dシーンを含む、上記[101]に記載のシステム。
[110]
3Dコンテンツの作成を自動化するためのコンピューター実施の方法であって、
シーンのスキャンを受信するステップと;
スキャンをセグメント化して、シーン内の少なくとも1つのオブジェクトを特定するステップと;
スキャンから特定されたオブジェクトに対応する画像データを抽出するステップと;
抽出された画像データを使用して、少なくとも1つのデータ構造をサーチし、特定されたオブジェクトに対する少なくとも1つの補完的なオブジェクトの少なくとも1つの画像を特定するステップと;
データ構造から、少なくとも1つの補完的なオブジェクトの3D表現を取得するステップと;
少なくとも1つの補完的なオブジェクトの3D表現を、特定されたオブジェクトに対応する部分以外の受信されたスキャンの部分と組み合わせることによってハイブリッドシーンを生成するステップと;及び
ハイブリッドシーンを表示装置に表示ために出力するステップと
を含む方法。
[111]
少なくとも1つの補完的なオブジェクトの少なくとも1つの画像は、複数の補完的なオブジェクトの複数の画像を含む、上記[110]に記載の方法。
[112]
複数の補完的なオブジェクトの複数の画像のインデックスを表示するために出力するステップを更に含む、上記[111]に記載の方法。
[113]
ユーザから、複数の補完的なオブジェクトの少なくとも1つの選択を受信するステップと;及び
選択をシーンのスキャン内に挿入するステップと、
を更に含む、上記[112]に記載の方法。
[114]
画像データは、特定されたオブジェクトの分類を含む、上記[110]に記載の方法。
[115]
分類に基づいて少なくとも1つの補完的なオブジェクトを特定するステップを更に含む、上記[114]に記載の方法。
[116]
シーン内の少なくとも1つの特定されたオブジェクトのセマンティックタグを生成するステップを更に含む、上記[110]に記載の方法。
[117]
特定されたオブジェクトのセマンティックタグを、少なくとも1つのデータ構造に格納されているオブジェクトのセマンティックタグと比較するステップと;及び
比較に基づいて、少なくとも1つの補完的なオブジェクトを選択するステップと、
を更に含む、上記[116]に記載の方法。
[118]
少なくとも1つのデータ構造は、セマンティックタグに関連付けられた3Dシーンを含む、上記[110]に記載の方法。
[119]
少なくとも1つのプロセッサによって実行されると、3Dコンテンツの生成を可能にするオペレーションを少なくとも1つのプロセッサに実行させる命令を含む非一時的なコンピュータ可読媒体であって、該オペレーションは、
シーン内の少なくとも1つのオブジェクトを特定するためシーンのスキャンをセグメント化することと;
スキャンから特定されたオブジェクトに対応する画像データを抽出することと;
抽出された画像データを使用して、少なくとも1つのデータ構造をサーチし、特定されたオブジェクトに対する少なくとも1つの補完的なオブジェクトの少なくとも1つの画像を特定することと;
データ構造から、少なくとも1つの補完的なオブジェクトの3D表現を取得することと;
少なくとも1つの補完的なオブジェクトの3D表現を、特定されたオブジェクトに対応する部分以外の受信されたスキャンの部分と組み合わせることによってハイブリッドシーンを生成することと;及び
ハイブリッドシーンを表示装置に表示するために出力することと、
を含む、非一時的なコンピュータ可読媒体。
[120]
オペレーションは、
シーン内の少なくとも1つの特定されたオブジェクトのためのセマンティックタグを生成すること、
を更に含む、上記[119]に記載の非一時的なコンピュータ可読媒体。
[121]
3Dコンテンツを3Dブロードキャストシーンに追加するためのコンピュータ実施のシステムであって、
少なくとも1つのプロセッサーを含み、該少なくとも1つのプロセッサーは、
複数のクライアントデバイス上に少なくとも1つの3Dブロードキャストシーンを表示するように構成され;
3Dブロードキャストシーンの少なくとも1つのオブジェクトに対応する少なくとも1つのタグをクライアントデバイスに表示するように構成され;
少なくとも1つのタグ付けされたオブジェクトについて少なくとも1つの入札を行うための命令をクライアントデバイスに表示するように構成され;
クライアントデバイスから、少なくとも1つのタグ付けされたオブジェクトについて1つ又はそれ以上の入札を受信するように構成され;
受信された1つ又はそれ以上の入札の中から落札を決定するように構成され、ここで、落札は、クライアントデバイスの中からの落札クライアントデバイスに関連付けられ;
落札クライアントデバイスから、少なくとも1つのタグ付けされた画像に対応する落札者の画像データを受信するように構成され;
3Dブロードキャストシーンから、少なくとも1つのタグ付けされたオブジェクトに対応する3D画像データを分離するように構成され;
落札者の画像データを抽出された3D画像データと組み合わせることにより、タグ付けされたオブジェクトの3Dハイブリッドレンダリングを生成するように構成され;及び
ハイブリッドレンダリングを3Dブロードキャストシーン内に挿入して、それによって、ハイブリッド3Dブロードキャストシーンを生成するように構成される、
コンピュータ実施のシステム。
[122]
3Dブロードキャストシーンは、ビデオゲームの一部である、上記[121]に記載のコンピュータ実施のシステム。
[123]
3Dブロードキャストシーンは、3D映画の一部である、上記[121]に記載のコンピュータ実施のシステム。
[124]
3Dブロードキャストは、オンライン広告の一部である、上記[121]に記載のコンピュータ実施のシステム。
[125]
少なくとも1つのプロセッサは、落札者の画像データを3Dブロードキャストシーンのフォーマットと互換性のあるようにレンダリングするため落札者の画像データについて画像処理を実行するように更に構成される、上記[121]に記載のコンピュータ実施のシステム。
[126]
3Dブロードキャストシーンは、複数のフレームを含み、及び、挿入は、複数のフレーム内の落札画像データからオブジェクトをレンダリングする、上記[121]に記載のコンピュータ実施のシステム。
[127]
落札者の画像データが3Dブロードキャストシーン内の既存のコンテンツにオーバーレイされるように、落札者の画像データは、3Dブロードキャストシーン内に挿入される、上記[121]に記載のコンピュータ実施のシステム。
[128]
少なくとも1つのプロセッサは、
各シーンに対する空間セマンティックグラフを生成するように構成され;
生成された空間セマンティックグラフを、データ構造内に格納されているシーンの空間セマンティックグラフと比較するように構成され;
生成された空間セマンティックグラフに類似する空間セマンティックグラフを有するデータ構造内のシーンを特定するように構成され;及び
データ構造内において特定されたシーンに基づいて、3Dブロードキャストシーンに関する情報を決定するように構成される、
上記[121]に記載のコンピュータ実施のシステム。
[129]
3Dコンテンツを3Dブロードキャストシーンに追加するためのコンピュータ実施の方法であって、
複数のクライアントデバイス上に少なくとも1つの3Dブロードキャストシーンを表示するステップと;
3Dブロードキャストシーン内の少なくとも1つのオブジェクトに対応する少なくとも1つのタグをクライアントデバイス上に表示するステップと;
少なくとも1つのタグ付けされたオブジェクトについて少なくとも1つの入札を行うための命令をクライアントデバイス上に表示するステップと;
1つ又はそれ以上のクライアントデバイスから、少なくとも1つのタグ付けされたオブジェクトについて1つ又はそれ以上の入札を受信するステップと;
入札の中から落札を決定するステップと、ここで、落札は、クライアントデバイスからの落札クライアントデバイスに関連付けられ;
落札クライアントデバイスから、少なくとも1つのタグ付けされた画像に対応する落札者の画像データを受信するステップと;
少なくとも1つのタグ付けされたオブジェクトに対応する3D画像データを3Dブロードキャストシーンから分離するステップと;
落札者の画像データを抽出された3D画像データと組み合わせることにより、タグ付けされたオブジェクトの3Dハイブリッドレンダリングを生成するステップと;
ハイブリッドレンダリングをハイブリッド3Dブロードキャストシーン内に挿入するステップと;及び
3Dハイブリッドブロードキャストシーンをブロードキャストするステップと、
を含む、コンピュータ実施の方法。
[130]
3Dブロードキャストシーンは、ビデオゲームの一部である、上記[129]に記載のコンピュータ実施の方法。
[131]
3Dブロードキャストシーンは、3D映画の一部である、上記[129]に記載のコンピュータ実施の方法。
[132]
3Dブロードキャストは、オンライン広告の一部である、上記[129]に記載のコンピュータ実施の方法。
[133]
落札者の画像データは、2Dコンテンツ又は3Dコンテンツの1つを含む、上記[129]に記載のコンピュータ実施の方法。
[134]
3Dブロードキャストシーンは、複数のフレームを含み、及び、挿入は、複数のフレーム内の落札画像データからオブジェクトをレンダリングする、上記[129]に記載のコンピュータ実施の方法。
[135]
落札者の画像データが3Dブロードキャストシーン内の既存のコンテンツにオーバーレイされるように、落札者の画像データは、3Dブロードキャストシーン内に挿入される、上記[129]に記載のコンピュータ実施の方法。
[136]
各シーンに対する空間セマンティックグラフを生成するステップと;
生成された空間セマンティックグラフを、データ構造内に格納されるシーンの空間セマンティックグラフと比較するステップと;
生成された空間セマンティックグラフに類似する空間セマンティックグラフを有するシーンを特定するステップと;及び
データ構造内で特定されたシーンに基づいて、3Dブロードキャストシーンに関する情報を決定するステップと、
を更に含む、上記[129]に記載のコンピュータ実施の方法。
[137]
少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサにオペレーションを実行させる命令を含む、非一時的なコンピュータ可読媒体であって、
該オペレーションは、
複数のクライアントデバイス上に少なくとも1つの3Dブロードキャストシーンを表示することと;
3Dブロードキャストシーン内の少なくとも1つのオブジェクトに対応する少なくとも1つのタグをクライアントデバイス上に表示することと;
少なくとも1つのタグ付けされたオブジェクトについて少なくとも1つの入札を行うための命令をクライアントデバイス上に表示することと;
1つ又はそれ以上のクライアントデバイスから、少なくとも1つのタグ付けされたオブジェクトについて1つ又はそれ以上の入札を受信することと;
入札の中から落札を決定することと、ここで、落札は、クライアントデバイスからの落札クライアントデバイスに関連付けられ;
落札クライアントデバイスから、少なくとも1つのタグ付けされた画像に対応する落札者の画像データを受信することと;
少なくとも1つのタグ付けされたオブジェクトに対応する3D画像データを3Dブロードキャストシーンから分離することと;
落札者の画像データを抽出された3D画像データと組み合わせることにより、タグ付けされたオブジェクトの3Dハイブリッドレンダリングを生成することと;
ハイブリッドレンダリングをハイブリッド3Dブロードキャストシーン内に挿入することと;及び
ハイブリッド3Dブロードキャストシーンをブロードキャストすることと、
を含む、非一時的なコンピュータ可読媒体。
[138]
3Dブロードキャストシーンは、ビデオゲームの一部である、上記[137]に記載の非一時的なコンピュータ可読媒体。
[139]
3Dブロードキャストシーンは、3D映画の一部である、上記[137]に記載の非一時的なコンピュータ可読媒体。
[140]
3Dブロードキャストは、オンライン広告の一部である、上記[137]に記載の非一時的なコンピュータ可読媒体。