(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】情報取得装置、情報取得方法及びプログラム
(51)【国際特許分類】
H04N 23/60 20230101AFI20240509BHJP
H04B 10/116 20130101ALI20240509BHJP
【FI】
H04N23/60
H04B10/116
(21)【出願番号】P 2022075701
(22)【出願日】2022-05-02
(62)【分割の表示】P 2019199765の分割
【原出願日】2019-11-01
【審査請求日】2022-11-01
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(72)【発明者】
【氏名】宮本 直知
【審査官】門田 宏
(56)【参考文献】
【文献】特開2016-139998(JP,A)
【文献】特開2012-014668(JP,A)
【文献】特開2009-186291(JP,A)
【文献】米国特許出願公開第2011/0298909(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
H04B 10/114
H04B 10/116
(57)【特許請求の範囲】
【請求項1】
光を受光した複数の第1受光素子の位置を取得し、
取得された前記複数の第1受光素子の位置の
周辺に存在する
周辺画素の輝度値を、前記複数の第1受光素子の位置に
おける輝度値に置き換えて、情報を取得すべき領域を検出し、
検出された前記領域の時間経過に応じて変化する輝度値に基づいて、移動機器の情報を取得する、
制御部を備えることを特徴とする情報取得装置。
【請求項2】
前記制御部は更に、
前記情報を取得すべき領域を検出するとき、前記領域の最外部の画素の輝度値については、前記複数の第1受光素子の位置に
おける輝度値よりも低い輝度値に置き換えることにより、前記領域の輪郭を検出することを特徴とする請求項1に記載の情報取得装置。
【請求項3】
情報取得装置が実行する情報取得方法であって、
光を受光した複数の第1受光素子の位置を取得するステップと、
取得された前記複数の第1受光素子の位置の
周辺に存在する
周辺画素の輝度値を、前記複数の第1受光素子の位置に
おける輝度値に置き換えて、情報を取得すべき領域を検出するステップと、
検出された前記領域の時間経過に応じて変化する輝度値に基づいて、移動機器の情報を取得するステップと、
を含むことを特徴とする情報取得方法。
【請求項4】
情報取得装置が備えるコンピュータに、
光を受光した複数の第1受光素子の位置を取得するステップ、
取得された前記複数の第1受光素子の位置の
周辺に存在する
周辺画素の輝度値を、前記複数の第1受光素子の位置に
おける輝度値に置き換えて、情報を取得すべき領域を検出するステップ、
検出された前記領域の時間経過に応じて変化する輝度値に基づいて、移動機器の情報を取得するステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報取得装置、情報取得方法及びプログラムに関する。
【背景技術】
【0002】
従来より、可視光通信技術において赤(R)、緑(G)、青(B)の三原色(RGB)の組み合わせを伝送すべき情報に置換して、これらの色を時間的に変化させて発光する信号源である送信機と、この送信機が含まれる空間を逐次撮影し、送信機の発光色の経時的な変化(時間方向の変化)から情報を復号するカメラからなる可視光通信システムが提案されている。
【0003】
この可視光通信システムでは、送信機の発光色が三原色の何れかであるかをフレーム単位で判別するため、逐次撮像センサに結像された画素単位の受光量を示すアナログデータから、デジタル化されたカラー画像に変換する処理、いわゆる現像処理を行い、カラー画像から送信機の像を特定し、この特定された送信機の像における色の時間方向の変化から情報に復号する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、近年、撮像センサの大型化が進んだことで撮像処理における高解像度化が進んでおり、カラー画像全体から送信機の位置を特定する目的で現像処理を行うと、処理負担が重くなるという問題が予見される。
【0006】
本願発明は、上記問題点に鑑みてなされたもので、重い処理負荷をかけずに良好に移動機器の位置を特定することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明に係る情報取得装置は、
光を受光した複数の第1受光素子の位置を取得し、
取得された前記複数の第1受光素子の位置の周辺に存在する周辺画素の輝度値を、前記複数の第1受光素子の位置における輝度値に置き換えて、情報を取得すべき領域を検出し、
検出された前記領域の時間経過に応じて変化する輝度値に基づいて、移動機器の情報を取得する、
制御部を備えることを特徴とする。
【0010】
上記目的を達成するため、本発明に係る情報取得方法は、
情報取得装置が実行する情報取得方法であって、
光を受光した複数の第1受光素子の位置を取得するステップと、
取得された前記複数の第1受光素子の位置の周辺に存在する周辺画素の輝度値を、前記複数の第1受光素子の位置における輝度値に置き換えて、情報を取得すべき領域を検出するステップと、
検出された前記領域の時間経過に応じて変化する輝度値に基づいて、移動機器の情報を取得するステップと、
を含むことを特徴とする。
【0012】
上記目的を達成するため、本発明に係るプログラムは、
情報取得装置が備えるコンピュータに、
光を受光した複数の第1受光素子の位置を取得するステップ、
取得された前記複数の第1受光素子の位置の周辺に存在する周辺画素の輝度値を、前記複数の第1受光素子の位置における輝度値に置き換えて、情報を取得すべき領域を検出するステップ、
検出された前記領域の時間経過に応じて変化する輝度値に基づいて、移動機器の情報を取得するステップ、
を実行させることを特徴とする。
【発明の効果】
【0013】
本願発明によれば、重い処理負荷をかけずに良好に移動機器の位置を特定することができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の実施形態に係る可視光通信システムの一例を示す図である。
【
図2】同実施形態に係る移動機器の構成の一例を示す図である。
【
図3】同実施形態に係るカメラとサーバと構成の一例を示す図である。
【
図4】同実施形態に係るカラーフィルタのベイヤー配列の一例を示す図である。
【
図5】(a)は同実施形態に係る赤のベイヤー画像の一例を示す図であり、(b)は同実施形態に係る赤のRGB画像の一例を示す図である。
【
図6】(a)は同実施形態に係る緑のベイヤー画像の一例を示す図であり、(b)は同実施形態に係る緑のRGB画像の一例を示す図である。
【
図7】(a)は同実施形態に係る青のベイヤー画像の一例を示す図であり、(b)は同実施形態に係る青のRGB画像の一例を示す図である。
【
図8】(a)は同実施形態に係る青の点灯時の状態の一例を示す図であり、(b)は同実施形態に係る青の消灯時の状態の一例を示す図である。
【
図9】同実施形態に係る青と周辺の色の状態の一例を示す図である。
【
図10】同実施形態に係るサーバによる情報取得の動作の一例を示すフローチャートである。
【
図11】同実施形態に係るサーバによる時間方向の輝度値の差分から発光色を判定する処理の動作の一例を示すフローチャートである。
【
図12】同実施形態に係るサーバによる空間方向の輝度値の差分から発光色を判定する処理の動作の一例を示すフローチャートである。
【
図13】同実施形態に係るサーバによる信号候補領域の検出処理の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照して、本発明の実施形態に係る情報処理システムとしての可視光通信システムを説明する。
【0016】
図1は、可視光通信システムの構成の一例を示す図である。
図1に示すように、可視光通信システム1は、移動機器100a、100b、100c(以下、移動機器100a、100b、100cのそれぞれを限定しない場合には、適宜「移動機器100」と称する)と、カメラ200と、サーバ300とを含んで構成される。移動機器100aは、マーカーであるLED(Light Emitting Diode)102aを含み、移動機器100bは、LED102bを含み、移動機器100cは、LED102cを含む(以下、LED102a、102b、102cのそれぞれを限定しない場合には、適宜「LED102」と称する)。サーバ300は、カメラ200を接続する。
【0017】
本実施形態において、移動機器100内のLED102は、送信対象の情報である移動機器100のID(Identification)を色相の時間方向の変化で変調した光を発することにより情報を送信する。一方、カメラ200は、LEDを含む空間の撮影を行う。サーバ300は、カメラ200の撮影により得られた光の画像から移動機器100のID等の情報を取得する。
【0018】
図2は、移動機器100の構成の一例を示す図である。
図2に示すように、移動機器100は、LED102、制御部103、メモリ104、通信部108、駆動部112、及び、電池150を含む。
【0019】
制御部103は、例えばCPU(Central Processing Unit)によって構成される。制御部103は、メモリ104に記憶されたプログラムに従ってソフトウェア処理を実行することにより、移動機器100が具備する各種機能を制御する。
【0020】
メモリ104は、例えばRAM(Random Access Memory)やROM(Read Only Memory)である。メモリ104は、移動機器100における制御等に用いられる各種情報(プログラム等)を記憶する。通信部108は、例えばLAN(Local Area Network)カードである。通信部108は、他の通信装置との間で通信を行う。電池150は、移動機器100の作動に必要な電力を各部に供給する。
【0021】
制御部103には、発光制御部124が構成される。発光制御部124は、移動機器100のID等に応じて、LED102が発する色相の時間方向の変化に変調された任意の情報を含む所定の光を発光する発光パターンを決定する。
【0022】
更に、発光制御部124は、ID等に対応する発光パターンの情報を駆動部112へ出力する。駆動部112は、発光制御部124からの発光パターンの情報に応じて、LED102が発する光の色相や輝度を時間的に変化させるための駆動信号を生成する。LED102は、駆動部112から出力される駆動信号に応じて、時間的に色相や輝度が変化する光を発する。発光色は3原色であり、可視光通信における色変調に用いる波長帯の色である赤(R)、緑(G)、青(B)の何れかである。
【0023】
図3は、カメラ200とサーバ300の構成の一例を示す図である。
図3に示すように、カメラ200は、撮影部202及びレンズ203を含む。サーバ300は、制御部302、画像処理部304、メモリ305、操作部306、表示部307及び通信部308を含む。
【0024】
カメラ200内のレンズ203は、ズームレンズ等により構成される。レンズ203は、サーバ300内の操作部306からのズーム制御操作、及び、制御部302による合焦制御により移動する。レンズ203の移動によって撮影部202が撮影する撮影画角や光学像が制御される。
【0025】
撮影部202は、規則的に二次元配列された複数の受光素子により、撮像面を含む受光面が構成される。受光素子は、例えば、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等の撮影デバイスである。撮影部202は、レンズ203を介して入光された光学像を、サーバ300内の制御部302からの制御信号に基づいて所定範囲の撮影画角で撮影(受光)し、その撮影画角内の画像信号をデジタルデータに変換してフレームを生成する。また、撮影部202は、撮影とフレームの生成とを時間的に連続して行い、連続するフレームを画像処理部304に出力する。
【0026】
受光面には、ベイヤー配列のカラーフィルタが構成されている。
図4に示すように、ベイヤー配列のカラーフィルタは、1つの画素に対応し、赤色に対応する波長域を透過のピークとしたフィルタである赤フィルタ402、緑色に対応する波長域を透過のピークとしたフィルタである緑フィルタ404、青色に対応する波長域を透過のピークとしたフィルタである青フィルタ406を配列して構成されている。具体的には、ベイヤー配列のカラーフィルタは、横方向に赤フィルタ402と緑フィルタ404とが交互に配置された第1の列と、横方向に緑フィルタ404と青フィルタ406とが交互に配列された第2の列とが上下方向に交互に配置されて構成される。
【0027】
図4に示すように、X軸及びY軸を定め、X軸方向に0から番号を付けるとともに、Y軸方向に0から番号を付けると、n、mを整数として、赤フィルタ402の座標は(2n,2m)、緑フィルタ404の座標は(2n,2m+1)及び(2n+1,2m)、青フィルタ406の座標は(2n+1,2m+1)となる。
【0028】
画像処理部304は、制御部302からの制御信号に基づいて、撮影部202から出力されたフレームのデジタルデータを制御部302へ出力する。フレームのデジタルデータには、当該フレームを構成する各画素の輝度値が含まれている。
【0029】
制御部302は、例えばCPUによって構成される。制御部302は、メモリ305に記憶されたプログラムに従ってソフトウェア処理を実行することにより、後述する
図10~
図13に示す動作を行う等、サーバ300が具備する各種機能を制御する。
【0030】
メモリ305は、例えばRAMやROMである。メモリ305は、サーバ300における制御等に用いられる各種情報(プログラム等)を記憶する。
【0031】
操作部306は、テンキーやファンクションキー等によって構成され、ユーザの操作内容を入力するために用いられるインタフェースである。表示部307は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、EL(Electro Luminescence)ディスプレイ等によって構成される。表示部307は、制御部302から出力された画像信号に従って画像を表示する。通信部308は、例えばLANカードである。通信部308は、外部の通信装置との間で通信を行う。
【0032】
制御部302には、輝度値取得部332、位置取得部334、信号候補領域検出部336、情報取得部338、現像部340が構成される。
【0033】
輝度値取得部332は、撮影部202が出力する複数のフレームのそれぞれについて、当該フレームを構成する各画素の輝度値を取得する。ここで、LED102が赤色に点灯している場合には赤フィルタ402に対応する画素の輝度値が高くなり、
図5(a)に示すようなベイヤー画像が得られる。LED102が緑色に点灯している場合には緑フィルタ404に対応する画素の輝度値が高くなり、
図6(a)に示すようなベイヤー画像が得られる。LED102が青色に点灯している場合には青フィルタ406に対応する画素の輝度値が高くなり、
図7(a)に示すようなベイヤー画像が得られる。
【0034】
位置取得部334は、複数フレームに対応する時間において、輝度値取得部332によって取得された各画素の輝度値を取得する。ここで、撮像部202は、LED102の発光色の変化タイミングに同期した更新タイミングでフレーム(撮像画像)を出力する。位置取得部334は、LED102の発光色の変化に伴う輝度値を取得可能となる。なお、本実施形態においては、フレームレートと発光色の変化タイミングが一致しているケースについて述べるものとするが、フレームレートに対し発光色の変化タイミングが長い場合、同じ発光色で発光するLED102を連続するフレームで検出することになる。このような場合、後述するように現フレームと1つ前のフレームで輝度値の差分を取得することはできないため、例えば、現フレームと2つ前のフレームで輝度値の差分を取得するように設定する。つまり、輝度値の差分を検出するためのフレームの選択は、発光色の変化タイミングと撮像部202に設定されるフレームレートによって決定されるものであり、現フレームよりも過去に撮像されたフレームであれば、1つ前のフレームに限定されない。
【0035】
次に、位置取得部334は、フレームを構成する各画素に1つずつ着目して複数フレームにおける着目画素の輝度値の差を利用する処理(時間方向の輝度値の差分から発光色を判定する処理)を行う。
【0036】
具体的には、まず、位置取得部334は、着目している画素(着目画素)の位置に対応するカラーフィルタの色を特定する。メモリ305は、
図4に示すベイヤー配列のカラーフィルタの情報として、カラーフィルタの各色の位置とその色とを対応付けた情報を記憶している。位置取得部334は、メモリ305に記憶されたベイヤー配列のカラーフィルタの情報と着目画素の位置とに基づいて、着目画素の位置に対応するカラーフィルタの色を特定する。
【0037】
次に、位置取得部334は、着目画素について取得した現フレームとその1つ前のフレームとの輝度値の差分が閾値以上であるか否かを判定する。
【0038】
例えば、
図8(a)に示すように、現フレームでLED102が青色で点灯している時は青フィルタ406に対応する画素412aの輝度値が高く、
図8(b)に示すように、1つ前のフレームでLED102が青色で点灯していない時は青フィルタ406に対応する画素412bの輝度値が低いことに着目し、位置取得部334は、着目画素についてフレーム間の輝度値の差分が閾値(時間方向差分閾値)より大きいか否かを判定する。
【0039】
そして、位置取得部334は、差分が時間方向差分閾値より大きければ、着目画素がLED102の位置(信号候補)の可能性がある画素(時間方向信号候補画素)であるとみなす。
【0040】
時間方向差分閾値は、メモリ305に記憶されている。時間方向差分閾値は、フィルタの色毎に異なる値であり、例えば、0~255の輝度値の範囲において、赤の場合は30、緑の場合は50、青の場合は25である。位置取得部334は、メモリ305から着目画素の位置に対応するフィルタの色の時間方向差分閾値を読み出す。更に、位置取得部334は、着目画素についてフレーム間の輝度値の差分を算出し、これが時間方向差分閾値より大きいか否かを判定する。
【0041】
着目画素についてフレーム間の輝度値の差分が時間方向差分閾値より大きく、着目画素が時間方向信号候補画素である場合、次に、位置取得部334は、時間方向信号候補画素と周辺の画素の輝度値の差を利用する処理(空間方向の輝度値の差分から発光色を判定する処理)を行う。
【0042】
具体的には、まず、位置取得部334は、時間方向信号候補画素の位置に対応するフィルタの色を特定する。次に、位置取得部334は、時間方向信号候補画素の輝度値と、当該時間方向信号候補画素の周辺の画素(周辺画素)の輝度値との差分が閾値以上であるか否かを判定する。ここで、周辺画素とは、時間方向信号候補画素の周辺に存在し、且つ、対応するフィルタの色が時間方向信号候補画素とは異なる画素である。このような判定を行うのは以下の理由による。すなわち、時間方向信号候補画素がLED102の位置である場合には、LED102が時間方向信号候補画素に対応するカラーフィルタの色で点灯している時には時間方向信号候補画素の輝度値は高くなる一方、周辺画素の輝度値は低くなる。
【0043】
そこで、LED102が時間方向信号候補画素に対応するカラーフィルタの色で点灯している時の時間方向信号候補画素と周辺画素とで輝度値に差があること、例えば、
図9に示すように、LED102が青色で点灯している時は青フィルタ406に対応する画素422は輝度が高く、周辺の緑フィルタ404に対応する画素424a、424b、424c、424dは輝度が低いことに着目し、位置取得部334は、時間方向信号候補画素についての高輝度値から、その高輝度値と検出タイミングが同一、換言すれば、その高輝度値を検出した同一のフレームにおける周辺画素の輝度値を差し引いた差分が閾値(空間方向差分閾値)より大きいか否かを判定する。そして、位置取得部334は、差分が空間方向差分閾値より大きければ、時間方向信号候補画素がLED102の位置、換言すれば、信号候補の画素(信号候補画素)であると特定する。
【0044】
空間方向差分閾値は、メモリ305に記憶されている。空間方向差分閾値は、フィルタの色毎に異なる値であり、例えば、0~255の輝度値の範囲において、赤の場合は50、緑の場合は80、青の場合は60である。位置取得部334は、メモリ305から時間方向信号候補画素の位置に対応するフィルタの色の空間方向差分閾値を読み出す。更に、位置取得部334は、時間方向信号候補画素の輝度値と、この時間方向信号候補画素を検出した同一のフレームにおける周辺画素の輝度値との差分を算出し、空間方向差分閾値より大きいか否かを判定する。
【0045】
時間方向信号候補画素についての高輝度値とその高輝度値を検出した同一のフレームにおける周辺画素の輝度値との差分が時間方向差分閾値より大きく、時間方向信号候補画素が信号候補画素であると特定された場合、次に、信号候補領域検出部336は、最終的な信号候補の領域の検出処理を行う。
【0046】
具体的には、まず、信号候補領域検出部336は、信号候補画素について輝度値を一定値に置き換える。具体的には、輝度値における0~255の値から任意の値を割り当て、信号候補画素をその割当てられた輝度値に置き換え、更に信号候補画素の周辺に存在する周辺画素の輝度値を、当該周辺画素の輝度値と検出タイミングが同一、換言すれば、その周辺画素の輝度値を検出した同一のフレームにおける信号候補画素の輝度値に置き換える。
【0047】
次に、信号候補領域検出部336は、信号候補画素の輝度値と同一の輝度値とである画素の集合のうち、1画素分の幅の最外部の含まれる画素の輝度値を現在の輝度値よりも低い値にする。次に、信号候補領域検出部336は、信号候補画素の輝度値と同一の輝度値である画素の集合、例えば、赤の信号候補領域4021は
図5(b)、緑の信号候補領域4041は
図6(b)、青の信号候補領域4061は
図7(b)であると特定し、その信号候補の領域の輪郭を検出する。
【0048】
情報取得部338は、上述した処理により特定された信号候補領域4021、4041、4061内の色相を判定し、その色相の時間方向の変化に基づいて、移動機器100のID等の情報を復号する。
【0049】
必要に応じ、現像部340は、輝度値取得部332からの信号に基づいて、フレームのアナログデータからカラー画像(RGB画像)を生成する。更に、現像部340は、生成したRGB画像を表示部307に表示させる。なお、RGB画像とともに、情報取得部338によって取得された移動機器100のID等の情報対応付けて表示部307に出力し、表示されるようにしてもよい。
【0050】
以下、フローチャートを参照しつつ、色推定の動作を説明する。
図10は、サーバ300による情報取得の動作の一例を示すフローチャートである。
【0051】
サーバ300の制御部302内の撮影部202が出力する複数のフレームのそれぞれについて、当該フレームを構成する各画素の輝度値を取得する。更に、位置取得部334は、複数フレームに対応する時間において、輝度値取得部332によって取得された各画素の輝度値を取得する(ステップS101)。
【0052】
次に、位置取得部334は、フレームを構成する各画素に1つずつ着目して複数フレームにおける着目画素の輝度値の差を利用する処理(時間方向の輝度値の差分から発光色を判定する処理)を行う(ステップS102)。
【0053】
図11は、サーバ300による時間方向の輝度値の差分から発光色を判定する処理の動作の一例を示すフローチャートである。位置取得部334は、メモリ305に記憶されたベイヤー配列のカラーフィルタの情報と着目画素の位置とに基づいて、着目画素の位置に対応するカラーフィルタの色を特定する(ステップS201)。
【0054】
次に、位置取得部334は、特定したカラーフィルタの色に対応する時間方向差分閾値をメモリ305から取得する(ステップS202)。
【0055】
次に、位置取得部334は、着目画素について現フレームの輝度値から1つ前のフレームの輝度値を差し引いた輝度値の差分が時間方向差分閾値より大きいか否かを判定する(ステップS203)。
【0056】
着目画素について現フレームの輝度値から1つ前のフレームの輝度値を差し引いた差分が時間方向差分閾値より大きい場合には(ステップS203;YES)、位置取得部334は、着目画素がLED102の位置の可能性がある画素(時間方向信号候補画素)であると特定する(ステップS204)。一方、着目画素について現フレームの輝度値から1つ前のフレームの輝度値を差し引いた差分が時間方向差分閾値以下である場合には(ステップS203;NO)、位置取得部334は、着目画素が信号候補画素でないと特定する(ステップS205)。
【0057】
再び、
図10に戻って説明する。ステップS102における時間方向の輝度値の差分から発光色を判定する処理の後、位置取得部334は、時間方向信号候補画素と周辺画素との輝度値の差を利用する処理(空間方向の輝度値の差分から発光色を判定する処理)を行う(ステップS103)。
【0058】
図12は、サーバ300による空間方向の輝度値の差分から発光色を判定する処理の動作の一例を示すフローチャートである。位置取得部334は、時間方向信号候補画素の位置に対応するカラーフィルタの色を特定する。更に、位置取得部334は、特定したカラーフィルタの色に対応する空間方向差分閾値を取得する(ステップS301)。
【0059】
次に、位置取得部334は、時間方向信号候補画素の輝度値から、その輝度値を検出した同一のフレームにおける周辺画素の輝度値を差し引いた差分が空間方向差分閾値より大きいか否かを判定する(ステップS302)。
【0060】
位置取得部334は、算出した差分が空間方向差分閾値より大きい場合には(ステップS302;YES)、時間方向信号候補画素が信号候補画素であると特定する(ステップS303)。例えば、信号候補画素の上下左右の合計4画素を周辺画素とし、位置取得部334は、時間方向信号候補画素の輝度値から当該4画素の輝度値を差し引いた差分を算出する。そして、位置取得部334は、算出された4つの差分のうち、3つ以上の差分が空間方向差分閾値より大きいか否かを判定し、3つ以上の差分が空間方向差分閾値より大きい場合には、時間方向信号候補画素が信号候補画素であると特定する。一方、算出した差分が空間方向差分閾値以下である場合には(ステップS302;NO)、位置取得部334は、時間方向信号候補画素が信号候補画素でないと特定する(ステップS304)。
【0061】
再び、
図10に戻って説明する。ステップS103における空間方向の輝度値の差分から発光色を判定する処理の後、信号候補領域検出部336は、最終的な信号候補の領域の検出処理を行う(ステップS104)。
【0062】
図13は、サーバ300による信号候補領域の検出処理の動作の一例を示すフローチャートである。信号候補領域検出部336は、信号候補画素を予め割当てられた輝度値に置き換え、更に信号候補画素の周辺に存在する周辺画素の輝度値を、当該周辺画素と同一のフレームにおける信号候補画素に割り当てられた輝度値に置き換える(ステップS401)。例えば、信号候補領域検出部336は、信号候補画素の上下左右の合計4画素を周辺画素とし、当該周辺画素の輝度値を、当該周辺画素と同一のフレームにおける信号候補画素に割り当てられた輝度値に置き換える。
【0063】
次に、信号候補領域検出部336は、信号候補画素の輝度値と同一の輝度値である画素の集合のうち、1画素分の幅の最外部の含まれる画素の輝度値を現在の輝度値よりも低い輝度値に置き換える(ステップS402)。
【0064】
次に、信号候補領域検出部336は、信号候補画素の輝度値と同一の輝度値である画素の集合を信号候補領域であると特定し、その信号候補領域の輪郭を検出する(ステップS403)。
【0065】
再び、
図10に戻って説明する。ステップS104における信号候補の検出処理の後、情報取得部338は、信号候補領域がRGBの何れかであるかを決定し、この信号候補領域の色相の時間方向の変化を判定する(ステップS105)。更に、情報取得部338は、色相の変化に基づいて、移動機器100のID等の情報を復号し、情報を取得する(ステップS106)。
【0066】
その後、制御部302は、情報取得に関する全ての処理が終了したか否かを判定する(ステップS107)。具体的には、制御部302は、フレームを構成する全ての画素についてステップS101~ステップS106の動作が終了したか否かを判定する。情報取得に関する全ての処理が終了した場合には(ステップS107;YES)、制御部302は、一連の動作を終了する。情報取得に関する全ての処理が終了していない場合(ステップS107;NO)、制御部302は、ステップS101以降の動作を繰り返す。例えば、フレームを構成する全ての画素のうち、ステップS101~ステップS106の動作が終了していない画素が存在する場合には、制御部302は、その画素を着目画素としてステップS101以降の動作を繰り返す。
【0067】
このように本実施形態では、移動機器100は、自身のID等に応じて、マーカーであるLED102を発光させる。一方、サーバ300は、カメラ200の撮影によって得られたフレームを取得し、当該フレームを構成する各画素に1つずつ着目して複数フレームにおける着目画素の輝度値の差を利用する処理(時間方向の輝度値の差分から発光色を判定する処理)を行い、着目画素が信号候補の可能性があるか否かを判定する。更に、サーバ300は、着目画素が信号候補画素の可能性がある場合(時間方向信号候補画素である場合)、時間方向信号候補画素と周辺の画素の輝度値の差を利用する処理(空間方向の輝度値の差分から発光色を判定する処理)を行って信号候補画素、更には信号候補の領域を特定する。
【0068】
従来は、
図5(b)等に示すRGB画像を生成した後に信号候補の領域を特定していた。一方、本実施形態では、サーバ300は、複数フレームにおける各画素の輝度値を取得すれば、信号候補の領域を特定し、更に情報取得を行うことができるので、解像度が高くなっても、信号源の受光位置(信号候補の領域)の特定への影響を少なくすることができる。
【0069】
また、サーバ300は、複数フレームにおける着目画素の輝度値の差を利用する処理(時間方向の輝度値の差分から発光色を判定する処理)を行って、着目画素についてフレーム間の輝度値の差分が時間方向差分閾値より大きい場合に、着目画素を信号候補画素の可能性がある時間方向信号候補画素であると特定することにより、空間が明るい場合等、着目画素がLED102の位置でなくても輝度値が高くなる場合に、着目画素が信号候補画素であると誤って特定されることが防止される。
【0070】
また、サーバ300は、時間方向信号候補画素と周辺の画素の輝度値の差を利用する処理(空間方向の輝度値の差分から発光色を判定する処理)を行って、時間方向信号候補画素と周辺画素の輝度値の差分が空間方向差分閾値より大きい場合に、時間方向信号候補画素を信号候補画素であると特定することにより、LED102が時間方向信号候補画素に対応するカラーフィルタの色で点灯している時には時間方向信号候補画素の輝度値は高くなる一方、周辺画素の輝度値は低くなることを考慮した的確な信号候補画素の特定が可能となる。
【0071】
また、サーバ300は、信号候補画素の周辺に存在する周辺画素の輝度値を、当該周辺画素の輝度値を検出した同一のフレームにおける信号候補画素の輝度値に置き換えて単一色の領域を広げることで、信号候補画素を1つずつ情報の復号することを防止することができる。
【0072】
また、サーバ300は、信号候補画素の輝度値と同一の輝度値である画素の集合のうち、1画素分の幅の最外部の含まれる画素の輝度値を現在の輝度値よりも低い輝度値に置き換えることにより、信号候補領域を、LED102の位置を正確に特定したものとすることができるとともに、反射光等によるノイズの影響を低減することができる。
【0073】
なお、本発明は、上記実施形態の説明及び図面によって限定されるものではなく、上記実施形態及び図面に適宜変更等を加えることは可能である。
【0074】
例えば、上述した実施形態では、周辺画素について、信号候補画素の上下左右の合計4画素を例に挙げたが、周辺画素の画素数はこれに限定されず、例えば、1画素でもよいし、信号候補画素の周囲の8画素を周辺画素としてもよく、その8画素の一部を周辺画素としてもよい。
【0075】
また、上述した実施形態では、時間方向信号候補画素の上下左右の合計4画素を周辺画素とし、位置取得部334は、時間方向信号候補画素の輝度値から当該4画素の輝度値を差し引いた差分を算出し、算出された4つの差分のうち、3つ以上の差分が空間方向差分閾値より大きいか否かを判定することを例に挙げたが、判定に使用する空間方向差分閾値より大きい差分の数はこれに限定されない。例えば、時間方向信号候補画素の輝度値から各周辺画素の輝度値を差し引いた差分の全てが空間方向差分閾値より大きいか否かを判定し、大きい場合に時間方向信号候補画素を信号候補画素であると特定してもよい。
【0076】
また、上述した実施形態では、可視光である赤、緑、青の光を通信に用いる場合について説明したが、他の色の可視光を用いてもよい。また、情報が輝度の時間方向の変化のみによって変調される可視光通信においても本発明を適用することができる。
【0077】
また、カラーフィルタの配列はベイヤー配列に限定されず、他の配列でもよい。カラーフィルタの配列に応じて、カラーフィルタの各色の位置とその色とを対応付けた情報がメモリ305に記憶される。
【0078】
また、上述した実施形態では、移動機器100による送信対象の情報は、当該移動機器100のIDであったが、これに限定されず、移動機器100の位置情報や移動機器100に生じた障害等の情報であってもよい。
【0079】
また、移動機器100内の光源はLEDに限定されない。例えば、表示装置を構成するLCD、PDP、ELディスプレイ等の一部に光源が構成されていてもよい。
【0080】
また、サーバ300は、カメラ200が内装されたものであってもよい。
【0081】
また、上記実施形態において、実行されるプログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read - Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto - Optical disc)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをインストールすることにより、上述の処理を実行するシステムを構成することとしてもよい。
【0082】
また、プログラムをインターネット等のネットワーク上の所定のサーバが有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、ダウンロード等するようにしてもよい。
【0083】
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、ダウンロード等してもよい。
【0084】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0085】
(付記1)
二次元配列された複数の受光素子と前記複数の受光素子の受光面に複数種の色に対応する波長帯域を透過するフィルタが規則的に配列されるカラーフィルタとを備える受光装置から受光した光の経時変化する輝度値を取得する輝度値取得手段と、
前記カラーフィルタに規則的に配列されるフィルタの位置に対応して、輝度値の閾値を記憶している記憶手段と、
前記輝度値取得手段によって取得された経時変化する輝度値と前記記憶手段に記憶されている閾値とに基づいて前記受光した光の色を特定し、前記特定した色に対応する情報を取得する情報取得手段と、
を備えることを特徴とする情報取得装置。
【0086】
(付記2)
前記カラーフィルタに規則的に配列されるフィルタのうち、前記情報取得手段によって特定された色に対応するフィルタの前記受光面における位置を複数取得する位置取得手段と、
前記位置取得手段によって取得された複数の位置の間の色を、前記位置取得手段によって位置が取得された色に置き換えて、前記情報取得手段によって特定された色の領域を検出する領域検出手段と、
を更に備え、
前記情報取得手段は、前記領域検出手段によって検出された領域から、前記特定した色に対応する情報を取得することを特徴とする付記1に記載の情報取得装置。
【0087】
(付記3)
前記カラーフィルタは、赤、緑、青の三原色がベイヤー配列されたものであることを特徴とする付記1又は2に記載の情報取得装置。
【0088】
(付記4)
前記受光素子は撮像素子を含むとともに前記受光面は撮像面を含み、
前記撮像面により得られた受光像からカラー画像へ現像する現像手段を更に備え、
前記情報取得手段は、前記現像手段による現像処理が行われる以前に、前記特定した色に対応する情報を取得し、更に、
前記情報取得手段によって取得された情報と前記現像手段によって現像されたカラー画像とを対応付けて出力する出力手段を備えることを特徴とする付記1~3の何れか1つに記載の情報取得装置。
【0089】
(付記5)
二次元配列された複数の受光素子を備える受光装置から光を受光した複数の受光素子の位置を取得する位置取得手段と、
前記位置取得手段によって取得された複数の受光素子の位置の間に存在する受光素子の位置の輝度値を、前記光を受光した複数の受光素子の位置に基づく輝度値に置き換えて、情報を取得すべき領域を検出する領域検出手段と、
前記領域検出手段によって検出された情報を取得すべき領域の時間方向で変化する輝度値に基づいて、情報を取得する情報取得手段と、
を備えることを特徴とする情報取得装置。
【0090】
(付記6)
二次元配列された複数の受光素子と前記複数の受光素子の受光面に複数種の色に対応する波長帯域を透過するフィルタが規則的に配列されるカラーフィルタとを備える受光装置から受光した光の経時変化する輝度値を取得する輝度値取得ステップと、
前記輝度値取得ステップにて取得された経時変化する輝度値と、予め記憶部に記憶された前記カラーフィルタに規則的に配列されるフィルタの位置に対応する輝度値の閾値とから、前記受光した光の色を特定し、前記特定した色に対応する情報を取得する情報取得ステップと、
を含むことを特徴とする情報取得方法。
【0091】
(付記7)
二次元配列された複数の受光素子を備える受光装置から光を受光した複数の受光素子の位置を取得する位置取得ステップと、
前記位置取得ステップにて取得された複数の受光素子の位置の間に存在する受光素子の位置の輝度値を、前記光を受光した複数の受光素子の位置に基づく輝度値に置き換えて、情報を取得すべき領域を検出する領域検出ステップと、
前記領域検出ステップにて検出された情報を取得すべき領域の時間方向で変化する輝度値に基づいて、情報を取得する情報取得ステップと、
を含むことを特徴とする情報取得方法。
【0092】
(付記8)
コンピュータを、
二次元配列された複数の受光素子と前記複数の受光素子の受光面に複数種の色に対応する波長帯域を透過するフィルタが規則的に配列されるカラーフィルタとを備える受光装置から受光した光の経時変化する輝度値を取得する輝度値取得手段、
前記輝度値取得手段によって取得された経時変化する輝度値と、予め記憶部に記憶された前記カラーフィルタに規則的に配列されるフィルタの位置に対応する輝度値の閾値とから、前記受光した光の色を特定し、前記特定した色に対応する情報を取得する情報取得手段、
として機能させることを特徴とするプログラム。
【0093】
(付記9)
コンピュータを、
二次元配列された複数の受光素子を備える受光装置から光を受光した複数の受光素子の位置を取得する位置値取得手段、
前記位置取得手段によって取得された複数の受光素子の位置の間に存在する受光素子の位置の輝度値を、前記光を受光した複数の受光素子の位置に基づく輝度値に置き換えて、情報を取得すべき領域を検出する領域検出手段、
前記領域検出手段によって検出された情報を取得すべき領域の時間方向で変化する輝度値に基づいて、情報を取得する情報取得手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【0094】
1…可視光通信システム、100、100a、100b、100c…移動機器、102、102a、102b、102c…LED、103、302…制御部、104、305…メモリ、108、308…通信部、112…駆動部、124…発光制御部、150…電池、200…カメラ、202…撮影部、203…レンズ、300…サーバ、304…画像処理部、306…操作部、307…表示部、332…輝度値取得部、334…位置取得部、336…信号候補領域検出部、338…情報取得部、340…現像部、402…赤フィルタ、404…緑フィルタ、406…青フィルタ、412a…点灯時の青フィルタの画素、412b…消灯時の青フィルタの画素、422…青フィルタの画素、424a、424b、424c、424d…緑フィルタの画素、4021…赤の信号候補領域、4041…緑の信号候補領域、4061…青の信号候補領域