(57)【要約】  各フレームの複数のラインを順に露出することによってフレームを取り込むローリングシャッターカメラから、符号化光信号を含む信号を受信するための入力と、複数のラインのうちの一部のラインのそれぞれから符号化光信号のサンプルを取得するよう構成された信号処理モジュールとを含むデバイス。一部のラインの数は、各フレームにおいてカメラによって露出されるラインの数よりも著しく小さい。符号化光信号は、当該数のラインよりも長い持続時間を有するメッセージを含み、メッセージは、複数の異なるフレームのそれぞれにおいてカメラによってメッセージの異なる部分が見られるようなタイミングで複数回繰り返される。信号処理モジュールは、複数の異なるフレームからのメッセージの異なる部分のタイムアライメントを行い、タイムアライメントされた部分からメッセージを再組立てするよう構成される。
2017512401.tif 000002
【特許請求の範囲】
【請求項１】
各フレームの複数のラインを順に露出することによって所与のフレームレートで所与の持続時間のフレームを取り込むローリングシャッターカメラから、符号化光信号を含む信号を受信するための入力と、
前記複数のラインのうちの一部のラインのそれぞれから前記符号化光信号のサンプルを前記入力を介して取得する、前記入力に接続された信号処理モジュールと
を含むデバイスであって、
前記一部のラインはある持続時間露出され、前記一部のラインの数は、各フレームにおいて前記カメラによって露出される前記複数のラインの数よりも著しく小さく、
前記符号化光信号は、前記一部のラインが露出される前記持続時間よりも長い持続時間を有するメッセージを含み、前記メッセージは、複数の異なるフレームのそれぞれにおいて前記カメラによって前記メッセージの異なる部分が見られるようなタイミングで複数回繰り返し受信され、
前記信号処理モジュールは、前記複数の異なるフレームからの前記メッセージの異なる部分のタイムアライメントを行い、当該タイムアライメントされた部分から前記メッセージを再組立てする、デバイス。
【請求項２】
前記メッセージ全体は、前記複数のフレームにかけて見られる、請求項１に記載のデバイス。
【請求項３】
前記メッセージは、１フレームよりも長い持続時間を有する、請求項１又は２に記載のデバイス。
【請求項４】
前記信号処理モジュールは、前記フレーム持続時間及び前記メッセージ持続時間に基づき前記タイムアライメントを実行する、請求項１乃至３のいずれか一項に記載のデバイス。
【請求項５】
前記信号処理モジュールは、前記タイムアライメントを、
前記メッセージの長さの整数倍であるタイミング基準期間を決定し、
各連続フレーム内で受信された前記メッセージの部分を、先行フレームに対してフレーム長だけオフセットし、前記タイミング基準期間の末尾を越えた部分は前記タイミング基準期間の先頭にラップアラウンドさせることによって実行する、請求項４に記載のデバイス。
【請求項６】
各フレームは有効ライン及び無効ラインを含み、前記複数のラインは前記有効ラインであり、前記信号処理モジュールは、前記一部のラインを含む各フレームの前記複数の有効ラインのそれぞれからサンプルを取得し、これにより、前記フレーム持続時間を有するフレーム信号を生成し、前記オフセットは、前記タイミング基準期間の持続時間を有するよう、各フレーム信号を拡張することによって行われる、請求項５に記載のデバイス。
【請求項７】
前記拡張は、ゼロを加えることによって実行される、請求項６に記載のデバイス。
【請求項８】
前記信号処理モジュールは、１つ又は複数のスキップされたフレームを破棄する、請求項１乃至７のいずれか一項に記載のデバイス。
【請求項９】
前記信号処理モジュールは、それぞれが前記メッセージの部分の異なる部分集合に基づく前記メッセージの複数の再組立てされたバージョンを生成し、前記メッセージの前記複数のバージョン間の相関に基づき、前記デバイスのクロックと前記符号化光信号のクロッキングとの間の同期を行う、請求項１乃至８のいずれか一項に記載のデバイス。
【請求項１０】
各サンプルは、対応するラインの画素値を結合することによって取得される、請求項１乃至９のいずれか一項に記載のデバイス。
【請求項１１】
前記一部のラインは、各フレームのラインの１４％以下である、請求項１乃至１０のいずれか一項に記載のデバイス。
【請求項１２】
前記メッセージの各部分は、前記メッセージの３％以下である、請求項１乃至１１のいずれか一項に記載のデバイス。
【請求項１３】
前記サンプルが取得される前記一部のラインは、１つ又は複数の露出過度の画素を含むラインを除外する、請求項１乃至１２のいずれか一項に記載のデバイス。
【請求項１４】
請求項１乃至１３のいずれか一項に記載のデバイスと、前記カメラとを含む、受信機。
【請求項１５】
請求項１４に記載の受信機と、光源とを含むシステムであって、前記カメラは、各フレームにおいて前記カメラによって露出されるよりも著しく小さい数のラインから前記サンプルが取得され、前記メッセージが前記数のラインよりも長くなるよう、前記光源に対して配置される、システム。
【請求項１６】
各フレームの複数のラインを順に露出することによってフレームを取得するローリングシャッターカメラから、符号化光信号を含む信号を受信するステップと、
前記複数のラインのうちの一部のラインのそれぞれから前記符号化光信号のサンプルを取得するステップと
を含む方法であって、
前記一部のラインはある持続時間露出され、前記一部のラインの数は、各フレームにおいて前記カメラによって露出される前記複数のラインの数よりも著しく小さく、
前記符号化光信号は、前記一部のラインが露出される前記持続時間よりも長い持続時間を有するメッセージを含み、前記メッセージは、複数の異なるフレームのそれぞれにおいて前記カメラによって前記メッセージの異なる部分が見られるようなタイミングで複数回繰り返され、
前記方法はさらに、前記複数の異なるフレームからの前記メッセージの異なる部分のタイムアライメントを行い、当該タイムアライメントされた部分から前記メッセージを再組立てするステップを含む、方法。
【請求項１７】
コンピュータ記憶媒体上に具現化されたコンピュータプログラムであって、実行されたとき、
各フレームの複数のラインを順に露出することによってフレームを取得するローリングシャッターカメラから、符号化光信号を含む信号を受信する動作と、
前記複数のラインのうちの一部のラインのそれぞれから前記符号化光信号のサンプルを取得する動作と
を実行し、
前記一部のラインはある持続時間露出され、前記一部のラインの数は、各フレームにおいて前記カメラによって露出される前記複数のラインの数よりも著しく小さく、
前記符号化光信号は、前記一部のラインが露出される前記持続時間よりも長い持続時間を有するメッセージを含み、前記メッセージは、複数の異なるフレームのそれぞれにおいて前記カメラによって前記メッセージの異なる部分が見られるようなタイミングで複数回繰り返され、
前記コードはさらに、実行されたとき、前記複数の異なるフレームからの前記メッセージの異なる部分のタイムアライメントを行い、当該タイムアライメントされた部分から前記メッセージを再組立てする、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、光源によって発せられる光に埋め込まれた符号化光信号の通信に関する。
【背景技術】
【０００２】
符号化光とは、データが光源、例えばＬＥＤベース照明器具によって発せられる可視光に変調される技術を指す。したがって、光源は、照明を供給することに加えて（この目的のために、光源が環境内に既に存在し得る）、符号化光の適切な受信機にデータを送信可能な送信機としても機能し得る。通常、変調は、人間の視覚によって認識することができない十分に高い周波数において、すなわち、ユーザーが全体的な照明のみを知覚し、照明に変調されているデータの影響を知覚しないように行われる。このようにすることで、データは光源からの光に埋め込まれていると言うことができる。
【０００３】
符号化光は様々な用途で利用され得る。例えば、１つの適用例は、照明器具から、その照明器具を制御するためのリモートコントロールユニットに情報を供給することであり、例えば、リモートユニットが制御可能な他のかかる照明器具から前述の照明器具を区別する識別子を供給するために、又は照明器具に関するステータス情報を供給するために（例えば、エラー、警告、温度、稼働時間等を報告するために）使用され得る。このような例の１つでは、リモートコントロールユニットは、内蔵カメラを備えるスマートフォン又はタブレット等のモバイルユーザー端末を含み得る。端末が適切なアプリケーションを実行しているとき、ユーザーは、カメラを照明器具に向けることにより、その照明器具からの光に符号化された識別子を検出することができる。自身が見ている照明器具の識別子を与えられた端末は、（例えばＲＦを介して）リターン信号を送り返すことにより、その照明器具を制御することができる。
【０００４】
他の適用例では、符号化光は、ユーザーに情報を提供するために、例えば、コミッショニングにおいて使用される照明器具の識別子を提供するために、又は位置関連情報の提供を可能にするために使用され得る。例えば、屋内及び／又は屋外環境内（例えば、オフィスビルの部屋及び廊下、並びに／又はキャンパスの通路内）の各照明器具が、その環境内で自身を特定する対応する識別子が埋め込まれた光を発するよう構成され得る。ユーザーが、カメラ、及び符号化光を検出するための関連付けられたアプリケーションを備えたモバイル端末を有する場合、端末は、端末の現在位置を照らしている照明器具の識別子を検出することができる。これは、その後、識別子を照明器具の位置にマッピングする位置情報データベース内で現在位置を検索することにより、ユーザーが環境を移動することを援助するために使用され得る。代わりに又は加えて、これは、ユーザーの現在位置に関連付けられた情報、例えば博物館の特定の部屋の展示品に関する情報等を検索するために使用され得る。例えば、検索は、端末がアクセス可能なインターネット若しくはローカルネットワークを介して、又はユーザー端末上のローカルデータベースから実行され得る。あるいは、情報は、１つ以上の照明器具からの光に直接符号化され得る。概して言えば、符号化光の応用性は限定されない。
【０００５】
データは振幅キーイング又は周波数シフトキーイング等の技術によって光の中に変調され、変調された特性（例えば、周波数の振幅）がチャネルシンボルを表すために使用される。変調は、典型的には、データビット（ユーザービットとも呼ばれる）をかかるチャネルシンボルにマッピングするための符号体系を伴う。一例は、値０のユーザービットがロー−ハイパルスの形態のチャネルシンボルにマッピングされ、値１のユーザービットがハイ−ローパルスの形態のチャネルシンボルにマッピングされるバイナリコードである、慣用的なマンチェスタ符号である。他の例は、国際公開第２０１２／０５２９３５号に開示される、最近開発された３値マンチェスタ符号である。
【０００６】
現在、３値マンチェスタは先端技術の一角を成し、よって当業者には既知であるが、完全を期すためにここで再度概述する。送信機において、送信される各データビットが、対応するユニットパルスの形態を取るチャネルシンボルにマッピングされる。この体系によれば、図５に示される正の「ハット」関数と負の「ハット」関数の形態の２つの可能なユニットが存在する。値１のデータビットにマッピングされたパルスは図５の左側に示され、値０のデータビットにマッピングされたパルスは図５の右側に示されている。データビットは（明示的にユーザーによって作成されていなくとも）「ユーザーデータ」とも呼ばれる、送信される実際の情報のビットである。図５において、データビット周期はＴＤによって示されており、ユーザービット周期間の境界が垂直な破線によって示されている。
【０００７】
各ユニットパルスは、データビット周期よりも短い時間長ＴＣの基本チャネル周期のシーケンスを含む。各基本チャネル周期は、符号化信号が取り得る基本レベルのうちの１つのみを伝達し（１つの３値マンチェスタ符号）、複合チャネルシンボルに変調されることなく単独でデータを伝達するには不十分である。したがって、当該符号体系を使用して伝達可能な情報コンテンツの最小の又は最も基礎的なユニットは、長さＴＤの各パルスである。
【０００８】
３値マンチェスタ符号では、各ユニットハット関数は、時間長ＴＣの３つの基本チャネル周期のシーケンスを含み、それぞれがデータビット周期ＴＤの長さの半分である（ＴＤ＝２ＴＣ）。各データビットの３つの基本チャネル周期は隣接しており、３つのうちの真ん中のものは、対応するデータビット周期の中央に配置され、よって、隣接する第１及び第３の基本チャネル周期は、それぞれ、データビット周期の開始境界及び終了境界を、各側に基本チャネル周期ＴＣの半分ずつまたぐ。
【０００９】
値１のデータビットの場合、これは、図５の左側に示される正のハット関数にマッピングされる。正のハット関数は、中心が対応するデータビット周期の開始（前の）境界に来る、高さが−１／２の第１の基本チャネル周期、後続する、中心が対応するデータビット周期に来る、高さが＋１の第２の（真ん中の）基本チャネル周期、後続する、中心が対応するデータビット周期の終了（後ろの）境界に来る、高さが−１／２の第３の基本チャネルシンボルを含む。この段階では、「高さ」は、無次元のデジタル値等の任意の適切な単位で表され得る（最終的には、例えば振幅又は周波数等、変調された信号の特性によって表される）。
【００１０】
値０のデータビットの場合、これは、図５の右側に示される負のハット関数にマッピングされる。負のハット関数は、中心が対応するデータビット周期の開始（前の）境界に来る、高さが＋１／２の第１の基本チャネル周期、後続する、中心が対応するデータビット周期に来る、高さが−１の第２の（真ん中の）基本チャネル周期、後続する、中心が対応するデータビット周期の終了（後ろの）境界に来る、高さが＋１／２の第３の基本チャネル周期を含む。
【００１１】
送信される符号化ビットストリームを作成するために、隣接するユーザービットのハット関数は、それぞれのビット周期の時間によってオフセットされ、互いに足し合わせられる。ハット関数はデータビット周期間の境界にかけて重複するため、隣接するデータビット間の重複領域において、関数は足され合う。すなわち、ハット関数は、境界に沿って結合され、よって、あるデータビット周期の前の境界Ａｎが、先の隣接するデータビット周期の後ろのビット境界Ａｎ＋１と結合され、２つの隣接するパルスが重複する部分において、信号の高さが加算される。時間領域における結果のチャネルシンボルのシーケンスの例が図６に示されている。
【００１２】
２つの隣接するデータビットの値が１の場合、これは、高さ−１／２の２つの重なる基本チャネル周期が高さ−１に加算されることを意味する。２つの隣接するデータビットの値が０の場合、高さ＋１／２の２つの重なる基本チャネル周期が高さ＋１に加算される。２つの隣接するデータビットが異なる値の場合、高さ＋１／２及び高さ−１／２の２つの重なる基本チャネル周期が０に加算される。したがって、この符号化ストリームでは、各ユーザービット周期（各ユニットパルス）は、値１のユーザービットが値１の２つの隣接するユーザービットの間に挟まれたときの矩形波の正パルス、又は値０のユーザービットが値０の２つの隣接するユーザービットの間に挟まれたときの矩形波の負パルス、又は少なくとも１つの隣接するユーザービットが異なるときの、直線のエッジを有する４つの可能な構成のうちの１つの平坦でないパルスのうちのいずれかの形態を取る。
【００１３】
同等な変形例では、０及び１のデータビット値の正及び負のハット関数へのマッピングが逆にされてもよい。
【００１４】
結果の信号（例えば、図６の信号）は、その後、（例えば、振幅単位で表現されようと、周波数単位で表現されようと）送信光源によって出力される信号の変調特性の変動に変換される。例えば、基本チャネルシンボル−１は低い光出力レベルによって表現され、基本チャネルシンボル＋１は高い出力光レベルによって表現され、基本チャネルシンボル０は、高いレベルと低いレベルとの間の中間光レベルによって表現され得る。
【００１５】
３値マンチェスタ符号は、データビットの値が変わるとき、慣用的なマンチェスタ符号よりも滑らかな遷移を提供し、ハムノイズ（mains hum）等の干渉が生じ得る低周波数周辺においてより抑制された周波数領域スペクトルをもたらすため、有利であり得る。しかし、本開示の適用範囲は３値マンチェスタに限定されず、他の実施形態では、例えば慣用的な（２値）マンチェスタ符号、又は他の慣用的な２値若しくは３値ラインコード等、他の適切なコード体系の例が使用され得る。
【００１６】
携帯電話機に良く見られる安価なカメラなどのローリングシャッターカメラを使用して光源からの光が取り込まれるアプリケーションにおいて、符号化光の使用に対する関心が高まっている。ローリングシャッターカメラは、画像のラインを１本ずつスキャンする（典型的には、最小で１８ｋライン／ｓ）。ラインは時系列的に記録され、また、光の中のコードも時系列的に変化し得るため、追加処理を伴う。典型的には、ライン上のサンプルはライン毎に単一の値に「統合」又は「集約」される。したがって、各ラインは信号のサンプルを異なる時点において取得し、もって符号化光信号の復元を可能にする。
【発明の概要】
【課題を解決するための手段】
【００１７】
本明細書に開示される一側面によれば、光源から出射される可視光に符号化光信号を埋め込むよう光源を制御するための出力と、符号化光信号を生成するよう構成されたコントローラとを含むデバイスが提供され得る。光は、各フレームの複数のラインを順に露出することによってフレームを取得するローリングシャッターカメラによって受け取られ、カメラは露出時間を有し、各ラインは露出時間だけ露出される。コントローラは、符号化光信号が少なくとも１つのメッセージを含み、各フレーム内でカメラによって露出されるラインよりも相当少ない数のラインから符号化光信号のサンプルが取得され、メッセージがそのライン数よりも長いとき、複数の異なるフレームのそれぞれにおいてカメラがメッセージの異なる部分を見るようなタイミングでメッセージが複数回繰り返されるフォーマットに従って符号化光信号を生成するよう構成される。
【００１８】
一部の実施形態では、メッセージは、複数のフレームにかけてメッセージ全体が見られるよう繰り返され得る。
【００１９】
メッセージは、１フレームよりも長い持続時間を有し得る。
【００２０】
メッセージは、異なるデータ内容を含む１つ又は複数のパケットを含み、メッセージの各パケットの後にパケット間休止期間が続き、メッセージの繰り返しは、パケット間休止期間とは異なるメッセージ間休止期間によって隔てられ得る。
【００２１】
パケット間休止期間は、露出時間、又は予期される露出時間の最大値以上であり得る。
【００２２】
メッセージ間休止期間は、複数の異なるフレームのそれぞれにおいてカメラがメッセージの異なる部分を見るような上記タイミングが得られるよう選択され得る。
【００２３】
露出時間は（１／３０）ｓ以下、（１／６０）ｓ以下、又は（１／１２０）ｓ以下であり得る。
【００２４】
少なくとも１つのメッセージは、メッセージあたり少なくとも３つのパケットから構成され得る。
【００２５】
各パケットは、１７ビット以下、１２ビット以下、又は９ビット以下の長さを有し得る。
【００２６】
パケット長は、１バイトのコンテンツと１つの同期ビットとからなる９ビットであり得る。
【００２７】
コントローラは、信号のデータビットが３値マンチェスタ符号にマッピングされることによって表現される３値マンチェスタ変調符号体系に従って符号化光信号を符号化するよう構成され得る。
【００２８】
メッセージ間休止期間は、少なくとも４つの符号の持続時間を有し得る。
【００２９】
各パケットは、１９個の符号の長さを有し、パケット間休止期間は、３３個の符号の持続時間を有し、メッセージ間休止期間は、５個の符号の持続時間を有し得る。
【００３０】
コントローラは、１ｋＨｚ、２ｋＨｚ、又は４ｋＨｚのシンボルレートで符号化光信号を符号化するよう構成され得る。
【００３１】
コントローラは、バックチャネルを介してカメラから露出時間の指標を受け取り、露出時間に基づきメッセージのフォーマットを適合させるよう構成され得る。
【００３２】
コントローラは、複数の異なるフレームのそれぞれにおいてカメラがメッセージの異なる部分を見ることになるよう１つ又は複数のパラメータを選択することによって上記適合を実行するよう構成され、１つ又は複数のパラメータは、パケット間休止期間、メッセージ間休止期間、メッセージあたりのパケット数、及び／又はシンボルレートを含み得る。
【００３３】
コントローラは、パラメータの複数の異なる既定の組み合わせから選択することによってフォーマットを適合させるよう構成され得る。
【００３４】
上記ライン数は、各フレームのラインの１４％以下であり得る。
【００３５】
本明細書に開示される他の側面によれば、上記特徴のうち任意のものを有するデバイス、光源、及びカメラを含むシステムが提供され得る。カメラは、各フレームにおいてカメラによって露出されるよりも相当少ない数のラインからサンプルが取得され、メッセージが当該ライン数よりも長くなるよう、光源に対して配置され得る。
【００３６】
本明細書に開示される他の側面によれば、光源から出射される可視光に符号化光信号を埋め込むよう光源を制御するステップであって、符号化光信号は少なくとも１つのメッセージを含む、ステップと、各フレームの複数のラインを順に露出することによってフレームを取り込むローリングシャッターカメラにおいて光を受け取るステップであって、カメラは露出時間を有し、各ラインは露出時間だけ露出される、ステップと、各フレーム内でカメラによって露出されるよりも相当少ない数のラインから符号化光信号のサンプルを取得するステップとを含み、メッセージは上記ライン数より長く、異なる複数のフレームのそれぞれにおいてカメラがメッセージの異なる部分を見るようなタイミングでメッセージが複数回繰り返されるフォーマットに従って符号化光信号が生成される、方法が提供され得る。
【００３７】
本明細書に開示される他の側面によれば、実行されたとき、光源から出射される可視光に符号化光信号を埋め込むよう光源を制御する動作であって、光は、各フレームの複数のラインを順に露出することによってフレームを取り込むローリングシャッターカメラにおいて光を受け取られ、カメラは露出時間を有し、各ラインは露出時間だけ露出される、動作と、符号化光信号は少なくとも１つのメッセージを含み、各フレーム内でカメラによって露出されるよりも相当少ない数のラインから符号化光信号のサンプルが取得され、メッセージが上記ライン数より長いとき、異なる複数のフレームのそれぞれにおいてカメラによってメッセージの異なる部分が見られるようなタイミングでメッセージが複数回繰り返されるフォーマットに従って符号化光信号を生成する動作とを実行するよう構成され、コンピュータ可読媒体上に具現化されたコードを含むコンピュータプログラム製品が提供され得る。
【００３８】
本明細書に開示される他の側面によれば、光源から出射される可視光に埋め込まれた符号化光信号であって、光は、各フレームの複数のラインを順に露出することによってフレームを取り込むローリングシャッターカメラによって受け取られ、カメラは露出時間を有し、各ラインは露出時間だけ露出され、符号化光信号は、符号化光信号が少なくとも１つのメッセージを含み、各フレーム内でカメラによって露出されるよりも相当少ない数のラインから符号化光信号のサンプルを取得され、メッセージが上記ライン数より長いとき、異なる複数のフレームのそれぞれにおいてカメラによってメッセージの異なる部分が見られるようなタイミングで、メッセージが複数回繰り返されるようなフォーマットに従って生成される、符号化光信号が提供され得る。
【００３９】
一部の実施形態では、上記方法、コンピュータプログラム、及び／又は信号は、上記デバイスに関して論じられる特徴のいずれかに従ってさらに構成され得る。
【００４０】
本明細書に開示される他の側面によれば、各フレームの複数のラインを順に露出することによって所与のフレームレートで所与の持続時間のフレームを取り込むローリングシャッターカメラから符号化光信号を含む信号を受信するための入力と、複数のラインのうちの一部のラインのそれぞれから符号化光信号のサンプルを入力を介して取得するよう構成された、入力に接続された信号処理モジュールとを含むデバイスが提供され得る。上記一部のラインはある持続時間露出され、一部のラインの数は、各フレームにおいてカメラによって露出されるラインの数よりも著しく小さい。符号化光信号は、当該数のラインが露出される持続時間よりも長い持続時間を有するメッセージを含み、メッセージは、複数の異なるフレームのそれぞれにおいてカメラによってメッセージの異なる部分が見られるようなタイミングで複数回繰り返し受信される。信号処理モジュールは、複数のフレームからの異なるメッセージの部分のタイムアライメントを行い、タイムアライメントされた部分からメッセージを再組立てするよう構成される。
【００４１】
一部の実施形態では、メッセージ全体は、複数のフレームにかけて見られ得る。
【００４２】
一部の実施形態では、メッセージは、１フレームよりも長い持続時間を有し得る。
【００４３】
一部の実施形態では、信号処理モジュールは、フレーム持続時間及びメッセージ持続時間に基づきタイムアライメントを実行するよう構成され得る。
【００４４】
一部の実施形態では、各フレームは有効ライン及び無効ラインを含み、上記複数のラインは有効ラインであり、信号処理モジュールは、メッセージの長さの整数倍であるタイミング基準期間を決定し、各連続フレーム内で受信されたメッセージの部分を、先行フレームに対してフレーム長だけオフセットし、上記タイミング基準期間の末尾を越えた部分は上記タイミング基準期間の先頭にラップアラウンドさせることにより、タイムアライメントを実行するよう構成され得る。
【００４５】
一部の実施形態では、信号処理モジュールは、上記数のラインを含む各フレームの複数の有効ラインのそれぞれからサンプルを取得し、これにより、フレーム持続時間を有するフレーム信号を生成するよう構成され、オフセットは、タイミング基準期間の持続時間を有するよう、各フレーム信号を拡張することによって行われ得る。
【００４６】
上記拡張は、フレーム信号にゼロを加えることによって実行され得る。
【００４７】
信号処理モジュールは、１つ又は複数のスキップされたフレームを破棄するよう構成され得る。
【００４８】
信号処理モジュールは、それぞれがメッセージの部分の異なる部分集合に基づくメッセージの複数の再組立てされたバージョンを生成し、メッセージの複数のバージョン間の相関に基づき、デバイスのクロックと符号化光信号のクロッキングとの間の同期を行うよう構成され得る。
【００４９】
各サンプルは、対応するラインの画素値を結合することによって取得され得る。
【００５０】
上記ラインの数は、各フレームのラインの１４％以下であり得る。
【００５１】
各部分は、メッセージの３％以下であり得る。
【００５２】
サンプルが取得されるラインの数は、１つ又は複数の露出過度の画素を含むラインを除外し得る。
【００５３】
本明細書に開示される他の側面によれば、上記特徴のいずれかを有するデバイス、及びカメラを含む受信機が提供され得る。
【００５４】
本明細書に開示される他の側面によれば、上記受信機及び光源を含むシステムが提供され、カメラは、各フレームにおいてカメラによって露出されるよりも著しく小さい数のラインからサンプルが取得され、メッセージが上記数のラインよりも長くなるよう光源に対して配置され得る。
【００５５】
本明細書に開示される他の側面によれば、各フレームの複数のラインを順に露出することによってフレームを取得するローリングシャッターカメラから符号化光信号を含む信号を受信するステップと、複数のラインのうちの一部のラインのそれぞれから符号化光信号のサンプルを取得するステップとを含む方法であって、上記一部のラインはある持続時間露出され、一部のラインの数は、各フレームにおいてカメラによって露出されるラインの数よりも著しく小さく、符号化光信号は、上記数のラインが露出される持続時間よりも長い持続時間を有するメッセージを含み、メッセージは、複数の異なるフレームのそれぞれにおいてカメラによってメッセージの異なる部分が見られるようなタイミングで複数回繰り返され、方法はさらに、複数の異なるフレームからの異なるメッセージの部分のタイムアライメントを行い、タイムアライメントされた部分からメッセージを再組立てするステップを含む、方法が提供され得る。
【００５６】
本明細書に開示される他の側面によれば、実行されたとき、各フレームの複数のラインを順に露出することによってフレームを取得するローリングシャッターカメラから符号化光信号を含む信号を受信する動作と、複数のラインのうちの一部のラインのそれぞれから符号化光信号のサンプルを取得する動作とを実行するよう構成された、コンピュータ記憶媒体上に具現化されたコンピュータプログラム製品であって、上記一部のラインはある持続時間露出され、一部のラインの数は、各フレームにおいてカメラによって露出されるラインの数よりも著しく小さく、符号化光信号は、上記数のラインが露出される持続時間よりも長い持続時間を有するメッセージを含み、メッセージは、複数の異なるフレームのそれぞれにおいてカメラによってメッセージの異なる部分が見られるようなタイミングで複数回繰り返され、コードはさらに、実行されたとき、複数の異なるフレームからの異なるメッセージの部分のタイムアライメントを行い、タイムアライメントされた部分からメッセージを再組立てするよう構成される、コンピュータプログラム製品が提供され得る。
【００５７】
一部の実施形態では、上記方法及び／又はコンピュータプログラムは、さらに、上記デバイスに関して論じられる特徴のいずれかに従って構成され得る。
【００５８】
本明細書に開示される他の側面によれば、第１のフィルタを適用され、ノイズ及び／又は干渉を受ける入力信号に対する第１のフィルタの影響を等化するためのウィーナーフィルタであって、第１のフィルタは、少なくとも１つの未知数に依存し、ウィーナーフィルタは、既知と仮定される第１のフィルタの表現に代わる、少なくとも１つの未知数について平均化された第１のフィルタの平均化表現に基づく、ウィーナーフィルタが提供され得る。
【００５９】
一部の実施形態では、平均化表現は、第１のフィルタの共役の平均を含み得る。
【００６０】
平均化表現は、第１のフィルタとその共役との積の平均を含み得る。
【００６１】
平均化表現は、第１のフィルタの共役の平均、及び第１のフィルタとその共役との積の平均を含み得る。
【００６２】
ウィーナーフィルタは、周波数領域で動作し得る。
【００６３】
ウィーナーフィルタは、次式に従って構成され、
【数１】
2017512401.tif 000003
ここで、Ｇは周波数領域におけるウィ−ナーフィルタの式であり、Ｈは周波数領域における第１のフィルタであり、Ｓは入力信号のスペクトル密度であり、Ｎ０はノイズ及び／又は干渉のスペクトル密度であり、θは未知数であり、Ｅはθに関する平均である。
【００６４】
平均は、有限範囲内で未知数が一様分布であると仮定し得る。
【００６５】
第１のフィルタは公称値を有し、未知数についての平均化は、公称値まわりの第１のフィルタのテイラー展開、及び未知数の第１の複数のモーメントを使用して計算され得る。
【００６６】
第１のフィルタは複数の未知数に依存し、ウィーナーフィルタは、未知数のそれぞれについて平均化された第１のフィルタの平均化表現に基づき得る。
【００６７】
第１のフィルタは、時間領域における矩形関数及び周波数領域におけるsinc関数を含み、矩形関数は時間領域においてある幅を有し、未知数は矩形関数の幅を含み得る。
【００６８】
入力信号は、フレームの各ラインが順に露出時間だけ露出されるローリングシャッター収集プロセスによって取り込まれる符号化光信号を含み、フィルタはローリングシャッター収集プロセスに起因し、露出時間は未知数であり得る。
【００６９】
各ラインの露出は、露出時間の幅を有し得る矩形関数を生成し得る。
【００７０】
第１のフィルタは、ある中心周波数及びバンド幅を有するバンドパスフィルタを含み、少なくとも１つの未知数は、バンドパスフィルタの中心周波数及び／又はバンド幅を含み得る。
【００７１】
本明細書に開示される他の側面によれば、上記特徴のいずれかを有するウィーナーフィルタと、上記ローリングシャッター収集プロセスによって入力信号を取り込むよう構成され得るカメラとを含む受信機が提供され得る。
【００７２】
本明細書に開示される他の側面によれば、第１のフィルタを適用され、ノイズ及び／又は干渉を受ける入力信号に対する第１のフィルタの影響を等化するためのウィーナーフィルタを求める方法であって、第１のフィルタが依存する少なくとも１つの未知数を特定するステップと、第１のフィルタの表現を含むウィーナーフィルタの式において、第１のフィルタが既知と仮定された表現を、少なくとも１つの未知数について平均化された第１のフィルタの平均化表現によって置換するステップとを含む、方法が提供され得る。
【００７３】
本明細書に開示される他の側面によれば、実行されたとき、第１のフィルタを適用され、ノイズ及び／又は干渉を受ける入力信号に対する第１のフィルタの影響を等化するためのウィーナーフィルタを実装するコンピュータ可読媒体上に具現化されたコンピュータプログラム製品であって、第１のフィルタは少なくとも１つの未知数に依存し、ウィーナーフィルタは、既知と仮定される第１のフィルタの表現に代わる、少なくとも１つの未知数に関して平均化された第１のフィルタ平均化表現に基づく、コンピュータプログラム製品が提供され得る。
【００７４】
一部の実施形態では、上記方法及び／又はコンピュータプログラムは、上記ウィーナーフィルタに関して論じられる特徴のいずれかに従ってさらに構成され得る。
【００７５】
他の実施形態では、上記送信側デバイス、受信側デバイス、及び／又はウィーナーフィルタの特徴のうちの任意のものが組み合わせられ、同様に、上記され又は本明細書の他の箇所に記載された任意のデバイス、送信機、受信機、システム、信号、方法、及び／又はコンピュータプログラムの任意の特徴が組み合わせられ得る。
【００７６】
この概要の節は、本開示の範囲を限定するものではないことに留意されたい。本開示の範囲は、特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【００７７】
本開示の理解を助け、また、実施形態の実施方法を示すため、例として以下の添付図面を参照する。
【００７８】
【図１】図１は、符号化光通信システムの概略的なブロック図である。
【図２】図２は、ローリングシャッターカメラによって取り込まれたフレームの概略的な表現である。
【図３】図３は、取り込まれたフレームの例を示す。
【図４】図４は、取り込まれたフレームから取得された有用なサンプルの例を示す。
【図５】図５は、３値マンチェスタ符号体系を概略的に示す。
【図６】図６は、３値マンチェスタを使用して符号化された信号の例を概略的に示す。
【図７】図７は、メッセージフォーマットを概略的に示す。
【図８】図８は、メッセージ再組立てに要求されるフレームの数のグラフである。
【図９】図９は、周期的に繰り返されるメッセージの３回の繰り返しを示す。
【図１０】図１０は、３つのパケットからなるメッセージを示す。
【図１１】図１１は、時間領域における送信信号及び受信信号を示す。
【図１２】図１２は、周波数領域における送信信号及びＩＳＩを示す。
【図１３】図１３は、複数のフレームのそれぞれをサンプリングすることによって取得された信号を示す。
【図１４】図１４は、サンプリングフレームから取得された信号の拡張バージョンを示す。
【図１５】図１５は、複数のフレームからの信号のタイムアライメントされたバージョンを示す。
【図１６】図１６は、複数のフレームから復元された信号を示す。
【図１７】図１７は、復元されたメッセージを示す。
【図１８】図１８は、メッセージのローリングしないアライメントを示す。
【図１９】図１９は、メッセージの「スイッチング」アライメントを示す。
【図２０】図２０は、フィルタＨを等化するウィーナーフィルタの概略的なブロック図である。
【図２１】図２１は、ローリングシャッターに起因するＩＳＩフィルタの概略的なブロック図である。
【図２２】図２２は、付加ノイズを表す概略的なブロック図である。
【図２３】図２３は、フィルタＨを等化するロバストウィーナーフィルタの概略的なブロック図である。
【発明を実施するための形態】
【００７９】
以下の記載は、符号化光アプリケーションに関連し、符号化光を送信するためのフォーマット、符号化光を受信するためのデコーダ、及びデコーダにおいて使用される１つの特定の有利な構成要素（符号化光以外のアプリケーションにも使用され得る）を提供する。
【００８０】
当該フォーマット及び復号技術は、既存のローリングシャッターカメラや、専用のいわゆるＲＯＩ（region-of-interest）カメラにも対応するフォーマットを定める、符号化光のための実践的なソリューションを提供することを狙いとする。本開示は、一部の実施形態では安価なローリングシャッターカメラが符号化光を受け取り、符号化光に含まれるメッセージを復号することを可能にする符号化及び復号方法、エンコーダ及びデコーダ、信号フォーマット、並びに符号化及び復号のためのソフトウェアを提供する。
【００８１】
安価なローリングシャッターカメラは、実質的にラインの進行、及び時間の進行とともに画像をスキャンする。これは、一番上のラインのタイムスタンプが一番下のラインのタイムスタンプよりも顕著に早いことを意味する。ここで、画像内に符号化光が存在すると想定する。通常、符号化光は画像の一部の小区画でしか見えない。
【００８２】
実際に光を映すラインは、符号化光を含むラインである。各ラインは単一の値に「集約」され、この単一の値は情報のビット又はシンボル、すなわちラインがスキャンされた時点で送信されたビット又はシンボルに対応する。ここで、ローリングシャッターカメラがメッセージを復号するために、フレームあたりのライン数が十分に大きくなる（よって、光が十分に大きい）ことを確保して、単一のフレームに基づき画像が復号され得る。しかし、後に詳述されるように、これは常に可能であるとは限らない。
【００８３】
図１は、符号化光を送受信するためのシステムの概略図を与える。システムは、送信機２及び受信機４を含む。例えば、送信機２は照明器具の形態を取り（例えば、部屋の天井又は壁に取り付けられたもの、自立型のランプ、又は屋外の電灯）、受信機４はスマートフォン、タブレット、又はラップトップコンピュータ等のモバイルユーザー端末の形態を取り得る。送信機２は、光源１０、及び光源１０に接続されたドライバ８を含む。送信機２は、さらに、ドライバ８によって駆動される光源１０を制御するために、コントローラ６の形態のデバイス、及びドライバ８への出力部を含む。例えば、コントローラ６は、送信機２のメモリ上に保存された、送信機のプロセッサ上で実行されるソフトウェアの形態を取ってもよく、あるいは、コントローラ６の一部又は全てがハードウェア、又は構成可能若しくは再構成可能なハードウェア回路に実装されてもよい。受信機４は、カメラ１２、信号処理モジュール１４の形態のデバイス、及びカメラ１２からの入力部を含む。信号処理モジュール１４は、例えば、受信機４のメモリ上に保存された、受信機４のプロセッサ上で実行されるソフトウェアの形態を取ってもよく、あるいは、信号処理モジュール１４の一部又は全てが専用ハードウェア回路、又は構成可能若しくは再構成可能なハードウェア回路に実装されてもよい。コントローラ６及び信号処理モジュール１４は、本明細書に開示される実施形態に係る送信側動作及び受信側動作を（それぞれ）実行するよう構成される。
【００８４】
図２及び図３を参照して、カメラ１２は一連のフレーム１６を取り込むよう構成され、カメラが光源１０に向けられている場合、フレーム１６は光源１０からの光の画像を含む。カメラ１２はローリングシャッターカメラであり、すなわち、カメラ１２は各フレーム１６を（グローバルシャッターカメラのように）一度にまとめて取り込むのではなく、一連のライン１８を１本ずつ取り込む。つまり、各フレーム１６は、それぞれがフレーム１６を横断又は縦断等し、１つ又は複数の画素の厚さを有する（例えば、水平ラインの場合、フレーム１６の幅にわたって延在し、１つ又は複数の画素の高さを有する）、典型的には水平ラインである複数のライン１８に分割される（ラインの総数は参照符号２０によって表される）。取り込みプロセスは、１つのライン１８を露出することによって始まり、その後次のライン（典型的には隣接するライン）が露出され、その後次のラインが露出され、というようにこれが繰り返される。例えば、取り込みプロセスは、フレーム１６の上から下に進み、一番上のラインの露出によって開始し、その後上から２番目のライン、その後次の下のライン、というように繰り返され得る。あるいは、下から上に進んでもよい（又は、横方向に並んだ垂直ラインでさえあり得る）。各ラインの露出は、時間的に独占的であってもよく、又は時間的に重複してもよいことに留意されたい（ただし、いずれにせよ異なる時間に開始する）。カメラ１２は、所定の露出時間Ｔｅｘｐを有し、各ラインは、順にこの同じ露出時間間隔だけ露出される。また、デジタルカメラの場合、「露出」とは機械的なシャッターにおける意味ではなく、ラインの画素が光を取り込み又はサンプリングしている時間を意味することに留意されたい。
【００８５】
符号化光検出のためのサンプルを取得するために、各ライン１８の個別の画素サンプルの一部又は全てが、そのラインの結合サンプル１９に結合される（例えば、図３及び図４を参照しながら後述されるように、符号化光信号に有効に寄与する「有効」画素のみ）。例えば、結合は、画素値を積算又は平均化することによって、又は任意の他の結合技術を使用して実行され得る。あるいは、特定の画素が各ラインの代表として選択されてもよい。
【００８６】
既存の文献では、光源１０が全てのフレームの全体又はほぼ全体を覆うものと仮定されている。しかし、これはしばしば当てはまらない。さらに、出射光は必ずしも取り込みプロセスと同期せず、これはさらなる問題を生じ得る。
【００８７】
したがって、符号化光送信機として機能する光源１０が、実際には各フレーム１６のライン１８の一部のみしか覆わない可能性があるため、符号化光検出のためにローリングシャッターカメラを使用する場合、特有の問題が生じる。実際には、図２のライン２４のみが、符号化光源の強度変化を記録する画素を含み、よって有用な情報を有するサンプルをもたらす。図３も参照されたい。全ての残りの「フレームあたりのライン」２２、及びこれらから導出されるサンプルは、対象光源１０に関する符号化光情報を有さない。光源１０が小さい場合、各フレーム１６において光源１０の短い一時的なビューしか得られない可能性があり、よって、既存の技術は非常に短いメッセージにしか対応できない。しかし、より長いメッセージを送信可能なことが望ましい可能性がある。また、例えば選択されたフレームフォーマットに起因して、一部のライン２６が「隠れ」又は無効となる可能性があることに留意されたい（有効ライン２１のみが取り込み画像に寄与する）。
【００８８】
上記の他、追加で又は代替的に、１つ又は複数の他の問題が存在し得る。一部の実施形態では、問題は、第１に、ローリングシャッターは符号化光源の短い時間的に断続的なビューをもたらし得ること、第２に、「自動露出制御」と符号化光との間で利益相反が生じ得ること、第３に、現在のドライバ技術では低周波数シグナリングしかできないため、ちらつきが生じ得ること、及び／又は第４に、ローリングシャッタープロセスによってもたらされるフィルタリング効果が符号間干渉（ＩＳＩ）を引き起こし得ることを含み得る。
【００８９】
したがって、既存の技術はフレキシビリティが不十分であり、かつ／又は誤差若しくは干渉を生じやすいおそれがある。後述される実施形態は、単一のビデオフレーム内の（メッセージの）フットプリントよりも長いメッセージを取り込み復号できるよう、ローリングシャッターカメラの複数のビデオフレームからの情報を結合することを狙いとする。一部の実施形態では、これは、
（i）送信機によってメッセージが周期的に繰り返される信号フォーマットの使用、及び
（ii）受信機において、各フレームで取得された部分的スナップショットから完全なメッセージを復元するために、メッセージの繰り返し時間（Ｔｍ）の知識及びフレーム持続時間（Ｔｆｒａｍｅ）の知識を利用することを含む。このために、本開示は、複数のフレームからデータを集め、集められたデータを再組立てする方法を提供する。
【００９０】
メッセージは周期的に繰り返され、受信機において、メッセージは実質的に時間をかけて再組立てされる（例えば、あるメッセージについては実際には１〜２秒、例えば３０〜６０フレームを要し得る）。これを可能にするために、以下、光の中に情報を符号化するための特定のデータフォーマットについて説明する。
【００９１】
一方、信号の復号の一部は、本明細書では「再組立て」と呼ばれるやり方を用いて説明される。復号を容易化するため、メッセージ持続時間及び／又はカメラのＴｅｘｐは、安価なローリングシャッターカメラが完全なメッセージを相当に素早く検出することを可能にするよう微調整される。
【００９２】
再組立て後、メッセージは等化される。「通常の」アプローチは、メッセージを取り、信号の正確なタイミングを決定するためにスライサーを有効に使用し、その後等化することである。しかし、後述される実施形態によれば、これは、より効率的なロバストウィーナーフィルタ実装を使用する賢明な方法によって達成され得る（好ましくは、復号アルゴリズム全体が標準的な普通の携帯電話上に実装され得るよう）。
【００９３】
ロバストウィーナーフィルタは、チャネルの不確実性を考慮し、そのようにすることで、符号間干渉（ＩＳＩ）を低減することができる。後述される実施形態では、このフィルタは再組立て後に使用される。しかし、これは他のシステムにおいても使用され得ることに留意されたい（ローリングシャッターの影響の等化、又は符号化光アプリケーションにさえ限定されるものではない）。
【００９４】
メッセージフォーマット
以下、「フットプリント」より長いメッセージ、及び多数のフレームにわたる持続時間を有するメッセージでさえ取り込み復号できるよう、複数のビデオフレームの情報の信頼できる結合を可能にするメッセージフォーマットを説明する。また、当該信号フォーマットは、受信機におけるカメラによって引き起こされたＩＳＩをキャンセルする非同期（ウィーナーと類似する）等化を可能にする。さらに、メッセージの周波数成分は、例えば１８Ｈｚの繰り返し周波数（非常に繊細なフリッカー周波数）を有するメッセージ長の場合であっても、視認可能なちらつき又はストロボ効果が無いようなものであり得る。
【００９５】
このようなメッセージフォーマットの例が図７に示されている。小さいフットプリントが与えられる場合であっても確実にメッセージを取り込むために、符号化光信号は、メッセージが複数のフレームにわたって「ローリング」するよう、同じメッセージ２８が複数回連続して繰り返され、そのタイミングがカメラの露出時間、又は予期されるカメラの露出時間の範囲に関連して設定されるフォーマットに従って送信される。すなわち、複数の異なるフレームのそれぞれにおいてカメラがメッセージの異なる部分を捉え、メッセージの異なる部分が捉えられるのに伴い、メッセージ全体が時間をかけて組み立てられることを可能にするようにされる。したがって、ここでの問題は、再組立てにおいてローリングシャッターカメラがフレーム毎に異なるメッセージの部分を映すよう（メッセージの部分は必ずしも連続的である必要はなく、実際に、ローリングシャッターカメラでは連続的でないことが多い）、露出時間Ｔｅｘｐ又は予期される露出時間に関連してメッセージ長（持続時間）Ｔｍを選択する方法である。メッセージタイミングは、受信機４と送信機２との間のＲＦチャネル等の適切なバックチャネルを介してフィードバックされる特定のカメラの露出時間Ｔｅｘｐの実際の知識に応じて調整されてもよく（「交渉フォーマット」）、あるいは、タイミングは、フォーマットが対応すべきカメラの可能な露出時間値Ｔｅｘｐの範囲を予期し、事前にフォーマット化されてもよい（「ユニバーサルフォーマット」）。
【００９６】
一部の実施形態では、メッセージの実際のデータコンテンツ（ペイロード）３０の長さ（持続時間）の他、同じメッセージの繰り返し間隔の間にメッセージ間休止期間（ＩＭＩＰ；inter-message idle period）を挿入することにより、メッセージ長Ｔｍが選択され得る。このようにすることで、メッセージ内容のみでは、各フレームが多かれ少なかれメッセージの同じ部分を見ることになる場合であっても、メッセージ間休止期間を使用することによってこの挙動を乱し、上記「ローリング」条件を達成することができる。一部の実施形態では、メッセージ間休止期間はＴｅｘｐのフィードバックに基づき調整され（「交渉フォーマット」）、又は可能なＴｅｘｐの値の範囲に適合するよう事前に定められ得る（「ユニバーサルフォーマット」）。
【００９７】
上記したように、ローリング条件は、ローリングシャッターカメラの露出時間（すなわち、ライン露出時間）Ｔｅｘｐと関連する。これの解は１つではなく、むしろ、条件を満たさないＴｍ及びＴｅｘｐの組み合わせを回避することが問題となる（後により詳しく説明する）。ユニバーサルフォーマットを求める場合、発明者は、Ｔｅｘｐ≦（約）３３ｍｓ又は（１／３０）ｓである限り、十分な解が確実に入手可能であることを発見した。
【００９８】
他の問題は、各ラインの露出のフィルタリング効果（実質的には、各ラインの露出に伴い時間領域で適用される矩形フィルタ）に起因する符号間干渉（ＩＳＩ）である。これを軽減するために、一部の実施形態では、メッセージフォーマットは、各メッセージインスタンスが複数の（例えば、少なくとも３つの）個別パケット２９を有し、かつ、各パケット間にパケット間休止期間（ＩＰＩＰ；inter-packet idle period）３２を含むよう構成される。一部の実施形態では、パケット間休止期間は各パケットに後続し、最後のパケット後の末尾にメッセージ間休止期間（ＩＭＩＰ）３４が付される（１つのパケットしか存在せず、その後にＩＰＩＰ３２及び潜在的にＩＭＩＰ３４が続くような場合も考えられる）。
【００９９】
この場合、符号間干渉は、パケット長及びパケット間休止期間の関数である。列内のデータシンボルが多いほど、符号間干渉（ＩＳＩ）が大きい。したがって、パケット長を小さく保ち、間に好適なサイズのギャップを挿入することが望ましい。データバースト間の休止ギャップ（データ無し、例えば全てゼロ）は、パケット長を短く保つことと同様に、符号間干渉を軽減することを助ける。これらの特性についても、受信機４と送信機２との間のＲＦチャネル等の適切なバックチャネルを介してフィードバックされる特定のカメラの露出時間Ｔｅｘｐの実際の知識に応じて調整されてもよく（「交渉フォーマット」）、あるいは、タイミングは、フォーマットが対応すべきカメラの可能な露出時間値Ｔｅｘｐの範囲を予期し、事前にフォーマット化されてもよい（ユニバーサルフォーマット）。一部の実施形態において、発明者は、少なくともＴｅｘｐのパケット間休止期間によって分離された９ビット以下のパケット長が、ＩＳＩの軽減に関して良好なパフォーマンスを提供することを発見した。好都合なことに、９ビットはさらに、１バイトのデータ＋１つの同期ビットを好適に可能にする。とはいえ、他の実施形態では、１２ビット、又は１７ビットのパケット長さえ許容され得る。
【０１００】
「ローリング」達成の他、他の潜在的問題は同期である。受信機は、受信信号と同期するのに使用するメッセージフォーマットのテンプレートを有し、例えば、受信機は、ＩＰＩＰ＋ＩＭＩＰのギャップの後に同期ビットがあり、その後１バイトのデータ、ＩＰＩＰ、そして新たな同期ビット及び１バイトのデータと続くと予期されることを知っている。このテンプレートを受信された符号化光信号と比較することにより、受信機は信号と同期することができる。一部の実施形態では、同期を補助するために、発明者は、メッセージ間休止期間が、関連する変調符号の少なくとも４つの符号、例えば４つの３値マンチェスタ符号であることが好ましいことを発見した。
【０１０１】
上記考察によれば、メッセージフォーマットの一例は、
（i）送信機によってメッセージが周期的に（何度も）繰り返され、もって連続するビデオフレームからの、それぞれが部分的受信メッセージを含むフットプリントを（時間的に）再結合して完全な受信メッセージを取得することを可能にし、メッセージサイズは、周期的繰り返しによって最終的にメッセージ全体が復元され得るよう選択され得る、信号フォーマットの使用、
（ii）制御不能なカメラの露出時間設定に起因する重度なＩＳＩの存在下でイコライザーがオリジナルの送信波形を復元することを可能にするために、パケット間休止期間によって分離された比較的短いパケット（例えば、９ビット）を有するメッセージ、及び
（iii）低周波数成分の抑制をもたらし、よって低符号周波数におけるちらつきを排除する、ＤＣフリー変調符号としての３値マンチェスタ（ＴＭ）の形式の使用、を含む。
【０１０２】
変形形態も可能である。例えば、好ましい変調符号は３値マンチェスタ（頭文字を取ってＴＭと略され得る）であるが、代わりに他の符号が使用されてもよく（ちらつきが視認されないＤＣフリー又はＤＣをあまり含まないものが好ましい）、例えば慣用的なマンチェスタ又はＮＲＺ（non-return to zero）が使用されてもよい。以下、フォーマットパラメータ（例えば、ＩＭＩＰ）の様々な特に有利な選択についても述べる。他の実施形態では、ＩＰＩＰは最大露出時間に対して調整され得る。また、露出時間＞ＩＰＩＰの場合、ＴＭ符号長も露出時間に対して調整され得る。他の実施形態では、中程度の長さのメッセージの場合はguided descramblingが使用され、かつ／又は、短いメッセージの場合はスクランブルされていない短いパケットが使用され得る。
【０１０３】
図２に戻り、さらなる詳細についていくつか議論する。上記したように、既存の文献は、復号されるべき光源が全フレームをほとんど又は完全に覆うものと仮定する。復号されるべき単一のメッセージの持続時間は、単一のフレーム内の光源のフットプリント内に取り込まれ得るようなものであると仮定される。データパケットとフレーム撮影との間の同期性のため、「隠れたライン」２６が問題を生じ得ることが認識される。少なくとも１つの繰り返しが、単一のフレーム内に完全に取り込まれるという条件を満たすよう、メッセージが繰り返され得ることが提案される。しかし、符号化光のための既存のデータフォーマットは、依然として複数の問題を有し得る。
【０１０４】
上記したように、符号化光検出のためにローリングシャッターカメラを使用する場合の特有の問題は、符号化光送信機として機能する光源が、各フレームのラインの一部しか覆わない可能性があるために生じる（再び図２を参照されたい）。実際には、光源を含むラインのみが、符号化光源の強度変化を記録する画素を有する。全ての残りのライン及び画素は、対象の光源に関する符号化光情報を有さない。光源が小さい場合、各フレームでは符号化光源の短い時間的に断続的なビューしか得られず、よって、従来技術は非常に短いメッセージにしか対応できない。
【０１０５】
他の問題は、ｉＰｈｏｎｅ（登録商標）及びｉＰａｄ（登録商標）等の現在のスマートフォンは、「ａｐｐ」による露出時間Ｔｅｘｐ及びＩＳＯの制御を許可しないことである。既存の自動内蔵制御アルゴリズムはしばしば長い露出時間を与え、これはカメラ検出後、光源によって順次送信されるデジタル符号間の重度の符号間干渉（ＩＳＩ）をもたらす。
【０１０６】
さらに、現在のＬＥＤドライバ技術は、送信されるデジタル信号の帯域幅（シンボルレート）が非常に限定されている場合（例えば、シンボルレートが１〜８ｋＨｚ）、安価かつエネルギー効率的なソリューションしか許容しない。かかる低い周波数では、信号フォーマットにおいて低周波数を抑制するための特別な予防策が取られない限り、ちらつき及びストロボ効果が深刻になり得る。単にＤＣフリー符号を有するだけでは、必ずしも十分ではない。
【０１０７】
本開示は、「フットプリント」より長いメッセージ、さらには多数のフレームの持続時間を有するメッセージでさえ取り込み復号できるよう、複数のビデオフレームの情報を確実に結合することを可能にする信号フォーマットを開示する。さらに、当該信号フォーマットは、受信機のカメラによって生じたＩＳＩをキャンセルする非同期（ウィーナーと類似する）等化を可能にする。最後に、メッセージの周波数成分は、例えば１８Ｈｚ（非常に繊細なフリッカー周波数）の繰り返し周波数を有するメッセージ長の場合であっても、視認可能なちらつき又はストロボ効果が存在しないようなものであり得る。
【０１０８】
送信機における典型的な符号化光信号のスナップショットが図９に示されており、次にこれについて説明する。光源は、（瞬間的に）出射される光の強度を０と１の間で変化させることができると仮定する。図９では、平均光強度（ＤＣ）は０．８に設定され、符号化光信号の振幅は０．１である。符号化光信号は平均（ＤＣ）光レベルに重畳されている。
【０１０９】
この例では１６１ｍｓの持続時間を有するメッセージは、３つのパケットによって構成され、各パケットが９つのＴＭ符号化ビットを含む。メッセージは送信機によって周期的に繰り返される（図９では３回の繰り返しが示されている）。ＴＭシンボルレートは１ｋＨｚ（１０００ＴＭ符号／ｓ）である。
【０１１０】
この例では、メッセージの各パケットの後に３３個のＴＭ符号のパケット間休止期間（〜３３ｍｓ）が続く。各メッセージの末尾には、（余分に）５個のＴＭ符号のメッセージ間休止期間が存在し、よって、現在のメッセージの第３パケットと次のメッセージの第１パケットとの間の合計休止期間は３３＋５＝３８個の休止符号となる。図９は、３回のメッセージの繰り返しを示し、各メッセージが３つのパケットを含む。
【０１１１】
図１０は、ＤＣが除去され、信号の振幅が１にされた図９の１つのメッセージを示す。各パケットの有効部分は９つのＴＭ符号化ビットを含み、よって、２×９＋１＝１９個のＴＭ符号となる。ＴＭ符号化の規則に従い、各パケットの最初と最後のＴＭ符号の振幅は±０．５であることに留意されたい。図９及び図１０に記載されるようなメッセージフォーマットは、Ｔｅｘｐ≦１／３０であるような任意のＴｅｘｐを有するカメラを使用して復号され得る。一般的に、例えばＴＭシンボルレート、休止期間、及び変調符号等の全てのパラメータが、検出を容易にするよう選択され得る。
【０１１２】
メッセージを周期的に繰り返す理由は、ローリングシャッターカメラ動画の各フレームでは、送信メッセージの小さな一部分しか復元できないおそれがあるからである。この部分のサイズは、カメラの画像内の光源（フットプリント）のサイズ、及びメッセージの持続時間のサイズに依存する。例えば、光源のサイズが、フレームのラインのわずか１４％だけが光源によって覆われるようなサイズの場合、及び、メッセージの持続時間が５フレーム程度の場合（録画速度が３０フレーム／秒であると仮定して）、単一の動画フレームからはメッセージの約３％のみが潜在的に復元可能である。
【０１１３】
メッセージの持続時間が動画のフレームレートに対して注意深く選択された場合、動画の連続フレームは、繰り返されるメッセージの異なる部分を表し、最終的にメッセージ全体が復元される。
【０１１４】
図８は、フレームレートを２９．９７ｆｐｓとして、完全なメッセージを取得するために要求されるフレーム数が如何にしてメッセージの持続時間、及び画像内のフットプリントのサイズに依存するかを示す。
【０１１５】
以下、図８に示される関係について考察する。持続時間Ｔｆの各フレーム毎に、持続時間Ｔｆｏｏｔｐｒｉｎｔ  ｏｆ  ｔｈｅ  ｍｅｓｓａｇｅのビューが取得される。Ｎ枚の連続フレームのＮ個のフットプリントの集合は、少なくとも１つの完全なメッセージをカバーしなければならない。フットプリントは、メッセージ上を「ローリング」しなければならない。フットプリントは、フレームレート（＝２９．９７Ｈｚ）と等しい繰り返し周波数を有し、メッセージは１／Ｔｍの繰り返し周波数を有し、これらの周波数は「十分に」異ならなければならない。
【０１１６】
また、大きなＮは大きな遅延をもたらすため、Ｎを最小化することが望ましい可能性がある。さらに、「小さい」フットプリントの場合、小さいＮ、例えばＮ＝３０〜１秒が望まれ得る。
【０１１７】
送信機の周波数偏移は、Ｔｍの変化をもたらす。偏移によっては、「遅いローリング」又はローリングの欠如さえもたらし得る。Ｎは、公称値付近のメッセージ持続時間の範囲に対して適度な値に留まらなければならない。
【０１１８】
次に、以下の場合にフットプリントによるメッセージのカバレッジがどうなるかを考える。
−  相対的フットプリントα＝Tfootprint／Tf＝0.4
−  0＜α≦1、（隠れたラインのため、実際には例えば0＜α≦0.88）
ＴｍがＴｆに近い場合、メッセージはほとんどローリングしない（各フレームは実質的にメッセージの同じ部分を見る）。しかし、ＴｍがＴｆの約１．５倍の場合、メッセージは「スイッチ」し、１つ置きのフレームがメッセージの互い違いの部分を見るが、一部は繰り返し見過ごされる。
【０１１９】
α＜１の場合、メッセージ持続時間Ｔｍがフレーム持続時間Ｔｆの倍数のとき、「ローリングしない」フットプリントが得られる。α＜０．５の場合、ＴｍがＴｆの半整数倍（０．５、１．５、２．５、．．．）のとき、「スイッチング」フットプリントが得られる。
【０１２０】
一般的に、1／(n+1)＜α≦1／nの場合（ｎは整数）、以下の条件を満たすとき、「ローリングしない」フットプリントが得られる。
【数２】
2017512401.tif 000004
【０１２１】
上記比が「ローリングしない」比のうちの１つに「近い」場合、ローリングは既に不十分であり得る。また、上記比が「ローリングしない」比のうちの１つに「近い」場合、ローリングは既に不十分であり得る。
【０１２２】
図８に示されるように、結果は複雑な関係となる。
【０１２３】
変調符号
ちらつきを生じ得る低周波数成分の抑制のため、低ビットレートに関して好ましい変調符号は３値マンチェスタ（ＴＭ）である。低ビットレートは、２つの理由、すなわち（i）ＬＥＤ光源のドライバの制限された許容可能な複雑性及び最小要求効率のため、及び／又は（ii）露出時間が非常に長い場合に復元可能なシグナリング速度を得るために、避けられない可能性がある。
【０１２４】
ＮＲＺ、マンチェスタ、及び３値マンチェスタを比較したとき、ＮＲＺ（実際には、非変調符号）は非常に高いＤＣ成分を有する。磁気記録からよく知られ、IEEE Visible Light Communication（ＶＬＣ）規格にも提案されているマンチェスタ変調符号は、いわゆるＤＣフリー符号であり、すなわち、周波数ゼロのスペクトル成分が０である。３値マンチェスタ変調符号は、いわゆるＤＣ２フリー変調符号であり、これは、マンチェスタのようなＤＣフリー符号と比較して、ＤＣ付近のスペクトル密度がはるかに低いことを示唆している。したがって、低周波数のスペクトル範囲では、マンチェスタよりもＴｍの方が有利である。ちらつきに関しては、１００Ｈｚ以下の周波数が重要である。
【０１２５】
信号フォーマットは、休止符号が散りばめられた比較的短いパケットを利用するため、各パケットをＤＣ２フリーにすることにより、メッセージがＤＣ２フリーであることを保証することができる。これは、｛−０．５，１，−０．５｝のＴＭインパルス応答を使用してユーザービットを変調することによって達成される。９ユーザービットからなるパケットは、１９個のＴＭ符号からなるＴＭ符号化パケットをもたらすことに留意されたい。
【０１２６】
ビットレートがより大きい場合、スペクトル密度によって視認されるちらつきが引き起こされないことを前提に、他の変調符号、場合によっては多値ＤＣフリー変調符号（例えば、４値マンチェスタ）の使用も考えられる。
【０１２７】
使用される変調符号は、例えば、振幅変調（ＡＭ）実装を有するドライバ、又はパルス幅変調（ＰＷＭ）実装を有するドライバ等、ドライバの実際の実装におけるいくらかの自由度を許容するよう定められ得る。これは、従来の変調フォーマットと異なり、符号化光のための送信波形の実際の形状が厳密に定められていないことを示唆する。
【０１２８】
符号化光の変調符号を定める好適な方法は、最適サンプリングポイントにおいて変調器出力波形に適用されるフルＴ移動平均フィルタの出力の規則及び許容値を定めることであろう。
【０１２９】
パケット長
次に、パケット長について、パケット長は、最悪のケースの露出時間のもと、最悪のケースのデータパターンであっても復元可能であるよう選択されることが好ましい。
【０１３０】
図１１に例が示されている。全てが１である９ビットのＴＭ符号化パケットに対応する送信波形３６について考察する（fsymbol=1kHz）。この波形がTexp = 1/125 [s]を有するカメラによって検出された場合、ビデオフレームのシーケンスを適切に処理することにより、カメラの出力において一次元の受信波形３８が得られる。送信信号が歪められたものである受信信号は、ＴｅｘｐのＦＩＲフィルタアクション（Ｔｅｘｐ秒の移動平均）に対応する矩形関数によって送信信号の畳み込みを行うことにより、カメラによって生成されるように見える。
【０１３１】
Ｔｅｘｐの移動平均フィルタリングは、パケットのＴＭ符号間の符号間干渉（ＩＳＩ）をもたらす。送信信号に対する受信信号の振幅低下に留意されたい。また、パケットの後半では、受信信号の振幅はゼロに下がることに留意されたい。最後に、Ｔｅｘｐによる因果性ＦＩＲ型フィルタリングのため、受信信号はＴｅｘｐ＝８ｍｓだけ送信信号を越えて伸びることに留意されたい。受信機における信号処理のタスクは、受信信号から送信信号を復元することである。
【０１３２】
図１２は、同じ状況を周波数領域で示す。曲線４０は、全て１からなる単一の９ビットＴＭ符号化パケットのスペクトル表現の絶対値を表す（フーリエ変換）。曲線４２は、「Ｔｅｘｐ移動平均フィルタ」の伝達関数の絶対値を表す。周波数領域における受信信号は、両スペクトル表現のドット積である。ＩＳＩフィルタのゼロは、受信信号にとって特に有害である。これらの周波数（及びゼロの付近の周波数）の信号は、実質的に送信信号から除外されるからである。
【０１３３】
送信信号を受信信号から復元することを望む場合、Ｔｅｘｐの全ての合理的な選択肢に対して、ＩＳＩフィルタによる送信信号のフィルタリング後に少なくとも十分な信号ネルギーが残ることが要求される。このためには、送信信号のスペクトル表現が多数の周波数にわたって十分に「拡散」していることが必要である（パケットのビット内容の全ての可能な選択肢に対して）。パケット長が９ビット程度の場合、これが満たされるようである。
【０１３４】
一方、（全て１からなる）パケットを９ビットより長くした場合（例えば、１７ビット）、このような長いパケットのスペクトル表現は依然として５００Ｈｚ付近に集中するが、スペクトル幅は元のパケットの約１／２になる。この場合、ＩＳＩフィルタによって破壊される信号エネルギーが大き過ぎる。
【０１３５】
発明者は、fsymbol=1kHzのＴＭ変調を使用して、例えば９〜１２ビットのパケット長に関して、パケット間休止期間（ＩＰＩＰ）が少なくともＴｅｘｐであることを条件に、全てのＴｅｘｐ≦（１／３０）ｓに対して、送信信号を十分正確に復元できることを発見した。ＩＰＩＰ＝（１／３０）ｓの場合、固定の送信信号フォーマットが全てのＴｅｘｐ≦（１／３０）ｓに対して機能する。これは、ユニバーサル信号フォーマットを提供するために使用され得る。
【０１３６】
パケット長が１２〜１７ビット長の場合、「Ｔｅｘｐ移動平均フィルタ」によって復元不能に破壊され得る劣悪なスペクトル表現を有する少数の「有害な」ビットパターンによって、アイパターンの最小アイ高さが決定される。これらの有害なビットパターンが少数のみの場合、いわゆる「guided scrambling」によってそれらの発生を防ぐことができる。しかし、有用なguided scramblingを適用するには、１６程度の異なるスクランブリングパターンが要求される。スクランブリングパターンのインデックスも各パケット内に符号化されなければならないため、有用なビット数はやはりパケットあたり８又は９に減少される。したがって、非常に短い繰り返しメッセージには、スクランブリングされていない短いパケットが最も有用であると考えられ得る。より長いメッセージには、guided scramblingが非常に有用であり得る。
【０１３７】
複数のパケットから構築されるメッセージ
光源からカメラ受信機に有用な量の情報を送信するために、それぞれが独自のビット内容を有するｐ個のパケットの連結からなるメッセージが構築される。各パケットの間には、異なるパケット間のＩＳＩクロストークを防止するために、少なくともパケット間休止期間（ＩＰＩＰ）が存在する。メッセージの末尾には、余分にメッセージ間休止期間（ＩＭＩＰ）が存在する。ｐ個のパケットからなるメッセージが周期的に繰り返される。
【０１３８】
好適な実施形態では、ｐ＝３であり、よって、実質的にメッセージ毎に３バイト（２４ビット）の情報が送信される。
【０１３９】
パケット間休止期間
パケット間休止期間（ＩＰＩＰ）の目的は、カメラの露出時間（Ｔｅｘｐ）によって引き起こされる単一のパケットへのＩＳＩを制限することである。好適な実施形態では、ＩＰＩＰの持続時間は、最大予測露出時間Ｔｅｘｐ＿ｍａｘと等しい。これはTexp ≦ IPIP = Texp_maxである全てのＴｅｘｐに関してメッセージの復元を可能にするので、ユニバーサルＩＰＩＰフォーマットを提供し得る。
【０１４０】
また、発明者は、Texp > IPIPの場合、ＴＭシンボルレートが注意深く選択されれば、メッセージが復元可能であることを発見した。注意深く選択されるＴＭシンボルレートは、カメラによって使用される実際のＴｅｘｐに依存する。実際の符号化光送信を確実に受信し得るには、送信光源及びカメラ受信機が、ＴＭシンボルレート、メッセージあたりのパケット数、ＩＰＩＰ、及び／又はＩＭＩＰ等の送信パラメータの選択に関して合意しなければならない。よって、このような場合に強化シグナリング速度を使用するフォーマットは、「交渉信号フォーマット」に属する。これらのパラメータの選択は、例えばＴｅｘｐ、フレームレート、ラインレート、光源のフットプリント等、利用可能なカメラ設定に依存する。
【０１４１】
本明細書に記載される実施形態は、各パケットの後にＩＰＩＰが続き、最後のＩＰＩＰの後に余分なＩＭＩＰが付されることに関して説明されているが、代替的な説明又は実装では、ＩＰＩＰは同じメッセージの隣接するパケット間にのみ含まれ、最後のメッセージの終了後の全休止期間がＩＭＩＰであってもよい。
【０１４２】
メッセージ間休止期間
メッセージ間休止期間（ＩＭＩＰ）は、メッセージの最後のパケットの後に続く最後のＩＰＩＰの後に付される休止期間である。ＩＭＩＰはＴＭ符号を単位とし得る。
【０１４３】
ＩＭＩＰは次の２つの目的を果たす。
（i）所与のフレームレートに対して、合計メッセージ持続時間が良好な「ローリング特性」を満たすこと、すなわち、連続フレームのフットプリントが可能な限り速く完全なメッセージを明らかにすることを確保すること、及び／又は
（ii）ＩＭＩＰの第２の目的は、メッセージの周期的な繰り返し内のパケット及び休止期間のパターンに非対称性を与えることである。この特性は、受信機の周期的同期において利用され得る。
【０１４４】
フォーマットの同期要素
同期のために、信号フォーマットの２つの要素が重要な働きをする。
（i）各９ビットパケットの最初のビットの同期ビットとしての使用。好適な実施形態では、メッセージの最初のパケットの最初のビットは１であり、全ての残りのパケットの最初のビットは０である。
（ii）メッセージ間休止期間（ＩＭＩＰ）の使用。メッセージの最後のパケット後の合計休止時間は他のパケット間の休止時間より長いため、非ゼロＩＭＩＰの存在は、繰り返しメッセージ内の規則的な時間的パケット構造を破壊する。
【０１４５】
好適な実施形態では、ＩＭＩＰは少なくとも４つの符号の持続時間を有する。
【０１４６】
パラメータの例
上記の全ての考察に基づき、いくつかのパラメータの選択例を記す。
−  fsymbol≧1kHz（ちらつき及びストロボ）、
−  想定されるパケット持続時間：
−  fsymbol〜1kHz の場合、約52ms(≧49ms)、
−  fsymbol〜2kHz の場合、約26ms(≧24.5ms)、
−  fsymbol〜4kHzの場合、約13ms(≧12.25ms)、
−  メッセージ持続時間Ｔｍはパケット持続時間の整数倍、及び／又は
−  興味深いメッセージ持続時間：約26、52、104ms。
例えば、
−  露出時間は（１／３０）ｓ以下、シンボルレートは１ｋＨｚ、パケットはパケット間休止期間を含め５２ｍｓ；
−  露出時間は（１／６０）ｓ以下、シンボルレートは２ｋＨｚ、パケットはパケット間休止期間を含め２６ｍｓ；
−  露出時間は（１／１２０）ｓ以下、シンボルレートは４ｋＨｚ、パケットはパケット間休止期間を含め１３ｍｓ。
【０１４７】
他のパラメータ選択例
−  １５８ｍｓの持続時間を有する３パケットフォーマット（ＣＲＣ有り）＠１ｋＨｚシンボルレート；１５８ｍｓは、３３符号のＩＰＩＰ及び２符号のＩＭＩＰを有する３バイトメッセージに対応する、又は
−  ７０符号〜３５ｍｓのパケット長＠２ｋＨｚ；３５ｍｓは、３符号のＩＰＩＰ及び４符号のＩＭＩＰを有する３バイトメッセージに対応する（例えば、このフォーマットは、Ｔ＿ｅｘｐが（１／５００）ｓ未満になるよう制御される場合に使用され得る）。
【０１４８】
交渉フォーマットの場合、コントローラは、１つ又は複数の上記組み合わせ及び／又は他の組み合わせを含む、パラメータの複数の組み合わせのリストから選択をするよう構成され得る。ユニバーサルフォーマットでは、可能な限り多くのカメラ（又は、むしろ露出時間）を満たす１つの特定の組み合わせが事前に選択される。
【０１４９】
巡回冗長検査（ＣＲＣ）
好適な実施形態では、メッセージはいくつかのパケットから構成され、各バケットが１バイトの情報を含む。ＣＲＣが使用される場合、各メッセージの最後のバイトが８ビットＣＲＣであることが提案される。周期的に繰り返される信号フォーマットを復号する受信機によって繰り返し復号の結果が送られるため、送信メッセージの多数の具現化が取得され得る。これは、連続して復号された同じメッセージのバリエーションの復号結果を比較することにより、受信メッセージの信頼性を高めることを可能にする。
【０１５０】
好適な実施形態では、ＣＲＣは、プリロード及びパリティ反転によって特徴付けられる。プリロードはアプリケーション特有であり、よって、同じ環境内で使用されている異なるアプリケーションからのメッセージを受信機が区別することを可能にし得る。使用される異なるプリロードの数と、ＣＲＣの有効誤り検出能力との間にはトレードオフの関係があることに留意されたい。
【０１５１】
複数のメッセージ
発明者は、異なるメッセージｍｉの連結が送信され得ることを発見した。ここで、各メッセージｍｉはＮ回繰り返され、Ｎは、カメラ受信機が送信光源のフットプリントに基づき完全なメッセージｍｉを確実に復元し得るのに十分な数である。同じメッセージｍｉがＮ回繰り返された後、光源は、単に、例えばｍｉの直後にメッセージｍｉ＋１のＮ回の繰り返しを連結することにより、同じ信号パラメータを有する全く異なるメッセージｍｉ＋１を送信することができる。受信機は、ＣＲＣを確認することにより、密着して復元されたメッセージを認識することができる。
【０１５２】
メッセージ再組立て
次に、カメラが符号化光メッセージを復元するためのビデオフレームの再組立て又は「縫合」プロセスについて説明する。受信機は、上記のようにフォーマット化された信号を受信し、メッセージの部分を完全なメッセージに再組立てし、その後それをさらなる処理に供する。
【０１５３】
一部の実施形態では、再組立てプロセスは以下を含む。
（i）上記のように、フレーム毎に画像ライン毎のサンプルを確立する（図２のライン１８から取得されたサンプル１９を再度参照されたい）。
（ii）所与のフレームの全ての（有効な）サンプルを時系列にまとめる（それぞれが、当該ラインからのサンプルがフレーム内に配置された時間に配置される）。このシーケンスは、フレーム毎の「マージナル信号」又は「フレーム信号」を形成する。
（iii）次に、この信号をゼロで拡張し、「拡張マージナル信号」又は「拡張フレーム信号」とする。各拡張信号の持続時間はメッセージ持続時間のｎ倍（ｎは整数）であり、また、フレーム持続時間より長い。
（iv）次に、有効サンプルがタイムアライメントされ、すなわち、拡張信号によって定められる時間フレーム又はスケール内で、サンプルがライン毎にＴｆｒａｍｅだけ右側にシフトされる。これは循環的に、すなわちラップアラウンド方式で行われ、拡張フレーム信号の長さの末尾を越えるとラップアラウンドされる。このようにすることで、拡張フレームワーク内のサンプルのシフトされた位置は、再組立てを援助するものになる。
（v）次に、サンプルが折り畳まれる（すなわち、再組立てされる）。一部の実施形態では、１つの単位さらにシフトさせることにより、異なる復元結果が見つけられ得る。
【０１５４】
復元後、符号間干渉（ＩＳＩ）を除去するために、信号は例えばウィーナーフィルタを使用してフィルタリングされ得る。
【０１５５】
一部の実施形態では、ＩＳＩフィルタは、再組立てされたデータ内のギャップに対処するのに十分な程ロバストである（このロバストネスは少なくとも部分的に変調符号、メッセージフォーマット、及びウィーナーフィルタによってもたらされる）。また、プロセスは、スキップされたフレームに対して洗練された方法で対処することを可能にし得る。
【０１５６】
他の実施形態では、プロセスは追加機能として、復元された信号の相関性に基づき、受信機がＴｍ又はＴｆｒａｍｅのタイミングに関するクロックのずれを修正することを可能にし得る。
【０１５７】
後にメッセージ再組立てプロセスの例についてより詳細に論じるが、その前に、受信機のフロントエンドのいくつかの細部の例について、図１〜図４を参照しながら詳述する。
【０１５８】
一部の実施形態では、本明細書に開示されるカメラベースのデジタル符号化光受信機は、無線又はＩＲ通信を使用するデジタル信号の受信機の良く知られた種類のものとは大きく異なる。符号化光受信機の一般構造、及び符号化光受信機におけるサブタスクを実行するための詳細なアルゴリズムの両方が顕著に異なる。
【０１５９】
カメラベース符号化光受信機の入力は、既知のフォーマットで取得された動画を含む。例えば、良く知られたビデオフォーマットは４８０ｐである。これは、２９．９７ｆｐｓでフレームが取得され、各フレームが４８０ラインからなり、各ラインが６４０画素を含むプログレッシブ・スキャン・フォーマットである。符号化光受信機は、変調光源のデジタルコンテンツを取得するためにこの動画に適用されるデジタル信号処理を含む。
【０１６０】
受信機によって実行される信号処理は、２Ｄ信号処理及び１Ｄ信号処理を含み得る。２Ｄ信号処理は、以下を含み得る。
（i）符号化光信号を抽出するための適切な色（Ｒ、Ｇ、又はＢ）又は色の線形結合の選択；
（ii）ブロブアプローチを用いて画像をセグメント化し、符号化光源を含む画像内の領域を効率的に特定する；
（iii）各ブロブ内の空間フィルタ「有効画素」を特定；
（iv）マージナルを用いた効率的な動き補正（光源毎に独立に）；及び／又は
（v）ライン毎に有効画素を結合することによる信号「マージナル」の計算（図２の各ライン１８に由来するサンプル１９の計算）。
【０１６１】
１Ｄ信号処理は、以下を含み得る。
（i）送信クロックを推定するためにフレーム内の相関性を利用（最もうまくいくのはフットプリント＞＞メッセージ持続時間）；
（ii）送信機によってメッセージが周期的に繰り返される上記信号フォーマットの使用を仮定し、各フレームで取得された部分的スナップショットから完全なメッセージを復元するために、メッセージの繰り返し時間（Ｔｍ）の知識及びｆｐｓ（Ｔｆｒａｍｅ）の知識を利用する（後により詳細に説明される再組立てプロセス）；
（iii）送信クロックを推定するために連続する復元された信号間の相関性を利用；
（iv）Ｔｅｘｐに起因するＩＳＩを軽減するために、メッセージの単一の周期にロバストウィーナーフィルタリングを適用；
（v）再組立てプロセスの結果、復元に穴が残っている場合、ロバストウィーナー補間を適用；
（vi）同期テンプレートを用いた処理によるグローバル循環同期の発見；
（vii）グローバル循環同期によって与えられる最適サンプリングポイントを決定することによってビットを復号する；及び／又は
（viii）連続する復元メッセージ上のＣＲＣをチェックする。ｎの連続復元メッセージ中、ｍがＣＲＣ＝ＯＫの場合、メッセージ受信。
【０１６２】
特定のメッセージフォーマット及び所与のフットプリントに関して、例えば、完全なメッセージを再組立てするために３０枚の連続フレームが必要とされ得る。２秒の録画を有する場合（例えば、６０フレーム）、受信機は同じメッセージの３１個の異なる具現化を生成することができる。一部の実施形態では、これらの異なる復号結果を比較することにより、受信機クロックの受信信号との同期を助けることができる。
【０１６３】
適切な色の選択に関して、適切な色のセクションは、符号化光信号の復元にとって重要であり得る。例えば、緑色（Ｇ）はカメラにおける最も高い画素密度によって特徴付けられ、よって、符号化光信号の最も高い空間（よって時間）分解能を与える。これは、符号化光が高い符号周波数（広い帯域幅）を使用している場合に重要であり得る。一方、光源が高い強度を有する場合、及びＴｅｘｐが比較的長い場合は、青色（Ｂ）が好ましい。青色は画素のクリッピングを減少させる傾向があるからである。
【０１６４】
図２〜図４を参照して、画像セグメント化のため、本開示の実施形態は「ブロブ」アプローチを使用して、符号化光情報を送信し得るランプに関連付けられ得る画像内の領域を認識する。典型的には、ブロブは、画像内の強度が高い領域である（例えば、図３を参照されたい）。アルゴリズムは、画像内の異なるブロブを認識及び区別することができる。例えば、ブロブのエッジを使用することにより、効率的にブロブをトラッキングし、ビデオシーケンスの異なるフレーム内の各ブロブに関連付けられた２Ｄ信号処理を制限することができる。
【０１６５】
ブロブ内の寄与画素を見つけるにあたり、変調された画素、すなわち、変調された光源に起因する十分な強度変化を有する画素だけが、信号に効果的に寄与する。他の光源画素は、実効的に、「ノイズ」又は他の望ましくない副作用をもたらすだけである。通常、クリッピングされた画素も、さらなる考察から外される（例えば、図４を参照されたい）。また、強度が不十分な画素も除外される。光源に帰属する「寄与画素」の最終的なセットは、バイナリ２Ｄ空間フィルタとして表され得る。
【０１６６】
次に、各フレームで「マージナル」として取得されたサンプルに作用するアルゴリズムについて説明する（図２のサンプル１９、すなわち「線形結合された」サンプル）。
【０１６７】
図３は、受信機によって生成された、対象光源を表すバイナリ画像を示す。図４は、各フレーム内の選択された光源の寄与画素をバイナリ形式で示す。光源の中央部の画素は露出過度であり、すなわちクリッピングされるため、これらの画素は寄与しないことに留意されたい。
【０１６８】
図１３は、動画内の１００枚の連続フレームショットのそれぞれの「マージナル信号」（図２のサンプル１９から構成される）を示し、各サンプルは、対応するラインの有効画素の適切な動作によって取得される。すなわち、各「マージナル信号」は、一枚の所与のフレーム１６から取得される信号であり、そのフレームの各有効ライン１８から取得されたサンプル１９は、フレーム持続時間内の、それらがサンプリングされた対応する時間に配置される。図２では、単一のフレームの連続サンプルに対応する時間軸は上から下に進む一方、図１３では、単一のフレーム内の連続サンプルの時間軸は左から右に進むことに留意されたい（ページを横向きとして）。図１３では、１００枚の連続ビデオフレーム（各フレームが単一の１Ｄ信号を生成する）が互いに重ねられており、上から下に順に並べられている。
【０１６９】
Ｔｆｒａｍｅは約１／３０〜３３ｍｓであるが、隠れたライン２６のため、１枚のフレームのマージナル信号は約２６．５ｍｓの持続時間しか有さない。図１３の最下部には、各フレーム内の光源を含むラインに由来するサンプルを示すバー４６が示されており、すなわち、各列のこの部分だけが、光源に由来するサンプルを含む。この例の場合、フレームに対する光源のフットプリントを表すＦＳＦ（the footprint of the source with respect to a frame）は〜０．１４であり、すなわち、実際には各フレームのラインの約１４％しか光源の画素を有さない。
【０１７０】
図１４は、既知の持続時間Ｔｍ及びＴｆｒａｍｅをどのように使用して、「拡張マージナル信号」又は「拡張フレーム信号」を生成するかを示す。これらの信号はそれぞれ、各フレームからサンプリングされた信号の拡張バージョンである。これは以下のようにして行われる。
（i）ｍ×Ｔｍのストレッチ持続時間が得られるよう（ｍは適宜選択された整数）、各フレームのストレッチ、すなわち図１３の有効サンプル周辺の（例えば、その後に伸びる）時間領域を定める。有効サンプルの外部では、常にゼロを加え又は除去できることに留意されたい。
（ii）num_periods = ceiling( Tframe /(m*Tm) )を計算する。「ceiling」は最も近い整数への切り上げを意味する。
（iii）フレーム毎に、合計持続時間が少なくともＴｆｒａｍｅである「拡張マージナル信号」が得られるよう、各ストレッチをnum_periods回、周期的に繰り返す。拡張マージナル信号は、常にＴｆｒａｍｅより長い持続時間を有し、また、Ｔｍの整数倍であることに留意されたい。
【０１７１】
この例では、Tm = 158 ms、Tframe = 33.36、よってm=1かつnum_periods=1であり、各フレームをゼロで拡張することによって１５８ｍｓ（メッセージの１周期）のストレッチが得られる。各フレーム（ストレッチ）における実際に有用な観測結果は、図１４のバー４８によって示されるように、完全なメッセージの０．０３程度の割合のみである。メッセージに対する光源のフットプリントＦＳＭ（the footprint of the source with respect to a message）が〜０．０３であると言い換えることもできる。
【０１７２】
一部の実施形態では、２つの別々の整数ｍ及びnum_periodsを使用しなくてもよいことに留意されたい。要点は、メッセージ長（持続時間）Ｔｍの整数倍であって、かつ、フレーム長（持続時間）Ｔｆｒａｍｅよりも長い期間を定めることである。この期間は、後述されるように、異なるフレームから取得された信号が整列され得る基準時間スケール又は基準フレームを定める。
【０１７３】
異なるフレームに由来する観測結果のタイムアライメントはＴｆｒａｍｅ、及び上記のように定められた基準フレームワーク又はスケールを使用して実行される。各ラインの「拡張マージナル信号」は、前のフレームの拡張マージナル信号に対してＴｆｒａｍｅだけ右側に（正の時間方向に）シフトされる。しかし、拡張マージナル信号はメッセージ持続時間Ｔｍの倍数にされており、送信メッセージは周期的に繰り返されるため、各拡張マージナル信号のシフトを循環（ラップアラウンド）シフトによって置き換えることができ、これにより、図１５に示される結果が得られる。
【０１７４】
すなわち、上記したように、上記「拡張」は、各フレームから取得された信号が配置されるスケール又はフレームワークを定めるタイミング基準期間を与える。この基準期間は、メッセージ持続時間Ｔｍの整数倍である。さらに、これによって定められるスケール又はフレームワークはラップアラウンドする。すなわち、タイミング基準期間の末尾を越えると、スケール又はフレームワークは基準期間の先頭に戻る。したがって、所与のフレームからの信号を、前のフレームに対してＴｆｒａｍｅだけ右側にシフトさせると、当該フレームの信号の一部が基準スケール又はフレームの「末尾を越えて」又は「右側を越えて」シフトすることになる場合（タイミング基準期間を越える、すなわち、この目的のために定められたＴｍの整数倍を越える）、信号のその部分は、基準スケール又はフレームの先頭に続き、再び現れる（タイミング基準期間に関して、時間ゼロから開始する）。
【０１７５】
一部の実施形態では、ゼロを加えることによって各フレームからの信号（「マージナル信号」）を「拡張」する必要がないことに留意されたい。これは、メッセージ持続時間Ｔｍの整数倍であるラップアラウンド基準フレームを作成するという概念を実現する１つの方法に過ぎない。これを実現又は考察する同等な方法として、このタイミング基準期間（Ｔｍの整数倍）は、その上に各フレームからの信号が配置され、ラップアラウンド方式でＴｆｒａｍｅの倍数分だけシフトされる「キャンバス」を定める。
【０１７６】
また、全ての循環的にシフトされた拡張マージナル信号において、受信機は、符号化光源に由来する有効サンプルの位置を記録していることに留意されたい。
【０１７７】
図１５に示されるような結果を得た後、受信機は、メッセージの時間サンプル毎に、縦方向に見てその位置における有効な寄与サンプルを有するフレームを見つけることができる。
【０１７８】
ＦＳＭが約０．０３であることから、完全なメッセージを復元するには少なくとも（０．０３）−１〜３３フレームを要することが予測され得る。通常、重複のため、一部の実施形態では、受信機は完全な復元のために約２倍のフレームを要し得る。
【０１７９】
図１６から、この例ではデコーダは、完全なメッセージの復元に７０枚の連続フレームを要することが分かる（〜２秒の動画）。７０枚の連続フレームにつき１つの復元結果が与えられるため、１００フレームのビデオは３１の異なる復元結果を与える（依存的であったとしても）。
【０１８０】
図１７は、第１の復元メッセージの復元結果４８（及びロバストウィーナー等化の出力５０）を示す。図の最上部の太線５２の長さは、この例において、単一のフレームから取得される完全なメッセージの割合（〜３％、〜５ｍｓ）を示す。
【０１８１】
他の実施形態では、上記プロセスは、いわゆる「スキップされたフレーム（skipped frames）」に対処することもできる。カメラが与えるフレーム記録時間を調べることにより、スキップされた可能性があるフレームが検出されると考えらえる。フレームがスキップされた場合、対応するマージナル信号は、図１６及び図１７において有効なサポートを得ない。したがって、再組立てアルゴリズムは自動的に対応するフレームを破棄する。
【０１８２】
他の実施形態では、異なる復元信号（図１７では、３１の異なる復元信号）間の相関性を観察することにより、送信機と受信機との間のクロックのずれを修正することができる。全てのクロックが完璧に同期している場合（Ｔｍ及びＴｆｒａｍｅを完全に知っていると仮定して）、これらの異なる復元信号は、縦方向に完璧に整列する（異なるノイズの影響を除き）。クロックの差は、最も良い相関のゼロではないシフトとして現れる。このようにして、受信機は、送信機のクロックに合わせることができる。この方法は、カメラの露出時間に起因するＩＳＩによって受信信号が重度に損なわれている場合であっても機能する。
【０１８３】
次に、完全な再組立てを実現するために必要な最小フレーム数について議論する。
【０１８４】
再び、以下の場合にフットプリントによるメッセージのカバレッジがどうなるかを考察する。
−  相対的フットプリントα＝Tfootprint／Tf＝0.4
−  0＜α≦1、（隠れたラインのため、実際には例えば0＜α≦0.88）
【０１８５】
ＴｍがＴｆｒａｍｅに近い場合、メッセージのアライメントは図１８のようになる。
【０１８６】
ＴｍがＴｆｒａｍｅの約１．５倍の場合、メッセージのアライメントは図１９のようになる。
【０１８７】
α＜１の場合、メッセージ持続時間Ｔｍがフレーム持続時間の倍数のとき、「ローリングしない」フットプリントが得られる。α＜０．５の場合、ＴｍがＴｆの半整数倍（０．５、１．５、２．５、．．．）のとき、「スイッチング」フットプリントが得られる。
【０１８８】
図８に関連して上記したように、一般的に、1／(n+1)＜α≦1／nの場合（ｎは整数）、次式が満たされるとき、ローリングしないメッセージ持続時間Ｔｍが得られる。
【数３】
2017512401.tif 000005
【０１８９】
ｍが小さい場合、大きいｍと比較して、特異点はより幅広いことに留意されたい。
【０１９０】
ローリングしないメッセージ持続時間Tm＝T0に対して、m0T0＝k0Tframeを満たす最小のｍであるｍ０を、ローリングしないＴ０の位数として定める。GCD(m0,k0)＝1
【０１９１】
ｍ０及びｋ０は、Ｔ０付近におけるフットプリント及びメッセージの繰り返しパターンを決定し、約ｋ０のローリングしないフットプリントがｍ０のメッセージに含まれる。
【０１９２】
ローリングしないメッセージ持続時間Ｔ０の付近における持続時間Ｔｍ〜Ｔ０のメッセージについて考察する。ｍ０のメッセージを一回りした後、メッセージを部分的にカバーする、ｋ０の分離した等距離フットプリントが存在する。
【０１９３】
カバーされていない部分T0−k0αTframeはｋ０個に等分され、それぞれがサイズＴｇを有する。
Tg＝(T0−k0Tframeα)／k0＝(T0−m0T0α)／k0＝T0(1−m0α)／k0
【０１９４】
図１８は、α＝0.4、m0付近＝１、k0＝1である連続フットプリントを有するメッセージの時間アライメントを示す。メッセージはあまりローリングせず、各フレームはメッセージのほぼ同じ部分を見る（非常に遅いローリング）。
【０１９５】
図１９は、α＝0.4、m0付近＝2、k0＝3の他の場合の連続フットプリントを有するメッセージの時間アライメントを示す。この場合、「スイッチング」が見られる。
【０１９６】
ｍ０のメッセージを一回りした後、後続ラウンドのフットプリントのインクリメンタルシフトによってカバーされなければならない、それぞれがＴｇの持続時間を有するｋ０のギャップが存在する。
【０１９７】
あるラウンドから次のラウンドへのフットプリントのシフトΔＴを考察すると、
−  ΔT＝m0|Tm−T0|  [ms]
−  完全なメッセージをカバーするには、〜1+Tg／ΔTラウンドが必要
−  1+Tg／ΔTラウンドは、Nf＝(1+Tg／ΔT)k0フレームに対応する
【数４】
2017512401.tif 000006
【０１９８】
Ｔ０付近のＴｍに関するＮｆの双曲線挙動に留意されたい。また、特異点の「幅」に対するｍ０及びＴ０の影響にも留意されたい。
【０１９９】
ロバストウィーナーフィルタリング
次に、一部の実施形態では、上記実装形態が著しく優れたパフォーマンスを有することを可能にし、また、デバイスがはるかに幅広いカメラに対応することを可能にする、デコーダの他の部分について説明する。
【０２００】
例えば、未知のパラメータを有するフィルタＨ（ｆ）及び付加ノイズによって損なわれた信号を等化するために使用され得るロバストウィーナーフィルタについて紹介する。当該ロバストウィーナーは、フィルタパラメータの確率分布が既知であると仮定して、ＭＳＥの観点から最適な結果を生じる一定なフィルタである。
【０２０１】
ウィーナーフィルタ理論自体は、デジタル信号処理の分野においてよく知られており、第二次世界大戦以降幅広く使用されてきた。ウィーナーフィルタは、例えば、ノイズの存在下で、（線形に）歪んだ信号を推定するために使用され得る。ウィーナーフィルタ（イコライザー）は最適な（平均二乗誤差（ＭＳＥ））結果を与える。
【０２０２】
典型的な（周波数領域）ウィーナーフィルタリング、例えば逆畳み込みでは、図２０に示されるように、２つの独立した定常ゼロ平均ランダム過程Ｘ及びＮ０を有する。
【０２０３】
典型的なアプリケーションでは、Ｘは、フィルタＨ（図２０では番号５４）に入力される入力信号を表し、Ｎ０は、フィルタＨの出力に加えられる付加ノイズを表す。ウィーナーフィルタＧ（番号５６）は、フィルタＨを等化するように、すなわち、ノイズＮの存在下で入力信号Ｘに対するフィルタＨの効果を（最適な近似まで）キャンセルするよう構成される。
【０２０４】
典型的なアプリケーションは、ローリングシャッターカメラによる符号化光の検出である。この場合、上記の等化デジタル信号処理問題は、矩形時間関数によってフィルタリングされたデジタル信号の回復に対応する。図２１を参照されたい。すなわち、入力信号Ｘは、ローリングシャッターカメラによって取り込まれた符号化光信号を表し、フィルタＨは、ローリングシャッター収集プロセスのフィルタリング効果を表す。このフィルタＨは、各ラインの露出によって生じる。これは、幅Ｔｅｘｐの時間領域における矩形関数を形成し、すなわち、ラインは時間Ｔｅｘｐだけ露出され、この時間中に信号が取り込まれ（時間領域におけるフィルタＨの伝達関数は一律に「オン」である）、その前後では信号は一切取り込まれない（時間領域におけるＨの伝達関数はゼロである）。時間領域における矩形関数は、周波数領域におけるsinc関数に対応する。このフィルタによって、符号間干渉が生じ得る。したがって、以下、Ｔｅｘｐによって作成されるフィルタは、その望ましくない影響に基づき「ＩＳＩフィルタ」と呼ばれ得る。
【０２０５】
（また、図２１及び図２２は、ノイズＮ０が如何にして（i）フィルタＨを通過させられるフィルタＨの入力におけるノイズ項ｎ１と、（ii）フィルタＨの出力におけるノイズ項ｎ２との和であると考えられるかを示す。）
【０２０６】
タスクは、Ｙのみを使用して、Ｘの最小平均二乗誤差推定を与える線形フィルタＧを見つけることである。このために、ウィーナーフィルタＧは、等化されるべき（すなわち、キャンセルされるべき）フィルタＨ及びＮ０の仮定される知識に基づき事前に構成される。ウィーナーフィルタＧは、ウィーナーフィルタＧをＹ（Ｙ＝入力信号Ｘ＋ノイズＮ）に適用した結果、オリジナルの入力信号Ｘに対する平均二乗誤差（ＭＳＥ）を最小化する出力信号Ｘ＾が得られるよう、解析的に構成される（理論的には、Ｈの知識、並びにＸ及びＮのスペクトラムに基づき）。
【０２０７】
典型的な（周波数領域における）ウィーナーフィルタの式は、
【数５】
2017512401.tif 000007
と表され、ここで、Ｓ（ｆ）は入力信号Ｘのスペクトル密度であり、Ｎ（ｆ）はノイズ項Ｎ０のスペクトル密度である。
【０２０８】
上式から分かるように、ウィーナーフィルタの式は、等化されるべきフィルタの表現、この場合はＨ＊及び｜Ｈ｜２（＝ＨＨ＊）を含む。慣用的には、典型的ウィーナーフィルタでは、等化されるべきフィルタＨ（ｆ）及びノイズスペクトル密度Ｎ（ｆ）は正確に知られているものと仮定される。ローリングシャッター収集プロセスによって作成されたＩＳＩフィルタのための等化の場合、これは、Ｔｅｘｐの正確な知得を示唆する。また、プロセスＸ及びＮのそれぞれのスペクトル密度Ｓ（ｆ）及びＮ０（ｆ）も既知であると仮定される。
【０２０９】
しかし、ウィーナーフィルタは、実際にはＨ（ｆ）の推定における誤差に対して非常に敏感である。未知の歪みに対処するためのいくつかの技術がこれまでに開発されている。
−  最良の結果が得られるまでターゲット応答を変化させることを試みる反復法（時間がかかる方法）、又は
−  最悪のケースのＨ（ｆ）の特定を試み、これに対してウィーナーフィルタを最適化するミニマックス法。
【０２１０】
したがって、等化のために典型的ウィーナーフィルタリングを使用することの問題は、フィルタのゲインが大きくなければならず、等化されるべきフィルタがあまり正確に知られていない場合にこの理論を適用する点にある。
【０２１１】
例えば、信号の帯域幅が１ｋＨｚ程度であり、Ｔｅｘｐが１／３０秒程度の場合、ＩＳＩフィルタは、図１１及び図１２に示されるように深刻な符号間干渉（ＩＳＩ）を導入し得る。
【０２１２】
受信機側でこのＩＳＩをキャンセルするには、Ｈ（ｆ）の定義における不正確さの影響を受けづらい「強力な」イコライザーフィルタを提供することが望ましい。
【０２１３】
本開示によれば、これは、固定「平均ウィーナーフィルタ」、すなわち、ＩＳＩフィルタＨ（ｆ）の未知の多様性に対してロバストなウィーナーと類似するフィルタを計算することによって達成することができる。この「ロバストウィーナーフィルタ」は、Ｈ（ｆ）の関連パラメータの統計的分布をもとに、ＭＳＥに関してより最適な出力を供給することができる。
【０２１４】
符号化光への適用においては、この理論は、多くの場合でそうであり得るように、カメラのＴｅｘｐが大まかにしか知られていない場合に符号化光信号を復元することを可能にする。
【０２１５】
発明者は、最適なロバストウィーナーフィルタの特に効率的な導出法を発見した。以下、周波数領域において問題を議論する（よって、上述したように、Ｈ（ｆ）に関して）。符号化光に適用する場合、ロバストウィーナーフィルタは、ランプの実際の読み取り中にＴｅｘｐ、よってＨ（ｆ）が定められ又は変更されるに伴い、カメラベース（スマートフォン）復号アルゴリズムにおいてリアルタイムで構築され得ることに留意されたい。
【０２１６】
ロバストウィーナーフィルタリングは、Ｈ（ｆ）が正確に知られていないという注記に基づくが、実際には、少なくとも１つの未知数θ、すなわち、その値が知られておらず、実際にはある変域内、例えば下限値−Δ及び上限値＋Δ（より一般的には、Δ１及びΔ２）の間の値であり得るＨのパラメータに依存し得る。すなわち、フィルタＨ（ｆ；θ）は、Ｘ及びＮに依存しないランダムなパラメータθに依存すると仮定される。
【０２１７】
幅θの矩形関数、すなわち周波数領域ではsinc関数の場合、以下のように表現され得る。
【数６】
2017512401.tif 000008
【０２１８】
この矩形によって作成されたＩＳＩフィルタの場合、θ＝Ｔｅｘｐである。
【０２１９】
ロバストウィーナーフィルタ５６’は、上記の典型的ウィーナーフィルタ表現を取り、等化されるべきフィルタの表現が現れるとき、未知のパラメータθの潜在的値に関して平均化された対応する平均化表現（例えば−Δと＋Δの間の平均、又はより一般的にはΔ１とΔ２の間の平均）で置き換えることによって作成される。すなわち、Ｈ（ｆ）に基づく項が現れると、θに関して平均化された等化な平均化項によって置き換えられる。
【０２２０】
上記の典型式から開始して、これは下式を与える。
【数７】
2017512401.tif 000009
ここで、Ｅはθに関する平均である。図２３も参照されたい。
【０２２１】
この導出についてより詳細に説明する。
【数８】
2017512401.tif 000010
が最小であるような、線形最小二乗平均誤差推定を与える固定線形フィルタＧを見つけることが望まれる。
【数９】
2017512401.tif 000011
【０２２２】
θに関する集合平均も取得することによって典型的導出を拡張すると、下式が得られる。
【数１０】
2017512401.tif 000012
【０２２３】
ｅをＧで微分し、結果を０に設定することで、最適なＧ（ｆ）が見つけられる
【数１１】
2017512401.tif 000013
【数１２】
2017512401.tif 000014
【０２２４】
同様に、整合フィルタ（ＭＦ）のターゲット応答を組み込むことができる。
【数１３】
2017512401.tif 000015
【０２２５】
これを適用するには、
【数１４】
2017512401.tif 000016
及び
【数１５】
2017512401.tif 000017
の計算が残っている。以下にいくつかの例を与える。
【０２２６】
第１のアプローチは、Ｈのテイラー展開及びθのモーメントを使用することである。符号化光ローリングシャッターアプリケーションでは、θ＝Ｔｅｘｐである。
【数１６】
2017512401.tif 000018
【数１７】
2017512401.tif 000019
【数１８】
2017512401.tif 000020
テイラー展開により、次式が与えられる。
【数１９】
2017512401.tif 000021
【数２０】
2017512401.tif 000022
【数２１】
2017512401.tif 000023
ローリングシャッターアプリケーションでは、
【数２２】
2017512401.tif 000024
であり、さらに、次式が得られる。
【数２３】
2017512401.tif 000025
【数２４】
2017512401.tif 000026
【０２２７】
H’’(f,θ)は周波数の増加と共にブローアップするため、このアプローチは低周波数により適する。
【０２２８】
第２のアプローチは、既知のθの分布を仮定するより正確な計算を使用することである。例えば、θはθ＾−Δとθ＾＋Δとの間で一様分布であり、
【数２５】
2017512401.tif 000027
である。この場合、
【数２６】
2017512401.tif 000028
【数２７】
2017512401.tif 000029
となる。
【０２２９】
一部の実施形態において、上記は、典型的ウィーナー周波数領域式への変更に関して説明されているが、他のウィーナーフィルタ式が存在してもよく（例えば、ウィーナーフィルタの時間領域若しくは近似、又は特定のＨについて解かれた式）、また、かかる式においても、既知と仮定されたＨ又はＨの関数を平均Ｈ又はＨの関数によって置換する原理は適用可能であり得る。
【０２３０】
また、本明細書に開示されるロバストウィーナーフィルタは、矩形フィルタ以外のフィルタを等化するために使用されてもよく、かつ／又は、符号化光の受け取り以外のアプリケーションに使用されてもよいことに留意されたい。他の例は、正確に知られていない可能性がある中心周波数ｆ０を有するバンドパスフィルタである。この場合、等化されるフィルタは、周波数ｆ及び中心周波数ｆ０の関数H(f; f0)であり、ｆ０に関して平均化されたH(f; f0)の平均表現からロバストウィーナーフィルタが求められ、例えば、
【数２８】
2017512401.tif 000030
である。
【０２３１】
さらに、ロバストウィーナーフィルタの概念はより高次なθに拡張され、すなわち、２つ以上のパラメータが未知であってもよい。この場合、等化されるフィルタＨの表現（例えば、H*及びHH*）は、未知数のそれぞれについて平均化される。例えば、パラメータは、バンドパスフィルタの中心周波数及び／又はバンド幅であり得る。
【０２３２】
また、ノイズ項Ｎ０は、代替的に又は追加で、干渉信号のスペクトル密度を表現し得る。ノイズ及び／又は干渉の総称は「妨害（disturbance）」である。
【０２３３】
上記実施形態は、例として説明されたに過ぎないことを理解されたい。当業者は、図面、開示、及び添付の特許請求の範囲を分析することにより、開示の実施形態の他の変形例を理解及び実施し得る。特許請求の範囲において、「備える（又は含む若しくは有する等）」の用語は、他の要素又はステップを除外せず、要素は複数を除外しない。単一のプロセッサ又は他のユニットが、請求項内に記載される複数のアイテムの機能を果たし得る。単に特定の手段が互いに異なる従属請求項に記載されているからといって、これらの手段の組み合わせを好適に使用できないとは限らない。コンピュータプログラムは、他のハードウェアと共に又はその一部として供給される光学記憶媒体又はソリッドステート媒体等の適切な媒体上で記憶及び／又は供給され得るが、インターネット又は他の有線若しくは無線通信システムを介して等、他の形態でも供給され得る。請求項内の如何なる参照符号も、その範囲を限定するものと解されるべきではない。
【図１】
2017512401.tif 000031
【図２】
2017512401.tif 000032
【図３】
2017512401.tif 000033
【図４】
2017512401.tif 000034
【図５】
2017512401.tif 000035
【図６】
2017512401.tif 000036
【図７】
2017512401.tif 000037
【図８】
2017512401.tif 000038
【図９】
2017512401.tif 000039
【図１０】
2017512401.tif 000040
【図１１】
2017512401.tif 000041
【図１２】
2017512401.tif 000042
【図１３】
2017512401.tif 000043
【図１４】
2017512401.tif 000044
【図１５】
2017512401.tif 000045
【図１６】
2017512401.tif 000046
【図１７】
2017512401.tif 000047
【図１８】
2017512401.tif 000048
【図１９】
2017512401.tif 000049
【図２０】
2017512401.tif 000050
【図２１】
2017512401.tif 000051
【図２２】
2017512401.tif 000052
【図２３】
2017512401.tif 000053
【国際調査報告】
2017512401.tif 000054
2017512401.tif 000055