(57)【要約】  本発明は、繰り返しのＮ個のシンボルのシーケンスの形式で光源の光出力に埋められるデータを決定するための検出システムに関する。検出システムは、カメラ及び処理ユニットを含む。カメラは、シャッタの特定の開／閉パターンを介してシーンの一連の画像を取得するように構成される。処理ユニットは、繰り返しのＮ個のシンボルのシーケンスを決定するために、取得した一連の画像を処理するように構成される。カメラの各フレーム時間内でコード化された光の異なるシンボルを捕捉するためにカメラのシャッタが開いている時に注意深くトリガーすることにより、比較的長いフレーム時間を持つ従来のカメラが使用できる。従って、ここで提示される技術は、従来技術で使用されるものより高価でないカメラを使用しながら、見えない「高周波」でコード化された光を検出するために適している。
2013517598.tif 000002
【特許請求の範囲】
【請求項１】
照明システムの第１の光源の光出力に埋め込まれる第１のコードに含まれる繰り返しのＮ個のシンボルの第１のシーケンスを決定するための検出システムであって、前記検出システムは、シーンの一連の画像を取得するためのカメラと、繰り返しのＮ個のシンボルの第１のシーケンスを決定するために、取得した一連の画像を処理する処理ユニットとを有し、各取得した画像は複数のピクセルを含み、各ピクセルはシーン内の異なる物理的位置で前記照明システムの全光出力の強度を表し、前記照明システムの全光出力がシーン内の少なくとも一つの物理的位置に第１の光源の照明寄与を有し、一連の画像は少なくともＮ個の異なる画像を有し、少なくともＮ個の異なる画像の各画像は、繰り返しのＮ個のシンボルの第１のシーケンス内の異なる時間的位置で一つ以上の露出時間を有する全体の露光時間で取得される、検出システム。
【請求項２】
繰り返しのＮ個のシンボルの第１のシーケンスを決定するために取得した一連の画像を処理するために、前記処理ユニットは、第１の光源の光出力に第１のコードを埋め込むために用いられる変調のタイプを決定し、決定された変調のタイプに基づいて、第１のコードの異なるシンボルを区別している一つ以上の閾値を決定し、第１の光源の光出力を有するシーン内の少なくとも一つの物理的位置に対応する取得した一連の画像のピクセルのシーケンスの各ピクセルを、一つ以上の決定された閾値の少なくとも１つと比較することにより、繰り返しのＮ個のシンボルの第１のシーケンスを決定する、請求項１に記載の検出システム。
【請求項３】
前記処理ユニットは、更に、第１の光源の光出力を有するシーン内の少なくとも一つの物理的位置が第１の光源の光出力だけを有すると決定する、請求項２に記載の検出システム。
【請求項４】
Ｎ個のシンボルの少なくとも一つの第１のシーケンスは、シンボルの中間のシーケンスによりＮ個のシンボルの他の第１のシーケンスから分けられる、請求項２又は３に記載の検出システム。
【請求項５】
繰り返しのＮ個のシンボルの第１のシーケンスを決定するために取得した一連の画像を処理するため、処理ユニットは、更に、第１の光源の光出力を有するシーン内の少なくとも一つの物理的位置に対応する取得した一連の画像のピクセルのシーケンスをシンボルの中間のシーケンスと相関させ、当該相関に基づいて、Ｎ個のシンボルの少なくとも一つの第１のシーケンスの始まりを決定し、Ｎ個のシンボルの他の第１のシーケンスの始まりを決定し、及び／又は、第１の光源の光出力を有するシーン内の少なくとも一つの物理的位置が第１の光源の光出力だけを有すると決定する、請求項４に記載の検出システム。
【請求項６】
シンボルの中間のシーケンスは、第１の光源の光出力に第１のコードを埋め込むために用いられる変調のタイプを示す、請求項４又は５に記載の検出システム。
【請求項７】
一つ以上の露出時間の各々の期間がＮ個のシンボルの第１のシーケンスの一つのシンボルの期間に等しい、請求項１乃至６の何れか一項に記載の検出システム。
【請求項８】
一つ以上の露出時間が２つ以上の連続的な露出時間の単一の露出を有する、請求項１乃至７の何れか一項に記載の検出システム。
【請求項９】
一つ以上の露出時間が２つ以上の非連続的な露出時間を有する、請求項１乃至７の何れか一項に記載の検出システム。
【請求項１０】
前記処理ユニットは、更に、第１の光源の光出力を有するシーン内の少なくとも一つの物理的位置に対応する取得した一連の画像のピクセルのシーケンスに、全体の露光時間内の一つより多い露出時間を持つことを可能にする変換を適用する、請求項８又は９に記載の検出システム。
【請求項１１】
カメラのフレームレートが、第１の光源の光出力に第１のコードを埋め込むために使用される変調の周波数より低い、請求項１乃至１０の何れか一項に記載の検出システム。
【請求項１２】
第１のコードに含まれる繰り返しのＮ個のシンボルの第１のシーケンスを決定するための方法であって、前記方法は、シーンの一連の画像を取得する取得ステップであって、各取得した画像は複数のピクセルを含み、各ピクセルはシーン内の異なる物理的位置での照明システムの全光出力の強度を表し、前記照明システムの全光出力がシーン内の少なくとも一つの物理的位置に第１の光源の光出力を有し、一連の画像は少なくともＮ個の異なる画像を有し、少なくともＮ個の異なる画像の各画像は、繰り返しのＮ個のシンボルの第１のシーケンス内の異なる時間的位置で一つ以上の露出時間を有する全体の露光時間で取得される前記取得ステップと、繰り返しのＮ個のシンボルの第１のシーケンスを決定するため取得した一連の画像を処理するステップとを有する、方法。
【請求項１３】
繰り返しのＮ個のシンボルの第１のシーケンスを決定するために取得した一連の画像を処理するステップは、第１の光源の光出力に第１のコードを埋め込むために用いられる変調のタイプを決定するステップと、決定された変調のタイプに基づいて、第１のコードの異なるシンボルを区別する一つ以上の閾値を決定するステップと、決定された一つ以上の閾値の少なくとも１つと、第１の光源の光出力を有するシーン内の少なくとも一つの物理的位置に対応する取得した一連の画像のピクセルのシーケンスの各ピクセルとを比較することにより、繰り返しのＮ個のシンボルの第１のシーケンスを決定するステップとを有する、請求項１２に記載の方法。
【請求項１４】
一つ以上の露出時間が２つ以上の露出時間を有し、繰り返しのＮ個のシンボルの第１のシーケンスを決定するために取得した一連の画像を処理するステップは、更に、全体の露出時間内の複数の露出時間を持たせることを可能にする変換を、第１の光源の光出力を有するシーン内の少なくとも一つの物理的位置に対応する取得した一連の画像のピクセルのシーケンスに適用するステップを有する、請求項１３に記載の方法。
【請求項１５】
請求項２に記載の検出システムで実行されるとき、第１の光源の光出力に第１のコードを埋めるために用いられる変調のタイプを決定するステップと、決定された変調のタイプに基づいて、第１のコードの異なるシンボルを区別する一つ以上の閾値を決定するステップと、決定された一つ以上の閾値の少なくとも一つと、第１の光源の光出力を有するシーン内の少なくとも一つの物理的位置に対応する取得した一連の画像のピクセルのシーケンスの各ピクセルとを比較することにより繰り返しのＮ個のシンボルの第１のシーケンスを決定するステップとを有するステップを実施するためのソフトウエアコード部分を有する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、概して、照明システム及び光受信器の分野に関し、より詳しくは、斯様な照明システムの光出力に埋められたデータを検出するためのシステム及び方法に関する。
【背景技術】
【０００２】
可視光通信は、光源により作られる光出力を介してデータを通信することを指す。斯様な通信は、広い無免許周波数バンドがこのために利用でき、ルーム又はスペースを照明するために用いられる発光ダイオード（ＬＥＤ）が通信を提供するために適用できるので、将来の局所的な無線データ交換を可能にする有望な方法である。おそらく、将来のあらゆる光源は、通信源となることができる。
【０００３】
一つの可視光通信技術は、繰り返しデータ信号に応じて照明装置の光出力を変調することにより照明装置の光出力にデータを埋めることに基づく（斯様な光出力は、時々「符号化照明」と呼ばれ、「ＣＬ」と略記される）。好ましくは、光出力は、変調が消費者に見えないように高周波で変調される。
【０００４】
ＣＬが適用できる一つのシナリオは、点灯時間、調光スキーム、機能、制御ネットワークアドレス、ランプ温度、調光スケジュール、故障等のようなメンテナンス情報に関するデータをランプの光出力に埋め込んでいるランプを含む。他のシナリオは、ローカルの天気、方向、近くの店／レストランのためのローカルコマーシャル、交通情報、音楽等を供給するデータを埋め込んでいる、公的な場所のランプを含む。
【０００５】
埋め込みデータは、例えば、ランプを制御するための遠隔制御で実行される光受信器か、又はスイッチ若しくはセンサ装置のような他のユニットに含まれる光受信器により検出される。ＣＬを検出するための一つの既知の技術は、特定のランプに光受信器を向けて、ランプの光出力に埋められているデータを読み出すことを含む。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
この検出技術の一つの欠点は、単一の位置にある埋め込みデータだけが検出できるということである。対照的に、同時にシーン内の異なる位置で通信されるデータを取り出すことが望ましい。そのために、他の検出技術は、カメラを使用し、カメラをシーンに向け、平行にシーン内の様々な位置のデータストリームを並行に処理し記録することにより示された。この種のカメラベースの検出は、ランプの光出力にデータを埋めるために用いられる変調周波数に少なくとも等しいフレームレートを持つカメラを必要とする。例えば携帯電話、ウェブカメラで使用される従来の民生カメラは、５０〜１００Ｈｚのフレームレートを持ち、これは消費者に見えない態様でデータを埋めるために必要な変調周波数よりかなり低い。これらのカメラがＣＬを検出するために使用できると共に、ＣＬは、低い変調周波数を用いて、又は色変調を用いて埋め込まれなければならない。これらの埋め込み方法の両方とも、消費者に気付かれるランプの光出力の変化に結果的になってしまう。
【０００７】
前述で示されるように、従来技術で必要とされることは、上述の課題の少なくとも幾つかに対処する、光源の光出力に埋め込まれたデータを検出するための技術である。
【０００８】
本発明の目的は、従来の技術で使用されるものとして従来の民生カメラを使用すると共に、見えない「高周波」変調で光源の光出力に埋められるデータを決定するために適している検出システム及び方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一つの実施例は、第１のコードに含まれる繰り返しのＮ個のシンボルの第１のシーケンスを決定するための検出システムを説明する。第１のコードは、照明システムの第１の光源の光出力に埋め込まれる。前記検出システムは、少なくともカメラと処理ユニットとを有する。カメラは、シーンの一連の画像を取得するように構成される。各取得した画像は複数のピクセルを含み、各ピクセルはシーン内の異なる物理的位置での前記照明システムの全光出力の強度を表わす。前記照明システムの全光出力が、シーン内の少なくとも一つの物理的位置に第１の光源の光出力を含む。一連の画像は、少なくともＮ個の異なる画像を有する。少なくともＮ個の異なる画像の各画像は、繰り返しのＮ個のシンボルの第１のシーケンス内の異なる時間的位置で一つ以上の露出時間を有する全体の露光時間で取得される。処理ユニットは、繰り返しのＮ個のシンボルの第１のシーケンスを決定するために、取得した一連の画像を処理するように構成される。
【００１０】
斯様な検出システムは、例えば、照明システムを制御するための遠隔制御で実行されるか、又はスイッチ若しくはセンサ装置のような他のユニットに含まれる。処理ユニットは、ハードウェア、ソフトウェア、又は、ハードウェア及びソフトウェアコンポーネントを持つ複合型ソリューションとして実行される。
【００１１】
その上、照明システムの第１の光源の光出力に埋め込まれている第１のコードに含まれるＮ個のシンボルの繰り返しの第１のシーケンスを決定するための対応する方法及びコンピュータプログラムが提供される。コンピュータプログラムは、例えば、既存の検出システム（例えば既存の光受信器又は携帯電話）にダウンロードされるか、又は検出システムの製造の際に格納されている。
【００１２】
ここで使用される（画像の）「ピクセル」という用語は、シーン内の特定のポイントに対応する画像データのユニット単位を指す。画像データは、シーン内の異なるポイントでの照明システムの全光出力の強度（又はそのパラメータ）を有する。画像データをピクセルの行及び列に配置することは、２Ｄ画像で３次元（３Ｄ）シーンを表す１つの態様である。
【００１３】
埋め込みコードの繰り返しシーケンスの期間（又は、代わりに、シーケンスを有するバイナリ値の数で測定される埋め込みコードの繰り返しシーケンスの長さ）は、ここで、「コード期間」と呼ばれる。特定のコードは、従来から知られているように、パルス幅変調、パルス密度変調又は振幅変調を使用するバイナリ変調又は多値変調を介して、光源に付与される駆動信号を変調することにより、光源の光出力に埋め込まれる。ここで使用されているように、用語「駆動信号」は、光源に付与されるとき、光源に光出力を生成させる電気的信号を指す。好ましくは、コードは、埋め込みコードを含む光出力と埋め込みコードを含まない光出力とを人間の目が区別できないような態様で光出力に埋め込まれる。これは、第１の光源に付与される駆動信号を例えば高周波で変調することにより達成される。
【００１４】
本発明は、各画像が繰り返しシーケンス内で取得されるときの相対時間（斯様な時間は、ここでは「露出時間」と呼ばれる）だけが異なる同じシーンの一連の画像を捕捉し、コード化された光の特定のコードビットに対応しているカメラのフレーム時間内の露出時間の期間及び時間的位置を選択することにより、光源の光出力に埋められるコードビットの特定のシーケンスが決定される（その光源の光出力がシーン内に存在する）と認識したことに基づく。フレーム内の全ての露出時間の期間の和は、カメラの露光時間と呼ばれる。特定の露出時間の所望の露光時間は、カメラのシャッタを開閉することにより実行され、ここで、シャッタはカメラの外部又は内部の何れかにある。シャッタがフレーム時間内で開いている時を変化させる一方（すなわち、繰り返しのシーケンス内で露出時間の時間的位置を変化させる一方）、露光時間は、画像の全てに対して同じままである。例えば、２０ミリ秒（ｍｓ）にセットされるカメラのフレーム時間及び５ｍｓにセットされる露光時間に対して、シャッタがフレームの最初の５ｍｓだけ開く（すなわち、シャッタは、フレームの最後の１５ｍｓ閉じる）とき、１つの画像が得られ、シャッタがフレームの最後の５ｍｓだけ開く（すなわち、シャッタは、フレームの最初の１５ｍｓ閉じる）とき、他の画像が得られ、シャッタがフレームの最初の１ｍｓ開いて、その後１ｍｓ閉じて、その後１ｍｓ開いて、その後１ｍｓ再び閉じて、その後３ｍｓ再び開いて、その後フレーム時間の残りの間閉じるとき、更に他の画像が得られる。処理ユニットは、コード化されたシーケンスのコードビットの全てを決定するために、あるコードビットと他のコードビットとを区別する閾値と、取得した一連の画像の選択されたピクセルとを比較するように構成される。
【００１５】
このように一連の画像を取得して処理することは、２Ｄシーン内の光源の照明寄与に埋められたデータを決定可能にする。カメラのシャッタがカメラの各フレーム時間内にコード化された光の異なるコードビットを捕捉するために開いているときに、注意深くトリガーすることにより、比較的長いフレーム時間を持つ従来のカメラが、使用される。従って、ここで提示される技術は、従来技術で使用されるものよりは高価でないカメラを使用する一方で、見えない「高周波」ＣＬを検出するために適している。
【００１６】
ここで説明される光源は、高圧／低圧ガス放電源、無機／有機発光ダイオード、レーザダイオード、白熱源又はハロゲンの光源を有する。照明システムの光出力に埋められるデータは、光源の局所的な識別、光源の機能及び現在の設定、又は光源に関係する他のタイプの情報を有する。しかしながら、照明システムは、空間又は領域を照明するために必ずしも付与されるというわけではなく、このようなデータ通信のためにも適用されるという点に留意されたい。一例として、照明システムは、ネットワークへのアクセスポイントを構成してもよい。斯様なアプリケーションのために、照明システムにより作られる光出力の少なくとも一部は、可視スペクトル外にあってもよい（すなわち、システムの光源のうちの１つの光源の光出力は、可視スペクトル外にあってもよい）。
【００１７】
請求項２及び１３の実施例は、取得した一連の画像の処理が、第１の光源の光出力に第１のコードを埋め込むために用いられる変調のタイプを決定し、決定された変調のタイプに基づいて、第１のコードの異なるシンボルを区別している一つ以上の閾値を決定し、第１の光源の光出力を有するシーン内の少なくとも一つの物理的位置に対応する取得した一連の画像のピクセルのシーケンスの各ピクセルを、一つ以上の決定された閾値の少なくとも１つと比較することにより、繰り返しのＮ個のシンボルの第１のシーケンスを決定することを好適にも有することを特定する。
【００１８】
請求項３の実施例は、繰り返しのＮ個のシンボルの第１のシーケンスが、第１の光源の光出力だけを含むシーン内の物理的位置に対応するピクセルを有することを提供する。この態様では、単一の光源の光出力に埋め込まれた単一のデータストリームだけを含むピクセルのシーケンスが、シンボルを決定するために使用される。
【００１９】
請求項４の実施例は、第１のコード内に中間のシーケンスを含むことを提供する。中間のシーケンスは、例えば、繰り返しのＮ個のシンボルの第１のシーケンスと受信器との間の同期を供給し（請求項５）、繰り返しのＮ個のシンボルの第１のシーケンスが第１の光源の光出力だけを含むシーン内の物理的位置に対応するピクセルを有することを決定し（請求項５）、及び／又は第１の光源の光出力に繰り返しの第１のシーケンスを埋め込むために用いられる変調のタイプを決定する（請求項６）ことを提供するために、好適にも用いられる。
【００２０】
請求項７の実施例は、露出時間の期間を説明する。斯様な期間を選択することは、埋められたコードの個々のシンボルを処理ユニットが解くことが可能になるので有利である。
【００２１】
請求項８及び９の実施例は、一つ以上の露出時間が２つ以上の露出時間を有するとき、露出時間は、連続的（すなわち、単一の露出）又は非連続的（すなわち、カメラのフレーム内の露光が別々の露出時間に分けられる）である。カメラのフレーム内の全ての露出時間が連続的であるとき、通常全てのカメラの内部にあるシャッタが、全露光時間内の正しい露出時間を設定する（すなわち、カメラのフレーム時間内の所望の時間的位置での露出時間を設定する）ために用いられる。代わりに、通常全てのカメラの内部にあるシャッタが、各フレームの全フレーム時間に対して開いているように設定されてもよく、カメラの外部にあるシャッタが全露光時間内の正しい露出時間を設定するために用いられてもよい。電子シャッタがこの目的のために用いられる。
【００２２】
請求項１０及び１４の実施例は、一つ以上の露出時間が二つ以上の露出時間を有するとき、カメラのフレーム当たりの多値ビット露光の修正を可能にする。フレーム当たり多値ビットの露光を持つ各画像を取得することは、検出システムでのノイズの影響を低減することにより、特に光が弱い状況で光効率がより良くなる。
【００２３】
請求項１１の実施例は、一連の画像を取得するために第１の光源の光出力に第１のコードを埋め込むために用いられる変調の周波数より低いフレームレートを持つカメラを使用することを好適に明確にしている。
【００２４】
これ以降、本発明の実施例は、より詳細に説明されるだろう。しかしながら、この実施例が本発明の保護の範囲を限定するものとして解釈されないことは理解されるべきである。
【図面の簡単な説明】
【００２５】
【図１】図１は、本発明の一つの実施例による構成にインストールされる照明システムの模式図である。
【図２】図２は、本発明の一つの実施例による照明システムの模式図である。
【図３】図３は、本発明の一つの実施例によるＮ個のシンボルの繰り返しシーケンスを有するコードの模式図である。
【図４】図４は、本発明の一つの実施例による検出システムの模式図である。
【図５】図５は、本発明の一つの実施例による、斯様なコードに適当なカメラのフレーム内の例示的な単一のビット露出時間と、４つのシンボルの繰り返しシーケンスとを有する、例示的なコードの模式図を供給する。
【図６ａ】図６ａは、本発明の一つの実施例による、１つの光源だけがシーンへの照明寄与を供給するとき、撮られた一連の画像の第１の画像の模式図である。
【図６ｂ】図６ｂは、本発明の一つの実施例による、１つの光源だけがシーンへの照明寄与を供給するとき、撮られた一連の画像の第２の画像の模式図である。
【図６ｃ】図６ｃは、本発明の一つの実施例による、１つの光源だけがシーンへの照明寄与を供給するとき、撮られた一連の画像の模式図である。
【図７】図７は、本発明の一つの実施例によるＮ個のシンボルの繰り返しシーケンスを決定するための方法のステップの流れ図である。
【図８】図８は、本発明の一つの実施例による一つの第１の光源の光出力を有するシーン内の一つの選択された物理的位置に対応する取得した一連の画像のピクセルのシーケンスの模式図である。
【図９】図９は、本発明の一つの実施例による、斯様なコードに適当なカメラのフレーム内の例示的な多値ビット露出時間と、４つのシンボルの繰り返しシーケンスとを有する、例示的なコードの模式図を供給する。
【図１０】図１０は、本発明の一つの実施例による、カメラの外部のシャッタを操作するために使用される例示的な切換信号及びＮ個のシンボルの繰り返しシーケンスを有する、例示的なコードの模式図を供給する。
【発明を実施するための形態】
【００２６】
以下の説明では、多数の具体的な詳細が、本発明のより完全な理解を提供するために、説明される。しかしながら、本発明が一つ以上のこれらの具体的な詳細なしでも実践されることは、当業者に明らかであろう。他の例では、よく知られた特徴は、本発明をぼやかすことを回避するために説明されていない。
【００２７】
図１は、インストールされた照明システム１１０を備える構成１００、この場合部屋を示す。照明システム１１０は、一つ以上の光源１２０と、光源１２０を制御している一つ以上のコントローラ（図１に示されていない）とを有する。電気的信号で駆動されるとき、光源１２０は、構成１００の一部を照明し、様々な光源１２０からの照明寄与がフットプリント１２５ａ―１２５ｄとして示される。光源１２０は、高圧／低圧ガス放電源、無機／有機発光ダイオード、レーザダイオード、白熱光源、又はハロゲンの光源を有する。照明システム１１０は、ユーザが光源１２０を制御可能にする遠隔制御１３０を更に有する。
【００２８】
図２は、本発明の一つの実施例による照明システム２００の模式図である。照明システム２００は、図１に例示される構成１００の照明システム１１０として用いられてもよい。示されているように、照明システム２００は、少なくともシステムコントローラ２１０及び第１の光源２２０―１を含み、照明設定に従って光出力２０５を生成するように構成される。他の実施例では、照明システムは、付加的な光源、及びオプションで個別に付加的な光源を各々制御する追加コントローラを含む。代わりに、単一のコントローラが複数の光源を制御するように構成されてもよい。
【００２９】
照明システム２００は、以下の通りに動作するように構成されている。図２に示されるように、照明システム２００に対する照明設定は、駆動信号発生器２３０（オプションで、照明システム２００内に含まれてもよい）に供給されている。照明設定は、平均光出力２０５が、例えばルーメンで規定される光パワー及び色についてあるべきことを、例えば示す。照明設定は、遠隔制御装置１３０を介してユーザにより供給されるか、又は予めプログラムされて、シーン設定を制御する外部ユニットから供給される。代わりに、照明設定は、予めプログラムされて、駆動信号発生器２３０又は照明システム２００内のメモリに保存される。駆動信号発生器２３０は、照明システム２００内の異なる光源に対する異なる電気的駆動信号に照明設定を翻訳し、駆動信号をシステムコントローラ２１０に供給する。図２に例示される実施例では、駆動信号発生器２３０は、照明設定を第１の光源２２０―１のための第１の駆動信号に翻訳する。システムコントローラ２１０は、次に、光出力２０５を作るために、異なる光源を光源のそれぞれの駆動信号で駆動する。図２に例示される実施例では、システムコントローラ２１０は、光出力２２５―１を作るために第１の駆動信号で光源２２０―１を駆動するように構成される。この実施例では、照明システム２００の光出力２０５は、光出力２２５―１を有する。
【００３０】
説明されるように、照明設定は、照明システム２００の光出力２０５が、例えば、光の色に関してあるべきことを示す。光出力２０５の色変化は、駆動信号発生器２３０からシステムコントローラ２１０へ供給される駆動信号を制御することを介して、照明システム２００内の異なる光源（図２に示されていない付加的な任意の光源）を異なって調光することにより達成される。光源当たりの一定の調光レベルのために、駆動信号発生器２３０からシステムコントローラ２１０へ供給される駆動信号は、パルスの繰り返しパターンを有する。繰り返しパターンは、ここでは、「駆動パターン」と呼ばれる。
【００３１】
光源を調光する様々な方法は、当業者に知られていて、従って、ここで詳細に説明されない。これらの方法は、例えばパルス幅変調、パルス密度変調又は振幅変調を含む。
【００３２】
システムコントローラ２１０は、更に、データソース２４０からの信号２４５を受信するように構成される。信号２４５は、光源２２０―１の光出力２２５―１に埋め込まれるべきコードを（少なくとも）含む。システムコントローラ２１０は、繰り返しシーケンス内にデータビットを設けることにより、光出力２２５―１に埋め込まれるべきコードを生成するように構成される。斯様なコードの一つの例が図３に例示される。示されるように、コード３１０は、「シーケンス１」として示される、Ｎ個のシンボル（例えば、ビット）の第１の繰り返しシーケンスを有する。以下の説明では、シンボルは、ビットと呼ばれるだろう。しかしながら、「ビット」という語が本願で使われるときはいつでも、単一のシンボルにより表される複数のビットを有してもよい「シンボル」というより広い定義が当てはまることは、認識されなければならない。１つの例は、０及び１がデータに埋め込まれて存在するだけでなく、複数の離散的レベルを埋め込んで存在する多値レベルシンボルである。
【００３３】
コード３１０の各ビットは、期間Ｔｂｉｔを持つ。よって、コード期間は、Ｎ＊Ｔｂｉｔに等しい。シーケンスは、例えば、光源２２０―１の局所的な識別、光源の機能及び現在の照明設定、又は光源２２０―１若しくは照明システム２００に関係するか若しくは関係しない他のタイプの情報を表す。
【００３４】
ある実施例では、「シーケンス１」は、光出力２２５―１に埋め込まれるデータビットの全てを有する。他の実施例では、システムコントローラ２１０は、埋め込まれるべきデータビットを、より短い長さのセット（すなわち、複数のパケット）に分ける。斯様な実施例では、光出力２２５―１へ埋め込まれる第１のコードは、一つのセットの繰り返しシーケンス（例えば、第１のパケットの繰り返し）を含み、次のコードは、他のセットの繰り返しシーケンス（例えば、第２のパケットの繰り返し）を含む等である。
【００３５】
オプションでは、光出力２２５―１に埋め込まれるデータビットは、チャネル符号化を使用して（例えば、畳み込み又はブロック符号化を使用して）、又は巡回冗長検査（ＣＲＣ）コードを使用してコード化される。これは、ビット検出におけるエラーを修正するため及び／又は検出データが有効かどうかを認証するために、伝達されたデータシーケンスの冗長性を増大するようになされる。代わりに、この符号化は、例えば、光出力２２５―１に埋められるデータの可視性を減少させるように、伝達された光信号のスペクトルを形づくるために用いられる。後者のアプローチのために、ある実施例では、マンチェスタ符号化が使用される。この符号化方法の利点は、光信号内の可視フリッカを生じさせる低周波成分を抑えることである。
【００３６】
ある実施例では、コード３１０は、少なくとも幾つかの「シーケンス１」（図３に示されていない）の発生の間に挿入される中間のシーケンスを有する。例えば、中間のシーケンスは、「シーケンス１」の各発生の間に含まれる。データビットがパケットに分けられる実施例では、斯様な中間のシーケンスは、例えば、光源２２０―１の識別、及び／又は送信側で使用される変調及び／又は符号化のタイプのようなパケットに関する情報を含むパケットのヘッダに類似している。代わりに、中間のシーケンスは、「シーケンス１」の各２つ又は３つ発生の後に含まれる。更に他の実施例では、中間のシーケンスは、随時の非周期的な態様で含まれる。
【００３７】
後述されるように、中間のシーケンスは、検出システムの処理ユニットにより、光源２２０―１と検出システムとの同期を導出し、及び／又は処理ユニットがＮビットの第１のシーケンスのコードビットを決定可能にする付加的情報を処理ユニットに供給するために用いられる。
【００３８】
システムコントローラ２１０は、コード３１０に応答して光源２２０―１に付与される駆動信号を変調することにより、光源２２０―１の光出力２２５―１に、コード３１０を埋め込むことができる。光源の光出力にコードを埋め込むための様々な技術は、当業者に知られているので、従って、ここで詳細に説明されない。信号２４５は、更に、他の光源の光出力に埋め込まれる他の同様のコードを含んでもよい。コードの各々は、Ｎビットの異なる繰り返しシーケンスを含む。
【００３９】
図４は、本発明のある実施例による検出システム４００の模式図である。示されるように、検出システム４００は、少なくともカメラ４１０、シャッタ４２０及び処理ユニット４３０を含む。オプションでは、検出システム４００は、また、メモリ４４０を含む。カメラ４１０は、シーンの一連の画像を得るように構成される。シャッタ４２０は、慎重に、画像がカメラ４１０により得られる時点を注意深く決定するように構成される（シャッタ４２０が開くとき、画像は得られ、シャッタ４２０が閉じるとき、画像は得られない）。様々な実施例では、シャッタ４２０は、カメラのフレーム時間の間、一回だけ開いて閉じる（すなわち、フレーム内の所定の期間の単一の露光）カメラ４１０内部に従来のシャッタを有するか、又は、単一のフレームの間、複数回開閉できるカメラの前に配置された電子回路シャッタを有する。
【００４０】
シナリオ１：フレーム当たり１ビット露光
最初に、二つの光源が特定のシーンへの照明寄与を供給できるような照明システム２００の例示的なシナリオを考える。シーンが図１に例示される構成１００のフロアの部分であり、第１の光源は、シーン内にフットプリント１２５ｂを持つ図１に例示される光源１２０の一つであり、第２の光源は、シーン内にフットプリント１２５ｃを持つ図１に例示される光源１２０の一つであると考える。第１及び第２の光源の光出力に埋め込まれるそれぞれのコードは、Ｎビットの異なる繰り返しシーケンスを含む。
【００４１】
説明を簡単にするため、第１の光源の光出力に埋め込まれるデータが４ビットだけを含むと考える。これら４ビットの繰り返しシーケンスを有するコードは、コード５１０として図５に示される（すなわち、Ｎビットの第１の繰り返しシーケンスは４ビットのシーケンスを有する）。示されるように、ビットの各々は、期間Ｔbitを持つ。従って、コード期間は、４＊Ｔbitに等しい。更に、シーケンスの個々のビットｃ１１、ｃ１２、ｃ１３及びｃ１４が、信号５２０で図５に例示される０、１、０、及び０を有すると考える。信号５２０は、図２で説明されたように、信号２４５に含まれる。
【００４２】
上述のように、データは、コード５１０に応じて変調された駆動信号で第１の光源を駆動することにより、第１の光源の光出力に埋められる。様々な実施例では、システムコントローラ２１０は、例えばパルス幅変調（ＰＷＭ）、パルス位置変調、パルス密度変調、又は振幅変調を使用して、バイナリ又は多値変調を介して駆動信号を変調することにより、変調駆動信号を生成する。例えば、ＰＷＭを使用して信号５２０から０のバイナリ値を埋め込むために、システムコントローラ２１０は、駆動信号内の駆動パターンを、信号５２０からバイナリ値「０」を埋め込むための量ａだけ狭くし、システムコントローラ２１０は、駆動信号内の他の駆動パターンを信号５２０から「１」のバイナリ値を埋め込むための量ｂだけより広くする。量ａと量ｂとの間の比率を信号５２０の１の数と０の数との間の比率に等しくさせることにより、照明システムの光出力にデータを埋め込みことは、変調駆動信号の時間平均が元の駆動信号の時間平均と同じままであるので、人間の目には見えない。当業者は、照明システムの光出力にデータを埋めるために信号５２０に依存して、駆動信号を変調するための他の方法を認識するだろう。
【００４３】
同様に、第２の光源の光出力に埋め込まれるデータが、ｃ２１、ｃ２２、ｃ２３、ｃ２４の４ビットを含むと考える。また、ビットの各々は期間Ｔｂｉｔを持ち、従って、コード期間は４＊Ｔｂｉｔに等しい。データのビットがどのように第２の光源の光出力に埋められるかという上述の議論が適用できるので、従って、簡潔さのために、繰り返されない。
【００４４】
検出システム４００は、第１の光源の光出力に埋められるデータのビットを決定するために、以下の態様で動作するように構成される。
【００４５】
最初に、カメラ４１０は、シーンの少なくとも一部が第１の光源の光出力を含むように選択される当該シーンの一連の画像を得るように構成される。そのために、カメラのフレーム時間は、コード期間より１ビット長い、すなわち５＊Ｔｂｉｔであるように設定され、カメラの露出は１ビットのコード期間、すなわちＴｂｉｔの期間に等しい期間を持つ単一の露出時間を有するように設定される。更に、カメラ４１０は、各フレームの第１の期間Ｔｂｉｔの間で画像を得るように構成される。このように構成されるカメラ４１０の露出は、ライン５３０で図５に例示される。
【００４６】
画像が撮られるとき、カメラはシーン内の位置の全てで照明システムの全光出力の強度を得る。本願において、用語（光出力の）「強度」が使われるときはいつでも、例えば光の色、色温度、照明スペクトル及び光強度の変化のような「強度のパラメータ」が同様に含まれると理解されたい。画像は、各ピクセルがシーン内の異なる物理的位置での照明システムの全光出力の強度を表す、複数のピクセルに一般に分けられる。現在のシナリオにおいて、照明システムの全光出力は、第１の光源からの照明寄与及び第２の光源からの照明寄与を有する。
【００４７】
各画像は、ｘ方向に１０ピクセル及びｙ方向に１５ピクセルを持つ１５０ピクセルの２Ｄグリッドに、分割されることを考える。カメラ４１０の露光時間がコードの単一のコードビットに等しいように設定されるので、画像の特定ピクセルの強度は、画像が撮られるとき、第１の光源の光出力にコード化されるコードのビットの値と、第２の光源の光出力にコード化されるコードのビットの値とにより影響を受ける。斯様な第１の画像は、図６ａに示される（この画像は、図５に例示されるフレーム１に対応する）。シーン内の第１の光源のフットプリントは円６１０として示され、第２の光源のフットプリントは円６２０として示される。第１の光源の光出力がコードビットｃ１１で変調され、第２の光源の光出力がコードビットｃ２１で変調されるとき、第１の画像６００―１が撮られるので、各ピクセル（ｘ，ｙ）の強度Ｉｘ，ｙは以下の通りに計算される。
Ｉｘ，ｙ＝Ａｘ，ｙ・ｃ１１＋Ｂｘ，ｙ・ｃ２１
ここで、Ａｘ，ｙ及びＢｘ，ｙは、第１及び第２の光源に付与される駆動信号が特定のコードビットで変調されない場合の第１及び第２の光源の光出力の強度であるそれぞれの値である。よって、図６ａに示されるように、例えばピクセル（７，６）の強度は、（Ａ７，６・ｃ１１＋Ｂ７，６・ｃ２１）に等しい。更に、図６ａに示されるように、例えばピクセル（４，５）の強度はＡ４，５・ｃ１１に等しく、ピクセル（５，５）の強度はＡ５，５・ｃ１１に等しい。なぜならば、第２の光源がこれらのピクセルにより表されるシーンの部分に全く照明寄与を供給しない（これらのピクセルは、フットプリント６２０の外にある）、すなわち、Ｂ４，５＝Ｂ５，５＝０だからである。同様に、例えばピクセル（７，９）の強度はＢ７，９・ｃ２１に等しく、ピクセル（８，１２）の強度はＢ８，１２・ｃ２１に等しい。なぜならば、第１の光源がこれらのピクセルにより表されるシーンの部分に全く照明寄与を供給しない（これらのピクセルは、フットプリント６１０の外にある）、すなわち、Ａ７，９＝Ａ８，１２＝０だからである。例えばピクセル（９，２）の強度はゼロに等しいことが示される。なぜならば、第１の光源も第２の光源もこのピクセルにより表されるシーンの部分への照明寄与に供給しないからである（このピクセルは、フットプリント６１０及び６２０外にある）。
【００４８】
露出５３０から見られるように、シーンの一連の画像の第２の画像は、カメラ４１０のフレーム２の間に得られる。第２の画像は、画像６００―２として図６ｂに示される。画像が同じシーンで撮られるので、フットプリント６１０及び６２０は第１の画像におけるのと同じく残る。第１の光源の光出力がコードビットｃ１２で変調され、第２の光源の光出力がコードビットｃ２２で変調されるとき、画像６００―２が撮られるので、各ピクセル（ｘ，ｙ）の強度は、以下の通りに計算される。
Ｉｘ，ｙ＝Ａｘ，ｙ・ｃ１２＋Ｂｘ，ｙ・ｃ２２
【００４９】
よって、図６ｂに示されるように、例えばピクセル（７，６）の強度は、（Ａ７，６・ｃ１２＋Ｂ７，６・ｃ２２）に等しい。更に、図６ａに示されるように、例えばピクセル（４，５）の強度はＡ４，５・ｃ１２に等しく、ピクセル（５，５）の強度はＡ５，５・ｃ１２に等しく、ピクセル（７，９）の強度はＢ７，９・ｃ２２に等しく、ピクセル（８，１２）の強度はＢ８，１２・ｃ２２に等しい。また、例えばピクセル（９，２）の強度はゼロに等しいように示される。なぜならば、第１の光源も第２の光源もこのピクセルにより表されるシーンの部分への照明寄与を供給しないからである。
【００５０】
同様の態様で、フレーム３及び４において、カメラ４１０は、一連の画像のそれぞれ第３の画像（６００―３）及び第４の画像（６００―４）を得る。また、カメラ４１０のフレーム時間及び露光時間が埋め込まれたコードに関して構成されるので、第１の光源及び第２の光源の光出力がコードビットｃ１３及びｃ２３でそれぞれ変調されるとき、第３の画像が撮られ、第１の光源及び第２の光源の光出力がコードビットｃ１４及びｃ２４でそれぞれ変調されるとき、第４の画像が撮られる。一連の画像６００―１、６００―２、６００―３及び６００―４は、ｔ方向（「ｔ」は「時間」を表わす）に拡張する異なる画像が示される図６ｃに示され、同じシーンの画像が異なる時間で撮られることを表している。
【００５１】
一連の画像６００―１乃至６００―４を取得して、処理ユニット４３０は、第１の光源光出力に埋め込まれるＮビットの第１の繰り返しシーケンスを決定するために、一連の画像を処理できる。図７は、本発明の一つの実施例によるＮビットの第１の繰り返しシーケンスを決定するための方法７００の流れ図を例示する。方法のステップが図４と関連して説明される一方、当業者は、方法のステップを任意の順番で実施するように構成される任意のシステムも本発明の範囲内であると認識するだろう。
【００５２】
方法７００は、ステップ７１０で始まる。処理ユニット４３０は、第１の光源の光出力だけを含むシーン内の物理的位置に対応する一連の画像６００―１乃至６００―４内のピクセルのシーケンスを選択するように構成される。
【００５３】
シーン内の特定の物理的位置に対応する一連の画像６００―１乃至６００―４内のピクセルのシーケンスを例示するために、シーン内の選択された物理的位置が画像６００―１乃至６００―４上のピクセル（４，５）に対応する位置であると考える。その時、その位置に対応する取得した一連のピクセルのシーケンスは、画像の各々からピクセル（４，５）を有する。このシーケンスは、図８にシーケンス８１０として示される。シーケンス８１０は、第１の画像６００―１からのピクセル（４，５）（ピクセル８２０―１として示される）、第２の画像６００―２からのピクセル（４，５）（ピクセル８２０―２として示される）、第３の画像６００―３からのピクセル（４，５）（ピクセル８２０―３として示される）、及び第４の画像６００―４からのピクセル（４，５）（ピクセル８２０―４として示される）を含む。図８に示されるように、ピクセル８２０―１乃至８２０―４での強度は、Ａ４，５・ｃ１、Ａ４，５・ｃ２、Ａ４，５・ｃ３、及びＡ４，５・ｃ４にそれぞれ等しい。
【００５４】
ある実施例では、シーン内の特定の物理的位置に対応するピクセルのシーケンスが、単一の（第１の）光源の光出力だけを含むという決定は、以下の態様でなされる。
【００５５】
システムコントローラ２１０は、時々第１の光源の光出力に埋め込まれるコード内へ一つの中間のシーケンスを含み、第２の光源の光出力に埋め込まれるコード内へ他の中間のシーケンスを含み、ここで、処理ユニット４３０は中間のシーケンス両方へのアクセスを持つ。
【００５６】
中間のシーケンスの各々は、例えば特定の光源の識別子のような或る種の識別子を有する。上述の態様で識別される異なる光源の数は中間のシーケンスの長さに依存する。例えば、Ｍ個のバイナリの値の繰り返しシーケンスを有する同期型ウォルシュ―アダマールコードに対して、Ｍ個の異なる光源が識別され、これは、処理ユニット４３０がＭ個の異なる光源の任意の一つの照明寄与がシーン内の特定位置に存在するかどうかを決定でき、オプションで、斯様な照明寄与の大きさを決定できることを意味する。各フレームで単一のビット長の露出時間を持つように構成される従来の５０Ｈｚのカメラ（すなわち、カメラは、1秒につき５０枚の画像を撮ることができる）を使用して、埋め込みコードの５０ビットの中間のシーケンスを解像するために必要な一連の画像は、１秒で得られる。
【００５７】
ある実施例では、照明システム２００は、中間のシーケンスを処理ユニット４３０に直接提供する。他の実施例では、検出システム４００は、中間のシーケンスを保存するメモリ４４０を含む。更に他の実施例では、検出システム４００は、（無線で）受信された光信号から中間のシーケンスを得るように構成される。代わりに、処理ユニット４３０は、上述の任意の手段により、埋め込みコード自体の各々に含まれる中間のシーケンスではなく、そのパラメータ（すなわち、中間のシーケンスが得られるパラメータ）を得てもよい。例えば、処理ユニット４３０は、特定の既知のシーケンスの長さ、又は可能性があるシーケンスのセットから１つのシーケンスを指す指標番号を得る。中間のシーケンスは、その後、処理ユニット４３０により再現され、検出システム４００に供給される通信の量を潜在的に減らす。他の実施例では、中間のシーケンスを記述するパラメータが、受信された光信号から取り出されてもよい。
【００５８】
中間のシーケンスへのアクセスを持って、処理ユニット４３０は、シーン内の選択された物理的位置に対応する取得した一連の画像のピクセルのシーケンスを中間のシーケンスの各々と相関させるように構成される。コード５１０が、更に、シーケンス１の各発生の前後に例えば含まれるＭビットの中間のシーケンスを含む実施例において、カメラ４１０により取得される画像の数は、上述のように、ちょうど４つ（Ｎ＝４なので）の画像の代わりに、少なくとも（４＋Ｍ）個の画像であることに、ここで留意されるべきである。コード５１０が、更に、シーケンス１の各２回目の発生の前後に例えば含まれるＭビットの中間のシーケンスを含む実施例において、カメラ４１０により得られる画像の数は、少なくとも（２＊Ｎ＋Ｍ）個の画像である。当業者は、埋め込みコードのビットの全てを解決するために、カメラ４１０で取得するのに必要な画像の最小数についての同様のバリエーションを理解できる。中間のシーケンスを持つ斯様な実施例では、取得した一連の画像のピクセルのシーケンスは、このときシーケンスが４つより多い値を含むので、図８に例示されるシーケンス８１０とは異なる。特に、シーケンスは、各取得した画像から一つの値、例えば、上述の第１実施例に対して（４＋Ｍ）個の値、上述の第２実施例に対して（８＋Ｍ）個の値を含む。同様に、カメラ４１０のフレーム時間は、このとき、異なる最小数の画像を取得するために適当に設定され、フレーム時間は、例えば上述の第１実施例に対して（４＋１＋Ｍ）＊Ｔｂｉｔ及び上述の第２実施例に対して（８＋１＋Ｍ）＊Ｔｂｉｔに設定できる。
【００５９】
第１の光源の光出力に埋め込まれる中間のシーケンス（ここで、「第１の中間のシーケンス」と呼ばれる）と、シーン内の選択された物理的位置に対応する取得した一連の画像のピクセルのシーケンスとの相関の結果として、少なくとも一つのピークを持つ相関出力が生成される。相関出力は、通常は、幾つかのピークが他より小さくて、相関プロセスの偽信号を表す多くの「ピーク」を含む。斯様な小さなピークは、ここで「サブピーク」と呼ばれ、用語「ピーク」は、シーン内の選択された物理的位置に対応する取得した一連の画像のピクセルのシーケンス内の特定の中間のシーケンスの存在を示す相関出力内のピークを記述するために、ここでは使われる。このピークは、相関出力のサブピークより明らかに高く、当業者は斯様なピークを容易に識別できる。従って、第１の中間のシーケンスと、シーン内の選択された物理的位置に対応する取得した一連の画像のピクセルのシーケンスとの相関に基づいて、処理ユニット４３０は、相関出力がピークを含む場合、第１の光源の照明寄与がシーン内の選択された物理的位置に存在することを決定可能である。同様の相関は、第１の中間のシーケンスと、シーン内の選択された位置に対応する取得した画像からの一連のピクセルと相関させることにより、シーン内の他の任意の選択される物理的位置に対しても実施される。
【００６０】
他方では、第２の光源の光出力に埋め込まれる中間のシーケンス（ここでは、「第２の中間のシーケンス」と呼ばれる）と、シーン内の選択された物理的位置に対応する取得した一連の画像のピクセルのシーケンスとの相関の結果として、例えば図６ａに示されるように、第２の光源は、ピクセル（４，５）に対する照明寄与を全く供給しないか、又は少なくとも無視できるほどしか供給しないので、ピークを持たない相関出力が生成される。よって、処理ユニット４３０は、取得した一連の画像からのピクセル（４，５）のシーケンスが、単一の（第１の）光源の光出力だけを含む、又は主に含むと決定する。
【００６１】
例えば、処理ユニット４３０は、例えば取得した一連の画像内のピクセル（７，６）のシーケンスが、第１及び第２の中間のシーケンスの各々と、ピクセル（７，６）のシーケンスとを相関させることにより単一の（第１の）光源の光出力だけを含むかどうかを決定することで開始する場合、このとき、相関出力の両方ともピークを含むだろう。これらの相関出力の各々のピークは、ピクセル（７，６）に対応するシーン内の物理的位置の光源両方の光出力の存在を示す。その後、処理ユニット４３０は、第１の光源だけの光出力を有する取得した一連の画像のピクセルの少なくとも一つのシーケンスが見つけられるまで、ピクセルの他のシーケンスを分析する。
【００６２】
シーン内の特定の物理的位置に対応する一連のピクセルが単一の（第１の）光源の光出力だけを含むと決定する斯様な実施例に対して、中間のシーケンスは、良好な自己相関特性を持つシーケンスを有する。各光源が固有の中間のシーケンスを割り当てられるシステムで使われるとき、これらのシーケンスは、好ましくは相互に直交している。この例は、ウォルシュ―アダマールシーケンスであり、ここで、中間のシーケンスの長さが中間のシーケンスを割り当てられる光源の数に等しい。しかしながら、通常は、これらのシーケンスは、同期動作を必要とし、これは、追加の複雑さのため必ずしも所望されない。従って、中間のシーケンスの他の望ましい特性は、良好な相互相関特性、すなわちシーケンス間の高い自己相関及び低い相互相関を持つことである。斯様なシーケンスの例は、擬似乱数、線形フィードバックシフトレジスタにより生成されるシーケンス、又はＣＤＭＡ通信システムのために使われる他のシーケンスを含む。
【００６３】
更に他の実施例では、全ての光源は固有のスイッチング周波数を割り当てられ、これは識別コードとして役に立つ。また、これらは、低い相互相関及び高い自己相関を生じる。
【００６４】
当業者は、ここで説明されるシナリオ全てに対して、特定の光源の照明寄与がシーン内の選択された物理的位置に存在するかどうかを決定するために一連の画像を処理するための他の方法が処理ユニット４３０により実施されてもよいことを認識するだろう。例えば、処理ユニット４３０は、ピクセルの様々なシーケンス、例えば異なる中間のシーケンスに対応するシーケンスを生成し、これらのシーケンスのどのシーケンスが、選択された物理的位置に対応する取得した一連の画像のピクセルのシーケンスと合うかを決定する。これは、例えば最大尤度検索でなされることができる。他の方法も、同様に考察される。
【００６５】
他の実施例では、シーン内の特定の物理的位置に対応するピクセルのシーケンスが単一の（第１の）光源の光出力を主に含むという決定が、ビットのシーケンスに埋められるＣＲＣを使用してなされ、これはピクセルのシーケンスが、第１の光源の照明寄与だけ又は主に第１の光源の照明寄与を有するかどうかを決定するために用いられる。これを決定するために、更に説明されるように、図７のプロセスが適用される。ＣＲＣは、このとき、データが正しく検出されるかどうかを照合するために用いられる。これは、第１の光源の照明寄与があまりに弱いとき、第１の光源の照明寄与がそのピクセルに存在しないとき、又は、複数の光源からの強い照明寄与がそのピクセルに存在するときの場合ではおそらくない。
【００６６】
シーン内の様々な特定の物理的位置に対応するピクセルのシーケンスが、第１の光源の光出力だけを含むか又は第１の光源の光出力を主に含むかどうかを決定する間、同じデータストリーム（第１の光源の光出力に対応する）が複数のピクセルで検出されそうである。ある実施例では、これらのピクセルからの信号は、第１の光源の光出力に埋められるデータの個々のビットの連続的決定の間に結合される。代わりに、第１の光源の光出力に埋められるデータの第１のパケットの成功した検出を得る少しだけのピクセルの選択が、次のパケットの検出のために使われてもよい。第１の光源の光出力だけを含まないピクセルは、以降のステップで無視される。
【００６７】
異なる光源が異なる波長の光出力を生成する更に他の実施例では、検出システム４００は、シーン内の特定の物理的位置に対応するピクセルのシーケンスが、一連の画像を得るとき特定の波長（又は波長の範囲）の光だけを通過させるのに適しているカラーフィルタを用いて、単一の（第１の）光源の光出力だけを含むことを確実にする。
【００６８】
当該方法は、その後、処理ユニット４３０が第１の繰り返しシーケンスで検出システム４００と同期する（すなわち、処理ユニット４３０は、第１の繰り返しシーケンスがどこで開始するかを決定する）任意のステップ７２０へ進む。
【００６９】
このような実施例では、中間のシーケンスは同期シーケンスを含み、ここで、処理ユニット４３０は同期シーケンスにアクセスする。同期シーケンスへのアクセスは、上述のように、中間のシーケンスにアクセスのと同じ態様になされる。
【００７０】
同期シーケンスへアクセスして、処理ユニット４３０は、第１の光源の光出力だけを含むシーン内の物理的位置に対応する一連の画像６００―１乃至６００―４内のピクセルの少なくとも一つの選択されたシーケンスを同期シーケンスと相関させるように構成される。相関出力の最大は、このとき、同期シーケンスの始まりに関係し、コード５１０の（少なくとも幾つかの）第１の繰り返しシーケンスの始まりを決定するために用いられる。同期のために実際に有効なシーケンスは、バーカーシーケンスのような良好な自己相関特性を持つシーケンスであり、これはフルアライメントに対しては高い相関を持つが、位置がずれたバージョンに対しては低い相関を持つ。
【００７１】
方法７００は、その後、処理ユニット４３０はＮビットの第１のシーケンスを第１の光源の光出力に埋め込むために用いられる変調のタイプを決定するステップ７３０へ進む。ある実施例では、これは、再び中間のシーケンスを用いてできる。中間のシーケンス内の通常は２、３ビットから成るフィールドは、どの変調がＮビットの第１のシーケンスを第１の光源の光出力に埋め込むために用いられたかを示すことができる。このために、処理ユニット４３０は、また、中間のシーケンスのために使用される変調のタイプへのアクセスを必要とする。中間のシーケンスのために使用される変調のタイプは、例えば中間のデータに特定の識別子を含ませることにより識別され、異なる光源の識別子のために又は光源の同期シーケンスのために、上述されたように処理ユニット４３０へ供給される。
【００７２】
代わりに、中間のシーケンス及び／又はＮビットの第１のシーケンスの変調は、一定の変調フォーマットで常に実施されてもよい。ステップ７３０は、その時、例えばメモリ４４０から一定の変調フォーマットを読み出すか、又はシステム２００から一定の変調フォーマットを受信することにより処理ユニット４３０が一定の変調フォーマットを得ることに単純化される。
【００７３】
更に他の態様では、処理ユニット４３０は、第１の光源の光出力だけを含むシーン内の物理的位置に対応する一連の画像６００―１乃至６００―４内のピクセルの選択されたシーケンス（例えば、シーケンス８１０）からＮビットの第１のシーケンスを第１の光源の光出力に埋め込むために用いられる変調方法を学習してもよい。例えば、処理ユニット４３０は、シーケンス８１０の振幅レベルの番号に等しい番号として、振幅変調のレベルの番号を決定する。
【００７４】
Ｎビットの第１のシーケンスを第１の光源の光出力に埋め込むために用いられる変調のタイプが知られると、ステップ７４０で、処理ユニット４３０は、Ｎビットの第１のシーケンスの異なるビットを区別している一つ以上の閾値を決定する。換言すれば、処理ユニット４３０は、変調のアルファベットを決定する。例えば、バイナリの振幅変調に対して、特定のレベル（すなわち、閾値）を越えるシーケンス８１０の特定ピクセルの強度は、第１の光源の光出力に埋め込まれるデータビット「１」を表わすものとしてみなされる一方、その特定のレベルより低いシーケンス８１０の特定ピクセルの強度は、第１の光源の光出力に埋め込まれるデータビット「０」を表わすものとしてみなされる。同様に、多値振幅変調では、複数の閾値が決定される。当業者は、処理ユニット４３０が例えば中間のシーケンスの相関値、ピクセルの受信シーケンスの振幅、及び／又は受信した強度レベルの分布に依存する閾値をどのように決定するかの様々な方法を構想できる。
【００７５】
方法７００は、その後、処理ユニット４３０が、決定された閾値（すなわち、ステップ７４０で得られた変調のアルファベットを用いることによる）の少なくとも１つとシーケンス８１０の各ピクセルとを比較することによりＮビットの第１のシーケンスを決定するステップ７５０へ進む。
【００７６】
オプションでは、ステップ７５０に続いて第１の光源の光出力に埋められるデータが複数のパケットに埋められる実施例では、ステップ７５０で決定されたデータビットは、単一のデータパケットへ集められてもよい。そのとき、ステップ７１０―７５０は、第１の光源の光出力に埋められる第２のデータパケットのために繰り返される。データパケットの全てのデータビットが決定されると、データビットはオリジナルデータを形成するために再結合される。
【００７７】
取得した一連の画像６００―１乃至６００―４の同様の処理が、第２の光源の光出力に埋められるビットの繰り返しシーケンスを決定するために実施される。
【００７８】
現在のシナリオが５＊Ｔｂｉｔに等しいカメラのフレーム時間を考えてきたが、他の実施例では、フレーム時間がコード期間の整数倍又は整数の逆数倍（この場合、各画像が同じコードビットの値を含む）でない限り、カメラのフレーム時間は、Ｔｂｉｔの任意の整数倍に等しく設定されてもよい。例えば、コード期間が７＊Ｔｂｉｔに等しい場合、カメラのフレーム時間はコード期間より２ビット大きいか又は２ビット少ない、すなわち９＊Ｔｂｉｔ又は５＊Ｔｂｉｔに設定される。更に、カメラ４１０は、必ずしも各フレームの第１の時間Ｔｂｉｔの間ではなく、各フレームの任意のＴｂｉｔの間に画像を取得するように構成されてもよい。
【００７９】
ある実施例では、露出時間は、埋め込みデータの全体のビットと実質的に一致してもよい（すなわち、各露出時間は、新規なコードビットが光源に付与される駆動信号を変調するために適用されるとき実質的に始まり、新規なコードビットの付与が終わるとき終わる）。他の実施例では、露出時間は、全体のビットと一致するのではなく、埋め込みデータの全体のビットの注意深く選ばれた一部と（例えば、ビットの真ん中５０％と）一致する。
【００８０】
更に、Ｎビットの繰り返しシーケンスを取扱う他の実施例では、Ｎ個より多い画像が、処理ユニット４３０により得られて処理されてもよい。これは、例えば信号５２０がＭビットの中間のシーケンスを含む実施例でなされる。このような実施例では、処理ユニット４３０により取得され処理される画像の最小量は、（Ｎ＋Ｍ）個の画像である。他の実施例では、これは、光源の検出の確率を向上させ、光源の光出力に埋め込まれるデータビットの検出を改善するために使用できる。例えば、２Ｎ個の画像が取得されるとき、検出上のノイズの影響を更に抑制するためにＮ個の画像２セットを平均できる。これは、提案された方法では、露出時間が露光時間と比較して通常小さいので、暗い状況で特に有利である。
【００８１】
シナリオ２：フレーム当たり多値の露光
次に、第１のシナリオと同様に、図１に例示されるように構成１００のフロアの一部である特定のシーンへ２つの光源が照明寄与を供給でき、第１の光源がシーン内（すなわち、床上）にフットプリント１２５ｂを持つ図１に例示される光源１２０の一つであり、第２の光源がシーン内にフットプリント１２５ｃを持つ図１に例示される光源１２０の一つである照明システム２００を考える。また、２つの光源の光出力に埋め込まれるそれぞれのコードは、Ｎビットの異なる繰り返しシーケンスを含む。
【００８２】
また、第１の光源の光出力に埋め込まれるコードの繰り返しシーケンスが４ビットｃ１１、ｃ１２、ｃ１３、ｃ１４を含み、第２の光源の光出力に埋め込まれるコードの繰り返しシーケンスが４ビットｃ２１、ｃ２２、ｃ２３、ｃ２４を含むことを考える。また、ビットの各々は期間Ｔｂｉｔを持ち、従って、コード期間は４＊Ｔｂｉｔに等しい。第１の光源の光出力に埋め込まれるコードは、コード９１０として図９に示され、図２で説明された信号２４５に含まれる。
【００８３】
コードのビットが光源の光出力にどのように埋められるかに関する第１のシナリオの議論が、ここでも適用でき、従って、簡潔さのために、ここで繰り返されない。しかしながら、説明を簡単にするため、Ｎビットの繰り返しシーケンスの決定が他の光源と独立して各光源に対して実施され、処理ユニット４３０が基本的に単一の光源の光出力だけが存在する取得した一連の画像のピクセルを選択することで開始するので、現在のシナリオは、ここで、単一の光源だけがシーンへの照明寄与を供給する例に焦点を当てるだろう。もちろん、当業者は、ここで示される例示が単一の（第１の）光源の光出力だけを含む取得した画像のピクセルのシーケンスがどのように選択されるかに関する第１のシナリオの教示（上述の方法７００のステップ７１０）を組み込むことにより、複数の光源まで容易に広げられることを認識するだろう。
【００８４】
また、カメラ４１０は、シーンの一連の画像を得るように構成される。そのために、カメラの露光は、多重露出時間を有するように設定され、各露出時間が１ビットのコード期間、すなわちＴｂｉｔの長さに等しい期間を持つ。この場合、カメラ４１０の全体の露出時間Ｔｅｘｐは、多重露出時間の全ての期間の和である。斯様なシナリオでは、コード９１０に含まれるＮ個のシンボルの繰り返しの第１のシーケンスを決定するために、検出システム４００は、第１のシナリオで説明されたのと異なる態様で動作するように構成される。
【００８５】
最初に、多重露出時間が連続的であり、カメラ４１０が各フレームの第１の時間Ｔｅｘｐの間に画像を取得するように構成されると考える。各フレームの３つの露出時間を持つ態様で構成されるカメラ４１０の露光は、ライン９３０で図９に例示される。
【００８６】
画像が撮られるとき、カメラはシーン内の全ての位置での照明システムの全光出力の強度を得る。現在のシナリオの例示的例では、照明システムの全光出力は、第１の光源からだけの照明寄与を有する。
【００８７】
カメラの露光時間がコード９１０の３つの連続的なコードビットに等しく設定されるので、画像の特定のピクセルでの強度は、画像が撮られる時間での光源２２０―１の光出力にコード化されるコードのビットの全て値により影響を受ける。各ピクセルは、シーン内の異なる物理的位置での照明システムの全光出力の強度を表す。第１の光源の光出力がコードビットｃ１１、ｃ１２及びｃ１３で変調されるとき第１の画像が撮られるので（図９において、露出９３０のフレーム１のカメラ露光がコード９１０でどれくらい重なるかを参照されたい）、各ピクセル（ｘ，ｙ）の強度ｄｘ，ｙ（１）は、以下の通りに決定される。
ｄｘ，ｙ（１）＝Ａｘ，ｙ・ｃ１１＋Ａｘ，ｙ・ｃ１２＋Ａｘ，ｙ・ｃ１３  （１）
ここで、Ａｘ，ｙは、第１の光源に付与される駆動信号がコードビットｃ１１、ｃ１２及びｃ１３で変調されない場合の強度の値であり、ｄｘ，ｙ（１）の添え字（１）は、これがフレーム１で得られた強度であることを示す。
【００８８】
露出９３０から見られるように、シーンの一連の画像の第２の画像は、カメラ４１０のフレーム２の間に得られる。光源２２０―１の光出力がコードビットｃ１２、ｃ１３及びｃ１４で変調されるとき第２の画像が撮られるので（図５において、露出９３０のフレーム２のカメラ露光がコード９１０でどれくらい重なるかを参照されたい）、各ピクセル（ｘ，ｙ）の強度ｄｘ，ｙ（２）は、以下の通りに決定される。
ｄｘ，ｙ（２）＝Ａｘ，ｙ・ｃ１２＋Ａｘ，ｙ・ｃ１３＋Ａｘ，ｙ・ｃ１４  （２）
【００８９】
同様に、第３の画像に対して、各ピクセル（ｘ，ｙ）の強度ｄｘ，ｙ（３）は、以下の通りに決定される。
ｄｘ，ｙ（３）＝Ａｘ，ｙ・ｃ１３＋Ａｘ，ｙ・ｃ１４＋Ａｘ，ｙ・ｃ１１  （３）
【００９０】
最後に、第４の画像に対して、各ピクセル（ｘ，ｙ）の強度ｄｘ，ｙ（４）は、以下の通りに決定される。
ｄｘ，ｙ（４）＝Ａｘ，ｙ・ｃ１４＋Ａｘ，ｙ・ｃ１１＋Ａｘ，ｙ・ｃ１２  （４）
【００９１】
４つの取得した画像の特定ピクセル（ｘ，ｙ）に対する上記強度（１）―（４）は、マトリックス強度
2013517598.tif 000003
として書かれてもよい。
2013517598.tif 000004
（５）
表記
2013517598.tif 000005
及び
2013517598.tif 000006
を使用して、式（５）は式（６）のように書き直される。
2013517598.tif 000007
（６）
【００９２】
式（６）において、処理ユニット４３０は、取得した一連の画像から強度
2013517598.tif 000008
と、カメラ４１０が画像を撮るために構成される態様から
2013517598.tif 000009
とを所有している。よって、式（６）は、一つの未知の
2013517598.tif 000010
を持つ式である。再び、マトリックス表記で書くと、処理ユニット４３０は、未知の
2013517598.tif 000011
を式（７）により決定する。
2013517598.tif 000012
（７）
ここで、共通のマトリックス表記によると、
2013517598.tif 000013
はマトリックス
2013517598.tif 000014
の逆行列を示すか又は非正方行列
2013517598.tif 000015
に対する擬似逆行列を示す。式（７）に従って計算を実施することは、カメラの各フレーム時間内に多値ビット露出時間を持たせることを可能にする変換を、強度
2013517598.tif 000016
の受信したシーケンスへ適用することで考え得る。この変換はフレーム当たりの多値ビット露出を修正し、結果的に
2013517598.tif 000017
の形式の（すなわち、フレーム当たりの多値ビット露出を修正しない）データよりはむしろ、
2013517598.tif 000018
の形式の（第１のシナリオで説明されたシーケンス８１０と同様の）データを含む取得した画像のピクセル（ｘ，ｙ）のシーケンスとなる。その後、第１のシナリオ（方法７００）で説明されたのと同様の処理が
2013517598.tif 000019
に適用される。様々な実施例では、変換は、上述のステップ７１０―７５０の一部又は全ての前にピクセルのシーケンスに適用される。
【００９３】
このシナリオの説明は、これまで連続的なカメラ４１０のフレーム時間内の多重露出時間の場合を扱っている一方、類似したアプローチが、連続していない多重露出時間に適用できる。式（６）及び（７）が依然満たされるのに対し、画像を取得するため異なる露出時間を選択する違いが、異なるマトリックス
2013517598.tif 000020
に反映されるだろう。式（７）に従って計算を実施することがマトリックス
2013517598.tif 000021
の逆行列を決定することを必要とするので、一連の画像に対する多重露出時間は、マトリックス
2013517598.tif 000022
が逆変換可能であるように、選択されなければならない。
【００９４】
カメラ４１０のフレーム時間内に複数の連続ビットを持つ画像を取得することと複数の非連続ビットを持つ画像を取得することとの間の１つの更なる違いは、どれくらい斯様な露出が実行できるかである。全てのカメラに対して内部にあるシャッタ４２０が、フレーム内で一回だけ開閉するので、斯様なシャッタは、通常は、カメラ４１０のフレーム時間内で複数の連続ビットを持つ画像を取得するためにだけ用いられる。
【００９５】
これに対して、カメラ４１０の外部にあるシャッタ４２０は、各フレーム内で複数の連続ビット及び複数の非連続ビット両方を持つ画像を取得するために用いられる。斯様なシャッタは、カメラの前に配置された電子シャッタとして実行され、単一のフレームの間にシャッタの複数回の開／閉を可能にする。ある実施例では、斯様なシャッタは、デジタルコードにより切換えられる。カメラ４１０に対する外部シャッタの使用により可能になった開／閉パターンの１つの例は、図１０の切換信号１０３０として例示される。図１０は、また、例示的なコード１０１０を例示する。
【００９６】
そのとき、ある実施例では、検出システム４００は、以下の通りに動作するだろう。複合光信号は、カメラ４１０の前に配置されるシャッタ４２０に向けられる。シャッタ４２０は、シャッタの開閉状態を決定する切換信号１０３０により動作される。シャッタ４２０のスイッチング周波数が符号化された光の周波数と同じである、すなわち両方とも同じＴｂｉｔを使用すると考える。そのとき、カメラ４１０は、フレーム時間Ｔｆｒａｍｅにわたって入って来る光を集積する（これは、また、本願で説明されている他の実施例全てに対して保つ）。シャッタ４２０を切換えることにより、開いたシャッタ時間の間のコード１０１０のビットは受信され、それ以外では受信されない。よって、シャッタ４２０からカメラ４１０への結果として生じる出力信号は、シャッタが開いていた間のビットについての和である。
【００９７】
フレームごとに、Ｔｆｒａｍｅ＝Ｔｂｉｔ＊Ｎｓｈｕｔである長さＴｆｒａｍｅの異なるシャッタコードが付与される。シャッタ４２０がカメラ４１０に対する外部シャッタとして実行される実施例では、Ｎｓｈｕｔは、好ましくはＮｃｏｄｅの整数倍又は整数の逆数倍である。シャッタ４２０がカメラ４１０内部のシャッタとして実行される実施例において、Ｎｓｈｕｔは、好ましくはＮｃｏｄｅの整数倍又は整数の逆数倍に等しくない。切換信号１０３０に含む連続的なコードの正しいセットを選択することにより、すなわち、コードマトリックス
2013517598.tif 000023
が逆変換可能であるように選択することにより、信号ｄ（ｔ）は、カメラ４１０の信号出力の電気的処理の後、回復できる。処理ユニット４３０は、その後、上述の態様でＮ個のサンプルのシーケンスを決定する処理を行う。
【００９８】
ある実施例では、シャッタ４２０がより長く開いているほど、光がカメラ４１０のセンサにより受信されるので、切換信号１０３０は、好ましくは、できるだけ多くの１を含む。この目的のための適切なコードは、Ｓ個の行列であり、これは、第１の行及び列を取り除いた後のアダマール行列から成る。
【００９９】
以前のシナリオの説明の全ては、ここで適用でき、従って、コード期間のものと関連するフレーム時間の期間に関するものを除いて繰り返されない。各画像が多重露出時間で取得され、シャッタ４２０がカメラ４１０の外部シャッタとして実行されるシナリオでは、カメラのフレーム時間は、好ましくは、コード期間の整数倍又は整数の逆数倍に設定される。例えば、コード期間が７＊Ｔｂｉｔに等しい場合、カメラのフレーム時間はコード期間の２倍、すなわち１４＊Ｔｂｉｔに設定される。各画像が多重露出時間で取得され、シャッタ４２０がカメラ４１０の内部シャッタとして実行されるシナリオでは、第１のシナリオにて例示されたように、カメラのフレーム時間は、好ましくは、コード期間の整数倍又は整数の逆数倍に設定されない。
【０１００】
このシナリオの１つの利点は、フレーム当たりの複数のビット露出を持つ各画像を取得することが、特に低い光の状況で、より光効率的であるということである。従って、検出プロセスでのノイズの影響は、低減される。
【０１０１】
本発明の一つの利点は、カメラのシャッタの特定の開／閉パターンを選択することにより取得される一連の画像に基づいて、高周波で変調され、よって人間の目に見えない符号化された光が、従来の低レートのカメラを使用して検出されることである。例えば、従来の５０Ｈｚのカメラは、人間の可視閾値より遥かに高い１ｋＨｚ以上で変調される符号化された光を決定するために用いられる。
【０１０２】
ここで例示される実施例は、同期照明システム（すなわち、様々な光源の埋め込みコードが同時に始まるシステム）に対して提供される一方、当業者は、本発明の教示を非同期照明システム（すなわち、様々な光源の埋め込みコードが異なる時間で始まるシステム）まで拡張可能である。
【０１０３】
本発明の一つの実施例は、コンピュータシステムでの使用のためのプログラムプロダクトとして実行される。プログラムプロダクトのプログラムは、実施例の機能（ここで説明されている方法を含む）を規定し、様々なコンピュータ可読の記憶媒体に含まれ得る。例示的コンピュータ可読の記憶媒体は、限定されるものではないが、（ｉ）情報が永久に格納される書き換えできない記憶媒体（例えば、ＣＤ―ＲＯＭドライブにより読み込み可能なＣＤ―ＲＯＭディスクのようなコンピュータ内の読出し専用メモリ装置、フラッシュメモリ、ＲＯＭチップ又はソリッドステート不揮発性半導体メモリの任意のタイプ）、及び、（ｉｉ）変更可能な情報が格納される書き換え可能な記憶媒体（例えば、ディスケットドライブ若しくはハードディスクドライブ内のフロッピー（登録商標）ディスク又はソリッドステートランダムアクセス半導体メモリの任意のタイプ）を含む。
【０１０４】
前述の説明は本発明の実施例に向けられる一方、本発明の他の実施例及び更なる実施例は、本発明の基本的な範囲を逸脱しない範囲で考案されてもよい。例えば、本発明の態様は、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組合せで実行されてもよい。更に、実施例が可視光の通信の状況で説明されてきたが、本発明は、可視の範囲外の波長範囲にも適用できる。従って、本発明の範囲は、以下の請求項により決定される。
【図１】
2013517598.tif 000024
【図２】
2013517598.tif 000025
【図３】
2013517598.tif 000026
【図４】
2013517598.tif 000027
【図５】
2013517598.tif 000028
【図６Ａ】
2013517598.tif 000029
【図６Ｂ】
2013517598.tif 000030
【図６Ｃ】
2013517598.tif 000031
【図７】
2013517598.tif 000032
【図８】
2013517598.tif 000033
【図９】
2013517598.tif 000034
【図１０】
2013517598.tif 000035
【国際調査報告】
2013517598.tif 000036
2013517598.tif 000037