(58)【調査した分野】(Int.Cl.,DB名)
前記VLC信号は、150Hz以上のトーン周波数に対応するピュアトーンまたは方形波を含み、前記VLC信号の最低周波数成分は、150Hz、またはそれより大きい、
請求項1乃至5のいずれか1項に記載の方法。
前記VLC信号は、150Hz以上のトーン周波数に対応するピュアトーンまたは方形波を含み、前記VLC信号の最低周波数成分は、150Hz、またはそれより大きい、
請求項8乃至12いずれか1項に記載のデバイス。
【発明を実施するための形態】
【0009】
[0025]
図1は、例示的な実施形態による、VLC通信をサポートする例示的な通信システム100を含む。例示的な通信システム100は、カメラを含む複数のデバイス(カメラ1 114を含むデバイス1 102、たとえば、スマートフォン1、...、カメラN124を含むデバイスN104、たとえば、スマートフォンN)と、複数のVLCアクセスポイント(VLCアクセスポイント1 106、...、VLCアクセスポイントN108)と、複数のワイヤレス基地局(ワイヤレス基地局1 110、...、ワイヤレス基地局N112)とを含む。いくつかの実施形態では、VLCアクセスポイントは、発光ダイオード(LED)アクセスポイントである。いくつかの実施形態では、VLCアクセスポイントのうちの少なくともいくつかは、室内のあるエリアを照らすことと、VLC信号を使用して情報を通信することとの両方を行う働きをする。例示的な通信システム100は、PLCゲートウェイ105など、複数の電力線通信(PLC)ゲートウェイデバイスをさらに含む。PLCゲートウェイデバイス105は、電力線リンク107を介してVLCアクセスポイントN108に結合される。
【0010】
[0026]デバイス1 102とデバイスN104とは、システム100を通って移動し得るモバイル通信デバイスである。異なる時間に、モバイル通信デバイス(102、...、104)は、システム中の異なるロケーションにあり得、VLCアクセスポイントとワイヤレス基地局との異なるセットの範囲内にあり得る。
【0011】
[0027]デバイス1 102、たとえば、スマートフォンは、様々な要素(114、116、118、120、122)がデータと情報とを交換し得るバス146を介して互いに結合されたカメラ114と、プロセッサ116と、メモリ118と、ワイヤレス無線インターフェース120と、ネットワークインターフェースモジュール122とを含む。デバイスN104、たとえば、スマートフォンは、様々な要素(124、126、128、130、132)がデータと情報とを交換し得るバス147を介して互いに結合されたカメラ124と、プロセッサ126と、メモリ128と、ワイヤレス無線インターフェース130と、ネットワークインターフェースモジュール132とを含む。
【0012】
[0028]VLCアクセスポイント1 106は、VLC信号150を生成し、送信する。一例では、VLC信号150は、VLCアクセスポイント1 106に対応する識別子を通信する。VLC信号150は、デバイス1 102によって検出され、処理される。VLC信号150中で通信される復元されるデータは、ワイヤレス基地局1 110にアンテナ121を介して送信される出力アップリンク信号152中で通信され得、時々通信される。デバイス1 102はまた、ワイヤレス基地局1 110からダウンリンク信号154を受信する。
【0013】
[0029]PLCゲートウェイデバイス105は、デバイスN104に通信されるべき情報を、インターネットおよび/または他のネットワークノードを含むバックホールネットワークを介して受信する。PLCゲートウェイデバイス105は、VLCアクセスポイントN108に電力線107を介してPLC信号によって情報を通信する。VLCアクセスポイントN108は、受信されたPLC信号からデバイスN104に通信されるべき情報を復元し、VLC信号156にデバイスN104に通信されるべき情報を符号化する。VLCアクセスポイントN108は、デバイスN104に生成されたVLC信号156を送信する。VLC信号156は、デバイスN104によって検出され、処理される。VLC信号156中で通信される復元されるデータは、ワイヤレス基地局N112にアンテナ131を介して送信される出力アップリンク信号158中で通信され得、時々通信される。デバイスN104はまた、ワイヤレス基地局N112からダウンリンク信号160を受信する。
【0014】
[0030]
図2Aと、
図2Bと、
図2Cとの組合せからなる
図2は、様々な例示的な実施形態による、可視光通信(VLC)信号を受信し、それから情報を復元するカメラを含むデバイスを動作する例示的な方法のフローチャート200である。カメラは、たとえば、ローリングシャッターをもつカメラである。様々な実施形態では、カメラを含むデバイスは、たとえば、スマートフォンである。いくつかの実施形態では、カメラは、有効化されると自動露光を無効化する自動露光ロックをサポートする。自動露光モードでは、露光時間は、一般に、光強度に応じて変動し、これは、VLC信号から情報を復元するのに望ましくない。例示的な方法の動作はステップ202において開始し、ステップ202において、カメラが電源投入され、初期化される。
【0015】
[0031]動作はステップ202からステップ204に進み、デバイスは自動露光ロックをアクティブ化する。動作はステップ204からステップ206に進み、デバイスは固定露光時間設定を使用してピクセル値をキャプチャする。いくつかの実施形態では、固定露光設定、たとえば、30フレーム毎秒(fps)は、カメラによってあらかじめ決定される。これは重要であり、その結果、異なる行およびフレームに対して露光時間が一様になり、その結果、サンプリングの周波数が復元されたシンボルの決定された周波数に影響を及ぼさず、たとえば、それによって、サンプリング時間の変化による周波数シフトを回避する。動作はステップ206からステップ208に進む。ステップ208において、デバイスは、所定の数のシンボルを含むコードワードの開始を検出する。ステップ208はステップ210および212を含む。ステップ210において、デバイスは、フレームの持続時間以下の持続時間を有する所定のVLC同期信号を検出する。いくつかの実施形態では、所定の同期信号は、公称低強度光出力である。いくつかの他の実施形態では、所定の同期化信号は、完全オフ光出力である。様々な実施形態では、公称低強度光出力は近傍にいる人間観測者にとってあまり不快にならないので、完全オフ信号の代わりに公称低強度光出力が同期のために使用される。いくつかの他の実施形態では、同期信号は、パターンが受信機に知られている一連の光強度パルスである。動作はステップ210からステップ212に進む。ステップ212において、デバイスは、VLC同期信号をコードワードの開始の識別子として解釈する。動作はステップ208から接続ノードA214を介してステップ216に進む。
【0016】
[0032]ステップ216において、デバイスは、画像センサーの第1の領域として、センサー中のピクセルセンサー要素の第1のサブセットを識別し、VLC信号は、第1のフレーム中に可視である。動作はステップ216からステップ218に進む。ステップ218において、デバイスは、ピクセル値合計の第1のアレイを生成するためにピクセルセンサーの第1の領域に対応するピクセル値の各行中のピクセル値を合計すること、ピクセル値合計のうちの少なくともいくつかが、VLC光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、を行う。動作はステップ218からステップ220に進む。ステップ220において、デバイスは、VLC信号によって通信される情報を復元するためにピクセル値合計の第1のアレイに対して第1の復調動作を実行する。
【0017】
[0033]いくつかの実施形態では、復元された情報は、第1のシンボル値を含み、様々な情報が、時間期間にわたってVLC信号から復元される。いくつかの実施形態では、ピクセル値合計の第1のアレイは、時間期間にわたって測定された時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す。
【0018】
[0034]いくつかの実施形態では、第1のシンボル値が生成された第1のシンボルに対応するVLC信号の一部分は、画像センサーによってキャプチャされたフレームの持続時間以下の持続時間を有する。
【0019】
[0035]いくつかの実施形態では、ステップ220はステップ222および224を含む。他の実施形態では、ステップ220はステップ226および228を含む。
【0020】
[0036]いくつかの実施形態では、送信されたVLC信号は、150Hz以上のトーン周波数に対応するピュアトーンまたは方形波を含み、VLC信号の最低周波数成分は150Hz、またはそれより大きい。いくつかの実施形態では、送信されたVLC信号は、150Hz以上のトーン周波数に対応するピュアトーンまたは方形波を含み、VLC信号の最低周波数成分は150Hzよりも大きい。いくつかの実施形態では、送信されたVLC信号は、2値振幅(オンまたはオフ)をもつデジタル変調信号である。いくつかのそのような実施形態では、送信されたVLC信号は、周波数成分が少なくとも150Hzである2値オンオフ信号をもつデジタル変調信号である。ステップ222に戻ると、ステップ222において、デバイスは、通信されているトーンの周波数を決定すること、各代替周波数は、異なるシンボル値に対応する、を行う。動作はステップ222からステップ224に進む。ステップ224において、デバイスは、所定のマッピングに従って決定されたトーン周波数に対応するビットシーケンスを決定する。
【0021】
[0037]いくつかの他の実施形態では、光強度パルスの際の位置が、復調され、情報ビットにマッピングされる。いくつかのそのような実施形態では、コードワードは、復元されたビットのシーケンスである。
【0022】
[0038]ステップ226に戻ると、ステップ226において、デバイスは、変調されたシンボルを復元するために、OFDM復調、CDMA復調、パルス位置変調(PPM)復調、またはオンオフキーイング復調のうちの1つを実行する。動作は、ステップ226からステップ228に進み、デバイスは、ビットへのシンボルの所定のマッピングに従って復元された変調されたシンボルからビットシーケンスを決定する。
【0023】
[0039]動作は、ステップ220から接続ノードB230を介してステップ232に進む。ステップ232において、デバイスは、追加のフレーム処理を実行し、そこからシンボル値を生成する。動作はステップ232からステップ234に進む。ステップ234において、カメラは、追加のフレーム処理から生成されたシンボル値から追加の情報ビットを復元する。動作はステップ234からステップ236に進む。
【0024】
[0040]ステップ236において、デバイスは、画像センサー中のピクセルセンサー要素の第2のサブセットに対応するセンサーの第2の領域を識別し、VLC信号は、第2の時間フレーム中に可視である、第1の領域と第2の領域とは異なる。様々な実施形態では、カメラを含むデバイスがVLC送信機デバイス、たとえば、VLC信号を送信するVLCアクセスポイントに対して移動したので、デバイスは、画像センサーの第2の領域を識別する。いくつかのそのような実施形態では、デバイスは、カメラの検出された動き、たとえば、自己検出された動きに応答して画像センサーの第2の領域を識別する。いくつかのそのような実施形態では、デバイスは、以前に処理されたフレームから情報を正常に復元することの失敗に応答して画像センサーの第2の領域を識別する。動作はステップ236からステップ238に進む。ステップ238において、デバイスは、ピクセル値合計の第2のアレイを生成するためにピクセルセンサーの第2の領域に対応するピクセル値の各行中のピクセル値を合計すること、ピクセル値合計のうちの少なくともいくつかが、VLC光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、を行う。動作はステップ238からステップ240に進む。ステップ240において、デバイスは、VLC信号によって通信される情報を復元するためにピクセル値合計の第2のアレイに対して第2の復調動作を実行する。いくつかの実施形態では、ステップ240はステップ242および244を含む。他の実施形態では、ステップ240はステップ246および248を含む。
【0025】
[0041]ステップ242に戻ると、ステップ242において、デバイスは、通信されているトーンの周波数を決定すること、各代替周波数は、異なるシンボル値に対応する、を行う。動作はステップ242からステップ244に進む。ステップ244において、デバイスは、所定のマッピングに従って決定されたトーン周波数に対応するビットシーケンスを決定する。
【0026】
[0042]ステップ246に戻ると、ステップ246において、デバイスは、変調されたシンボルを復元するために、OFDMまたはCDMA復調、パルス位置変調(PPM)復調、あるいはオンオフキーイング復調のうちの1つを実行する。動作は、ステップ246からステップ248に進み、デバイスは、ビットへのシンボルの所定のマッピングに従って復元された変調されたシンボルからビットシーケンスを決定する。
【0027】
[0043]動作はステップ240からステップ250に進み、デバイスは、さらなる追加のフレーム処理を実行し、そこからシンボルを生成する。動作はステップ250からステップ252に進む。ステップ252において、カメラは、さらなる追加のフレーム処理から生成されたシンボル値から追加の情報ビットを復元する。
【0028】
[0044]いくつかの実施形態では、デバイスは、VLC同期信号とVLCデータ信号とに加えてVLCパイロット信号を受信する。いくつかのそのような実施形態では、VLCパイロット信号は、所定の周波数にあるトーンである。いくつかの実施形態では、VLCパイロット信号は、同期の後のフレーム中で送信される。様々な実施形態では、デバイスは、パイロット信号トーンの周波数を測定し、それを予想される周波数と比較し、検出された偏差の量に応答して調整、たとえば、較正を実行する、たとえば、サンプリングレートを調整する。
【0029】
[0045]いくつかの実施形態では、デバイスが、画像の最も明るい領域中でVLC信号を検出し、正常に復号することができない場合、デバイスは、VLC信号を復元しようと試みて処理されるべき画像の領域を識別するためのテスト基準を修正する。たとえば、デバイスは、通信されているVLC信号を処理し、復元しようと試みるために、画像中の第2の最も明るい連続領域を識別し得る。
【0030】
[0046]
図3は、様々な例示的な実施形態による、カメラ301を含む例示的なデバイス300の図である。デバイス300は、たとえば、
図1のシステム100のカメラを含むデバイス(デバイス1 102、...、デバイスN104)のうちの1つ、たとえば、スマートフォンである。例示的なデバイス300は、
図2のフローチャート200による方法を実装し得、時々実装する。
【0031】
[0047]デバイス300は、様々な要素(301、302、304、306、308)がデータと情報とを交換し得るバス309を介して互いに結合されたカメラ301と、プロセッサ302と、メモリ304と、入力モジュール306と、出力モジュール308とを含む。いくつかの実施形態では、メモリ304は、ルーチン311とデータ/情報313とを含む。いくつかの実施形態では、入力モジュール306と出力モジュール308とはプロセッサ302の内部に配置される。
【0032】
[0048]カメラ301は、レンズ350と、ローリングシャッター352と、画像センサーである光検出器アレイ354と、ローリングシャッター制御モジュール356と、光検出器読出しモジュール358と、自動露光ロックアクティブ化モジュール360と、インターフェースモジュール362とを含む。ローリングシャッター制御モジュール356と、光検出器読出しモジュール358と、インターフェースモジュール362とは、バス364を介して互いに結合される。いくつかの実施形態では、カメラ301は、自動露光ロックアクティブ化モジュール360をさらに含む。ローリングシャッター制御モジュール356と、光検出器読出しモジュール358と、自動露光ロックアクティブ化モジュール360とは、バス309と、インターフェースモジュール362と、バス364とを介してプロセッサ302から制御メッセージを受信し得、時々受信する。光検出器読出しモジュール358は、バス364と、インターフェースモジュール362と、バス309とを介してプロセッサ302に光検出器アレイ354の読出し情報を通信する。したがって、画像センサー、光検出器アレイ354は、光検出器読出しモジュール358と、バス364と、インターフェースモジュール362と、バス309とを介してプロセッサ302に結合される。
【0033】
[0049]ローリングシャッター制御モジュール356は、たとえば、プロセッサ302の指示に従って異なる時間に入力光に画像センサーの異なる行を露光するようにローリングシャッター350を制御する。光検出器読出しモジュール358は、プロセッサに、情報、たとえば、画像センサーのピクセルに対応するピクセル値を出力する。
【0034】
[0050]入力モジュール306は、ワイヤレス無線受信機モジュール310と、ワイヤードおよび/または光受信機インターフェースモジュール314とを含む。出力モジュール308は、ワイヤレス無線送信機モジュール312と、ワイヤードおよび/または光受信機インターフェースモジュール316とを含む。ワイヤレス無線受信機モジュール310、たとえば、OFDMおよび/またはCDMAをサポートする無線受信機は、受信アンテナ318を介して入力信号を受信する。ワイヤレス無線送信機モジュール312、たとえば、OFDMおよび/またはCDMAをサポートする無線送信機は、送信アンテナ320を介して出力信号を送信する。いくつかの実施形態では、同じアンテナが送信と受信とのために使用される。ワイヤードおよび/または光受信機インターフェースモジュール314は、たとえば、バックホールを介してインターネットおよび/または他のネットワークノードに結合され、入力信号を受信する。ワイヤードおよび/または光送信機インターフェースモジュール316は、たとえば、バックホールを介してインターネットおよび/または他のネットワークノードに結合され、出力信号を送信する。
【0035】
[0051]様々な実施形態では、プロセッサ302は、ピクセル値合計の第1のアレイを生成するために画像センサーの第1の領域に対応するピクセル値の各行中のピクセル値を合計することと、ピクセル値合計のうちの少なくともいくつかが、VLC光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、VLC信号によって通信される情報を復元するためにピクセル値合計の第1のアレイに対して第1の復調動作を実行することとを行うように構成される。
【0036】
[0052]いくつかの実施形態では、プロセッサ302は、画像センサーの第1の領域として、センサー中のピクセルセンサー要素の第1のサブセットを識別するようにさらに構成され、VLC信号は、第1のフレーム中に可視である。いくつかのそのような実施形態では、プロセッサは、画像センサー中のピクセルセンサー要素の第2のサブセットに対応するセンサーの第2の領域を識別するようにさらに構成され、VLC信号は、第2の時間フレーム中に可視であり、第1の領域と第2の領域とは異なる。いくつかのそのような実施形態では、プロセッサ302は、ピクセル値合計の第2のアレイを生成するために画像センサーの第2の領域に対応するピクセル値の各行中のピクセル値を合計することと、第2のアレイ中のピクセル値合計のうちの少なくともいくつかが、VLC光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、VLC信号によって通信される情報を復元するためにピクセル値合計の第2のアレイに対して第2の復調動作を実行することとをさらに行うように構成され、第1の復調動作は第1のシンボル値を生成し、第2の復調は第2のシンボル値を生成する。
【0037】
[0053]様々な実施形態では、復元された情報は、第1のシンボル値を含み、様々な情報が、時間期間にわたってVLC信号から復元される。いくつかの実施形態では、ピクセル値合計のアレイは、時間期間にわたって測定された時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す。様々な実施形態では、第1のシンボル値が生成された第1のシンボルに対応するVLC信号の一部分は、画像センサーによってキャプチャされたフレームの持続時間以下の持続時間を有する。
【0038】
[0054]いくつかの実施形態では、プロセッサ302は、復調動作を実行するように構成されることの一部として、複数の代替周波数の中から周波数を識別するように構成される。いくつかの実施形態では、送信されたVLC信号は、150Hz以上のトーン周波数に対応するピュアトーンまたは方形波を含み、VLC信号の最低周波数成分は150Hz、またはそれより大きい。いくつかの実施形態では、送信されたVLC信号は、150Hzよりも大きいトーン周波数に対応するピュアトーンまたは方形波を含み、VLC信号の最低周波数成分は150Hzよりも大きい。いくつかの実施形態では、送信されたVLC信号は、2値振幅(オンまたはオフ)をもつデジタル変調信号である。いくつかのそのような実施形態では、送信されたVLC信号は、周波数成分が少なくとも150Hzである2値オンオフ信号をもつデジタル変調信号である。
【0039】
[0055]いくつかの実施形態では、プロセッサ302は、復調動作を実行するように構成されることの一部として、OFDM復調、CDMA復調、パルス位置変調(PPM)復調、またはオンオフキーイング復調のうちの1つを実行するように構成される。
【0040】
[0056]いくつかの実施形態では、画像センサーは、有効化されると自動露光を無効化する自動露光ロックをサポートするカメラの一部であり、プロセッサ302は、自動露光ロックをアクティブ化することと、固定露光時間設定を使用してピクセル値をキャプチャすることとを行うようにさらに構成される。
【0041】
[0057]いくつかの実施形態では、プロセッサ302は、所定の数のシンボルを含むコードワードの開始を検出することを行うようにさらに構成される。いくつかのそのような実施形態では、プロセッサ302は、コードワードの開始を検出するように構成されることの一部として、フレームの持続時間以下の持続時間を有する所定のVLC同期信号を検出することと、VLC同期信号をコードワードの開始の識別子として解釈することとを行うように構成される。
【0042】
[0058]
図4Aと、
図4Bと、
図4Cとの組合せからなる
図4は、
図3に示したカメラを含む例示的なデバイス300で使用され得、いくつかの実施形態では使用される、部分A401と部分B403と部分C405との組合せを備えるモジュールのアセンブリ400を示す図である。アセンブリ400中のモジュールは、たとえば、個別回路として、
図3のプロセッサ302内のハードウェアで実装され得る。代替として、それらのモジュールはソフトウェアで実装され、
図3に示すデバイス300のメモリ304に記憶され得る。いくつかのそのような実施形態では、モジュールのアセンブリ400は、
図3のデバイス300のメモリ304のルーチン411中に含まれる。
図3の実施形態ではシングルプロセッサ、たとえば、コンピュータとして示されているが、プロセッサ302は、1つまたは複数のプロセッサ、たとえば、コンピュータとして実装され得ることを諒解されたい。ソフトウェアで実装されるとき、それらのモジュールはコードを含み、そのコードは、プロセッサによって実行されたとき、プロセッサ302、たとえば、コンピュータを、そのモジュールに対応する機能を実装するように構成する。いくつかの実施形態では、プロセッサ302は、モジュールのアセンブリ400のうちのモジュールの各々を実装するように構成される。モジュールのアセンブリ400がメモリ304に記憶されるいくつかの実施形態では、メモリ304は、少なくとも1つのコンピュータ、たとえば、プロセッサ302に、モジュールが対応する機能を実装させるためのコード、たとえば、モジュールごとの個別コードを備えるコンピュータ可読媒体、たとえば、非一時的コンピュータ可読媒体を備えるコンピュータプログラム製品である。
【0043】
[0059]完全にハードウェアベースのまたは完全にソフトウェアベースのモジュールが使用され得る。ただし、機能を実装するために、ソフトウェアモジュールとハードウェア(たとえば、回路実装)モジュールの任意の組合せが使用され得ることを諒解されたい。
図4に示すモジュールは、
図2のフローチャート200の方法において図示および/または説明する対応するステップの機能を実行するようにデバイス300、またはプロセッサ302などのデバイス300中の要素を制御および/または構成することを諒解されたい。
【0044】
[0060]モジュールのアセンブリ400は、部分A401と部分B403と部分C405との組合せを備える。モジュールのアセンブリ400は、自動露光ロックをアクティブ化するように構成されたモジュール404と、固定露光時間を使用してピクセル値をキャプチャするように構成されたモジュール406と、所定の数のシンボルを含むコードワードの開始を検出するように構成されたモジュール408とを含む。モジュール408は、フレームの持続時間以下の持続時間を有する所定のVLC同期信号を検出するように構成されたモジュール410と、VLC同期信号をコードワードの開始の識別子として解釈するように構成されたモジュール412とを含む。
【0045】
[0061]モジュールのアセンブリ400は、画像センサーの第1の領域として、センサー中のピクセルセンサー要素の第1のサブセットを識別するように構成されたモジュール416、ここで、VLC信号は、第1の時間フレーム中に可視である、と、ピクセル値合計の第1のアレイを生成するために画像センサーの第1の領域に対応するピクセル値の各行中のピクセル値合計を合計すること、ピクセル値合計のうちの少なくともいくつかが、VLC光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、を行うように構成されたモジュール418とをさらに含む。モジュールのアセンブリ400は、VLC信号によって通信される情報を復元するためにピクセル値合計の第1のアレイに対して第1の復調動作を実行することを行うように構成されたモジュール420をさらに含む。モジュール420は、通信されているトーンの周波数を決定すること、各代替周波数は、異なるシンボル値に対応する、を行うように構成されたモジュール422と、所定のマッピングに従って決定されたトーン周波数に対応するビットシーケンスを決定することを行うように構成されたモジュール424とを含む。モジュール420は、変調されたシンボルを復元するために、OFDM復調、CDMA復調、パルス位置変調(PPM)復調、またはオンオフキーイング復調のうちの1つを実行することを行うように構成されたモジュール426と、ビットへのシンボルの所定のマッピングに従って復元された変調されたシンボルからビットシーケンスを決定することを行うように構成されたモジュール428とをさらに含む。
【0046】
[0062]モジュールのアセンブリ400は、追加のフレーム処理を実行し、そこからシンボル値を生成することを行うように構成されたモジュール432と、追加のフレーム処理から生成されたシンボル値から追加の情報ビットを復元することを行うように構成されたモジュール434とをさらに含む。モジュールのアセンブリ400は、画像センサー中のピクセルセンサー要素の第2のサブセットに対応するセンサーの第2の領域を識別するように構成されたモジュール436、ここで、VLC信号は、第2の時間フレーム中に可視である、第1の領域と第2の領域とは異なる、と、ピクセル値合計の第2のアレイを生成するために画像センサーの第2の領域に対応するピクセル値の各行中のピクセル値合計を合計すること、ピクセル値合計のうちの少なくともいくつかが、VLC光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、を行うように構成されたモジュール438と、VLC信号によって通信される情報を復元するためにピクセル値合計の第2のアレイに対して第2の復調動作を実行することを行うように構成されたモジュール440とをさらに含む。モジュール440は、通信されているトーンの周波数を決定すること、各代替周波数は、異なるシンボル値に対応する、を行うように構成されたモジュール442と、所定のマッピングに従って決定されたトーン周波数に対応するビットシーケンスを決定することを行うように構成されたモジュール444とを含む。モジュール440は、変調されたシンボルを復元するために、OFDM復調、CDMA復調、パルス位置変調(PPM)復調、またはオンオフキーイング復調のうちの1つを実行することを行うように構成されたモジュール446と、ビットへのシンボルの所定のマッピングに従って復元された変調されたシンボルからビットシーケンスを決定することを行うように構成されたモジュール448とをさらに含む。
【0047】
[0063]モジュールのアセンブリ400は、さらなる追加のフレーム処理を実行し、そこからシンボル値を生成することを行うように構成されたモジュール450と、さらなる追加のフレーム処理から生成されたシンボル値から追加の情報ビットを復元することを行うように構成されたモジュール452とをさらに含む。
【0048】
[0064]いくつかの実施形態では、モジュールのアセンブリ400は、パイロット信号を検出することを行うように構成されたモジュール454と、検出されたパイロット信号に応答して調整を実行することを行うように構成されたモジュール456とをさらに含む。いくつかの実施形態では、モジュール454は、検出されたパイロット信号トーンの周波数を推定する。いくつかの実施形態では、モジュール456は、パイロットトーンの予想される周波数と、モジュール454から取得された周波数推定値を比較して、推定された周波数からの推定された周波数の偏差の量に基づいてクロックレートとサンプリングレートとのうちの少なくとも1つを調整する。様々な実施形態では、モジュールのアセンブリは、VLC信号を通信していると思われる画像のエリアを識別するために使用されるしきい値を調整することを行うように構成されたモジュール458をさらに含む。
【0049】
[0065]いくつかの実施形態では、第1の復調動作は、第1のシンボル値を生成し、第2の復調動作は、第2のシンボル値を生成する。様々な実施形態では、復元された情報は、第1のシンボル値を含み、様々な情報が、時間期間にわたってVLC信号から復元される。
【0050】
[0066]いくつかの実施形態では、ピクセル値のアレイは、時間期間にわたる時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す。
【0051】
[0067]様々な実施形態では、第1のシンボル値が生成される第1のシンボルに対応するVLC信号の一部分は、画像センサーによってキャプチャされたフレームの持続時間以下の持続時間を有する。いくつかの実施形態では、送信されたVLC信号は、150Hz以上のトーン周波数に対応するピュアトーンまたは方形波を含み、VLC信号の最低周波数成分は、150Hz、またはそれより大きい。いくつかの実施形態では、送信されたVLC信号は、150Hzよりも大きいトーン周波数に対応するピュアトーンまたは方形波を含み、信号の最低周波数成分は150Hzよりも大きい。いくつかの実施形態では、送信されたVLC信号は、2値振幅(オンまたはオフ)をもつデジタル変調信号である。いくつかのそのような実施形態では、送信されたVLC信号は、周波数成分が少なくとも150Hzである2値オンオフ信号をもつデジタル変調信号である。
【0052】
[0068]
図5Aと、
図5Bとの組合せからなる
図5は、様々な例示的な実施形態による、可視光通信(VLC)信号を受信し、それから情報を復元するカメラを含むデバイスを使用する例示的な方法のフローチャート500である。動作はステップ502において開始し、デバイスが電源投入され、初期化される。いくつかの実施形態では、デバイスは、自動露光ロック特徴を含み、動作は、ステップ502からステップ504に進み、デバイスは、自動露光ロックをアクティブ化する。これは、所定の時間、たとえば、30フレーム毎秒(fps)にフレームタイミングを固定する。動作はステップ504からステップ506に進む。ステップ502に戻ると、いくつかの実施形態では、デバイスは、自動露光ロックを含まず、動作は、ステップ502からステップ506に進む。
【0053】
[0069]ステップ506において、デバイスは、たとえば、1つまたは複数のフレームに対応するピクセル値をキャプチャする。動作は、ステップ506からステップ508に進み、デバイスは、ピクセルセンサーの視界領域を識別し、ここで、VLC光信号のソースは可視である。動作はステップ508からステップ510に進む。
【0054】
[0070]ステップ510において、デバイスは、ピクセルセンサーの識別された視界領域中で同期信号を検出する。いくつかの実施形態では、送信された同期信号は、ヌル信号であり、たとえば、光送信機が、所定の時間間隔の間オフにされる。いくつかの実施形態では、同期信号は、所定の電力レベルで送信される低電力信号であり、たとえば、光送信機は、より低いレベルで送信し、時間的に変動しない。動作はステップ510からステップ512に進み、いくつかの実施形態では、ステップ514に進む。ステップ514において、デバイスは、同期信号が送信された時間中のピクセルセンサーの識別された視界領域上のDCオフセット、たとえば、バックグラウンド光強度を推定する。
【0055】
[0071]ステップ512に戻ると、ステップ512において、デバイスは、ピクセルセンサーの識別された視界中での同期信号の検出に基づいてカメラフレームタイミングを同期させる。いくつかの実施形態、たとえば、デバイスが自動露光ロック能力を含まない実施形態では、動作は、ステップ512からステップ516に進む。他の実施形態、たとえば、デバイスが自動露光ロック特徴を含む実施形態では、動作は、ステップ512からステップ524に進む。
【0056】
[0072]ステップ516に戻ると、ステップ516において、デバイスは、同期信号の直後のフレーム中にピクセルセンサーの識別された視界領域中でパイロット信号を受信する。1つの例示的な実施形態では、送信されたパイロット信号は150Hzトーンである。動作は、ステップ516からステップ518に進み、デバイスは、検出されたパイロット信号に基づいてサンプリングレートを推定する。動作は、ステップ518からステップ520に進み、デバイスは、推定されたサンプリングレートを適用する。
【0057】
[0073]一例では、光送信機は、150Hzの周波数でパイロット信号を送信する。受信機は、ステップ516においてパイロット信号を検出し、ステップ518においてサンプリングレートを推定する。たとえば、パイロットトーンが、150Hzではなく、165Hzで検出され、デバイスが、30Hzから27Hzにサンプリングレートをシフトして(10%の変化)、補正する、たとえば、デバイスを較正すると考える。動作はステップ520から接続ノードA522を介してステップ524に進む。
【0058】
[0074]ステップ524において、デバイスは、受信されたフレームに対応するピクセル値をキャプチャする。動作はステップ524からステップ526に進む。ステップ526において、デバイスは、画像センサーの視界として、センサー中のピクセルセンサー要素のサブセットを識別し、ここで、VLC信号は、受信されたフレームに対応するフレーム時間中に可視である。動作はステップ526からステップ528に進む。ステップ528において、デバイスは、ピクセル値合計のアレイを生成するために画像センサーの視界領域に対応するピクセル値の各行中のピクセル値を合計すること、ピクセル値合計のうちの少なくともいくつかが、VLC光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、を行う。動作はステップ528からステップ530に進む。
【0059】
[0075]ステップ530において、デバイスは、VLC信号によって通信される情報を復元するためにピクセル値合計のアレイに対して復調動作を実行する。いくつかの実施形態では、ステップ530はステップ532とステップ534とを含む。いくつかの他の実施形態では、ステップ530はステップ536とステップ538とを含む。ステップ532において、デバイスは、フレーム中に通信されているトーンの周波数を決定する。動作はステップ532からステップ534に進む。ステップ534において、デバイスは、所定のマッピングに従って決定されたトーン周波数に対応するビットシーケンスを決定する。
【0060】
[0076]ステップ536に戻ると、ステップ536において、デバイスは、変調されたシンボルを復元するために、OFDM復調、CDMA復調、パルス位置変調(PPM)復調、またはオンオフキーイング復調のうちの1つを実行する。動作は、ステップ536からステップ538に進み、デバイスは、ビットへのシンボルの所定のマッピングに従って復元された変調されたシンボルからビットシーケンスを決定する。
【0061】
[0077]動作はステップ530からステップ540に進み、デバイスは別のフレームに対応するピクセル値をキャプチャする。動作は、ステップ540からステップ542に進み、デバイスは、同期(sync)信号がステップ540の受信されたフレーム中で検出されたかどうかを決定する。同期信号が検出されなかった場合、動作は、ステップ542から接続ノードC548を介してステップ526に進んで、可視光信号から情報、たとえば、追加の情報ビットを復元するために別の受信されたフレームの処理を開始する。
【0062】
[0078]しかしながら、同期信号がステップ542において検出された場合、動作は、ステップ542からステップ544に進み、デバイスは、処理されたデータフレームから復元された情報ビットのセットを出力する。たとえば、一実施形態では、同期信号間のステップ530の各反復から復元された情報ビットは、コードワードを形成するために連結される。
【0063】
[0079]ステップ544に戻ると、動作は、ステップ544から接続ノードD546を介してステップ512の入力に進む。
【0064】
[0080]
図6Aと、
図6Bとの組合せからなる
図6は、
図3に示したカメラを含む例示的なデバイス300で使用され得、いくつかの実施形態では使用される、部分A601と部分B603との組合せを備えるモジュールのアセンブリ600を示す図である。アセンブリ400中のモジュールは、たとえば、個別回路として、
図3のプロセッサ302内のハードウェアで実装され得る。代替として、それらのモジュールはソフトウェアで実装され、
図3に示すデバイス300のメモリ304に記憶され得る。いくつかのそのような実施形態では、モジュールのアセンブリ600は、
図3のデバイス300のメモリ304のルーチン311中に含まれる。
図3の実施形態ではシングルプロセッサ、たとえば、コンピュータとして示されているが、プロセッサ302は、1つまたは複数のプロセッサ、たとえば、コンピュータとして実装され得ることを諒解されたい。ソフトウェアで実装されるとき、それらのモジュールはコードを含み、そのコードは、プロセッサによって実行されたとき、プロセッサ302、たとえば、コンピュータを、そのモジュールに対応する機能を実装するように構成する。いくつかの実施形態では、プロセッサ302は、モジュールのアセンブリ600のうちのモジュールの各々を実装するように構成される。モジュールのアセンブリ600がメモリ304に記憶されるいくつかの実施形態では、メモリ304は、少なくとも1つのコンピュータ、たとえば、プロセッサ302に、モジュールが対応する機能を実装させるためのコード、たとえば、モジュールごとの個別コードを備えるコンピュータ可読媒体、たとえば、非一時的コンピュータ可読媒体を備えるコンピュータプログラム製品である。
【0065】
[0081]完全にハードウェアベースのまたは完全にソフトウェアベースのモジュールが使用され得る。ただし、機能を実装するために、ソフトウェアモジュールとハードウェア(たとえば、回路実装)モジュールの任意の組合せが使用され得ることを諒解されたい。
図6に示すモジュールは、
図5のフローチャート500の方法において図示および/または説明する対応するステップの機能を実行するようにデバイス300、またはプロセッサ302などのデバイス300中の要素を制御および/または構成することを諒解されたい。
【0066】
[0082]モジュールのアセンブリ600は、ピクセル値をキャプチャすることを行うように構成されたモジュール606と、ピクセルセンサーの視界領域を識別するように構成されたモジュール608、ここで、VLC信号のソースが可視である、と、ピクセルフレームの識別された視界領域中で同期信号を検出することを行うように構成されたモジュール610と、ピクセルセンサーの識別された視界領域中での同期信号の検出に基づいてカメラフレームタイミングを同期させることを行うように構成されたモジュール612と、受信されたフレームに対応するピクセル値をキャプチャすることを行うように構成されたモジュール624と、画像センサーの視界領域として、センサー中のピクセルセンサー要素のサブセットを識別するように構成されたモジュール626とを含み、VLC信号は、受信されたフレームに対応するフレーム時間中に可視である。モジュールのアセンブリ600は、ピクセル値合計のアレイを生成するために画像センサーの視界領域に対応するピクセル値の各行中のピクセル値を合計するように構成されたモジュール628と、ピクセル値合計のうちの少なくともいくつかが、VLC光信号の異なる部分から復元されたエネルギーを表し、異なる部分が、異なる時間に、異なる強度で出力される、VLC信号によって通信される情報を復元するためにピクセル値合計のアレイに対して復調動作を実行するように構成されたモジュール630とをさらに含む。モジュール630は、フレーム中に通信されているトーンの周波数を決定するように構成されたモジュール632と、所定のマッピングに従って決定されたトーン周波数に対応するビットシーケンスを決定するように構成されたモジュール634と、変調されたシンボルを復元するために、OFDM復調、CDMA復調、パルス位置変調(PPM)復調、またはオンオフキーイング復調のうちの1つを実行するように構成されたモジュール636と、ビットへのシンボルの所定のマッピングに従って復元された変調されたシンボルからビットシーケンスを決定することを行うように構成されたモジュール638とを含む。モジュールのアセンブリ600は、別の受信されたフレームに対応するピクセル値合計をキャプチャすることを行うように構成されたモジュール640と、同期信号が前に受信されたフレーム中で検出されたかどうかを決定するように構成されたモジュール642と、同期化信号が受信されなかったとモジュール642が決定したとき、受信されたデータフレームを処理するように動作を制御するように構成されたモジュール643と、同期信号が受信されたというモジュール642による決定に応答して処理されるデータフレームから復元される情報ビットのセットを出力するように構成されたモジュール644とをさらに含む。いくつかの実施形態では、コードワードは、同期信号の中間に複数のデータフレームを介して通信される。
【0067】
[0083]いくつかの実施形態では、モジュールのアセンブリ600は、自動露光ロックをアクティブ化するように構成されたモジュール604と、同期信号が送信された時間中のピクセルセンサーの識別された視界領域にわたるDCオフセット、たとえば、バックグラウンド光強度を推定することを行うように構成されたモジュール614と、たとえば、同期信号フレームの直後のフレーム中にピクセルセンサーの識別された視界領域中でパイロット信号を受信することを行うように構成されたモジュール616と、検出されたパイロット信号に基づいてサンプリングレートを推定することを行うように構成されたモジュール618と、推定されたサンプリングレートを適用することを行うように構成されたモジュール620とのうちの1つまたは複数またはすべてをさらに含む。様々な実施形態では、モジュール604は、VLCアクセスポイントによって使用されているVLC送信データフレームレートに一致する固定の所定のフレーム毎秒レート、たとえば、30fpsで動作するようにカメラを制御する。いくつかの実施形態では、カメラは、自動露光ロック特徴を含まず、露光設定が変動することが予想され得る可能性を補正するために、パイロット信号の送信、検出、測定、およびサンプリングレート調整が使用される。いくつかの実施形態では、パイロット信号の送信、検出、測定、およびサンプリングレートの調整は、たとえば、熱効果による、たとえば、成分トレランスおよび/またはドリフトに基づいて、カメラを含むデバイス内の内部クロックが、VLCアクセスポイント送信機内の内部クロックに正確に一致しない可能性を補正するために使用される。
【0068】
[0084]
図7は、例示的な画像センサーと、第1のフレーム時間中にVLC信号が可視である画像センサーの識別された領域と、ピクセル合計値の対応する生成されたアレイとを示す
図1400を含む。垂直軸1405は、キャプチャ時間に対応し、カメラ中のローリングシャッター実装形態は、異なる時間に対応するピクセルの異なる行を生じる。大きいブロック1402は、12行、16列によって表される192個のピクセルのアレイを含む画像センサーを表す。説明の目的で、小さい画像センサーサイズ(192個のピクセル)を使用する。例示的な一実施形態では、画像センサーは、480行、640列によって表される307200個のピクセルを含む。
【0069】
[0085]アレイ中の各ピクセルは、露光中にそのピクセルに対応する復元されたエネルギーを表すピクセル値を有する。たとえば、行=1、列=1のピクセルは、ピクセル値V
1,1を有する。
【0070】
[0086]ブロック1404は、第1のフレーム中にVLC信号が可視である画像センサーの識別された第1の領域である。いくつかの実施形態では、第1の領域は、しきい値と、個別のピクセル値、たとえば、個別のピクセルルーマ値を比較し、たとえば、画像センサー中の連続する矩形状領域中でしきい値を超える値をもつピクセルを識別することに基づいて識別される。例示的な一実施形態では、しきい値は、画像の平均ルーマ値の50%である。いくつかの実施形態では、しきい値は、たとえば、第1の領域を識別することの失敗、または第1の領域中でVLC信号によって通信されている情報を正常に復号することの失敗に応答して、動的に調整され得、時々動的に調整される。
【0071】
[0087]アレイ1406は、第1の領域のピクセル値合計の第1のアレイであり、ここで、アレイ1406の各要素は、第1の領域の異なる行に対応する。たとえば、アレイ要素S
11410は、ピクセル値V
3,4、V
3,5、V
3,6、V
3,7、V
3,8、V
3,9、V
3,10、V
3,11、およびV
3,12の合計を表し、アレイ要素S
21412は、ピクセル値V
4,4、V
4,5、V
4,6、V
4,7、V
4,8、V
4,9、V
4,10、V
4,11、およびV
4,12の合計を表す。
【0072】
[0088]アレイ要素1410とアレイ要素1412とは、ローリングシャッターが前進するので異なるサンプル時間に対応する。アレイ1406は、通信されているVLC信号を復元するために使用される。いくつかの実施形態では、通信されているVLC信号は、第1のフレーム中の信号トーン、たとえば、所定の代替周波数のセット中の1つの特定の周波数であり、シングルトーンは、ビットパターンマッピング情報に対する知られている所定のトーンに従って特定のビットパターンに対応する。
【0073】
[0089]
図8は、例示的な画像センサーと、第2のフレーム時間中にVLC信号が可視である画像センサーの識別された領域と、ピクセル合計値の対応する生成されたアレイとを示す
図1450を含む。
図7の例について復元されるフレームに対応する時間からVLC信号を送信する光源に対してカメラが移動したと考える。
【0074】
[0090]垂直軸1455は、キャプチャ時間に対応し、カメラ中のローリングシャッター実装形態は、異なる時間に対応するピクセルの異なる行を生じる。大きいブロック1452は、12行、16列によって表され得る192個のピクセルのアレイを含む画像センサーを表す。
【0075】
[0091]アレイ中の各ピクセルは、露光中にそのピクセルに対応する復元されたエネルギーを表すピクセル値を有する。たとえば、行=1、列=1のピクセルは、ピクセル値v
1,1を有する。
【0076】
[0092]ブロック1454は、第2のフレーム中にVLC信号が可視である画像センサーの識別された第2の領域である。いくつかの実施形態では、第2の領域は、しきい値と個別のピクセル値を比較し、たとえば、画像センサー中の連続する矩形状領域中でしきい値を超える値をもつピクセルを識別することに基づいて識別される。
【0077】
[0093]アレイ1456は、第2の領域のピクセル値合計の第2のアレイであり、ここで、アレイ1456の各要素は、第1の領域の異なる行に対応する。たとえば、アレイ要素s
11460は、ピクセル値v
2,3、v
2,4、v
2,5、v
2,6、v
2,7、v
2,8、v
2,9、v
2,10、およびv
2,11の合計を表し、アレイ要素s
21462は、ピクセル値v
3,3、v
3,4、v
3,5、v
3,6、v
3,7、v
3,8、v
3,9、v
3,10、およびv
3,11の合計を表す。
【0078】
[0094]アレイ要素1460とアレイ要素1462とは、ローリングシャッターが前進するので異なるサンプル時間に対応する。アレイ1456は、通信されているVLC信号を復元するために使用される。いくつかの実施形態では、通信されているVLC信号は、第1のフレーム中の信号トーン、たとえば、所定の代替周波数のセット中の1つの特定の周波数であり、シングルトーンは、ビットパターンマッピング情報に対する知られている所定のトーンに従って特定のビットパターンに対応する。
【0079】
[0095]様々な実施形態では、第1の領域1404のサイズは、第2の領域1454のサイズとは異なり得、時々異なる。
【0080】
[0096]
図9は、例示的な実施形態による、VLCシグナリングフレーム構造1204と、各フレームに対応する例示的なシグナリング1206と、トーン対ビットパターンルックアップテーブル1208とを示す
図1200を含む。水平軸1202は時間を表す。この例示的な実施形態では、カメラを含むデバイスが、ローリングシャッターを含み、自動露光ロックをサポートし、自動露光を無効化し、固定の所定の時間設定、たとえば、30フレーム毎秒を使用してピクセルをキャプチャする自動ロック露光対応モードで動作すると考える。
【0081】
[0097]例示的な循環VLCシグナリングフレーム構造1204は、同期信号フレームと、それに続く複数のデータフレーム(データフレーム1、データフレーム2、データフレーム3、データフレーム4、...、データフレームN)とを含む。例示的なVLCシグナリング1206は、同期フレーム中のヌルまたは低出力信号と、データフレーム1中のトーン4信号と、データフレーム2中のトーン1信号と、データフレーム3中のトーン20信号と、データフレーム4中のトーン50信号と、...、データフレームN中のトーン3信号とを含む。
【0082】
[0098]各異なるトーンは、トーン(周波数)対ビットパターンマッピングルックアップテーブル1208に従って異なるビットパターンに対応する。列1210はトーンを表し、列1214は、トーンごとに対応するビットパターンを識別する。たとえば、トーン1は、ビットパターン=000000000000に対応し、トーン2は、ビットパターン=000000000001に対応し、トーンNは、ビットパターン=111111111111に対応する。表1208中のトーンの各々は、150Hzを上回る異なる周波数にある。
【0083】
[0099]様々な実施形態では、フレーム構造情報1204とトーン(周波数)対ビットパターンマッピング情報ルックアップテーブル1208とは、カメラを含むデバイスのメモリ、たとえば、
図3のデバイス300のメモリ304に記憶される。
【0084】
[00100]
図10は、例示的な実施形態による、例示的なVLCシグナリングフレーム構造1304と、各フレームに対応する例示的なシグナリング1306と、トーン対ビットパターンルックアップテーブル1308とを示す
図1300を含む。水平軸1302は時間を表す。この例示的な実施形態では、カメラを含むデバイスが、ローリングシャッターを含むが、カメラが、固定フレームレートで動作しないと考える。サンプリングレートは、自動露光を有効化する場合、ドリフトし得る。この例では、知られている周波数のパイロット信号は、たとえば、同期の後のフレーム中に時々送信される。カメラを含むデバイスは、パイロット信号を検出し、サンプリングレートを推定し、カメラを含むデバイスは、補正するためにシフトする、たとえば、サンプリングレートを調整する。
【0085】
[0100]例示的な循環VLCシグナリングフレーム構造1304は、同期信号フレームと、それに続くパイロット信号フレームと、それに続く複数のデータフレーム(データフレーム1、データフレーム2、データフレーム3、...、データフレームN)とを含む。例示的なVLCシグナリング1306は、同期フレーム中のヌルまたは低出力信号と、パイロット信号フレーム中のパイロットトーン信号、たとえば、150Hzトーン信号と、データフレーム1中のトーン5信号と、データフレーム2中のトーン75信号と、データフレーム3中のトーン13信号と、...、データフレームN中のトーン17信号とを含む。
【0086】
[0101]各異なるトーンは、トーン(周波数)対ビットパターンマッピングルックアップテーブル1308に従って異なるビットパターンに対応する。列1310はトーンを表し、列1314は、トーンごとに対応するビットパターンを識別する。たとえば、トーン1は、ビットパターン=000000000000に対応し、トーン2は、ビットパターン=000000000001に対応し、トーンNは、ビットパターン=111111111111に対応する。表1308中のトーンの各々は、150Hzを上回る異なる周波数にある。
【0087】
[0102]様々な実施形態では、フレーム構造情報1304とトーン(周波数)対ビットパターンマッピング情報ルックアップテーブル1308とは、カメラを含むデバイスのメモリ、たとえば、
図3のデバイス300のメモリ304に記憶される。
【0088】
[0103]いくつかの実施形態では、VLC信号のデータフレームは、周波数よりも多くの情報を搬送し、たとえば、データフレームに対応するVLC信号は、周波数と位相情報とを搬送し、たとえば、1つまたは複数のOFDM QAM変調シンボルを通信する。いくつかのそのような実施形態では、ビットパターンマッピングへのQAM変調シンボル値をマッピングするルックアップテーブルは、カメラを含むデバイスのメモリ、たとえば、
図3のデバイス300のメモリ304に記憶される。
【0089】
[0104]いくつかの実施形態では、同期フレームは、データフレームよりも意図的に長い。一実施形態では、同期フレームは、データフレームの持続時間の1.5倍の持続時間を有する。別の実施形態では、同期フレームは、2つのデータフレームの持続時間を有する。
【0090】
[0105]必ずしもすべてではないが、いくつかの実施形態の様々な態様および/または特徴についてさらに以下で説明する。典型的なスマートフォンカメラはローリングシャッター実装形態を有し、それは、光検出器アレイ、たとえば、CMOS光検出器アレイの連続する行が異なる時間に読み出すことを意味する。たとえば、720pのビデオ記録の場合、アレイ中に480行および640列がある。アレイの読出しは行ごとに行われ、したがって、第1の行が最初に読み出され、その後に、第2の行が読み出され、以下同様に行われる。フレームレートが30Hzである場合、これは、行読出しのレートが、30*480=14.4kHz、したがって、受信機帯域幅が7.2kHzであることを意味する。よりハイエンドのカメラでは、解像度またはフレームレートのいずれかあるいはその両方がより高くなり得るので、利用可能な受信機帯域幅がより高くなり得る。たとえば、60Hzフレームレートでの1080pレコーディングでは、受信機帯域幅は、1080*60/2=30.24kHzであり得る。概して、受信機帯域幅は、Wとして示され得る。例示的な受信機および例示的な送信機の動作について、さらに以下で説明する。シグナリングのために利用可能な帯域幅を規定する他に、受信機はまた、次に説明する他の制約を課す。
【0091】
[0106]たとえば、ビデオフロントエンドまたはアプリケーションプロセッサなどの受信機処理要素は、カメラセンサーから一連のフレームを取得する。各フレームは、ピクセル値のNxM行列のようなものであり、ここで、n番目の行、m番目の列のピクセル値は、P_nmによって示される。
【0092】
[0107]受信機の第1のステップは、ピクセルアレイのサブセットを識別することであり、ここで、VLC信号のソースは可視である。この領域は、受信機の視界(FOV:Field of View)と呼ばれることがある。FOVは、画像の残部よりもはるかに大きいSNRによって特徴づけられる。一実施形態では、受信機は、他のピクセルよりも明るいピクセルを識別することを実行することによってこの領域を識別する。たとえば、ルーマ値のピクセル強度がしきい値Tよりも大きい場合、ピクセルがFOVの一部であると見なされるように、受信機はTを設定する。しきい値Tは、たとえば、画像の平均ルーマ値の50%である。
【0093】
[0108]FOVが識別されると、受信機は、1行ずつFOVに入るピクセル中のエネルギーを加算する。たとえば、FOVが、全体的なフレームの上100行、100列を含んでいている部分行列Fである場合、受信機は、FOVの行中のエネルギーを表す値の1×100のアレイを得るために、100行の各々のピクセルルーマ値を加算することになる。信号アレイは、Sによって示される。この信号の例を、
図11の
図1550にプロットし、ここで、送信信号は100Hzであり、FOVが全480行を占有している。
図11のFFTプロット1500からわかるように、検出される正弦波信号は、100Hzにあり、矢印1502によって識別される。いくつかの実施形態では、近傍にいる人間観測者を不快にさせないように、送信信号は、意図的に150Hz以上になる。
【0094】
[0109]受信機は、信号Sの復調を実行する。復調方法は、変調フォーマットに依存し、変調フォーマットは、(アウトオブバンドチャネルを介した事前同意を通して)受信機にアプリオリに知られているか、またはプリアンブル信号中で送信機によって送信される。復調は、トーンの周波数を検出し、それをコードワードに応じて対応するビットシーケンスにマッピングするのと同程度に単純であり得、いくつかの実施形態では単純である。(QAMコンスタレーションを使用して)トーンの位相中で情報が送信され得、OFDM方式で複数のトーンが使用され得るという点で、変調は、より複雑になり得、いくつかの実施形態では、より複雑である。
【0095】
[0110]利用可能な帯域幅W内で、送信機は、QAMなどのコヒーレント変調コンスタレーションの上で、OFDM/CDM/TDMなどの任意の変調方式を使用し得る。様々な実施形態では、ピュアトーンの周波数での単純なOFDMシグナリング技法が情報を搬送する。この単純な送信技法は、ピーク対平均電力比(PAPR:Peak-to-Average-Power-Ration)低減の点で利益を有し、受信機設計を簡略化する。例示的な送信信号の様々な重要なパラメータおよび構成要素について、以下でさらに説明する。
【0096】
[0111]いくつかの実施形態では、信号自体がピュアトーンである。いくつかのそのような実施形態では、トーン周波数は情報ビットを搬送する。様々な実施形態では、トーン周波数は、意図的に150Hzよりも大きい。これは、人間の眼がこの「融合しきい値」を下回る周波数にある光フリッカーを検出することができるからである。最高周波数は、受信機の利用可能な帯域幅Wによって決定される。代替的に、送信機は、いくつかの実施形態では、Wよりもはるかに高い周波数で送信し、受信機におけるエイリアシングに依拠する。たとえば、最低周波数は2W+150Hzであり得、最高周波数は3Wであり得る。
【0097】
[0112]異なるトーン間の周波数増分は、送信機および受信機のサンプリングクロックの安定性によって決定され、1Hzに通常は近い。これは、W=7.2kHzおよび1Hzの解像度の場合、各トーンが12ビットの情報を搬送することができることを意味する。全体的な画像中のFOVのロケーションが受信機には知られていないので、トーン持続時間は、例示的な一実施形態では、フレームの持続時間に等しくなる。たとえば30Hzのフレームレートの場合、各トーンは、33msの間に送信される。このようにして、行列F中に全体的な画像のどの部分が含まれていようとも、情報ビットを搬送するトーンが検出可能になる。したがって、このようにして搬送され得る情報の総量は、この特定の例では、360ビット/秒であり、こでは、妥当な時間量でMACアドレス(48ビット)またはSSIDを搬送するのに十分であるはずである。
【0098】
[0113]受信機は、メッセージ全体を復号するために、(ピュアトーン実施形態の場合)シンボルのシーケンスの開始と終了とを知る必要がある。シンボルがピュアトーンであり、1つのフレームの持続時間を占有するいくつかの実施形態では、同期は、1つのフレームの持続時間の間送信機が送信を切断することによって実行される。受信機は、サイレント期間の後にコードワード(シンボルのシーケンス)の開始が始まることを知っている。1つのフレームの持続時間の間送信機を切断することの追加利益は、FOVによって占有された領域上のDCオフセット(バックグラウンド光強度)を推定するために受信機がその時間を使用することができるということである。
【0099】
[0114]いくつかの実施形態では、受信機のカメラは、固定フレームレートで動作しないことがある。サンプリングレートは、自動露光を有効化する場合、ドリフトし得る。明らかに、トーンシンボルを正しく検出する上でフレームレートの正確な推定が重要である。これのために、いくつかの実施形態では、送信機は、知られている周波数のパイロット信号を時々送信する必要があり得る。例示的な一実施形態では、送信機は、同期のために使用されるサイレント期間の直後のフレーム中に150Hzの周波数でパイロット信号を送信する。受信機は、パイロット信号を検出し、サンプリングレートを推定する。たとえば、パイロットトーンが、150Hzではなく165Hzで検出された場合、受信機は、30Hzから27Hzにサンプリングレートをシフトする(10%の変化)。この問題を回避する別の方法は、受信機ハードウェアがフレームレートを正確に報告する場合であり、その場合、送信機は、パイロットを使用する必要はない。いくつかの実施形態では、受信機はフレームレートを報告する。また別の方法は、自動露光を無効化することによる。たいていの商用フォンは、ソフトウェアを通してこの特徴を無効化する能力を有しないが、しかしながら、カメラドライバへの低レベルのアクセスを必要とするであろう。いくつかの実施形態では、商用フォンのカメラドライバは、自動露光を無効化する能力を含むように変更される。
【0100】
[0115]様々な実施形態では、デバイス、たとえば、カメラを含むデバイス、たとえば、
図1のシステム100中のデバイス102またはデバイス104、および/または
図3のデバイス300、および/または
図1〜
図11のいずれかのカメラを含むデバイスは、本出願の
図1〜
図11のいずれかに関して説明した、および/または本出願の発明を実施するための形態で説明した個々のステップおよび/または動作の各々に対応するモジュールを含む。いくつかの実施形態では、モジュールはハードウェアで、たとえば、回路の形態で実装される。したがって、少なくともいくつかの実施形態では、モジュールはハードウェアで実装され得、時々実装される。他の実施形態では、モジュールは、デバイス、たとえば、カメラを含むデバイスのプロセッサによって実行されたとき、対応するステップまたは動作をデバイスに実装させるプロセッサ実行可能命令を含むソフトウェアモジュールとして実装され得、時々実装される。さらに他の実施形態では、モジュールの一部または全部が、ハードウェアとソフトウェアの組合せとして実装される。
【0101】
[0116]様々な実施形態の技法は、ソフトウェア、ハードウェア、および/またはソフトウェアとハードウェアの組合せを使用して実装され得る。様々な実施形態は、装置、たとえば、カメラを含むスマートフォンなどのカメラを含むデバイス、VLCアクセスポイント、たとえば、LED VLCアクセスポイント、ワイヤレス無線通信をサポートする基地局、ネットワークノード、セルラーおよび/またはピアツーピア通信をサポートするモバイル端末などの他のモバイルノード、たとえば、フェムト基地局およびマクロ基地局を含む基地局などのアクセスポイント、セルラー基地局、非セルラー基地局、PLCゲートウェイデバイス、および/または通信システムを対象とする。様々な実施形態はまた、方法、たとえば、カメラを含むスマートフォンなどのカメラを含むデバイス、ネットワークノード、VLCアクセスポイント、PLCゲートウェイデバイス、モバイルノード、マクロ基地局およびフェムト基地局を含む基地局などのアクセスポイントおよび/または通信システム、たとえば、ホストを制御するおよび/または動作させる方法を対象とする。様々な実施形態はまた、方法の1つまたは複数のステップを実施するように機械を制御するための機械可読命令を含む、機械、たとえば、コンピュータ、可読媒体、たとえば、ROM、RAM、CD、ハードディスクなどを対象とする。コンピュータ可読媒体は、たとえば、非一時的コンピュータ可読媒体である。
【0102】
[0117]開示したプロセス中のステップの特定の順序または階層は、例示的な手法の一例であることを理解されたい。設計上の選好に基づいて、プロセス中のステップの特定の順序または階層は本開示の範囲内のまま再構成され得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されるものではない。
【0103】
[0118]様々な実施形態では、本明細書で説明したノードは、1つまたは複数の方法に対応するステップ、たとえば、信号処理ステップ、信号生成ステップおよび/または送信ステップを実行するための1つまたは複数のモジュールを使用して実装される。したがって、いくつかの実施形態では、様々な機能がモジュールを使用して実装される。そのようなモジュールは、ソフトウェア、ハードウェアまたはソフトウェアとハードウェアの組合せを使用して実装され得る。上記で説明した方法または方法ステップの多くは、たとえば1つまたは複数のノードにおいて、上記で説明した方法の全部または一部を実装するために、追加のハードウェアの有無にかかわらず、機械、たとえば汎用コンピュータを制御する、メモリデバイスなど、たとえば、RAM、フロッピー(登録商標)ディスクなどの機械可読媒体中に含まれる、ソフトウェアなどの機械実行可能命令を使用して実装され得る。したがって、特に、様々な実施形態は、機械、たとえば、プロセッサおよび関連するハードウェアに、上記で説明した(1つまたは複数の)方法のステップのうちの1つまたは複数を実行させるための機械実行可能命令を含む機械可読媒体、たとえば、非一時的コンピュータ可読媒体を対象とする。いくつかの実施形態は、本発明の1つまたは複数の方法のステップのうちの1つ、複数またはすべてを実装するように構成されたプロセッサを含むデバイス、たとえば、カメラを含むスマートフォンなどのカメラを含むデバイスを対象とする。
【0104】
[0119]いくつかの実施形態では、1つまたは複数のデバイス、たとえば、カメラを含むスマートフォン、VLCアクセスポイント、ゲートウェイデバイス、ネットワークノード、マクロ基地局およびフェムト基地局を含む基地局などのアクセスノードおよび/またはワイヤレス端末の1つまたは複数のプロセッサ、たとえば、CPUは、通信ノードによって実行されるものとして説明した方法のステップを実行するように構成される。プロセッサの構成は、プロセッサ構成を制御するために1つまたは複数のモジュール、たとえば、ソフトウェアモジュールを使用することによって、ならびに/あるいは説明したステップを実行するため、および/またはプロセッサ構成を制御するためにハードウェア、たとえば、ハードウェアモジュールをプロセッサ中に含めることによって達成され得る。したがって、すべてとは限らないがいくつかの実施形態は、プロセッサが含まれるデバイスによって実行される様々な説明した方法のステップの各々に対応するモジュールを含むプロセッサをもつデバイス、たとえば、カメラを含むデバイス、たとえば、カメラを含むスマートフォンなどの通信ノードを対象とする。すべてとは限らないがいくつかの実施形態では、デバイス、たとえば、カメラを含むデバイスなどの通信ノードは、プロセッサが含まれるデバイスによって実行される様々な説明した方法のステップの各々に対応するモジュールを含む。モジュールは、ソフトウェアおよび/またはハードウェアを使用して実装され得る。
【0105】
[0120]いくつかの実施形態は、1つのコンピュータ、または複数のコンピュータに、様々な機能、ステップ、行為および/または動作、たとえば、上記で説明した1つまたは複数のステップを実装させるためのコードを備えるコンピュータ可読媒体、たとえば、非一時的コンピュータ可読媒体を備えるコンピュータプログラム製品を対象とする。実施形態に応じて、コンピュータプログラム製品は、実行すべきステップごとに異なるコードを含むことができ、時々含む。したがって、コンピュータプログラム製品は、方法、たとえば、通信デバイスまたはノードを制御する方法の個々のステップごとのコードを含むことができ、時々含む。コードは、RAM(ランダムアクセスメモリ)、ROM(読取り専用メモリ)、または他のタイプのストレージデバイスなどのコンピュータ可読媒体、たとえば、非一時的コンピュータ可読媒体上に記憶される機械実行可能命令、たとえば、コンピュータ実行可能命令の形態であり得る。コンピュータプログラム製品を対象とすることに加えて、いくつかの実施形態は、上記で説明した1つまたは複数の方法の様々な機能、ステップ、行為および/または動作のうちの1つまたは複数を実装するように構成されたプロセッサを対象とする。したがって、いくつかの実施形態は、本明細書で説明した方法のステップの一部または全部を実装するように構成されたプロセッサ、たとえばCPUを対象とする。プロセッサは、たとえば、本出願で説明した通信デバイスまたは他のデバイス中で使用するためのものであり得る。
【0106】
[0121]様々な実施形態は、ワイヤレス無線通信とVLCシグナリングの両方をサポートする通信システムに好適である。OFDMシステムに関して説明したが、様々な実施形態の方法および装置のうちの少なくともいくつかは、多くの非OFDMおよび/または非セルラーシステムを含む広範囲の通信システムに適用可能である。
【0107】
[0122]上記の説明に鑑みて、上記で説明した様々な実施形態の方法および装置に関する多数の追加の変形形態が当業者には明らかであろう。そのような変形形態は範囲内に入ると考えるべきである。本方法および本装置は、符号分割多元接続(CDMA)、OFDM、および/または通信デバイス間のワイヤレス通信リンクを与えるために使用され得る様々な他のタイプの通信技法とともに使用され得、様々な実施形態では使用される。いくつかの実施形態では、1つまたは複数の通信デバイスは、VLCシグナリング、OFDMおよび/またはCDMAを使用してモバイルノードとの通信リンクを確立し、ならびに/あるいはワイヤードまたはワイヤレス通信リンクを介してインターネットまたは別のネットワークへの接続性を与え得る、VLCアクセスポイント、ワイヤレス無線セルラーマクロ基地局、ワイヤレス無線フェムト基地局および/またはワイヤレス無線非セルラー基地局などのアクセスポイントとして実装される。様々な実施形態では、モバイルノードは、本方法を実装するための、受信機/送信機回路ならびに論理および/またはルーチンを含む、カメラを含むスマートフォン、カメラを含むノートブックコンピュータ、カメラを含む個人情報端末(PDA)、またはカメラを含む他のポータブルデバイスとして実装される。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
可視光通信(VLC)信号を受信し、それから情報を復元するカメラを含むデバイスを使用する方法であって、
ピクセル値合計の第1のアレイを生成するために画像センサーの第1の領域に対応するピクセル値の各行中のピクセル値を合計すること、前記ピクセル値合計のうちの少なくともいくつかは、前記VLC光信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記VLC信号によって通信される情報を復元するためにピクセル値合計の前記第1のアレイに対して第1の復調動作を実行することと
を備える、方法。
[C2]
前記復元された情報は、第1のシンボル値を含み、様々な情報は、時間期間にわたって前記VLC信号から復元される、
C1に記載の方法。
[C3]
前記ピクセル値合計のアレイは、時間期間にわたって測定された時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す、
C1に記載の方法。
[C4]
前記第1のシンボル値が生成された第1のシンボルに対応する前記VLC信号の前記一部分は、前記画像センサーによってキャプチャされたフレームの前記持続時間以下の持続時間を有する、
C2に記載の方法。
[C5]
前記画像センサーは、有効化されると自動露光を無効化する自動露光ロックをサポートするカメラの一部であり、前記方法は、
前記自動露光ロックをアクティブ化することと、
固定露光時間設定を使用して前記ピクセル値をキャプチャすることと
をさらに備える、C1に記載の方法。
[C6]
前記送信されたVLC信号は、150Hz以上のトーン周波数に対応するピュアトーンまたは方形波を含み、前記VLC信号の最低周波数成分は、150Hz、またはそれより大きい、
C1に記載の方法。
[C7]
所定の数のシンボルを含むコードワードの開始を検出することをさらに備え、前記検出することは、
フレームの持続時間以下の持続時間を有する所定のVLC同期信号を検出することと、
前記VLC同期信号を前記コードワードの前記開始の識別子として解釈することと
を含む、C1に記載の方法。
[C8]
可視光通信(VLC)信号を受信し、それから情報を復元するカメラを含むデバイスであって、前記方法は、
ピクセル値合計の第1のアレイを生成するために画像センサーの第1の領域に対応するピクセル値の各行中のピクセル値を合計するための手段、前記ピクセル値合計のうちの少なくともいくつかは、前記VLC光信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記VLC信号によって通信される情報を復元するためにピクセル値合計の前記第1のアレイに対して第1の復調動作を実行するための手段と
を備える、デバイス。
[C9]
前記復元された情報は、第1のシンボル値を含み、様々な情報は、時間期間にわたって前記VLC信号から復元される、
C8に記載のデバイス。
[C10]
前記ピクセル値合計のアレイは、時間期間にわたって測定された時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す、
C8に記載のデバイス。
[C11]
前記第1のシンボル値が生成された第1のシンボルに対応する前記VLC信号の前記一部分は、前記画像センサーによってキャプチャされたフレームの前記持続時間以下の持続時間を有する、
C9に記載のデバイス。
[C12]
前記画像センサーは、有効化されると自動露光を無効化する自動露光ロックをサポートするカメラの一部であり、前記デバイスは、
前記自動露光ロックをアクティブ化するための手段と、
固定露光時間設定を使用して前記ピクセル値をキャプチャするための手段と
をさらに備える、C8に記載のデバイス。
[C13]
前記送信されたVLC信号は、150Hz以上のトーン周波数に対応するピュアトーンまたは方形波を含み、前記VLC信号の最低周波数成分は、150Hz、またはそれより大きい、
C8に記載のデバイス。
[C14]
所定の数のシンボルを含むコードワードの開始を検出するための手段をさらに備え、前記検出するための手段は、
フレームの持続時間以下の持続時間を有する所定のVLC同期信号を検出するための手段と、
前記VLC同期信号を前記コードワードの前記開始の識別子として解釈するための手段と
を含む、C8に記載のデバイス。
[C15]
可視光通信(VLC)信号を受信し、それから情報を復元するカメラを含むデバイス中で使用するコンピュータプログラム製品であって、
少なくとも1つのコンピュータに、ピクセル値合計の第1のアレイを生成するために画像センサーの第1の領域に対応するピクセル値の各行中のピクセル値を合計することを行わせるためのコード、前記ピクセル値合計のうちの少なくともいくつかは、前記VLC光信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記少なくとも1つのコンピュータに、前記VLC信号によって通信される情報を復元するためにピクセル値合計の前記第1のアレイに対して第1の復調動作を実行することを行わせるためのコードと
を備える非一時的コンピュータ可読媒体、
を備えるコンピュータプログラム製品。
[C16]
可視光通信(VLC)信号を受信し、それから情報を復元するカメラを含むデバイスであって、
画像センサーと、
ピクセル値合計の第1のアレイを生成するために前記画像センサーの第1の領域に対応するピクセル値の各行中のピクセル値を合計すること、前記ピクセル値合計のうちの少なくともいくつかは、前記VLC光信号の異なる部分から復元されたエネルギーを表し、前記異なる部分は、異なる時間に、異なる強度で出力される、と、
前記VLC信号によって通信される情報を復元するためにピクセル値合計の前記第1のアレイに対して第1の復調動作を実行することと
を行うように構成され、前記画像センサーに結合された少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合されたメモリと
を備える、デバイス。
[C17]
前記復元された情報は、第1のシンボル値を含み、様々な情報は、時間期間にわたって前記VLC信号から復元される、
C16に記載のデバイス。
[C18]
前記ピクセル値合計のアレイは、時間期間にわたって測定された時間的にシーケンシャルな光信号エネルギー測定値のアレイを表す、
C16に記載のデバイス。
[C19]
前記第1のシンボル値が生成された第1のシンボルに対応する前記VLC信号の前記一部分は、前記画像センサーによってキャプチャされたフレームの前記持続時間以下の持続時間を有する、
C17に記載のデバイス。
[C20]
前記画像センサーは、前記カメラの一部であり、前記カメラは、有効化されると自動露光を無効化する自動露光ロックをサポートし、前記少なくとも1つのプロセッサは、
前記自動露光ロックをアクティブ化することと、
固定露光時間設定を使用して前記ピクセル値をキャプチャすることと
を行うようにさらに構成された、C16に記載のデバイス。