(58)【調査した分野】(Int.Cl.,DB名)
前記コード層上の少なくとも1つの方向に沿った重複ウィンドウが、同じ行または列に沿った他のどのウィンドウとも異なる一意のコードワードを定義する、請求項1に記載の方法。
前記複合コードマスク中の各シンボルが、前記基準オブジェクトとは別個の、2つのグレースケール階調のうち1つにおけるラインセグメントである、請求項1に記載の方法。
ガード間隔幅に対する、各基準ストライプの幅が、送信機デバイスおよび/または受信機デバイスの予想光拡散によって決定される、請求項10に記載の送信機デバイス。
前記コード層を取得するための前記手段、前記キャリア層を取得するための前記手段、前記コード層および前記キャリア層のうち前記少なくとも1つを事前成形するための前記手段ならびに複合コードマスクを取得するための前記手段が処理回路を備え、
前記複合コードマスクを記憶するための前記手段が有形媒体を備える、請求項16に記載のマスク生成デバイス。
複合コードマスクを生成するための命令を記憶した機械可読記憶媒体であって、前記命令が、少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項1から7または請求項15のいずれか一項に記載の方法を実施させる機械可読記憶媒体。
【発明を実施するための形態】
【0021】
[0058]以下の説明では、実施形態の十分な理解が得られるように具体的な詳細を与える。ただし、これらの実施形態は、これらの具体的な詳細なしに実施できることを、当業者なら理解されよう。たとえば、これらの実施形態を不必要な詳細において不明瞭にすることを回避するために、回路をブロック図で示すことがある。他の場合では、これらの実施形態を不明瞭にしないために、よく知られている回路、構造、および技法を詳細に図示しないことがある。
【0022】
[0059]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用する。「例示的」として本明細書で説明するいかなる実装形態または実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきではない。同様に、「実施形態」という用語は、すべての実施形態が、説明する特徴、利点、または動作モードを含むことを必要としない。
【0023】
概要
[0060]第1の特徴は、キャリア層(基準マーカーをもつ)とコード層(一意のコードワードをもつ)とを組み合わせることによって、歪みに対して不変である空間マスクを提供する。キャリア層は、コード層の歪み(たとえば、スキュー、回転、圧縮、伸長、ティルトなど)の補正と、したがって受信機によるコードワードの正しい識別とを可能にする基準マーカー(たとえば、既知の配向のストライプ)を提供する。
【0024】
[0061]第2の特徴によると、コンパクトコードワード構造およびコードブックが提供される。コンパクトコードワード構造は、奥行きを確認する際により大きい粒度を認めるので、望ましい。ただし、コードワードは、セグメント化を避けるために十分に大きいべきである。さらに、より小さいコードブックは、サンプリングされたコードワードと、コードブック中の可能コードワードのより素早い相関を認める。これらの目標は、コード層の少なくとも1つの軸または方向において一意のコードワードを定義する重複(k1×k2シンボルウィンドウ)としてコードワードを定義することによって遂行することができる。
【0025】
[0062]第3の特徴によると、コードマスクは、コードマスク内でコードプリミティブを1回または複数回複製し、または繰り返すことによって生成され得る。コードブックプリミティブは、n1×n2シンボル構造内の複数の空間コード化された一意のコードワードとして定義され得る。そのようなコードブックプリミティブは、可能なすべてのコードワードのサブセット(たとえば、n1×n2シンボル構造内で可能であるシンボルの組合せ)から定義され得る。コードマスクは次いで、コードマスク中でコードブックプリミティブをx回再利用することによって生成され得る。
【0026】
例示的な動作環境
[0063]
図1は、シーンまたはオブジェクトを照明し、2次元画像および/または情報から3次元情報を生成するための奥行き情報を取得するのに、既知のパターンが使われる例示的な能動検知システムを示す。本明細書に記載する1つまたは複数の態様および/または特徴は、そのような例示的な能動検知システム内で実装され得る。ここで、送信機102が、コードマスク104(たとえば、コードをもつ画像)を通して明視野を投影して、オブジェクトまたはシーン106にコードワードを投影する。受信機108が、投影コードマスク110と、その中のコードワードとをキャプチャする。この例は、コードマスク104のセクション/部分/ウィンドウ112が(セクション/部分/ウィンドウ114として)、オブジェクトまたはシーン106の表面(たとえば、投影セクション/部分/ウィンドウ116)上にどのように投影されるかを示す。投影セクション/部分/ウィンドウ116は次いで、受信機108によって、キャプチャされたセグメント118としてキャプチャされ得る。セクション/部分/ウィンドウ112は、一意に識別され得るコードワードとして使うことができる。したがって、このようにしてシーンまたはオブジェクト106を一意のコードワードで覆うことによって、シーンまたはオブジェクト106のセクション/部分は、識別/タグ付けすることができ、この情報は、奥行き検知に使うことができる。
【0027】
[0064]受信機108によってキャプチャされた画像から、シーンまたはオブジェクト106にわたる複数のセグメントが識別され得る。各セグメント118は、受信機108と、コード化マスク104の既知のパターンから確認された他のセグメントに対するその場所とにおいて、一意に識別可能であり得る。各セグメント/部分/ウィンドウからのコードの識別は、パターンセグメント化(たとえば、歪みに対処するため)と、認知されたセグメント/部分/ウィンドウから対応するコード(1つまたは複数)への復号とを伴い得る。さらに、配向および/または奥行きを確認するために、各キャプチャされたセグメント/部分/ウィンドウにわたって三角測量が適用され得る。複数のそのようなセグメント/部分/ウィンドウが組み合わされて、キャプチャされた画像パターンをまとめることができる。このようにして、シーンまたはオブジェクト106について、奥行きのマップが生成され得る。
【0028】
[0065]
図2は、2次元(2D)画像または情報から3次元(3D)シーンが構築される能動検知のための別の例示的なシステムを示す。エンコーダ/形状変調器201は、コードマスクを生成する働きをすることができ、コードマスクは次いで、送信チャネル204を介して送信機デバイス202によって投影される。コードマスクは、標的(たとえば、シーンまたはオブジェクト)に投影されてよく、反射光が、受信機センサー205によって画像(たとえば、コードマスク画像)としてキャプチャされる。受信機センサー205(たとえば、
図1の受信機108)において、標的(たとえば、シーンまたはオブジェクト)がキャプチャされ、その形状/奥行きが205で符号化される。形状/奥行き符号化は、たとえば、奥行き情報を確認するために投影コードマスクを使って達成され得る。たとえば、シーンまたはオブジェクト(投影コードマスクを含む)のキャプチャされた画像は、206で、奥行きマップ208を取得するように復号され得る。奥行きマップ208は次いで、標的の3次元バージョン210a〜eを提示、生成、および/または提供するのに使われ得る。
【0029】
[0066]能動検知は、送信機デバイス202によってシーンまたはオブジェクトに投影されたコードマスクから、すべての空間コード(すなわち、コードワード)を(受信機センサー205および/またはデコーダ206において)認識可能であることに依拠する。シーンまたはオブジェクトが送信機/受信機に近すぎる場合、シーンまたはオブジェクトの表面は傾斜され/曲げられ、および/またはベースライン基準プレーンが傾けられ、コードは、未知のアフィン変換(たとえば、回転、スキュー、圧縮、伸長など)において修正される。
【0030】
[0067]本明細書に記載する1つまたは複数の態様または特徴は、
図1および
図2の例示的な環境内で実装され得る。
【0031】
例示的な能動奥行きセンシング
[0068]
図3は、オブジェクトまたはシーンについて、奥行きがどのように検知され得るかを示す。ここで、送信機デバイス302は、受信機デバイス304と同じベースライン基準プレーン(たとえば、レンズプレーン305)上にある。送信機デバイス302は、コードマスク310を、アパーチャまたはレンズを通してシーンまたはオブジェクトに投影する。ここで、説明のために、投影セグメント/部分/ウィンドウ312(コードワードを表す)が、送信コードマスク310の一部として示されている。このコードセグメント/部分/ウィンドウ312は、第1の距離で、または第2の距離で、シーンまたはオブジェクト306に投影されてよい。受信機デバイス304は、受信機アパーチャを通して、投影コードマスク310を(受信コードマスク311として)キャプチャする。ここで、送信コードマスク310は、受信コードマスク311と同じセンサープレーン307上に示されている。シーンまたはオブジェクト306が送信機デバイス302のより近く(たとえば、送信機デバイスから第1の距離)に位置するとき、投影セグメント312は、その最初の場所から距離d1の所に現れることが諒解されよう。一方、シーンまたはオブジェクト308がさらに離れて(たとえば、送信機デバイスから第2の距離)位置するとき、投影セグメント/部分/ウィンドウ312は、その最初の場所から距離d2の所に現れる(ここで、d2<d1)。つまり、オブジェクトが送信機/受信機から離れる程、受信投影セグメント/部分/ウィンドウは、受信機デバイス304におけるその元の位置から近くなる(たとえば、出射投影と入来投影がより並行になる)。逆に、オブジェクトが送信機/受信機から近くなる程、受信投影セグメント/部分/ウィンドウは、受信機デバイス304におけるその元の位置から離れる。したがって、受信コードワード位置と送信コードワード位置との間の差により、シーンまたはオブジェクトの奥行きが与えられる。一例では、そのような奥行き(たとえば、相対奥行き)により、各ピクセルまたはグループ化ピクセル(たとえば、2つ以上のピクセルからなる領域)のサブセットについての奥行きが与えられ得る。
【0032】
[0069]コードマスクを生成するための、様々なタイプの変調およびコーディング方式が考えられている。これらの変調およびコーディング方式には、時間コーディング、空間コーディング、および直接コード化(codification)がある。しかし、各方式には欠点がある。
【0033】
[0070]時間コーディングでは、パターンが測定面に(たとえば、時間経過に伴って)連続的に投影される。この技法は、高度な正確さと分解能とを有するが、動的シーンには適さない。
【0034】
[0071]空間コーディングでは、形状およびパターンに基づいて、近隣にある情報が符号化される。擬似ランダムコードはDe−Bruijnに基づいてよく、またはM配列が、コードブック(たとえば、m値強度または色変調)を定義する。ただし、パターンセグメント化は困難であり、形状およびパターンが歪んでいる場合は容易に成し遂げられない。
【0035】
[0072]直接コード化では、水平ピクセル座標と垂直ピクセル座標の両方が符号化される。変調は、単調位相または強度波形によるものであってよい。ただし、この方式は、実装するのに、大きいコードブックを要求する。キャプチャすると、すべてのコードワードが、(たとえば、コードブック中の)可能コードワードの定義済みセットに対して相関付けられなければならないので、小さいコードワードセット(たとえば、小さいコードブック)の使用が望ましい。また、最小距離が小さく、これによりエラーが引き起こされる。
【0036】
投影歪み問題
[0073]
図4は、投影コードを正確に識別する際に問題となる投影歪みの例を示す。ここで、送信機と受信機との間のベースライン基準プレーン406に対して角度θである面404に、コードマスクセグメント402が投影されている。したがって、受信コードマスクセグメント408の歪みがある。近距離では、斜めの面が投影歪みを引き起こし、その結果、曲がったパターン、視野の外へのシフト、および/またはコードエイリアシングが生じ得る。ここでは、受信コードマスクセグメント412のエイリアシングが示されている。また、投影歪みも示されており、ここで単語「Qualcomm」414は、投影変換418によって、416のように歪んでいる。
【0037】
[0074]
図5は、投影歪みの別の例を示す。ここで、典型的なコードマスク502が面に投影されており、受信/キャプチャされたコードマスク504が歪んでいる。分散コードは、セグメント化中の投影歪みに対しては堅牢でない。正確なセグメント化は、複雑な登録とコンテキスト情報とを要求する。相関ウィンドウ508および512は、元のコードマスクを回復しようと試みるのに使われる。ただし、ここで示されているように、受信機相関ウィンドウ512は、歪んだコードマスクセグメントの一部分をキャプチャするだけである。
【0038】
[0075]
図6は、能動検知のための典型的な空間コーディングによって遭遇される歪み問題の例を示す。能動検知は、すべての空間コードを認識可能であることに依拠する。オブジェクトが送信機/受信機に近く、および/またはプレーンが傾いている場合、コードは、未知のアフィントランスフォームにおいて修正される。ここで、初期コード602は、それが投影されるオブジェクトの表面またはプレーンによって、または送信機および受信機の不整列により、歪んでいる。したがって、いくつかの例において、受信コード604は、予想されるよりも細い場合があり、および/または受信コード606は、ティルトし、または傾いている場合があり、正しいコードの検出が困難になる。
【0039】
[0076]
図7は、能動検知のための典型的な空間コーディングによって遭遇される歪み問題の別の例を示す。これらの例では、空間コーディングにおいて、コードワードが別の有効なコードワードに変換されてよく、したがって能動検知が困難になることを示す。たとえば、第1の隣接コードワードセット702は、コードワードを508のように傾かせるオブジェクトプレーンまたは表面に投影され得る。したがって、第1のコードワード704が、変換コードワード706として間違って検出され得る。第1のコードワード704は、白いストライプと、それに続く黒いストライプを有していたが、変換コードワード706は、大部分が白であり、有効なコードワードと誤解され得ることに留意されたい。
【0040】
例示的な複合コードマスク
[0077]
図8は、空間コーディングを用いた、歪み問題に対する解決法を示す。この手法において、コードマスクは、コード層804の上に重ねられたキャリア層802によって構築され得る。ここで、キャリア層802は、比較的細い白い線808(すなわち、基準ストライプ)がその間にある幅広の黒い線806(すなわち、ガード間隔)を含み得る。コード層804中のコードストライプ812の場所に対応する細い白い線808(すなわち、基準ストライプ)。キャリア層802は、抽出され、コードワードのアフィントランスフォームを推定するのに使われ得る冗長層である。コード層804は、コードマスクを備える異なるコードワードを指定する実際の2値パターンである。
【0041】
[0078]
図9は、形状変調キャリア904内で2値コードワード902がどのように表され得るかを示す。変調キャリア904は、コード/基準ストライプ906(たとえば、アクティブストライプ)とガード間隔908とを含み得る。キャリア層902は、アクティブストライプ幅w1およびガード間隔w2によって定義され得る。アクティブストライプ幅w1は、送信機における電力要件によって決定され得る。ガード間隔w2は、送信機/受信機点像分布関数(PSF)によって決定され得る。ここで、ガード、すなわち「0」および「1」を表すのに、トライステートグレースケールシステムが使われ、ここで「0」および「1」レベルの比は50%であってよい。
【0042】
[0079]
図10は、キャリア層とコード層とを使うコードミクロ構造1002のさらなる詳細を示す。この例では、コードマスクのサイズはn1×n2であってよく、ここで、合計で4095個の一意のコードワードが可能であるように、n1=7(垂直)、n2=585(水平)である。これらのコードワードのサブセットを使うことによって、より小さいコードブックも可能である。より小さいコードブックは、コードワード一致が見つかるかどうか確認するのに実施されなければならない比較の回数を削減するという点で望ましい場合がある。つまり、受信/キャプチャされたコードマスクは、その中の各コードワードを確認するのに使われるコードブックと比較され得る。そのような比較は、各コードワードがコードブック中で定義した、受信/キャプチャされたコードマスクの領域を突き合わせて、一致(たとえば、または最も近い一致)を確認することを伴い得る。したがって、(たとえば、少数のコードワードを使って)コードブックのサイズを削減すると、コードワード一致を見つけるのに必要とされる比較の回数が削減され、受信/キャプチャされたコードマスクについてのコードワード一致を見つけるための処理リソースおよび/または時間が削減される。
【0043】
[0080]コードワード用に使われるコードマスクウィンドウのサイズ(たとえば、k1×k2ウィンドウ)は、シークされる最小検出可能オブジェクトに依存し得る。たとえば、コードマスクウィンドウは、k
1×k
2=3×4シンボルウィンドウであってよい。したがって、ウィンドウサイズは、最小検出可能オブジェクトサイズ(たとえば、検出可能オブジェクトまたは特徴)およびそのようなオブジェクト検出が起こる距離によって定義される。さらに、奥行き分解能は、キャリアスペーシングに等しくてよい。ガード間隔は、未知の拡散に対する対抗措置である。選択されたパラメータにより、分解能と検出との間のバランスをとることができる。
【0044】
[0081]コード構造の設計は、どれだけ効率的にコードワード検出が実施され得るかに影響を与える。たとえば、コードは、(たとえば、オブジェクトが動いている場合)静的シーンと動的シーンの両方をサポート可能であり、そうすることによってコードマスクが1つのショットまたは投影において展開され得ることが好ましいであろう。コードは、高い奥行き分解能を有するべきであり、このことは多数のコードワードを含意する。ただし、コードは稠密に詰め込まれるべきであり、たとえば埋め込みコードワードは一意でなければならない。コードは、閉鎖およびジャンプ境界に対して堅牢であるべきである。したがって、コンパクトウィンドウは、伸長されたものよりも破壊される可能性が低い。コードはまた、オブジェクトまたはシーンの細部がよりたやすく検出され得るように、高い特徴分解能を有する(たとえば、小さい変調「形状波形」を有する)べきである。コードはまた、セグメント化において低複雑度であるべきである(たとえば、パターンは単純であるべきである)。コードは、投影歪みに対して堅牢であるべきである(たとえば、パターンは、投影変換に対して比較的不変であるべきである)。さらに、コードは、反射率変化および干渉に対して堅牢であるべきである(たとえば、変調は、わずかな強度レベルのみを要求するべきである)。
【0045】
[0082]
図11(
図11Aと
図11Bとを備える)は、キャリア層とコード層とを使うコードミクロ構造のさらなる詳細を示す。例示的なコードマスク1106(たとえば、シンボル構造)が、複数の配向シンボル(たとえば、ラインセグメント)としてレンダリングされ、キャリア層と組み合わされて、複合コードマスク1102が生成され得る。各コードワードは、シンボル(たとえば、ラインセグメント)のウィンドウによって表され得る。たとえば、ここでは複数のコードワードが表されており、ここでウィンドウは重複している。
図11Bは、複数のコードワードが重複ウィンドウ1108、1110、1112、および1114によってどのように定義され得るかを示す。
【0046】
[0083]一実装形態では、送信機および受信機は、同じ水平プレーン上にセットアップされ得る。コード層1106は、その完全なウィンドウプロパティにより、最大限に密であり、このことは、(たとえば、少なくともコード層の同じ列または行について)すべての重複ウィンドウによって一意のコードが定義されることを意味する。ウィンドウを少なくとも一方向に(たとえば、水平に)一単位だけシフトすると、一意のコードワードが生じる。たとえば、x方向のコードワードは一意であり得る。ただし、コードブックをできるだけ小さく保つために(たとえば、一致を見つけるために検出コードワードが相関されなければならないコードワードの数を削減するために)、垂直方向のコードワードは一意である必要はない。たとえば、コード層またはコードマスクのx方向に及ぶのに十分に一意のコードワードでコードブックを定義した後、コードワードはy方向に繰り返されてよい。というのは、奥行き情報が(
図3に示したように)一方向(x方向)で認知/キャプチャされたコードワードから取得されるからである。したがって、横断方向(y方向)に一意のコードワードを有することは必要ない。また、複合コードマスク1102の幅は、対象となっているオブジェクトまたはシーンが位置する距離範囲に依存して(たとえば、複合コードマスクの幅は、対象となっているオブジェクトまたはシーンを一度の投影においてキャプチャするのに、十分に広くてよい)、およびエイリアシングを避けるように選択され得る(たとえば、複合コードマスクがコードワードを再利用する場合、複合コードマスクは、再利用されるコードワードの誤った検出を避けるのに、十分に広くなるべきである)。
【0047】
[0084]送信機および受信機が同じ垂直プレーン上にセットアップされ得る代替実装形態では。この例では、y方向のコードワードは一意であってよく、x方向のコードワードは繰り返してよい。
【0048】
[0085]一例では、コード層1106中の2値シンボルは、少なくとも1つの方向(たとえば、x方向)において一意のコードワードを達成するように、擬似ランダムに配置されてよい。別の例では、2値シンボルは、各ウィンドウによって表されるコードワードのハミング距離を最大限にするように配置されてよい。これにより、ハミング距離に基づいて最も近いコードワードを選択することによる、検出/キャプチャされたコードワード中のエラー訂正が可能になる。
【0049】
[0086]コードワード(光学受信機によって認知される)は、オブジェクト(またはオブジェクトの部分)についての奥行き情報を表す働きをすることができ、画像ファイルの一部として、オブジェクトの画像とともに送信される。たとえば、M×N画像に対して、画像ファイル1104は、画像のセグメント/部分についての奥行き情報(たとえば、検出コードワードから生成される)とともに2次元画像情報を含み得る。たとえば、各コードワードは、2次元画像のp1×p2ピクセルウィンドウを表すための奥行きに生成され得る。
【0051】
[0088]
図12は、3つのグレースケールレベル(たとえば、黒、白、およびグレー)を使う第1の複合コードマスク1200を示す。この例では、黒がガード間隔に対して使われ、白/グレーがコード/基準ストライプに対して使われる。
【0052】
[0089]
図13は、2つのグレースケールレベル(たとえば、黒および白)を使う第2の複合コードマスク1300を示す。この例では、黒がガード間隔に対して使われ、白/黒がコーディング/基準ストライプに対して使われる。したがって、基準ストライプは、コーディング(たとえば、コードワード)に使われる白ストライプの存在から検出可能である。
【0053】
[0090]
図14は、正弦波成形を伴う2つのグレースケールレベル(たとえば、黒および白)を使う第3の複合コードマスク1400を示す。この例では、黒がガード間隔に対して使われ、白/黒がコーディング/基準ストライプに対して使われる。したがって、基準ストライプは、コーディング(たとえば、コードワード)に使われる白ストライプの存在から検出可能である。正弦波成形は、複合コードマスク1400の要素をあらかじめ歪ませる働きをし得る。この例では、複合コードマスクのそのような事前歪みにより、コードストライプのぶれおよび丸めが生じている。そのような事前歪みは、環境および/またはオブジェクト表面歪みを補償する働きをすることができ、そうすることによって、受信機による、投影された複合コードマスク中のコードワードの検出を向上させる。
【0054】
[0091]
図15は、2つのグレースケールレベル(たとえば、黒および白)を使う第4の複合コードマスクを示す。この例では、黒がガード間隔に対して使われ、白/黒がコーディング/基準ストライプに対して使われる。この例では、コードストライプは、x軸に沿って整列されるだけであり、y軸に沿っては千鳥配列される。
【0055】
[0092]
図16は、
図15の第4の複合コードマスク1500の一部分1502を示す。コードストライプはy軸に沿って千鳥配列されることが、ここで諒解されよう。コードストライプの千鳥配列は、コードワードを定義するのに使われるストライプが、x軸とy軸の両方において整列されないことを意味する。
図13から認知され得るように、たとえば、(コーディングに使われる)白いストライプがx軸およびy軸に沿って整列されている(たとえば、白いストライプが可変長であるときであっても、白いストライプの上が整列する場合)。対照的に、
図16では、(コーディングに使われる)白いストライプは、1つの軸(たとえば、x軸)に整列するだけであり、第2の軸(y軸)では整列されない(たとえば、白いストライプの上も下も整列されず、コードマスクの少なくとも一部分にわたって千鳥配列される)。
【0056】
[0093]千鳥配列がない場合、コードマスクが、角度面をもつオブジェクトに投影されたとき、歪みにより、コードマスクの異なる部分(たとえば、隣接しない部分、別個の部分など)がコードワードとして誤ってキャプチャされる可能性がある。対照的に、そのような誤ったまたは意図しないコードワードが検出される可能性は、白いストライプを千鳥配列することによって大幅に削減される。つまり、
図15および
図16の代替マスクは、ストライプを、少なくとも1つの次元または軸において千鳥配列されるように配置し、誤ったまたは意図しないコードワードが検出される見込みを低くする。
【0057】
[0094]
図17は、キャリア層とコード層の組合せ、ならびに複合コードマスクの変換を示す。キャリア層1702が、コード層1704の上に組み合わされ、または載せられて、複合コードマスク1706が得られる。マスク1706を不均一または傾斜表面に投影した結果、複合コードマスク1706は、キャプチャされたコードマスク1708に変換され得る。
【0058】
[0095]
図18は、元のコード層を取得するための、受信コードマスクの分解と、受信コードマスクの整列または調整とを示す。受信コードマスク1802は、元のコードマスクに対して不整列になるように変換され得る。ただし、既知のキャリア層が使われたので、受信コードマスク1802は、受信キャリア層1804および受信コード層1806に分解され得る。受信キャリア層1804のアフィン変換は、元のキャリア層(
図17の1702)と比較することによって分析および/または確認され得る。このようにしてキャリア層のアフィン変換を識別した上で、受信コード層1806は、元のコード層(
図17の1704)と実質的に一致する調整コード層1808を取得するように調整され得る。
【0059】
[0096]
図19は、受信コードマスク1904を変換させ、または歪ませる表面に、送信コードマスク1902がどのように投影され得るかの例を示す。諒解され得るように、コードマスク1902および1904中の基準ストライプ1910および1912は、受信コードマスク1904を整列する働きをし得る。
【0060】
[0097]
図20は、
図9の空間コーディング例が、どのようにして、空間振幅変調を含むようにさらに拡大され得るかの例を示す。コードワード2002が、ウィンドウ(たとえば、3×4シンボルウィンドウ)内の複数のシンボルによって定義される。各シンボルs
kは、異なる強度レベル(たとえば、グレースケールレベルまたは色)による振幅変調を使うことによって、他のシンボルと区別可能であり得る。ここで、強度レベルは、異なる色によって表される。したがって、振幅変調コードワード2004は、4タイプのシンボル(a1、a2、a3、a4)からなるコードワードを示す。得られるコードワードマスク2006は、振幅変調コードワード2004が、ガード帯域をもつ線形キャリア上にどのようにマップされるかを示す。キャリアはまた、コードワードの送信および/または受信特性を向上させるように、成形関数によって変調され得ることに留意されたい。
【0061】
[0098]
図21は、複合マスクコードを生成するためのマスク生成デバイスを示すブロック図である。マスク生成デバイス2102は、コード層ジェネレータ/セレクタ回路2116、キャリア層ジェネレータ/セレクタ回路2118、複合コードマスクジェネレータ/セレクタ回路2120、および/または事前成形回路2122を実装する処理回路2104を含み得る。処理回路2104は、メモリ/記憶デバイス2106および/または有形媒体2108に結合され得る。
【0062】
[0099]コード層ジェネレータ/セレクタ回路2116は、コード層(たとえば、
図11A、
図11B、
図20など)を生成し、かつ/または(たとえば、メモリ/記憶デバイス2110に記憶された)事前生成コード層を選択するように構成/適合され得る。キャリア層ジェネレータ/セレクタ回路2118は、キャリア層(たとえば、
図9、
図20など)を生成し、かつ/または(たとえば、メモリ/記憶デバイス2112に記憶された)事前生成キャリア層を選択するように構成/適合され得る。複合コードマスクジェネレータ/セレクタ回路2120は、コード層とキャリア層とを組み合わせ、複合コードマスク2114をメモリ/記憶デバイス2106および/または有形媒体2108(たとえば、フィルム、デジタルデータ記憶デバイスなど)に記憶することによって、複合コードマスクを生成するように構成/適合され得る。さらに、事前成形回路2122は、(たとえば、チャネルが、複合コードマスクが投影される際に通る経路および/または軌跡を含む場合)期待または予想チャネル歪みを補償するように、コード層およびキャリア層のうち少なくとも1つを事前成形するように適合され得る。
【0063】
[00100]
図22は、アフィン変換に対して耐性がある複合コードマスクをどのようにして生成するかの例を示す。複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードからなるコード層が、2202で取得される。たとえば、コード層は、コード層804(
図8)のように、複数のシンボルまたはグラフィックス(たとえば、n1シンボル×n2シンボル)を備え得る。一例では、コード層はn1×n2の2値シンボルを備えてよく、ここでn1およびn2は2よりも大きい整数である。いくつかの実装形態において、シンボルまたはグラフィックスは、(
図9のように)2つのグレースケール階調の各々が「0」または「1」を表す、2つのグレースケール階調(たとえば、白とグレー、白と黒など)のラインセグメントであってよい。一例では、少なくとも1つの次元においてコード層のシンボルは、千鳥配列され得る。各コードワードは、k1シンボル×k2シンボルであるコード層上のウィンドウによって定義されてよく、ここでk1およびk2は2よりも大きい整数である。コード層上の少なくとも1つの方向に沿った重複ウィンドウが、同じ行または列に沿った他のどのウィンドウからも、異なる一意のコードワードを定義し得る。つまり、各k1×k2ウィンドウは、特定の方向に沿って(たとえば、列または行に沿って)コード層中で一度だけ現れることができる。
【0064】
[00101]単独で確認可能でありコード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含むキャリア層も、2204で取得される。キャリア層の基準ストライプは、その間にガード間隔を有して、等間隔に離間され得る。さらに、基準ストライプ幅に対するガード間隔幅は、予想光拡散によって決定され得る。いくつかの例では、基準ストライプは、ガード間隔とは異なる幅であってよい(たとえば、ガード間隔よりも広くても狭くてもよい)。そのような予想光拡散は、たとえば、複合コードマスクを投影するのに使われる光源の分解能および/または電力、対象オブジェクトまでの距離、ならびに/あるいは受信機分解能に基づいて決定され得る。
【0065】
[00102]任意選択で、コード層およびキャリア層のうち少なくとも1つが、投影に先立ち、合成点像分布関数によって2206で事前成形され得る。一例では、投影に先立ち、合成点像分布関数によって、コード層およびキャリア層のうち少なくとも1つを事前成形することは、(a)コードマスクがそれを通して投影されるべきチャネルについての1つまたは複数の条件を確認すること、(b)1つまたは複数の条件に基づいて、合成点像分布関数を取得して、チャネルによって引き起こされた歪みを補償すること、ならびに/あるいは(c)コード層およびキャリア層のうち少なくとも1つに合成点像分布関数を適用することを含み得る。別の例では、投影に先立ち、合成点像分布関数によって、コード層およびキャリア層のうち少なくとも1つを事前成形することは、(a)コードマスクがそれを通して投影されるべきチャネルにおいて、歪みを補償する事前成形層を取得すること、および/または(b)事前成形層を複合マスクの一部として組み合わせることを含み得る。さらに他の実装形態において、送信機デバイスは動的に、コード層およびキャリア層のうち少なくとも1つの事前成形を実施することができ、コード層とキャリア層とを組み合わせて、複合コードマスクを取得する。
【0066】
[00103]次いで、コード層とキャリア層とを組み合わせることによって、複合コードマスクが2208で取得/生成される。たとえば、コード層とキャリア層とを組み合わせることは、コード層シンボルがキャリア層の基準ストライプ内に現れるように、コード層の上にキャリア層を重ねる/載せることを含み得る。つまり、コード層シンボルは、基準ストライプの場所を定義する働きをし得る。受信機デバイスは、(ガード間隔とは別個の)1つまたは複数のグレースケールレベルのシンボル(たとえば、コーディングストライプ)を配置することができ、そうすることによって、受信機デバイスが、キャリア層からコード層を分離または区別することを可能にする。キャリア層は、受信機が、アフィン変換の下で複合コードマスクを復号するのを認めてよい。いくつかの実装形態において、複合コードマスクは、事前におよび/または離れた所で生成され、送信機デバイスに提供され得ることに留意されたい。いくつかの事例では、異なる様々なコードマスク(たとえば、異なるコードワードをもつ、異なる距離用に構成された、など)が生成され、送信機デバイスに提供され得る。他の実装形態では、複合コードマスクは、(1つまたは複数の利用可能キャリア層からの)キャリア層と(1つまたは複数の利用可能コード層からの)コード層とを選択的に組み合わせることによって、送信機デバイスにおいて動的に生成され得る。
【0067】
[00104]複合コードマスクは次いで、2210で、有形媒体上に記憶され得る。様々な実装形態において、複合コードマスクは、投影可能なフィルム媒体に記憶されてもよく、デジタル構成可能媒体(たとえば、半透明なLCDスクリーン)に移行したデジタル形式で記憶されてもよい。
【0068】
[00105]様々な例において、有形媒体は、(a)複合コードマスクを具現化する単一のフィルム媒体、(b)コード層を記憶する第1のファイル媒体およびキャリア層を記憶する第2のフィルム媒体、(c)複合コードマスクがその中に記憶したデジタル記憶デバイス、ならびに/あるいは(d)コード層およびキャリア層が記憶されるデジタル記憶デバイスのうち少なくとも1つを含み得る。
【0069】
[00106]続いて、複合コード層の少なくとも一部分が、オブジェクト上に投影されて、オブジェクトについての奥行き情報を確認するのを助け得る。たとえば、送信機は、オブジェクトの表面に複合コード層を投影するのに、光を使うことができる。複合コードマスクはまた、画像としてレンダリングされ、オブジェクトへの後続投影のために記憶され得る。
【0070】
[00107]送信機が受信機と同じ水平基準プレーン上にあり得るいくつかの実装形態において、基準ストライプは、基準プレーンに対して垂直配向にあり得る。送信機が受信機と同じ垂直基準プレーン上にあり得る他の実装形態において、基準ストライプは、基準プレーンに対して水平配向にあり得る。
【0071】
[00108]
図23は、コードワードと複合コードマスクとを生成するための例示的な方法を示す。2302で、複数のシンボルがn1×n2シンボル構造に配置されてよく、ここでn1およびn2は整数値である。2304で、複数のコードワードが、シンボル構造内の異なる重複するk1×k2ウィンドウから定義されてよく、ここにおいて、共線的であり空間的に重複するウィンドウが一意のコードワードを定義し、コードワードは、シンボル構造の第1の方向では一意であるが、第1の方向に対して直角である第2の方向では繰り返される。
【0072】
[00109]2306で、シンボル構造のうち複数が、コードマスクとしてレンダリングされてよく、ここにおいて、2つの隣接するk1×k2ウィンドウ中のコードワードのコードワードエイリアシングを避けるように、2つの隣接するk1×k2ウィンドウ中のシンボルが選択される。コードマスクは、コード層と、独立した固有のキャリア層とを含んでよく、ここで、キャリア層は、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含む。キャリア層基準オブジェクトは、ガード間隔をその間にもつ、複数の等間隔に離間した基準ストライプを備え得る。各基準ストライプは、ガード間隔とは異なる幅であってよい。ガード間隔幅に対する、各基準ストライプの幅は、送信機デバイスおよび/または受信機デバイスの予想光拡散によって決定され得る。コード層の複数のシンボルは、少なくとも1つの次元において空間的に千鳥配列され得る。異なる重複するk1×k2ウィンドウは、2つの次元で重なり得る。
【0073】
例示的な送信機デバイス
[00110]
図24は、複合コードマスクを生成し、かつ/またはそのような複合コードマスクを投影するように構成され得る送信機デバイスの例を示すブロック図である。送信機デバイス2402は、メモリ/記憶デバイスに結合された処理回路2404、画像投影デバイス2408、および/または有形媒体2409を含み得る。
【0074】
[00111]第1の例において、送信機デバイス2402は、有形媒体2409に結合され、または媒体2409を含み得る。有形媒体は、複合コードマスク2414を定義し、含み、かつ/または記憶することができ、複合コードマスクは、キャリア層と組み合わされたコード層を含む。コード層は、複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードを含み得る。キャリア層は、単独で確認可能でありコード層とは別個であってよく、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含む。コード層およびキャリア層のうち少なくとも1つが、投影に先立ち、合成点像分布関数によって事前成形され得る。
【0075】
[00112]第2の例において、処理ユニット2404は、コード層ジェネレータ/セレクタ2416、キャリア層ジェネレータ/セレクタ2418、複合コードマスクジェネレータ/セレクタ2420および/または事前成形回路2422を含み得る。コード層ジェネレータ/セレクタ2416は、あらかじめ記憶されたコード層2410を選択することができ、かつ/またはそのようなコード層を生成することができる。キャリア層ジェネレータ/セレクタ2418は、あらかじめ記憶されたキャリア層2412を選択することができ、かつ/またはそのようなキャリア層を生成することができる。複合コードマスクジェネレータ/セレクタは、あらかじめ記憶された複合コードマスク2414を選択することができ、かつ/またはコード層2410とキャリア層2412とを組み合わせて、複合コードマスク2414を生成することができる。任意選択で、処理回路2404は、複合コードマスク2414、コード層2410、および/またはキャリア層2412を事前成形して、複合コードマスクがそれを通して投影されるべきチャネル中で予想歪みを補償する事前成形回路を含み得る。
【0076】
[00113]いくつかの実装形態において、複数の異なるコード層および/またはキャリア層が利用可能であってよく、ここで、各そのようなキャリア層またはコード層は、異なる条件向けに(たとえば、異なる距離にあるオブジェクト、または送信機デバイスと受信機デバイスとの間の異なる構成向けに)構成され得る。たとえば、第1の距離または範囲内のオブジェクトに対して、第2の距離または範囲にあるオブジェクト向けとは異なる、コード層とキャリア層の組合せが使われてよく、ここで、第2の距離は第1の距離よりも大きい。別の例では、送信機デバイスおよび受信機デバイスの相対配向に依存して、コード層とキャリア層の異なる組合せが使われてよい。
【0077】
[00114]画像投影デバイス2408は、生成/選択された複合コードマスクを、対象オブジェクト上に投影する働きをし得る。たとえば、他の光源へのレーザーが、対象となっているオブジェクト上に複合コードマスクを(たとえば、投影チャネルを通して)投影するのに使われ得る。一例では、複合コードマスク2414は、赤外スペクトル中で投影され得るので、裸眼には可視的でない場合がある。そうではなく、赤外スペクトル範囲内の受信機センサーが、そのような投影された複合コードマスクをキャプチャするのに使われ得る。
【0078】
[00115]
図25は、複合コードマスクを投影するための方法を示す。2502で、有形媒体上の複合コードマスクが取得され、複合コードマスクは、キャリア層と組み合わされたコード層を含み、ここにおいて、(a)コード層は、複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードを含み、(b)キャリア層は、単独で確認可能でありコード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含み、(c)コード層およびキャリア層のうち少なくとも1つが、投影に先立ち、合成点像分布関数によって事前成形される。コード層はn1×n2の2値シンボルを備えてよく、ここでn1およびn2は2よりも大きい整数である。
【0079】
[00116]送信機デバイスは次いで、2504で、複合コードマスクの少なくとも一部分を標的オブジェクトに投影して、受信機が、複合コードマスクの一度の投影を用いて標的オブジェクトについての奥行き情報を確認するのを助けることができる。
【0080】
[00117]一例では、コード層上の少なくとも1つの方向に沿った重複ウィンドウが、同じ行または列に沿った他のどのウィンドウからも、異なる一意のコードワードを定義し得る。複合コードマスク中の各シンボルは、基準オブジェクトとは別個の、2つのグレースケール階調のうち1つでのラインセグメントであってよい。一態様によると、コード層のシンボルは、少なくとも1つの次元において千鳥配列される。キャリア層基準オブジェクトは、ガード間隔をその間にもつ、複数の等間隔に離間した基準ストライプを備え得る。基準ストライプおよびガード間隔は、異なる幅であってよい。ガード間隔幅に対する、各基準ストライプの幅は、送信機デバイスおよび/または受信機デバイスの予想光拡散によって決定され得る。コード層とキャリア層は、コード層シンボルがキャリア層の基準ストライプ内に現れるように、コード層の上にキャリア層を重ねることによって組み合わされ得る。
【0081】
[00118]一例では、2値シンボルは配向ラインセグメントであってよい。ある事例では、コードマスク中のラインセグメントは、コードマスクの送信機およびコードマスクの受信機が整列されるプレーンに対して直角に配向される。送信機および受信機が、1つのプレーン(たとえば、水平プレーン)中で整列されるので、奥行き情報は、(
図3に示したような)一方向に沿ったコードワードの変位から取得される。したがって、コードワードの一意性は、変位の方向に沿って必要なだけである。
【0082】
[00119]コードワードの総数を比較的少なく保つために(たとえば、コードワード一致を見つけるのに必要とされる可能相関の数を削減するために)、シンボル構造は、コードワードの合計可能数からコードワードのサブセットを定義すればよい。したがって、コードワードは、シンボル構造の第1の方向では一意であり得るが、第1の方向に対して直角である第2の方向では繰り返される。
【0083】
[00120]一例では、各シンボルは、少なくとも50%の階調差を有する2つのグレースケール階調のうち1つでのラインセグメントである。別の例では、各シンボルは、コードマスク中のラインセグメントとして表され、ラインセグメントは、互いと並列および/または共線である。
【0084】
[00121]一例では、投影に先立ち、合成点像分布関数によって、コード層およびキャリア層のうち少なくとも1つを事前成形することは、(a)コードマスクがそれを通して投影されるべきチャネルについての1つまたは複数の条件を確認すること、(b)1つまたは複数の条件に基づいて、合成点像分布関数を取得して、チャネルによって引き起こされた歪みを補償すること、ならびに/あるいは(c)コード層およびキャリア層のうち少なくとも1つに合成点像分布関数を適用することを含む。別の例では、投影に先立ち、合成点像分布関数によって、コード層およびキャリア層のうち少なくとも1つを事前成形することは、(a)コードマスクがそれを通して投影されるべきチャネルにおいて、歪みを補償する事前成形層を取得すること、および/または(b)事前成形層を複合マスクの一部として組み合わせることを含む。
【0085】
例示的な受信機デバイス動作
[00122]
図26は、複合コードマスクから奥行き情報を取得するように構成され得る受信機デバイスの例を示すブロック図である。受信機デバイス2602は、メモリ/記憶デバイスと受信機センサー2608(たとえば、画像キャプチャデバイス2608)とに結合された処理回路2604を含み得る。
【0086】
[00123]受信機センサー2608(たとえば、カメラなど)は、オブジェクトの表面に投影された複合コードマスクの少なくとも一部分を取得する働きをし得る。たとえば、受信機センサーは、標的オブジェクトの表面に投影された複合コードマスクの少なくとも一部分をキャプチャすることができる。複合コードマスクは、(a)複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードからなるコード層、および(b)単独で確認可能でありコード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含むキャリア層によって定義され得る。コード層およびキャリア層のうち少なくとも1つが、投影に先立ち、合成点像分布関数によって事前成形されていてよい。一例では、受信機センサー2608は、赤外スペクトル内の複合コードマスクをキャプチャすることができる。
【0087】
[00124]コード層はn1×n2の2値シンボルを備えてよく、ここでn1およびn2は2よりも大きい整数である。複合コードマスクにおいて、各シンボルは、基準オブジェクトとは別個の、2つのグレースケール階調のうち1つでのラインセグメントであってよい。コード層のシンボルは、少なくとも1つの次元において千鳥配列され得る。キャリア層基準オブジェクトは、ガード間隔をその間にもつ、複数の等間隔に離間した基準ストライプを備え得る。基準ストライプおよびガード間隔は、異なる幅であってよい。ガード間隔幅に対する、各基準ストライプの幅は、送信機デバイスおよび/または受信機デバイスの予想光拡散によって決定され得る。
【0088】
[00125]処理回路2604は、基準ストライプ検出器回路/モジュール2612、歪み調整回路/モジュール2614、コードワード識別器回路/モジュール2616、奥行き検出回路/モジュール2618、および/または奥行きマップ生成回路/モジュール2620を含み得る。
【0089】
[00126]基準ストライプ検出器回路/モジュール2612は、複合コードマスクの部分内の基準ストライプを検出するように構成され得る。歪み調整回路/モジュール2614は、基準ストライプの実際の配向に対する基準ストライプの予想配向に基づいて、複合コードマスクの部分の歪みを調整するように構成され得る。コードワード識別器回路/モジュール2616は、複合コードマスクの部分内で定義されたウィンドウからコードワードを取得するように構成され得る。奥行き検出回路/モジュール2618は、ウィンドウに対応する標的オブジェクトの表面部分についての奥行き情報を、(a)複合コードマスクの一度の投影、および(b)既知の基準コードマスクに対するウィンドウの変位に基づいて取得するように構成され得る。
【0090】
[00127]奥行きマップ生成回路/モジュール2620は、歪んでいない複合コードマスクの部分内の異なる重複ウィンドウとして検出された複数のコードワードに基づいて、オブジェクトについての奥行きマップを組み立てるように構成され得る。
【0091】
[00128]一例では、コード層およびキャリア層のうち少なくとも1つの事前成形は、成形されていない複合コードマスクと比較してより多くの電力が受信機センサーによって認知されるように、複合コードマスクの投影中の電力効率を増大させる。
【0092】
[00129]ある事例では、使われる合成点像分布関数は、(a)複合コードマスクがそれを通して投影されるべき予想チャネル条件、(b)複合コードマスクが投影される表面の特性、および/または(c)投影された複合コードマスクを受信するべき受信機センサーの感度のうち少なくとも1つに基づいて、複数の点像分布関数から選択され得る。別の例では、合成点像分布関数は、(a)複合コードマスクを投影するべきプロジェクタに対する第1のチャネル応答、および/または(b)複合コードマスクを投影するべきプロジェクタから、複合コードマスクを受信するべき受信機センサーまでの経路に対する第2のチャネル応答のうち少なくとも1つに基づいて、複数の点像分布関数から選択され得る。
【0093】
[00130]
図27は、受信機デバイスの例示的な動作を示すブロック図である。受信機デバイスは、較正モード2702および/または動作モード2704に従って動作し得る。
【0094】
[00131]較正モード2702において、受信機デバイスは、2706で画像を獲得することができ、2708で、それ自体を較正して(たとえば、光強度についてのレセプタを調整するなどして)、較正パラメータ2710を取得する。
【0095】
[00132]動作モード2704において、受信機デバイスは、2714で画像を獲得することができ、2716で、較正パラメータ2710に基づいて画像を矯正する。次いで、既知のマスクパラメータ2712を使う(たとえば、既知のコードマスクを使う)ことによって、奥行き推定2718が矯正画像に対して実施され得る。このように、奥行きマップが、生成され、2720で、画像とともに使用/記憶/表示され得る。
【0096】
[00133]
図28は、アフィン変換に対して耐性がある複合コードマスク内のキャプチャされたコードワードを復号するための例示的な方法を示す。受信機センサーは、2802で、標的オブジェクトの表面に投影された複合コードマスクの少なくとも一部分を受信することができ、複合コードマスクは、(a)複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードからなるコード層、(b)単独で確認可能でありコード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含むキャリア層によって定義され、(c)ここで、コード層およびキャリア層のうち少なくとも1つが、投影に先立ち、合成点像分布関数によって事前成形されている。一例では、受信機センサーは、赤外スペクトル内の複合コードマスクをキャプチャすることができる。
【0097】
[00134]一例によると、コード層はn1×n2の2値シンボルを備えてよく、ここでn1およびn2は2よりも大きい整数である。複合コードマスクにおいて、各シンボルは、基準オブジェクトとは別個の、2つのグレースケール階調のうち1つでのラインセグメントであってよい。いくつかの事例では、少なくとも1つの次元においてコード層のシンボルは、千鳥配列され得る。キャリア層基準オブジェクトは、ガード間隔をその間にもつ、複数の等間隔に離間した基準ストライプを備え得る。一例では、基準ストライプおよびガード間隔は、異なる幅である。別の例では、ガード間隔幅に対する、各基準ストライプの幅は、送信機デバイスおよび/または受信機デバイスの予想光拡散によって決定される。
【0098】
[00135]コード層およびキャリア層のうち少なくとも1つの事前成形は、成形されていない複合コードマスクと比較してより多くの電力が受信機センサーによって認知されるように、複合コードマスクの投影中の電力効率を増大させ得る。使われる合成点像分布関数は、(a)複合コードマスクがそれを通して投影されるべき予想チャネル条件、(b)複合コードマスクが投影される表面の特性、および/または(c)投影された複合コードマスクを受信するべき受信機センサーの感度のうち少なくとも1つに基づいて、複数の点像分布関数から選択され得る。いくつかの事例では、合成点像分布関数は、(a)複合コードマスクを投影するべきプロジェクタに対する第1のチャネル応答、および/または(b)複合コードマスクを投影するべきプロジェクタから、複合コードマスクを受信するべき受信機センサーまでの経路に対する第2のチャネル応答のうち少なくとも1つに基づいて、複数の点像分布関数から選択されていてよい。
【0099】
[00136]処理回路は、2804で、複合コードマスクの部分内の基準オブジェクトに基づいて、歪みに合わせてコード層を調整することができる。次いで、2806で、(a)複合コードマスクの一度の投影、および(b)既知の基準コードマスクに対するウィンドウの変位に基づいて、ウィンドウに対応する標的オブジェクトの表面部分について、奥行き情報が取得され得る。
【0100】
[00137]
図29は、キャプチャされたコードマスクから奥行きマップを取得するための方法を示す。基準ストライプが、2902で、キャプチャされた複合コードマスクの一部分内で検出され得る。複合コードマスクの部分の歪み(たとえば、スキュー、回転など)が次いで、2904で、基準ストライプの実際の配向に対する基準ストライプの予想配向に基づいて調整(または補正)され得る。コードワードが、2906で、歪んでいない複合コードマスクの部分内で定義されたウィンドウから取得され得る。一例では、各コードワードは、k1シンボル×k2シンボルのウィンドウによって定義されてよく、ここでk1およびk2は2よりも大きい整数である。複合コードマスクにおいて、各シンボルは、たとえば、基準ストライプとは別個の、2つのグレースケール階調のうち1つでのラインセグメントであってよい。既知の基準コードマスク上の少なくとも1つの方向に沿った重複ウィンドウが、同じ行または列に沿った他のどのウィンドウからも、異なる一意のコードワードを定義し得る。
【0101】
[00138]一例では、複合コードマスクの部分は、基準ストライプを定義するキャリア層と、複数の一意に識別可能な空間コード化コードワードを定義するコード層とを備え得る。キャリア層は、ガード間隔をその間にもつ、複数の等間隔に離間した基準ストライプを備え得る。場合によっては、各基準ストライプは、ガード間隔よりも広くてよい。ガード間隔幅に対する、各基準ストライプの幅は、予想光拡散によって決定され得る。
【0102】
[00139]2908で、既知の基準コードマスクに対するウィンドウの変位に基づいて、ウィンドウに対応するオブジェクトの表面部分について、奥行き情報が取得され得る。
図3に示したように、基準コードマスク中のコードワード312の予想位置に最も近い変位d2は、より長い距離または奥行きを示し、コードワード312の予想位置からより遠い変位d2は、より短い距離または奥行きを示す。基準コードマスクはn1×n2の2値シンボルを備えてよく、ここでn1およびn2は2よりも大きい整数である。
【0103】
[00140]歪んでいない複合コードマスクの部分内の異なる重複ウィンドウとして検出された複数のコードワードに基づいて、オブジェクトについて、奥行きマップが2910で組み立てられ得る。
【0104】
[00141]受信機は、複合コードマスクおよびオブジェクトの送信機に対して同じ水平基準プレーンに沿って位置決めされてよく、基準ストリップは、水平基準プレーンに対して垂直に位置決めされてよい。
【0105】
[00142]一例では、受信機は、オブジェクトの2次元画像を取得することができる。受信機は、複合コードマスクの部分内で定義された1つまたは複数のウィンドウを有する1つまたは複数のコードワードに基づいて、オブジェクトについての奥行き情報を取得することもできる。
【0106】
コードブックプリミティブの再利用
[00143]別の態様は、コードブックプリミティブを再利用してコードマスクを生成することによって、コードマスクを設計するための効率的なやり方を提供する。コードブックプリミティブは、n1×n2シンボル構造内の複数の空間コード化された一意のコードワードを含み得る。このコードブックプリミティブ(たとえば、n1×n2シンボル構造)は、コードマスクの1つまたは複数の方向において複数回繰り返され得る。コードブックプリミティブを繰り返すことは、特定のコードワード一致を識別するのに必要とされる比較の回数を削減するので、望ましいコードブックサイズの削減を可能にする。
【0107】
[00144]
図30は、コードワード分離が、コードブックプリミティブ再利用距離をどのように規定するかを示す。最大視差(たとえば、コードワードのシフト)は、動作レジーム(たとえば、最も近い範囲から最も遠い範囲)によって決定され得る。ここで、送信コードワード3002が、最小範囲d1および最大範囲d2内のシーン/オブジェクトに投影され得る。投影コードワード3002は、シーン/オブジェクト上で反射し、受信デバイスによってキャプチャされる。送信コードワード3002の元の場所に対する、キャプチャされたコードワード3004/3006の変位は、奥行きを確認するのに使われ得る。ここで、最小範囲d1および最大範囲d2は、仮想(たとえば、任意の)センサープレーン3007から、最も近いおよび最も遠いオブジェクトまでに定義されている。ただし、最小および最大範囲は、送信機3013および受信機3015に対するレンズプレーン3009またはセンサープレーン3011のような、異なる基準プレーンから定義されてもよい。最小/最大範囲がセンサープレーン3011から定義される場合、最大コードワード視差(たとえば、コードワードのシフト)は、送信コードマスクおよび受信コードマスクから確認され得る。
【0108】
[00145]コードブックプリミティブがコードマスク中で再利用される場合、エイリアシングとも呼ばれる、(同じコードマスク中の)隣接するコードブックプリミティブから同じコードワードを検出するのを避けることが重要である。隣接するコードブックプリミティブからのコードワードのエイリアシングを防止するために、再利用距離(すなわち、コードブックプリミティブ3002の幅w1)は、最も近いコードワードインスタンス3004と最も遠いコードワードインスタンス3006との間の最大視差(すなわち、変位距離w2)よりも大きい(または等しい)べきである。
【0109】
[00146]
図31は、コードブックプリミティブの再利用距離とオブジェクトサイズとの間の関係を示す。2つの例によると、第1のコードブックプリミティブ3102が、第1のコードマスク3114中で5回再利用され、第2のコードブックプリミティブ3108が、第2のコードマスク3116中で3回再利用される。コードブックプリミティブ中の一定数の水平コードワードに対して、再利用距離(たとえば、コードブックプリミティブの幅)を増大させると、最小分解可能オブジェクトサイズが削減する。たとえば、第1のコードマスク3114に対して、コードブックプリミティブ3102は第1のサイズ3104を有し、最小分解可能オブジェクトが第2のサイズ3106を有し、ここで、第1のサイズは第2のサイズよりも大きい。対照的に、第2のコードマスク3116に対して、第2のコードブックプリミティブ3108は第3のサイズ3110を有し、最小分解可能オブジェクトは第4のサイズ3112を有し、ここで、第3のサイズは第4のサイズよりも小さい。
【0110】
[00147]
図32は、コードブックプリミティブを再利用することによってコードマスクを構築するための例示的な方法を示す流れ図である。コードブックプリミティブは、3202で、n1×n2シンボル構造内の複数の空間コード化された一意のコードワードとして定義され得る。コードマスクは次いで、3204で、コードマスク中でコードブックプリミティブをx回再利用することによって生成される。
【0111】
[00148]コードブックプリミティブのサイズは、コードマスクが投影されるべき最小分解可能オブジェクトサイズの関数であり得る。つまり、コードマスクが投影されるべき特定の最小および/または最大範囲に対して、コードブックプリミティブのサイズは、それらの範囲において一定の分解能(たとえば、最小分解可能オブジェクトサイズ)を達成するように選択され得る。たとえば、コードマスク中でコードブックプリミティブが多くの回数再利用される程、コードマスクが投影されるとき、最小分解可能オブジェクトサイズは小さくなり得る。したがって、コードブックプリミティブのサイズは、コードマスクがシーンまたはオブジェクトに投影されるべき距離範囲の関数であってよい。一例では、コードブックプリミティブが小さい程、コードマスクが投影されるとき、最小分解可能オブジェクトサイズは小さくなる。別の例では、コードワードサイズが小さい程、コードマスクが投影されるとき、最小分解可能オブジェクトサイズは小さくなる。一実施態様によると、すべてのコードワードについてのコードワードサイズは同じであってよい(たとえば、コードワードが同じ幅を有してよい)。一例では、コードブックプリミティブのサイズは、コードブックプリミティブの幅または長さの1つを指し得る。
【0112】
[00149]各空間コード化された一意のコードワードは、m個のシンボルの組合せであってよい(たとえば、
図9および
図10参照)。コードブックプリミティブ中の複数の空間コード化された一意のコードワードは、n1×n2シンボル構造内のm個のシンボルのすべての可能な組合せのサブセットであってよい。
【0113】
[00150]一例では、複数のコードワードが、シンボル構造内の異なる重複するk1×k2ウィンドウ(たとえば、
図11Aのコードマスク1102および1106中に示される)から定義され得る。複数のコードワードを定義するウィンドウは、共線であり、空間的に重複し得る。
【0114】
[00151]コードマスク中の第1のコードワードの反復インスタンスの間の距離は、コードマスクがオブジェクトに投影され、そのような投影が受信機デバイスによって認知されるとき、第1のコードワードについての最大予想変位よりも大きくてよい(たとえば、
図30参照)。
【0115】
[00152]受信機デバイスは、コードマスクを投影する送信機デバイスと同一平面にあり得る。第1のコードワードの反復インスタンスの間の距離は、コードブックプリミティブの幅と同じでよい。
【0116】
[00153]一例では、コードブックプリミティブの幅は、コードマスクがオブジェクトに投影され、そのような投影が受信機デバイスによって認知されるとき、第1のコードワードについての最大予想変位よりも大きい。受信機デバイスは、コードマスクを投影する送信機デバイスと同一平面にある。
【0117】
[00154]コードマスクは、コードマスクが投影されるオブジェクトの表面部分についての奥行き情報を取得するのを円滑にし得る。コードブックプリミティブは、コードブックが投影されるべき所望の視野を覆うように、x回埋め込まれ得る(たとえば、
図31に示される)。つまり、コードブックプリミティブは、より大きいコードマスクを構築するように、たとえば、1つまたは複数の方向/次元において複製または反復され得る。一例では、xは、ゼロに等しいかまたはそれよりも大きい整数値でよい。つまり、求められる最小オブジェクト分解能に依存して、コードワードプリミティブおよび/またはコードマスクのサイズが調整され得る(たとえば、コードワードプリミティブおよび/またはコードマスクが大きいほど、達成可能な分解能が高くなる)。
【0118】
点像分布関数を使う、コードマスクキャリアの例示的な事前成形
[00155]点像分布関数(PSF)は、点光源または点オブジェクトに対する撮像システムの応答を記述する。一態様が、送信チャネルを介して送信されるとき、コードマスク中のエネルギーの量を向上させるための、合成点像分布関数を使った、コードマスクキャリアの事前成形を可能にする。合成点像分布関数とは、送信チャネルの何らかの影響に対抗するように送信システムに意図的に挿入される、事前計算された事前強調の形である。合成PSFの使用による事前成形は、投影されるコードマスクおよび/またはチャネル条件(たとえば、投影距離、投影面特性、照明電力、受信機特性など)に従って、送信(たとえば、特定のマスクの投影)を最適化しようと努め得る。
【0119】
[00156]
図33は、画像を取得するために、点像分布関数がオブジェクトにどのように適用され得るかの例を示す。PSFに対するより一般的な用語がシステムのインパルス応答であり、PSFは、集束光学システムのインパルス応答である。
【0120】
[00157]ここで、特定のエネルギーレベルを有するパルス3304の第1の送信パターン3302が示され、ここで、パルス3304に対して事前成形は実施されていない。同じ第1の送信パターン3302が、拡散パルス3308の受信パターニング済み3306としても示されている。認知され得るように、狭送信パルス3304は、送信チャネルを超えて伝播しており、第1の分散パルス3308として受信される。
【0121】
[00158]対照的に、特定のエネルギーレベルを有する事前成形されたパルス3312の第2の送信パターン3310が示されている。同じ第2の送信パターン3310が、第2の拡散パルス3316の受信パターニング済み3314としても示されている。認知され得るように、事前成形送信パルス3312は、送信チャネルを超えて伝播しており、第2の分散パルス3316として受信される。第2の受信された第2の分散パルス3316は、第1の分散パルス3308よりも比較的高いエネルギーレベルで受信されることに留意されたい。
【0122】
[00159]多くのコンテキストにおけるPSFは、分解されていないオブジェクトを表す、画像中の拡張ブロブと考えられ得る。関数用語では、変調伝達関数の空間ドメインバージョンである。点オブジェクトの拡散(ぶれ)の程度は、撮像システムの品質測度である。
【0123】
[00160]蛍光顕微鏡、望遠鏡または光学顕微鏡などの非干渉性撮像システムにおいて、画像成形プロセスは、電力が線形であり、線形システム理論によって記述される。このことは、2つのオブジェクトAおよびBが同時に撮像されるとき、結果が、単独で撮像されたオブジェクトの和に等しいことを意味する。言い換えると、光子の非相互作用プロパティのおかげで、オブジェクトAの撮像はオブジェクトBの撮像によって影響されず、逆もまた同様である。
【0124】
[00161]したがって、複合オブジェクトの画像は、真のオブジェクトおよびPSFの畳込みと見なされ得る。ただし、検出された光が干渉性であるとき、画像成形は、複合フィールドにおいて線形である。したがって、強度画像の記録は、キャンセルまたは他の非線形効果につながり得る。
【0125】
[00162]
図34Aは、空間ドメイン内のコードマスクキャリアのキャリアストライプを示す。
【0126】
[00163]
図34Bは、送信チャネル中を伝播した後、空間周波数ドメイン内の、結果として生じたキャリアストライプの例を示す。
【0127】
[00164]
図34Aは、垂直ストライプ、すなわちs1 3402およびs2 3404を示し、これらは、上で言及した構造化光システム内のコードマスクキャリアの一部を表し得る。空間周波数ドメイン3406に変換されると(
図34Bを示したように)、これらのストライプのスペクトル応答は、概念的に(
図34Bにおいて)曲線S1およびS2として示され得る。所与の電力レベル(dB)に対して、S1 3408およびS2 3410は、幅Xを有し、ノイズフロアの上の距離、すなわちΔ1において交差する。
【0128】
[00165]電力制限の懸念がないとき、
図34Aおよび
図34Bに示したように応答セットを有することは、全体的に許容可能であり得る。ただし、セルフォン、ポータブルカメラ、または小型プロジェクタなどの電力制限システムでは、オブジェクトを分解可能なように十分な電力を依然として送信しながら、より少ない電力を使うことが所望される場合がある。この目標を達成するための1つのやり方は、
図35Aに示すように、合成点像分布関数(PSF)3412を、送信に先立って、ストライプ(すなわち、キャリア)s1 3402およびs2 3404の各々に適用することである。
【0129】
[00166]
図35Aは、空間ドメイン内でキャリアストライプを事前成形するために、合成点像分布関数がキャリアストライプにどのように適用され得るかを示す。
【0130】
[00167]
図35Bは、送信チャネル中を伝播した後、空間周波数ドメイン内の、結果として生じた事前成形キャリアストライプの例を示す。
【0131】
[00168]
図35Aにおいて、PSF 3412は、ストライプの送信(たとえば、オブジェクトにおける投影および/または入射反射)中に電力効率が増加するように、ストライプs1 3402およびs2 3404が成形されることを可能にする。その結果、スペクトル応答は、
図35Bでのように見える場合があり、これは、同じ所与の電力レベル(dB)に対して、S1 3414およびS2 3416が3Xの幅を有し得ることを示す。さらに、S1 3414およびS2 3416の交差は、今ではノイズフロアの上の距離Δ2であり、これは、
図34Bに対する送信電力の増大を反映している。
【0132】
[00169]使われるPSFの垂直ストライプ3402および3404の幅wの間の距離D1に依存して(
図36参照)、
図35Aおよび
図35Bに示される3X(PSFパルス成形なしで送信される電力の3倍)よりも高いまたは低い異なる送信効率が達成され得る。
【0133】
[00170]さらに、PSFは、プロジェクタの光学系についてだけでなくてよく、送信チャネルについてのPSFも推定され得る。チャネルは、2つの部分、すなわち(a)構造化された光が送信機からオブジェクトに移動する空間、および(b)オブジェクトからの反射された構造化光が受信機に移動する空間の中に備えられ得る。したがって、制限つき電力源を依然として使いながら、小さいオブジェクトの間の十分な分解可能性を確保するために、PSFが最悪のケースのシナリオに合わせて選択され得る。
【0134】
[00171]
図36は、送信に先立ってコードマスクキャリアを事前成形するために1つのPSFがそこから選択され得る点像分布関数一式が利用可能であり得ることを示す。このことは、ストライプスペーシング(コードマスクキャリア用)および送信チャネル条件に依存して、複数のPSFから選択をすることを可能にし得る。たとえば、
図36に示すように、PSF一式が利用可能であってよく、この一式の中から、可変幅(たとえば、w1およびw2)の異なるPSF 3602および3604が選択され得る。PSFの選択において、送信される電力の量と、受信コードマスク内の分解能の損失との間の釣合いが一般に探し求められる。たとえば、PSFが広いほど、コードワードを構成するシンボルについての分解能が大きく失われる(たとえば、より高い周波数が排除される)。逆に、より狭いPSFが、コードワードの受信機によって認知されるより小さいエネルギーを送信することができる。したがって、これらの制約は、特定のPSFの選択されたものにおいて釣合いをとられる。
【0135】
[00172]撮像PSFの影響は、送信パターンをぼかし、または場合によっては歪ませることである。ぼやけたカーネルのサイズにより、送信パターン中のシンボルのスペーシングおよび幅に対する、およびしたがってシステム分解能に対する限度が設定される。上記制約は、パターンに含まれるシンボル電力単位受信に対する限度を設ける。パターンシンボル周期とPSFサイズとの間の関係に基づいて、
図35Aおよび
図35Bに示される制約に従ってシンボル電力を増大させるために、送信に先立って、事前強調成形が、送信パターンに適用され得る。そのような成形の結果、受信パターンシンボル中の信号対雑音比を増大させることによって、電力もシステム信頼性も犠牲にすることなく、分解能が維持または増大される。
【0136】
[00173]PSF選択は、堅牢性/信頼性と性能、すなわち、分解能との間のトレードオフである、システムの動作点に依存する。PSF設計は、予想チャネル、ならびにアプリケーション依存である、堅牢性と性能との間の釣合いに基づき得る。
【0137】
[00174]PSFは、光源からカメラ焦点面までの経路光移動についての歪み効果を備える。これらのチャネル効果は、幾何学的歪み、レンズ収差、レンズアクション、回折、オブジェクトサイズおよび組成、シーン反射率、ならびに運動効果を含み得る。PSFは、システムの最大分解能を制限し、したがって、パターン分解能と制限PSFレジームとの間の空間は未使用のままであるべきではない。光源からカメラまでの経路に設計が依存する合成成形関数による公称パターンの変調の結果、この分解能ギャップが、システムが電力および分解能一致されるように埋められる。チャネルモデルに従って、そのように設計された送信パターンは、最適な性能をもたらす。
【0138】
[00175]各図に示した構成要素、ステップ、特徴および/または機能のうちの1つまたは複数は、単一の構成要素、ステップ、特徴または機能に再構成されおよび/または組み合わされ得、あるいはいくつかの構成要素、ステップ、または機能で実施され得る。また、本明細書で開示する新規の特徴から逸脱することなく追加の要素、構成要素、ステップ、および/または機能が追加され得る。各図に示した装置、デバイス、および/または構成要素は、各図で説明する方法、特徴、またはステップのうちの1つまたは複数を実行するように構成され得る。本明細書で説明した新規のアルゴリズムはまた、効率的にソフトウェアで実装されかつ/またはハードウェアに組み込まれ得る。
【0139】
[00176]また、実施形態は、フローチャート、流れ図、構造図、またはブロック図として示されるプロセスとして説明されることがあることに留意されたい。フローチャートは動作を逐次プロセスとして説明し得るが、動作の多くは並列または同時に実施され得る。さらに、動作の順序は並び替えられてもよい。プロセスは、その動作が完了すると終了する。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応する可能性がある。プロセスが関数に対応する場合、その終了は呼出し関数またはメイン関数への関数の復帰に対応する。
【0140】
[00177]さらに、記憶媒体は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスならびに/または、情報を記憶するための他の機械可読媒体、プロセッサ可読媒体、および/もしくはコンピュータ可読媒体を含む、データを記憶するための1つまたは複数のデバイスを表し得る。「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」という用語は、限定はしないが、ポータブルまたは固定記憶デバイス、光記憶デバイス、ならびに(1つまたは複数の)命令および/またはデータを記憶、含有または担持することが可能な様々な他の媒体などの非一時的媒体を含み得る。したがって、本明細書で説明した様々な方法は、「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」に記憶され、1つまたは複数のプロセッサ、機械および/またはデバイスによって実行され得る命令および/またはデータによって完全にまたは部分的に実装され得る。
【0141】
[00178]さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはこれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装される場合、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体または(1つまたは複数の)他の記憶装置などの機械可読媒体に記憶され得る。プロセッサは、必要なタスクを実施することができる。コードセグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を介してパス、フォワーディング、または送信され得る。
【0142】
[00179]本明細書で開示される例に関連して説明される様々な例示的な論理ブロック、モジュール、回路、要素、および/または構成要素は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブルロジック構成要素、個別ゲートもしくはトランジスタ論理回路、個別ハードウェア構成要素、または、本明細書で説明する機能を実施するように設計されたこれらの任意の組合せを用いて、実装または実施され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングコンポーネントの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。
【0143】
[00180]本明細書に開示される例に関連して説明される方法またはアルゴリズムは、ハードウェア、プロセッサによって実行可能なソフトウェアモジュール、または両方の組合せで、処理ユニット、プログラム命令、または他の指令の形で直接具現化されてよく、かつ、単一のデバイスに含まれ、または複数のデバイスにわたって分散されてよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROM(登録商標)メモリ、レジスタ、ハードディスク、取り外し可能なディスク、CD−ROM、または当技術分野で周知のいかなる他の形式の記憶媒体に常駐することができる。記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、その記憶媒体に情報を書き込むことができるようにプロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であり得る。
【0144】
[00181]さらに、本明細書で開示される実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能性に関して説明した。そのような機能性をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。
【0145】
[00182]本明細書で説明する本発明の様々な特徴は、本発明から逸脱することなく様々なシステムで実装され得る。上記の実施形態は例にすぎず、本発明を限定するものと解釈すべきではないことに留意されたい。実施形態の説明は、例示的なものであり、特許請求の範囲を限定するものではない。したがって、本教示は、他のタイプの装置、ならびに多くの代替形態、修正形態、および変更形態に容易に適用できることが当業者には明らかであろう。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
複合コードマスクを投影するための送信機デバイス上で動作可能な方法であって、
有形媒体上の複合コードマスクを取得することと、前記複合コードマスクが、キャリア層と組み合わされたコード層を含む、ここにおいて、
前記コード層が、複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードを含み、
前記キャリア層が、単独で確認可能であり前記コード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含み、
前記コード層およびキャリア層のうち少なくとも1つが、投影に先立ち、合成点像分布関数によって事前成形される、
前記送信機デバイスから、前記複合コードマスクの少なくとも一部分を標的オブジェクトに投影して、受信機が、前記複合コードマスクの一度の投影を用いて前記標的オブジェクトについての奥行き情報を確認するのを助けることとを備える方法。
[C2]
前記複合コードマスクが赤外スペクトル中で投影される、C1に記載の方法。
[C3]
前記コード層がn1×n2の2値シンボルを備え、ここでn1およびn2が2よりも大きい整数である、C1に記載の方法。
[C4]
前記コード層上の少なくとも1つの方向に沿った重複ウィンドウが、同じ行または列に沿った他のどのウィンドウとも異なる一意のコードワードを定義する、C1に記載の方法。
[C5]
前記複合コードマスク中の各シンボルが、前記基準オブジェクトとは別個の、2つのグレースケール階調のうち1つにおけるラインセグメントである、C1に記載の方法。
[C6]
前記コード層の前記シンボルが、少なくとも1つの次元において千鳥配列される、C1に記載の方法。
[C7]
前記キャリア層基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備える、C1に記載の方法。
[C8]
前記基準ストライプおよび前記ガード間隔が、異なる幅である、C7に記載の方法。
[C9]
ガード間隔幅に対する、各基準ストライプの幅が、送信機デバイスおよび/または受信機デバイスの予想光拡散によって決定される、C7に記載の方法。
[C10]
前記コード層シンボルが前記キャリア層の前記基準ストライプ内に現れるように、前記コード層の上に前記キャリア層を重ねることによって、前記コード層とキャリア層が組み合わされる、C7に記載の方法。
[C11]
投影に先立ち、合成点像分布関数によって、前記コード層およびキャリア層のうち少なくとも1つを事前成形することが、
前記コードマスクがそれを通して投影されるべきチャネルについての1つまたは複数の条件を確認することと、
前記1つまたは複数の条件に基づいて、前記チャネルによって引き起こされる前記歪みを補償するための前記合成点像分布関数を取得することと、
前記コード層および前記キャリア層のうち前記少なくとも1つに前記合成点像分布関数を適用することとを含む、C1に記載の方法。
[C12]
投影に先立ち、合成点像分布関数によって、前記コード層およびキャリア層のうち少なくとも1つを事前成形することが、
前記コードマスクがそれを通して投影されるべきチャネルにおける歪みを補償する事前成形層を取得することと、
前記事前成形層を前記複合マスクの一部として組み合わせることとを含む、C1に記載の方法。
[C13]
複合コードマスクを投影するための送信機デバイスであって、
複合コードマスクを定義する媒体と、前記複合コードマスクが、キャリア層と組み合わされたコード層を含む、ここにおいて、
前記コード層が、複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードを含み、
前記キャリア層が、単独で確認可能であり前記コード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の参照オブジェクトを含み、
前記コード層およびキャリア層のうち少なくとも1つが、投影に先立ち、合成点像分布関数によって事前成形される、
前記複合コードマスクの少なくとも一部分を標的オブジェクトの上に投影して、受信機が、前記複合コードマスクの一度の投影を用いて前記標的オブジェクトについての奥行き情報を確認するのを助けるためのプロジェクタとを備える送信機デバイス。
[C14]
前記複合コードマスクが赤外スペクトル中で投影される、C13に記載の送信機デバイス。
[C15]
前記コード層がn1×n2の2値シンボルを備え、ここでn1およびn2が2よりも大きい整数である、C13に記載の送信機デバイス。
[C16]
前記コード層上の少なくとも1つの方向に沿った重複ウィンドウが、同じ行または列に沿った他のどのウィンドウとも異なる一意のコードワードを定義する、C13に記載の送信機デバイス。
[C17]
前記複合コードマスク中の各シンボルが、前記基準オブジェクトとは別個の、2つのグレースケール階調のうち1つにおけるラインセグメントである、C13に記載の送信機デバイス。
[C18]
前記コード層の前記シンボルが、少なくとも1つの次元において千鳥配列される、C13に記載の送信機デバイス。
[C19]
前記キャリア層基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備える、C13に記載の送信機デバイス。
[C20]
前記基準ストライプおよび前記ガード間隔が、異なる幅である、C19に記載の送信機デバイス。
[C21]
ガード間隔幅に対する、各基準ストライプの幅が、送信機デバイスおよび/または受信機デバイスの予想光拡散によって決定される、C19に記載の送信機デバイス。
[C22]
前記コード層シンボルが前記キャリア層の前記基準ストライプ内に現れるように、前記コード層の上に前記キャリア層を重ねることによって、前記コード層とキャリア層が組み合わされる、C19に記載の送信機デバイス。
[C23]
前記コード層およびキャリア層のうち前記少なくとも1つが、投影に先立ち、
前記コードマスクがそれを通して投影されることになるチャネルについての1つまたは複数の条件を確認すること、
前記1つまたは複数の条件に基づいて、前記チャネルによって引き起こされる前記歪みを補償するための前記合成点像分布関数を取得すること、ならびに
前記コード層および前記キャリア層のうち前記少なくとも1つに前記合成点像分布関数を適用することによって、合成点像分布関数によって事前成形される、C13に記載の送信機デバイス。
[C24]
前記コード層およびキャリア層のうち前記少なくとも1つが、投影に先立ち、
前記コードマスクがそれを通して投影されるべきチャネルにおける歪みを補償する事前成形層を取得すること、および
前記事前成形層を前記複合マスクの一部として組み合わせることによって、合成点像分布関数によって事前成形される、C13に記載の送信機デバイス。
[C25]
複合コードマスクを投影するための送信機デバイスであって、
複合コードマスクを記憶するための手段と、前記複合コードマスクが、キャリア層と組み合わされたコード層を含む、ここにおいて、
前記コード層が、複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードを含み、
前記キャリア層が、単独で確認可能であり前記コード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含み、
前記コード層およびキャリア層のうち少なくとも1つが、投影に先立ち、合成点像分布関数によって事前成形される、
前記複合コードマスクの少なくとも一部分を標的オブジェクトの上に投影して、受信機が、前記複合コードマスクの一度の投影を用いて前記標的オブジェクトについての奥行き情報を確認するのを助けるための手段とを備える送信機デバイス。
[C26]
前記コード層の前記シンボルが、少なくとも1つの次元において千鳥配列される、C25に記載の送信機デバイス。
[C27]
前記キャリア層基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備える、C25に記載の送信機デバイス。
[C28]
前記基準ストライプおよび前記ガード間隔が、異なる幅である、C27に記載の送信機デバイス。
[C29]
ガード間隔幅に対する、各基準ストライプの幅が、送信機デバイスおよび/または受信機デバイスの予想光拡散によって決定される、C27に記載の送信機デバイス。
[C30]
前記コード層シンボルが前記キャリア層の前記基準ストライプ内に現れるように、前記コード層の上に前記キャリア層を重ねることによって、前記コード層とキャリア層が組み合わされる、C27に記載の送信機デバイス。
[C31]
複合コードマスクを投影するための命令を記憶した機械可読記憶媒体であって、前記命令が、少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
キャリア層と組み合わされたコード層を含む複合コードマスクを取得させ、ここにおいて、
前記コード層が、複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードを含み、
前記キャリア層が、単独で確認可能であり前記コード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含み、
前記コード層およびキャリア層のうち少なくとも1つが、投影に先立ち、合成点像分布関数によって事前成形される、
前記送信機デバイスから、前記複合コードマスクの少なくとも一部分を標的オブジェクトに投影させて、受信機が、前記複合コードマスクの一度の投影を用いて前記標的オブジェクトについての奥行き情報を確認するのを助ける機械可読記憶媒体。
[C32]
前記コード層の前記シンボルが、少なくとも1つの次元において千鳥配列される、C31に記載の機械可読記憶媒体。
[C33]
前記キャリア層基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備える、C31に記載の機械可読記憶媒体。
[C34]
前記基準ストライプおよび前記ガード間隔が、異なる幅である、C33に記載の機械可読記憶媒体。
[C35]
ガード間隔幅に対する、各基準ストライプの幅が、送信機デバイスおよび/または受信機デバイスの予想光拡散によって決定される、C33に記載の機械可読記憶媒体。
[C36]
前記コード層シンボルが前記キャリア層の前記基準ストライプ内に現れるように、前記コード層の上に前記キャリア層を重ねることによって、前記コード層とキャリア層が組み合わされる、C33に記載の機械可読記憶媒体。
[C37]
複合コードマスクを生成するための方法であって、
複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードからなるコード層を取得することと、
単独で確認可能であり前記コード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含むキャリア層を取得することと、
投影に先立ち、合成点像分布関数によって、前記コード層およびキャリア層のうち少なくとも1つを事前成形することと、
前記コード層とキャリア層とを組み合わせることによって、複合コードマスクを取得することと、前記複合コードマスクが単一投影奥行き検知に役立つ、
前記複合コードマスクを有形媒体上に記憶することとを備える方法。
[C38]
前記有形媒体が、
前記複合コードマスクを具現化する単一のフィルム媒体、
前記コード層を記憶する第1のファイル媒体および前記キャリア層を記憶する第2のフィルム媒体、
前記複合コードマスクがその中に記憶したデジタル記憶デバイス、ならびに
前記コード層およびキャリア層が記憶されるデジタル記憶デバイスのうち少なくとも1つである、C37に記載の方法。
[C39]
前記コード層がn1×n2の2値シンボルを備え、ここでn1およびn2が2よりも大きい整数である、C37に記載の方法。
[C40]
前記コード層上の少なくとも1つの方向に沿った重複ウィンドウが、同じ行または列に沿った他のどのウィンドウとも異なる一意のコードワードを定義する、C37に記載の方法。
[C41]
前記コード層の前記シンボルが、少なくとも1つの次元において千鳥配列される、C37に記載の方法。
[C42]
前記キャリア層基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備える、C37に記載の方法。
[C43]
前記基準ストライプおよび前記ガード間隔が、異なる幅である、C42に記載の方法。
[C44]
前記コード層シンボルが前記キャリア層の前記基準ストライプ内に現れるように、前記コード層の上に前記キャリア層を重ねることによって、前記コード層とキャリア層が組み合わされる、C42に記載の方法。
[C45]
投影に先立ち、合成点像分布関数によって、前記コード層およびキャリア層のうち少なくとも1つを事前成形することが、
前記コードマスクがそれを通して投影されるべきチャネルについての1つまたは複数の条件を確認することと、
前記1つまたは複数の条件に基づいて、前記チャネルによって引き起こされる前記歪みを補償するための前記合成点像分布関数を取得することと、
前記コード層および前記キャリア層のうち前記少なくとも1つに前記合成点像分布関数を適用することとを含む、C37に記載の方法。
[C46]
投影に先立ち、合成点像分布関数によって、前記コード層およびキャリア層のうち少なくとも1つを事前成形することが、
前記コードマスクがそれを通して投影されるべきチャネルにおける歪みを補償する事前成形層を取得することと、
前記事前成形層を前記複合マスクの一部として組み合わせることとを含む、C37に記載の方法。
[C47]
送信機デバイスが、前記コード層およびキャリア層のうち前記少なくとも1つの前記事前成形を動的に実施し、前記コード層とキャリア層とを組み合わせて、前記複合コードマスクを取得する、C37に記載の方法。
[C48]
マスクジェネレータが、前記コード層、前記キャリア層、および前記複合コードマスクのうち少なくとも1つを事前生成する、C37に記載の方法。
[C49]
複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードからなるコード層を取得し、
単独で確認可能であり前記コード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含むキャリア層を取得し、
投影に先立ち、合成点像分布関数によって、前記コード層およびキャリア層のうち少なくとも1つを事前成形し、
前記コード層とキャリア層とを組み合わせることによって、複合コードマスクを取得し、前記複合コードマスクが単一投影奥行き検知に役立つ、
前記複合コードマスクを記憶するための有形媒体とを備えるマスク生成デバイス。
[C50]
前記有形媒体が、
前記複合コードマスクを具現化する単一のフィルム媒体、
前記コード層を記憶する第1のファイル媒体および前記キャリア層を記憶する第2のフィルム媒体、
前記複合コードマスクがその中に記憶したデジタル記憶デバイス、ならびに
前記コード層およびキャリア層が記憶されるデジタル記憶デバイスのうち少なくとも1つである、C49に記載のマスク生成デバイス。
[C51]
前記コード層がn1×n2の2値シンボルを備え、ここでn1およびn2が2よりも大きい整数である、C49に記載のマスク生成デバイス。
[C52]
前記コード層上の少なくとも1つの方向に沿った重複ウィンドウが、同じ行または列に沿った他のどのウィンドウとも異なる一意のコードワードを定義する、C49に記載のマスク生成デバイス。
[C53]
前記コード層の前記シンボルが、少なくとも1つの次元において千鳥配列される、C49に記載のマスク生成デバイス。
[C54]
前記キャリア層基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備える、C49に記載のマスク生成デバイス。
[C55]
前記基準ストライプおよび前記ガード間隔が、異なる幅である、C54に記載のマスク生成デバイス。
[C56]
前記コード層シンボルが前記キャリア層の前記基準ストライプ内に現れるように、前記コード層の上に前記キャリア層を重ねることによって、前記コード層とキャリア層が組み合わされる、C54に記載のマスク生成デバイス。
[C57]
投影に先立ち、合成点像分布関数によって、前記コード層およびキャリア層のうち少なくとも1つを事前成形すること、前記処理回路が、
前記コードマスクがそれを通して投影されるべきチャネルについての1つまたは複数の条件を確認し、
前記1つまたは複数の条件に基づいて、前記チャネルによって引き起こされる前記歪みを補償するための前記合成点像分布関数を取得し、
前記コード層および前記キャリア層のうち前記少なくとも1つに前記合成点像分布関数を適用するように適合される、C49に記載のマスク生成デバイス。
[C58]
投影に先立ち、合成点像分布関数によって、前記コード層およびキャリア層のうち少なくとも1つを事前成形すること、前記処理回路が、
前記コードマスクがそれを通して投影されるべきチャネルにおける歪みを補償する事前成形層を取得し、
前記事前成形層を前記複合マスクの一部として組み合わせるように適合される、C49に記載のマスク生成デバイス。
[C59]
マスク生成デバイスであって、
複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードからなるコード層を取得するための手段と、
単独で確認可能であり前記コード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含むキャリア層を取得するための手段と、
投影に先立ち、合成点像分布関数によって、前記コード層およびキャリア層のうち少なくとも1つを事前成形するための手段と、
前記コード層とキャリア層とを組み合わせることによって、複合コードマスクを取得するための手段と、前記複合コードマスクが単一投影奥行き検知に役立つ、
前記複合コードマスクを有形媒体上に記憶するための手段とを備えるマスク生成デバイス。
[C60]
前記コード層の前記シンボルが、少なくとも1つの次元において千鳥配列される、C59に記載のマスク生成デバイス。
[C61]
投影に先立ち、合成点像分布関数によって、前記コード層およびキャリア層のうち少なくとも1つを事前成形するための前記手段が、
前記コードマスクがそれを通して投影されるべきチャネルについての1つまたは複数の条件を確認するための手段と、
前記1つまたは複数の条件に基づいて、前記チャネルによって引き起こされる前記歪みを補償するための前記合成点像分布関数を取得するための手段と、
前記コード層および前記キャリア層のうち前記少なくとも1つに前記合成点像分布関数を適用するための手段とを含む、C59に記載のマスク生成デバイス。
[C62]
投影に先立ち、合成点像分布関数によって、前記コード層およびキャリア層のうち少なくとも1つを事前成形することが、
前記コードマスクがそれを通して投影されるべきチャネルにおける歪みを補償する事前成形層を取得するための手段と、
前記事前成形層を前記複合マスクの一部として組み合わせるための手段とを含む、C59に記載のマスク生成デバイス。
[C63]
複合コードマスクを生成するための命令を記憶した機械可読記憶媒体であって、前記命令が、少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードからなるコード層を取得させ、
単独で確認可能であり前記コード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含むキャリア層を取得させ、
投影に先立ち、合成点像分布関数によって、前記コード層およびキャリア層のうち少なくとも1つを事前成形させ、
前記コード層とキャリア層とを組み合わせることによって、複合コードマスクを取得させ、前記複合コードマスクが単一投影奥行き検知に役立つ、
前記複合コードマスクを有形媒体上に記憶させる機械可読記憶媒体。
[C64]
前記コード層の前記シンボルが、少なくとも1つの次元において千鳥配列される、機械可読記憶媒体63。