(57)【要約】【課題】  光通信データの送信とは非同期にカメラにより撮影して得られたイメージデータからペイロードが示すデータを再構成可能とする。【解決手段】  実施形態の受信装置は、イメージセンサ、第１及び第２の抽出手段及び再構成手段を備える。イメージセンサは、複数の光検出素子を備え、予め定められたフレーム期間内に複数の光検出素子が順次に受光してイメージデータを得る。第１の抽出手段は、第１のフレーム期間に得られたイメージデータから光通信データに含まれたペイロードの一部に相当するデータを抽出する。第２の抽出手段は、第１のフレーム期間とは異なるフレーム期間に得られたイメージデータから、ペイロードのうちで第１の抽出手段により抽出されていないデータを抽出する。再構成手段は、第１及び第２の抽出手段によりそれぞれ抽出されたデータからペイロードで伝送されるデータを再構成する。【選択図】      図１
2018011133.tif 000002
【特許請求の範囲】
【請求項１】
可視光の点滅として送信装置から繰り返し送信された光通信データを受信する受信装置であって、
複数の光検出素子を備え、予め定められたフレーム期間内に前記複数の光検出素子が順次に受光してイメージデータを得るイメージセンサと；
第１のフレーム期間に前記イメージセンサにより得られた前記イメージデータから前記光通信データに含まれたペイロードの少なくとも一部に相当するデータを抽出する第１の抽出手段と；
前記第１のフレーム期間とは異なるフレーム期間に前記イメージセンサにより得られた前記イメージデータから、前記光通信データに含まれたペイロードのうちで前記第１の抽出手段により抽出されていないデータを抽出する第２の抽出手段と；
前記第１の抽出手段により抽出されたデータと前記第２の抽出手段により抽出されたデータとから前記ペイロードで伝送されるデータを再構成する再構成手段と；
を具備した受信装置。
【請求項２】
前記第１の抽出手段は、２つのフレーム期間の一方のフレーム期間を前記第１のフレーム期間とし、当該第１のフレーム期間に前記イメージセンサにより得られた前記イメージデータから前記ペイロードの先頭側の一部のデータと末尾側の一部のデータとをそれぞれ抽出し；
前記第２の抽出手段は、前記２つのフレーム期間のうちの他方のフレーム期間に前記イメージセンサにより得られた前記イメージデータから、前記ペイロードの中央の一部のデータを抽出する；
請求項１に記載の受信装置。
【請求項３】
前記第１の抽出手段は、連続する２つのフレーム期間のうちの前のフレーム期間を前記第１のフレーム期間とし；
前記第２の抽出手段は、前記連続する２つのフレーム期間のうちの後のフレーム期間に前記イメージセンサにより得られた前記イメージデータから、前記ペイロードの中央の一部のデータを抽出する；
請求項２に記載の受信装置。
【請求項４】
前記イメージセンサは、一定の時間間隔で繰り返し開始されるフレーム期間毎に前記イメージデータを得て；
前記第１の抽出手段は、前記フレーム期間の１つを前記第１のフレーム期間とし；
前記第２の抽出手段は、前記第１のフレーム期間の後のフレーム期間に前記イメージセンサにより得られたイメージデータから前記第１の抽出手段により抽出されていないデータの抽出を試み；
さらに、予め定められた数のフレーム期間に前記イメージセンサにより得られたイメージデータから前記第１の抽出手段により抽出されていないデータの全てが前記第２の抽出手段によって抽出できなかった場合には、前記フレーム期間を開始する時間間隔を変更するように前記イメージセンサを制御する制御手段を備える；
請求項１に記載の受信装置。
【請求項５】
可視光の点滅として送信装置から繰り返し送信された光通信データを受信するものであり、複数の光検出素子を含み、予め定められたフレーム期間内に前記複数の光検出素子が順次に受光してイメージデータを得るイメージセンサを備えた受信装置を制御するコンピュータを、
第１のフレーム期間に前記イメージセンサにより得られた前記イメージデータから前記光通信データに含まれたペイロードの少なくとも一部に相当するデータを抽出する第１の抽出手段と；
前記第１のフレーム期間とは異なるフレーム期間に前記イメージセンサにより得られた前記イメージデータから、前記光通信データに含まれたペイロードのうちで前記第１の抽出手段により抽出されていないデータを抽出する第２の抽出手段と；
前記第１の抽出手段により抽出されたデータと前記第２の抽出手段により抽出されたデータとから前記ペイロードで伝送されるデータを再構成する再構成手段と；
して機能させるためのプログラム。
【請求項６】
可視光の点滅として光通信データを繰り返し送信する送信装置と；
前記光通信データを受信する受信装置と；を具備し、
前記受信装置はさらに、
複数の光検出素子を備え、予め定められたフレーム期間内に前記複数の光検出素子が順次に受光してイメージデータを得るイメージセンサと；
第１のフレーム期間に前記イメージセンサにより得られた前記イメージデータから前記光通信データに含まれたペイロードの少なくとも一部に相当するデータを抽出する第１の抽出手段と；
前記第１のフレーム期間とは異なるフレーム期間に前記イメージセンサにより得られた前記イメージデータから、前記光通信データに含まれたペイロードのうちで前記第１の抽出手段により抽出されていないデータを抽出する第２の抽出手段と；
前記第１の抽出手段により抽出されたデータと前記第２の抽出手段により抽出されたデータとから前記ペイロードで伝送されるデータを再構成する再構成手段と；
を具備した可視光通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、受信装置及びそのプログラムと、可視光通信システムに関する。
【背景技術】
【０００２】
可視光を用いたデータ通信技術は、例えば特許文献１などにより知られている。
また、可視光通信を利用した可視光ビーコンシステムが、一般社団法人  電子情報技術産業協会規格 JEITA CP-1223として規定されている。
この可視光ビーコンシステムでは、送信機が、固有のＩＤ（identification）情報をペイロードとして含んだ光通信データを、可視光の点滅として送信する。
【０００３】
このような可視光ビーコンシステムの受信機としては、スマートフォンなどの既製の情報端末装置を用いることが想定されている。そしてこのような情報端末装置を受信機として使用する場合には、写真撮影及び動画撮影のために設けられたカメラを受光デバイスとして用いると便利である。
【０００４】
しかしながら、この種のデータ通信のための受光デバイスとして、情報端末装置に備えられた汎用のカメラを用いることとすると、当該カメラの1フレーム期間が光通信データの送信周期よりも短い場合がある。そしてこの場合は、1フレーム分のイメージデータからペイロードの全てを抽出できず、ペイロードが示すデータを再構成できない恐れがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２２３０４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、光通信データの送信とは非同期にカメラにより撮影して得られたイメージデータからペイロードが示すデータを再構成できる受信装置及びそのプログラムと、可視光通信システムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態の受信装置は、可視光の点滅として送信装置から繰り返し送信された光通信データを受信するものであって、イメージセンサ、第１の抽出手段、第２の抽出手段及び再構成手段を備える。イメージセンサは、複数の光検出素子を備え、予め定められたフレーム期間内に複数の光検出素子が順次に受光してイメージデータを得る。第１の抽出手段は、第１のフレーム期間にイメージセンサにより得られたイメージデータから光通信データに含まれたペイロードの少なくとも一部に相当するデータを抽出する。第２の抽出手段は、第１のフレーム期間とは異なるフレーム期間にイメージセンサにより得られたイメージデータから、光通信データに含まれたペイロードのうちで第１の抽出手段により抽出されていないデータを抽出する。再構成手段は、第１の抽出手段により抽出されたデータと第２の抽出手段により抽出されたデータとからペイロードで伝送されるデータを再構成する。
【発明の効果】
【０００８】
本発明によれば、光通信データの送信とは非同期にカメラにより撮影して得られたイメージデータからペイロードが示すデータを再構成することが可能な受信装置及びそのプログラムと、可視光通信システムを提供できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る可視光通信システムの構成を示すブロック図。
【図２】照明光に重畳される伝送データのフォーマットを示す図。
【図３】図１中のプロセッサによる制御処理のフローチャート。
【図４】図１中のプロセッサによる制御処理のフローチャート。
【図５】図１中のプロセッサによる制御処理のフローチャート。
【図６】伝送データとフレームイメージとの関係の一例を示す図。
【図７】ＩＤ情報が再構成される様子の一例を模式的に示す図。
【発明を実施するための形態】
【００１０】
以下、実施の形態について図面を用いて説明する。
図１は可視光通信システム１００の構成を示すブロック図である。
可視光通信システム１００は、照明器具１０及び情報端末装置２０を含む。
【００１１】
照明器具１０は、例えば施設の天井又は壁などに取り付けられ、照明光を放射する。情報端末装置２０は、例えばスマートフォンであり、使用者によって所持されて、当該使用者の移動に伴って移動する。照明器具１０は、記憶部１１、電源回路１２、光源制御部１３及び光源１４を含む。
【００１２】
記憶部１１は、可視光通信システム１００によりペイロードにて伝送すべきデータを記憶する。このデータは、任意であってよいが、本実施形態では、照明器具１０に固有のＩＤ情報であることする。
電源回路１２は、光源１４を動作させるための電力を生成する。
光源制御部１３は、記憶部１１に記憶されたＩＤ情報を示したペイロードを含む光通信データが光源１４から送信されるように、光源１４を制御する。
光源１４は、例えばＬＥＤ（light emitting diode）などの、高周波で点滅することが可能な発光デバイスを備え、点灯時に照明光を放射する。
【００１３】
情報端末装置２０は、プロセッサ２１、記憶部２２、表示デバイス２４、入力デバイス２３、カメラ２５、イメージメモリ２６、通信部２７及びバス２８を含む。プロセッサ２１、記憶部２２、表示デバイス２４、入力デバイス２３、カメラ２５、イメージメモリ２６及び通信部２７は、バス２８によって接続されている。
【００１４】
情報端末装置２０においては、プロセッサ２１及び記憶部２２がバス２８によって接続されることにより、情報端末装置２０を制御するコンピュータを構成する。
プロセッサ２１は、上記コンピュータの中枢部分に相当する。プロセッサ２１は、オペレーティングシステムやアプリケーションプログラムに従って、情報端末装置２０としての各種の機能を実現するべく各部を制御する。
記憶部２２は、上記コンピュータの主記憶部分及び補助記憶部分に相当する。記憶部２２は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。記憶部２２は、不揮発性のメモリ領域ではオペレーティングシステムやアプリケーションプログラムを記憶する。また記憶部２２は、プロセッサ２１が各部を制御するための処理を実行する上で必要なデータを不揮発性または揮発性のメモリ領域で記憶する場合もある。記憶部２２は、揮発性のメモリ領域を、プロセッサ２１によってデータが適宜書き換えられるワークエリアとして使用する。なお、アプリケーションプログラムの一部は、揮発性のメモリ領域で記憶される。
【００１５】
記憶部２２が記憶するアプリケーションプログラムには、プロセッサ２１が実行する後述の制御処理について記述したプログラムを含む。使用者への情報端末装置２０の譲渡は一般的に、当該制御プログラムが記憶部２２に記憶されない状態にて行われる。そしてプログラムは、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して使用者へと譲渡される。あるいはネットワークを介してプログラムが使用者へと譲渡される。そして、このプログラムが、上記の別途に譲渡された情報端末装置２０の記憶部２２に、使用者の指示の下に書き込まれる。しかし、プログラムが記憶部２２に記憶された状態の情報端末装置２０が、使用者に譲渡されてもよい。
【００１６】
入力デバイス２３は、操作者による操作を受けて、その操作に応じた入力情報を出力する。入力デバイス２３としては、例えばキーボード、マウス、あるいはタッチパネルなどが利用できる。
表示デバイス２４は、操作者に対して提示すべき各種の情報を表した画像を表示する。表示デバイス２４としては、例えばＬＣＤ（liquid crystal display）又はタッチパネルなどが利用できる。
カメラ２５は、入射する光の像に応じたイメージデータを出力する。カメラ２５は、複数の光検出素子を備え、予め定められたフレーム期間内に前記複数の光検出素子が順次に受光してイメージデータを得るイメージセンサを備える。イメージセンサとしては、例えばＣＣＤ（charge-coupled device）センサなどを用いることができる。
イメージメモリ２６は、イメージデータを一時的に記憶する。
通信部２７は、図示しない通信ネットワークを介したデータ通信を行う。
【００１７】
次に以上のように構成された可視光通信システム１００の動作について説明する。なお、ここでは、可視光通信をJEITA CP-1223に準じて行うこととして説明する。
【００１８】
照明器具１０において光源制御部１３は、電源回路１２からの光源１４への電力供給を断続することにより、光源１４を点滅させる。これにより、照明光の明暗が変化することになるが、光源制御部１３が電力供給を断続する周波数を例えば10kHz程度の高周波とすることにより、照明光の明暗の変化は人間には知覚されない。そして光源制御部１３は、予め定められたフォーマットで照明光に伝送データを重畳するように、光源１４の点滅を制御する。
【００１９】
図２は照明光に重畳される伝送データのフォーマットを示す図である。
伝送データは、同じ内容の光通信データの繰り返しにより構成される。光通信データは、予め定められたパターンのプリアンブルと、ＩＤ情報を示したペイロードとからなる。伝送データにより照明光の明暗が変化する1周期は、スロットと称される。プリアンブルは、12スロット分であり、照明光の明暗を1，0でそれぞれ表す場合は、「000111111111」である。ペイロードは、4スロットでＩＤ情報の2ビット分を示す。具体的には、ＩＤ情報のうちの2ビットが「00」「01」「10」「11」である場合、ペイロードでは明＝1、暗＝0として表すと「0111」「1011」「1101」「1110」とそれぞれ示される。2ビットに相当する4スロットは、シンボルと称される。このため、ＩＤ情報の総ビット数をＮｔと表すならば、ペイロードのスロット数は2Ｎｔとなる。
【００２０】
かくして、照明器具１０は、可視光の点滅として光通信データを繰り返し送信するのであり、そのような送信装置としての機能を備える。
【００２１】
情報端末装置２０では、入力デバイス２３での操作者の操作により指示された場合、あるいは上記アプリケーションを自動起動するための予め定められた条件が成立した場合などに、プロセッサ２１は以下に説明する制御処理を開始する。プロセッサ２１は、記憶部２２に記憶されたアプリケーションプログラムに従ってこの制御処理を実行する。
なお、当該アプリケーションプログラムは、照明器具１０のＩＤ情報を用いた機能を情報端末装置２０の使用者に提供するアプリケーションを実現するものである。上記の機能は、どのようなものであってもよいが、例えば通信部２７により通信可能なサーバなどから照明器具１０のＩＤ情報に基づいて取得した情報を表示デバイス２４で表示する機能などが想定される。ただし、以下においてはＩＤ情報を取得するための処理について説明し、取得したＩＤ情報を用いた機能に関わる処理についての説明は省略する。
【００２２】
図３、図４及び図５はプロセッサ２１による制御処理のフローチャートである。図３〜図５は、プロセッサ２１による一連の処理を３つに分けて示している。なお、この処理の手順は一例であり、同様な結果を得ることが可能であれば、各ステップの処理順序を適宜に入れ替えてもよいし、また他の処理が追加されてもよいし、一部の処理が他の処理に置き換えられてもよい。
【００２３】
図３のステップＳａ１においてプロセッサ２１は、各種変数を初期化する。具体的にはプロセッサ２１は、変数Ｎ１，Ｎ２，Ｎ３，Ｎ４及び変数Ｍをいずれも「0」とする。
ステップＳａ２においてプロセッサ２１は、カメラ２５を起動する。カメラ２５は、起動されると1フレーム分の撮影動作を開始し、イメージデータを出力し始める。カメラ２５においては、複数の光検出素子がフレーム期間内に順次に受光してイメージデータを得るので、イメージデータは、伝送データにおける各スロットが上端から順に並んだフレームイメージを表すものとなる。
図６は伝送データとフレームイメージとの関係の一例を示す図である。
伝送データに対して図６の上側に示すようなタイミングでフレーム期間が設定された場合は、フレームイメージには図６の下側に示すように、ペイロードの末尾側、プリアンブル、ペイロードの先頭側の順で、各スロットの明暗が濃淡として表れる。ただし図６では、各スロットの明暗に応じた濃淡の図示はしていない。
ステップＳａ３においてプロセッサ２１は、カメラ２５から出力されるイメージデータのイメージメモリ２６への保存を開始する。
【００２４】
ステップＳａ４においてプロセッサ２１は、イメージメモリ２６に格納済みのイメージデータを対象として、プリアンブルの検出を開始する。
ステップＳａ５においてプロセッサ２１は、プリアンブルが検出されるのを待ち受ける。そしてプリアンブルが到達し、そのパターンに応じた濃淡模様がイメージデータに表れると、プロセッサ２１はプリアンブルを検出したと判定し、ステップＳａ６へと進む。なお、１フレーム分のイメージデータ中からプリアンブルを検出できなかった場合についての図示は省略している。この場合にプロセッサ２１は例えば、図３〜図５に示す制御処理を一端終了し、当該制御処理を最初からやり直す。あるいはこの場合にプロセッサ２１は例えば、図４のステップＳａ１８へと進む。
ステップＳａ６においてプロセッサ２１は、プリアンブルの検索を終了する。
【００２５】
ステップＳａ７においてプロセッサ２１は、イメージメモリ２６に格納済みのイメージデータを対象として、プリアンブルの1つ前のシンボルの抽出を試行する。
ステップＳａ８においてプロセッサ２１は、上記の抽出に成功したか否かを確認する。そしてプロセッサ２１は、該当するシンボルの4スロットがイメージデータ中に揃っているならばＹｅｓと判定し、ステップＳａ９へと進む。
ステップＳａ９においてプロセッサ２１は、上記の抽出に成功したシンボルが表す２ビットのデータを、Ｎｔ−Ｎ２−1ビット目及びＮｔ−Ｎ２ビット目のデータとして記憶部２２に保存する。
ステップＳａ１０においてプロセッサ２１は、変数Ｎ２を2つ増加させる。すなわち変数Ｎ２は、プリアンブルの前側について抽出済みのデータのビット数を表す。つまり変数Ｎ２は、ペイロードの末尾側について、プリアンブルの前のどの位置までのデータを抽出済みであるかを示す。そしてこののちにプロセッサ２１は、ステップＳａ７以降の処理を繰り返す。なおプロセッサ２１は、ステップＳａ７を二度目以降に処理する場合は、抽出済みのシンボルよりも1つ前のシンボルの抽出を試行する。これによりプロセッサ２１は、シンボルが抽出できなくなるまで、抽出できたシンボルが表すデータを記憶部２２に保存して行く。なお、以降においては、この処理ループにより記憶部２２に記憶されるデータ群を、末尾側データ群と称する。
【００２６】
そして、プロセッサ２１がフレームデータの先頭付近までシンボルの抽出を終えると、次のシンボルの抽出ができなくなる。そしてこのような状態となると、プロセッサ２１はステップＳａ８にてＮｏと判定し、ステップＳａ１１へと進む。
ステップＳａ１１においてプロセッサ２１は、1フレーム分の撮影が終了するのを待ち受ける。そしてプロセッサ２１は、カメラ２５が1フレーム分の撮影を終えたならばＹｅｓと判定し、ステップＳａ１２へと進む。
【００２７】
ステップＳａ１２においてプロセッサ２１は、イメージメモリ２６に格納済みのイメージデータを対象として、プリアンブルの1つ後ろのシンボルの抽出を試行する。
ステップＳａ１３においてプロセッサ２１は、上記の抽出に成功したか否かを確認する。そしてプロセッサ２１は、該当するシンボルの4スロットがイメージデータ中に揃っているならばＹｅｓと判定し、ステップＳａ１４へと進む。
ステップＳａ１４においてプロセッサ２１は、上記の抽出に成功したシンボルが表す２ビットのデータを、Ｎ１＋1ビット目及びＮ１＋2ビット目のデータとして記憶部２２に保存する。
ステップＳａ１５においてプロセッサ２１は、変数Ｎ１を2つ増加させる。すなわち変数Ｎ１は、プリアンブルの後側について抽出済みのデータのビット数を表す。つまり変数Ｎ１は、ペイロードの先頭側について、プリアンブル後のどの位置までのデータを抽出済みであるかを示す。そしてこののちにプロセッサ２１は、ステップＳａ１２以降の処理を繰り返す。なおプロセッサ２１は、ステップＳａ１２を二度目以降に処理する場合は、抽出済みのシンボルよりも1つ後のシンボルの抽出を試行する。これによりプロセッサ２１は、シンボルが抽出できなくなるまで、抽出できたシンボルが表すデータを記憶部２２に保存して行く。なお、以降においては、この処理ループにより記憶部２２に記憶されるデータ群を、先頭側データ群と称する。
【００２８】
そして、プロセッサ２１がフレームデータの末尾付近までシンボルの抽出を終えると、次のシンボルの抽出ができなくなる。またプロセッサ２１がステップＳａ４の検索により検出したのとは別のプリアンブルの直前のシンボルの抽出を終えると、次のシンボルの抽出ができなくなる。そしてこれらの状態となると、プロセッサ２１はステップＳａ１３にてＮｏと判定し、ステップＳａ１６へと進む。
【００２９】
以上のステップＳａ４〜ステップＳａ１５の処理により1フレーム分のイメージデータから光通信データに含まれたペイロードの少なくとも一部に相当するデータが抽出される。従って、アプリケーションプログラムに基づいてプロセッサ２１が当該処理を実行することによって、プロセッサ２１を中枢部分とするコンピュータは第１の抽出手段として機能する。
【００３０】
ステップＳａ１６においてプロセッサ２１は、変数Ｎ１，Ｎ２のそれぞれの値の和がペイロードの総ビット数Ｎｔ以上か否かを確認する。つまりプロセッサ２１は、1フレームのイメージデータから、ペイロード1つ分のデータの全てを抽出できたか否かを確認する。そしてプロセッサ２１は、上記の和が総ビット数Ｎｔ以上であればＹｅｓと判定し、ステップＳａ１７へと進む。
ステップＳａ１７においてプロセッサ２１は、記憶部２２に記憶された末尾側データ群及び先頭側データ群を、末尾側データ群を先頭側データ群の後に位置するものとして結合することにより、ＩＤ情報を再構成する。例えば、変数Ｎ１，Ｎ２のそれぞれの値の和が総ビット数Ｎｔよりも大きな値となる場合には、ステップＳａ１７において、Ｎ１＋Ｎ２−Ｎｔビット分のデータを捨てて、ＩＤ情報を再構築することができる。そしてプロセッサ２１は、この制御処理を終了する。
【００３１】
一方、プロセッサ２１は、変数Ｎ１，Ｎ２のそれぞれの値の和が総ビット数Ｎｔ未満の場合は、ステップＳａ１６でＮｏと判定し、図４中のステップＳａ１８へと進む。
ステップＳａ１８においてプロセッサ２１は、次のフレームに関してイメージメモリ２６に格納済みのイメージデータを対象として、プリアンブルの検出を開始する。なお、カメラ２５は、設定されたフレームレートでイメージデータを生成するように、前述した撮影動作を繰り返し、これにより生成されたイメージデータは記憶部２２へと書き込まれる。
ステップＳａ１９においてプロセッサ２１は、プリアンブルが検出されるのを待ち受ける。そしてプリアンブルを検出すると、Ｙｅｓと判定し、ステップＳａ２０へと進む。なお、１フレーム分のイメージデータ中からプリアンブルを検出できなかった場合についての図示は省略している。この場合にプロセッサ２１は例えば、次のフレームのイメージデータを対象として、ステップＳａ１８から処理をやり直す。
ステップＳａ２０においてプロセッサ２１は、プリアンブルの検索を終了する。
【００３２】
ステップＳａ２１においてプロセッサ２１は、イメージメモリ２６に格納済みのイメージデータを対象として、プリアンブルの1つ前のシンボルの抽出を試行する。
ステップＳａ２２においてプロセッサ２１は、上記の抽出に成功したか否かを確認する。そしてプロセッサ２１は、該当するシンボルを抽出できたならばＹｅｓと判定し、ステップＳａ２３へと進む。
ステップＳａ２３においてプロセッサ２１は、変数Ｎ４を2つ増加させる。すなわち変数Ｎ４は、プリアンブルの前側について抽出済みのデータのビット数を表す。つまり変数Ｎ４は、ペイロードの末尾側について、プリアンブルの前のどの位置までのデータを抽出済みであるかを示す。
ステップＳａ２４においてプロセッサ２１は、変数Ｎ４が変数Ｎ２以下であるか否かを確認する。そしてプロセッサ２１は、変数Ｎ４が変数Ｎ２以下であるならばＹｅｓと判定し、ステップＳａ２１へと戻る。変数Ｎ４が変数Ｎ２以下であるならば、ステップＳａ２１で抽出されたシンボルは他のフレームのイメージデータから既に抽出済みである。そこでプロセッサ２１は、ここで抽出されたシンボルについては何らの処理も行わない。しかしながら、変数Ｎ４が変数Ｎ２よりも大きいならば、ステップＳａ２１で抽出されたシンボルは、末尾側データ群としてまだ記憶されていないデータを表す。そこでプロセッサ２１は、変数Ｎ４が変数Ｎ２よりも大きくなったならばＮｏと判定し、ステップＳａ２５へと進む。
ステップＳａ２５においてプロセッサ２１は、上記の抽出に成功したシンボルが表す2ビットのデータを、Ｎｔ−Ｎ４−1ビット目及びＮｔ−Ｎ４ビット目のデータとして記憶部２２に保存する。
ステップＳａ２６においてプロセッサ２１は、変数Ｎ４が総ビット数Ｎｔから変数Ｎ１を減じた値と一致するか否かを確認する。そしてプロセッサ２１は、上記の両値が一致しないならばＮｏと判定し、ステップＳａ２１へと戻り、それ以降の処理を繰り返す。これによりプロセッサ２１は、シンボルが抽出できなくなるか、あるいは変数Ｎ４が総ビット数Ｎｔから変数Ｎ１を減じた値と一致するまで、新たに得られたデータを記憶部２２の末尾側データ群に追加保存して行く。
【００３３】
変数Ｎ４が総ビット数Ｎｔから変数Ｎ１を減じた値に等しくなると、末尾側データ群のビット数と先頭側データ群のビット数との和が総ビット数Ｎｔに等しくなる。つまり、末尾側データ群と先頭側データ群とで、ＩＤ情報の全てのビットが揃ったこととなる。そこでプロセッサ２１は、変数Ｎ４が総ビット数Ｎｔから変数Ｎ１を減じた値に等しくなったならばステップＳａ２６にてＹｅｓと判定し、ステップＳａ２７へと進む。
ステップＳａ２７においてプロセッサ２１は、記憶部２２に記憶された末尾側データ群及び先頭側データ群を、末尾側データ群を先頭側データ群の後に位置するものとして結合することにより、ＩＤ情報を再構成する。そしてプロセッサ２１は、この制御処理を終了する。
【００３４】
ところでステップＳａ２１〜ステップＳａ２６の処理ループの実行に伴って、プロセッサ２１がフレームデータの先頭付近までシンボルの抽出を終えると、次のシンボルの抽出ができなくなる。そしてこのような状態となると、プロセッサ２１はステップＳａ２２にてＮｏと判定し、図５中のステップＳａ２８へと進む。
ステップＳａ２８においてプロセッサ２１は、変数Ｎ２の値を、変数Ｎ２及び変数Ｎ４の大きい方の値として更新する。プロセッサ２１はつまり、変数Ｎ４が変数Ｎ２よりも大きいならば、変数Ｎ４の値を変数Ｎ２にセットする。これにより変数Ｎ２は、この時点における末尾側データ群のビット数を表すこととなる。
【００３５】
ステップＳａ２９においてプロセッサ２１は、1フレーム分の撮影が終了するのを待ち受ける。そしてプロセッサ２１は、カメラ２５が1フレーム分の撮影を終えたならばＹｅｓと判定し、ステップＳａ３０へと進む。
ステップＳａ３０においてプロセッサ２１は、イメージメモリ２６に格納済みのイメージデータを対象として、プリアンブルの1つ後ろのシンボルの抽出を試行する。
ステップＳａ３１においてプロセッサ２１は、上記の抽出に成功したか否かを確認する。そしてプロセッサ２１は、該当するシンボルの4スロットがイメージデータ中に揃っているならばＹｅｓと判定し、ステップＳａ３２へと進む。
ステップＳａ３２においてプロセッサ２１は、変数Ｎ３を2つ増加させる。すなわち変数Ｎ３は、プリアンブルの後側について抽出済みのデータのビット数を表す。つまり変数Ｎ３は、ペイロードの先頭側について、プリアンブル後のどの位置までのデータを抽出済みであるかを示す。
ステップＳａ３３においてプロセッサ２１は、変数Ｎ３が変数Ｎ１以下であるか否かを確認する。そしてプロセッサ２１は、変数Ｎ３が変数Ｎ１以下であるならばＹｅｓと判定し、ステップＳａ３０へと戻る。変数Ｎ３が変数Ｎ１以下であるならば、ステップＳａ３０で抽出されたシンボルは他のフレームのイメージデータから既に抽出済みである。そこでプロセッサ２１は、ここで抽出されたシンボルについては何らの処理も行わない。しかしながら、変数Ｎ３が変数Ｎ１よりも大きいならば、ステップＳａ３０で抽出されたシンボルは、先頭側データ群としてまだ記憶されていないデータを表す。そこでプロセッサ２１は、変数Ｎ３が変数Ｎ１よりも大きくなったならばＮｏと判定し、ステップＳａ３４へと進む。
【００３６】
ステップＳａ３４においてプロセッサ２１は、上記の抽出に成功したシンボルが表す2ビットのデータを、Ｎ３＋1ビット目及びＮ３＋2ビット目のデータとして記憶部２２に保存する。
ステップＳａ３５においてプロセッサ２１は、変数Ｎ３が総ビット数Ｎｔから変数Ｎ２を減じた値と一致するか否かを確認する。そしてプロセッサ２１は、上記の両値が一致しないならばＮｏと判定し、ステップＳａ３０へと戻り、それ以降の処理を繰り返す。これによりプロセッサ２１は、シンボルが抽出できなくなるか、あるいは変数Ｎ３が総ビット数Ｎｔから変数Ｎ２を減じた値と一致するまで、新たに得られたデータを記憶部２２の先頭側データ群に追加保存して行く。
【００３７】
以上のステップＳａ１８〜ステップＳａ３５の処理により、ステップＳａ４〜ステップＳａ１５の処理の対象となっているのとは別のフレームのイメージデータから、ステップＳａ４〜ステップＳａ１５の処理では抽出されていないデータが抽出される。従って、アプリケーションプログラムに基づいてプロセッサ２１が当該処理を実行することによって、プロセッサ２１を中枢部分とするコンピュータは第２の抽出手段として機能する。
【００３８】
変数Ｎ３が総ビット数Ｎｔから変数Ｎ２を減じた値に等しくなると、先頭側データ群のビット数と末尾側データ群のビット数との和が総ビット数Ｎｔに等しくなる。つまり、先頭側データ群と末尾側データ群とで、ＩＤ情報の全てのビットが揃ったこととなる。そこでプロセッサ２１は、変数Ｎ３が総ビット数Ｎｔから変数Ｎ２を減じた値に等しくなったならばステップＳａ３５にてＹｅｓと判定し、ステップＳａ３６へと進む。
ステップＳａ３６においてプロセッサ２１は、記憶部２２に記憶された先頭側データ群及び末尾側データ群を、末尾側データ群を先頭側データ群の後に位置するものとして結合することにより、ＩＤ情報を再構成する。これにより、ステップＳａ４〜Ｓａ１５において1フレームのイメージデータから抽出されたデータと、ステップＳａ１８〜Ｓａ３５において別のフレームのイメージデータから抽出されたデータとから、ペイロードで伝送されたＩＤ情報が再構成される。従ってアプリケーションプログラムに基づいてプロセッサ２１が当該処理を実行することによって、プロセッサ２１を中枢部分とするコンピュータは再構成手段として機能する。そしてプロセッサ２１は、この制御処理を終了する。
【００３９】
ところでステップＳａ３０〜ステップＳａ３５の処理ループの実行に伴って、プロセッサ２１がフレームデータの末尾付近までシンボルの抽出を終えると、次のシンボルの抽出ができなくなる。そしてこのような状態となると、プロセッサ２１はステップＳａ３１にてＮｏと判定し、ステップＳａ３７へと進む。
ステップＳａ３７においてプロセッサ２１は、変数Ｎ１の値を、変数Ｎ１及び変数Ｎ３の大きい方の値として更新する。プロセッサ２１はつまり、変数Ｎ３が変数Ｎ１よりも大きいならば、変数Ｎ３の値を変数Ｎ１にセットする。これにより変数Ｎ１は、この時点における先頭側データ群のビット数を表すこととなる。
【００４０】
ステップＳａ３８においてプロセッサ２１は、変数Ｍを1つ増加する。これにより変数Ｍは、次のシンボルの抽出ができないとステップＳａ３１にて判定した回数を表すこととなる。
ステップＳａ３９においてプロセッサ２１は、変数Ｍが予め定められたしきい値Ｍth以上であるか否かを確認する。しきい値Ｍthは任意の値であってよく、例えば当該制御処理のアプリケーションプログラムの設計者又は情報端末装置２０の使用者などにより定められる。そしてプロセッサ２１は、変数Ｍがしきい値Ｍth以上であるならばＹｅｓと判定し、ステップＳａ４０へと進む。
ステップＳａ４０においてプロセッサ２１は、カメラ２５のフレームレートの設定を変更する。なお、変更前及び変更後でそれぞれフレームレートをどのような値とするかは任意である。例えば、ステップ４０を一度実行するまでのフレームレートは、この制御処理により設定されるものではなく、情報端末装置２０における基本設定などが適用される。そしてプロセッサ２１はステップＳａ４０では、それまでに設定されていたフレームレートを予め定められた割合で増加又は減少する。
プロセッサ２１は、こののちに図４中のステップＳａ１８に戻り、それ以降の処理を前述と同様に実行する。なお、プロセッサ２１は、変数Ｍが予め定められたしきい値Ｍth未満であるならば、ステップＳａ３９にてＮｏと判定し、ステップＳａ４０をパスして図４中のステップＳａ１８へと戻る。つまりプロセッサ２１は、ステップＳａ１８〜ステップＳａ３６の処理をＭth回に渡り繰り返してもＩＤ情報の全てのビットを得ることができない場合に、フレームレートを変更する。さて、例えば伝送データにおける光通信データの繰り返し周期とカメラ２５のフレーム期間の繰り返し周期とが一致すると、ペイロード中の一部の同じ領域のシンボルだけが繰り返し取得されるような状況となる。そしてこの場合には、ステップＳａ１８〜ステップＳａ３６の処理を繰り返しても、ＩＤ情報の全てのビットを得ることができないことがある。しかしながら、上記のようにフレームレートを変更することにより、両周期の関係が変化するので、取得できていないビットを取得できるようになる確率が高まる。
【００４１】
図７は、以上の制御処理によりＩＤ情報が再構成される様子の一例を模式的に示す図である。
可視光通信システム１００は、図７に示すように、1フレームのイメージデータからではＩＤ情報の全てのビットを得ることができない場合には、不足するビットをその後の別のフレームから取得し、それらをつなぎ合わせてＩＤ情報を再構成する。したがって、光通信データの送信とは非同期にカメラ２５により撮影して得られたイメージデータからペイロードが示すデータを再構成できる。
また可視光通信システム１００によれば、2フレームのイメージデータからペイロードを構成する全てのビットを取得しているので、3フレーム以上のイメージデータを処理する場合に比べて短時間のうちに、ペイロードが示すデータを再構成できる。
また可視光通信システム１００ではさらに、連続する2フレームのイメージデータからペイロードを構成する全てのビットを取得している。これとは別に、時間的に離れた2フレームのイメージデータを処理の対象とするように変形実施することも可能である。しかしながら可視光通信システム１００では、上記の変形例に比べて効率的に処理可能である。
また可視光通信システム１００ではさらに、2フレームのうちの前のフレームからペイロードの先頭側の一部のデータと末尾側の一部のデータとをそれぞれ抽出し、後のフレームからペイロードの中央の一部のデータを抽出する。これとは逆に、前のフレームを保存しておき、後のフレームからペイロードの先頭側の一部のデータと末尾側の一部のデータとをそれぞれ抽出したのち、前のフレームからペイロードの中央の一部のデータを抽出するように変形実施することも可能である。しかしながら可視光通信システム１００では、2フレームを到来する順番で処理すれば良く、上記の変形例に比べて効率的に処理可能である。
【００４２】
この実施形態は、次のような種々の変形実施が可能である。
送信装置は、照明器具１０とは異なり、照明光以外の光に伝送データを重畳して発するものや、伝送データを送信するためだけの光を発する装置として実現してもよい。
送信装置は、同じ内容の光通信データを繰り返し送信するものであれば、光通信データの構成や、どのような形態でデータを表すかなどは任意でよい。
【００４３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４４】
１００…可視光通信システム、１０…照明器具、１１…記憶部、１２…電源回路、１３…光源制御部、１４…光源、２０…情報端末装置、２１…プロセッサ、２２…記憶部、２３…入力デバイス、２４…表示デバイス、２５…カメラ、２６…イメージメモリ、２７…通信部。
【図１】
2018011133.tif 000003
【図２】
2018011133.tif 000004
【図３】
2018011133.tif 000005
【図４】
2018011133.tif 000006
【図５】
2018011133.tif 000007
【図６】
2018011133.tif 000008
【図７】
2018011133.tif 000009