(57)【要約】      （修正有）【課題】拡張現実アプリケーションを実行するシステム用の信頼できる姿勢推定を保証しながら、要求される処理資源を最小化することが課題である。【解決手段】マーカを検出する方法は、装置の位置に従って、且つ装置のマーカ検出性能を表す第１のデータに従ってマーカリストを選択することであって、前記第１のデータが、前記マーカセットのマーカに関連付けられ、マーカが、前記位置の近辺にあるように選択され、リストが、第１のデータに従って順序付けられる選択をすることと、マーカリストのマーカの、装置による検出の間に、マーカ検出性能を表す第２のデータを生成することと、第２のデータに従って第１のデータを更新することを含むことを特徴とする。【選択図】図１
2019053032.tif 000002
【特許請求の範囲】
【請求項１】
装置用のマーカを検出する方法であって、
前記装置の位置に従って、且つ前記装置のマーカ検出性能を表す第１のデータに従って、マーカセットにおいてマーカリストを選択することであって、前記第１のデータが、前記マーカセットのマーカに関連付けられ、前記マーカが、前記位置の近辺にあるように選択され、前記リストが、前記第１のデータに従って順序付けられる、選択することと、
前記マーカリストのマーカの、前記装置による検出の間に、マーカ検出性能を表す第２のデータを生成することと、
前記第２のデータに従って前記第１のデータを更新することと、
を含む方法。
【請求項２】
マーカリストの選択が、
前記装置の位置を含む要求をマーカ管理モジュールに送信することであって、前記第１のデータが、前記マーカ管理モジュールに関連するメモリに格納される、送信することと、
前記要求に応じて、前記マーカ管理モジュールから、前記装置の前記位置及び前記第１のデータに従って計算された前記マーカリストを受信することと、
を含む、請求項１に記載の方法。
【請求項３】
前記第１のデータの更新が、
前記第２のデータをマーカ管理モジュールに送信することであって、前記第１のデータが、前記マーカ管理モジュールに関連するメモリに格納される、送信することと、
前記第２のデータに従って前記メモリを修正することと、
を含む、請求項１に記載の方法。
【請求項４】
前記第１のデータの更新が、
ピア装置から、送信ピア装置のマーカ検出性能に対応する第１のデータを受信することと、
前記受信された第１のデータに従って、ローカルメモリに格納された第１のデータを更新することと、
前記更新された第１のデータをピア装置に送信することと、
を含む、請求項１に記載の方法。
【請求項５】
前記マーカリストのマーカの検出に従って、前記装置の姿勢を推定することを更に含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
マーカを検出するように構成された装置であって、
前記装置の位置に従って、且つ前記装置のマーカ検出性能を表す第１のデータに従って、マーカセットにおいてマーカリストを選択し、前記第１のデータが、前記マーカセットのマーカに関連付けられ、前記マーカが、前記位置の近辺にあるように選択され、前記リストが、前記第１のデータに従って順序付けられるように、
前記マーカリストのマーカの、前記装置による検出の間に、マーカ検出性能を表す第２のデータを生成するように、
前記第２のデータに従って前記第１のデータを更新するように、
構成された少なくとも１つのプロセッサに関連する少なくとも１つのメモリを含む装置。
【請求項７】
前記装置が、
前記装置の位置を含む要求をマーカ管理モジュールに送信することであって、前記第１のデータが、前記マーカ管理モジュールに関連するメモリに格納される、送信することと、
前記要求に応じて、前記マーカ管理モジュールから、前記装置の前記位置及び前記第１のデータに従って選択されたマーカリストを受信することと、
によって前記マーカリストを選択するように構成された通信インターフェースを更に含む、請求項６に記載の装置。
【請求項８】
前記装置が、通信インターフェースを更に含み、前記第１のデータの更新が、
前記通信インターフェースを介して前記第２のデータをマーカ管理モジュールに送信することであって、前記第１のデータが、前記マーカ管理モジュールに関連するメモリに格納される、送信することと、
前記第２のデータに従って前記メモリを修正することと、
を含む、請求項６に記載の装置。
【請求項９】
前記装置が、通信インターフェースを更に含み、前記第１のデータの更新が、
前記通信インターフェースを介してピア装置から、送信ピア装置のマーカ検出性能に対応する第１のデータを受信することと、
前記受信された第１のデータに従って、ローカルメモリに格納された第１のデータを更新することと、
前記更新された第１のデータをピア装置に前記通信インターフェースを介して送信することと、
を含む、請求項６に記載の装置。
【請求項１０】
前記少なくとも１つのプロセッサが、前記マーカリストのマーカの検出に従って、前記装置の姿勢を推定するように更に構成される、請求項６〜９のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、特に、検出すべきマーカの数が、装置の処理資源の実質的部分を必要とする場合に、カメラを含む装置の姿勢を推定するために、環境に分散されたマーカを検出する分野に関する。
【背景技術】
【０００２】
拡張現実（ＡＲ）アプリケーションは、デジタル情報をユーザ環境にリアルタイムで統合する。複合ビューは、特定のＡＲ装置（タブレット、電話、ＡＲメガネ）を用いて、リアルタイムで表示される。典型的なアプリケーションは、仮想３次元（３Ｄ）オブジェクトを実環境に挿入することに存する。この目的で、ＡＲアプリケーションは、アプリオリに知られた基準枠に比べて、空間におけるＡＲ装置の姿勢を絶えず推定しなければならない。ＡＲ装置は、カメラを装備され、且つカメラによって取得された画像におけるマーカを探索する。仮想オブジェクトを配置するためにＡＲにおいて用いられる一般的なアプローチは、環境において周知の姿勢を有する２次元（２Ｄ）マーカを用い、このマーカに比べて装置の姿勢を推定し、且つマーカに対して仮想オブジェクトを配置するようにすることである。２Ｄマーカは、追跡用に特に設計された合成画像（例えばARUCOマーカのような基準マーカ）、又はアプリケーションによって前もって学習された任意の適切な画像（規則的パターンを備えず、十分にテクスチャ化された）とすることができる。３Ｄオブジェクトはまた、マーカとして用いることができる。かかるマーカによって対処されるアプリケーションの例は、特定の３Ｄオブジェクトに拡張現実の特徴を重ね合わせることである。これらのＡＲ効果は、目的のオブジェクトを含むシーンの前でユーザが保持しているＡＲ装置によって現在捕捉されているビデオにおいて実行される。例えば、３Ｄオブジェクトは、歪まされてもよく、又はオブジェクトのテクスチャは、修正されてもよい。これらの操作は、これらのオブジェクトの特徴付けを必要とする。
【０００３】
広範囲なＡＲアプリケーション用に、環境の全体にわたって均一に分散された幾つかのマーカが必要である。マーカは、互いに独立していてもよい。即ち、各マーカは、例えばミュージアムＡＲアプリケーションにおけるように、他の基準枠にかかわらず、アニメーションが再生可能なそれ自体の基準枠を画定する。マーカはまた、一般的な広範な基準枠に属し、且つ部屋全体において、建物で、又は屋外でさえ行われるであろうエンターテイメントＡＲアプリケーションにおけるように、この基準枠内で場所から場所へと位置をマークしてもよい。
【０００４】
ＡＲアプリケーションの再生は、装置用の処理を消費する。マーカの検出もまた、処理を消費する。より多くのマーカが、ＡＲ装置のカメラによって取得された画像において探索されなければならないほど、それだけ多くの処理資源が必要とされる。従って、ＡＲアプリケーションにおいて、２つのプロセスが、装置の処理資源を求めて競合している。検出するべき多数のマーカを有することは、ＡＲ装置の処理資源次第で、ＡＲシーンをレンダリングする装置性能を崩壊させる可能性がある。非常に限られた数のマーカの検出を支援できる装置があるのに対して、ＡＲアプリケーションを再生するための必要とされる処理資源を維持しながら、多数を検出できる装置もある。
【０００５】
この欠点を回避する可能性は、マーカの数を制限するために、マーカを環境に賢く配置することである。この解決法は、満足できるものではない。何故なら、第１に、装置の位置測定及び姿勢推定が、それほど正確でも信頼できるものでもなく、第２に、それが、環境の変化に対して堅固ではないからである。実際に、マーカの可視性は、移動しているオブジェクト（即ちカメラとマーカとの間のオブジェクト）が、マーカを隠す場合に、又は照明条件に従って、変化し得る。別の可能性は、マーカのない環境を構築することである。かかるアプローチは、装置の位置及び姿勢を推定するために、コンピュータビジョンを実行するための更に多くの処理資源を要求する。ＳＬＡＭ技術（同時位置決め及び地図作成）は、環境内における装置の位置を同時に追跡しながら、未知の環境の地図を構成又は更新することを目指す。ＳＬＡＭは、環境内に特定のオブジェクト（マーカ）を識別することを目指さない。それは、（例えば、各マーカが、他の基準枠にかかわらず、それ自体の基準枠を画定するミュージアムＡＲアプリケーションにおいて）結局は移動され得るマーカにアニメーションが集中されるＡＲアプリケーションに適合されない。
【０００６】
信頼できる姿勢推定を保証しながら、要求される処理資源を最小化するために、検出すべきマーカのセットを最適化するための解決法が欠如している。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本開示の目的は、拡張現実アプリケーションを実行するシステム用の信頼できる姿勢推定を保証しながら、要求される処理資源を最小化するために、検出すべきマーカのリストを最適化する方法の欠如を克服することである。
【課題を解決するための手段】
【０００８】
本開示は、装置用のマーカを検出する方法に関する。方法は、
−  装置の位置に従って、且つ装置のマーカ検出性能を表す第１のデータに従って、マーカセットにおいてマーカリストを選択することであって、前記第１のデータが、前記マーカセットのマーカに関連付けられ、マーカが、前記位置の近辺にあるように選択され、リストが、第１のデータに従って順序付けられる、選択することと、
−  マーカリストのマーカの、装置による検出の間に、マーカ検出性能を表す第２のデータを生成することと、
−  第２のデータに従って第１のデータを更新することと、
を含む。
【０００９】
本原理の態様によれば、マーカリストの選択は、
−  装置の位置を含む要求をマーカ管理モジュールに送信することであって、第１のデータが、マーカ管理モジュールに関連するメモリに格納される、送信することと、
−  要求に応じて、マーカ管理モジュールから、装置の位置及び第１のデータに従って計算されたマーカリストを受信することと、
を含む。
【００１０】
本原理の別の態様によれば、第１のデータの更新は、
−  第２のデータをマーカ管理モジュールに送信することであって、第１のデータが、前記マーカ管理モジュールに関連するメモリに格納される、送信することと、
−  第２のデータに従って前記メモリを修正することと、
を含む。
【００１１】
実施形態において、前記第１のデータの更新は、
−  ピア装置から、送信ピア装置のマーカ検出性能に対応する第１のデータを受信することと、
−  受信された第１のデータに従って、ローカルメモリに格納された第１のデータを更新することと、
−  更新された第１のデータをピア装置に送信することと、
を含む。
【００１２】
実施形態において、方法は、マーカリストのマーカの検出に従って、装置の姿勢を推定することを更に含む。
【００１３】
本開示はまた、マーカを検出するように構成された装置に関する。装置は、
−  装置の位置に従って、且つ装置のマーカ検出性能を表す第１のデータに従って、マーカセットにおいてマーカリストを選択し、前記第１のデータが、前記マーカセットのマーカに関連付けられ、マーカが、前記位置の近辺にあるように選択され、リストが、第１のデータに従って順序付けられるように、
−  マーカリストのマーカの、装置による検出の間に、マーカ検出性能を表す第２のデータを生成するように、
−  第２のデータに従って第１のデータを更新するように、
構成された少なくとも１つのプロセッサに関連する少なくとも１つのメモリを含む。
【００１４】
実施形態において、装置は、
−  装置の位置を含む要求をマーカ管理モジュールに送信することであって、第１のデータが、マーカ管理モジュールに関連するメモリに格納される、送信することと、
−  要求に応じて、マーカ管理モジュールから、装置の位置及び第１のデータに従って選択されたマーカリストを受信することと、
によってマーカリストを選択するように構成された通信インターフェースを含む。
【００１５】
本原理の別の態様によれば、装置は、通信インターフェースを含み、第１のデータの更新は、
−  通信インターフェースを介して第２のデータをマーカ管理モジュールに送信することであって、第１のデータが、マーカ管理モジュールに関連するメモリに格納される、送信することと、
−  第２のデータに従ってメモリを修正することと、
を含む。
【００１６】
本原理の別の態様によれば、装置は、通信インターフェースを含み、第１のデータの更新は、
−  通信インターフェースを介してピア装置から、送信ピア装置のマーカ検出性能に対応する第１のデータを受信することと、
−  受信された第１のデータに従って、ローカルメモリに格納された第１のデータを更新することと、
−  更新された第１のデータをピア装置に通信インターフェースを介して送信することと、
を含む。
【００１７】
実施形態において、少なくとも１つのプロセッサは、マーカリストのマーカの検出に従って、装置の姿勢を推定するように構成される。
【００１８】
以下の説明を読むことで、本開示は、よりよく理解され、他の特定の特徴及び利点が明らかになろう。説明は、添付された図面を参照する。
【図面の簡単な説明】
【００１９】
【図１】本原理の特定の実施形態に従って、基準マーカ及びＡＲ装置を含む環境（即ち実際のシーン）を示す。
【図２】本原理の特定の実施形態に従って、３つのモジュールにおけるＡＲアプリケーションの分解を示す。
【図３】本原理の特定の実施形態に従って、図２の３つのモジュールの第１の実施形態であって、３つのモジュールが、独立型の装置で実現される第１の実施形態を図表で示す。
【図４】本原理の特定の実施形態に従って、図２の３つのモジュールの第２の実施形態であって、３つのモジュールが、ピアツーピアモードで互いに接続された相異なる装置において実現される第２の実施形態を図表で示す。
【図５】本原理の特定の実施形態に従って、クライアント−サーバモデルに基づき、図２の３つのモジュールの第３の実施形態を図表で示す。
【図６】非限定的で有利な実施形態に従って、図３、４又は５の装置などの処理装置において実行されるような方法の実施形態を図表で示す。
【図７】非限定的な実施形態に従い、図３〜５に関連して説明される実施形態の１つに従って、図６に関連して説明される方法を実行するように構成され得る装置７０の例示的なアーキテクチャを示す。
【発明を実施するための形態】
【００２０】
ここで、主題が、図面に関連して説明されるが、図面において、同様の参照数字は、全体を通して同様の要素を指すために用いられる。以下の記載において、主題の完全な理解を提供するために、説明の目的で多数の特定の詳細が明らかにされる。これらの特定の詳細なしに主題の実施形態が実行され得ることが理解される。
【００２１】
本開示の非限定的な実施形態によれば、システムは、アプリケーションを実行する装置の利用可能な処理資源、及び一方ではマーカ検出用の且つ他方ではＡＲアプリケーション用の要求される処理資源に従って、拡張現実アプリケーション用のマーカ（例えば２Ｄ基準マーカ）を検出する方法及び装置を集約する。
【００２２】
図１は、基準マーカ１１及びＡＲ装置１２を含む環境（即ち実際のシーン）を示す。環境はまた、マーカが鉛筆の傍らにあるテーブルを含む。ＡＲ装置１２のカメラ１３は、シーンの画像を捕捉している。動作中に、ＡＲアプリケーションは、カメラによって、周知のマーカの存在、それらの位置及び向きを検出するために、捕捉画像を処理する。これらのデータに従って、ＡＲアプリケーションは、検出されたマーカによって画定された基準枠において、カメラの相互的な姿勢（即ち位置及び向き）を計算する。図１の例において、基準枠の中心である１つの２次元基準マーカだけが存在する。ユーザが、装置１２を回転又は移動させると、マーカは、もはやカメラ１３の視野内にはない。従って、ＡＲ体験を継続するために、他のマーカが、環境に分散されてもよい。マーカは、規則的パターンも３次元オブジェクトさえもなしにテクスチャ化された表面であってもよい。捕捉画像におけるマーカ認識及び検出用の特定のデータは、ＡＲアプリケーションによって操作されるメモリに格納される。有利なことに、このメモリは、ＡＲ装置１２の要素である。ＡＲ装置１２は、少なくとも１つのスクリーン１４を含み、検出されたマーカによるＡＲ装置の推定された姿勢に従って、仮想オブジェクトが統合された捕捉画像が、スクリーン１４上でレンダリングされる。図１の例において、仮想３次元人物が、基準枠の中心に追加される。図１の例において、この中心は、検出された基準マーカに対応する。マーカの検出は、人物が、例えばテーブル上を歩くように見えなければならないときに、ＡＲアプリケーションにおける鍵である。ＡＲ装置の姿勢が、マーカに対して見積もられる場合に、人物は、例えばテーブルの上を飛ぶか、又はこの例示的なアプリケーション用に望まれるものに反してテーブルに差し込まれる。次に、ＡＲアプリケーションのマーカ検出及び姿勢推定モジュール用の優れた実行条件を保証することが、中心になる。図１の例によれば、ＡＲ装置１２は、スマートフォンである。他の実施形態において、ＡＲ装置は、例えばフロントビューカメラを装備されたタブレット又はヘッドマウントディスプレイ（ＨＭＤ）装置であってもよい。
【００２３】
図２は、本原理の特定の実施形態に従って、３つのモジュールにおけるＡＲアプリケーションの分解を示す。拡張現実エンジン（ＡＲＥ）２１は、仮想オブジェクトの計算及びレンダリングを保証し、例えば図１のＡＲ装置１２のカメラ１３によって捕捉された画像に仮想オブジェクトを統合し、且つＡＲ装置のスクリーン１４上でそれらをレンダリングするモジュールである。このモジュールは、ＡＲ体験を確実に実行できるように、少なくとも１つのマーカによるＡＲ装置姿勢の正確で堅固な推定を要求する。
【００２４】
マーカ検証及び姿勢推定モジュール（ＭＤ＆ＰＥ）２２は、マーカの選択を決定すること、及び選択され検出されたマーカに関連する基準枠に従って装置の姿勢を推定することを担当する。ＭＤ＆ＰＥモジュールは、第１に、ＡＲ装置の位置から潜在的に可視のマーカのリスト内のマーカのサブセットを選択すること、及び第２に、ＡＲ装置のカメラによって捕捉された来たる画像においてこのマーカのサブセットのマーカを検出することを担当する。ひとたびマーカのサブセットが選択されると、検出プロセスは、当業者に周知の技術に従って、且つＭＤ＆ＰＥモジュールに関連するメモリに格納されたデータに従って実行される。検出されるマーカは、２次元マーカ、例えば基準マーカ、テクスチャ化された表面、又は例えばマーカとして対象とされた環境の３次元オブジェクトであってもよい。
【００２５】
ＡＲ装置の位置から潜在的に可視のマーカのリストは、マーカ管理（ＭＭ）モジュール２３によって提供される。ＭＤ＆ＰＥモジュールは、マーカリストの要求をＭＭモジュールに送信する。環境の全ての周知のマーカのセットに関するデータは、ＭＭモジュール２３に関連するメモリに格納される。このマーカセットは、ＡＲアプリケーションに従って評価してもよい。新しいマーカが、追加されてもよく、幾つかは、セットから除去されてもよい。マーカセットのマーカに関連するデータは、次の情報を含む。
−  一意のマーカ識別子。
−  マーカの検出方法のタイプ（ARUCO、Vuforia、３Ｄ検出．．．）などの検出情報データ、及び検出方法に特有のデータ（例えばARUCO用のＩＤ、Vuforia用のデータベース、３Ｄマーカ用の３Ｄモデル）。それらは、例えば、マーカを検出するために必要とされる資源（例えばメモリ及び処理資源）に関するデータ、例えば統計データを揃えられてもよい。
−  アプリケーションによる位置。位置フォーマットは、ＭＤ＆ＰＥモジュールが、ＡＲ装置を環境に配置する方法に依存する。屋外環境において、位置データは、ＧＰＳ座標であってもよい。屋内環境において、位置は、部屋又は部屋の一部と関連する識別子として表現されてもよい。位置情報は、ＡＲ装置の近辺における、それ故ＡＲ装置１２のカメラ１３によって潜在的に可視のマーカを選択するために、且つこの位置から見えないマーカを廃棄するために、ＭＭモジュールによって用いられる。好ましくは、近辺の概念は、マーカが、ＡＲ装置の実際の位置からＡＲ装置によって潜在的に検出可能であることを意味する。近辺から排除されるのは、高いレベルの確信、例えば８０％又は９０％を超える確信でＡＲ装置の実際の位置から検出できないマーカである。
−  アプリケーションによる階層情報。マーカは、ＡＲアプリケーションにおける、それらの役割及びそれらの重要性に従って階層的に組織化されてもよい。マーカが、静止又は移動している可能性があり、マーカが、別のマーカに従って画定された基準枠を参照する可能性があり、且つＡＲアニメーションが、マーカに付けられている可能性があるので、マーカは、アプリケーションにおいて同じ役割を担うのではない。この階層関係を表すデータは、ＭＤ＆ＰＥモジュール用にマーカリストを選択するのに有用であり得る。
−  マーカが、どれくらい容易に検出可能かを表すマーカ検出性能（ＭＤＰ）データ。この情報は、ＡＲ装置１２のＭＤ＆ＰＥモジュールによって提供されるフィードバックデータから計算される。変形において、マーカ検出性能データは、以下で詳細に説明される相異なる実施形態に従って、ＡＲアプリケーションを実行する相異なるＡＲ装置の複数のＭＤ＆ＰＥモジュールからのフィードバックデータに従って計算される。マーカ検出性能データは、新しいフィードバックデータが受信された場合に、ＭＭモジュールによって更新される。ＭＤＰデータは、要求に応じてＭＤ＆ＰＥモジュールに送信するマーカリストにおいてマーカを選択し順序付けるために用いられる。例えば、マーカリストは、閾値を超える検出性能に対するスコア（検出性能がよいほど、スコアは高い）を備えたマーカだけを含んでもよい。リストは、スコアによって降順にソートされる。
【００２６】
図２〜６において、モジュールは、機能ユニットであり、それらは、識別可能な物理ユニットに関係していてもしていなくてもよい。例えば、これらのモジュール又はそれらの幾つかは、特有のコンポーネント若しくは回路に集められるか、又はソフトウェアの機能に寄与してもよい。反対に、幾つかのモジュールは、別個の物理的エンティティから潜在的に構成されてもよい。本開示と適合する機器は、純粋なハードウェアを用いるか、例えばＡＳＩＣ、ＦＰＧＡ若しくはＶＬＳＩ（それぞれ≪特定用途向け集積回路≫、≪フィールドプログラマブルゲートアレイ≫、≪超大規模集積回路≫）などの専用ハードウェアを用いるか、装置に埋め込まれた幾つかの集積電子コンポーネントからか、又はハードウェア及びソフトウエアコンポーネントの混合から実現される。
【００２７】
図３は、図２の３つのモジュールの第１の実施形態を図表で示し、図３では、３つのモジュールは、独立型の装置３０に実現される。この例示的な実施形態において、ＡＲ装置（例えば、フロントカメラを装備したタブレット、スマートフォン又はＨＭＤ）は、環境においてＡＲアプリケーションを実行する。装置のカメラによって捕捉された画像上で仮想オブジェクトをレンダリングするために、拡張現実エンジン２１は、環境における少なくとも１つのマーカに従ってＡＲ装置の姿勢の堅固な推定をマーカ検出及び姿勢推定モジュール２２に要求する。最初に、ＭＤ＆ＰＥモジュール２２は、装置の位置に従って潜在的に可視のマーカリストをマーカ管理モジュール２３に要求する。マーカリストは、装置が新しい位置に入ることをＭＤ＆ＰＥモジュール２２が検出した場合にのみ要求されてもよい。変形において、マーカリストの更新は、周期的に、例えば２秒ごと又は５秒ごとに要求される。別の変形において、ＭＤ＆ＰＥモジュールは、マーカ検出における修正が観察された場合に、例えば、リストのマーカが検出されない場合にか、検出されたマーカが、カメラの視野から出た場合にか、より一般的には検出されたマーカが、もはや検出されない場合にか、又はその検出用の必要なメモリ及び／若しくは処理資源が、閾値を超えて変化する場合に、リストの更新を要求する。ＭＤ＆ＰＥモジュールは、ＭＭモジュール２３によって提供されたリストのマーカを検出するために、ＡＲ装置３０のカメラによって捕捉された画像を処理し、且つリストのマーカが検出されるかどうかを監視し、ｙｅｓの場合に、その検出用に用いられるメモリ及び処理資源を監視する。ＭＤ＆ＰＥモジュール２２は、検出されたマーカに従って、ＡＲ装置３０の姿勢を推定し、且つこの姿勢をＡＲＥ２１に送信する。並行して、ＭＤ＆ＰＥモジュール２２は、リストのマーカを検出しながら、監視されたデータをＭＭモジュール２３にフィードバックする。
【００２８】
図２を参照しながら説明したように、環境の全ての周知のマーカのセットに関するデータは、ＭＭモジュール２３に関連するメモリに格納される。ＭＤ＆ＰＥモジュール２２からの要求に基づいて、ＭＭモジュール２３は、要求で示された位置から潜在的に可視のマーカのリストを構築する。このリストのマーカは、マーカ検出性能を表すデータに従って順序付けられる。ＭＤ＆ＰＥモジュール２２から監視フィードバックを受信すると、ＭＭモジュール２３は、その関連するメモリにおいて、これらのデータを更新する。その結果、ＭＤ＆ＰＥモジュールからの次の要求は、これに応じて、更新された検出性能データに従って選択され順序付けられたマーカリストを取得する。図３の例示的な実施形態において、装置３０は、独立型である。ＭＭモジュール２３に関連するメモリにおけるマーカデータは、ＡＲ装置３０におけるＭＤ＆ＰＥモジュール２２の活動に従って設定され更新される。
【００２９】
図４は、図２の３つのモジュールの第２の実施形態を図表で示し、図４において、３つのモジュールは、ピアツーピアモードで互いに接続された相異なる装置４０において実現される。ＡＲ装置４０のＡＲＥモジュール及びＭＤ＆ＰＥモジュールは、図２及び３のＡＲＥ２１及びＭＤ＆ＰＥモジュール２２に似ている。マーカ管理モジュール４３は、その装置のＭＤ＆ＰＥモジュールの要求でマーカリストを構築し、且つＭＭモジュール２３のようなＭＤ＆ＰＥモジュールからマーカ検出性能データを収集する。加えて、ＡＲ装置４０のＭＭモジュール４３は、そのマーカデータを他のＡＲ装置４０のＭＭモジュール４３と共有する。換言すれば、ＭＭモジュール４３は、通信インターフェース、例えば有線インターフェース（例えばバスインターフェース、広域ネットワークインターフェース、ローカルエリアネットワークインターフェース）、又は無線インターフェース（IEEE802.11インターフェース若しくはBluetooth（登録商標）インターフェースなど）を含む。この通信インターフェースを介して、ＭＭモジュール４３は、それらが、それらの関連するＭＤ＆ＰＥモジュールからフィードバックデータを受信するときに、他のＭＭモジュール４３からデータを受信する。ＭＭモジュール４３は、一方ではその関連するＭＤ＆ＰＥモジュール２２からの監視されたフィードバックＭＤＰデータに従って、且つ他方では他のＭＭモジュール４３からの受信ＭＤＰデータに従って、それ自体のＭＤＰデータを更新する。
【００３０】
ＭＭモジュール４３は、ＭＭモジュール４３が実現される装置４０に関連するメモリに接続可能なピアのリストを維持する。このリストは、通信装置のタイプ（例えばWiFi又はBluetooth（登録商標））と関係する周知の手段に従って更新され続ける。ＭＭモジュール４３は、フィードバックデータが、関連するＭＤ＆ＰＥモジュールから受信された場合に、フィードバックデータを接続可能なピアに送信する。変形において、ＭＭモジュール４３は、著しい変動又は変化が、性能データ内で検出された場合に、例えばマーカに関連する性能データが、所定の割合（例えば５０％若しくは７５％）を超えて突然減少した場合に、又は或る期間にわたって検出されなかったマーカが検出された場合に、接続可能なピアにフィードバックデータを送信する。
【００３１】
ＭＭモジュール４３は、相異なる装置４０に実現されたピアＭＭモジュール４３からフィードバックデータを受信する。装置４０は、同じ処理資源を有するのではない。ピアＭＭモジュールによって送信及び受信されるフィードバックデータは、マーカ検出性能（ＭＤＰ）に関する情報、及び関連する装置４０の処理資源に関する情報を含む。遠隔ＭＤＰは、両方の装置４０、即ち遠隔装置及びローカル装置の処理資源に従って、ローカルＭＤＰとマージされる。第２の装置４０より多くの処理資源を備えた第１の装置４０は、これらのデータをそれ自体のＭＤＰとマージするために、それらの処理資源間の差に従って、第２の装置から受信されたフィードバックデータを適合させる。
【００３２】
図５は、クライアント−サーバモデルに基づいて、図２の３つのモジュールの第３の実施形態を図表で示す。この例示的な実施形態において、図２のＭＤ＆ＰＥモジュール及びＡＲＥは、拡張現実装置５０に実現される。装置５０は、ＭＭモジュールを含まない。サーバ装置５１は、全てのクライアント装置５０によって共有されるＭＭモジュール５３を実現する。装置５０のＭＤ＆ＰＥモジュール及びサーバ装置５１のＭＭモジュールは、通信インターフェース、例えば有線インターフェース（例えばバスインターフェース、広域ネットワークインターフェース、ローカルエリアネットワークインターフェース）、又は無線インターフェース（IEEE802.11インターフェース若しくはBluetooth（登録商標）インターフェースなど）を含む。ＭＤ＆ＰＥモジュールは、それらの通信インターフェースを介して、順序付けられたマーカリストの要求をＭＭモジュール５３に送信する。図４のピアツーピア実施形態におけるように、ＭＤ＆ＰＥモジュールによってＭＭモジュール５３に送信されたフィードバックデータは、送信クライアント装置５０のＭＤＰ及び処理資源情報を収集する。変形において、フィードバックデータは、処理資源情報を含まず、サーバ装置５１は、全てのクライアント装置５０の処理資源情報をローカルメモリに格納する。サーバ装置５１のＭＭモジュールは、関連する処理資源に従って、ＭＤＰデータを格納しマージする。ＭＤ＆ＰＥモジュールから要求を受信すると、ＭＭモジュール５３は、要求において提供される位置に関連するマーカ検出性能データに従って、且つリストを要求する装置５０の処理資源に従って、マーカリストを構築する。
【００３３】
図６は、非限定的で有利な実施形態に従って、図３、４又は５の装置などの処理装置において実行されるような方法６００の実施形態を図表で示す。例えば図３、４又は５の実施形態の１つとして構成された３つのモジュールは、方法のステップを実行し、且つメッセージを交換する。拡張現実アプリケーションは、ＡＲ装置上で動作し始める。アプリケーションは、装置の堅固な姿勢推定を要求する。装置の姿勢は、その近くの環境に配置されたマーカに関連して推定される。
【００３４】
ステップ６０１において、マーカ検出及び姿勢推定モジュール６２は、環境における装置の位置を検出する。位置は、正確な空間座標というよりむしろ近辺である。屋外環境において、位置データは、ＧＰＳ座標であってもよい。屋内環境において、位置は、部屋又は部屋の一部と関連する識別子として表現されてもよい。ステップ６０１において、ＭＤ＆ＰＥモジュールは、検出された位置によるマーカリストを要求するメッセージに６０２をマーカ管理モジュール６３に送信する。
【００３５】
ステップ６０３において、ＭＭモジュール６３は、ＭＤ＆ＰＥモジュール６２からのメッセージ６０２に応じて、マーカリストを構築する。図１に関連して説明したようなデータに関連するマーカセットは、ＭＭモジュールに関連するメモリに格納される。ＭＭモジュール６３は、位置から潜在的に可視の順序付けられたマーカリスト、及び要求しているＭＤ＆ＰＥモジュールを実現する装置の処理資源を構築する。処理資源情報は、メッセージ６０２の一部であってもよい。変形において、ＡＲアプリケーション用のＭＤ＆ＰＥモジュールを実現する装置の処理資源情報は、ＭＭモジュール６３に関連するメモリに格納される。マーカリストは、例えば、メモリにおける各マーカに関連するマーカ検出データに従って、順序付けられてもよい。順序付けられたマーカリストは、要求６０２への応答として、要求しているＭＤ＆ＰＥモジュール６２にメッセージ６０４で送信される。
【００３６】
ステップ６０５において、ＭＤ＆ＰＥモジュール６２は、順序付けられたマーカリストを受信する。連続するステップ６０６において、ＭＤ＆ＰＥモジュール６２は、装置に関連するカメラによって捕捉された画像において、受信リストのマーカの検出を実行する。相異なるアルゴリズムが、検出すべき各マーカのタイプに従って用いられてもよい。マーカを検出している間に、ＭＤ＆ＰＥモジュールは、リストの各マーカ用のマーカ検出性能情報を監視する。マーカが、ステップ６０５中に検出されない場合に、新しい要求６０２が、新しいマーカリストを得るためにＭＭモジュールを送信される。ＭＤ＆ＰＥモジュールは、これが、相異なるマーカを得るための新しい要求であることを示すために、要求６０２にフラグを設定してもよい。
【００３７】
ステップ６０７において、ＭＤ＆ＰＥモジュールを実現する装置の姿勢は、検出されたマーカに従って推定される。モジュール６２は、姿勢推定を含むメッセージ６０８を拡張現実エンジン６１に送信する。モジュール６２は、ＭＭモジュール６３にメッセージに６０９を送信し、メッセージ６０９は、ステップ６０６中に監視されたマーカ検出性能に関するフィードバックデータを含む。
【００３８】
ステップ６１０において、拡張現実エンジン６１は、ＡＲアプリケーションを実行するために、メッセージ６０８で受信された姿勢推定を用いる。ＡＲＥ６１は、処理資源を消費している。この消費は、アプリケーションの必要性に従う時間にわたって変化する。ＡＲＥ６１は、ＭＭモジュール６３にメッセージに６１２を送信してもよく、メッセージ６１２は、現在用いられる処理資源を表すデータを含む。変形において、メッセージ６１２はまた、ＭＤ＆ＰＥモジュール６２に送信され、ＭＤ＆ＰＥモジュール６２は、ステップ６０７において、ＭＭモジュール６２へのメッセージ６０９にこれらのデータを追加する。
【００３９】
ステップ６１１において、ＭＭモジュール６３は、メッセージ６０９を介して受信されたフィードバックデータをモジュール６３に関連するメモリに格納されたマーカデータとマージする。リストにおけるマーカ用に、新しいマーカ検出性能データ（ＭＤＰ）と所与のマーカ用の格納されたＭＤＰデータのマージングは、ＡＲＥ６１及びＭＤ＆ＰＥモジュール６２を実現する装置の処理資源に従って実行される。装置の平均処理資源は、モジュール６３に関連するメモリに格納されてもよく、且つＡＲＥ６１からメッセージ６１２を受信した場合に、更新されてもよい。変形において、処理資源は、メッセージ６０９に含まれる。
【００４０】
ステップ６１３において、ＭＭモジュール６３は、たとえ図５のＭＭモジュール５３用でも、ピアＭＭモジュールにメッセージ６１４を送信することによって、ＭＭモジュール６３の関連するメモリに格納されたマーカデータを遠隔ＭＭモジュールと共有してもよい。
【００４１】
図７は、装置７０の例示的なアーキテクチャを示し、装置７０は、図３〜５に関連して説明した実施形態の１つに従って、図６に関連して説明した方法を実行するように構成されてもよい。
【００４２】
装置７０は、データ及びアドレスバス７１によって一緒に連結される次の要素を含む。
−  例えばＤＳＰ（又はデジタル信号プロセッサ）であるマイクロプロセッサ７２（又はＣＰＵ）と、
−  ＲＯＭ（又は読み出し専用メモリ）７３と、
−  ＲＡＭ（又はランダムアクセスメモリ）７４と、
−  記憶インターフェース７５と、
−  アプリケーションから送信するデータの受信用のＩ／Ｏインターフェース７６と、
−  電源、例えばバッテリと、
である。
【００４３】
例によれば、電源は、装置の外部にある。言及されたメモリのそれぞれにおいて、本明細書で用いられる用語≪レジスタ≫は、小容量（数ビット）の領域、又は非常に大きな領域（例えば、全体のプログラム又は受信若しくは復号データの大きな量）に対応することができる。ＲＯＭ７３は、少なくともプログラム及びパラメータを含む。ＲＯＭ７３は、本原理による技術を実行するアルゴリズム及び命令を格納してもよい。スイッチが入れられると、ＣＰＵ７２は、ＲＡＭにおけるプログラムをアップロードし、対応する命令を実行する。
【００４４】
ＲＡＭ７４は、ＣＰＵ７２によって実行される、且つ装置７０の電源投入後にアップロードされるレジスタにおけるプログラムと、レジスタにおける入力データと、方法の相異なる状態のレジスタにおける中間データと、方法の実行に使用されるレジスタにおける他の変数と、を含む。
【００４５】
例によれば、装置７０は、図６に関連して説明された方法を実行するように構成され、且つ
−  モバイル装置と、
−  ゲーム装置と、
−  タブレット（又はタブレットコンピュータ）と、
−  ラップトップと、
−  サーバ（例えばウェブサーバ）と、
を含むセットに属する。
【００４６】
当然、本開示は、これまでに説明された実施形態に限定されない。
【００４７】
特に、本開示は、姿勢推定を向上させるために、拡張現実アプリケーションのマーカを管理するための方法に限定されないだけではなく、仮想現実アプリケーションのマーカを管理するための方法に、又は環境にわたってＡＲ若しくはＶＲマーカの分配を最適化するための方法に、且つこれらの方法を実行する任意の装置に及ぶ。これらの方法を実行するために必要な計算の実装形態は、シェーダタイプのマイクロプログラムにおける実装形態に限定されないだけではなく、任意のプログラムタイプ、例えばＣＰＵタイプのマイクロプロセッサによって実行できるプログラムにおける実装形態に及ぶ。本開示の方法の使用は、ライブの使用に限定されないだけではなく、任意の他の使用、例えば録音スタジオにおけるポストプロダクション処理として知られている処理用の使用に及ぶ。
【００４８】
本明細書で説明される実装形態は、例えば方法若しくはプロセス、機器、ソフトウェアプログラム、データストリーム、又は信号で実行されてもよい。実装形態の単一形式の文脈で説明された（例えば方法又は装置としてのみ説明される）場合でさえ、説明された特徴の実装形態はまた、他の形式（例えばプログラム）において実行されてもよい。機器は、例えば適切なハードウェア、ソフトウェア、及びファームウェアにおいて実現されてもよい。方法は、例えばプロセッサなどの例えば機器において実現されてもよく、プロセッサは、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラマブル論理装置を含む処理装置を一般に指す。プロセッサはまた、例えばスマートフォン、タブレット、コンピュータ、携帯電話、ポータブル／携帯情報端末（「ＰＤＡ」）、及びエンドユーザ間の情報の通信を促進する他の装置などの通信装置を含む。
【００４９】
本明細書で説明される様々なプロセス及び特徴の実装形態は、様々な相異なる設備又はアプリケーション、特に例えばデータ符号化、データ復号化、ビュー生成、テクスチャ処理、並びに画像及び関連するテクスチャ情報及び／又は奥行き情報の他の処理に関連する設備又はアプリケーションで具体化されてもよい。かかる設備の例は、符号器、復号器、復号器からの出力を処理するポストプロセッサ、符号器への入力を提供するプリプロセッサ、ビデオコーダ、ビデオ復号器、ビデオコーデック、ウェブサーバ、セットトップボックス、ラップトップ、パーソナルコンピュータ、携帯電話、ＰＤＡ、及び他の通信装置を含む。明らかなはずだが、設備は、モバイルであってもよく、モバイル車両に設置されさえしてもよい。
【００５０】
加えて、方法は、プロセッサによって実行されている命令に従って実行されてもよく、かかる命令（及び／又は実装形態によって生成されたデータ値）は、例えば集積回路、ソフトウェアキャリアなどのプロセッサ可読装置、又は例えばハードディスク、コンパクトディスケット（「ＣＤ」）、光ディスク（例えばデジタル多用途ディスク若しくはデジタルビデオディスクと呼ばれることが多いＤＶＤなど）、ランダムアクセスメモリ（「ＲＡＭ」）若しくは読み取り専用メモリ（「ＲＯＭ」）などの他の記憶装置に格納されてもよい。命令は、プロセッサ可読装置に実体的に具体化されたアプリケーションプログラムを形成してもよい。命令は、例えばハードウェア、ファームウェア、ソフトウェア、又は組み合わせにあってもよい。命令は、例えばオペレーティングシステム、別個のアプリケーション、又はそれら２つの組み合わせに存在してもよい。従って、プロセッサは、例えば、プロセスを実行するように構成された装置、及びプロセスを実行するための命令を有するプロセッサ可読媒体（記憶装置など）を含む装置の両方として特徴付けられてもよい。更に、プロセッサ可読媒体は、命令に加えて又は命令の代わりに、実装形態によって生成されたデータ値を格納してもよい。
【００５１】
当業者には明らかであろうように、実装形態は、例えば格納又は送信され得る情報を担持するようにフォーマットされた様々な信号を生成してもよい。情報は、例えば、方法を実行するための命令、又は説明された実装形態の１つによって生成されたデータを含んでもよい。例えば、信号は、説明された実施形態のシンタックスを書き込むか若しくは読み出すための規則をデータとして担持するように、又は説明された実施形態によって書き込まれた実際のシンタックス値をデータとして担持するようにフォーマットされてもよい。かかる信号は、例えば電磁波（例えば、スペクトルの無線周波数部分を用いる）、又はベースバンド信号としてフォーマットされてもよい。フォーマットは、例えば、データストリームを符号化すること、及び符号化データストリームを備えたキャリアを変調することを含んでもよい。信号が担持する情報は、例えばアナログ又はデジタル情報であってもよい。信号は、周知のように、様々な相異なる有線又は無線リンクを通じて送信されてもよい。信号は、プロセッサ可読媒体に格納されてもよい。
【００５２】
多数の実装形態が、説明された。しかしながら、様々な修正が、行われ得ることが理解されよう。例えば、相異なる実装形態の要素は、他の実装形態を生成するために、組み合わされるか、補足されるか、修正されるか、又は除去されてもよい。加えて、当業者は、他の構造及びプロセスが、開示された構造及びプロセスの代わりに用いられてもよいこと、及び結果としての実装形態が、開示された実装形態と少なくともほぼ同じ結果を達成するために、少なくともほぼ同じ方法で、少なくともほぼ同じ機能を実行することを理解されよう。従って、これら及び他の実装形態は、本出願によって考えられている。
【図１】
2019053032.tif 000003
【図２】
2019053032.tif 000004
【図３】
2019053032.tif 000005
【図４】
2019053032.tif 000006
【図５】
2019053032.tif 000007
【図６】
2019053032.tif 000008
【図７】
2019053032.tif 000009
【外国語明細書】
2019053032000001.pdf