(57)【要約】ユーザによって頭部に装着されるように構成される、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、カメラシステムに結合される、処理ユニットであって、第１の解像度を有する第１の画像を取得し、第１の画像は、第１の角を有し、第２の解像度を有する第２の画像を決定し、第２の画像は、第１の角に対応する第２の角を有し、第２の画像は、第１の画像に基づき、第２の解像度は、第１の解像度未満であって、第２の画像内の第２の角を検出し、第２の画像内の第２の角の位置を決定し、少なくとも部分的に、第２の画像内の第２の角の決定された位置に基づいて、第１の画像内の第１の角の位置を決定するように構成される、処理ユニットとを含む。
2021530816.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによって頭部に装着されるために構成される装置であって、
前記ユーザのためにグラフィックを提示するように構成される画面と、
前記ユーザが位置する環境を視認するように構成されるカメラシステムと、
前記カメラシステムに結合される処理ユニットであって、前記処理ユニットは、
第１の解像度を有する第１の画像を取得することであって、前記第１の画像は、第１の角を有する、ことと、
第２の解像度を有する第２の画像を決定することであって、前記第２の画像は、前記第１の画像内の第１の角と対応する第２の角を有し、前記第２の画像は、前記第１の画像に基づき、前記第２の解像度は、前記第１の解像度未満である、ことと、
前記第２の画像内の第２の角を検出することと、
前記第２の画像内の第２の角の位置を決定することと、
少なくとも部分的に、前記第２の画像内の第２の角の決定された位置に基づいて、前記第１の画像内の第１の角の位置を決定することと
を行うように構成される、処理ユニットと
を備える、装置。
【請求項２】
前記処理ユニットは、前記第２の画像内の角のセットを検出するように構成され、前記角のセットは、前記第２の角を有する、請求項１に記載の装置。
【請求項３】
前記処理ユニットは、１つ以上の基準に基づいて、前記第２の画像内の角のセットを検出するように構成され、
前記１つ以上の基準は、平面状であり、かつ／または不十分なテクスチャを有する前記第２の画像内の１つ以上のオブジェクトを除外するための第１の基準、線形構成を有する前記第２の画像内の１つ以上のオブジェクトを除外するための第２の基準、または前記第１の基準および前記第２の基準の両方を備える、
請求項２に記載の装置。
【請求項４】
前記処理ユニットはまた、非最大値抑制を実施し、前記角のセット内の重複する検出された角を排除するように構成される、請求項２に記載の装置。
【請求項５】
前記処理ユニットは、ハードウェアおよびソフトウェアを備え、
前記処理ユニットのハードウェアは、前記角のセットを検出するように構成され、
前記処理ユニットのソフトウェアは、前記非最大値抑制を実施するように構成される、
請求項４に記載の装置。
【請求項６】
前記処理ユニットは、空間ビニングを実施し、角のサブセットを前記角のセットから選択するように構成される、請求項２に記載の装置。
【請求項７】
前記処理ユニットは、
前記第２の画像を第１の画像部分を有する複数の画像部分に分割することと、
前記角のセット内の角毎に、スコアを決定することと、
前記第１の画像部分内の角のスコアに基づいて、かつ前記第１の画像部分に関して事前に規定された角の最大数に基づいて、１つ以上の角を前記第１の画像部分内の角から選択することと
によって、空間ビニングを実施するように構成される、請求項２に記載の装置。
【請求項８】
前記処理ユニットは、ハードウェアおよびソフトウェアを備え、
前記処理ユニットのハードウェアは、前記角のセットを検出するように構成され、
前記処理ユニットのソフトウェアは、前記空間ビニングを実施するように構成される、
請求項６に記載の装置。
【請求項９】
前記処理ユニットは、前記第１の角を含む前記第１の画像内の角のセットを検出するように構成され、
前記処理ユニットはまた、少なくとも部分的に、前記第２の画像内の第２の角の位置に基づいて、前記第１の角を前記第１の画像内の角のセットから検出するように構成される、
請求項１に記載の装置。
【請求項１０】
前記処理ユニットは、前記第１の画像内の角のセットを検出するように構成されるハードウェアと、前記第１の角を前記第１の画像内の角のセットから検出するように構成されるソフトウェアとを備える、請求項９に記載の装置。
【請求項１１】
前記処理ユニットは、前記第１の画像の前記第１の解像度と前記第２の画像の前記第２の解像度との間の関係に基づいて、前記第１の角の位置を決定するように構成される、請求項１に記載の装置。
【請求項１２】
前記第２の角の位置は、前記第２の画像内のピクセル位置（ｘｒ，ｙｒ）と対応し、
前記第２の画像内のピクセル位置（ｘｒ，ｙｒ）は、前記第１の画像内の複数のピクセル位置と対応し、
前記処理ユニットは、前記第２の画像内のピクセル位置（ｘｒ，ｙｒ）に対する最良空間関係を有する前記第１の画像内の複数のピクセル位置のうちの１つを選択することによって、前記第１の角の位置を決定するように構成される、
請求項１に記載の装置。
【請求項１３】
前記処理ユニットは、前記第１の画像を前記第２の画像に変換することによって、前記第２の画像を決定するように構成される画像調節器を備え、
前記画像調節器は、前記第１の画像の前記第１の解像度をダウンスケールし、前記第２の解像度を有する前記第２の画像を取得するように構成される、
請求項１に記載の装置。
【請求項１４】
前記処理ユニットは、第１の基準に基づいて動作するように構成される角検出器を備え、
前記第１の基準は、平面状であり、かつ／または不十分なテクスチャを有する前記第２の画像内のオブジェクトを除外する、
請求項１に記載の装置。
【請求項１５】
前記角検出器はさらに、第２の基準に基づいて動作するように構成され、
前記第２の基準は、前記第２の画像内の線形構成を伴うオブジェクトを除外する、
請求項１４に記載の装置。
【請求項１６】
前記処理ユニットは、第１の定数ｋ１に基づいて、前記第２の画像内の第２の角を検出するように構成される、請求項１に記載の装置。
【請求項１７】
ｋ１＝Ｒ／（１＋Ｒ）＾２であり、Ｒは、任意の数である、請求項１６に記載の装置。
【請求項１８】
前記処理ユニットは、第２の定数ｋ２に基づいて、前記第２の画像内の第２の角を検出するように構成される、請求項１６に記載の装置。
【請求項１９】
前記第２の定数ｋ２は、前記第１の定数ｋ１に基づく、請求項１８に記載の装置。
【請求項２０】
ｋ２＝（ｋ１−１／１６）／１６である、請求項１９に記載の装置。
【請求項２１】
前記処理ユニットは、非最大値抑制または空間ビニングのうちの少なくとも１つを実施するように構成される、請求項１に記載の装置。
【請求項２２】
前記処理ユニットは、非最大値抑制または空間ビニングのうちの少なくとも１つを実施するように構成されるソフトウェアを備える、請求項２１に記載の装置。
【請求項２３】
前記処理ユニットは、少なくとも部分的に、前記第１の角の位置に基づいて、マップを作成し、前記作成されたマップに基づいて、前記ユーザの位置特定を実施するように構成される、請求項１に記載の装置。
【請求項２４】
頭部装着型画像ディスプレイデバイスによって実施される方法であって、
第１の解像度を有する第１の画像を取得することであって、前記第１の画像は、第１の角を有する、ことと、
第２の解像度を有する第２の画像を決定することであって、前記第２の画像は、前記第１の画像内の第１の角と対応する第２の角を有し、前記第２の画像は、前記第１の画像に基づき、前記第２の解像度は、前記第１の解像度未満である、ことと、
前記第２の画像内の第２の角を検出することと、
前記第２の画像内の第２の角の位置を決定することと、
少なくとも部分的に、前記第２の画像内の第２の角の決定された位置に基づいて、前記第１の画像内の第１の角の位置を決定することと
を含む、方法。
【請求項２５】
前記第２の角は、検出された前記第２の画像内の角のセットの一部である、請求項２４に記載の方法。
【請求項２６】
前記第２の画像内の角のセットは、１つ以上の基準に基づいて検出され、
前記１つ以上の基準は、平面状であり、かつ／または不十分なテクスチャを有する前記第２の画像内の１つ以上のオブジェクトを除外するための第１の基準、線形構成を有する前記第２の画像内の１つ以上のオブジェクトを除外するための第２の基準、または前記第１の基準および前記第２の基準の両方を備える、
請求項２５に記載の方法。
【請求項２７】
非最大値抑制を実施し、前記角のセット内で重複する検出された角を排除することをさらに含む、請求項２５に記載の方法。
【請求項２８】
前記方法は、ハードウェアおよびソフトウェアを備える処理ユニットによって実施され、
前記角のセットは、前記処理ユニットのハードウェアによって検出され、
前記非最大値抑制は、前記処理ユニットのソフトウェアによって実施される、
請求項２７に記載の方法。
【請求項２９】
空間ビニングを実施し、角のサブセットを前記角のセットから選択することをさらに含む、請求項２５に記載の方法。
【請求項３０】
前記第２の画像を第１の画像部分を有する複数の画像部分に分割することと、
前記角のセット内の角毎に、スコアを決定することと、
前記第１の画像部分内の角のスコアに基づいて、かつ前記第１の画像部分に関して事前に規定された角の最大数に基づいて、１つ以上の角を前記第１の画像部分内の角から選択することと
によって、空間ビニングを実施すること
をさらに含む、請求項２５に記載の方法。
【請求項３１】
前記方法は、ハードウェアおよびソフトウェアを備える処理ユニットによって実施され、
前記角のセットは、前記処理ユニットのハードウェアによって検出され、
前記空間ビニングは、前記処理ユニットのソフトウェアによって実施される、
請求項２９に記載の方法。
【請求項３２】
前記第１の角を含む前記第１の画像内の角のセットを検出することと、
少なくとも部分的に、前記第２の画像内の第２の角の位置に基づいて、前記第１の角を前記第１の画像内の角のセットから識別することと
をさらに含む、請求項２４に記載の方法。
【請求項３３】
前記第１の画像内の角のセットは、ハードウェアによって検出され、前記第１の角は、ソフトウェアによって、前記第１の画像内の角のセットから識別される、請求項３２に記載の方法。
【請求項３４】
前記第１の角の位置は、前記第１の画像の前記第１の解像度と前記第２の画像の前記第２の解像度との間の関係に基づいて決定される、請求項２４に記載の方法。
【請求項３５】
前記第２の角の位置は、前記第２の画像内のピクセル位置（ｘｒ，ｙｒ）と対応し、
前記第２の画像内のピクセル位置（ｘｒ，ｙｒ）は、前記第１の画像内の複数のピクセル位置と対応し、
前記第１の角の位置は、前記第２の画像内のピクセル位置（ｘｒ，ｙｒ）に対する最良空間関係を有する前記第１の画像内の複数のピクセル位置のうちの１つを選択することによって決定される、
請求項２４に記載の方法。
【請求項３６】
前記第２の画像は、前記第１の画像を前記第２の画像に変換することによって決定され、
前記第１の画像は、前記第１の画像の前記第１の解像度をダウンスケールし、前記第２の解像度を有する前記第２の画像を取得することによって、前記第２の画像に変換される、
請求項２４に記載の方法。
【請求項３７】
前記方法は、角検出器を備える処理ユニットによって実施され、前記角検出器は、第１の基準に基づいて動作するように構成され、
前記第１の基準は、平面状であり、かつ／または不十分なテクスチャを有する前記第２の画像内のオブジェクトを除外する、
請求項２４に記載の方法。
【請求項３８】
前記角検出器はさらに、第２の基準に基づいて動作するように構成され、
前記第２の基準は、前記第２の画像内の線形構成を伴うオブジェクトを除外する、
請求項３７に記載の方法。
【請求項３９】
前記第２の画像内の第２の角は、第１の定数ｋ１に基づいて検出される、請求項２４に記載の方法。
【請求項４０】
ｋ１＝Ｒ／（１＋Ｒ）＾２であり、Ｒは、任意の数である、請求項３９に記載の方法。
【請求項４２】
前記第２の画像内の第２の角は、第２の定数ｋ２に基づいて検出される、請求項３９に記載の方法。
【請求項４３】
前記第２の定数ｋ２は、前記第１の定数ｋ１に基づく、請求項４２に記載の方法。
【請求項４４】
ｋ２＝（ｋ１−１／１６）／１６である、請求項４３に記載の方法。
【請求項４５】
非最大値抑制または空間ビニングのうちの少なくとも１つを実施することをさらに含む、請求項２４に記載の方法。
【請求項４６】
少なくとも部分的に、前記第１の角の位置に基づいて、マップを作成することをさらに含む、請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、頭部装着型画像ディスプレイデバイスと、頭部装着型画像ディスプレイデバイスによって生成された画像内の角を検出するための方法および装置とに関する。
【０００２】
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」（ＶＲ）または「拡張現実」（ＡＲ）体験のための「複合現実」（ＭＲ）システムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える、もしくはそのように知覚され得る様式でユーザに提示される。ＶＲシナリオは、典型的には、実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。ＡＲシナリオは、典型的には、ユーザの周囲の実世界の可視化（すなわち、実世界視覚的入力に対する透過性）に対する拡張としてデジタルまたは仮想画像情報の提示を伴う。故に、ＡＲシナリオは、実世界視覚的入力に対する透過性を伴う、デジタルまたは仮想画像情報の提示を伴う。
【０００３】
ＭＲシステムは、カラーデータを生成および表示し得、これは、ＭＲシナリオの現実性を増加させる。これらのＭＲシステムの多くは、カラー画像に対応する異なる（例えば、原）色または「フィールド」（例えば、赤色、緑色、および青色）内のサブ画像を高速で連続して順次投影させることによって、カラーデータを表示する。カラーサブ画像を十分に高レート（例えば、６０Ｈｚ、１２０Ｈｚ等）で投影させることは、平滑なカラーＭＲシナリオをユーザの記憶にもたらし得る。
【０００４】
種々の光学システムは、ＭＲ（ＶＲおよびＡＲ）シナリオを表示するために、種々の深度において、カラー画像を含む、画像を生成する。いくつかのそのような光学システムは、２０１４年１１月２７日に出願された米国実用特許出願第１４／５５５，５８５号（弁理士整理番号第ＭＬ．２００１１．００）（その内容は、完全に記載される場合と同様に、参照することによってその全体として明示的かつ完全に本明細書に組み込まれる）に説明される。
【０００５】
ＭＲシステムは、少なくとも、ユーザの頭部に緩く結合され、したがって、ユーザの頭部が移動すると移動する、ウェアラブルディスプレイデバイス（例えば、頭部装着ディスプレイ、ヘルメット搭載型ディスプレイ、またはスマートグラス）を採用し得る。ユーザの頭部運動が、ディスプレイデバイスによって検出される場合、表示されているデータは、頭部姿勢（すなわち、ユーザの頭部の配向および／または場所）の変化を考慮するために更新（例えば、「ワーピング」）され得る。
【０００６】
実施例として、頭部装着ディスプレイデバイスを装着しているユーザが、ディスプレイ上の仮想オブジェクトの仮想表現を視認し、仮想オブジェクトが現れている面積の周囲を歩き回る場合、仮想オブジェクトは、視点毎にレンダリングされ、実空間を占有するオブジェクトの周囲を歩き回っているという知覚をユーザに与えることができる。頭部装着ディスプレイデバイスが、複数の仮想オブジェクトを提示するために使用される場合、頭部姿勢の測定が、ユーザの動的に変化する頭部姿勢にマッチングし、没入感の増加を提供するように場面をレンダリングするために使用されることができる。
【０００７】
ＡＲを有効にする、頭部装着ディスプレイデバイスは、実および仮想オブジェクトの両方の同時視認を提供する。「光学シースルー」ディスプレイを用いることで、ユーザは、ディスプレイシステム内の透明（または半透明）要素を通して見え、直接、環境内の実オブジェクトからの光を視認することができる。透明要素は、多くの場合、「コンバイナ」と称され、ディスプレイからの光を実世界のユーザのビューにわたって重畳し、ディスプレイからの光は、仮想コンテンツの画像を環境内の実オブジェクトのシースルービューにわたって投影される。カメラが、頭部装着ディスプレイデバイス上に搭載され、ユーザによって視認されている場面の画像またはビデオを捕捉し得る。
【０００８】
ＭＲシステムにおけるもの等の現在の光学システムは、仮想コンテンツを光学的にレンダリングする。コンテンツは、空間内の個別の位置に位置する実際の物理的オブジェクトに対応しないという点で、「仮想」である。代わりに、仮想コンテンツは、ユーザの眼に指向される光ビームによって刺激されるとき、頭部装着ディスプレイデバイスのユーザの脳（例えば、視覚中枢）内にのみ存在する。
【０００９】
ある場合には、頭部装着型画像ディスプレイデバイスは、実環境に対して仮想オブジェクトを表示し得、および／またはユーザが実環境に対して仮想オブジェクトを設置および／または操作することを可能にし得る。そのような場合、画像ディスプレイデバイスは、仮想オブジェクトが実環境に対して正しく変位され得るように、実環境に対するユーザを位置特定するように構成され得る。位置特定マップが、頭部装着型画像ディスプレイデバイスによって使用され、位置特定を実施し得る。特に、位置特定を実施するとき、画像ディスプレイデバイスは、リアルタイム入力画像を画像ディスプレイデバイスのカメラシステムから取得し、入力画像内の特徴と位置特定マップの特徴をマッチングさせ得る。
【００１０】
画像内の角を検出するための方法および装置が、本明細書に説明される。検出された角は、位置特定マップを作成するための特徴として利用され得る。代替として、角は、ユーザの位置特定のための位置特定マップの特徴とマッチングさせるための入力画像からの特徴として検出され得る。
【発明の概要】
【課題を解決するための手段】
【００１１】
ユーザによって頭部に装着されるために構成される、装置は、ユーザのためにグラフィックを提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、カメラシステムに結合される、処理ユニットであって、第１の解像度を有する第１の画像を取得し、第１の画像は、第１の角を有し、第２の解像度を有する第２の画像を決定し、第２の画像は、第１の画像内の第１の角と対応する、第２の角を有し、第２の画像は、第１の画像に基づき、第２の解像度は、第１の解像度未満であって、第２の画像内の第２の角を検出し、第２の画像内の第２の角の位置を決定し、少なくとも部分的に、第２の画像内の第２の角の決定された位置に基づいて、第１の画像内の第１の角の位置を決定するように構成される、処理ユニットとを含む。
【００１２】
随意に、処理ユニットは、第２の画像内の角のセットを検出するように構成され、角のセットは、第２の角を有する。
【００１３】
随意に、処理ユニットは、Ｈａｒｒｉｓ角検出技法に基づいて、第２の画像内の角のセットを検出するように構成される。
【００１４】
随意に、処理ユニットは、１つ以上の基準に基づいて、第２の画像内の角のセットを検出するように構成される。
【００１５】
随意に、１つ以上の基準は、平面状であり、かつ／または不十分なテクスチャを有する第２の画像内の１つ以上のオブジェクトを除外するための第１の基準を含む。
【００１６】
随意に、１つ以上の基準は、線形構成を有する、第２の画像内の１つ以上のオブジェクトを除外するための第２の基準を含む。
【００１７】
随意に、処理ユニットはまた、非最大値抑制を実施し、角のセット内の重複する検出された角を排除するように構成される。
【００１８】
随意に、非最大値抑制は、３×３非最大値抑制を含む。
【００１９】
随意に、処理ユニットは、ハードウェアおよびソフトウェアを備え、処理ユニットのハードウェアは、角のセットを検出するように構成され、処理ユニットのソフトウェアは、非最大値抑制を実施するように構成される。
【００２０】
随意に、処理ユニットは、空間ビニングを実施し、角のサブセットを角のセットから選択するように構成される。
【００２１】
随意に、処理ユニットは、第２の画像を第１の画像部分を有する複数の画像部分に分割するステップと、角のセット内の角毎に、スコアを決定するステップと、第１の画像部分内の角のスコアに基づいて、かつ第１の画像部分に関して事前に規定された角の最大数に基づいて、１つ以上の角を第１の画像部分内の角から選択するステップとによって、空間ビニングを実施するように構成される。
【００２２】
随意に、処理ユニットは、ハードウェアおよびソフトウェアを備え、処理ユニットのハードウェアは、角のセットを検出するように構成され、処理ユニットのソフトウェアは、空間ビニングを実施するように構成される。
【００２３】
随意に、処理ユニットは、Ｈａｒｒｉｓ角検出を第２の画像上に適用することによって、第２の画像内の第２の角を検出するように構成される。
【００２４】
随意に、処理ユニットは、Ｈａｒｒｉｓ角検出を第１の画像上に適用することによって、第１の画像内の第１の角を検出するように構成される。
【００２５】
随意に、処理ユニットは、第１の角を含む、第１の画像内の角のセットを検出するように構成される。
【００２６】
随意に、処理ユニットはまた、少なくとも部分的に、第２の画像内の第２の角の位置に基づいて、第１の角を第１の画像内の角のセットから検出するように構成される。
【００２７】
随意に、処理ユニットは、第１の画像内の角のセットを検出するように構成される、ハードウェアと、第１の角を第１の画像内の角のセットから検出するように構成される、ソフトウェアとを備える。
【００２８】
随意に、処理ユニットは、第１の画像の第１の解像度と第２の画像の第２の解像度との間の関係に基づいて、第１の角の位置を決定するように構成される。
【００２９】
随意に、第２の角の位置は、第２の画像内のピクセル位置（ｘｒ，ｙｒ）と対応し、第２の画像内のピクセル位置（ｘｒ，ｙｒ）は、第１の画像内の複数のピクセル位置と対応し、処理ユニットは、第２の画像内のピクセル位置（ｘｒ，ｙｒ）に対する最良空間関係を有する、第１の画像内の複数のピクセル位置のうちの１つを選択することによって、第１の角の位置を決定するように構成される。
【００３０】
随意に、処理ユニットは、第１の画像を第２の画像に変換することによって、第２の画像を決定するように構成される、画像調節器を備える。
【００３１】
随意に、画像調節器は、第１の画像の第１の解像度をダウンスケールし、第２の解像度を有する第２の画像を取得するように構成される。
【００３２】
随意に、処理ユニットは、第２の角を含む、第２の画像内の角のセットを検出するように構成される、ハードウェアと、第１の画像内の第１の角の位置を決定するように構成される、ソフトウェアとを備える。
【００３３】
随意に、処理ユニットは、ハードウェアを備える。
【００３４】
随意に、処理ユニットのハードウェアは、第２の画像内の第２の角を検出するように構成される。
【００３５】
随意に、処理ユニットのハードウェアは、Ｈａｒｒｉｓ角検出アルゴリズムを実行するように構成される。
【００３６】
随意に、処理ユニットは、第１の基準に基づいて動作するように構成される、角検出器を備える。
【００３７】
随意に、第１の基準は、平面状であり、かつ／または不十分なテクスチャを有する第２の画像内のオブジェクトを除外する。
【００３８】
随意に、第１の基準は、λｍｉｎ＞閾値を含み、λｍｉｎ＝ｍｉｎ（λ２，λ１）であって、式中、λ１は、第１の固有値であって、λ２は、第１の固有値より大きい、第２の固有値である。
【００３９】
随意に、角検出器は、第２の基準にも基づいて動作するように構成される。
【００４０】
随意に、第２の基準は、第２の画像内の線形構成を伴うオブジェクトを除外する。
【００４１】
随意に、第２の基準は、λ２／λ１＜閾値を含み、式中、λ１は、第１の固有値であって、λ２は、第１の固有値より大きい、第２の固有値である。
【００４２】
随意に、処理ユニットは、第１の定数ｋ１に基づいて、第２の画像内の第２の角を検出するように構成される。
【００４３】
随意に、ｋ１＝Ｒ／（１＋Ｒ）＾２であって、Ｒは、任意の数である。
【００４４】
随意に、第１の定数ｋ１は、０．１および０．２の間である。
【００４５】
随意に、第１の定数ｋ１は、０．１３９である。
【００４６】
随意に、処理ユニットは、第２の定数ｋ２に基づいて、第２の画像内の第２の角を検出するように構成される。
【００４７】
随意に、第２の定数ｋ２は、０．０１未満である。
【００４８】
随意に、第２の定数ｋ２は、０．００４７８１２５である。
【００４９】
随意に、第２の定数ｋ２は、第１の定数ｋ１に基づく。
【００５０】
随意に、ｋ２＝（ｋ１−１／１６）／１６である。
【００５１】
随意に、処理ユニットは、Ｄｅｔ（Ｈ）に基づいて、第２の画像内の第２の角を検出するように構成され、Ｈは、行列である。
【００５２】
随意に、処理ユニットは、ｔｒａｃｅ（Ｈ）に基づいて、第２の画像内の第２の角を検出するように構成され、Ｈは、行列である。
【００５３】
随意に、処理ユニットは、第１の定数および第２の定数に基づいて、第１のＨａｒｒｉｓ角検出を実施するように構成され、第２の定数は、第１の定数と異なる。
【００５４】
随意に、第２の定数は、第１の定数に基づく。
【００５５】
随意に、処理ユニットは、非最大値抑制を実施するように構成される。
【００５６】
随意に、処理ユニットは、空間ビニングを実施するように構成される。
【００５７】
随意に、処理ユニットは、ソフトウェアを備える。
【００５８】
随意に、処理ユニットのソフトウェアは、非最大値抑制を実施するように構成される。
【００５９】
随意に、処理ユニットのソフトウェアは、空間ビニングを実施するように構成される。
【００６０】
随意に、第１の解像度は、ＶＧＡ解像度を含む。
【００６１】
随意に、第２の解像度は、ＱＶＧＡ解像度を含む。
【００６２】
随意に、装置はさらに、第１の画像内の第１の角の位置を記憶するように構成される、非一過性媒体を含む。
【００６３】
随意に、処理ユニットは、少なくとも部分的に、第１の角の位置に基づいて、マップを作成するように構成される。
【００６４】
随意に、マップは、第１の角の位置と関連付けられる、マップ点を備える。
【００６５】
随意に、処理ユニットは、作成されたマップに基づいて、ユーザの位置特定を実施するように構成される。
【００６６】
随意に、処理ユニットは、少なくとも部分的に、第１の画像内の第１の角の位置に基づいて、第１の画像とマップとの間のマッチングを実施するように構成される。
【００６７】
頭部装着型画像ディスプレイデバイスによって実施される方法は、第１の解像度を有する第１の画像を取得するステップであって、第１の画像は、第１の角を有する、ステップと、第２の解像度を有する第２の画像を決定するステップであって、第２の画像は、第１の画像内の第１の角と対応する、第２の角を有し、第２の画像は、第１の画像に基づき、第２の解像度は、第１の解像度未満である、ステップと、第２の画像内の第２の角を検出するステップと、第２の画像内の第２の角の位置を決定するステップと、少なくとも部分的に、第２の画像内の第２の角の決定された位置に基づいて、第１の画像内の第１の角の位置を決定するステップとを含む。
【００６８】
随意に、第２の角は、検出された第２の画像内の角のセットの一部である。
【００６９】
随意に、第２の画像内の角のセットは、Ｈａｒｒｉｓ角検出技法に基づいて検出される。
【００７０】
随意に、第２の画像内の角のセットは、１つ以上の基準に基づいて検出される。
【００７１】
随意に、１つ以上の基準は、平面状であり、かつ／または不十分なテクスチャを有する第２の画像内の１つ以上のオブジェクトを除外するための第１の基準を含む。
【００７２】
随意に、１つ以上の基準は、線形構成を有する、第２の画像内の１つ以上のオブジェクトを除外するための第２の基準を含む。
【００７３】
随意に、本方法はさらに、非最大値抑制を実施し、角のセット内で重複する検出された角を排除するステップを含む。
【００７４】
随意に、非最大値抑制は、３×３非最大値抑制を含む。
【００７５】
随意に、方法は、ハードウェアおよびソフトウェアを備える、処理ユニットによって実施され、角のセットは、処理ユニットのハードウェアによって検出され、非最大値抑制は、処理ユニットのソフトウェアによって実施される。
【００７６】
随意に、本方法はさらに、空間ビニングを実施し、角のサブセットを角のセットから選択するステップを含む。
【００７７】
随意に、本方法はさらに、第２の画像を第１の画像部分を有する複数の画像部分に分割するステップと、角のセット内の角毎に、スコアを決定するステップと、第１の画像部分内の角のスコアに基づいて、かつ第１の画像部分に関して事前に規定された角の最大数に基づいて、１つ以上の角を第１の画像部分内の角から選択するステップとによって、空間ビニングを実施するステップを含む。
【００７８】
随意に、方法は、ハードウェアおよびソフトウェアを備える、処理ユニットによって実施され、角のセットは、処理ユニットのハードウェアによって検出され、空間ビニングは、処理ユニットのソフトウェアによって実施される。
【００７９】
随意に、第２の画像内の第２の角は、Ｈａｒｒｉｓ角検出を第２の画像上に適用することによって検出される。
【００８０】
随意に、本方法はさらに、Ｈａｒｒｉｓ角検出を第１の画像上に適用することによって、第１の画像内の第１の角を検出するステップを含む。
【００８１】
随意に、本方法はさらに、第１の角を含む第１の画像内の角のセットを検出するステップを含む。
【００８２】
随意に、本方法はさらに、少なくとも部分的に、第２の画像内の第２の角の位置に基づいて、第１の角を第１の画像内の角のセットから識別するステップを含む。
【００８３】
随意に、第１の画像内の角のセットは、ハードウェアによって検出され、第１の角は、ソフトウェアによって、第１の画像内の角のセットから識別される。
【００８４】
随意に、第１の角の位置は、第１の画像の第１の解像度と第２の画像の第２の解像度との間の関係に基づいて決定される。
【００８５】
随意に、第２の角の位置は、第２の画像内のピクセル位置（ｘｒ，ｙｒ）と対応し、第２の画像内のピクセル位置（ｘｒ，ｙｒ）は、第１の画像内の複数のピクセル位置と対応し、第１の角の位置は、第２の画像内のピクセル位置（ｘｒ，ｙｒ）に対する最良空間関係を有する、第１の画像内の複数のピクセル位置のうちの１つを選択することによって決定される。
【００８６】
随意に、第２の画像は、第１の画像を第２の画像に変換することによって決定される。
【００８７】
随意に、第１の画像は、第１の画像の第１の解像度をダウンスケールし、第２の解像度を有する第２の画像を取得することによって、第２の画像に変換される。
【００８８】
随意に、第２の角は、検出された第２の画像内の角のセットの一部であって、第１の画像内の第１の角の位置は、ソフトウェアによって決定される。
【００８９】
随意に、方法は、ハードウェアを備える、処理ユニットによって実施される。
【００９０】
随意に、第２の画像内の第２の角は、処理ユニットのハードウェアによって検出される。
【００９１】
随意に、処理ユニットのハードウェアは、Ｈａｒｒｉｓ角検出アルゴリズムを実行するように構成される。
【００９２】
随意に、方法は、角検出器を備える、処理ユニットによって実施され、角検出器は、第１の基準に基づいて動作するように構成される。
【００９３】
随意に、第１の基準は、平面状であり、かつ／または不十分なテクスチャを有する第２の画像内のオブジェクトを除外する。
【００９４】
随意に、第１の基準は、λｍｉｎ＞閾値を含み、λｍｉｎ＝ｍｉｎ（λ２，λ１）であって、式中、λ１は、第１の固有値であって、λ２は、第１の固有値より大きい、第２の固有値である。
【００９５】
随意に、角検出器は、第２の基準にも基づいて動作するように構成される。
【００９６】
随意に、第２の基準は、第２の画像内の線形構成を伴うオブジェクトを除外する。
【００９７】
随意に、第２の基準は、λ２／λ１＜閾値を含み、式中、λ１は、第１の固有値であって、λ２は、第１の固有値より大きい、第２の固有値である。
【００９８】
随意に、第２の画像内の第２の角は、第１の定数ｋ１に基づいて検出される。
【００９９】
随意に、ｋ１＝Ｒ／（１＋Ｒ）＾２であって、Ｒは、任意の数である。
【０１００】
随意に、第１の定数ｋ１は、０．１および０．２の間である。
【０１０１】
随意に、第１の定数ｋ１は、０．１３９である。
【０１０２】
随意に、第２の画像内の第２の角は、第２の定数ｋ２に基づいて検出される。
【０１０３】
随意に、第２の定数ｋ２は、０．０１未満である。
【０１０４】
随意に、第２の定数ｋ２は、０．００４７８１２５である。
【０１０５】
随意に、第２の定数ｋ２は、第１の定数ｋ１に基づく。
【０１０６】
随意に、ｋ２＝（ｋ１−１／１６）／１６である。
【０１０７】
随意に、第２の画像内の第２の角は、Ｄｅｔ（Ｈ）に基づいて検出され、Ｈは、行列である。
【０１０８】
随意に、第２の画像内の第２の角は、Ｔｒａｃｅ（Ｈ）に基づいて検出され、Ｈは、行列である。
【０１０９】
随意に、第２の角は、第１の定数および第２の定数に基づいて、第１のＨａｒｒｉｓ角検出を実施することによって検出され、第２の定数は、第１の定数と異なる。
【０１１０】
随意に、第２の定数は、第１の定数に基づく。
【０１１１】
随意に、本方法はさらに、非最大値抑制を実施するステップを含む。
【０１１２】
随意に、本方法はさらに、空間ビニングを実施するステップを含む。
【０１１３】
随意に、方法は、ソフトウェアを備える、処理ユニットによって実施される。
【０１１４】
随意に、本方法はさらに、処理ユニットのソフトウェアによって、非最大値抑制を実施するステップを含む。
【０１１５】
随意に、本方法はさらに、処理ユニットのソフトウェアによって、空間ビニングを実施するステップを含む。
【０１１６】
随意に、第１の解像度は、ＶＧＡ解像度を含む。
【０１１７】
随意に、第２の解像度は、ＱＶＧＡ解像度を含む。
【０１１８】
随意に、本方法はさらに、第１の角の位置を非一過性媒体内に記憶するステップを含む。
【０１１９】
随意に、本方法はさらに、少なくとも部分的に、第１の角の位置に基づいて、マップを作成するステップを含む。
【０１２０】
随意に、マップは、第１の角の位置と関連付けられる、マップ点を備える。
【０１２１】
随意に、本方法はさらに、作成されたマップに基づいて、画像ディスプレイデバイスのユーザの位置特定を実施するステップを含む。
【０１２２】
随意に、本方法はさらに、少なくとも部分的に、第１の画像内の第１の角の位置に基づいて、第１の画像とマップとの間のマッチングを実施するステップを含む。
【０１２３】
本開示の付加的および他の目的、特徴、ならびに利点は、詳細な説明、図、および請求項に説明される。
【０１２４】
図面は、本開示の種々の実施形態の設計および可用性を図示する。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して類似参照番号によって表されることに留意されたい。本開示の種々の実施形態の前述および他の利点ならびに目的を得る方法をより深く理解するために、簡単に前述された開示の詳細な説明が、付随の図面に図示されるその具体的実施形態を参照することによって与えられるであろう。これらの図面は、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定として見なされるべきではないことを理解した上で、本開示は、付随の図面の使用を通して付加的具体性および詳細とともに説明ならびに記載されるであろう。
【図面の簡単な説明】
【０１２５】
【図１】図１は、いくつかの実施形態による、画像ディスプレイデバイスを有する、別の画像ディスプレイシステムを図示する。
【０１２６】
【図２】図２は、他の実施形態による、画像ディスプレイデバイスを有する、別の画像ディスプレイシステムを図示する。
【０１２７】
【図３】図３は、他の実施形態による、画像ディスプレイデバイスを有する、別の画像ディスプレイシステムを図示する。
【０１２８】
【図４】図４は、他の実施形態による、画像ディスプレイデバイスを有する、別の画像ディスプレイシステムを図示する。
【０１２９】
【図５】図５は、フレームを複数の深度平面に表示する、画像ディスプレイデバイスを図示する。
【０１３０】
【図６】図６は、画像ディスプレイデバイスが、画像ディスプレイデバイスのユーザを位置特定し、および／または他の機能を実施することを可能にするための、マップを決定するための方法を図示する。
【０１３１】
【図７】図７は、複数のセルに分割されている環境の実施例を図示する。
【０１３２】
【図８】図８は、画像ディスプレイデバイスの処理ユニットを図示する。
【０１３３】
【図９】図９Ａ−９Ｂは、固有値および／またはＨａｒｒｉｓスコアを使用した像点の分類を図示する。
【０１３４】
【図１０】図１０は、図８の処理ユニットのための信号フローを図示する。
【０１３５】
【図１１】図１１は、図８の処理ユニットによって実施される角検出の実施例を図示する。
【０１３６】
【図１２】図１２は、図８の処理ユニットの変形例を図示する。
【０１３７】
【図１３】図１３は、図８の処理ユニットによって実施される方法を図示する。
【０１３８】
【図１４】図１４は、いくつかの実施形態による、特殊処理システムを図示する。
【発明を実施するための形態】
【０１３９】
本開示の種々の実施形態は、頭部装着ビデオ画像デバイスのための入力を提供するための方法、装置、および製造品を対象とする。本開示の他の目的、特徴、および利点は、詳細な説明、図、および請求項に説明される。
【０１４０】
種々の実施形態は、図を参照して以降に説明される。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。また、図は、実施形態の説明を促進するようにのみ意図されることに留意されたい。それらは、本発明の包括的説明として、または本発明の範囲に関する限界として意図されるものではない。加えて、図示される実施形態は、示される全ての側面または利点を有する必要はない。特定の実施形態と併せて説明される側面または利点は、必ずしも、その実施形態に限定されず、そのように図示されない場合でも、またはそのように明示的に説明されない場合でも、任意の他の実施形態において実践されることができる。
【０１４１】
続く説明は、それを用いて本明細書に説明される実施形態が実践され得る、例証的ＶＲ、ＡＲ、および／またはＭＲシステムに関する。しかしながら、実施形態はまた、他のタイプのディスプレイシステム（他のタイプのＶＲ、ＡＲ、および／またはＭＲシステムを含む）における用途にも適しており、したがって、実施形態は、本明細書に開示される例証的実施例のみに限定されないことを理解されたい。
【０１４２】
ある場合には、ユーザの環境に対して頭部装着型画像ディスプレイデバイスのユーザを位置特定するために、環境の位置特定マップが、取得される。次いで、画像ディスプレイデバイスのカメラシステムからのリアルタイム入力画像が、次いで、位置特定マップに対してマッチングされ、ユーザを位置特定する。例えば、入力画像の角特徴が、入力画像から検出され、位置特定マップの角特徴に対してマッチングされ得る。いくつかの実施形態では、位置特定において使用するための画像からの特徴として角のセットを取得するために、画像は、最初に、角検出を経て、検出された角の初期セットを取得する必要があり得る。検出された角の初期セットは、次いで、位置特定目的のための検出された角の最終セットを取得するために、さらに処理され、例えば、非最大値抑制および空間ビニング等を経る。しかしながら、非最大値抑制、空間ビニング、または他のタイプの処理は、有意な算出リソースを要求し得、完了に長くかかり得る。故に、位置特定目的のための角のセットを取得するための新規方法および装置を有することが有利であろう。いくつかの実施形態では、第１の画像は、低減された解像度を有する第２の画像を取得するように調節される。第２の画像は、位置特定のための角のセットを取得するために、処理され、角を検出し、非最大値抑制および空間ビニングを実施する。低減された解像度を伴う第２の画像に基づいて取得される角のセットは、第１の画像に基づいて、位置が精緻化され、位置特定目的のための改良された位置を伴う角の最終セットを取得し得る。
【０１４３】
図１−４は、種々の実施形態における、画像ディスプレイシステム１００の種々のコンポーネントを図示する。画像ディスプレイシステム１００は、画像ディスプレイデバイス１０１と、画像ディスプレイデバイスデバイス１０１のための入力を提供するための装置２００とを含む。装置２００は、下記にさらに詳細に説明されるであろう。画像ディスプレイデバイス１０１は、ＶＲデバイス、ＡＲデバイス、ＭＲデバイス、または他のタイプのディスプレイデバイスのいずれかであってもよい。画像ディスプレイデバイス１０１は、エンドユーザ５０によって装着される、フレーム構造１０２と、ディスプレイサブシステム１１０がエンドユーザ５０の眼の正面に位置付けられるように、フレーム構造１０２によって担持される、ディスプレイサブシステム１１０と、スピーカ１０６がエンドユーザ５０の外耳道に隣接して位置付けられる（随意に、別のスピーカ（図示せず）が、エンドユーザ５０の他方の外耳道に隣接して位置付けられ、ステレオ／調節可能音制御を提供する）ようにフレーム構造１０２によって担持される、スピーカ１０６とを含む。ディスプレイサブシステム１１０は、エンドユーザ５０の眼に、高レベルの画質および３次元知覚を伴って、物理的現実に対する拡張として快適に知覚され得る、光パターンを提示するように設計され、かつ２次元コンテンツを提示することも可能である。ディスプレイサブシステム１１０は、単一コヒーレント場面の知覚を提供する、フレームのシーケンスを高周波数で提示する。
【０１４４】
図示される実施形態では、ディスプレイサブシステム１１０は、「光学シースルー」ディスプレイを採用し、それを通してユーザは、透明（または半透明）要素を介して、直接、実オブジェクトからの光を視認することができる。透明要素は、多くの場合、「コンバイナ」と称され、ディスプレイからの光を実世界のユーザのビューにわたって重畳する。この目的を達成するために、ディスプレイサブシステム１１０は、部分的に透明なディスプレイを備える。ディスプレイは、周囲環境からの直接光が、ディスプレイを通して、エンドユーザ５０の眼に伝送されるように、エンドユーザ５０の眼と周囲環境との間のエンドユーザ５０の視野内に位置付けられる。
【０１４５】
図示される実施形態では、画像投影アセンブリは、光を部分的に透明なディスプレイに提供し、それによって、周囲環境からの直接光と組み合わせられ、ディスプレイからユーザの眼５０に伝送される。投影サブシステムは、光ファイバベースの投影デバイスであってもよく、ディスプレイは、その中に投影サブシステムからの走査される光が、例えば、無限遠（例えば、腕の長さ）より近い単一光学視認距離における画像、複数の離散光学視認距離または焦点平面における画像、および／または立体３Ｄオブジェクトを表すために複数の視認距離または焦点平面にスタックされた画像層を生産するように投入される、導波管ベースのディスプレイであってもよい。ライトフィールド内のこれらの層は、ヒト副視覚系に持続的に現れるようにともに十分に近接してスタックされてもよい（すなわち、１つの層が、隣接する層の乱信号円錐域内にある）。加えて、または代替として、ピクチャ要素が、２つ以上の層を横断して混成され、それらの層が、より疎らにスタックされる（すなわち、１つの層が隣接する層の乱信号円錐域の外側にある）場合でも、ライトフィールド内の層間の遷移の知覚される連続性を増加させてもよい。ディスプレイサブシステム１１０は、単眼または両眼用であってもよい。
【０１４６】
画像ディスプレイデバイス１０１はまた、エンドユーザ５０の頭部５４の位置ならびに移動および／またはエンドユーザ５０の眼位置ならびに眼球間距離を検出するためにフレーム構造１０２に搭載される、１つ以上のセンサ（図示せず）を含んでもよい。そのようなセンサは、画像捕捉デバイス（カメラ等）、マイクロホン、慣性測定ユニット、加速度計、コンパス、ＧＰＳユニット、無線デバイス、および／またはジャイロスコープ）、または前述の任意の組み合わせを含んでもよい。これらのセンサの多くは、その上にそれらが添着される、フレーム１０２が、順に、ユーザの頭部、眼、および耳に実質的に固定されるという仮定に基づいて動作する。
【０１４７】
画像ディスプレイデバイス１０１はまた、ユーザ配向検出モジュールを含んでもよい。ユーザ配向モジュールは、エンドユーザ５０の頭部５４の瞬間位置を検出し（例えば、フレーム１０２に結合されるセンサを介して）、センサから受信された位置データに基づいて、エンドユーザ５０の頭部５４の位置を予測してもよい。エンドユーザ５０の頭部５４の瞬間位置を検出することは、エンドユーザ５０が見ている、具体的実際のオブジェクトの決定を促進し、それによって、その実際のオブジェクトに関連して生成されるべき具体的仮想オブジェクトのインジケーションを提供し、さらに、仮想オブジェクトが表示される位置のインジケーションを提供する。ユーザ配向モジュールはまた、センサから受信された追跡データに基づいて、エンドユーザ５０の眼を追跡してもよい。
【０１４８】
画像ディスプレイデバイス１０１はまた、多種多様な形態のいずれかをとり得る、制御サブシステムを含んでもよい。制御サブシステムは、いくつかのコントローラ、例えば、１つ以上のマイクロコントローラ、マイクロプロセッサまたは中央処理ユニット（ＣＰＵ）、デジタル信号プロセッサ、グラフィック処理ユニット（ＧＰＵ）、特定用途向け集積回路（ＡＳＩＣ）等の他の集積回路コントローラ、プログラマブルゲートアレイ（ＰＧＡ）、例えば、フィールドＰＧＡ（ＦＰＧＡ）、および／またはプログラマブル論理コントローラ（ＰＬＵ）を含む。
【０１４９】
画像ディスプレイデバイス１０１の制御サブシステムは、中央処理ユニット（ＣＰＵ）と、グラフィック処理ユニット（ＧＰＵ）と、１つ以上のフレームバッファと、３次元場面データを記憶するための３次元データベースとを含んでもよい。ＣＰＵは、全体的動作を制御してもよい一方、ＧＰＵは、３次元データベース内に記憶される３次元データからフレームをレンダリングし（すなわち、３次元場面を２次元画像に変換し）、これらのフレームをフレームバッファ内に記憶してもよい。１つ以上の付加的集積回路は、フレームバッファの中へのフレームの読込およびそこからの読出ならびにディスプレイサブシステム１１０の画像投影アセンブリの動作を制御してもよい。
【０１５０】
画像ディスプレイデバイス１０１の種々の処理コンポーネントは、分散型サブシステム内に物理的に含有されてもよい。例えば、図１−４に図示されるように、画像ディスプレイデバイス１０１は、有線導線または無線コネクティビティ１３６等によって、ディスプレイサブシステム１１０およびセンサに動作可能に結合される、ローカル処理およびデータモジュール１３０を含んでもよい。ローカル処理およびデータモジュール１３０は、フレーム構造１０２（図１）に固定して取り付けられる、ヘルメットまたは帽子５６（図２）に固定して取り付けられる、エンドユーザ５０の胴体５８に除去可能に取り付けられる（図３）、またはベルト結合式構成においてエンドユーザ５０の腰部６０に除去可能に取り付けられる（図４）等、種々の構成において搭載されてもよい。画像ディスプレイデバイス１０１はまた、これらの遠隔モジュール１３２、１３４が、相互に動作可能に結合され、ローカル処理およびデータモジュール１３０へのリソースとして利用可能であるように、有線導線または無線コネクティビティ１３８、１４０等によってローカル処理およびデータモジュール１３０に動作可能に結合される、遠隔処理モジュール１３２および遠隔データリポジトリ１３４を含んでもよい。
【０１５１】
ローカル処理およびデータモジュール１３０は、電力効率的プロセッサまたはコントローラならびにフラッシュメモリ等のデジタルメモリを備えてもよく、その両方とも、可能性として、処理または読出後、ディスプレイサブシステム１１０への通過のために、センサから捕捉された、および／または、遠隔処理モジュール１３２ならびに／もしくは遠隔データリポジトリ１３４を使用して入手および／または処理された、データの処理、キャッシュ、および記憶を補助するために利用されてもよい。遠隔処理モジュール１３２は、データおよび／または画像情報を分析および処理するように構成される、１つ以上の比較的に強力なプロセッサまたはコントローラを備えてもよい。遠隔データリポジトリ１３４は、比較的に大規模なデジタルデータ記憶設備を備えてもよく、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータは、記憶され、全ての算出は、ローカル処理およびデータモジュール１３０で実施され、任意の遠隔モジュールからの完全に自律的使用を可能にする。
【０１５２】
上記に説明される種々のコンポーネント間の結合１３６、１３８、１４０は、ワイヤまたは光学連通を提供するための１つ以上の有線インターフェースもしくはポート、または無線通信を提供するためのＲＦ、マイクロ波、およびＩＲ等を介した、１つ以上の無線インターフェースもしくはポートを含んでもよい。いくつかの実装では、全ての通信は、有線であってもよい一方、他の実装では、全ての通信は、無線であってもよい。なおもさらなる実装では、有線および無線通信の選択肢は、図１−４に図示されるものと異なり得る。したがって、有線または無線通信の特定の選択肢は、限定と見なされるべきではない。
【０１５３】
いくつかの実施形態では、ユーザ配向モジュールは、ローカル処理およびデータモジュール１３０内に含有される一方、ＣＰＵおよびＧＰＵは、遠隔処理モジュール内に含有される。代替実施形態では、ＣＰＵ、ＧＰＵ、またはその一部は、ローカル処理およびデータモジュール１３０内に含有されてもよい。３Ｄデータベースは、遠隔データリポジトリ１３４と関連付けられる、またはローカルで配置されることができる。
【０１５４】
いくつかの画像ディスプレイシステム（例えば、ＶＲシステム、ＡＲシステム、ＭＲシステム等）は、個別の深度平面から生じるように現れる画像を生成するための深度平面情報を内蔵する、複数の体積位相ホログラム、表面レリーフホログラム、または光誘導光学要素を使用する。言い換えると、回折パターンまたは回折光学要素（「ＤＯＥ」）が、コリメートされた光（略平面波面を伴う光ビーム）が、ＬＯＥに沿って実質的に全内部反射されるにつれて、複数の場所において回折パターンと交差し、ユーザの眼に向かって出射するように、光誘導光学要素（「ＬＯＥ」、例えば、平面導波管）内に内蔵される、またはその上にインプリント／エンボス加工されてもよい。ＤＯＥは、特定の深度平面から生じるように現れるように、それを通してＬＯＥから出射する光が輻輳されるように構成される。コリメートされた光は、光学集光レンズ（「集光器」）を使用して生成されてもよい。
【０１５５】
例えば、第１のＬＯＥは、光学無限遠深度平面（０ジオプタ）から生じるように現れる、コリメートされた光を眼に送達するように構成されてもよい。別のＬＯＥは、２メートルの距離（１／２ジオプタ）から生じるように現れる、コリメートされた光を送達するように構成されてもよい。さらに別のＬＯＥは、１メートルの距離（１ジオプタ）から生じるように現れる、コリメートされた光を送達するように構成されてもよい。スタックされたＬＯＥアセンブリを使用することによって、複数の深度平面が、作成され得、各ＬＯＥは、特定の深度平面から生じるように現れる、画像を表示するように構成されることを理解されたい。スタックは、任意の数のＬＯＥを含んでもよいことを理解されたい。しかしながら、少なくともＮ個のスタックされたＬＯＥが、Ｎ個の深度平面を生成するために要求される。さらに、Ｎ、２Ｎ、または３Ｎ個のスタックされたＬＯＥが、ＲＧＢカラー画像をＮ個の深度平面に生成するために使用されてもよい。
【０１５６】
３−Ｄ仮想コンテンツをユーザに提示するために、画像ディスプレイシステム１００（例えば、ＶＲシステム、ＡＲシステム、ＭＲシステム等）は、それらがＺ方向に（すなわち、ユーザの眼から離れるように直交して）種々の深度平面から生じるように現れるように、仮想コンテンツの画像をユーザの眼の中に投影する。言い換えると、仮想コンテンツは、ＸおよびＹ方向（すなわち、ユーザの眼の中心視軸に直交する、２Ｄ平面）において変化し得るだけではなく、また、ユーザが、オブジェクトが、非常に近接して、または無限距離に、もしくはその間の任意の距離にあるように知覚し得るように、Ｚ方向においても変化するように現れ得る。他の実施形態では、ユーザは、複数のオブジェクトを、同時に、異なる深度平面において知覚し得る。例えば、ユーザには、仮想ドラゴンが、無限遠から現れ、ユーザに向かって走って来るように見え得る。代替として、ユーザには、同時に、ユーザから３メートル離れた距離における仮想鳥と、ユーザから腕の長さ（約１メートル）における仮想コーヒーカップとが見え得る。
【０１５７】
多平面焦点システムは、画像をユーザの眼からＺ方向における個別の固定距離に位置する複数の深度平面のいくつかまたは全て上に投影することによって、可変深度の知覚を作成する。ここで図５を参照すると、多平面焦点システムは、フレームを固定された深度平面１５０（例えば、図５に示される６つの深度平面１５０）に表示し得ることを理解されたい。ＭＲシステムは、任意の数の深度平面１５０を含むことができるが、１つの例示的多平面焦点システムは、６つの固定された深度平面１５０をＺ方向に有する。仮想コンテンツを６つの深度平面１５０のうちの１つ以上のものに生成する際、３−Ｄ知覚が、ユーザがユーザの眼からの可変距離における１つ以上の仮想オブジェクトを知覚するように作成される。ヒトの眼が、遠く離れてあるように現れるオブジェクトより距離が近いオブジェクトにより敏感であることを前提として、より多くの深度平面１５０が、図５に示されるように、眼のより近くに生成される。他の実施形態では、深度平面１５０は、相互から離れるように等距離に設置されてもよい。
【０１５８】
深度平面位置１５０は、メートル単位で測定される焦点距離の逆数に等しい屈折力の単位である、ジオプタ単位で測定されてもよい。例えば、いくつかの実施形態では、深度平面１は、１／３ジオプタ離れてもよく、深度平面２は、０．３ジオプタ離れていてもよく、深度平面３は、０．２ジオプタ離れていてもよく、深度平面４は、０．１５ジオプタ離れていてもよく、深度平面５は、０．１ジオプタ離れてもよく、深度平面６は、無限遠（すなわち、０ジオプタ離れる）を表し得る。他の実施形態は、深度平面１５０を他の距離／ジオプタに生成してもよいことを理解されたい。したがって、仮想コンテンツを方略的に設置された深度平面１５０に生成する際、ユーザは、仮想オブジェクトを３次元で知覚することが可能である。例えば、ユーザは、別の仮想オブジェクトが深度平面６における無限遠に現れる間、第１の仮想オブジェクトが深度平面１内に表示されるとき、それを近くにあると知覚し得る。代替として、仮想オブジェクトは、最初に、深度平面６に、次いで、深度平面５に、そして、仮想オブジェクトがユーザの非常に近く現れるまでそのように続くように表示されてもよい。上記の実施例は、例証目的のために有意に簡略化されていることを理解されたい。別の実施形態では、全６つの深度平面は、ユーザから離れるように特定の焦点距離上に集中されてもよい。例えば、表示されるべき仮想コンテンツが、ユーザから０．５メートル離れたコーヒーカップである場合、全６つの深度平面は、コーヒーカップの種々の断面において生成され、ユーザに、コーヒーカップの高粒度の３−Ｄビューを与え得る。
【０１５９】
いくつかの実施形態では、画像ディスプレイシステム１００（例えば、ＶＲシステム、ＡＲシステム、ＭＲシステム等）は、多平面焦点システムとして機能してもよい。言い換えると、全６つのＬＯＥは、６つの固定された深度平面から生じるように現れる画像が、高速で連続して生成されるように、同時に照明されてもよく、光源は、画像情報をＬＯＥ１、次いで、ＬＯＥ２、次いで、ＬＯＥ３等に急速に伝達する。例えば、光学無限遠における空の画像を含む、所望の画像の一部は、時間１において投入されてもよく、光のコリメーションを留保する、ＬＯＥ（例えば、図５からの深度平面６）が、利用されてもよい。次いで、より近い木の枝の画像が、時間２において投入されてもよく、１０メートル離れて深度平面から生じるように現れる画像を作成するように構成される、ＬＯＥ（例えば、図５からの深度平面５）が、利用されてもよい。次いで、ペンの画像が、時間３において投入されてもよく、１メートル離れて深度平面から生じるように現れる画像を作成するように構成される、ＬＯＥが、利用されてもよい。本タイプのパラダイムは、ユーザの眼および脳（例えば、視覚野）が入力を同一画像の全ての部分であると知覚するように、高速時間シーケンシャル（例えば、３６０Ｈｚ）方式で繰り返されることができる。
【０１６０】
画像ディスプレイシステム１００は、Ｚ軸（すなわち、深度平面）に沿って種々の場所から生じるように現れ、３−Ｄ体験／シナリオのための画像を生成する、画像を投影してもよい（すなわち、光ビームを発散または収束させることによって）。本願で使用されるように、光ビームは、限定ではないが、光源から照射される光エネルギー（可視および不可視光エネルギーを含む）の指向性投影を含む。種々の深度平面から生じるように現れる、画像を生成することは、その画像のためのユーザの眼の輻輳・開散運動および遠近調節に一致し、輻輳・開散運動−遠近調節競合を最小限にまたは排除する。
【０１６１】
位置特定マップ
【０１６２】
図６は、画像ディスプレイデバイス１０１が、画像ディスプレイデバイス１０１のユーザ５０を位置特定することを可能にするための、マップを決定するための方法を図示する。図に示されるように、ユーザ５０が、画像ディスプレイデバイス１０１を使用しているとき、ユーザ５０は、異なる視認場所および／または方向を達成するために、画像ディスプレイデバイス１０１を移動させることができる。例えば、ユーザ５０は、その頭部を旋回させ、その身体を旋回させ、および／または異なる場所に歩行し得る。いくつかの実施形態では、画像ディスプレイデバイス１０１は、前方に面したカメラを含む。したがって、画像ディスプレイデバイス１０１を移動させることによって、画像ディスプレイデバイス１０１の前方に面したカメラの視野は、適宜、変化するであろう。ユーザ５０が、異なる姿勢にある間、画像ディスプレイデバイス１０１のカメラは、対応する画像を生成する。図示される実施例では、ユーザ５０は、その頭部を旋回させることによって、３つの異なる姿勢を達成し、画像ディスプレイデバイス１０１の前方に面したカメラは、３つの姿勢と対応する、３つの画像２００ａ−２００ｃを生成する。画像２００ａ−２００ｃはそれぞれ、環境内であるオブジェクト２０２を捕捉する。例えば、画像２００ｂは、オブジェクト２０２ａ−２０２ｄを捕捉し、画像２００ｃは、オブジェクト２０２ｂ−２０２ｅを捕捉する。ユーザ５０によって達成される姿勢に応じて、環境内のあるオブジェクトが、カメラの複数の画像２０２内に捕捉され得、ある他のオブジェクトは、１つのみの画像２００内に捕捉され得る。いくつかの実施形態では、画像ディスプレイデバイス１０１の処理ユニット１３０は、画像２００を画像ディスプレイデバイス１０１のカメラから取得し、画像処理を実施し、特徴を画像２００から抽出し、マップ２２０を作成するように構成される。マップ２００は、画像ディスプレイデバイス１０１の非一過性媒体内に記憶されてもよく、処理ユニット１３０によって使用され、ユーザ５０の位置特定を実施してもよい。したがって、マップ２２０は、位置特定マップとして機能する。図示される実施形態では、マップ２２０は、ユーザ５０の異なる姿勢によって検出された環境の３次元表現である。
【０１６３】
いくつかの実施形態では、ユーザ５０を囲繞する環境は、複数のセルに分割されてもよい。そのような場合、上記のマップ作成技法が、環境の異なるセルのために採用されてもよい。図７は、複数のセル３００に分割されている環境の実施例を図示する。各セル３００は、環境の一部を表す、定義された３次元空間である。各セル３００は、所定のサイズおよび形状を有してもよい。例えば、各セル３００は、２ｍ×２ｍの占有面積と、２ｍの高さとを有してもよい。各セル３００は、他の実施形態では、他の占有面積寸法および／または他の高さを有してもよい。また、他の実施形態では、各セル３００は、示される矩形構成を有していなくてもよく、他の形状を有してもよい。図示される実施形態では、セル３００は全て、同一形状および寸法を有する。他の実施形態では、セル３００のうちの少なくとも２つは、異なる個別の寸法および／または形状を有してもよい。
【０１６４】
いくつかの実施形態では、画像ディスプレイデバイス１０１のユーザ５０は、異なるセル３００に対応する環境内の異なる場所に向かってもよく、画像ディスプレイデバイス１０１のカメラを使用して、対応するセル内の空間を走査し、環境の個別のセルのための異なるマップを取得してもよい。マップは、画像ディスプレイデバイス１０１の処理ユニット１３０がユーザ５０の位置特定を実施することを可能にするために、画像ディスプレイデバイス１０１の非一過性媒体内に記憶されてもよい。
【０１６５】
ユーザ５０を位置特定するためのマップの使用の間、画像ディスプレイデバイス１０１のカメラは、ユーザ５０のある位置および配向に基づいて、環境の画像を取得する。そのようなカメラ画像は、画像ディスプレイデバイス１０１の処理ユニット１３０がユーザ５０の位置を追跡することを可能にするために、追跡画像としての役割を果たす（追跡マップ）。特に、画像ディスプレイデバイス１０１の処理ユニット１３０は、カメラからの画像を処理し、画像内の特徴がマップ２２０内のある特徴とマッチングするかどうかを決定する。マッチングが、見出される場合、処理ユニット１３０は、次いで、マッチングされる特徴に基づいて、ユーザ５０の位置および配向を決定してもよい。いくつかの実施形態では、マップ２２０は、画像ディスプレイデバイス１０１のカメラによって提供される追跡画像より少ない情報（例えば、特徴）を含有し得る。これは、処理ユニット１３０が追跡画像とマップ２２０を効率的にマッチングさせることを可能にするため、有利である。また、いくつかの実施形態では、マップ２２０は、「規準的マップ」と呼ばれ得る。位置特定を実施するとき、処理ユニット１３０は、特徴抽出を実施し、特徴をカメラ画像（追跡画像）から抽出し、特徴と規準的マップ内のものをマッチングさせる。１つの実装では、処理ユニット１３０は、追跡画像と規準的マップとの間の６自由度変換を見出し、ユーザ５０を位置特定するように構成される。いったんユーザ５０が、マップを使用して、その環境に対して正常に位置特定されることができると、処理ユニット１３０は、次いで、ユーザが、マップを使用して、仮想コンテンツを環境に対して設置する、前のセッションからの仮想コンテンツを読み出す、他のユーザと仮想コンテンツを共有する等を行うことを可能にし得る。
【０１６６】
画像ディスプレイデバイス１０１の使用の間、処理ユニット１３０は、画像ディスプレイデバイス１０１のカメラシステムによって提供される画像内の角検出を実施する必要があり得る。例えば、いくつかの実施形態では、カメラ画像を使用してマップ２２０を決定するとき、処理ユニット１３０は、これらの画像内の角を検出する必要があり得る。検出された角は、処理ユニット１３０によって、マップ２２０を構築するための特徴として利用されてもよい。また、マップ２２０を使用して位置特定を実施するとき、処理ユニット１３０は、リアルタイム入力画像内の特徴とマップ２２０の特徴をマッチングさせる必要があり得る。故に、処理ユニット１３０は、リアルタイム入力画像内で角を検出するように構成されてもよい。角は、角が、概して、異なる視認方向から検出可能であるという意味において、概して、より安定した特徴である。故に、画像内の角の検出能力は、視点の変化によって有意に影響され得ない。したがって、角は、入力画像とマップ２２０との間でマッチングさせるための良好な特徴である。角はまた、異なる時間および異なる視認方向で生成された画像間のステレオマッチングにおいて使用するための良好な特徴である。
【０１６７】
角検出
【０１６８】
図８は、処理ユニット１３０を図示し、特に、角検出を実装するためのコンポーネントを示す。図に示されるように、処理ユニット１３０は、ハードウェア４１０と、ソフトウェア４２０とを含む。処理ユニット１３０はまた、ガンマ補正器４１２と、画像調節器４１４と、角検出器４１６と、非最大値抑制器４２２と、空間ビニングモジュール４２４と、角位置決定器４２６とを含む。図示される実施形態では、ガンマ補正器４１２、画像調節器４１４、および角検出器４１６は、処理ユニット１３０のハードウェア４１０を使用して実装される。また、図示される実施形態では、非最大値抑制器４２２、空間ビニングモジュール４２４、および角位置決定器４２６は、処理ユニット１３０のソフトウェア４２０を使用して実装される。
【０１６９】
他の実施形態では、ガンマ補正器４１２、画像調節器４１４、角検出器４１６、または前述の任意の組み合わせは、処理ユニット１３０のソフトウェア４２０を使用して実装されてもよい。また、他の実施形態では、非最大値抑制器４２２、空間ビニングモジュール４２４、角位置決定器４２６、または前述の任意の組み合わせは、処理ユニット１３０のハードウェア４１０を使用して実装されてもよい。
【０１７０】
ガンマ補正器４１２は、ピクセル値と輝度との間の非線形関係を調節するように構成される。例えば、いくつかの実施形態では、ガンマ補正器４１２は、その関係が、線形またはオリジナル未加工画像におけるものと比較してより線形であるように、ピクセル値と輝度との間の関係を調節するように構成されてもよい。
【０１７１】
画像調節器４１４は、画像を取得し、画像の解像度をダウンスケールし、調節された画像を提供するように構成される。いくつかの実施形態では、画像調節器４１４は、第１の解像度を有する、第１の画像を取得し、第１の画像をダウンスケールし、第１の解像度未満の第２の解像度を有する第２の画像を取得するように構成される。例えば、ある場合には、第１の画像は、ＶＧＡ解像度を有してもよく、第２の画像は、ＱＶＧＡ解像度を有してもよい。そのような場合、第２の画像は、第１の画像のものの４分の１である、ピクセルの数を有する。他の実施例では、第２の画像は、第１の画像に関するものの他の割合である、ピクセルの数を有してもよい。
【０１７２】
角検出器４１６は、１つ以上の基準に基づいて、画像内の角を検出するように構成される。いくつかの実施形態では、角検出器４２６は、Ｈａｒｒｉｓ角検出技法を使用して、画像内の角を検出するように構成される。Ｈａｒｒｉｓ角検出は、各ピクセルの勾配を計算することによって達成される。絶対勾配値が、２つの方向（例えば、直交方向）の両方において大きい（例えば、ある閾値を上回る）場合、角検出器４１６は、ピクセルを角として決定し得る。Ｈａｒｒｉｓ角検出技法の１つの実装では、以下のアルゴリズムが、画像内のピクセル毎にスコアを計算するために採用される。
（１）画像のｘおよびｙ導関数を算出する
【化１】
2021530816.tif 000003
式中、ＧｘおよびＧｙは、一次方向微分係数である。ある場合には、ＧｘおよびＧｙは、グレー値および差分演算子を方向ｘ、ｙに畳み込むことによって計算されてもよい。
（２）ピクセル毎に導関数の積を算出する
【化２】
2021530816.tif 000004
（３）各ピクセルにおける導関数の積の和を算出する
【化３】
2021530816.tif 000005
（４）各ピクセル（ｘ，ｙ）において行列を定義する
【化４】
2021530816.tif 000006
代替として、行列Ｈは、以下のように表されてもよい。
【化５】
2021530816.tif 000007
式中、（Ｉｘ，Ｉｙ）は、（ｘ，ｙ）における勾配である。
（５）ピクセル毎にスコア（Ｈａｒｒｉｓ応答）を算出する
Ｒ＝Ｄｅｔ（Ｈ）−ｋ（Ｔｒａｃｅ（Ｈ））＾２
式中、Ｄｅｔ（Ｈ）＝λ１λ２であって、Ｔｒａｃｅ（Ｈ）＝λ１＋λ２であって、λ１およびλ２は、Ｈの固有値である。
【０１７３】
いくつかの実施形態では、Ｈａｒｒｉｓ応答Ｒおよび／または固有値λ１，λ２は、角検出器４１６によって、角検出のための１つ以上の基準において使用されてもよい。図９Ａは、Ｈａｒｒｉｓスコア化関数に従う応答Ｒおよび／または固有値を使用した像点の分類を示す。図９Ｂは、Ｓｈｉ−Ｔｏｍａｓｉ基準に従う固有値を使用した像点の分類を示す。例えば、図９Ａ−９Ｂに示されるように、固有値λ１，λ２が両方とも、小さい場合、ピクセルは、平坦領域の一部であり得る。故に、角検出器４１６は、少なくとも部分的に、ｍｉｎ（λ１，λ２）＞閾値という基準に基づいて、角を検出するように構成されてもよい。別の実施例として、図９Ａ−９Ｂに示されるように、より大きい固有値λ２が、より小さい固有値λ１より閾値だけ大きい場合、ピクセルは、線形構成（例えば、線、縁等）を伴うオブジェクトの一部であり得る。故に、角検出器４１６は、少なくとも部分的に、λ２／λ１＜閾値という基準に基づいて、角を検出するように構成されてもよい。いくつかの実施形態では、角検出器４１６は、基準の両方に基づいて、角を検出するように構成されてもよい。
（１）  ｍｉｎ（λ１，λ２）＞閾値Ｔ１
（２）  λ２／λ１＜閾値Ｔ２
いくつかの実施形態では、閾値Ｔ１は、３００であるように設定されてもよい。他の実施形態では、閾値Ｔ１は、３００と異なる他の値を有してもよい。いくつかの実施形態では、閾値Ｔ２は、５であるように設定されてもよい。他の実施形態では、閾値Ｔ２は、５と異なる他の値を有してもよい。
【０１７４】
他の実施形態では、上記の２つの基準は、以下のように、Ｄｅｔ（Ｈ）およびＴｒａｃｅ（Ｈ）の観点から表されてもよい。
Ｔｒａｃｅ（Ｈ）＞２Ｔ１およびＤｅｔ（Ｈ）−Ｔ１＊Ｔｒａｃｅ（Ｈ）＋Ｔ１＾２＞０
Ｄｅｔ（Ｈ）−Ｔ２／（（１＋Ｔ２）＾２）＊Ｔｒａｃｅ（Ｈ）＾２＞０
そのような場合、角検出器４１６は、以下のように、異なるｋ（ｋ１、ｋ２）の２つのＨａｒｒｉｓ応答を使用して、ＤｅｔおよびＴｒａｃｅを計算するように構成されてもよい。
（１）ｋ１＞０に基づくＨａｒｒｉｓ応答（式中、Ｔ２＝５であるとき、ｋ１＝Ｔ２／（（１＋Ｔ２）＾２）＝０．１３９）
（２）Ｔｒａｃｅ＾２＝（ｋ２に基づくＨａｒｒｉｓ応答−ｋ１に基づくＨａｒｒｉｓ応答）／（ｋ１−ｋ２）＞４Ｔ１＾２
いくつかの実施形態では、ｋ２は、計算を簡略化するであろうように選択されてもよい。例えば、上記の方程式（２）は、以下のように書き直されてもよい。
（２）（ｋ２に基づくＨａｒｒｉｓ応答−ｋ１に基づくＨａｒｒｉｓ応答）＞（４Ｔ１＾２）＊（ｋ１−ｋ２）
そのような場合、ｋ２は、右項（（４Ｔ１＾２）＊（ｋ１−ｋ２））が１になるように選択されてもよく、評価は、左側の式が１を上回ることに基づいて、簡略化されてもよい。いくつかの実施形態では、ｋ２は、以下の式に基づいて計算されてもよい。
Ｋ２＝（ｋ１−１／１６）／１６
故に、ｋ１が、０．１３９に設定される場合、ｋ２は、上記の方程式に基づいて、０．００４７８１２５に等しい。
【０１７５】
ｋ１およびｋ２は、上記の値を有するように限定されず、他の実施形態では、他の値を有してもよいことに留意されたい。例えば、他の実施形態では、ｋ１は、０．１〜０．２の任意の場所の値を有してもよい。また、例えば、他の実施形態では、ｋ２は、０．００１未満の値を有してもよい。
【０１７６】
加えて、本明細書で使用されるように、用語「角」は、２つの直線間の交点に限定されず、また、２つの線（例えば、直線）を接続する曲線に沿った任意の点を指し得、曲線は、曲率半径を有してもよい（曲率半径が小さいほど、「角」が急峻になるように）ことに留意されたい。
【０１７７】
いくつかの実施形態では、角検出器４１６は、１回以上の回数、Ｈａｒｒｉｓ角検出を第１の画像上に適用し、１つ以上の基準に基づいて、第１の画像内の角のセットを検出するように構成されてもよい。角検出器４１６はまた、１回以上の回数、Ｈａｒｒｉｓ角検出を第２の画像上に適用し、１つ以上の基準に基づいて、第２の画像内の角のセットを検出するように構成されてもよい。１つ以上の基準は、ある所望の特徴を伴う角のみが検出されるように選択されてもよい。
【０１７８】
また、角検出器４１６は、上記の式および値の実施例に基づいて角を検出するように限定されず、角検出器４１６は、上記の式の派生形、変形例、および／または修正であり得る、他の式に基づいて角を検出するように構成されてもよいことに留意されたい。加えて、他の実施形態では、角検出器４１６は、Ｈａｒｒｉｓ角検出技法と異なる他の角検出技法に基づいて、角を検出するように構成されてもよい。
【０１７９】
非最大値抑制器４２２は、同一角の重複検出が防止されるように、検出された角のために非最大値抑制を実施するように構成される。ある場合には、画像の画像解像度および／または角検出が実装される様式に起因して、同一角が、複数回、検出され得る。例えば、角検出器４１６は、同一角を相互に近い３つの場所において３回検出し得る（実際には、それらの３つの検出された角が全て、画像内の同一角に関するものであるとき）。したがって、本明細書で使用されるように、用語「角」は、複数回検出される、１つの角または角のインスタンスを指し得る。いくつかの実施形態では、非最大値抑制器４２２は、３×３非最大値抑制を実施するように構成されてもよい。そのような場合、３×３ピクセル領域内で検出された複数の角が存在する場合、非最大値抑制器４２２は、本領域内の複数の検出された角のうちの１つを検出された角として選択するであろう。１つの実装では、非最大値抑制器４２２は、領域内の個別の複数の検出された角に関する角スコアを決定し、最高スコアを伴う角をその領域に関する検出された角として選択するように構成されてもよい。スコアは、検出された角が検出された場所にある確率または検出された角の位置の正確度を示してもよい。
【０１８０】
空間ビニングモジュール４２４は、画像の異なる領域が検出された角の略均一分布を有するであろうように、所与の画像に関して検出された角のうちのあるものを選択するように構成される。特に、非最大値抑制器４２２が、重複の検出された角を除去後、所与の画像に関して、依然として、多くの検出された角が存在し得、および／または残りの検出された角は、画像の異なる領域内に異なる分布を有し得る。空間ビニングモジュール４２４は、画像の異なる領域はある基準を満たす、ある最大数の検出された角を有するであろうように、検出された角のサブセットを選択するように構成される。例えば、いくつかの実施形態では、第２の画像は、４つの領域に分割されてもよい。４つの領域は、以下のように、異なる個別の数の検出された角および個別のスコアを有し得る。
領域１：（Ｃ１、０．７）、（Ｃ２、０．８）、（Ｃ３、０．８５）、（Ｃ４、０．９）
領域２：（Ｃ５、０．６）、（Ｃ６、０．６５）
領域３：（Ｃ７、０．６６）、（Ｃ８、０．８２）
領域４：（Ｃ９、０．９）、（Ｃ１０、０．８８）、（Ｃ１１、０．６３）
上記の実施例では、領域１は、３つの検出された角Ｃ１−Ｃ４を有し、領域２は、２つの検出された角Ｃ５−Ｃ６を有し、領域３は、２つの検出された角Ｃ７−Ｃ８を有し、領域４は、３つの検出された角Ｃ９−Ｃ１１を有する。領域毎に所望される角の最大数が、３であるように選択される場合、および角を選択するための基準が、角が０．７またはより高いスコアを有していなければならないことである場合、空間ビニングモジュール４２４は、異なる個別の領域１−４に関して、以下の角を選択し得る。
領域１：Ｃ２、Ｃ３、Ｃ４（角Ｃ１は、領域１内に最低スコアを有し、したがって、領域１内に最高スコアを伴う３つの角が、選択され、空間ビニングモジュール４２４は、角の最大数が実施例では３であるように事前に規定されているため、４つ全ての角Ｃ１−Ｃ４を選択することができないことに留意されたい）。
領域２：角は選択されない（角Ｃ５およびＣ６が両方とも、最小スコア基準を満たさない、スコアを有するため）。
領域３：角Ｃ８のみが選択される（角Ｃ７が、最小スコア基準を満たさない、スコアを有するため）。
領域４：角Ｃ９およびＣ１０のみが選択される（角Ｃ１１が、最小スコア基準を満たさない、スコアを有するため）。
【０１８１】
角位置決定器４２６は、個別の検出された角の最終位置を決定するように構成される。角は、低減された解像度を伴う画像に基づいて、検出器４１６によって検出された角であるため、より高い解像度画像に基づいて、これらの検出された角の位置を精緻化することが望ましくあり得る。議論されるように、いくつかの実施形態では、画像調節器４１４は、第１の解像度を伴う第１の画像を第２の解像度を伴う第２の画像に変換するように構成される。また、議論されるように、いくつかの実施形態では、角を検出するために使用される、第２の画像の第２の解像度は、第１の画像の第１の解像度の４分の１である。本実施例に従って、検出された角の位置として識別された第２の画像内のピクセル毎に、第１の画像内に、検出された角と対応する、４つの対応するピクセルが存在する。故に、角位置決定器４２６は、第１の画像内の４つのピクセル（第２の画像内の検出された角のピクセルと対応する）のうちの１つを検出された角として選択するように構成されてもよい。
【０１８２】
１つの実装では、角位置決定器４２６は、第１の画像内の検出された１つ以上の角に基づいて、（第１の画像内の４つのピクセルから）１つのピクセルを選択するように構成される。例えば、角検出器４１６は、第１の画像内に、第２の画像内の角の座標（ｘｒ，ｙｒ）に近接近する２つの角が存在することを検出し得る。例えば、第１の画像内の２つの角の座標は、角位置決定器４２６によって、（ｘ１，ｙ１）、（ｘ２，ｙ２）として決定され得る。次に、角位置決定器４２６は、次いで、以下のように、第１の画像内の角の個別のピクセル座標と第２の画像内の角のピクセル座標との間の距離を計算する。
Ｄ１＝（（ｘ１−ｘｒ）＾２＋（ｙ１−ｙｒ）＾２）＾１／２
Ｄ２＝（（ｘ２−ｘｒ）＾２＋（ｙ２−ｙｒ）＾２）＾１／２
角位置決定器４２６は、次いで、最低対応距離Ｄ（すなわち、ｍｉｎ（Ｄ１，Ｄ２）を有する、第１の画像内のピクセルの座標を、検出された角の位置として選択する。
【０１８３】
他の実施形態では、角位置決定器４２６は、他の技法を使用して、（第２の画像から検出された）検出された角の位置を精緻化してもよい。例えば、他の実施形態では、空間ビニングモジュール４２４によって出力された角のセットの位置（非最大値抑制器４２２および空間ビニングモジュール４２４によって第２の画像内の検出された角のサブセットとして選択される）は、角検出器４１６に入力されてもよい。角検出器４１６は、次いで、角検出アルゴリズムを実行し、第２の画像からの角のセットの位置と対応する離散場所における、第１の画像内の角を検出する。１つの実装では、角検出器４１６は、Ｈａｒｒｉｓ角検出アルゴリズムを実行し、第２の画像内のそれらの検出された角に対する位置に対応する、第１の画像内の角のセットを検出してもよい。本技法は、Ｈａｒｒｉｓ角検出が、第１の画像全体上で実施されるように要求されず、第１の画像の離散部分上でのみで実施され、それによって、時間および算出リソースを節約するという点で有利である。
【０１８４】
いくつかの実施形態では、ガンマ補正器４１２、画像調節器４１４、および角検出器４１６は、これらのコンポーネントの機能を実施するように具体的に設計される、特殊ハードウェアを使用して実装されてもよい。非限定的実施例として、ハードウェアは、行列演算を実施するように具体的に設計される、１つ以上のＦＰＧＡプロセッサ、１つ以上のＡＳＩＣプロセッサ、１つ以上の信号プロセッサ、１つ以上の数学プロセッサ、１つ以上のプロセッサ、もしくは前述の任意の組み合わせを含んでもよい。また、いくつかの実施形態では、処理ユニット１３０は、ともに通信可能に結合される、別個のコンポーネントとして実装されてもよい。例えば、処理ユニット１３０は、ガンマ補正器４１２および画像調節器４１４をもつ第１の基板と、角検出器４１６をもつ別の基板とを有してもよい。別の実施例として、処理ユニット１３０は、ソフトウェア４２０を実行するためのプロセッサを有してもよく、プロセッサは、角検出器４１６を支持する、同一基板上に、または角検出器４１６のためのものと異なる基板上に、実装されてもよい。さらなる実施形態では、それぞれ、ガンマ補正器４１２、画像調節器４１４、角検出器４１６、およびソフトウェア４２０を起動するプロセッサをもつ別個の基板が存在してもよい。加えて、いくつかの実施形態では、処理ユニット１３０のコンポーネントのいずれか、いくつか、または全てが、頭部装着型フレーム構造１０２に実装されてもよい。他の実施形態では、処理ユニット１３０のコンポーネントのいずれか、いくつか、または全てが、ベルトクリップモジュール、頸部装着型モジュール、携帯電話等、頭部装着型フレーム構造１０２から離れたデバイスに実装されてもよい。
【０１８５】
図１０は、図８の処理ユニット１３０の種々のコンポーネントの中への信号フローの実施例を図示する。信号フローは、図１１に示されるグラフィカル実施例を参照して説明されるであろう。図１０に示されるように、処理ユニット１３０は、画像を画像ディスプレイデバイス１０１のカメラシステムから受信する。画像は、リアルタイム画像または時間遅れを有する画像であってもよい。他の実施形態では、画像は、画像を記憶する、非一過性媒体から受信されてもよい。非一過性媒体は、画像ディスプレイデバイス１０１、または別の画像ディスプレイデバイス、サーバ、携帯電話、メディアデバイス等の外部デバイスの一部であってもよい。画像は、最初に、処理ユニット１３０のハードウェア４１０によって処理される。特に、処理ユニット１３０のガンマ補正器４１２は、画像内のピクセルに関するピクセル値と輝度との間の非線形関係を調節する。例えば、ガンマ補正器４１２は、その関係が、線形またはオリジナル未加工画像内のものと比較してより線形であるように、ピクセル値と輝度との間の関係を調節してもよい。画像が、ガンマ補正のために調節された後、ガンマ補正器は、次いで、画像５０２を画像調節器４１４に通過させる。
【０１８６】
画像調節器４１４は、第１の解像度を有する画像（第１の画像）５０２を取得し、画像５０２を調節し、第１の解像度より低い第２の解像度を有する第２の画像５０４を取得するように構成される。例えば、いくつかの実施形態では、第１の画像５０２は、ＶＧＡ解像度を有してもよく、第２の画像５０４は、ＱＶＧＡ解像度を有してもよい。そのような場合、第２の画像５０４は、第１の画像５０２内のピクセルの数の４分の１を有する。他の実施形態では、第１の画像５０２は、ＶＧＡ解像度と異なる解像度を有してもよく、第２の画像５０４は、ＱＶＧＡ解像度と異なる解像度を有してもよい。第２の画像５０４が取得された後、画像調節器４１４は、次いで、第２の画像５０４を角検出器４１６に通過させる。図１１の実施例に示されるように、第２の画像５０４は、オブジェクト６００およびいくつかの角（例えば、角６０２）の画像を含む。
【０１８７】
角検出器４１６は、１つ以上の基準に基づいて、第２の画像５０４内の角を検出する。いくつかの実施形態では、角検出器４１６は、１回以上の回数、Ｈａｒｒｉｓ角検出アルゴリズムを実行し、１つ以上の基準に基づいて、第２の画像５０４内の角のセット６１０を検出する。他の実施形態では、角検出器４１６は、他の技法およびアルゴリズムを使用して、角検出を実施してもよい。基準は、ある所望の特徴を満たす角のみが検出されるように選択されてもよい。図１１に示されるように、検出された角のセットは、検出された角６１０ａ−６１０ｇを含む。角検出器４１６が、第２の画像５０４内の角６１０ａ−６１０ｇを検出後、角検出器４１６は、次いで、角検出結果５０６を非最大値抑制器４２２に通過させる。角検出結果５０６は、検出された角６１０ａ−６１０ｇのセットの識別子と、その個別の座標とを含んでもよい。いくつかの実施形態では、角検出結果５０６はまた、随意に、個別の検出された角６１０ａ−６１０ｇに関するスコアを含んでもよい。スコアは、検出された角の品質、検出された角の信頼度レベル、検出された角の正確度等を示してもよい。
【０１８８】
図１１の実施例に示されるように、角検出器４１６は、第２の画像５０４内の角のセット６１０ａ−６１０ｇを検出する。しかしながら、検出された角６１０のうちのいくつかは、第２の画像５０４内の同一角（例えば、角６０２）に関する検出の異なるインスタンスであり得る。例えば、角検出器４１６は、相互に近い、２つの角６１０ａ、６１０ｂを検出し得る（実際には、それらが、第２の画像５０４内の同一角６０２に関するものであるとき）。同様に、角検出器４１６は、相互に近い、２つの角６１０ｄ、６１０ｅを検出し得る（実際には、それらが、第２の画像５０４内の同一角に関するものであるとき）。故に、非最大値抑制器４２２が、同一角の重複検出が防止されるように、検出された角６１０に関する非最大値抑制を実施するために採用される。いくつかの実施形態では、非最大値抑制器４２２は、３×３ウィンドウを利用して、３×３ピクセルのグリッド内の重複の検出された角が存在しないことを確実にする。他の実施形態では、非最大値抑制器４２２は、他のウィンドウサイズを利用して、非最大値抑制を実施してもよい。非最大値抑制器４２２が、重複の検出された角を除去後、非最大値抑制器４２２は、次いで、結果５０８を空間ビニングモジュール４２４に通過させる。いくつかの実施形態では、結果５０８は、角検出器４１６によって出力された結果５０６のサブセットである。図１１の実施例に示されるように、非最大値抑制器４２２からの結果５０８は、角６１０ｂ、６１０ｃ、および６１０ｅ−６１０ｇの識別子を含む一方、角６１０ａおよび６１０ｄは、重複の検出された角として除外されている。結果５０８は、角検出器４１６によって検出された角のセットのサブセットの識別子と、その個別の座標とを含んでもよい。非最大値抑制器４２２からの結果５０８は、随意にまた、個別の検出された角に関するスコアを含んでもよい。スコアは、検出された角の品質、検出された角の信頼度レベル、検出された角の正確度等を示してもよい。
【０１８９】
空間ビニングモジュール４２４は、画像５０４の異なる領域が検出された角の略均一分布を有するであろうように、画像５０４に関する角のうちのあるものを選択する。上記の図１１の実施例に従って、空間ビニングモジュール４２４は、５つの識別された角６１０ｂ、６１０ｃ、および６１０ｅ−６１０ｇを非最大値抑制器４２２から受信する。空間ビニングモジュール４２４は、次いで、画像５０４を事前に規定された数の領域に分割する。図示される実施例では、空間ビニングモジュール４２４は、画像５０４を４つの領域６２０ａ−６２０ｄに分割する。第１の領域６２０ａは、２つの検出された角６１０ｂ、６１０ｃを有し、第２の領域６２０ｂは、ゼロの検出された角を有し、第３の領域６２０ｃは、３つの検出された角６１０ｅ−６１０ｇを有し、第４の領域６２０ｄは、ゼロの検出された角を有する。図示される実施例では、空間ビニングモジュール４２４は、検出された角の分布を改良するために、（非最大値抑制器４２２によって決定された）角のサブセットを選択するように構成される。例えば、空間ビニングモジュール４２４は、領域毎に所望される角の最大数および／または角毎の最小要求スコアに基づいて、角のサブセットを選択するように構成されてもよい。所望の角の最大数が、実施例では、２であるように選択される場合、および角毎の最小要求スコアが、０．７に設定される場合、空間ビニングモジュール４２４は、これらの基準に基づいて、検出された角のうちのあるものを排除または除外してもよい。図示される実施例では、第１の領域６２０ａ内の検出された角６１０ｂ、６１０ｃが両方とも、０．７を上回るスコアを有すると仮定して、空間ビニングモジュール４２４は、これらの角６１０ｂ、６１０ｃの両方をその出力において選択するであろう。第２の領域６２０ｂでは、検出された角が存在せず、したがって、本第２の領域６２０ｂに関する角の数は、空間ビニングモジュール４２４の出力においてゼロである。第３の領域６２０ｃでは、角６１０ｇが、０．７を下回るスコアを有し、角６０１ｅ、６１０ｆが、０．７を上回るスコアを有すると仮定して、空間ビニングモジュール４２４は、故に、その出力における含有のために、角６１０ｅ、６１０ｆを選択する。前述に基づいて、空間ビニングモジュール４２４は、角のサブセットをその出力５１０として提供する（図１１における選択された角の周囲の円形によって表されるように）。いくつかの実施形態では、空間ビニングモジュール４２４の出力５１０は、角のサブセットの識別子と、サブセット内の個別の角の位置とを含んでもよい。空間ビニングモジュール４２４の出力５１０は、随意にまた、同様に議論されるように、個別の角に関するスコアを含んでもよい。したがって、図示される実施例から分かるように、空間ビニングモジュール４２４は、検出された角が、画像のある部分に集中されず、画像のある部分に関して多すぎる角が検出されることを防止することを確実にするため、有利である。
【０１９０】
実施例に示されるように、角検出器４１６による角の検出、非最大値抑制器４２２による非最大値抑制、および空間ビニングモジュール４２４による空間ビニングは全て、低減された解像度を伴う第２の画像５０４に基づいて実施される。故に、空間ビニングモジュール４２４によって出力された結果５１０内の検出された角のより正確な位置を取得するために、第１の画像５０２の解像度に基づいて、検出された角の位置を精緻化することが望ましくあり得る。図１０に示されるように、角位置決定器４２６は、角検出器４１６によって提供される出力５２２に基づいて、（空間ビニングモジュール４２４によって選択された）角の位置を精緻化するように構成される。特に、図に示されるように、第１の解像度を伴う第１の画像５０２もまた、角検出器４１６によって処理され、角のセットを取得する。いくつかの実施形態では、第１の画像５０２は、Ｈａｒｒｉｓ角検出技法に基づいて、角検出器４１６によって処理されてもよい。例えば、角検出器４１６によって第２の画像５０４内の角を検出するために利用される１つ以上のパラメータは、角検出器４１６によって、第１の画像５０２内の角を検出するために使用されてもよい。１つの実装では、角検出器４１６は、定数ｋ３を使用して、第１の画像５０２内の角を検出し、ｋ３は、ｋ１に等しくてもよい、または他の値を有してもよい。他の実施形態では、角検出器４１６は、第１の画像５０２内の角を検出するために、異なるパラメータおよび／または基準を使用してもよい。さらなる実施形態では、角検出器４１６は、異なる角検出技法を使用して、第１の画像５０２内の角を検出してもよい。角位置決定器４２６は、出力５３０のために検出された角の最終位置を決定するために、第１の画像５０２内の検出された角に基づいて、セット内の検出された角の位置（結果５１０）を精緻化するように構成される。いくつかの実施形態では、角位置決定器４２６は、空間ビニングモジュール４２４によって出力されたセット内（すなわち、出力５１０内）の角のそれぞれと最良空間対応を有する、第１の画像５０２に基づいて検出された（出力５２２内の）角を決定するように構成される。例えば、検出された角６１０ｂの位置を改良するために、（第２の画像５０４に基づく）出力５１０内の角６１０ｂが、位置（ｘ＝８３，ｙ＝９７）を有する場合、および（第１の画像５０２に基づく）出力５２２内の角が、角６１０ｂの位置に最も近い、位置（ｘ＝８４，ｙ＝９５）を有する場合、角位置決定器４２６は、位置（ｘ＝８４，ｙ＝９５）を検出された角６１０ｂのための最終位置として使用するであろう。いくつかの実施形態では、角位置決定器４２６は、第１の画像５０２の離散領域６３０内の角のみを検査し、出力５１０内のものと対応する、角を識別するように構成されてもよい。図１１に示されるように、領域６３０は、出力５１０内の検出された角の位置の周囲の小ウィンドウ６３０であってもよい。図示される実施例では、ウィンドウ６３０内に、第１の画像５０２内で検出された２つの角６３２ａ、６３２ｂが存在する。角位置決定器４２６は、これらの２つの角６３２ａ、６３２ｂのいずれが、出力５１０内の角６１０ｂに対して位置が最も近いかを決定する。１つの実装では、角位置決定器４２６は、ウィンドウ６３０内の角６３２ａ、６３２ｂの位置と角６１０ｂの位置との間の個別の距離を決定し、角６１０ｂの位置からの最短距離を提供する、角６３２に関する角位置を選択するように構成されてもよい。上記の処理は、出力５１０内の角６１０に関する精緻化された位置のセットを取得するために、出力５１０内の角６１０の他のものに関しても繰り返される。図１１の実施例に示されるように、角位置決定器４２６からの出力５３０は、空間ビニングモジュール４２４から検出された角のセットを含むが、角に関する改良された位置（６１０ｂ’、６１０ｃ’、６１０ｅ’、および６１０ｆ’）を伴う。
【０１９１】
実施例に示されるように、角検出器４１６による角の検出、非最大値抑制器４２２による非最大値抑制、および空間ビニングモジュール４２４による空間ビニングは全て、低減された解像度を伴う第２の画像５０４に基づいて実施される。本技法は、これらの演算が、有意な算出リソースを伴わずに、非常に迅速に実施されることを可能にするという点で、有利である。第１の画像５０２が、ＶＧＡ解像度を有し、第２の画像５０４が、ＱＶＧＡ解像度を有する、実施例では、処理ユニット１３０は、角検出器４１６、非最大値抑制器４２２、および空間ビニングモジュール４２４による処理の全３つの段階において、第２の画像５０４を使用して、ピクセルの４分の１のみを処理する必要がある（第１の画像５０２が使用されるシナリオと比較して）。いくつかの実施形態では、そのような技法は、角特徴が非常に迅速に画像から抽出されることを可能にする。例えば、上記の技法を使用して、角のセット（非最大値抑制および空間ビニングを経た後）は、１０ｍｓ未満、より好ましくは、６ｍｓ未満（５ｍｓまたはそれ未満等）以内に画像から取得され得る。これは、入力カメラ画像のリアルタイム処理を可能にするため、有利である。
【０１９２】
上記の技法はまた、角検出が、はるかに高速で実施されることができるが（オリジナル解像度を伴う画像全体が角を検出するために処理される技法と比較して）、角検出はまた、オリジナル解像度を伴う画像全体が処理される技法と同じように正確であるという点で、有利である。これは、第１の画像（より高い解像度を伴う）のサブセットのみが、低減された解像度を伴う第２の画像を使用して検出された角の場所を確認するために利用されるためである。故に、結果として生じる検出された角は、その中に第１の画像全体が角を検出するために処理される技法と同一正確度を有する。
【０１９３】
他の実施形態では、角位置決定器４２６は、他の技法を使用して、（第２の画像から検出された）検出された角の位置を精緻化してもよい。例えば、図１２に示されるように、他の実施形態では、空間ビニングモジュール４２４による出力５１０（例えば、非最大値抑制器４２２および空間ビニングモジュール４２４によって第２の画像内の検出された角のサブセットとして選択された角のセットの位置）は、角検出器４１６に入力されてもよい。角検出器４１６は、次いで、角検出アルゴリズムを実行し、第２の画像からの角のセットの位置と対応する離散場所において、第１の画像内の角を検出する。１つの実装では、角検出器４１６は、Ｈａｒｒｉｓ角検出アルゴリズムを実行し、第２の画像５０４内のそれらの検出された角に対する位置に対応する、第１の画像５０２内の角のセットを検出してもよい。本技法は、Ｈａｒｒｉｓ角検出が、第１の画像５０２全体上で実施されることを要求されず、第１の画像５０２の離散部分上でのみ実施され、それによって、時間および算出リソースをさらに節約するという点で、有利である。そのような場合、角検出器４１６は、画像に関する特徴／マップ点としての使用のための精緻化された位置を伴う、角のセットを含む、出力５３０を提供し得る。
【０１９４】
いくつかの実施形態では、角の検出は、処理ユニット１３０によって実施され、画像ディスプレイデバイス１０１のカメラシステムからのリアルタイム入力画像を処理してもよい。例えば、入力画像は、カメラシステムによって提供されてもよく、処理ユニット１３０は、角のセットを入力画像から決定する。角のセットは、画像ディスプレイデバイス１０１のユーザを位置特定するために、対応する特徴と位置特定マップをマッチングさせるための入力画像に関する特徴のセットとして利用されてもよい。
【０１９５】
他の実施形態では、角の検出は、位置特定マップを作成するために、処理ユニット１３０によって実施され、画像ディスプレイデバイス１０１のカメラシステムからの画像を処理してもよい。例えば、処理ユニット１３０は、画像のシーケンスを画像ディスプレイデバイス１０１のカメラシステムから取得してもよく、角のセットをシーケンス内の画像のそれぞれから決定してもよい。画像は、画像ディスプレイデバイス１０１のユーザが、画像がユーザの異なる視認方向と対応するような異なる頭部姿勢をとるとき、カメラシステムによって取得されてもよい。処理ユニット１３０はまた、その角に関する３Ｄマップ点を作成するために、シーケンス内の１つの画像内の角とシーケンスシーケンス内の別の画像内の角をマッチングさせる、ステレオマッチングを実施してもよい。３Ｄマップ点は、次いで、位置特定マップの一部として含まれる。
【０１９６】
処理ユニットおよび／または処理ユニット内のアプリケーションによって実施される方法
【０１９７】
図１３は、いくつかの実施形態による、方法１１００を図示する。方法１０００は、ユーザによって頭部に装着されるために構成される、装置によって実施されてもよく、装置は、ユーザのためにグラフィックを提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、処理ユニットとを有する。いくつかの実施形態では、方法１１００は、図１−４に示される画像ディスプレイデバイス１０１のいずれかによって実施されてもよい。例えば、方法１１００は、画像ディスプレイデバイス１０１の処理ユニット１３０によって実施されてもよい。方法１１００は、第１の解像度を有する第１の画像を取得するステップであって、第１の画像は、第１の角を有する、ステップ（項目１１０２）を含む。方法１１００はまた、第２の解像度を有する第２の画像を決定するステップであって、第２の画像は、第１の画像内の第１の角と対応する、第２の角を有し、第２の画像は、第１の画像に基づき、第２の解像度は、第１の解像度未満である、ステップ（項目１１０４）を含む。方法１１００はまた、第２の画像内の第２の角を検出するステップ（項目１１０６）と、第２の画像内の第２の角の位置を決定するステップ（項目１１０８）とを含む。方法１１００はさらに、少なくとも部分的に、第２の画像内の第２の角の決定された位置に基づいて、第１の画像内の第１の角の位置を決定するステップ（項目１１１０）を含む。
【０１９８】
随意に、方法１１００では、第２の角は、検出された第２の画像内の角のセットの一部である。
【０１９９】
随意に、方法１１００では、第２の画像内の角のセットは、Ｈａｒｒｉｓ角検出技法に基づいて検出される。
【０２００】
随意に、方法１１００では、第２の画像内の角のセットは、１つ以上の基準に基づいて検出される。
【０２０１】
随意に、方法１１００では、１つ以上の基準は、平面状であり、かつ／または不十分なテクスチャを有する第２の画像内の１つ以上のオブジェクトを除外するための第１の基準を含む。
【０２０２】
随意に、方法１１００では、１つ以上の基準は、線形構成を有する、第２の画像内の１つ以上のオブジェクトを除外するための第２の基準を含む。
【０２０３】
随意に、方法１１００はさらに、非最大値抑制を実施し、角のセット内で重複する検出された角を排除するステップを含む。
【０２０４】
随意に、方法１１００では、非最大値抑制は、３×３非最大値抑制を含む。
【０２０５】
随意に、方法１１００は、ハードウェアおよびソフトウェアを備える、処理ユニットによって実施され、角のセットは、処理ユニットのハードウェアによって検出され、非最大値抑制は、処理ユニットのソフトウェアによって実施される。
【０２０６】
随意に、方法１１００はさらに、空間ビニングを実施し、角のサブセットを角のセットから選択するステップを含む。
【０２０７】
随意に、方法１１００はさらに、第２の画像を第１の画像部分を有する複数の画像部分に分割するステップと、角のセット内の角毎に、スコアを決定するステップと、第１の画像部分内の角のスコアに基づいて、かつ第１の画像部分に関して事前に規定された角の最大数に基づいて、１つ以上の角を第１の画像部分内の角から選択するステップとによって、空間ビニングを実施するステップを含む。
【０２０８】
随意に、方法１１００は、ハードウェアおよびソフトウェアを備える、処理ユニットによって実施され、角のセットは、処理ユニットのハードウェアによって検出され、空間ビニングは、処理ユニットのソフトウェアによって実施される。
【０２０９】
随意に、方法１１００では、第２の画像内の第２の角は、Ｈａｒｒｉｓ角検出を第２の画像上に適用することによって検出される。
【０２１０】
随意に、方法１１００はさらに、Ｈａｒｒｉｓ角検出を第１の画像上に適用することによって、第１の画像内の第１の角を検出するステップを含む。
【０２１１】
随意に、方法１１００はさらに、第１の角を含む、第１の画像内の角のセットを検出するステップを含む。
【０２１２】
随意に、方法１１００はさらに、少なくとも部分的に、第２の画像内の第２の角の位置に基づいて、第１の角を第１の画像内の角のセットから識別するステップを含む。
【０２１３】
随意に、方法１１００では、第１の画像内の角のセットは、ハードウェアによって検出され、第１の角は、ソフトウェアによって、第１の画像内の角のセットから識別される。
【０２１４】
随意に、方法１１００では、第１の角の位置は、第１の画像の第１の解像度と第２の画像の第２の解像度との間の関係に基づいて決定される。
【０２１５】
随意に、方法１１００では、第２の角の位置は、第２の画像内のピクセル位置（ｘｒ，ｙｒ）と対応し、第２の画像内のピクセル位置（ｘｒ，ｙｒ）は、第１の画像内の複数のピクセル位置と対応し、第１の角の位置は、第２の画像内のピクセル位置（ｘｒ，ｙｒ）に対する最良空間関係を有する、第１の画像内の複数のピクセル位置のうちの１つを選択することによって決定される。例えば、最良空間関係は、第１の画像内のピクセル位置が第２の画像内のピクセル位置と同一であるものであり得る。代替として、最良空間関係は、第１の画像内のピクセル位置が第２の画像内のピクセル位置から事前に規定された距離内（例えば、２ｍｍ、１ｍｍ、２−ピクセル長、１−ピクセル長等内）にあるものであり得る。
【０２１６】
随意に、方法１１００では、第２の画像は、第１の画像を第２の画像に変換することによって決定される。
【０２１７】
随意に、方法１１００では、第１の画像は、第１の画像の第１の解像度をダウンスケールし、第２の解像度を有する第２の画像を取得することによって、第２の画像に変換される。
【０２１８】
随意に、方法１１００では、第２の角は、検出された第２の画像内の角のセットの一部であって、第１の画像内の第１の角の位置は、ソフトウェアによって決定される。
【０２１９】
随意に、方法１１００は、ハードウェアを備える、処理ユニットによって実施される。
【０２２０】
随意に、方法１１００では、第２の画像内の第２の角は、処理ユニットのハードウェアによって検出される。
【０２２１】
随意に、方法１１００では、処理ユニットのハードウェアは、Ｈａｒｒｉｓ角検出アルゴリズムを実行するように構成される。
【０２２２】
随意に、方法１１００は、角検出器を備える、処理ユニットによって実施され、角検出器は、第１の基準に基づいて動作するように構成される。
【０２２３】
随意に、方法１１００では、第１の基準は、平面状であり、かつ／または不十分なテクスチャを有する第２の画像内のオブジェクトを除外する。
【０２２４】
随意に、方法１１００では、第１の基準は、λｍｉｎ＞閾値を含み、λｍｉｎ＝ｍｉｎ（λ２，λ１）であって、式中、λ１は、第１の固有値であって、λ２は、第１の固有値より大きい、第２の固有値である。
【０２２５】
随意に、方法１１００では、角検出器は、第２の基準にも基づいて動作するように構成される。
【０２２６】
随意に、方法１１００では、第２の基準は、第２の画像内の線形構成を伴うオブジェクトを除外する。
【０２２７】
随意に、方法１１００では、第２の基準は、λ２／λ１＜閾値を含み、式中、λ１は、第１の固有値であって、λ２は、第１の固有値より大きい、第２の固有値である。
【０２２８】
随意に、方法１１００では、第２の画像内の第２の角は、第１の定数ｋ１に基づいて検出される。
【０２２９】
随意に、方法１１００では、ｋ１＝Ｒ／（１＋Ｒ）＾２であって、Ｒは、任意の数である。
【０２３０】
随意に、方法１１００では、第１の定数ｋ１は、０．１および０．２の間である。
【０２３１】
随意に、方法１１００では、第１の定数ｋ１は、０．１３９である。
【０２３２】
随意に、方法１１００では、第２の画像内の第２の角は、第２の定数ｋ２に基づいて検出される。
【０２３３】
随意に、方法１１００では、第２の定数ｋ２は、０．０１未満である。
【０２３４】
随意に、方法１１００では、第２の定数ｋ２は、０．００４７８１２５である。
【０２３５】
随意に、方法１１００では、第２の定数ｋ２は、第１の定数ｋ１に基づく。
【０２３６】
随意に、方法１１００では、ｋ２＝（ｋ１−１／１６）／１６である。
【０２３７】
随意に、方法１１００では、第２の画像内の第２の角は、Ｄｅｔ（Ｈ）に基づいて検出され、Ｈは、行列である。
【０２３８】
随意に、方法１１００では、第２の画像内の第２の角は、ｔｒａｃｅ（Ｈ）に基づいて検出され、Ｈは、行列である。
【０２３９】
随意に、方法１１００では、第２の角は、第１の定数および第２の定数に基づいて、第１のＨａｒｒｉｓ角検出を実施することによって検出され、第２の定数は、第１の定数と異なる。
【０２４０】
随意に、方法１１００では、第２の定数は、第１の定数に基づく。
【０２４１】
随意に、方法１１００はさらに、非最大値抑制を実施するステップを含む。
【０２４２】
随意に、方法１１００はさらに、空間ビニングを実施するステップを含む。
【０２４３】
随意に、方法１１００は、ソフトウェアを備える、処理ユニットによって実施される。
【０２４４】
随意に、方法１１００はさらに、処理ユニットのソフトウェアによって、非最大値抑制を実施するステップを含む。
【０２４５】
随意に、方法１１００はさらに、処理ユニットのソフトウェアによって、空間ビニングを実施するステップを含む。
【０２４６】
随意に、方法１１００では、第１の解像度は、ＶＧＡ解像度を含む。
【０２４７】
随意に、方法１１００では、第２の解像度は、ＱＶＧＡ解像度を含む。
【０２４８】
随意に、方法１１００はさらに、第１の角の位置を非一過性媒体内に記憶するステップを含む。
【０２４９】
随意に、方法１１００はさらに、少なくとも部分的に、第１の角の位置に基づいて、マップを作成するステップを含む。
【０２５０】
随意に、方法１１００では、マップは、第１の角の位置と関連付けられる、マップ点を備える。
【０２５１】
随意に、方法１１００はさらに、作成されたマップに基づいて、画像ディスプレイデバイスのユーザの位置特定を実施するステップを含む。
【０２５２】
随意に、方法１１００はさらに、少なくとも部分的に、第１の画像内の第１の角の位置に基づいて、第１の画像とマップとの間のマッチングを実施するステップを含む。
【０２５３】
特殊処理システム
【０２５４】
いくつかの実施形態では、本明細書に説明される方法１１００は、アプリケーションを実行する処理ユニット１３０によって、またはアプリケーションによって、実施されてもよい。アプリケーションは、命令のセットを含有してもよい。１つの実装では、アプリケーションのための命令のセットを記憶する非一過性媒体を有する、特殊処理システムが、提供されてもよい。画像ディスプレイデバイス１０１の処理ユニット１３０による命令の実行は、処理ユニット１３０に、本明細書に説明される特徴を実施させるであろう。
【０２５５】
いくつかの実施形態では、画像ディスプレイデバイス１０１はまた、特殊処理システムと見なされ得る。特に、画像ディスプレイデバイス１０１は、一意の有形効果を実世界内で提供するための処理ユニット１３０による実行のために、その非一過性媒体内に記憶される命令を含有するという点で、特殊処理システムである。画像ディスプレイデバイス１０１によって提供される特徴（処理ユニット１３０が命令を実行する結果として）は、角検出、位置特定マップ作成、および画像ベースの位置特定の技術分野における改良を提供する。
【０２５６】
図１４は、本明細書に説明される種々の特徴を実装するために使用され得る、特殊処理システム１６００の実施形態を図示する、ブロック図である。例えば、いくつかの実施形態では、処理システム１６００は、画像ディスプレイデバイス１０１を実装するために使用されてもよい。また、いくつかの実施形態では、処理システム１６００は、処理ユニット１３０またはその中の１つ以上のコンポーネント（例えば、ガンマ補正器４１２、画像調節器４１４、角検出器４１６等）を実装するために使用されてもよい。
【０２５７】
処理システム１６００は、バス１６０２または情報を通信するための他の通信機構と、情報を処理するためにバス１６０２と結合される、プロセッサ１６０４とを含む。プロセッサシステム１６００はまた、情報およびプロセッサ１６０４によって実行されるべき命令を記憶するためにバス１６０２に結合される、ランダムアクセスメモリ（ＲＡＭ）または他の動的記憶デバイス等のメインメモリ１６０６を含む。メインメモリ１６０６はまた、プロセッサ１６０４によって実行されるべき命令の実行の間、一時的変数または他の中間情報を記憶するために使用されてもよい。プロセッサシステム１６００はさらに、静的情報およびプロセッサ１６０４のための命令を記憶するためにバス１６０２に結合される、読取専用メモリ（ＲＯＭ）１６０８または他の静的記憶デバイスを含む。磁気ディスク、ソリッドステートディスク、または光ディスク等のデータ記憶デバイス１６１０が、提供され、情報および命令を記憶するためにバス１６０２に結合される。
【０２５８】
プロセッサシステム１６００は、情報をユーザに表示するために、バス１６０２を介して、画面等のディスプレイ１６１２に結合されてもよい。ある場合には、処理システム１６００が、タッチスクリーンを含む、装置の一部である場合、ディスプレイ１６１２は、タッチスクリーンであってもよい。英数字および他のキーを含む、入力デバイス１６１４が、情報およびコマンド選択をプロセッサ１６０４に通信するために、バス１６０２に結合される。別のタイプのユーザ入力デバイスは、方向情報およびコマンド選択をプロセッサ１６０４に通信するための、かつディスプレイ１６１２上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キー等のカーソル制御１６１６である。本入力デバイスは、典型的には、デバイスが平面内の位置を規定することを可能にする、２つの軸、すなわち、第１の軸（例えば、ｘ）および第２の軸（例えば、ｙ）における２自由度を有する。ある場合には、処理システム１６００が、タッチスクリーンを含む、装置の一部である場合、入力デバイス１６１４およびカーソル制御は、タッチスクリーンであってもよい。
【０２５９】
いくつかの実施形態では、プロセッサシステム１６００は、本明細書に説明される種々の機能を実施するために使用されることができる。いくつかの実施形態によると、そのような使用は、プロセッサ１６０４がメインメモリ１６０６内に含有される１つ以上の命令の１つ以上のシーケンスを実行することに応答して、プロセッサシステム１６００によって提供される。当業者は、本明細書に説明される機能および方法に基づいて、そのような命令を準備する方法を把握するであろう。そのような命令は、記憶デバイス１６１０等の別のプロセッサ可読媒体からメインメモリ１６０６の中に読み込まれてもよい。メインメモリ１６０６内に含有される命令のシーケンスの実行は、プロセッサ１６０４に、本明細書に説明されるプロセスステップを実施させる。マルチ処理配列における１つ以上のプロセッサもまた、メインメモリ１６０６内に含有される命令のシーケンスを実行するために採用されてもよい。代替実施形態では、有線回路構成が、ソフトウェア命令の代わりに、またはそれと組み合わせて、本明細書に説明される種々の実施形態を実装するために使用されてもよい。したがって、実施形態は、ハードウェア回路構成とソフトウェアの任意の具体的組み合わせに限定されない。
【０２６０】
用語「プロセッサ可読媒体」は、本明細書で使用されるように、命令を実行のためにプロセッサ１６０４に提供することに関わる、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス１６１０等の光学、ソリッドステート、または磁気ディスクを含む。不揮発性媒体は、非一過性媒体の実施例と見なされ得る。揮発性媒体は、メインメモリ１６０６等の動的メモリを含む。揮発性媒体は、非一過性媒体の実施例と見なされ得る。伝送媒体は、バス１６０２を備えるワイヤを含む、同軸ケーブル、銅ワイヤ、および光ファイバを含む。伝送媒体はまた、無線波および赤外線データ通信の間に生成されるもの等の音響または光波の形態をとることができる。
【０２６１】
一般的形態のプロセッサ可読媒体は、例えば、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光学媒体、孔のパターンを伴う任意の他の物理的媒体、ＲＡＭ、ＰＲＯＭ、およびＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、ソリッドステートディスク、任意の他のメモリチップまたはカートリッジ、以降に説明されるような搬送波、またはそこからプロセッサが読み取り得る、任意の他の媒体を含む。
【０２６２】
種々の形態のプロセッサ可読媒体が、実行のために、１つ以上の命令の１つ以上のシーケンスをプロセッサ１６０４に搬送する際に関わり得る。例えば、命令は、最初に、遠隔コンピュータの磁気ディスクまたはソリッドステートディスク上で搬送され得る。遠隔コンピュータは、命令をその動的メモリの中にロードし、インターネット等のネットワークを経由して、命令を送信することができる。処理システム１６００は、ネットワークラインに関するデータを受信することができる。バス１６０２は、データをメインメモリ１６０６に搬送し、そこから、プロセッサ１６０４は、命令を読み出し、実行する。メインメモリ１６０６によって受信された命令は、随意に、プロセッサ１６０４による実行の前または後のいずれかにおいて、記憶デバイス１６１０上に記憶され得る。
【０２６３】
処理システム１６００はまた、バス１６０２に結合される、通信インターフェース１６１８を含む。通信インターフェース１６１８は、ローカルネットワーク１６２２に接続される、ネットワークリンク１６２０への双方向データ通信結合を提供する。例えば、通信インターフェース１６１８は、データ通信接続を互換性があるＬＡＮに提供するためのローカルエリアネットワーク（ＬＡＮ）カードであってもよい。無線リンクもまた、実装されてもよい。任意のそのような実装では、通信インターフェース１６１８は、種々のタイプの情報を表すデータストリームを搬送する、電気、電磁、または光学信号を送信および受信する。
【０２６４】
ネットワークリンク１６２０は、典型的には、１つ以上のネットワークを通して、データ通信を他のデバイスに提供する。例えば、ネットワークリンク１６２０は、ローカルネットワーク１６２２を通して、接続をホストコンピュータ１６２４または機器１６２６に提供してもよい。ネットワークリンク１６２０を経由してトランスポートされるデータストリームは、電気、電磁、または光学信号を含むことができる。種々のネットワークを通した信号、ならびにネットワークリンク１６２０上、および処理システム１６００におよびそこからデータを搬送する、通信インターフェース１６１８を通した信号は、情報をトランスポートする搬送波の例示的形態である。処理システム１６００は、ネットワーク、ネットワークリンク１６２０、および通信インターフェース１６１８を通して、メッセージを送信し、プログラムコードを含む、データを受信することができる。
【０２６５】
用語「画像」は、本明細書で使用されるように、表示される画像および／または表示形態ではない画像（例えば、媒体内に記憶される、または処理中の画像）を指し得ることに留意されたい。
【０２６６】
本開示の例示的側面が、材料選択および製造に関する詳細とともに、上記に記載された。本開示の他の詳細に関して、これらは、前述の参照特許および刊行物に関連して理解され、概して、当業者によって公知である、または理解され得る。同じことは、一般または論理的に採用されるような付加的作用の観点から、本開示の方法ベースの側面に関しても当てはまり得る。
【０２６７】
加えて、本開示は、随意に、種々の特徴を組み込む、いくつかの実施例を参照して説明されたが、本開示は、開示の各変形例に関して検討されるように説明または図示されるものに限定されるものではない。種々の変更が、説明される本開示に行われてもよく、均等物（本明細書に列挙されるか、またはある程度の簡潔目的のために含まれないかどうかにかかわらず）は、本開示の真の精神および範囲から逸脱することなく代用されてもよい。加えて、値の範囲が提供される場合、その範囲の上限と下限との間の全ての介在値および任意の他の述べられた値または述べられた範囲内の介在値が、本開示内に包含されるものと理解されたい。
【０２６８】
また、説明される本発明の変形例の任意の随意の特徴は、独立して、または本明細書に説明される特徴のうちの任意の１つ以上のものと組み合わせて、記載および請求され得ることが検討される。単数形項目の言及は、存在する複数の同一項目が存在する可能性を含む。より具体的には、本明細書および本明細書に関連付けられた請求項で使用されるように、単数形「ａ」、「ａｎ」、「ｓａｉｄ」、および「ｔｈｅ」は、別様に具体的に述べられない限り、複数の言及を含む。さらに、任意の請求項は、任意の随意の要素を除外するように起草され得ることに留意されたい。したがって、本文言は、請求項の要素の列挙と関連する「単に」、「のみ」、および同等物等の排他的専門用語の使用、または「消極的」限定の使用のための先行詞としての役割を果たすことが意図される。
【０２６９】
加えて、本明細書で使用されるように、項目のリスト「〜のうちの少なくとも１つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「Ａ、Ｂ、またはＣのうちの少なくとも１つ」は、Ａ、Ｂ、Ｃ、ＡおよびＢ、ＡおよびＣ、ＢおよびＣ、ならびにＡ、Ｂ、およびＣを網羅することが意図される。語句「Ｘ、Ｙ、およびＺのうちの少なくとも１つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がＸ、Ｙ、またはＺのうちの少なくとも１つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Ｘのうちの少なくとも１つ、Ｙのうちの少なくとも１つ、およびＺのうちの少なくとも１つがそれぞれ存在するように要求することを示唆することを意図されない。
【０２７０】
本開示の範疇は、提供される実施例および／または本主題の明細書に限定されるべきではなく、むしろ、本開示と関連付けられた請求項の言語の範囲によってのみ限定されるべきである。
【０２７１】
前述の明細書では、本開示は、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神および範囲から逸脱することなく、そこに行われてもよいことが明白であろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。
【図１】
2021530816.tif 000008
【図２】
2021530816.tif 000009
【図３】
2021530816.tif 000010
【図４】
2021530816.tif 000011
【図５】
2021530816.tif 000012
【図６】
2021530816.tif 000013
【図７】
2021530816.tif 000014
【図８】
2021530816.tif 000015
【図９】
2021530816.tif 000016
【図１０】
2021530816.tif 000017
【図１１】
2021530816.tif 000018
【図１２】
2021530816.tif 000019
【図１３】
2021530816.tif 000020
【図１４】
2021530816.tif 000021
【国際調査報告】
2021530816.tif 000022