(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-19
(45)【発行日】2022-05-27
(54)【発明の名称】レンジゲート式デプスカメラ部品
(51)【国際特許分類】
H04N 13/254 20180101AFI20220520BHJP
H04N 13/271 20180101ALI20220520BHJP
H04N 13/296 20180101ALI20220520BHJP
H04N 13/344 20180101ALI20220520BHJP
G01S 17/894 20200101ALI20220520BHJP
G01C 3/06 20060101ALI20220520BHJP
【FI】
H04N13/254
H04N13/271
H04N13/296
H04N13/344
G01S17/894
G01C3/06 140
G01C3/06 120Q
(21)【出願番号】P 2018527936
(86)(22)【出願日】2016-12-09
(86)【国際出願番号】 US2016065985
(87)【国際公開番号】W WO2017106053
(87)【国際公開日】2017-06-22
【審査請求日】2019-11-06
(32)【優先日】2015-12-16
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2016-12-08
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】515046968
【氏名又は名称】フェイスブック・テクノロジーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】FACEBOOK TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】特許業務法人World IP
(72)【発明者】
【氏名】トレイル、ニコラス ダニエル
【審査官】益戸 宏
(56)【参考文献】
【文献】特開2000-055632(JP,A)
【文献】特開平07-110381(JP,A)
【文献】特表2015-527761(JP,A)
【文献】特開2015-125641(JP,A)
【文献】国際公開第2014/150728(WO,A1)
【文献】特開2004-152133(JP,A)
【文献】特開2010-008093(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 13/00
H04N 5/66
H04N 5/225
G01S 17/00
G01C 3/00
G01B 11/24
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
レンジゲート式デプスカメラ部品であって、
照明光パルスを放射するように構成された照明源と、
局所領域の
複数の画像を捕捉することにより画像データを生成するように構成された撮像装置と、
コントローラと
、を備え、前記コントローラは、
前記複数の画像のうちの画像のコントラスト測定値がコントラスト閾値未満であるとの決定に応答して、前記照明光パルスの振幅
および量を
少なくとも含む1つまたは複数の照明パラメータを
調整し、
前記1つまたは複数の照明パラメータに従って、複数の照明光パルスを放射して前記局所領域のシーンを照明するように前記照明源を調整し、前記局所領域は、少なくとも1つの非空の深度ゾーンを含む複数の深度ゾーンに分割され、前記非空の深度ゾーンは、少なくとも1つの対象物を含み、
前記複数の深度ゾーンの各非空の深度ゾーンに対して、一組の反射光パルスを記録して前記非空の深度ゾーンの画像データを生成するように前記撮像装置を調整し、前記一組の反射光パルスは、前記非空の深度ゾーンに含まれる1つまたは複数の対象物から反射された前記照明光パルスであり、
複数の非空の深度ゾーンのうちの前記少なくとも1つの非空の深度ゾーンに対して生成された前記画像データを使用して
、前記シーンの
1つまたは複数の部分的に拡張された画像を生成し、
前記1つまたは複数の部分的に拡張された画像のうちの少なくとも1つは、前記少なくとも1つの対象物についての深度情報を含み、
前記シーンの
前記1つまたは複数の部分的に拡張された画像をコンソールに提供す
る
ように構成されて
おり、
前記1つまたは複数の部分的に拡張された画像は、ユーザに提示するための仮想コンテンツを生成するために使用される、レンジゲート式デプスカメラ部品。
【請求項2】
前記深度ゾーンの第1の深度ゾーンに対する第1の露光
期間は、前記深度ゾーンの第2の深度ゾーンに対する第2の露光
期間とは異なり、前記第1の深度ゾーンは、
前記第2の深度ゾーンとは異なる、請求項1に記載のレンジゲート式デプスカメラ部品。
【請求項3】
前記シーンの前記
1つまたは複数の部分的に拡張された画像を生成することは、深度ゾーンの画像データを当該深度ゾーンの深度情報に関連付けることを含む、請求項1に記載のレンジゲート式デプスカメラ部品。
【請求項4】
前記コントローラは、さらに
前記撮像装置から前記深度ゾーンのうちの1つの深度ゾーンまでの距離、および
前記複数の画像のうちの前記画像の品質のうちの1つに少なくとも基づいて前記1つまたは複数の照明パラメータを
調整するように構成されている、請求項1に記載のレンジゲート式デプスカメラ部品。
【請求項5】
前記コントローラは、さらに
対象物の反射率、対象物の動きの速度、対象物の前記撮像装置からの距離、前記画像のノイズ測定値、
および前記画像の信号対雑音比(SNR
)のうちの少なくとも1つに基づいて前記1つまたは複数の照明パラメータを
調整するように構成されて
おり、
前記1つまたは複数の照明パラメータは、前記照明光パルスのパルス幅、振幅、周波数、量、および波長のうちの少なくとも1つを含む、請求項1に記載のレンジゲート式デプスカメラ部品。
【請求項6】
前記コントローラは、1つまたは複数の露光パラメータに従って前記撮像装置を調整するようにさらに構成され、前記コントローラは、さらに
前記照明源の前記1つまたは複数の照明パラメータおよび前記深度ゾーンの特性に少なくとも基づいて、更新された1つまたは複数の露光パラメータを決定し、
前記更新された1つまたは複数の露光パラメータに従って前記1つまたは複数の露光パラメータを調整するように構成され、前記1つまたは複数の露光パラメータは、露光期間、前記露光期間の開始時間、読み出しフレームごとの繰り返し回数、および読み出しフレームごとの繰り返しカウント値のうちの少なくとも1つを含む、請求項1に記載のレンジゲート式デプスカメラ部品。
【請求項7】
前記コントローラはさらに
前記局所領域を前記複数の深度ゾーンに分割し、前記複数の深度ゾーンの数が予め定められており、
前記複数の深度ゾーンの各非空の深度ゾーンに対して、前記撮像装置からの所定の距離範囲内に1つまたは複数の対象物を特定して前記1つまたは複数の対象物を識別するように構成されている、請求項1に記載のレンジゲート式デプスカメラ部品。
【請求項8】
前記コントローラはさらに
前記複数の深度ゾーンを生成するように構成され、前記複数の深度ゾーンを生成することは、
前記局所領域を第2の複数の所定の深度ゾーンに分割すること、各所定の深度ゾーンの寸法は予め定められており、
複数の空の深度ゾーンを識別すること、前記複数の空の深度ゾーンは、対象物を含まない前記第2の複数の所定の深度ゾーンの一部であり、
識別された前記複数の空の深度ゾーンのうちの互いに隣接する2つを、単一の空の深度ゾーンに結合することを含む、請求項1に記載のレンジゲート式デプスカメラ部品。
【請求項9】
前記コントローラはさらに
前記複数の深度ゾーンを生成するように構成され、前記複数の深度ゾーンを生成することは、
前記局所領域を第1の組の深度ゾーンのセットに分割すること、
一組の非空の深度ゾーンを識別すること、前記一組の非空の深度ゾーンは、少なくとも1つの対象物を含む前記第1の組の深度ゾーンの一部であり、
各非空の深度ゾーンに対して、当該非空の深度ゾーンを第2の組の深度ゾーンに分割することを含み、前記第2の組の深度ゾーンの各深度ゾーンの寸法は閾値寸法より大きい、請求項1に記載のレンジゲート式デプスカメラ部品。
【請求項10】
前記コントローラはさらに
前記複数の深度ゾーンの各深度ゾーンに対して、
当該深度ゾーンの第1の境界を第1の対象物の第1の位置に調整し、前記第1の対象物は、前記深度ゾーンに含まれる1つまたは複数の対象物の中で前記撮像装置までの最短距離を有し、
当該深度ゾーンの第2の境界を第2の対象物の第2の位置に調整するように構成され、前記第2の対象物は、前記深度ゾーンに含まれる1つまたは複数の対象物の中で前記撮像装置までの最長距離を有する、請求項1に記載のレンジゲート式デプスカメラ部品。
【請求項11】
前記コントローラはさらに
深度ゾーンを監視するように構成され、深度ゾーンを監視することは、
深度ゾーンに含まれる対象物の動きを検出すること、
前記対象物の動きを検出することに応答して、前記対象物から前記撮像装置までの更新された距離を決定すること、
前記更新された距離に基づいて前記複数の深度ゾーンを調整することによって第2の複数の調整された深度ゾーンを生成することを含み、前記複数の深度ゾーンを調整することは、前記複数の深度ゾーンのうちのある深度ゾーンの境界を調整すること、前記更新された距離が第1の所定の範囲内であると判定することに応答して新規の深度ゾーンを形成すること、および前記更新された距離が第2の所定の範囲外であると判定することに応答して、既存の深度ゾーンを除去することのうちの少なくとも1つを含む、請求項1に記載のレンジゲート式デプスカメラ部品。
【請求項12】
HMD(ヘッドマウントディスプレイ)であって、
電子ディスプレイと、
レンジゲート式デプスカメラ部品であって、
照明光パルスを放射するように構成された照明源と、
局所領域の
複数の画像を捕捉することにより画像データを生成するように構成された撮像装置と、
コントローラと
、を含む前記レンジゲート式デプスカメラ部品と
、を備え、前記コントローラは、
前記複数の画像のうちの画像のコントラスト測定値がコントラスト閾値未満であるとの決定に応答して、前記照明光パルスの振幅
および量を
少なくとも含む1つまたは複数の照明パラメータを
調整し、
前記1つまたは複数の照明パラメータに従って、複数の照明光パルスを放射して前記局所領域のシーンを照明するように前記照明源を調整し、前記局所領域は、少なくとも1つの非空の深度ゾーンを含む複数の深度ゾーンに分割され、前記非空の深度ゾーンは、少なくとも1つの対象物を含み、
前記複数の深度ゾーンの各非空の深度ゾーンに対して、一組の反射光パルスを記録して前記非空の深度ゾーンの画像データを生成するように前記撮像装置を調整し、前記一組の反射光パルスは、前記非空の深度ゾーンに含まれる1つまたは複数の対象物から反射された
前記照明光パルスであり、
複数の非空の深度ゾーンの前記少なくとも1つの非空の深度ゾーンに対して生成された前記画像データを使用して
、前記シーンの
1つまたは複数の部分的に拡張された画像を生成し、
前記1つまたは複数の部分的に拡張された画像のうちの少なくとも1つは、前記少なくとも1つの対象物についての深度情報を含み、
前記シーンの
前記1つまたは複数の部分的に拡張された画像をコンソールに提供す
る
ように構成されて
おり、
前記1つまたは複数の部分的に拡張された画像は、ユーザに提示するための仮想コンテンツを生成するために使用される、HMD。
【請求項13】
前記深度ゾーンの第1の深度ゾーンに対する第1の露光
期間は、前記深度ゾーンの第2の深度ゾーンに対する第2の露光
期間とは異なり、前記第1の深度ゾーンは、
前記第2の深度ゾーンとは異なる、請求項12に記載のHMD。
【請求項14】
前記シーンの
前記1つまたは複数の部分的に拡張された画像を生成することは、深度ゾーンの画像データを当該深度ゾーンの深度情報に関連付けることを含む、請求項12に記載のHMD。
【請求項15】
前記コントローラは、さらに
前記撮像装置から前記深度ゾーンのうちの1つの深度ゾーンまでの距離、および
前記複数の画像のうちの前記画像の品質のうちの1つに少なくとも基づいて前記1つまたは複数の照明パラメータを
調整するように構成されている、請求項12に記載のHMD。
【請求項16】
前記コントローラは、さらに
対象物の反射率、対象物の動きの速度、対象物の前記撮像装置からの距離、前記画像のノイズ測定値、
および前記画像の信号対雑音比(SNR
)のうちの少なくとも1つに基づいて前記1つまたは複数の照明パラメータを
調整するように構成されて
おり、
前記1つまたは複数の照明パラメータは、前記照明光パルスのパルス幅、振幅、周波数、量、および波長のうちの少なくとも1つを含む、請求項12に記載のHMD。
【請求項17】
前記コントローラは、1つまたは複数の露光パラメータに従って前記撮像装置を調整するようにさらに構成され、前記コントローラは、さらに
前記照明源の前記1つまたは複数の照明パラメータおよび前記深度ゾーンの特性に少なくとも基づいて、更新された1つまたは複数の露光パラメータを決定し、
前記更新された1つまたは複数の露光パラメータに従って前記1つまたは複数の露光パラメータを調整するように構成され、前記1つまたは複数の露光パラメータは、露光期間、前記露光期間の開始時間、読み出しフレームごとの繰り返し回数、および読み出しフレームごとの繰り返しカウント値のうちの少なくとも1つを含む、請求項12に記載のHMD。
【請求項18】
方法であって、
撮像装置により捕捉された局所領域の複数の画像のうちの画像のコントラスト測定値が、コントラスト閾値未満であると決定するステップと、
前記コントラスト測定値が前記コントラスト閾値未満であることに基づいて、
複数の照明光パルスの振幅
および量を
少なくとも含む1つまたは複数の照明パラメータを
調整するステップと、
前記1つまたは複数の照明パラメータに従って、照明源が
前記複数の照明光パルスを放射して前記局所領域のシーンを照明するステップと、前記局所領域は、少なくとも1つの非空の深度ゾーンを含む複数の深度ゾーンに分割され、前記非空の深度ゾーンは、少なくとも1つの対象物を含み、
前記複数の深度ゾーンの各深度ゾーンに対して、一組の反射光パルスを記録して前記非空の深度ゾーンに対する画像データを生成するステップと、前記一組の反射光パルスは、前記非空の深度ゾーンに含まれる1つまたは複数の対象物から反射された前記照明光パルスであり、
複数の非空の深度ゾーンのうちの前記少なくとも1つの非空の深度ゾーンに対して生成された前記画像データを使用して
、前記シーンの
1つまたは複数の部分的に拡張された画像を生成するステップと、
前記1つまたは複数の部分的に拡張された画像のうちの少なくとも1つは、前記少なくとも1つの対象物についての深度情報を含み、
前記シーンの
前記1つまたは複数の部分的に拡張された画像をコンソールに提供するステップと
、を含
み、
前記1つまたは複数の部分的に拡張された画像は、ユーザに提示するための仮想コンテンツを生成するために使用される、方法。
【請求項19】
前記深度ゾーンの第1の深度ゾーンに対する第1の露光
期間は、前記深度ゾーンの第2の深度ゾーンに対する第2の露光
期間とは異なり、前記第1の深度ゾーンは、
前記第2の深度ゾーンとは異なる、請求項18に記載の方法。
【請求項20】
前記シーンの
前記1つまたは複数の部分的に拡張された画像を生成することは、深度ゾーンの画像データを当該深度ゾーンの深度情報に関連付けることを含む、請求項18に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、デプスカメラアーキテクチャに関し、より詳細には、レンジゲート式デプスカメラ部品に関する。
【背景技術】
【0002】
拡張現実(AR)システムを含み得る仮想現実(VR)システムは、ユーザを3次元(3D)で取り囲む環境の捕捉を活用することができる。しかしながら、従来のデプスカメラアーキテクチャは、サイズが比較的大きく、重く、相当量の電力を消費する。さらに、異なる深度のカメラアーキテクチャ(例えば、タイムオブフライト(time-of-flight)、構造化ライト、およびステレオビジョン)は、それぞれが異なる長所/短所を有するため、異なる動作環境において最適に機能する。さらに、従来のデプスカメラアーキテクチャは、VRシステムで経験する拡張動作範囲(センチメートルから数メートル)には適していない。例えば、そのような拡張された動作範囲は、従来のデプスカメラアーキテクチャが効率的に処理するにはあまりにも多くのデータが生じ、従来のデプスカメラアーキテクチャが処理するには大きすぎるダイナミックレンジを有する可能性がある。
【発明の概要】
【0003】
拡張現実(AR)システムまたは仮想現実(VR)システムに含まれるヘッドセットは、ヘッドセットを囲う、ヘッドセットに含まれる撮像装置の視野(即ち、「局所領域」)内のシーンの領域の様々な深度ゾーンの視覚情報の捕捉を可能にするデプスカメラ部品(DCA:depth camera assembly)を含む。DCAは、シーン内の特定の範囲、重要な光景、および/または関心領域に集中することができる。DCAは、1つまたは複数の撮像装置、照明源、およびコントローラを含む。照明源は、拡張された画像を生成するために使用される光パルス(例えば、赤外線(IR)、可視光)を放射する。撮像装置は、露光期間に亘って光を記録して画像データを生成する。
【0004】
DCAは、1つまたは複数の光パルスを用いて局所領域のシーンを照明する。局所領域内の対象物は、DCAによって放射される光(即ち、光パルス)を反射する。DCAは、画像が単一の深度ゾーンに関する情報を含むように(例えば、光パルスと画像捕捉との間の時間を制御することによって)局所領域の画像データを生成するように構成される。捕捉された画像は、単一の深度ゾーンに固有であり、単一の深度ゾーン内の対象物を表す。DCAは、各深度ゾーンの画像データを生成する。DCAは、複数の深度ゾーンに対して生成された画像データを使用して、拡張された画像または部分的に拡張された画像を生成する。拡張された画像は、局所領域内の1つまたは複数の対象物についての深度情報(即ち、対象物からDCAまでの距離)を含む局所領域の画像である。部分的に拡張された画像は、局所領域内のいくつかの(しかし全てではない)深度ゾーンに対する画像データを含む。
【0005】
いくつかの実施形態では、所与の深度ゾーンに関連する画像データを読み出す前に、所与の深度ゾーンに対して複数のパルスが放射されることに留意されたい。これにより、連続パルスからの光が加えられるので、所与の深度ゾーンにおける画像データに関連する信号強度が改善される。次いで、DCAは、複数のパルス(例えば、100パルス)を使用して生成された画像データを読み出すことができる。改善された信号強度は、低反射率の対象物および/またはDCAから離れた対象物に対する正確な画像データを捕捉するのに有用である。同様に、DCAは、画像飽和を制御するためにパルス数を設定することができる。
【0006】
一実施形態では、レンジゲート式デプスカメラ部品は、照明光パルスを放射するように構成された照明源と、局所領域の画像データを生成するように構成された撮像装置とを含む。レンジゲート式デプスカメラ部品はさらにコントローラを含む。コントローラは、局所領域のシーンを照明するために複数の照明光パルスを放射するように照明源を調整するように構成される。局所領域は、少なくとも1つの対象物を含む少なくとも1つの非空の深度ゾーン(non-empty depth zone)を含む複数の深度ゾーンに分割され、撮像装置が局所領域の画像データを生成するように構成されている。コントローラは、複数の深度ゾーンの各非空の深度ゾーンについて、一組の反射光パルスを記録して非空の深度ゾーンの画像データを生成するように撮像装置を調整するように構成される。一組の反射光パルスは、非空の深度ゾーンに含まれる1つまたは複数の対象物から反射された照明光パルスである。コントローラはさらに、複数の非空の深度ゾーンのうちの少なくとも1つの非空の深度ゾーンに対して生成された画像データを使用してシーンの画像を生成し、シーンの画像をコンソールに提供するように構成される。
【0007】
一実施形態では、ヘッドマウントディスプレイ(HMD:head-mounted display)は、電子ディスプレイと、照明光パルスを放射するように構成された照明源および局所的な画像データを生成するように構成された撮像装置とを含むレンジゲート式デプスカメラ部品とを含む。HMDは、コントローラを含むように構成されたコントローラをさらに含む。コントローラは、局所領域のシーンを照明するために複数の照明光パルスを放射するように照明源を調整するように構成される。局所領域は、少なくとも1つの対象物を含む少なくとも1つの非空の深度ゾーンを含む複数の深度ゾーンに分割され、撮像装置が局所領域の画像データを生成するように構成される。コントローラは、複数の深度ゾーンの各非空の深度ゾーンに対して、一組の反射光パルスを記録して非空の深度ゾーンの画像データを生成するように撮像装置を調整するように構成される。一組の反射光パルスは、非空の深度ゾーンに含まれる1つまたは複数の対象物から反射された照明光パルスである。コントローラはさらに、複数の非空の深度ゾーンのうちの少なくとも1つの非空の深度ゾーンに対して生成された画像データを使用してシーンの画像を生成し、シーンの画像をコンソールに提供するように構成される。
【0008】
一実施形態では、方法は、照明源が、局所領域のシーンを照明するために複数の照明光パルスを放射するステップを含む。局所領域は、少なくとも1つの非空の深度ゾーンを含む複数の深度ゾーンに分割される。非空の深度ゾーンは、少なくとも1つの対象物を含む。方法はさらに、複数の深度ゾーンの各深度ゾーンに対して、一組の反射光パルスを記録して非空の深度ゾーンの画像データを生成するステップを含む。一組の反射光パルスは、非空の深度ゾーンに含まれる1つまたは複数の対象物から反射された照明光パルスである。方法はさらに、複数の非空の深度ゾーンのうちの少なくとも1つの非空の深度ゾーンに対して生成された画像データを使用してシーンの画像を生成するステップを含む。方法は、シーンの画像をコンソールに提供するステップをさらに含む。
【図面の簡単な説明】
【0009】
【
図1】一実施形態による拡張現実システムを含むシステム環境のブロック図である。
【
図2】一実施形態による拡張リアリティヘッドセットの図である。
【
図3】一実施形態による拡張現実ヘッドセットの前部剛体の断面図である。
【
図4】一実施形態による異なる距離の異なる対象物を含むシーンの画像データを捕捉するDCAの一例を示す図である。
【
図5】一実施形態による拡張された画像を生成するプロセスのフロー図を示す。
【発明を実施するための形態】
【0010】
図面は、例示のみを目的として本開示の実施形態を示す。当業者であれば、以下の説明から、本明細書で説明した構造および方法の代替の実施形態を、本明細書に記載の原理または利点から逸脱することなく用いることができることを容易に認識するであろう。
【0011】
システムの概要
図1は、ARコンソール110が動作する拡張現実(AR:augmented reality)システム環境100の一実施形態のブロック図である。本明細書で使用されるように、ARシステム環境100は、ユーザが対話することができる仮想環境をユーザに提示する仮想現実システム環境を含み得る。
図1に示すARシステム環境100は、ARコンソール110にそれぞれ結合されたARヘッドセット105およびAR入出力(I/O)インタフェース115を備える。
図1は、1つのARヘッドセット105および1つのAR I/Oインタフェース115を含む例示的なシステム100を示しているが、他の実施形態では、任意の数のこれらのコンポーネントがARシステム環境100に含まれてもよい。例えば、複数のARヘッドセット105が設けられ、各ARヘッドセット105がAR I/Oインタフェース115を有し、各ARヘッドセット105およびAR I/Oインタフェース115がARコンソール110と通信してもよい。代替の構成では、異なるおよび/または追加のコンポーネントをARシステム環境100に含ませることができる。さらに、いくつかの実施形態において
図1に示される1つまたは複数の構成要素と関連して説明される機能が、
図1に関連して説明したのとは異なる方法で複数の構成要素に分配されてもよい。例えば、ARコンソール110の機能の一部または全部は、ARヘッドセット105によって提供される。
【0012】
ARヘッドセット105は、コンピュータが生成した要素(例えば、2次元(2D)または3次元(3D)画像、2Dまたは3D動画、音声他)を用いて物理的な現実世界環境の拡大ビューを含むコンテンツをユーザに提示するヘッドマウントディスプレイである。いくつかの実施形態では、提示されるコンテンツは、ARヘッドセット105、ARコンソール110、またはその両方からオーディオ情報を受信し、オーディオ情報に基づいてオーディオデータを提示する外部デバイス(例えば、スピーカおよび/またはヘッドフォン)を介して提示されるオーディオを含む。ARヘッドセット105の一実施形態は、
図2および
図3に関連して以下でさらに説明される。ARヘッドセット105は、互いに強固にまたは非剛性に結合され得る1つまたは複数の剛体を備え得る。剛体間の堅固な結合は、結合された剛体を単一の剛体として機能させる。対照的に、剛体間の非剛性結合は、剛体が互いに対して移動することを可能にする。
【0013】
ARヘッドセット105は、DCA120、電子ディスプレイ125、光学ブロック130、1つまたは複数の位置センサ135、および慣性測定ユニット(IMU:inertial measurement Unit)140を含む。ARヘッドセット105のいくつかの実施形態は、
図1に関連して説明されるものとは異なる構成要素を有する。さらに、
図1に関連して説明した様々な構成要素によって提供される機能は、他の実施形態では、ARヘッドセット105の構成要素において異なるようにして分散されてもよい。
【0014】
DCA120は、DCA120に含まれる1つまたは複数の撮像装置を使用して、「局所領域」とも呼ばれる、ARヘッドセット105に近接するエリアの1つまたは複数の画像を捕捉するように構成される。DCA120のいくつかの実施形態は、1つまたは複数の撮像装置(例えば、カメラ、ビデオカメラ)、照明源、およびコントローラを含む。照明源は、拡張された画像を生成するために使用される光パルス(例えば、赤外線(IR:infrared)、可視光)を放射する。例えば、照明源は、所定の期間の間、一連の光パルスを放射する。いくつかの実施形態では、照明源は、対称ドットパターンまたは疑似ランダムドットパターン、グリッド、または水平バーなどの構造化ライト(SL:structured light)パターンをシーンに放射するように構成されたSLイルミネータであってもよい。
【0015】
DCA120は、1つまたは複数の撮像装置を使用して局所領域の画像を捕捉する。撮像装置は、特定の波長範囲の光(即ち、「波長帯域」の光)を捕捉して記録する。撮像装置によって捕捉される例示的な光の波長帯域は、可視帯域(380nm~750nm)、赤外線帯域(750nm~1500nm)、紫外線帯域(10nm~380nm)、電磁波スペクトルの別の一部、またはそれらのいくつかの組合せを含む。1つまたは複数の撮像装置は、IR波長または電磁波スペクトルの他の一部における波長を有する光だけでなく、可視波長を有する光にも感応的であり得る。例えば、撮像装置は赤、緑、青、IR(RGBI)カメラである。いくつかの実施形態では、1つまたは複数の撮像装置は、電荷結合素子(CCD:charge coupled device)、相補型金属酸化物半導体(CMOS:complementary metal-oxide-semiconductor)撮像素子、他の感光素子、またはそれらの組合せを含む。
【0016】
DCA120は、放射された光パルスの異なる特性を変化させることができる。例えば、DCA120は、例えば、パルス幅、パルス振幅、パルス間の時間、放射するパルスの量、パルス波長、またはそれらのいくつかの組合せを変化させることができる。以下に詳細に説明するように、DCA120は、捕捉画像の飽和を防止し、かつ捕捉画像の画質を保証するために、パルス特性(例えば、パルス振幅、パルス量等)を変化させることができる。さらに、DCA120は、光を記録して画像データを生成するための露光期間および/または(パルスがDCA120によって放射された時点に対して)露光期間の開始時間を制御することによって画像データが収集される時期を調整する。
【0017】
局所領域は、VRヘッドセット105から異なる距離にある複数の対象物を含み得る。いくつかの実施形態では、DCA120は、局所領域をスキャンして、局所領域に含まれる対象物を識別する。次いで、DCA120は、各識別された対象物とDCA120との間の距離を決定する。DCA120は、識別された対象物に対して決定された距離に基づいて、局所領域を1つまたは複数の深度ゾーンに分割する。代替的に、DCA120は、局所領域を所定数の深度ゾーンに分割する。
【0018】
DCA120は、深度ゾーン(単数または複数)の画像データを1つずつ捕捉する。DCA120は、画像データが収集される時期に関して光パルスが放射される時期を制御する。従って、DCA120は、深度ゾーンに特有の画像データを選択的に収集することができる。特定の深度ゾーンに対して、DCA120は、深度ゾーンを(例えば、光パルスによって)照明し、深度ゾーンに含まれる対象物から反射された光を捕捉する。DCA120は、1つまたは複数の深度ゾーンの捕捉画像を使用して拡張された画像を生成する。拡張された画像は、局所領域内の1つまたは複数の対象物についての深度情報(即ち、対象物からDCAまでの距離)を含む局所領域の画像である。DCA120については、
図3~
図5を参照して以下でさらに説明する。
【0019】
電子ディスプレイ125は、ARコンソール110から受信したデータに従って2Dまたは3D画像をユーザに表示する。種々の実施形態において、電子ディスプレイ125は、単一の電子ディスプレイまたは複数の電子ディスプレイ(例えば、ユーザの各眼に対するディスプレイ)を含む。例示的な電子ディスプレイ125は、液晶ディスプレイ(LCD:liquid crystal display)、有機発光ダイオード(OLED:organic light emitting diode)ディスプレイ、アクティブマトリクス有機発光ダイオードディスプレイ(AMOLED:active-matrix organic light-emitting diode)、その他のディスプレイ、またはそれらの組合せを含む。いくつかの実施形態では、ARヘッドセット105の一部(例えば、前面)は可視光に対して透明であり、ヘッドセットのユーザがARヘッドセット105を介して局所領域を見ることが可能である。これらの実施形態において、電子ディスプレイ125は、1つまたは複数の透明電子ディスプレイパネルで構成されている。透明な電子ディスプレイパネルは、部分的または完全に透明であり、例えば、透明な有機発光ダイオードディスプレイ(TOLED:transparent organic light emitting diode display)、他の透明な電子ディスプレイ、またはそれらのいくつかの組合せであってもよい。
【0020】
光学ブロック130は、電子ディスプレイ125から受け取った画像光を拡大し、画像光に関連する光学誤差を補正し、かつ補正された画像光をARヘッドセット105のユーザに提示する。様々な実施形態において、光学ブロック130は、1つまたは複数の光学素子を含む。光学ブロック130に含まれる例示的な光学素子は、開口、フレネルレンズ、凸レンズ、凹レンズ、フィルタ、ミラー素子、または画像光に影響を与える他の任意の適切な光学素子を含む。さらに、光学ブロック130は、異なる光学素子の組合せを含み得る。いくつかの実施形態では、光学ブロック130内の1つまたは複数の光学素子は、反射防止コーティングのような1つまたは複数のコーティングを有することができる。
【0021】
光学ブロック130による画像光の拡大および集束は、より大きなディスプレイよりも電子ディスプレイ125を物理的に小さくし、重量を低減し、消費電力を低減することを可能にする。さらに、拡大は、電子ディスプレイ125によって提示されるコンテンツの視界を増加させる。例えば、表示されたコンテンツの視界は、表示されたコンテンツが、ユーザの視野のほぼすべて(例えば、約110度傾斜)、および場合によっては全部を使用して提示されるようになる。さらにいくつかの実施形態では、光学素子を追加または除去することによって拡大の量を調整することができる。
【0022】
いくつかの実施形態では、光学ブロック130は、1つまたは複数のタイプの光学誤差を補正するように設計されてもよい。光学誤差の例には、バレル歪み、ピンクッション歪み、軸上色収差、または横方向色収差が含まれる。他のタイプの光学誤差は、球面収差、コマ収差またはレンズ像面湾曲による誤差、非点収差、または他のタイプの光学誤差をさらに含み得る。いくつかの実施形態では、表示のために電子ディスプレイ125に提供されるコンテンツは予歪状態であり、光学ブロック130は、コンテンツに基づいて生成された電子ディスプレイ125から画像光を受け取るときに歪みを補正する。
【0023】
IMU140は、1つまたは複数の位置センサ135から受信した測定信号およびDCA120から受信した深度情報に基づいて、ARヘッドセット105の位置を示すデータを生成する電子デバイスである。位置センサ135は、ARヘッドセット105の動きに応答した1つまたは複数の測定信号を生成する。位置センサ135の例には、1つまたは複数の加速度計、1つまたは複数のジャイロスコープ、1つまたは複数の磁力計、動きを検出する別の適切なタイプのセンサ、IMU140の誤差訂正に使用されるあるタイプのセンサ、またはそれらの組合せが含まれる。位置センサ135は、IMU140の外部に、IMU140の内部に、またはそれらの位置の組合せに配置することができる。
【0024】
IMU140は、1つまたは複数の位置センサ135からの1つまたは複数の測定信号に基づいて、ARヘッドセット105の初期位置に対するARヘッドセット105の推定の現在位置を示すデータを生成する。例えば、センサ135は、並進運動(前後、上下、左右)を測定する複数の加速度計、および回転運動(例えば、ピッチ、ヨー、ロール)を測定する複数のジャイロスコープを含む。いくつかの実施形態では、IMU140は測定信号を迅速にサンプリングし、サンプリングされたデータからARヘッドセット105の推定の現在位置を計算する。例えば、IMU140は、加速度計から受信した測定信号を経時的に積分して速度ベクトルを推定し、速度ベクトルを経時的に積分して、ARヘッドセット105上の基準点の推定の現在位置を決定する。代替的に、IMU140は、サンプリングされた測定信号をARコンソール110に提供し、ARコンソール110がデータを解釈して誤差を低減する。基準点は、ARヘッドセット105の位置を特徴付けるために使用され得る点である。基準点は、一般に、ARヘッドセット105の向きおよび位置に関連する空間内の点または位置として定義され得る。
【0025】
IMU140は、ARコンソール110から1つまたは複数のパラメータを受信する。以下でさらに説明するように、1つまたは複数のパラメータは、ARヘッドセット105の追跡を維持するために使用される。受信したパラメータに基づいて、IMU140は、1つまたは複数のIMUパラメータ(例えば、サンプルレート)を調整することができる。いくつかの実施形態では、特定のパラメータによって、IMU140は、基準点の初期位置が基準点の次の位置に対応するように基準点の初期位置を更新する。基準点の次の較正された位置として基準点の初期位置を更新することは、IMU140の推定の現在の位置に関連する累積誤差を低減するのに役立つ。累積誤差は、ドリフト誤差とも呼ばれ、推定の基準点の位置を基準点の実際の位置から経時的に「離脱」させる。ARヘッドセット105のいくつかの実施形態では、IMU140は、専用ハードウェアコンポーネントであってもよい。他の実施形態では、IMU140は、1つまたは複数のプロセッサに実装されたソフトウェアコンポーネントであってもよい。
【0026】
AR I/Oインタフェース115は、ユーザがアクション要求を送信し、ARコンソール110から応答を受信することを可能にするデバイスである。アクション要求は、特定のアクションを実行するための要求である。例えば、アクション要求は、画像またはビデオデータの捕捉を開始または終了するための命令、またはアプリケーション内で特定のアクションを実行するための命令であってもよい。AR I/Oインタフェース115は、1つまたは複数の入力デバイスを含むことができる。例示的な入力デバイスには、キーボード、マウス、ゲームコントローラ、またはアクション要求を受け取り、ARコンソール110にアクション要求を伝達するための他の適切な装置が含まれる。AR I/Oインタフェース115によって受信されたアクション要求は、アクション要求に対応するアクションを実行するARコンソール110に伝達される。いくつかの実施形態では、AR I/Oインタフェース115は、AR I/Oインタフェース115の初期位置に対するAR I/Oインタフェース115の推定の位置を示す較正データを取得する上述したようなIMU 140をさらに含む。いくつかの実施形態では、AR I/Oインタフェース115は、ARコンソール110から受信した指示に従ってユーザに触覚フィードバックを提供することができる。例えば、アクション要求が受信されたときに触覚フィードバックが提供されるか、またはARコンソール110がアクションを実行するときにARコンソール110がAR I/Oインタフェース115に命令を送り、AR I/Oインタフェース115に触覚フィードバックを生成させる。
【0027】
ARコンソール110は、DCA120、ARヘッドセット105、およびAR I/Oインタフェース115のうちの1つまたは複数から受信した情報に従って処理するためにARヘッドセット105にコンテンツを提供する。
図1に示すように、ARコンソール110は、アプリケーションストア150、追跡モジュール155、およびARエンジン145を含む。ARコンソール110のいくつかの実施形態は、
図1に関連して説明したものとは異なるモジュールまたはコンポーネントを有する。同様に、以下でさらに説明される機能は、
図1と関連して説明したものとは異なる方法で、ARコンソール110の複数のコンポーネントに分散されてもよい。
【0028】
アプリケーションストア150は、ARコンソール110による実行のための1つまたは複数のアプリケーションを格納する。アプリケーションは、プロセッサによる実行時に、ユーザに提示するためのコンテンツを生成する1つのグループの命令である。アプリケーションによって生成されるコンテンツは、ARヘッドセット105またはAR I/Oインタフェース115の動きによりユーザから受信した入力に応答したものであってもよい。アプリケーションの例には、ゲームアプリケーション、会議アプリケーション、ビデオ再生アプリケーション、または他の適切なアプリケーションが含まれる。
【0029】
追跡モジュール155は、1つまたは複数の較正パラメータを使用してARシステム環境100を較正するとともに、1つまたは複数の較正パラメータを調整して、ARヘッドセット105またはAR I/Oインタフェース115の位置の決定における誤差を低減することができる。追跡モジュール155によって実行される較正はまた、ARヘッドセット105内のIMU140および/またはAR I/Oインタフェース115に含まれるIMU140から受信した情報を考慮する。さらに、ARヘッドセット105の追跡を喪失した場合(例えば、DCA120が少なくとも閾値のSL要素の照準線を喪失する)、追跡モジュール140は、ARシステム環境100の一部または全部を再較正することができる。
【0030】
追跡モジュール155は、DCA120、1つまたは複数の位置センサ135、IMU140またはそれらのいくつかの組合せからの情報を使用してARヘッドセット105またはAR I/Oインタフェース115の動きを追跡する。例えば、追跡モジュール155は、ARヘッドセット105からの情報に基づいて局所領域のマッピングにおけるARヘッドセット105の基準点の位置を決定する。追跡モジュール155は、IMU140からのARヘッドセット105の位置を示すデータを使用して、またはAR I/Oインタフェース115に含まれるIMU140からのAR I/Oインタフェース115の位置を示すデータを使用して、ARヘッドセット105の基準点の位置またはAR I/Oインタフェース115の基準点を決定する。さらに、いくつかの実施形態では、追跡モジュール155は、IMU140からのARヘッドセット105の位置を示すデータの一部ならびにDCA120からの局所領域の表現を使用してARヘッドセット105の将来の位置を予測することができる。追跡モジュール155は、ARヘッドセット105またはAR I/Oインタフェース115の推定または予測した将来の位置をARエンジン145に提供する。
【0031】
ARエンジン145は、ARヘッドセット105から受信した情報に基づいて、ARヘッドセット105を囲む領域(即ち、「局所領域」)の3Dマッピングを生成する。いくつかの実施形態では、ARエンジン145は、ARヘッドセット105を取り囲む領域内の1つまたは複数の対象物によって反射された後にDCA120によって検出されるDCA120によって放射された光の時間に基づいて、またはARヘッドセット105のDCA120によって捕捉される変形したSL要素の画像に基づいて局所領域の3Dマッピングのための深度情報を決定する。様々な実施形態では、ARエンジン145は、DCA120によって決定された異なるタイプの情報、またはDCA120によって決定された組合せのタイプの情報を使用する。
【0032】
ARエンジン145はまた、ARシステム環境100内のアプリケーションを実行して、ARヘッドセット105の位置情報、加速度情報、速度情報、予測した将来の位置、またはそれらのいくつかの組合せを追跡モジュール155から受信する。受信した情報に基づいて、ARエンジン145は、ユーザに提示するためにARヘッドセット105に提供するコンテンツを決定する。例えば、受信した情報が、ユーザが左方向を見たことを示している場合、ARエンジン145は、バーチャル環境または追加のコンテンツで局所領域を拡張する環境においてユーザの動きを反映するARヘッドセット105に対するコンテンツを生成する。さらに、ARエンジン145は、AR I/Oインタフェース115から受信したアクション要求に応答してARコンソール110上で実行中のアプリケーション内でアクションを実行し、アクションが実行されたことをユーザにフィードバックする。提供されるフィードバックは、ARヘッドセット105による視覚的または聴覚的なフィードバックまたはAR I/Oインタフェース115による触覚フィードバックであり得る。
【0033】
図2は、ARヘッドセット200の一実施形態の線図である。ARヘッドセット200は、ARヘッドセット105の一実施形態であり、前部剛体205、バンド210、基準点215、左側面220A、上面220B、右側面220C、底面220D、および前面220Eを含む。
図2に示すARヘッドセット200はまた、
図3~5に関連して以下でさらに説明するデプスカメラ部品(DCA)(図示せず)の実施形態を含む。前部剛体205は、電子ディスプレイ125(図示せず)の1つまたは複数の電子ディスプレイ素子、IMU130、光を通過させる撮像開口225および照明開口230、1つまたは複数の位置センサ135、および基準点215を含む。いくつかの実施形態では、前部剛体205の一部は、可視光に対して透明(例えば、前面220E、いくつかの他の側面など)であり、ユーザが前部剛体205の透明部分を介して局所領域を見ることを可能にする。
【0034】
図3は、
図2に示したARヘッドセット200の前部剛体205の断面図である。
図3に示すように、前部剛体205は、照明源304、撮像装置306、およびコントローラ308を含むDCA120を含む。さらに、前部剛体205は、
図1及び2に関して上述した電子ディスプレイ125、光学ブロック130、撮像開口225、および照明開口230を含む。前部剛体205はまた、ユーザの眼340が配置される射出瞳335を含む。様々な実施形態において、照明源304および撮像装置306は、前面220Eである。いくつかの実施形態では、撮像装置306は、撮像装置306の視野内で前部剛体205を取り囲む環境の一部である局所領域310の画像を捕捉する。説明のために、
図3は、単一の眼340による前部剛体205の断面を示す。いくつかの実施形態では、DCA120またはDCAのいくつかの構成要素は、ユーザの眼340と一直線をなす。他の実施形態では、DCAの構成要素は、ユーザの眼340と一直線をなしていない。
【0035】
電子ディスプレイ125は、光学ブロック130に向けて画像を形成する光を放射し、光学ブロック130は、電子ディスプレイ125から受け取った光を変更する。光学ブロック130は、変更した画像光をユーザの眼340が配置されている前部剛体205の位置にある射出瞳335に向ける。
図3は、ユーザの単一の眼340のための前部剛体205の断面図を示し、
図3に示されるものとは別個の別の電子ディスプレイ125および光学ブロック130は、前部剛体205に含まれ、局所領域310の拡張表現または仮想コンテンツなどのコンテンツをユーザの別の眼に提示する。
【0036】
DCA120は、照明源304、撮像装置306、およびコントローラ308を含む。照明源304は、局所領域310に関連する深度情報を決定するために使用される光パルスを生成する。照明源304は、コントローラ308からの照明パラメータを含む命令を受信することに応答して、1つまたは複数の光パルスを生成する。照明パラメータは、1つまたは複数の光パルスを生成するために照明源によって使用される命令である。照明パラメータは、例えば、1つまたは複数の光パルスを送信するためのトリガ信号、パルス幅、パルス振幅、パルス周期、デューティサイクル、放射するパルスの量、パルス波長、またはそれらのいくつかの組合せであり得る。光パルスは、特定の周期を有する一連のパルスを含む単一のパルスまたは一連のパルス(櫛形パルスとも呼ばれる)であり得る。
【0037】
照明源304は、可視帯域(380nm~750nm)、赤外線(IR)帯域(750nm~1500nm)、紫外線帯域(10nm~380nm)などの1つまたは複数の帯域、電磁波スペクトルの別の部分、またはそれらのいくつかの組合せにおける1つまたは複数の光パルスを生成する。生成された光は、コヒーレント、半コヒーレント、および/またはインコヒーレントであってもよい。照明源304は、撮像装置306のフレームレート(例えば、120Hz、240Hzなど)で光パルスを生成することができる。一連のパルスが撮像装置306で所与のフレームに対して予測される状況では、照明源304は、フレームレートよりも著しく速い光パルス(例えば、フレームレートの100倍,10,000倍または10,000倍以上のフレームレート)を生成することができる。さらに、パルス(または一連のパルス)を生成するための照明源304をトリガすることと、照明源304がパルス(または一連のパルス)を生成することとの間のレイテンシ時間において、低いジッタ(数ナノ秒以下のオーダの)および測定されたレイテンシおける小さい誤差が存在する。照明源304は、1つまたは複数の光パルスを照明開口230から局所領域310に投射する。
【0038】
撮像装置306は、撮像開口225を介して局所領域310の画像データを生成する。撮像装置306は、コントローラ308からの露光パラメータを含む命令を受信することに応答して画像データを捕捉する。露光パラメータは、画像データを生成する撮像装置によって使用される命令である。露光パラメータは、例えば、光を記録して画像データを生成するためのトリガ信号、光を記録して画像データを生成するための露光期間、露光期間の開始時間、予測される一連の各パルスに対する露光開始時間及び露光時間、またはそれらのいくつかの組合せを含む。
【0039】
撮像装置306は、捕捉された光で搬送される情報を検出し信号にて伝達する。撮像装置306は、照明源304と少なくとも同じスペクトルで画像を捕捉するように構成されている。撮像装置306はまた、可視光、IR光、または電磁波スペクトルの他の部分おける波長を有する光に感応的であってもよい。いくつかの実施形態では、撮像装置306はカメラであり、かつ電荷結合素子(CCD)、相補型金属酸化物半導体(CMOS)撮像素子、他の感光素子、またはそれらの組合せを含む。さらに、露光を開始する(即ち、画像を捕捉する)ために撮像装置306をトリガすることと、撮像装置306が露光を開始することとの間に低いジッタ(数ナノ秒のオーダ)が存在する。同様に、露光を停止する(即ち、画像の捕捉を停止する)ために撮像装置306をトリガすることと、撮像装置306が露光を停止することとの間には、低いジッタ(数ナノ秒のオーダ)が存在する。さらに、実際の開始時間および停止時間の情報は、ジッタ値のほんの一部(例えば、1ナノ秒未満)に対して正確であり得る。
【0040】
コントローラ308は、照明パラメータを用いて照明源304を調整する。コントローラ308は、1つまたは複数の照明パラメータを含む1つまたは複数の命令を、1つまたは複数の照明パラメータに従って光パルスを放射する照明源304に供給する。コントローラ308は、各光パルスの間に、光パルスが局所領域をクリアすることを可能にする少なくとも1つの時間間隔が存在するように、1つまたは複数の照明パラメータを決定する。例えば、局所領域310の長さが20フィート(609.6センチメートル)である場合、パルス間の時間は、光が約1フィート(30.48センチメートル)/ナノ秒で移動するとき、少なくとも40ナノ秒である。コントローラ308は、局所領域310のサイズに基づいて、照明源304によって放射される光パルスの周波数を決定することができる。さらに、コントローラ308は、放射パルスごとに(ナノ秒のオーダで)パルス幅を設定するとともに、パルスごとまたはフレームごとにパルスの特定の振幅(放射されるパワー)を決定する。いくつかの実施形態では、照明パラメータは、トリガとすることができ、照明源304によって放射される光パルスの少なくとも1つのパルス特性が照明源304において決定される。例えば、コントローラ308は、特定のパルス幅(例えば、6ナノ秒)を有する光パルスを放射するために照明源304を調整するが、パルス振幅は照明源304によって決定される。
【0041】
コントローラ308は、反射光を捕捉して局所領域310の画像データを生成するために撮像装置306を調整する。コントローラ308は、1つまたは複数の露光パラメータ(例えば、反射光を捕捉するための露光期間、露光期間の開始時間、読み出しフレーム毎の繰り返し回数/繰り返しカウント値等)を含む1つまたは複数の命令を撮像装置306に提供する。このように、コントローラ308は、撮像装置306に対して露光開始時間、露光継続期間、繰り返しカウント値を調整する。露光期間中に撮像装置306は光を記録し、光を画像データに変換する。コントローラ308は、DCA120からの深度ゾーンまでの距離に従って露光開始時間を決定することができる。深度ゾーンのサイズは、露光期間の長さに依存する。従って、コントローラ308は、深度ゾーンのサイズに従って露光期間を決定することができる。深度ゾーンの位置は、照明源304からパルスが放射された時間に対する露光期間の開始時間によって決定される。従って、コントローラ308は、照明源304から光パルスが放射された時間に対する露光期間の開始時間を調整することによって、画像データを収集する深度ゾーンを選択することができる。例えば、前部平面322に対する深度ゾーンの近方境界の距離Dnear(DCA120により近方深度ゾーンの境界)に基づいて露光開始時間を決定する。開始時間と、照明源304が光パルスを放射するようにトリガされるときの時点との間の時間差は、光の速度(例えば、約3×108m/秒)でDnearを除算したものの2倍に等しい。このように、コントローラ308は、深度ゾーンの全ての対象物から反射された光を捕捉するように撮像装置306を調整する。
【0042】
局所領域310に含まれる対象物は、照明源304によって局所領域310に放射される光だけでなく入射環境光も反射する。局所領域310は、前部平面322から異なる距離にある1つまたは複数の深度ゾーンを含む。深度ゾーンは、前部平面322から所定の距離範囲内にある局所領域における対象物を含む。例えば、局所領域310は、近方深度ゾーン350、中間深度ゾーン352、および遠方深度ゾーン354を含む。近方深度ゾーン350は、前部平面322から第1の所定の距離範囲(例えば、1メートル未満)内にある対象物を含む。中間深度ゾーン352は、第2の所定の距離範囲(例えば、1メートルと2メートルとの間)内にある対象物を含む。遠方深度ゾーン354は、前部平面322から第3の所定の距離範囲(例えば、2メートルを超える)内にある対象物を含む。当業者は、局所領域310は、異なるサイズの任意の数の深度ゾーンを含むことができ、各深度ゾーンが所定の距離範囲内の対象物を含み得ることを認識するであろう。
【0043】
いくつかの実施形態では、コントローラ308は、局所領域310を固定数の深度ゾーンに分割し、各深度ゾーン内の対象物を識別する。例えば、コントローラ308は、局所領域310を3つの深度ゾーン、即ち近方深度ゾーン350、中間深度ゾーン352、および遠方深度ゾーン354に分割する。コントローラ308は、各々の深度ゾーンにおいて局所領域310の対象物を探索する。例えば、コントローラ308は、各深度ゾーンについて1つまたは複数の光パルスを放射するように照明源304を調整し、個々の反射光を捕捉して画像データを生成するように撮像装置306を調整する。所与の深度ゾーンに対して、コントローラ308は、画像データを分析して、所与の深度ゾーン内の対象物を識別することができる。コントローラ308は、識別された対象物を、対象物が位置している深度ゾーンの属性である深度情報と関連付ける。例えば、対象物のDCA120までの距離は、光パルスを放射する照明源304と、露光期間の開始時間との間の時間差に基づく。光が空気中を一定速度(例えば、3×108メートル/秒)で移動するので、深度ゾーンまでの距離は、時間差の間に光が移動する距離の半分である。従って、コントローラ308は、所与の深度ゾーンで識別された対象物に深度情報を属性付けすることができる。
【0044】
いくつかの実施形態では、コントローラ308は、局所領域310を比較的多数の深度ゾーン(例えば、それぞれインチに対応する)に自動的に分割し、各深度ゾーンに対する画像データを生成することができる。コントローラ308は、どの深度ゾーンが対象物を含むかを識別し、識別された対象物間の空きスペースではなく、識別された対象物を強調する新規の組の深度ゾーンを生成する。例えば、対象物を含む領域は、多数の深度ゾーンと関連していてもよいが、対象物間の空きスペースは、少数の深度ゾーン(例えば、単一の深度ゾーン)と関連付けられ得る。
【0045】
別の実施形態では、コントローラ308は、局所領域310を比較的少数の大きな深度ゾーン(例えば、3)に分割する。コントローラ308は、どの深度ゾーンが対象物を含むかを識別し、識別された深度ゾーンをより小さい深度ゾーンに分割する。コントローラ308は、再び、より小さい深度ゾーンのどれが対象物を含むかを識別し、識別されたより小さい深度ゾーンをさらにより小さい深度ゾーンにさらに分割する。コントローラ308は、ある閾値レベルの深度分解能が得られるまでこのプロセスを継続する。
【0046】
コントローラ308は、さらに、深度ゾーンに位置する対象物に基づいて、深度ゾーンのサイズを調整することができる。深度ゾーンのサイズは、近方境界(即ち、前部平面322までの最短距離を有する境界)および遠方境界(即ち、前部平面322までの最長距離を有する境界)によって決定される。たとえば、コントローラ308は、深度ゾーン内で識別された全ての対象物の中で最短(最長)距離を有する対象物の位置に深度ゾーンの近方(遠方)境界を調整する。
【0047】
コントローラ308は、対象物から反射され、かつ撮像装置306によって捕捉された光に基づいて対象物の反射率をさらに決定することができる。より高い反射率の対象物は、同じまたは類似の放射照度および距離下でより低い反射率の対象物よりも明るい。例えば、対象物に関して、コントローラ308は、対象物の画像を生成し、対象物の画像の受信信号を、対象物の距離に関連する閾値と比較する。輝度が閾値よりも大きい(小さい)場合、コントローラ308は、対象物の反射率が高い(低い)と判定する。さらに、時間的なデータ収集を通じて、反射率の推定値、より正確には対象物の双方向反射率分布関数(BRDF:Bi-Directional Reflectance Distribution Function)を継続的にリファインして、追跡し、マッピングし、照射された照明信号が対象物の特性に対する許容範囲内にあることを保証するようにすることができる。さらに、コントローラ308は、DCA120に対する対象物の動きを決定することができる。例えば、コントローラ308は、対象物の動きを決定するために、ある画像から別の画像への対象物の位置の変化を識別する。コントローラ308は、対象物の移動速度を閾値速度と比較する。速度が閾値速度よりも大きい(小さい)場合、コントローラ308は、対象物の動きが大きい(小さい)と判定する。
【0048】
コントローラ308は、深度ゾーン、深度ゾーンに含まれる対象物(単数または複数)、画像解像度、および/または画像品質に基づいて1つまたは複数の照明パラメータを決定する。画像解像度は、ユーザによって設定されてもよい。例えば、コントローラ308は、近方深度ゾーン350(遠方深度ゾーン354)の画像を捕捉するために、より低い(より高い)振幅を有する光パルスを放射するように照明源304を調整する。光ビームの強度は、光ビームが局所領域310内の様々な体積の材料を通過するときに経時的に減衰するため、前面322からより遠方対象物は、前面322により近方対象物よりも少ない光で照射される。さらに、単一の識別された深度ゾーン内で操作する場合、他の(照明されていない)深度ゾーンにおける周囲照明特性の推定値を決定することができる。これは、後続の画像フレームがそれらの個々の深度ゾーンでアクティブな照明を提供する場合に、環境減算法(ambient subtraction methods)をサポートする。
【0049】
別の例として、コントローラ308は、含まれる対象物が高い(低い)反射率を有する深度ゾーンの画像を捕捉するために、より低い(より高い)振幅を有する光パルスを放射するよう照明源304を調整する。さらなる例として、コントローラ308は、単一パルスの量がより低い(より高い)光パルスを放射して、対象物(単数または複数)の動きが少ない(大きい)深度ゾーンの画像を捕捉するように照明源304を制御する。コントローラ308は、繰り返し回数がより少ない(多い)光パルスを放射して、対象物(単数または複数)の動きが少ない(大きい)深度ゾーンの画像を捕捉するように照明源304を制御する。深度ゾーンに含まれる異なる対象物の画像は、同じ照明下で対象物の距離および/または反射率により異なる輝度を有し得る。明るさの差が撮像装置306のダイナミックレンジを超える場合、明るい対象物(単数または複数)の画像が飽和する。さらに別の例として、コントローラ308は、単一パルスの量がより低い(より高い)光パルスを放射して、より低い(より高い)解像度の画像を捕捉するように照明源304を調整する。
【0050】
コントローラ308は、画像品質を保証するために1つまたは複数の照明パラメータをさらに決定することができる。コントローラ308は、捕捉された画像の画質(例えば、ノイズ、コントラスト、シャープネスなど)を分析する。例えば、コントローラ308は、捕捉された画像を分析してノイズ測定値(例えば、ガウスノイズ、ごま塩ノイズ(salt and pepper noise)、ショットノイズ、量子化ノイズ、フィルムグレインなど)を決定し、ノイズ測定値が閾値を下回ることを確実にする照明パラメータ(単数または複数)を決定する。別の例として、コントローラは、測定された画像の信号対雑音比(SNR)を決定し、SNRが閾値を上回ることを確実にする照明パラメータ(単数または複数)を決定する。さらなる例として、コントローラ308は、捕捉された画像を分析してコントラスト測度値(例えば、輝度コントラスト、色コントラスト)を決定し、コントラスト測定値が閾値を上回ることを確実にする照明パラメータ(単数または複数)を決定する。コントローラ308は、ノイズ測定値を最小化するために、SNRを最大にするために、および/または捕捉された画像のコントラスト測定値を最大にするためなど、捕捉された画像の画質を最大にするために照射パラメータ(単数または複数)をさらに決定してもよい。捕捉された画像の画質を向上または高めるために、コントローラ308は、より高い振幅、より高い品質の単一パルスのパルス、またはより多くの繰り返し回数を有する光パルスを放射するように照明源304を調整する。
【0051】
コントローラ308は、例えば、深度ゾーンに対して生成された画像データを分析することによって識別された深度ゾーンを監視する。対象物は移動し得るため、コントローラ308は、識別された対象物を監視し、決定された深度ゾーンを調整する。例えば、対象物が移動したと判定したことに応答して、コントローラ308は、対象物の更新された距離を決定し、更新された距離を用いて1つまたは複数の深度ゾーンを調整する。例えば、コントローラ308は、対象物が深度ゾーンの最も近方対象物または最も遠方対象物になることを決定することによって、識別された対象物が属する深度ゾーンの近方境界および/または遠方境界を調整することができる。コントローラ308は、対象物が新規の深度ゾーンの所定の距離範囲内に移動するときに、新規の深度ゾーンをさらに生成することができる。コントローラ308は、最後の対象物が深度ゾーンの所定の距離範囲外に移動するときに深度ゾーンを除去することができる。
【0052】
コントローラ308は、深度ゾーンの画像を捕捉するために、調整された深度ゾーンに基づいて撮像装置306および照明源304を調整することをさらに調整することができる。即ち、コントローラ308は、深度ゾーンの画像を取得するために、1つまたは複数の照明パラメータおよび/または1つまたは複数の露光パラメータを調整することができる。このようにして、照明源304が起動されると、照明源304は、撮像装置306が積分ウィンドウ(単数または複数)を同期させるために、撮像装置306に関して任意の所定のまたは決定された関心のある範囲に単一または一連のパルスを送ることができる。これにより、ユーザの眼に安全な入手可能なパルスのLEDまたはレーザ技術を依然として利用しながら、(撮像装置306の所定のダイナミックレンジ内にある)受信信号をより細かく制御することが可能になる。次に、撮像装置306は、任意の所与のフレームにおける関心のある1つまたは複数の範囲に適した積分ウィンドウを同期させ、1つまたは複数の関心領域の各々に関連する各パルスに関連する時間に光を記録/収集することができる。これは、全てが(現在のCCDまたはCMOSアーキテクチャにおける)検出器のアナログ領域にある任意のフレームに対して、任意のパルスウィンドウで複数回の電荷合計をサポートする。これにより、可能性のあるデジタルノイズまたは読み取りノイズが最小限に抑えられ、パルス間の周囲信号(ノイズ源)を積算することなく関心のある信号を増大させる。
【0053】
各画像または画像データは、特定の深度ゾーンに関連付けることができる。画像データは、1つまたは複数の識別された対象物を含むことができる。深度ゾーンに関連する所与の画像データに対して、コントローラ308は、関連する深度ゾーン内の対象物に対応する所与の画像データ内のピクセル値を決定する。コントローラ308は、深度ゾーンに関する深度情報を深度ゾーンに対応するピクセル値に関連付けて、部分的に拡張された画像を生成する。部分的に拡張された画像は、局所領域内のいくつかの(しかし全てではない)深度ゾーンの画像データを含む。コントローラ30は、局所領域310内の深度ゾーン(例えば、近方350、中間352、および遠方354)の各々に対して部分的に拡張された画像を生成し、かつ部分的に拡張された画像を、局所領域の撮像された部分に関する深度情報を含む拡張された画像と合成し得る。いくつかの実施形態では、拡張された画像および/または部分的に拡張された画像は、局所領域310のRGB画像と合成され得る。画像データは、部分的に拡張された画像を生成するために使用され、いくつかの実施形態では、部分的に拡張された画像および/または拡張された画像は、画像データを生成するために使用される、例えば照明パラメータおよび/または露光パラメータなどを記述するメタデータを含む。別の実施形態では、コントローラ308は、各ピクセルに関連する深度情報を維持しながら、部分的に拡張された画像(全ての深度ゾーンに対する)を統合することによって局所領域310の拡張された画像を生成する。コントローラ308は、拡張現実コンソール110に拡張された画像を提供する。
【0054】
図4は、1つまたは複数の深度ゾーンを含む局所領域の画像データを捕捉する例示的なDCA120を示す。DCA120は、局所領域を走査し、第1の近方対象物404、第2の近方対象物406、および遠方対象物408を識別する。DCA120は、DCA120からの各対象物の位置および距離をも決定する。さらに、DCA120は、ユーザに対する各対象物の反射率および/または動きを決定することができる。例えば、識別された対象物の距離に基づいて、DCA120は、シーンを、(1)第1の近距離対象物404および第2の近距離対象物406を含む近方深度ゾーン402と、(2)遠距離対象物408を含む遠方深度ゾーン403とに分割する。
【0055】
DCA120は、ある深度ゾーンの画像を一度に捕捉し、異なる深度ゾーンの画像を異なる時間に捕捉する。t1において、DCA120は、単一の光パルス414を放射して、近方深度ゾーン402の画像を捕捉する。DCA120は、近方深度ゾーン402、第1および第2の近方対象物404,406、および/または画像解像度に基づいて光パルス414の1つまたは複数の照明パラメータを決定し得る。例えば、DCA120は、光パルス414が1つの単一光パルスを含み、かつt1-t2のパルス幅を有すると判定する。DCA120は、1つまたは複数の露光パラメータを決定して、近方深度ゾーン402からの画像データを生成する。DCA120は、近方深度ゾーン402の近方境界405に基づいて、t3を露光開始時間として決定し、t3で反射光パルス424を捕捉するように撮像装置を調整する。反射光パルス424は、近距離対象物404から反射された光パルス414である。t1からt3までの期間は、光パルス414がDCA120から近方深度ゾーン402の近方境界405に移動し、DCA120に戻るのに要する期間である。即ち、t1からt3までの期間の半分がDCA120から近方境界405への距離に対応する。さらに、DCA120は、露光期間を決定する。近方深度ゾーン402に関する画像データを捕捉する際に、露光期間は、近方境界405と遠方境界407との間の距離に対応する。反射光パルス426は、近方対象物406から反射された光パルス414である。t3からt4までの期間は、光パルス414の立ち上がりエッジが近方境界405に到達する第1の時点と、光パルス414の立ち下がりエッジが遠方境界407に到達する第2の時点との間の期間である。
【0056】
近方深度ゾーン402に対して、DCA120は、決定された露光開始時間及び露光期間を用いて画像データを生成する。近方深度ゾーン402は、近方深度ゾーン402(または近方深度ゾーン402内のある点)までの距離に対応する深度情報に関連付けられている。DCA120は、画像データ内の対象物のピクセル値を、近方深度ゾーン402に関連する深度情報にマッピングすることによって部分的に拡張された画像を生成する。
【0057】
次に、DCA120は、遠方深度ゾーン403に対して焦点をシフトする。t5において、DCA120は、遠方深度ゾーン403の画像を捕捉するために単一の光パルス418を放射する。DCA120は、遠方深度ゾーン403、遠方対象物408、および/または画像解像度に基づいて光パルス418の1つまたは複数の照明パラメータを決定する。例えば、DCA120は、光パルス418が1つの単一光パルスを含み、かつt5-t6のパルス幅を有すると判定する。DCA120は、遠方深度ゾーン403からの画像データを生成するための1つまたは複数の露光パラメータを決定する。遠方深度ゾーン403の近方境界409に基づいて、DCA120は、t7を露光開始時間として決定し、t7で反射光パルス428を捕捉するように撮像装置を調整する。反射光パルス428は、遠方対象物408から反射される光パルス418である。時間t5から時間t7までの期間は、光パルス418がDCA120から遠方深度ゾーン403の遠方境界410に移動し、DCA120に戻るのに要する期間である。さらに、DCA120は、露光期間を決定する。遠方深度ゾーン403に関する画像データを捕捉する際に、露光期間は、近方境界409と遠方境界410との間の距離に対応する。期間t7~t8は、光パルス418の立ち上がりエッジが近方境界409に到達する第1の時点と、光パルス418の立ち下がりエッジが遠方境界410に到達する第2の時点との間の期間である。
【0058】
遠方深度ゾーン403に対して、DCA120は、決定された露光開始時間および露光期間を用いて画像データを生成する。遠方深度ゾーン403は、遠方深度ゾーン403(または遠方深度ゾーン403内のある点)までの距離に対応する深度情報に関連付けられている。DCA120は、画像データ内の対象物のピクセル値を、遠方深度ゾーン403に関連する深度情報にマッピングすることによって別の部分的に拡張された画像を生成する。
【0059】
DCA120は、部分的に拡張された画像の両方を使用して拡張された画像を生成する。DCA120は、部分的に拡張された画像を、局所領域の撮像された部分(即ち、近方深度ゾーン402および遠方深度ゾーン403)に関する深度情報を含む拡張された画像と合成する。いくつかの実施形態では、拡張された画像および/または部分的に拡張された画像は、局所領域310のRGB画像と合成されてもよい。DCA120は、照明源に対する空間変調信号を用いて動作して、(三角測量、または照明器とカメラとの間の既知のベースライン距離を利用して深度計算を測定する)構造化光深度検索法を提供し得る。これにより、システムは、時間的に(説明したように、フレームごとに単一または複数のパルス光)および空間的に変調された光源の両方で動作し、深度検索推定をリファインすることが可能になる。
【0060】
上記の例では、所与の深度ゾーンに対して、部分的に拡張された画像を生成するために単一パルスが主に使用されることに留意されたい。しかしながら、別の実施形態では、深度ゾーンに関連する画像データを読み取る前に、所与の深度ゾーンに対して複数のパルスが放射される。これは、連続するパルスからの光がノイズのない状態で加えられるので、所与の深度ゾーンにおける画像データに関連する信号強度を改善する。次いで、DCA120は、複数のパルス(例えば、100パルス)を使用して生成された深度ゾーンに関連する画像データを読み出すことができる。改善された信号強度は、低反射率の対象物および/またはDCA120から離れた対象物に対する正確な画像データを捕捉するのに有用である。
【0061】
図5は、一実施形態による、拡張された画像を生成するプロセスのフロー図を示す。
図5のプロセスは、DCA120によって実行され得る。他のエンティティは、他の実施形態において、プロセスのステップの一部または全部を実行してもよい。同様に、実施形態は、異なるステップおよび/または追加のステップを含むことができ、または異なる順序でステップを実行することができる。
【0062】
DCAは、局所領域内の1つまたは複数の深度ゾーンを決定する(502)。各深度ゾーンは、異なる深度情報(例えば、含まれる対象物(単数または複数)およびDCA120への個々の距離)を有する。DCAは、局所領域に含まれる対象物を識別し、識別された各対象物のDCAまでの距離を決定する。さらに、DCAは、識別された対象物の決定された距離に基づいて局所領域を1つまたは複数の深度ゾーンに分割する。
【0063】
DCAは、1つまたは複数の対象物を含む1つまたは複数の深度ゾーンのある深度ゾーンを照明する(504)。DCAは、深度ゾーンを照明するために光パルスを放射するように照明源を調整する。DCAは、1つまたは複数の照明パラメータ(例えば、パルス幅、振幅、周波数、含まれるパルスの量、および/または波長)を決定し、決定された照明パラメータに従って照明源を調整する。DCAは、深度ゾーン、深度ゾーンに含まれる対象物(単数または複数)、および/または画像解像度に基づいて1つまたは複数の照明パラメータを決定する。一実施形態では、DCAは、幅が6ナノ秒以下の光パルスを放射する。
【0064】
DCAは、深度ゾーン内の対象物から反射された光を捕捉して、深度ゾーンの画像データを生成する(506)。DCAは、照明源によって放射された光パルスによって照射されたことに応答して、深度ゾーン内の対象物から反射された光を捕捉するように撮像装置を調整する。DCAは、1つまたは複数の露光パラメータ(例えば、開始時間、期間など)を決定し、決定された照明パラメータに従って撮像装置を調整する。DCAは、深度ゾーンおよび/または放射された対応する光パルスに基づいて1つまたは複数の露光パラメータを決定する。生成された画像データは、深度ゾーンの画像のピクセルに関するピクセル値(例えば、RGB値)を含む。DCAは、生成された画像データに基づいて深度ゾーンを監視する。DCAは、1つまたは複数の照明パラメータ、1つまたは複数の露光パラメータ、深度ゾーンの近方境界および/または深度ゾーンの遠方境界を調整し、それに応じて深度ゾーンの照明を調整する。
【0065】
DCAは、例えば、DCAの範囲内で、またはそのサンプリングの基準および関心場所の対象物についての以前のデータセットからの情報に基づいて、識別されたすべての深度ゾーンに関する画像データを生成したかどうかを判定する(506)。識別されたすべての深度ゾーンの画像データが生成されていない場合、プロセスフローは504に移動し、異なる深度ゾーンが照明される。
【0066】
全ての識別された深度ゾーンについて画像データが生成されたと判定したことに応答して、DCAは、識別された全ての深度ゾーンの画像データ及び深度情報に基づいて深度ゾーンの拡張された画像を生成する(508)。DCAは、異なる深度ゾーンに関連する画像データについて部分的に拡張された画像を決定し、部分的に拡張された画像データを拡張された画像と合成する。DCAは、さらなる処理のために、局所領域の拡張された画像をARコンソールに提供する(510)。
【0067】
追加の構成情報
本開示の実施形態に関する前述の説明は、例示のために提示されたものであり、網羅的であること、または開示された正確な形態に本開示を限定することを意図するものではない。当業者であれば、上記の開示を参照して多くの変更および変形が可能であることを理解することができる。
【0068】
この説明のいくつかの部分は、情報の処理のアルゴリズムおよび記号表現に関して本開示の実施形態を説明する。これらのアルゴリズムの説明および表現は、データ処理技術の当業者が仕事の内容を他の当業者に効果的に伝えるために一般的に使用するものである。これらの処理は、機能的に、計算的に、または論理的に記述されているが、コンピュータプログラムまたは同等の電気回路、マイクロコードなどによって実現されることが理解される。さらに、これらの処理の方法をモジュールとして参照することは、一般性を失うことなく、時には便利であることが実証されている。記載された処理およびそれらに関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで具体化されてもよい。
【0069】
本明細書に記載のステップ、動作、またはプロセスのいずれかは、単独で、または他のデバイスと組合せて、1つまたは複数のハードウェアまたはソフトウェアモジュールで実行または実施することができる。一実施形態では、ソフトウェアモジュールは、記述されたステップ、動作またはプロセスのいずれかまたはすべてを実行するコンピュータプロセッサによって実行されるコンピュータプログラムコードを含むコンピュータ可読媒体を含むコンピュータプログラム製品で実施される。
【0070】
本開示の実施形態はまた、本明細書の動作を実行するための装置に関連してもよい。この装置は、必要な目的のために特別に構成することができ、かつ/またはコンピュータに格納されたコンピュータプログラムによって選択的に作動または再構成された汎用コンピューティング装置を含むことができる。そのようなコンピュータプログラムは、非一時的な有形のコンピュータ可読記憶媒体、またはコンピュータシステムバスに結合することができる電子命令を格納するのに適した任意のタイプの媒体に格納することができる。さらに、本明細書で言及される任意のコンピューティングシステムは、単一のプロセッサを含むか、またはコンピューティング能力が向上された複数のプロセッサ設計を採用するアーキテクチャであってもよい。
【0071】
本開示の実施形態はまた、本明細書に記載のコンピューティングプロセスによって生成される製品に関連してもよい。そのような製品は、情報が非一時的な有形のコンピュータ可読記憶媒体に格納される計算プロセスから生じる情報を含むことができ、かつ本明細書に記載のコンピュータプログラム製品または他のデータの組合せの任意の実施形態を含むことができる。
【0072】
最後に、本明細書で使用される用語は、主に、読みやすさおよび教示目的のために選択されたものであり、本発明の主題を画定または制限するために選択されていない。従って、本開示の範囲は、この詳細な説明ではなく、本明細書に基づいて出願時の任意の特許請求の範囲によって限定されることが意図される。従って、実施形態の開示は、以下の特許請求の範囲に記載されている本開示の範囲に限定するものではなく例示的なものとすることを意図する。