(57)【要約】【課題】イメージセンサで撮影した画像の解像度が低い場合であっても、復号誤差を小さくできる受信装置、受信方法、及びそのプログラムを提供する。【解決手段】受信装置は、送信装置と可視光通信をする。受信装置は、Ｍを２以上の整数とし、送信装置のＭ個の可視光源から出力された光をイメージセンサにより電気信号に変換して得られる画像に含まれる複数の画素をそれぞれＭ個の可視光源に対応するＭ個のクラスタに分類する画像処理部と、Ｍ個のクラスタの各々のエネルギーに基づいて、Ｍ個の可視光源から出力された光に対応する信号を復号する復号部と、を含み、画像処理部は、Ｍ個のクラスタの各々について、所定フレーム数の前記複数の画像の各々について計算される当該クラスタのエネルギーの分散が最大になるように、複数の画素をそれぞれＭ個のクラスタに分類する。【選択図】図３
2014225781.tif 000002
【特許請求の範囲】
【請求項１】
送信装置と可視光通信をする受信装置であって、
Ｍを２以上の整数とし、前記送信装置のＭ個の可視光源から出力された光をイメージセンサにより電気信号に変換して得られる画像に含まれる複数の画素をそれぞれ前記Ｍ個の可視光源に対応するＭ個のクラスタに分類する画像処理部と、
前記Ｍ個のクラスタの各々のエネルギーに基づいて、前記Ｍ個の可視光源から出力された光に対応する信号を復号する復号部と、を含み、
前記画像処理部は、前記Ｍ個のクラスタの各々について、所定フレーム数の前記複数の画像の各々について計算される当該クラスタのエネルギーの分散が最大になるように、前記複数の画素をそれぞれ前記Ｍ個のクラスタに分類する、
受信装置。
【請求項２】
請求項１記載の受信装置であって、
前記画像処理部は、
ｋ＝１，２，…，Ｍとし、画素ｊごとに、画素ｊの座標ｕ（ｊ）とクラスタＣｋの重心αｋとの距離が最小となるクラスタＣｍに前記画素ｊを分類する初期化部と、
前記可視光源Ｌｋから出力された光の前記画像上での大きさの推定値をｒｋとし、画素ｊごとに、画素ｊの輝度を表す信号である画素信号ｓｊとその画素信号ｓｊを追加する前のクラスタＣ’ｋのエネルギーｇｋ−との相関度ｃоｒｒ（ｓｊ，ｇｋ−）と、画素ｊが前記送信装置のｋ番目の可視光源Ｌｋから出力された光に対応する画素である確率の推定値ｗｊ（αｋ，ｒｋ）とに基づいて、画素ｊの所属するクラスタＣｍ’を更新するクラスタ更新部と、を含む、
受信装置。
【請求項３】
請求項２記載の受信装置であって、
前記推定値ｗｊ（αｋ，ｒｋ）は、平均をクラスタＣｋの重心αｋとし、分散をｒｋ２とする画素ｊの座標ｕ（ｊ）とクラスタＣｋの重心αｋとの距離に関するガウス分布に対応した値である、
受信装置。
【請求項４】
送信装置と可視光通信をするための受信方法であって、
Ｍを２以上の整数とし、前記送信装置のＭ個の可視光源から出力された光をイメージセンサにより電気信号に変換して得られる画像に含まれる複数の画素をそれぞれ前記Ｍ個の可視光源に対応するＭ個のクラスタに分類する画像処理ステップと、
前記Ｍ個のクラスタの各々のエネルギーに基づいて、前記Ｍ個の可視光源から出力された光に対応する信号を復号する復号ステップと、を含み、
前記画像処理ステップは、前記Ｍ個のクラスタの各々について、所定フレーム数の前記複数の画像の各々について計算される当該クラスタのエネルギーの分散が最大になるように、前記複数の画素をそれぞれ前記Ｍ個のクラスタに分類する、
受信方法。
【請求項５】
請求項４記載の受信方法であって、
前記画像処理ステップは、
ｋ＝１，２，…，Ｍとし、画素ｊごとに、画素ｊの座標ｕ（ｊ）とクラスタＣｋの重心αｋとの距離が最小となるクラスタＣｍに前記画素ｊを分類する初期化ステップと、
前記可視光源Ｌｋから出力された光の前記画像上での大きさの推定値をｒｋとし、画素ｊごとに、画素ｊの輝度を表す信号である画素信号ｓｊとその画素信号ｓｊを追加する前のクラスタＣ’ｋのエネルギーｇｋ−との相関度ｃоｒｒ（ｓｊ，ｇｋ−）と、画素ｊが前記送信装置のｋ番目の可視光源Ｌｋから出力された光に対応する画素である確率の推定値ｗｊ（αｋ，ｒｋ）とに基づいて、画素ｊの所属するクラスタＣｍ’を更新するクラスタ更新ステップと、を含む、
受信方法。
【請求項６】
請求項５記載の受信方法であって、
前記推定値ｗｊ（αｋ，ｒｋ）は、平均をクラスタＣｋの重心αｋとし、分散をｒｋ２とする画素ｊの座標ｕ（ｊ）とクラスタＣｋの重心αｋとの距離に関するガウス分布に対応した値である、
受信方法。
【請求項７】
請求項１から請求項３の何れかに記載の受信装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は可視光通信技術に関する。特に、送信装置と可視光通信をする受信装置、受信方法、及びそのプログラムに関する。
【背景技術】
【０００２】
可視光通信は、目に見える可視光を利用して通信を行う技術である。2007年に電子情報技術産業協会（ＪＥＩＴＡ）で可視光通信システムの標準規格（ＣＰ−１２２１）が規格化されて以降、この規格に基づく可視光通信システムや可視光通信デバイスが提案されてきた。
【０００３】
非特許文献１では、複数個の可視光源を送信装置とし、１個のイメージセンサを受信装置として可視光通信を行う構成が提案されている。この構成では、図１のように、送信装置９１が、時刻ｔにおけるディジタル情報であるバイナリ信号ｘｋ(t)に対応して可視光源９１１−ｋから出力される光の輝度を調整して出力することにより、バイナリ信号ｘｋ(t)を送信する。ただし、ｋ＝１，２，…，Ｍであり、Ｍは可視光源の総数である。なお、一つの可視光源９１１−ｋに一つのバイナリ信号ｘｋ(t)を対応させることにより、可視光源９１１−ｋから出力される光の輝度を独立に調整しても良いし（図１参照）、Ｎ個の可視光源に一つのディジタル情報を対応させ、Ｎ個の可視光源から出力される光の輝度をまとめて調整しても良い。ただし、Ｎは２以上Ｍ以下の整数である。また、Ｍ個の可視光源９１１−ｋはバラバラに（疎に）配置されても良いし、整列して配置されても良い。さらに、その配置は静的（固定）であっても動的（可動）であっても良い。
【０００４】
受信装置８０は、カメラ８１と復号部８２を含み、カメラ８１は、イメージセンサ８１１とレンズ８１２とを有する。レンズ８１２は、光を集め、イメージセンサ８１１に像を結ぶ。イメージセンサ８１１は、伝送されてくる光を電気信号に変換し、電気信号からなる画像として取得（撮影）する。復号部８２は、取得した画像からＭ個の可視光源９１１−ｋから出力された光の強度を推定し、推定した値を用いて元のバイナリ信号ｘｋ(t)を復号し、復号結果ｘ’ｋ(t)を取得し、出力する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】S. Arai, S. Mase, T. Yamasato, T. Yendo, T. Fuji, M. tanimoto, T. kindono, Y. Kimura, and Y. ninomiya, " Experimental on Hierarchical Transmission Scheme for Visible Light Communication using LED Traffic Light and High-Speed Camera", in Proc. 66th IEEE Vehicular Technology Conference, 2007, pp. 2174-2178.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般に、カメラと撮影対象物との距離が遠くなるほど、撮影画像における撮影対象物の大きさは小さくなる。つまり、送信装置９１の可視光源９１１−ｋと受信装置８０のイメージセンサ８１１との距離が遠くなるほど、イメージセンサ８１１の解像度が不足して撮影される可視光源９１１−ｋの画像が不明瞭になる。そのため、イメージセンサ８１１で取得した画像から、各可視光源９１１−ｋを判別することが困難になる。図２にＭ＝１６個の可視光源９１１−ｋをイメージセンサ８１１で撮影した画像の例を示す。なお、画像の画素（ピクセル）数は２６×５＝１３０である。イメージセンサ８１１の解像度が不足することで、可視光源９１１−ｋの光と可視光源９１１−ｋ’の光とが重なって、各々の境界が不明瞭になってしまうことが分かる。ここで、ｋ’＝１，２，…，Ｍであり、ｋ≠ｋ’である。このような状況下において、非特許文献１の方法では、取得した画像から各可視光源９１１−ｋに対応する画素を正しく判別することができない。その結果、正しい復号結果ｘ’ｋ(t)を得ることができない。つまり、伝送距離が長くなるほど、復号結果ｘ’ｋ(t)には多くの誤差が含まれる。
【０００７】
本発明は、イメージセンサで撮影した画像の解像度が低い場合であっても、復号誤差を小さくできる受信装置、受信方法、及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明の一態様によれば、受信装置は、送信装置と可視光通信をする。受信装置は、Ｍを２以上の整数とし、送信装置のＭ個の可視光源から出力された光をイメージセンサにより電気信号に変換して得られる画像に含まれる複数の画素をそれぞれＭ個の可視光源に対応するＭ個のクラスタに分類する画像処理部と、Ｍ個のクラスタの各々のエネルギーに基づいて、Ｍ個の可視光源から出力された光に対応する信号を復号する復号部と、を含み、画像処理部は、Ｍ個のクラスタの各々について、所定フレーム数の前記複数の画像の各々について計算される当該クラスタのエネルギーの分散が最大になるように、複数の画素をそれぞれＭ個のクラスタに分類する。
【０００９】
上記の課題を解決するために、本発明の他の態様によれば、受信方法は、送信装置と可視光通信をするための受信方法である。受信方法は、Ｍを２以上の整数とし、送信装置のＭ個の可視光源から出力された光をイメージセンサにより電気信号に変換して得られる画像に含まれる複数の画素をそれぞれＭ個の可視光源に対応するＭ個のクラスタに分類する画像処理ステップと、Ｍ個のクラスタの各々のエネルギーに基づいて、Ｍ個の可視光源から出力された光に対応する信号を復号する復号ステップと、を含み、画像処理ステップは、Ｍ個のクラスタの各々について、所定フレーム数の前記複数の画像の各々について計算される当該クラスタのエネルギーの分散が最大になるように、複数の画素をそれぞれＭ個のクラスタに分類する。
【発明の効果】
【００１０】
本発明は、イメージセンサで撮影した画像の解像度が低い場合であっても、復号誤差を小さくできるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】従来技術の可視光通信システムの構成を示す図。
【図２】可視光源をイメージセンサで撮影した画像の例を示す図。
【図３】第一実施形態に係る受信装置の機能ブロック図。
【図４】第一実施形態に係る受信装置の処理フローを示す図。
【図５】第一実施形態に係る可視光通信システムの概略を説明するための図。
【図６】閾値ｔｈｒｋの設定方法を説明するための図。
【図７】第一実施形態に係る画像処理部の機能ブロック図。
【図８】第一実施形態に係る画像処理部の処理フローを示す図。
【図９】クラスタリング部１２２の機能ブロック図。
【図１０】図１０Ａはイメージセンサで取得した画像の例を示す図であり、図１０Ｂはクラスタリング結果を付与された画像の例を示す図。
【図１１】第一実施形態に係る受信装置により信号を復号した時の実験結果を示す図。
【図１２】図１１に係る実験のセッティングを表す図。
【図１３】各可視光源からの光の輝度を閾値で識別したときのビットエラーレート（ＢＥＲ）を表す図。
【図１４】画像処理部においてクラスタの更新を行う前後の各クラスタのエネルギーのヒストグラムを示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。また、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。
【００１３】
＜第一実施形態に係る受信装置１０＞
図３は第一実施形態に係る受信装置１０の機能ブロック図を、図４はその処理フローを示す。受信装置１０は、イメージセンサ１１と、画像処理部１２と、復号部１３とを含む。
【００１４】
図５を用いて、可視光通信システム１の概略を説明する。可視光通信システム１は受信装置１０と送信装置７０とを含む。
【００１５】
まず、送信装置７０は、時刻ｔ毎にＭ個のバイナリ信号（ディジタル情報）ｘ１(t)，ｘ２(t)，…，ｘＭ(t)をＭ個の可視光源Ｌ１，Ｌ２，…，ＬＭを使って送信する。例えば、バイナリ信号ｘｋ(t)が１のときに可視光源Ｌｋを発光させ、バイナリ信号ｘｋ(t)が０のときに可視光源Ｌｋを発光させないようにすることで、バイナリ信号ｘｋ(t)を送信する。
【００１６】
＜イメージセンサ１１＞
受信装置１０のイメージセンサ１１は、Ｍ個の可視光源Ｌｋからそれぞれ出力された光ｙｋ(t)を取り込み、これを電気信号に変換し、電気信号からなる画像として取得（撮影）し（ｓ１）、撮影されたフレームｔにおける画像S（ｔ）、つまり、画素信号（すなわち、画素の輝度を表す信号）の系列S（ｔ）＝｛ｓ１(t)，ｓ２(t)，…，ｓＮ(t)｝を出力する。ここで、Ｎはイメージセンサ１１及び画像の画素数である。イメージセンサ１１は、例えばフォトダイオード、フォトトランジスタ、フォトレジスタ等のフォトセンサからなるアレイ、もしくは、ＣＣＤやＣＭＯＳなどのイメージセンサである。イメージセンサ１１からの出力である画像（画素信号の系列ｓ１(t)，ｓ２(t)，…，ｓＮ(t)）は、ディジタル化された輝度画像、例えば、Ｂ  ｂｉｔのグレースケール画像（Ｂ＞０）である。
【００１７】
＜画像処理部１２＞
画像処理部１２は、画素信号の系列S（ｔ）＝｛ｓ１(t)，ｓ２(t)，…，ｓＮ(t)｝を受け取り、画素ｎをそれぞれＭ個の可視光源Ｌｋに対応するＭ個のクラスタＣｋのいずれかに分類し（ｓ２）、出力する。ここで、画素信号の系列S（ｔ）＝｛ｓ１(t)，ｓ２(t)，…，ｓＮ(t)｝を所定時間区間Ｔ１だけ蓄積し、画素ｎ毎の時系列ｓｎにしたものを画素信号の時系列という。画素信号の時系列は、所定時間区間に含まれる複数のフレームの画像の画素信号の系列からなるものとする。つまり、ｓｎ＝（ｓｎ（１），…，ｓｎ（ｔ），…，ｓｎ（Ｔ１））Ｔとする。ここで、上付きＴは転置を表し、ｓｎ（ｔ）は、フレームｔの画像のインデックスｎに対応する画素信号（ｎ番目の画素の画素信号）を表す。なお、分類する際には、画素間の空間的な距離と画素間の輝度の相関度合いに基づいて、各クラスタＣｋのエネルギーｇｋの分散が最大化されるように、各画素ｎの所属するクラスタＣｋを決定する。また、画像処理部１２は、各クラスタＣｋに対応する信号を識別するための閾値ｔｈｒｋを設定する。ただし、ｎは、画素のインデックスであり、ｎ＝１，２，…，Ｎである。画像処理部１２における処理の詳細は後述する。
【００１８】
＜復号部１３＞
復号部１３は、クラスタＣ１，Ｃ２，…，ＣＭ及び画素信号の時系列ｓ１，ｓ２，…，ｓＮから得られる集合Ｓ’（なお、集合Ｓ’は、画像に含まれる画素信号の時系列ｓ１，ｓ２，…，ｓＮから可視光源Ｌｋからの情報と関連しない画素信号（ノイズ画素信号）を除いた画素信号の集合である）を受け取り、Ｍ個のクラスタＣｋの各々のエネルギーｇｋに基づいて、Ｍ個の可視光源Ｌｋから出力された光ｙｋ＝（ｙｋ（１），…，ｙｋ（ｔ），…，ｙｋ（Ｔ１））に対応する信号（送信情報であるバイナリ信号ｘｋ＝（ｘｋ（１），…，ｘｋ（ｔ），…，ｘｋ（Ｔ１）））を復号し（ｓ３）、復号結果ｘ’ｋ＝（ｘ’ｋ（１），…，ｘ’ｋ（ｔ），…，ｘ’ｋ（Ｔ１））を出力する。この処理は、従来技術と同じである。例えば、フレームｔの画像の画素信号の系列S（ｔ）＝｛ｓ１(t)，ｓ２(t)，…，ｓＮ(t)｝から計算されるクラスタＣｋのエネルギーｇｋ（ｔ）を計算し、このエネルギーｇｋ（ｔ）が所定の閾値ｔｈｒｋ以上であればｋ番目の可視光源Ｌｋから送信されたディジタル信号の復号結果ｘ’ｋ（ｔ）を１とし、画像処理部１２で設定された閾値ｔｈｒｋより小さい場合は復号結果ｘ’ｋ（ｔ）を０とする。ここで、クラスタＣｋのエネルギーｇｋ（ｔ）としては、例えば、クラスタＣｋ（ｔ）に含まれる画素信号ｓｉ（ｔ）の総和、すなわち、
【００１９】
【数１】
2014225781.tif 000003
【００２０】
を用いることができる。これ以外にも、クラスタＣｋに含まれる画素ｉの輝度を統合した値に対応する値であれば何でも良い。なお、ｉはクラスタＣｋに含まれる画素のインデックスである。
【００２１】
＜画像処理部１２の詳細＞
図７は画像処理部１２の機能ブロック図を、図８はその処理フローを示す。画像処理部１２は、初期化部１２１と、クラスタリング部１２２と、重心更新部１２３と、反復処理部１２４とを含む。
【００２２】
〔初期化部１２１〕
初期化部１２１は、画素信号の系列S（ｔ）＝｛ｓ１（ｔ），ｓ２（ｔ），…，ｓＮ（ｔ）｝を受け取り、画像に含まれる画素信号の時系列ｓ１，ｓ２，…，ｓＮから可視光源Ｌｋからの情報と関連しない画素信号（ノイズ画素信号）を除いた画素信号のインデックスの集合Ｓ’を生成し（ｓ１２１ａ）、出力する。集合Ｓ’に含まれる画素信号の画素を表すインデックスをｊとする。次に、初期化部１２１は、画素ｊごとに、画素ｊの座標ｕ（ｊ）とクラスタＣｋの重心αｋとの距離が最小となるクラスタＣｍに画素ｊを分類し、分類の結果をクラスタＣｋの初期値として出力する（ｓ１２１ｃ）。なお、可視光源Ｌｋ及びクラスタＣｋの個数であるＭは予め与えられるものとする。
【００２３】
具体的には、すべてのｔ＝１，…，Ｔ１について、画素信号ｓｎ（ｔ）のパワーＰ（ｓｎ（ｔ））が予め定めたノイズ画素信号のパワーＰ（ζ）よりも大きい画素信号ｓｎ（ｔ）のインデックスの集合Ｓ’を生成する。ここで、ノイズ画素信号のパワーＰ（ζ）は、受信装置１０を使用する環境に応じて予め計測するなどして設定しておけばよい。
【００２４】
次に、集合Ｓ’に含まれる各画素信号のインデックスｊについて、予め定めた各クラスタＣｋの重心αｋと画素ｊの位置（座標ｕ（ｊ））との距離ｄ（ｊ，ｋ）が最小となるクラスタＣｍにインデックスｊの画素が所属するように、インデックスｊをクラスタリングする。つまり、
【００２５】
【数２】
2014225781.tif 000004
【００２６】
を満たすｍに対応するクラスタＣｍにインデックスｊを所属させる。つまり、ｊ∈Ｃｍとする。ここで、距離ｄ（ｊ，ｋ）には、例えば以下のユークリッド距離を用いる。
【００２７】
【数３】
2014225781.tif 000005
【００２８】
ここで、ｕ（ｊ）＝｛ｕ（ｊ，１），ｕ（ｊ，２），…，ｕ（ｊ，ｎ）｝とする。重心αｋはｕ（ｊ）と同じ座標系の座標で表現されるものとし、αｋ＝｛αｋ（１），αｋ（２），…，αｋ（ｎ）｝である。重心αｋの初期値は適当な値を設定しておけばよい。例えば、画像が２次元配列の場合、座標ｕ（ｊ）のｘ座標の値をｘ（ｓｊ）、ｙ座標の値をｙ（ｓｊ）とし，重心αｋのｘ座標の値をｘ（αｋ），ｙ座標の値をｙ（αｋ）とすると、
【００２９】
【数４】
2014225781.tif 000006
【００３０】
である。
【００３１】
〔クラスタリング部１２２〕
クラスタリング部１２２は、集合Ｓ’とＭ個のクラスタＣｋのＭ個の重心αｋとを受け取り、各クラスタＣｋのエネルギーｇｋが最大化される基準に基づいて、集合Ｓ’に含まれる各画素信号ｓｊの画素ｊをＭ個のクラスタＣｋにクラスタリングし、このクラスタＣｋを出力する。
【００３２】
図９は、クラスタリング部１２２の機能ブロック図を示す。クラスタリング部１２２は、画素選択部１２２ａと、クラスタ更新部１２２ｂと、終了判定部１２２ｃとを含み、以下の処理によりクラスタリングを行う。
【００３３】
（画素選択部１２２ａ）
画素選択部１２２ａは、集合Ｓ’を受け取り、集合Ｓ’の中から、まだ選択していない画素信号を１つ選択し（ｓ１２２ａ）、出力する。このとき選択した画素信号の画素のインデックスをｊ’とし、ｊ’∈Ｓ’として説明する。
【００３４】
（クラスタ更新部１２２ｂ）
クラスタ更新部１２２ｂは、集合Ｓ’と画素信号ｓｊ’とＭ個の重心αｋとを受け取り、各クラスタＣｋのエネルギーｇｋの分散が最大化されるように、各画素ｊ’の所属するクラスタＣｋを更新する。まず、クラスタ更新部１２２ｂは、所定時間区間に含まれる各フレームｔの画像について、式（１）により、クラスタＣｋの初期値または一つ前の反復処理において更新したクラスタＣｋのエネルギーｇｋ（ｔ）を計算する（ｓ１２２ｂ−１）。
【００３５】
【数５】
2014225781.tif 000007
【００３６】
クラスタＣｋのエネルギーｇｋとは、所定時間区間に含まれる各フレーム毎のクラスタＣｋのエネルギーを並べたベクトル、すなわちｇｋ＝（ｇｋ（１），…，ｇｋ（Ｔ１））Ｔである。
【００３７】
次に、クラスタ更新部１２２ｂは、画素信号のインデックスｊ’が所属しているクラスタＣｋのエネルギーｇｋの分散σ（ｇｋ）が、クラスタＣｋから画素信号ｓｊ’を除いたときのクラスタＣｋ’（Ｃｋ’＝Ｃｋ＼｛ｓｊ’｝、ただしＡ＼Ｂは集合Ａから集合Ｂを除いた差集合を表す）のエネルギーｇｋ−＝ｇｋ−ｓｊ’の分散σ（ｇｋ−）よりも大きくなるように、画素信号ｓｊ’ の所属するクラスタＣｋを更新する（ｓ１２２ｂ−２）。
【００３８】
具体的には、クラスタ更新部１２２ｂは、画素信号ｓｊ’とエネルギーｇｋ−との相関度ｃоｒｒ（ｓｊ’，ｇｋ−）と、画素ｊ’がｋ番目の可視光源Ｌｋからの光ｙｋに対応する画素である確率の推定値（ｗｊ’（αｋ，ｒｋ））とに基づいて、画素ｊ’の所属するクラスタＣｋを更新する。すなわち、
【００３９】
【数６】
2014225781.tif 000008
【００４０】
を満たすｍ’に対応するクラスタＣｍ’に画素ｊ’を所属させる（つまり、ｊ’∈Ｃｍ’）。ここで、
【００４１】
【数７】
2014225781.tif 000009
【００４２】
である。なお、ｒｋは送信装置７０のｋ番目の可視光源Ｌｋから出力された（伝送されてくる）光の、イメージセンサ１１で取得した画像上での大きさ（例えば、半径）の推定値である。ρｓ＿ｊ’とρｇ＿ｋ−はそれぞれ画素信号ｓｊ’＝（ｓｊ’（１），…，ｓｊ’（Ｔ１））Ｔとエネルギーｇｋ−＝（ｇｋ−（１），…，ｇｋ−（Ｔ１））Ｔの標準偏差である。ただし、下付き添え字ｓ＿ｊ’’及びｇ＿ｋ−はそれぞれｓｊ’及びｇｋ−を表す。ｃоｖ（ｓｊ’，ｇｋ−）は、画素信号ｓｊ’とエネルギーｇｋ−の共分散であり、画素信号ｓｊ’とエネルギーｇｋ−との間に正の相関がある（つまり、画素信号ｓｊ’が大きいほどエネルギーｇｋ−も大きくなり、画素信号ｓｊ’が小さいほどエネルギーｇｋ−も小さくなる関係が成り立つ）場合に正の値を取り、負の相関がある場合に負の値を取る。また、共分散ｃоｖ（ｓｊ’，ｇｋ−）の絶対値の大きさは正の相関（または負の相関）の度合いに対応する。つまり、ｃоｒｒ（ｓｊ’，ｇｋ−）は、画素信号ｓｊ’とエネルギーｇｋ−の相関度を表すものであり、相関度が高いことは、画素信号ｓｊ’の値が大きいほどエネルギーｇｋ−の値も大きくなるという正の相関が成り立つことを意味する。相関度が高いほど、画素信号ｓｊ’をエネルギーｇｋ−に対応するクラスタＣｋ’に所属させた方が、クラスタＣｋのエネルギーｇｋの分散が大きくなることを意味する。
【００４３】
また、平均をαｋ、分散をｒｋ２とするガウス分布は、送信装置７０のｋ番目の可視光源Ｌｋから出力される信号（の輝度）の分布をガウス分布でモデル化したもの、つまり、送信装置７０のｋ番目の可視光源Ｌｋから出力される信号（の輝度）の分布の推定値である。したがって、平均をαｋ、分散をｒｋ２とする距離ｄ（ｊ’,ｋ）に関するガウス分布に対応した重みｗｊ’（αｋ，ｒｋ）は、重心αｋと画素信号ｓｊ’との距離ｄ（ｊ’,ｋ）が小さいほどその値が大きくなり、かつ、可視光源Ｌｋの画像中の大きさの推定値ｒｋが大きいほどその値が大きくなる。言い換えれば、画素ｊ’がｋ番目の可視光源Ｌｋからの信号に対応している確率が高いほど重みｗｊ’（αｋ，ｒｋ）が大きくなる。つまり、重みｗｊ’（αｋ，ｒｋ）は、画素ｊ’がｋ番目の可視光源Ｌｋからの光に対応している画素である確率の推定値である。
【００４４】
（終了判定部１２２ｃ）
終了判定部１２２ｃは、集合Ｓ’と画素信号ｓｊ’とを受け取り、それまでに画素選択部１２２ａで選択された画素ｊ’を記憶しておき、集合Ｓ’に所属する全ての画素信号ｓｊの画素ｊついてクラスタリングを行ったか否か（クラスタ更新部１２２ｂにおける処理を実行したか否か）を判定し（ｓ１２２ｃ）、集合Ｓ’に所属する全ての画素信号ｓｊの画素ｊについてクラスタリングを行ったと判定された場合には、クラスタリング部１２２の処理を終了し、得られたクラスタＣ１，Ｃ２，…，ＣＭを重心更新部１２３へ出力する。それ以外の場合には、画素選択部１２２ａ及びクラスタ更新部１２２ｂに処理を繰り返すように制御信号を出力する。そして、画素選択部１２２ａへ処理を移行し、残りの画素についてクラスタリング処理を繰り返す。
【００４５】
〔重心更新部１２３〕
重心更新部は、クラスタリング部１２２で更新されたクラスタＣ１，Ｃ２，…，ＣＭを受け取り、各クラスタＣｋの重心αｋを更新し（ｓ１２３）、出力する。例えば、次式により重心αｋを更新する。
【００４６】
【数８】
2014225781.tif 000010
【００４７】
ここで、ＩｋはクラスタＣｋに所属する画素ｊの総数であり、ｕｉはクラスタＣｋのｉ番目の画素ｊの座標である。
【００４８】
〔反復処理部１２４〕
反復処理部１２４は、クラスタＣｋの初期値と更新後のＭ個のクラスタＣｋとを受け取り、更新毎に、クラスタリング部１２２で更新される前のクラスタと更新後のクラスタとが異なるか否かを判定し（ｓ１２４）、変化がなくなるまで、クラスタリング処理を繰り返すよう制御する。つまり、p回目のクラスタリング部１２２の実行により得られるクラスタをＣ（ｐ）＝｛Ｃ１（ｐ），Ｃ２（ｐ），…，ＣＭ（ｐ）｝としたとき、Ｃ（ｐ）とＣ（ｐ−１）とが異なるか否かを判定し（ｓ１２４）、異なる場合には、クラスタリング部１２２及び重心更新部１２３に処理を繰り返すように制御信号を出力する。Ｃ（ｐ）とＣ（ｐ−１）とが等しい場合には、Ｃ（ｐ）＝｛Ｃ１（ｐ），Ｃ２（ｐ），…，ＣＭ（ｐ），｝をクラスタリング結果Ｃ１，Ｃ２，…，ＣＭとして出力するとともに、ｐ回目のクラスタリング部１２２の実行時に求めたクラスタのエネルギーｇｋに基づいて、復号部１３で用いる閾値ｔｈｒｋを設定する。
【００４９】
反復処理部１２４で反復処理を行うことで、各クラスタＣｋのエネルギーｇｋの分散が最大化されるようなクラスタＣ１，Ｃ２，…，ＣＭが得られる。
【００５０】
閾値ｔｈｒｋの設定は、例えば以下のように行えば良い。エネルギーｇｋの各要素ｇｋ（１），…，ｇｋ（Ｔ１）について、その値の出現頻度のヒストグラムを構成し、図６のように２つのガウス分布Ｇ０及びＧ１にフィッティングさせる（これは周知の方法により実現できる）。このとき、ガウス分布Ｇ０とガウス分布Ｇ１との交点の位置に対応するエネルギーの値を所定の閾値ｔｈｒｋとすればよい。
【００５１】
ここで、画像処理部１２で「各クラスタのエネルギーの分散が最大化されるように」クラスタリングを行うことの意味を説明する。なお、エネルギーの分散とは、エネルギーｇｋの各要素ｇｋ（１），…，ｇｋ（Ｔ１）の値の分散を意味する。フレームｔにおけるバイナリ信号ｘｋ（ｔ）の値が１である場合、クラスタＣｋに含まれる各画素信号ｓｉ（ｔ）の輝度は大きな値を取るので、エネルギーｇｋ（ｔ）の値も大きくなる。一方、フレームｔにおけるバイナリ信号ｘｋ（ｔ）の値が０である場合、クラスタＣｋに含まれる画素信号ｓｉ（ｔ）の輝度は理想的には０であり、エネルギーｇｋ（ｔ）も０である。ただし、実際には、可視光源Ｌｋの周辺の可視光源Ｌｋ’（ｋ≠ｋ’）から出力された光や環境の光の影響を受けるため、クラスタＣｋに含まれる画素信号ｓｉ（ｔ）の中には輝度が０より大きい値を取る成分がでてくるので、エネルギーｇｋ（ｔ）は０以上の値を取るが、バイナリ信号ｘｋ（ｔ）の値が１である場合のエネルギーに比べると小さな値を取るはずである。結果として、エネルギーｇｋの各要素、すなわち所定時間区間ｔ＝１，２，…，Ｔ１におけるエネルギーｇｋ（ｔ）の出現頻度をヒストグラムで表すと、ｇｋ（ｔ）の値が大きい部分（バイナリ信号ｘｋ（ｔ）の値が１である場合に対応するエネルギー）とｇｋ（ｔ）の値が小さい部分（バイナリ信号ｘｋ（ｔ）の値が０である場合に対応するエネルギー）との二極に偏った図６のような分布が得られる。
【００５２】
図６のように２つのガウス分布Ｇ０及びＧ１にフィッティングさせると、Ｇ０はバイナリ信号が０の場合に対応するエネルギーであり、Ｇ１はバイナリ信号が１の場合に対応するエネルギーである。Ｇ０の山とＧ１の山の両方に含まれるエネルギーは、本当はＧ０及びＧ１のどちらに属するかを判別することが難しく、識別誤りの原因となる。Ｇ０の山がＧ１の山に近いほど、環境や周囲の可視光源からの光によるノイズが多いことを意味し、Ｇ０とＧ１の重複部分が大きくなるので識別誤りが多くなる。
【００５３】
すなわち、ガウス分布Ｇ０とガウス分布Ｇ１とが分離されているほど、識別の誤差を小さくすることができることが分かる。ガウス分布Ｇ０及びＧ１の平均μ０及びμ１の距離が大きくなるほど、２つの山が離れることになるので、ガウス分布Ｇ０とガウス分布Ｇ１とが分離されやすくなる。また、ガウス分布Ｇ０及びＧ１の分散σ０及びσ１が小さくなるほど山の傾きが急になるので、ガウス分布Ｇ０とガウス分布Ｇ１とが分離されやすくなる。
【００５４】
ガウス分布Ｇ０及びＧ１の平均μ０及びμ１の距離が大きく、かつ、ガウス分布Ｇ０及びＧ１の分散σ０及びσ１が小さくなるということは、すなわち、エネルギーｇｋ（ｔ）（ｔ＝１，２，…，Ｔ１）の分散が大きくなることに対応する。つまり、復号誤差を小さくするためには、エネルギーｇｋの分散が最大化されるように、クラスタリングを行えば良い。
【００５５】
ゆえに、画像処理部１２では、エネルギーｇｋの分散が最大化されるように、イメージセンサ１１で取得した画像の各画素ｎ（より詳しくいうと、画像に含まれる画素から可視光源Ｌｋからの情報と関連しない画素を除いた画素の集合に含まれる各画素のインデックスｊ）を、各可視光源Ｌｋに対応するクラスタＣｋにクラスタリングする。
【００５６】
＜シミュレーション結果＞
図１０Ａは、イメージセンサ１１で取得した画像の例である。画素ｎの画素信号ｓｎは画像中の全画素における当該画素の輝度を表す。各画素ｎに付された番号は、初期化部１２１で付与された各画素ｎの所属するクラスタＣｋのインデックスｋを表す。ただし、ノイズ画素信号は排除していない。この例では、クラスタの総数Ｍ＝１６としている。つまり、送信装置７０の可視光源Ｌｋの個数が１６個であり、可視光源Ｌｋから出力された光ｙｋがイメージセンサ１１で検出されたことを意味する。
【００５７】
図１０Ｂは、クラスタリング結果を付与された画像の例である。番号の付されていない画素は、初期化部１２１でノイズとして排除され、クラスタリングの対象としなかった（Ｓ’に含まれなかった）画素を表す。
【００５８】
図１１は、受信装置１０により信号を復号した時の実験結果を示す。図１２は、実験のセッティングを表す図である。
【００５９】
送信装置７０では、ノイズの混入していない音響信号をマイク７１で収音し、これを電気信号に変換し、Ａ／Ｄ変換部７２に出力する。Ａ／Ｄ変換部７２は、マイク７１から出力されるアナログ音響信号をＭ個のディジタル音響信号であるバイナリ信号ｘｋに変換し、Ｍ個の可視光源（この例では、ＬＥＤ）Ｌｋに出力する。Ｍ個の可視光源Ｌｋは、それぞれバイナリ信号ｘｋを光ｙｋに変換し、出力（送信）する。
【００６０】
受信装置１０では、イメージセンサを含むハイスピードカメラ１４を用いて、Ｍ個の可視光源Ｌｋの画像を撮影し、可視光源Ｌｋから発せられる光ｙｋからそれぞれバイナリ信号ｘｋを復号し、復号結果ｘ’ｋを出力する。図１１は、このときに復号された音響信号と元の音響信号との誤差をグラフに示したものである。受信装置１０に入力してクラスタリングを行った後、復号した場合の復号された音響信号と元の音響信号との誤差（図１１のafter clustering）と、従来方法で（クラスタリングを行わずに）復号した場合の音響信号と元の音響信号との誤差（図１１のno clustering）を示している。受信装置１０の方が、誤差が少なく復号できていることが分かる。
【００６１】
図１３は、各可視光源からの光の輝度を閾値で識別したときのビットエラーレート（ＢＥＲ）を表す。ここで、
【００６２】
【数９】
2014225781.tif 000011
【００６３】
により計算した。ここで、τは図６のヒストグラムにおける画素の輝度である。前述のとおり、復号部１３は、２つのガウス分布Ｇ０とＧ１に基づいて閾値を設定し、ディジタル信号を判別している。ここで、ガウス分布Ｇ０とＧ１の各々の平均μ０とμ１が近いほど、閾値ｔｈｒｋによるディジタル信号の識別が正確に行えない可能性が高くなる。つまり、復号結果ｘ’ｋに多くの誤差が含まれてしまう。図１３は、受信装置１０によれば、得られたクラスタリング結果から求まるガウス分布Ｇ０及びＧ１の各々の平均μ０及びμ１が分離され、閾値ｔｈｒｋによる信号の識別の誤りを低減することができることを表している。
【００６４】
また、図１４は、画像処理部１２においてクラスタの更新を行う前の初期状態の各クラスタのエネルギーｇｋのヒストグラム（左図）と、画像処理部１２においてクラスタの更新を行ったあとの各クラスタのエネルギーｇｋのヒストグラム（右図）を示すものである。この図から、画像処理部１２の処理により、各クラスタにおけるヒストグラムの２つの分布の山Ｇ０とＧ１の間の距離が大きくなるように、各クラスタが更新されていることが分かる。
【００６５】
＜効果＞
このような構成により、イメージセンサで撮影した画像の解像度が低い場合であっても、復号誤差を小さくできるという効果を奏する。
【００６６】
＜変形例＞
本実施形態では、は、画像に含まれる画素信号の時系列ｓ１，ｓ２，…，ｓＮからノイズ画素信号を除いて集合Ｓ’を生成しているが、必ずしもノイズ画素信号を除去しなくともよい。
【００６７】
ｒｋはイメージセンサ１１で取得した画像上での大きさの推定値を表す値であれば、どのような値でもよい。
【００６８】
本実施形態では、受信装置１０がイメージセンサ１１を含む構成としているが、イメージセンサ１１を含まず、他の装置で取得した画像を入力として、画像処理部１２及び復号部１３における処理のみを行う構成としてもよい。
【００６９】
＜その他の変形例＞
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００７０】
＜プログラム及び記録媒体＞
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００７１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００７２】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【００７３】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００７４】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2014225781.tif 000012
【図３】
2014225781.tif 000013
【図４】
2014225781.tif 000014
【図５】
2014225781.tif 000015
【図６】
2014225781.tif 000016
【図７】
2014225781.tif 000017
【図８】
2014225781.tif 000018
【図９】
2014225781.tif 000019
【図１２】
2014225781.tif 000020
【図１４】
2014225781.tif 000021
【図２】
2014225781.tif 000022
【図１０】
2014225781.tif 000023
【図１１】
2014225781.tif 000024
【図１３】
2014225781.tif 000025