(58)【調査した分野】(Int.Cl.,DB名)
前記コードマスクが投影される前記シーンの新しい画像をキャプチャすることをさらに備え、前記新しい画像は、前記個々に調整される複数の光素子の前記動作に起因して領域ごとに光補償される請求項7に記載の方法。
前記コードマスクが投影される前記シーンの新しい画像をキャプチャすることをさらに備え、前記新しい画像は、前記個々に調整される複数のセンサシャッタの前記動作に起因して領域ごとに光補償される請求項9に記載の方法。
構造化された光を用いるアクティブ深度検知システムにおいて表面の反射率の違いを補償するための1つ以上の命令を有するプロセッサによって読み取り可能な記憶媒体であって、それらの命令は、1つ以上のプロセッサによって実行されたときに、請求項1乃至11のうちのいずれか1項に記載の方法を前記1つ以上のプロセッサに行わせる、プロセッサによって読み取り可能な記憶媒体。
【発明を実施するための形態】
【0015】
[0025]次の説明では、実施形態についての徹底的な理解を提供することを目的して具体的な詳細が示されている。しかしながら、実施形態はこれらの具体的な詳細なしで実践可能であることが当業者によって理解されるであろう。例えば、回路は、実施形態を不必要に詳細にして曖昧にするのを回避するためにブロック図形で示すことができる。その他の例では、非常によく知られた回路、構造及び技法は、実施形態を曖昧にしないようにするために示さないようにすることができる。
【0016】
[0026]語句“典型的な”は、“1つの例、事例、又は実例を提供すること”を意味するためにここにおいて用いられる。ここにおいて“典型的な”として説明されるいずれの実装又は実施形態も、本開示のその他の実施形態よりも好ましい又は有利であるとは必ずしも解釈されるべきではない。同様に、用語“実施形態”は、すべての実施形態が説明される特徴、利点又は動作モードを含むことを要求するわけではない。
【0017】
総論
[0027]構造化された光を用いてアクティブ深度検知を行うときにシーン内のオブジェクトの異なる反射率/吸収数を補償するための技法が提供される。キャプチャ中のシーン内のオブジェクトの反射率/吸収の変動に合わせて動的に調整する、及び補償する様々な特徴が提供される。
【0018】
[0028]第1の特徴は、コードマスクが投影されるシーンの画像をキャプチャする受光器センサを提供する。キャプチャされた画像から1つ以上のパラメータが確認される。次に、後続してキャプチャされる画像内のコードマスクの復号を向上させるために1つ以上のパラメータに従って投影光源のための光源電力が動的に調整される。次に、コードマスクに基づいてキャプチャされた画像に基づいてシーンに関する深度情報が確認される。一例においては、光源電力が特定の照明において固定され、受光器センサに関する露出時間が調整される。他の典型的な例においては、受光器センサに関する露出時間が固定値において維持され、光源電力が調整される。
【0019】
[0029]第2の特徴は、コードマスクが投影されるシーンの複数の画像を2つ以上の(異なる)露出時間にキャプチャする受光器センサを提供する。複数の画像のうちの2つ以上が、結合された画像を生成するためにコードマスクの復号可能な部分を各画像から抽出することによって結合される。次に、結合された画像に基づいておよびコードマスクを用いてシーンに関する深度情報を確認することができる。
【0020】
[0030]第3の特徴は、シーン又はオブジェクトをキャプチャするために異なる露出時間に各々2つの受光器センサを使用することを提供する。第1の受光器センサは、コードマスクが投影されるシーンの第1の画像を第1の露出時間にキャプチャする。第2の受光器センサは、コードマスクが投影されるシーンの第2の画像を第2の露出時間にキャプチャする。次に、第1及び第2の画像は、結合された画像を生成するためにコードマスクの復号可能な部分を各画像から抽出することによって結合される。次に、結合された画像に基づいておよびコードマスクを用いてシーンに関する深度情報を確認することができる。
【0021】
アクティブ深度検知
[0031]
図1は、二次元(2D)画像又は情報から三次元(3D)シーンが構築されるアクティブ検知システムを例示する。構造化された光を用いるアクティブ深度検知システムを実行するときにシーン内のオブジェクトの異なる反射率/吸収係数を補償するための1つ以上の特徴。符号器/形状変調器100は、送光チャネル104を通じて送光デバイス102によって投影されるコードマスクを生成する働きをすることができる。コードマスクは、ターゲット(例えば、シーン又はオブジェクト)上に投影することができ、反射された光は画像(例えば、コードマスク画像)として受光器センサ105によってキャプチャされる。この受信された画像は、復号することができ106、ターゲットの三次元バージョン110a−eを提示、生成、及び/又は提供するために使用することができる。アクティブ検知は、ターゲット上に投影中のコードマスクからすべての空間コード(すなわち、コードワード)を認識することができることに依存する。ここにおいて説明される様々な特徴及び態様は、ここにおいて例示されるシステム及びデバイスの一部として実装することができる。
【0022】
[0032]
図2は、二次元画像及び/又は情報から三次元情報を生成するために用いられるシーン又はオブジェクトに照明し及び深度情報を入手するために既知のパターンが使用されるアクティブ検知を例示する。ここでは、送光器(transmitter)202が、オブジェクト又はシーン206上にコードワードを投影するためにコードマスク204(例えば、コードを有する画像)を通じて光場を投影する。受光器208(例えば、カメラセンサ)は、投影されたコードマスク210及びその中のコードワードをキャプチャする。この例は、コードマスク204のセクション/一部分/ウィンドウ212がオブジェクト又はシーン206の表面(例えば、投影されたセクション/一部分/ウィンドウ216)上に(セクション/一部分/ウィンドウ212として)どのようにして投影されるかを例示する。次に、投影されたセクション/一部分/ウィンドウ216は、キャプチャされたセグメント218として受光器108によってキャプチャすることができる。セクション/一部分/ウィンドウ212は、一意で識別することができるコードワードして使用することができる。従って、このようにしてシーン又はオブジェクト206を一意のコードワードでカバーすることによって、シーン又はオブジェクト206のセクション/一部分を識別する/タグを付ける)ことができ、この情報を深度検知のために使用することができる。
【0023】
[0033]受光器208(カメラセンサ)によってキャプチャされた画像から、シーン又はオブジェクト206にわたって複数のセグメントを識別することができる。各セグメント218は、受光器108において一意で識別することができ、その他のセグメントに対するその位置をコーディングされたマスク204の既知のパターンから確認することができる。各セグメント/一部分/ウィンドウからのコードの識別は、(例えば、歪みに対処するための)パターンセグメンテーションと、知覚されたセグメント/一部分/ウィンドウの対応するコードへの復号と、を含むことができる。さらに、方位及び/又は深度を確認するために各々のキャプチャされたセグメント/一部分/ウィンドウにわたって三角測量を適用することができる。キャプチャされた画像パターンをひとつにまとめてスティッチ(stitch)するために複数の該セグメント/一部分/ウィンドウを結合することができる。このようにして、シーン、ターゲット、又はオブジェクト206に関して深度マップ207を生成することができる。
【0024】
[0034]
図3は、オブジェクト又はシーンに関して深度をどのようにして検知することができるかを例示する。ここで、送光器302は、受光器304と同じ基準参照面上にある。送光器は、開口又はレンズを通じてシーン又はオブジェクト上にコードマスク310を投影する。ここで、例示を目的として、投影されたセグメント/一部分/ウィンドウ312は、送信されたコードマスク310の一部として示される。このコードセグメント/一部分/ウィンドウ312は、第1の距離又は第2の距離におけるシーン又はオブジェクト306上に投影することができる。受光器304は、受光器開口を通じて投影されたコードマスク310をキャプチャする。シーン又はオブジェクト306がより近くに(例えば、送光器から第1の距離に)位置するときには、投影されたセグメント312は、最初の位置からd1の距離において現れることを評価することができる。他方、シーン又はオブジェクト308がより遠くに(例えば、送光器から第2の距離に)位置するときには、投影されたセグメント/一部分/ウィンドウ312は、最初の位置からd2の距離において現れる(ここで、d2<d1)。すなわち、オブジェクトが送光器/受光器から遠く離れるほど(例えば、送光器302からシーン又はオブジェクト308まで)、受信される投影されたセグメント/一部分/ウィンドウは、受光器におけるオリジナルの位置により近くなる(例えば、出て行く投影及び入って来る投影がより平行になる)。逆に、オブジェクトが送光器/受光器から近いほど(例えば、送光器302からシーン又はオブジェクト306まで)、受信される投影されたセグメント/一部分/ウィンドウは、受光器におけるオリジナルの位置から遠く離れる。従って、受信されたコードワードの位置と送信されたコードワードの位置との間の違いが、シーン又はオブジェクトの深度を与える。一例においては、該深度(例えば、相対的深度)は、各ピクセル又はグループに分けられたピクセルの部分組(例えば、2つ以上のピクセルの領域)に関する深度を提供する。
【0025】
[0035]コードマスクを生成するために様々なタイプの変調及びコーディング方式が構想されている。これらの変調及びコーディング方式は、時間的コーディングと、空間的コーディングと、直接コード化と、を含む。
【0026】
[0036]
図4は、3つのグレースケールレベル(例えば、黒、白、及び灰色)を使用する典型的なコードマスク400を例示する。この例では、黒は、ガード間隔のために使用され、白/灰色は、コード/基準ストライプのために使用される。
【0027】
[0037]受光器センサ208(例えば、カメラ)によって得られた画像は、シーン上への光源の反射からやって来る入射光によって形成される。入射光の強度は、(a)シーン内の表面の反射率特性、(b)投影されたパターンを生成する光の電力、及び/又は(c)環境光に依存することができる。カメラセンサに対する入射光が強すぎる場合は、それは、センサを飽和させる。それが弱すぎる場合は、受光器208(例えば、カメラセンサ)は、シーンの反射率の変動をキャプチャしない。シーン内においても、画像内でキャプチャ中の表面のタイプに依存して、両方の状況(例えば、キャプチャされた光が強すぎる及び弱すぎる)が同時に生じる可能性がある。入射光の強度の調整がシステム内に含まれていなければ、広範な状況(異なる環境光、光源の異なる予め設定された電力、異なる表面のタイプ)に関する投影されたパターン(例えば、コードマスク)の照明の変動をキャプチャすることは困難である。
【0028】
[0038]受け取られた光エネルギーを(a)カメラセンサ露出時間、及び/又は(b)投影された光源の電力に基づいて調整することができる様々な解決方法が提供される。予め設定された又は1つの範囲の露出時間(例えば、シャッタ時間)及び/又は投影された光源の電力(例えば、照明強度)において得られた1つ以上のキャプチャされた画像から1つ以上のパラメータが測定される(例えば、ピクセル飽和、復号不能なピクセル、ピクセル照明平均、偏差、及び/又はエントロピー、等)。次に、露出時間及び/又は投影された光源の電力が、シーンに関する追加画像をキャプチャするためにキャプチャされた1つ以上のパラメータに基づいて調整される。
【0029】
第1の典型的な解決方法−受け取られた光エネルギーの調整
[0039]第1の典型的な解決方法により、受光器/カメラセンサによって受け取られた光エネルギーは、取得された画像から測定された幾つかのパラメータに従って制御される。
【0030】
[0040]
図5は、構造化された光を用いるアクティブ深度検知システムにおいて受光器センサによって受け取られた光エネルギーを調整するための2つの方法を例示する。これらの方法は、例えば、
図2及び/又は8のアクティブ検知システムの1つ以上のコンポーネントにおいて実装することができる。
【0031】
[0041]第1の方法(方法A)により、アクティブ深度検知のために使用される画像における露出過剰及び/又は露出不足を補償するために受光器センサ(カメラ)の露出時間が調整される。このアプローチ法では、受光器センサに関する露出時間が調整され、光源電力が固定される。
【0032】
[0042]受光器センサ502aに関して予め定義された露出時間が得られる。次に、投影光源が、キャプチャされるべきシーン(例えば、ターゲット)上にコードマスクの少なくとも一部分を投影する504a。受光器センサは、予め定義された露出時間に、コードマスクが投影されるシーンの画像をキャプチャする506a。
【0033】
[0043]キャプチャされた画像508から1つ以上のパラメータを確認することができる。例えば、これらのパラメータは、(a)情報関連の統計、すなわち、ピクセル照明平均、偏差、エントロピー、(b)受光器センサにおける飽和ピクセル数、及び/又は(c)投影されたコードマスクを復号することができなかったピクセル数を含むことができる。
【0034】
[0044]次に、センサ受光器の露出時間を1つ以上のパラメータに従って大きくすること又は小さくすることができる510a。すなわち、1つ以上のパラメータが受光器センサピクセルの過剰飽和を示す場合は、光源電力が下げられる。他方、1つ以上のパラメータが受光器センサピクセルの露出不足を示す場合は、光源電力が増大される。
【0035】
[0045]投影光源は、(それのオリジナルの光源電力において)キャプチャされるべきシーン上へのコードマスクの少なくとも一部分の投影を続ける512a。受光器センサは、調整された露出時間において、コードマスク310が投影されるシーンの新しい画像をキャプチャする514a。次に、新しい画像内のコードマスクからシーンに関する深度情報を確認することができる516。
【0036】
[0046]第2の方法(方法B)により、(コードマスクの)プロジェクタのための光源電力が、アクティブ深度検知のために使用される画像における照明不足及び/又は過剰照明を補償するために調整される。このアプローチ法では、受光器センサに関する露出時間が固定され、光源電力が調整される。
【0037】
[0047]光源に関して予め定義された光源電力が得られる502b。次に、投影光源が、キャプチャされるべきシーン上にコードマスクの少なくとも一部分を投影する504b。次に、受光器センサは、コードマスクが投影されるシーンの画像をキャプチャする506b。
【0038】
[0048]次に、キャプチャされた画像から1つ以上のパラメータを確認することができる508。例えば、これらのパラメータは、(a)情報関連の統計、すなわち、平均、偏差、エントロピー、(b)受光器センサにおける飽和ピクセル数、及び/又は(c)投影されたコードマスクを復号することができなかったピクセル数を含むことができる。
【0039】
[0049]次に、1つ以上のパラメータに従って光源電力を調整する(例えば、大きくする又は小さくする)ことができる510b。すなわち、1つ以上のパラメータが受光器センサピクセルの過剰飽和を示す場合は、光源電力が下げられる。他方、1つ以上のパラメータが受光器センサピクセルの露出不足を示す場合は、光源電力が増大される。
【0040】
[0050]投影光源は、キャプチャされるべきシーン上にコードマスクの少なくとも一部分を投影することができる512b。受光器センサは、コードマスクが投影されるシーンの新しい画像をキャプチャする514b。次に、新しい画像内のコードマスクからシーンに関する深度情報を確認することができる516。
【0041】
[0051]様々な実装により、受光器センサ露出時間及び/又は光源電力を単独で又は組み合わせて調整することができる。例えば、受光器センサの飽和ピクセル数がある一定のスレショルドを上回る場合は、受光器センサの露出時間が短くされるか又は光源の電力が低減される。他の例では、キャプチャされた画像内のコードマスクにおいて測定された黒コード数がある一定のスレショルドを上回る場合は、受光器センサの露出時間が長くされるか又は光源の電力が増大される。
【0042】
[0052]代替アプローチにより、(例えば、複数の受光器センサによって同時に取得された又は同じ受光器センサによって幾つかの例において取得された)2つ以上の画像にわたって1つ以上のパラメータを入手することができる。一例では、複数の異なる受光器センサ(例えば、カメラ)において異なる露出時間を使用することができる。
【0043】
[0053]他の代替アプローチ法により、飽和画像にわたって‘飽和領域’又は‘黒い領域’を追跡することができ、1つ以上のパラメータの測定のためにこれらの領域のみを使用することができる。この変形は、パラメータが入手される領域を減少させるという点で幾つかの計算上の利点を提供することができる。
【0044】
[0054]幾つかの実装においては、
図5において例示される方法を実行するために受光器センサ及び投影光源に受光器デバイスを結合することができる。該実装においては、受光器デバイスは、キャプチャされた画像から1つ以上のパラメータを確認することができる。次に、それは、後続してキャプチャされる画像におけるコードマスクの復号を向上させるために投影光源のための光源電力を調整させることができる。
【0045】
第2の典型的な解決方法−受光器ダイナミックレンジ調整
[0055]第2の典型的な解決方法により、受光器/カメラセンサによって受け取られた光エネルギーが、異なる露出時間に取得された画像から測定された一定のパラメータに基づいて制御され及び結合される。
【0046】
[0056]
図6は、構造化された光を用いるアクティブ深度検知システムにおいて受光器センサによって受け取られた光エネルギーを調整するための少なくとも2つの方法を例示する。これらの方法は、例えば、
図2及び/又は8のアクティブ検知システムの1つ以上のコンポーネントにおいて実装することができる。これらの方法は、
図5において例示されるそれらと類似するが、異なる露出時間及び光源電力において複数の画像が最初にキャプチャされる。複数の画像のうちの2つ以上からの一部分を、高ダイナミックレンジ(HDR)アルゴリズムに従って結合することができる。結合された画像は、投影されたコードマスク内のコードワードを知覚することができる(例えば、コードマスク内のパターンを認識することができる)複数の画像のうちの2つ以上の一部分を抽出することができる。
【0047】
[0057]第3の方法(方法C)により、アクティブ深度検知のために使用される画像における露出過剰及び/又は露出不足を補償するために1つ以上の受光器センサ(カメラ)の露出時間が調整される。このアプローチ法では、受光器センサに関する露出時間が調整され、光源電力が固定される。
【0048】
[0058]受光器センサ602aに関して複数の予め定義された露出時間が得られる。次に、投影光源が、キャプチャされるべきシーン上にコードマスクの少なくとも一部分を投影する604a。受光器センサは、予め定義された露出時間に、コードマスクが投影されるシーンの複数の画像(例えば、各々の予め定義された露出時間に関して1つ)をキャプチャする606a。
【0049】
[0059]キャプチャされた画像608の各々に関して1つ以上のパラメータを確認することができる。例えば、これらのパラメータは、(a)情報関連の統計、すなわち、平均、偏差、エントロピー、(b)受光器センサにおける飽和ピクセル数、及び/又は(c)投影されたコードマスクを復号することができなかったピクセル数を含むことができる。
【0050】
[0060]高ダイナミックレンジ(HDR)アルゴリズムに関係する画像の組の取得のための受光器センサ設定は、1つ以上のパラメータに基づいて動的に変更することができる。例えば、各画像の取得のために使用される受光センサのうちの1つ以上の露出時間を、任意選択で、測定されたパラメータに従って調整することができる612a。次に、キャプチャされた画像のうちの2つ以上を、コードマスクの復号可能な部分を各画像から抽出することによって(例えば、HDRアルゴリズムに従って)結合することができる614。結合された画像内のコードマスクからシーンに関する深度情報を確認することができる616。
【0051】
[0061]異なる反射率/吸収係数のオブジェクト表面を含むシーンにおいて、異なる露出時間に撮られた画像の組み合わせは、受光器センサに関する異なる露出時間において、これらのオブジェクトを適切にキャプチャするために働くことができる。例えば、第1の露出時間に撮られた第1の画像は、シーンの幾つかのオブジェクト上に投影されたコードマスクを適切にキャプチャすることができるが、同じシーンのその他のオブジェクト上に投影されたコードマスクは適切にキャプチャすることができない。第2の露出時間において受光器センサ(又は異なる受光器センサ)によって撮られた第2の画像は、同じシーンのそれらのその他のオブジェクト上に投影されたコードマスクを適切にキャプチャすることができる。従って、異なる露出時間に撮られた2つ以上の画像の一部分を結合することによって、2つ以上の画像から取られたコードマスクの復号可能な部分から成る結合された画像を入手することができる。
【0052】
[0062]第4の方法(方法D)により、アクティブ深度検知のために使用される画像における露出過剰及び/又は露出不足を補償するために1つ以上の受光器センサ(カメラ)の光源電力制御が調整される。このアプローチ法は、方法Cとほぼ同じであるが、ステップ612bにおいて、1つ以上のパラメータに従って(露出時間の代わりに)光源電力が調整される。
【0053】
第3の典型的な解決方法−選択的光源電力調整
[0063]第3の典型的な解決方法により、シーン内の表面の変化する反射率/吸収係数に好適するように異なる領域にわたって光源電力がローカルで/選択的に制御される。すなわち、光源は、シーンの異なる領域をシーン内の表面の反射率/吸収に依存して異なる形で照明することができるように独立して制御することができる複数の光素子を含むことができる。従って、シーンの各領域内の光度は、シーンの各々の該領域内のオブジェクトの表面の反射率/吸収係数により調整することができる。
【0054】
[0064]
図7は、構造化された光を用いるアクティブ深度検知システムにおいて受光器センサによって受け取られた光エネルギーを調整するための他の方法を例示する。この方法は、例えば、
図2及び/又は8のアクティブ検知システムの1つ以上のコンポーネントにおいて実装することができる。第1の例(方法E)は、投影光源はその強度を個々に制御することができる複数の光素子(例えば、行列構成で配置された発光ダイオード、等)から成ると仮定する。第2の例(方法F)は、各々の対応する受光器センサが受け取る光の量を調整するために複数の受光器センサシャッタを個々に制御することができると仮定する。
【0055】
[0065]投影光源のための均一の(予め定義された)光源電力が得られる702。第1の典型的な方法(方法E)により、投影光源は、複数の光素子を備え、均一の光源電力を用いて、キャプチャされるべきシーン上にコードマスクの少なくとも一部分を投影する704a。第2の方法(方法F)により、投影光源は、複数の光素子を備え、均一の光源電力を用いて、キャプチャされるべきシーン上にコードマスクの少なくとも一部分を投影する704b。次に、受光器センサは、コードマスクが投影されるシーンの画像をキャプチャする706。
【0056】
[0066]次に、キャプチャされた画像708内の複数の領域の各々に関して1つ以上のパラメータを確認することができる。該領域は、単一の光素子又は光素子の部分組によって網羅されるエリアに対応することができる。該光素子は、高度に平行化された光ビームを提供することができ、従って、光素子間には最小限のクロスオーバー(cross−over)しか存在しない。得られたパラメータは、(a)情報関連の統計、すなわち、平均、偏差、エントロピー、(b)受光器センサにおける飽和ピクセル数、及び/又は(c)投影されたコードマスクを復号することができなかったピクセル数を含むことができる。
【0057】
[0067]第1の例(方法E)により、光源電力の各素子を対応する1つ以上のパラメータ710aに基づいて個々に調整/制御する(例えば、大きくする又は小さくする)ことができる。すなわち、1つ以上のパラメータが第1の領域に対応する受光器センサピクセルの過剰飽和を示す場合は、対応する光素子のための光源電力が下げられる。同様に、1つ以上のパラメータが第2の領域に関する受光器センサピクセルの露出不足を示す場合は、対応する光素子のための光源電力が増大される。各光素子電力を個々に調整/制御後は、投影光源によってコードマスクを再度投影することができる712a。
【0058】
[0068]代替の第2の例(方法F)により、均一の光源電力において投影光源を用いてキャプチャされるべきシーンの複数の異なる領域上にコードマスクの少なくとも一部分を投影することができる710b。受光器センサによってキャプチャされた光を調整するために対応する1つ以上のパラメータに基づいて複数の受光器センサシャッタを個々に制御することができる712b。これは、複数の領域の各々に関して受光器センサによってキャプチャされる光の量を変化させるのを可能にすることができる。
【0059】
[0069]受光器センサは、コードマスクが投影されるシーンの新しい画像をキャプチャすることができる714。次に、新しい画像内のコードマスクからシーンに関する深度情報を確認することができる716。
【0060】
[0070]これらのアプローチ法は、非常に異なる反射材料が同じシーンの一部である場合に関して入射光の強度の変動に合わせて調整する。方法Eにおいて、投影光源の各光素子の強度/電力は個々に制御されるため、シーンの個々の領域を異なる光度で同時並行して照明することができる。これは、シーンの特定の要求に合わせた投影光(及び電力消費量の調整)においてより良い粒度(granularity)を提供する。幾つかの画像を結合する必要なしにHDRを達成することができ、従って、より高いフレームレートが可能である。同様に、投影された光の電力/強度を調整するのではなく、方法Fにおいて、受光器センサによって受け取られる光の量は、複数の受光器シャッタを個々に制御することによって調整することができる。これは、幾つかの領域において受け取られた光の量を低減させること及び/又はその他の領域において受け取られた光の量を増大させることを可能にする。
【0061】
典型的な深度検出システム
[0071]
図8は、キャプチャ中のシーン内のオブジェクトの表面の異なる反射率/吸収係数に関して動的に調整する、構造化された光を用いる典型的な深度検出システム800を例示する。コードマスク投影デバイス808は、対象となるシーン802上に(例えば、光源を用いて)コードマスクを投影するために働くことができる。受光器センサ806(例えば、カメラ)は、シーン802によって反射されたコードマスクの少なくとも一部分を含む画像を得るためにシーン802上への光源の反射から来る入射光をキャプチャする。アクティブ深度検知デバイス804は、光投影デバイス(光源)808及び/又は受光器センサ806に結合することができ及び投影デバイス808に関する受光器センサ806及び/又は光源電力に関して露出時間を動的に調整するように構成することができる。アクティブ深度検知デバイス804は、処理回路805及び/又は記憶デバイス809を含むことができる。処理回路805は、パラメータ計算モジュール/回路810、露出時間調整モジュール/回路812、光電力調整モジュール/回路814、及び/又は深度計算モジュール/回路816を含むこと又は実装することができる。これらのモジュール/回路は、
図5、6、及び/又は7において説明される及び/又は例示される1つ以上の機能を実行するのに好適することができる。記憶デバイス809は、例えば、受光器センサ806及び/又はコードマスク投影デバイス808に関する1つ以上の調整パラメータを格納するために働くことができる。
【0062】
[0072]パラメータ計算モジュール/回路810は、受光器センサ806から1つ以上のキャプチャされた画像(例えば、コードマスクが投影されたシーン又はオブジェクトの画像)を受信することができる入力インタフェースを含むことができる。パラメータ計算モジュール/回路810は、受信された1つ以上のキャプチャされた画像の各々に関する絶対的又は相対的ピクセル飽和、復号不能なピクセル、ピクセル照明平均、偏差、及び/又はエントロピー、等を確認する1つ以上の画像処理回路も含むことができる。これらの1つ以上のパラメータは、各画像の画像全体に関して及び/又は領域(例えば、セクタ、ピクセル)に関して計算することができる。これらの1つ以上のパラメータは、露出時間調整モジュール/回路812及び/又は光電力調整モジュール/回路814に対する入力として働くことができる。
【0063】
[0073]露出時間調整モジュール/回路812は、受光器センサ806に関する露出時間を調整すべきかどうか及びそれはどのようにして調整すべきかを確認するために1つ以上のパラメータを使用することができる。例えば、スレショルドの比率よりも大きいピクセルの比率が過剰飽和している(すなちわ、多すぎる照明)ことを1つ以上のパラメータが示す場合は、露出時間調整モジュール/回路812は、受光器センサ806に関するシャッタ時間を短くする。逆に、スレショルドの比率よりも大きいピクセルの比率が露出不足である(すなちわ、少なくすぎる照明)ことを1つ以上のパラメータが示す場合は、露出時間調整モジュール/回路812は、受光器センサ806に関するシャッタ時間を長くする。同様に、受光器センサを調整すべきであるかどうか及び/又はどのようにして調整すべきであるかを確認するために復号不能なピクセル、ピクセル照明平均、偏差、及び/又はエントロピー、等に関するその他のスレショルドを使用することができる。露出時間調整モジュール/回路812は、該調整を受光器センサ806に通信するのを可能にする出力インタフェースを含むことができる。
【0064】
[0074]光電力調整モジュール/回路814は、コードマスク投影デバイス808に関する照明電力を調整すべきであるかどうか及びそれはどのようにして調整すべきであるかを確認するために1つ以上のパラメータを使用することができる。例えば、スレショルドの比率よりも大きいピクセルの比率が過剰飽和している(すなちわ、多すぎる照明)ことを1つ以上のパラメータが示す場合は、光電力調整モジュール/回路814は、投影デバイス808に関する光源(照明)電力を低減させる。逆に、スレショルドの比率よりも大きいピクセルの比率が露出不足である(すなちわ、少なくすぎる照明)ことを1つ以上のパラメータが示す場合は、光電力調整モジュール/回路814は、投影デバイス808に関する光源(照明)電力を増大させる。同様に、受光器センサを調整すべきであるかどうか及び/又はどのようにして調整すべきであるかを確認するために復号不能なピクセル、ピクセル照明平均、偏差、及び/又はエントロピー、等に関するその他のスレショルドを使用することができる。光電力調整モジュール/回路814は、該調整を受光器センサ806に通信するのを可能にする出力インタフェースを含むことができる。
【0065】
[0075]深度計算モジュール/回路816は、深度を確認するために受光器センサ806から1つ以上のキャプチャされた画像(例えば、コードマスクが投影されたシーン又はオブジェクトの画像)においてシーン又はオブジェクト上に投影されるコードマスクを使用することができる。深度計算モジュール/回路816は、例えば
図2及び3において例示されるように、画像のピクセルの異なる領域又はグループに関する深度を確認するために1つ以上の計算を行うことができる。画像に関するこの深度情報は、画像とともに格納することができる。
【0066】
[0076]他の代替の特徴により、光電力を制御するために第1の受光器デバイスを使用することができ及び深度マップが得られる画像をキャプチャするために別個の第2の受光器デバイスを使用することができる。例えば、第1の受光器デバイスは、増大された/より高いフレームレートで走る(第2の受光器デバイスと比較して)より低い解像度のセンサであることができる。
【0067】
[0077]幾つかの実装においては、コードマスク投影デバイス808は、人間によって見ることができない光スペクトル(例えば、赤外線)においてコードマスクを投影することができる。例えば、シーン又はオブジェクト上に投影されたコードマスクをキャプチャするために第1の受光器を使用することができ、コードマスクのないシーン又はオブジェクトの画像をキャプチャするために第2の受光器を使用することができる。
【0068】
[0078]幾つかの実装においては、深度検知システム800は、フィードバックシステムであるとみなすことができ、コードマスクが投影された時点で、コードマスク(又はその一部分)の反射は、投影デバイス808に関する投影光源電力を調整することができる受光器センサ806によって画像としてキャプチャされる。従って、コードマスクの最初の投影は、深度検知システム800を調整するためのフィードバックとして働くことができ、このため、投影された及び反射されたコードマスク内のコードワードを正確に確認することができる。受光器センサ806による最初のキャプチャされた画像が飽和(例えば、光電力が受光器センサにとって強すぎる)を示すパラメータを有する場合は、光電力調整モジュール/回路814は、投影デバイス808の投影光源電力を低減させることができる。同様に、受光器センサ806による最初のキャプチャされた画像が露出不足(例えば、光電力が受光器センサにとって弱すぎる)を示すパラメータを有する場合は、光電力調整モジュール/回路814は、投影デバイス808の投影光源電力を増大させることができる。このプロセスは、許容可能な投影電力が達成され、その結果、キャプチャされた画像に関するパラメータがある範囲又はスレショルド内にあるようになるまで複数回繰り返すことができる。一例においては、フィードバックプロセスは、繰り返すことができ、投影デバイス808の投影光電力を増大させる/低減させるために増分的ステップ(例えば、固定された又は可変の調整ステップ)を使用することができる。他の例では、最初の(前の)キャプチャされた画像に関して得られた3つのパラメータが、投影デバイス808を調整するために使用される特定の電力調整を計算又は推定するために役立つことができる。
【0069】
[0079]代替実装においては、このフィードバックシステムは、受光器センサ806に関する露出時間を調整する働きをすることができる。すなわち、投影光電力を調整するのではなく、受光器センサ806は、最初のキャプチャされた画像から露出不足が確認された場合はシャッタ時間を長くし、最初のキャプチャされた画像から露出過剰(飽和)が確認された場合はシャッタ時間を短くすることによって、それ自体のシャッタ露出時間を調整することができる。
【0070】
これは、反復的プロセスであり、シャッタ露出時間は、固定された/可変のステップサイズによって、又はキャプチャされた画像のパラメータから確認された推定値に基づいて増分的に調整することができる。
【0071】
キャプチャされた画像に関するパラメータの確認
[0080]
図5、6、及び/又は7において、受光器センサ及び/又は投影光源を調整するために、キャプチャされた画像が処理され、コードマスク(及びその中のコードワード)がキャプチャされた画像に関して復号可能であるかどうかが確認される。コードマスクの一例が
図4において示される。
図9及び10は、コードマスク内においてコードワードがどのように定義されるかをさらに例示する。
【0072】
[0081]
図9は、形状変調された搬送波904内においてバイナリコードワード902をどのようにして表現するかができるかを例示する。変調された搬送波904は、コード/基準ストライプ906(例えば、アクティブストライプ)と、ガード間隔908と、を含むことができる。搬送波層902は、アクティブストライプ幅w1及びガード間隔w2によって定義することができる。アクティブストライプ幅w1は、送光器における電力要求によって決定することができる。ガード間隔w2は、送光器/受光器ポイントスプレッド関数(PSF)によって決定することができる。ここで、ガード、“0”及び“1”を表すために3状態グレースケールシステムが使用され、“0”及び“1”レベル比は、50%であることができる。
【0073】
[0082]
図10は、搬送波層及びコード層を用いるコードミクロ構造1002のさらなる詳細を例示する。この例では、コードマスクのサイズはn1×n2であることができ、ここで、n1=7(垂直)、n2=585(水平)であり、従って、合計4095の一意のコードワードが可能である。これらのコードワードの部分組を使用することによってより小さいコードブックが可能である。それは、コードワードのマッチが見つかるかどうかを確認するために行わなければならない比較数を減少させるという点でより小さいコードブックが望ましいことがある。すなわち、受信/キャプチャされたコードマスクを、その中の各コードワードを確認するために使用されるコードブックと比較することができる。該比較は、マッチ(例えば、最も近いマッチ)を確認するために受信/キャプチャされたコードマスクの領域をコードブックにおいて定義される各コードワードとマッチングすることを含むことができる。従って、(例えば、少数のコードワードを用いて)コードブックのサイズを小さくすることは、コードワードのマッチを見つけるために必要な比較数を減少させ及び受信/キャプチャされたコードマスクに関するコードワードのマッチを見つけるための処理リソースを減少させ及び/又は時間を短縮する。
【0074】
[0083]コードワードに関して使用されるコードマスクウィンドウ(例えば、k1×k2のウィンドウ)のサイズは、探索される最小の検出可能なオブジェクトに依存することができる。例えば、コードマスクウィンドウは、k
1×k
2=3×4シンボルウィンドウであることができる。従って、ウィンドウサイズは、最小の検出可能なオブジェクトのサイズ(例えば、検出可能なオブジェクト又は特徴)及び該オブジェクトの検出が発生する距離によって定義される。さらに、深度分解能は、搬送波スペースと等しいことができる。ガード間隔は、未知のスプレッドに関する対策である。選択されたパラメータは、分解能と検出との間のバランスを提供することができる。
【0075】
[0084]特定の画像を生成するためにシーン上に投影されるコードマスクは既知であるため、これは、平均二乗誤差、ハミング(Hammimg)距離、及び/又は、露出時間及び/又は光源電力を調整する方法を示す働きをすることができるその他のメトリック/パラメータを得るために使用することができる。
【0076】
[0085]幾つかの実装においては、コードワードの慎重な選択は、画像内のキャプチャされたコードワードの誤差訂正を行うために役立つこともできる。
【0077】
[0086]図において示されるコンポーネント、ステップ、特徴、及び/又は機能のうちの1つ以上は、再編すること及び/又は単一のコンポーネント、ステップ、特徴又は機能に結合すること、又は幾つかのコンポーネント、ステップ、又は機能において具現化することができる。ここにおいて開示される新規の特徴から逸脱することなしに追加の要素、コンポーネント、ステップ、及び/又は機能を加えることもできる。図において例示される装置、デバイス、及び/又はコンポーネントは、図において説明される方法、特徴、又はステップのうちの1つ以上を実行するように構成することができる。ここにおいて説明される新規のアルゴリズムは、ソフトウェアにおいて効率的に実装すること及び/又はハードウェア内に埋め込むこともできる。
【0078】
[0087]さらに、実施形態は、フローチャート、流れ図、構造図、又はブロック図として描かれるプロセスとして説明できることが注目される。フローチャートは、作業を順次のプロセスとして説明しているが、それらの作業の多くは、並行して又は同時並行して行うことができる。さらに、作業の順序は、組み替えることができる。プロセスは、その作業が完了されたときに終了される。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラム、等に対応することができる。プロセスが関数に対応するときには、それの終了は、呼び出し関数又は主関数に戻ることに対応する。
【0079】
[0088]さらに、記憶媒体は、データを格納するための1つ以上のデバイス、例えば、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス及び/又は情報を格納するためのその他の機械によって読み取り可能な媒体、プロセッサによって読み取り可能な媒体、及び/又はコンピュータによって読み取り可能な媒体を表すことができる。用語“機械によって読み取り可能な媒体”、“コンピュータによって読み取り可能な媒体”、及び/又は“プロセッサによって読み取り可能な媒体”は、ポータブルの又は固定された記憶デバイス、光学記憶デバイス、及び命令及び/又はデータを格納、含有又は搬送することが可能な様々なその他の媒体等の非一時的な媒体を含み、ただしこれらに限定されない。従って、ここにおいて説明される様々な方法は、“機械によって読み取り可能な媒体”、“コンピュータによって読み取り可能な媒体”、及び/又は“プロセッサによって読み取り可能な媒体”内に格納することができ及び1つ以上のプロセッサ、機械及び/又はデバイスによって実行することができる命令及び/又はデータによって完全に又は部分的に実装することができる。
【0080】
[0089]さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、又はそれらのあらゆる組み合わせによって実装することができる。ソフトウェア、ファームウェア、ミドルウェア又はマイクロコードにおいて実装されるときには、必要なタスクを実行するためのプログラムコード又はコードセグメントは、機械によって読み取り可能な媒体、例えば、記憶媒体又はその他の記憶装置、において格納することができる。プロセッサは、必要なタスクを実行することができる。コードセグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、又は、命令、データ構造、又はプログラム文のあらゆる組み合わせを表すことができる。コードセグメントは、情報、データ、引数、パラメータ、又はメモリ内容を渡す及び/又は受け取ることによって他のコードセグメント又はハードウェア回路に結合することができる。情報、引数、パラメータ、データ、等は、メモリシェアリング、メッセージ渡し、トークン渡し、ネットワーク送信、等を含むあらゆる適切な手段を介して渡すこと、転送すること、又は送信することができる。
【0081】
[0090]ここにおいて開示される例と関係させて説明される様々な例示的な論理ブロック、モジュール、回路、要素、及び/又はコンポーネントは、ここにおいて説明される機能を果たすように設計された汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、その他のプログラマブル論理デバイス、ディスクリートゲートロジック、ディスクリートトランジスタロジック、ディスクリートハードウェアコンポーネント、又はそれらのあらゆる組合せ、を用いて実装又は実行することが可能である。汎用プロセッサはマイクロプロセッサであることができるが、代替においては、プロセッサは、従来のどのようなプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであってもよい。プロセッサは、コンピューティングコンポーネントの組合せ、例えば、DSPと、1つのマイクロプロセッサとの組合せ、複数のマイクロプロセッサとの組合せ、DSPコアと関連する1つ以上のマイクロプロセッサとの組合せ、又はあらゆるその他の該構成、として実装することも可能である。
【0082】
[0091]ここにおいて開示される例と関係させて説明される方法又はアルゴリズムは、ハードウェアにおいて直接、プロセッサによって実行可能なソフトウェアモジュールにおいて、又は両方の組み合わせにおいて、処理ユニット、プログラミング命令、又はその他の指示の形態で具現化することができ、及び、単一のデバイス内に入れること又は複数のデバイス間で分散させることができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取り外し可能なディスク、CD−ROM又は当業において知られるあらゆるその他の形態の記憶媒体、内に常駐することができる。記憶媒体は、プロセッサが記憶媒体から情報を読み出すこと及び記憶媒体に情報を書き込むことができるようにプロセッサに結合することができる。代替においては、記憶媒体は、プロセッサと一体化させることができる。
【0083】
[0092]ここにおいて開示される実施形態と関係させて説明される様々な例示的な論理ブロック、モジュール、回路、及びアルゴリズムのステップは、電子ハードウェア、コンピュータソフトウェア、又は両方の組み合わせとして実装可能であることを当業者はさらに評価するであろう。ハードウェアとソフトウェアのこの互換性を明確に例示するため、上記においては、様々な例示的なコンポーネント、ブロック、モジュール、回路、及びステップが、それらの機能の観点で一般的に説明されている。該機能がハードウェアとして又はソフトウェアとして実装されるかは、特定の用途及び全体的システムに対する設計上の制約事項に依存する。
【0084】
[0093]ここにおいて説明される本発明の様々な特徴は、本発明を逸脱することなしに異なるシステムにおいて実装することができる。上記の実施形態は、単なる例であるにすぎず、本発明を限定するものであるとは解釈されるべきでないことが注目されるべきである。実施形態に関する説明は、例示的なものであり、請求項の範囲を限定しないことが意図される。従って、本教示は、その他のタイプの装置に対しても容易に適用可能であり、数多くの代替方法、修正、及び変形が当業者にとって明らかになるであろう。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
構造化された光を用いるアクティブ深度検知システムにおいて表面の反射率の違いを補償するのに好適するデバイスであって、
コードマスクが投影されるシーンの画像をキャプチャするための受光器センサと、
前記キャプチャされた画像から1つ以上のパラメータを確認し、及び
後続してキャプチャされる画像内における前記コードマスクの復号を向上させるために前記1つ以上のパラメータに従って投影光源のための光源電力を動的に調整するのに好適する処理回路と、を備える、デバイス。
[C2]
前記処理回路は、
前記コードマスクに基づいて前記キャプチャされた画像内の前記シーンに関する深度情報を確認するのにさらに好適するC1に記載のデバイス。
[C3]
前記処理回路は、
前記光源電力を特定の照明において固定し、前記受光器センサに関する露出時間が調整するのにさらに好適するC1に記載のデバイス。
[C4]
前記処理回路は、
前記受光器センサに関する露出時間を固定値に維持し、前記光源電力を調整するのにさらに好適するC1に記載のデバイス。
[C5]
前記1つ以上のパラメータは、前記コードマスクに基づいて前記キャプチャされた画像内の領域と相関されるC1に記載のデバイス。
[C6]
前記投影光源は、複数の光素子を含み、前記投影光源のための前記光源電力を動的に調整することは、前記対応する1つ以上のパラメータに基づいて前記光素子の各々に関して前記光源電力を個々に制御することを含むC1に記載のデバイス。
[C7]
前記受光器センサは、
前記コードマスクが投影される前記シーンの新しい画像をキャプチャするのにさらに好適し、前記新しい画像は、前記個々に調整される複数の光素子の動作に起因して領域ごとに光補償されるC6に記載のデバイス。
[C8]
前記受光器センサは、複数の個々に制御されるセンサシャッタを含み、前記処理回路は、前記受光器センサによってキャプチャされた前記光を調整するために前記対応する1つ以上のパラメータに基づいて前記複数のセンサシャッタを個々に制御するのにさらに好適するC1に記載のデバイス。
[C9]
前記センサシャッタは、前記1つ以上のパラメータによって示される所定の領域における多すぎる又は少なすぎる光を補償するために中を通る前記光を減少又は増加させるように制御されるC8に記載のデバイス。
[C10]
前記受光器センサは、
前記コードマスクが投影される前記シーンの新しい画像をキャプチャするのにさらに好適し、前記新しい画像は、前記個々に調整される複数のセンサシャッタの前記動作に起因して領域ごとに光補償されるC8に記載のデバイス。
[C11]
構造化された光を用いるアクティブ深度検知システムにおいて表面の反射率の違いを補償するための方法であって、
受光器センサにおいて、コードマスクが投影されるシーンの画像をキャプチャすることと、
処理回路において、前記キャプチャされた画像から1つ以上のパラメータを確認することと、
後続してキャプチャされる画像内における前記コードマスクの復号を向上させるために前記1つ以上のパラメータに従って投影光源のための光源電力を動的に調整することと、を備える、方法。
[C12]
前記コードマスクに基づいて前記キャプチャされた画像内の前記シーンに関する深度情報を確認することをさらに備えるC11に記載の方法。
[C13]
前記光源電力を特定の照明において固定し、前記受光器センサに関する露出時間が調整されることをさらに備えるC11に記載の方法。
[C14]
前記受光器センサに関する露出時間を固定値に維持し、前記光源電力が調整されることをさらに備えるC11に記載の方法。
[C15]
前記1つ以上のパラメータは、前記コードマスクに基づいて前記キャプチャされた画像内の領域と相関されるC11に記載の方法。
[C16]
前記投影光源は、複数の光素子を含み、前記投影光源のための前記光源電力を動的に調整することは、前記対応する1つ以上のパラメータに基づいて前記光素子の各々に関して前記光源電力を個々に制御することを含むC11に記載の方法。
[C17]
前記コードマスクが投影される前記シーンの新しい画像をキャプチャすることをさらに備え、前記新しい画像は、前記個々に調整される複数の光素子の前記動作に起因して領域ごとに光補償されるC16に記載の方法。
[C18]
前記受光器センサは、複数の個々に制御されるセンサシャッタを含み、前記受光器センサによってキャプチャされた前記光を調整するために前記対応する1つ以上のパラメータに基づいて前記複数のセンサシャッタを個々に制御することをさらに備えるC11に記載の方法。
[C19]
前記1つ以上のパラメータによって示される所定の領域における多すぎる又は少なすぎる光を補償するために中を通る前記光を減少又は増加させるように前記センサシャッタを制御することをさらに備えるC18に記載の方法。
[C20]
前記コードマスクが投影される前記シーンの新しい画像をキャプチャすることをさらに備え、前記新しい画像は、前記個々に調整される複数のセンサシャッタの前記動作に起因して領域ごとに光補償されるC18に記載の方法。
[C21]
構造化された光を用いるアクティブ深度検知システムにおいて表面の反射率の違いを補償するのに好適するデバイスであって、
受光器センサにおいて、コードマスクが投影されるシーンの画像をキャプチャするための手段と、
処理回路において、前記キャプチャされた画像から1つ以上のパラメータを確認するための手段と、
後続してキャプチャされる画像内における前記コードマスクの復号を向上させるために前記1つ以上のパラメータに従って投影光源のための光源電力を動的に調整するための手段と、を備える、デバイス。
[C22]
前記コードマスクに基づいて前記キャプチャされた画像内の前記シーンに関する深度情報を確認するための手段をさらに備えるC21に記載のデバイス。
[C23]
前記光源電力を特定の照明において固定し、前記受光器センサに関する露出時間が調整されるための手段をさらに備えるC21に記載のデバイス。
[C24]
前記受光器センサに関する露出時間を固定値に維持し、前記光源電力が調整されるための手段をさらに備えるC21に記載のデバイス。
[C25]
前記1つ以上のパラメータは、前記コードマスクに基づいて前記キャプチャされた画像内の領域と相関されるC21に記載のデバイス。
[C26]
前記投影光源は、複数の光素子を含み、前記投影光源のための前記光源電力を動的に調整するための前記手段は、前記対応する1つ以上のパラメータに基づいて前記光素子の各々に関して前記光源電力を個々に制御するための手段を含むC21に記載のデバイス。
[C27]
前記コードマスクが投影される前記シーンの新しい画像をキャプチャするための手段をさらに備え、前記新しい画像は、前記個々に調整される複数の光素子の前記動作に起因して領域ごとに光補償されるC26に記載のデバイス。
[C28]
前記受光器センサは、複数の個々に制御されるセンサシャッタを含み、前記受光器センサによってキャプチャされた前記光を調整するために前記対応する1つ以上のパラメータに基づいて前記複数のセンサシャッタを個々に制御するための手段をさらに備えるC21に記載のデバイス。
[C29]
前記1つ以上のパラメータによって示される所定の領域における多すぎる又は少なすぎる光を補償するために中を通る前記光を減少又は増加させるように前記センサシャッタを制御するための手段をさらに備えるC28に記載のデバイス。
[C30]
前記コードマスクが投影される前記シーンの新しい画像をキャプチャするための手段をさらに備え、前記新しい画像は、前記個々に調整される複数のセンサシャッタの前記動作に起因して領域ごとに光補償されるC28に記載の方法。
[C31]
構造化された光を用いるアクティブ深度検知システムにおいて表面の反射率の違いを補償するための命令を有するプロセッサによって読み取り可能な記憶媒体であって、それらの命令は、1つ以上のプロセッサによって実行されたときに、
受光器センサにおいて、コードマスクが投影されるシーンの画像をキャプチャし、
前記キャプチャされた画像から1つ以上のパラメータを確認し、及び
後続してキャプチャされる画像内における前記コードマスクの復号を向上させるために前記1つ以上のパラメータに従って投影光源のための光源電力を動的に調整することを前記1つ以上のプロセッサに行わせる、プロセッサによって読み取り可能な記憶媒体。
[C32]
1つ以上のプロセッサによって実行されたときに、
前記コードマスクに基づいて前記キャプチャされた画像内の前記シーンに関する深度情報を確認することを前記1つ以上のプロセッサに行わせる1つ以上の命令を有するC31に記載のプロセッサによって読み取り可能な記憶媒体。
[C33]
1つ以上のプロセッサによって実行されたときに、
前記光源電力を特定の照明において固定し、前記受光器センサに関する露出時間が調整されることを前記1つ以上のプロセッサに行わせる1つ以上の命令を有するC31に記載のプロセッサによって読み取り可能な記憶媒体。
[C34]
1つ以上のプロセッサによって実行されたときに、
前記受光器センサに関する露出時間を固定値に維持し、前記光源電力が調整されることを前記1つ以上のプロセッサに行わせる1つ以上の命令を有するC31に記載のプロセッサによって読み取り可能な記憶媒体。
[C35]
前記1つ以上のパラメータは、前記コードマスクに基づいて前記キャプチャされた画像内の領域と相関されるC31に記載のプロセッサによって読み取り可能な記憶媒体。
[C36]
前記投影光源は、複数の光素子を含み、1つ以上のプロセッサによって実行されたときに、
前記投影光源のための前記光源電力を動的に調整することを前記1つ以上のプロセッサに行わせる1つ以上の命令を有し、前記投影光源のための前記光源電力を動的に調整することは、前記対応する1つ以上のパラメータに基づいて前記光素子の各々に関して前記光源電力を個々に制御することを含むC31に記載のプロセッサによって読み取り可能な記憶媒体。
[C37]
1つ以上のプロセッサによって実行されたときに、
前記コードマスクが投影される前記シーンの新しい画像をキャプチャすることを前記1つ以上のプロセッサに行わせる1つ以上の命令を有し、前記新しい画像は、前記個々に調整される複数の光素子の動作に起因して領域ごとに光補償されるC37に記載のプロセッサによって読み取り可能な記憶媒体。
[C38]
前記受光器センサは、複数の個々に制御されるセンサシャッタを含み、
1つ以上のプロセッサによって実行されたときに、
前記受光器センサによってキャプチャされた前記光を調整するために前記対応する1つ以上のパラメータに基づいて前記複数のセンサシャッタを個々に制御することを前記1つ以上のプロセッサに行わせる1つ以上の命令をさらに有するC36に記載のプロセッサによって読み取り可能な記憶媒体。
[C39]
1つ以上のプロセッサによって実行されたときに、
前記1つ以上のパラメータによって示される所定の領域における多すぎる又は少なすぎる光を補償するために中を通る前記光を減少又は増加させるように前記センサシャッタを制御することを前記1つ以上のプロセッサに行わせる1つ以上の命令を有するC38に記載のプロセッサによって読み取り可能な記憶媒体。
[C40]
1つ以上のプロセッサによって実行されたときに、
前記コードマスクが投影される前記シーンの新しい画像をキャプチャすることを前記1つ以上のプロセッサに行わせる1つ以上の命令を有し、前記新しい画像は、前記個々に調整される複数のセンサシャッタの前記動作に起因して領域ごとに光補償されるC36に記載のプロセッサによって読み取り可能な記憶媒体。