(57)【要約】【課題】移動体における可視光通信に適した画像処理技術を提供する。【解決手段】車載カメラ２１は、輝度の変化によって情報を発信するＬＥＤテールライト１２を含む画像を撮像する。画像取込部２２は、車載カメラ２１により撮像された複数フレームの画像列をメモリ２３に格納する。受信用演算部２４は、メモリ２３に格納された画像列について、各画像内の基準画素の輝度変化パターンと、基準画素の周囲の同期判定範囲に含まれる各画素の位置の輝度変化パターンとが同期パターンに一致することを条件に、基準画素の位置を復調対象画素に特定する。受信用演算部２４は、同期パターンに一致した画像列以降に取得された画像列について、特定された復調対象画素の輝度変化パターンに基づいてデータを復調する。【選択図】  図２
2017085230.tif 000002
【特許請求の範囲】
【請求項１】
送信側に備えられた灯火装置を含んで撮像された時間的に一定間隔で連続する複数のフレームで構成される画像列を取得する画像取得部（２２）と、
前記取得部により取得された画像列について、前記画像間において共通の位置にある特定の画素である基準画素の位置と、前記基準画素の周囲の領域である同期判定範囲に含まれる各画素の位置とにおける、輝度の変化の時間的推移である輝度変化パターンが、送信側と受信側とを同期させるための予め定められたパターンである同期パターンに一致することを条件に、前記基準画素の位置を復調対象画素に特定する対象画素特定部（２４，Ｓ１０８〜Ｓ１１２）と、
前記取得部により取得された画像列のうち前記同期パターンに一致した画像列以降に取得された画像列について、前記対象画素特定部により特定された復調対象画素の輝度変化パターンに基づいてデータを復調する復調部（２４，Ｓ１２６）と、
を備える可視光通信装置。
【請求項２】
請求項１に記載の可視光通信装置において、
前記対象画素特定部は、画像内の異なる複数の位置においてそれぞれ復調対象画素を特定し、
前記復調部は、複数の前記復調対象画素それぞれにおける輝度変化パターンに基づいてデータを復調し、前記複数の復調対象画素からそれぞれ復調されたデータが互いに一致することを条件に、当該データを有効なものとして扱うこと、
を特徴とする可視光通信装置。
【請求項３】
請求項１又は請求項２に記載の可視光通信装置において、
送信対象のデータを、当該データに対応する灯火装置の輝度変化パターンを発現させるための電気信号に変調し、変調された前記電気信号を前記灯火装置に供給して、前記灯火装置によって発現される輝度変化パターンで構成される通信信号を送信する送信制御部（１１）を備える可視光通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、灯火装置を用いて送信される情報を受信する可視光通信装置に関する。
【背景技術】
【０００２】
可視光を用いて自由空間に情報を伝達する可視光通信について、特許文献１に記載の技術が開示されている。特許文献１には、イメージセンサの複数の露光ラインを順次異なるタイミングで露光させて画像を取得し、画像に現れる輝線の輝度の変化の推移を表す輝度変化パターンを復調することで情報を取得する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２１２５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、可視光通信を応用して前方車両と後方車両との間の車車間通信を実現することが考えられる。その際、車両に設けられている既存の灯火装置を利用することで、別途通信装置を搭載する必要がなく、コスト面で有利となる。
【０００５】
車両のような移動体において可視光通信を実現するにあたり、情報を送信する灯火装置を含む広い範囲が撮像された画像内において、灯火装置の輝度変化パターンを判定すべき位置が一定しないという問題がある。しかしながら、輝度変化パターンの判定位置が定まらない条件下に対し、特許文献１に記載のような露光ラインに対応する輝線の輝度変化パターンを復調する技術では対応することができない。
【０００６】
本発明は上記課題を解決するためになされたものである。本発明は、移動体における可視光通信に適した画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様である可視光通信装置は、画像取得部（２２）と、対象画素特定部（２４，Ｓ１０８〜Ｓ１１２）と、復調部（２４，Ｓ１２６）とを備える。なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【０００８】
画像取得部は、送信側に備えられた灯火装置を含んで撮像された時間的に一定間隔で連続する複数のフレームで構成される画像列を取得する。対象画素特定部は、取得部により取得された画像列について、データを復調する対象となる画素の位置である復調対象画素を特定する。具体的には、各画像内の基準画素の位置における輝度変化パターンと、基準画素の周囲の領域である同期判定範囲に含まれる各画素の位置における輝度変化パターンとが同期パターンに一致することを条件に、基準画素の位置を復調対象画素に特定する。輝度変化パターンとは、輝度の変化の時間的推移である。復調部は、取得部により取得された画像列のうち同期パターンに一致した画像列以降に取得された画像列について、対象画素特定部により特定された復調対象画素の輝度変化パターンに基づいてデータを復調する。
【０００９】
通信信号の発信源となる灯火装置を含んで撮像された画像において、輝度変化からデータを復調できるのは灯火装置の表示領域に限られる。これに対し、単に全画素に対して個別に輝度変化パターンを判定した場合、ノイズ等の影響で灯火装置の表示領域ではない画素において偶然に通信信号と認識されてしまう可能性がある。特に、送信側と受信側との相対位置が変化する移動体における可視光通信ではその可能性が高まると考えられる。
【００１０】
そこで本発明では、灯火装置を含んで撮像された画像において、灯火装置が写る範囲は１点の画素ではなく連続する範囲を形成する画素群であることに着目した。それにより、基準となる画素の位置とその周囲まで含めて輝度変化パターンが同期パターンに一致することを条件に、当該基準画素の位置を復調対象画素に特定するようにした。このようにすることで、ノイズ等の影響で灯火装置の表示領域ではない画素において偶然に送信側と同期してしまう可能性を低減し、画像内から情報の発信源となる灯火装置の位置を的確に特定することができる。
【図面の簡単な説明】
【００１１】
【図１】可視光通信システムの概要を表す図。
【図２】送信側装置及び受信側装置の構成を表すブロック図。
【図３】ＬＥＤテールライトの輝度変化パターンの具体例を表す図。
【図４】同期判定範囲の概要を表す図。
【図５】データの変調及び復調の具体例を表す図。
【図６】受信用演算部が実行する処理の手順を表すフローチャート。
【図７】カメラ画像のフレーム構造を表す説明図。
【図８】同期判定処理の手順を表すフローチャート。
【図９】周辺同期判定処理の手順を表すフローチャート。
【図１０】データ処理の手順を表すフローチャート。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面に基づいて説明する。なお、本発明は下記の実施形態に限定されるものではなく様々な態様にて実施することが可能である。
［可視光通信システムの構成の説明］
図１に例示されるとおり、本実施形態の可視光通信システムは、情報を送信する前方車両１と、前方車両１の後方を追従して走行する車両であって、情報を受信する後方車両２との間で可視光通信を行うものである。
【００１３】
この可視光通信システムでは、前方車両１の後部に備えられた灯火装置であるＬＥＤテールライト１２を介して、後方車両２に情報が伝達される。後方車両２には後方車両２の前方を撮像するための車載カメラ２１が搭載されている。この車載カメラ２１によって前方車両１の後部が撮像され、撮像により取得された時間的に一定間隔で連続する画像に写っているＬＥＤテールライト１２の画像の輝度変化パターンに基づいて、伝送された情報が復調される。
【００１４】
前方車両１に搭載される送信側装置１０、及び後方車両２に搭載される受信側装置２０の構成について、図２を参照しながら説明する。図２に例示されるとおり、送信側装置１０は、送信用演算部１１と、ＬＥＤテールライト１２とを備える。
【００１５】
送信用演算部１１は、電源電圧のパルス波のデューティ比を変化させて負荷の出力を制御する制御法であるＰＷＭ（すなわち、Pulse Width Modulation）制御法を用いてＬＥＤテールライト１２の発光を制御する電子制御装置である。この送信用演算部１１は、後方車両２に送信するための車両情報を構成するデータを、ＬＥＤテールライト１２を発光させるためのパルス駆動信号のデューティ比の時間的変化に変調する機能を担う。送信される車両情報は、例えば、自車両に備えられたＣＡＮ等の車内ネットワークを通じて車載機器から出力された情報である。
【００１６】
送信用演算部１１は、パルス駆動信号のオンパルスの通電幅を任意に変更することで、パルス駆動信号のデューティ比を自在に変化させる構成を備える。これにより、送信用演算部１１は、定められた変調方式に則って、送信するデータを構成するビット列（すなわち、「０」又は「１」の値を持つビットが連続した情報）に応じてデューティ比が一定間隔で段階的に切替るパルス駆動信号を生成する。生成されたパルス駆動信号は、ＬＥＤテールライト１２に供給され、ＬＥＤテールライト１２を駆動させる。本実施形態では、１／６０秒ごとにパルス駆動信号のデューティ比を段階的に変更させるものとする。この１／６０秒という間隔は、受信側装置２０に備えられる車載カメラ２１によって１フレーム分の静止画像が取得される間隔に合わせたものとなっている。なお、パルス駆動信号のデューティ比は、１／６０秒よりも十分に早い周期でパルス駆動信号のオン／オフを切替えることにより調節される。
【００１７】
ＬＥＤテールライト１２は、車両の後部に備えられる尾灯として機能する灯火装置であり、赤色光を発するＬＥＤ（すなわち、発光ダイオード）を光源として備える。ＬＥＤテールライト１２は、送信用演算部１１から供給される電源であるパルス駆動信号によって発光する。このとき、パルス駆動信号のデューティ比に応じてＬＥＤテールライト１２の明るさが変化する。
【００１８】
受信側装置２０は、車載カメラ２１と、画像取込部２２と、メモリ２３と、受信用演算部２４とを備える。車載カメラ２１は、車両に搭載される撮像装置である。この車載カメラ２１は、後方車両２の前方に向けて設置されており、これにより前方車両１の後部に設けられたＬＥＤテールライト１２を含む画像を取得できるようになっている。車載カメラ２１は、１秒あたり６０フレームの画像を取得するように構成されている。つまり、前方車両１のＬＥＤテールライト１２を駆動させるパルス駆動信号のデューティ比が切替わる間隔と同じ、１／６０秒の間隔で連続する複数フレームの画像を取得する。車載カメラ２１により撮像された画像を構成する映像信号は、画像取込部２２に送られる。
【００１９】
画像取込部２２は、車載カメラ２１から出力される映像信号をフレームごとにビットマップ形式のデジタル画像データに変換し、時系列にメモリ２３に保存する画像処理装置である。画像取込部２２は、車載カメラ２１により取得された映像信号を、画像を構成する画素ごとにＲＧＢカラーモデルで輝度を数値化した画像データに変換する。メモリ２３は、受信用演算部２４の画像処理に用いられる複数フレーム分の時系列の画像データを記憶可能な記憶容量と処理速度とを備える記憶装置である。
【００２０】
受信用演算部２４は、図示しないＣＰＵ、ＲＡＭ、ＲＯＭ、フラッシュメモリ等の半導体メモリ、他の機器と通信するための入出力部等を中心に構成された情報処理装置である。この受信用演算部２４は、例えば、コンピュータシステムとしての機能が集約されたマイクロコントローラ等により具現化される。受信用演算部２４は、メモリ２３に保存された複数フレームの画像列から、通信信号が送信された灯火装置が写っている画素の位置を認識し、その画素の位置における輝度変化パターンに基づいて、送信された情報の内容を表すデータを復調する機能を担う。
【００２１】
受信用演算部２４の機能は、ＣＰＵがＲＯＭや半導体メモリ等の非遷移的実体的記憶媒体に格納されたプログラムを実行することにより実現される。なお、受信用演算部２４を構成するマイクロコントローラの数は１つでも複数でもよい。また、受信用演算部２４の機能を実現する手法はソフトウェアに限るものではなく、その一部又は全部の要素を論理回路やアナログ回路等を組合せたハードウェアを用いて実現してもよい。
【００２２】
［ＬＥＤテールライト１２における輝度変化パターンの一例］
送信用演算部１１により生成されるパルス駆動信号と、そのパルス駆動信号によって生じるＬＥＤテールライト１２の輝度変化パターンの一例について、図３を参照しながら説明する。なお、図３に例示される符号Ａのパルス駆動信号は、送信側と受信側とを同期させて通信を可能にするために予め定められた輝度変化パターンである同期パターンを構成する信号である。
【００２３】
符号Ａのパルス駆動信号においては、１／６０秒ごとにデューティ比が６０％、７０％、８０％の何れかに段階的に切替っている。なお、デューティ比の変化は、人の目には認識できない明領域内での輝度差分となるように設定されているものとする。この符号Ａのパルス駆動信号によって駆動されるＬＥＤテールライト１２の輝度は、符号Ｂのグラフで表されるとおり、１／６０秒ごとにデューティ比６０％、７０％、８０％それぞれに対応する低程度の輝度、中程度の輝度、高程度の輝度に段階的に変化する。
【００２４】
符号Ｃのグラフは、符号Ｂで表される輝度の変化を提示したＬＥＤテールライト１２が撮像された画像から、受信用演算部２４において認識された輝度値の変化パターンをプロットしたものである。本実施形態では、画素の輝度を表す値として赤色要素の輝度値（すなわち、Ｒ値）を用いる。
【００２５】
受信側の車載カメラ２１のフレームレートは６０ｆｐｓであるので、ＬＥＤテールライト１２の輝度が変化する１／６０秒の間隔で１フレームの画像が取得されるようになっている。受信用演算部２４は、時間的に連続する複数の画像の間で共通する座標に位置する特定の画素である基準画素のＲ値が上昇するか下降するかを判定する。符号Ｃのグラフでは、前の画像から次の画像にかけて基準画素のＲ値が上昇する推移を「ｕｐ」と表記し、Ｒ値が下降する推移を「ｄｏｗｎ」と表記してある。受信用演算部２４は、基準画素のＲ値のｕｐ／ｄｏｗｎが特定のパターンで続くことを認識したら、そのパターンを同期パターンとみなし、それ以降のフレームにおける輝度変化パターンをデータとして扱う。なお、本実施形態では、グラフＣで表されるとおり、一連のフレーム列においてｕｐが２回連続した後にｄｏｗｎが２回連続し、さらに、ｕｐが２回連続した後にｄｏｗｎが２回連続する輝度変化パターンを、同期パターンと認識する。
【００２６】
補足として、送信側においてパルス駆動信号のデューティ比が切替わる周期と受信側において画像が取得される周期とは同一だが、１／６０秒間隔のどのタイミングの輝度が画像に取込まれるかは定かではない。基本的には、ＰＷＭ制御のスイッチング周期をカメラの１フレームあたりの露光時間に対して十分に早くすることで、どのようなタイミングで画像の取込が行われても輝度の変動に追従可能である。ただし、輝度が上昇から下降、又は下降から上昇に切替るタイミングにおいては、その時点でのｕｐ／ｄｏｗｎの判定は信用できない値となる。そこで、本実施形態では、輝度のＲ値が上昇から下降、又は下降から上昇に転じる過程は輝度変化パターンの判定には含めない不定の区間として扱うものとする。
【００２７】
［カメラ画像におけるＬＥＤテールライトの位置特定方法に関する説明］
車載カメラ２１により取得された画像から、ＬＥＤテールライト１２の画像を構成する画素の位置を特定する方法について、図４を参照しながら説明する。
【００２８】
受信用演算部２４は、まず、連続する所定数の画像列において、図３の符号Ｃのグラフで例示される同期パターンに合致する輝度変化パターンを呈する、１つの共通の画素の位置である基準画素の位置を特定する。そして、図４に例示されるように、特定された基準画素の位置を中心とする周囲の所定サイズからなる同期判定範囲に含まれる全ての画素が、それぞれ基準画素と同様の同期パターンを示すことを条件に、その基準画素を復調する対象の画素である復調対象画素に決定する。同期判定範囲は、その範囲における輝度変化パターンが基準画素と同様の同期パターンを呈するか否かを判定するための領域である。なお、同期判定範囲のサイズは、送信側と受信側と（例えば、車両同士、静止物体と車両）において想定される距離や相対速度、撮像される灯火装置の大きさ等に基づいて想定される座標変動のリスクに応じて設計的に決定されるものとする。
【００２９】
本実施形態は、複数（例えば、１０箇所）の復調対象画素がそれぞれ異なる位置において特定され、それぞれの復調対象画素における輝度変化パターンに基づいてデータが復調される。そして、それぞれの復調対象画素から復調されたデータが互いに一致することを条件に、そのデータが有効なデータとして出力される。
【００３０】
［データの送信とその復調方法に関する説明］
図５において、符号Ａ１，Ａ２のグラフは、後方車両２に対して車両情報を送信する際に送信用演算部１１が生成するパルス駆動信号の一例である。図５に例示されるとおり、車両情報を送信する際に生成されるパルス駆動信号は、先に説明した同期パターンを構成する同期信号期間のパルス駆動信号Ａ１の後に、情報の内容を表すデータを構成するデータ信号期間のパルス駆動信号Ａ２が続く構成からなる。
【００３１】
送信用演算部１１は、まず、ＬＥＤテールライト１２に同期パターンを発生させるための同期信号期間のパルス駆動信号Ａ１を生成する。そして、パルス駆動信号Ａ１の直後に、送信するデータを構成する「１」，「０」のビット列に従って規則的にデューティ比を変化させることによりデータ信号期間のパルス駆動信号Ａ２を生成する。
【００３２】
データ信号期間では、パルス駆動信号のデューティ比の上下の変動によってデータを構成する「１」，「０」のビットが表現される。本実施形態では、パルス駆動信号Ａ２のグラフに例示されるとおり、デューティ比が６０％から８０％に上昇するパターンによって「１」のビットが表現されるものとする。また、デューティ比が８０％から６０％に低下するパターンによって「０」のビットが表現されるものとする。このような変調方法によれば、１バイト（すなわち、８ビット）のデータをおよそ０．５秒で送信することが可能であり、簡単な車両情報を後方車両に伝達する用途に適している。
【００３３】
一方、符号Ｃ１，Ｃ２のグラフは、上述のパルス駆動信号Ａ１，Ａ２によって駆動されたＬＥＤテールライト１２が撮像された画像を構成する画素から、受信用演算部２４において認識された輝度値のＲ値の変化パターンをプロットしたものである。受信用演算部２４は、同期信号期間に撮像された画像列から同期パターンの認識に成功した場合、直後のフレーム以降の画像列の復調対象画素から認識されるＬＥＤテールライト１２の輝度変化パターンに従って規則的にデータを復調する。
【００３４】
本実施形態では、データ信号期間に対応する輝度変化パターンＣ２に例示されるとおり、連続する２つの画像の組において輝度のＲ値が上昇する輝度変化パターンを、「１」のビットと認識する。また、連続する２つの画像の組において輝度のＲ値が上昇する輝度変化パターンを、「０」のビットと認識する。なお、ビットとビットの間における輝度のＲ値の変化については、判定には含めない不定の区間として扱うものとする。
【００３５】
［受信用演算部が実行する処理の説明］
受信用演算部２４が実行する処理の手順について、図６のフローチャートを参照しながら説明する。なお、図６のフローチャートを説明する過程において、図７〜１０も適宜参照する。
【００３６】
なお、本実施形態においては、画像取込部２２によって取得される画像がＶＧＡ（すなわち、Video Graphics Array）規格に対応した６４０×４８０ｄｏｔの画素で構成されていることを前提とする。また、図７に例示されるとおり、画像を構成する画素には、左上側を原点にして横方向がｘ座標、縦方向がｙ座標からなるｘｙ座標系が割り当てられているものとする。この場合、ｘ座標方向の画素数が６４０ｄｏｔ、ｙ軸方向の画素数が４８０ｄｏｔである。また、時間的に連続する画像列を構成する各フレームには、ａ，ａ＋１，ａ＋２…といった具合に時間順に連続する番号が付与されているものとする。
【００３７】
図６において、Ｓ１００〜Ｓ１３０は、最初に「ａ」及び「ｍ」の値が１にセットされてから、「ａ」の値が１から１つずつカウントアップされる度に順次繰返されるループ処理である。なお、「ａ」は、処理対象のフレームの番号を表す値である。「ｍ」は、Ｓ１０８及びＳ１１０による同期判定における肯定回数を表す値であり、Ｓ１２６のデータ処理を開始するための判断対象となる。
【００３８】
そして、上記ループ処理内において、Ｓ１０４〜Ｓ１２４は、処理対象の画素のｘ座標位置を表す「ｘ」の値が１から６４０まで１つずつカウントアップされる度に順次繰返されるループ処理である。また、このループ処理内において、Ｓ１０６〜Ｓ１２０は、処理対象の画素のｙ座標位置を表す「ｙ」の値が１から４８０に１つずつカウントアップされる度に順次繰返されるループ処理である。
【００３９】
Ｓ１０８では、受信用演算部２４は、「ａ」，「ｘ」，「ｙ」の値を引数にして同期判定処理を実行する。この同期判定処理は、「ａ」番目のフレームにから過去の一連の画像列について、座標「ｘ」，「ｙ」に位置する画素（以下、基準画素という）において観測される輝度変化パターンが同期パターンに適合するか否かを判定する処理である。
【００４０】
ここで、Ｓ１０８の同期判定処理において使用される関数の構成について、図８のフローチャートを参照しながら説明する。この関数において、「Ａ」番目のフレームから［Ａ−１１］番目までのフレームまで遡って座標「Ｘ」，「Ｙ」における輝度のＲ値の推移が、図３のグラフＣで例示される同期パターンと一致するか否かが判定される。
【００４１】
図８において、Ｓ２００では、受信用演算部２４は、Ｒ［Ａ］［Ｘ，Ｙ］がＲ［Ａ−１］［Ｘ，Ｙ］よりも小さいか否かを判定する。なお、Ｒ［Ａ］［Ｘ，Ｙ］は、「Ａ」番目のフレームの座標「Ｘ」，「Ｙ」に位置する画素の輝度のＲ値を表す記号である。Ｓ２００においてＲ［Ａ］［Ｘ，Ｙ］がＲ［Ａ−１］［Ｘ，Ｙ］以上であると判定された場合、受信用演算部２４は、否定判定である「ＮＯ」を判定結果として出力する。一方、Ｓ２００において、Ｒ［Ａ］［Ｘ，Ｙ］がＲ［Ａ−１］［Ｘ，Ｙ］よりも小さいと判定された場合、受信用演算部２４はＳ２０２に進む。
【００４２】
Ｓ２０２では、受信用演算部２４は、Ｒ［Ａ−１］［Ｘ，Ｙ］がＲ［Ａ−２］［Ｘ，Ｙ］よりも小さいか否かを判定する。Ｓ２０２においてＲ［Ａ−１］［Ｘ，Ｙ］がＲ［Ａ−２］［Ｘ，Ｙ］以上であると判定された場合、受信用演算部２４は、否定判定である「ＮＯ」を判定結果として出力する。一方、Ｓ２０２において、Ｒ［Ａ−１］［Ｘ，Ｙ］がＲ［Ａ−２］［Ｘ，Ｙ］よりも小さいと判定された場合、受信用演算部２４はＳ２０４に進む。
【００４３】
Ｓ２０４では、受信用演算部２４は、Ｒ［Ａ−３］［Ｘ，Ｙ］がＲ［Ａ−４］［Ｘ，Ｙ］よりも大きいか否かを判定する。Ｓ２０４においてＲ［Ａ−３］［Ｘ，Ｙ］がＲ［Ａ−４］［Ｘ，Ｙ］以下であると判定された場合、受信用演算部２４は、否定判定である「ＮＯ」を判定結果として出力する。一方、Ｓ２０４において、Ｒ［Ａ−３］［Ｘ，Ｙ］がＲ［Ａ−４］［Ｘ，Ｙ］よりも大きいと判定された場合、受信用演算部２４はＳ２０６に進む。
【００４４】
Ｓ２０６では、受信用演算部２４は、Ｒ［Ａ−４］［Ｘ，Ｙ］がＲ［Ａ−５］［Ｘ，Ｙ］よりも大きいか否かを判定する。Ｓ２０６においてＲ［Ａ−４］［Ｘ，Ｙ］がＲ［Ａ−５］［Ｘ，Ｙ］以下であると判定された場合、受信用演算部２４は、否定判定である「ＮＯ」を判定結果として出力する。一方、Ｓ２０６において、Ｒ［Ａ−４］［Ｘ，Ｙ］がＲ［Ａ−５］［Ｘ，Ｙ］よりも大きいと判定された場合、受信用演算部２４はＳ２０８に進む。
【００４５】
Ｓ２０８では、受信用演算部２４は、Ｒ［Ａ−６］［Ｘ，Ｙ］がＲ［Ａ−７］［Ｘ，Ｙ］よりも小さいか否かを判定する。Ｓ２０８においてＲ［Ａ−６］［Ｘ，Ｙ］がＲ［Ａ−７］［Ｘ，Ｙ］以上であると判定された場合、受信用演算部２４は、否定判定である「ＮＯ」を判定結果として出力する。一方、Ｓ２０８において、Ｒ［Ａ−６］［Ｘ，Ｙ］がＲ［Ａ−７］［Ｘ，Ｙ］よりも小さいと判定された場合、受信用演算部２４はＳ２１０に進む。
【００４６】
Ｓ２１０では、受信用演算部２４は、Ｒ［Ａ−７］［Ｘ，Ｙ］がＲ［Ａ−８］［Ｘ，Ｙ］よりも小さいか否かを判定する。Ｓ２１０においてＲ［Ａ−７］［Ｘ，Ｙ］がＲ［Ａ−８］［Ｘ，Ｙ］以上であると判定された場合、受信用演算部２４は、否定判定である「ＮＯ」を判定結果として出力する。一方、Ｓ２１０において、Ｒ［Ａ−７］［Ｘ，Ｙ］がＲ［Ａ−８］［Ｘ，Ｙ］よりも小さいと判定された場合、受信用演算部２４はＳ２１２に進む。
【００４７】
Ｓ２１２では、受信用演算部２４は、Ｒ［Ａ−９］［Ｘ，Ｙ］がＲ［Ａ−１０］［Ｘ，Ｙ］よりも大きいか否かを判定する。Ｓ２１２においてＲ［Ａ−９］［Ｘ，Ｙ］がＲ［Ａ−１０］［Ｘ，Ｙ］以下であると判定された場合、受信用演算部２４は、否定判定である「ＮＯ」を判定結果として出力する。一方、Ｓ２１２において、Ｒ［Ａ−９］［Ｘ，Ｙ］がＲ［Ａ−１０］［Ｘ，Ｙ］よりも大きいと判定された場合、受信用演算部２４はＳ２１４に進む。
【００４８】
Ｓ２１４では、受信用演算部２４は、Ｒ［Ａ−１０］［Ｘ，Ｙ］がＲ［Ａ−１１］［Ｘ，Ｙ］よりも大きいか否かを判定する。Ｓ２１４においてＲ［Ａ−１０］［Ｘ，Ｙ］がＲ［Ａ−１１］［Ｘ，Ｙ］以下であると判定された場合、受信用演算部２４は否定判定である「ＮＯ」を判定結果として出力する。一方、Ｓ２１４において、Ｒ［Ａ−１０］［Ｘ，Ｙ］がＲ［Ａ−１１］［Ｘ，Ｙ］よりも大きいと判定された場合、受信用演算部２４は肯定判定である「ＹＥＳ」を判定結果として出力する。
【００４９】
図６のフローチャートの説明に戻る。Ｓ１０８において否定判定である「ＮＯ」が出力された場合、受信用演算部２４はＳ１２０に進む。一方、Ｓ１０８において肯定判定である「ＹＥＳ」が出力された場合、受信用演算部２４はＳ１１０に進む。Ｓ１１０では、受信用演算部２４は、Ｓ１０８と同じ「ａ」，「ｘ」，「ｙ」の値を引数にして周辺同期判定処理を実行する。この周辺同期判定処理は、基準画素の周囲の同期判定範囲に含まれる全ての画素群において観測される輝度変化パターンが、同期パターンに適合するか否かを判定する処理である。
【００５０】
ここで、周辺同期判定処理において使用される関数の構成について、図９のフローチャートを参照しながら説明する。この関数において、「Ａ」番目のフレームから「Ａ−１１」番目までのフレームについて、座標「Ｘ」，「Ｙ」を中心とする同期判定範囲に含まれる画素群における輝度のＲ値の推移が、同期パターンと一致するか否かが判定される。なお、本実施形態では、基準画素を中心とする横１１ｄｏｔ×縦１１ｄｏｔからなる画像範囲を同期判定範囲として扱うものとする。
【００５１】
図９において、Ｓ３００〜Ｓ３１２は、「ｈ」の値が−５から５まで１つずつカウントアップされる度に繰返されるループ処理である。「ｈ」は、同期判定範囲のｘ軸方向の座標を数える値である。また、このループ処理内において、Ｓ３０２〜Ｓ３０８は、「ｖ」の値が−５から５まで１つずつカウントアップされる度に繰返されるループ処理である。「ｖ」は、同期判定範囲のｙ軸方向の座標を数える値である。
【００５２】
Ｓ３０４では、受信用演算部２４は、「ａ」目のフレームから「ａ−１１」番目までのフレームについて、同期判定範囲内の座標「ｘ＋ｈ」，「ｙ＋ｈ」に位置する画素について同期判定処理を実行する。この同期判定処理の手順については、図８について上述したとおりである。Ｓ３０４において否定判定である「ＮＯ」が出力された場合、受信用演算部２４は否定判定である「ＮＯ」を判定結果として出力する。一方、Ｓ３０４において肯定判定である「ＹＥＳ」が出力された場合、受信用演算部２４はＳ３０６に進む。
【００５３】
Ｓ３０６では、受信用演算部２４は、「ｖ」の値を１つカウントアップしてＳ３０８に進む。Ｓ３０８では、受信用演算部２４は、「ｖ」の値が５以下の場合Ｓ３０２に戻り、「ｖ」の値が５を超えている場合Ｓ３１０に進む。Ｓ３１０では、受信用演算部２４は、「ｈ」の値を１つカウントアップしてＳ３１２に進む。Ｓ３１２では、受信用演算部２４は、「ｈ」の値が５以下の場合Ｓ３００に戻り、「ｈ」の値が５を超えている場合、肯定判定である「ＹＥＳ」を判定結果として出力する。
【００５４】
図６のフローチャートの説明に戻る。Ｓ１１０において否定判定である「ＮＯ」が出力された場合、受信用演算部２４はＳ１２０に進む。一方、Ｓ１１０において肯定判定である「ＹＥＳ」が出力された場合、受信用演算部２４はＳ１１２に進む。Ｓ１１２では、受信用演算部２４は、現在の「ｘ」及び「ｙ」の値を、Ｄｘ［ｍ］及びＤｙ［ｍ］として記憶する。ここで、Ｄｘ［ｍ］及びＤｙ［ｍ］は、Ｓ１２６のデータ処理で用いられる「ｍ」番目の復調対象画素のｘｙ座標を表す記号である。
【００５５】
次のＳ１１４では、受信用演算部２４は、「ｍ」の値を１つカウントアップしてＳ１１６に進む。Ｓ１１６では、受信用演算部２４は、「ｍ」の値が１０を超えている場合Ｓ１２６に進み、「ｍ」の値が１０以下である場合Ｓ１１８に進む。Ｓ１１８では、受信用演算部２４は、「ｙ」の値を１つカウントアップしてＳ１２０に進む。Ｓ１２０では、受信用演算部２４は、「ｙ」の値が４８０以下の場合、Ｓ１０６に戻り、「ｙ」の値が４８０を超えている場合、「ｙ」の値をリセットしてＳ１２２に進む。Ｓ１２２では、受信用演算部２４は、「ｘ」の値を１つカウントアップしてＳ１２４に進む。Ｓ１２４では、受信用演算部２４は、「ｘ」の値が６４０以下の場合、Ｓ１０４に戻り、「ｘ」の値が６４０を超えている場合、「ｘ」の値をリセットしてＳ１２８に進む。
【００５６】
一方、Ｓ１１６において「ｍ」の値が１０を超えていると判定された場合に進むＳ１２６では、受信用演算部２４は、「ａ」の値を引数にしてデータ処理を実行する。このデータ処理は、処理対象の画像列それぞれの復調対象画素から観測される輝度変化パターンに基づいて、受信したデータを構成するビット列を復調し、その有効性を判定する処理である。復調対象画素は、Ｓ１１０〜Ｓ１１２において特定された座標Ｄｘ［ｍ］，Ｄｙ［ｍ］に位置する画素である。
【００５７】
ここで、データ処理において使用される関数の構成について、図１０のフローチャートを参照しながら説明する。この関数において、「Ａ」番目のフレーム以降の一連の画像列について、１０箇所の復調対象画素の輝度変化パターンからデータを構成するビット列が復調され、その有効性が判定される。なお、本実施形態では、１回の情報の送信において１バイト（すなわち、８ビット）のデータが送信されることを前提に、このデータ処理によって８ビット分のデータが復調される事例について説明する。
【００５８】
図１０において、Ｓ４００〜Ｓ４８４は、「ｍ」の値が１から１０まで１つずつカウントアップされる度に順次繰返されるループ処理である。Ｓ４０２では、受信用演算部２４は、Ｒ［Ａ＋２］［Ｄｘ［ｍ］，Ｄｙ［ｍ］］がＲ［Ａ＋１］［Ｄｘ［ｍ］，Ｄｙ［ｍ］］よりも大きいか否かを判定する。
【００５９】
Ｓ４０２において、Ｒ［Ａ＋２］［Ｄｘ［ｍ］，Ｄｙ［ｍ］］がＲ［Ａ＋１］［Ｄｘ［ｍ］，Ｄｙ［ｍ］］よりも大きいと判定された場合、受信用演算部２４はＳ４０４に進む。Ｓ４０４では、受信用演算部２４は、Ｂｔ［ｍ］［０］の値を「１」と決定し記憶する。なお、Ｂｔ［Ｍ］［Ｔ］は、Ｍ番目の復調対象画素に基づいて決定されたＴ番目のビットの値を表す記号である。一方、Ｓ４０２においてＲ［Ａ＋２］［Ｄｘ［ｍ］，Ｄｙ［ｍ］］がＲ［Ａ＋１］［Ｄｘ［ｍ］，Ｄｙ［ｍ］］以下であると判定された場合、受信用演算部２４はＳ４０６に進む。Ｓ４０６では、受信用演算部２４は、Ｂｔ［ｍ］［０］の値を「０」と決定し記憶する。
【００６０】
次のＳ４０８では、受信用演算部２４は、「ｍ」の値が１であるか、又はＢｔ［ｍ］［０］とＢｔ［ｍ−１］［０］とが等しいか否かを判定する。Ｓ４０８において、「ｍ」の値が１ではなく、かつＢｔ［ｍ］［０］とＢｔ［ｍ−１］［０］とが等しくないと判定された場合、受信用演算部２４はＳ４１０に進む。Ｓ４１０では、受信用演算部２４は、本データ処理において復調されたデータを無効とする判定結果を出力する。一方、Ｓ４０８において、「ｍ」の値が１である、又はＢｔ［ｍ］［０］とＢｔ［ｍ−１］［０］とが等しいと判定された場合、受信用演算部２４はＳ４１２に進む。
【００６１】
Ｓ４１２では、受信用演算部２４は、Ｒ［Ａ＋４］［Ｄｘ［ｍ］，Ｄｙ［ｍ］］がＲ［Ａ＋３］［Ｄｘ［ｍ］，Ｄｙ［ｍ］］よりも大きいか否かを判定する。Ｓ４０２において、Ｒ［Ａ＋４］［Ｄｘ［ｍ］，Ｄｙ［ｍ］］がＲ［Ａ＋３］［Ｄｘ［ｍ］，Ｄｙ［ｍ］］よりも大きいと判定された場合、受信用演算部２４はＳ４１４に進む。Ｓ４１４では、受信用演算部２４は、Ｂｔ［ｍ］［１］の値を「１」と決定して記憶する。一方、Ｓ４０２においてＲ［Ａ＋４］［Ｄｘ［ｍ］，Ｄｙ［ｍ］］がＲ［Ａ＋３］［Ｄｘ［ｍ］，Ｄｙ［ｍ］］以下であると判定された場合、受信用演算部２４はＳ４１６に進む。Ｓ４１６では、受信用演算部２４は、Ｂｔ［ｍ］［１］の値を「０」と決定して記憶する。
【００６２】
次のＳ４１８では、受信用演算部２４は、「ｍ」の値が１であるか、又はＢｔ［ｍ］［１］とＢｔ［ｍ−１］［１］とが等しいか否かを判定する。Ｓ４１８において、「ｍ」の値が１ではなく、かつＢｔ［ｍ］［１］とＢｔ［ｍ−１］［１］とが等しくないと判定された場合、受信用演算部２４はＳ４２０に進む。Ｓ４２０では、受信用演算部２４は、本データ処理において復調されたデータを無効とする判定結果を出力する。一方、Ｓ４１８において、「ｍ」の値が１である、又はＢｔ［ｍ］［１］とＢｔ［ｍ−１］［１］とが等しいと判定された場合、受信用演算部２４は次のステップに進む。以降、図示しないＳ４２２〜Ｓ４８０において、上述のＢｔ［ｍ］［０］及びＢｔ［ｍ］［１］の値を特定した手順と同様に、Ｂｔ［ｍ］［２］〜Ｂｔ［ｍ］［７］、すなわち８ビット目の値まで決定すると共に、それぞれのビットの有効性を判定する。
【００６３】
次のＳ４８２では、受信用演算部２４は、「ｍ」の値を１つカウントアップしてＳ４８４に進む。Ｓ４８４では、受信用演算部２４は、「ｍ」の値が１０以下である場合Ｓ４００に戻り、「ｍ」の値が１０を超えている場合Ｓ４８６に進む。Ｓ４８６では、受信用演算部２４は、本データ処理において復調されたビット列Ｂｔ［ｍ］［０］〜Ｂｔ［ｍ］［７］の値と、このビット列のデータを有効とする判定結果とを出力する。
【００６４】
図６のフローチャートの説明に戻る。Ｓ１２８〜Ｓ１３０では、受信用演算部２４は、「ａ」の値を１つカウントアップしてＳ１００に戻る。以降、受信用演算部２４は、次の番号のフレームを対象にＳ１００〜Ｓ１３０の処理を繰返す。このようにすることで、車載カメラ２１により撮像された画像を順次処理して、前方車両１から送信された情報を取得することができる。
【００６５】
［効果］
上記実施形態の可視光通信システムによれば、以下の効果を奏する。
ＬＥＤテールライト１２が示す輝度変化パターンを車載カメラ２１により画素の集合体として取得できることに着目し、カメラ画像の中の基準画素とその周囲を含めた輝度変化パターンが同期パターンに一致することを条件に、復調対象画素に特定するようにした。これにより、ノイズ等の影響でＬＥＤテールライト１２の表示領域ではない画素において偶然に送信側と同期してしまう可能性を低減し、画像内から情報の発信源となるＬＥＤテールライト１２の位置を的確に特定することができる。
【００６６】
また、１つの画像内につき複数の復調対象画素（例えば、１０箇所）を特定し、それぞれの復調対象画素から復調されたデータが互いに一致することを条件に、その復調されたデータを有効なものとして扱うこととした。このようにすることで、復調されるデータの信頼性を向上させることができる。
【００６７】
［他の実施形態］
上述の実施形態においては、前方車両１から後方車両２への一方的な情報の送信が可能な可視光通信システムの事例について説明した。これに限らず、例えば、前方車両１にも受信側装置２０を備え、後方車両２にも送信側装置１０を備えることで、前方車両１と後方車両２との間で双方向の車車間通信を行う構成であってもよい。この場合、前方車両１に備えられる受信側装置２０は、後方を撮像するバックカメラと、画像取込部２２と、メモリ２３と、受信用演算部２４とを備えるものとする。また、後方車両２に備えられる送信側装置１０は、灯火装置の一種であるヘッドライトと、送信用演算部１１とを備えるものとする。
【００６８】
あるいは、車両のような移動体同士で通信が行われる形態に限らず、送信側装置１０及び受信側装置２０の何れか一方が静止構造物に備えられ、他方が車両等の移動体に備えられ、静止構造物と移動体の間で通信が行われる形態であってもよい。
【００６９】
上記実施形態における１つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を１つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の一部を省略してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【００７０】
［特許請求の範囲に記載の要素との対応］
実施形態の構成と特許請求の範囲に記載の要素との対応は次のとおりである。
画像取込部２２が、画像取得部に相当する。受信用演算部２４及び図６のＳ１０８〜Ｓ１１２が、対象画素特定部に相当する。受信用演算部２４及び図６のＳ１２６が、復調部に相当する。送信用演算部１１が、送信制御部に相当する。
【符号の説明】
【００７１】
１…前方車両、２…後方車両、１０…送信側装置、１１…送信用演算部、１２…ＬＥＤテールライト、２０…受信側装置、２１…車載カメラ、２２…画像取込部、２３…メモリ、２４…受信用演算部。
【図１】
2017085230.tif 000003
【図２】
2017085230.tif 000004
【図３】
2017085230.tif 000005
【図４】
2017085230.tif 000006
【図５】
2017085230.tif 000007
【図６】
2017085230.tif 000008
【図７】
2017085230.tif 000009
【図８】
2017085230.tif 000010
【図９】
2017085230.tif 000011
【図１０】
2017085230.tif 000012