(57)【特許請求の範囲】
【請求項１】
コードマスク用のコードを生成するための方法であって、
複数のシンボルを、複数のシンボル構造のｎ１×ｎ２シンボル構造に配置することと、ここでｎ１およびｎ２が整数値である、
前記シンボル構造内の異なる重複するｋ１×ｋ２ウィンドウから複数のコードワードを定義することと、ここにおいて、共線的であり空間的に重複するウィンドウが一意のコードワードを定義し、前記コードワードが、前記シンボル構造の第１の方向では一意であるが、前記第１の方向に対して垂直である第２の方向では繰り返される、
前記複数の前記シンボル構造をコードマスクとしてレンダリングすることと、
ここにおいて、２つの隣接するｋ１×ｋ２ウィンドウ中のコードワードのコードワードエイリアシングを避けるように、前記シンボル構造の幅が、標的オブジェクトに投影されたコードワードの元の場所に対して最も近い、前記標的オブジェクト上で反射されキャプチャされたコードワードと前記標的オブジェクトに投影された前記コードワードの前記元の場所に対して最も遠い、前記標的オブジェクト上で反射されキャプチャされたコードワードとの変位距離よりも大きい値に設定され、かつ前記２つの隣接するｋ１×ｋ２ウィンドウ中のシンボルが選択される、
を備える方法。
【請求項２】
前記コードマスクがコード層と、前記コード層の上に重ねられた独立した固有のキャリア層とを含み、ここで前記キャリア層が、複数の基準オブジェクトを含み、前記複数の基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備え、前記コード層が、前記複数のシンボルを含み、前記複数のシンボルが、前記基準ストライプの場所を定義し、前記基準ストライプは、前記コード層の歪みを補正するためのものであり、
各基準ストライプが、前記ガード間隔とは異なる幅を有する、請求項１に記載の方法。
【請求項３】
前記コードマスクがコード層と、前記コード層の上に重ねられた独立した固有のキャリア層とを含み、ここで前記キャリア層が、複数の基準オブジェクトを含み、前記複数の基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備え、前記コード層が、前記複数のシンボルを含み、前記複数のシンボルが、前記基準ストライプの場所を定義し、前記基準ストライプは、前記コード層の歪みを補正するためのものであり、
ガード間隔幅に対する、各基準ストライプの幅が、送信機デバイス、受信機デバイス、またはその組合せの予想光拡散によって決定される、請求項１に記載の方法。
【請求項４】
前記コードマスクがコード層と、前記コード層の上に重ねられた独立した固有のキャリア層とを含み、ここで前記キャリア層が、複数の基準オブジェクトを含み、前記複数の基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備え、前記コード層が、前記複数のシンボルを含み、前記複数のシンボルが、前記基準ストライプの場所を定義し、前記基準ストライプは、前記コード層の歪みを補正するためのものであり、
前記複数のシンボルが、少なくとも１つの次元において空間的に千鳥配列される、請求項１に記載の方法。
【請求項５】
標的オブジェクト奥行き情報を確認するために、前記コードマスクの少なくとも一部分を標的オブジェクトに投影することをさらに備える、請求項１に記載の方法。
【請求項６】
コードマスク生成デバイスであって、
複数のシンボルを、複数のシンボル構造のｎ１×ｎ２シンボル構造に配置することと、ここでｎ１およびｎ２が整数値である、
前記シンボル構造内の異なる重複するｋ１×ｋ２ウィンドウから複数のコードワードを定義することと
を行うように適合された処理回路と、ここにおいて、共線的であり空間的に重複するウィンドウが一意のコードワードを定義し、前記コードワードが、前記シンボル構造の第１の方向において一意であるが、前記第１の方向に対して垂直である第２の方向では繰り返される、
コードマスクとしてレンダリングされた前記複数のシンボル構造を記憶する有形記憶媒体と、
を備え、
前記コードマスク生成デバイスの前記処理回路によって、２つの隣接するｋ１×ｋ２ウィンドウ中のコードワードのコードワードエイリアシングを避けるように、前記シンボル構造の幅が、標的オブジェクトに投影されたコードワードの元の場所に対して最も近い、前記標的オブジェクト上で反射されキャプチャされたコードワードと前記標的オブジェクトに投影された前記コードワードの前記元の場所に対して最も遠い、前記標的オブジェクト上で反射されキャプチャされたコードワードとの変位距離よりも大きい値に設定され、かつ前記２つの隣接するｋ１×ｋ２ウィンドウ中のシンボルが選択される、コードマスク生成デバイス。
【請求項７】
前記コードマスク生成デバイスの前記処理回路が、コード層と、前記コード層の上に重ねられた独立した固有のキャリア層とを含む前記コードマスクを生成し、ここで前記キャリア層が、複数の基準オブジェクトを含み、前記複数の基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備え、前記コード層が、前記複数のシンボルを含み、前記複数のシンボルが、前記基準ストライプの場所を定義し、前記基準ストライプは、前記コード層の歪みを補正するためのものであり、
前記コードマスク生成デバイスの前記処理回路が、各基準ストライプが、前記ガード間隔とは異なる幅を有することを決定する、請求項６に記載のコードマスク生成デバイス。
【請求項８】
前記コードマスク生成デバイスの前記処理回路が、コード層と、前記コード層の上に重ねられた独立した固有のキャリア層とを含む前記コードマスクを生成し、ここで前記キャリア層が、複数の基準オブジェクトを含み、前記複数の基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備え、前記コード層が、前記複数のシンボルを含み、前記複数のシンボルが、前記基準ストライプの場所を定義し、前記基準ストライプは、前記コード層の歪みを補正するためのものであり、
前記コードマスク生成デバイスの前記処理回路によって、ガード間隔幅に対する、各基準ストライプの幅が、送信機デバイス、受信機デバイス、またはその組合せの予想光拡散に基づいて決定される、請求項６に記載のコードマスク生成デバイス。
【請求項９】
前記コードマスク生成デバイスの前記処理回路が、コード層と、前記コード層の上に重ねられた独立した固有のキャリア層とを含む前記コードマスクを生成し、ここで前記キャリア層が、複数の基準オブジェクトを含み、前記複数の基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備え、前記コード層が、前記複数のシンボルを含み、前記複数のシンボルが、前記基準ストライプの場所を定義し、前記基準ストライプは、前記コード層の歪みを補正するためのものであり、
前記コードマスク生成デバイスの前記処理回路によって、前記複数のシンボルが、少なくとも１つの次元において空間的に千鳥配列される、請求項６に記載のコードマスク生成デバイス。
【請求項１０】
標的オブジェクト奥行き情報を確認するために、前記コードマスクの少なくとも一部分を標的オブジェクトに投影するためのプロジェクタをさらに備える、請求項６に記載のコードマスク生成デバイス。
【請求項１１】
コードマスク生成デバイスであって、
複数のシンボルを、複数のシンボル構造のｎ１×ｎ２シンボル構造に配置するための手段と、ここでｎ１およびｎ２が整数値である、
前記シンボル構造内の異なる重複するｋ１×ｋ２ウィンドウから複数のコードワードを定義するための手段と、ここにおいて、共線的であり空間的に重複するウィンドウが一意のコードワードを定義し、前記コードワードが、前記シンボル構造の第１の方向において一意であるが、前記第１の方向に対して垂直である第２の方向では繰り返される、
前記複数のシンボル構造をコードマスクとしてレンダリングするための手段と、
を備え、
前記コードマスク生成デバイスの定義するための前記手段によって、２つの隣接するｋ１×ｋ２ウィンドウ中のコードワードのコードワードエイリアシングを避けるように、前記シンボル構造の幅が、標的オブジェクトに投影されたコードワードの元の場所に対して最も近い、前記標的オブジェクト上で反射されキャプチャされたコードワードと前記標的オブジェクトに投影された前記コードワードの前記元の場所に対して最も遠い、前記標的オブジェクト上で反射されキャプチャされたコードワードとの変位距離よりも大きい値に設定され、かつ前記２つの隣接するｋ１×ｋ２ウィンドウ中のシンボルが選択される、コードマスク生成デバイス。
【請求項１２】
前記コードマスク生成デバイスが、コード層と、前記コード層の上に重ねられた独立した固有のキャリア層とを含む前記コードマスクを生成するための手段を備え、ここで前記キャリア層が、複数の基準オブジェクトを含み、前記複数の基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備え、前記コード層が、前記複数のシンボルを含み、前記複数のシンボルが、前記基準ストライプの場所を定義し、前記基準ストライプは、前記コード層の歪みを補正するためのものであり、
前記コードマスク生成デバイスの生成するための前記手段が、各基準ストライプが、前記ガード間隔とは異なる幅を有することを決定する、請求項１１に記載のコードマスク生成デバイス。
【請求項１３】
前記コードマスク生成デバイスが、コード層と、前記コード層の上に重ねられた独立した固有のキャリア層とを含む前記コードマスクを生成するための手段を備え、ここで前記キャリア層が、複数の基準オブジェクトを含み、前記複数の基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備え、前記コード層が、前記複数のシンボルを含み、前記複数のシンボルが、前記基準ストライプの場所を定義し、前記基準ストライプは、前記コード層の歪みを補正するためのものであり、
前記コードマスク生成デバイスの生成するための前記手段によって、ガード間隔幅に対する、各基準ストライプの幅が、送信機デバイス、受信機デバイス、またはその組合せの予想光拡散に基づいて決定される、請求項１１に記載のコードマスク生成デバイス。
【請求項１４】
標的オブジェクト奥行き情報を確認するために、前記コードマスクの少なくとも一部分を標的オブジェクトに投影するための手段をさらに備える、請求項１１に記載のコードマスク生成デバイス。
【請求項１５】
コードマスクを生成するための命令を記憶した非一時的機械可読記憶媒体であって、前記命令は、プロセッサによって実行されると、
複数のシンボルを、複数のシンボル構造のｎ１×ｎ２シンボル構造に配置することと、ここでｎ１およびｎ２が整数値である、
前記シンボル構造内の異なる重複するｋ１×ｋ２ウィンドウから複数のコードワードを定義することと、ここにおいて、共線的であり空間的に重複するウィンドウが一意のコードワードを定義し、前記コードワードが、前記シンボル構造の第１の方向において一意であるが、前記第１の方向に対して垂直である第２の方向では繰り返される、
前記複数のシンボル構造をコードマスクとしてレンダリングすることと、ここにおいて、２つの隣接するｋ１×ｋ２ウィンドウ中のコードワードのコードワードエイリアシングを避けるように、前記シンボル構造の幅が、標的オブジェクトに投影されたコードワードの元の場所に対して最も近い、前記標的オブジェクト上で反射されキャプチャされたコードワードと前記標的オブジェクトに投影された前記コードワードの前記元の場所に対して最も遠い、前記標的オブジェクト上で反射されキャプチャされたコードワードとの変位距離よりも大きい値に設定され、かつ前記２つの隣接するｋ１×ｋ２ウィンドウ中のシンボルが選択される、
を前記プロセッサに行わせる、非一時的機械可読記憶媒体。
【請求項１６】
前記プロセッサによって実行されると、標的オブジェクト奥行き情報を確認するために、前記コードマスクの少なくとも一部分を標的オブジェクトに投影することを前記プロセッサに行わせるための命令をさらに記憶した、請求項１５に記載の非一時的機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]本特許出願は、２０１２年５月２４日に出願した米国仮出願第６１／６５１，５２８号、２０１２年５月２４日に出願した米国仮出願第６１／６５１，５２９号、２０１２年５月２４日に出願した米国仮出願第６１／６５１，５３３号、２０１２年５月２４日に出願した米国仮出願第６１／６５１，５３５号、２０１２年６月２９日に出願した米国仮出願第６１／６６６，４０５号、および２０１３年３月５日に出願した米国非仮出願第１３／７８５，９８１号の優先権を主張する。
【０００２】
[0002]様々な特徴は、能動奥行き検知のための空間マスクの設計に関し、より詳細には、奥行き検知において使われる空間マスクの歪みに対処する技法に関する。
【背景技術】
【０００３】
[0003]能動検知において、既知のパターンを備える空間マスクが、シーンまたはオブジェクト上に照明または投影される。シーンまたはオブジェクト上に投影されるパターンの構造は通常、シーンまたはオブジェクトについての奥行き情報を符号化する。受信機センサーが、シーンまたはオブジェクトの画像を、その上の空間マスクとともにキャプチャする。キャプチャされた画像中の空間マスク内のパターンまたはコードは次いで、画像中のシーンまたはオブジェクトについての奥行きを確認するのに使われる。この奥行き情報は、たとえば、シーンまたはオブジェクトの３次元表現を再構築するのに使われ得る。
【０００４】
[0004]ほとんどのシーンまたはオブジェクトは、空間マスク中のパターンの歪みにつながる、可変の奥行きを有する。つまり、空間マスクがシーンまたはオブジェクトの上に投影されると、シーンまたはオブジェクトの曲線、奥行き、形状が、シーンまたはオブジェクトの上に投影されるパターンの部分を歪ませる。そのような歪みは、空間マスクのパターンの正確な識別を抑制する傾向がある。
【０００５】
[0005]したがって、様々な条件の下で、歪んでいる可能性がある空間コードを正しく認識するための解決法が必要とされる。
【発明の概要】
【０００６】
[0006]コードマスク用のコードを生成するための方法が提供される。複数のシンボルがｎ１×ｎ２シンボル構造に配置されてよく、ここでｎ１およびｎ２は整数値である。複数のコードワードが、シンボル構造内の異なる重複するｋ１×ｋ２ウィンドウから定義されてよく、ここにおいて、共線的であり空間的に重複するウィンドウが一意のコードワードを定義し、コードワードは、シンボル構造の第１の方向では一意であるが、第１の方向に対して垂直である第２の方向では繰り返される。コードマスクとしての複数のシンボル構造であって、ここにおいて、２つの隣接するｋ１×ｋ２ウィンドウ中のコードワードのコードワードエイリアシングを避けるように、２つの隣接するｋ１×ｋ２ウィンドウ中のシンボルが選択される。異なる重複するｋ１×ｋ２ウィンドウは、２つの次元で重なる。
【０００７】
[0007]コードマスクは、コード層と、独立した固有のキャリア層とを含んでよく、ここで、キャリア層は、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含む。
【０００８】
[0008]一例では、キャリア層基準オブジェクトは、ガード間隔をその間にもつ、複数の等間隔に離間した基準ストライプを備え得る。各基準ストライプは、ガード間隔とは異なる幅を有してよい。ガード間隔幅に対する、各基準ストライプの幅は、送信機デバイスおよび／または受信機デバイスの予想光拡散によって決定され得る。
【０００９】
[0009]いくつかの実装形態では、コード層の複数のシンボルは、少なくとも１つの次元において空間的に千鳥配列され得る。
【００１０】
[0010]同様に、処理回路と有形媒体とを備えるコードマスク生成デバイスも提供される。処理回路は、（ａ）複数のシンボルをｎ１×ｎ２シンボル構造に配置し、ここでｎ１およびｎ２は整数値であり、かつ／または（ｂ）シンボル構造内の異なる重複するｋ１×ｋ２ウィンドウから複数のコードワードを定義し、ここにおいて、共線的であり空間的に重複するウィンドウが一意のコードワードを定義し、コードワードが、シンボル構造の第１の方向では一意であるが、第１の方向に対して垂直である第２の方向では繰り返されるように適合され得る。複数のシンボル構造の上の有形媒体は、コードマスクとしてレンダリングされ、ここにおいて、２つの隣接するｋ１×ｋ２ウィンドウ中のコードワードのコードワードエイリアシングを避けるように、２つの隣接するｋ１×ｋ２ウィンドウ中のシンボルが選択される。
【００１１】
[0011]様々な特徴、性質、および利点は、全体を通じて同様の参照符号が同様のものを指す図面とともに、以下に記載する詳細な説明を読めば明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】[0012]シーンまたはオブジェクトを照明し、２次元画像および／または情報から３次元情報を生成するための奥行き情報を取得するのに、既知のパターンが使われる例示的な能動検知システムを示す図。
【図２】[0013]２次元（２Ｄ）画像または情報から３次元（３Ｄ）シーンが構築される能動検知のための別の例示的なシステムを示す図。
【図３】[0014]オブジェクトまたはシーンについて、奥行きがどのように検知され得るかを示す図。
【図４】[0015]投影コードを正確に識別する際に問題となる投影歪みの例を示す図。
【図５】[0016]投影歪みの別の例を示す図。
【図６】[0017]能動検知のための典型的な空間コーディングによって遭遇される歪み問題の例を示す図。
【図７】[0018]能動検知のための典型的な空間コーディングによって遭遇される歪み問題の別の例を示す図。
【図８】[0019]空間コーディングを用いた、歪み問題に対する解決法を示す図。
【図９】[0020]形状変調キャリア内で２値コードワードがどのように表され得るかを示す図。
【図１０】[0021]キャリア層とコード層とを使うコードミクロ構造のさらなる詳細を示す図。
【図１１Ａ】[0022]キャリア層とコード層とを使うコードミクロ構造のさらなる詳細を示す図。
【図１１Ｂ】キャリア層とコード層とを使うコードミクロ構造のさらなる詳細を示す図。
【図１２】[0023]３つのグレースケールレベル（たとえば、黒、白、およびグレー）を使う第１の複合コードマスクを示す図。
【図１３】[0024]２つのグレースケールレベル（たとえば、黒および白）を使う第２の複合コードマスクを示す図。
【図１４】[0025]正弦波成形を伴う２つのグレースケールレベル（たとえば、黒および白）を使う第３の複合コードマスクを示す図。
【図１５】[0026]２つのグレースケールレベル（たとえば、黒および白）を使う第４の複合コードマスクを示す図。
【図１６】[0027]図１５の第４の複合コードマスクの一部分を示す図。
【図１７】[0028]キャリア層とコード層の組合せ、ならびに複合コードマスクの変換を示す図。
【図１８】[0029]元のコード層を取得するための、受信コードマスクの分解と、受信コードマスクの整列または調整とを示す図。
【図１９】[0030]受信コードマスクを変換させ、または歪ませる表面に、送信コードマスクがどのように投影され得るかの例を示す図。
【図２０】[0031]図９の空間コーディング例が、どのようにして、空間振幅変調を含むようにさらに拡大され得るかの例を示す図。
【図２１】[0032]複合マスクコードを生成するためのマスク生成デバイスを示すブロック図。
【図２２】[0033]アフィン変換に対して耐性がある複合コードマスクをどのようにして生成するかの例を示す図。
【図２３】[0034]コードワードと複合コードマスクとを生成するための例示的な方法を示す図。
【図２４】[0035]複合コードマスクを生成し、かつ／またはそのような複合コードマスクを投影するように構成され得る送信機デバイスの例を示すブロック図。
【図２５】[0036]複合コードマスクを投影するための方法を示す図。
【図２６】[0037]複合コードマスクから奥行き情報を取得するように構成され得る受信機デバイスの例を示すブロック図。
【図２７】[0038]受信機デバイスの例示的な動作を示すブロック図。
【図２８】[0039]アフィン変換に対して耐性がある複合コードマスク内のキャプチャされたコードワードを復号するための例示的な方法を示す図。
【図２９】[0040]キャプチャされたコードマスクから奥行きマップを取得するための方法を示す図。
【図３０】[0041]コードワード分離が、コードブックプリミティブ再利用距離をどのように規定するかを示す図。
【図３１】[0042]コードブックプリミティブの再利用距離とオブジェクトサイズとの間の関係を示す図。
【図３２】[0043]コードブックプリミティブを再利用することによってコードマスクを構築するための例示的な方法を示す流れ図。
【図３３】[0044]画像を取得するために、点像分布関数がオブジェクトにどのように適用され得るかの例を示す図。
【図３４Ａ】[0045]空間ドメイン内のコードマスクキャリアのキャリアストライプを示す図。
【図３４Ｂ】[0046]送信チャネル中を伝播した後、空間周波数ドメイン内の、結果として生じたキャリアストライプの例を示す図。
【図３５Ａ】[0047]空間ドメイン内でキャリアストライプを事前成形するために、合成点像分布関数がキャリアストライプにどのように適用され得るかを示す図。
【図３５Ｂ】[0048]送信チャネル中を伝播した後、空間周波数ドメイン内の、結果として生じた事前成形キャリアストライプの例を示す図。
【図３６】[0049]送信に先立ってコードマスクキャリアを事前成形するために１つのＰＳＦがそこから選択され得る点像分布関数一式が利用可能であり得ることを示す図。
【発明を実施するための形態】
【００１３】
[0050]以下の説明では、実施形態の十分な理解が得られるように具体的な詳細を与える。ただし、これらの実施形態は、これらの具体的な詳細なしに実施できることを、当業者なら理解されよう。たとえば、これらの実施形態を不必要な詳細において不明瞭にすることを回避するために、回路をブロック図で示すことがある。他の場合では、これらの実施形態を不明瞭にしないために、よく知られている回路、構造、および技法を詳細に図示しないことがある。
【００１４】
[0051]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用する。「例示的」として本明細書で説明するいかなる実装形態または実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきではない。同様に、「実施形態」という用語は、すべての実施形態が、説明する特徴、利点、または動作モードを含むことを必要としない。
【００１５】
概要
[0052]第１の特徴は、キャリア層（基準マーカーをもつ）とコード層（一意のコードワードをもつ）とを組み合わせることによって、歪みに対して不変である空間マスクを提供する。キャリア層は、コード層の歪み（たとえば、スキュー、回転、圧縮、伸長、ティルトなど）の補正と、したがって受信機によるコードワードの正しい識別とを可能にする基準マーカー（たとえば、既知の配向のストライプ）を提供する。
【００１６】
[0053]第２の特徴によると、コンパクトコードワード構造およびコードブックが提供される。コンパクトコードワード構造は、奥行きを確認する際により大きい粒度を認めるので、望ましい。ただし、コードワードは、セグメント化を避けるために十分に大きいべきである。さらに、より小さいコードブックは、サンプリングされたコードワードと、コードブック中の可能コードワードのより素早い相関を認める。これらの目標は、コード層の少なくとも１つの軸または方向において一意のコードワードを定義する重複（ｋ１×ｋ２シンボルウィンドウ）としてコードワードを定義することによって遂行することができる。
【００１７】
[0054]第３の特徴によると、コードマスクは、コードマスク内でコードプリミティブを１回または複数回複製し、または繰り返すことによって生成され得る。コードブックプリミティブは、ｎ１×ｎ２シンボル構造内の複数の空間コード化された一意のコードワードとして定義され得る。そのようなコードブックプリミティブは、可能なすべてのコードワードのサブセット（たとえば、ｎ１×ｎ２シンボル構造内で可能であるシンボルの組合せ）から定義され得る。コードマスクは次いで、コードマスク中でコードブックプリミティブをｘ回再利用することによって生成され得る。
【００１８】
例示的な動作環境
[0055]図１は、シーンまたはオブジェクトを照明し、２次元画像および／または情報から３次元情報を生成するための奥行き情報を取得するのに、既知のパターンが使われる例示的な能動検知システムを示す。本明細書に記載する１つまたは複数の態様および／または特徴は、そのような例示的な能動検知システム内で実装され得る。ここで、送信機１０２が、コードマスク１０４（たとえば、コードをもつ画像）を通して明視野を投影して、オブジェクトまたはシーン１０６にコードワードを投影する。受信機１０８が、投影コードマスク１１０と、その中のコードワードとをキャプチャする。この例は、コードマスク１０４のセクション／部分／ウィンドウ１１２が（セクション／部分／ウィンドウ１１４として）、オブジェクトまたはシーン１０６の表面（たとえば、投影セクション／部分／ウィンドウ１１６）上にどのように投影されるかを示す。投影セクション／部分／ウィンドウ１１６は次いで、受信機１０８によって、キャプチャされたセグメント１１８としてキャプチャされ得る。セクション／部分／ウィンドウ１１２は、一意に識別され得るコードワードとして使うことができる。したがって、このようにしてシーンまたはオブジェクト１０６を一意のコードワードで覆うことによって、シーンまたはオブジェクト１０６のセクション／部分は、識別／タグ付けすることができ、この情報は、奥行き検知に使うことができる。
【００１９】
[0056]受信機１０８によってキャプチャされた画像から、シーンまたはオブジェクト１０６にわたる複数のセグメントが識別され得る。各セグメント１１８は、受信機１０８と、コード化マスク１０４の既知のパターンから確認された他のセグメントに対するその場所とにおいて、一意に識別可能であり得る。各セグメント／部分／ウィンドウからのコードの識別は、パターンセグメント化（たとえば、歪みに対処するため）と、認知されたセグメント／部分／ウィンドウから対応するコード（１つまたは複数）への復号とを伴い得る。さらに、配向および／または奥行きを確認するために、各キャプチャされたセグメント／部分／ウィンドウにわたって三角測量が適用され得る。複数のそのようなセグメント／部分／ウィンドウが組み合わされて、キャプチャされた画像パターンをまとめることができる。このようにして、シーンまたはオブジェクト１０６について、奥行きのマップが生成され得る。
【００２０】
[0057]図２は、２次元（２Ｄ）画像または情報から３次元（３Ｄ）シーンが構築される能動検知のための別の例示的なシステムを示す。エンコーダ／形状変調器２０１は、コードマスクを生成する働きをすることができ、コードマスクは次いで、送信チャネル２０４を介して送信機デバイス２０２によって投影される。コードマスクは、標的（たとえば、シーンまたはオブジェクト）に投影されてよく、反射光が、受信機センサー２０５によって画像（たとえば、コードマスク画像）としてキャプチャされる。受信機センサー２０５（たとえば、図１の受信機１０８）において、標的（たとえば、シーンまたはオブジェクト）がキャプチャされ、その形状／奥行きが２０５で符号化される。形状／奥行き符号化は、たとえば、奥行き情報を確認するために投影コードマスクを使って達成され得る。たとえば、シーンまたはオブジェクト（投影コードマスクを含む）のキャプチャされた画像は、２０６で、奥行きマップ２０８を取得するように復号され得る。奥行きマップ２０８は次いで、標的の３次元バージョン２１０ａ〜ｅを提示、生成、および／または提供するのに使われ得る。
【００２１】
[0058]能動検知は、送信機デバイス２０２によってシーンまたはオブジェクトに投影されたコードマスクから、すべての空間コード（すなわち、コードワード）を（受信機センサー２０５および／またはデコーダ２０６において）認識可能であることに依拠する。シーンまたはオブジェクトが送信機／受信機に近すぎる場合、シーンまたはオブジェクトの表面は傾斜され／曲げられ、および／またはベースライン基準プレーンが傾けられ、コードは、未知のアフィン変換（たとえば、回転、スキュー、圧縮、伸長など）において修正される。
【００２２】
[0059]本明細書に記載する１つまたは複数の態様または特徴は、図１および図２の例示的な環境内で実装され得る。
【００２３】
例示的な能動奥行きセンシング
[0060]図３は、オブジェクトまたはシーンについて、奥行きがどのように検知され得るかを示す。ここで、送信機デバイス３０２は、受信機デバイス３０４と同じベースライン基準プレーン（たとえば、レンズプレーン３０５）上にある。送信機デバイス３０２は、コードマスク３１０を、アパーチャまたはレンズを通してシーンまたはオブジェクトに投影する。ここで、説明のために、投影セグメント／部分／ウィンドウ３１２（コードワードを表す）が、送信コードマスク３１０の一部として示されている。このコードセグメント／部分／ウィンドウ３１２は、第１の距離で、または第２の距離で、シーンまたはオブジェクト３０６に投影されてよい。受信機デバイス３０４は、受信機アパーチャを通して、投影コードマスク３１０を（受信コードマスク３１１として）キャプチャする。ここで、送信コードマスク３１０は、受信コードマスク３１１と同じセンサープレーン３０７上に示されている。シーンまたはオブジェクト３０６が送信機デバイス３０２のより近く（たとえば、送信機デバイスから第１の距離）に位置するとき、投影セグメント３１２は、その最初の場所から距離ｄ１の所に現れることが諒解されよう。一方、シーンまたはオブジェクト３０８がさらに離れて（たとえば、送信機デバイスから第２の距離）位置するとき、投影セグメント／部分／ウィンドウ３１２は、その最初の場所から距離ｄ２の所に現れる（ここで、ｄ２＜ｄ１）。つまり、オブジェクトが送信機／受信機から離れる程、受信投影セグメント／部分／ウィンドウは、受信機デバイス３０４におけるその元の位置から近くなる（たとえば、出射投影と入来投影がより並行になる）。逆に、オブジェクトが送信機／受信機から近くなる程、受信投影セグメント／部分／ウィンドウは、受信機デバイス３０４におけるその元の位置から離れる。したがって、受信コードワード位置と送信コードワード位置との間の差により、シーンまたはオブジェクトの奥行きが与えられる。一例では、そのような奥行き（たとえば、相対奥行き）により、各ピクセルまたはグループ化ピクセル（たとえば、２つ以上のピクセルからなる領域）のサブセットについての奥行きが与えられ得る。
【００２４】
[0061]コードマスクを生成するための、様々なタイプの変調およびコーディング方式が考えられている。これらの変調およびコーディング方式には、時間コーディング、空間コーディング、および直接コード化（codification）がある。しかし、各方式には欠点がある。
【００２５】
[0062]時間コーディングでは、パターンが測定面に（たとえば、時間経過に伴って）連続的に投影される。この技法は、高度な正確さと分解能とを有するが、動的シーンには適さない。
【００２６】
[0063]空間コーディングでは、形状およびパターンに基づいて、近隣にある情報が符号化される。擬似ランダムコードはＤｅ−Ｂｒｕｉｊｎに基づいてよく、またはＭ配列が、コードブック（たとえば、ｍ値強度または色変調）を定義する。ただし、パターンセグメント化は困難であり、形状およびパターンが歪んでいる場合は容易に成し遂げられない。
【００２７】
[0064]直接コード化では、水平ピクセル座標と垂直ピクセル座標の両方が符号化される。変調は、単調位相または強度波形によるものであってよい。ただし、この方式は、実装するのに、大きいコードブックを要求する。キャプチャすると、すべてのコードワードが、（たとえば、コードブック中の）可能コードワードの定義済みセットに対して相関付けられなければならないので、小さいコードワードセット（たとえば、小さいコードブック）の使用が望ましい。また、最小距離が小さく、これによりエラーが引き起こされる。
【００２８】
投影歪み問題
[0065]図４は、投影コードを正確に識別する際に問題となる投影歪みの例を示す。ここで、送信機と受信機との間のベースライン基準プレーン４０６に対して角度θである面４０４に、コードマスクセグメント４０２が投影されている。したがって、受信コードマスクセグメント４０８の歪みがある。近距離では、斜めの面が投影歪みを引き起こし、その結果、曲がったパターン、視野の外へのシフト、および／またはコードエイリアシングが生じ得る。ここでは、受信コードマスクセグメント４１２のエイリアシングが示されている。また、投影歪みも示されており、ここで単語「Ｑｕａｌｃｏｍｍ」４１４は、投影変換４１８によって、４１６のように歪んでいる。
【００２９】
[0066]図５は、投影歪みの別の例を示す。ここで、典型的なコードマスク５０２が面に投影されており、受信／キャプチャされたコードマスク５０４が歪んでいる。分散コードは、セグメント化中の投影歪みに対しては堅牢でない。正確なセグメント化は、複雑な登録とコンテキスト情報とを要求する。相関ウィンドウ５０８および５１２は、元のコードマスクを回復しようと試みるのに使われる。ただし、ここで示されているように、受信機相関ウィンドウ５１２は、歪んだコードマスクセグメントの一部分をキャプチャするだけである。
【００３０】
[0067]図６は、能動検知のための典型的な空間コーディングによって遭遇される歪み問題の例を示す。能動検知は、すべての空間コードを認識可能であることに依拠する。オブジェクトが送信機／受信機に近く、および／またはプレーンが傾いている場合、コードは、未知のアフィントランスフォームにおいて修正される。ここで、初期コード６０２は、それが投影されるオブジェクトの表面またはプレーンによって、または送信機および受信機の不整列により、歪んでいる。したがって、いくつかの例において、受信コード６０４は、予想されるよりも細い場合があり、および／または受信コード６０６は、ティルトし、または傾いている場合があり、正しいコードの検出が困難になる。
【００３１】
[0068]図７は、能動検知のための典型的な空間コーディングによって遭遇される歪み問題の別の例を示す。これらの例では、空間コーディングにおいて、コードワードが別の有効なコードワードに変換されてよく、したがって能動検知が困難になることを示す。たとえば、第１の隣接コードワードセット７０２は、コードワードを５０８のように傾かせるオブジェクトプレーンまたは表面に投影され得る。したがって、第１のコードワード７０４が、変換コードワード７０６として間違って検出され得る。第１のコードワード７０４は、白いストライプと、それに続く黒いストライプを有していたが、変換コードワード７０６は、大部分が白であり、有効なコードワードと誤解され得ることに留意されたい。
【００３２】
例示的な複合コードマスク
[0069]図８は、空間コーディングを用いた、歪み問題に対する解決法を示す。この手法において、コードマスクは、コード層８０４の上に重ねられたキャリア層８０２によって構築され得る。ここで、キャリア層８０２は、比較的細い白い線８０８（すなわち、基準ストライプ）がその間にある幅広の黒い線８０６（すなわち、ガード間隔）を含み得る。コード層８０４中のコードストライプ８１２の場所に対応する細い白い線８０８（すなわち、基準ストライプ）。キャリア層８０２は、抽出され、コードワードのアフィントランスフォームを推定するのに使われ得る冗長層である。コード層８０４は、コードマスクを備える異なるコードワードを指定する実際の２値パターンである。
【００３３】
[0070]図９は、形状変調キャリア９０４内で２値コードワード９０２がどのように表され得るかを示す。変調キャリア９０４は、コード／基準ストライプ９０６（たとえば、アクティブストライプ）とガード間隔９０８とを含み得る。キャリア層９０２は、アクティブストライプ幅ｗ１およびガード間隔ｗ２によって定義され得る。アクティブストライプ幅ｗ１は、送信機における電力要件によって決定され得る。ガード間隔ｗ２は、送信機／受信機点像分布関数（ＰＳＦ）によって決定され得る。ここで、ガード、すなわち「０」および「１」を表すのに、トライステートグレースケールシステムが使われ、ここで「０」および「１」レベルの比は５０％であってよい。
【００３４】
[0071]図１０は、キャリア層とコード層とを使うコードミクロ構造１００２のさらなる詳細を示す。この例では、コードマスクのサイズはｎ１×ｎ２であってよく、ここで、合計で４０９５個の一意のコードワードが可能であるように、ｎ１＝７（垂直）、ｎ２＝５８５（水平）である。これらのコードワードのサブセットを使うことによって、より小さいコードブックも可能である。より小さいコードブックは、コードワード一致が見つかるかどうか確認するのに実施されなければならない比較の回数を削減するという点で望ましい場合がある。つまり、受信／キャプチャされたコードマスクは、その中の各コードワードを確認するのに使われるコードブックと比較され得る。そのような比較は、各コードワードがコードブック中で定義した、受信／キャプチャされたコードマスクの領域を突き合わせて、一致（たとえば、または最も近い一致）を確認することを伴い得る。したがって、（たとえば、少数のコードワードを使って）コードブックのサイズを削減すると、コードワード一致を見つけるのに必要とされる比較の回数が削減され、受信／キャプチャされたコードマスクについてのコードワード一致を見つけるための処理リソースおよび／または時間が削減される。
【００３５】
[0072]コードワード用に使われるコードマスクウィンドウのサイズ（たとえば、ｋ１×ｋ２ウィンドウ）は、シークされる最小検出可能オブジェクトに依存し得る。たとえば、コードマスクウィンドウは、ｋ1×ｋ2＝３×４シンボルウィンドウであってよい。したがって、ウィンドウサイズは、最小検出可能オブジェクトサイズ（たとえば、検出可能オブジェクトまたは特徴）およびそのようなオブジェクト検出が起こる距離によって定義される。さらに、奥行き分解能は、キャリアスペーシングに等しくてよい。ガード間隔は、未知の拡散に対する対抗措置である。選択されたパラメータにより、分解能と検出との間のバランスをとることができる。
【００３６】
[0073]コード構造の設計は、どれだけ効率的にコードワード検出が実施され得るかに影響を与える。たとえば、コードは、（たとえば、オブジェクトが動いている場合）静的シーンと動的シーンの両方をサポート可能であり、そうすることによってコードマスクが１つのショットまたは投影において展開され得ることが好ましいであろう。コードは、高い奥行き分解能を有するべきであり、このことは多数のコードワードを含意する。ただし、コードは稠密に詰め込まれるべきであり、たとえば埋め込みコードワードは一意でなければならない。コードは、閉鎖およびジャンプ境界に対して堅牢であるべきである。したがって、コンパクトウィンドウは、伸長されたものよりも破壊される可能性が低い。コードはまた、オブジェクトまたはシーンの細部がよりたやすく検出され得るように、高い特徴分解能を有する（たとえば、小さい変調「形状波形」を有する）べきである。コードはまた、セグメント化において低複雑度であるべきである（たとえば、パターンは単純であるべきである）。コードは、投影歪みに対して堅牢であるべきである（たとえば、パターンは、投影変換に対して比較的不変であるべきである）。さらに、コードは、反射率変化および干渉に対して堅牢であるべきである（たとえば、変調は、わずかな強度レベルのみを要求するべきである）。
【００３７】
[0074]図１１（図１１Ａと図１１Ｂとを備える）は、キャリア層とコード層とを使うコードミクロ構造のさらなる詳細を示す。例示的なコードマスク１１０６（たとえば、シンボル構造）が、複数の配向シンボル（たとえば、ラインセグメント）としてレンダリングされ、キャリア層と組み合わされて、複合コードマスク１１０２が生成され得る。各コードワードは、シンボル（たとえば、ラインセグメント）のウィンドウによって表され得る。たとえば、ここでは複数のコードワードが表されており、ここでウィンドウは重複している。図１１Ｂは、複数のコードワードが重複ウィンドウ１１０８、１１１０、１１１２、および１１１４によってどのように定義され得るかを示す。
【００３８】
[0075]一実装形態では、送信機および受信機は、同じ水平プレーン上にセットアップされ得る。コード層１１０６は、その完全なウィンドウプロパティにより、最大限に密であり、このことは、（たとえば、少なくともコード層の同じ列または行について）すべての重複ウィンドウによって一意のコードが定義されることを意味する。ウィンドウを少なくとも一方向に（たとえば、水平に）一単位だけシフトすると、一意のコードワードが生じる。たとえば、ｘ方向のコードワードは一意であり得る。ただし、コードブックをできるだけ小さく保つために（たとえば、一致を見つけるために検出コードワードが相関されなければならないコードワードの数を削減するために）、垂直方向のコードワードは一意である必要はない。たとえば、コード層またはコードマスクのｘ方向に及ぶのに十分に一意のコードワードでコードブックを定義した後、コードワードはｙ方向に繰り返されてよい。というのは、奥行き情報が（図３に示したように）一方向（ｘ方向）で認知／キャプチャされたコードワードから取得されるからである。したがって、横断方向（ｙ方向）に一意のコードワードを有することは必要ない。また、複合コードマスク１１０２の幅は、対象となっているオブジェクトまたはシーンが位置する距離範囲に依存して（たとえば、複合コードマスクの幅は、対象となっているオブジェクトまたはシーンを一度の投影においてキャプチャするのに、十分に広くてよい）、およびエイリアシングを避けるように選択され得る（たとえば、複合コードマスクがコードワードを再利用する場合、複合コードマスクは、再利用されるコードワードの誤った検出を避けるのに、十分に広くなるべきである）。
【００３９】
[0076]送信機および受信機が同じ垂直プレーン上にセットアップされ得る代替実装形態では。この例では、ｙ方向のコードワードは一意であってよく、ｘ方向のコードワードは繰り返してよい。
【００４０】
[0077]一例では、コード層１１０６中の２値シンボルは、少なくとも１つの方向（たとえば、ｘ方向）において一意のコードワードを達成するように、擬似ランダムに配置されてよい。別の例では、２値シンボルは、各ウィンドウによって表されるコードワードのハミング距離を最大限にするように配置されてよい。これにより、ハミング距離に基づいて最も近いコードワードを選択することによる、検出／キャプチャされたコードワード中のエラー訂正が可能になる。
【００４１】
[0078]コードワード（光学受信機によって認知される）は、オブジェクト（またはオブジェクトの部分）についての奥行き情報を表す働きをすることができ、画像ファイルの一部として、オブジェクトの画像とともに送信される。たとえば、Ｍ×Ｎ画像に対して、画像ファイル１１０４は、画像のセグメント／部分についての奥行き情報（たとえば、検出コードワードから生成される）とともに２次元画像情報を含み得る。たとえば、各コードワードは、２次元画像のｐ１×ｐ２ピクセルウィンドウを表すための奥行きに生成され得る。
【００４２】
[0079]図１２、図１３、図１４、および図１５は、複合コードマスクの様々な例を示す。
【００４３】
[0080]図１２は、３つのグレースケールレベル（たとえば、黒、白、およびグレー）を使う第１の複合コードマスク１２００を示す。この例では、黒がガード間隔に対して使われ、白／グレーがコード／基準ストライプに対して使われる。
【００４４】
[0081]図１３は、２つのグレースケールレベル（たとえば、黒および白）を使う第２の複合コードマスク１３００を示す。この例では、黒がガード間隔に対して使われ、白／黒がコーディング／基準ストライプに対して使われる。したがって、基準ストライプは、コーディング（たとえば、コードワード）に使われる白ストライプの存在から検出可能である。
【００４５】
[0082]図１４は、正弦波成形を伴う２つのグレースケールレベル（たとえば、黒および白）を使う第３の複合コードマスク１４００を示す。この例では、黒がガード間隔に対して使われ、白／黒がコーディング／基準ストライプに対して使われる。したがって、基準ストライプは、コーディング（たとえば、コードワード）に使われる白ストライプの存在から検出可能である。正弦波成形は、複合コードマスク１４００の要素をあらかじめ歪ませる働きをし得る。この例では、複合コードマスクのそのような事前歪みにより、コードストライプのぶれおよび丸めが生じている。そのような事前歪みは、環境および／またはオブジェクト表面歪みを補償する働きをすることができ、そうすることによって、受信機による、投影された複合コードマスク中のコードワードの検出を向上させる。
【００４６】
[0083]図１５は、２つのグレースケールレベル（たとえば、黒および白）を使う第４の複合コードマスクを示す。この例では、黒がガード間隔に対して使われ、白／黒がコーディング／基準ストライプに対して使われる。この例では、コードストライプは、ｘ軸に沿って整列されるだけであり、ｙ軸に沿っては千鳥配列される。
【００４７】
[0084]図１６は、図１５の第４の複合コードマスク１５００の一部分１５０２を示す。コードストライプはｙ軸に沿って千鳥配列されることが、ここで諒解されよう。コードストライプの千鳥配列は、コードワードを定義するのに使われるストライプが、ｘ軸とｙ軸の両方において整列されないことを意味する。図１３から認知され得るように、たとえば、（コーディングに使われる）白いストライプがｘ軸およびｙ軸に沿って整列されている（たとえば、白いストライプが可変長であるときであっても、白いストライプの上が整列する場合）。対照的に、図１６では、（コーディングに使われる）白いストライプは、１つの軸（たとえば、ｘ軸）に整列するだけであり、第２の軸（ｙ軸）では整列されない（たとえば、白いストライプの上も下も整列されず、コードマスクの少なくとも一部分にわたって千鳥配列される）。
【００４８】
[0085]千鳥配列がない場合、コードマスクが、角度面をもつオブジェクトに投影されたとき、歪みにより、コードマスクの異なる部分（たとえば、隣接しない部分、別個の部分など）がコードワードとして誤ってキャプチャされる可能性がある。対照的に、そのような誤ったまたは意図しないコードワードが検出される可能性は、白いストライプを千鳥配列することによって大幅に削減される。つまり、図１５および図１６の代替マスクは、ストライプを、少なくとも１つの次元または軸において千鳥配列されるように配置し、誤ったまたは意図しないコードワードが検出される見込みを低くする。
【００４９】
[0086]図１７は、キャリア層とコード層の組合せ、ならびに複合コードマスクの変換を示す。キャリア層１７０２が、コード層１７０４の上に組み合わされ、または載せられて、複合コードマスク１７０６が得られる。マスク１７０６を不均一または傾斜表面に投影した結果、複合コードマスク１７０６は、キャプチャされたコードマスク１７０８に変換され得る。
【００５０】
[0087]図１８は、元のコード層を取得するための、受信コードマスクの分解と、受信コードマスクの整列または調整とを示す。受信コードマスク１８０２は、元のコードマスクに対して不整列になるように変換され得る。ただし、既知のキャリア層が使われたので、受信コードマスク１８０２は、受信キャリア層１８０４および受信コード層１８０６に分解され得る。受信キャリア層１８０４のアフィン変換は、元のキャリア層（図１７の１７０２）と比較することによって分析および／または確認され得る。このようにしてキャリア層のアフィン変換を識別した上で、受信コード層１８０６は、元のコード層（図１７の１７０４）と実質的に一致する調整コード層１８０８を取得するように調整され得る。
【００５１】
[0088]図１９は、受信コードマスク１９０４を変換させ、または歪ませる表面に、送信コードマスク１９０２がどのように投影され得るかの例を示す。諒解され得るように、コードマスク１９０２および１９０４中の基準ストライプ１９１０および１９１２は、受信コードマスク１９０４を整列する働きをし得る。
【００５２】
[0089]図２０は、図９の空間コーディング例が、どのようにして、空間振幅変調を含むようにさらに拡大され得るかの例を示す。コードワード２００２が、ウィンドウ（たとえば、３×４シンボルウィンドウ）内の複数のシンボルによって定義される。各シンボルｓkは、異なる強度レベル（たとえば、グレースケールレベルまたは色）による振幅変調を使うことによって、他のシンボルと区別可能であり得る。ここで、強度レベルは、異なる色によって表される。したがって、振幅変調コードワード２００４は、４タイプのシンボル（ａ１、ａ２、ａ３、ａ４）からなるコードワードを示す。得られるコードワードマスク２００６は、振幅変調コードワード２００４が、ガード帯域をもつ線形キャリア上にどのようにマップされるかを示す。キャリアはまた、コードワードの送信および／または受信特性を向上させるように、成形関数によって変調され得ることに留意されたい。
【００５３】
[0090]図２１は、複合マスクコードを生成するためのマスク生成デバイスを示すブロック図である。マスク生成デバイス２１０２は、コード層ジェネレータ／セレクタ回路２１１６、キャリア層ジェネレータ／セレクタ回路２１１８、複合コードマスクジェネレータ／セレクタ回路２１２０、および／または事前成形回路２１２２を実装する処理回路２１０４を含み得る。処理回路２１０４は、メモリ／記憶デバイス２１０６および／または有形媒体２１０８に結合され得る。
【００５４】
[0091]コード層ジェネレータ／セレクタ回路２１１６は、コード層（たとえば、図１１Ａ、図１１Ｂ、図２０など）を生成し、かつ／または（たとえば、メモリ／記憶デバイス２１１０に記憶された）事前生成コード層を選択するように構成／適合され得る。キャリア層ジェネレータ／セレクタ回路２１１８は、キャリア層（たとえば、図９、図２０など）を生成し、かつ／または（たとえば、メモリ／記憶デバイス２１１２に記憶された）事前生成キャリア層を選択するように構成／適合され得る。複合コードマスクジェネレータ／セレクタ回路２１２０は、コード層とキャリア層とを組み合わせ、複合コードマスク２１１４をメモリ／記憶デバイス２１０６および／または有形媒体２１０８（たとえば、フィルム、デジタルデータ記憶デバイスなど）に記憶することによって、複合コードマスクを生成するように構成／適合され得る。さらに、事前成形回路２１２２は、（たとえば、チャネルが、複合コードマスクが投影される際に通る経路および／または軌跡を含む場合）期待または予想チャネル歪みを補償するように、コード層およびキャリア層のうち少なくとも１つを事前成形するように適合され得る。
【００５５】
[00092]図２２は、アフィン変換に対して耐性がある複合コードマスクをどのようにして生成するかの例を示す。複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードからなるコード層が、２２０２で取得される。たとえば、コード層は、コード層８０４（図８）のように、複数のシンボルまたはグラフィックス（たとえば、ｎ１シンボル×ｎ２シンボル）を備え得る。一例では、コード層はｎ１×ｎ２の２値シンボルを備えてよく、ここでｎ１およびｎ２は２よりも大きい整数である。いくつかの実装形態において、シンボルまたはグラフィックスは、（図９のように）２つのグレースケール階調の各々が「０」または「１」を表す、２つのグレースケール階調（たとえば、白とグレー、白と黒など）のラインセグメントであってよい。一例では、少なくとも１つの次元においてコード層のシンボルは、千鳥配列され得る。各コードワードは、ｋ１シンボル×ｋ２シンボルであるコード層上のウィンドウによって定義されてよく、ここでｋ１およびｋ２は２よりも大きい整数である。コード層上の少なくとも１つの方向に沿った重複ウィンドウが、同じ行または列に沿った他のどのウィンドウからも、異なる一意のコードワードを定義し得る。つまり、各ｋ１×ｋ２ウィンドウは、特定の方向に沿って（たとえば、列または行に沿って）コード層中で一度だけ現れることができる。
【００５６】
[00093]単独で確認可能でありコード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含むキャリア層も、２２０４で取得される。キャリア層の基準ストライプは、その間にガード間隔を有して、等間隔に離間され得る。さらに、基準ストライプ幅に対するガード間隔幅は、予想光拡散によって決定され得る。いくつかの例では、基準ストライプは、ガード間隔とは異なる幅であってよい（たとえば、ガード間隔よりも広くても狭くてもよい）。そのような予想光拡散は、たとえば、複合コードマスクを投影するのに使われる光源の分解能および／または電力、対象オブジェクトまでの距離、ならびに／あるいは受信機分解能に基づいて決定され得る。
【００５７】
[00094]任意選択で、コード層およびキャリア層のうち少なくとも１つが、投影に先立ち、合成点像分布関数によって２２０６で事前成形され得る。一例では、投影に先立ち、合成点像分布関数によって、コード層およびキャリア層のうち少なくとも１つを事前成形することは、（ａ）コードマスクがそれを通して投影されるべきチャネルについての１つまたは複数の条件を確認すること、（ｂ）１つまたは複数の条件に基づいて、合成点像分布関数を取得して、チャネルによって引き起こされた歪みを補償すること、ならびに／あるいは（ｃ）コード層およびキャリア層のうち少なくとも１つに合成点像分布関数を適用することを含み得る。別の例では、投影に先立ち、合成点像分布関数によって、コード層およびキャリア層のうち少なくとも１つを事前成形することは、（ａ）コードマスクがそれを通して投影されるべきチャネルにおいて、歪みを補償する事前成形層を取得すること、および／または（ｂ）事前成形層を複合マスクの一部として組み合わせることを含み得る。さらに他の実装形態において、送信機デバイスは動的に、コード層およびキャリア層のうち少なくとも１つの事前成形を実施することができ、コード層とキャリア層とを組み合わせて、複合コードマスクを取得する。
【００５８】
[00095]次いで、コード層とキャリア層とを組み合わせることによって、複合コードマスクが２２０８で取得／生成される。たとえば、コード層とキャリア層とを組み合わせることは、コード層シンボルがキャリア層の基準ストライプ内に現れるように、コード層の上にキャリア層を重ねる／載せることを含み得る。つまり、コード層シンボルは、基準ストライプの場所を定義する働きをし得る。受信機デバイスは、（ガード間隔とは別個の）１つまたは複数のグレースケールレベルのシンボル（たとえば、コーディングストライプ）を配置することができ、そうすることによって、受信機デバイスが、キャリア層からコード層を分離または区別することを可能にする。キャリア層は、受信機が、アフィン変換の下で複合コードマスクを復号するのを認めてよい。いくつかの実装形態において、複合コードマスクは、事前におよび／または離れた所で生成され、送信機デバイスに提供され得ることに留意されたい。いくつかの事例では、異なる様々なコードマスク（たとえば、異なるコードワードをもつ、異なる距離用に構成された、など）が生成され、送信機デバイスに提供され得る。他の実装形態では、複合コードマスクは、（１つまたは複数の利用可能キャリア層からの）キャリア層と（１つまたは複数の利用可能コード層からの）コード層とを選択的に組み合わせることによって、送信機デバイスにおいて動的に生成され得る。
【００５９】
[00096]複合コードマスクは次いで、２２１０で、有形媒体上に記憶され得る。様々な実装形態において、複合コードマスクは、投影可能なフィルム媒体に記憶されてもよく、デジタル構成可能媒体（たとえば、半透明なＬＣＤスクリーン）に移行したデジタル形式で記憶されてもよい。
【００６０】
[00097]様々な例において、有形媒体は、（ａ）複合コードマスクを具現化する単一のフィルム媒体、（ｂ）コード層を記憶する第１のファイル媒体およびキャリア層を記憶する第２のフィルム媒体、（ｃ）複合コードマスクがその中に記憶したデジタル記憶デバイス、ならびに／あるいは（ｄ）コード層およびキャリア層が記憶されるデジタル記憶デバイスのうち少なくとも１つを含み得る。
【００６１】
[00098]続いて、複合コード層の少なくとも一部分が、オブジェクト上に投影されて、オブジェクトについての奥行き情報を確認するのを助け得る。たとえば、送信機は、オブジェクトの表面に複合コード層を投影するのに、光を使うことができる。複合コードマスクはまた、画像としてレンダリングされ、オブジェクトへの後続投影のために記憶され得る。
【００６２】
[00099]送信機が受信機と同じ水平基準プレーン上にあり得るいくつかの実装形態において、基準ストライプは、基準プレーンに対して垂直配向にあり得る。送信機が受信機と同じ垂直基準プレーン上にあり得る他の実装形態において、基準ストライプは、基準プレーンに対して水平配向にあり得る。
【００６３】
[00100]図２３は、コードワードと複合コードマスクとを生成するための例示的な方法を示す。２３０２で、複数のシンボルがｎ１×ｎ２シンボル構造に配置されてよく、ここでｎ１およびｎ２は整数値である。２３０４で、複数のコードワードが、シンボル構造内の異なる重複するｋ１×ｋ２ウィンドウから定義されてよく、ここにおいて、共線的であり空間的に重複するウィンドウが一意のコードワードを定義し、コードワードは、シンボル構造の第１の方向では一意であるが、第１の方向に対して直角である第２の方向では繰り返される。
【００６４】
[00101]２３０６で、シンボル構造のうち複数が、コードマスクとしてレンダリングされてよく、ここにおいて、２つの隣接するｋ１×ｋ２ウィンドウ中のコードワードのコードワードエイリアシングを避けるように、２つの隣接するｋ１×ｋ２ウィンドウ中のシンボルが選択される。コードマスクは、コード層と、独立した固有のキャリア層とを含んでよく、ここで、キャリア層は、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含む。キャリア層基準オブジェクトは、ガード間隔をその間にもつ、複数の等間隔に離間した基準ストライプを備え得る。各基準ストライプは、ガード間隔とは異なる幅であってよい。ガード間隔幅に対する、各基準ストライプの幅は、送信機デバイスおよび／または受信機デバイスの予想光拡散によって決定され得る。コード層の複数のシンボルは、少なくとも１つの次元において空間的に千鳥配列され得る。異なる重複するｋ１×ｋ２ウィンドウは、２つの次元で重なり得る。
【００６５】
例示的な送信機デバイス
[00102]図２４は、複合コードマスクを生成し、かつ／またはそのような複合コードマスクを投影するように構成され得る送信機デバイスの例を示すブロック図である。送信機デバイス２４０２は、メモリ／記憶デバイスに結合された処理回路２４０４、画像投影デバイス２４０８、および／または有形媒体２４０９を含み得る。
【００６６】
[00103]第１の例において、送信機デバイス２４０２は、有形媒体２４０９に結合され、または媒体２４０９を含み得る。有形媒体は、複合コードマスク２４１４を定義し、含み、かつ／または記憶することができ、複合コードマスクは、キャリア層と組み合わされたコード層を含む。コード層は、複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードを含み得る。キャリア層は、単独で確認可能でありコード層とは別個であってよく、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含む。コード層およびキャリア層のうち少なくとも１つが、投影に先立ち、合成点像分布関数によって事前成形され得る。
【００６７】
[00104]第２の例において、処理ユニット２４０４は、コード層ジェネレータ／セレクタ２４１６、キャリア層ジェネレータ／セレクタ２４１８、複合コードマスクジェネレータ／セレクタ２４２０および／または事前成形回路２４２２を含み得る。コード層ジェネレータ／セレクタ２４１６は、あらかじめ記憶されたコード層２４１０を選択することができ、かつ／またはそのようなコード層を生成することができる。キャリア層ジェネレータ／セレクタ２４１８は、あらかじめ記憶されたキャリア層２４１２を選択することができ、かつ／またはそのようなキャリア層を生成することができる。複合コードマスクジェネレータ／セレクタは、あらかじめ記憶された複合コードマスク２４１４を選択することができ、かつ／またはコード層２４１０とキャリア層２４１２とを組み合わせて、複合コードマスク２４１４を生成することができる。任意選択で、処理回路２４０４は、複合コードマスク２４１４、コード層２４１０、および／またはキャリア層２４１２を事前成形して、複合コードマスクがそれを通して投影されるべきチャネル中で予想歪みを補償する事前成形回路を含み得る。
【００６８】
[00105]いくつかの実装形態において、複数の異なるコード層および／またはキャリア層が利用可能であってよく、ここで、各そのようなキャリア層またはコード層は、異なる条件向けに（たとえば、異なる距離にあるオブジェクト、または送信機デバイスと受信機デバイスとの間の異なる構成向けに）構成され得る。たとえば、第１の距離または範囲内のオブジェクトに対して、第２の距離または範囲にあるオブジェクト向けとは異なる、コード層とキャリア層の組合せが使われてよく、ここで、第２の距離は第１の距離よりも大きい。別の例では、送信機デバイスおよび受信機デバイスの相対配向に依存して、コード層とキャリア層の異なる組合せが使われてよい。
【００６９】
[00106]画像投影デバイス２４０８は、生成／選択された複合コードマスクを、対象オブジェクト上に投影する働きをし得る。たとえば、他の光源へのレーザーが、対象となっているオブジェクト上に複合コードマスクを（たとえば、投影チャネルを通して）投影するのに使われ得る。一例では、複合コードマスク２４１４は、赤外スペクトル中で投影され得るので、裸眼には可視的でない場合がある。そうではなく、赤外スペクトル範囲内の受信機センサーが、そのような投影された複合コードマスクをキャプチャするのに使われ得る。
【００７０】
[00107]図２５は、複合コードマスクを投影するための方法を示す。２５０２で、有形媒体上の複合コードマスクが取得され、複合コードマスクは、キャリア層と組み合わされたコード層を含み、ここにおいて、（ａ）コード層は、複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードを含み、（ｂ）キャリア層は、単独で確認可能でありコード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含み、（ｃ）コード層およびキャリア層のうち少なくとも１つが、投影に先立ち、合成点像分布関数によって事前成形される。コード層はｎ１×ｎ２の２値シンボルを備えてよく、ここでｎ１およびｎ２は２よりも大きい整数である。
【００７１】
[00108]送信機デバイスは次いで、２５０４で、複合コードマスクの少なくとも一部分を標的オブジェクトに投影して、受信機が、複合コードマスクの一度の投影を用いて標的オブジェクトについての奥行き情報を確認するのを助けることができる。
【００７２】
[00109]一例では、コード層上の少なくとも１つの方向に沿った重複ウィンドウが、同じ行または列に沿った他のどのウィンドウからも、異なる一意のコードワードを定義し得る。複合コードマスク中の各シンボルは、基準オブジェクトとは別個の、２つのグレースケール階調のうち１つでのラインセグメントであってよい。一態様によると、コード層のシンボルは、少なくとも１つの次元において千鳥配列される。キャリア層基準オブジェクトは、ガード間隔をその間にもつ、複数の等間隔に離間した基準ストライプを備え得る。基準ストライプおよびガード間隔は、異なる幅であってよい。ガード間隔幅に対する、各基準ストライプの幅は、送信機デバイスおよび／または受信機デバイスの予想光拡散によって決定され得る。コード層とキャリア層は、コード層シンボルがキャリア層の基準ストライプ内に現れるように、コード層の上にキャリア層を重ねることによって組み合わされ得る。
【００７３】
[00110]一例では、２値シンボルは配向ラインセグメントであってよい。ある事例では、コードマスク中のラインセグメントは、コードマスクの送信機およびコードマスクの受信機が整列されるプレーンに対して直角に配向される。送信機および受信機が、１つのプレーン（たとえば、水平プレーン）中で整列されるので、奥行き情報は、（図３に示したような）一方向に沿ったコードワードの変位から取得される。したがって、コードワードの一意性は、変位の方向に沿って必要なだけである。
【００７４】
[00111]コードワードの総数を比較的少なく保つために（たとえば、コードワード一致を見つけるのに必要とされる可能相関の数を削減するために）、シンボル構造は、コードワードの合計可能数からコードワードのサブセットを定義すればよい。したがって、コードワードは、シンボル構造の第１の方向では一意であり得るが、第１の方向に対して直角である第２の方向では繰り返される。
【００７５】
[00112]一例では、各シンボルは、少なくとも５０％の階調差を有する２つのグレースケール階調のうち１つでのラインセグメントである。別の例では、各シンボルは、コードマスク中のラインセグメントとして表され、ラインセグメントは、互いと並列および／または共線である。
【００７６】
[00113]一例では、投影に先立ち、合成点像分布関数によって、コード層およびキャリア層のうち少なくとも１つを事前成形することは、（ａ）コードマスクがそれを通して投影されるべきチャネルについての１つまたは複数の条件を確認すること、（ｂ）１つまたは複数の条件に基づいて、合成点像分布関数を取得して、チャネルによって引き起こされた歪みを補償すること、ならびに／あるいは（ｃ）コード層およびキャリア層のうち少なくとも１つに合成点像分布関数を適用することを含む。別の例では、投影に先立ち、合成点像分布関数によって、コード層およびキャリア層のうち少なくとも１つを事前成形することは、（ａ）コードマスクがそれを通して投影されるべきチャネルにおいて、歪みを補償する事前成形層を取得すること、および／または（ｂ）事前成形層を複合マスクの一部として組み合わせることを含む。
【００７７】
例示的な受信機デバイス動作
[00114]図２６は、複合コードマスクから奥行き情報を取得するように構成され得る受信機デバイスの例を示すブロック図である。受信機デバイス２６０２は、メモリ／記憶デバイスと受信機センサー２６０８（たとえば、画像キャプチャデバイス２６０８）とに結合された処理回路２６０４を含み得る。
【００７８】
[00115]受信機センサー２６０８（たとえば、カメラなど）は、オブジェクトの表面に投影された複合コードマスクの少なくとも一部分を取得する働きをし得る。たとえば、受信機センサーは、標的オブジェクトの表面に投影された複合コードマスクの少なくとも一部分をキャプチャすることができる。複合コードマスクは、（ａ）複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードからなるコード層、および（ｂ）単独で確認可能でありコード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含むキャリア層によって定義され得る。コード層およびキャリア層のうち少なくとも１つが、投影に先立ち、合成点像分布関数によって事前成形されていてよい。一例では、受信機センサー２６０８は、赤外スペクトル内の複合コードマスクをキャプチャすることができる。
【００７９】
[00116]コード層はｎ１×ｎ２の２値シンボルを備えてよく、ここでｎ１およびｎ２は２よりも大きい整数である。複合コードマスクにおいて、各シンボルは、基準オブジェクトとは別個の、２つのグレースケール階調のうち１つでのラインセグメントであってよい。コード層のシンボルは、少なくとも１つの次元において千鳥配列され得る。キャリア層基準オブジェクトは、ガード間隔をその間にもつ、複数の等間隔に離間した基準ストライプを備え得る。基準ストライプおよびガード間隔は、異なる幅であってよい。ガード間隔幅に対する、各基準ストライプの幅は、送信機デバイスおよび／または受信機デバイスの予想光拡散によって決定され得る。
【００８０】
[00117]処理回路２６０４は、基準ストライプ検出器回路／モジュール２６１２、歪み調整回路／モジュール２６１４、コードワード識別器回路／モジュール２６１６、奥行き検出回路／モジュール２６１８、および／または奥行きマップ生成回路／モジュール２６２０を含み得る。
【００８１】
[00118]基準ストライプ検出器回路／モジュール２６１２は、複合コードマスクの部分内の基準ストライプを検出するように構成され得る。歪み調整回路／モジュール２６１４は、基準ストライプの実際の配向に対する基準ストライプの予想配向に基づいて、複合コードマスクの部分の歪みを調整するように構成され得る。コードワード識別器回路／モジュール２６１６は、複合コードマスクの部分内で定義されたウィンドウからコードワードを取得するように構成され得る。奥行き検出回路／モジュール２６１８は、ウィンドウに対応する標的オブジェクトの表面部分についての奥行き情報を、（ａ）複合コードマスクの一度の投影、および（ｂ）既知の基準コードマスクに対するウィンドウの変位に基づいて取得するように構成され得る。
【００８２】
[00119]奥行きマップ生成回路／モジュール２６２０は、歪んでいない複合コードマスクの部分内の異なる重複ウィンドウとして検出された複数のコードワードに基づいて、オブジェクトについての奥行きマップを組み立てるように構成され得る。
【００８３】
[00120]一例では、コード層およびキャリア層のうち少なくとも１つの事前成形は、成形されていない複合コードマスクと比較してより多くの電力が受信機センサーによって認知されるように、複合コードマスクの投影中の電力効率を増大させる。
【００８４】
[00121]ある事例では、使われる合成点像分布関数は、（ａ）複合コードマスクがそれを通して投影されるべき予想チャネル条件、（ｂ）複合コードマスクが投影される表面の特性、および／または（ｃ）投影された複合コードマスクを受信するべき受信機センサーの感度のうち少なくとも１つに基づいて、複数の点像分布関数から選択され得る。別の例では、合成点像分布関数は、（ａ）複合コードマスクを投影するべきプロジェクタに対する第１のチャネル応答、および／または（ｂ）複合コードマスクを投影するべきプロジェクタから、複合コードマスクを受信するべき受信機センサーまでの経路に対する第２のチャネル応答のうち少なくとも１つに基づいて、複数の点像分布関数から選択され得る。
【００８５】
[00122]図２７は、受信機デバイスの例示的な動作を示すブロック図である。受信機デバイスは、較正モード２７０２および／または動作モード２７０４に従って動作し得る。
【００８６】
[00123]較正モード２７０２において、受信機デバイスは、２７０６で画像を獲得することができ、２７０８で、それ自体を較正して（たとえば、光強度についてのレセプタを調整するなどして）、較正パラメータ２７１０を取得する。
【００８７】
[00124]動作モード２７０４において、受信機デバイスは、２７１４で画像を獲得することができ、２７１６で、較正パラメータ２７１０に基づいて画像を矯正する。次いで、既知のマスクパラメータ２７１２を使う（たとえば、既知のコードマスクを使う）ことによって、奥行き推定２７１８が矯正画像に対して実施され得る。このように、奥行きマップが、生成され、２７２０で、画像とともに使用／記憶／表示され得る。
【００８８】
[00125]図２８は、アフィン変換に対して耐性がある複合コードマスク内のキャプチャされたコードワードを復号するための例示的な方法を示す。受信機センサーは、２８０２で、標的オブジェクトの表面に投影された複合コードマスクの少なくとも一部分を受信することができ、複合コードマスクは、（ａ）複数のシンボルによって定義された、一意に識別可能な空間コード化コードワードからなるコード層、（ｂ）単独で確認可能でありコード層とは別個であるとともに、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含むキャリア層によって定義され、（ｃ）ここで、コード層およびキャリア層のうち少なくとも１つが、投影に先立ち、合成点像分布関数によって事前成形されている。一例では、受信機センサーは、赤外スペクトル内の複合コードマスクをキャプチャすることができる。
【００８９】
[00126]一例によると、コード層はｎ１×ｎ２の２値シンボルを備えてよく、ここでｎ１およびｎ２は２よりも大きい整数である。複合コードマスクにおいて、各シンボルは、基準オブジェクトとは別個の、２つのグレースケール階調のうち１つでのラインセグメントであってよい。いくつかの事例では、少なくとも１つの次元においてコード層のシンボルは、千鳥配列され得る。キャリア層基準オブジェクトは、ガード間隔をその間にもつ、複数の等間隔に離間した基準ストライプを備え得る。一例では、基準ストライプおよびガード間隔は、異なる幅である。別の例では、ガード間隔幅に対する、各基準ストライプの幅は、送信機デバイスおよび／または受信機デバイスの予想光拡散によって決定される。
【００９０】
[00127]コード層およびキャリア層のうち少なくとも１つの事前成形は、成形されていない複合コードマスクと比較してより多くの電力が受信機センサーによって認知されるように、複合コードマスクの投影中の電力効率を増大させ得る。使われる合成点像分布関数は、（ａ）複合コードマスクがそれを通して投影されるべき予想チャネル条件、（ｂ）複合コードマスクが投影される表面の特性、および／または（ｃ）投影された複合コードマスクを受信するべき受信機センサーの感度のうち少なくとも１つに基づいて、複数の点像分布関数から選択され得る。いくつかの事例では、合成点像分布関数は、（ａ）複合コードマスクを投影するべきプロジェクタに対する第１のチャネル応答、および／または（ｂ）複合コードマスクを投影するべきプロジェクタから、複合コードマスクを受信するべき受信機センサーまでの経路に対する第２のチャネル応答のうち少なくとも１つに基づいて、複数の点像分布関数から選択されていてよい。
【００９１】
[00128]処理回路は、２８０４で、複合コードマスクの部分内の基準オブジェクトに基づいて、歪みに合わせてコード層を調整することができる。次いで、２８０６で、（ａ）複合コードマスクの一度の投影、および（ｂ）既知の基準コードマスクに対するウィンドウの変位に基づいて、ウィンドウに対応する標的オブジェクトの表面部分について、奥行き情報が取得され得る。
【００９２】
[00129]図２９は、キャプチャされたコードマスクから奥行きマップを取得するための方法を示す。基準ストライプが、２９０２で、キャプチャされた複合コードマスクの一部分内で検出され得る。複合コードマスクの部分の歪み（たとえば、スキュー、回転など）が次いで、２９０４で、基準ストライプの実際の配向に対する基準ストライプの予想配向に基づいて調整（または補正）され得る。コードワードが、２９０６で、歪んでいない複合コードマスクの部分内で定義されたウィンドウから取得され得る。一例では、各コードワードは、ｋ１シンボル×ｋ２シンボルのウィンドウによって定義されてよく、ここでｋ１およびｋ２は２よりも大きい整数である。複合コードマスクにおいて、各シンボルは、たとえば、基準ストライプとは別個の、２つのグレースケール階調のうち１つでのラインセグメントであってよい。既知の基準コードマスク上の少なくとも１つの方向に沿った重複ウィンドウが、同じ行または列に沿った他のどのウィンドウからも、異なる一意のコードワードを定義し得る。
【００９３】
[00130]一例では、複合コードマスクの部分は、基準ストライプを定義するキャリア層と、複数の一意に識別可能な空間コード化コードワードを定義するコード層とを備え得る。キャリア層は、ガード間隔をその間にもつ、複数の等間隔に離間した基準ストライプを備え得る。場合によっては、各基準ストライプは、ガード間隔よりも広くてよい。ガード間隔幅に対する、各基準ストライプの幅は、予想光拡散によって決定され得る。
【００９４】
[00131]２９０８で、既知の基準コードマスクに対するウィンドウの変位に基づいて、ウィンドウに対応するオブジェクトの表面部分について、奥行き情報が取得され得る。図３に示したように、基準コードマスク中のコードワード３１２の予想位置に最も近い変位ｄ２は、より長い距離または奥行きを示し、コードワード３１２の予想位置からより遠い変位ｄ２は、より短い距離または奥行きを示す。基準コードマスクはｎ１×ｎ２の２値シンボルを備えてよく、ここでｎ１およびｎ２は２よりも大きい整数である。
【００９５】
[00132]歪んでいない複合コードマスクの部分内の異なる重複ウィンドウとして検出された複数のコードワードに基づいて、オブジェクトについて、奥行きマップが２９１０で組み立てられ得る。
【００９６】
[00133]受信機は、複合コードマスクおよびオブジェクトの送信機に対して同じ水平基準プレーンに沿って位置決めされてよく、基準ストリップは、水平基準プレーンに対して垂直に位置決めされてよい。
【００９７】
[00134]一例では、受信機は、オブジェクトの２次元画像を取得することができる。受信機は、複合コードマスクの部分内で定義された１つまたは複数のウィンドウを有する１つまたは複数のコードワードに基づいて、オブジェクトについての奥行き情報を取得することもできる。
【００９８】
コードブックプリミティブの再利用
[00135]別の態様は、コードブックプリミティブを再利用してコードマスクを生成することによって、コードマスクを設計するための効率的なやり方を提供する。コードブックプリミティブは、ｎ１×ｎ２シンボル構造内の複数の空間コード化された一意のコードワードを含み得る。このコードブックプリミティブ（たとえば、ｎ１×ｎ２シンボル構造）は、コードマスクの１つまたは複数の方向において複数回繰り返され得る。コードブックプリミティブを繰り返すことは、特定のコードワード一致を識別するのに必要とされる比較の回数を削減するので、望ましいコードブックサイズの削減を可能にする。
【００９９】
[00136]図３０は、コードワード分離が、コードブックプリミティブ再利用距離をどのように規定するかを示す。最大視差（たとえば、コードワードのシフト）は、動作レジーム（たとえば、最も近い範囲から最も遠い範囲）によって決定され得る。ここで、送信コードワード３００２が、最小範囲ｄ１および最大範囲ｄ２内のシーン／オブジェクトに投影され得る。投影コードワード３００２は、シーン／オブジェクト上で反射し、受信デバイスによってキャプチャされる。送信コードワード３００２の元の場所に対する、キャプチャされたコードワード３００４／３００６の変位は、奥行きを確認するのに使われ得る。ここで、最小範囲ｄ１および最大範囲ｄ２は、仮想（たとえば、任意の）センサープレーン３００７から、最も近いおよび最も遠いオブジェクトまでに定義されている。ただし、最小および最大範囲は、送信機３０１３および受信機３０１５に対するレンズプレーン３００９またはセンサープレーン３０１１のような、異なる基準プレーンから定義されてもよい。最小／最大範囲がセンサープレーン３０１１から定義される場合、最大コードワード視差（たとえば、コードワードのシフト）は、送信コードマスクおよび受信コードマスクから確認され得る。
【０１００】
[00137]コードブックプリミティブがコードマスク中で再利用される場合、エイリアシングとも呼ばれる、（同じコードマスク中の）隣接するコードブックプリミティブから同じコードワードを検出するのを避けることが重要である。隣接するコードブックプリミティブからのコードワードのエイリアシングを防止するために、再利用距離（すなわち、コードブックプリミティブ３００２の幅ｗ１）は、最も近いコードワードインスタンス３００４と最も遠いコードワードインスタンス３００６との間の最大視差（すなわち、変位距離ｗ２）よりも大きい（または等しい）べきである。
【０１０１】
[00138]図３１は、コードブックプリミティブの再利用距離とオブジェクトサイズとの間の関係を示す。２つの例によると、第１のコードブックプリミティブ３１０２が、第１のコードマスク３１１４中で５回再利用され、第２のコードブックプリミティブ３１０８が、第２のコードマスク３１１６中で３回再利用される。コードブックプリミティブ中の一定数の水平コードワードに対して、再利用距離（たとえば、コードブックプリミティブの幅）を増大させると、最小分解可能オブジェクトサイズが削減する。たとえば、第１のコードマスク３１１４に対して、コードブックプリミティブ３１０２は第１のサイズ３１０４を有し、最小分解可能オブジェクトが第２のサイズ３１０６を有し、ここで、第１のサイズは第２のサイズよりも大きい。対照的に、第２のコードマスク３１１６に対して、第２のコードブックプリミティブ３１０８は第３のサイズ３１１０を有し、最小分解可能オブジェクトは第４のサイズ３１１２を有し、ここで、第３のサイズは第４のサイズよりも小さい。
【０１０２】
[00139]図３２は、コードブックプリミティブを再利用することによってコードマスクを構築するための例示的な方法を示す流れ図である。コードブックプリミティブは、３２０２で、ｎ１×ｎ２シンボル構造内の複数の空間コード化された一意のコードワードとして定義され得る。コードマスクは次いで、３２０４で、コードマスク中でコードブックプリミティブをｘ回再利用することによって生成される。
【０１０３】
[00140]コードブックプリミティブのサイズは、コードマスクが投影されるべき最小分解可能オブジェクトサイズの関数であり得る。つまり、コードマスクが投影されるべき特定の最小および／または最大範囲に対して、コードブックプリミティブのサイズは、それらの範囲において一定の分解能（たとえば、最小分解可能オブジェクトサイズ）を達成するように選択され得る。たとえば、コードマスク中でコードブックプリミティブが多くの回数再利用される程、コードマスクが投影されるとき、最小分解可能オブジェクトサイズは小さくなり得る。したがって、コードブックプリミティブのサイズは、コードマスクがシーンまたはオブジェクトに投影されるべき距離範囲の関数であってよい。一例では、コードブックプリミティブが小さい程、コードマスクが投影されるとき、最小分解可能オブジェクトサイズは小さくなる。別の例では、コードワードサイズが小さい程、コードマスクが投影されるとき、最小分解可能オブジェクトサイズは小さくなる。一実施態様によると、すべてのコードワードについてのコードワードサイズは同じであってよい（たとえば、コードワードが同じ幅を有してよい）。一例では、コードブックプリミティブのサイズは、コードブックプリミティブの幅または長さの１つを指し得る。
【０１０４】
[00141]各空間コード化された一意のコードワードは、ｍ個のシンボルの組合せであってよい（たとえば、図９および図１０参照）。コードブックプリミティブ中の複数の空間コード化された一意のコードワードは、ｎ１×ｎ２シンボル構造内のｍ個のシンボルのすべての可能な組合せのサブセットであってよい。
【０１０５】
[00142]一例では、複数のコードワードが、シンボル構造内の異なる重複するｋ１×ｋ２ウィンドウ（たとえば、図１１Ａのコードマスク１１０２および１１０６中に示される）から定義され得る。複数のコードワードを定義するウィンドウは、共線であり、空間的に重複し得る。
【０１０６】
[00143]コードマスク中の第１のコードワードの反復インスタンスの間の距離は、コードマスクがオブジェクトに投影され、そのような投影が受信機デバイスによって認知されるとき、第１のコードワードについての最大予想変位よりも大きくてよい（たとえば、図３０参照）。
【０１０７】
[00144]受信機デバイスは、コードマスクを投影する送信機デバイスと同一平面にあり得る。第１のコードワードの反復インスタンスの間の距離は、コードブックプリミティブの幅と同じでよい。
【０１０８】
[00145]一例では、コードブックプリミティブの幅は、コードマスクがオブジェクトに投影され、そのような投影が受信機デバイスによって認知されるとき、第１のコードワードについての最大予想変位よりも大きい。受信機デバイスは、コードマスクを投影する送信機デバイスと同一平面にある。
【０１０９】
[00146]コードマスクは、コードマスクが投影されるオブジェクトの表面部分についての奥行き情報を取得するのを円滑にし得る。コードブックプリミティブは、コードブックが投影されるべき所望の視野を覆うように、ｘ回埋め込まれ得る（たとえば、図３１に示される）。つまり、コードブックプリミティブは、より大きいコードマスクを構築するように、たとえば、１つまたは複数の方向／次元において複製または反復され得る。一例では、ｘは、ゼロに等しいかまたはそれよりも大きい整数値でよい。つまり、求められる最小オブジェクト分解能に依存して、コードワードプリミティブおよび／またはコードマスクのサイズが調整され得る（たとえば、コードワードプリミティブおよび／またはコードマスクが大きいほど、達成可能な分解能が高くなる）。
【０１１０】
点像分布関数を使う、コードマスクキャリアの例示的な事前成形
[00147]点像分布関数（ＰＳＦ）は、点光源または点オブジェクトに対する撮像システムの応答を記述する。一態様が、送信チャネルを介して送信されるとき、コードマスク中のエネルギーの量を向上させるための、合成点像分布関数を使った、コードマスクキャリアの事前成形を可能にする。合成点像分布関数とは、送信チャネルの何らかの影響に対抗するように送信システムに意図的に挿入される、事前計算された事前強調の形である。合成ＰＳＦの使用による事前成形は、投影されるコードマスクおよび／またはチャネル条件（たとえば、投影距離、投影面特性、照明電力、受信機特性など）に従って、送信（たとえば、特定のマスクの投影）を最適化しようと努め得る。
【０１１１】
[00148]図３３は、画像を取得するために、点像分布関数がオブジェクトにどのように適用され得るかの例を示す。ＰＳＦに対するより一般的な用語がシステムのインパルス応答であり、ＰＳＦは、集束光学システムのインパルス応答である。
【０１１２】
[00149]ここで、特定のエネルギーレベルを有するパルス３３０４の第１の送信パターン３３０２が示され、ここで、パルス３３０４に対して事前成形は実施されていない。同じ第１の送信パターン３３０２が、拡散パルス３３０８の受信パターニング済み３３０６としても示されている。認知され得るように、狭送信パルス３３０４は、送信チャネルを超えて伝播しており、第１の分散パルス３３０８として受信される。
【０１１３】
[00150]対照的に、特定のエネルギーレベルを有する事前成形されたパルス３３１２の第２の送信パターン３３１０が示されている。同じ第２の送信パターン３３１０が、第２の拡散パルス３３１６の受信パターニング済み３３１４としても示されている。認知され得るように、事前成形送信パルス３３１２は、送信チャネルを超えて伝播しており、第２の分散パルス３３１６として受信される。第２の受信された第２の分散パルス３３１６は、第１の分散パルス３３０８よりも比較的高いエネルギーレベルで受信されることに留意されたい。
【０１１４】
[00151]多くのコンテキストにおけるＰＳＦは、分解されていないオブジェクトを表す、画像中の拡張ブロブと考えられ得る。関数用語では、変調伝達関数の空間ドメインバージョンである。点オブジェクトの拡散（ぶれ）の程度は、撮像システムの品質測度である。
【０１１５】
[00152]蛍光顕微鏡、望遠鏡または光学顕微鏡などの非干渉性撮像システムにおいて、画像成形プロセスは、電力が線形であり、線形システム理論によって記述される。このことは、２つのオブジェクトＡおよびＢが同時に撮像されるとき、結果が、単独で撮像されたオブジェクトの和に等しいことを意味する。言い換えると、光子の非相互作用プロパティのおかげで、オブジェクトＡの撮像はオブジェクトＢの撮像によって影響されず、逆もまた同様である。
【０１１６】
[00153]したがって、複合オブジェクトの画像は、真のオブジェクトおよびＰＳＦの畳込みと見なされ得る。ただし、検出された光が干渉性であるとき、画像成形は、複合フィールドにおいて線形である。したがって、強度画像の記録は、キャンセルまたは他の非線形効果につながり得る。
【０１１７】
[00154]図３４Ａは、空間ドメイン内のコードマスクキャリアのキャリアストライプを示す。
【０１１８】
[00155]図３４Ｂは、送信チャネル中を伝播した後、空間周波数ドメイン内の、結果として生じたキャリアストライプの例を示す。
【０１１９】
[00156]図３４Ａは、垂直ストライプ、すなわちｓ１  ３４０２およびｓ２  ３４０４を示し、これらは、上で言及した構造化光システム内のコードマスクキャリアの一部を表し得る。空間周波数ドメイン３４０６に変換されると（図３４Ｂを示したように）、これらのストライプのスペクトル応答は、概念的に（図３４Ｂにおいて）曲線Ｓ１およびＳ２として示され得る。所与の電力レベル（ｄＢ）に対して、Ｓ１  ３４０８およびＳ２  ３４１０は、幅Ｘを有し、ノイズフロアの上の距離、すなわちΔ１において交差する。
【０１２０】
[00157]電力制限の懸念がないとき、図３４Ａおよび図３４Ｂに示したように応答セットを有することは、全体的に許容可能であり得る。ただし、セルフォン、ポータブルカメラ、または小型プロジェクタなどの電力制限システムでは、オブジェクトを分解可能なように十分な電力を依然として送信しながら、より少ない電力を使うことが所望される場合がある。この目標を達成するための１つのやり方は、図３５Ａに示すように、合成点像分布関数（ＰＳＦ）３４１２を、送信に先立って、ストライプ（すなわち、キャリア）ｓ１  ３４０２およびｓ２  ３４０４の各々に適用することである。
【０１２１】
[00158]図３５Ａは、空間ドメイン内でキャリアストライプを事前成形するために、合成点像分布関数がキャリアストライプにどのように適用され得るかを示す。
【０１２２】
[00159]図３５Ｂは、送信チャネル中を伝播した後、空間周波数ドメイン内の、結果として生じた事前成形キャリアストライプの例を示す。
【０１２３】
[00160]図３５Ａにおいて、ＰＳＦ  ３４１２は、ストライプの送信（たとえば、オブジェクトにおける投影および／または入射反射）中に電力効率が増加するように、ストライプｓ１  ３４０２およびｓ２  ３４０４が成形されることを可能にする。その結果、スペクトル応答は、図３５Ｂでのように見える場合があり、これは、同じ所与の電力レベル（ｄＢ）に対して、Ｓ１  ３４１４およびＳ２  ３４１６が３Ｘの幅を有し得ることを示す。さらに、Ｓ１  ３４１４およびＳ２  ３４１６の交差は、今ではノイズフロアの上の距離Δ２であり、これは、図３４Ｂに対する送信電力の増大を反映している。
【０１２４】
[00161]使われるＰＳＦの垂直ストライプ３４０２および３４０４の幅ｗの間の距離Ｄ１に依存して（図３６参照）、図３５Ａおよび図３５Ｂに示される３Ｘ（ＰＳＦパルス成形なしで送信される電力の３倍）よりも高いまたは低い異なる送信効率が達成され得る。
【０１２５】
[00162]さらに、ＰＳＦは、プロジェクタの光学系についてだけでなくてよく、送信チャネルについてのＰＳＦも推定され得る。チャネルは、２つの部分、すなわち（ａ）構造化された光が送信機からオブジェクトに移動する空間、および（ｂ）オブジェクトからの反射された構造化光が受信機に移動する空間の中に備えられ得る。したがって、制限つき電力源を依然として使いながら、小さいオブジェクトの間の十分な分解可能性を確保するために、ＰＳＦが最悪のケースのシナリオに合わせて選択され得る。
【０１２６】
[00163]図３６は、送信に先立ってコードマスクキャリアを事前成形するために１つのＰＳＦがそこから選択され得る点像分布関数一式が利用可能であり得ることを示す。このことは、ストライプスペーシング（コードマスクキャリア用）および送信チャネル条件に依存して、複数のＰＳＦから選択をすることを可能にし得る。たとえば、図３６に示すように、ＰＳＦ一式が利用可能であってよく、この一式の中から、可変幅（たとえば、ｗ１およびｗ２）の異なるＰＳＦ  ３６０２および３６０４が選択され得る。ＰＳＦの選択において、送信される電力の量と、受信コードマスク内の分解能の損失との間の釣合いが一般に探し求められる。たとえば、ＰＳＦが広いほど、コードワードを構成するシンボルについての分解能が大きく失われる（たとえば、より高い周波数が排除される）。逆に、より狭いＰＳＦが、コードワードの受信機によって認知されるより小さいエネルギーを送信することができる。したがって、これらの制約は、特定のＰＳＦの選択されたものにおいて釣合いをとられる。
【０１２７】
[00164]撮像ＰＳＦの影響は、送信パターンをぼかし、または場合によっては歪ませることである。ぼやけたカーネルのサイズにより、送信パターン中のシンボルのスペーシングおよび幅に対する、およびしたがってシステム分解能に対する限度が設定される。上記制約は、パターンに含まれるシンボル電力単位受信に対する限度を設ける。パターンシンボル周期とＰＳＦサイズとの間の関係に基づいて、図３５Ａおよび図３５Ｂに示される制約に従ってシンボル電力を増大させるために、送信に先立って、事前強調成形が、送信パターンに適用され得る。そのような成形の結果、受信パターンシンボル中の信号対雑音比を増大させることによって、電力もシステム信頼性も犠牲にすることなく、分解能が維持または増大される。
【０１２８】
[00165]ＰＳＦ選択は、堅牢性／信頼性と性能、すなわち、分解能との間のトレードオフである、システムの動作点に依存する。ＰＳＦ設計は、予想チャネル、ならびにアプリケーション依存である、堅牢性と性能との間の釣合いに基づき得る。
【０１２９】
[00166]ＰＳＦは、光源からカメラ焦点面までの経路光移動についての歪み効果を備える。これらのチャネル効果は、幾何学的歪み、レンズ収差、レンズアクション、回折、オブジェクトサイズおよび組成、シーン反射率、ならびに運動効果を含み得る。ＰＳＦは、システムの最大分解能を制限し、したがって、パターン分解能と制限ＰＳＦレジームとの間の空間は未使用のままであるべきではない。光源からカメラまでの経路に設計が依存する合成成形関数による公称パターンの変調の結果、この分解能ギャップが、システムが電力および分解能一致されるように埋められる。チャネルモデルに従って、そのように設計された送信パターンは、最適な性能をもたらす。
【０１３０】
[00167]各図に示した構成要素、ステップ、特徴および／または機能のうちの１つまたは複数は、単一の構成要素、ステップ、特徴または機能に再構成されおよび／または組み合わされ得、あるいはいくつかの構成要素、ステップ、または機能で実施され得る。また、本明細書で開示する新規の特徴から逸脱することなく追加の要素、構成要素、ステップ、および／または機能が追加され得る。各図に示した装置、デバイス、および／または構成要素は、各図で説明する方法、特徴、またはステップのうちの１つまたは複数を実行するように構成され得る。本明細書で説明した新規のアルゴリズムはまた、効率的にソフトウェアで実装されかつ／またはハードウェアに組み込まれ得る。
【０１３１】
[00168]また、実施形態は、フローチャート、流れ図、構造図、またはブロック図として示されるプロセスとして説明されることがあることに留意されたい。フローチャートは動作を逐次プロセスとして説明し得るが、動作の多くは並列または同時に実施され得る。さらに、動作の順序は並び替えられてもよい。プロセスは、その動作が完了すると終了する。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応する可能性がある。プロセスが関数に対応する場合、その終了は呼出し関数またはメイン関数への関数の復帰に対応する。
【０１３２】
[00169]さらに、記憶媒体は、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスならびに／または、情報を記憶するための他の機械可読媒体、プロセッサ可読媒体、および／もしくはコンピュータ可読媒体を含む、データを記憶するための１つまたは複数のデバイスを表し得る。「機械可読媒体」、「コンピュータ可読媒体」、および／または「プロセッサ可読媒体」という用語は、限定はしないが、ポータブルまたは固定記憶デバイス、光記憶デバイス、ならびに（１つまたは複数の）命令および／またはデータを記憶、含有または担持することが可能な様々な他の媒体などの非一時的媒体を含み得る。したがって、本明細書で説明した様々な方法は、「機械可読媒体」、「コンピュータ可読媒体」、および／または「プロセッサ可読媒体」に記憶され、１つまたは複数のプロセッサ、機械および／またはデバイスによって実行され得る命令および／またはデータによって完全にまたは部分的に実装され得る。
【０１３３】
[00170]さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはこれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装される場合、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体または（１つまたは複数の）他の記憶装置などの機械可読媒体に記憶され得る。プロセッサは、必要なタスクを実施することができる。コードセグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよび／または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を介してパス、フォワーディング、または送信され得る。
【０１３４】
[00171]本明細書で開示される例に関連して説明される様々な例示的な論理ブロック、モジュール、回路、要素、および／または構成要素は、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは他のプログラマブルロジック構成要素、個別ゲートもしくはトランジスタ論理回路、個別ハードウェア構成要素、または、本明細書で説明する機能を実施するように設計されたこれらの任意の組合せを用いて、実装または実施され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングコンポーネントの組合せ、たとえば、ＤＳＰとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。
【０１３５】
[00172]本明細書に開示される例に関連して説明される方法またはアルゴリズムは、ハードウェア、プロセッサによって実行可能なソフトウェアモジュール、または両方の組合せで、処理ユニット、プログラム命令、または他の指令の形で直接具現化されてよく、かつ、単一のデバイスに含まれ、または複数のデバイスにわたって分散されてよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭ（登録商標）メモリ、レジスタ、ハードディスク、取り外し可能なディスク、ＣＤ−ＲＯＭ、または当技術分野で周知のいかなる他の形式の記憶媒体に常駐することができる。記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、その記憶媒体に情報を書き込むことができるようにプロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であり得る。
【０１３６】
[00173]さらに、本明細書で開示される実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能性に関して説明した。そのような機能性をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。
【０１３７】
[00174]本明細書で説明する本発明の様々な特徴は、本発明から逸脱することなく様々なシステムで実装され得る。上記の実施形態は例にすぎず、本発明を限定するものと解釈すべきではないことに留意されたい。実施形態の説明は、例示的なものであり、特許請求の範囲を限定するものではない。したがって、本教示は、他のタイプの装置、ならびに多くの代替形態、修正形態、および変更形態に容易に適用できることが当業者には明らかであろう。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
コードマスク用のコードを生成するための方法であって、
複数のシンボルを、ｎ１×ｎ２シンボル構造に配置することと、ここでｎ１およびｎ２が整数値である、
前記シンボル構造内の異なる重複するｋ１×ｋ２ウィンドウから複数のコードワードを定義することと、ここにおいて、共線的であり空間的に重複するウィンドウが一意のコードワードを定義し、前記コードワードが、前記シンボル構造の第１の方向では一意であるが、前記第１の方向に対して垂直である第２の方向では繰り返される、
複数の前記シンボル構造をコードマスクとしてレンダリングすることと、ここにおいて、２つの隣接するｋ１×ｋ２ウィンドウ中のコードワードのコードワードエイリアシングを避けるように、前記２つの隣接するｋ１×ｋ２ウィンドウ中のシンボルが選択される、を備える方法。
［Ｃ２］
前記コードマスクがコード層と、独立した固有のキャリア層とを含み、ここで前記キャリア層が、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含む、Ｃ１に記載の方法。
［Ｃ３］
前記キャリア層基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備える、Ｃ１に記載の方法。
［Ｃ４］
各基準ストライプが、前記ガード間隔とは異なる幅を有する、Ｃ３に記載の方法。
［Ｃ５］
ガード間隔幅に対する、各基準ストライプの幅が、送信機デバイスおよび／または受信機デバイスの予想光拡散によって決定される、Ｃ３に記載の方法。
［Ｃ６］
前記コード層の前記複数のシンボルが、少なくとも１つの次元において空間的に千鳥配列される、Ｃ１に記載の方法。
［Ｃ７］
前記異なる重複するｋ１×ｋ２ウィンドウが、２つの次元で重なる、Ｃ１に記載の方法。
［Ｃ８］
複数のシンボルをｎ１×ｎ２シンボル構造に配置し、ここでｎ１およびｎ２が整数値である、
前記シンボル構造内の異なる重複するｋ１×ｋ２ウィンドウから複数のコードワードを定義させるように適合された処理回路と、ここにおいて、共線的であり空間的に重複するウィンドウが一意のコードワードを定義し、前記コードワードが、前記シンボル構造の第１の方向では一意であるが、前記第１の方向に対して垂直である第２の方向では繰り返される、
コードマスクとしてレンダリングされた複数の前記シンボル構造を有する有形媒体と、ここにおいて、２つの隣接するｋ１×ｋ２ウィンドウ中のコードワードのコードワードエイリアシングを避けるように、前記２つの隣接するｋ１×ｋ２ウィンドウ中のシンボルが選択される、を備えるコードマスク生成デバイス。
［Ｃ９］
前記コードマスクがコード層と、独立した固有のキャリア層とを含み、ここで前記キャリア層が、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含む、Ｃ８に記載のコードマスク生成デバイス。
［Ｃ１０］
前記キャリア層基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備える、Ｃ８に記載のコードマスク生成デバイス。
［Ｃ１１］
各基準ストライプが、前記ガード間隔とは異なる幅を有する、Ｃ１０に記載のコードマスク生成デバイス。
［Ｃ１２］
ガード間隔幅に対する、各基準ストライプの幅が、送信機デバイスおよび／または受信機デバイスの予想光拡散によって決定される、Ｃ１０に記載のコードマスク生成デバイス。
［Ｃ１３］
前記コード層の前記複数のシンボルが、少なくとも１つの次元において空間的に千鳥配列される、Ｃ８に記載のコードマスク生成デバイス。
［Ｃ１４］
前記異なる重複するｋ１×ｋ２ウィンドウが、２つの次元で重なる、Ｃ８に記載のコードマスク生成デバイス。
［Ｃ１５］
複数のシンボルを、ｎ１×ｎ２シンボル構造に配置するための手段と、ここでｎ１およびｎ２が整数値である、
前記シンボル構造内の異なる重複するｋ１×ｋ２ウィンドウから複数のコードワードを定義するための手段と、ここにおいて、共線的であり空間的に重複するウィンドウが一意のコードワードを定義し、前記コードワードが、前記シンボル構造の第１の方向において一意であるが、前記第１の方向に対して垂直である第２の方向では繰り返される、
複数の前記シンボル構造をコードマスクとしてレンダリングするための手段と、ここにおいて、２つの隣接するｋ１×ｋ２ウィンドウ中のコードワードのコードワードエイリアシングを避けるように、前記２つの隣接するｋ１×ｋ２ウィンドウ中のシンボルが選択される、を備えるコードマスク生成デバイス。
［Ｃ１６］
前記コードマスクがコード層と、独立した固有のキャリア層とを含み、ここで前記キャリア層が、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含む、Ｃ１５に記載のコードマスク生成デバイス。
［Ｃ１７］
前記キャリア層基準オブジェクトが、ガード間隔をその間にもつ複数の等間隔に離間した基準ストライプを備える、Ｃ１５に記載のコードマスク生成デバイス。
［Ｃ１８］
各基準ストライプが、前記ガード間隔とは異なる幅を有する、Ｃ１７に記載のコードマスク生成デバイス。
［Ｃ１９］
ガード間隔幅に対する、各基準ストライプの幅が、送信機デバイスおよび／または受信機デバイスの予想光拡散によって決定される、Ｃ１７に記載のコードマスク生成デバイス。
［Ｃ２０］
前記コード層の前記複数のシンボルが、少なくとも１つの次元において空間的に千鳥配列される、Ｃ１５に記載のコードマスク生成デバイス。
［Ｃ２１］
コードマスクを生成するための命令を記憶した機械可読記憶媒体であって、前記命令が、少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサに、
複数のシンボルをｎ１×ｎ２シンボル構造に配置させ、ここでｎ１およびｎ２が整数値である、
前記シンボル構造内の異なる重複するｋ１×ｋ２ウィンドウから複数のコードワードを定義させ、ここにおいて、共線的であり空間的に重複するウィンドウが一意のコードワードを定義し、前記コードワードが、前記シンボル構造の第１の方向では一意であるが、前記第１の方向に対して垂直である第２の方向では繰り返される、
複数の前記シンボル構造をコードマスクとしてレンダリングさせ、ここにおいて、２つの隣接するｋ１×ｋ２ウィンドウ中のコードワードのコードワードエイリアシングを避けるように、前記２つの隣接するｋ１×ｋ２ウィンドウ中のシンボルが選択される機械可読記憶媒体。
［Ｃ２２］
前記コードマスクがコード層と、独立した固有のキャリア層とを含み、ここで前記キャリア層が、投影に対する歪みに対して堅牢である複数の基準オブジェクトを含む、Ｃ２１に記載の機械可読記憶媒体。
【図１】
0006416083.tif 000002
【図２】
0006416083.tif 000003
【図３】
0006416083.tif 000004
【図４】
0006416083.tif 000005
【図５】
0006416083.tif 000006
【図６】
0006416083.tif 000007
【図７】
0006416083.tif 000008
【図８】
0006416083.tif 000009
【図９】
0006416083.tif 000010
【図１０】
0006416083.tif 000011
【図１１Ａ】
0006416083.tif 000012
【図１１Ｂ】
0006416083.tif 000013
【図１２】
0006416083.tif 000014
【図１３】
0006416083.tif 000015
【図１４】
0006416083.tif 000016
【図１５】
0006416083.tif 000017
【図１６】
0006416083.tif 000018
【図１７】
0006416083.tif 000019
【図１８】
0006416083.tif 000020
【図１９】
0006416083.tif 000021
【図２０】
0006416083.tif 000022
【図２１】
0006416083.tif 000023
【図２２】
0006416083.tif 000024
【図２３】
0006416083.tif 000025
【図２４】
0006416083.tif 000026
【図２５】
0006416083.tif 000027
【図２６】
0006416083.tif 000028
【図２７】
0006416083.tif 000029
【図２８】
0006416083.tif 000030
【図２９】
0006416083.tif 000031
【図３０】
0006416083.tif 000032
【図３１】
0006416083.tif 000033
【図３２】
0006416083.tif 000034
【図３３】
0006416083.tif 000035
【図３４Ａ】
0006416083.tif 000036
【図３４Ｂ】
0006416083.tif 000037
【図３５Ａ】
0006416083.tif 000038
【図３５Ｂ】
0006416083.tif 000039
【図３６】
0006416083.tif 000040