(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-15
(45)【発行日】2024-04-23
(54)【発明の名称】色推定装置、色推定方法及びプログラム
(51)【国際特許分類】
H04N 25/10 20230101AFI20240416BHJP
H04B 10/116 20130101ALI20240416BHJP
H04B 10/66 20130101ALI20240416BHJP
【FI】
H04N25/10
H04B10/116
H04B10/66
(21)【出願番号】P 2020032572
(22)【出願日】2020-02-28
【審査請求日】2023-02-28
(31)【優先権主張番号】P 2019138469
(32)【優先日】2019-07-29
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(72)【発明者】
【氏名】宮本 直知
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開2007-251393(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 25/10-25/17
H04B 10/116
H04B 10/66-10/69
(57)【特許請求の範囲】
【請求項1】
所定の光学フィルタの少なくとも一部を透過した光を受光した受光素子の受光領域であって受光した光の明度が所定明度以上である候補領域の大きさが所定のサイズ以下であるか否かを判定する判定手段と、
前記判定手段により前記候補領域の大きさが前記所定のサイズ以下であると判定された場合、前記
所定の光学フィルタを構成する複数種のフィルタの配列を考慮して前記光が属する色を推定する推定手段と、
を備えることを特徴とする色推定装置。
【請求項2】
前記推定手段による推定後の
色の明るさを更に明るくするよう補正することで、前記
所定の光学フィルタを構成する複数種のフィルタが隣接する位置にある光が属する色の特定が容易になるように制御する制御手段を更に備えることを特徴とする請求項1に記載の色推定装置。
【請求項3】
前記判定手段により前記候補領域の大きさが所定のサイズ以下であると判定された場合、前記推定手段は、色相環をパラメータに含む色空間の情報に基づいて前記光が属する色を推定することを特徴とする請求項
1又は2に記載の色推定装置。
【請求項4】
前記所定の光学フィルタは、三原色の各色に対応する波長帯域の光を透過する透過部材が規則的に配列されたカラーフィルタ
であることを特徴とする請求項1乃至
3の何れか1項に記載の色推定装置。
【請求項5】
前記推定手段によって推定された色から、情報を色に変調して通信を行う通信システムで用いられる情報へ復号する復号手段を更に備えることを特徴とする請求項1乃至
4の何れか1項に記載の色推定装置。
【請求項6】
所定の光学フィルタの少なくとも一部を透過した光を受光した受光素子の受光領域であって受光した光の明度が所定明度以上である候補領域の大きさが所定のサイズ以下であるか否かを判定する判定ステップと、
前記判定ステップにより前記候補領域の大きさが所定のサイズ以下であると判定された場合、前記
所定の光学フィルタを構成する複数種のフィルタの配列を考慮して前記光が属する色を推定する推定ステップと、
を含むことを特徴とする色推定方法。
【請求項7】
コンピュータを、
所定の光学フィルタの少なくとも一部を透過した光を受光した受光素子の受光領域であって受光した光の明度が所定明度以上である候補領域の大きさが所定のサイズ以下であるか否かを判定する判定手段、
前記判定手段により前記候補領域の大きさが所定のサイズ以下であると判定された場合、前記
所定の光学フィルタを構成する複数種のフィルタの配列を考慮して前記光が属する色を推定する推定手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、色推定装置、色推定方法及びプログラムに関する。
【背景技術】
【0002】
従来より、マーカが情報を可視光の波長領域における輝度、色で変調して発光し、情報送信する技術が考えられている。また、この変調された可視光をカメラの撮像素子で同時並行受光し、イメージセンサにおける受光した位置と復調された情報とを対応付けさせる技術も存在する(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、マーカとカメラとの距離が長く、結果的に撮像素子における受光面において、マーカが発光する光の像が所定サイズ以下で撮像されるようになると、その光の像が発する色(発光色)はカラーフィルタの赤、緑、青(RGB)配列の何れかの色の影響を強く受けてしまい、発光色が正しく認識できなくなるという問題が生じる。
【0005】
本願発明はこのような問題点に鑑みてなされたものであり、色の特定が困難なサイズの画像の色を正しく推定することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る色推定装置は、
所定の光学フィルタの少なくとも一部を透過した光を受光した受光素子の受光領域であって受光した光の明度が所定明度以上である候補領域の大きさが所定のサイズ以下であるか否かを判定する判定手段と、
前記判定手段により前記候補領域の大きさが前記所定のサイズ以下であると判定された場合、前記所定の光学フィルタを構成する複数種のフィルタの配列を考慮して前記光が属する色を推定する推定手段と、
を備えることを特徴とする。
【0007】
上記目的を達成するため、本発明に係る色推定方法は、
所定の光学フィルタの少なくとも一部を透過した光を受光した受光素子の受光領域であって受光した光の明度が所定明度以上である候補領域の大きさが所定のサイズ以下であるか否かを判定する判定ステップと、
前記判定ステップにより前記候補領域の大きさが所定のサイズ以下であると判定された場合、前記所定の光学フィルタを構成する複数種のフィルタの配列を考慮して前記光が属する色を推定する推定ステップと、
を含むことを特徴とする。
【0008】
上記目的を達成するため、本発明に係るプログラムは、
コンピュータを、
所定の光学フィルタの少なくとも一部を透過した光を受光した受光素子の受光領域であって受光した光の明度が所定明度以上である候補領域の大きさが所定のサイズ以下であるか否かを判定する判定手段、
前記判定手段により前記候補領域の大きさが所定のサイズ以下であると判定された場合、前記所定の光学フィルタを構成する複数種のフィルタの配列を考慮して前記光が属する色を推定する推定手段、
として機能させることを特徴とする。
【発明の効果】
【0009】
本発明によれば、色の特定が困難なサイズの画像の色を正しく推定することができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態に係る可視光通信システムの一例を示す図である。
【
図2】同実施形態に係る移動機器の構成の一例を示す図である。
【
図3】同実施形態に係るサーバの構成の一例を示す図である。
【
図4】同実施形態に係るカラーフィルタのベイヤー配列の一例を示す図である。
【
図5】(a)は同実施形態に係る赤のマーカの領域が赤フィルタに含まれる一例を示す図であり、(b)は同実施形態に係る赤のマーカの領域が緑フィルタや青フィルタに重なる一例を示す図であり、(c)は同実施形態に係る赤のマーカの領域が緑フィルタや青フィルタに重なる他の一例を示す図である。
【
図6】(a)は同実施形態に係る色相環の一例を示す図であり、(b)は同実施形態に係る色平面の一例を示す図である。
【
図7】同実施形態に係るサーバによる色推定の動作の一例を示すフローチャートである。
【
図8】同実施形態に係るサーバによる色推定の詳細な第1の動作の一例を示すフローチャートである。
【
図9】同実施形態に係るサーバによる色推定の詳細な第2の動作の一例を示すフローチャートである。
【
図10】同実施形態に係るサーバによる色推定の詳細な第3の動作の一例を示すフローチャートである。
【
図11】同実施形態に係るサーバによる色推定の詳細な第4の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の実施形態に係る情報処理システムとしての可視光通信システムを説明する。
【0012】
図1は、可視光通信システムの構成を示す図である。
図1に示すように、可視光通信システム1は、サーバ200と、移動機器100a、100b、100c(以下、移動機器100a、100b、100cのそれぞれを限定しない場合には、適宜「移動機器100」と称する)と、サーバ200とを含んで構成される。移動機器100aは、マーカであるLED(Light Emitting Diode)102aを含み、移動機器100bは、LED102bを含み、移動機器100cは、LED102cを含む(以下、LED102a、102b、102cのそれぞれを限定しない場合には、適宜「LED102」と称する)。サーバ200は、撮影部201を含む。
【0013】
本実施形態において、移動機器100内のLED102が送信対象の情報である移動機器100のID(Identification)等に対応する光を発することにより情報を送信する。一方、サーバ200では、サーバ200内の撮影部201が撮影を行い、撮影により得られた光の画像から移動機器100のIDを取得する。
【0014】
図2は、移動機器100の構成の一例を示す図である。
図2に示すように、移動機器100は、LED102、制御部103、メモリ104、通信部108、駆動部112、及び、電池150を含む。
【0015】
制御部103は、例えばCPU(Central Processing Unit)によって構成される。制御部103は、メモリ104に記憶されたプログラムに従ってソフトウェア処理を実行することにより、移動機器100が具備する各種機能を制御する。
【0016】
メモリ104は、例えばRAM(Random Access Memory)やROM(Read Only Memory)である。メモリ104は、移動機器100における制御等に用いられる各種情報(プログラム等)を記憶する。通信部108は、例えばLAN(Local Area Network)カードである。通信部108は、他の通信装置との間で通信を行う。電池150は、移動機器100の作動に必要な電力を各部に供給する。
【0017】
制御部103には、発光制御部124が構成される。発光制御部124は、移動機器100のID等に応じて、LED102が発する色相の時間的な変化に変調された任意の情報を含む所定の光を発光する発光パターンを決定する。
【0018】
更に、発光制御部124は、ID等に対応する発光パターンの情報を駆動部112へ出力する。駆動部112は、発光制御部124からの発光パターンの情報に応じて、LED102が発する光の色相や輝度を時間的に変化させるための駆動信号を生成する。LED102は、駆動部112から出力される駆動信号に応じて、時間的に色相や輝度が変化する光を発する。発光色は3原色であり、可視光通信における色変調に用いる波長帯の色である赤(R)、緑(G)、青(B)の何れかである。
【0019】
図3は、サーバ200の構成の一例を示す図である。
図3に示すように、サーバ200は、撮影部201、制御部202、画像処理部204、メモリ205、操作部206、表示部207及び通信部208を含む。
【0020】
撮影部201は、レンズ203を含む。レンズ203は、ズームレンズ等により構成される。レンズ203は、操作部206からのズーム制御操作、及び、制御部202による合焦制御により移動する。レンズ203の移動によって撮影部201が撮影する撮影画角や光学像が制御される。
【0021】
撮影部201は、規則的に二次元配列された複数の受光素子により受光面が構成される。受光素子は、例えば、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等の撮影デバイスである。撮影部201は、レンズ203を介して入光された光学像を、制御部202からの制御信号に基づいて所定範囲の撮影画角で撮影(受光)し、その撮影画角内の画像信号をデジタルデータに変換してフレームを生成する。また、撮影部201は、撮影とフレームの生成とを時間的に連続して行い、連続するフレームを画像処理部204に出力する。
【0022】
受光面には、ベイヤー配列のカラーフィルタが構成されている。
図4に示すように、ベイヤー配列のカラーフィルタは、横方向に赤フィルタ302と緑フィルタ304とが交互に配置された第1の列と、横方向に青フィルタ306と緑フィルタ304とが交互に配列された第2の列とが上下方向に交互に配置されて構成される。
【0023】
画像処理部204は、制御部202からの制御信号に基づいて、撮影部201から出力されたフレーム(デジタルデータ)をそのまま制御部202へ出力するとともに、当該フレームについて、表示部207にスルー画像として表示させるべく、画質や画像サイズを調整して制御部202へ出力する。また、画像処理部204は、操作部206からの記録指示操作に基づく制御信号が入力されると、記録指示された時点の撮影部201における撮影画角内、あるいは、表示部207に表示される表示範囲内の光学像を、例えば、JPEG(Joint Photographic Experts Group)等の圧縮符号化方式にて符号化、ファイル化する機能を有する。
【0024】
制御部202は、例えばCPUによって構成される。制御部202は、メモリ205に記憶されたプログラムに従ってソフトウェア処理を実行することにより、後述する
図7~
図11に示す動作を行う等、サーバ200が具備する各種機能を制御する。
【0025】
メモリ205は、例えばRAMやROMである。メモリ205は、サーバ200における制御等に用いられる各種情報(プログラム等)を記憶する。通信部208は、例えばLANカードである。通信部208は、外部の通信装置との間で通信を行う。
【0026】
操作部206は、テンキーやファンクションキー等によって構成され、ユーザの操作内容を入力するために用いられるインタフェースである。表示部207は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、EL(Electro Luminescence)ディスプレイ等によって構成される。表示部207は、制御部202から出力された画像信号に従って画像を表示する。
【0027】
制御部202には、位置特定部232、推定部234及び復号部236が構成される。位置特定部232は、受光面における、移動機器100内のLED102における発光の位置を特定する。発光の位置とは、マーカの位置を中心とした所定範囲枠からなるマーカ候補を構成する領域の位置である。
【0028】
推定部234は、マーカ候補を構成する領域の色が赤(R)、緑(G)、青(B)の何れかであるかを推定する。制御部202は、推定した領域の色の変化に基づいて、その変化に応じて送信される、移動機器100のID等の情報を復元する。ここで、推定部234は、受光面における上記領域がカラーフィルタの赤フィルタ302、緑フィルタ304、青フィルタ306に対して十分大きい場合には、マーカの領域の色が赤(R)、緑(G)、青(B)の何れかであるかを容易に推定することができる。
【0029】
一方、受光面におけるマーカ候補を構成する領域がデベイヤフィルタの大きさ(n×m画素)より小さい場合には、そのままでは推定部234はマーカの領域の色を正しく推定することができない場合がある。ここで、デベイヤフィルタの大きさとは、カラーフィルタの配列によって定まる、カラー画像を生成するために必要となる最小の大きさを示す。例えば、
図5(a)~(c)に示すようカラーフィルタの赤フィルタ302、緑フィルタ304、青フィルタ306の位置と、小さな領域である赤色で発光するマーカ候補の領域310が存在する場合を考える。
【0030】
図5(a)では、マーカ候補の領域310が赤フィルタ302に含まれている。このような場合には、マーカ候補の領域310は、明度が高い赤となる。このため、推定部234は、マーカ候補の領域310が赤であると判定することができる。
【0031】
一方、
図5(b)、(c)では、マーカ候補の領域310が緑フィルタ304や青フィルタ306に重なっている。このような場合には、マーカ候補の領域310は、明度が低くなったり、緑フィルタ304や青フィルタ306によって緑や青が混ざった色となる。特にベイヤー配列は緑フィルタ304の比率が高いため、
図4に示すような緑フィルタ304の影響を受けやすい。
【0032】
そこで、本実施形態では、推定部234は、
図6(a)に示す色相環、及び、
図6(b)に示す色平面に応じて、マーカ候補の領域の色推定を行う。
図6(a)に示すように、色は、HSV色空間では、色相(Hue)、明度(Value)、彩度(Saturation)によって特定され、円柱の色空間上の位置で特定される。
図6(a)の色相環においては、円周方向が色相(H)を示し(0~360)、高さ方向(垂直方向)が明度(V)を示し、半径方向が彩度(S)を示す。また、
図6(a)の色相環、及び、
図6(b)の色平面に示すように、赤(R)、緑(G)、青(B)は色相値によって区分される。色相値は0~360の値の何れかとなる。本実施形態では、色相値が105~180は緑と判定される領域、色相値が180~255は青と判定される領域、色相値が330~30は赤と判定される領域である。
【0033】
復号部236は、推定部234により推定された赤(R)、緑(G)、青(B)の各色に対応するビットデータ列を復号するよう制御し、可視光通信における通信対象の情報である移動機器100のID等を取得する。
【0034】
以下、フローチャートを参照しつつ、色推定の動作を説明する。
図7は、サーバ200による色推定の動作の一例を示すフローチャートである。
【0035】
制御部202内の位置特定部232は、受光面における、移動機器100内のLED102における発光の位置とみなしうる所定明度以上の領域をマーカ候補として構成されている領域として検出する(ステップS101)。
【0036】
次に、推定部234は、マーカ候補の領域がデベイヤフィルタの大きさ以下であるか否かを判定する(ステップS102)。本実施形態では、マーカ候補の領域がデベイヤフィルタの大きさ以下である場合には、マーカ候補の領域の色がカラーフィルタの赤フィルタ302、緑フィルタ304、青フィルタ306の何れかに偏って特定される可能性が高いため、通常の色判定ではマーカ候補の領域の色を正確に判定することができないものとみなしている。
【0037】
マーカ候補の領域がデベイヤフィルタの大きさを超える場合(ステップS102;NO)、色推定部234は、マーカ候補の領域について通常の色推定を行う(ステップS103)。すなわち、色推定部234は、マーカ候補の領域の色について、赤(R)、緑(G)、青(B)の値(RGBの値)に基づいて、色推定を行う。
【0038】
一方、マーカ候補の領域がデベイヤフィルタの大きさ以下である場合(ステップS102;YES)、色推定部234は、受光面のカラーフィルタのベイヤー配列を考慮した色推定を行う(ステップS104)。以下、ステップS104における動作の詳細を説明する。
【0039】
図8はサーバ200による色推定の詳細な第1の動作の一例、
図9は第2の動作の一例、
図10は第3の動作の一例、
図11は第4の動作の一例をそれぞれ示すフローチャートである。
【0040】
まず、
図8に示すように、推定部234は、マーカ候補の領域に含まれる全画素の赤(R)、緑(G)、青(B)の値の平均値(RGB平均値)を算出し、ピクセルフォーマットの変換を行うことにより、当該RGB平均値を、マーカ候補の領域に含まれる全画素の色相Hの平均値(H平均値)、彩度Sの平均値(S平均値)及び明度Vの平均値(V平均値)からなるHSV平均値に変換する(ステップS201)。
【0041】
次に、推定部234は、H平均値<30、又は、H平均値>330であるか否かを判定する(ステップS202)。H平均値<30、又は、H平均値>330とは赤と推定される領域をマーカ候補として抽出する趣旨である。H平均値<30、又は、H平均値>330である場合(ステップS202;YES)、推定部234は、S平均値>10であるか否かを判定する(ステップS203)。S平均値>10とは彩度Sが高い領域をマーカ候補として抽出する趣旨である。S平均値>10である場合(ステップS203;YES)、推定部234は、V平均値>10であるか否かを判定する(ステップS204)。V平均値>10とは明度Vが高い領域をマーカ候補として抽出する趣旨である。
【0042】
V平均値>10である場合(ステップS204;YES)、推定部234は、現在、色推定の対象となっている画像のフレームよりも前のフレームまでにおいて、今回と同じ箇所で赤と推定されたマーカ候補の領域があるか否かを判定する(ステップS206)。例えば、フレーム毎のマーカ候補の領域の色推定の結果である色相H、彩度S、明度V等はメモリ205に記憶されている。
【0043】
前のフレームまでにおいて、赤と推定されたマーカ候補の領域がある場合(ステップS206;YES)、推定部234は、明度補正値を、前のフレームまでにおいて、赤と推定されたマーカ候補の領域内の最大の明度に設定する(ステップS207)。一方、前のフレームまでにおいて、赤と推定されたマーカ候補の領域がない場合(ステップS206;NO)、推定部234は、明度補正値を32に設定する(ステップS208)。ここで、明度補正値の32とはマーカであるLED102が発光した場合に推定される値(発光輝度値)を示している。
【0044】
ステップS207又はステップS208において明度補正値が設定された後、推定部234は、マーカ候補の領域のV平均値が明度補正値未満であるか否かを判定する(ステップS209)。マーカ候補の領域のV平均値が明度補正値未満である場合(ステップS209;YES)、推定部234は、マーカ候補の領域のV平均値を、ステップS207又はステップS208において設定した明度補正値に修正する。これにより、HSV平均値のうち、V平均値がより大きくされた値に修正される。次に、推定部234は、修正後のHSV平均値をRGB平均値に変換する。更に、推定部234は、マーカ候補の領域の全画素に、RGB平均値を設定し、HSV平均値とRGB平均値とをメモリ205に記憶し、マーカ候補の領域を赤であると推定する(ステップS210)。
【0045】
一方、マーカ候補の領域のV平均値が明度補正値未満でない場合(ステップS209;NO)、推定部234は、ピクセルフォーマットの変換を行うことにより、HSV平均値をRGB平均値に変換する。更に、推定部234は、マーカ候補の領域の全画素に、RGB平均値を設定し、HSV平均値とRGB平均値とをメモリ205に記憶し、マーカ候補の領域を赤であると推定する(ステップS211)。
【0046】
また、S平均値>10でない場合(ステップS203;NO)、又は、V平均値>10でない場合(ステップS204;NO)、推定部234は、マーカ候補の領域がマーカではないと推定する(ステップS212)。また、H平均値<30又はH平均値>330ではない場合(ステップS202;NO)、
図9の動作に移行する。
【0047】
推定部234は、マーカ候補の領域に含まれる全画素(今回のケースでは最大デベイヤフィルタの大きさ)について色相Hを判別し、色相Hが180<H<255となるA領域の画素数と、色相Hが105<H≦180となるB領域の画素数とを特定する(ステップS301)。180<H<255とは青に対応する色相の値を示し、105<H≦180とは緑に対応する色相の値を示す。
【0048】
次に、推定部234は、A領域及びB領域のそれぞれの画素数がマーカ候補の全領域の画素数の1/3以上あるか否かを判定する(ステップS302)。A領域及びB領域の画素数がそれぞれマーカ候補の領域の1/3以上ある場合(ステップS302;YES)、推定部234は、A領域及びB領域のそれぞれにおける彩度Sの平均値(S平均値)と明度Vの平均値(V平均値)を算出し、A領域においてS平均値>10、V平均値>10であり、B領域においてS平均値>10、V平均値>10であるか否かを判定する(ステップS303)。
【0049】
A領域及びB領域において彩度Sの平均値S>10、明度Vの平均値>10である場合(ステップS303;YES)、次に、推定部234は、A領域に含まれる全画素の色相Hの平均値(H平均値)、彩度Sの平均値(S平均値)及び明度Vの平均値(V平均値)からなるHSV平均値(A領域のHSV平均値)を算出する。更に、推定部234は、ピクセルフォーマットの変換を行うことにより、A領域のHSV平均値をA領域のRGB平均値に変換する(ステップS305)。
【0050】
更に、推定部234は、マーカ候補の領域の全画素についてA領域のRGB平均値を設定し、HSV平均値とRGB平均値とをメモリ205に記憶し、マーカ候補の領域を青であると推定する(ステップS306)。
【0051】
一方、A領域及びB領域においてS平均値>10、V平均値>10でない場合(ステップS303;NO)、推定部234は、マーカ候補の領域がマーカではないと推定する(ステップS307)。また、A領域及びB領域の何れかのマーカ候補の領域の画素数が全画素数の1/3以上でなく1/3未満である場合(ステップS302;NO)、
図10の動作に移行する。
【0052】
ステップS308の後、
図10の動作に移行し、推定部234は、
図8のステップS201において取得した、マーカ候補の領域についてのHSV平均値に含まれるH平均値について、180<H平均値<255であるか否かを判定する(ステップS401)。
【0053】
180<H平均値<255である場合(ステップS401;YES)、推定部234は、マーカ候補の領域のS平均値、V平均値について、S平均値>10、V平均値>10であるか否かを判定する(ステップS402)。
【0054】
S平均値>10、V平均値>10である場合(ステップS402;YES)、次に、推定部234は、マーカ候補の領域について、ピクセルフォーマットの変換を行うことにより、HSV平均値をRGB平均値に変換する。更に、推定部234は、マーカ候補の領域の全画素に、RGB平均値を設定し、HSV平均値とRGB平均値とをメモリ205に記憶し、マーカ候補の領域を青であると推定する(ステップS404)。
【0055】
一方、S平均値>10、V平均値>10でない場合(ステップS402;NO)、推定部234は、マーカ候補の領域がマーカではないと推定する(ステップS405)。また、180<H平均値<255でない場合(ステップS401;NO)、
図11の動作に移行する。
【0056】
推定部234は、
図8のステップS201において取得した、マーカ候補の領域についてのHSV平均値に含まれるH平均値について、105<H平均値≦180であるか否かを判定する(ステップS501)。
【0057】
105<H平均値≦180である場合(ステップS501;YES)、推定部234は、マーカ候補の領域のS平均値、V平均値について、S平均値>10、V平均値>10であるか否かを判定する(ステップS502)。
【0058】
S平均値>10、V平均値>10である場合(ステップS502;YES)、次に、推定部234は、マーカ候補の領域について、ピクセルフォーマットの変換を行うことにより、HSV平均値をRGB平均値に変換する。更に、推定部234は、マーカ候補の領域の全画素に、RGB平均値を設定し、HSV平均値とRGB平均値とをメモリ205に記憶し、マーカ候補の領域を緑であると推定する(ステップS504)。
【0059】
一方、105<H平均値≦180でない場合(ステップS501;NO)、又は、S平均値>10、V平均値>10でない場合(ステップS502;NO)、推定部234は、マーカ候補の領域がマーカではないと推定する(ステップS505)。
【0060】
このように本実施形態では、移動機器100は、自身のID等に応じて、マーカであるLED102を発光させる。一方、サーバ200は、受光面におけるマーカの領域の位置を検出し、そのマーカの領域の色を推定し、更に推定したマーカの領域の色の変化に基づいて、復号部236にて、移動機器100のID等の情報に復号する。
【0061】
但し、受光面におけるマーカの領域がカラーフィルタにおける所定の範囲(例えば赤フィルタ302、緑フィルタ304、青フィルタ306の各フィルタ)よりも小さい場合には、そのままではマーカの領域の色を正しく推定することができない場合がある。この場合、本実施形態では、サーバ200は、通常の色推定の処理とは異なり、カラーフィルタのベイヤー配列を考慮して、マーカ候補の領域の画素の色相H、彩度S、明度Vの平均値であるHSV平均値を用いて、マーカ候補の領域の色を推定する。更に、サーバ200は、HSV平均値を適宜修正するとともに、ピクセルフォーマットの変換を行うことにより、HSV平均値をRGB平均値に変換し、そのRGB平均値をマーカの領域の全画素に設定する。これにより、マーカの領域のサイズに左右されずに正しい色を推定することができる。
【0062】
なお、本発明は、上記実施形態の説明及び図面によって限定されるものではなく、上記実施形態及び図面に適宜変更等を加えることは可能である。
【0063】
例えば、上述した実施形態では、
図9に示すように、マーカ候補の領域に180<H<255となるA領域と105<H≦180となるB領域のそれぞれが1/3以上存在する場合、マーカ候補の領域は青であると推定された。しかし、これに限定されず、受光素子状のカラーフィルタの特性やホワイトバランス等の処理によっては、緑と判定したり、青及び緑以外と判定するようにしてもよい。
【0064】
例えば、上述した実施形態では、移動機器100による送信対象の情報は、当該移動機器100のIDであったが、これに限定されず、移動機器100の位置情報や移動機器100に生じた障害等の情報であってもよい。
【0065】
また、上述した実施形態では、可視光である赤、緑、青の光を通信に用いる場合について説明したが、他の色の可視光を用いてもよい。また、発光は色相や輝度が時間的に変化するものに限定されず、彩度が時間的に変化するものであってもよい。
【0066】
また、移動機器100内の光源はLEDに限定されない。例えば、表示装置を構成するLCD、PDP、ELディスプレイ等の一部に光源が構成されていてもよい。
【0067】
また、サーバ200は、撮影部が設けられて撮影が可能であれば、どのような装置でもよい。
【0068】
また、上記実施形態において、実行されるプログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read - Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto - Optical disc)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをインストールすることにより、上述の処理を実行するシステムを構成することとしてもよい。
【0069】
また、プログラムをインターネット等のネットワーク上の所定のサーバが有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、ダウンロード等するようにしてもよい。
【0070】
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、ダウンロード等してもよい。
【0071】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0072】
(付記1)
受光した位置から受光した光が属する色が特定される複数の受光素子が配列された受光手段と、
前記受光した受光素子の位置が、前記受光した光の属する色の特定が可能な位置以外である場合、前記受光した光の明るさに基づいて前記光が属する色を推定する推定手段と、
を備えることを特徴とする色推定装置。
【0073】
(付記2)
前記推定手段による推定後の前記受光した受光素子の位置にある光の明るさを更に明るくするよう補正することで、前記受光素子の位置にある光が属する色の特定が容易になるように制御する制御手段を更に備えることを特徴とする付記1に記載の色推定装置。
【0074】
(付記3)
前記光の属する色の特定が可能な位置以外である場合とは、前記受光した受光素子が複数で且つ隣り合う位置である場合を含むことを特徴とする付記1又は2に記載の色推定装置。
【0075】
(付記4)
前記受光した受光素子が複数で且つ隣り合う位置である場合、前記推定手段は前記光の属する色には複数の色が含まれるものと判断し、更に、色相環をパラメータに含む色空間の情報に基づいて前記光が属する色を推定することを特徴とする付記3に記載の色推定装置。
【0076】
(付記5)
前記配列された複数の受光素子の各位置に対応するように、三原色の各色に対応する波長帯域の光を透過する透過部材が規則的に配列されたカラーフィルタを更に備え、
前記透過部材が透過する光の波長帯域の種類に基づいて、前記光が属する色が特定されることを特徴とする付記1乃至4の何れか1つに記載の色推定装置。
【0077】
(付記6)
前記推定手段によって推定された色から、情報を色に変調して通信を行う通信システムで用いられる情報へ復号する復号手段を更に備えることを特徴とする付記1乃至5の何れか1つに記載の色推定装置。
【0078】
(付記7)
受光した位置から受光した光が属する色が特定される複数の配列された受光素子により受光する受光ステップと、
前記受光ステップにおいて受光した受光素子の位置が、前記受光した光の属する色の特定が可能な位置以外である場合、前記受光した光の明るさに基づいて前記光が属する色を推定する推定ステップと、
を含むことを特徴とする色推定方法。
【0079】
(付記8)
コンピュータを、
受光した位置から受光した光が属する色が特定される複数の受光素子が配列された受光手段、
前記受光した受光素子の位置が、前記受光した光の属する色の特定が可能な位置以外である場合、前記受光した光の明るさに基づいて前記光が属する色を推定する推定手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【0080】
1…可視光通信システム、100、100a、100b、100c…移動機器、102、102a、102b、102c…LED、103、202…制御部、104、205…メモリ、108、208…通信部、112…駆動部、124…発光制御部、150…電池、200…サーバ、201…撮影部、203…レンズ、204…画像処理部、206…操作部、207…表示部、232…位置特定部、234…推定部、236…復号部、302…赤フィルタ、304…緑フィルタ、306…青フィルタ、310…マーカ候補の領域