(57)【特許請求の範囲】
【請求項１】
可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスを使用する方法であって、
ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計すること、前記ピクセル値合計のうちの少なくともいくつかは、前記ＶＬＣ信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の前記第１のアレイに対して第１の復調動作を実行することと
を備え、前記画像センサーは、有効化されると自動露光を無効化する自動露光ロックをサポートするカメラの一部であり、前記方法は、
前記自動露光ロックをアクティブ化することと、
固定露光時間設定を使用して前記ピクセル値をキャプチャすることと
をさらに備える、方法。
【請求項２】
可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスを使用する方法であって、
ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計すること、前記ピクセル値合計のうちの少なくともいくつかは、前記ＶＬＣ信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の前記第１のアレイに対して第１の復調動作を実行することと、
所定の数のシンボルを含むコードワードの開始を検出することと
を備え、前記検出することは、
フレームの持続時間以下の持続時間を有する所定のＶＬＣ同期信号を検出することと、
前記ＶＬＣ同期信号を前記コードワードの前記開始の識別子として解釈することと
を含む、方法。
【請求項３】
前記復元された情報は、第１のシンボル値を含み、様々な情報は、時間期間にわたって前記ＶＬＣ信号から復元される、
請求項１または２に記載の方法。
【請求項４】
前記ピクセル値合計のアレイは、時間期間にわたって測定された時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す、
請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記第１のシンボル値が生成された第１のシンボルに対応する前記ＶＬＣ信号の一部分は、前記画像センサーによってキャプチャされたフレームの持続時間以下の持続時間を有する、
請求項３に記載の方法。
【請求項６】
前記ＶＬＣ信号は、１５０Ｈｚ以上のトーン周波数に対応するピュアトーンまたは方形波を含み、前記ＶＬＣ信号の最低周波数成分は、１５０Ｈｚ、またはそれより大きい、
請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
所定の数のシンボルを含むコードワードの開始を検出することをさらに備え、前記検出することは、
フレームの持続時間以下の持続時間を有する所定のＶＬＣ同期信号を検出することと、
前記ＶＬＣ同期信号を前記コードワードの前記開始の識別子として解釈することと
を含む、請求項１に記載の方法。
【請求項８】
可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスであって、
ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計するための手段、前記ピクセル値合計のうちの少なくともいくつかは、前記ＶＬＣ信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の前記第１のアレイに対して第１の復調動作を実行するための手段と
を備え、前記画像センサーは、有効化されると自動露光を無効化する自動露光ロックをサポートするカメラの一部であり、前記デバイスは、
前記自動露光ロックをアクティブ化するための手段と、
固定露光時間設定を使用して前記ピクセル値をキャプチャするための手段と
をさらに備える、デバイス。
【請求項９】
可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスであって、
ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計するための手段、前記ピクセル値合計のうちの少なくともいくつかは、前記ＶＬＣ信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の前記第１のアレイに対して第１の復調動作を実行するための手段と、
所定の数のシンボルを含むコードワードの開始を検出するための手段と
を備え、前記検出するための手段は、
フレームの持続時間以下の持続時間を有する所定のＶＬＣ同期信号を検出するための手段と、
前記ＶＬＣ同期信号を前記コードワードの前記開始の識別子として解釈するための手段と
を含む、デバイス。
【請求項１０】
前記復元された情報は、第１のシンボル値を含み、様々な情報は、時間期間にわたって前記ＶＬＣ信号から復元される、
請求項８または９に記載のデバイス。
【請求項１１】
前記ピクセル値合計のアレイは、時間期間にわたって測定された時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す、
請求項８乃至１０のいずれか１項に記載のデバイス。
【請求項１２】
前記第１のシンボル値が生成された第１のシンボルに対応する前記ＶＬＣ信号の一部分は、前記画像センサーによってキャプチャされたフレームの持続時間以下の持続時間を有する、
請求項１０に記載のデバイス。
【請求項１３】
前記ＶＬＣ信号は、１５０Ｈｚ以上のトーン周波数に対応するピュアトーンまたは方形波を含み、前記ＶＬＣ信号の最低周波数成分は、１５０Ｈｚ、またはそれより大きい、
請求項８乃至１２いずれか１項に記載のデバイス。
【請求項１４】
所定の数のシンボルを含むコードワードの開始を検出するための手段をさらに備え、前記検出するための手段は、
フレームの持続時間以下の持続時間を有する所定のＶＬＣ同期信号を検出するための手段と、
前記ＶＬＣ同期信号を前記コードワードの前記開始の識別子として解釈するための手段と
を含む、請求項８に記載のデバイス。
【請求項１５】
可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイス中で使用するコンピュータプログラムであって、
少なくとも１つのコンピュータに、ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計することを行わせるためのコード、前記ピクセル値合計のうちの少なくともいくつかは、前記ＶＬＣ信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記少なくとも１つのコンピュータに、前記ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の前記第１のアレイに対して第１の復調動作を実行することを行わせるためのコードとを備え、前記画像センサーは、有効化されると自動露光を無効化する自動露光ロックをサポートするカメラの一部であり、前記コンピュータプログラムは、
前記少なくとも１つのコンピュータに、前記自動露光ロックをアクティブ化することを行わせるためのコードと、
前記少なくとも１つのコンピュータに、固定露光時間設定を使用して前記ピクセル値をキャプチャすることを行わせるためのコードと
をさらに備える、コンピュータプログラム。
【請求項１６】
可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイス中で使用するコンピュータプログラムであって、
少なくとも１つのコンピュータに、ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計することを行わせるためのコード、前記ピクセル値合計のうちの少なくともいくつかは、前記ＶＬＣ信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記少なくとも１つのコンピュータに、前記ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の前記第１のアレイに対して第１の復調動作を実行することを行わせるためのコードと、    前記少なくとも１つのコンピュータに、所定の数のシンボルを含むコードワードの開始を検出することを行わせるためのコードと
を備え、前記検出することは、
フレームの持続時間以下の持続時間を有する所定のＶＬＣ同期信号を検出することと、
前記ＶＬＣ同期信号を前記コードワードの前記開始の識別子として解釈することと
を含む、コンピュータプログラム。
【発明の詳細な説明】
【関連出願】
【０００１】
[0001]本特許出願は、本出願の譲受人に譲渡され、２０１３年３月１４日に出願された「Method and Apparatus of Decoding Low-Rate Visible Light Communication Signals」と題する、Ｊｏｖｉｃｉｃらによる米国特許出願第１３／８０２，７３３号の優先権を主張する。
【技術分野】
【０００２】
[0002]様々な実施形態は、可視光通信を対象とし、より詳細には、カメラを含むデバイスを使用して低レートＶＬＣ信号を復元および復号することを対象とする。
【背景技術】
【０００３】
[0003]白色光を生成することが可能な発光ダイオード（ＬＥＤ）は、将来、商業部門および家庭部門における照明の主要な光源になると予測されている。ＬＥＤ照明は、広範囲の適用例で可視光通信（ＶＬＣ）信号を通信する機会を与える。
【０００４】
[0004]多くの適用例において、低レート可視光通信メッセージを復号するニーズがあるか、あるいはそれがあると予想される。想定される使用事例には、たとえば、屋内測位、建築／ネットワークアクセスのセキュリティ、拡張ディスプレイ、モバイルデバイスペアリングなどがある。特殊な専用ＶＬＣ受信機デバイスは、ＶＬＣ信号を検出および復号するように構築され得る。残念ながら、特殊な専用ＶＬＣ受信機デバイスを使用するのは、コストがかさむことがあり、特殊なＶＬＣ受信機デバイスは、一般集団に広く分散され得ない。一般に利用可能なデバイスまたはわずかに修正された一般に利用可能なデバイス、たとえば、スマートフォンが、ＶＬＣ信号を介して通信された低レートＶＬＣ通信メッセージおよび／または他の情報を復元するために利用され得るような新しい方法および装置が開発されれば有益であろう。
【発明の概要】
【０００５】
[0005]様々な実施形態は、低レート可視光通信（ＶＬＣ）信号の検出とＶＬＣ信号によって通信される情報の復元とに関する方法および装置を対象とする。いくつかの実施形態では、ＶＬＣ信号の検出は、カメラを装備したデバイス、たとえば、スマートフォンによって実行される。少なくともいくつかのそのような実施形態では、カメラがＶＬＣ受信機として働く受信機において追加の光検出ハードウェアが必要ない。様々な例示的な方法および装置は、デバイス、たとえば、スマートフォンがローリングシャッターを使用するカメラを含む実施形態に好適である。ローリングシャッターは、異なる時間スナップショットに対応するフレームの画像センサー中の異なるピクセル行をもつ受信された低いレート時間変動ＶＬＣ信号の異なる時間スナップショットの収集を容易にする。いくつかの実施形態では、通信され得る複数の可能な代替トーン、たとえば、周波数の中からフレーム中で通信されているシングルトーン、たとえば、周波数を復元および識別するために復調が使用され、各異なるトーンは、情報ビットの異なるセットに対応する。いくつかの他の実施形態では、情報ビットが適時に光パルスの位置から復調される。いくつかのそのような実施形態では、情報ビットを搬送するためにパルス位置変調（ＰＰＭ）が使用される。
【０００６】
[0006]可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスを使用する例示的な方法は、いくつかの実施形態によれば、ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計することと、ピクセル値合計のうちの少なくともいくつかが、ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の第１のアレイに対して第１の復調動作を実行することとを含む。可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含む例示的なデバイスは、いくつかの実施形態によれば、画像センサーと、ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計することと、ピクセル値合計のうちの少なくともいくつかが、ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の第１のアレイに対して第１の復調動作を実行することとを行うように構成され、画像センサーに結合された少なくとも１つのプロセッサとを含む。カメラを含む例示的なデバイスは、少なくとも１つのプロセッサに結合されたメモリをさらに含む。
【０００７】
[0007]上記の概要で様々な実施形態について論じたが、必ずしもすべての実施形態が同じ特徴を含むとは限らず、上記で説明した特徴のいくつかは、いくつかの実施形態では、必要ではないが、望ましいことがあることを諒解されたい。多数の追加の特徴、実施形態、および様々な実施形態の利益について、以下の発明を実施するための形態において論じる。
【図面の簡単な説明】
【０００８】
【図１】例示的な実施形態による、ＶＬＣ通信をサポートする例示的な通信システムを含む図。
【図２】図２Ａ、図２Ｂ、図２Ｃを説明する図。
【図２Ａ】例示的な実施形態による、可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスを動作させる例示的な方法のフローチャートの第１の部分の図。
【図２Ｂ】例示的な実施形態による、可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスを動作させる例示的な方法のフローチャートの第２の部分の図。
【図２Ｃ】例示的な実施形態による、可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスを動作させる例示的な方法のフローチャートの第３の部分の図。
【図３】様々な例示的な実施形態による、カメラを含む例示的なデバイスの図。
【図４】図４Ａ、図４Ｂ、図４Ｃを説明する図。
【図４Ａ】図３に示すカメラを含む例示的なデバイス中で使用され得、いくつかの実施形態では、使用されるモジュールのアセンブリの第１の部分を示す図。
【図４Ｂ】図３に示すカメラを含む例示的なデバイス中で使用され得、いくつかの実施形態では、使用されるモジュールのアセンブリの第２の部分を示す図。
【図４Ｃ】図３に示すカメラを含む例示的なデバイス中で使用され得、いくつかの実施形態では、使用されるモジュールのアセンブリの第３の部分を示す図。
【図５】図５Ａ、図５Ｂを説明する図。
【図５Ａ】様々な例示的な実施形態による、可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスを使用する例示的な方法のフローチャートの第１の部分の図。
【図５Ｂ】様々な例示的な実施形態による、可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスを使用する例示的な方法のフローチャートの第２の部分の図。
【図６】図６Ａ、図６Ｂを説明する図。
【図６Ａ】図３に示すカメラを含む例示的なデバイス中で使用され得、いくつかの実施形態では、使用されるモジュールのアセンブリの第１の部分を示す図。
【図６Ｂ】図３に示すカメラを含む例示的なデバイス中で使用され得、いくつかの実施形態では、使用されるモジュールのアセンブリの第２の部分を示す図。
【図７】例示的な実施形態による、例示的な画像センサーと、第１のフレーム時間中にＶＬＣ信号が可視である画像センサーの識別された領域と、ピクセル合計値の対応する生成されたアレイとを示す図。
【図８】例示的な実施形態による、例示的な画像センサーと、第２のフレーム時間中にＶＬＣ信号が可視である画像センサーの識別された領域と、ピクセル合計値の対応する生成されたアレイとを示す図。
【図９】例示的な実施形態による、ＶＬＣシグナリングフレーム構造と、各フレームに対応する例示的なシグナリングと、トーン対ビットパターンルックアップテーブルとを示す図。
【図１０】例示的な実施形態による、例示的なＶＬＣシグナリングフレーム構造と、各フレームに対応する例示的なシグナリングと、トーン対ビットパターンルックアップテーブルとを示す図。
【図１１】フレームの視界中のピクセル値の行の復元された合計を示す例示的なプロットと、ＶＬＣ信号によってフレーム中で通信されている識別されたトーン（周波数）を示すプロットとを含む図。
【発明を実施するための形態】
【０００９】
[0025]図１は、例示的な実施形態による、ＶＬＣ通信をサポートする例示的な通信システム１００を含む。例示的な通信システム１００は、カメラを含む複数のデバイス（カメラ１  １１４を含むデバイス１  １０２、たとえば、スマートフォン１、．．．、カメラＮ１２４を含むデバイスＮ１０４、たとえば、スマートフォンＮ）と、複数のＶＬＣアクセスポイント（ＶＬＣアクセスポイント１  １０６、．．．、ＶＬＣアクセスポイントＮ１０８）と、複数のワイヤレス基地局（ワイヤレス基地局１  １１０、．．．、ワイヤレス基地局Ｎ１１２）とを含む。いくつかの実施形態では、ＶＬＣアクセスポイントは、発光ダイオード（ＬＥＤ）アクセスポイントである。いくつかの実施形態では、ＶＬＣアクセスポイントのうちの少なくともいくつかは、室内のあるエリアを照らすことと、ＶＬＣ信号を使用して情報を通信することとの両方を行う働きをする。例示的な通信システム１００は、ＰＬＣゲートウェイ１０５など、複数の電力線通信（ＰＬＣ）ゲートウェイデバイスをさらに含む。ＰＬＣゲートウェイデバイス１０５は、電力線リンク１０７を介してＶＬＣアクセスポイントＮ１０８に結合される。
【００１０】
[0026]デバイス１  １０２とデバイスＮ１０４とは、システム１００を通って移動し得るモバイル通信デバイスである。異なる時間に、モバイル通信デバイス（１０２、．．．、１０４）は、システム中の異なるロケーションにあり得、ＶＬＣアクセスポイントとワイヤレス基地局との異なるセットの範囲内にあり得る。
【００１１】
[0027]デバイス１  １０２、たとえば、スマートフォンは、様々な要素（１１４、１１６、１１８、１２０、１２２）がデータと情報とを交換し得るバス１４６を介して互いに結合されたカメラ１１４と、プロセッサ１１６と、メモリ１１８と、ワイヤレス無線インターフェース１２０と、ネットワークインターフェースモジュール１２２とを含む。デバイスＮ１０４、たとえば、スマートフォンは、様々な要素（１２４、１２６、１２８、１３０、１３２）がデータと情報とを交換し得るバス１４７を介して互いに結合されたカメラ１２４と、プロセッサ１２６と、メモリ１２８と、ワイヤレス無線インターフェース１３０と、ネットワークインターフェースモジュール１３２とを含む。
【００１２】
[0028]ＶＬＣアクセスポイント１  １０６は、ＶＬＣ信号１５０を生成し、送信する。一例では、ＶＬＣ信号１５０は、ＶＬＣアクセスポイント１  １０６に対応する識別子を通信する。ＶＬＣ信号１５０は、デバイス１  １０２によって検出され、処理される。ＶＬＣ信号１５０中で通信される復元されるデータは、ワイヤレス基地局１  １１０にアンテナ１２１を介して送信される出力アップリンク信号１５２中で通信され得、時々通信される。デバイス１  １０２はまた、ワイヤレス基地局１  １１０からダウンリンク信号１５４を受信する。
【００１３】
[0029]ＰＬＣゲートウェイデバイス１０５は、デバイスＮ１０４に通信されるべき情報を、インターネットおよび／または他のネットワークノードを含むバックホールネットワークを介して受信する。ＰＬＣゲートウェイデバイス１０５は、ＶＬＣアクセスポイントＮ１０８に電力線１０７を介してＰＬＣ信号によって情報を通信する。ＶＬＣアクセスポイントＮ１０８は、受信されたＰＬＣ信号からデバイスＮ１０４に通信されるべき情報を復元し、ＶＬＣ信号１５６にデバイスＮ１０４に通信されるべき情報を符号化する。ＶＬＣアクセスポイントＮ１０８は、デバイスＮ１０４に生成されたＶＬＣ信号１５６を送信する。ＶＬＣ信号１５６は、デバイスＮ１０４によって検出され、処理される。ＶＬＣ信号１５６中で通信される復元されるデータは、ワイヤレス基地局Ｎ１１２にアンテナ１３１を介して送信される出力アップリンク信号１５８中で通信され得、時々通信される。デバイスＮ１０４はまた、ワイヤレス基地局Ｎ１１２からダウンリンク信号１６０を受信する。
【００１４】
[0030]図２Ａと、図２Ｂと、図２Ｃとの組合せからなる図２は、様々な例示的な実施形態による、可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスを動作する例示的な方法のフローチャート２００である。カメラは、たとえば、ローリングシャッターをもつカメラである。様々な実施形態では、カメラを含むデバイスは、たとえば、スマートフォンである。いくつかの実施形態では、カメラは、有効化されると自動露光を無効化する自動露光ロックをサポートする。自動露光モードでは、露光時間は、一般に、光強度に応じて変動し、これは、ＶＬＣ信号から情報を復元するのに望ましくない。例示的な方法の動作はステップ２０２において開始し、ステップ２０２において、カメラが電源投入され、初期化される。
【００１５】
[0031]動作はステップ２０２からステップ２０４に進み、デバイスは自動露光ロックをアクティブ化する。動作はステップ２０４からステップ２０６に進み、デバイスは固定露光時間設定を使用してピクセル値をキャプチャする。いくつかの実施形態では、固定露光設定、たとえば、３０フレーム毎秒（ｆｐｓ）は、カメラによってあらかじめ決定される。これは重要であり、その結果、異なる行およびフレームに対して露光時間が一様になり、その結果、サンプリングの周波数が復元されたシンボルの決定された周波数に影響を及ぼさず、たとえば、それによって、サンプリング時間の変化による周波数シフトを回避する。動作はステップ２０６からステップ２０８に進む。ステップ２０８において、デバイスは、所定の数のシンボルを含むコードワードの開始を検出する。ステップ２０８はステップ２１０および２１２を含む。ステップ２１０において、デバイスは、フレームの持続時間以下の持続時間を有する所定のＶＬＣ同期信号を検出する。いくつかの実施形態では、所定の同期信号は、公称低強度光出力である。いくつかの他の実施形態では、所定の同期化信号は、完全オフ光出力である。様々な実施形態では、公称低強度光出力は近傍にいる人間観測者にとってあまり不快にならないので、完全オフ信号の代わりに公称低強度光出力が同期のために使用される。いくつかの他の実施形態では、同期信号は、パターンが受信機に知られている一連の光強度パルスである。動作はステップ２１０からステップ２１２に進む。ステップ２１２において、デバイスは、ＶＬＣ同期信号をコードワードの開始の識別子として解釈する。動作はステップ２０８から接続ノードＡ２１４を介してステップ２１６に進む。
【００１６】
[0032]ステップ２１６において、デバイスは、画像センサーの第１の領域として、センサー中のピクセルセンサー要素の第１のサブセットを識別し、ＶＬＣ信号は、第１のフレーム中に可視である。動作はステップ２１６からステップ２１８に進む。ステップ２１８において、デバイスは、ピクセル値合計の第１のアレイを生成するためにピクセルセンサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計すること、ピクセル値合計のうちの少なくともいくつかが、ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、を行う。動作はステップ２１８からステップ２２０に進む。ステップ２２０において、デバイスは、ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の第１のアレイに対して第１の復調動作を実行する。
【００１７】
[0033]いくつかの実施形態では、復元された情報は、第１のシンボル値を含み、様々な情報が、時間期間にわたってＶＬＣ信号から復元される。いくつかの実施形態では、ピクセル値合計の第１のアレイは、時間期間にわたって測定された時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す。
【００１８】
[0034]いくつかの実施形態では、第１のシンボル値が生成された第１のシンボルに対応するＶＬＣ信号の一部分は、画像センサーによってキャプチャされたフレームの持続時間以下の持続時間を有する。
【００１９】
[0035]いくつかの実施形態では、ステップ２２０はステップ２２２および２２４を含む。他の実施形態では、ステップ２２０はステップ２２６および２２８を含む。
【００２０】
[0036]いくつかの実施形態では、送信されたＶＬＣ信号は、１５０Ｈｚ以上のトーン周波数に対応するピュアトーンまたは方形波を含み、ＶＬＣ信号の最低周波数成分は１５０Ｈｚ、またはそれより大きい。いくつかの実施形態では、送信されたＶＬＣ信号は、１５０Ｈｚ以上のトーン周波数に対応するピュアトーンまたは方形波を含み、ＶＬＣ信号の最低周波数成分は１５０Ｈｚよりも大きい。いくつかの実施形態では、送信されたＶＬＣ信号は、２値振幅（オンまたはオフ）をもつデジタル変調信号である。いくつかのそのような実施形態では、送信されたＶＬＣ信号は、周波数成分が少なくとも１５０Ｈｚである２値オンオフ信号をもつデジタル変調信号である。ステップ２２２に戻ると、ステップ２２２において、デバイスは、通信されているトーンの周波数を決定すること、各代替周波数は、異なるシンボル値に対応する、を行う。動作はステップ２２２からステップ２２４に進む。ステップ２２４において、デバイスは、所定のマッピングに従って決定されたトーン周波数に対応するビットシーケンスを決定する。
【００２１】
[0037]いくつかの他の実施形態では、光強度パルスの際の位置が、復調され、情報ビットにマッピングされる。いくつかのそのような実施形態では、コードワードは、復元されたビットのシーケンスである。
【００２２】
[0038]ステップ２２６に戻ると、ステップ２２６において、デバイスは、変調されたシンボルを復元するために、ＯＦＤＭ復調、ＣＤＭＡ復調、パルス位置変調（ＰＰＭ）復調、またはオンオフキーイング復調のうちの１つを実行する。動作は、ステップ２２６からステップ２２８に進み、デバイスは、ビットへのシンボルの所定のマッピングに従って復元された変調されたシンボルからビットシーケンスを決定する。
【００２３】
[0039]動作は、ステップ２２０から接続ノードＢ２３０を介してステップ２３２に進む。ステップ２３２において、デバイスは、追加のフレーム処理を実行し、そこからシンボル値を生成する。動作はステップ２３２からステップ２３４に進む。ステップ２３４において、カメラは、追加のフレーム処理から生成されたシンボル値から追加の情報ビットを復元する。動作はステップ２３４からステップ２３６に進む。
【００２４】
[0040]ステップ２３６において、デバイスは、画像センサー中のピクセルセンサー要素の第２のサブセットに対応するセンサーの第２の領域を識別し、ＶＬＣ信号は、第２の時間フレーム中に可視である、第１の領域と第２の領域とは異なる。様々な実施形態では、カメラを含むデバイスがＶＬＣ送信機デバイス、たとえば、ＶＬＣ信号を送信するＶＬＣアクセスポイントに対して移動したので、デバイスは、画像センサーの第２の領域を識別する。いくつかのそのような実施形態では、デバイスは、カメラの検出された動き、たとえば、自己検出された動きに応答して画像センサーの第２の領域を識別する。いくつかのそのような実施形態では、デバイスは、以前に処理されたフレームから情報を正常に復元することの失敗に応答して画像センサーの第２の領域を識別する。動作はステップ２３６からステップ２３８に進む。ステップ２３８において、デバイスは、ピクセル値合計の第２のアレイを生成するためにピクセルセンサーの第２の領域に対応するピクセル値の各行中のピクセル値を合計すること、ピクセル値合計のうちの少なくともいくつかが、ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、を行う。動作はステップ２３８からステップ２４０に進む。ステップ２４０において、デバイスは、ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の第２のアレイに対して第２の復調動作を実行する。いくつかの実施形態では、ステップ２４０はステップ２４２および２４４を含む。他の実施形態では、ステップ２４０はステップ２４６および２４８を含む。
【００２５】
[0041]ステップ２４２に戻ると、ステップ２４２において、デバイスは、通信されているトーンの周波数を決定すること、各代替周波数は、異なるシンボル値に対応する、を行う。動作はステップ２４２からステップ２４４に進む。ステップ２４４において、デバイスは、所定のマッピングに従って決定されたトーン周波数に対応するビットシーケンスを決定する。
【００２６】
[0042]ステップ２４６に戻ると、ステップ２４６において、デバイスは、変調されたシンボルを復元するために、ＯＦＤＭまたはＣＤＭＡ復調、パルス位置変調（ＰＰＭ）復調、あるいはオンオフキーイング復調のうちの１つを実行する。動作は、ステップ２４６からステップ２４８に進み、デバイスは、ビットへのシンボルの所定のマッピングに従って復元された変調されたシンボルからビットシーケンスを決定する。
【００２７】
[0043]動作はステップ２４０からステップ２５０に進み、デバイスは、さらなる追加のフレーム処理を実行し、そこからシンボルを生成する。動作はステップ２５０からステップ２５２に進む。ステップ２５２において、カメラは、さらなる追加のフレーム処理から生成されたシンボル値から追加の情報ビットを復元する。
【００２８】
[0044]いくつかの実施形態では、デバイスは、ＶＬＣ同期信号とＶＬＣデータ信号とに加えてＶＬＣパイロット信号を受信する。いくつかのそのような実施形態では、ＶＬＣパイロット信号は、所定の周波数にあるトーンである。いくつかの実施形態では、ＶＬＣパイロット信号は、同期の後のフレーム中で送信される。様々な実施形態では、デバイスは、パイロット信号トーンの周波数を測定し、それを予想される周波数と比較し、検出された偏差の量に応答して調整、たとえば、較正を実行する、たとえば、サンプリングレートを調整する。
【００２９】
[0045]いくつかの実施形態では、デバイスが、画像の最も明るい領域中でＶＬＣ信号を検出し、正常に復号することができない場合、デバイスは、ＶＬＣ信号を復元しようと試みて処理されるべき画像の領域を識別するためのテスト基準を修正する。たとえば、デバイスは、通信されているＶＬＣ信号を処理し、復元しようと試みるために、画像中の第２の最も明るい連続領域を識別し得る。
【００３０】
[0046]図３は、様々な例示的な実施形態による、カメラ３０１を含む例示的なデバイス３００の図である。デバイス３００は、たとえば、図１のシステム１００のカメラを含むデバイス（デバイス１  １０２、．．．、デバイスＮ１０４）のうちの１つ、たとえば、スマートフォンである。例示的なデバイス３００は、図２のフローチャート２００による方法を実装し得、時々実装する。
【００３１】
[0047]デバイス３００は、様々な要素（３０１、３０２、３０４、３０６、３０８）がデータと情報とを交換し得るバス３０９を介して互いに結合されたカメラ３０１と、プロセッサ３０２と、メモリ３０４と、入力モジュール３０６と、出力モジュール３０８とを含む。いくつかの実施形態では、メモリ３０４は、ルーチン３１１とデータ／情報３１３とを含む。いくつかの実施形態では、入力モジュール３０６と出力モジュール３０８とはプロセッサ３０２の内部に配置される。
【００３２】
[0048]カメラ３０１は、レンズ３５０と、ローリングシャッター３５２と、画像センサーである光検出器アレイ３５４と、ローリングシャッター制御モジュール３５６と、光検出器読出しモジュール３５８と、自動露光ロックアクティブ化モジュール３６０と、インターフェースモジュール３６２とを含む。ローリングシャッター制御モジュール３５６と、光検出器読出しモジュール３５８と、インターフェースモジュール３６２とは、バス３６４を介して互いに結合される。いくつかの実施形態では、カメラ３０１は、自動露光ロックアクティブ化モジュール３６０をさらに含む。ローリングシャッター制御モジュール３５６と、光検出器読出しモジュール３５８と、自動露光ロックアクティブ化モジュール３６０とは、バス３０９と、インターフェースモジュール３６２と、バス３６４とを介してプロセッサ３０２から制御メッセージを受信し得、時々受信する。光検出器読出しモジュール３５８は、バス３６４と、インターフェースモジュール３６２と、バス３０９とを介してプロセッサ３０２に光検出器アレイ３５４の読出し情報を通信する。したがって、画像センサー、光検出器アレイ３５４は、光検出器読出しモジュール３５８と、バス３６４と、インターフェースモジュール３６２と、バス３０９とを介してプロセッサ３０２に結合される。
【００３３】
[0049]ローリングシャッター制御モジュール３５６は、たとえば、プロセッサ３０２の指示に従って異なる時間に入力光に画像センサーの異なる行を露光するようにローリングシャッター３５０を制御する。光検出器読出しモジュール３５８は、プロセッサに、情報、たとえば、画像センサーのピクセルに対応するピクセル値を出力する。
【００３４】
[0050]入力モジュール３０６は、ワイヤレス無線受信機モジュール３１０と、ワイヤードおよび／または光受信機インターフェースモジュール３１４とを含む。出力モジュール３０８は、ワイヤレス無線送信機モジュール３１２と、ワイヤードおよび／または光受信機インターフェースモジュール３１６とを含む。ワイヤレス無線受信機モジュール３１０、たとえば、ＯＦＤＭおよび／またはＣＤＭＡをサポートする無線受信機は、受信アンテナ３１８を介して入力信号を受信する。ワイヤレス無線送信機モジュール３１２、たとえば、ＯＦＤＭおよび／またはＣＤＭＡをサポートする無線送信機は、送信アンテナ３２０を介して出力信号を送信する。いくつかの実施形態では、同じアンテナが送信と受信とのために使用される。ワイヤードおよび／または光受信機インターフェースモジュール３１４は、たとえば、バックホールを介してインターネットおよび／または他のネットワークノードに結合され、入力信号を受信する。ワイヤードおよび／または光送信機インターフェースモジュール３１６は、たとえば、バックホールを介してインターネットおよび／または他のネットワークノードに結合され、出力信号を送信する。
【００３５】
[0051]様々な実施形態では、プロセッサ３０２は、ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計することと、ピクセル値合計のうちの少なくともいくつかが、ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の第１のアレイに対して第１の復調動作を実行することとを行うように構成される。
【００３６】
[0052]いくつかの実施形態では、プロセッサ３０２は、画像センサーの第１の領域として、センサー中のピクセルセンサー要素の第１のサブセットを識別するようにさらに構成され、ＶＬＣ信号は、第１のフレーム中に可視である。いくつかのそのような実施形態では、プロセッサは、画像センサー中のピクセルセンサー要素の第２のサブセットに対応するセンサーの第２の領域を識別するようにさらに構成され、ＶＬＣ信号は、第２の時間フレーム中に可視であり、第１の領域と第２の領域とは異なる。いくつかのそのような実施形態では、プロセッサ３０２は、ピクセル値合計の第２のアレイを生成するために画像センサーの第２の領域に対応するピクセル値の各行中のピクセル値を合計することと、第２のアレイ中のピクセル値合計のうちの少なくともいくつかが、ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の第２のアレイに対して第２の復調動作を実行することとをさらに行うように構成され、第１の復調動作は第１のシンボル値を生成し、第２の復調は第２のシンボル値を生成する。
【００３７】
[0053]様々な実施形態では、復元された情報は、第１のシンボル値を含み、様々な情報が、時間期間にわたってＶＬＣ信号から復元される。いくつかの実施形態では、ピクセル値合計のアレイは、時間期間にわたって測定された時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す。様々な実施形態では、第１のシンボル値が生成された第１のシンボルに対応するＶＬＣ信号の一部分は、画像センサーによってキャプチャされたフレームの持続時間以下の持続時間を有する。
【００３８】
[0054]いくつかの実施形態では、プロセッサ３０２は、復調動作を実行するように構成されることの一部として、複数の代替周波数の中から周波数を識別するように構成される。いくつかの実施形態では、送信されたＶＬＣ信号は、１５０Ｈｚ以上のトーン周波数に対応するピュアトーンまたは方形波を含み、ＶＬＣ信号の最低周波数成分は１５０Ｈｚ、またはそれより大きい。いくつかの実施形態では、送信されたＶＬＣ信号は、１５０Ｈｚよりも大きいトーン周波数に対応するピュアトーンまたは方形波を含み、ＶＬＣ信号の最低周波数成分は１５０Ｈｚよりも大きい。いくつかの実施形態では、送信されたＶＬＣ信号は、２値振幅（オンまたはオフ）をもつデジタル変調信号である。いくつかのそのような実施形態では、送信されたＶＬＣ信号は、周波数成分が少なくとも１５０Ｈｚである２値オンオフ信号をもつデジタル変調信号である。
【００３９】
[0055]いくつかの実施形態では、プロセッサ３０２は、復調動作を実行するように構成されることの一部として、ＯＦＤＭ復調、ＣＤＭＡ復調、パルス位置変調（ＰＰＭ）復調、またはオンオフキーイング復調のうちの１つを実行するように構成される。
【００４０】
[0056]いくつかの実施形態では、画像センサーは、有効化されると自動露光を無効化する自動露光ロックをサポートするカメラの一部であり、プロセッサ３０２は、自動露光ロックをアクティブ化することと、固定露光時間設定を使用してピクセル値をキャプチャすることとを行うようにさらに構成される。
【００４１】
[0057]いくつかの実施形態では、プロセッサ３０２は、所定の数のシンボルを含むコードワードの開始を検出することを行うようにさらに構成される。いくつかのそのような実施形態では、プロセッサ３０２は、コードワードの開始を検出するように構成されることの一部として、フレームの持続時間以下の持続時間を有する所定のＶＬＣ同期信号を検出することと、ＶＬＣ同期信号をコードワードの開始の識別子として解釈することとを行うように構成される。
【００４２】
[0058]図４Ａと、図４Ｂと、図４Ｃとの組合せからなる図４は、図３に示したカメラを含む例示的なデバイス３００で使用され得、いくつかの実施形態では使用される、部分Ａ４０１と部分Ｂ４０３と部分Ｃ４０５との組合せを備えるモジュールのアセンブリ４００を示す図である。アセンブリ４００中のモジュールは、たとえば、個別回路として、図３のプロセッサ３０２内のハードウェアで実装され得る。代替として、それらのモジュールはソフトウェアで実装され、図３に示すデバイス３００のメモリ３０４に記憶され得る。いくつかのそのような実施形態では、モジュールのアセンブリ４００は、図３のデバイス３００のメモリ３０４のルーチン４１１中に含まれる。図３の実施形態ではシングルプロセッサ、たとえば、コンピュータとして示されているが、プロセッサ３０２は、１つまたは複数のプロセッサ、たとえば、コンピュータとして実装され得ることを諒解されたい。ソフトウェアで実装されるとき、それらのモジュールはコードを含み、そのコードは、プロセッサによって実行されたとき、プロセッサ３０２、たとえば、コンピュータを、そのモジュールに対応する機能を実装するように構成する。いくつかの実施形態では、プロセッサ３０２は、モジュールのアセンブリ４００のうちのモジュールの各々を実装するように構成される。モジュールのアセンブリ４００がメモリ３０４に記憶されるいくつかの実施形態では、メモリ３０４は、少なくとも１つのコンピュータ、たとえば、プロセッサ３０２に、モジュールが対応する機能を実装させるためのコード、たとえば、モジュールごとの個別コードを備えるコンピュータ可読媒体、たとえば、非一時的コンピュータ可読媒体を備えるコンピュータプログラム製品である。
【００４３】
[0059]完全にハードウェアベースのまたは完全にソフトウェアベースのモジュールが使用され得る。ただし、機能を実装するために、ソフトウェアモジュールとハードウェア（たとえば、回路実装）モジュールの任意の組合せが使用され得ることを諒解されたい。図４に示すモジュールは、図２のフローチャート２００の方法において図示および／または説明する対応するステップの機能を実行するようにデバイス３００、またはプロセッサ３０２などのデバイス３００中の要素を制御および／または構成することを諒解されたい。
【００４４】
[0060]モジュールのアセンブリ４００は、部分Ａ４０１と部分Ｂ４０３と部分Ｃ４０５との組合せを備える。モジュールのアセンブリ４００は、自動露光ロックをアクティブ化するように構成されたモジュール４０４と、固定露光時間を使用してピクセル値をキャプチャするように構成されたモジュール４０６と、所定の数のシンボルを含むコードワードの開始を検出するように構成されたモジュール４０８とを含む。モジュール４０８は、フレームの持続時間以下の持続時間を有する所定のＶＬＣ同期信号を検出するように構成されたモジュール４１０と、ＶＬＣ同期信号をコードワードの開始の識別子として解釈するように構成されたモジュール４１２とを含む。
【００４５】
[0061]モジュールのアセンブリ４００は、画像センサーの第１の領域として、センサー中のピクセルセンサー要素の第１のサブセットを識別するように構成されたモジュール４１６、ここで、ＶＬＣ信号は、第１の時間フレーム中に可視である、と、ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値合計を合計すること、ピクセル値合計のうちの少なくともいくつかが、ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、を行うように構成されたモジュール４１８とをさらに含む。モジュールのアセンブリ４００は、ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の第１のアレイに対して第１の復調動作を実行することを行うように構成されたモジュール４２０をさらに含む。モジュール４２０は、通信されているトーンの周波数を決定すること、各代替周波数は、異なるシンボル値に対応する、を行うように構成されたモジュール４２２と、所定のマッピングに従って決定されたトーン周波数に対応するビットシーケンスを決定することを行うように構成されたモジュール４２４とを含む。モジュール４２０は、変調されたシンボルを復元するために、ＯＦＤＭ復調、ＣＤＭＡ復調、パルス位置変調（ＰＰＭ）復調、またはオンオフキーイング復調のうちの１つを実行することを行うように構成されたモジュール４２６と、ビットへのシンボルの所定のマッピングに従って復元された変調されたシンボルからビットシーケンスを決定することを行うように構成されたモジュール４２８とをさらに含む。
【００４６】
[0062]モジュールのアセンブリ４００は、追加のフレーム処理を実行し、そこからシンボル値を生成することを行うように構成されたモジュール４３２と、追加のフレーム処理から生成されたシンボル値から追加の情報ビットを復元することを行うように構成されたモジュール４３４とをさらに含む。モジュールのアセンブリ４００は、画像センサー中のピクセルセンサー要素の第２のサブセットに対応するセンサーの第２の領域を識別するように構成されたモジュール４３６、ここで、ＶＬＣ信号は、第２の時間フレーム中に可視である、第１の領域と第２の領域とは異なる、と、ピクセル値合計の第２のアレイを生成するために画像センサーの第２の領域に対応するピクセル値の各行中のピクセル値合計を合計すること、ピクセル値合計のうちの少なくともいくつかが、ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、を行うように構成されたモジュール４３８と、ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の第２のアレイに対して第２の復調動作を実行することを行うように構成されたモジュール４４０とをさらに含む。モジュール４４０は、通信されているトーンの周波数を決定すること、各代替周波数は、異なるシンボル値に対応する、を行うように構成されたモジュール４４２と、所定のマッピングに従って決定されたトーン周波数に対応するビットシーケンスを決定することを行うように構成されたモジュール４４４とを含む。モジュール４４０は、変調されたシンボルを復元するために、ＯＦＤＭ復調、ＣＤＭＡ復調、パルス位置変調（ＰＰＭ）復調、またはオンオフキーイング復調のうちの１つを実行することを行うように構成されたモジュール４４６と、ビットへのシンボルの所定のマッピングに従って復元された変調されたシンボルからビットシーケンスを決定することを行うように構成されたモジュール４４８とをさらに含む。
【００４７】
[0063]モジュールのアセンブリ４００は、さらなる追加のフレーム処理を実行し、そこからシンボル値を生成することを行うように構成されたモジュール４５０と、さらなる追加のフレーム処理から生成されたシンボル値から追加の情報ビットを復元することを行うように構成されたモジュール４５２とをさらに含む。
【００４８】
[0064]いくつかの実施形態では、モジュールのアセンブリ４００は、パイロット信号を検出することを行うように構成されたモジュール４５４と、検出されたパイロット信号に応答して調整を実行することを行うように構成されたモジュール４５６とをさらに含む。いくつかの実施形態では、モジュール４５４は、検出されたパイロット信号トーンの周波数を推定する。いくつかの実施形態では、モジュール４５６は、パイロットトーンの予想される周波数と、モジュール４５４から取得された周波数推定値を比較して、推定された周波数からの推定された周波数の偏差の量に基づいてクロックレートとサンプリングレートとのうちの少なくとも１つを調整する。様々な実施形態では、モジュールのアセンブリは、ＶＬＣ信号を通信していると思われる画像のエリアを識別するために使用されるしきい値を調整することを行うように構成されたモジュール４５８をさらに含む。
【００４９】
[0065]いくつかの実施形態では、第１の復調動作は、第１のシンボル値を生成し、第２の復調動作は、第２のシンボル値を生成する。様々な実施形態では、復元された情報は、第１のシンボル値を含み、様々な情報が、時間期間にわたってＶＬＣ信号から復元される。
【００５０】
[0066]いくつかの実施形態では、ピクセル値のアレイは、時間期間にわたる時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す。
【００５１】
[0067]様々な実施形態では、第１のシンボル値が生成される第１のシンボルに対応するＶＬＣ信号の一部分は、画像センサーによってキャプチャされたフレームの持続時間以下の持続時間を有する。いくつかの実施形態では、送信されたＶＬＣ信号は、１５０Ｈｚ以上のトーン周波数に対応するピュアトーンまたは方形波を含み、ＶＬＣ信号の最低周波数成分は、１５０Ｈｚ、またはそれより大きい。いくつかの実施形態では、送信されたＶＬＣ信号は、１５０Ｈｚよりも大きいトーン周波数に対応するピュアトーンまたは方形波を含み、信号の最低周波数成分は１５０Ｈｚよりも大きい。いくつかの実施形態では、送信されたＶＬＣ信号は、２値振幅（オンまたはオフ）をもつデジタル変調信号である。いくつかのそのような実施形態では、送信されたＶＬＣ信号は、周波数成分が少なくとも１５０Ｈｚである２値オンオフ信号をもつデジタル変調信号である。
【００５２】
[0068]図５Ａと、図５Ｂとの組合せからなる図５は、様々な例示的な実施形態による、可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスを使用する例示的な方法のフローチャート５００である。動作はステップ５０２において開始し、デバイスが電源投入され、初期化される。いくつかの実施形態では、デバイスは、自動露光ロック特徴を含み、動作は、ステップ５０２からステップ５０４に進み、デバイスは、自動露光ロックをアクティブ化する。これは、所定の時間、たとえば、３０フレーム毎秒（ｆｐｓ）にフレームタイミングを固定する。動作はステップ５０４からステップ５０６に進む。ステップ５０２に戻ると、いくつかの実施形態では、デバイスは、自動露光ロックを含まず、動作は、ステップ５０２からステップ５０６に進む。
【００５３】
[0069]ステップ５０６において、デバイスは、たとえば、１つまたは複数のフレームに対応するピクセル値をキャプチャする。動作は、ステップ５０６からステップ５０８に進み、デバイスは、ピクセルセンサーの視界領域を識別し、ここで、ＶＬＣ光信号のソースは可視である。動作はステップ５０８からステップ５１０に進む。
【００５４】
[0070]ステップ５１０において、デバイスは、ピクセルセンサーの識別された視界領域中で同期信号を検出する。いくつかの実施形態では、送信された同期信号は、ヌル信号であり、たとえば、光送信機が、所定の時間間隔の間オフにされる。いくつかの実施形態では、同期信号は、所定の電力レベルで送信される低電力信号であり、たとえば、光送信機は、より低いレベルで送信し、時間的に変動しない。動作はステップ５１０からステップ５１２に進み、いくつかの実施形態では、ステップ５１４に進む。ステップ５１４において、デバイスは、同期信号が送信された時間中のピクセルセンサーの識別された視界領域上のＤＣオフセット、たとえば、バックグラウンド光強度を推定する。
【００５５】
[0071]ステップ５１２に戻ると、ステップ５１２において、デバイスは、ピクセルセンサーの識別された視界中での同期信号の検出に基づいてカメラフレームタイミングを同期させる。いくつかの実施形態、たとえば、デバイスが自動露光ロック能力を含まない実施形態では、動作は、ステップ５１２からステップ５１６に進む。他の実施形態、たとえば、デバイスが自動露光ロック特徴を含む実施形態では、動作は、ステップ５１２からステップ５２４に進む。
【００５６】
[0072]ステップ５１６に戻ると、ステップ５１６において、デバイスは、同期信号の直後のフレーム中にピクセルセンサーの識別された視界領域中でパイロット信号を受信する。１つの例示的な実施形態では、送信されたパイロット信号は１５０Ｈｚトーンである。動作は、ステップ５１６からステップ５１８に進み、デバイスは、検出されたパイロット信号に基づいてサンプリングレートを推定する。動作は、ステップ５１８からステップ５２０に進み、デバイスは、推定されたサンプリングレートを適用する。
【００５７】
[0073]一例では、光送信機は、１５０Ｈｚの周波数でパイロット信号を送信する。受信機は、ステップ５１６においてパイロット信号を検出し、ステップ５１８においてサンプリングレートを推定する。たとえば、パイロットトーンが、１５０Ｈｚではなく、１６５Ｈｚで検出され、デバイスが、３０Ｈｚから２７Ｈｚにサンプリングレートをシフトして（１０％の変化）、補正する、たとえば、デバイスを較正すると考える。動作はステップ５２０から接続ノードＡ５２２を介してステップ５２４に進む。
【００５８】
[0074]ステップ５２４において、デバイスは、受信されたフレームに対応するピクセル値をキャプチャする。動作はステップ５２４からステップ５２６に進む。ステップ５２６において、デバイスは、画像センサーの視界として、センサー中のピクセルセンサー要素のサブセットを識別し、ここで、ＶＬＣ信号は、受信されたフレームに対応するフレーム時間中に可視である。動作はステップ５２６からステップ５２８に進む。ステップ５２８において、デバイスは、ピクセル値合計のアレイを生成するために画像センサーの視界領域に対応するピクセル値の各行中のピクセル値を合計すること、ピクセル値合計のうちの少なくともいくつかが、ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、を行う。動作はステップ５２８からステップ５３０に進む。
【００５９】
[0075]ステップ５３０において、デバイスは、ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計のアレイに対して復調動作を実行する。いくつかの実施形態では、ステップ５３０はステップ５３２とステップ５３４とを含む。いくつかの他の実施形態では、ステップ５３０はステップ５３６とステップ５３８とを含む。ステップ５３２において、デバイスは、フレーム中に通信されているトーンの周波数を決定する。動作はステップ５３２からステップ５３４に進む。ステップ５３４において、デバイスは、所定のマッピングに従って決定されたトーン周波数に対応するビットシーケンスを決定する。
【００６０】
[0076]ステップ５３６に戻ると、ステップ５３６において、デバイスは、変調されたシンボルを復元するために、ＯＦＤＭ復調、ＣＤＭＡ復調、パルス位置変調（ＰＰＭ）復調、またはオンオフキーイング復調のうちの１つを実行する。動作は、ステップ５３６からステップ５３８に進み、デバイスは、ビットへのシンボルの所定のマッピングに従って復元された変調されたシンボルからビットシーケンスを決定する。
【００６１】
[0077]動作はステップ５３０からステップ５４０に進み、デバイスは別のフレームに対応するピクセル値をキャプチャする。動作は、ステップ５４０からステップ５４２に進み、デバイスは、同期（ｓｙｎｃ）信号がステップ５４０の受信されたフレーム中で検出されたかどうかを決定する。同期信号が検出されなかった場合、動作は、ステップ５４２から接続ノードＣ５４８を介してステップ５２６に進んで、可視光信号から情報、たとえば、追加の情報ビットを復元するために別の受信されたフレームの処理を開始する。
【００６２】
[0078]しかしながら、同期信号がステップ５４２において検出された場合、動作は、ステップ５４２からステップ５４４に進み、デバイスは、処理されたデータフレームから復元された情報ビットのセットを出力する。たとえば、一実施形態では、同期信号間のステップ５３０の各反復から復元された情報ビットは、コードワードを形成するために連結される。
【００６３】
[0079]ステップ５４４に戻ると、動作は、ステップ５４４から接続ノードＤ５４６を介してステップ５１２の入力に進む。
【００６４】
[0080]図６Ａと、図６Ｂとの組合せからなる図６は、図３に示したカメラを含む例示的なデバイス３００で使用され得、いくつかの実施形態では使用される、部分Ａ６０１と部分Ｂ６０３との組合せを備えるモジュールのアセンブリ６００を示す図である。アセンブリ４００中のモジュールは、たとえば、個別回路として、図３のプロセッサ３０２内のハードウェアで実装され得る。代替として、それらのモジュールはソフトウェアで実装され、図３に示すデバイス３００のメモリ３０４に記憶され得る。いくつかのそのような実施形態では、モジュールのアセンブリ６００は、図３のデバイス３００のメモリ３０４のルーチン３１１中に含まれる。図３の実施形態ではシングルプロセッサ、たとえば、コンピュータとして示されているが、プロセッサ３０２は、１つまたは複数のプロセッサ、たとえば、コンピュータとして実装され得ることを諒解されたい。ソフトウェアで実装されるとき、それらのモジュールはコードを含み、そのコードは、プロセッサによって実行されたとき、プロセッサ３０２、たとえば、コンピュータを、そのモジュールに対応する機能を実装するように構成する。いくつかの実施形態では、プロセッサ３０２は、モジュールのアセンブリ６００のうちのモジュールの各々を実装するように構成される。モジュールのアセンブリ６００がメモリ３０４に記憶されるいくつかの実施形態では、メモリ３０４は、少なくとも１つのコンピュータ、たとえば、プロセッサ３０２に、モジュールが対応する機能を実装させるためのコード、たとえば、モジュールごとの個別コードを備えるコンピュータ可読媒体、たとえば、非一時的コンピュータ可読媒体を備えるコンピュータプログラム製品である。
【００６５】
[0081]完全にハードウェアベースのまたは完全にソフトウェアベースのモジュールが使用され得る。ただし、機能を実装するために、ソフトウェアモジュールとハードウェア（たとえば、回路実装）モジュールの任意の組合せが使用され得ることを諒解されたい。図６に示すモジュールは、図５のフローチャート５００の方法において図示および／または説明する対応するステップの機能を実行するようにデバイス３００、またはプロセッサ３０２などのデバイス３００中の要素を制御および／または構成することを諒解されたい。
【００６６】
[0082]モジュールのアセンブリ６００は、ピクセル値をキャプチャすることを行うように構成されたモジュール６０６と、ピクセルセンサーの視界領域を識別するように構成されたモジュール６０８、ここで、ＶＬＣ信号のソースが可視である、と、ピクセルフレームの識別された視界領域中で同期信号を検出することを行うように構成されたモジュール６１０と、ピクセルセンサーの識別された視界領域中での同期信号の検出に基づいてカメラフレームタイミングを同期させることを行うように構成されたモジュール６１２と、受信されたフレームに対応するピクセル値をキャプチャすることを行うように構成されたモジュール６２４と、画像センサーの視界領域として、センサー中のピクセルセンサー要素のサブセットを識別するように構成されたモジュール６２６とを含み、ＶＬＣ信号は、受信されたフレームに対応するフレーム時間中に可視である。モジュールのアセンブリ６００は、ピクセル値合計のアレイを生成するために画像センサーの視界領域に対応するピクセル値の各行中のピクセル値を合計するように構成されたモジュール６２８と、ピクセル値合計のうちの少なくともいくつかが、ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計のアレイに対して復調動作を実行するように構成されたモジュール６３０とをさらに含む。モジュール６３０は、フレーム中に通信されているトーンの周波数を決定するように構成されたモジュール６３２と、所定のマッピングに従って決定されたトーン周波数に対応するビットシーケンスを決定するように構成されたモジュール６３４と、変調されたシンボルを復元するために、ＯＦＤＭ復調、ＣＤＭＡ復調、パルス位置変調（ＰＰＭ）復調、またはオンオフキーイング復調のうちの１つを実行するように構成されたモジュール６３６と、ビットへのシンボルの所定のマッピングに従って復元された変調されたシンボルからビットシーケンスを決定することを行うように構成されたモジュール６３８とを含む。モジュールのアセンブリ６００は、別の受信されたフレームに対応するピクセル値合計をキャプチャすることを行うように構成されたモジュール６４０と、同期信号が前に受信されたフレーム中で検出されたかどうかを決定するように構成されたモジュール６４２と、同期化信号が受信されなかったとモジュール６４２が決定したとき、受信されたデータフレームを処理するように動作を制御するように構成されたモジュール６４３と、同期信号が受信されたというモジュール６４２による決定に応答して処理されるデータフレームから復元される情報ビットのセットを出力するように構成されたモジュール６４４とをさらに含む。いくつかの実施形態では、コードワードは、同期信号の中間に複数のデータフレームを介して通信される。
【００６７】
[0083]いくつかの実施形態では、モジュールのアセンブリ６００は、自動露光ロックをアクティブ化するように構成されたモジュール６０４と、同期信号が送信された時間中のピクセルセンサーの識別された視界領域にわたるＤＣオフセット、たとえば、バックグラウンド光強度を推定することを行うように構成されたモジュール６１４と、たとえば、同期信号フレームの直後のフレーム中にピクセルセンサーの識別された視界領域中でパイロット信号を受信することを行うように構成されたモジュール６１６と、検出されたパイロット信号に基づいてサンプリングレートを推定することを行うように構成されたモジュール６１８と、推定されたサンプリングレートを適用することを行うように構成されたモジュール６２０とのうちの１つまたは複数またはすべてをさらに含む。様々な実施形態では、モジュール６０４は、ＶＬＣアクセスポイントによって使用されているＶＬＣ送信データフレームレートに一致する固定の所定のフレーム毎秒レート、たとえば、３０ｆｐｓで動作するようにカメラを制御する。いくつかの実施形態では、カメラは、自動露光ロック特徴を含まず、露光設定が変動することが予想され得る可能性を補正するために、パイロット信号の送信、検出、測定、およびサンプリングレート調整が使用される。いくつかの実施形態では、パイロット信号の送信、検出、測定、およびサンプリングレートの調整は、たとえば、熱効果による、たとえば、成分トレランスおよび／またはドリフトに基づいて、カメラを含むデバイス内の内部クロックが、ＶＬＣアクセスポイント送信機内の内部クロックに正確に一致しない可能性を補正するために使用される。
【００６８】
[0084]図７は、例示的な画像センサーと、第１のフレーム時間中にＶＬＣ信号が可視である画像センサーの識別された領域と、ピクセル合計値の対応する生成されたアレイとを示す図１４００を含む。垂直軸１４０５は、キャプチャ時間に対応し、カメラ中のローリングシャッター実装形態は、異なる時間に対応するピクセルの異なる行を生じる。大きいブロック１４０２は、１２行、１６列によって表される１９２個のピクセルのアレイを含む画像センサーを表す。説明の目的で、小さい画像センサーサイズ（１９２個のピクセル）を使用する。例示的な一実施形態では、画像センサーは、４８０行、６４０列によって表される３０７２００個のピクセルを含む。
【００６９】
[0085]アレイ中の各ピクセルは、露光中にそのピクセルに対応する復元されたエネルギーを表すピクセル値を有する。たとえば、行＝１、列＝１のピクセルは、ピクセル値Ｖ1,1を有する。
【００７０】
[0086]ブロック１４０４は、第１のフレーム中にＶＬＣ信号が可視である画像センサーの識別された第１の領域である。いくつかの実施形態では、第１の領域は、しきい値と、個別のピクセル値、たとえば、個別のピクセルルーマ値を比較し、たとえば、画像センサー中の連続する矩形状領域中でしきい値を超える値をもつピクセルを識別することに基づいて識別される。例示的な一実施形態では、しきい値は、画像の平均ルーマ値の５０％である。いくつかの実施形態では、しきい値は、たとえば、第１の領域を識別することの失敗、または第１の領域中でＶＬＣ信号によって通信されている情報を正常に復号することの失敗に応答して、動的に調整され得、時々動的に調整される。
【００７１】
[0087]アレイ１４０６は、第１の領域のピクセル値合計の第１のアレイであり、ここで、アレイ１４０６の各要素は、第１の領域の異なる行に対応する。たとえば、アレイ要素Ｓ1１４１０は、ピクセル値Ｖ3,4、Ｖ3,5、Ｖ3,6、Ｖ3,7、Ｖ3,8、Ｖ3,9、Ｖ3,10、Ｖ3,11、およびＶ3,12の合計を表し、アレイ要素Ｓ2１４１２は、ピクセル値Ｖ4,4、Ｖ4,5、Ｖ4,6、Ｖ4,7、Ｖ4,8、Ｖ4,9、Ｖ4,10、Ｖ4,11、およびＶ4,12の合計を表す。
【００７２】
[0088]アレイ要素１４１０とアレイ要素１４１２とは、ローリングシャッターが前進するので異なるサンプル時間に対応する。アレイ１４０６は、通信されているＶＬＣ信号を復元するために使用される。いくつかの実施形態では、通信されているＶＬＣ信号は、第１のフレーム中の信号トーン、たとえば、所定の代替周波数のセット中の１つの特定の周波数であり、シングルトーンは、ビットパターンマッピング情報に対する知られている所定のトーンに従って特定のビットパターンに対応する。
【００７３】
[0089]図８は、例示的な画像センサーと、第２のフレーム時間中にＶＬＣ信号が可視である画像センサーの識別された領域と、ピクセル合計値の対応する生成されたアレイとを示す図１４５０を含む。図７の例について復元されるフレームに対応する時間からＶＬＣ信号を送信する光源に対してカメラが移動したと考える。
【００７４】
[0090]垂直軸１４５５は、キャプチャ時間に対応し、カメラ中のローリングシャッター実装形態は、異なる時間に対応するピクセルの異なる行を生じる。大きいブロック１４５２は、１２行、１６列によって表され得る１９２個のピクセルのアレイを含む画像センサーを表す。
【００７５】
[0091]アレイ中の各ピクセルは、露光中にそのピクセルに対応する復元されたエネルギーを表すピクセル値を有する。たとえば、行＝１、列＝１のピクセルは、ピクセル値ｖ1,1を有する。
【００７６】
[0092]ブロック１４５４は、第２のフレーム中にＶＬＣ信号が可視である画像センサーの識別された第２の領域である。いくつかの実施形態では、第２の領域は、しきい値と個別のピクセル値を比較し、たとえば、画像センサー中の連続する矩形状領域中でしきい値を超える値をもつピクセルを識別することに基づいて識別される。
【００７７】
[0093]アレイ１４５６は、第２の領域のピクセル値合計の第２のアレイであり、ここで、アレイ１４５６の各要素は、第１の領域の異なる行に対応する。たとえば、アレイ要素ｓ1１４６０は、ピクセル値ｖ2,3、ｖ2,4、ｖ2,5、ｖ2,6、ｖ2,7、ｖ2,8、ｖ2,9、ｖ2,10、およびｖ2,11の合計を表し、アレイ要素ｓ2１４６２は、ピクセル値ｖ3,3、ｖ3,4、ｖ3,5、ｖ3,6、ｖ3,7、ｖ3,8、ｖ3,9、ｖ3,10、およびｖ3,11の合計を表す。
【００７８】
[0094]アレイ要素１４６０とアレイ要素１４６２とは、ローリングシャッターが前進するので異なるサンプル時間に対応する。アレイ１４５６は、通信されているＶＬＣ信号を復元するために使用される。いくつかの実施形態では、通信されているＶＬＣ信号は、第１のフレーム中の信号トーン、たとえば、所定の代替周波数のセット中の１つの特定の周波数であり、シングルトーンは、ビットパターンマッピング情報に対する知られている所定のトーンに従って特定のビットパターンに対応する。
【００７９】
[0095]様々な実施形態では、第１の領域１４０４のサイズは、第２の領域１４５４のサイズとは異なり得、時々異なる。
【００８０】
[0096]図９は、例示的な実施形態による、ＶＬＣシグナリングフレーム構造１２０４と、各フレームに対応する例示的なシグナリング１２０６と、トーン対ビットパターンルックアップテーブル１２０８とを示す図１２００を含む。水平軸１２０２は時間を表す。この例示的な実施形態では、カメラを含むデバイスが、ローリングシャッターを含み、自動露光ロックをサポートし、自動露光を無効化し、固定の所定の時間設定、たとえば、３０フレーム毎秒を使用してピクセルをキャプチャする自動ロック露光対応モードで動作すると考える。
【００８１】
[0097]例示的な循環ＶＬＣシグナリングフレーム構造１２０４は、同期信号フレームと、それに続く複数のデータフレーム（データフレーム１、データフレーム２、データフレーム３、データフレーム４、．．．、データフレームＮ）とを含む。例示的なＶＬＣシグナリング１２０６は、同期フレーム中のヌルまたは低出力信号と、データフレーム１中のトーン４信号と、データフレーム２中のトーン１信号と、データフレーム３中のトーン２０信号と、データフレーム４中のトーン５０信号と、．．．、データフレームＮ中のトーン３信号とを含む。
【００８２】
[0098]各異なるトーンは、トーン（周波数）対ビットパターンマッピングルックアップテーブル１２０８に従って異なるビットパターンに対応する。列１２１０はトーンを表し、列１２１４は、トーンごとに対応するビットパターンを識別する。たとえば、トーン１は、ビットパターン＝００００００００００００に対応し、トーン２は、ビットパターン＝０００００００００００１に対応し、トーンＮは、ビットパターン＝１１１１１１１１１１１１に対応する。表１２０８中のトーンの各々は、１５０Ｈｚを上回る異なる周波数にある。
【００８３】
[0099]様々な実施形態では、フレーム構造情報１２０４とトーン（周波数）対ビットパターンマッピング情報ルックアップテーブル１２０８とは、カメラを含むデバイスのメモリ、たとえば、図３のデバイス３００のメモリ３０４に記憶される。
【００８４】
[00100]図１０は、例示的な実施形態による、例示的なＶＬＣシグナリングフレーム構造１３０４と、各フレームに対応する例示的なシグナリング１３０６と、トーン対ビットパターンルックアップテーブル１３０８とを示す図１３００を含む。水平軸１３０２は時間を表す。この例示的な実施形態では、カメラを含むデバイスが、ローリングシャッターを含むが、カメラが、固定フレームレートで動作しないと考える。サンプリングレートは、自動露光を有効化する場合、ドリフトし得る。この例では、知られている周波数のパイロット信号は、たとえば、同期の後のフレーム中に時々送信される。カメラを含むデバイスは、パイロット信号を検出し、サンプリングレートを推定し、カメラを含むデバイスは、補正するためにシフトする、たとえば、サンプリングレートを調整する。
【００８５】
[0100]例示的な循環ＶＬＣシグナリングフレーム構造１３０４は、同期信号フレームと、それに続くパイロット信号フレームと、それに続く複数のデータフレーム（データフレーム１、データフレーム２、データフレーム３、．．．、データフレームＮ）とを含む。例示的なＶＬＣシグナリング１３０６は、同期フレーム中のヌルまたは低出力信号と、パイロット信号フレーム中のパイロットトーン信号、たとえば、１５０Ｈｚトーン信号と、データフレーム１中のトーン５信号と、データフレーム２中のトーン７５信号と、データフレーム３中のトーン１３信号と、．．．、データフレームＮ中のトーン１７信号とを含む。
【００８６】
[0101]各異なるトーンは、トーン（周波数）対ビットパターンマッピングルックアップテーブル１３０８に従って異なるビットパターンに対応する。列１３１０はトーンを表し、列１３１４は、トーンごとに対応するビットパターンを識別する。たとえば、トーン１は、ビットパターン＝００００００００００００に対応し、トーン２は、ビットパターン＝０００００００００００１に対応し、トーンＮは、ビットパターン＝１１１１１１１１１１１１に対応する。表１３０８中のトーンの各々は、１５０Ｈｚを上回る異なる周波数にある。
【００８７】
[0102]様々な実施形態では、フレーム構造情報１３０４とトーン（周波数）対ビットパターンマッピング情報ルックアップテーブル１３０８とは、カメラを含むデバイスのメモリ、たとえば、図３のデバイス３００のメモリ３０４に記憶される。
【００８８】
[0103]いくつかの実施形態では、ＶＬＣ信号のデータフレームは、周波数よりも多くの情報を搬送し、たとえば、データフレームに対応するＶＬＣ信号は、周波数と位相情報とを搬送し、たとえば、１つまたは複数のＯＦＤＭ  ＱＡＭ変調シンボルを通信する。いくつかのそのような実施形態では、ビットパターンマッピングへのＱＡＭ変調シンボル値をマッピングするルックアップテーブルは、カメラを含むデバイスのメモリ、たとえば、図３のデバイス３００のメモリ３０４に記憶される。
【００８９】
[0104]いくつかの実施形態では、同期フレームは、データフレームよりも意図的に長い。一実施形態では、同期フレームは、データフレームの持続時間の１．５倍の持続時間を有する。別の実施形態では、同期フレームは、２つのデータフレームの持続時間を有する。
【００９０】
[0105]必ずしもすべてではないが、いくつかの実施形態の様々な態様および／または特徴についてさらに以下で説明する。典型的なスマートフォンカメラはローリングシャッター実装形態を有し、それは、光検出器アレイ、たとえば、ＣＭＯＳ光検出器アレイの連続する行が異なる時間に読み出すことを意味する。たとえば、７２０ｐのビデオ記録の場合、アレイ中に４８０行および６４０列がある。アレイの読出しは行ごとに行われ、したがって、第１の行が最初に読み出され、その後に、第２の行が読み出され、以下同様に行われる。フレームレートが３０Ｈｚである場合、これは、行読出しのレートが、３０＊４８０＝１４．４ｋＨｚ、したがって、受信機帯域幅が７．２ｋＨｚであることを意味する。よりハイエンドのカメラでは、解像度またはフレームレートのいずれかあるいはその両方がより高くなり得るので、利用可能な受信機帯域幅がより高くなり得る。たとえば、６０Ｈｚフレームレートでの１０８０ｐレコーディングでは、受信機帯域幅は、１０８０＊６０／２＝３０．２４ｋＨｚであり得る。概して、受信機帯域幅は、Ｗとして示され得る。例示的な受信機および例示的な送信機の動作について、さらに以下で説明する。シグナリングのために利用可能な帯域幅を規定する他に、受信機はまた、次に説明する他の制約を課す。
【００９１】
[0106]たとえば、ビデオフロントエンドまたはアプリケーションプロセッサなどの受信機処理要素は、カメラセンサーから一連のフレームを取得する。各フレームは、ピクセル値のＮｘＭ行列のようなものであり、ここで、ｎ番目の行、ｍ番目の列のピクセル値は、Ｐ＿ｎｍによって示される。
【００９２】
[0107]受信機の第１のステップは、ピクセルアレイのサブセットを識別することであり、ここで、ＶＬＣ信号のソースは可視である。この領域は、受信機の視界（ＦＯＶ：Field of View）と呼ばれることがある。ＦＯＶは、画像の残部よりもはるかに大きいＳＮＲによって特徴づけられる。一実施形態では、受信機は、他のピクセルよりも明るいピクセルを識別することを実行することによってこの領域を識別する。たとえば、ルーマ値のピクセル強度がしきい値Ｔよりも大きい場合、ピクセルがＦＯＶの一部であると見なされるように、受信機はＴを設定する。しきい値Ｔは、たとえば、画像の平均ルーマ値の５０％である。
【００９３】
[0108]ＦＯＶが識別されると、受信機は、１行ずつＦＯＶに入るピクセル中のエネルギーを加算する。たとえば、ＦＯＶが、全体的なフレームの上１００行、１００列を含んでいている部分行列Ｆである場合、受信機は、ＦＯＶの行中のエネルギーを表す値の１×１００のアレイを得るために、１００行の各々のピクセルルーマ値を加算することになる。信号アレイは、Ｓによって示される。この信号の例を、図１１の図１５５０にプロットし、ここで、送信信号は１００Ｈｚであり、ＦＯＶが全４８０行を占有している。図１１のＦＦＴプロット１５００からわかるように、検出される正弦波信号は、１００Ｈｚにあり、矢印１５０２によって識別される。いくつかの実施形態では、近傍にいる人間観測者を不快にさせないように、送信信号は、意図的に１５０Ｈｚ以上になる。
【００９４】
[0109]受信機は、信号Ｓの復調を実行する。復調方法は、変調フォーマットに依存し、変調フォーマットは、（アウトオブバンドチャネルを介した事前同意を通して）受信機にアプリオリに知られているか、またはプリアンブル信号中で送信機によって送信される。復調は、トーンの周波数を検出し、それをコードワードに応じて対応するビットシーケンスにマッピングするのと同程度に単純であり得、いくつかの実施形態では単純である。（ＱＡＭコンスタレーションを使用して）トーンの位相中で情報が送信され得、ＯＦＤＭ方式で複数のトーンが使用され得るという点で、変調は、より複雑になり得、いくつかの実施形態では、より複雑である。
【００９５】
[0110]利用可能な帯域幅Ｗ内で、送信機は、ＱＡＭなどのコヒーレント変調コンスタレーションの上で、ＯＦＤＭ／ＣＤＭ／ＴＤＭなどの任意の変調方式を使用し得る。様々な実施形態では、ピュアトーンの周波数での単純なＯＦＤＭシグナリング技法が情報を搬送する。この単純な送信技法は、ピーク対平均電力比（ＰＡＰＲ：Peak-to-Average-Power-Ration）低減の点で利益を有し、受信機設計を簡略化する。例示的な送信信号の様々な重要なパラメータおよび構成要素について、以下でさらに説明する。
【００９６】
[0111]いくつかの実施形態では、信号自体がピュアトーンである。いくつかのそのような実施形態では、トーン周波数は情報ビットを搬送する。様々な実施形態では、トーン周波数は、意図的に１５０Ｈｚよりも大きい。これは、人間の眼がこの「融合しきい値」を下回る周波数にある光フリッカーを検出することができるからである。最高周波数は、受信機の利用可能な帯域幅Ｗによって決定される。代替的に、送信機は、いくつかの実施形態では、Ｗよりもはるかに高い周波数で送信し、受信機におけるエイリアシングに依拠する。たとえば、最低周波数は２Ｗ＋１５０Ｈｚであり得、最高周波数は３Ｗであり得る。
【００９７】
[0112]異なるトーン間の周波数増分は、送信機および受信機のサンプリングクロックの安定性によって決定され、１Ｈｚに通常は近い。これは、Ｗ＝７．２ｋＨｚおよび１Ｈｚの解像度の場合、各トーンが１２ビットの情報を搬送することができることを意味する。全体的な画像中のＦＯＶのロケーションが受信機には知られていないので、トーン持続時間は、例示的な一実施形態では、フレームの持続時間に等しくなる。たとえば３０Ｈｚのフレームレートの場合、各トーンは、３３ｍｓの間に送信される。このようにして、行列Ｆ中に全体的な画像のどの部分が含まれていようとも、情報ビットを搬送するトーンが検出可能になる。したがって、このようにして搬送され得る情報の総量は、この特定の例では、３６０ビット／秒であり、こでは、妥当な時間量でＭＡＣアドレス（４８ビット）またはＳＳＩＤを搬送するのに十分であるはずである。
【００９８】
[0113]受信機は、メッセージ全体を復号するために、（ピュアトーン実施形態の場合）シンボルのシーケンスの開始と終了とを知る必要がある。シンボルがピュアトーンであり、１つのフレームの持続時間を占有するいくつかの実施形態では、同期は、１つのフレームの持続時間の間送信機が送信を切断することによって実行される。受信機は、サイレント期間の後にコードワード（シンボルのシーケンス）の開始が始まることを知っている。１つのフレームの持続時間の間送信機を切断することの追加利益は、ＦＯＶによって占有された領域上のＤＣオフセット（バックグラウンド光強度）を推定するために受信機がその時間を使用することができるということである。
【００９９】
[0114]いくつかの実施形態では、受信機のカメラは、固定フレームレートで動作しないことがある。サンプリングレートは、自動露光を有効化する場合、ドリフトし得る。明らかに、トーンシンボルを正しく検出する上でフレームレートの正確な推定が重要である。これのために、いくつかの実施形態では、送信機は、知られている周波数のパイロット信号を時々送信する必要があり得る。例示的な一実施形態では、送信機は、同期のために使用されるサイレント期間の直後のフレーム中に１５０Ｈｚの周波数でパイロット信号を送信する。受信機は、パイロット信号を検出し、サンプリングレートを推定する。たとえば、パイロットトーンが、１５０Ｈｚではなく１６５Ｈｚで検出された場合、受信機は、３０Ｈｚから２７Ｈｚにサンプリングレートをシフトする（１０％の変化）。この問題を回避する別の方法は、受信機ハードウェアがフレームレートを正確に報告する場合であり、その場合、送信機は、パイロットを使用する必要はない。いくつかの実施形態では、受信機はフレームレートを報告する。また別の方法は、自動露光を無効化することによる。たいていの商用フォンは、ソフトウェアを通してこの特徴を無効化する能力を有しないが、しかしながら、カメラドライバへの低レベルのアクセスを必要とするであろう。いくつかの実施形態では、商用フォンのカメラドライバは、自動露光を無効化する能力を含むように変更される。
【０１００】
[0115]様々な実施形態では、デバイス、たとえば、カメラを含むデバイス、たとえば、図１のシステム１００中のデバイス１０２またはデバイス１０４、および／または図３のデバイス３００、および／または図１〜図１１のいずれかのカメラを含むデバイスは、本出願の図１〜図１１のいずれかに関して説明した、および／または本出願の発明を実施するための形態で説明した個々のステップおよび／または動作の各々に対応するモジュールを含む。いくつかの実施形態では、モジュールはハードウェアで、たとえば、回路の形態で実装される。したがって、少なくともいくつかの実施形態では、モジュールはハードウェアで実装され得、時々実装される。他の実施形態では、モジュールは、デバイス、たとえば、カメラを含むデバイスのプロセッサによって実行されたとき、対応するステップまたは動作をデバイスに実装させるプロセッサ実行可能命令を含むソフトウェアモジュールとして実装され得、時々実装される。さらに他の実施形態では、モジュールの一部または全部が、ハードウェアとソフトウェアの組合せとして実装される。
【０１０１】
[0116]様々な実施形態の技法は、ソフトウェア、ハードウェア、および／またはソフトウェアとハードウェアの組合せを使用して実装され得る。様々な実施形態は、装置、たとえば、カメラを含むスマートフォンなどのカメラを含むデバイス、ＶＬＣアクセスポイント、たとえば、ＬＥＤ  ＶＬＣアクセスポイント、ワイヤレス無線通信をサポートする基地局、ネットワークノード、セルラーおよび／またはピアツーピア通信をサポートするモバイル端末などの他のモバイルノード、たとえば、フェムト基地局およびマクロ基地局を含む基地局などのアクセスポイント、セルラー基地局、非セルラー基地局、ＰＬＣゲートウェイデバイス、および／または通信システムを対象とする。様々な実施形態はまた、方法、たとえば、カメラを含むスマートフォンなどのカメラを含むデバイス、ネットワークノード、ＶＬＣアクセスポイント、ＰＬＣゲートウェイデバイス、モバイルノード、マクロ基地局およびフェムト基地局を含む基地局などのアクセスポイントおよび／または通信システム、たとえば、ホストを制御するおよび／または動作させる方法を対象とする。様々な実施形態はまた、方法の１つまたは複数のステップを実施するように機械を制御するための機械可読命令を含む、機械、たとえば、コンピュータ、可読媒体、たとえば、ＲＯＭ、ＲＡＭ、ＣＤ、ハードディスクなどを対象とする。コンピュータ可読媒体は、たとえば、非一時的コンピュータ可読媒体である。
【０１０２】
[0117]開示したプロセス中のステップの特定の順序または階層は、例示的な手法の一例であることを理解されたい。設計上の選好に基づいて、プロセス中のステップの特定の順序または階層は本開示の範囲内のまま再構成され得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されるものではない。
【０１０３】
[0118]様々な実施形態では、本明細書で説明したノードは、１つまたは複数の方法に対応するステップ、たとえば、信号処理ステップ、信号生成ステップおよび／または送信ステップを実行するための１つまたは複数のモジュールを使用して実装される。したがって、いくつかの実施形態では、様々な機能がモジュールを使用して実装される。そのようなモジュールは、ソフトウェア、ハードウェアまたはソフトウェアとハードウェアの組合せを使用して実装され得る。上記で説明した方法または方法ステップの多くは、たとえば１つまたは複数のノードにおいて、上記で説明した方法の全部または一部を実装するために、追加のハードウェアの有無にかかわらず、機械、たとえば汎用コンピュータを制御する、メモリデバイスなど、たとえば、ＲＡＭ、フロッピー（登録商標）ディスクなどの機械可読媒体中に含まれる、ソフトウェアなどの機械実行可能命令を使用して実装され得る。したがって、特に、様々な実施形態は、機械、たとえば、プロセッサおよび関連するハードウェアに、上記で説明した（１つまたは複数の）方法のステップのうちの１つまたは複数を実行させるための機械実行可能命令を含む機械可読媒体、たとえば、非一時的コンピュータ可読媒体を対象とする。いくつかの実施形態は、本発明の１つまたは複数の方法のステップのうちの１つ、複数またはすべてを実装するように構成されたプロセッサを含むデバイス、たとえば、カメラを含むスマートフォンなどのカメラを含むデバイスを対象とする。
【０１０４】
[0119]いくつかの実施形態では、１つまたは複数のデバイス、たとえば、カメラを含むスマートフォン、ＶＬＣアクセスポイント、ゲートウェイデバイス、ネットワークノード、マクロ基地局およびフェムト基地局を含む基地局などのアクセスノードおよび／またはワイヤレス端末の１つまたは複数のプロセッサ、たとえば、ＣＰＵは、通信ノードによって実行されるものとして説明した方法のステップを実行するように構成される。プロセッサの構成は、プロセッサ構成を制御するために１つまたは複数のモジュール、たとえば、ソフトウェアモジュールを使用することによって、ならびに／あるいは説明したステップを実行するため、および／またはプロセッサ構成を制御するためにハードウェア、たとえば、ハードウェアモジュールをプロセッサ中に含めることによって達成され得る。したがって、すべてとは限らないがいくつかの実施形態は、プロセッサが含まれるデバイスによって実行される様々な説明した方法のステップの各々に対応するモジュールを含むプロセッサをもつデバイス、たとえば、カメラを含むデバイス、たとえば、カメラを含むスマートフォンなどの通信ノードを対象とする。すべてとは限らないがいくつかの実施形態では、デバイス、たとえば、カメラを含むデバイスなどの通信ノードは、プロセッサが含まれるデバイスによって実行される様々な説明した方法のステップの各々に対応するモジュールを含む。モジュールは、ソフトウェアおよび／またはハードウェアを使用して実装され得る。
【０１０５】
[0120]いくつかの実施形態は、１つのコンピュータ、または複数のコンピュータに、様々な機能、ステップ、行為および／または動作、たとえば、上記で説明した１つまたは複数のステップを実装させるためのコードを備えるコンピュータ可読媒体、たとえば、非一時的コンピュータ可読媒体を備えるコンピュータプログラム製品を対象とする。実施形態に応じて、コンピュータプログラム製品は、実行すべきステップごとに異なるコードを含むことができ、時々含む。したがって、コンピュータプログラム製品は、方法、たとえば、通信デバイスまたはノードを制御する方法の個々のステップごとのコードを含むことができ、時々含む。コードは、ＲＡＭ（ランダムアクセスメモリ）、ＲＯＭ（読取り専用メモリ）、または他のタイプのストレージデバイスなどのコンピュータ可読媒体、たとえば、非一時的コンピュータ可読媒体上に記憶される機械実行可能命令、たとえば、コンピュータ実行可能命令の形態であり得る。コンピュータプログラム製品を対象とすることに加えて、いくつかの実施形態は、上記で説明した１つまたは複数の方法の様々な機能、ステップ、行為および／または動作のうちの１つまたは複数を実装するように構成されたプロセッサを対象とする。したがって、いくつかの実施形態は、本明細書で説明した方法のステップの一部または全部を実装するように構成されたプロセッサ、たとえばＣＰＵを対象とする。プロセッサは、たとえば、本出願で説明した通信デバイスまたは他のデバイス中で使用するためのものであり得る。
【０１０６】
[0121]様々な実施形態は、ワイヤレス無線通信とＶＬＣシグナリングの両方をサポートする通信システムに好適である。ＯＦＤＭシステムに関して説明したが、様々な実施形態の方法および装置のうちの少なくともいくつかは、多くの非ＯＦＤＭおよび／または非セルラーシステムを含む広範囲の通信システムに適用可能である。
【０１０７】
[0122]上記の説明に鑑みて、上記で説明した様々な実施形態の方法および装置に関する多数の追加の変形形態が当業者には明らかであろう。そのような変形形態は範囲内に入ると考えるべきである。本方法および本装置は、符号分割多元接続（ＣＤＭＡ）、ＯＦＤＭ、および／または通信デバイス間のワイヤレス通信リンクを与えるために使用され得る様々な他のタイプの通信技法とともに使用され得、様々な実施形態では使用される。いくつかの実施形態では、１つまたは複数の通信デバイスは、ＶＬＣシグナリング、ＯＦＤＭおよび／またはＣＤＭＡを使用してモバイルノードとの通信リンクを確立し、ならびに／あるいはワイヤードまたはワイヤレス通信リンクを介してインターネットまたは別のネットワークへの接続性を与え得る、ＶＬＣアクセスポイント、ワイヤレス無線セルラーマクロ基地局、ワイヤレス無線フェムト基地局および／またはワイヤレス無線非セルラー基地局などのアクセスポイントとして実装される。様々な実施形態では、モバイルノードは、本方法を実装するための、受信機／送信機回路ならびに論理および／またはルーチンを含む、カメラを含むスマートフォン、カメラを含むノートブックコンピュータ、カメラを含む個人情報端末（ＰＤＡ）、またはカメラを含む他のポータブルデバイスとして実装される。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスを使用する方法であって、
ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計すること、前記ピクセル値合計のうちの少なくともいくつかは、前記ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の前記第１のアレイに対して第１の復調動作を実行することと
を備える、方法。
［Ｃ２］
前記復元された情報は、第１のシンボル値を含み、様々な情報は、時間期間にわたって前記ＶＬＣ信号から復元される、
Ｃ１に記載の方法。
［Ｃ３］
前記ピクセル値合計のアレイは、時間期間にわたって測定された時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す、
Ｃ１に記載の方法。
［Ｃ４］
前記第１のシンボル値が生成された第１のシンボルに対応する前記ＶＬＣ信号の前記一部分は、前記画像センサーによってキャプチャされたフレームの前記持続時間以下の持続時間を有する、
Ｃ２に記載の方法。
［Ｃ５］
前記画像センサーは、有効化されると自動露光を無効化する自動露光ロックをサポートするカメラの一部であり、前記方法は、
前記自動露光ロックをアクティブ化することと、
固定露光時間設定を使用して前記ピクセル値をキャプチャすることと
をさらに備える、Ｃ１に記載の方法。
［Ｃ６］
前記送信されたＶＬＣ信号は、１５０Ｈｚ以上のトーン周波数に対応するピュアトーンまたは方形波を含み、前記ＶＬＣ信号の最低周波数成分は、１５０Ｈｚ、またはそれより大きい、
Ｃ１に記載の方法。
［Ｃ７］
所定の数のシンボルを含むコードワードの開始を検出することをさらに備え、前記検出することは、
フレームの持続時間以下の持続時間を有する所定のＶＬＣ同期信号を検出することと、
前記ＶＬＣ同期信号を前記コードワードの前記開始の識別子として解釈することと
を含む、Ｃ１に記載の方法。
［Ｃ８］
可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスであって、前記方法は、
ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計するための手段、前記ピクセル値合計のうちの少なくともいくつかは、前記ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の前記第１のアレイに対して第１の復調動作を実行するための手段と
を備える、デバイス。
［Ｃ９］
前記復元された情報は、第１のシンボル値を含み、様々な情報は、時間期間にわたって前記ＶＬＣ信号から復元される、
Ｃ８に記載のデバイス。
［Ｃ１０］
前記ピクセル値合計のアレイは、時間期間にわたって測定された時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す、
Ｃ８に記載のデバイス。
［Ｃ１１］
前記第１のシンボル値が生成された第１のシンボルに対応する前記ＶＬＣ信号の前記一部分は、前記画像センサーによってキャプチャされたフレームの前記持続時間以下の持続時間を有する、
Ｃ９に記載のデバイス。
［Ｃ１２］
前記画像センサーは、有効化されると自動露光を無効化する自動露光ロックをサポートするカメラの一部であり、前記デバイスは、
前記自動露光ロックをアクティブ化するための手段と、
固定露光時間設定を使用して前記ピクセル値をキャプチャするための手段と
をさらに備える、Ｃ８に記載のデバイス。
［Ｃ１３］
前記送信されたＶＬＣ信号は、１５０Ｈｚ以上のトーン周波数に対応するピュアトーンまたは方形波を含み、前記ＶＬＣ信号の最低周波数成分は、１５０Ｈｚ、またはそれより大きい、
Ｃ８に記載のデバイス。
［Ｃ１４］
所定の数のシンボルを含むコードワードの開始を検出するための手段をさらに備え、前記検出するための手段は、
フレームの持続時間以下の持続時間を有する所定のＶＬＣ同期信号を検出するための手段と、
前記ＶＬＣ同期信号を前記コードワードの前記開始の識別子として解釈するための手段と
を含む、Ｃ８に記載のデバイス。
［Ｃ１５］
可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイス中で使用するコンピュータプログラム製品であって、
少なくとも１つのコンピュータに、ピクセル値合計の第１のアレイを生成するために画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計することを行わせるためのコード、前記ピクセル値合計のうちの少なくともいくつかは、前記ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記少なくとも１つのコンピュータに、前記ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の前記第１のアレイに対して第１の復調動作を実行することを行わせるためのコードと
を備える非一時的コンピュータ可読媒体、
を備えるコンピュータプログラム製品。
［Ｃ１６］
可視光通信（ＶＬＣ）信号を受信し、それから情報を復元するカメラを含むデバイスであって、
画像センサーと、
ピクセル値合計の第１のアレイを生成するために前記画像センサーの第１の領域に対応するピクセル値の各行中のピクセル値を合計すること、前記ピクセル値合計のうちの少なくともいくつかは、前記ＶＬＣ光信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記ＶＬＣ信号によって通信される情報を復元するためにピクセル値合計の前記第１のアレイに対して第１の復調動作を実行することと
を行うように構成され、前記画像センサーに結合された少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリと
を備える、デバイス。
［Ｃ１７］
前記復元された情報は、第１のシンボル値を含み、様々な情報は、時間期間にわたって前記ＶＬＣ信号から復元される、
Ｃ１６に記載のデバイス。
［Ｃ１８］
前記ピクセル値合計のアレイは、時間期間にわたって測定された時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す、
Ｃ１６に記載のデバイス。
［Ｃ１９］
前記第１のシンボル値が生成された第１のシンボルに対応する前記ＶＬＣ信号の前記一部分は、前記画像センサーによってキャプチャされたフレームの前記持続時間以下の持続時間を有する、
Ｃ１７に記載のデバイス。
［Ｃ２０］
前記画像センサーは、前記カメラの一部であり、前記カメラは、有効化されると自動露光を無効化する自動露光ロックをサポートし、前記少なくとも１つのプロセッサは、
前記自動露光ロックをアクティブ化することと、
固定露光時間設定を使用して前記ピクセル値をキャプチャすることと
を行うようにさらに構成された、Ｃ１６に記載のデバイス。
【図１】
0006388906.tif 000002
【図２】
0006388906.tif 000003
【図２Ａ】
0006388906.tif 000004
【図２Ｂ】
0006388906.tif 000005
【図２Ｃ】
0006388906.tif 000006
【図３】
0006388906.tif 000007
【図４】
0006388906.tif 000008
【図４Ａ】
0006388906.tif 000009
【図４Ｂ】
0006388906.tif 000010
【図４Ｃ】
0006388906.tif 000011
【図５】
0006388906.tif 000012
【図５Ａ】
0006388906.tif 000013
【図５Ｂ】
0006388906.tif 000014
【図６】
0006388906.tif 000015
【図６Ａ】
0006388906.tif 000016
【図６Ｂ】
0006388906.tif 000017
【図７】
0006388906.tif 000018
【図８】
0006388906.tif 000019
【図９】
0006388906.tif 000020
【図１０】
0006388906.tif 000021
【図１１】
0006388906.tif 000022