(57)【要約】【課題】シースルー・ディスプレイ上で現実世界の対象物の位置をマーキングする方法を提供する。【解決手段】方法は、イメージング・デバイスを用いて現実世界の対象物の画像を取り込むステップを含む。対象物に対するビューイング・アングル及び対象物までの距離が求められる。対象物の現実世界の位置が、対象物に対するビューイング・アングル及び対象物までの距離に基づいて計算される。対象物の現実世界の位置に対応するシースルー・ディスプレイ上の位置が決定される。次いで、マークは、シースルー・ディスプレイ上で、現実世界の対象物に対応する位置に表示される。【選択図】図１
2010123121.tif 000002
【特許請求の範囲】
【請求項１】
シースルー・ディスプレイ上で現実世界の対象物の位置をマークする方法であって、
イメージング・デバイスを用いて現実世界の対象物の画像を取り込むステップと、
前記対象物に対するビューイング・アングルを決定するステップ（６０２）と、
前記対象物までの距離を決定するステップ（６０４）と、
前記対象物に対する前記ビューイング・アングル及び前記対象物までの前記距離に基づいて前記対象物の現実世界の位置を計算するステップ（６０８）と、
前記対象物の前記現実世界の位置に対応する前記シースルー・ディスプレイ上の位置を決定するステップ（４０６及び４０８）と、
前記シースルー・ディスプレイ上で前記現実世界の対象物に対応する前記位置にマークを表示するステップ（４１０）と
を備える方法。
【請求項２】
請求項１に記載の方法であって、
イメージング・デバイスの視野内のポインティング・デバイスを識別するステップを更に備え、
前記ビューイング・アングルを決定する前記ステップが、ユーザから前記対象物に向かう前記ポインティング・デバイスの先端への線に沿って決定するものであり、
前記ユーザについての向きを決定するステップを更に備え、
前記対象物の相対的な位置を計算する前記ステップが、前記ビューイング・アングル、前記距離、及び前記ユーザの前記向きに基づいて計算を行うものである、
方法。
【請求項３】
シースルー・ディスプレイ上で現実世界の対象物の位置をマークするシステムであって、
プロセッサ（１０６）と、
前記プロセッサと通信可能に結合されるシースルー・ディスプレイ（１０４）と、
前記プロセッサと通信可能に結合されるイメージング・デバイス（１０２）と、
前記プロセッサと通信可能に結合される距離測定デバイス（１１０）と
を備え、
前記イメージング・デバイスが、
前記イメージング・デバイスを用いて現実世界の対象物の画像を取り込むように構成され、
前記プロセッサが、
前記対象物に対するビューイング・アングルを決定し、
前記対象物までの距離を決定し、
前記対象物に対する前記ビューイング・アングル及び前記対象物までの前記距離に基づいて前記対象物の現実世界の位置を計算し、
前記対象物の前記現実世界の位置に対応する前記シースルー・ディスプレイ上の位置を決定し、
前記シースルー・ディスプレイ上の前記現実世界の対象物に対応する前記位置にマークを表示する
ように構成される、
システム。
【請求項４】
請求項３に記載のシステムであって、前記プロセッサが、
前記イメージング・デバイスの視野に関連してのポインティング・デバイスの位置を前記シースルー・ディスプレイ上の位置と関連付け、
前記シースルー・ディスプレイ上の関連付けられた前記位置にマークを置く
ように更に構成される、システム。
【請求項５】
請求項４に記載のシステムであって、前記プロセッサが、
前記イメージング・デバイスの前記視野に関連しての前記ポインティング・デバイスの前記関連付けを更新し、
前記マークが置かれる前記シースルー・ディスプレイ上の前記位置を更新する
ように更に構成される、システム。
【請求項６】
請求項４に記載のシステムであって、前記プロセッサが、
ユーザについての向きおよび位置のうちの少なくとも１つを更新し、
前記ユーザについてのビューイング・アングルを更新し、更新した前記ビューイング・アングルは前記ユーザから前記対象物の相対位置への線に沿って決定されるものであり、
更新した前記ビューイング・アングルに基づいて前記シースルー・ディスプレイ上の更新した位置を決定し、
前記シースルー・ディスプレイ上の前記マークの前記位置を変化させる
ように更に構成される、システム。
【請求項７】
ポイントまでの距離を求める方法であって、
イメージング・デバイスの視野内のポイントを識別するステップと、
前記イメージング・デバイスの前記視野内の前記ポイントの位置に基づいて、前記イメージング・デバイスと前記イメージング・デバイスの前記視野内の前記ポイントとの間の向きを決定するステップ（６０６）と、
レーザーからのレーザー・ビームが前記の決定された向きに伝播するようにレーザーを操作するステップと、
前記レーザーから前記の決定された向きに位置する対象物までの距離を決定するステップ（６０４）と
を備える方法。
【請求項８】
請求項７に記載の方法であって、前記向きを決定するステップが、
前記イメージング・デバイスの前記視野内の前記ポイントの前記位置に基づいて、前記ポイントについての方位方向の角度を決定するステップと、
前記イメージング・デバイスの前記視野内の前記ポイントの前記位置に基づいて、前記ポイントについての高さ方向の角度を決定するステップと
を含む、方法。
【請求項９】
処理部（１０６）と、
前記処理部と結合されるレーザー（１１０）であって、前記レーザーからのレーザー・ビームを特定の方向へ向けることができるようにステアリング可能である、レーザー（１１０）と、
前記処理部と結合されるイメージング・デバイス（１０２）と、
を備える装置であって、
前記処理部が、
イメージング・デバイスの視野内のポイントを識別し、
前記イメージング・デバイスの前記視野内の前記ポイントの位置に基づいて、前記イメージング・デバイスと前記イメージング・デバイスの前記視野内の前記ポイントとの間の向きを決定し、
決定された前記向きを前記レーザーに伝え、
前記レーザーからの情報に基づいて、前記レーザーから前記の決定された向きに位置する対象物までの距離を決定する
ように構成される、
装置。
【請求項１０】
請求項９に記載の装置であって、
前記処理部は、
前記イメージング・デバイスの前記視野内の前記ポイントの前記位置に基づいて前記ポイントについての方位方向の角度を決定し
前記イメージング・デバイスの前記視野内の前記ポイントの前記位置に基づいて前記ポイントについての高さ方向の角度を決定し、
前記方位及び前記高さを前記レーザーに与えるように構成されることにより、前記の決定された向きを前記レーザーに与えるように構成されるものであり、
上記のように構成されることにより向きを決定するように構成される、
装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディスプレイに関し、より具体的には、ディスプレイに現実世界の対象物の位置をマークする方法及びシステムに関する。
【背景技術】
【０００２】
仮想画像や映像と現実世界のキャプチャ画像や映像との組み合わせは、一般に、拡張現実（augmented reality）ビジョンと呼ばれる。拡張現実ビジョン・システムは、様々な状況において用途を有するようになり始めている。
【０００３】
例えば、拡張現実の用途の１つはシースルー・ディスプレイにあり、シースルー・ディスプレイでは、ユーザは、現実世界を直接的に見ると共に、シースルー・ディスプレイを用いて見ているものに追加の情報を重ね合わせる。拡張現実は、生映像放送などの現実世界に関する映像を補足するために使用することもできる。ここでは、元の映像は現実世界を直接に取り込み、図形や他の情報が、現実世界の映像に重ね合わされる。現在、多くのテレビのニュース放送は、現実世界の映像に追加の仮想情報が重ね合わされたものの例である。拡張現実システムが更に広く行き渡るようになるにつれて、追加の機能性が望まれることになる。
【発明の概要】
【０００４】
以下の概要は、例として挙げられており、限定するためのものではない。一実施形態では、シースルー・ディスプレイ上で現実世界の対象物の位置をマークする方法が提供される。この方法は、イメージング・デバイスを用いて現実世界の対象物の画像を取り込むステップを含む。対象物に対するビューイング・アングル（viewing angle、見ている角度）及び距離が決定される。対象物の現実世界の位置は、対象物に対するビューイング・アングル及び対象物までの距離に基づいて計算される。現実世界における対象物の位置に対応するシースルー・ディスプレイ上の位置が決定される。次いで、マークが、現実世界の対象物に対応する位置でシースルー・ディスプレイ上に表示される。
【図面の簡単な説明】
【０００５】
【図１】図１は、現実世界における指し示す物に基づいてディスプレイにおいてマーキングを行うシステムの一実施形態のブロック図である。
【図２】図２は、アイコンを用いて背景を補うディスプレイ・デバイスを見た図である。
【図３】図３は、ユーザの視野の説明図であり、シースルー・ディスプレイ上でアイコンを伴う背景シーンを示している。
【図４】図４は、現実世界における指し示す物に基づいてディスプレイにおいてマーキングを行う方法の一実施形態を示す流れ図である。
【図５】図５は、図３からのユーザの視野の説明図であり、人差し指を用いてマークの位置を調節しているところを示す。
【図６】図６は、現実世界に関連してシースルー・ディスプレイ上でマークの位置を維持する方法の一実施形態を示す流れ図である。
【図７】図７は、ユーザに装着されたシステム１００一実施形態の斜視図である。
【発明を実施するための形態】
【０００６】
図１は、現実世界のシーン（光景）に関連してディスプレイ上でマークの位置を選択及び保持するシステム１００の一実施形態である。システム１００は、イメージング・デバイス１０２と、ディスプレイ・デバイス１０４と、少なくとも１つのプロセッサ１０６と、記憶媒体１０８とを含む。イメージング・デバイス１０２、ディスプレイ・デバイス１０４、及び記憶媒体１０８は、少なくとも１つのプロセッサ１０６と通信可能に結合される。適当なイメージング・デバイス１０２の例は、ＥＯカメラ、赤外線カメラ、ＬＩＤＡＲデバイス、ＲＡＤＡＲデバイス、ソナー・デバイスなどを含むが、これらには限定されない。本実施形態では、イメージング・デバイス１０２は、フレーム毎に映像を取り込むビデオ・カメラである。システム１００は、距離測定デバイス１１０、慣性測定ユニット（ＩＭＵ）１１２、及び全地球測位システムの受信機（ＧＰＳ）１１４も含む。慣性測定ユニット１１２及びグローバル・ポジション・システム１１４は、イメージング・デバイス１０２と共に取り付けられ、イメージング・デバイス１０２の向き（向いている方向）及び位置を求めるために使用される。距離測定デバイス１１０も、イメージング・デバイス１０２と共に取り付けられ、距離測定デバイス１１０から現実世界における対象物／面までの距離を求めるように構成される。一実施形態では、イメージング・デバイス１０２及び距離測定デバイス１１０は共に、単一の光強度及び距離測定デバイス（ＬＩＤＡＲ：Light Intensity and Ranging Device）を用いて実施される。最後に、システム１００は、ユーザによる動作を認識するためのセンサ１１６と、ユーザからの指令を取り込むためのマイクロフォン１１８とを含む。
【０００７】
図２は、ディスプレイ・デバイス１０４及び現実世界の背景２０２の一実施形態を示す。一実施形態では、ディスプレイ・デバイス１０４は、シースルー・ディスプレイ（本明細書ではシースルー・ディスプレイ１０４と呼ぶ）であり、ユーザは、シースルー・ディスプレイ１０４を通じて背景２０２を直接に眺め、ユーザの眺めはシースルー・ディスプレイ１０４により補われる。
【０００８】
図２に示すように、シースルー・ディスプレイ１０４は、マーク２０４を表示している。マーク２０４は、現実世界における空間の或る点（ポイント）の仮想表現である。具体的には、マーク２０４は、背景２０２中の対象物上の又はマーク２０４の「後ろにある」面上のポイントを表す。システム１００は、シースルー・ディスプレイ１０４上で背景２０２に対してマーク２０４の位置を保持する。図２に示すように、マーク２０４は、背景２０２内の立方体２０６に固定される。従って、ユーザが移動や回転する際には、マーク２０４は、マーク２０４が背景２０２の一部であり立方体２０６の位置にあるかのように、立方体２０６に対して固定された状態を維持する。図２に示す実施形態では、マーク２０４は示されるように或る形状及び大きさを有するが、他の実施形態では、テキスト、線、ドット又は他の図形を含むがそれらに限定されない他のマークが、ディスプレイ・デバイス１０４上に作成される。
【０００９】
イメージング・デバイス１０２は、ユーザがシースルー・ディスプレイ１０４を通じて見ているときに、イメージング・ビューがユーザの眺めと少なくとも部分的に重なり合うように、配置される。更に、本実施形態では、イメージング・デバイス１０２及びイメージング・デバイス１０２の視野は、ユーザの視野に対して固定され、それらが同じローカル・ビューであるようにする。同様に、距離測定デバイス１１０は、シースルー・ディスプレイ１０４を通じての眺めるときに、距離測定デバイス１１０がユーザからユーザの視野内の対象物又は面までの距離を決定するように、向けられる。
【００１０】
図３は、シースルー・ディスプレイ１０４を覗いたときのユーザの視野内における指示対象物（pointing object、指し示すための物）３０６に基づいて生成されるマークの一実施形態を示す。図３では、ユーザの視野が示されており、ユーザの人差し指３０６が、シースルー・ディスプレイ１０４上のマークへと変換されている。ボックス３０２は、シースルー・ディスプレイ１０４を通じて眺められるユーザの視野の領域を示す。示されるように、シースルー・ディスプレイ１０４は、アイコン３０４をユーザの眺めの中に重ね合わせている。システム１００は、イメージング・デバイス１０２を用いてユーザの人差し指３０６のフレームを取り込むことにより、シースルー・ディスプレイ１０４のフィールド内のユーザの人差し指３０６を認識する。システム１００は、人差し指３０６が向けられる位置にアイコン３０４を置く。このようにして、システム１００は、人差し指３０６をシースルー・ディスプレイ１０４上のマーク（アイコン３０４）へと変換する。次いで、システム１００は、以下に説明するようにアイコン３０４の現実世界での位置を決定し、後に参照するため又は他の処理のために、その現実世界での位置を記憶デバイス１０８に記憶する。加えて、方法６００に関して後に説明するように、このマークは、ＩＭＵ１１２、ＧＰＳ１１４及びイメージング・デバイス１０２の様々な組み合わせを用いてシースルー・ディスプレイの向き及びシースルー・ディスプレイの位置の変化を監視することにより、シースルー・ディスプレイ１０４上の同じ位置に保持される。
【００１１】
図４は、指示対象物に基づいてシースルー・ディスプレイ上でマーキングを行う（マークをつける）方法４００の一実施形態を示す流れ図である。方法４００のブロック４０２では、イメージング・デバイス１０２は、イメージング・デバイス１０２の視野のフレームを取り込む。イメージング・デバイス１０２により取り込まれたフレーム（１又は複数）は、プロセッサ１０６へ送られる。イメージング・デバイス１０２がビデオ・カメラである実施形態では、イメージング・デバイス１０２はフレームを継続的に記録しており、それらはプロセッサ１０６へ送られて解析されている。ブロック４０４では、プロセッサ１０６は、フレーム内の指示対象物についてフレームをチェックする。一実施形態では、プロセッサ１０６は、イメージング・デバイス１０２からのフレームに関する特徴認識を行って、フレーム内の指示対象物を識別する。ブロック４０６では、指示対象物がフレーム内で識別されたら、プロセッサ１０６は、指示対象物の先端を決定する。例えば、人差し指を出した手が、指示を行うための物（指示対象物）である場合、プロセッサ１０６は、指の端をポイントとして識別する。ブロック４０８では、指示対象物の先端が識別されると、システム１００は、指示対象物の先端に対応するシースルー・ディスプレイ１０４の位置を識別する。次いで、ブロック４１０では、マークが、ポインティング（指示）・デバイスのポイントに対応すると決定されたシースルー・ディスプレイ１０４の位置に、置かれる。方法４００のステップに関しての更なる詳細は後に述べる。
【００１２】
下記の実施形態は、人差し指を出した手を指示対象物とした観点で説明されるが、他の実施形態では、他のものが指示対象物として使用されてよい。例えば、一実施形態では、細長いポインティング・スティックが、指示対象物として使用される。別の実施形態では鉛筆が指示対象物として使用される。
【００１３】
ブロック４０４では、プロセッサ１０６は、イメージング・デバイス１０２から受け取ったフレーム（１又は複数）内に指示対象物があるか否かを判定する。上述のように、一実施形態では、特徴認識アルゴリズムを使用してフレーム内の指示対象物を識別する。例えば、一実施形態では、プロセッサ１０６は、人差し指を出した手に関してイメージング・デバイス１０２からのフレームを探すために特徴認識を使用するように、プログラムされる。ここで、特徴認識アルゴリズムは、手の形状、及び／又は手及び指が腕の端にある状態の腕を認識することになる。当業者に知られているように、従来の特徴認識アルゴリズムを使用してフレーム内の指示対象物を識別することができる。他の実施形態では、他の特徴が、特徴認識アルゴリズムにより認識されてもよい。加えて、一実施形態では、この特徴認識アルゴリズムは、フレームの一定の領域から延びる指示対象物についてチェックする。ここで、特徴認識は、イメージング・デバイス１０２の視野の中へ指示対象物が入ってくるときの考えられる入口領域に対してのイメージング・デバイス１０２の位置を考慮に入れる。例えば、図７に示す実施形態では、イメージング・デバイス１０２は、ユーザの頭部のゴーグルに取り付けられ、指示対象物としてのユーザの手の指差し動作を認識するように構成される。この状況では、プロセッサ１０６の特徴認識システムは、フレームの下側に入る手及び／又は腕を認識するように構成され得る。指示対象物の予期された領域を使用することは、指示対象物を誤って識別することを減らすのに役立ち得る。
【００１４】
一実施形態では、システム１００は、指令がシステム１００へ与えられると指示対象物を探す。例えば、ユーザは、システム１００に接続されたボタンを押して指示対象物を探すようにシステム１００を動かすことができる。他の実施形態では、他の方法を使用して指令を与えることができ、それには、マイクロフォン２１０を通じての言葉による指令やシステム１００上で動作するソフトウェアに基づいたプログラムされたルーチンなども含まれるが、それらには限定されない。この指令がシステム１００により受け取られると、イメージング・デバイス１０２は、オンになり（オンでない場合）、その視野からフレームを取り込む。このフレームはプロセッサ１０６へ送られ、プロセッサ１０６は、起動指令を受け取った後に、指示対象物を求めて受け取ったフレームを探す。
【００１５】
一実施形態では、システム１００により受け取られる指令は、ユーザの腕に装着されるセンサ１１６からのものである。ユーザの腕のセンサ１１６は、腕の動作を感知する。腕が持ち上げられると、センサ１１６は、信号をプロセッサ１０６へ送る。プロセッサ１０６は、この信号を使用して、イメージング・デバイス１０２から受け取ったフレーム内で人差し指を求めてフレームをチェックするプロセスを始める。このようにして、システム１００は、ユーザの腕が持ち上げられると、ユーザの手を指示対象物として探す。別の実施形態では、センサ１１６は、より精度が高く、腕の相対位置を感知し、腕がイメージング・デバイス１０２の視野の特定の領域に到達すると信号をプロセッサ１０６へ送る。他の実施形態では、センサ１１６は、システム１００に関しての他の動きを感知する。
【００１６】
プロセッサ１０６がフレーム内の指示対象物を識別すると、プロセッサ１０６は、指示対象物の先端を決定する。例えば、本実施形態では、ユーザの手は、下からイメージング・デバイス１０２の視野に入る。従って、指した指の先端は、フレーム中の指の先を探すことにより識別される。従って、プロセッサ１０６は、指の先が指の先端であると決定することになる。他の実施形態では、特徴認識アルゴリズムを含む指示（ポインティング）デバイスのポイントを決定する他の方法が使用され得る。
【００１７】
指示デバイスの先端が識別されたら、プロセッサ１０６は、指示デバイスの先端に対応するシースルー・ディスプレイ１０４のディスプレイ上の位置を決定する。これを決定するために、プロセッサ１０６へは、イメージング・デバイス１０２の視野とシースルー・ディスプレイ１０４上のディスプレイとの間の関係が与えられる。イメージング・デバイス１０２及びシースルー・ディスプレイ１０４は、イメージング・デバイス１０２の視野（又は視野の一部）が、シースルー・ディスプレイ１０４上のディスプレイ（又はシースルー・ディスプレイ１０４上のディスプレイの一部）と関連付けられるように、調整される。イメージング・デバイス１０２の視野は、イメージング・デバイス１０２の視野とシースルー・ディスプレイ１０４の位置との間の関係をセットアップすることにより、シースルー・ディスプレイ１０４と関連付けられる。言い換えれば、イメージング・デバイス１０２の視野内の対象物の位置は、ディスプレイ・デバイス１０４の位置と関連付けられる。例えば、イメージング・デバイス１０２の視野の左上部分は、シースルー・ディスプレイ１０４の左上と関連付けられる。同様に、イメージング・デバイス１０２の視野の左下部分は、シースルー・ディスプレイ１０４の左下と関連付けられる。イメージング・デバイス１０２の視野の他の部分は、ディスプレイ・デバイスのディスプレイの対応する部分と関連付けられる。このようにして、イメージング・デバイス１０２の視野の左上部分に生じる指示対象物の動作は、シースルー・ディスプレイ１０４の左上におけるマークへと変換される。
【００１８】
一実施形態では、イメージング・デバイス１０２の視野及びシースルー・ディスプレイ１０４は、システム１００の製造中に関連付けられる。例えば、イメージング・デバイス１０２及びディスプレイ・デバイス１０４は、固定された関係で取り付けられる。次いで、イメージング・デバイス１０２はフレームを取り込む。画像は、シースルー・ディスプレイを通じてのユーザの視野と比較され、イメージング・デバイス１０２からのフレームの画素をシースルー・ディスプレイ１０４上の位置へマップするチャートが作成される。次いで、このチャートを使用してイメージング・デバイス１０２の画像の画素をシースルー・ディスプレイ１０４上の位置へ変換する。望ましい場合、イメージング・デバイス１０２又はシースルー・ディスプレイ１０４の向きを変更して、これらのデバイス間での所望の重なり合いを達成する。ここでの目標は、ユーザが（シースルー・ディスプレイ通して見たときに）指示対象物の先端を見たときの位置をプロセッサ１０６により選択される位置にできるだけ近くすることである。
【００１９】
イメージング・デバイス１０２との関連付けがなされると、シースルー・ディスプレイ１０４は、決定された位置でマークを出力する。シースルー・ディスプレイ１０４上に作成されるマークは、ディスプレイ・デバイス上で使用される任意のタイプのマークでよく、指示対象物が動くと指示対象物に追従するフリーフロー・ラインや、アイコンや、或る形状などを含むが、それらには限定されない。
【００２０】
一実施形態では、当初のマークは、指示対象物の先端に対応するシースルー・ディスプレイ１０４の位置に置かれるが、このマークは、シースルー・ディスプレイ１０４の後ろにある現実世界の位置とすぐには固定されない。このマークは、指示対象物がイメージング・デバイス１０２の視野及びシースルー・ディスプレイ１０４と相対して動く際にコヒーレントに調節され動かされ得る。このようにしてユーザは、シースルー・ディスプレイ１０４中のアイコンの位置を微調整することができる。図５は、シースルー・ディスプレイ１０４を通じての眺めを示し、シースルー・ディスプレイ内のアイコン３０４の動きを示している。図５に示すように、ユーザがユーザの腕及びユーザの人差し指３０６を動かすと、アイコン３０４はディスプレイ上で動く。シースルー・ディスプレイ１０４のディスプレイ全体にわたって指示対象物の先端を追従するために、プロセッサ１０６は、イメージング・デバイス１０２からのフレームを継続的に解析して、指示対象物の先端の位置を決定し、指示対象物の先端の更新した位置（動かされた場合）にアイコンを置く。このアイコンは、指示対象物の位置に固定するようにユーザから指令が与えられるまで、指示対象物を追従する。一実施形態では、システム１００がユーザから受け取る指令は、マイクロフォン１１８から受け取られる音声による指令である。しかしながら、他の実施形態では、他の方法を使用して指令をシステム１００に与えることができ、それには、ボタンの押下、マウスのクリック、及び一連のキーボードのキー入力を含まれるが、それらには限定されない。
【００２１】
別の実施形態では、マークはフリーフロー・ラインであり、指令があると描くことを開始し、指示対象物がイメージング・デバイス１０２の視野を動きにつれて描き続ける。フリーフロー・ラインは、指令があると停止させられる。フリーフロー・ラインを開始及び停止する指令は、システム１００上のボタン、マイクロフォン１１８を通じて受け取られる音声による指令、及び他のものを含む。
【００２２】
指示デバイスを用いてアイコンを動かすが、指令が与えられるまでロックしないということは、ユーザがシステム１００により配置されるマークの位置を調節することを可能にするので、好都合である。ユーザが、初挑戦で、シースルー・ディスプレイ１０４のディスプレイ上で正確に所望の位置を指すことは難しい場合がある。従って、これにより、ユーザが、マークが置かれることになる位置や、システム１００によるマークの初期の配置に基づいてフリーフロー・ラインがて始まることになる位置を、調節することを可能にする。
【００２３】
指示対象物が画面全体にわたって動く際に、継続的なフリーフロー・ラインを描くため、又はアイコンをドラッグする（調節する）ために、プロセッサ１０６は、新しいフレームがイメージング・デバイス１０２から受け取られると、シースルー・ディスプレイ１０４上の何れの位置が指示デバイスの先端に対応するかの決定（シースルー・ディスプレイ１０４上における指示デバイスの先端の対応する位置）を更新する。例えば、マークが第１のフレームに基づいてディスプレイに置かれた後、第２のフレームがプロセッサ１０６により受け取られ、指示デバイス及びその先端がその新しいフレームにおいて識別される。次いで、指示デバイスの先端の位置は、ディスプレイの位置と関連付けられる。次いで、第２のフレーム中の指示デバイスの先端が、第１のフレームにおける位置とは異なる位置と関連付けられるか否かが判定される。次いで、その更新した位置を、新しい描写のマーク又はアイコンの新しい位置のために使用する。
【００２４】
一実施形態では、ポインティング方法を用いてあるユーザにより識別されるマークは、第２のユーザに識別されるように通信される。第２のユーザのプロセッサは、第１のユーザから得られる位置情報に基づいて、第２のユーザのイメージング・デバイスの視野内に同じ立方体を見つける。こうして、立方体は第２のユーザに識別され得る。
【００２５】
背景２０２に対して同じ位置にマーク２０４を保持するために、システム１００は、対象物についての現実世界の位置を決定し、その位置に基づいてディスプレイ・デバイス１０４上のマーク２０４の位置を計算する。対象物の現実世界の位置とは、現実世界における対象物の位置を言うものである。この位置は、別の現実世界の対象物（ユーザなど）に相対的なものであり得、また、全地球測位システムに関するものでもよい。
【００２６】
図３は、シースルー・ディスプレイ上で現実世界の対象物の位置をマークする方法６００の一実施形態を示す。マーク２０４は、当業者に知られている多くの方式でシースルー・ディスプレイ１０４上に生成又は配置され得る。例えば、一実施形態では、マーク２０４は、上記のように、指示対象物を認識し、その指示対象物の先端のところでマーク２０４を生成するシステム１００に基づいて、生成される。別の実施形態では、マーク２０４は、システム１００へ与えられる指令により生成され、この指令は、システム１００にシースルー・ディスプレイ１０４上の一般的な位置にマーク２０４を生成させる。次いで、マーク２０４は、シースルー・ディスプレイ１０４のディスプレイの所望される位置まで動くように指令される。マーク２０４を生成し動かすための指令は、押しボタン、トグル・スティック、音声指令、又は他の指令を含む当業者に知られている任意の指令であり得る。更に別の実施形態では、マーク２０４は、マウスのクリックなどにより生成及び調節される。
【００２７】
マーク２０４は、シースルー・ディスプレイ１０４内の、ユーザが現実世界に関連してマーク２０４を固定するように望む位置に置かれる。例えば、図２では、ユーザがマーク２０４を用いて立方体２０６をマークすることを望むので、マーク２０４は立方体２０６に重ねて置かれる。
【００２８】
ブロック６０２では、マーク２０４が重ね合わされる対象物（本実施形態では立方体２０６）についてのビューイング・アングルが決定される。このビューイング・アングルは、イメージング・デバイス１０２の視野内の対象物の位置に基づいて決定される。対象物がイメージング・デバイス１０２の視野の中心に配置される場合、立方体２０６に対するビューイング・アングルは、高さ方向０度、方位方向０度であることになる。対象物がイメージング・デバイス１０２の視野の右下近くに配置される場合、ビューイング・アングルは例えば、高さ方向−２５度及び方位方向３０度であり得る。
【００２９】
ブロック６０４では、立方体２０６までの距離が、ビューイング・アングルに基づいて決定される。一実施形態では、この距離は、距離測定デバイス１１０を用いて決定される。距離測定デバイス１１０は、距離測定デバイス１１０がユーザの視点から立方体２０６までの距離を決定するように、このビューイング・アングルに狙いを合わせる。例えば、図２に示すように、距離測定デバイスは、ユーザの視点から立方体２０６までの距離を決定する。一実施形態では、プロセッサ１０６は、ベクトルの方位及び高さを決定することにより距離測定デバイス１１０に対して角度を決定する。一実施形態では、距離測定デバイス１１０はレーザであり、レーザ・ビームがレーザから対象物へ、そして戻るまでにかかる時間量を求める。
【００３０】
一実施形態では、ビューイング・アングルは、ユーザから始まり、マーク２０４についての代表位置を通って進み、立方体２０６で終わる仮想のベクトルに基づいて、決定される。すなわち、このベクトルは、マーク２０４を通って「指している」。このベクトルを使用して、ユーザの向きに対してのこの位置が配されている角度を決定する。このビューイング・アングルから、距離測定デバイス１１０は、ユーザから、マーク２０４が重ね合わされている対象物又は背景２０２の表面（本実施形態では立方体２０６）までの距離を決定する。従って、図２に示す実施形態では、このベクトルは、ユーザの視点からマーク２０４の中心を通って立方体２０６で終わる。別の実施形態では、ビューイング・アングルは、ユーザから対象物に向かう指示デバイスの先端への線に沿って決定される。
【００３１】
プロセッサ１０６は、ユーザの視点とシースルー・ディスプレイ１０４のディスプレイ内の位置との間の知られた関係に基づいてベクトルを計算する。例えば、シースルー・ディスプレイ１０４のディスプレイの下半分の位置を通って進むベクトルは、ユーザの視野の中心に対して下向きの角度を有することになる。ユーザの視野の中心に対する位置についての関係（及び結果として生じるベクトル）は、システム１００の初期設定中に決定される。次いで、このベクトルは、マーク２０４が配置されるビューイング・アングルとして使用される。
【００３２】
ブロック６０６では、立方体２０６までの距離が知られると、ユーザの視点の向きが決定される。ユーザの視点の向きは、ＩＭＵ１１２により決定され、ユーザの視点の現在の位置は、ＧＰＳ１１４により決定される。ＩＭＵ１１２は、ユーザの回転及び加速に関して追加の情報をプロセッサ１０６に与える。ＧＰＳ１１４は、ユーザの視点のグローバルな基準位置に関しての情報をプロセッサ１０６に与える。プロセッサ１０６は、ＧＰＳ１１４及びＩＭＵ１１２からの情報を使用して、ユーザの向きを決定する。一実施形態では、この向きは、ユーザに関してのピッチ、ロール及び進行方向として表される。ＧＰＳ及びＩＭＵからの情報を組み合わせて向きを決定する方法は、当業者に知られており、本明細書では説明しない。他の実施形態では、向きは、イメージング・デバイス１０２を用い、取り込まれた画像内の特徴に基づいて求め、イメージング・デバイス１０２の位置は、ＧＰＳ１１４に基づいて決定する。
【００３３】
ブロック６０８では、ユーザの向きが知られると、立方体２０６の現実世界の位置が決定される。対象物の現実世界の位置とは、現実世界における対象物の位置を言うものである。一実施形態では、立方体２０６の現実世界の位置は、ユーザと相対して決定される。プロセッサ１０６は、ＩＭＵ１１２及びＧＰＳ１１４から得られる向きの情報、並びに距離測定デバイス１１０により得られるユーザの視点から立方体２０６までの距離を使用して、立方体２０６のジオ・ポジション（geo-position、地理的位置）を決定する。例えば、立方体２０６がユーザから２００フィート（約６０．９６ｍ）であると判定され、ユーザが北西の方向を向いている場合、立方体２０６の現実世界の位置は、ユーザの北西２００フィート（約６０．９６ｍ）である。当業者に知られているように、他の実施形態では、他の単位及び位置に関する用語を、ユーザに対する立方体２０６の位置を説明するために使用することができる。
【００３４】
一実施形態では、立方体２０６の現実世界の位置は、グローバルな基準座標系を用いて決定される。例えば、立方体２０６の緯度座標及び経度座標が決定される。立方体２０６の緯度座標及び経度座標は、ユーザの緯度座標及び経度座標、並びにユーザに対する立方体２０６の距離及び方位（bearing）に基づいて決定される。ユーザの緯度座標及び経度座標は、ＧＰＳ１１４から得られる。次いで、立方体２０６の座標が、ユーザの座標、ユーザから立方体２０６までの距離、及び上記で求めたような立方体２０６がユーザに対して配置されている方向に基づいて、計算される。他の実施形態では、この座標は、ローカルの基準フレームに対して計算される。
【００３５】
何れにしても、立方体２０６の現実世界の位置が決定されると、システム１００は、マーク２０４が現実世界の位置に配置されているかのようにシースルー・ディスプレイ１０４においてユーザには見えるように、シースルー・ディスプレイ１０４内のマーク２０４の位置を継続して求める。従って、システム１００は、ユーザの視点の動きによりマーク２０４の位置を調節する。マーク２０４をシースルー・ディスプレイ１０４のディスプレイ内のどこに配置するかを決定するために、システム１００は、ユーザの動きを追跡する。マーク２０４の現実世界の位置がユーザに対する関係により識別される上記の実施形態では、ユーザの動きを使用してユーザと立方体２０６との間の関係を更新する。例えば、立方体２０６がユーザの北西６００フィート（約１８２．９ｍ）にあり、このユーザが西へ１００フィート（約３０．４８ｍ）動く場合、マーク２０４の相対的な現実世界の位置は、ユーザの視点の北へ２００フィート（約６０．９６ｍ）となるように更新される。立方体２０６の更新した相対位置に従って、シースルー・ディスプレイ１０４内のマーク２０４の位置は、ユーザの目からマーク２０４を通って進むベクトルが立方体２０６で終わるように、更新されることになる。ユーザが西へ１００フィート（約３０．４８ｍ）動く上記の例では、動きの間にユーザが一定の向きを保持した場合、マーク２０４は、シースルー・ディスプレイ１０４の右へ調節されることになる。従って、マーク２０４は、マーク２０４が立方体２０６の位置にあるかのように背景と共に動く。
【００３６】
プロセッサ１０６は、ユーザの視野の中心から立方体２０６の相対位置への角度、及びユーザとシースルー・ディスプレイ１０４との間の知られた関係に基づいて、シースルー・ディスプレイ１０４内のマーク２０４の位置を計算する。ユーザの視点の動きは、ＩＭＵ１１２及びＧＰＳ１１４の測定値により決定される。加えて、システム１００は、ユーザの向きの変化に基づいてマーク２０４の位置を調節することにより、ユーザの向きの変化を明らかにする。ユーザの向きは、ＩＭＵ１１２により決定され、このユーザの向きは、シースルー・ディスプレイ１０４内のマーク２０４の位置を調節するために使用される。例えば、マーク２０４が、シースルー・ディスプレイ１０４の中心に配置され、ユーザが右へ回転する場合、マーク２０４は、シースルー・ディスプレイ１０４上で左へ動かされる。
【００３７】
立方体２０６の現実世界の位置がグローバルな基準座標系を参照して知られている別の実施形態では、シースルー・ディスプレイ１０４内のマーク２０４の位置は、更新したユーザの視点のグローバルな基準座標系の位置に基づいて決定される。例えば、ユーザが動くと、ユーザの緯度座標及び経度座標は、ＧＰＳ１１４により更新される。プロセッサ１０６は、ユーザの座標及び立方体２０６の座標に基づいて、立方体２０６に対する角度を決定する。この角度を計算するために、プロセッサ１０６は、ＩＭＵ１１２及びＧＰＳ１１４から現在の向きも受け取る。向きから２つの座標点の間の角度を計算するための式及び方法は当業者に知られている。上述のように、ユーザ２００と立方体２０６との間の関係が知られると、プロセッサ１０６は、シースルー・ディスプレイ１０４内のマーク２０４の位置を計算する。マーク２０４の位置は、ユーザの目からシースルー・ディスプレイ１０４を通って立方体２０６へ向かう角度に基づく。加えて、システム１００は、上記のようにユーザの向きの変化に基づいてマーク２０４の位置を調節することにより、ユーザ１１２の向きの変化を明らかにする。
【００３８】
図７は、ユーザ７００がゴーグル７０２に取り付けられたシースルー・ディスプレイ１０４を有するシステム１００の一実施形態を示す。この実施形態では、シースルー・ディスプレイ１０４は、ゴーグル７０２のレンズに組み込まれている。適当なシースルー・ディスプレイの一例は、Ｌｕｍｕｓ社により製造されたＬｕｍｕｓ  Ｐｒｏｆｅｓｓｉｏｎａｌ  ＴＤ−１８シースルー・ディスプレイである。ユーザ７００は、シースルー・ディスプレイ１０４を通して現実世界のシーン（光景）を観察し、シースルー・ディスプレイ１０４は、図形又は他のマーキングを重ね合わせることにより現実世界のシーンを増補する。現実世界のシーン及びシースルー・ディスプレイ１０４からのマーキングは、ユーザ７００の目の中で組み合わされる。図４に示すように、ＩＭＵ１１２、イメージング・デバイス１０２、及び距離測定デバイス１１０も、ゴーグル７０２に取り付けられる。
【００３９】
好都合なことに、ＩＭＵ１１２、イメージング・デバイス１０２、距離測定デバイス１１０、及びシースルー・ディスプレイをゴーグル７０２に取り付けることにより、ＩＭＵ、イメージング・デバイス１０２、距離測定デバイス１１０、及びシースルー・ディスプレイ１０４の間の向きの関係が保持される。代替例として、同様の結果を達成するために、ＩＭＵ１１２、イメージング・デバイス１０２、距離測定デバイス１１０、及びシースルー・ディスプレイ１０４は、ＧＰＳ１１４の場合と同様に、ユーザのヘルメット上などの他の位置に取り付けられてもよい。プロセッサ１０６及び記憶デバイス１０８は、ユーザ７００の背中に取り付けられる。マイクロフォン１１０及びセンサ１１２も、ユーザ７００上に含まれており、これについては以下において更に詳細に説明される。
【００４０】
上記の方法のオペレーションで使用される様々なプロセス・タスク、計算及び信号及び他のデータの発生を実行するための命令は、ソフトウェア、ファームウェア、又は他のプロセッサ可読命令を含むプログラム製品で実施することができる。典型的には、これら命令は、プロセッサ可読命令又はデータ構造の記憶に使用される任意の適当なプロセッサ可読媒体に記憶される。そのようなプロセッサ可読媒体は、汎用若しくは専用のコンピューター若しくはプロセッサ、又は任意のプログラム可能論理デバイスによりアクセスできる任意の利用可能な媒体であり得る。
【００４１】
適当なプロセッサ可読媒体は、例えば、ＥＰＲＯＭデバイス、ＥＥＰＲＯＭデバイス、フラッシュ・メモリ・デバイスなどの半導体メモリ・デバイスを含む不揮発性メモリ・デバイス、内蔵ハードディスクやリムーバブル・ディスクなどの磁気ディスク、光磁気ディスク、ＣＤ、ＤＶＤ又は他の光記憶ディスク、不揮発性ＲＯＭ、ＲＡＭ及び他の同様の媒体、或いは所望されるプログラム・コードをプロセッサ実行可能命令又はデータ構造の形態で担持または記憶するために使用することができる任意の他の媒体を含み得る。前述の何れかのものは、特別に設計された特定用途向け集積回路（ＡＳＩＣ）やフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）により補足されたり、それらの中に組み込まれてもよい。情報がネットワーク又は別の通信接続（有線、無線、又は有線と無線の組み合わせ）によりプロセッサへ伝達又は供給される場合、プロセッサは、その接続をプロセッサ可読媒体として適切に見る。このように、任意のそのような接続もプロセッサ可読媒体と適切に称される。上記のものの組み合わせもプロセッサ可読媒体の範囲内に含まれる。
【００４２】
本明細書で説明される方法は、データ・プロセッサにより実行されるプログラム・モジュールやアプリケーションなどのような、プロセッサ可読命令で実施することができる。一般に、プログラム・モジュールやアプリケーションは、ルーチン、プログラム、オブジェクト、データ・コンポーネント、データ構造、アルゴリズムなどを含み、これらは特定のタスクを行ったり特定の抽象データ型をインプリメントする。これらは、本明細書で開示される方法のステップを実行するためのプログラム・コードの例を表す。そのような実行可能命令や関係するデータ構造の特定のシーケンスは、そのようなステップにおいて説明される機能を実施するための対応する動作の例を表す。
【００４３】
本明細書で具体的な実施形態を例示及び説明してきたが、同じ目的を達成するように作られる任意の配置を、ここに示された具体的な実施形態の代わりにしてもよいことが、当業者には理解されよう。何れの発明も特許請求の範囲及びその均等物によりのみ限定されることが明らかに意図される。
【図１】
2010123121.tif 000003
【図２】
2010123121.tif 000004
【図３】
2010123121.tif 000005
【図４】
2010123121.tif 000006
【図５】
2010123121.tif 000007
【図６】
2010123121.tif 000008
【図７】
2010123121.tif 000009
【外国語明細書】
2010123121000001.pdf