IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特表2024-515569デジタルマルチメディアファイルを用いた拡張現実コンテンツ体験共有
<>
  • 特表-デジタルマルチメディアファイルを用いた拡張現実コンテンツ体験共有 図1
  • 特表-デジタルマルチメディアファイルを用いた拡張現実コンテンツ体験共有 図2A
  • 特表-デジタルマルチメディアファイルを用いた拡張現実コンテンツ体験共有 図2B
  • 特表-デジタルマルチメディアファイルを用いた拡張現実コンテンツ体験共有 図2C
  • 特表-デジタルマルチメディアファイルを用いた拡張現実コンテンツ体験共有 図3
  • 特表-デジタルマルチメディアファイルを用いた拡張現実コンテンツ体験共有 図4
  • 特表-デジタルマルチメディアファイルを用いた拡張現実コンテンツ体験共有 図5
  • 特表-デジタルマルチメディアファイルを用いた拡張現実コンテンツ体験共有 図6
  • 特表-デジタルマルチメディアファイルを用いた拡張現実コンテンツ体験共有 図7
  • 特表-デジタルマルチメディアファイルを用いた拡張現実コンテンツ体験共有 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-10
(54)【発明の名称】デジタルマルチメディアファイルを用いた拡張現実コンテンツ体験共有
(51)【国際特許分類】
   G06T 19/00 20110101AFI20240403BHJP
   G06F 3/01 20060101ALI20240403BHJP
