【文献】
上田 将司,フリーハンド映像から抽出した壁領域における複合現実型壁紙シミュレーション,電子情報通信学会技術研究報告 Vol.111, No.379 パターン認識・メディア理解,日本,社団法人 電子情報通信学会,2012年 1月12日,PRMU2011-169, MVE2011-78 (2012-01),P.1-6,ISSN 0913-5685
(58)【調査した分野】(Int.Cl.,DB名)
前記1つまたは複数のAR物体が、キャプチャされた画像内の2次元(2D)ブロッブの検出に基づいて生成され、前記2Dブロッブの前記検出が、前記予め定義された背景上に配置された前記1つまたは複数の目標の物体に関連する表面の反射率に基づく請求項1に記載の方法。
【発明を実施するための形態】
【0023】
いくつかの例示的な実施形態が、以降、本明細書の一部を形成する添付の図面に関連して説明される。本開示の1つまたは複数の態様が実装され得る特定の実施形態が以降で説明されるが、本開示の範囲または添付の請求項の精神を逸脱することなくその他の実施形態が使用される可能性があり、様々な修正がなされる可能性がある。
【0024】
拡張現実(AR)は、音声、テキスト、グラフィックス、動画、および位置(たとえば、全地球航法衛星システム(GNSS))データなどであるがこれらに限定されないコンピュータによって生成された感覚入力(sensory input)によって要素が拡張される物理的な現実世界の環境の生の直接的または間接的な像である可能性がある。
【0025】
物体認識などのARテクノロジーを用いることによって、ユーザの周囲の現実世界についての情報がインタラクティブになり、指で操作され得るようになる。ユーザの環境およびその環境の物体についての人工的な情報が、現実世界にかぶせられる可能性がある。
【0026】
本発明の実施形態は、拡張現実(AR)物体を対象とし、特に、モバイルARアプリケーションのために物理的スケッチとマルチタッチインタラクションとを組み合わせることを対象とする。加えて、AR物体は、ユーザによってマルチタッチインタラクションを用いてリアルタイムで修正され得る。
【0027】
ユーザがモバイルARアプリケーションのために物理的スケッチとマルチタッチインタラクションとを組み合わせることを可能にする特定の実施形態が、説明される。一部の実施形態において、AR物体をリアルタイムで生成するための物理的スケッチは、紙に基づく可能性がある。
【0028】
一部の実施形態によれば、ユーザは、マーカ(たとえば、目標エリア)の直上の(たとえば、紙に基づく)現実のコンテンツとインタラクションすることができる可能性がある。場合によっては、AR物体は、エンドユーザによってオンラインで作成される現実のコンテンツに基づく可能性がある。これは、仮想的なコンテンツがデジタルツールで開発者によりオフラインで作成される現在の実装と対照的である可能性がある。
【0029】
結果として、本発明の実施形態は、ユーザがこれまでのデジタルツールを必要とせずにAR物体およびコンテンツを作成するためのより直感的な方法を可能にする。加えて、飛び出す絵本(pop-up book)およびコラージュアートワークの概念を用いて、ARコンテンツの作成は、エンドユーザがさらに利用しやすくなる可能性がある。さらに、本発明の実施形態は、現実世界から情報をリアルタイムでキャプチャすることを含み得るARインタラクションのための新しい手法を提供し得る。
【0030】
図1は、一部の実施形態による例示的なモバイルデバイス100を示すブロック図である。モバイルデバイス100は、画像処理モジュール121に結合された画像キャプチャモジュール111を含む。画像処理モジュール121は、1つまたは複数の汎用プロセッサである可能性がある。加えて、画像処理モジュール121は、バスインターフェース103によってバス101に接続される可能性があり、画像キャプチャモジュール111は、バスインターフェース103によってバス101に接続される可能性があり、メモリ161が、バスインターフェース103によってバス101に接続される可能性がある。
【0031】
画像処理モジュール121は、バスインターフェース103およびバス101を介してディスプレイモジュール181にも結合される可能性がある。加えて、画像キャプチャモジュール111および画像処理モジュール121は、バスインターフェース103およびバス101を介してユーザ入力モジュール191に接続される可能性がある。画像処理モジュール121は、画像キャプチャモジュール111から受信される到着する画像データまたは動画データから目標の物体の画像を検出し、キャプチャするように構成され得る。目標の物体の画像は、予め定義された背景に対して配置された物体を含む可能性がある。画像処理モジュール121は、予め定義された背景を目標の物体の画像と比較し、比較に基づいてスケッチを決定することができる。その後、画像処理モジュール121は、ディスプレイモジュールに表示するためにスケッチに基づいてAR物体を生成することができる。
【0032】
バスインターフェース103は、画像処理モジュール121、画像キャプチャモジュール111、およびそれらが関連付けられるメモリ161と統合される可能性がある。様々な実施形態においては、機能が、RAM、ROM、FLASH、またはディスクドライブなどのコンピュータ可読ストレージ媒体上など、メモリ161に1つまたは複数の命令またはコードとして記憶され、画像処理モジュール121によって実行され得る。メモリ161は、説明される機能を画像処理モジュール121に実行させるように構成されたソフトウェアコード(プログラミングコード、命令など)を記憶するプロセッサ可読メモリおよび/またはコンピュータ可読メモリである可能性がある。その他の実施形態において、説明される機能は、ハードウェアで実行される可能性がある。
【0033】
さらに、一部の実施形態において、モバイルデバイス100は、全地球航法衛星システム(GNSS)受信機171に結合されたGNSSアンテナ172を介してGNSS信号174を受信することができるGNSS受信機171を含み得る。また、GNSS受信機171は、GNSS無線信号174を全体的にまたは部分的に処理し、GNSS信号174を用いてモバイルデバイス100の位置を判定し得る。GNSS受信機171は、位置に基づく情報でモバイルARアプリケーションを支援することができる。
【0034】
さらに、一部の実施形態において、モバイルデバイス100は、バスインターフェース103によってバス101に接続されたワイヤレストランシーバ131も含む可能性がある。ワイヤレストランシーバ131は、アンテナ152を介してワイヤレス信号154を受信するように動作可能である可能性がある。ワイヤレス信号154は、ワイヤレスネットワークを介して送信され得る。一部の実施形態において、ワイヤレスネットワークは、インターネット、パーソナルアクセスネットワーク(PAN)、またはセルラーネットワーク(たとえば、GSM(登録商標)、WCDMA(登録商標)、LTE、CDMA2000ネットワーク)などであるがこれらに限定されない任意のワイヤレスネットワークである可能性がある。一部の実施形態において、アンテナ152および172は、同じアンテナである可能性がある。2つのアンテナが
図1に示されるが、その他の実施形態においては、任意の数のアンテナがモバイルデバイス100に存在する可能性があり、ワイヤレストランシーバ131およびGNSS受信機171が通信を目的として1つまたは複数のこれらのアンテナを共有する可能性があることが、理解され得る。ワイヤレストランシーバ131は、ネットワーク(たとえば、インターネット)との通信によってモバイルARアプリケーションを支援することができる。
【0035】
モバイルデバイス100は、セル電話、スマートフォン、PDA、タブレット、ラップトップ、追跡デバイス、または何らかのその他のワイヤレスのサポート可能および移動可能なデバイスである可能性があり、モバイル端末、移動局(MS)、端末、デバイス、ワイヤレスデバイス、ユーザ機器(UE)、SUPL対応端末(SET)、目標デバイス、目標と呼ばれるか、または何らかのその他の名前で呼ばれる可能性がある。
【0036】
一部の実施形態によれば、画像キャプチャモジュール111は、1つまたは複数の目標の物体および予め定義された背景の画像をキャプチャするように構成され得るレンズおよびイメージセンサを含む可能性があり、1つまたは複数の目標の物体は、予め定義された背景上に配置される。場合によっては、キャプチャされる画像は、動画である可能性があり、動画は、リアルタイムでキャプチャされる可能性がある。したがって、本明細書に記載の用語、画像は、動画および音声データを含み得る。画像キャプチャモジュール111は、1つもしくは複数のデジタルスチルカメラ、1つもしくは複数のビデオカメラ、1つもしくは複数のマイクロホン、またはこれらの任意の組合せを含み得る。画像キャプチャモジュール111の例は、RGBカメラ、深度カメラ、ステレオカメラなどを含み得るがこれらに限定されない。用語「カメラ」は、異なる種類である可能性がある複数のカメラ(たとえば、RGBカメラおよび深度カメラ)を指す可能性もある。
【0037】
一部の実施形態によれば、画像処理モジュール121は、
図16の方法1600に関連して説明されるように、画像キャプチャモジュール111によって受信された画像データから1つまたは複数の目標の物体を検出し、ディスプレイモジュール181に表示するための拡張された画像データを生成するように構成され得る。拡張された画像データを生成するために、画像キャプチャモジュール111は、キャプチャされた画像を1つまたは複数の目標の物体に対応する1つまたは複数のエリアと予め定義された背景に対応する1つまたは複数のエリアとに分割し得る。それから、画像キャプチャモジュール111は、1つまたは複数の目標の物体に対応する1つまたは複数のエリアをデジタル画像に変換し得る。画像キャプチャモジュール111は、1つまたは複数の目標の物体に対応する1つまたは複数のAR物体を生成し続け得る。一部の実施形態において、1つまたは複数の目標の物体は、ユーザによる手書きのスケッチを含む可能性がある。
【0038】
場合によっては、ディスプレイモジュール181は、生成されたAR物体を表示するように構成される。たとえば、ディスプレイモジュール181は、モバイルデバイスのディスプレイスクリーンまたはその他の視覚的なディスプレイデバイス(たとえば、プロジェクタ、ヘッドマウントディスプレイ、車両のディスプレイ、スマートウォッチ、カメラのディスプレイなど)を含む可能性がある。一部の実施形態において、生成されたAR物体は、
図7に示されるように、拡張された画像内の埋め込まれたAR物体として表示され得る。
【0039】
一部の実施形態において、ユーザ入力モジュール191は、ユーザがディスプレイモジュール181によって表示された3次元AR物体を制御する(たとえば、アニメーションさせる)ことを可能にする。たとえば、ユーザ入力モジュール191は、1つまたは複数のスイッチ、ボタン、ジョイスティック、またはキーなどの1つまたは複数の物理的なコントロールを含み得る。その他の例として、ユーザ入力モジュール191は、ディスプレイモジュール181のタッチスクリーン、スピーチインターフェース、ジェスチャ認識機、別のユーザ入力メカニズム、またはこれらの任意の組合せを含む可能性がある。一部の実施形態において、ユーザ入力モジュール191は、モバイルデバイス100とは別の異なるデバイス内にある可能性がある。
【0040】
場合によっては、画像処理モジュール121の少なくとも一部は、専用回路によって実装される可能性がある。その他の実施形態において、画像処理モジュール121の少なくとも一部は、画像処理モジュール121によって実行されるコンピュータが実行可能なコードの実行によって実装される可能性がある。例示するために、メモリ161は、画像処理モジュール121によって実行可能であるプログラム命令を記憶する非一時的コンピュータ可読ストレージ媒体を含む可能性がある。プログラム命令は、画像キャプチャモジュール111から受信された画像データ内の1つまたは複数の目標の物体を検出するためのコードと、1つまたは複数の目標の物体に対応する1つまたは複数のAR物体を生成するためのコードとを含み得る。
【0041】
図2は、エンドユーザまたは開発者の観点から見た異なる種類のARアプリケーションを比較する。
図2は、リアルタイムのARオーサリングおよび/またはリアルタイムのARスケッチのためのARアプリケーションの部類を表す本発明の実施形態をさらに示す。
【0042】
一部の実施形態によれば、エンドユーザがリアルタイムでコンテンツを作成するためにARアプリケーションを使用することを可能にするための方法が、開示される。リアルタイムARスケッチアプリケーション215に示されるように、エンドユーザは、仮想的なARコンテンツを作成し、使用することができる。
【0043】
対照的に、これまでのモバイルARアプリケーション205においては、アーティストおよび開発者が、仮想的なARコンテンツをオフラインで作成し、その仮想的なARコンテンツが、モバイルARアプリケーション205に組み込まれる可能性がある。そして、エンドユーザは、この予め定義された仮想的なARコンテンツをオンラインで操作またはナビゲーションし得るが、コンテンツをリアルタイムで修正または編集することはできない。
【0044】
代替的に、これまでのARブラウザのモバイルアプリケーション210において、エンドユーザは、仮想的なおよび現実のコンテンツを作成することができるが、コンテンツは、これまでのデジタルオーサリングツールを用いて、別のプラットフォーム上でやはりオフラインで生成される。用語「オフライン」は、本明細書において使用されるとき、エンドユーザがARコンテンツとインタラクションするために最終的に使用し得るプラットフォーム以外のプラットフォーム上でコンテンツを作成することを指す可能性があることが、理解され得る。たとえば、デスクトッププラットフォームのためにのみ仕立てられる可能性があるこれまでのARブラウザのモバイルアプリケーション210においては、エンドユーザは、画像を作成し、それらのエンドユーザのデスクトップに印および3Dモデルを置き、それらをウェブオーサリングツールを用いてサーバに追加し、そして、デスクトップ以外のモバイルデバイスまたはその他のデバイスを用いて後でコンテンツを体験する可能性がある。この例に示されるように、たとえエンドユーザが仮想的なまたは現実のコンテンツを作成することを実装が可能にし得るとしても、作成は、プロ向けのデジタルツールによるオフラインの作成だけにやはり制限される。
【0045】
本発明の実施形態は、リアルタイムARスケッチアプリケーション215に示されるように、ユーザがオンラインでしかもユーザにより生成されるコンテンツを作成することを可能にするARツールおよびモバイルARユーザインターフェースを説明する。用語「オンライン」は、本明細書において使用されるとき、エンドユーザがARコンテンツとインタラクションするために最終的に使用し得る同じプラットフォーム上でコンテンツをリアルタイムで作成することを指す可能性があることが、理解され得る。場合によっては、リアルタイムARスケッチアプリケーション215は、ユーザがモバイルARユーザインターフェースを用いてリアルタイムの仮想的なコンテンツを作成することを可能にすることができる。たとえば、モバイルARユーザインターフェースは、入力(たとえば、タブレット上のユーザの絵、写真編集、3Dモデリング)を受け取り、入力に基づいて仮想的なコンテンツをリアルタイムで更新することができる。
【0046】
加えて、本発明の実施形態は、物理的スケッチをARの仮想的なコンテンツと組み合わせることができる。場合によっては、組合せは、
図2の一番下のリアルタイムARスケッチアプリケーション215のより詳細な説明に示されるように、モバイルARインターフェース上でこれまでのスケッチをマルチタッチインタラクションと統合した結果である可能性がある。
【0047】
リアルタイムARスケッチアプリケーション215は、仮想ARスケッチ220モードと、紙ARスケッチ225モードと、ARスケッチおよびプレイ230モードとを含み得る。これらのモードを用いて、リアルタイムARスケッチアプリケーション215は、エンドユーザが仮想的なコンテンツと現実のコンテンツとの両方を作成し、使用することを可能にするために物理的スケッチ(たとえば、現実世界)およびタッチインタラクションを可能にする。
【0048】
一部の実施形態によれば、リアルタイムARスケッチアプリケーション215によって使用される方法は、現実世界のコンテンツをキャプチャするために専用の空間(たとえば、トラッキングエリア)を使用する概念に基づく可能性がある。たとえば、トラッキングエリア(たとえば、クアルコム自然特徴追跡(NFT)マーカ(Qualcomm Natural Feature Tracking (NFT) Marker))が、現実世界のコンテンツをキャプチャするための専用の空間として使用される可能性がある。加えて、トラッキングエリアは、コンテンツを編集するために使用され得る(たとえば、キャプチャアンドプレイ(capture-and-play)空間)。場合によっては、リアルタイムARスケッチアプリケーション215は、現実の物体をキャプチャし、トラッキングエリア上で操作され得る(たとえば、仮想的な)デジタルの対応物を作成することができる。トラッキングエリア(たとえば、トラッキングエリア305)は、
図3においてさらに検討される。
【0049】
これまでの仮想的なスケッチ220モードにおいては、ユーザが、AR物体を作成するためにデジタルデバイス上でスケッチすることができる。加えて、ユーザは、仮想的なコンテンツを作成するためにマーカ(たとえば、知られている寸法を有する物体、トラッキングエリア)上の作成されたAR物体を追跡し得る。一部の実施形態によれば、モバイルデバイス100の以下のモジュール、すなわち、画像キャプチャモジュール111 (たとえば、デジタルカメラおよび/またはその他の光センサ)、画像処理モジュール121、加速度計、GNSS受信機171、ジャイロスコープ、ソリッドステートコンパス(solid state compass)、およびワイヤレストランシーバ131のうちの1つまたは複数が、追跡するために使用され得る。
【0050】
これまでの紙ARスケッチ225モードにおいては、ユーザが、仮想的なコンテンツを作成するためにマーカ(たとえば、トラッキングエリア)上のAR物体をスケッチすることと追跡することとの両方が可能である。加えて、ユーザは、スケッチが追跡されている間にマーカ上のスケッチを操作することによってAR物体をいじることができる。
【0051】
現在の実装は、完全に3Dの再構築にのみ焦点を当てる可能性がある。対照的に、本発明の実施形態は、2次元(2D)から2.5次元(2.5D)までの再構築を可能にする技術を使用する可能性がある。たとえば、飛び出す絵本およびコラージュアートワークなどの2Dから2.5Dまでの物体が、創造的な作業を教える際の教育のための要素である可能性がある。したがって、より少ない次元を有することによって、アプリケーションは、ユーザ(たとえば、子供)によってより使用されやすくなる可能性があり、ユーザによってより想像力が働きやすくなる可能性がある。加えて、2Dから2.5Dまでの物体は、ゲーム、教育、エンターテインメント、アニメーション/操り人形芝居、芸術作品などのために使用されるときにより優れた機能を有する可能性がある。
【0052】
本明細書において説明される実装を具現化するARスケッチおよびプレイ230モードにおいては、ユーザが2Dから2.5Dまでの物体を用いる媒体上でスケッチすることができる。加えて、ユーザは、仮想的なコンテンツを作成するためにマーカ(たとえば、トラッキングエリア)上でキャプチャおよび編集を行うことができる。さらに、ユーザは、生成された1つまたは複数のAR物体をいじる(たとえば、操作する)ことができる。
【0053】
図3は、空間的な環境内の本発明の実施形態を示す。たとえば、
図3に示されるように、リアルタイムARスケッチアプリケーション215は、マーカ(たとえば、
図3のトラッキングエリア305、物理的スケッチおよびプレイエリア)を用いて、抽出すること、キャプチャすること、いじることを同時に行うことができる。加えて、マーカ(たとえば、トラッキングエリア305)は、3次元(3D)のリアルタイムコンテンツを生成するために使用され得る。
【0054】
場合によっては、ユーザは、トラッキングエリア305に物理的なコンテンツ310 (たとえば、スケッチ、絵、3Dの物理的な物体)を追加することができ、画像キャプチャモジュール111および画像処理モジュール121は、トラッキングエリア305上に配置された(たとえば、置かれた)物理的なコンテンツ310に基づいて1つまたは複数のAR物体315を生成することができる。たとえば、
図16は、トラッキングエリア305上に置かれた物理的なコンテンツに基づいて1つまたは複数のAR物体を生成するための例示的な方法を示す。その後、ユーザは、生成されたAR物体を編集し、いじることができる。
【0055】
たとえば、一部の実施形態において、リアルタイムARスケッチアプリケーション215は、マーカに基づく環境のための編集技術を含み得るキャプチャまたは編集メカニズムを用いて実装され得る。一部の実施形態において、キャプチャまたは編集メカニズムは、マーカに基づく環境の編集を可能にするために画像処理モジュール121とインタラクションし得る。結果として、複雑なコンピュータビジョン(CV) 3Dモデリングおよび取得は、AR環境を編集するために必要とされない可能性がある。
【0056】
図4は、一実施形態による、モバイルARアプリケーションのために物理的スケッチとマルチタッチインタラクションとを組み合わせるための方法400の実施形態を示す流れ図である。
【0057】
ブロック405において、ユーザは、現実の紙を用いて物体をスケッチし、切る可能性がある。代替的に、ユーザは、物体を描くかまたは貼り付ける可能性がある。
図5は、ユーザが現実の紙を用いて物体(たとえば、人の姿505)をスケッチする例を示す。
【0058】
410において、ユーザは、物体をトラッキングエリア305 (たとえば、キャプチャアンドプレイ空間)内に置く可能性がある。
図6は、ユーザがトラッキングエリア305内に物体(たとえば、人の姿505)を置く例を示す。
図6に示されるように、トラッキングエリア305は、予め定義された背景である可能性がある。トラッキングエリア305の一部の例は、AR追跡目標(AR tracking target)、クアルコムNFTマーカなどを含むがこれらに限定されない。
【0059】
415において、リアルタイムARスケッチアプリケーション215は、コンテンツをキャプチャする可能性がある。
図16の流れ図は、コンテンツをキャプチャする方法をさらに示す。加えて、上述のように、画像キャプチャモジュール111は、トラッキングエリア305上に配置された(たとえば、置かれた) 1つまたは複数の目標の物体を検出するように構成され得る。
【0060】
420において、リアルタイムARスケッチアプリケーション215は、キャプチャされた物体を取り込み、デジタル化する可能性がある。場合によっては、リアルタイムARスケッチアプリケーション215は、ブロック405およびブロック410からのスケッチをデジタル化し、そのスケッチをデジタル画像に変換する可能性がある。画像処理モジュール121は、画像キャプチャモジュール111から受信される到着する動画/画像データ内の1つまたは複数の目標の物体を検出し、ディスプレイモジュール181に表示するために1つまたは複数の目標の物体に対応する1つまたは複数のAR物体を生成するように構成され得る。
【0061】
これらのステップはモバイルデバイス100によってリアルタイムで実行される可能性があることが、理解され得る。
【0062】
その他の場合、画像処理モジュール121は、画像キャプチャモジュール111から受信される動画/画像データ内の目標の画像を検出するように構成され得る。画像処理モジュール121は、検出された目標の画像に基づいてスケッチおよび拡張現実(AR)データを生成するように構成され得る。
【0063】
425において、ユーザは、リアルタイムARスケッチアプリケーション215を用いてキャプチャされたコンテンツを編集する可能性がある。ユーザインターフェースは、マルチタッチインターフェースである可能性がある。
図12〜
図13は、リアルタイムARスケッチアプリケーション215を用いる異なる編集方法を示す。キャプチャされたコンテンツを編集する方法は、キャプチャされたコンテンツの寸法を修正することと、マーカ(トラッキングエリア305)上のキャプチャされたコンテンツの初期配置を修正することと、物体を用いたアニメーションを作成することと、物体にさらなる特性(たとえば、音、物理的な挙動)を追加することとを含む可能性があるが、これらに限定されない。これらの編集方法は、
図14に図示される表にさらに示される。
【0064】
430において、ユーザは、編集されたコンテンツまたはキャプチャされたコンテンツをいじる可能性がある。
図7は、キャプチャされたコンテンツを編集するおよび/またはいじる例を示す。コンテンツをいじることは、コンテンツとのアニメーション、操作、およびビデオゲームインタラクションを含む可能性があるが、これらに限定されない。
【0065】
図5〜
図7は、モバイルARアプリケーションのために物理的スケッチとマルチタッチインタラクションとを組み合わせるための方法400の例を示す。
図3および
図5に示されるように、ユーザは、ブロック405において既に説明されたように物体(たとえば、人の姿505)をスケッチすることができる。加えて、
図6は、ブロック410において既に説明されたようにトラッキングエリア305上に物体(たとえば、人の姿505)を置く例を示す。さらに、
図7は、ブロック425およびブロック430において既に説明されたようにトラッキングエリア305上のキャプチャされたコンテンツを編集するかまたはいじる例を示す。
【0066】
ブロック405において使用されたスケッチ物体は、トラッキングエリア305上に置かれた絵、スケッチ、および3Dの物理的な物体を含むがこれらに限定されない広範な異なる媒体の物を含み得る。場合によっては、3Dの物理的な物体は、2Dでしかキャプチャされない可能性がある。スケッチ物体405は、はっきりと区別可能であり、トラッキングエリア305と同一平面上にある必要がある可能性がある。加えて、スケッチされた物体は、安定した追跡を保証するためにトラッキングエリア305の一部のみを覆うようにして置かれる可能性がある。スケッチされた物体は1つまたは複数の目標の物体の例であることが、理解され得る。
【0067】
図8〜
図10は、一部の実施形態に従って使用され得るスケッチされた物体の様々な例を示す。たとえば、ユーザは、
図8に示されるように、棒線画(stick figure) 805をスケッチし、トラッキングエリア305上に物体を置く可能性がある。代替的に、ユーザは、
図9に示されるように、車両905をスケッチし、トラッキングエリア上にスケッチを置く可能性がある。別の実施形態において、ユーザは、
図10に示されるように、トラッキングエリア上におもちゃの車1005などの3Dの物体を置く可能性がある。
【0068】
図16の流れ図にさらに示されるように、リアルタイムARスケッチアプリケーション215は、トラッキングエリア305上に置かれた物体(たとえば、棒線画805、車両905、3Dのおもちゃの車1005)をキャプチャし、キャプチャされた物体に基づいてAR物体を生成することができる。示されるように、スケッチ物体は、絵、スケッチ、および3Dの物理的な物体を含むがこれらに限定されない広範な異なる媒体の物を含み得る。
【0069】
図11は、ブロック410およびブロック415において既に説明されたように、トラッキングエリア305内に複数の物体を置き、キャプチャする例示的な方法を示す。たとえば、リアルタイムARスケッチアプリケーション215は、第1の物体1105および第2の物体1110がトラッキングエリア305上に配置される(たとえば、置かれる)とき、複数の物体をキャプチャする可能性がある。
図16に示される方法と同様の方法が、複数の物体をキャプチャするために使用され得る。場合によっては、ユーザは、安定した追跡を保証するためにトラッキングエリア305の一部のみを覆うようにして1つまたは複数のスケッチされた物体を置く可能性がある。加えて、好ましくは、スケッチされた物体または物理的な物体は、中心に置かれるべきである。別の実施形態において、リアルタイムARスケッチアプリケーション215は、画像内で最も大きい物のみをキャプチャする可能性がある。
【0070】
画像キャプチャモジュール111によってキャプチャされた画像1115に示されるように1つまたは複数の物体がトラッキングエリア305上に置かれた後、リアルタイムARスケッチアプリケーション215は、背景差分技術を用いて、背景差分画像1120に示されるように、予め定義された背景上に配置された目標の物体を判定することができる。場合によっては、リアルタイムARスケッチアプリケーション215は、インタラクティブ性能のために尺度空間(scale space)の高オクターブ(octave)を使用する可能性があり、インタラクティブ性能は、ユーザからの手引きに基づく。加えて、背景差分技術は、物体の純粋な反射能(albedo)を得るために局所的な光の推定によって補足される可能性がある。
【0071】
さらに、固有画像分解(intrinsic image decomposition)または基本的な光の推定が、キャプチャされた物体からの表面の反射率を復元するために適用される可能性がある。場合によっては、無反射の媒体が好ましく、よりキャプチャしやすい可能性がある。1つまたは複数の物体がキャプチャされると、リアルタイムARスケッチアプリケーション215は、キャプチャされた物体の画像1125に示されるように、キャプチャされた物体からの表面のキャプチャされた反射率に基づいて1つまたは複数の2Dブロッブを生成する可能性がある。
【0072】
さらに、画像分割アルゴリズム(たとえば、GrabCutアルゴリズム)が、ブロッブの輪郭または形状(たとえば、スケッチされたキャラクタなどの物体の輪郭)を改善するために使用され得る。そして、1つまたは複数の目標の物体に対応する1つまたは複数のAR物体が、生成され得る。
【0073】
図12〜
図13は、ブロック425において既に説明されたようにリアルタイムARスケッチアプリケーション215を用いる異なる編集方法を示す。
図12は、1つまたは複数のAR物体を編集するために使用される輪郭選択技術を示す。代替的に、
図13は、1つまたは複数のAR物体を編集するために使用されるホットスポット(hotspot)選択技術を示す。さらに、異なる編集モードが、リアルタイムARスケッチアプリケーション215を用いて制御され得る。
【0074】
図14に示されるように、異なる編集モードは、(たとえば、キャプチャされた物体の寸法を修正する)寸法モード1410と、(たとえば、マーカ上のコンテンツの初期配置を修正する)位置モード1420と、(たとえば、物体を用いたアニメーションを作成する)アニメーションモード1430と、(たとえば、音声モードおよび物理的な挙動などのさらなる特性を物体に追加する)さらなる特性モード1440と、プレイモード1450 (ローカルのインタラクション、視覚化、または記録)とを含み得る。場合によっては、異なる編集モードの選択は、ボタン、ジェスチャ、および/またはホットスポットを用いて行われる可能性がある。
【0075】
寸法モード1410は、基本編集1411と、押し出し編集1412と、深度編集1413と、旋回(revolving)編集1414と、複数パーツ編集1415と、スケルトン化(skeletonization)編集1416と、シンボル編集1417と、準3D編集1418とをさらに含み得る。場合によっては、寸法モードの異なる編集の選択は、ボタン、ジェスチャ、および/またはホットスポットを用いて操作される可能性がある。
【0076】
基本編集1411は、キャプチャされた物体から2D平面ポリゴンモデルを生成すること(たとえば、凸包、ポリゴン化)を含む。
【0077】
押し出し編集1412は、ユーザが物体の表面に対する斜めの動きの入力に基づいて物体の一部を押し出すことを可能にすることを含む。
【0078】
深度編集1413は、ユーザが物体に触れることによって、キャプチャされた物体の一部に何らかの深度を加えることを含む。場合によっては、より長い圧力が、より深い深度をもたらす可能性がある。加えて、否定/肯定ボタン(negative/positive button)が、モードを切り替える可能性がある。
【0079】
旋回編集1414は、ユーザが旋回軸を描き、物体を作成するためのスワイプジェスチャを実行することを含み得る。
【0080】
複数パーツ編集1415は、物体の指定された異なるレイヤ(たとえば、木の上の林檎)または物体の異なる面(たとえば、家の面)へと異なる絵を組み立てることを含む可能性がある。
【0081】
スケルトン化編集1416は、キャプチャされた目標の外殻(たとえば、抽出されたブロッブ)に対して形態的な方法を使用することを含む可能性がある。
【0082】
シンボル編集1417は、形状記述子(shape descriptor)を用いてシンボルを認識することを含む可能性がある。加えて、リアルタイムARスケッチアプリケーション215は、結果として得られる再構築に対する適用されるインタラクションを制約する可能性がある。
【0083】
準3D編集1418は、スケッチ内で見つかった筆致から3Dの再構築を作ることを含む可能性がある。
【0084】
別のモードにおいて、位置モード1420は、回転編集1421および移動編集1422を含む可能性がある。たとえば、回転編集1421は、異なる方向のスワイプジェスチャを用いて、キャプチャされた物体を特定の軸の中心からの回転させる方法を含む可能性がある。加えて、ユーザは、既定のホットスポットをクリックして回転の中心を変更し得る。
【0085】
位置編集1420の移動編集1422構成要素において、キャプチャされた物体は、トラッキングエリア305上で移動され得る。場合によっては、スケッチ(たとえば、スケッチ505)とマーカとの間のレイキャスト(ray cast)が、位置を定義する可能性がある。さらに、AR物体を動かすために使用される異なる案内は、マーカの表面、マーカのXおよびYの向きの接線(tangent) (または従法線(bi-tangent))に沿って、マーカ上の垂直な平面(すなわち、Z軸)、ならびにマーカの前または後ろ(たとえば、マーカの周りの境界平面)を含む可能性がある。上述のように、モードのいずれかの異なる編集の選択は、ボタン、ジェスチャ、および/またはホットスポットを用いて操作される可能性がある。
【0086】
別のモードにおいて、アニメーションモード1430は、基本編集1431、パス編集1432、およびストップモーション編集1433を含む可能性がある。基本編集1431は、スピン、ジャンプ、ループなどのアニメーションの挙動を予め定義する可能性がある。パス編集1432は、ユーザが、デジタル化されたスケッチに関するパスを記録することを可能にし得る。ストップモーション編集1433は、ユーザがデジタル化されたスケッチに関するアニメーションされるシーケンスを定義することを可能にし得る。
【0087】
別のモードにおいて、さらなる特性モード1440は、音声編集1441および物理的挙動編集1442などであるがこれらに限定されないさらなる特性を物体に追加する可能性がある。音声編集1441は、記録ボタンを使用することによって物体に音声を追加することができる。場合によっては、記録ボタンは、デジタル化されたスケッチの近くにある可能性がある。物理的挙動編集1442は、ジャンプする、走るなどの物理的な挙動をデジタル化された物体に追加し得る。
【0088】
さらに別のモードにおいて、プレイモード1450は、スケルトン編集1451およびハンドジェスチャ編集1452に基づく可能性がある。プレイモード1450は、ストローク(stroke)によるスケルトン編集1451を含む可能性があり、ノードが、モデルの距離変換に基づいて検出され、単純化されたインバースキネマティクス(IK)モデルを生成する。たとえば、3DアニメーションのIKモデルは、足が地形の上にしっかりと着地するなど、ゲームキャラクタを周辺に物理的に結びつける可能性がある。
【0089】
一部の実施形態において、プレイモード1450では、ARコンテンツのスナップショット1453がキャプチャおよび/または記録され、記録制御を可能にする可能性がある。言い換えれば、ARは、ハイブリット/現実-仮想ストップモーションアニメーション、ハイブリッドマシニマ、ストーリーテリングなどの一種を作成するために使用され得る。キャプチャされた動画シーケンスは、動画シーケンスエクスポート1454機能を用いてエクスポートされ得る。
【0090】
加えて、プレイモード1450において、AR物体(たとえば、アニメーションされる形姿)は、キネマティックチェーン(kinematic chain)と呼ばれる、関節に接続された硬いセグメントのスケルトンによってモデリングされる可能性がある。形姿の運動学的等式が、形姿の関節の角度とその形姿の構成との間の関係を定義する可能性がある。場合によっては、関節の角度を直接操作するのではなく、AR物体の動く部分、または腕および脚によって形姿の空間的な構成を定義することによってAR物体をアニメーションさせる方が、より容易である。したがって、エンドユーザによってAR物体を容易にアニメーションさせるために、リアルタイムARスケッチアプリケーション215においてインバースキネマティクスが使用される可能性がある。
【0091】
たとえば、スケルトン編集1451は、エンドユーザが3Dの人のAR物体の手を所望の位置および向きに動かすことを可能にし、手首、肘、および肩の関節の適切な角度を自動的に選択するためのリアルタイムARスケッチアプリケーションのアルゴリズムを有する可能性がある。
【0092】
プレイモード1450のハンドジェスチャ編集1452において、AR物体のノードは、手のジェスチャによってアニメーションさせられ得る。たとえば、リアルタイムARスケッチアプリケーション215は、ユーザの指先をAR物体のスケルトンの外側のノードの点にマッピングする可能性がある。加えて、ハンドジェスチャ編集1452は、準3Dモードに基づく可能性があり、リアルタイムARスケッチアプリケーション215は、手のジェスチャを準3Dの再構築されたモデルにマッピングする可能性がある。
【0093】
さらに、コンテンツのアニメーション(たとえば、ポップアップ、物語本(storytelling book))、記録(たとえば、ユーザがアニメーションをあちこち動かし、それを記録することができる、パペットモード)、およびゲームモード(たとえば、物理学が適用される可能性があり、物体が操作される可能性がある)などの異なる規定のモードが、さらに追加される可能性がある。
【0094】
一部の実施形態によれば、ユーザは、人の体のジェスチャを用いてヘッドマウントディスプレイ(HMD)上でAR物体を編集する可能性がある。たとえば、ハンドジェスチャ編集1452は、HMDによって実装される可能性がある。HMDは、画像キャプチャモジュール111用のメガネフレームに搭載された1つまたは複数の主観視点カメラ(egocentric camera)を含む可能性がある。HMDは、光センサ、加速度計、GNSS受信機171、ジャイロスコープ、ソリッドステートコンパス、無線周波数識別(RFID)、およびワイヤレストランシーバ131を含む可能性もある。HMDは、ユーザが物理的な物体と仮想的な物体との両方を見ることができるディスプレイモジュール181としてユーザの視界内に透明な表示エリアを有する可能性がある。ユーザ入力デバイスとして内蔵カメラを用いて、HMDは、ユーザのハンドジェスチャ編集1452に応じて手のジェスチャをキャプチャすることができる。
【0095】
HMDの例において、HMDは、ユーザによって見られる物理的な物体を、たとえば、物理的な物体に関連するかまたはユーザの位置および/もしくは状況に関連するデジタルコンテンツ(たとえば、テキスト、画像、動画)で覆うことによってAR機能を提供する可能性がある。
【0096】
さらに、実施形態はHMDに関連して本明細書において説明されるが、当業者は、その他の形態のヘッドマウントディスプレイが利用され得ることを理解するであろう。たとえば、本明細書において説明される実施形態は、ユーザが着用し得る1つもしくは複数のコンタクトレンズに関連して実装される可能性がありおよび/またはユーザが視界を知覚し得る別の形態のディスプレイにおいて実装される可能性がある。
【0097】
本発明の実施形態は、本明細書に記載のキャプチャ、編集、およびプレイ方法をさらに拡張することができる。
【0098】
たとえば、キャプチャ方法は、雑誌の画像を撮影することまたは人の顔を記録することなどの目標に基づかないキャプチャを行うように拡張され得る。場合によっては、キャプチャされた画像は、ブロッブの形状を得るために後処理される必要がある可能性があり、したがって、目標に基づくキャプチャよりも信頼性が低い可能性がある。加えて、目標に基づくキャプチャ方法においては、ブロッブの形状が、より少ない処理でキャプチャされ、リアルタイムに行われ得る。
【0099】
加えて、キャプチャ方法は、現実世界からテクスチャまたは色情報を獲得する可能性もある(たとえば、物体をマーカ上に置き、物体の色をデジタル化する)。さらに、キャプチャステップは、動的なコンテンツをキャプチャする(たとえば、表情をキャプチャする)ように拡張される可能性もある。場合によっては、これらの拡張されたキャプチャ方法は、後処理を必要とする可能性がある。
【0100】
編集方法は、デジタル化されたスケッチ上にスケルトンを作成する方法も含むように拡張される可能性がある。たとえば、ユーザは、後でアニメーションされ得る関節でつなげられたモデルを構築し得る。
【0101】
プレイ方法は、追跡されるコンテンツ(たとえば、手、タンジブルユーザインターフェース(Tangible User Interface)としての手段による物理的な代理物体(physical proxy object))を含むように拡張され得る。たとえば、ユーザの手の中の車のモデルが、マーカ上で動かされる可能性があり、デジタル化されたコンテンツが、そのモデルに関連付けられる(つまり、手を動かすとき、車両のデジタル化されたスケッチが、手の動きに追従する)。
【0102】
図15は、一部の実施形態による、インタラクティブな人形劇場体験およびゲームをサポートし、作り出すための2.5Dのステージを示す。場合によっては、1つの水平トラッキングエリア1510および1つの垂直トラッキングエリア1515を有するL字形マーカ構成1505を使用することによる。L字形マーカ構成1505は、斜めの角度で上からの、しかしさらに劇場の客がステージを見るような横からの様々なカメラ位置を想定し得る。
【0103】
加えて、ユーザは、木、山、家、家具などの様々なステージの小道具(舞台道具)をデジタル化する可能性がある。これらのデジタル小道具は、ステージ上で垂直に見える。2つのトラッキングエリアを使用することによって、小道具は、決まった数の(たとえば、5つの)深度(観察者からの距離)が深くなるレイヤから選択された任意のレイヤに置かれ得る。ユーザは、レイヤを選択し、小道具の左右の配置を調節し、複数のコピーを作成することができる。
【0104】
さらに、それから、ユーザは、本明細書に記載の方法を用いてシーン中で物体(たとえば、動物、その他のキャラクタ)を動かし、アニメーションのパスを作成することができる。物体は、指定されたレイヤ内で動くことができる。場合によっては、動く物体の動きは、動く物体のパス上の小道具に基づいて停止または修正される可能性がある。動きは、人形劇場と同様のアニメーションシステムを作り出すことができ、そのアニメーションシステムは、自由度がかなり少ないので使用するのが簡単である可能性がある。
【0105】
一部の実施形態によれば、手でアニメーションされるキャラクタを用いることによって、ユーザは、アニメーションシーケンスに複数のAR物体(たとえば、デジタル化された絵)を割り当てることができる。たとえば、歩いている人が、いくつかの(たとえば、2〜3個の)足のポーズによってアニメーションされる可能性がある。リアルタイムARスケッチアプリケーション215は、単純なタイムラインに絵のシーケンスを載せることによってこれらのシーケンスを知る可能性がある。これらのアニメーションを定めた後、ユーザは、アニメーションされるキャラクタを呼び出し得る。リアルタイムARスケッチアプリケーション215は、右の歩くシーケンスを左の歩くシーケンスにひっくり返すためにアニメーションを鏡のように映し取る可能性もある。
【0106】
さらに、
図15に示される2.5Dのステージは、2Dレイヤメカニズムを用いる単純化された物理学を適用する可能性もある。たとえば、リアルタイムARスケッチアプリケーション215は、2.5Dのステージのレイヤを用いることによってユーザのより近くに岩を動かすことによって丘の小道具を転がり落ちる岩を示すことができる。レイヤおよび2Dの物理学を用いることによって、リアルタイムARスケッチアプリケーション215は、小道具に関連する物理的なアニメーションをモバイルデバイス100においてリアルタイムで計算することができる。場合によっては、リアルタイムARスケッチアプリケーション215は、次の物理的なアニメーション、すなわち、重力、衝突、摩擦、風、および水を含む可能性がある。
【0107】
図16は、一部の実施形態による、目標のAR物体をキャプチャするための方法1600の実施形態を示す流れ図である。
図11に示されるように、リアルタイムARスケッチアプリケーション215は、AR追跡目標(たとえば、トラッキングエリア305)上に置かれた現実のコンテンツ(たとえば、第1の物体1105、第2の物体1110)をキャプチャし、モバイルインターフェースを用いてインタラクティブに使用されるようにコンテンツを変換し得る。
【0108】
ブロック1605において、1つまたは複数の目標の物体の画像が、キャプチャされる。目標の物体は、予め定義された背景上に配置され得る。予め定義された背景は、マーカまたは特徴追跡目標である可能性がある。目標の物体は、2Dのスケッチまたは3Dの物体を含み得るがこれらに限定されない。目標の物体は、予め定義された背景と同一平面上にある可能性もある。予め定義された背景は、水平トラッキングエリアおよび垂直トラッキングエリアを含む可能性がある。
【0109】
ブロック1610において、画像は、1つまたは複数の目標の物体に対応する1つまたは複数のエリアと予め定義された背景に対応する1つまたは複数のエリアとに分割される可能性がある。画像を分割することは、画像から予め定義された背景を取り去ることを含み得る。
【0110】
ブロック1615において、1つまたは複数の目標の物体に対応する1つまたは複数のエリアは、デジタル画像に変換される可能性がある。
【0111】
ブロック1620においては、1つまたは複数のAR物体が生成される。1つまたは複数のAR物体は、1つまたは複数の目標の物体に対応する可能性があり、デジタル画像に少なくとも部分的に基づいて生成される可能性がある。1つまたは複数のAR物体は、キャプチャされた画像内の2次元(2D)ブロッブの検出に基づいて生成される可能性があり、2Dブロッブの検出は、予め定義された背景上に配置された1つまたは複数の目標の物体に関連する表面の反射率に基づく。
【0112】
1つまたは複数のAR物体は、ユーザ入力に応じて編集される可能性がある。編集は、1つまたは複数のAR物体のうちの少なくとも1つを複数のARパーツに分けることを含む可能性がある。ユーザ入力は、複数のARパーツの中のARパーツを指定し得る。そして、指定されたARパーツは、受け取られたユーザ入力に基づいて操作され得る。指定されたARパーツを操作することは、以下、すなわち、モバイルデバイスのディスプレイ上の判定された指の圧力に基づいて指定されたARパーツに深度を加えること、モバイルデバイスのディスプレイ上で行われたユーザのジェスチャに基づいて指定されたARパーツを回転させること、指定されたARパーツを1つもしくは複数のレイヤへと組み立てること、モバイルデバイスのディスプレイ上に表示可能な1つもしくは複数の位置へと指定されたARパーツを動かすこと、または指定されたARパーツを押し出すことのうちの1つまたは複数を含み得る。
【0113】
一部の実施形態においては、1つまたは複数の目標の物体に対応する1つまたは複数のエリアが、改善される可能性がある。それから、生成されたAR物体は、モバイルデバイスのディスプレイ上に表示され得る。
【0114】
図17は、1つまたは複数の実施形態が実装され得るコンピューティングシステムの例を示す。
【0115】
コンピュータシステム1700は、ローカルおよび/もしくはネットワークアクセス可能なストレージを限定なしに含む可能性があり、ならびに/またはディスクドライブ、ドライブアレイ、光学式ストレージデバイス、ランダムアクセスメモリ(「RAM」)および/もしくはプログラミング可能、フラッシュ更新可能などである可能性がある読み出し専用メモリ(「ROM」)などのソリッドステートストレージデバイスを限定なしに含む可能性がある1つまたは複数の非一時的ストレージデバイス1725をさらに含む(および/もしくはそのような非一時的ストレージデバイス1725と通信する)可能性がある。そのようなストレージデバイスは、様々なファイルシステム、データベース構造などを限定なしに含む任意の適切なデータストアを実装するように構成され得る。
【0116】
コンピュータシステム1700は、モデム、(ワイヤレスまたは有線)ネットワークカード、赤外線通信デバイス、ワイヤレス通信デバイス、および/または(Bluetooth (登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備などの)チップセットなどを限定なしに含み得る通信サブシステム1730も含む可能性がある。通信サブシステム1730は、データがネットワーク、その他のコンピュータシステム、および/または任意のその他の電気的なデバイス/周辺機器とやりとりされることを可能にするための1つまたは複数の入力および/また出力通信インターフェースを含み得る。多くの実施形態において、コンピュータシステム1700は、上述のように、RAMまたはROMデバイスを含み得る作業メモリ1735をさらに含む。場合によっては、通信サブシステム1730は、モバイルデバイス100のワイヤレストランシーバ131およびGNSS受信機171の例である可能性がある。
【0117】
コンピュータシステム1700は、オペレーティングシステム1740、デバイスドライバ、実行可能ライブラリ、ならびに/または様々な実施形態によって提供されるコンピュータプログラムを含む可能性があり、および/もしくは本明細書に記載のその他の実施形態によって提供される方法を実装しおよび/もしくはシステムを構成するように設計される可能性がある1つもしくは複数のアプリケーション1745などのその他のコードを含む、作業メモリ1735に現在配置されているものとして示されるソフトウェア要素も含む可能性がある。単に例として、
図4に関連して説明された方法400および
図16に関連して説明された方法1600などの上で検討された方法に関連して説明された1つまたは複数の手順の一部は、コンピュータ(および/またはコンピュータ内の処理ユニット)によって実行可能なコードおよび/または命令として実装される可能性があり、そのとき、一態様において、そのようなコードおよび/または命令は、説明された方法に従って1つまたは複数の動作を実行するように多目的コンピュータ(またはその他のデバイス)を構成および/または適合するために使用され得る。場合によっては、作業メモリ1735は、モバイルデバイス100のメモリ161の例である可能性がある。
【0118】
1組のこれらの命令および/またはコードは、上述のストレージデバイス1725などの非一時的コンピュータ可読ストレージ媒体に記憶される可能性がある。場合によっては、ストレージ媒体は、コンピュータシステム1700などのコンピュータシステム内に組み込まれる可能性がある。その他の実施形態において、ストレージ媒体は、コンピュータシステムと分かれており(たとえば、光ディスクなどの取り外し可能な媒体)、ならびに/またはストレージ媒体がそのストレージ媒体に記憶された命令/コードによって多目的コンピュータをプログラミング、構成、および/もしくは適合するために使用され得るようにインストールパッケージで提供される可能性がある。これらの命令は、コンピュータシステム1700によって実行可能である実行可能コードの形態をとる可能性があり、ならびに/または(たとえば、様々な広く利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを用いて)コンピュータシステム1700上でコンパイルおよび/もしくはインストールされると実行可能コードの形態をとるソースおよび/もしくはインストール可能なコードの形態をとる可能性がある。場合によっては、ストレージデバイス1725は、モバイルデバイス100のメモリ161の例である可能性がある。
【0119】
特定の要件に応じてかなりの変更がなされ得ることは、当業者に明らかであろう。たとえば、カスタマイズされたハードウェアが使用される可能性もあり、および/または特定の要素がハードウェア、(アプレットなどのポータブルソフトウェアを含む)ソフトウェア、もしくはこれら両方で実装される可能性がある。さらに、ネットワーク入力/出力デバイスなどのその他のコンピューティングデバイスへの接続が、使用される可能性がある。
【0120】
上述のように、一態様において、一部の実施形態は、本発明の様々な実施形態による方法を実行するために(コンピュータシステム1700などの)コンピュータシステムを使用する可能性がある。1組の実施形態によれば、そのような方法の手順の一部またはすべては、作業メモリ1735に含まれる(オペレーティングシステム1740および/またはアプリケーションプログラム1745などのその他のコードに組み込まれる可能性がある) 1つまたは複数の命令の1つまたは複数のシーケンスをプロセッサ1710が実行することに応じてコンピュータシステム1700によって実行される。そのような命令は、ストレージデバイス1725のうちの1つまたは複数などの別のコンピュータ可読媒体から作業メモリ1735に読み込まれる可能性がある。単に例として、作業メモリ1735に含まれる命令のシーケンスの実行が、プロセッサ1710に本明細書に記載の方法の1つまたは複数の手順を実行させる可能性がある。追加的にまたは代替的に、本明細書に記載の方法の一部は、専用のハードウェアによって実行される可能性がある。単に例として、方法400および方法1600などの上で検討された方法に関連して説明された1つまたは複数の手順の一部は、プロセッサ1710によって実装される可能性がある。場合によっては、プロセッサ1710は、モバイルデバイス100の画像処理モジュール121の例である可能性がある。一部の例において、アプリケーションプログラム1745は、リアルタイムARスケッチアプリケーション215の例である可能性がある。
【0121】
本明細書において使用されるとき、用語「機械可読媒体」および「コンピュータ可読媒体」は、機械を特定の方法で動作させるデータを提供することに関与する任意の媒体を指す。コンピュータシステム1700を使用して実装される一実施形態において、様々なコンピュータ可読媒体は、実行するためにプロセッサ1710に命令/コードを与えることに関与する可能性があり、ならびに/またはそのような命令/コードを記憶するおよび/もしくは運ぶために使用される可能性がある。多くの実装において、コンピュータ可読媒体は、物理的および/または有形のストレージ媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとる可能性がある。不揮発性媒体は、たとえば、ストレージデバイス1725などの光および/または磁気ディスクを含む。揮発性媒体は、作業メモリ1735などの動的メモリを限定なしに含む。
【0122】
よくある形態の物理的および/または有形のコンピュータ可読媒体は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意のその他の磁気媒体、CD-ROM、任意のその他の光媒体、穴のパターンを用いる任意のその他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意のその他のメモリチップもしくはカートリッジ、またはコンピュータが命令および/もしくはコードを読むことができる任意のその他の媒体を含む。
【0123】
様々な形態のコンピュータ可読媒体が、実行するためにプロセッサ1710に1つまたは複数の命令の1つまたは複数のシーケンスを運ぶことに関与させられる可能性がある。単に例として、命令は、最初、リモートコンピュータの磁気ディスクおよび/または光ディスクで運ばれる可能性がある。リモートコンピュータは、命令をそのリモートコンピュータの動的メモリにロードし、コンピュータシステム1700によって受信および/または実行されるように送信媒体を介して命令を信号として送信する可能性がある。
【0124】
概して、通信サブシステム1730 (および/または通信サブシステム1730の構成要素)が、信号を受信し、そして、バス1705が、信号(および/または信号によって運ばれるデータ、命令など)を作業メモリ1735に運ぶ可能性があり、作業メモリ1735からプロセッサ1710が命令を取り出し、実行する。作業メモリ1735によって受信された命令は、任意で、プロセッサ1710による実行の前かまたは後かのどちらかに非一時的ストレージデバイス1725に記憶される可能性がある。
【0125】
図18は、本発明の実施形態に関連するタスクを実行するための異なるソフトウェアモジュールを有する画像処理モジュール121の例を示す。一部の構成においては、異なるソフトウェアモジュールに関連するタスクを遂行するための命令/コードは、モバイルデバイスのメモリ161に記憶される可能性がある。
【0126】
代替的に、
図18に示されたソフトウェアモジュールは、
図17のプロセッサ1710によって実行される可能性がある。一部の構成においては、異なるソフトウェアモジュールに関連するタスクを遂行するための命令/コードは、ストレージデバイス1725に記憶される可能性がある。
【0127】
一部の実施形態によれば、ソフトウェアモジュールは、抽出モジュール1810、挿入モジュール1820、および編集モジュール1830を含み得る。
【0128】
1つまたは複数の構成において、抽出モジュール1810は、背景画像に対して配置された1つまたは複数の物体に対応する目標画像の部分を抽出することができる。場合によっては、抽出は、背景画像を目標画像と比較して背景に対して配置された1つまたは複数の物体に対応する目標画像の部分を判定することに基づく可能性がある。たとえば、目標画像の部分は、ユーザによって描かれたスケッチ、または背景上に置かれた3Dの物理的な物体に基づく可能性がある。加えて、抽出モジュール1810は、1つまたは複数の物体に対応する目標画像の部分に基づいてAR物体1815を生成することができる。一部に実施形態によれば、抽出モジュール1810によって使用される受信される画像データ(たとえば、目標画像)は、画像キャプチャモジュール111から受信される可能性がある。
【0129】
1つまたは複数の構成において、挿入モジュール1820は、ディスプレイスクリーン上にAR物体を表示するためにリアルタイムARスケッチアプリケーションによって使用され得る。たとえば、ディスプレイスクリーンは、モバイルデバイス100のディスプレイモジュール181である可能性がある。加えて、挿入モジュール1820は、拡張された画像/動画1825内で画像キャプチャモジュール111からの受信された画像データ(たとえば、目標画像)と生成されたAR物体とを組み合わせることができる。
【0130】
1つまたは複数の構成において、編集モジュール1830は、拡張された画像/動画上に表示された埋め込まれたAR物体を編集することができる。場合によっては、編集モジュールは、ユーザ入力モジュール191からユーザ入力を受け取ることができる。既に検討されたように、
図14は、AR物体を編集するためにユーザが使用し得る編集方法の例を示す。
図14の表に示されるように、編集モジュール1830は、寸法モード1410、位置モード1420、アニメーションモード1430、さらなる特性モード1440、およびプレイモード1450を含み得る。
【0131】
上で検討された方法、システム、およびデバイスは、例である。様々な構成は、必要に応じて様々な手順または構成要素を省略、置換、または追加する可能性がある。たとえば、代替的な構成において、方法は、説明された順序とは異なる順序で実行される可能性があり、ならびに/または様々な段階が、追加され、省略され、および/もしくは組み合わされる可能性がある。また、特定の構成に関連して説明された特徴は、様々なその他の構成で組み合わされる可能性がある。構成の異なる態様および要素は、同様にして組み合わされる可能性がある。さらに、テクノロジーは発展し、したがって、要素の多くは例であり、本開示または請求項の範囲を限定しない。
【0132】
(実装を含む)例示的な構成が完全に理解されるように、説明において特定の詳細が与えられている。しかし、構成は、これらの特定の詳細なしに実施され得る。たとえば、よく知られている回路、プロセス、アルゴリズム、構造、および技術は、構成を曖昧にすることを避けるために不必要な詳細なしに示された。この説明は、例示的な構成を提供するだけであり、請求項の範囲、適用可能性、または構成を限定しない。むしろ、構成の前述の説明は、説明された技術を実装するための実施を可能にする説明を当業者に与える。本開示の精神または範囲を逸脱することなく、要素の機能および構成に様々な変更がなされ得る。
【0133】
また、構成は、流れ図またはブロック図として示されるプロセスとして説明され得る。それぞれは動作を連続的なプロセスとして示す可能性があるが、動作の多くは、並列的にまたは同時に実行され得る。加えて、動作の順序は、再編成され得る。プロセスは、図に含まれていない追加のステップを有する可能性がある。さらに、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、ストレージ媒体などの非一時的コンピュータ可読媒体に記憶され得る。プロセッサが、説明されたタスクを実行する可能性がある。
【0134】
いくつかの例示的な構成を説明したが、本開示の精神から逸脱することなく様々な修正、代替的な構造、および均等物が使用され得る。たとえば、上記の要素は、より大きなシステムの構成要素である可能性があり、その他の規則が、本発明の応用よりも優先するか、またはそうでなければ本発明の応用を修正する可能性がある。また、いくつかのステップが、上記の要素が考慮される前に、間に、または後に開始される可能性がある。したがって、上記の説明は、請求項の範囲を拘束しない。