(57)【特許請求の範囲】
【請求項１】
エンコーダから変調器への入力信号の供給を制御する方法であって、前記入力信号は、光源により発せられる光にデータを埋め込むために該光源を流れる電流の変調を、符号化方式に従って離散的な電流レベルのセットから各々選択され、前記入力信号の特性の対応する階調から各々生じるシンボルのシーケンスを前記電流に変調することによりもたらし、
前記シンボルのうちの隣接して先行するシンボルから前記シンボルのうちの現在のシンボルへの前記符号化方式により許容される複数の可能な論理遷移の各々について、前記現在のシンボルの電流レベルについてのそれぞれの観測値を決定するステップ、
前記複数の論理遷移の各々について、前記それぞれの観測値と前記電流レベルについての公称値のセットのうちの対応する公称値との間の関連するエラーを決定するステップ、及び
前記複数の論理遷移の各々についてのそれぞれのエラーに基づいて、結果として生じる電流レベルを対応する公称値に近づけるために、前記入力信号の対応する階調にそれぞれの補償を適用するステップを含む、方法。
【請求項２】
前記複数の可能な論理遷移は、前記符号化方式に従って許容される全ての可能な遷移である、請求項１に記載の方法。
【請求項３】
当該方法は、
前記シンボルのうちの先行するシンボルから前記シンボルのうちの現在のシンボルへの所定数Ｎの連続するシンボルのサブシーケンスにおいて前記符号化方式により許容される複数の可能なシンボルの組み合わせの各々について、前記現在のシンボルの電流レベルについてのそれぞれの観測値を決定するステップ、
前記複数の組み合わせの各々について、前記それぞれの観測値と前記対応する公称値との間の関連するエラーを決定するステップ、及び
前記複数の組み合わせの各々についてのそれぞれのエラーに基づいて、対応する電流レベルを前記対応する公称値に近づけるために、前記入力信号の対応する階調にそれぞれの補償を適用するステップ、を有する、請求項１又は２に記載の方法。
【請求項４】
前記複数の組み合わせは、前記符号化方式に従って許容される論理遷移を前提としてＮ個のシンボルの全ての可能な組み合わせである、請求項３に記載の方法。
【請求項５】
前記光源は、LEDベースの光源である、請求項１乃至４の何れか一項に記載の方法。
【請求項６】
前記観測値を決定するステップ及び前記エラーを決定するステップは、前記観測値を生成するためにシミュレーションを用いることにより、前記変調器のシミュレーションに基づいて実行され、
前記補償を適用するステップは、事前補償段階で実行される、請求項１乃至５の何れか一項に記載の方法。
【請求項７】
前記観測値を決定するステップ、前記エラーを決定するステップ及び前記補償を適用するステップは、前記エンコーダ、前記変調器及び前記光源の動作中に、該動作中に前記観測値を測定するために測定回路を用いることにより、動的に実行される、請求項１乃至６の何れか一項に記載の方法。
【請求項８】
前記補償を適用するステップは、前記エンコーダと前記変調器との間に配置される補償モジュールであって、前記変調器に入力される前に前記入力信号の階調を調整するよう構成される補償モジュールにおいて乗算補正係数又は加算補正オフセットを設定するステップを含む、請求項１乃至７の何れか一項に記載の方法。
【請求項９】
前記変調器は、それ自体ではデータを埋め込むために前記光を変調することができない前記光源のドライバに後付け可能なアドオンに実装される、又は
前記変調器は、前記ドライバと共に前記光源の既存の部分であるが、前記補償の適用は、前記変調器への後付け可能なアドオンによって実行される、請求項１乃至８の何れか一項に記載の方法。
【請求項１０】
エンコーダから変調器への入力信号の供給を制御するための装置であって、前記入力信号は、光源により発せられる光にデータを埋め込むために該光源を流れる電流の変調を、符号化方式に従って離散的な電流レベルのセットから各々選択され、前記入力信号の特性の対応する階調から各々生じるシンボルのシーケンスを前記電流に変調することによりも
たらし、当該装置は、
前記シンボルのうちの隣接して先行するシンボルから前記シンボルのうちの現在のシンボルへの前記符号化方式により許容される複数の可能な論理遷移の各々について、前記変調器の動作中に前記現在のシンボルの電流レベルについてのそれぞれの観測値を測定するよう構成される測定回路、及び
前記複数の論理遷移の各々について、前記それぞれの観測値と前記電流レベルについての公称値のセットのうちの対応する公称値との間の関連するエラーを決定するよう構成される補償モジュール、を有し、
前記補償モジュールは、前記複数の論理遷移の各々についてのそれぞれのエラーに基づいて、結果として生じる電流レベルを対応する公称値に近づけるために、前記入力信号の対応する階調にそれぞれの補償を適用するよう構成される、装置。
【請求項１１】
当該装置は、それ自体ではデータを埋め込むために前記光を変調することができない前記光源のドライバに後付け可能なアドオンの形態を取り、該アドオンは、前記測定回路及び前記補償モジュールと共に前記変調器を有する、請求項１０に記載の装置。
【請求項１２】
前記変調器は、前記光源のドライバに組み込まれ、当該装置は、前記変調器への後付け可能なアドオンの形態をとる、請求項１０に記載の装置。
【請求項１３】
当該装置は、前記光源のドライバを有し、前記変調器、前記測定回路及び前記補償モジュールは全て前記ドライバに組み込まれる、請求項１０に記載の装置。
【請求項１４】
エンコーダから変調器への入力信号の供給を制御するためのコンピュータプログラムであって、前記入力信号は、光源により発せられる光にデータを埋め込むために該光源を流れる電流の変調を、符号化方式に従って離散的な電流レベルのセットから各々選択され、前記入力信号の特性の対応する階調から各々生じるシンボルのシーケンスを前記電流に変調することによりもたらし、当該コンピュータプログラムは、コンピュータ可読記憶媒体上に具現化され、1つ以上のプロセッサで実行された場合、
前記シンボルのうちの隣接して先行するシンボルから前記シンボルのうちの現在のシンボルへの前記符号化方式により許容される複数の可能な論理遷移の各々について、前記現在のシンボルの電流レベルについてのそれぞれの観測値を決定する動作、
前記複数の論理遷移の各々について、前記それぞれの観測値と前記電流レベルについての公称値のセットのうちの対応する公称値との間の関連するエラーを決定する動作、及び
前記複数の論理遷移の各々についてのそれぞれのエラーに基づいて、結果として生じる電流レベルを対応する公称値に近づけるために、前記入力信号の対応する階調にそれぞれの補償を適用する動作を実行するよう構成される、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、符号化光(coded light)に関し、とりわけ、符号化光における符号間干渉の問題に関する。
【背景技術】
【０００２】
符号化光は、データがLEDベース光源等の光源によって発せられる光に変調される技術を指す。このようにして、データは、光源からの光に埋め込まれると言うことができる。例えば、データは、LEDベース照明器具等の照明器具によって発せられる照明に変調されてもよい。したがって、環境を照らす照明を提供することに加えて（その目的のために、光源が環境内に既に存在し得る）、光源は、符号化光の適切な受信機にデータを送信することができる送信機としても機能し得る。変調は、典型的には、照明が可視スペクトルにあるにもかかわらず、人間の視覚によって認識することができないほど十分に高い周波数において行われる。すなわち、ユーザが全体的な照明のみを知覚し、照明に変調されているデータの影響を知覚しないように行われる。
【０００３】
データは振幅キーイング又は周波数シフトキーイング等の技術によって光の中に変調され、変調された特性（例えば、周波数の振幅）がチャネルシンボルを表すために使用される。変調は、典型的には、データビット（ユーザビットとも呼ばれる）をかかるチャネルシンボルにマッピングするための符号体系を伴う。一例は、値０のユーザビットがロー−ハイパルスの形態のチャネルシンボルにマッピングされ、値１のユーザビットがハイ−ローパルスの形態のチャネルシンボルにマッピングされるバイナリ符号である、従来のマンチェスタ符号である。他の例は、最近開発された３値マンチェスタ符号である。
【０００４】
受信側で符号化光を検出及び復号するための多くの既知の技術が存在する。例えば、符号化光は、多くの場合で携帯電話又はタブレットのようなモバイルデバイスに組み込まれているような、ありふれた「ローリングシャッタ」タイプのカメラを用いて、検出され得る。ローリングシャッタカメラにおいては、カメラの画像キャプチャ素子は、ライン毎に順次露光される複数のライン（典型的には、水平ライン、すなわち、横列）に分けられる。すなわち、所与のフレームをキャプチャするためには、最初の１つのラインがターゲット環境の光にさらされ、次いで、シーケンスにおける次のラインがわずかにより遅い時間にさらされる。典型的には、シーケンスは、フレームの端から端まで順序正しく、例えば一番上の横列から一番下の横列へ、「ロール」し、従って、「ロールシャッタ」という名前である。符号化光をキャプチャするために用いられるとき、これは、フレーム内の異なるラインは、異なる時間において光をキャプチャすることを意味し、それ故、ラインレートが変調周波数に対して十分に高い場合には、フレーム内の異なるラインは、変調波形の異なる位相において光をキャプチャすることを意味する。したがって、光の変調は検出され得る。符号化光は、フレームレートが変調周波数に対して十分に高い場合にはグローバルシャッタカメラを用いて検出されることもでき、又は適切なサンプルレートを持つ専用フォトセルを用いて検出されることもできる。
【０００５】
符号化光信号の伝送をサポートする照明器具は、多くの関心のある用途を可能にし得る。
【０００６】
例えば、光源によって発せられる照明に埋め込まれるデータは、その光源の識別子を含み得る。その場合、この識別子は、遠隔制御ユニットによって検出されることができ、RFバックチャネルなどのバックチャネルを介して前記光源を遠隔制御するために前記光源を識別するために用いられることができる。例えば、遠隔制御ユニットは、遠隔制御アプリケーション（すなわち、「アプリ」）を実行するスマートフォン又はタブレットの形態をとることができ、この場合には、光センサは、デバイスの内蔵カメラであってもよい。このアプリは、カメラを用いて識別子を検出し、次いで、Wi-Fi、ZigBee又はBluetoothなどのRFアクセス技術を介して光源をアドレス指定するためにこれを用いる。
【０００７】
別の例においては、識別子は、ナビゲーションのために、又は他の位置ベースの情報又は機能を供給するために、用いられ得る。これは、光源の識別子と、光源の既知の位置及び／又は前記位置に関連する他の情報との間のマッピングを供給することによって、達成される。この場合には、（例えば、内蔵カメラを介して）光を受ける携帯電話又はタブレットなどのデバイスは、埋め込まれた識別子を検出し、それを用いて、（例えば、インターネットのようなネットワークを通じてアクセスされる位置データベースにおいて）識別子にマッピングされた対応する位置及び／又は他の情報を調べることができる。デバイスの位置を調べる目的は、例えば、病院などの大きい又は複雑な建物全体を通してユーザの進路を見つけるために、デバイスのユーザが移動するのを助けること、及び／又は特定の部屋の中の照明を制御する機能などの何らかの位置ベースのサービスにアクセスする権限がデバイスにあるかどうかを決定することであり得る。あるいは、識別子に他の情報をマッピングする場合には、これは、博物館の或る特定の部屋又はゾーンの中の博物館展示についての情報を調べるためなどの、光源が配置されている位置に関連する情報を調べるために、用いられ得る。
【０００８】
更に他のアプリケーションにおいては、（光に埋め込まれたIDに基づいて調べられるのとは対照的に）単なる識別子以外の情報が光に直接符号化され得る。斯くして、符号化光は、問題のアプリケーションにとって望ましいあらゆる任意のデータ内容をブロードキャストする無線ベースの手段の代替（又は補助）として用いられ得る。
【０００９】
斯くして、符号化光は、様々な異なる目的のための様々な異なるシナリオにおいて有益である能力を有する。しかしながら、符号化光の1つの難点は、それがシンボル間干渉の影響を受け易いことである。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
とりわけ、符号化光を使用して送信される信号は、チャネル又は受信機で受けるシンボル間干渉だけでなく、送信機でも影響を受けやすいことが、本明細書において認識される。
【００１１】
エンコーダによって供給される入力信号において、シンボルは、変調されるべきLED電流（又は、より一般的には、光源を流れる電流）のある特性の異なる離散レベル、すなわち、その特性における異なる階調を指定する異なるデジタル値によって表されてもよい。例えば、入力信号のレベルは、パルス幅変調（PWM）の原理にしたがってLED電流を変調する異なるデューティサイクルを表すことができる。例えば、5つの可能な記号（-1、-1、0、+1/2、+1）、及びこれらの記号の間の制限された数の可能な遷移（いくつかの遷移は許されない）を有する３値マンチェスタ符号化方式を考える。5つのシンボルを表すために、エンコーダは、異なるデジタル数値レベルが5つの異なるPWMデューティサイクル、例えば、0.70、0.75、0.80、0.85、0.90を示す信号を供給する。これらは、名目上、光源の最大光度の70％、75％、80％、85％及び90％に対応する。しかしながら、（チャネル又は受信機ではなく）送信側で生じる符号間干渉の影響により、エンコーダによって指定されるデューティサイクルは、実際にはこれらの強度に正確にはならない。さらに、食い違いの量は、セット内の全てのシンボルにわたって均等ではない。
【００１２】
この効果に対処するために、補正の程度が補正されるシンボル値に応じて異なるように、補正オフセットを加えることによって、又はエンコーダからの入力信号の値に何らかの補正係数を掛けることによって、食い違いを補償することが可能である。しかしながら、本質的に、この補償さえも問題に遭遇することが、本明細書で認識される。とりわけ、任意の回路は、典型的には、何らかの明示的又は寄生的なキャパシタンス及び/又はインダクタンスを含むので、変調回路に必然的に存在する固有の「メモリ効果」がその理由である。これは、キャパシタンス及び/又はインダクタンスに蓄積されるエネルギ量が、最新の記号のレベルに依存することを意味する。すなわち、あるシンボルを表す光源を駆動する電流は、キャパシタンス又はインダクタンスに流れる電流に関係しているので、あるより高い値のシンボルが送信された後、これは、回路が、あるより低い値のシンボルの後と比べてわずかに異なる蓄積されるエネルギ量を持つようにする。そして、これは、その後のシンボルの送信中にキャパシタンス又はインダクタンスから光源を通じて放電されるエネルギ量に影響を与える。したがって、前のシンボルは、現在のシンボルに適用される必要がある補償の量に影響する。実際、その効果は、前のシンボルと、レベルが補償されている現在のシンボルとの特定の組み合わせに依存する、すなわち、前のシンボルから現在のシンボルへの論理遷移(logical transition)に依存する。
【課題を解決するための手段】
【００１３】
したがって、本明細書に開示される一態様によれば、エンコーダから変調器へ供給される入力信号を制御する方法であって、入力信号は、光源により発せられる光にデータを埋め込むために該光源を流れる電流の変調を、符号化方式に従って離散的な電流レベルのセットから各々選択され、前記入力信号の特性の対応する階調(gradation)から各々生じるシンボルのシーケンスを前記電流に変調することによりもたらし、当該方法は、前記シンボルのうちの隣接して先行するシンボルから前記シンボルのうちの現在のシンボルへの前記符号化方式により許容される複数の可能な論理遷移の各々について、前記現在のシンボルの電流レベルについてのそれぞれの観測値(observed value)を決定するステップ、前記複数の論理遷移の各々について、前記それぞれの観測値と前記電流レベルについての公称値のセットのうちの対応する公称値との間の関連するエラーを決定するステップ、及び前記複数の論理遷移の各々についてのそれぞれのエラーに基づいて、結果として生じる電流レベルを対応する公称値に近づけるために、前記入力信号の対応する階調にそれぞれの補償を適用するステップを含む、方法が提供される。
【００１４】
好ましくは、前記複数の可能な論理遷移は、前記符号化方式に従って許容される全ての可能な遷移である。
【００１５】
一実施形態において、当該方法は、前記シンボルのうちの先行するシンボルｎ−Ｎから前記シンボルのうちの現在のシンボルｎへの所定数Ｎの連続するシンボルのサブシーケンスにおいて前記符号化方式により許容される複数の可能なシンボルの組み合わせの各々について、前記現在のシンボルｎの電流レベルについてのそれぞれの観測値を決定するステップ、前記複数の組み合わせの各々について、前記それぞれの観測値と前記対応する公称値との間の関連するエラーを決定するステップ、及び前記複数の組み合わせの各々についてのそれぞれのエラーに基づいて、対応する電流レベルを前記対応する公称値に近づけるために、前記入力信号の対応する階調にそれぞれの補償を適用するステップ、を有してもよい。
【００１６】
一実施形態において、前記複数の組み合わせは、前記符号化方式に従って許容される論理遷移を前提としてＮ個のシンボルの全ての可能な組み合わせであってもよい。
【００１７】
一実施形態において、前記電流は平均電流であり、前記変調器は、パルス幅変調を使用して前記平均電流を制御し、前記入力信号の前記特性は、前記パルス幅変調のデューティサイクルであり、前記入力信号の階調は、デューティサイクルの異なる離散値を示してもよい。
【００１８】
一実施形態において、前記光源は、LEDベースの光源、又はフィラメント電球等の他のタイプの光源であってもよい。
【００１９】
一実施形態において、前記観測値を決定するステップ及び前記エラーを決定するステップは、静的に、例えば、前記観測値を生成するためにシミュレーションを用いることにより、前記変調器のシミュレーションに基づいて実行され、前記補償を適用するステップは、事前補償段階(pre-compensation stage)（変調器は動作しているかもしれないが古い補償パラメータを用いる、又は変調器が動作する前の何れか）で実行されてもよい。代替的に、補償は、チャネルシンボルシーケンスに応じて測定デバイスにより出力されるドライバを特徴付ける実際の値(actual)に基づいてもよい。
【００２０】
一実施形態において、前記観測値を決定するステップ、前記エラーを決定するステップ及び前記補償を適用するステップは、前記エンコーダ、前記変調器及び前記光源の動作中に、該動作中に前記観測値を測定するために測定回路を用いることにより、動的に実行されてもよい。
【００２１】
一実施形態において、前記補償を適用するステップは、前記エンコーダと前記変調器との間に配置される補償モジュールであって、前記変調器に入力される前に前記入力信号の階調を調整するよう構成される補償モジュールにおいて乗算補正係数又は加算補正オフセットを設定するステップを含んでもよい。
【００２２】
一実施形態において、前記変調器は、それ自体ではデータを埋め込むために前記光を変調することができない前記光源のドライバに後付け可能なアドオンに実装されてもよい。代替的に、前記変調器は、前記ドライバと共に前記光源の既存の部分であるが、前記補償の適用は、前記変調器への後付け可能なアドオンによって実行されてもよい。
【００２３】
本明細書に開示される他の態様によれば、エンコーダから変調器への入力信号の供給を制御するための装置であって、前記入力信号は、光源により発せられる光にデータを埋め込むために該光源を流れる電流の変調を、符号化方式に従って離散的な電流レベルのセットから各々選択され、前記入力信号の特性の対応する階調から各々生じるシンボルのシーケンスを前記電流に変調することによりもたらし、当該装置は、前記シンボルのうちの隣接して先行するシンボルから前記シンボルのうちの現在のシンボルへの前記符号化方式により許容される複数の可能な論理遷移の各々について、前記変調器の動作中に前記現在のシンボルの電流レベルについてのそれぞれの観測値を測定するよう構成される測定回路、及び前記複数の論理遷移の各々について、前記それぞれの観測値と前記電流レベルについての公称値のセットのうちの対応する公称値との間の関連するエラーを決定するよう構成される補償モジュール、を有し、前記補償モジュールは、前記複数の論理遷移の各々についてのそれぞれのエラーに基づいて、結果として生じる電流レベルを対応する公称値に近づけるために、前記入力信号の対応する階調にそれぞれの補償を適用するよう構成される、装置が提供される。
【００２４】
一実施形態において、当該装置は、前記光源のドライバに後付け可能なアドオンの形態を取ってもよく、該光源は、それ自体ではデータを埋め込むために前記光を変調することができない。この場合、アドオンは、前記測定回路及び前記補償モジュールと共に前記変調器を有する。
【００２５】
代替的に、前記変調器は、前記光源のドライバに組み込まれてもよく（すなわち、ドライバの既存の組込部分）、当該装置は、前記変調器への後付け可能なアドオンの形態を取ってもよい。
【００２６】
他の代替例として、当該装置は、前記光源のドライバを有し、前記変調器、前記測定回路及び前記補償モジュールは全て前記ドライバに組み込まれてもよい（すなわち、全てドライバの組込部分である）。
【００２７】
本明細書に開示される他の態様によれば、光源のドライバに後付けするためのアドオンモジュールであって、該アドオンモジュールは、前記ドライバが、それ自体ではデータを埋め込むために光を変調することができない場合に前記光源により発せられる光にデータを埋め込むためのものであり、当該アドオンモジュールは、前記光源を流れる電流を変調し、それにより、前記光源により発せられる光にデータを埋め込むことを、符号化方式に従って離散的な電流レベルのセットから各々選択され、エンコーダから供給される入力信号の特性の対応する階調から各々生じるシンボルのシーケンスを前記電流に変調することにより行うよう構成される変調器、前記シンボルのうちの隣接して先行するシンボルから前記シンボルのうちの現在のシンボルへの前記符号化方式により許容される複数の可能な論理遷移の各々について、前記変調器の動作中に前記現在のシンボルの電流レベルについてのそれぞれの観測値を測定するよう構成される測定回路、及び前記複数の論理遷移の各々について、前記それぞれの観測値と前記電流レベルについての公称値のセットのうちの対応する公称値との間の関連するエラーを決定するよう構成される補償モジュールを有し、前記補償モジュールは、前記複数の論理遷移の各々についてのそれぞれのエラーに基づいて、結果として生じる電流レベルを対応する公称値に近づけるために、前記入力信号の対応する階調にそれぞれの補償を適用するよう構成される、アドオンモジュールが提供される。
【００２８】
本明細書に開示される他の態様によれば、光源により発せられる光にデータを埋め込むためのドライバであって、前記光源を流れる電流を変調し、それにより、前記光源により発せられる光にデータを埋め込むことを、符号化方式に従って離散的な電流レベルのセットから各々選択され、エンコーダから供給される入力信号の特性の対応する階調から各々生じるシンボルのシーケンスを前記電流に変調することにより行うよう構成される変調器、前記シンボルのうちの隣接して先行するシンボルから前記シンボルのうちの現在のシンボルへの前記符号化方式により許容される複数の可能な論理遷移の各々について、前記変調器の動作中に前記現在のシンボルの電流レベルについてのそれぞれの観測値を測定するよう構成される測定回路、及び前記複数の論理遷移の各々について、前記それぞれの観測値と前記電流レベルについての公称値のセットのうちの対応する公称値との間の関連するエラーを決定するよう構成される補償モジュールを有し、前記補償モジュールは、前記複数の論理遷移の各々についてのそれぞれのエラーに基づいて、結果として生じる電流レベルを対応する公称値に近づけるために、前記入力信号の対応する階調にそれぞれの補償を適用するよう構成される、ドライバが提供される。
【００２９】
本明細書に開示される他の態様によれば、エンコーダから変調器に供給される入力信号を制御するためのコンピュータプログラムであって、前記入力信号は、光源により発せられる光にデータを埋め込むために、該光源を流れる電流の変調を、符号化方式に従って離散的な電流レベルのセットから各々選択され、前記入力信号の特性の対応する階調から各々生じるシンボルのシーケンスを前記電流に変調することによりもたらし、当該コンピュータプログラムは、コンピュータ可読記憶媒体上に具現化され、1つ以上のプロセッサで実行された場合、前記シンボルのうちの隣接して先行するシンボルから前記シンボルのうちの現在のシンボルへの前記符号化方式により許容される複数の可能な論理遷移の各々について、前記現在のシンボルの電流レベルについてのそれぞれの観測値を決定する動作、前記複数の論理遷移の各々について、前記それぞれの観測値と前記電流レベルについての公称値のセットのうちの対応する公称値との間の関連するエラーを決定する動作、及び前記複数の論理遷移の各々についてのそれぞれのエラーに基づいて、結果として生じる電流レベルを対応する公称値に近づけるために、前記入力信号の対応する階調にそれぞれの補償を適用する動作を実行するよう構成される、コンピュータプログラムが提供される。
【００３０】
ある実施形態では、方法、装置、アドオンモジュール、ドライバ及び/又はコンピュータプログラムのいずれも、上記で開示された又は本明細書のどこかで開示された任意の特徴をさらに含むことができる。
【図面の簡単な説明】
【００３１】
本願の理解を助け、実施形態がどのように実施されるかを示すために、例として添付の図面を参照する。
【図１】符号化光送信機及び受信機を含むシステムの概略ブロック図である。
【図２】非変調照明デバイスの概略図である。
【図３】符号化光を生成するために発する光を変調するための照明デバイスの概略図である。
【図４】例示的な符号化光信号の概略図である。
【図５】３値マンチェスタ符号化方式を概略的に示す。
【図６】３値マンチェスタを用いて符号化された例示的な信号を概略的に示す。
【図７】非補償符号化光信号から生じるアイダイアグラムである。
【図８】本開示の実施形態にしたがって適用される事前補償を有する符号化光信号から生じるアイダイアグラムである。
【図９】ドライバと光源との間の接続のためのISI事前補償変調器ブロックを示す概略ブロック図である。
【発明を実施するための形態】
【００３２】
以下では、非変調LEDドライバを符号化光アドオンで拡張することを可能にする符号化光変調のためのシステム及び方法が述べられる。これは、それ自体本質的にシンボル間干渉を導入するベーシックなアドオン回路に基づくが、加えて、開示される技術は、シンボル間干渉を事前に補償するために既知のシステムダイナミクスを使用する。この事前補償は、信号対雑音比に関連する、（図7及び図8に関して以下に述べられる）「アイの高さ(eye height)」に関して信号品質を改善することによって、メッセージの検出可能性を可能にするか、又は向上させる。
【００３３】
図1は、埋め込みデータを含む可視光を発するよう構成される送信デバイス2、及び送信デバイス2によって発せられる光を受信し、光に埋め込まれたデータを検出するよう構成される受信デバイス4を含む通信システムのブロック図を示す。ある実施形態では、送信デバイス2は、部屋又は屋外空間等の環境を照らし、照明器具が発する照明にデータを符号化するよう構成される照明器具の形態を取ることができる。しかしながら、代替的な実施形態では、送信デバイス2は、専用の符号化光エミッタのような他の形態を取ることもできる。また、受信デバイス4は、任意の適切な形態、例えば、内臓カメラ又は他の光センサ（例えば、フォトダイオード）を持ち、該カメラ又は光センサが受ける光における符号化光信号を検出するのに適したなアプリケーション（「アプリ」）がインストールされるスマートフォン、タブレット又はラップトップ等のモバイルユーザ端末の形態を取ることができる。
【００３４】
送信デバイス2は、光源8、及び光源8に動作可能に結合されるエンコーダ6を備える。ある実施形態では、光源8は、LED又はLEDのストリングを含む、LEDベースの光源の形態を取る。しかしながら、代替的に、光源8は、フィラメント電球のような別の形態を取ることもできる。いずれにしても、エンコーダ6は、（以下で以下に述べられる）ドライバを介して光源8を流れる電流を変調し、それにより、発せられる光のレベルを変調する、すなわち、発せられる光の強度を変調するよう構成される。LED又はLEDのストリングの場合、発せられる光のパワーは、LEDを流れる電流の関数である。例えば、典型的なLED光源では、発せられる光のパワーは、比例が優勢する（関係における線形項が優勢項である）。したがって、エンコーダ6は、光源8が、光源8によって発せられる光に埋め込まれるデータを受信デバイス2に送信するよう制御するよう構成される。
【００３５】
受信デバイス4は、送信デバイス4によって発せられる光を受信及びサンプリングするための光センサ10、及び光センサに動作可能に結合されるデコーダ12を備える。光センサ10は、ローリングシャッタカメラ（スマートフォン又はタブレットの場合等）又はグローバルシャッタカメラ等のカメラの形態を取ることができる。代替的に、光センサ10は、専用光電池のような別の形態をとってもよい。いずれにしても、デコーダ10は、光センサ10によってキャプチャされるサンプルを受け、受けた光に変調されているデータを復号するために受けたサンプルを処理するよう構成される。ローリングシャッタカメラ又は他の形態の光センサを使用して符号化光を検出するための様々な技術それ自体は、当業者に知られている。本開示の目的のために、デコーダ12は（様々な他の機能の中で）ローパスフィルタ14を含むことに留意されたい。これは、個別の意図的なコンポーネントとして明示的に含まれもよく、受信デバイス内の他のプロセスの副作用として生じる可能性もある。例えば、検出のためにカメラを使用する実施形態では、ローパス挙動は、露出時間が積分（ローパス）効果を規定する、カメラの固有のサンプリング効果であり得る。代替的に、フォトダイオード検出器の場合には、別個のローパスフィルタを追加する必要があり得る。
【００３６】
ある実施形態では、エンコーダ6及びデコーダ12の各々は、送信デバイス2及び受信デバイス4の１つ以上のプロセッサで実行するよう構成される、送信デバイス2及び受信デバイス4の1つ以上のメモリデバイスに格納されるソフトウェアの形態を取ることができる（メモリ及びプロセッサは図に示されていない）。しかしながら、これらのコンポーネントの一方又は両方が、それに代えて、専用ハードウェア回路、又はPGA若しくはFPGA等のコンフィギュラブル又はリコンフィギュラブルなハードウェア回路、又はハードウェアとソフトウェアの組み合わせで全体的に又は部分的に実施され得ることも除外されない。
【００３７】
図2は、電源18、電源18に接続されるLEDドライバ16、及びLEDドライバ16に接続される1つ以上のLEDのストリングを含む光源8からなる、典型的な非変調LEDシステムのハイレベルなブロック図を示す。ドライバ16は、調整された態様で電源18からLED光源に供給するように接続される。
【００３８】
図3は、変調器ブロック20を追加することによってどのように非変調LEDシステムが拡張され得るかを示す。変調器20は、ドライバ16とLED光源8との間に接続される。変調器20は、少なくとも、スイッチング素子22、及びここではコンデンサの形態のエネルギバッファ21を含む。ドライバ16は、調整された電力をLED8に供給するための第1の出力端子及び第2の出力端子を含む。ドライバ16の第1の出力端子は、LED光源8の第1の入力端子に接続される。ドライバ16の第2の出力端子は、スイッチング素子22の第1のスイッチング端子に接続され、スイッチング素子22の第2のスイッチング端子は、LED光源8の第2の入力端子に接続される。スイッチング素子22の第1のスイッチ端子と第2のスイッチ端子との間の接続は、スイッチング素子22の第3の制御端子に供給される制御信号によってオン/オフされ、斯くして、制御信号に応じてLED光源8に電力を供給するか否かを選択的に行うことができる。制御信号は、エンコーダ6の制御の下で（代理的に）供給され、斯くして、エンコーダ6は、データを埋め込むためにLED8に供給される電流を変調することが可能である。コンデンサ21は、ドライバ16の第1の出力端子と第2の出力端子との間に、ドライバ16の出力端子間に並列に接続され（又は、スイッチ22が閉じられた場合にコンデンサ21が光源8に並列に接続されるように、他のやり方で配置される）。
【００３９】
コンデンサ、又はより一般的にはエネルギ蓄積要素21は、以下に述べられるように、エネルギバッファとして機能するように含まれる。
【００４０】
スイッチング素子22は、LED8に向かうエネルギの流れを阻止する又は通過させる。平均光強度にリンクされ得る、平均LED電流は、スイッチがオフ状態に対してパス（オン）状態にある割合又は比として定義される、デューティサイクルを変えることによって変調される。当業者にはよく知られているように、この技術は、パルス幅 変調（PWM）と呼ばれる。
【００４１】
図4の例示的なデータシーケンスによって示されるように、ある実施形態では、符号化光は、３値マンチェスタ符号化と呼ばれる5レベルDCフリーパケット符号化フォーマットを使用する（符号(code)のDCフリー特性に関する次の段落を参照）。データは、パケットの各連続する対の間にアイドル期間40が時間的に散在されるパケット38の形で送信される。パケット間のアイドル期間40の間、LED8によって消費される電力は、ドライバによって供給される定電力に等しい。負のシンボルの間、スイッチング素子のデューティサイクル、ゆえに、LED8によって消費される電力は、平均以下である。定ドライバ電力とより小さい消費電力との間の差は、コンデンサ（より一般的にはエネルギ蓄積要素）21に蓄積される。正のシンボルが送信される場合、システムは逆に動作する。正のシンボルの変調の間、LEDは、定ドライバ電力により供給されるものより多くの電力を消費する。差は、エネルギ貯蔵要素21から供給される。
【００４２】
エネルギ蓄積要素21に流入する及び該要素から流出するエネルギは、パケットのDCフリーネス(DC-freeness)に起因して相殺される。すなわち、（少なくとも理想的な場合）、全てのパケットは、等しい数の正及び負のシンボルを含み、その結果、一パケット内のシンボルエネルギの合計が０に等しくなり、これは、アイドル期間40中と同じレベルである。パケット間のアイドル期間40は、可能な全ての実施形態において必要ではなく、その場合、データ内容にかかわらず、パケット毎に等しい数の正及び負のチャネルシンボル（基本シンボル(elementary symbol)TC）が常に存在するという点で符号はDCフリーであると依然として言えることに留意されたい。すなわち、符号はデータに依存しない。図4から分かるように、データがパケット化される場合、各パケットにおいて、パケット内のシンボル値の合計は、常にゼロになる。例えば、-1のシンボルと同じ数の+1のチャネルシンボル及び-1/2のシンボルと同じ数の+1/2のチャネルシンボルが存在するため、又は立ち上がりの(leading)+1/2及び立下りの(trailing)+1/2が、+1の数よりも1つ多い-1により補償されるため、等々である（このシンボルセットは以下より詳しく述べられる）。あるいは、データがパケット化されない場合でさえ、平均シンボルレベルは、00、01、10、11のどれであるかにかかわらず、任意の隣接する2つのデータビットについて常に同じであることが分かる。
【００４３】
DCフリーである符号の重要性は、目に見えるちらつきを緩和することである（例えば、平均光出力が、パケット38中の一方のレベルとアイドル期間中の他方のレベルとの間で交互する状況、又は平均光レベルがその時点で送信されるデータコンテンツに応じて変動し、これが、目に見えるほど低い周波数で光を点滅させるものである状況を考える）。一般に、パケット毎の平均信号レベルは、内容にかかわらず常に同じであり、パケット間のアイドル期間中の出力レベルに等しいという点で、又はアイドル期間がない場合、ある小さい予め定められた数のデータビット又は単一のデータビットにわたる平均信号レベルが、内容にかかわらず同じであるという点で、データに依存しない特性を有する、他のDCフリー符号も存在する。本明細書の教示は、任意のそのような符号又は他の符号に適用可能であるが、例として、以下では、３値のマンチェスタ符号に関して述べられる。
【００４４】
ここで、３値マンチェスタ方式が、図5及び図6を参照してより詳細に述べられる。
【００４５】
エンコーダ6は、アプリケーション等のデータソースから符号化されるべき非符号化（「生(raw)」）データコンテンツを受け、これを（パケット38間にアイドル期間40が散在される）異なるシンボル値の符号化されたシンボルのストリームに符号化するよう構成される。例えば、3レベル符号において、シンボル値は、シンボル値-1、0、+1のセットの中から選択される、又は３値マンチェスタにおけるような5レベル符号において、シンボル値は、シンボル値-1、-1/2、0、+1/2、+1のセットの中から選択される。エンコーダは、スイッチ22を介してLED光源8を通る電流をパルス幅変調するためのデューティサイクル値（例えば、0.70、0.75、0.80、0.85、0.90）の形態でこれらを出力する。変調器20は、この符号化された信号を受け、それに応じて、指定されたデューティサイクル値にしたがってLED光源にパルス幅変調を適用し、これにより、データを光源8によって発せられる光に変調するよう構成される。
【００４６】
ここで、３値マンチェスタは先端技術の一角を成し、よって当業者には既知であるが、完全を期すためにここで再度概述する。エンコーダ6において、送信されるべき各データビットは、対応するユニットパルスの形態を取る複合チャネルシンボルにマッピングされる。この方式によれば、図５に示される正の「ハット」関数と負の「ハット」関数の形態の２つの可能なユニットが存在する。値１のデータビットにマッピングされたパルスは図５の左側に示され、値０のデータビットにマッピングされたパルスは図５の右側に示されている（又は逆のマッピングも用いられることができる）。データビットは（明示的にユーザによって作成されていなくとも）「ユーザデータ」とも呼ばれる、送信で伝達される実際の情報のビットである。図５において、データビット周期はＴＤによって示されており、ユーザビット周期間の境界が垂直な破線によって示されている。
【００４７】
各ユニットパルスは、データビット周期よりも短い時間長ＴＣの基本チャネルシンボルのシーケンスを含む。各基本チャネル周期は、符号化信号が取り得る基本レベルのうちの１つのみからなり、複合チャネルシンボルに組み合わされることなく単独でデータ（情報）を伝達するには不十分である。したがって、当該符号化方式を使用してチャネル上で伝達可能な情報（ユーザデータ）の最小の又は最も基礎的なユニットは、長さＴＤの各複合パルスであり、長さＴＣの基本チャネルシンボルは、これよりもさらに小さい。
【００４８】
３値マンチェスタ符号では、各ユニットハット関数（各複合シンボル）は、時間長ＴＣの３つの基本チャネルシンボルのシーケンスを含み、各々がデータビット周期ＴＤの長さの半分である（ＴＤ＝２ＴＣ）。各データビットの３つの基本チャネルシンボルは隣接しており、３つのうちの真ん中のものは、対応するデータビット周期の中央に配置され、よって、隣接する第１及び第３の基本チャネルシンボルは、それぞれ、データビット周期ＴＤの開始境界及び終了境界を、各側に基本チャネル周期ＴＣの半分ずつまたぐ。
【００４９】
値１のデータビットの場合、これは、図５の左側に示される正のハット関数にマッピングされる。正のハット関数は、中心が対応するデータビット周期ＴＤの開始（前の）境界に来る、高さが-1/2の第１の基本チャネルシンボル、後続する、中心が対応するデータビット周期（ＴＤ）に来る、高さが＋１の第２の（真ん中の）基本チャネルシンボル、後続する、中心が対応するデータビット周期ＴＤの終了（後ろの）境界に来る、高さが-1/2の第３の基本チャネルシンボルを含む。この段階では、「高さ」は、（最終的には、変調強度(modulated intensity)によって表される）無次元のデジタル値等の任意の適切な項で表され得る。
【００５０】
値０のデータビットの場合、これは、図５の右側に示される負のハット関数にマッピングされる。負のハット関数は、中心が対応するデータビット周期ＴＤの開始（前の）境界に来る、高さが+1/2の第１の基本チャネルシンボル、後続する、中心が対応するデータビット周期ＴＤに来る、高さが−１の第２の（真ん中の）基本チャネルシンボル、後続する、中心が対応するデータビット周期ＴＤの終了（後ろの）境界に来る、高さが+1/2の第３の基本チャネルシンボルを含む。
【００５１】
送信されるべき符号化ビットストリームを作成するために、隣接するユーザビットのハット関数は、それぞれのビット周期ＴＤの時間によってオフセットされ、互いに足し合わされる。ハット関数はデータビット周期間の境界にかけて重複するため、隣接するデータビット間の重複領域において、関数は足し合う。すなわち、ハット関数は、境界に沿って結合され、よって、あるデータビット周期の前の境界Ａｎが、先の隣接するデータビット周期の後ろのビット境界Ａｎ＋１と結合され、２つの隣接するパルスが重複する部分において、信号の高さが合計される。時間領域における結果のチャネルシンボルのシーケンスの例が図６に示されている。別の例が上記図4に示されている。
【００５２】
２つの隣接するデータビットの値が１の場合、これは、高さ-1/2の２つの重なる基本チャネルシンボルが高さ-1に足し合うことを意味する。２つの隣接するデータビットの値が０の場合、高さ+1/2の２つの重なる基本チャネルシンボルが高さ＋１に足し合う。２つの隣接するデータビットが異なる値の場合、高さ+1/2及び高さ-1/2の２つの重なる基本チャネルシンボルが０に足し合う。斯くして、この符号化ストリームでは、各ユーザビット周期（情報の各ユニットパルス）は、値１のユーザビットが値１の２つの隣接するユーザビットの間に挟まれたときの矩形波の正パルス、又は値０のユーザビットが値０の２つの隣接するユーザビットの間に挟まれたときの矩形波の負パルス、又は少なくとも１つの隣接するユーザビットが異なるときの、直線のエッジを有する４つの可能な構成のうちの１つの平坦でないパルスのうちのいずれかの形態を取る。パケットのエッジでは、+1/2と-1/2のレベルが残ることにも留意されたい（例えば、図４参照）。
【００５３】
従来、結果の信号（例えば、図4又は図６の信号）は、その後、送信光源によって出力される信号の変調強度の変動に、LED電流のパルス幅変調等により変換される。斯くして、基本チャネルシンボル−１は低い光出力レベルによって表され、基本チャネルシンボル＋１は高い出力光レベルによって表され、基本チャネルシンボル０は、高いレベルと低いレベルとの間の中間光レベルによって表され得る。+1/2を表すレベルは、+1のレベルと0のレベルの間で等間隔（すなわち、中間）にあり、-1/2を表すレベルは、0のレベルと-1のレベルの間で等間隔にある。
【００５４】
ある実施形態では、各基本チャネルシンボルＴＣは、高速の交互切り替え、すなわち、対応するデューティサイクルにおけるパルス幅変調方式の複数の周期によって表される。代替的に、各基本チャネルシンボルＴＣは、関連するデューティサイクルの単一のパルス幅変調周期によって表されることもできる。また、パルス幅変調以外の他の形態の変調、例えば振幅変調も可能である。以下では、パルス幅変調に関して述べられるが、これは必ずしも限定的ではないことが理解されよう。
【００５５】
３値マンチェスタ符号は、データビットの値が変わるとき、昔ながらのマンチェスタバイナリ符号よりも滑らかな遷移を提供し、人の目が光の変動を知覚し易い低周波数周辺においてより抑制された周波数領域スペクトルをもたらすため、有利であり得る。低周波数範囲における変動が少ないほど、光の品質は良くなる。とりわけ、３値マンチェスタは、DCフリーであるだけでなく、周波数領域において、ディストリビューション（周波数対エネルギ）がゼロヘルツでゼロになるだけでなく、勾配(gradient)もゼロヘルツでゼロになるという点で、DC2フリーである。
【００５６】
３値マンチェスタ方式を述べる他の等価な方法は、変調が、各ビットシンボルにリーディングインするマージンシンボル(merging symbol)、及び各ビットシンボルからリーディングアウトし、次の時間的に隣接するビットシンボルにリーディングインするマージビットによりインタリーブされ、各ビットシンボル及び各マージンシンボルが、期間ＴＣの基本チャネルシンボルである、ビットシンボルのシーケンスからなることである。各ビットシンボルは、論理1を表す+1、又は論理0を表す-1（又はその逆）のいずれかであってもよく、マージンシンボルは、1のビットシンボルにリーディングイン又はリーディングアウトする-1、-1/2又は0、又は0のビットシンボルにリーディングイン又は0のビットシンボルからリーディングアウトする+1、+1/2又は0のいずれかであってもよい。たとえば、図4に示されるビット値0及び1を参照されたい。1又は0で示される基本チャネルシンボルは、データのビットを表し、その間の基本チャネルシンボルは、間にマージする2つの時間的に隣接するビットに依存するマージンシンボルである。したがって、パケットにおいて、最初の基本シンボルはマージンシンボル、2番目はビットシンボル、3番目はマージシンボル、4番目はデータシンボル等である（全ての奇数の基本シンボルはマージシンボルであり、全ての偶数の基本シンボルはビットシンボルである）。
【００５７】
本開示は、例えば図3のシステムが抱える、シンボル間干渉（ISI）の問題に関する。ISIは、基本シンボルＴＣ間に発生する。ISIは、受信されたメッセージ内のシンボルを識別するデコーダ12の能力に悪影響を与える通信システムにおける非常に一般的な現象である。しかしながら、大部分の通信システムとは異なり、本件の場合、ISIは、チャネル又は受信機によって引き起こされるのではなく、変調器20自体によって引き起こされる。
【００５８】
変調システムにおけるISIは、エネルギ蓄積要素21の両端に現れる電圧リップルによって引き起こされる。電圧リップルは、より大きな電圧がより大きなLED電力消費をもたらすという点で、LED8に向かう実際のエネルギフローに影響を及ぼす。
【００５９】
負の（基本）シンボルがLED電流に変調された場合、デューティサイクルはより短くなり、したがって、スイッチ22は、より長い間開いている。これは、エネルギ蓄積要素21が、問題のシンボルの持続時間にわたりより多くドライバ16により付勢され（例えば、コンデンサがより多く充電され）、その結果、平均電圧を超える電圧がエネルギ蓄積要素21の両端に現れることを意味する。この平均電圧を超える電圧は、エネルギ蓄積要素に蓄積された過剰なエネルギ（例えば、コンデンサに蓄積された過剰なエネルギ）がLED8を介して放電される場合、次の（正の）シンボルの間のLED電力消費の付加的な増加をもたらす。すなわち、過電流は、正のシンボルを表すために名目上用いられる意図された量よりもさらに大きい。
【００６０】
反対の効果も、正のシンボルが負のシンボルに遷移する場合に生じる。エンコーダ6が、正のシンボルレベルをシグナリングするためにデューティサイクルを増加させる場合、これは、スイッチ22がより長い間閉じられ、したがって、より多くの電流が、エネルギ蓄積要素21に供給されることを意味する。したがって、エネルギ蓄積要素21に蓄積されたエネルギが使用され、その両端の電圧が低下する（例えば、コンデンサが放電する）。この場合、信号が負のシンボルに遷移する場合、この次のシンボルの開始時に、エネルギ蓄積要素21の両端に平均電圧よりも低い電圧が生じる。この平均電圧を下回る電圧は、負のシンボルを表すために意図された量よりもさらに低い、LED電力消費量の付加的な減少をもたらす。
【００６１】
斯くして、実際に送信されるシンボルエネルギは、前のシンボルの関数である。
【００６２】
図7は、ISIを抱えるシステムにおける、受信される5レベル（1、-1/2、0、+1/2、1）符号化光信号のアイダイアグラムを示す。アイダイアグラムの概念は、当業者によく知られているであろう。これは、受信信号がローパスフィルタ14を通過した時点のデータシンボル期間ＴＤにわたり受信機4で見られる異なる波形を重ね合わせて示す。アイダイアグラムの目的のために、波形は、同じ周期ＴＤのように表示されるように、「ラップアラウンド(wrap around)」方式で整列される。言い換えれば、各複合データシンボル期間ＴＤからのシンボルは、アイダイアグラムにおいて全てt=0に中心が置かれる。とりわけ、図7の時間軸は、ビットシンボルにリーディングインするマージンシンボルの半分から、ビットシンボル全体にわたり、ビットシンボルからリーディングアウトするマージンシンボルの半分に続く1つのデータシンボル期間ＴＤ（図6において点線で示される期間）を表す。これは、0→1→0、-1/2→1→0等、マージシンボルが中央のビットシンボルにリーディングインする及び中央のビットシンボルからリーディングアウトする異なる可能な組み合わせの様々な可能な波形をもたらす。斯くして、アイダイアグラムでは、中央ビットシンボルにリーディングインする5つの可能なマージシンボル（-1、-1/2、0、+1/2、+1）に対応する、グラフの左側の5つの可能なレベル、2つの可能なビットシンボル（-1、+1）に対応する、グラフの中央における2つの可能なレベル、及び中央のビットシンボルに後続する5つの可能なマージシンボル（-1、-1/2、0、+1/2、+1）に対応する、グラフの右側の5つの可能なレベルを含むのが見られ得るべきでる（ただし、たまたま、図7と図8の右側に+1/2のシンボルはなく、これは単に、用いられた例示のデータにおいて後続する+1/2のマージシンボルがたまたまなかったからである）。
【００６３】
図7では、異なるシンボルから生じる波形はそれほど明確ではないが、図8ではより明確になります。図7においてそれらがそれほど明瞭に見えないという事実は、異なる波形がデコーダ12によって容易に区別されないというISIの問題を正確に示している。図7では、ISIに起因して、アイの高さは、わずか50％（サンプルの瞬時t=0における内側のアイの高さ／外側のアイの高さ）であり、これは、メッセージを復号する能力に悪影響を与える。
【００６４】
以下では、各シンボルに対するISIエラーが前のシンボルの関数である、シンボル間干渉（ISI）によって引き起こされる変調エラーの事前補償の方法を開示する。ISIエラーは、エラーが知られている場合、又は少なくともほぼそうである場合、補償されることができる。
【００６５】
ある実施形態では、エラーは、シミュレーションを使用して送信システム2をモデル化することによって予測することができる。この場合、送信機2は、基本シンボルの各々を表すための補償されたレベルと、そのシンボルへの可能な遷移の各々についてのそれぞれの補償されたレベルとでプリコンフィギュレーションされる。ある実施形態では、補償されるレベル（すなわち、入力信号の階調(gradation)）はPWMデューティサイクル（パルス幅）であり、例えば、1のシンボル値は、0.9の代わりに0.89の補償されたPWMデューティサイクルによって表されてもよい。その後の動作中、送信機2は、事前補償された値を使用して開ループ状態で動作することが可能とされる。
【００６６】
上述のように、補償パラメータは、「静的(static)」であり、チャネルシンボル遷移に対するモデル化されたシステム応答のシミュレーションに基づく。より一般的に言えば、補償は、発光LEDのシステム出力が意図された出力により良く合致するように、結果として生じる入力信号を効果的に修正／微調整する。図3において、これは、ISIが事前補償される変調器ブロック20の出力、すなわち、チャネルシンボル遷移に基づいて適合されるLED光源8への入力に変換する。同様のISI事前補償は同様の効果を有するドライバに組み込まれて実施されてもよいことに留意されたい。
【００６７】
シミュレーションに基づいて補償を事前決定する代わりに（又はそれに加えて）、送信機2は、閉ループ制御を使用して事前補償パラメータを動的に更新するために、結果として生じるエラーを測定するための回路を設けることによって拡張されることができる。これは、システムが、システムダイナミクスの偏差の影響をより受けにくくする。システムダイナミクスに影響する偏差パラメータ(deviating parameter)の例は、平均ドライバ電流（調光レベル）、異なるLED負荷、部品公差、温度変化、及び部品劣化である。異なる出力キャパシタンスを持つ異なるLEDドライバもシステムダイナミックスに影響する。
【００６８】
図8は、前（n-1）から次（n）へのシンボル遷移に基づいてISIが補償される場合の信号品質の向上を示している。
【００６９】
示されるように、入力信号レベル（例えば、PWMデューティサイクル）を現在のシンボル（問題のシンボル、すなわち、符号化されるターゲットシンボル）及び前のシンボルの両方に依存させることによりISIを補償することが可能である。また、マンチェスタ符号化メッセージは、例えば、他の「1」シンボルの後に「1」シンボルを示すことはないことにも留意されたい。このような場合、シンボル自体には前のシンボルに関する情報が含まれている。
【００７０】
図9は、ドライバ16とLED光源8との間に接続されるISI事前補償変調器ブロック20の一例を示す。ドライバデザインの内部に変調器ブロック20を含むこともできることに留意されたい。
【００７１】
図9に示される構成は、図3に関して既に述べられたコンポーネントに加えて、スイッチドライバ32、パルス幅変調器（PWM）ブロック30、ISI事前補償器ブロック28、メッセージソース26、測定回路36、及び補助電源モジュール34を有する。スイッチドライバ32は、スイッチ22のスイッチング端子に結合される出力を有し、それによって、スイッチを駆動するよう構成される。PWMブロック30は、スイッチドライバ32の入力に結合される出力を有し、それにより、スイッチドライバ32を介して、いつスイッチ22がオンされるか及びオフされるかを制御し、斯くして、いつ電流がLED光源8に供給されるか及び供給されないかを制御する。PWMブロックは、PWMブロック30への入力で指定されたデューティサイクル値にしたがって設定されたデューティサイクルで、スイッチング素子22を周期的にオン及びオフするよう構成される。この入力は、メッセージソース26（例えば、ソフトウェアアプリケーション）によって生成されたメッセージを符号化する、エンコーダ6によって生成された符号化信号に基づく。メッセージソース26からのメッセージは、問題のアプリケーションに応じて、何でもよい。例えば、メッセージは、光源のID、又は光源の地理的位置の指示、又はウェブサイトへのリンク、又は人間が判読可能なテキスト文字列等を含むことができる。
【００７２】
スイッチドライバ32、PWMブロック30、及びメッセージソース26（及び場合によっては補助電源モジュール34）は、いずれにしても、図3の構成の特徴であり、エンコーダの出力が直接PWMブロック30に入力を供給する。例えば、エンコーダ6は、シンボルセット（-1、-1/2、0、+1/2、+1）の中から選択されたシンボルを用いて符号化されたデータのパケットを出力し、これらのシンボル値は、デューティサイクルレベル（0.7、0.75、0.8、0.85、0.9）の階調を用いてPWMブロック30に供給される信号において表される。しかしながら、本開示の実施形態によれば、送信機2は、エンコーダ6の出力とPWMブロック30の入力との間に結合される事前補償器ブロック28をさらに含む。事前補償器28は、（補償されていない）デューティサイクルレベル（例えば、0.7、0.75、0.8、0.85、0.9）の観点で表される符号化シンボル値を含むエンコーダからの入力信号を受信するよう構成される入力を有し、図7に関して上述したISI効果に応えるようにこれらをわずかに調整するよう構成される。とりわけ、ISI事前補償器28は、補償される現在のシンボル、すなわち、ターゲットシンボルに基づくだけでなく、符号化されるデータ内の前の変調シンボルにも基づいてISIを補償する。すなわち、直前の（隣接する）シンボルn-1から現在の（ターゲット）シンボルへの少なくとも可能な遷移の各々にマッピングされる、それぞれの個別に設定可能な補正値が存在する。事前補償器28によって提供されるマッピングの例が以下の表に示される。
【表１】
0006479260.tif 000002
【００７３】
補正kは、任意の適切な項で定義されることができ、例えば、事前補償器28がk（n-1、n）・D（n）をPWMブロック30に出力するような乗法係数であってもよく、事前補償器28がD（n）+ k（n-1、n）をPWMブロック30に出力するような加法オフセットであってもよい。次いで、PWMブロック30は、これらの補償されたシンボルレベルを使用して、スイッチング素子22のスイッチドライバ32を制御する駆動信号を生成する。
【００７４】
いくつかの論理遷移は、必ずしも、任意の所与の符号化方式にしたがって常に可能ではないことに留意されたい。例えば、３値マンチェスタ方式は５つのシンボルを持つが、典型的なアプリケーションでは、可能な遷移は１５個しかない（例えば、1→1、又は-1/2→+1/2は３値マンチェスタでは起こらない）。いくつかのシナリオでは、３値マンチェスタは、19個までの可能な遷移を伴うことができるが、その数は、抽象的な数学的順列(abstract mathematical permutation)の総数よりも少ない数に制限されている。4つの追加の遷移は、アイドル期間シンボルの数がゼロに設定され、後続の(trailing)+/-1/2パケットシンボルの直後に、次のパケットの先行の(leading)+/-1/2シンボルが続く場合に生じる。したがって、３値マンチェスタにおける遷移の絶対最大数は19であるが、実際には、パケット間の非ゼロアイドル期間を使用するアプリケーションでは、最大は15である。
【００７５】
ある実施形態では、補助電源モジュール34は、ドライバ16とエネルギ蓄積要素21との間に並列に、すなわち、ドライバ16の第1端子と第2端子との間に接続されるよう設けられてもよい。これに基づいて、補助電源モジュール34は、任意の1つ以上の上述した機能ブロック26、6、28、30、32に給電するために、LEDドライバ16によって供給される少量の電力を用いるよう構成される。LEDドライバ16は、その内部コンポーネントに電力を供給する補助電源34をいずれにしても含む。電力バジェットが十分であれば、LEDドライバの補助電源からISIの事前補償された変調器の機能ブロックに電力を供給することが可能である。しかしながら、これは本質的ではなく、代替的な実施形態では、別個の電源が、例えば、（例えば、DALI通信を介した制御のための）追加の通信ポート又は接続ポートを介して、用いられることもできる。
【００７６】
エンコーダ6、メッセージソース26及び事前補償器28のいずれか1つ、いくつか又は全ては、スイッチング素子22、スイッチドライバ32、PWMモジュール30、及び場合によっては補助電源34も含む（代替的に、電源34は、ドライバ16の既存のコンポーネントであってもよく、別個の電源が用いられてもよい）、変調器20ブロックと同じ後付けされるアドオンユニットの組込コンポーネントであってもよく、なくてもよいことにも留意されたい。別の代替案として、変調器20は、LEDドライバ16の組込部品であってもよいが、事前補償器28は、変調器20に後付けされるアドオンユニットであってもよい。あるいは、さらに別の実施形態では、上述したコンポーネントのいずれもがアドオンユニットの形態で実装される必要はなく、その代わりにLEDドライバ16の組込部品であってもよい。
【００７７】
ある実施形態では、事前補償器28、エンコーダ6及びメッセージソース26のいずれか1つ、いくつか又は全てが、コンピュータ可読記憶媒体に格納され、1つ以上のプロセッサで実行するよう構成されるソフトウェアの形態で実施されることができる。あるいは、これらのうちのいずれか1つ、いくつか又は全ては、専用ハードウェア回路、又はコンフィギュラブルな若しくはリコンフィギュラブルなハードウェア回路、又はハードウェア及びソフトウェアの組み合わせで実施されることができる。
【００７８】
実施されるどのような手段によっても、事前補償器28によって適用されるべき補正kは、（a）ISIなく通信するため、異なるシンボルを表すために理想的に用いられるべきLED光源8を流れる電流の公称（理想化された）レベル、及び（b）シミュレーション中又は動作中の実際のフィードバックに基づいて観測されるこれらの公称レベルに対応する観測レベルを比較することにより決定される。各シンボルに対する補償は、前の（時間的に隣接する）シンボルに依存するので、異なる可能な遷移の各々について別個の観測及び比較がなされる。例えば下記の表を参照されたい。
【表２】
0006479260.tif 000003
【００７９】
これは、15個の遷移を含む符号化光信号の一例である。いくつかのニッチな状況では、最大19個までの遷移が可能である（データが+/-1/2で開始又は終了する各パケットでパケット化されるが、パケット間アイドル期間はゼロに設定される場合（上記の説明を参照））。
【００８０】
エラーeは、所与のシンボルを表すための公称電流レベルと、（そのシンボルへの遷移の関数としての）そのシンボルについて観測された電流レベルとの差である。この場合、事前補償器28によって適用されるべき補償kは、eの関数として決定されることができる。例えば、これは、k(n-1,n)=α?e(n-1,n)のような乗法関係であってもよく、k(n-1,n)=e(n-1,n)+αのような加法関係であってもよい（ここで、αは定数である）。ある実施形態では、エラーeは、比例積分（PI）制御ループに基づいて、すなわち、現在及び過去のエラーの合計に基づいて測定されることができる。その場合、αは、各遷移の定常状態エラーがゼロになるように時間の経過とともに収束する積分部分(integrator part)になる。
【００８１】
本明細書における「観測される(observed)」という用語は、純粋に理論的な分析計算とは対照的に用いられ、シミュレーションの観測、実験の観測、又は実際の動作中に行われる動的な測定の観測を指してもよいことに留意されたい。観測値は、シンボル間隔の持続期間中の1つ以上の異なる瞬間に基づくことができる、すなわち、シンボル毎に1つ以上の個別の観測に基づくことができることにも留意されたい。複数の観測の場合、これらは、任意の適切な関数、例えば、（場合によっては重み付け関数に基づく）平均化にしたがって組み合わされることができる。
【００８２】
ある実施形態では、観測される電流レベルは、「現場で(in the field)」の動作時の変調器20のインスタンスを観測することによってではなく、送信機システム（ドライバ16、変調器20及びLED8）のシミュレーションによって決定される。シミュレーションは、補正のセットk（n-1、n）を調整するために閉ループフィードバックを用いる。第1の反復として、第1のエラーのセットe（n-1、n）が生成され、補償値の第1のセットk（n-1、n）を生成するためにこれらが用いられる。次いで、第1の反復で補償されたシンボルレベルに基づく新たなエラーeのセットが生成され、補償値kの第2のセットを生成するためにこれらが用いられる、等々、2回以上の反復にわたる。結果としての補償値kは、例えば、設計段階、製造時、又は送信機2若しくは変調器20のコミッショニング又は較正段階の一部として（すなわち、変調器20又は送信機2が使用されていないが、使用される段階の前である）、動作段階の前に事前補償器28にプログラムされる。その後、変調器20を含む送信機2は、開ループコンフィギュレーション（エラーのフィードバックなし）だけで動作するが、シミュレーション段階に基づいて予めプログラムされた事前補償シンボルレベルを用いて動作する。
【００８３】
代替的に又は付加的に、（ドライバ16、変調器20及びLED8を含む）送信機システムのダイナミクスの偏差は、実際の変調出力を測定するために、送信機2に測定回路36を含めることによって、斯くして、閉制御ループを形成することにより補正されることができる。測定回路36は、LED光源8のLEDと同じ電流経路で、すなわち、LEDと直列に接続され、その経路に沿って流れる電流を測定するよう構成される。斯くして、送信機2における変調器20の動作中、すなわち、送信機2が実際に符号化光を「現場で」送信するために使用されている間、測定回路36は、LED8を流れる電流を動的に測定し、この測定値を補償器ブロック28にフィードバックするよう構成される。補償ブロック28は、測定回路36からの測定値を使用して、そのシンボルレベルへの各可能な遷移についてのそれぞれの値を含む、異なるシンボルレベルについての観測値の第1のセットにまとめる。斯くして、これに基づいて、補償ブロック28は、対応するエラーのセットe（n-1、n）を測り、そこから、上記の表に関して述べられた線に沿って補償値の第1のセットk（n-1、n）を計算する。次いで、変調器20は、新たに補償されたシンボルレベルを使用してさらなるデータを送信するよう動作を続けるので、エラーeの新たなセットを集め、補償値kの第2のセットを生成する、等々、2回以上の反復にわたるように、及びある実施形態においては、送信機システムの動作中ずっと継続的に、測定回路36を使用し続ける。制御ループは、遷移の定常状態エラーが（短い）時間にわたってゼロに収束するように設計されることができる。上述したエラーの「第1の」のセットは、必ずしも初期セットである必要はなく、むしろ、単に測定段階中に最初に得られるものであってもよい。場合によっては、ある実施形態では、第1のセットは、良好な初期推測である可能性が高いと測定前に予め決定される、初期に予め決定される補償値のセットの反復であってもよい。
【００８４】
事前補償モジュール28と同様に、測定回路36は、変調器20と同じ後付け可能なアドオンユニットの一部であってもよい。あるいは、モジュレータ20がアドオンユニットにおいて後付けされず、ドライバ16の既存の一体化された部分である場合、事前補償モジュール28及び測定回路36は、それにもかかわらず、変調器20に後付けする別個の後付け可能なアドオンユニットに実装されてもよい。あるいは、他の代替例として、変調器20、事前補償器28及び測定回路36の全てが、単純にドライバ16の一体部分であってもよい。
【００８５】
上記の実施形態は例としてのみ述べられていることが理解されよう。
【００８６】
例えば、上記の例では、補償kは、現在のシンボルn及び前のシンボルn-1にのみ依存する。実際には、より古いシンボル（n-2〜nN）の影響をも考慮に入れることによって、補償をさらに拡張することが可能である（ここで、Nは、履歴がkを計算する際に含まれるシンボルの総数を表す）。このような拡張された補償は、補償するためのシンボルの組み合わせの数が多いことに起因して補償の複雑さを増す。他方、1つ前のシンボルのみに基づく補償は、ISIを部分的に補正するだけであるが、より長い履歴のシンボル遷移に基づくISI補償と比較して少ないリソースしか用いない。さらに、本発明者らは、考慮される前のシンボルの数が1を超えて増加されると、補償の利益が急速に小さくなることを見出した。
【００８７】
さらに、本開示の適用可能性は、３値マンチェスタに限定されず、他の実施形態では、例えば規則的（バイナリ）マンチェスタ、又はノンリターントゥーゼロ（NRZ）のような他のラインコード(line code)等の他の符号化方式が用いられてもよい。任意の符号化方式は、符号間干渉の問題を抱えることがあり、任意の変調器又は送信機システムは、表されている現在のシンボルへの1つ以上の過去の遷移の履歴にISIの量が依存するように意図的又は不注意に(inadvertently)エネルギを蓄積するかもしれない。したがって、本開示の背後にある原理は、任意の符号化方式に適用することができる。
【００８８】
さらに、本開示の適用可能性はPWMに限定されず、一般に、本明細書の教示は、入力信号（図3の例ではスイッチ22への入力）のある他の特性がシンボルを符号化するために変調される、他の変調メカニズムに適用することができる。例えば、振幅変調が使用されてもよく、これはまた、信号エネルギ、したがって、回路のエネルギ蓄積部（例えば、図3の例では21）によって1つのシンボルから次のシンボルへと蓄積及び放電されるエネルギの量に影響を及ぼす。この場合、補償されるべき入力レベル（入力信号の階調）は、デューティサイクルではなく振幅レベルである。
【００８９】
他の例では、パルス位置変調が用いられてもよい。例えば、「低」シンボルは、シンボル周期内のより早いパルスによって表され、「高」値は、同じ形状のパルスによって表されるが、シンボル周期内の後のタイミングオフセットを有する（又はその逆）。そのような場合、変調される特性は、入力信号におけるパルスの時間オフセットであり、シンボルを表すために使用される異なる入力レベル（階調）は、タイミングオフセットの異なる離散値である。例えば、後期パルスの後に早期パルスが続くことは、早期パルスの後に後期パルスがつづくこととは異なる（例えば、コンデンサ21内における）「エネルギメモリ」を生成し、したがって、歪みの量はここでもチャネルシンボルに依存し、したがってユーザデータに依存するため、上記の技術もまた適用可能である。
【００９０】
さらに、上記はLEDベースの光源8の観点で述べられているが、これは限定的なものではなく、一般に他のタイプの光源、例えばフィラメント電球が、符号化光を生成ために用いられることができる。
【００９１】
開示された実施形態に対する他の変更は、図面、開示、及び添付の特許請求の範囲の研究から、特許請求の範囲に記載された発明を実施する際に当業者によって理解され、達成され得る。特許請求の範囲において、「含む（comprising）」という単語は他の要素又はステップを排除するものではなく、不定冠詞「a」又は「an」は複数を除外しない。単一のプロセッサ又は他のユニットが、請求項に列挙されたいくつかの項目の機能を果たすことができる。特定の手段が相互に異なる従属請求項に列挙されているという単なる事実は、これらの手段の組み合わせが有利に使用できないことを示すものではない。コンピュータプログラムは、他のハードウェアと一緒に又は他のハードウェアの一部として供給される光学記憶媒体又は固体媒体等の適切な媒体上に記憶/分配され得るが、インターネット又は他の有線又は無線の電気通信システム等の他の形態で分配されてもよい。特許請求の範囲内のいかなる参照符号も、範囲を限定するものとして解釈されるべきではない。
【図１】
0006479260.tif 000004
【図２】
0006479260.tif 000005
【図３】
0006479260.tif 000006
【図４】
0006479260.tif 000007
【図５】
0006479260.tif 000008
【図６】
0006479260.tif 000009
【図７】
0006479260.tif 000010
【図８】
0006479260.tif 000011
【図９】
0006479260.tif 000012