【FI】
G06T19/00 600
G06F3/01 510
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023561794
(86)(22)【出願日】2022-04-07
(85)【翻訳文提出日】2023-11-16
(86)【国際出願番号】 US2022071595
(87)【国際公開番号】W WO2022217256
(87)【国際公開日】2022-10-13
(31)【優先権主張番号】17/301,596
(32)【優先日】2021-04-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】チェン,イェン-リン
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050AA03
5B050BA06
5B050BA09
5B050BA11
5B050BA12
5B050BA13
5B050CA07
5B050CA08
5B050DA01
5B050EA05
5B050EA07
5B050EA19
5B050EA26
5B050FA02
5B050FA05
5E555AA25
5E555AA26
5E555AA64
5E555BA02
5E555BA04
5E555BA38
5E555BB02
5E555BB04
5E555BB38
5E555BC04
5E555BE17
5E555CA10
5E555CA42
5E555CA44
5E555CA45
5E555CA47
5E555CB21
5E555DA08
5E555DA09
5E555DB53
5E555DC13
5E555FA00
(57)【要約】
コンピュータにより実現される方法は、電子デバイスの画像センサを使用して環境の視覚データを捕捉することと、電子デバイスの1つ以上の非画像センサを使用して環境の非視覚データを捕捉することとを含む。環境内の1つ以上のオブジェクトの特徴記述子が、環境の視覚データおよび環境の非視覚データを使用して生成される。環境のマップが、1つ以上のオブジェクトの特徴記述子を使用して生成される。1つ以上の仮想オブジェクトが、マップを使用してオブジェクトのうちの少なくとも1つにアンカーされる。視覚データ、非視覚データ、およびマップは、デジタルマルチメディアコンテナファイルにおいて組み合わされる。デジタルマルチメディアコンテナファイルは、電子デバイス上、または電子デバイスに接続された別の電子デバイス上に記憶される。
【特許請求の範囲】
【請求項1】
コンピュータにより実現される方法であって、
電子デバイスの画像センサを使用して環境の視覚データを捕捉し、前記電子デバイスの1つ以上の非画像センサを使用して前記環境の非視覚データを捕捉することと、
前記環境の前記視覚データおよび前記環境の前記非視覚データを使用して、前記環境内に1つ以上のオブジェクトの特徴記述子を生成することと、
前記1つ以上のオブジェクトの前記特徴記述子を使用して前記環境のマップを生成することと、
前記マップを使用して1つ以上の仮想オブジェクトを前記オブジェクトのうちの少なくとも1つにアンカーすることと、
前記視覚データ、前記非視覚データ、および前記マップをデジタルマルチメディアコンテナファイルにおいて組み合わせることと、
前記デジタルマルチメディアコンテナファイルを前記電子デバイスまたは前記電子デバイスに接続された別の電子デバイスに記憶することとを含む、コンピュータにより実現される方法。
【請求項2】
前記デジタルマルチメディアコンテナファイルは、動画専門家グループ-4(MPEG-4)フォーマットである、請求項1に記載のコンピュータにより実現される方法。
【請求項3】
前記デジタルマルチメディアコンテナファイルは、QuickTime(MOV)フォーマットである、請求項1に記載のコンピュータにより実現される方法。
【請求項4】
仮想オブジェクトアンカー情報を、前記デジタルマルチメディアコンテナファイル内で前記視覚データ、前記非視覚データ、および前記マップと組み合わせることをさらに含む、請求項1から3のいずれか1項に記載のコンピュータにより実現される方法。
【請求項5】
前記デジタルマルチメディアコンテナファイルを前記電子デバイス上で再生して、前記視覚データおよび前記環境内にアンカーされた前記1つ以上の仮想オブジェクトを閲覧することをさらに含む、請求項1から4のいずれか1項に記載のコンピュータにより実現される方法。
【請求項6】
前記デジタルマルチメディアコンテナファイルを異なる電子デバイス上で再生するために、前記デジタルマルチメディアコンテナファイルを前記異なる電子デバイスにエクスポートすることをさらに含む、請求項1から5のいずれか1項に記載のコンピュータにより実現される方法。
【請求項7】
前記マップを使用して1つ以上の追加の仮想オブジェクトを前記オブジェクトのうちの別のオブジェクトにアンカーすることを含んで、前記デジタルマルチメディアコンテナファイルを編集することをさらに含む、請求項1から6のいずれか1項に記載のコンピュータにより実現される方法。
【請求項8】
前記環境の前記マップを生成することは、顔の顔特徴のメッシュマップを生成することを含み、
前記1つ以上の仮想オブジェクトをアンカーすることは、前記メッシュマップを使用して、前記1つ以上の仮想オブジェクトを前記顔の前記顔特徴にアンカーすることを含み、
前記視覚データ、前記非視覚データ、および前記マップを前記デジタルマルチメディアコンテナファイルにおいて組み合わせることは、前記視覚データ、前記非視覚データ、および前記メッシュマップを前記デジタルマルチメディアコンテナファイルにおいて組み合わせることを含む、請求項1から7のいずれか1項に記載のコンピュータにより実現される方法。
【請求項9】
コンピュータにより実現される方法であって、
第1の電子デバイスにおいて、第2の電子デバイスからデジタルマルチメディアコンテナファイルを受信することを含み、前記デジタルマルチメディアコンテナファイルは、環境の視覚データ、前記環境の非視覚データ、前記環境のマップ、および前記環境内で少なくとも1つのオブジェクトにアンカーされる1つ以上の仮想オブジェクトに関連する仮想オブジェクトアンカー情報を含み、前記方法はさらに、
前記第1の電子デバイスが、前記デジタルマルチメディアコンテナファイルを再生して、前記視覚データ、前記非視覚データ、および前記1つ以上の仮想オブジェクトを閲覧することと、
1つ以上の追加の仮想オブジェクトを前記環境内で異なるオブジェクトにアンカーすることを含んで、前記デジタルマルチメディアコンテナファイルを編集することと、
前記デジタルマルチメディアコンテナファイルを前記第1の電子デバイスに保存することとを含む、コンピュータにより実現される方法。
【請求項10】
前記デジタルマルチメディアコンテナファイルは、動画専門家グループ-4(MPEG-4)フォーマットである、請求項9に記載のコンピュータにより実現される方法。
【請求項11】
前記デジタルマルチメディアコンテナファイルは、QuickTime (MOV)フォーマットである、請求項9に記載のコンピュータにより実現される方法。
【請求項12】
前記第1の電子デバイスが前記デジタルマルチメディアコンテナファイルを再生することは、前記第1の電子デバイスが、前記第1の電子デバイスのライブ画像センサを使用して前記デジタルマルチメディアコンテナファイルを再生することを含む、請求項9~11のいずれか1項に記載のコンピュータにより実現される方法。
【請求項13】
前記第1の電子デバイスが、前記デジタルマルチメディアコンテナファイルを再生することは、前記第1の電子デバイスが、異なるオブジェクトを見る異なる位置で前記第1の電子デバイスのライブ画像センサを使用して前記デジタルマルチメディアコンテナファイルを再生することを含む、請求項9~11のいずれか1項に記載のコンピュータにより実現される方法。
【請求項14】
非一時的なコンピュータ可読媒体上に有形に具現化され、実行可能なコードを含む、コンピュータプログラム製品であって、前記実行可能なコードは、少なくとも1つのコンピューティングデバイスによって実行されると、前記少なくとも1つのコンピューティングデバイスに、
電子デバイスの画像センサを使用して環境の視覚データを捕捉させ、前記電子デバイスの1つ以上の非画像センサを使用して前記環境の非視覚データを捕捉させ、
前記環境の前記視覚データおよび前記環境の前記非視覚データを使用して、前記環境内に1つ以上のオブジェクトの特徴記述子を生成させ、
前記1つ以上のオブジェクトの前記特徴記述子を使用して前記環境のマップを生成させ、
前記マップを使用して1つ以上の仮想オブジェクトを前記オブジェクトのうちの少なくとも1つにアンカーさせ、
前記視覚データ、前記非視覚データ、および前記マップをデジタルマルチメディアコンテナファイルにおいて組み合わせさせ、
前記デジタルマルチメディアコンテナファイルを前記電子デバイスまたは前記電子デバイスに接続された別の電子デバイスに記憶させるよう構成される、コンピュータプログラム製品。
【請求項15】
前記デジタルマルチメディアコンテナファイルは、動画専門家グループ-4(MPEG-4)フォーマットである、請求項14に記載のコンピュータプログラム製品。
【請求項16】
前記デジタルマルチメディアコンテナファイルは、QuickTime(MOV)フォーマットである、請求項14に記載のコンピュータプログラム製品。
【請求項17】
実行可能なコードをさらに含み、前記実行可能なコードは、少なくとも1つのコンピューティングデバイスによって実行されると、前記少なくとも1つのコンピューティングデバイスに、
前記仮想オブジェクトアンカー情報を、前記デジタルマルチメディアコンテナファイル内で前記視覚データ、前記非視覚データ、および前記マップと組み合わせさせるよう構成される、請求項14~16のいずれか1項に記載のコンピュータプログラム製品。
【請求項18】
実行可能なコードをさらに含み、前記実行可能なコードは、少なくとも1つのコンピューティングデバイスによって実行されると、前記少なくとも1つのコンピューティングデバイスに、
前記視覚データおよび前記環境内にアンカーされた前記1つ以上の仮想オブジェクトを閲覧するために、前記デジタルマルチメディアコンテナファイルを前記電子デバイス上で再生させるよう構成される、請求項14~17のいずれか1項に記載のコンピュータプログラム製品。
【請求項19】
実行可能なコードをさらに含み、前記実行可能なコードは、少なくとも1つのコンピューティングデバイスによって実行されると、前記少なくとも1つのコンピューティングデバイスに、
前記デジタルマルチメディアコンテナファイルを異なる電子デバイス上で再生するために、前記デジタルマルチメディアコンテナファイルを前記異なる電子デバイスにエクスポートさせるよう構成される、請求項14~18のいずれか1項に記載のコンピュータプログラム製品。
【請求項20】
実行可能なコードをさらに含み、前記実行可能なコードは、少なくとも1つのコンピューティングデバイスによって実行されると、前記少なくとも1つのコンピューティングデバイスに、
前記マップを使用して1つ以上の追加の仮想オブジェクトを前記オブジェクトのうちの別のオブジェクトにアンカーすることを含んで、前記デジタルマルチメディアコンテナファイルを編集させるよう構成される、請求項14~19のいずれか1項に記載のコンピュータプログラム製品。
【請求項21】
画像センサと、1つ以上の非画像センサと、メモリと、請求項1~8のいずれか1項に記載の方法のステップを実行するよう適合されたプロセッサとを備える電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の参照
本出願は、2021年4月8日に提出された"AUGMENTED REALITY CONTENT EXPERIENCE SHARING USING DIGITAL MULTIMEDIA FILES"と題される米国非仮特許出願17/301,596の継続であり、同米国非仮特許出願の優先権を主張し、その開示は、参照によりその全体がここに組み込まれる。
【0002】
技術分野
本説明は、デジタルマルチメディアファイルを使用した拡張現実(AR)コンテンツ体験共有に関する。
【背景技術】
【0003】
背景
拡張現実(AR)は、実世界が、仮想オブジェクトおよび情報とも称される、コンピュータ生成オブジェクトおよび情報を追加することによって拡張される、実世界環境の対話型体験である。拡張現実は、自然な環境または状況を拡張し、知覚的に豊かにされた体験を提供するために使用される。これらの豊かにされた体験はユーザ間で共有されることが望ましい。
【発明の概要】
【0004】
概要
1つの一般的な局面によれば、コンピュータにより実現される方法は、電子デバイスの画像センサを使用して環境の視覚データを捕捉することと、電子デバイスの1つ以上の非画像センサを使用して環境の非視覚データを捕捉することとを含む。環境内の1つ以上のオブジェクトの特徴記述子が、環境の視覚データおよび環境の非視覚データを使用して生成される。環境のマップが、1つ以上のオブジェクトの特徴記述子を使用して生成される。1つ以上の仮想オブジェクトが、マップを使用してオブジェクトのうちの少なくとも1つにアンカーされる。視覚データ、非視覚データ、およびマップは、デジタルマルチメディアコンテナファイルにおいて組み合わされる。デジタルマルチメディアコンテナファイルは、電子デバイス上、または電子デバイスに接続された別の電子デバイス上に記憶される。
【0005】
実現例は、以下の特徴のうちの1つ以上、またはそれらの任意の組合せを含み得る。たとえば、いくつかの実現例では、デジタルマルチメディアコンテナファイルは、動画専門家グループ-4(MPEG-4)フォーマットであり得る。いくつかの実現例では、デジタルマルチメディアコンテナファイルは、QuickTime(MOV)フォーマットであり得る。
【0006】
いくつかの実現例では、本方法はさらに、仮想オブジェクトアンカー情報を、デジタルマルチメディアコンテナファイル内で視覚データ、非視覚データ、およびマップと組み合わせることを含み得る。
【0007】
いくつかの実現例では、本方法はさらに、デジタルマルチメディアコンテナファイルを電子デバイス上で再生して、視覚データおよび環境内にアンカーされた1つ以上の仮想オブジェクトを閲覧することを含み得る。
【0008】
いくつかの実現例では、本方法はさらに、デジタルマルチメディアコンテナファイルを異なる電子デバイス上で再生するために、デジタルマルチメディアコンテナファイルを異なる電子デバイスにエクスポートすることを含み得る。
【0009】
いくつかの実現例では、本方法はさらに、マップを使用して1つ以上の追加の仮想オブジェクトをオブジェクトのうちの別のオブジェクトにアンカーすることを含んで、デジタルマルチメディアコンテナファイルを編集することを含み得る。
【0010】
いくつかの実現例では、環境のマップを生成することは、顔の顔特徴のメッシュマップを生成することを含み、1つ以上の仮想オブジェクトをアンカーすることは、メッシュマップを使用して1つ以上の仮想オブジェクトを顔の顔特徴にアンカーすることを含み、視覚データ、非視覚データ、およびマップをデジタルマルチメディアコンテナファイルにおいて組み合わせることは、視覚データ、非視覚データ、およびメッシュマップをデジタルマルチメディアコンテナファイルにおいて組み合わせることを含む。
【0011】
別の一般的な局面では、コンピュータにより実現される方法は、第1の電子デバイスにおいて、第2の電子デバイスからデジタルマルチメディアコンテナファイルを受信することを含み、デジタルマルチメディアコンテナファイルは、環境の視覚データ、環境の非視覚データ、環境のマップ、および環境内で少なくとも1つのオブジェクトにアンカーされた1つ以上の仮想オブジェクトに関連する仮想オブジェクトアンカー情報を含み、本方法はさらに、第1の電子デバイスが、デジタルマルチメディアコンテナファイルを再生して、視覚データ、非視覚データ、および1つ以上の仮想オブジェクトを閲覧することと、1つ以上の追加の仮想オブジェクトを環境内で異なるオブジェクトにアンカーすることを含んで、デジタルマルチメディアコンテナファイルを編集することと、デジタルマルチメディアコンテナファイルを第1の電子デバイスに保存することとを含む。
【0012】
実現例は、以下の特徴のうちの1つ以上、またはそれらの任意の組合せを含み得る。たとえば、いくつかの実現例では、デジタルマルチメディアコンテナファイルは、動画エキスパートグループ-4(MPEG-4)フォーマットである。いくつかの実現例では、デジタルマルチメディアコンテナファイルは、QuickTime(MOV)フォーマットである。
【0013】
いくつかの実現例では、第1の電子デバイスがデジタルマルチメディアコンテナファイルを再生することは、第1の電子デバイスが、第1の電子デバイスのライブ画像センサを使用してデジタルマルチメディアコンテナファイルを再生することを含む。
【0014】
いくつかの実現例では、第1の電子デバイスが、デジタルマルチメディアコンテナファイルを再生することは、第1の電子デバイスが、異なるオブジェクトを見る異なる位置で第1の電子デバイスのライブ画像センサを使用してデジタルマルチメディアコンテナファイルを再生することを含む。
【0015】
別の一般的な局面では、コンピュータプログラム製品は、非一時的コンピュータ可読媒体上で有形に具現化され、実行可能なコードを含み、実行可能なコードは、少なくとも1つのコンピューティングデバイスによって実行されると、少なくとも1つのコンピューティングデバイスに、電子デバイスの画像センサを使用して環境の視覚データを捕捉させ、電子デバイスの1つ以上の非画像センサを使用して環境の非視覚データを捕捉させ、環境の視覚データおよび環境の非視覚データを使用して、環境内に1つ以上のオブジェクトの特徴記述子を生成させ、1つ以上のオブジェクトの特徴記述子を使用して環境のマップを生成させ、マップを使用して1つ以上の仮想オブジェクトをオブジェクトのうちの少なくとも1つにアンカーさせ、視覚データ、非視覚データ、およびマップをデジタルマルチメディアコンテナファイルにおいて組み合わせさせ、デジタルマルチメディアコンテナファイルを電子デバイスまたは電子デバイスに接続された別の電子デバイスに記憶させるよう構成される。
【0016】
特に、非一時的記憶媒体は、プロセッサによって実行されると、プロセッサに、前述の局面のうちの1つによる方法を実行させる命令を記憶し得る。
【0017】
実現例は、以下の特徴のうちの1つ以上、またはそれらの任意の組合せを含み得る。例えば、いくつかの実現例では、デジタルマルチメディアコンテナファイルは、動画専門家グループ-4(MPEG-4)フォーマットである。
【0018】
いくつかの実現例では、デジタルマルチメディアコンテナファイルは、QuickTime(MOV)フォーマットである。
【0019】
いくつかの実現例では、コンピュータプログラム製品は、実行可能なコードをさらに含み、実行可能なコードは、少なくとも1つのコンピューティングデバイスによって実行されると、少なくとも1つのコンピューティングデバイスに、仮想オブジェクトアンカー情報を、デジタルマルチメディアコンテナファイル内で視覚データ、非視覚データ、およびマップと組み合わせさせるよう構成される。
【0020】
いくつかの実現例では、コンピュータプログラム製品は、実行可能なコードをさらに含み、実行可能なコードは、少なくとも1つのコンピューティングデバイスによって実行されると、少なくとも1つのコンピューティングデバイスに、視覚データおよび環境内にアンカーされた1つ以上の仮想オブジェクトを閲覧するために、デジタルマルチメディアコンテナファイルを電子デバイス上で再生させるよう構成される。
【0021】
いくつかの実現例では、コンピュータプログラム製品は、実行可能なコードをさらに含み、実行可能なコードは、少なくとも1つのコンピューティングデバイスによって実行されると、少なくとも1つのコンピューティングデバイスに、デジタルマルチメディアコンテナファイルを異なる電子デバイス上で再生するために、デジタルマルチメディアコンテナファイルを異なる電子デバイスにエクスポートさせるよう構成される。
【0022】
いくつかの実現例では、コンピュータプログラム製品は、実行可能なコードをさらに含み、実行可能なコードは、少なくとも1つのコンピューティングデバイスによって実行されると、少なくとも1つのコンピューティングデバイスに、マップを使用して1つ以上の追加の仮想オブジェクトをオブジェクトのうちの別のオブジェクトにアンカーすることを含んで、デジタルマルチメディアコンテナファイルを編集させるよう構成される。
【0023】
別の一般的な局面では、電子デバイスは、画像センサと、1つ以上の非画像センサと、メモリと、前述の局面の1つによる方法のステップを実行するように適合されたプロセッサとを備える。
【0024】
1つ以上の実現例の詳細は、添付の図面および以下の説明に記載されている。他の特徴は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0025】
図1】ここで説明される実現例による、システムのブロック図である。
図2A】例示的なユーザ電子デバイスの正面図である。
図2B】例示的なユーザ電子デバイスの正面図である。
図2C】例示的なユーザ電子デバイスの正面図である。
図3】ここで説明する概念を実現するよう構成されるシステムのブロック図である。
図4図3のデジタルマルチメディアコンテナファイルのブロック図である。
図5図3のシステムの例示的な動作を示すフローチャートである。
図6図3のシステムの例示的な動作を示すフローチャートである。
図7】AR仮想環境の例示的なシーンである。
図8】汎用コンピュータデバイスおよび汎用モバイルコンピュータデバイスの一例を示す。
【発明を実施するための形態】
【0026】
詳細な説明
本文書は、デジタルマルチメディアコンテナファイルを使用して拡張現実(AR)コンテンツ体験を共有するためのシステムおよび技術を説明する。拡張現実は、ユーザに仮想コンテンツを実世界に追加させる。例えば、ユーザは、電子デバイスを使用して、物理的環境の視覚データを捕捉し、仮想コンテンツ(例えば、仮想オブジェクトおよび情報)を物理的環境の捕捉された視覚データ上にオーバーレイして、ARコンテンツ体験を作成してもよい。ユーザは、次いで、ARコンテンツ体験を他のユーザと共有してもよく、これは、他のユーザが同じARコンテンツ体験を再生することを可能にする。他のユーザとのARコンテンツ体験の共有を提供する現在の解決策に関する技術的問題は、インターネット接続性が、共有されるARコンテンツ体験の持続時間の一部またはすべてにわたって利用可能でないことがあり、および/または、それらの条件が可能ではないかもしれない場合に、共有される体験を見ている電子デバイスが、互いに物理的に近接して同時に動作しなければならないことがあるために、生じ得る。
【0027】
本文書は、ARコンテンツ体験の共有を可能にする現在の技術で遭遇する技術的問題を解決する技術的解決策を記載する。例えば、技術的解決策は、単一のデジタルマルチメディアコンテナファイル内にARコンテンツ体験のための情報を保存および記憶するための機構を提供し、そのデジタルマルチメディアコンテナファイルは、ユーザのローカル電子デバイス上に記憶され、他のユーザによって他のユーザの電子デバイス上で容易に共有および使用されることができる。デジタルマルチメディアコンテナファイルの使用は、ユーザなどが、ARコンテンツを編集すること、ARコンテンツを、同じ、または異なる地理的位置で再生すること、およびARコンテンツを再生中に編集することを可能にする。すなわち、ユーザは、記憶されたARコンテンツを使用してライブARセッションを再体験することができ、他のユーザも、記憶されたARコンテンツを使用してライブARセッションを体験できる。デジタルマルチメディアコンテナファイルは、再生および編集機能を可能にするプレーヤ、エディタ、およびオンラインビデオ共有プラットフォームと互換性がある汎用ファイルフォーマットを含む。さらに、デジタルマルチメディアコンテナファイルは、同じライブARセッションを再生するために使用されるAR固有データを保存するためのカスタマイズ可能なトラックを提供する。
【0028】
例えば、以下でより詳細に説明されるように、ユーザAは、あるオブジェクトのARビデオを記録し、そのARビデオにAR注釈で注釈を付けることができる。次いで、ユーザAは、そのARビデオを、ユーザAのローカル電子デバイス上に、単一のデジタルマルチメディアフォーマット(例えば、デジタルマルチメディアコンテナフォーマット)で保存することができる。ユーザAは、記憶されたデジタルマルチメディアフォーマットからARコンテンツを後で再生することができ、同じオブジェクトのライブ記録セッションを使用してAR注釈を編集すること、または同様のオブジェクト(ただし、同じ正確なオブジェクトではない)のライブ記録セッションを使用してAR注釈を編集することを、すべて単一のデジタルマルチメディアフォーマットを使用して、ARコンテンツを編集することができる。1つの利点は、これらの記録後編集機能および更新を実行するためにインターネット接続性が必要とされなくてもよいことである。さらに、ユーザAは、ユーザBとデジタルマルチメディアフォーマットを共有することができ、ユーザBは、デジタルマルチメディアフォーマットを使用して、当該オブジェクトまたは異なる地理的位置における同様のオブジェクトに関連する同じ機能を実行することができる。このようにして、ユーザBは、記憶されたARコンテンツを使用するが、ユーザB自身のカメラがオブジェクトを見ている状態で、ライブAR体験を体験することができる。再び、ローカルデバイス上に記憶されたデジタルマルチメディアフォーマットの使用は、ユーザBによるインターネット接続の必要性を排除し、また、ユーザBがライブAR体験再生を有することを可能にする。ユーザBは、ビデオを、ARコンテンツの有無にかかわらず(すなわち、AR注釈の有無にかかわらず)、同じ記録されたカメラビューから、ユーザAによって記録されたとおりに、またはユーザBのカメラビューから、異なるカメラから見るために、再生(プレビュー)することができ、ユーザBのライブAR体験を可能にする。
【0029】
ここで使用される場合、デジタルマルチメディアコンテナファイルは、オーディオ、ビデオ、サブタイトル、および、例えばAR固有データなどの他の情報を保持するためのカスタマイズ可能なトラックを含む他の情報を保持するデジタルファイルフォーマットにおけるデジタルファイルのタイプである。コンテナは、様々なオーディオおよびビデオ圧縮方法をサポートすることができ、1つの特定のオーディオまたはビデオコーデックに結び付けられなくてもよい。デジタルマルチメディアコンテナファイルの例は、限定はしないが、MPEG-4(MP4)、QuickTime(MOV)、AVI、RealMedia、およびその他を含む。デジタルマルチメディアコンテナファイルは、本文書全体を通して、デジタルマルチメディアコンテナフォーマットおよびデジタルマルチメディアコンテナファイルフォーマットおよびデジタルマルチメディアコンテナフォーマットファイルと交換可能に使用され得る。
【0030】
図1は、ここで説明する実現例による、デジタルマルチメディアコンテナファイルを使用してARコンテンツを記録し、記憶し、共有するための例示的なシステム100に関連して、ユーザを示す。例示的システム100は、記憶されたデジタルマルチメディアコンテナファイルにアクセスし、ARコンテンツを使用してライブARセッションを編集および/または再作成してもよく、これは、他の態様ではライブARセッションを再生するために記憶されたARコンテンツおよびデータにアクセスするために必要とされるかもしれないネットワーク接続性の使用を伴わずに行われてもよい。
【0031】
図1に示す例では、ユーザは、第1のウェアラブルデバイス10および第2のウェアラブルデバイス20を装着している。第1のウェアラブルデバイス10は、単に説明および例示を目的として、スマートグラス10の形態のヘッドマウントディスプレイ(HMD)デバイス10である。しかしながら、ここで説明される原理は、例えば、捕捉された視覚データをARコンテンツで注釈付けすることを含む、視覚データおよび非視覚データ捕捉能力を有する、ゴーグル、ヘッドセットなどの他のタイプのHMDに適用されてもよい。第2のウェアラブルデバイス20は、単に説明および例示を目的として、スマートウォッチ20の形態の手首装着型デバイス20である。しかしながら、ここで説明される原理は、例えば、ブレスレット、リング等の他のタイプの手/手首装着デバイスに適用されてもよい。ユーザはハンドヘルドデバイス30を保持している。ハンドヘルドデバイス30は、例えば、単に説明および例示の目的で、例えばカメラの形態で、捕捉された視覚データにARコンテンツで注釈を付けることを含む、視覚データおよび非視覚データ捕捉機能を有するスマートフォン30であってもよい。しかしながら、ここで説明する原理は、例えば、捕捉された視覚データにARコンテンツを注釈付けすることを含む、視覚データおよび非視覚データ捕捉機能を有するデバイスを含む、ハンドヘルドコントローラ、タブレットデバイス、ラップトップコンピューティングデバイスなどの他のタイプの電子デバイスに適用されてもよい。さらに、第1のウェアラブルデバイス10および第2のウェアラブルデバイス20は、捕捉され注釈付けされたコンテンツを、デバイス自体上またはハンドヘルドデバイス30上において、デジタルマルチメディアコンテナファイル内に記憶することが可能であってもよい。同様に、ハンドヘルドデバイス30は、捕捉され注釈付けされたコンテンツをデバイス自体上においてデジタルマルチメディアコンテナファイル内に記憶することができる。
【0032】
例示的なシステム100は、ネットワーク190を介してデータを交換することができる1つ以上のコンピューティングデバイスおよび/または電子デバイスを含むことができる。デバイスは、ネットワーク190を介して、および/または代替ネットワークを介して、および/または互いと直接通信することができる。例示的なクライアントデバイスは、たとえば、例示的なウェアラブルデバイス10、20、例示的なハンドヘルドデバイス30、他の電子デバイス、たとえば、ラップトップまたはネットブックコンピューティングデバイス150、タブレットコンピューティングデバイス160、デスクトップコンピューティングデバイス170など、および他のそのようなデバイスを含み得る。サーバ140は、ネットワーク190を介してデバイスにアクセス可能であり得る。サーバ140は、データベース144へのアクセスを提供してもよい。このようにして、ウェアラブルデバイス10、20およびハンドヘルドデバイス30はまた、記憶されたデジタルマルチメディアコンテナファイルを、ネットワーク190を介してサーバ140およびデータベース144に通信し、それらおよび他のデバイスによって、ネットワークアクセス可能な場所に記憶することもできる。データベース144に記憶された情報は、ローカルに記憶されたARコンテンツ情報に対するバックアップとして使用されてもよく、および/またはローカルに記憶されたARコンテンツをAR関連情報で補足してもよい。
【0033】
図2Aは、図1のユーザによって装着される例示的な第1のウェアラブルデバイス10(例示的なHMD10)の正面図である。図2Bは、図1に示す例示的な第2のウェアラブルデバイス20(例示的なスマートウォッチ20)の正面図である。図2Cは、図1のユーザによって保持される例示的なハンドヘルドデバイス30の正面図である。
【0034】
HMD10の形態の第1のウェアラブルデバイス10、またはこの例ではスマートグラス10は、フレーム11を含み得、ディスプレイデバイス12がフレーム11内に結合される。いくつかの実現例では、音声出力デバイス13がフレーム11に結合され得る。HMD10は、様々な感知システムデバイスを含む感知システム16と、HMD10の動作を容易にするための様々な制御システムデバイスを含む制御システム17とを含み得る。制御システム17は、制御システム17の構成要素に動作可能に結合されるプロセッサ19と、外部デバイスおよび/またはネットワークとの通信を提供する通信モジュール15とを含み得る。HMD10はまた、画像センサ18(すなわち、カメラ18)を含み得る。いくつかの実現例では、画像センサ18またはカメラ18は、静止画像および/もしくは動画像、パターン、特徴、光などを捕捉することが可能であり得、ならびに/または上で説明されたような視覚コードを走査することが可能であり得る。さらに、いくつかの実現例では、HMD10は、1つ以上の非画像センサ(図示せず)を含むことができ、ならびに/またはHMD10は、第2のウェアラブルデバイス20および/もしくはハンドヘルドデバイス30から取得された非画像センサ情報を使用することができる。
【0035】
第1のウェアラブルデバイス10は、第2のウェアラブルデバイス20および/またはハンドヘルドデバイス30に接続されてもよい。例えば、第1のウェアラブルデバイス10は、第2のウェアラブルデバイス20および/またはハンドヘルドデバイス30との間で、ファイルおよびデータを含む情報をストリーミングすることができる。たとえば、第2のウェアラブルデバイス20および/またはハンドヘルドデバイス30上に電子的に記憶されたファイルが、第1のウェアラブルデバイス10にストリーミングされ、そこで再生され得る。同様に、第1のウェアラブルデバイス10によって収集および/または処理された情報が、第2のウェアラブルデバイス20および/またはハンドヘルドデバイス30上に記憶され得る。
【0036】
この例ではスマートウォッチ20の形態である第2のウェアラブルデバイス20は、インターフェースデバイス21を含み得る。いくつかの実現例では、インターフェースデバイス21は、たとえば、ユーザに情報を出力することができる表示エリア22を含む出力デバイスとして機能し得る。いくつかの実現例では、インターフェースデバイス21は、たとえば、インターフェースデバイス21がユーザからタッチ入力を受信することを可能にするタッチ表面23を含む入力デバイスとして機能し得る。いくつかの実現例では、インターフェースデバイス21は、入力デバイスおよび出力デバイスとして機能することができる。第2のウェアラブルデバイス20は、様々な感知システムデバイスを含む感知システム26を含み得る。第2のウェアラブルデバイス20は、デバイス20の動作を容易にするために、様々な制御システムデバイスを含む制御システム27と、外部デバイスおよび/またはネットワークとの通信を提供する通信モジュール25と、プロセッサ29とを含み得る。第2のウェアラブルデバイス20はまた、画像センサ28(すなわち、カメラ28)を含み得る。いくつかの実現例では、画像センサ28またはカメラ28は、静止画像および/もしくは動画像を捕捉することが可能であり得、ならびに/または上で説明されたような視覚コードを走査することが可能であり得る。さらに、いくつかの実現例では、第2のウェアラブルデバイス20は、1つ以上の非画像センサ(図示せず)を含むことができ、ならびに/または第2のウェアラブルデバイス20は、HMD10および/もしくはハンドヘルドデバイス30から取得された非画像センサ情報を使用することができる。
【0037】
第2のウェアラブルデバイス20は、第1のウェアラブルデバイス10および/またはハンドヘルドデバイス30に接続されてもよい。例えば、第2のウェアラブルデバイス20は、第1のウェアラブルデバイス10および/またはハンドヘルドデバイス30との間で、ファイルおよびデータを含む情報をストリーミングすることができる。たとえば、第1のウェアラブルデバイス10および/またはハンドヘルドデバイス30上に電子的に記憶されたファイルが、第2のウェアラブルデバイス20にストリーミングされ、そこで再生され得る。同様に、第2のウェアラブルデバイス20によって収集および/または処理された情報が、第1のウェアラブルデバイス10および/またはハンドヘルドデバイス30上に記憶され得る。
【0038】
この例ではスマートフォン30の形態であるハンドヘルドデバイス30は、インターフェースデバイス31を含み得る。いくつかの実現例では、インターフェースデバイス31は、たとえば、ユーザに情報を出力することができる表示エリア32を含む出力デバイスとして機能し得る。いくつかの実現例では、インターフェースデバイス31は、たとえば、インターフェースデバイス31がユーザからタッチ入力を受信することを可能にするタッチ表面33を含む入力デバイスとして機能し得る。いくつかの実現例では、インターフェースデバイス31は、入力デバイスおよび出力デバイスとして機能することができる。ハンドヘルドデバイス30は、様々な感知システムデバイスを含む感知システム36を含むことができる。ハンドヘルドデバイス30は、ハンドヘルドデバイス30の動作を容易にするために、様々な制御システムデバイスを含む制御システム37と、外部デバイスおよび/またはネットワークとの通信を提供する通信モジュール35と、プロセッサ39とを含み得る。ハンドヘルドデバイス30はまた、画像センサ38(すなわち、カメラ38)を含んでもよい。いくつかの実現例では、画像センサ38またはカメラ38は、静止画像および/または動画像を捕捉することが可能であり得る。さらに、いくつかの実現例では、ハンドヘルドデバイス30は、1つ以上の非画像センサ(図示せず)を含むことができ、ならびに/またはハンドヘルドデバイス30は、HMD10および/もしくは第2のウェアラブルデバイス20から取得された非画像センサ情報を使用することができる。ハンドヘルドデバイス30は、ファイルおよび情報を記憶し得、それらは、次いで、第1のウェアラブルデバイス10および/または第2のウェアラブルデバイス20上でストリーミングならびに再生され得る。
【0039】
図3は、例えば、図1に示す例示的なウェアラブルデバイス10、20、図1に示す例示的なハンドヘルドデバイス30、および/またはここで説明する原理を実行するために使用され得る他の電子デバイスのうちの1つなどの例示的な電子デバイス200のブロック図である。
【0040】
電子デバイス200は、感知システム260および制御システム270を含み得る。感知システム260は、1つ以上の異なるタイプのセンサ、撮像センサ、および非撮像センサを含むことができる。撮像センサは、画像センサ261(例えば、カメラ)および光学センサ262を含んでもよい。非撮像センサは、例えば、音声センサ263、慣性測定ユニット(IMU)センサ264、光センサ265、光源266、位置センサ267、および/もしくは他のセンサならびに/またはセンサの異なる組み合わせを含んでもよい。いくつかの実現例では、感知システム260は、視覚コードを走査または読み取ることができる画像センサ261および/または光学センサ262を含み得る。
【0041】
制御システム270は、例えば、電源/休止制御デバイス、オーディオおよびビデオ制御デバイス、光学制御デバイス、および/もしくは他のそのようなデバイスならびに/またはデバイスの異なる組み合わせを含んでもよい。感知システム260および/または制御システム270は、特定の実現例に応じて、より多くの、またはより少ないデバイスを含み得る。
【0042】
電子デバイス200は、感知システム260および制御システム270と通信する少なくとも1つのプロセッサ290を含むことができる。プロセッサ290は、例えば、静止画像およびビデオを含むが、それらに限定されない、画像センサ/光学センサによって捕捉される、例えば、画像等の、感知システム260から受信される入力を処理してもよい。電子デバイス200は、制御システム270の制御下でプロセッサ290によって処理され出力システム250によって出力されるユーザ入力を受信することができる入力システム240を含み得る。入力システム240は、例えば、タッチ入力面、音声入力を受信することができる音声入力デバイス(例えば、感知システム260に含まれる音声センサまたはマイクロフォンを含む)、ジェスチャ認識デバイス(例えば、感知システム260の画像センサによって捕捉されプロセッサ290によって処理される画像を含む)、および他のそのような入力デバイスを含む、様々なタイプの入力デバイスを含み得る。出力システム250は、例えば、ディスプレイデバイス、音声出力デバイス、またはスピーカ、物理的および/または触覚出力デバイス、ならびに他のそのような出力デバイス等の種々のタイプの出力デバイスを含んでもよい。電子デバイス200は、少なくとも1つのメモリ280と、電子デバイス200と1つ以上の他の外部デバイス、ネットワーク、サーバなどとの間の通信を提供する通信モジュール295とを含むことができる。
【0043】
電子デバイス200は、メモリ280に記憶され、感知システム260および制御システム270などの電子デバイス200の構成要素と協働して特定の機能およびタスクを実行するためにプロセッサ290によって実行される実行可能なコードおよび/または命令を含む1つ以上のアプリケーション275を含み得る。1つのアプリケーション275は、異なるアプリケーションプログラミングインターフェース(API)を使用して、電子デバイス200を使用してAR体験を作成および構築するよう構成されるAR捕捉ツール277を含む。AR捕捉ツール277は、電子デバイス200が、画像センサおよび非画像センサを含む感知システム260を使用して、その環境記録を記録および感知し、ARビデオを作成することを可能にする。AR捕捉ツール277は、運動追跡、環境理解、および光推定を含む、いくつかのコア能力を可能にする。AR捕捉ツール277は、電子デバイス200の動き追跡が、その現在の環境において世界に対するその位置を理解し、追跡することを可能にする。AR捕捉ツール277は、電子デバイス200が、たとえば、地面、テーブル、壁、および他の表面などの水平、垂直、ならびに角度付きの表面を含むすべてのタイプの表面のサイズならびに位置を検出することを可能にする。AR捕捉ツール277は、電子デバイスが光推定を実行して環境の現在の照明条件を推定することを可能にする。
【0044】
電子デバイス200がその環境を通って移動するにつれて、AR捕捉ツール277は、感知システム260を使用して、電子デバイス200が、それが移動するにつれてその位置を追跡し、それが移動している環境に対するそれ自身の理解を構築することを可能にする。電子デバイス200の実世界に対する理解は、実世界とシームレスに統合する方法で、オブジェクト、注釈、または他の情報を、ユーザに配置させる。例えば、ユーザは、昼寝している子猫を、コーヒーテーブルの隅に置くか、または絵画に、画家に関する経歴情報で注釈を付けることができる。動き追跡は、ユーザが動き回ってこれらのオブジェクトを任意の角度から見ることができることを意味し、ユーザが方向転換して、部屋を去っても、ユーザが戻ってくると、子猫または注釈は、ユーザがそれを残したまさにその場所にあることになる。
【0045】
より具体的には、いくつかの実現例では、AR捕捉ツール277は、自己位置推定と環境地図作成との同時実行(SLAM)と呼ばれるプロセスを使用して、これらの動き追跡および環境理解機能を実行する。AR捕捉ツール277は、SLAMおよび感知システム260を使用して、捕捉された感知画像において特徴記述子と呼ばれる視覚的に区別可能な特徴を検出し、これらの点を使用して、電子デバイス200の位置の変化を計算する。視覚情報は、IMU264からの慣性測定値および他の非撮像感知情報と組み合わされて、環境に対する電子デバイス200の姿勢(すなわち、位置および向き)を経時的に推定する。ARコンテンツは、レンダリングされ、電子デバイスの画像センサ261の姿勢と位置合わせされて、正確な視点からレンダリングされ得る。レンダリングされた仮想画像は、電子デバイスの画像センサ262から取得された画像の上にオーバーレイされ、それが、あたかも仮想コンテンツが実世界の一部であるかのように見えるようにすることができる。AR捕捉ツール277は、特徴記述子を使用して、環境のマップ(位置推定マップとも呼ばれる)を生成する。いくつかの実現例では、動き追跡および環境理解機能を実行するために他のプロセスが使用され得る。例えば、いくつかの実現例では、AR捕捉ツール277は、顔検出および追跡アルゴリズムを使用して、AR注釈(例えば、顔構成)が上部に追加され得る顔メッシュを生成してもよい。
【0046】
環境理解の観点から、AR捕捉ツール277は、特徴点および平面を検出することによって、実世界環境の理解を常に改善している。AR捕捉ツール277は、テーブルまたは壁のような共通の水平または垂直表面上にあるように見える特徴点のクラスタを探し、これらの表面を平面として利用可能にする。AR捕捉ツール277はまた、各平面の境界を判断し、その情報を利用可能にすることができ、次いで、それを使用して、平坦な表面上に静置する仮想オブジェクトを配置することができる。AR捕捉ツール277は、追加のおよび/または更新された特徴点ならびに平面を用いて、位置推定マップを連続的および/または周期的に更新することができる。
【0047】
AR捕捉ツール277はまた、画像センサ261を使用して、所与の点からの表面間の距離に関するデータを含む画像である深度マップを作成することができる。AR捕捉ツール277は、深度マップによって提供される情報を使用して、仮想オブジェクトを、見られる表面に正確に衝突させる、またはそれらを実世界オブジェクトの前または後ろに出現させる等、没入型かつ現実的なユーザ体験を可能にする。AR捕捉ツール277は、その環境の照明に関する情報を検出し、所与の画像の平均輝度および色補正を提供することができる。この情報により、仮想オブジェクトを周囲の環境と同じ条件で照明することができ、臨場感を高めることができる。AR捕捉ツール277は、ヒットテストを使用して、(タップまたは他の対話によって提供される)電子デバイス200の画面に対応する(x,y)座標をとり、射線(ray)を画像センサ261の世界のビューに投影し、射線が交差する任意の平面または特徴点を、世界空間におけるその交差の姿勢とともに、返してもよい。これは、ユーザが環境内でオブジェクトを選択すること、またはそうでなければオブジェクトと対話することを可能にする。有向点(oriented points)は、ユーザに、仮想オブジェクトを、角度のある表面上に配置させる。ヒットテストが特徴点を返すと、AR捕捉ツール277は、付近の特徴点を見て、それらを使用して、所与の特徴点における表面の角度を推定しようと試みる。次いで、AR捕捉ツール277は、その角度を考慮に入れる姿勢を返す。
【0048】
姿勢は、AR捕捉ツール277が電子デバイス自体の位置および環境に対するその理解を改善するにつれて、変化し得る。ユーザが仮想オブジェクトを配置することを望むとき、AR捕捉ツール277が経時的にオブジェクトの位置を追跡することを確実にするよう、アンカーが定義され得る。いくつかの実現例では、アンカーは、上記で説明したように、ヒットテストによって返される姿勢に基づいて作成され得る。
【0049】
姿勢が変化し得るという事実は、AR捕捉ツール277が、経時的に平面および特徴点等の環境オブジェクトの位置を更新し得ることを意味する。平面および点は、追跡可能物と呼ばれる、あるタイプのオブジェクトとして、称され得る。その名称が示唆するように、これらは、AR捕捉ツール277が経時的に追跡するオブジェクトである。ARコンテンツ(例えば、仮想オブジェクト)は、電子デバイス200が動き回ってもARコンテンツと追跡可能物との間の関係が安定したままであることを確実にするために、特定の追跡可能物にアンカーされ得る。例えば、ユーザが仮想オブジェクトを実際のオブジェクト(例えば机)の上に置く場合、AR捕捉ツール277が、後で、机に関連付けられる平面の姿勢を調整した場合に、仮想オブジェクトは依然としてテーブルの上に留まるように見えることになる。アンカーは、実世界に配置された仮想オブジェクトの錯覚を維持するように、オブジェクトが空間内で同じ位置および向きにとどまるように見えることを確実にする。
【0050】
アンカーは、画像センサ261(たとえば、カメラ)およびオブジェクトが位置決めされる座標空間である世界空間を使用してもよい。画像センサ261およびオブジェクト位置は、世界空間においてフレームごとに更新される。姿勢は、世界空間におけるオブジェクトの位置および向きを表す。アンカーが作成されると、現在のフレームについて世界空間推定に対する位置および向きを記述する姿勢が、使用される。1つ以上のオブジェクトをアンカーに取り付けることができる。アンカーおよびそれに取り付けられたオブジェクトは、それらが世界において配置される場所にとどまるように見える。アンカー姿勢が各フレームにおいて世界空間更新に適応するにつれて、アンカーは、それに応じて、オブジェクトの姿勢を更新する。複数のオブジェクトを同じアンカーに取り付けて、アンカーの姿勢が調整されたときでさえ、これらのオブジェクトがそれらの相対的な位置および向きを維持することを保証することができる。アンカーは、ARシーンにおいて使用されてもよい。アンカーは、世界空間内の追跡可能物(平面など)または位置の文脈で作成されてもよい。
【0051】
AR捕捉ツール277によって捕捉された情報は、フォーマットされ、ローカルに、電子デバイス200上で、メモリ280内のデジタルマルチメディアコンテナファイル285内に記憶される。デジタルマルチメディアコンテナファイル285は、アプリケーション275が情報を再生および編集することを可能にする一般的なファイルフォーマットである。また、デジタルマルチメディアコンテナファイル285は、位置推定マップおよびアンカー情報を含む、同じライブARビデオを再生することに関連する情報を保存するためのカスタマイズ可能なトラックを含む。いくつかの実現例では、デジタルマルチメディアコンテナファイル285は、動画専門家グループ-4(MPEG-4)フォーマットを含む。いくつかの実現例では、デジタルマルチメディアコンテナファイル285は、QuickTime(MOV)フォーマットを含む。いくつかの実現例では、他のデジタルマルチメディアコンテナファイルが使用され得る。
【0052】
デジタルマルチメディアコンテナファイル285は、通信モジュール295を使用して電子デバイス200から別の電子デバイスに通信され得、デジタルマルチメディアコンテナファイル285は、次いで、ローカルに、その別の電子デバイス上に、その電子デバイスによる使用のために、記憶される。たとえば、いくつかの実現例では、デジタルマルチメディアコンテナファイル285は、第1のウェアラブルデバイス10および/または第2のウェアラブルデバイス20による使用のためにハンドヘルドデバイス30上にローカルに記憶され得る。
【0053】
図4も参照すると、デジタルマルチメディアコンテナファイル285は、感知システム260によって捕捉される、および/またはAR捕捉ツール277によって生成される、以下の情報を含んでもよい。たとえば、デジタルマルチメディアコンテナファイル285は、限定はしないが、画像情報405と、画像メタデータ410と、IMUセンサデータ415と、位置センサデータ420と、APIコール情報425と、位置推定マップ430と、AR導出ジオメトリ435と、音声データ440とを含み得る。この情報およびメタデータ405~440は、ARビデオの再生および編集に使用され得るようにローカルに記憶される。いくつかの実現例では、アプリケーション275は、ユーザがデジタルマルチメディアコンテナファイル285を再生および編集することを可能にするARオーサリングツール279を含む。
【0054】
図5を参照すると、例示的なプロセス500は、図3の電子デバイス200および図1のシステム100の例示的な動作を示す。より具体的には、プロセス500は、注釈付きAR環境を捕捉し、作成し、デジタルマルチメディアコンテナファイルにおいて記憶するための、コンピュータにより実現される方法の例を示す。プロセス500の実行のための命令は、メモリ280に記憶され、電子デバイス200上のプロセッサ290によって実行され得る。プロセス500の実行のための命令は、プロセッサ290に、アプリケーション275およびその構成要素のうちの1つ以上を実現させ得る。
【0055】
プロセス500は、電子デバイスの画像センサを使用して環境の視覚データを捕捉することと、電子デバイスの1つ以上の非画像センサを使用して環境の非視覚データを捕捉することとを含む(510)。例えば、電子デバイス200は、画像センサ261を使用して環境の視覚データを捕捉し、1つ以上の非画像センサ263,264,265,266,および267を使用して環境の非視覚データを捕捉する。使用中、ユーザは、電子デバイス200のカメラ(画像センサ261)を使用して環境の視覚データを捕捉し、非画像センサを使用して環境の非視覚データを捕捉することができる。
【0056】
プロセス500は、環境の視覚データおよび環境の非視覚データを使用して、環境内に1つ以上のオブジェクトの特徴記述子を生成すること(510)を含む。たとえば、AR捕捉ツール277を含むアプリケーション275は、環境の視覚データおよび非視覚データを使用して、環境内に1つ以上のオブジェクトの特徴記述子を生成する。プロセス500は、1つ以上のオブジェクトの特徴記述子を使用して環境のマップを生成すること(530)を含む。たとえば、AR捕捉ツール277を含むアプリケーション275は、1つ以上のオブジェクトの特徴記述子を使用して環境のマップを生成する。
【0057】
プロセス500は、マップを使用して、1つ以上の仮想オブジェクトをそれらオブジェクトのうちの少なくとも1つにアンカーすること(540)を含む。たとえば、AR捕捉ツール277を含むアプリケーション275は、マップを使用して1つ以上の仮想オブジェクトをそれらオブジェクトのうちの少なくとも1つにアンカーする。上記で説明したように、アンカーが作成されると、現在のフレームについて世界空間推定値に対する位置および向きを記述する姿勢が、使用される。1つ以上のオブジェクトをアンカーに取り付けることができる。アンカーおよびそれに取り付けられたオブジェクトは、それらがその世界において配置される場所にとどまるように見える。アンカー姿勢が各フレームにおいて世界空間更新に適応するにつれて、アンカーは、それに応じて、オブジェクトの姿勢を更新する。複数のオブジェクトを同じアンカーに取り付けて、アンカーの姿勢が調整されたときでさえ、これらのオブジェクトがそれらの相対的な位置および向きを維持することを保証することができる。
【0058】
プロセス500は、視覚データ、非視覚データ、およびマップをデジタルマルチメディアコンテナファイルにおいて組み合わせること(550)と、デジタルマルチメディアコンテナファイルを電子デバイスに記憶すること(560)とを含む。たとえば、AR捕捉ツール277を含むアプリケーション275は、視覚データ、非視覚データ、およびマップをデジタルマルチメディアコンテナファイル285において組み合わせ、デジタルマルチメディアコンテナファイル285を電子デバイス200上のメモリ280に記憶する。デジタルマルチメディアコンテナファイル285内の情報は、図4に示される情報およびデータを含む。いくつかの実現例では、デジタルマルチメディアコンテナファイルはMPEG-4フォーマットである。いくつかの実現例では、デジタルマルチメディアコンテナファイル285はMOVフォーマットである。
【0059】
任意選択で、デジタルマルチメディアコンテナファイルは、別の電子デバイスによる使用のために別の電子デバイスに記憶され得る。たとえば、いくつかの実現例では、第1のウェアラブルデバイス10および/または第2のウェアラブルデバイス20は、デジタルマルチメディアコンテナファイルを第1のウェアラブルデバイス10による使用(たとえば、ストリーミングおよび再生)のためにハンドヘルドデバイス30に記憶し得る。すなわち、いくつかの実現例では、第1のウェアラブルデバイス10および/または第2のウェアラブルデバイス20は、ハンドヘルドデバイス30と協働してプロセス500の機能のうちの1つ以上を実行することができ、ハンドヘルドデバイス30上にデジタルマルチメディアコンテナファイルを記憶することを含むプロセス500の機能のうちの1つ以上を実行することができる。
【0060】
任意選択で、プロセス500は、視覚オブジェクトアンカー情報を、デジタルマルチメディアコンテナファイル285内の視覚データ、非視覚データ、およびマップと組み合わせることを含むことができる。電子デバイス200は、電子デバイス200上でデジタルマルチメディアコンテナファイルを再生して、視覚データおよび環境においてアンカーされた1つ以上の仮想オブジェクトを見ることができる。電子デバイス200は、デジタルマルチメディアコンテナファイル285を他の電子デバイス上で再生するために、デジタルマルチメディアコンテナファイル285を他の電子デバイスにエクスポートすることができる。さらに、電子デバイス200および/または他の電子デバイスは、マップを使用して1つ以上の追加の仮想オブジェクトをそれらオブジェクトのうちの別のオブジェクトにアンカーすることを含んで、ARオーサリングツール279を使用してデジタルマルチメディアコンテナファイルを編集することができる。
【0061】
別の使用事例においては、プロセス500の一部として生成されるマップは、顔の顔特徴のメッシュマップを生成することを含み得る。このようにして、1つ以上の仮想オブジェクトが、メッシュマップを使用して顔の顔特徴にアンカーされてもよい。顔の視覚データ、非視覚データ、およびメッシュマップは、デジタルマルチメディアコンテナファイルにおいて組み合わされ、電子デバイス200のメモリ280に記憶され得る。
【0062】
図6を参照すると、例示的なプロセス600は、図3の電子デバイス200および図1のシステム100の例示的な動作を示す。より具体的には、プロセス600は、デジタルマルチメディアコンテナファイルを受信し、電子デバイス上でフォーマットを再生し、編集し、保存するための、コンピュータにより実現される方法の例を示す。プロセス600の実行のための命令は、メモリ280に記憶され、電子デバイス200上のプロセッサ290によって実行され得る。プロセス600の実行のための命令は、プロセッサ290に、アプリケーション275およびその構成要素のうちの1つ以上を実現させ得る。
【0063】
プロセス600は、第1の電子デバイスにおいて、第2の電子デバイスからデジタルマルチメディアコンテナファイルを受信することを含み、デジタルマルチメディアコンテナファイルは、環境の視覚データ、環境の非視覚データ、環境のマップ、および環境内で少なくとも1つのオブジェクトにアンカーされた1つ以上の仮想オブジェクトに関連する仮想オブジェクトアンカー情報を含む(610)。たとえば、電子デバイス200は、第2の電子デバイスからデジタルマルチメディアコンテナファイル285を受信することができ、デジタルマルチメディアコンテナファイル285は、環境の視覚データ、環境の非視覚データ、環境のマップ、および環境内で少なくとも1つのオブジェクトにアンカーされた1つ以上の仮想オブジェクトに関連する仮想オブジェクトアンカー情報を含む。
【0064】
プロセス600は、第1の電子デバイスが、デジタルマルチメディアコンテナファイルを再生して、視覚データ、非視覚データ、および1つ以上の仮想オブジェクトを閲覧することを含むことができる(620)。たとえば、電子デバイス200は、デジタルマルチメディアコンテナファイルを再生して、視覚データ、非視覚データ、および1つ以上の仮想オブジェクトを見ることができる。
【0065】
プロセス600は、1つ以上の追加の仮想オブジェクトを環境内の異なるオブジェクトにアンカーすること(630)と、デジタルマルチメディアコンテナファイルを第1の電子デバイス上に保存すること(640)とを含んで、デジタルマルチメディアコンテナファイルを編集することを含む。たとえば、電子デバイス200は、ARオーサリングツール279を含むアプリケーション275を使用して、1つ以上の追加の仮想オブジェクトを環境内の異なるオブジェクトにアンカーすることを含んで、デジタルマルチメディアコンテナファイル285を編集し、デジタルマルチメディアコンテナファイル285を電子デバイス200上のメモリ280に保存することができる。デジタルマルチメディアコンテナファイルは、動画専門家グループ-4(MPEG-4)フォーマットであってもよい。
【0066】
プロセス600は、任意選択で、第1の電子デバイスが、第1の電子デバイスのライブ画像センサを使用してデジタルマルチメディアコンテナファイルを再生することを含み得る。さらに、プロセス600は、第1の電子デバイスが、異なるオブジェクトを見る異なる位置で第1の電子デバイスのライブ画像センサを使用してデジタルマルチメディアコンテナファイルを再生することを含み得る。
【0067】
図7を参照すると、ここで説明する原理による例示的なARシーン700が示されている。ARシーン700は、システム100、電子デバイス200、ならびにプロセス500および600を用いてライブ記録および作成され得る。1つの例示的な使用事例では、ユーザAは、顧客Bに新しいモデルコーヒーマシンをどのように使用するかを示すために、ARビデオを記録することを望む。ユーザAは、電子デバイス200を使用し、画像センサ261(すなわち、カメラ)をオンにし、コーヒーメーカーをAR捕捉ツール277およびARオーサリングツール279とともに記録する。ユーザAは、この例ではAR注釈であるARオブジェクト705,710,715,720,および725を追加する。電子デバイス200は、コーヒーメーカーオブジェクトの特徴記述子を使用してマップを生成し、ユーザAによって選択されたコーヒーメーカーの周囲の位置にARオブジェクト705~725をアンカーする。電子デバイス200は、視覚データ、非視覚データ、およびマップを、電子デバイス200のメモリ280内のMP4フォーマットファイルなどのデジタルマルチメディアコンテナファイル285に保存する。仮想オブジェクト情報も、デジタルマルチメディアコンテナファイルの一部として保存され得る。必要に応じて、ユーザAは、ARオーサリングツール279のようなポスト編集ツールを用いてデジタルマルチメディアコンテナファイルに追加のARオブジェクトを追加し、ファイルを再保存することができる。
【0068】
ユーザAは、例えば、ユーザBが自身の電子デバイスにダウンロードするために、デジタルマルチメディアフォーマットファイル285をネットワークサイトにポストすることによって、デジタルマルチメディアフォーマットファイルをユーザBに通信することができる。いくつかの実現例では、ユーザBは、AR注釈を伴って、または伴わずに、ビデオをプレビューすることができる。ビデオを作成するために使用される、1人のユーザAと同じモデルである異なるコーヒーマシンとともに、異なる地理的位置にいるユーザBは、自身の電子デバイス200上でデジタルマルチメディアコンテナファイルを再生し、ユーザBのカメラのARモードをオンにすることができる。これは、必要とされる情報が、ユーザBの電子デバイス上で受信されたデジタルマルチメディアコンテナファイル内に含まれるため、ユーザBが、インターネット接続性を必要とすることなく、ユーザB自身のコーヒーマシンを研究し、同じAR注釈705~725をユーザB自身で異なる視野角からすべて見ることを可能にする。ユーザBはまた、オーサリングツールを使用して、自身のARオブジェクトをファイルに追加することもできる。
【0069】
同様に、他の使用事例において、上述のシステムおよび技術は、ユーザAの拡張顔絵画に使用され得、それは、デジタルマルチメディアコンテナファイルに保存され、同じ仮想顔絵画を自分の顔上で試すことができる友人と共有され得る。上記で説明したように、AR捕捉ツール277およびARオーサリングツール279は、顔検出および追跡アルゴリズムを使用して、ARコンテンツ(たとえば、AR顔構成)が適用され得る顔メッシュを生成することができる。顔メッシュおよび関連のセンサデータは、デジタルマルチメディアコンテナファイルに保存されてもよく、次いで、デジタルマルチメディアコンテナファイルは、他のユーザが、自身の顔上でAR顔構成を体験し得るように、他のユーザと共有されてもよい。同じ使用を、顔だけでなく、人体にも適用し、身体検出および追跡アルゴリズムを使用して身体メッシュおよび/または身体マップを生成し、ARコンテンツ(例えば、AR衣服)が適用され得るようにしてもよい。身体メッシュおよび/または身体マップならびに関連のセンサデータは、デジタルマルチメディアコンテナファイルに保存されてもよく、次いで、デジタルマルチメディアコンテナファイルは、他のユーザが自身の身体上でAR衣服を体験し得るように、他のユーザと共有されてもよい。また、ユーザAは、家の装飾をどこに移動させ、どのように配置すべきかについてのカスタマイズされたメモを記録し、ARビデオをユーザBに送信して再生することができる。また、ユーザAは、景観地のARガイダンスを作成し、それをデジタルマルチメディアコンテナファイルを用いて他人と共有することで、同じ景観地を物理的に訪問する際に、他人が自身の電子デバイスを用いてAR注釈に従うことができる。
【0070】
図10は、本明細書で説明される技法とともに用いられてもよい、汎用コンピュータデバイス2000および汎用モバイルコンピュータデバイス2050の例を示す。コンピューティングデバイス2000は、ラップトップ、デスクトップ、タブレット、ワークステーション、携帯情報端末、テレビ、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピューティングデバイスなど、様々な形態のデジタルコンピュータを表すことが意図されている。例えば、コンピューティングデバイス2000は、図1のサーバ140であり得、および/またはそれとして使用され得る。コンピューティングデバイス2050は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなどの、様々な形態のモバイルデバイスを表すことを意図している。本明細書に示された構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎず、本文書に記載および/または特許請求される本発明の実現例を限定するものではない。
【0071】
コンピューティングデバイス2000は、プロセッサ2002と、メモリ2004と、ストレージデバイス2006と、メモリ2004および高速拡張ポート2010に接続する高速インターフェイス2008と、低速バス2014およびストレージデバイス2006に接続する低速インターフェイス2012とを含む。プロセッサ2002は、半導体ベースのプロセッサとすることができる。メモリ2004は、半導体ベースのメモリとすることができる。コンポーネント2002,2004,2006,2008,2010,および2012の各々は、様々なバスを用いて相互接続され、共通のマザーボード上に、または必要に応じて他の方法で実装されてもよい。プロセッサ2002は、高速インターフェイス2008に結合されたディスプレイ2016などの外部入力/出力装置上にGUIのためのグラフィカル情報を表示するために、メモリ2004またはストレージデバイス2006に記憶された命令を含む、コンピューティングデバイス2000内で実行するための命令を処理することができる。他の実現例では、複数のプロセッサおよび/または複数のバスが、必要に応じて、複数のメモリおよびメモリのタイプとともに用いられてもよい。また、複数のコンピューティングデバイス2000が接続されてもよく、各デバイスは、(たとえば、サーババンクとして、ブレードサーバのグループとして、またはマルチプロセッサシステムとして)必要な動作の部分を提供する。
【0072】
メモリ2004は、コンピューティングデバイス2000内に情報を記憶する。一実現例では、メモリ2004は、1つ以上の揮発性メモリユニットである。別の実現例では、メモリ2004は、1つ以上の不揮発性メモリユニットである。メモリ2004はまた、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ可読媒体であってもよい。
【0073】
ストレージデバイス2006は、コンピューティングデバイス2000のための大容量ストレージを提供することができる。一実現例では、ストレージデバイス2006は、フロッピー(登録商標)ディスク装置、ハードディスク装置、光ディスク装置、もしくはテープ装置、フラッシュメモリもしくは他の類似の固体メモリ装置、もしくはストレージエリアネットワークもしくは他の構成の装置を含む装置のアレイなどのコンピュータ可読媒体であるかまたはそれらを含んでもよい。コンピュータプログラム製品は、情報担体において有形に具現化することができる。コンピュータプログラム製品はまた、実行されると、上記で説明したものなどの1つ以上の方法を実行する命令を含んでもよい。情報担体は、メモリ2004、ストレージデバイス2006、またはプロセッサ2002上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0074】
高速コントローラ2008は、コンピューティングデバイス2000のための帯域幅集約型動作を管理し、低速コントローラ2012は、より低い帯域幅集約型動作を管理する。このような機能の割り当ては例示に過ぎない。一実現例では、高速コントローラ2008は、(例えば、グラフィックスプロセッサまたはアクセラレータを介して)メモリ2004、ディスプレイ2016に、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート2010に、結合される。この実現例では、低速コントローラ2012は、ストレージデバイス2006および低速拡張ポート2014に結合される。低速拡張ポートは、様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標))を含んでもよく、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスなどの1つ以上の入力/出力装置に、たとえばネットワークアダプタを介して結合されてもよい。
【0075】
コンピューティングデバイス2000は、図に示されるように、いくつかの異なる形態で実現されてもよい。例えば、標準サーバ2020として、またはそのようなサーバのグループ内で複数回実現されてもよい。それは、ラックサーバシステム2024の一部として実現されてもよい。加えて、それは、ラップトップコンピュータ2022などのパーソナルコンピュータにおいて実現されてもよい。代替として、コンピューティングデバイス2000からのコンポーネントは、デバイス2050等のモバイルデバイス(図示せず)内の他のコンポーネントと組み合わせられてもよい。そのようなデバイスの各々は、コンピューティングデバイス2000、2050のうちの1つ以上を含んでもよく、システム全体が、互いに通信する複数のコンピューティングデバイス2000、2050から構成されてもよい。
【0076】
コンピューティングデバイス2050は、他のコンポーネントの中でもとりわけ、プロセッサ2052と、メモリ2064と、ディスプレイ2054などの入出力装置と、通信インターフェイス2066と、トランシーバ2068とを含む。デバイス2050はまた、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなどのストレージデバイスを設けられてもよい。コンポーネント2050,2052,2064,2054,2066,および2068の各々は、様々なバスを用いて相互接続され、コンポーネントのうちのいくつかは、共通のマザーボード上に、または必要に応じて他の方法で実装されてもよい。
【0077】
プロセッサ2052は、コンピューティングデバイス2050内で、メモリ2064に記憶された命令を含む命令を実行することができる。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイスの制御、デバイス2050によって実行されるアプリケーション、およびデバイス2050によるワイヤレス通信など、デバイス2050の他のコンポーネントの調整を提供してもよい。
【0078】
プロセッサ2052は、ディスプレイ2054に結合された制御インターフェイス2058およびディスプレイインターフェイス2056を介してユーザと通信してもよい。ディスプレイ2054は、例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス2056は、グラフィカル情報および他の情報をユーザに提示するようにディスプレイ2054を駆動するための適切な回路を備えてもよい。制御インターフェイス2058は、ユーザからコマンドを受信し、それらをプロセッサ2052に提出するために変換してもよい。さらに、デバイス2050と他のデバイスとの近距離通信を可能にするために、プロセッサ2052と通信する外部インターフェイス2062を設けてもよい。外部インターフェイス2062は、例えば、いくつかの実現例では有線通信を提供してもよく、他の実現例では無線通信を提供してもよく、複数のインターフェイスも用いられてもよい。
【0079】
メモリ2064は、コンピューティングデバイス2050内に情報を記憶する。メモリ2064は、1つ以上のコンピュータ可読媒体、1つ以上の揮発性メモリユニット、または1つ以上の不揮発性メモリユニットのうちの1つ以上として実現され得る。拡張メモリ2074も提供され、たとえばSIMM(シングルインラインメモリモジュール)カードインターフェイスを含んでもよい拡張インターフェイス2072を介してデバイス2050に接続されてもよい。そのような拡張メモリ2074は、デバイス2050のための追加の記憶空間を提供してもよく、またはデバイス2050のためのアプリケーションもしくは他の情報を記憶してもよい。具体的には、拡張メモリ2074は、上記で説明したプロセスを実行または補足するための命令を含んでもよく、セキュリティ保護された情報も含んでもよい。したがって、たとえば、拡張メモリ2074は、デバイス2050のためのセキュリティモジュールとして提供されてもよく、デバイス2050のセキュリティ保護された使用を可能にする命令でプログラムされてもよい。さらに、ハッキング不可能な方法でSIMMカード上に識別情報を配置するなど、追加の情報とともに、SIMMカードを介して、セキュリティ保護されたアプリケーションを提供してもよい。
【0080】
メモリは、以下で説明するように、たとえば、フラッシュメモリおよび/またはNVRAMメモリを含んでもよい。一実現例では、コンピュータプログラム製品が、情報担体において有形に具現化される。コンピュータプログラム製品は、実行されると上述の方法などの1つ以上の方法を実行する命令を含む。情報担体は、メモリ2064、拡張メモリ2074、もしくはプロセッサ2052上のメモリなどのコンピュータ可読媒体または機械可読媒体であり、たとえば、トランシーバ2068または外部インターフェイス2062を介して受信されてもよい。
【0081】
デバイス2050は、必要に応じてデジタル信号処理回路を含んでもよい通信インターフェイス2066を介してワイヤレスに通信してもよい。通信インターフェイス2066は、とりわけ、GSM(登録商標)音声通話、SMS、EMS、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、もしくはGPRSなどの様々なモードまたはプロトコルの下での通信を提供してもよい。そのような通信は、例えば、無線周波数トランシーバ2068を介して行われてもよい。さらに、Bluetooth(登録商標)、WiFi、または他のそのようなトランシーバ(図示せず)などを用いて、短距離通信が生じてもよい。加えて、GPS(全地球測位システム)受信機モジュール2070が、デバイス2050上で実行されるアプリケーションによって適宜用いられてもよい追加のナビゲーションおよび位置関連無線データをデバイス2050に提供してもよい。
【0082】
デバイス2050はまた、音声コーデック2060を用いて可聴的に通信してもよく、これは、ユーザから発話された情報を受信し、それを使用可能なデジタル情報に変換してもよい。音声コーデック2060は、同様に、たとえばデバイス2050のハンドセット内のスピーカなどを通じて、ユーザのために可聴音を生成してもよい。そのような音声は、音声電話通話からの音を含んでもよく、録音された音(例えば、音声メッセージ、音楽ファイルなど)を含んでもよく、デバイス2050上で動作するアプリケーションによって生成される音も含んでもよい。
【0083】
コンピューティングデバイス2050は、図に示されるように、いくつかの異なる形態で実現されてもよい。例えば、それは、携帯電話2080として実現されてもよい。それは、スマートフォン2082、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
【0084】
上述したコンピュータプログラムのようなコンピュータプログラムは、コンパイルまたは解釈された言語を含む任意の形式のプログラミング言語で書かれ得、スタンドアロンプログラムとして、または、モジュール、コンポーネント、サブルーチン、もしくは、コンピューティング環境で使用するのに好適な他のユニットとして任意の形態で展開され得る。コンピュータプログラムは、1つのコンピュータまたは1つの場所に位置するかもしくは複数の場所にわたって分散され通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
【0085】
方法ステップは、入力データ上で動作し出力を生成することにより機能を実行するよう1つ以上のプログラマブルプロセッサがコンピュータプログラムを実行することによって実行されてもよい。方法ステップの実行および装置の実施は、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)といった特殊目的論理回路系で行われてもよい。
【0086】
コンピュータプログラムの実行に好適であるプロセッサは、例として、汎用マイクロプロセッサおよび特殊目的マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含んでもよい。一般に、プロセッサは、リードオンリメモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受取ることになる。コンピュータの要素は、命令を実行するための少なくとも1つのプロセッサと、命令およびデータを格納するための1つ以上のメモリデバイスとを含んでもよい。一般に、コンピュータはさらに、例えば磁気ディスク、光磁気ディスクまたは光ディスクといった、データを格納するための1つ以上の大容量記憶装置を含むか、当該1つ以上の大容量記憶装置からデータを受取るかもしくは当該1つ以上の大容量記憶装置にデータを転送するよう動作可能に結合されるか、またはその両方を行ってもよい。コンピュータプログラム命令およびデータを実施するのに好適である情報担体は、例として、例えばEPROM、EEPROMおよびフラッシュメモリデバイスを含む全ての形態の不揮発性メモリと;例えば内部ハードディスクまたはリムーバブルディスクといった磁気ディスクと;光磁気ディスクと;CD-ROMおよびDVD-ROMディスクとを含む。プロセッサおよびメモリは、特殊目的論理回路系によって補足され得るか、または特殊目的論理回路系に組み込まれ得る。
【0087】
ユーザとの相互作用を提供するために、実現例は、例えば陰極線管(CRT)または液晶ディスプレイ(LCD)モニタといったユーザに対して情報を表示するための表示デバイスと、ユーザがコンピュータに入力を提供可能であるキーボードおよびポインティングデバイス、例えばマウス、トラックボールとを有するコンピュータ上で実現されてもよい。他の種類のデバイスが同様に、ユーザとの相互作用を提供するために使用され得;例えば、ユーザに提供されるフィードバックは、例えば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックといった任意の形態の感覚フィードバックであり得;ユーザからの入力は、音響入力、発話入力、または触覚入力を含む任意の形態で受取られ得る。
【0088】
実現例は、例えばデータサーバなどのバックエンドコンポーネントを含むコンピューティングシステム、またはアプリケーションサーバなどのミドルウェアコンポーネントを含むコンピューティングシステム、または例えばユーザが実現例と相互に作用できるグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネント含むコンピューティングシステム、またはそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合わせにおいて実現されてもよい。コンポーネントは、例えば通信ネットワークといったデジタルデータ通信の任意の形態または媒体によって相互接続されてもよい。通信ネットワークの例は、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、例えばインターネットを含む。
【0089】
記載された実現例の特定の特徴が本明細書に記載されているように示されているが、当業者には多くの修正、置換、変更および均等物がここで思い浮かぶであろう。したがって、特許請求の範囲は、実施形態の範囲内にあるすべてのそのような修正および変更を包含するように意図されていることを理解されたい。
図1
図2A
図2B
図2C
図3
図4
図5
図6
図7
図8
【国際調査報告】