JP4269220B2 - Information processing apparatus and method, recording medium, and program - Google Patents

Information processing apparatus and method, recording medium, and program Download PDF

Info

Publication number
JP4269220B2
JP4269220B2 JP2003141438A JP2003141438A JP4269220B2 JP 4269220 B2 JP4269220 B2 JP 4269220B2 JP 2003141438 A JP2003141438 A JP 2003141438A JP 2003141438 A JP2003141438 A JP 2003141438A JP 4269220 B2 JP4269220 B2 JP 4269220B2
Authority
JP
Japan
Prior art keywords
pixel
signal
light
received
interest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003141438A
Other languages
Japanese (ja)
Other versions
JP2004349765A (en
Inventor
輝行 後
真一 吉村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003141438A priority Critical patent/JP4269220B2/en
Publication of JP2004349765A publication Critical patent/JP2004349765A/en
Application granted granted Critical
Publication of JP4269220B2 publication Critical patent/JP4269220B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、光ビーコンとID認識カメラを利用したデータの通信における、通信精度を向上できるようにした情報処理装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
所定の点滅パターンで光を発することにより信号を送信する送信装置と、その送信装置により発せられる光の点滅パターンを撮像し、撮像された点滅パターンに基づいて、データ通信を実現する送受信システムが存在する。
【0003】
例えば、撮像装置として、ID(Identifier)認識カメラが、画像を撮像すると共に、上述したような送信装置として機能する光ビーコンにより発せられる信号に基づいてIDデータを送受信可能なシステムがある(例えば、特許文献1参照)。
【0004】
【特許文献1】
特願2001−325356
【0005】
【発明が解決しようとする課題】
しかしながら、上述のシステムにおいては、外乱光による干渉が生じると、ID認識カメラは、光の点滅パターンを正しく読み取ることができず、正しくデータを受信することができない状態となってしまうため、結果としてエラーが生じてしまうという課題があった。
【0006】
また、上述のシステムにおいては、送信データは点滅パターン、すなわち時間方向の光のパターンで表現されることになるために、各画素毎にデータが受信されてデコードされると、データ受信中に送信装置と受信装置間の相対的な位置関係に変化が生じた場合、データの受信途中で、光が受光される画素が、隣接位置に存在する画素へと移動してしまうので、画素単位で受光されるパターンが変化してしまい、正しくデータを受信できないという課題があった。
【0007】
また、このような現象は、送信データのデータ長が短ければ、その影響は小さいが、データ長が長くなるにしたがって影響が大きくなるため、大きなデータほどエラーが生じやすくなると言う課題があった。
【0008】
さらに、点滅パターンにより表現される信号の受光面積が大きい場合、その影響は小さいが、光ビーコンで光を発光させる部分の面積が小さかったり、また、光ビーコンとID認識カメラとの距離が離れてしまうと、相対的に受光面積が小さくなってしまうため、結果的に、その影響が大きくなり、データの受信途中でデータが途切れやすくなってしまうという課題があった。
【0009】
これらの課題に対応するため、受信したデータの位置の算出は、同じデータを受信した複数の画素の座標から重心を求めたり、外接四角形を求めたりという手法を用いることにより、受光される画素の位置の変化に対応できるようにしてきたが、これらの手法では、データを途中まで受信した画素があったとき、その途中まで信号を受信していた画素の情報は使用できない状態になってしまうため、算出される位置の精度の向上は困難なものであった。
【0010】
本発明はこのような状況に鑑みてなされたものであり、データ伝送効率の高い符号化としてマンチェスタ符号化を採用し、さらに環境光などの外乱により生じてしまうエラーを検出すると共に、受信データのデコードを各画素毎に行うときに、周辺の画素の情報をも用いることで、データ受信中に送信装置と受信装置の間で相対的に位置関係の変化が生じても、通信状態を安定させ、データを一部分でも受信した画素の情報をも用いるようにすることで、より高精度なデータの通信を可能にするものである。
【0011】
【課題を解決するための手段】
本発明の情報処理装置は、所定の点滅パターンで発光する送信装置により発光される光の受光量、または、受光量の微分値からなる信号を受光する受光手段と、受光手段により受光された光の信号のうち、注目画素、および、注目画素の周辺の画素の複数の信号を記憶する記憶手段と、記憶手段に記憶された、複数の信号のうちのいずれか1の信号を、注目画素において受光された信号としてデコードするデコード手段と、注目画素、または、注目画素の周辺の画素の全体で送信装置により発光された光の信号を受光した受光時間に対する、注目画素、または、注目画素の周辺の画素のうちの、送信装置により発光された光の信号を一部でも受光した画素の、信号を受光していた受光時間の重みを算出する重み算出手段と、重み算出手段により算出された重みを用いて、信号を受光したものとみなされた画素の位置を計測する位置計測手段とを備えることを特徴とする。
【0014】
前記位置計測手段には、フレーム毎の注目画素、および、注目画素の周辺の画素の、それぞれの画素で受光する受光量の変化した回数をカウントすることによって、信号を受光したものとみなされた画素の位置を計測させるようにすることができる。
【0015】
本発明の情報処理方法は、所定の点滅パターンで発光する送信装置により発光される光の受光量、または、受光量の微分値からなる信号のうち、注目画素、および、注目画素の周辺の画素の複数の信号のうちのいずれか1の信号を、注目画素において受光された信号としてデコードするデコードステップと、注目画素、または、注目画素の周辺の画素の全体で送信装置により発光された光の信号を受光した受光時間に対する、注目画素、または、注目画素の周辺の画素のうちの、送信装置により発光された光の信号を一部でも受光した画素の、信号を受光していた受光時間の重みを算出する重み算出ステップと、重み算出ステップの処理により算出された重みを用いて、信号を受光したものとみなされた画素の位置を計測する位置計測ステップとを含むことを特徴とする。
【0016】
本発明の記録媒体のプログラムは、所定の点滅パターンで発光する送信装置により発光される光の受光量、または、受光量の微分値からなる信号のうち、注目画素、および、注目画素の周辺の画素の複数の信号のうちのいずれか1の信号を、注目画素において受光された信号としてデコードするデコードステップと、注目画素、または、注目画素の周辺の画素の全体で送信装置により発光された光の信号を受光した受光時間に対する、注目画素、または、注目画素の周辺の画素のうちの、送信装置により発光された光の信号を一部でも受光した画素の、信号を受光していた受光時間の重みを算出する重み算出ステップと、重み算出ステップの処理により算出された重みを用いて、信号を受光したものとみなされた画素の位置を計測する位置計測ステップとを含むことを特徴とする。
【0017】
本発明のプログラムは、所定の点滅パターンで発光する送信装置により発光される光の受光量、または、受光量の微分値からなる信号のうち、注目画素、および、注目画素の周辺の画素の複数の信号のうちのいずれか1の信号を、注目画素において受光された信号としてデコードするデコードステップと、注目画素、または、注目画素の周辺の画素の全体で送信装置により発光された光の信号を受光した受光時間に対する、注目画素、または、注目画素の周辺の画素のうちの、送信装置により発光された光の信号を一部でも受光した画素の、信号を受光していた受光時間の重みを算出する重み算出ステップと、重み算出ステップの処理により算出された重みを用いて、信号を受光したものとみなされた画素の位置を計測する位置計測ステップとをコンピュータに実行させることを特徴とするプログラム。
【0018】
本発明の情報処理装置および方法、並びにプログラムにおいては、所定の点滅パターンで発光する送信装置により発光される光の受光量、または、受光量の微分値からなる信号が受光され、受光された光の信号のうち、注目画素、および、注目画素の周辺の画素の複数の信号が記憶され、記憶された、複数の信号のうちのいずれか1の信号が、注目画素において受光された信号としてデコードされ、注目画素、または、注目画素の周辺の画素の全体で送信装置により発光された光の信号を受光した受光時間に対する、注目画素、または、注目画素の周辺の画素のうちの、送信装置により発光された光の信号を一部でも受光した画素の、信号を受光していた受光時間の重みが算出され、算出された重みを用いて、信号を受光したものとみなされた画素の位置が計測される。
【0019】
本発明の情報処理装置は、独立した装置であっても良いし、情報処理を行うブロックであっても良い。
【0020】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0021】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【0022】
即ち、本発明の情報処理装置は、所定の点滅パターンで発光する送信装置により発光される光の受光量、または、受光量の微分値からなる信号を受光する受光手段(例えば、図4の受光部141)と、受光手段により受光された光の信号のうち、注目画素、および、注目画素の周辺の画素の複数の信号を記憶する記憶手段(例えば、図4の記憶部161)と、記憶手段に記憶された、複数の信号のうちのいずれか1の信号を、注目画素において受光された信号としてデコードするデコード手段(例えば、図25のIDデコード処理回路211)と、注目画素、または、注目画素の周辺の画素の全体で送信装置により発光された光の信号を受光した受光時間に対する、注目画素、または、注目画素の周辺の画素のうちの、送信装置により発光された光の信号を一部でも受光した画素の、信号を受光していた受光時間の重みを算出する重み算出ステップ(例えば、図25の重み計算部281)と、重み算出ステップの処理により算出された重みを用いて、信号を受光したものとみなされた画素の位置を計測する位置計測ステップ(例えば、図25の ID 重心計算回路282)とを備えることを特徴とする。
【0023】
また、本発明の情報処理方法は、所定の点滅パターンで発光する送信装置により発光される光の受光量、または、受光量の微分値からなる信号のうち、注目画素、および、注目画素の周辺の画素の複数の信号のうちのいずれか1の信号を、注目画素において受光された信号としてデコードするデコードステップ(例えば、図27のフローチャートのステップS76の処理)と、注目画素、または、注目画素の周辺の画素の全体で送信装置により発光された光の信号を受光した受光時間に対する、注目画素、または、注目画素の周辺の画素のうちの、送信装置により発光された光の信号を一部でも受光した画素の、信号を受光していた受光時間の重みを算出する重み算出ステップ(例えば、図30のフローチャートのステップS101の処理)と、重み算出ステップの処理により算出された重みを用いて、信号を受光したものとみなされた画素の位置を計測する位置計測ステップ(例えば、図30のフローチャートのステップS103の処理)とを含むことを特徴とする。
【0024】
図1は、本発明に係る情報通信システムの一実施の形態の構成を示すブロック図である。
【0025】
図1の情報通信システムは、PC(Personal Computer)サーバ1、コントロールユニット2、情報ユニット3−1乃至3−n、および携帯端末4から構成される。
【0026】
PCサーバ1は、コントロールユニット2に対して、情報ユニット3−1乃至3−nのそれぞれに対応する場所での、データを出力させるように指令を出す。
【0027】
コントロールユニット2は、いわゆる切替制御装置のような機能を果たすものであり、PCサーバ1からの指令に基づいて、各情報ユニット3−1乃至3−nのいずれかを制御信号により指定して、所定のデータを出力し、送信させる。情報ユニット3−1乃至3−nは、板状の平面上に2次元、または、1次元に複数の光ビーコン11−1乃至11−6が配列されたものであり、データを送信する各種の地点に設置される。また、情報ユニット3−1乃至3−nは、コントロールユニット2からの制御信号に基づいて、光ビーコン11−1乃至11−6のそれぞれについての点滅パターンを替えて発光することにより、光で携帯端末4にデータを送信する。より詳細には、各光ビーコン11−1乃至11−6は、それぞれの点滅パターンにより、自らを識別するID(Identifier)データを送信しているが、IDデータには様々なデータを含めて送信することができるので、この機能を利用することにより、案内用の音声ファイルを送信している。
【0028】
光ビーコン11−1乃至11−6は、所定の発光パターンで光を発することによりデータを送信する。このデータは、IDデータと呼ばれるものであり、光ビーコン11−1乃至11−6をそれぞれ識別するものであるが、転送可能なデータ量に余裕があるため、その他のデータを含めて送信することも可能である。例えば、IDデータに含められるデータとしては、コンテンツデータ(画像データ、音声データ、または、テキストデータなど)、リンク先データ(URL(Uniform Resource Locator)、アドレス、ホストネームなどのデータ)、および、自らが所属するグループを識別するグループ識別データなどがあるが、これらに限るものではなく、電子データとして管理できるデータであれば含めて送信することが可能である。このように、光ビーコン11−1乃至11−6は、その発光パターンを変化させることによりIDデータのみならず、様々なデータを送信することができる。
【0029】
ここで、自らが所属するグループを識別するグループ識別データについて説明する。例えば、図1においては、情報ユニット3−1乃至3−nのそれぞれを構成する複数の光ビーコン11の群はグループと称され、これらのグループを識別するデータがグループ識別データとなる。したがって、今の場合、光ビーコン11−1乃至11−6は、同一の情報ユニット3−1の同一のグループに属しているので、同一のグループ識別データを発する。
【0030】
尚、情報ユニット3−1乃至3−n、および、光ビーコン11−1乃至11−6は、特に区別する必要がない場合、単に情報ユニット3、および、光ビーコン11と称する。また、今の場合、図1には、情報ユニット3が1個に対して光ビーコン11が6個ある例について示されているが、データの送信に必要な点滅パターンが作り出せる個数であればよく、少なくとも1個以上であれば個数はいくつであっても構わない。
【0031】
携帯端末4は、送信されてくるデータを受けようとするユーザにより所持されるものであり、情報ユニット3より光ビーコン11の点滅パターンにより光で送信されてくるデータをID認識カメラ21で撮像することにより認識して、所定の処理を実行する。
【0032】
尚、ID認識カメラ21、および、光ビーコン11については、詳細を後述する。
【0033】
図2は、PCサーバ1の構成を示すブロック図である。CPU(Central Processing Unit)31は、ROM(Read Only Memory)32、または記憶部38に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)33には、CPU31が実行するプログラムやデータなどが適宜記憶される。これらのCPU31、ROM32、およびRAM33は、バス34により相互に接続されている。
【0034】
CPU31には、バス34を介して入出力インタフェース35が接続されている。入出力インタフェース35には、キーボード、マウス、マイクロホンなどよりなる入力部36、ディスプレイ、スピーカなどよりなる出力部37が接続されている。CPU31は、入力部36から入力される指令に対応して各種の処理を実行する。そして、CPU31は、処理の結果得られた画像や音声等を出力部37に出力する。
【0035】
入出力インタフェース35に接続されている記憶部38は、例えばハードディスクなどで構成され、CPU31が実行するプログラムや各種のデータを記憶する。通信部39は、図示せぬネットワークを介して通信機能を有する装置と音声ファイルなどの各種のデータの授受を行う。
【0036】
入出力インタフェース35に接続されているドライブ40は、磁気ディスク51、光ディスク52、光磁気ディスク53、或いは半導体メモリ54などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部38に転送され、記憶される。
【0037】
次に、図3を参照して、携帯端末4の構成について説明する。
【0038】
携帯端末4の構成は、基本的に、図2のPCサーバ1と同様であり、携帯端末4のCPU71、ROM72、RAM73、バス74、入出力インタフェース75、入力部76、出力部77、記憶部78、ドライブ79、磁気ディスク91、光ディスク92、光磁気ディスク93、および、半導体メモリ94は、PCサーバ1のCPU31、ROM32、RAM33、バス34、入出力インタフェース35、入力部36、出力部37、記憶部38、ドライブ40、磁気ディスク51、光ディスク52、光磁気ディスク53、および、半導体メモリ54に対応するものである。但し、携帯端末4は、全てにおいて携帯性を重視した構成となっているため、処理速度や記憶部78の記憶容量などは、PCサーバ1に比べて小さいものである。
【0039】
また、入力部76には、ID(Identifier)認識カメラ21が接続されており、撮像された撮像画像と、光ビーコン11が撮像された際に、その点滅パターンにより取得されるIDデータが入力される。
【0040】
ここで、図4を参照して、ID認識カメラ21の詳細な構成について説明する。受光部141は、撮像される対象となる撮像領域の光を電気信号に光電変換した後、演算部142に出力する。また、受光部141の受光素子151は、CMOS(Complementary Metal-Oxide Semiconductor)素子からなり、従来のCCD(Charge Coupled Device)素子よりも高速に動作することができる。より詳細には、受光素子151が、撮像される対象となる撮像領域の光を光電変換し、増幅器152に出力する。増幅器152は、受光素子151より入力される光電変換された電気信号を増幅して、演算部142、および、画像処理部143に出力する。
【0041】
演算部142の記憶部161は、受光部141より入力された増幅されている電気信号を撮像された画像の各画素値として、フレーム単位で、後述する比較部162における演算処理に必要なフレーム数だけ記憶し、適宜比較部162に出力する。比較部162は、記憶部161に記憶された電気信号の値に基づいて、演算処理を行い、演算結果を所定のリファレンス値(=基準信号レベル)と比較して、比較結果を出力部163に出力する。出力部163は、比較結果に基づいてセンサ出力信号を生成してIDデコード処理部144に出力する。
【0042】
画像処理部143は、受光部141より供給された撮像画像を入力部76(図3)に出力する。
【0043】
IDデコード処理部144は、センサ出力信号をデコード処理し、IDデータと位置データを生成して入力部76(図3)に出力する。
【0044】
次に、図5を参照して、比較部162の構成について説明する。
【0045】
比較部162の正フレーム間差分計算部181、および、負フレーム間差分計算部183は、光の変化を検出するために、今撮像されているフレームを基準として、2Mフレーム前までの、2Mフレーム間の差分値を求め、それぞれコンパレータ182,184に出力する。コンパレータ182,184は、入力された差分値を、それぞれ所定の閾値Ref(+),Ref(-)と比較し、比較結果に対応して1、または、0の値を出力部に供給する。より具体的には、正フレーム間差分計算部181は、差分値が閾値Ref(+)より大きいとき1を、それ以外のとき0を出力し、負フレーム間差分計算部183は、差分値が閾値Ref(-)より小さいとき1を、それ以外のとき0を出力する。尚、Mは、正の整数を示す。また、説明の便宜上、以下の説明においては、Ref(+)=−Ref(-)であるものとするが、これに限るものではない。
【0046】
より詳細には、正フレーム間差分計算部181は正の2Mフレーム間差分を以下の式(1)で示されるように計算して、コンパレータ182の端子182aに出力する。
【0047】
【数1】

Figure 0004269220
Figure 0004269220
【0048】
尚、式(1)におけるf(n)は、第nフレームにおける所定の画素位置の画素値を示しており、式(1)の第1項は、第nフレームから第(n−M−1)フレームの画素値のサメーションを示しており、第2項は、第(n−M)フレームから第(n−2M−1)フレームの画素値のサメーションを示している。すなわち、正フレーム間差分計算部181は、式(1)を演算することにより、時系列的に、今のフレームに近い新しい画素値の和から、今のフレームに遠い古い画素値の和を引いた値を正フレーム間差分YP(M,n)として求める。
【0049】
また、同様にして、負フレーム間差分計算部183は正の2Mフレーム間差分を以下の式(2)で示されるように計算して、コンパレータ184の端子184aに出力する。
【0050】
【数2】
Figure 0004269220
Figure 0004269220
【0051】
尚、式(2)の第1項は、第(n−M)フレームから第(n−2M−1)フレームの画素値のサメーションを、第2項は、第nフレームから第(n−M−1)フレームの画素値のサメーションをそれぞれ示している。すなわち、負フレーム間差分計算部183は、式(2)を演算することにより、時系列的に、今のフレームに遠い古い画素値の和から今のフレームに近い新しい画素値の和を引いた値を負フレーム間差分YM(M,n)として求める。
【0052】
さらに、コンパレータ182は、端子182aに入力されてくる正フレーム間差分値YP(M,n)と、端子182bに入力されるリファレンス値Ref(+)(リファレンス値Ref(+)は、任意に設定される値である)とを比較し、正フレーム間差分値YP(M,n)がリファレンス値Ref(+)よりも大きい場合、第nフレームにおける比較結果としてCP(n)=1を後段に出力し、逆に、正フレーム間差分値YP(M,n)がリファレンス値Ref(+)よりも小さい場合、第nフレームにおける比較結果としてCP(n)=0を後段に出力する。
【0053】
同様に、コンパレータ184は、端子184aに入力されてくる負フレーム間差分値YM(M,n)と、端子184bに入力されるリファレンス値Ref(-)(リファレンス値Ref(-)は、任意に設定される値)とを比較し、負フレーム間差分値YM(M,n)がリファレンス値Ref(-)よりも小さい場合、第nフレームにおける比較結果としてCM(n)=1を後段に出力し、逆に、負フレーム間差分値YM(M,n)がリファレンス値Ref(-)よりも大きい場合、第nフレームにおける比較結果としてCP(n)=0を後段に出力する。
【0054】
演算部142は、以上のような演算により信号を、光ビーコン11の発光により送信されてくる信号を検出する。尚、演算部142による信号の検出方法については、詳細を後述する。
【0055】
次に、図6を参照して、IDデコード処理部144の詳細な構成について説明する。IDデコード部201のIDデコード回路211は、IC(Integrated Circuit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などのデバイスにより構成されており、イメージセンサ131から入力されるセンサ出力信号より各画素のIDデータを復元する。このIDデコード回路211は、処理能力が十分であれば、マイクロプロセッサやDSP(Digital Signal Processor)によってソフトウェアで構成するようにしても良い。
【0056】
フラグレジスタ212は、IDデータをデコードするために必要なフラグ類を記憶するためのレジスタであり、データレジスタ213は、デコード途中またはデコードを完了したIDを記憶しておくためのレジスタである。
【0057】
尚、図6においては、IDデコード部201は、1個のみが示されているが、処理速度の要求により、例えば、各画素毎に設けるようにしてもよいし、垂直方向、または、水平方向のライン毎に設けるようにしても良い。
【0058】
タイミング制御部202は、IDデコード処理部144の全体の動作に必要なタイミングを制御するタイミング制御信号を出力する。より具体的には、タイミング制御部202は、IDデコード回路211とセンサ出力信号のタイミングの同期をとり、所望のセンサ出力信号に対して、対応するフレームメモリ203のフラグデータをフラグレジスタ212に、IDデータをデータレジスタ213に、それぞれロードして、IDデコード処理を進めるためのタイミング制御信号を生成し、IDデコード部201(のIDデコード回路211、フラグレジスタ212、および、データレジスタ213)に供給する。また、このとき、タイミング制御部202は、フレームメモリ203へのアドレス信号、リードライトなどのタイミング制御信号を生成し供給する。さらに、タイミング制御部202は、重心計算部204のIDレジスタ221、および、ID重心計算回路222、並びに、ID座標格納メモリ205のタイミング制御を行うタイミング制御信号を生成して供給する。
【0059】
IDデコード処理部144における、IDデコード部201のエラー検出部210は、演算部142より供給されてきたセンサ出力信号、すなわち、比較部162のコンパレータ182,184より供給された、正フレーム間差分値YP(M,n)、および、負フレーム間差分値YM(M,n)に基づいて、ID認識カメラ21で撮像されて、取得されたIDデータのエラーの有無を判定し、判定結果をIDデコード回路211に供給する。IDでコード回路211は、エラー検出部210より供給された判定結果に基づいて、エラーが検出されていない場合、入力されたセンサ出力信号をデコードし、エラーが検出された場合、デコードを停止する。
【0060】
フレームメモリ203は、受光素子151、または演算部142毎に演算されたセンサ出力信号がデコードされたIDデータとフラグデータを格納するメモリであり、イメージセンサ131が1画素につき1個の演算部142をもつ場合には、センサの画像サイズであるM画素×N画素と同じサイズとなり、データ幅はフラグレジスタ212とデータレジスタ213のビット幅の和で構成される。図6においては、各画素の位置に対応する座標が、I軸とJ軸により示されており、それぞれの座標位置にIDデータとフラグデータが格納される。
【0061】
重心計算部204は、同一のIDデータを持つ撮像画像上の画素の重心位置の座標を求め、IDデータに、光ビーコン11の検出位置としての位置データ(=光ビーコン11の撮像画像上の位置データ)を付して出力する。より詳細には、重心計算部204のIDレジスタ221は、タイミング制御部202より入力される所定のIDデータがデコード部201よりデコードされたことを示すタイミング制御信号によりフレームメモリ203に今記憶されたIDデータを読出し、ID重心計算回路222に出力する。ID重心計算回路222は、入力されたIDデータ毎に、対応する画素の座標位置のI座標とJ座標、並びにデータの個数を順次加算してID座標格納メモリ205に記憶させる。また、ID重心計算回路222は、フレームメモリ203に1フレーム分のデータが格納されたとき、ID座標格納メモリ205よりID毎にI座標の和とJ座標の和を、データの個数で割ることにより重心位置の座標を求めて、IDデータと共に出力する。
【0062】
次に、図7を参照して、エラー検出部210の構成について説明する。
【0063】
エラー検出部210のメモリ231は、演算部142より供給されたセンサ出力信号を所定のフレーム間隔で、複数のフレームについて各画素毎に記憶する。より詳細には、例えば、後述する光ビーコンの点滅周波数のN倍の周波数で画像を撮像する場合、Nフレーム間隔で、例えば、mフレーム分記憶する場合、時系列的に順次m個ずつセンサ出力信号を記憶し、さらに、新しいセンサ出力信号を記憶するとき、記憶しているm個のセンサ出力信号のうち、最も古いものを削除して新しいセンサ出力信号を記憶する。結果として、メモリ231は、常にm個の最新のセンサ出力信号を記憶する。
【0064】
比較部232は、メモリ231に記憶されているm個のセンサ出力信号を用いて比較処理を実行して、比較結果を判定部233に出力する。
【0065】
判定部233は、比較部232より供給された比較結果に基づいて、エラーの有無を判定し、判定結果を出力する。尚、比較部232の比較方法、並びに、判定部233の判定方法については、詳細を後述する。
【0066】
次に、図8を参照して、光ビーコン11の構成について説明する。図7の光ビーコン11は、図示せぬネットワークを介して他の装置と通信することによりデータを可変とすることが可能である。ここでネットワークとは、有線・無線の通信回線、例えば電話回線、ISDN、RS-232C、RS-422、Ethernet(R)(10base-T,100base-T)、USB(Universal Serial Bus)、IEEE(Institute of Electrical and Electronic Engineers)1394、IEEE802.11a、IEEE802.11b、BlueToothなどの通信手段により他の装置とデータ通信ができる環境をいう。また、データ送受信部251は、この通信手段に対応するデータ通信用IC及びドライバから構成されており、ネットワークを介して受信した光ビーコン11の送信データを、マンチェスタ符号化部252に出力する。マンチェスタ符号化部252は、データ送受信部251より供給された送信データをマンチェスタ符号化して点滅制御部253に出力する。点滅制御部253は、入力されたマンチェスタ符号に変換されている送信データに応じた点滅パターンを発生し、発光部254を発光させる。
【0067】
ここで、マンチェスタ符号化について説明する。マンチェスタ符号化とは、図9で示されるように、デジタル信号化された送信データについて、0の信号を10に、1の信号を01にそれぞれ表現する符号化方法である。ここで、1は発光部254をオンにすることを示し、0は発光部254をオフにすることを示す。
【0068】
マンチェスタ符号化された送信データには、「スタートコード」が変換されたデータの前に付されており、送信データの開始位置を確認することができるようになっている。スタートコードは、図10で示されるように、例えば、「00001」といったものである。尚、図10においては、図中左側がLSB(Least Significant Bit)であり、右側がMSB(Most Significant Bit)を示している。
【0069】
例えば、「10010010」という8ビットの送信データをマンチェスタ符号化する場合、すなわち、送信データとして73を送信したい場合、送信データは、2進数の1/0がそれぞれON/OFFを表しているとき、発光部254は、「OFF-ON→ON-OFF→ON-OFF→OFF-ON→ON-OFF→ON-OFF→OFF-ON→ON-OFF」となるように点滅制御部253により制御されることになる。
【0070】
このようにマンチェスタ符号化することにより、1、または、0をとる信号は3個以上連続することが無く、各送信区間は必ず点滅することになり、長く発光部254がOFFの状態となったままになったり、発光部254がONの状態となったままになるようなことが防止され、環境光との判別も比較的容易となるので、安定した通信が可能となる。
【0071】
さらに、送信データは、ネットワークを介して供給されるものに限らず、例えば、図11で示されるように、データ送受信部251に代えて送信データ保存用メモリ291を設けて、予め送信するコマンドを記憶させるようにしてもよい。
【0072】
次に、ID認識カメラ21の動作について説明する。
【0073】
受光部141の受光素子151は、光を光電変換し、変換した電気信号を増幅部152に出力する。増幅部152は、電気信号を増幅して演算部142、および、画像処理部143に出力する。演算部142の記憶部161は、受光部141より入力された電気信号を順次記憶して、2Mフレーム分の電気信号を記憶し、いっぱいになると、最も古いフレームの電気信号を消去して、最新のフレームの電気信号を記憶する処理を繰り返して、常に最新の2Mフレーム分の電気信号を記憶しており、その2Mフレーム分の電気信号を比較部162に出力する。
【0074】
比較部162は、記憶部161に記憶されている時間的に連続する2Mフレーム分の電気信号を輝度信号として上述した式(1),式(2)のような演算処理を実行し、出力部163は、演算結果をセンサ出力信号としてIDデコード処理部144に出力する。尚、比較部162の動作については、詳細を後述する。
【0075】
画像処理部143は、受光部141より供給された画像信号を処理可能な形式に変換し、画像データとして出力する。
【0076】
次に、IDデコード処理部144の動作について説明する。
【0077】
IDデコード処理部201のエラー検出部210は、演算部142より供給されたセンサ出力信号のエラーの有無を判定し、判定結果をIDデコード回路211に出力する。
【0078】
IDデコード回路211は、エラー検出部210からのエラー判定結果に基づいて、例えば、エラーが検出された場合、以降の処理を実行せず、次のエラー判定結果を待つ。そして、IDデコード回路211は、エラーがないというエラー判定結果が送られた場合、タイミング制御部202からのセンサ出力信号のタイミングの同期を図るためのタイミング制御信号に基づいて、イメージセンサ131から入力されるセンサ出力信号より各画素のIDデータを復元する。この際、IDデコード回路211は、タイミング制御信号に応じて、フラグレジスタ212を制御して、フレームメモリ203にロードされたフラグデータを用いて、センサ出力信号からIDデータをデコードし、デコード途中またはデコードを完了したIDをデータレジスタ213に記憶させる。尚、エラー判定処理については、詳細を後述する。
【0079】
さらに、フレームメモリ203は、これらのデコード処理がなされたフラグデータとIDデータを対応する座標位置に格納する。
【0080】
重心計算部204のIDレジスタ221は、タイミング制御部202より入力される所定のIDデータがデコード部201よりデコードされたことを示すタイミング制御信号により、フレームメモリ203に今記憶されたIDデータの情報をID重心計算回路222に読み出させる。
【0081】
ID重心計算回路222は、読み出したIDデータに対応する画素の座標位置のI座標とJ座標を順次加算して、これに画素の個数の情報を付してID座標格納メモリ205に記憶させ、この処理を繰り返す。
【0082】
そして、フレームメモリ203に1フレーム分のデータが格納されたとき、ID重心計算回路222は、ID座標格納メモリ205よりID毎にI座標の和とJ座標の和を、データの個数で割ることにより重心位置の座標を位置データとして求めて、対応するIDデータと共に出力する。
【0083】
以上の動作により、例えば、図12で示すように、2個の光ビーコン11−1,11−2が、点滅しながら発光してデータを送信する場合、ID認識カメラ21には、図12上部に示すような現実空間上の光ビーコン11−1,11−2の物理的な位置に応じた、撮像画像上の位置の画素で光の信号を受光する。例えば、光ビーコン11−1から発せられた光が座標位置(10,10)の受光素子151で受光されるものとし、光ビーコン11−2から発せられた光が座標位置(90,90)の受光素子151で受光されるものとする。このとき、各受光部141の座標位置(10,10)と(90,90)の受光素子151では、それぞれが光ビーコン11−1と11−2の点滅パターンにより受光強度(明るさ)の時間的変化として信号を受信することができる。今の場合、座標(10,10)の位置データに対応する画素は、IDデータとして「321」が、座標(90,90)の位置データに対応する画素は、IDデータとして105がデコード結果として求められている。
【0084】
結果として、この受光強度の変化を上述の式(1)などにより2値化することにより1/0のビット列からなるIDデータを取得する事ができる。
【0085】
次に、演算部142によるフレーム間差分を用いた信号検出方法について説明する。
【0086】
光ビーコン11が発光することにより送信されてくる信号を検出する最も単純な方法は、受光量をある決められた閾値と比較することで2値化して、受光量を1,0のデジタル信号に変換する方法である。この方法は、最もシンプルで実装も容易であるが、周囲の明るさが変化すると、固定された閾値と比較して2値化する方法では、安定したデータ伝送は望めない。
【0087】
そこで、本発明では、光の変化を検出するのに、受光量を所定のレートで、かつ、フレーム単位で記憶部161が記憶して(サンプリングして)、時間方向に連続する複数のフレーム間の受光量の比較を行うことで、信号を安定して検出できるようにしている。
【0088】
例えば、時間が経過するにしたがって増加するフレーム番号をn、サンプリングされる各フレーム間の各画素毎の受光量をf(n)とすると、1画素の光の変化量は、Y=f(n)-f(n-1)で表され、Y>0のときに光が暗→明に、Y<0のときに光が明→暗になったことを検出したことになる。
【0089】
上述したY=f(n)-f(n-1)を2フレーム間差分と定義して、さらに拡張して2Mフレーム間差分を定義する。ここでMは正の整数である。具体的には、M=1の場合、Y=f(n)-f(n-1)、M=2の場合、Y=f(n)+f(n-1)-f(n-2)-f(n-3)、M=3の場合、Y=f(n)+f(n-1)+f(n-2)-f(n-3)-f(n-4)-f(n-5)となる。すなわち、nフレーム目の2Mフレーム間差分は、上述した式(1)で定義されるYP(M,n)、および、式(2)で定義されるYM(M,n)により求められる。
【0090】
上述の式(1),式(2)を用いてフレーム間差分を求める場合、Mが大きいほど、光の検出感度(式(1),式(2)の演算結果の変化の鋭さ)は高くなる。しかしながら、その一方、Mが大きくなると受光側で、単位時間あたりで記憶するフレーム数、すなわち、サンプリング周波数を固定とすると、光の点滅周波数を落とさなければ、設定されたフレーム数だけ記憶することができず、結果として、データの転送効率が悪くなる。
【0091】
すなわち、図13で示されるように、横軸を時間軸、サンプリング時間(フレーム間の間隔)をΔtとして、光ビーコン11の点滅が実線の波形のようにOFFの状態からON、その後にOFFとなる場合、受光部141が各サンプリング時間に受光する受光量を縦軸に表すと、図13の1点鎖線で示されるような波形となる。ここで、受光量が変化するサンプリング区間(時刻t3乃至t4および時刻t8乃至t9)では、光ビーコン11がONにされるときの受光量に比べて受光量が小さいものの、OFFの状態よりも大きくなる。
【0092】
光ビーコン11がONにされると、受光部141の受光量が図13の実線で示されるように、サンプリング区間が時刻t4乃至t8のとき、受光量は光ビーコン11がONとなる(発光している)ときの受光量に変化し、サンプリング区間が時刻t9乃至t10のとき、受光量は光ビーコン11がOFFとなる(発光していない)ときの受光量に変化する。
【0093】
したがって、正の2フレーム間差分であるYP(1,n)(=(f(n)-f(n-1))で光の変化を検出した場合、2フレーム間差分(正フレーム間差分YP(1,n))は、図13の2点差線で示すように変化し、正の2フレーム間差分YP(1,n)は、光ビーコン11がONの状態のときの1サンプリング区間の受光量に対して、必ず小さい値をとることになる。すなわち、時刻t3乃至t5、および、時刻t8乃至t10において、正の2フレーム間差分YP(1,n)は、光ビーコン11がONの状態のときの1サンプリング区間の受光量に対して、必ず小さい値となっている。
【0094】
これに対して、正の4フレーム間差分YP(2,n)(=f(n)+f(n-1)-f(n-2)-f(n-3))で光の変化を検出した場合、図13の3点差線で示すように、時刻t5乃至t6および時刻t9乃至t10のとき、光の変化が検出され、正の4フレーム間差分YP(2,n)は、最大レベルに達して、光ビーコン11がONの場合の受光量の絶対値よりも大きな値をとることになる。したがって、正の4フレーム間差分YP(2,n) (=f(n)+f(n-1)-f(n-2)-f(n-3))は、正の2フレーム間差分YP(1,n)(=f(n)+f(n-1))にと比較して、より感度の高い信号を検出することができる。
【0095】
もちろん、さらに多くのフレームを用いたフレーム間差分の演算を用いるようにしてもよい(例えば6フレーム間差分など)。しかしながら、差分をとるフレーム数を増やすほど、点滅周波数を遅くする必要が生じる。
【0096】
また、安定して光の変化を検出するためには、受光部141のフレームレートは光ビーコン11の点滅周波数のN倍以上の関係になければならない。ここでNは、光の変化の検出方法によって決まる値である。2フレーム間差分では、N>2であり、4フレーム間差分ではN>3である。すなわち、2Mフレーム間差分(ここでMは正の整数)の場合、N>M+1となる。ここでNは小さい値の方が、同じフレームレートでもデータ転送レートを大きくすることができるので、N=M+1とすることにより最適化されることになる。尚、以降においても、実線、1点鎖線、2点鎖線、および、3点鎖線は、それぞれ発光状態、受光量、2フレーム間差分、4フレーム間差分を示すものとする。
【0097】
ここで、M=1、すなわち、2フレーム間差分の場合にN=2以上でなければならないのは、原信号の周波数の2倍以上の周波数でサンプリングしないと、サンプリング定理からも明らかなように、サンプリング結果から原信号を復元することはできないからである。
【0098】
例えば、図14において実線で示されるように、光ビーコン11のON、または、OFFが変化する場合、図14中の時刻t2乃至t6の区間においては、N=1の関係でサンプリングした場合、時刻t6乃至t13の区間においては、N=2の関係でサンプリングした場合のそれぞれの受光量と正の2フレーム間差分を示している。図14の2点鎖線で示されている変化から分かるように(特に、時刻t3乃至t6(図中の範囲Aで示される部分)において)、N=1の区間では正の2フレーム間差分YP(1,n)(=f(n)-f(n-1))は、受光量(図14中の1点鎖線で示されている変化)と比べて小さくなってしまい(点滅パターンとサンプリング周波数の位相によっては光の変化があってもYP(1,n)が0になる)、安定した検出が困難となっているのがわかる。しかしながら、N=2の区間(図中の範囲Bで示される部分)では、Nフレーム毎(N=2)にYP(1,n)の値が、受光量に比べて大きな値を取り、安定した検出が可能であることがわかる。
【0099】
次に、M=2すなわち4フレーム間差分の場合、N=3が最適であることを説明する。図15は、M=2、N=2の場合の4フレーム間差分の値であるときの信号のレベルの変化を示している。受光部のサンプリングレートの2倍の周波数で光源を点滅させているので、正の4フレーム間差分の値が正負で最大になるときでも、演算する4フレームに光ビーコン11の点滅の立上がりと立下りが含まれてしまうため、受光信号が正負で打ち消してまい、正の4フレーム間差分値は、受光量に比べて大きくならないことが分かる(1サンプリング時間の受光量以下になってしまう)。例えば、時刻t6乃至t7においては、4フレーム間差分(図中の矢印の4フレーム分の範囲)が負の最大値をとる区間の1つであるが、ここで4フレーム間差分は、YP(2,n)=f(t6-t7)+f(t6-t5)-f(t5-t4)-f(t4-t3)となり、f(t4-t3)とf(t6-t5)が共に正の値をとるため、打ち消しあい、YP(2,n)は小さくなってしまう。
【0100】
しかしながら、図16で示されるように、M=4,N=3の場合には、正の4フレーム間差分値が正負でそれぞれ最大値をとるとき(t5-t4,t8-t7,t11-t10,t14-t13)、演算される4フレーム間に光ビーコン11による点滅の立上がりと立下りの両方が含まれることはなく、受光信号が正負で打ち消してしまうことがないので、4フレーム間差分値は、大きな信号を得ることができる。そして、Nサンプリング毎に光ビーコン11の点滅パターンの立上がりエッジ周辺には正の最大値が、立下りエッジ周辺には負の最大値をとることがわかる。したがって、Nフレーム毎の正の4フレーム間差分値YPを用いて、マンチェスタ符号化された原信号を復元できることがわかる。
【0101】
従って、最適なNとMの組み合わせは、Mの値が大きいほど、2Mフレーム間差分値は、高い感度で変化するが、Mを大きくすると(演算に使用するフレーム数を多くすると)N>M+1の関係からNも大きくしなければならず(サンプリング数も多くしなければならず)、同じ点滅周波数で送ることのできるデータ伝送の効率が悪くなるので、演算に使用するフレーム数とサンプリング周波数とのバランスを考慮して決定する必要がある。
【0102】
本実施例では、主に2フレーム間差分、4フレーム間差分を例にあげて、説明することとする。しかしながら、本発明は、2Mフレーム間差分(Mは正の整数)について適用可能であり、Mを2または1に制限するものではない。
【0103】
また、以上においては、正のフレーム間差分についてのみ説明してきたが、負のフレーム間差分(上述の式(2)に対応する)についても同様のことが言える。尚、負のフレーム間差分については、正のフレーム間差分と同様であるので、その説明を省略する。
【0104】
次に、図17のフローチャートを参照して、光ビーコン11による送信データを送信するための発光処理について説明する。
【0105】
ステップS1において、データ送受信部251は、コントロールユニット2より送信されてくる送信データを受信すると共に、マンチェスタ符号化部252に出力する。
【0106】
ステップS2において、マンチェスタ符号化部252は、データ送受信部251より供給された送信データを、図9,図10で説明したように、マンチェスタ符号化して点滅制御部253に供給する。
【0107】
ステップS3において、点滅制御部253は、マンチェスタ符号化部252より供給された、マンチェスタ符号化されている、送信データに基づいて、発光部254の発光を制御し、その処理は、ステップS1に戻り、それ以降の処理が繰り返される。すなわち、このような制御の下で、発光部254は、送信データに対応した発光を繰り返す。また、情報ユニット3は、複数の光ビーコン11−1乃至11−6の点滅パターンを制御して、送信データを送信する。
【0108】
次に、図18のフローチャートを参照して、ID認識カメラ21による光ビーコン11の点滅により送信されてくる送信データ取得処理について説明する。
【0109】
ステップS11において、受光部142の受光素子151は、撮像される対象となる撮像領域の光を光電変換し、増幅器152に出力する。
【0110】
ステップS12において、増幅器152は、受光素子151より入力される光電変換された電気信号を増幅して、フレーム単位で演算部142に出力する。
【0111】
ステップS13において、演算部142の記憶部161は、受光部141より供給された、増幅されている電気信号、すなわち、各画素毎の画素値をフレーム単位で順次記憶する。この際、記憶部161は、2M個の複数のフレーム分の画素値を記憶することができるので、最も古いフレームの画素値を削除して、新しいフレームの画素値を順次記憶する。尚、以下の説明においては、M=2であるものとする。
【0112】
ステップS14において、比較部162は、記憶部161に記憶されている、2Mフレーム分の画素値を読み出して比較処理を実行する。
【0113】
ここで、図19のフローチャートを参照して、比較部162による比較処理を説明する。
【0114】
ステップS21において、比較部162の正フレーム間差分計算部181は、記憶部161に記憶されている、2Mフレームの情報を用いて、各画素毎に、上述した式(1)で示した正フレーム間差分YP(M,n)を計算して、コンパレータ182の端子182aに出力する。
【0115】
ステップS22において、比較部162のコンパレータ182は、端子182aに供給された正フレーム間差分YP(M,n)と、端子182bに供給されるリファレンス値Ref(+)とを比較し、正フレーム間差分YP(M,n)が、リファレンス値Ref(+)よりも大きいとき、比較結果CP(n)=1を、それ以外のとき、比較結果CP(n)=0を出力する。
【0116】
ステップS23において、比較部162の正フレーム間差分計算部183は、記憶部161に記憶されている、2Mフレームの情報を用いて、各画素毎に、上述した式(2)で示した負フレーム間差分YM(M,n)を計算して、コンパレータ184の端子184aに出力する。
【0117】
ステップS24において、比較部162のコンパレータ184は、端子184aに供給された負フレーム間差分YM(M,n)と、端子184bに供給されるリファレンス値Ref(-)とを比較し、負フレーム間差分YM(M,n)が、リファレンス値Ref(-)よりも小さいとき、比較結果CM(n)=1を、それ以外のとき、CM(n)=0を出力する。
【0118】
ステップS25において、出力部163は、コンパレータ182,184より供給された比較結果CM(n),CP(n)をIDデコード処理部144に出力する。
【0119】
ここで、図18のフローチャートの説明に戻る。
【0120】
ステップS14の比較処理が終了すると、その処理は、ステップS11に戻り、それ以降の処理が繰り返される。
【0121】
すなわち、図18のフローチャートを参照して説明した処理により、光ビーコン11が点滅して、発せられる光を受光することにより、送信されてきた、送信データを取得し、IDデコード処理部144に送信データを供給する処理を繰り返す。
【0122】
上述の処理について、さらに詳細に説明すると、図20で示されるように、ステップS11の処理で、受光部141の受光量は、時刻t1乃至t13まで、0であり、時刻t13乃至t14において、時刻t13+α乃至t14の間に受光する受光量を蓄積する。すなわち、時刻t13乃至t14の間に、光ビーコン11が発光し続けていた場合に得られる受光量を1としたとき、時刻t13乃至t14の受光量は、(t14−t(13+α))/(t14−t13)となる。
【0123】
尚、図20においては、最上段が送信データを示しており、今の場合、「スタートコード」、「データ1ビット目」として1、および、「データ2ビット目」として0が示されており、第2段目が、マンチェスタ符号化されたデータを示しており、今の場合、先頭から「000010110」と示されている。実線で示された第3段目は、光ビーコン11による発光状態を示すものであり、Hiの状態が発光している状態を示し、Lowが発光していない状態を示している。一点鎖線で示されている第4段目は、受光素子141により受光される光の受光量を示している第5段目は、正フレーム間差分を示しており、Ref(+)、および、Ref(-)が、それぞれコンパレータ182,184のリファレンス値を示している。尚、負フレーム間差分は、示されていないが、図20の正フレーム間差分を、0点となる直線を中心として反転させた値となる。
【0124】
第6段目、および、第7段目は、それぞれコンパレータ182,184の出力を示しており、今の場合、第6段目は、時刻t1乃至t14、時刻t16乃至t20、時刻t22乃至t28において、0が、時刻t14乃至t16、および、時刻t20乃至t22において、1が出力されたことが示されている。また、第7段目は、時刻t1乃至t17、時刻t19乃至t26において、0が、時刻t17乃至t19、および、時刻t26乃至t28において、1がそれぞれ出力されていることが示されている。また、各フレーム間の時間間隔は、Δtで一定であるものとする。
【0125】
時刻t14乃至t15、および、時刻t15乃至t16においては、実線で示されるように、光ビーコン11が発光し続けているので、1点鎖線で示されるように、受光量は1となる。
【0126】
さらに、時刻t16乃至t17の間においては、実線で示されるように、時刻t16乃至t(16+α)の間のみ発光している状態となるので、受光量は、1点鎖線で示されるように、α/(t17−t16)となる。
【0127】
また、時刻t17乃至t19の間においては、図20の実線で示される光ビーコン11は発光していない状態となっているので、図20の1点鎖線で示されるように、受光される受光量は0となる。
【0128】
さらに、時刻t19乃至t20の間に受光される受光量は、実線で示されるように、実質的に発光していた時刻t(19+α)乃至t20の間に受光された受光量となるので、1点鎖線で示されるように、(t20−t(19+α))/(t20−t19)となる。
【0129】
また、時刻t20乃至t25の間においては、図20の実線で示される光ビーコン11は発光している状態となっているので、図20の1点鎖線で示されるように、受光される受光量は1となる。
【0130】
さらに、時刻t25乃至t26の間においては、実線で示されるように、時刻t25乃至t(25+α)の間のみ発光している状態となるので、受光量は、1点鎖線で示されるように、α/(t26−t25)となる。
【0131】
時刻t26以降においては、実線で示されるように、光ビーコン11が発光していない状態となっているので、受光量は、1点鎖線で示されるように0となる。
【0132】
そして、以上の受光量に応じて、正フレーム間差分計算部181は、上述した式(1)の演算を実行する。より詳細には、時刻t1乃至t13においては、全てのフレームにおいて、受光量f(n)が0であるので、図20の3点鎖線で示されるように、正フレーム間差分は0となる。
【0133】
時刻t13乃至t14に対応するフレームf(t14−t13)における正フレーム間差分YP(2,t14-t13)は、f(t14−t13)+f(t13−t12)−f(t12−t11)−f(t11−t10)となり、図20における、3点鎖線で示される時刻t13乃至t14の正フレーム間差分の値となる。
【0134】
同様に、時刻t14乃至t15に対応するフレームf(t15−t14)における正フレーム間差分YP(2,t15-t14)は、図20における、3点鎖線で示されるようにf(t15−t14)+f(t14−t13)−f(t13−t12)−f(t12−t11)となる。
【0135】
また、時刻t15乃至t16に対応するフレームf(t16−t15)における正フレーム間差分YP(2,t16-t15)は、図20における、3点鎖線で示されるようにf(t16−t15)+f(t15−t14)−f(t14−t13)−f(t13−t12)となる。
【0136】
さらに、時刻t16乃至t17に対応するフレームf(t17−t16)における正フレーム間差分YP(2,t17-t16)は、図20における、3点鎖線で示されるようにf(t17−t16)+f(t16−t15)−f(t15−t14)−f(t14−t13)となる。
【0137】
また、時刻t17乃至t18に対応するフレームf(t18−t17)における正フレーム間差分YP(2,t18-t17)は、図20における、3点鎖線で示されるようにf(t18−t17)+f(t17−t16)−f(t16−t15)−f(t15−t14)となる。
【0138】
以下同様に、時刻t18乃至t19においては、f(t19−t18)+f(t18−t17)−f(t17−t16)−f(t16−t15)、時刻t19乃至t20においては、f(t20−t19)+f(t19−t18)−f(t18−t17)−f(t17−t16)、時刻t20乃至t21においては、f(t21−t20)+f(t20−t19)−f(t19−t18)−f(t18−t17)、時刻t21乃至t22においては、f(t22−t21)+f(t21−t20)−f(t20−t19)−f(t19−t18)、時刻t22乃至t23においては、f(t23−t22)+f(t22−t21)−f(t21−t20)−f(t20−t19)、時刻t24乃至t25においては、f(t25−t24)+f(t24−t23)−f(t23−t22)−f(t22−t21)、時刻t25乃至t26においては、f(t26−t25)+f(t25−t24)−f(t24−t23)−f(t23−t22)、時刻t26乃至t27においては、f(t27−t26)+f(t26−t25)−f(t25−t24)−f(t24−t23)、時刻t27乃至t28においては、f(t28−t27)+f(t27−t26)−f(t26−t25)−f(t25−t24)となる。
【0139】
これに伴い、上述した式(1)が演算されることにより求められる正フレーム間差分と正のリファレンス値Ref(+)との比較結果は、図20の3点鎖線で示されるように、今の場合、時刻t14乃至t16、および、時刻t20乃至t22において、正フレーム間差分が正のリファレンス値Ref(+)よりも大きくなるため、コンパレータ182から出力される比較結果CP(n)は、時刻t14乃至t16、および、時刻t20乃至t22において、1となり、それ以外の時刻においては、0となる。
【0140】
尚、上述した式(2)が演算されることにより求められる負フレーム間差分は、図20における3点鎖線で示される正フレーム間差分と正負が逆転した関係が示されることになるので、図示は省略する。
【0141】
また、負フレーム間差分と負のリファレンス値Ref(-)との比較結果は、正フレーム間差分と、負リファレンス値Ref(-)の正負が逆転された値(−Ref(-))との比較結果と同値となる。従って、今の場合、時刻t17乃至t19、および、時刻t26乃至t28において、負フレーム間差分は、負のリファレンス値Ref(-)よりも大きくなる(図20の3点鎖線で示されるように、正フレーム間差分が、負リファレンス値Ref(-)の正負が逆転された値(−Ref(-))よりも小さくなる)ため、コンパレータ184から出力される比較結果CM(n)は、時刻t17乃至t19、および、時刻t26乃至t28において、1となり、それ以外の時刻においては、0となる。
【0142】
次に、図21のフローチャートを参照して、IDデコード処理部144によるIDデコード処理について説明する。
【0143】
ステップS31において、IDデコード処理部144のIDデコード回路211は、カウンタ(図示せず)をリセットし、初期化する。
【0144】
ステップS32において、IDデコード処理部144のIDデコード回路211は、スタートコード検出処理を実行する。
【0145】
ここで、図22のフローチャートを参照して、IDデコード回路211によるスタートコード検出処理について説明する。
【0146】
ステップS41において、IDデコード処理部144のIDデコード回路211は、演算部142より供給される、比較結果CP(n),CM(n)のいずれもが、12フレーム以上連続して、0であるか否かを判定する。より詳細には、IDデコード処理部144は、比較結果CP(n),CM(n)がいずれも0で、連続して入力される場合、図示せぬカウンタを1ずつインクリメントし、そのカウンタの値が12以上であるか否かを判定する。尚、このカウンタは、比較結果CP(n),CM(n)のいずれかが1で入力された場合、リセットされる。
【0147】
ステップS41において、スタートコードは、例えば、上述したように「00001」であるので、図20で示されるように、光ビーコン11は、実線で示されるように点滅することになる。すなわち、光ビーコン11は、時刻t(1+α)乃至t(13+α)までの間、発光していない状態で、時刻t(13+α)乃至時刻t(t19+α)までの間、発光することにより、このスタートコードを送信データとして送信する。
【0148】
従って、図20で示されるように、時刻t1乃至t12において、12フレーム以上連続して0であると判定されないことになるので、ステップS45に進み、エラー検出部210は、スタートコードを検出していないものと判定し、その処理は、ステップS33(図21のフローチャート)に進む。
【0149】
ここで、図21のフローチャートに戻る。
【0150】
ステップS33において、スタートコードが検出されたか否かが判定され、今の場合、ステップS45において、スタートコードが検出されていないので、スタートコードが検出されていないと判定され、その処理は、ステップS32に戻る。
【0151】
すなわち、12フレーム以上連続して0であると判定されるまで、ステップS32,S33の処理が繰り返される。
【0152】
ここで、図22のフローチャートの説明に戻る。
【0153】
今の場合、例えば、図20で示される時刻t1乃至t13において、ステップS32,S33の処理が、12回繰り返されることになるので、例えば、図20の時刻t12乃至t13に対応するフレームの場合、ステップS41において、12フレーム以上連続して0であると判定されることになり、その処理は、ステップS42に進む。
【0154】
ステップS42において、IDデコード回路211は、コンパレータ182の比較結果CP(n)が1であるか否かを判定する。すなわち、スタートコードの末尾となる1が検出されたか否かが判定される。例えば、図20で示されるように、時刻t12乃至t13に対応するフレームでスタートコードの「0000」が検出された後、時刻t13乃至t14においては、比較結果CP(t14-t13)は、1ではないので、その処理は、ステップS45に進む。従って、この場合、ステップS33,S32の処理が繰り返される。
【0155】
また、例えば、さらにその後のタイミングとなる時刻t13乃至t14の場合、ステップS42において、図20で示すように、比較結果CP(t15-t14)は1であるので、スタートコードの末尾にあたる「1」であると判定され、その処理は、ステップS43に進む。
【0156】
ステップS43において、IDデコード回路211は、コンパレータ182の比較結果CP(n+1)が1であるか否かを判定する。例えば、図20で示されるように、時刻t15乃至t16においては、比較結果CP(t16-t15)が1であると判定され、その処理は、ステップS44に進む。
【0157】
ステップS44において、IDデコード回路211は、スタートコードを検出したことを認識する。
【0158】
すなわち、ステップS42における処理と同様に、ステップS43において、IDデコード回路211がスタートコードの末尾となる1が検出されたか否かを判定することにより、2フレーム連続して1が検出されたか否かを判定する。これは、今の場合、マンチェスタ符号化された信号は、3フレーム間隔で供給されており、この場合、図20で示されているように、マンチェスタ符号化された信号は、正しく受光された場合、2フレーム連続で必ず1を検出することになるので、これを検出することにより、スタートコードの末尾となる1の有無が検出される。
【0159】
ここで、図21フローチャートに戻る。
【0160】
ステップS34において、IDデコード回路211は、エラー検出部210に対して、エラー検出処理を開始させる。尚、エラー検出部210のエラー検出処理については、詳細を後述する。
【0161】
ステップS35において、IDデコード回路211は、エラー検出部210のエラー検出処理によりエラーが検出されたか否かを判定し、エラー検出部210より供給されるエラー検出結果に基づいて、エラーの有無を判定する。
【0162】
例えば、ステップS35において、エラー検出部210よりエラーが検出されていないことを示す通知が入力されてきた場合、IDデコード回路211は、エラーが検出されていないと判定し、その処理は、ステップS36に進む。
【0163】
ステップS36において、IDデコード回路211は、入力されたセンサ出力信号に基づいて、上述したようにIDデータをデコードし、フレームメモリ203に記憶させる。さらに、ID重心計算回路222は、IDレジスタ221を制御して、デコードされたIDデータに対応する座標位置を読出し、ID座標格納メモリ205に、座標位置を積算させながら順次記憶させる。
【0164】
ステップS37において、ID重心計算回路222は、ID座標格納メモリ205に記憶された座標位置をIDデータ毎に読み出して、IDデータに対応する座標位置の重心位置を求めて、すなわち、各座標位置の積算値を加算したIDデータの個数で割ることにより重心位置を求めて、これをそのIDデータの座標情報として求める。
【0165】
ステップS38において、IDデコード回路211は、供給されてくるセンサ出力信号の有無により、データが終了したか否かを判定し、例えば、データが終了していないと判定した場合、その処理は、ステップS35に戻り、それ以降の処理を繰り返す。
【0166】
ステップS38において、入力されてくるセンサ出力信号がなくなって、データが終了したと判定された場合、ステップS39において、エラー検出部210に対してエラー検出処理を停止させるように指令を出し、その処理は、ステップS32に戻り、それ以降の処理が繰り返される。
【0167】
次に、図23のフローチャートを参照して、エラー検出処理について説明する。
【0168】
ステップS51において、エラー検出部210の判定部233は、図示せぬカウンタmを2に設定する。ステップS52において、エラー検出部210の判定部233は、図示せぬカウンタkを2に初期化する。
【0169】
ステップS53において、エラー検出部210のメモリ231は、1フレーム分のセンサ出力信号が入力されたか否かを判定し、1フレーム分のセンサ出力信号が入力されるまで、その処理が繰り返される。
【0170】
ステップS53において、1フレーム分のセンサ出力信号が入力されたと判定された場合、ステップS54において、エラー検出部210の判定部233は、カウンタkを1インクリメントする。
【0171】
ステップS55において、判定部233は、カウンタkが3となったか否かを判定し、3になっていないと判定された場合、その処理は、ステップS53に戻り、それ以降の処理が繰り返される。すなわち、カウンタkが3になるまで、ステップS53乃至S55の処理が繰り返される。
【0172】
ステップS55において、カウンタkが3であると判定された場合、すなわち、1フレーム分のセンサ出力信号が供給されてきたと判定された場合、ステップS56において、メモリ231は、センサ出力信号である、演算部142の比較部162のコンパレータ182,184の比較結果CP(n),CM(n)を記憶する。
【0173】
ステップS57において、比較部232は、記憶した比較結果CP(n),CM(n)が、(CP(n),CM(n))=(0,0),(0,1)、または、(1,0)であるか否かを判定する。より詳細には、比較部232は、(CP(n),CM(n))と、(0,0),(0,1)、および、(1,0)とをそれぞれ比較し、比較結果を判定部233に供給する。判定部233は、この比較結果に基づいて(CP(n),CM(n))=(0,0),(0,1)、または、(1,0)であるか否かを判定する。例えば、ステップS57において、(CP(n),CM(n))=(0,0),(0,1)、または、(1,0)である場合、その処理は、ステップS58に進む。
【0174】
ステップS58において、判定部233は、記憶した比較結果CP(n),CM(n)が、(CP(n),CM(n))≠(CP(n-3),CM(n-3))であるか否かを判定する。より詳細には、比較部232が(CP(n),CM(n))と(CP(n-3),CM(n-3))とを比較し、比較結果を判定部233に出力する。判定部233は、この比較結果に基づいて、(CP(n),CM(n))≠(CP(n-3),CM(n-3))であるか否かを判定する。ステップS58において、例えば、比較結果CP(n),CM(n)が、(CP(n),CM(n))≠(CP(n-3),CM(n-3))であると判定された場合、その処理は、ステップS59に進む。
【0175】
ステップS59において、判定部233は、カウンタmを1インクリメントする。ステップS60において、判定部233は、カウンタmが2となっているか否かを判定し、例えば、カウンタmが2となっていると判定した場合、その処理は、ステップS61に進む。
【0176】
ステップS61において、判定部233は、比較結果CP(n)とCM(n)が、CP(n)=CM(n)=0であるか否かを判定する。より詳細には、比較部232が、CP(n)とCM(n)をそれぞれ0と比較し、比較結果を判定部233に出力する。判定部233は、この比較結果に基づいて、比較結果CP(n)とCM(n)が、CP(n)=CM(n)=0であるか否かを判定する。
【0177】
ステップS61において、比較結果CP(n)とCM(n)が、CP(n)=CM(n)=0ではないと判定された場合、ステップS62において、判定部233は、エラーなしの通知をIDデコード回路211に出力する。
【0178】
ステップS63において、判定部233は、IDデコード回路211より処理の終了が指示されたか否かを判定し、処理の終了が指示されていないと判定された場合、その処理は、ステップS64に進む。
【0179】
ステップS64において、判定部233は、カウンタmを0に初期化し、その処理は、ステップS53に戻る。
【0180】
ステップS57において、(CP(n),CM(n))=(0,0),(0,1)、または、(1,0)ではないと判定された場合、ステップS58において、(CP(n),CM(n))≠(CP(n-3),CM(n-3))ではないと判定された場合、または、ステップS61において、比較結果CP(n)とCM(n)が、CP(n)=CM(n)=0であると判定された場合、その処理は、ステップS66に進み、判定部233は、IDデコード回路211にエラーが検出されたことを通知し、その処理は、ステップS63に進む。
【0181】
ステップS60において、カウンタmが2ではないと判定された場合、ステップS65において、判定部233は、カウンタkを0に初期化し、その処理は、ステップS53に戻り、それ以降の処理が繰り返される。
【0182】
すなわち、ステップS53乃至S55の処理が繰り返されることにより、図24の点線の矢印で示されるように、スタートコードが検出された時刻t14乃至t15のフレームの次のタイミングである時刻t15乃至t16のフレームでステップS57乃至S60の処理が実行され、この処理が3フレーム毎に繰り返される。
【0183】
これは、図24で示されるように、光ビーコン11は、3フレーム連続して、同じマンチェスタ符号化された信号を点滅により送信するので、3フレーム毎に比較結果CP(n),CM(n)を読み出して、所定の値となっているか否かを判定する。
【0184】
より具体的には、まず、ステップS57において、(CP(n),CM(n))が(0,0),(0,1)、または、(1,0)であるか否かが判定される。これは、比較結果CP(n),CM(n)は、相互に正負が反転した値となるものなので、エラーが発生していなければ、(0,0),(0,1)、または、(1,0)のいずれかを取ることになるはずであるからである。
【0185】
次に、ステップS58において、(CP(n),CM(n))≠(CP(n-3),CM(n-3))であるか否かが判定される。これは、マンチェスタ符号化により、送信されてくる信号は、7フレーム以上同じ符号となることがないため、例えば、図24で示される時刻t21乃至t22と、時刻t24乃至t25のフレームに対応する比較結果(CP(n),CM(n))のように、最大でも6フレームの間に、最大値と最小値を必ず取ることになる。結果として、エラーが発生していなければ、送信するデータは、最大でも6フレームの間に、立ち上がりエッジと立ち下がりエッジがどこかに必ず含まれることになるので、3フレーム間隔で同じ信号が検出されないことになる。
【0186】
そして、ステップS60において、カウンタmが2であるかが判定されて、mが2であるとき、ステップS61において、比較結果(CP(n),CM(n))がいずれも1であるか否かが判定される。
【0187】
カウンタmが2となるときにのみ、すなわち、ステップS53乃至S60の処理が2回繰り返される毎に、ステップS61の処理が実行されるため、ステップS61の処理は、実質的には、6フレームに1回実行され、さらに、初期設定の値により、スタートコードが検出されたタイミングから6フレーム毎の信号、すなわち、データビットを構成する01、または、10の信号を構成する、後半の信号に対してなされる。
【0188】
より詳細には、例えば、図24においては、時刻t21乃至t22のフレーム、および、時刻t27乃至t28のフレームに対応する、データビットの後半の信号の比較結果(CP(n),CM(n))が1であるか否かが判定されることにより、エラーの有無が判定される。これは、データビットの後半の信号に対応する比較結果CP(n),CM(n)は、相互に正負が反転した値となるので、エラーが発生していなければ、いずれも1を取ることになるはずであるからである。
【0189】
以上の処理により、エラーが検出されるので、マンチェスタ符号化された送信データのエラーを正確に判定することができ、結果として、エラーのない正しい送信データを選択的に取得することが可能となる。
【0190】
以上の例においては、光ビーコン11が撮像されるとき、撮像された画素に変更がない場合、すなわち、画像内のそれぞれの画素に撮像されている対象となるものの位置が固定された状態であることが前提となる場合について説明してきた。つまり、光ビーコン11は、点滅により送信データを送信しているので、ID認識カメラ21が撮像する範囲が変化してしまうような場合、撮像されている画像内で光ビーコン11の位置が変化することになってしまい、正確にエラーの検出、または、データの取得ができない恐れがある。
【0191】
そこで、以下の例においては、光ビーコン11が撮像されている画素と、その周辺の複数の画素から光ビーコン11の点滅パターンを検出することにより、光ビーコン11の点滅パターンを検出することで、正確な送信データの取得を可能にするようにしてもよい。
【0192】
図25は、注目画素の周辺の複数の画素から光ビーコン11の点滅パターンを検出することにより、光ビーコン11の点滅パターンを検出できるようにしたIDデコード処理部144の構成を示すブロック図である。基本的な構成は、図6のIDデコード処理部144と同様であるが、エラー検出部210に代えてエラー検出部271が、ID重心計算回路222に代えてID重心計算回路282がそれぞれ設けられ、さらに、重み計算部251を新たに設けた点が異なる。
【0193】
エラー検出部271は、基本的に図6のエラー検出部210と同様の処理を実行するが、注目している画素(以下、注目画素と称する)のみならず、その周辺の画素(例えば、水平方向、垂直方向、および、対角方向に隣接する画素)についても同時にエラー検出処理を実行する。尚、詳細については、図26を参照して後述する。
【0194】
また、図25のIDデコード処理回路211は、図6のIDデコード処理回路211と基本的に同様の処理を実行するが、注目画素と、その周辺の画素に基づいて、デコード処理を実行する点で異なる。
【0195】
重み計算部281は、注目画素と、その周辺の画素で受光される光ビーコン11から発せられる光の受光時間に基づいて、注目画素と、その周辺の画素のそれぞれについて重みを計算し、ID重心計算回路282に供給する。
【0196】
ID重心計算回路282は、基本的な機能は、図6のID重心計算回路222と同様の処理を実行するが、さらに、重心計算において、重み計算部281より供給された重みにより、重心位置を計算する。
【0197】
次に、図26を参照して、エラー検出部271の詳細な構成について説明する。基本的には、図7のエラー検出部210と同様の構成であるが、メモリ231、比較部232、および、判定部233に代えて、メモリ291、比較部292、および、判定部293が設けられている。メモリ291、比較部292、および、判定部293は、それぞれメモリ231、比較部232、および、判定部233と同様の機能を有するものであるが、さらに、注目画素のみならず、その周辺の画素を含めた複数の画素の処理も同時に実行する。
【0198】
次に、図27のフローチャートを参照して、IDデコード処理について説明する。尚、ステップS71乃至S75,S78の処理は、図21のフローチャートを参照して説明したステップS31乃至S35,S38の処理と同様であるので、その説明は、省略する。
【0199】
ここで、図28のフローチャートを参照して、ステップS74の処理により開始されるエラー検出処理について説明する。尚、ステップS81乃至S85、および、ステップS89乃至S96の処理は、図23のフローチャートにおけるステップS51乃至S55、および、ステップS59乃至S66の処理と同様であるので、その説明は省略する。
【0200】
ステップS86において、メモリ291は、センサ出力信号である、演算部142の比較部162のコンパレータ182,184の比較結果CP(n),CM(n)、および、その周辺画素に対応する比較結果CPw(n),CMw(n)を記憶する。ここで、比較結果CP(n),CM(n)は、注目画素の比較結果を示し、比較結果CPw(n),CMw(n)は、注目画素周辺の複数の画素の比較結果を示す。
【0201】
すなわち、図29の(x,y)で示される画素が注目画素である場合、例えば、図中の太線で囲まれる(x-1,y-1),(x,y-1),(x+1,y-1),(x-1,y),(x+1,y),(x-1,y+1),(x,y+1),(x+1,y+1)の合計8画素のそれぞれに対応する、正のフレーム間差分、および、負のフレーム間差分に基づいた比較結果CPw(n),CMw(n)がそれぞれ記憶される。従って、今の場合、実質的に記憶される比較結果は、注目画素と周辺画素のそれぞれについての正負のフレーム間差分に対応する比較結果となるので、1個の注目画素について、合計16個の比較結果が記憶されることになる。尚、この注目画素に対応する周辺画素の配置は、図29で示されるものに限るものではなく、例えば、注目画素を中心とした、5画素×5画素の範囲に存在する、注目画素を除いた24画素を周辺画素としてもよく、一般的には、例えば、(2n+1)画素×(2n+1)画素の範囲に存在する画素としてもよい。
【0202】
ステップS87において、比較部292は、記憶した注目画素の比較結果CP(n),CM(n)、および、注目画素の周辺画素の比較結果CPw(n),CMw(n)が、全て(0,0),(0,1)、または、(1,0)であるか否かを判定する。すなわち、比較部292は、図23のフローチャートにおけるステップS57の処理を、注目画素に対応する比較結果と、その全ての周辺画素に対応する比較結果で実行する。
【0203】
例えば、ステップS87において、注目画素の比較結果CP(n),CM(n)、および、注目画素の周辺画素の比較結果CPw(n),CMw(n)が、全て(0,0),(0,1)、または、(1,0)である場合、その処理は、ステップS88に進む。また、ステップS87において、注目画素の比較結果CP(n),CM(n)、および、注目画素の周辺画素の比較結果CPw(n),CMw(n)が、全て(0,0),(0,1)、または、(1,0)ではない場合、その処理は、ステップS96に進む。
【0204】
ステップS88において、判定部293は、記憶した注目画素の比較結果CP(n),CM(n)が、(CP(n),CM(n))≠(CP(n-3),CM(n-3))で、かつ、全ての周辺画素に対応する比較結果CPw(n),CMw(n)が、(CPw(n),CMw(n))≠(CPw(n-3),CMw(n-3))であるか否かを判定する。より詳細には、比較部292が(CP(n),CM(n))と(CP(n-3),CM(n-3))とを比較し、さらに、全ての周辺画素の(CPw(n),CMw(n))と(CPw(n-3),CMw(n-3))とを比較し、比較結果を判定部293に出力する。判定部293は、この比較結果に基づいて、(CP(n),CM(n))≠(CP(n-3),CM(n-3))であって、かつ、(CPw(n),CMw(n))≠(CPw(n-3),CMw(n-3))であるか否かを判定する。
【0205】
ステップS88において、注目画素の比較結果が(CP(n),CM(n))≠(CP(n-3),CM(n-3))であって、かつ、全ての周辺画素の比較結果が(CPw(n),CMw(n))≠(CPw(n-3),CMw(n-3))であると判定された場合、その処理は、ステップS89に進む。一方、ステップS88において、注目画素の比較結果が(CP(n),CM(n))≠(CP(n-3),CM(n-3))ではないか、または、全ての周辺画素の比較結果が(CPw(n),CMw(n))≠(CPw(n-3),CMw(n-3))ではないと判定された場合、その処理は、ステップS96に進む。
【0206】
ステップS91において、判定部293は、注目画素の比較結果CP(n)とCM(n)と、全ての周辺画素の比較結果CPw(n)とCMw(n)が、CP(n)=CM(n)=CPw(n)=CMw(n)=0であるか否かを判定する。より詳細には、比較部292が、CP(n),CM(n),CPw(n),CMw(n)をそれぞれ0と比較し、比較結果を判定部293に出力する。判定部293は、この比較結果に基づいて、比較結果CP(n),CM(n),CPw(n),CMw(n)が、CP(n)=CM(n)=CPw(n)=CMw(n)=0であるか否かを判定する。
【0207】
ステップS91において、注目画素の比較結果CP(n)とCM(n)、および、全ての周辺画素CPw(n)とCMw(n)が、CP(n)=CM(n)=CPw(n)=CMw(n)=0ではないと判定された場合、ステップS92において、判定部293は、エラーなしの通知をIDデコード回路211に出力する。
【0208】
ステップS91において、注目画素の比較結果CP(n)とCM(n)、および、全ての周辺画素CPw(n)とCMw(n)が、CP(n)=CM(n)=CPw(n)=CMw(n)=0ではないと判定された場合、その処理は、ステップS96に進む。
【0209】
以上の処理により、注目画素と、その周辺画素について、同時にエラー検出処理がなされる。
【0210】
ここで、図27のフローチャートの説明に戻る。
【0211】
ステップS76において、図25を参照して説明したIDデコード処理部144のIDデコード回路211は、注目画素と、その周辺画素の比較結果に基づいてIDデータをデコード処理する。
【0212】
すなわち、図25のIDデコード処理部144においては、基本的に、図6のIDデコード処理部144における注目画素のセンサ出力信号を処理したときと同様の処理を行うが、複数の画素に対応するセンサ出力信号を用いることにより、以下のような処理を実行する。
【0213】
すなわち、今、注目画素のコンパレータ182の出力をCP(x,y)とすると、その周辺の画素を含めたコンパレータ182の出力は、例えば、周辺画素を注目画素を中心とした(2n-1)画素×(2n-1)画素の範囲である場合、CPw(x-n,y-n),CPw(x-n+1,y-n+1),CPw(x-n+2,y-n+2),・・・CP(x,y)・・・CPw(x+n-1,y+n-1),CPw(x+n,y+n)となる。
【0214】
注目画素で測定している光ビーコン11の位置が、全ての信号を送信する時間よりも短い時間間隔で移動すると、この注目画素とその周辺の画素のいずれかのコンパレータ182の出力が、他の画素に移動する事になる。
【0215】
そこで、以下の式(3)で示されるような関数を定義することにより、IDデコード回路211は、注目画素のコンパレータ182の出力を認識する。
【0216】
【数3】
Figure 0004269220
Figure 0004269220
【0217】
ここで「|」はOR演算である。これは、例えば、nが1であった場合、図29で示した注目画素(x,y)を中心としたウィンドウWに含まれた画素のいずれかのコンパレータ182の比較結果において、1が検出されたとき、注目画素において1が検出されたことを示している。従って、このような処理により、データ受信途中で信号となる点滅パターンが、注目画素をはずれて隣の画素に移動しても、続けてデータを受信してデコードすることが可能となる。尚、コンパレータ184の比較結果についても同様に処理する。
【0218】
そして、デコード回路211は、デコード結果をフレームメモリ203に順次供給する。すなわち、上述したように、デコード回路211は、マンチェスタ符号化された信号の、2ビットの信号のうち、後半部分となるビットの信号を読み出して、通常の信号に符号化し、これらを画像上の画素位置に対応するフレームメモリ203に順次記憶させる。
【0219】
さらに、ID重心計算回路282は、IDレジスタ221を介して、フレームメモリ203に記憶されているIDデータの位置情報をID座標格納メモリ205に供給し、記憶させる。
【0220】
なお、ここでは、「注目画素の周辺画素の情報」として(2n+1)×(2n+1)の正方形ウィンドウで説明したが、正方形ウィンドウに限定するものではない。例えば長方形や4隣接画素など、他の形状であっても良い。
【0221】
また、コンパレータ184からの比較結果についても、同様の処理がなされる。
【0222】
ここで、図27のフローチャートの説明に戻る。
【0223】
ステップS77において、重心計算処理が実行される。
【0224】
ここで、図30のフローチャートを参照して、重心計算処理について説明する。
【0225】
ステップS101において、重み計算部251は、各画素の重みを計算する。より詳細には、重み計算部251は、以下の式(4)の演算を各画素について実行して、各画素の重みを計算し、ID重心計算回路282に出力する。
【0226】
【数4】
Figure 0004269220
Figure 0004269220
【0227】
ここで、α(i)は、i番目の注目画素の重みを示し、tsumは、注目画素と、その周辺画素が光を受光した時間、すなわち、コンパレータ182からの比較結果が1となっていた時間、または、コンパレータ184からの比較結果が1となっていた時間の総合計を示し、さらに、td(i)は、注目画素が光を受光した時間である。すなわち、重み計算部251は、図29で示される注目画素(x,y)に対応する周辺画素がウィンドウWで示されている場合、ウィンドウWで示される9画素分の領域で受光する光ビーコン11の総受光時間に対する注目画素の受光する時間の割合を重みとして計算し、ID重心計算回路282に出力する。
【0228】
ステップS102において、ID重心計算回路282は、ID座標格納メモリ205に記憶されているIDデータ毎の座標情報を読み足し、さらに、重み計算部251より供給された重みをそれぞれ乗じる。
【0229】
ステップS103において、ID重心計算回路282は、座標の総和を求めて画素数で割ることにより重心位置を求める。
【0230】
より詳細には、ID重心計算回路282は、ステップS102,S103において、以下の式(5)の計算を実行し、重みを考慮した重心計算を実行する。
【0231】
【数5】
Figure 0004269220
Figure 0004269220
【0232】
ここで、Gpは、注目画素の重心位置を示し、Nは、注目画素とその周辺画素の総合計画素数を示し、iは、注目画素と周辺画素を識別する番号を示し、px(i)とpy(i)は、i番目の注目画素、または、周辺画素のx座標とy座標を示す。
【0233】
すなわち、ID重心計算回路282は、ステップS102において、式(5)におけるα(i)px(i)とα(i)py(i)について、1≦i≦Nの範囲で演算を実行し、ステップS103において、式(5)におけるサメーションの演算を実行することにより重心位置を計算する。
【0234】
このように重心が計算されることにより、各画素の画素位置のみから重心が求められるのではなく、光ビーコン11から受光された時間に対応した重みに基づいて重心が求められることにより、受光された位置がより正確に求められることになる。
【0235】
尚、重みは、上述の式(4)により光ビーコン11の点滅パターンを受光した時間に対応して重みが付加されていたが、時間は連続変量であるため、実際の演算においては、離散変量に変換する必要がある。従って、上述の重みの演算は、以下の式(6)を用いるようにしてもよい。
【0236】
【数6】
Figure 0004269220
Figure 0004269220
【0237】
ここで、c(i)は、注目画素、または、その周辺画素が受信したデータビット数であり、csum(i)は、注目画素、および、その周辺画素が受信したデータビット数の総数である。このように、受信したデータビット数は、光ビーコン11の受光時間に比例することになるので、実質的に、式(4)で求められる重みを連続変量から離散変量へ変換した近似値が得られることになる。
【0238】
以上によれば、重みを考慮した正確な重心位置が求められるので、結果として、光ビーコンとID認識カメラを利用したデータの通信における、通信精度を向上させることが可能となる。
【0239】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【0240】
この記録媒体は、図2,図3に示すようにPCサーバ1、および、携帯端末4に予め組み込まれた状態でユーザに提供される、プログラムが記録されている記憶部38,78だけではなく、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク51,91(フレキシブルディスクを含む)、光ディスク52,92(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク53,93(MD(Mini-Disc)(登録商標)を含む)、もしくは半導体メモリ54,94(Memory Stickを含む)などよりなるパッケージメディアにより構成される。
【0241】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【0242】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0243】
【発明の効果】
本発明によれば、光ビーコンとID認識カメラを利用したデータの通信における通信精度を向上させることが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した情報通信システムの一実施の形態の構成を示す図である。
【図2】図1のPCサーバの構成を示すブロック図である。
【図3】図1の携帯端末の構成を示すブロック図である。
【図4】図3のID認識カメラのブロック図である。
【図5】図4の比較部の構成を示すブロック図である。
【図6】図4のIDデコード処理部のブロック図である。
【図7】図6のエラー検出部のブロック図である。
【図8】図1の光ビーコンのブロック図である。
【図9】マンチェスタ符号化を説明する図である。
【図10】マンチェスタ符号化を説明する図である。
【図11】図1の光ビーコンのその他のブロック図である。
【図12】 ID認識カメラが点滅パターンをデコードする動作を説明する図である。
【図13】光ビーコンの点滅パターンとデコードされるデータの関係を説明する図である。
【図14】光ビーコンの点滅パターンとデコードされるデータの関係を説明する図である。
【図15】光ビーコンの点滅パターンとデコードされるデータの関係を説明する図である。
【図16】光ビーコンの点滅パターンとデコードされるデータの関係を説明する図である。
【図17】発光処理を説明するフローチャートである。
【図18】送信データ取得処理を説明するフローチャートである。
【図19】比較処理を説明するフローチャートである。
【図20】比較処理を説明する図である。
【図21】 IDデコード処理を説明するフローチャートである。
【図22】スタートコード検出処理を説明するフローチャートである。
【図23】エラー検出処理を説明するフローチャートである。
【図24】エラー検出処理を説明する図である。
【図25】 IDデコード処理部のその他の構成を示すブロック図である。
【図26】エラー検出部のその他の構成を示すブロック図である。
【図27】 IDデコード処理を説明するフローチャートである。
【図28】エラー検出処理を説明するフローチャートである。
【図29】注目画素と周辺画素を説明するフローチャートである。
【図30】重心計算処理を説明するフローチャートである。
【符号の説明】
1 PCサーバ, 4 携帯端末, 3,3−1乃至3−n 情報ユニット, 11,11−1乃至11−6 光ビーコン111 ID認識カメラ, 181 正フレーム間差分計算部, 182 コンパレータ, 183 負フレーム間差分計算部, 184 コンパレータ, 210 エラー検出部, 211 IDデコード回路, 241 エラー検出部, 251 重み計算部281 ID重心計算回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus and method, a recording medium, and a program, and in particular, an information processing apparatus and method, a recording medium, and a communication medium that can improve communication accuracy in data communication using an optical beacon and an ID recognition camera, And the program.
[0002]
[Prior art]
There is a transmission device that transmits a signal by emitting light with a predetermined blinking pattern, and a transmission / reception system that captures the blinking pattern of light emitted by the transmission device and implements data communication based on the captured blinking pattern To do.
[0003]
For example, as an imaging device, there is a system in which an ID (Identifier) recognition camera captures an image and can transmit and receive ID data based on a signal emitted by an optical beacon that functions as a transmission device as described above (for example, Patent Document 1).
[0004]
[Patent Document 1]
Japanese Patent Application 2001-325356
[0005]
[Problems to be solved by the invention]
However, in the system described above, if interference due to ambient light occurs, the ID recognition camera cannot correctly read the blinking pattern of light and cannot receive data correctly. There was a problem that an error occurred.
[0006]
In the above-described system, transmission data is represented by a blinking pattern, that is, a light pattern in the time direction. Therefore, when data is received and decoded for each pixel, it is transmitted during data reception. If there is a change in the relative positional relationship between the device and the receiving device, the pixels that receive the light will move to the pixels that exist in the adjacent position during the data reception, so that the light is received in units of pixels. The pattern to be changed is changed, and there is a problem that data cannot be received correctly.
[0007]
In addition, although the effect of such a phenomenon is small if the data length of the transmission data is short, the effect becomes large as the data length becomes long.
[0008]
Furthermore, when the light receiving area of the signal represented by the blinking pattern is large, the effect is small, but the area of the light beacon that emits light is small, or the distance between the light beacon and the ID recognition camera is increased. As a result, the light receiving area becomes relatively small, and as a result, the influence becomes large, and there is a problem that data is easily interrupted during data reception.
[0009]
In order to address these issues, the position of the received data is calculated by using a technique such as obtaining the center of gravity from the coordinates of a plurality of pixels that have received the same data, or obtaining a circumscribed rectangle. Although we have made it possible to respond to changes in position, in these methods, when there is a pixel that received data halfway, the information of the pixel that received the signal halfway becomes unusable. Therefore, it has been difficult to improve the accuracy of the calculated position.
[0010]
The present invention has been made in view of such a situation, and employs Manchester coding as coding with high data transmission efficiency, and further detects errors caused by disturbances such as ambient light, and also receives received data. When decoding is performed for each pixel, information on neighboring pixels is also used to stabilize the communication state even if a relative positional change occurs between the transmitting device and the receiving device during data reception. By using the information of the pixel that has received even a part of the data, more accurate data communication is possible.
[0011]
[Means for Solving the Problems]
  The information processing apparatus according to the present invention is configured to transmit light emitted from a transmitter that emits light with a predetermined blinking pattern.Consists of received light amount or differential value of received light amountA light receiving means for receiving a signal; a storage means for storing a plurality of signals of a pixel of interest and pixels around the pixel of interest among light signals received by the light receiving means; and a plurality of signals stored in the storage means SignalAny one of the signals, The signal received at the target pixelAsDecoding means for decoding;The target pixel or the surrounding pixels of the target pixel emits light from the target pixel or the surrounding pixels of the target pixel with respect to the light reception time for receiving the light signal emitted by the transmitter. The weight calculation means for calculating the weight of the light reception time during which the signal is received and the weight calculated by the weight calculation means for the pixel that has received even a part of the light signal is regarded as having received the signal. Position measuring means for measuring the position of the selected pixel;It is characterized by providing.
[0014]
The position measuring means was regarded as having received a signal by counting the number of times the received light amount received by each pixel of the target pixel for each frame and the surrounding pixels of the target pixel was changed. The position of the pixel can be measured.
[0015]
  The information processing method of the present invention is a method for transmitting light emitted by a transmitter that emits light in a predetermined blinking pattern.Consists of received light amount or differential value of received light amountAmong the signals, multiple signals of the pixel of interest and pixels around the pixel of interestAny one of the signals, The signal received at the target pixelAsDecoding step to decodeAnd the pixel of interest or the pixels around the pixel of interest with respect to the light reception time for receiving the light signal emitted by the transmitter in the entire pixel around the pixel of interest or the pixel of interest. Using a weight calculation step for calculating the weight of the light reception time during which the signal is received and the weight calculated by the processing of the weight calculation step for the pixel that has received even a part of the emitted light signal, the signal is received. A position measurement step for measuring the position of the pixel deemed to beIt is characterized by including.
[0016]
  The recording medium program of the present invention is a program for recording light emitted by a transmitter that emits light in a predetermined blinking pattern.Consists of received light amount or differential value of received light amountAmong the signals, multiple signals of the pixel of interest and pixels around the pixel of interestAny one of the signals, The signal received at the target pixelAsDecoding step to decodeAnd the pixel of interest or the pixels around the pixel of interest with respect to the light reception time for receiving the light signal emitted by the transmitter in the entire pixel around the pixel of interest or the pixel of interest. Using a weight calculation step for calculating the weight of the light reception time during which the signal is received and the weight calculated by the processing of the weight calculation step for the pixel that has received even a part of the emitted light signal, the signal is received. A position measurement step for measuring the position of the pixel deemed to beIncluding and withTo do.
[0017]
  The program of the present invention is a program for the light emitted by a transmitter that emits light in a predetermined blinking pattern.Consists of received light amount or differential value of received light amountAmong the signals, multiple signals of the pixel of interest and pixels around the pixel of interestAny one of the signals, The signal received at the target pixelAsDecoding step to decodeAnd the pixel of interest or the pixels around the pixel of interest with respect to the light reception time for receiving the light signal emitted by the transmitter in the entire pixel around the pixel of interest or the pixel of interest. Using a weight calculation step for calculating the weight of the light reception time during which the signal is received and the weight calculated by the processing of the weight calculation step for the pixel that has received even a part of the emitted light signal, the signal is received. A position measurement step for measuring the position of the pixel deemed to beA program for causing a computer to execute.
[0018]
  In the information processing apparatus and method and the program according to the present invention, the light emitted by the transmission device that emits light in a predetermined blinking pattern is stored.Consists of received light amount or differential value of received light amountA signal is received, and among the received light signals, a plurality of signals of a pixel of interest and pixels around the pixel of interest are stored and stored.Any one of the signals, The signal received at the target pixelAsDecodedThe pixel of interest or the pixels around the pixel of interest are emitted by the transmitter of the pixel of interest or the pixels around the pixel of interest for the light reception time when the signal of light emitted by the transmitter is received by all of the pixels around the pixel of interest The weight of the light reception time that received the signal of the pixel that received even a part of the received light signal is calculated, and the position of the pixel that received the signal is measured using the calculated weight IsThe
[0019]
The information processing apparatus of the present invention may be an independent apparatus or a block that performs information processing.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below. Correspondences between constituent elements described in the claims and specific examples in the embodiments of the present invention are exemplified as follows. This description is to confirm that specific examples supporting the invention described in the claims are described in the embodiments of the invention. Therefore, even if there are specific examples that are described in the embodiment of the invention but are not described here as corresponding to the configuration requirements, the specific examples are not included in the configuration. It does not mean that it does not correspond to a requirement. On the contrary, even if a specific example is described here as corresponding to a configuration requirement, this means that the specific example does not correspond to a configuration requirement other than the configuration requirement. not.
[0021]
Further, this description does not mean that all the inventions corresponding to the specific examples described in the embodiments of the invention are described in the claims. In other words, this description is an invention corresponding to the specific example described in the embodiment of the invention, and the existence of an invention not described in the claims of this application, that is, in the future, a divisional application will be made. Nor does it deny the existence of an invention added by amendment.
[0022]
  That is, the information processing apparatus according to the present invention is configured to transmit light emitted by a transmission device that emits light with a predetermined blinking pattern.Consists of received light amount or differential value of received light amountLight receiving means (for example, the light receiving unit 141 in FIG. 4) that receives the signal, and storage means that stores a plurality of signals of the pixel of interest and pixels around the pixel of interest among the light signals received by the light receiving means. (For example, the storage unit 161 in FIG. 4) and a plurality of signals stored in the storage unitAny one of the signals, The signal received at the target pixelAsDecoding means for decoding (for example, ID decoding processing circuit 211 in FIG. 25)And the pixel of interest or the pixels around the pixel of interest with respect to the light reception time for receiving the light signal emitted by the transmitter in the entire pixel around the pixel of interest or the pixel of interest. A weight calculation step (for example, a weight calculation unit 281 in FIG. 25) for calculating a weight of a light reception time for receiving a signal of a pixel that has received at least part of a signal of emitted light, and a process of the weight calculation step Using the calculated weight, a position measurement step (for example, FIG. 25) that measures the position of the pixel that is regarded as having received the signal. ID Centroid calculation circuit 282) andIt is characterized by providing.
[0023]
  The information processing method according to the present invention also provides a method for transmitting light emitted from a transmitter that emits light with a predetermined blinking pattern.Consists of received light amount or differential value of received light amountAmong the signals, multiple signals of the pixel of interest and pixels around the pixel of interestAny one of the signals, The signal received at the target pixelAsDecoding step for decoding (for example, processing in step S76 in the flowchart of FIG. 27)And the pixel of interest or the pixels around the pixel of interest with respect to the light reception time for receiving the light signal emitted by the transmitter in the entire pixel around the pixel of interest or the pixel of interest. A weight calculation step (for example, processing in step S101 in the flowchart of FIG. 30) of calculating a weight of a light reception time during which the signal of the emitted light signal is received, and a weight calculation step. A position measurement step (for example, the process of step S103 in the flowchart of FIG. 30) for measuring the position of a pixel that is regarded as having received a signal using the weight calculated by the process;It is characterized by including.
[0024]
FIG. 1 is a block diagram showing a configuration of an embodiment of an information communication system according to the present invention.
[0025]
The information communication system in FIG. 1 includes a PC (Personal Computer) server 1, a control unit 2, information units 3-1 to 3-n, and a mobile terminal 4.
[0026]
The PC server 1 instructs the control unit 2 to output data at locations corresponding to the information units 3-1 to 3-n.
[0027]
The control unit 2 performs a function like a so-called switching control device, and designates any of the information units 3-1 to 3-n by a control signal based on a command from the PC server 1, Predetermined data is output and transmitted. The information units 3-1 to 3-n are two-dimensionally or one-dimensionally arranged with a plurality of optical beacons 11-1 to 11-6 on a plate-like plane, It is installed at the point. Further, the information units 3-1 to 3-n are carried by light by changing the blinking pattern for each of the optical beacons 11-1 to 11-6 based on a control signal from the control unit 2. Data is transmitted to the terminal 4. More specifically, each of the optical beacons 11-1 to 11-6 transmits ID (Identifier) data for identifying itself by each blinking pattern. However, the ID data includes various data. Therefore, a voice file for guidance is transmitted by using this function.
[0028]
The optical beacons 11-1 to 11-6 transmit data by emitting light in a predetermined light emission pattern. This data is called ID data, and identifies each of the optical beacons 11-1 to 11-6. Since there is a surplus in the amount of data that can be transferred, this data must be transmitted including other data. Is also possible. For example, data included in ID data includes content data (image data, audio data, text data, etc.), link destination data (URL (Uniform Resource Locator), data such as address, host name, etc.), and self However, the present invention is not limited to these, and any data that can be managed as electronic data can be transmitted. As described above, the optical beacons 11-1 to 11-6 can transmit not only ID data but also various data by changing the light emission pattern.
[0029]
Here, group identification data for identifying a group to which the user belongs will be described. For example, in FIG. 1, a group of a plurality of optical beacons 11 constituting each of the information units 3-1 to 3-n is referred to as a group, and data for identifying these groups is group identification data. Therefore, in this case, since the optical beacons 11-1 to 11-6 belong to the same group of the same information unit 3-1, they emit the same group identification data.
[0030]
Note that the information units 3-1 to 3-n and the optical beacons 11-1 to 11-6 are simply referred to as the information unit 3 and the optical beacon 11 when it is not necessary to distinguish them. Further, in this case, FIG. 1 shows an example in which there are six optical beacons 11 for one information unit 3, but any number can be used as long as a blinking pattern necessary for data transmission can be created. Any number can be used as long as the number is at least one.
[0031]
The portable terminal 4 is possessed by a user who wants to receive transmitted data, and the ID recognition camera 21 captures the data transmitted by the light by the blinking pattern of the optical beacon 11 from the information unit 3. And execute a predetermined process.
[0032]
Details of the ID recognition camera 21 and the optical beacon 11 will be described later.
[0033]
FIG. 2 is a block diagram showing the configuration of the PC server 1. A CPU (Central Processing Unit) 31 executes various processes according to a program stored in a ROM (Read Only Memory) 32 or a storage unit 38. A RAM (Random Access Memory) 33 appropriately stores programs executed by the CPU 31 and data. The CPU 31, ROM 32, and RAM 33 are connected to each other by a bus 34.
[0034]
An input / output interface 35 is connected to the CPU 31 via the bus 34. The input / output interface 35 is connected to an input unit 36 including a keyboard, a mouse, and a microphone, and an output unit 37 including a display and a speaker. The CPU 31 executes various processes in response to commands input from the input unit 36. Then, the CPU 31 outputs an image, sound, or the like obtained as a result of the processing to the output unit 37.
[0035]
The storage unit 38 connected to the input / output interface 35 is composed of, for example, a hard disk, and stores programs executed by the CPU 31 and various data. The communication unit 39 exchanges various data such as audio files with a device having a communication function via a network (not shown).
[0036]
The drive 40 connected to the input / output interface 35, when a magnetic disk 51, an optical disk 52, a magneto-optical disk 53, or a semiconductor memory 54 is mounted, drives them, and programs and data recorded there. Get etc. The acquired program and data are transferred to and stored in the storage unit 38 as necessary.
[0037]
Next, the configuration of the mobile terminal 4 will be described with reference to FIG.
[0038]
The configuration of the portable terminal 4 is basically the same as that of the PC server 1 of FIG. 2, and the CPU 71, ROM 72, RAM 73, bus 74, input / output interface 75, input unit 76, output unit 77, storage unit of the portable terminal 4. 78, drive 79, magnetic disk 91, optical disk 92, magneto-optical disk 93, and semiconductor memory 94 are the CPU 31, ROM 32, RAM 33, bus 34, input / output interface 35, input unit 36, output unit 37, PC server 1. This corresponds to the storage unit 38, the drive 40, the magnetic disk 51, the optical disk 52, the magneto-optical disk 53, and the semiconductor memory 54. However, since the portable terminal 4 has a configuration that places importance on portability, the processing speed and the storage capacity of the storage unit 78 are smaller than those of the PC server 1.
[0039]
An ID (Identifier) recognition camera 21 is connected to the input unit 76, and when the captured image and the optical beacon 11 are captured, ID data acquired by the blinking pattern is input. The
[0040]
Here, a detailed configuration of the ID recognition camera 21 will be described with reference to FIG. The light receiving unit 141 photoelectrically converts the light in the imaging region to be imaged into an electrical signal, and then outputs the electrical signal to the calculation unit 142. In addition, the light receiving element 151 of the light receiving unit 141 includes a complementary metal-oxide semiconductor (CMOS) element, and can operate at a higher speed than a conventional CCD (charge coupled device) element. More specifically, the light receiving element 151 photoelectrically converts the light in the imaging region to be imaged and outputs it to the amplifier 152. The amplifier 152 amplifies the photoelectrically converted electric signal input from the light receiving element 151 and outputs the amplified signal to the arithmetic unit 142 and the image processing unit 143.
[0041]
The storage unit 161 of the calculation unit 142 uses the amplified electrical signal input from the light receiving unit 141 as each pixel value of an imaged image, and the number of frames necessary for calculation processing in the comparison unit 162 described later in units of frames. Are stored, and output to the comparison unit 162 as appropriate. The comparison unit 162 performs calculation processing based on the value of the electrical signal stored in the storage unit 161, compares the calculation result with a predetermined reference value (= reference signal level), and outputs the comparison result to the output unit 163. Output. The output unit 163 generates a sensor output signal based on the comparison result and outputs the sensor output signal to the ID decode processing unit 144.
[0042]
The image processing unit 143 outputs the captured image supplied from the light receiving unit 141 to the input unit 76 (FIG. 3).
[0043]
The ID decode processing unit 144 decodes the sensor output signal, generates ID data and position data, and outputs them to the input unit 76 (FIG. 3).
[0044]
Next, the configuration of the comparison unit 162 will be described with reference to FIG.
[0045]
The difference calculation unit 181 between the positive frames and the difference calculation unit 183 between the negative frames of the comparison unit 162 detect 2M frames up to 2M frames before the currently captured image in order to detect a change in light. The difference value between them is obtained and output to the comparators 182 and 184, respectively. The comparators 182 and 184 compare the inputted difference values with predetermined threshold values Ref (+) and Ref (−), respectively, and supply a value of 1 or 0 to the output unit corresponding to the comparison result. More specifically, the positive inter-frame difference calculation unit 181 outputs 1 when the difference value is larger than the threshold value Ref (+), and 0 otherwise, and the negative inter-frame difference calculation unit 183 If the value is smaller than the threshold value Ref (-), 1 is output, otherwise 0 is output. M represents a positive integer. Further, for convenience of description, in the following description, it is assumed that Ref (+) = − Ref (−), but is not limited thereto.
[0046]
More specifically, the positive inter-frame difference calculation unit 181 calculates a positive 2M inter-frame difference as indicated by the following formula (1), and outputs it to the terminal 182a of the comparator 182.
[0047]
[Expression 1]
Figure 0004269220
Figure 0004269220
[0048]
Note that f (n) in Expression (1) indicates a pixel value at a predetermined pixel position in the nth frame, and the first term in Expression (1) is the (n−M−1) th from the nth frame. ) Shows the summation of the pixel values of the frame, and the second term shows the summation of the pixel values of the (n−M) th frame to the (n−2M−1) th frame. That is, the difference calculation unit 181 between the positive frames subtracts the sum of old pixel values far from the current frame from the sum of new pixel values close to the current frame in time series by calculating Expression (1). Is obtained as the difference between positive frames YP (M, n).
[0049]
Similarly, the negative inter-frame difference calculation unit 183 calculates a positive 2M inter-frame difference as indicated by the following formula (2), and outputs it to the terminal 184a of the comparator 184.
[0050]
[Expression 2]
Figure 0004269220
Figure 0004269220
[0051]
Note that the first term of equation (2) is the summation of pixel values from the (n−M) th frame to the (n−2M−1) th frame, and the second term is from the nth frame to the (n− M-1) Summation of the pixel value of the frame is shown. That is, the negative inter-frame difference calculation unit 183 subtracts the sum of new pixel values close to the current frame from the sum of old pixel values far from the current frame in a time series manner by calculating Expression (2). The value is obtained as a negative interframe difference YM (M, n).
[0052]
Further, the comparator 182 arbitrarily sets the positive inter-frame difference value YP (M, n) input to the terminal 182a and the reference value Ref (+) (reference value Ref (+) input to the terminal 182b. If the difference value YP (M, n) between the positive frames is larger than the reference value Ref (+), CP (n) = 1 is set as the comparison result in the nth frame in the subsequent stage. Conversely, when the difference value YP (M, n) between the positive frames is smaller than the reference value Ref (+), CP (n) = 0 is output to the subsequent stage as the comparison result in the nth frame.
[0053]
Similarly, the comparator 184 can arbitrarily set the negative inter-frame difference value YM (M, n) input to the terminal 184a and the reference value Ref (−) (reference value Ref (−) input to the terminal 184b. When the negative frame difference value YM (M, n) is smaller than the reference value Ref (-), CM (n) = 1 is output to the subsequent stage as the comparison result in the nth frame. Conversely, when the negative inter-frame difference value YM (M, n) is larger than the reference value Ref (−), CP (n) = 0 is output to the subsequent stage as the comparison result in the nth frame.
[0054]
The calculation unit 142 detects a signal transmitted by the light emission of the optical beacon 11 by the calculation as described above. The details of the signal detection method by the calculation unit 142 will be described later.
[0055]
Next, the detailed configuration of the ID decoding processing unit 144 will be described with reference to FIG. The ID decoding circuit 211 of the ID decoding unit 201 includes devices such as an IC (Integrated Circuit), an ASIC (Application Specific Integrated Circuit), and an FPGA (Field Programmable Gate Array), and a sensor output input from the image sensor 131. The ID data of each pixel is restored from the signal. The ID decoding circuit 211 may be configured by software by a microprocessor or DSP (Digital Signal Processor) as long as the processing capability is sufficient.
[0056]
The flag register 212 is a register for storing flags necessary for decoding ID data, and the data register 213 is a register for storing an ID that is being decoded or has been decoded.
[0057]
Although only one ID decoding unit 201 is shown in FIG. 6, it may be provided for each pixel, for example, in the vertical direction or in the horizontal direction depending on the processing speed requirement. It may be provided for each line.
[0058]
The timing control unit 202 outputs a timing control signal for controlling timing necessary for the entire operation of the ID decoding processing unit 144. More specifically, the timing control unit 202 synchronizes the timing of the sensor output signal with the ID decoding circuit 211, and the flag data of the corresponding frame memory 203 is stored in the flag register 212 for the desired sensor output signal. Each of the ID data is loaded into the data register 213 to generate a timing control signal for proceeding with the ID decoding process and supplied to the ID decoding unit 201 (the ID decoding circuit 211, the flag register 212, and the data register 213). To do. At this time, the timing control unit 202 generates and supplies timing control signals such as an address signal and read / write to the frame memory 203. Further, the timing control unit 202 generates and supplies a timing control signal for performing timing control of the ID register 221, the ID centroid calculation circuit 222, and the ID coordinate storage memory 205 of the centroid calculation unit 204.
[0059]
In the ID decoding processing unit 144, the error detection unit 210 of the ID decoding unit 201 outputs the sensor output signal supplied from the calculation unit 142, that is, the difference value between the positive frames supplied from the comparators 182 and 184 of the comparison unit 162. Based on YP (M, n) and negative frame difference value YM (M, n), the ID recognition camera 21 determines whether there is an error in the acquired ID data, and the determination result is ID This is supplied to the decoding circuit 211. Based on the determination result supplied from the error detection unit 210, the ID code circuit 211 decodes the input sensor output signal when no error is detected, and stops decoding when an error is detected. .
[0060]
The frame memory 203 is a memory for storing ID data and flag data obtained by decoding the sensor output signal calculated for each light receiving element 151 or the calculation unit 142, and the image sensor 131 has one calculation unit 142 for one pixel. , The image size of the sensor is the same size as M pixels × N pixels, and the data width is constituted by the sum of the bit widths of the flag register 212 and the data register 213. In FIG. 6, the coordinates corresponding to the position of each pixel are indicated by the I axis and the J axis, and ID data and flag data are stored at the respective coordinate positions.
[0061]
The center-of-gravity calculation unit 204 obtains the coordinates of the center-of-gravity position of the pixel on the captured image having the same ID data, and the position data as the detection position of the optical beacon 11 (= the position of the optical beacon 11 on the captured image) Data) and output. More specifically, the ID register 221 of the centroid calculation unit 204 is now stored in the frame memory 203 by a timing control signal indicating that predetermined ID data input from the timing control unit 202 has been decoded by the decoding unit 201. The ID data is read and output to the ID centroid calculation circuit 222. The ID center-of-gravity calculation circuit 222 sequentially adds the I coordinate and J coordinate of the corresponding pixel coordinate position, and the number of data for each input ID data, and stores them in the ID coordinate storage memory 205. Further, when one frame of data is stored in the frame memory 203, the ID center-of-gravity calculation circuit 222 divides the sum of I coordinates and J coordinates for each ID from the ID coordinate storage memory 205 by the number of data. To obtain the coordinates of the center of gravity and output it together with the ID data.
[0062]
Next, the configuration of the error detection unit 210 will be described with reference to FIG.
[0063]
The memory 231 of the error detection unit 210 stores the sensor output signal supplied from the calculation unit 142 for each pixel for a plurality of frames at a predetermined frame interval. More specifically, for example, when an image is captured at a frequency N times the blinking frequency of an optical beacon described later, when m frames are stored at an interval of N frames, for example, m frames are sequentially output in time series. When storing a signal and further storing a new sensor output signal, the oldest one of the stored m sensor output signals is deleted and a new sensor output signal is stored. As a result, the memory 231 always stores m latest sensor output signals.
[0064]
The comparison unit 232 performs comparison processing using the m sensor output signals stored in the memory 231 and outputs the comparison result to the determination unit 233.
[0065]
The determination unit 233 determines whether there is an error based on the comparison result supplied from the comparison unit 232 and outputs the determination result. Details of the comparison method of the comparison unit 232 and the determination method of the determination unit 233 will be described later.
[0066]
Next, the configuration of the optical beacon 11 will be described with reference to FIG. The optical beacon 11 in FIG. 7 can change data by communicating with other devices via a network (not shown). Here, the network is a wired / wireless communication line such as a telephone line, ISDN, RS-232C, RS-422, Ethernet (R) (10base-T, 100base-T), USB (Universal Serial Bus), IEEE ( Institute of Electrical and Electronic Engineers) An environment in which data communication with other devices can be performed by communication means such as 1394, IEEE802.11a, IEEE802.11b, and BlueTooth. The data transmission / reception unit 251 includes a data communication IC and driver corresponding to the communication unit, and outputs the transmission data of the optical beacon 11 received via the network to the Manchester encoding unit 252. The Manchester encoding unit 252 performs Manchester encoding on the transmission data supplied from the data transmission / reception unit 251 and outputs the encoded transmission data to the blinking control unit 253. The blinking control unit 253 generates a blinking pattern corresponding to the transmission data converted into the input Manchester code, and causes the light emitting unit 254 to emit light.
[0067]
Here, Manchester encoding will be described. As shown in FIG. 9, Manchester encoding is an encoding method for expressing 0 signal as 10 and 1 signal as 01 for transmission data converted into a digital signal. Here, 1 indicates that the light emitting unit 254 is turned on, and 0 indicates that the light emitting unit 254 is turned off.
[0068]
In the Manchester encoded transmission data, a “start code” is added before the converted data, so that the start position of the transmission data can be confirmed. The start code is, for example, “00001” as shown in FIG. In FIG. 10, the left side in the figure is LSB (Least Significant Bit), and the right side is MSB (Most Significant Bit).
[0069]
For example, when 8-bit transmission data “10010010” is Manchester-encoded, that is, when 73 is to be transmitted as transmission data, the transmission data has a binary number 1/0 indicating ON / OFF. The light emitting unit 254 is controlled by the blinking control unit 253 so as to be “OFF-ON → ON-OFF → ON-OFF → OFF-ON → ON-OFF → ON-OFF → OFF-ON → ON-OFF”. It will be.
[0070]
As a result of Manchester encoding in this way, three or more signals that take 1 or 0 do not continue, and each transmission section always flashes, and the light emitting unit 254 is in an OFF state for a long time. It is prevented that the light emitting unit 254 is left or the light emitting unit 254 is kept in the ON state, and the discrimination from the ambient light is relatively easy, so that stable communication is possible.
[0071]
Furthermore, the transmission data is not limited to those supplied via the network. For example, as shown in FIG. 11, a transmission data storage memory 291 is provided in place of the data transmission / reception unit 251 to send a command to be transmitted in advance. You may make it memorize | store.
[0072]
Next, the operation of the ID recognition camera 21 will be described.
[0073]
The light receiving element 151 of the light receiving unit 141 photoelectrically converts the light and outputs the converted electric signal to the amplifying unit 152. The amplifying unit 152 amplifies the electric signal and outputs the amplified electric signal to the arithmetic unit 142 and the image processing unit 143. The storage unit 161 of the calculation unit 142 sequentially stores the electrical signals input from the light receiving unit 141, stores the electrical signals for 2M frames, and when full, erases the electrical signals of the oldest frame and updates The process of storing the electrical signal of the current frame is repeated to always store the latest 2M frames of electrical signals, and the 2M frames of electrical signals are output to the comparator 162.
[0074]
The comparison unit 162 performs arithmetic processing such as Equation (1) and Equation (2) described above using the electrical signals for 2M frames continuous in time stored in the storage unit 161 as luminance signals, and outputs the output unit 163 outputs the calculation result to the ID decode processing unit 144 as a sensor output signal. Details of the operation of the comparison unit 162 will be described later.
[0075]
The image processing unit 143 converts the image signal supplied from the light receiving unit 141 into a processable format and outputs it as image data.
[0076]
Next, the operation of the ID decoding processing unit 144 will be described.
[0077]
The error detection unit 210 of the ID decode processing unit 201 determines whether or not there is an error in the sensor output signal supplied from the calculation unit 142 and outputs the determination result to the ID decode circuit 211.
[0078]
For example, when an error is detected based on the error determination result from the error detection unit 210, the ID decoding circuit 211 waits for the next error determination result without executing the subsequent processing. When an error determination result indicating that there is no error is sent, the ID decoding circuit 211 receives an input from the image sensor 131 based on a timing control signal for synchronizing the timing of the sensor output signal from the timing control unit 202. The ID data of each pixel is restored from the sensor output signal. At this time, the ID decoding circuit 211 controls the flag register 212 according to the timing control signal, decodes the ID data from the sensor output signal using the flag data loaded in the frame memory 203, The ID that has been decoded is stored in the data register 213. Details of the error determination process will be described later.
[0079]
Further, the frame memory 203 stores the flag data and the ID data subjected to these decoding processes at corresponding coordinate positions.
[0080]
The ID register 221 of the center-of-gravity calculation unit 204 uses the timing control signal indicating that the predetermined ID data input from the timing control unit 202 has been decoded by the decoding unit 201 to store information on the ID data currently stored in the frame memory 203. Is read out by the ID centroid calculating circuit 222.
[0081]
The ID centroid calculation circuit 222 sequentially adds the I coordinate and the J coordinate of the pixel coordinate position corresponding to the read ID data, attaches the information on the number of pixels to the ID coordinate storage memory 205, and stores it. This process is repeated.
[0082]
When data for one frame is stored in the frame memory 203, the ID centroid calculation circuit 222 divides the sum of the I coordinates and the sum of the J coordinates by the number of data for each ID from the ID coordinate storage memory 205. Thus, the coordinates of the center of gravity position are obtained as position data and output together with the corresponding ID data.
[0083]
With the above operation, for example, as shown in FIG. 12, when two optical beacons 11-1 and 11-2 emit light while flashing and transmit data, the ID recognition camera 21 has the upper part of FIG. The light signal is received by the pixel at the position on the captured image corresponding to the physical position of the optical beacons 11-1 and 11-2 in the real space as shown in FIG. For example, the light emitted from the optical beacon 11-1 is received by the light receiving element 151 at the coordinate position (10, 10), and the light emitted from the optical beacon 11-2 is at the coordinate position (90, 90). It is assumed that light is received by the light receiving element 151. At this time, in the light receiving elements 151 at the coordinate positions (10, 10) and (90, 90) of the respective light receiving units 141, the time of the light receiving intensity (brightness) is determined by the blinking patterns of the optical beacons 11-1 and 11-2, respectively. A signal can be received as a change. In this case, the pixel corresponding to the position data of the coordinates (10, 10) has “321” as the ID data, and the pixel corresponding to the position data of the coordinates (90, 90) has the ID data of 105 as the decoding result. It has been demanded.
[0084]
As a result, ID data including a 1/0 bit string can be obtained by binarizing the change in the received light intensity using the above-described equation (1).
[0085]
Next, a signal detection method using inter-frame differences by the calculation unit 142 will be described.
[0086]
The simplest method for detecting a signal transmitted by the light beacon 11 emitting light is to binarize the received light amount by comparing it with a predetermined threshold value, and to convert the received light amount into a digital signal of 1, 0. How to convert. This method is the simplest and easy to implement. However, when the ambient brightness changes, the method of binarizing compared to a fixed threshold value cannot achieve stable data transmission.
[0087]
Therefore, in the present invention, in order to detect a change in light, the storage unit 161 stores (samples) the amount of received light at a predetermined rate and in units of frames, and between a plurality of frames that are continuous in the time direction. By comparing the amounts of received light, signals can be detected stably.
[0088]
For example, if the frame number that increases as time passes is n, and the amount of light received for each pixel between each sampled frame is f (n), the amount of change in light of one pixel is Y = f (n ) −f (n−1), and it is detected that light is dark → light when Y> 0 and light → dark when Y <0.
[0089]
Y = f (n) −f (n−1) described above is defined as a difference between two frames, and further expanded to define a difference between 2M frames. Here, M is a positive integer. Specifically, when M = 1, Y = f (n) -f (n-1), and when M = 2, Y = f (n) + f (n-1) -f (n-2 ) -f (n-3), M = 3, Y = f (n) + f (n-1) + f (n-2) -f (n-3) -f (n-4)- f (n-5). That is, the difference between 2M frames of the nth frame is obtained by YP (M, n) defined by the above-described equation (1) and YM (M, n) defined by the equation (2).
[0090]
When obtaining the inter-frame difference using the above formulas (1) and (2), the greater the M, the higher the light detection sensitivity (the sharpness of the change in the computation results of the formulas (1) and (2)). Become. However, on the other hand, when M increases, the number of frames to be stored per unit time on the light receiving side, that is, if the sampling frequency is fixed, if the light blinking frequency is not reduced, only the set number of frames can be stored. As a result, the data transfer efficiency deteriorates.
[0091]
That is, as shown in FIG. 13, the horizontal axis is the time axis, the sampling time (interval between frames) is Δt, and the blinking of the optical beacon 11 is turned on from the OFF state as shown by the solid line waveform, and then turned off. In this case, when the received light amount received by the light receiving unit 141 at each sampling time is represented on the vertical axis, the waveform is as shown by a one-dot chain line in FIG. Here, in the sampling period (time t3 to t4 and time t8 to t9) in which the received light amount changes, the received light amount is smaller than the received light amount when the optical beacon 11 is turned on, but is larger than the OFF state. Become.
[0092]
When the optical beacon 11 is turned on, as shown by the solid line in FIG. 13, when the sampling interval is from time t4 to t8, the optical beacon 11 is turned on (the light is emitted). When the sampling interval is from time t9 to t10, the received light amount changes to the received light amount when the optical beacon 11 is turned off (no light is emitted).
[0093]
Therefore, when a change in light is detected with YP (1, n) (= (f (n) −f (n−1)) which is a positive difference between two frames, a difference between two frames (difference between positive frames YP (1, n)) changes as shown by the two-dot difference line in FIG. 13, and the positive two-frame difference YP (1, n) is received in one sampling period when the optical beacon 11 is in the ON state. In other words, at time t3 to t5 and time t8 to t10, the difference between the positive two frames YP (1, n) is the state in which the optical beacon 11 is ON. It is always a small value with respect to the amount of light received in one sampling section.
[0094]
On the other hand, the change of the light with the difference between positive 4 frames YP (2, n) (= f (n) + f (n-1) -f (n-2) -f (n-3)) When detected, as indicated by a three-dot difference line in FIG. 13, a change in light is detected at times t5 to t6 and t9 to t10, and the positive inter-frame difference YP (2, n) is the maximum level. Thus, a value larger than the absolute value of the received light amount when the optical beacon 11 is ON is taken. Therefore, the positive inter-frame difference YP (2, n) (= f (n) + f (n-1) -f (n-2) -f (n-3)) is the positive inter-frame difference. Compared with YP (1, n) (= f (n) + f (n-1)), a signal with higher sensitivity can be detected.
[0095]
Of course, an inter-frame difference calculation using more frames may be used (for example, a difference between 6 frames). However, as the number of frames for which the difference is taken is increased, the blinking frequency needs to be delayed.
[0096]
In addition, in order to detect a change in light stably, the frame rate of the light receiving unit 141 must have a relationship of N times or more the blinking frequency of the optical beacon 11. Here, N is a value determined by a method for detecting a change in light. In the difference between 2 frames, N> 2, and in the difference between 4 frames, N> 3. That is, in the case of a difference between 2M frames (where M is a positive integer), N> M + 1. Here, since a smaller value of N can increase the data transfer rate even at the same frame rate, it is optimized by setting N = M + 1. In the following, the solid line, the one-dot chain line, the two-dot chain line, and the three-dot chain line represent the light emission state, the amount of received light, the difference between two frames, and the difference between four frames, respectively.
[0097]
Here, M = 1, that is, N = 2 or more in the case of a difference between two frames, as is clear from the sampling theorem unless sampling is performed at a frequency twice or more of the frequency of the original signal. This is because the original signal cannot be restored from the sampling result.
[0098]
For example, as indicated by a solid line in FIG. 14, when the optical beacon 11 is turned ON or OFF, in the period from time t2 to time t6 in FIG. In a section from t6 to t13, each received light amount and a positive difference between two frames when sampling is performed with a relationship of N = 2. As can be seen from the change indicated by the two-dot chain line in FIG. 14 (particularly, from time t3 to t6 (portion indicated by range A in the figure)), a positive difference between two frames YP in the interval of N = 1. (1, n) (= f (n) -f (n-1)) is smaller than the amount of received light (change indicated by the one-dot chain line in FIG. 14) (flashing pattern and sampling). Depending on the phase of the frequency, even if there is a change in light, YP (1, n) becomes 0), which shows that stable detection is difficult. However, in the section of N = 2 (the part indicated by the range B in the figure), the value of YP (1, n) takes a larger value than the amount of received light for every N frames (N = 2) and is stable. It can be seen that this detection is possible.
[0099]
Next, it will be described that N = 3 is optimal when M = 2, that is, a difference between four frames. FIG. 15 shows a change in signal level when the difference between the four frames is M = 2 and N = 2. Since the light source is blinking at a frequency twice as high as the sampling rate of the light receiving unit, even when the positive difference between the four frames is positive and negative and the maximum value, the rising and rising of the optical beacon 11 is calculated in four frames to be calculated. Since the downstream signal is included, it is understood that the received light signal is canceled by positive and negative, and the positive difference value between the four frames does not become larger than the received light amount (becomes less than the received light amount for one sampling time). For example, from time t6 to t7, the difference between the four frames (the range of four frames indicated by the arrow in the figure) is one of the sections having the negative maximum value. Here, the difference between the four frames is YP ( 2, n) = f (t6-t7) + f (t6-t5) -f (t5-t4) -f (t4-t3), and f (t4-t3) and f (t6-t5) are both positive Therefore, YP (2, n) will become smaller.
[0100]
However, as shown in FIG. 16, in the case of M = 4 and N = 3, when the positive difference value between the four frames is positive and negative and takes the maximum value (t5-t4, t8-t7, t11-t10). , t14-t13), both the rising and falling of the blinking by the optical beacon 11 are not included in the four calculated frames, and the received light signal does not cancel out positively or negatively. Can get a big signal. It can be seen that the positive maximum value is taken around the rising edge of the blinking pattern of the optical beacon 11 every N samplings, and the negative maximum value is taken around the falling edge. Therefore, it can be seen that the original signal encoded by Manchester encoding can be restored using the positive difference value YP between four frames every N frames.
[0101]
Therefore, the optimal combination of N and M is such that as the value of M increases, the difference value between 2M frames changes with higher sensitivity. However, when M is increased (when the number of frames used in the operation is increased), N> M + 1 Therefore, N must also be increased (the number of samplings must be increased), and the efficiency of data transmission that can be transmitted at the same blinking frequency is deteriorated. It is necessary to decide in consideration of the balance.
[0102]
In the present embodiment, description will be given mainly by taking a difference between two frames and a difference between four frames as an example. However, the present invention is applicable to a difference between 2M frames (M is a positive integer), and does not limit M to 2 or 1.
[0103]
In the above description, only the positive inter-frame difference has been described, but the same can be said for the negative inter-frame difference (corresponding to the above equation (2)). Since the negative inter-frame difference is the same as the positive inter-frame difference, description thereof is omitted.
[0104]
Next, the light emission process for transmitting the transmission data by the optical beacon 11 will be described with reference to the flowchart of FIG.
[0105]
In step S <b> 1, the data transmission / reception unit 251 receives transmission data transmitted from the control unit 2 and outputs the transmission data to the Manchester encoding unit 252.
[0106]
In step S <b> 2, the Manchester encoding unit 252 encodes the transmission data supplied from the data transmission / reception unit 251 with Manchester encoding and supplies the transmission data to the blinking control unit 253 as described with reference to FIGS. 9 and 10.
[0107]
In step S3, the blinking control unit 253 controls the light emission of the light emitting unit 254 based on the transmission data supplied from the Manchester encoding unit 252 and encoded by Manchester, and the processing returns to step S1. The subsequent processing is repeated. That is, under such control, the light emitting unit 254 repeats light emission corresponding to the transmission data. Moreover, the information unit 3 controls the blink pattern of the some optical beacons 11-1 thru | or 11-6, and transmits transmission data.
[0108]
Next, with reference to the flowchart of FIG. 18, the transmission data acquisition process transmitted by the blinking of the optical beacon 11 by the ID recognition camera 21 will be described.
[0109]
In step S <b> 11, the light receiving element 151 of the light receiving unit 142 photoelectrically converts the light of the imaging region to be imaged and outputs the light to the amplifier 152.
[0110]
In step S <b> 12, the amplifier 152 amplifies the photoelectrically converted electric signal input from the light receiving element 151 and outputs the amplified signal to the calculation unit 142 in units of frames.
[0111]
In step S13, the storage unit 161 of the calculation unit 142 sequentially stores the amplified electric signal supplied from the light receiving unit 141, that is, the pixel value for each pixel in units of frames. At this time, since the storage unit 161 can store the pixel values for a plurality of 2M frames, the pixel value of the oldest frame is deleted and the pixel values of the new frame are sequentially stored. In the following description, it is assumed that M = 2.
[0112]
In step S14, the comparison unit 162 reads the pixel values for 2M frames stored in the storage unit 161 and executes comparison processing.
[0113]
Here, the comparison processing by the comparison unit 162 will be described with reference to the flowchart of FIG.
[0114]
In step S21, the difference calculation unit 181 between the positive frames of the comparison unit 162 uses the 2M frame information stored in the storage unit 161 for each pixel to display the positive frame represented by the above formula (1). The difference YP (M, n) is calculated and output to the terminal 182a of the comparator 182.
[0115]
In step S22, the comparator 182 of the comparison unit 162 compares the difference YP (M, n) between the positive frames supplied to the terminal 182a with the reference value Ref (+) supplied to the terminal 182b, and compares between the positive frames. When the difference YP (M, n) is larger than the reference value Ref (+), the comparison result CP (n) = 1 is output. Otherwise, the comparison result CP (n) = 0 is output.
[0116]
In step S23, the positive inter-frame difference calculation unit 183 of the comparison unit 162 uses the 2M frame information stored in the storage unit 161, and for each pixel, the negative frame expressed by the above-described equation (2). The difference YM (M, n) is calculated and output to the terminal 184a of the comparator 184.
[0117]
In step S24, the comparator 184 of the comparison unit 162 compares the negative inter-frame difference YM (M, n) supplied to the terminal 184a with the reference value Ref (−) supplied to the terminal 184b, and compares the negative frame difference. When the difference YM (M, n) is smaller than the reference value Ref (−), the comparison result CM (n) = 1 is output, and otherwise, CM (n) = 0 is output.
[0118]
In step S <b> 25, the output unit 163 outputs the comparison results CM (n) and CP (n) supplied from the comparators 182 and 184 to the ID decode processing unit 144.
[0119]
Now, the description returns to the flowchart of FIG.
[0120]
When the comparison process in step S14 ends, the process returns to step S11, and the subsequent processes are repeated.
[0121]
That is, by the process described with reference to the flowchart of FIG. 18, the optical beacon 11 blinks, and the transmitted light is received by receiving the emitted light, and transmitted to the ID decoding processing unit 144. Repeat the process of supplying data.
[0122]
The above process will be described in more detail. As shown in FIG. 20, in the process of step S11, the amount of light received by the light receiving unit 141 is 0 from time t1 to t13, and from time t13 to t14, The amount of received light is accumulated between t13 + α and t14. That is, assuming that the amount of light received when the optical beacon 11 continues to emit light between times t13 and t14 is 1, the amount of light received at times t13 to t14 is (t14−t (13 + α)) / ( t14-t13).
[0123]
In FIG. 20, the top row indicates the transmission data. In this case, “start code”, “data 1st bit” is 1 and “data 2nd bit” is 0. The second row shows Manchester-encoded data. In this case, “000010110” is shown from the top. The third level indicated by the solid line indicates the light emission state by the optical beacon 11, where the Hi state indicates a light emission state, and the Low state indicates a light emission state. The fourth level indicated by the one-dot chain line indicates the amount of light received by the light receiving element 141, and the fifth level indicates the difference between the positive frames, Ref (+), and Ref (−) indicates reference values of the comparators 182 and 184, respectively. Although the negative inter-frame difference is not shown, the negative inter-frame difference is a value obtained by inverting the positive inter-frame difference in FIG.
[0124]
The sixth stage and the seventh stage show the outputs of the comparators 182 and 184, respectively. In this case, the sixth stage is at time t1 to t14, time t16 to t20, and time t22 to t28. , 0 indicates that 1 is output at times t14 to t16 and times t20 to t22. The seventh row shows that 0 is output at times t1 to t17 and t19 to t26, and 1 is output at times t17 to t19 and t26 to t28. Further, the time interval between the frames is assumed to be constant at Δt.
[0125]
From time t14 to t15 and from time t15 to t16, as indicated by the solid line, the optical beacon 11 continues to emit light, so the amount of received light is 1 as indicated by the one-dot chain line.
[0126]
Furthermore, during time t16 to t17, as indicated by the solid line, light is emitted only during time t16 to t (16 + α), so the amount of received light is as indicated by the one-dot chain line, α / (t17−t16).
[0127]
Further, since the optical beacon 11 indicated by the solid line in FIG. 20 is not emitting light between the times t17 and t19, the received light amount received as indicated by the one-dot chain line in FIG. Becomes 0.
[0128]
Further, since the amount of light received between times t19 and t20 is substantially the amount of light received during times t (19 + α) to t20 during which light is emitted, as indicated by the solid line, 1 As indicated by the dotted line, (t20−t (19 + α)) / (t20−t19).
[0129]
Further, since the optical beacon 11 indicated by the solid line in FIG. 20 is emitting light between the times t20 and t25, the received light amount received as indicated by the one-dot chain line in FIG. Becomes 1.
[0130]
Furthermore, during time t25 to t26, as indicated by a solid line, light is emitted only during time t25 to t (25 + α), so the amount of received light is as indicated by a one-dot chain line, α / (t26−t25).
[0131]
After time t26, as indicated by the solid line, the optical beacon 11 is not emitting light, so the amount of received light is 0 as indicated by the one-dot chain line.
[0132]
Then, according to the above received light amount, the positive inter-frame difference calculation unit 181 performs the calculation of the above-described equation (1). More specifically, since the received light amount f (n) is 0 in all frames from time t1 to time t13, the difference between the positive frames is 0 as shown by the three-dot chain line in FIG.
[0133]
The difference between positive frames YP (2, t14-t13) in the frame f (t14-t13) corresponding to the times t13 to t14 is f (t14-t13) + f (t13-t12) -f (t12-t11) -f. (T11−t10), which is the value of the difference between positive frames at times t13 to t14 indicated by the three-dot chain line in FIG.
[0134]
Similarly, the positive inter-frame difference YP (2, t15-t14) in the frame f (t15-t14) corresponding to the times t14 to t15 is f (t15-t14) as shown by the three-dot chain line in FIG. + F (t14-t13) -f (t13-t12) -f (t12-t11).
[0135]
Further, the difference YP (2, t16-t15) between the positive frames in the frame f (t16-t15) corresponding to the times t15 to t16 is represented by f (t16-t15) + f as shown by a three-dot chain line in FIG. (T15-t14) -f (t14-t13) -f (t13-t12).
[0136]
Further, the positive inter-frame difference YP (2, t17−t16) in the frame f (t17−t16) corresponding to the times t16 to t17 is represented by f (t17−t16) + f as indicated by a three-dot chain line in FIG. (T16-t15) -f (t15-t14) -f (t14-t13).
[0137]
Further, the positive inter-frame difference YP (2, t18-t17) in the frame f (t18-t17) corresponding to the times t17 to t18 is represented by f (t18-t17) + f as shown by a three-dot chain line in FIG. (T17-t16) -f (t16-t15) -f (t15-t14).
[0138]
Similarly, from time t18 to t19, f (t19−t18) + f (t18−t17) −f (t17−t16) −f (t16−t15), and from time t19 to t20, f (t20−t19). ) + F (t19-t18) -f (t18-t17) -f (t17-t16), and from time t20 to t21, f (t21-t20) + f (t20-t19) -f (t19-t18) -f (T18-t17), from time t21 to t22, f (t22-t21) + f (t21-t20) -f (t20-t19) -f (t19-t18), and from time t22 to t23, f (t23 -T22) + f (t22-t21) -f (t21-t20) -f (t20-t19), and from time t24 to t25, f (t25-t24) + (T24-t23) -f (t23-t22) -f (t22-t21), and from time t25 to t26, f (t26-t25) + f (t25-t24) -f (t24-t23) -f (t23 −t22), f (t27−t26) + f (t26−t25) −f (t25−t24) −f (t24−t23) from time t26 to t27, and f (t28−t27) from time t27 to t28. ) + F (t27-t26) -f (t26-t25) -f (t25-t24).
[0139]
Accordingly, the comparison result between the positive inter-frame difference and the positive reference value Ref (+) obtained by calculating the above equation (1) is as shown by the three-dot chain line in FIG. In this case, since the difference between positive frames becomes larger than the positive reference value Ref (+) at times t14 to t16 and t20 to t22, the comparison result CP (n) output from the comparator 182 It is 1 at t14 to t16 and time t20 to t22, and is 0 at other times.
[0140]
The difference between the negative frames obtained by calculating the above-described equation (2) indicates a relationship in which the difference between the positive frames indicated by the three-dot chain line in FIG. Is omitted.
[0141]
In addition, the comparison result between the negative frame difference and the negative reference value Ref (-) is the difference between the positive frame difference and the value obtained by reversing the positive / negative of the negative reference value Ref (-) (-Ref (-)). It becomes the same value as the comparison result. Therefore, in this case, at times t17 to t19 and times t26 to t28, the negative inter-frame difference becomes larger than the negative reference value Ref (−) (as shown by a three-dot chain line in FIG. 20). Since the difference between the positive frames is smaller than the value obtained by reversing the positive / negative of the negative reference value Ref (-) (-Ref (-)), the comparison result CM (n) output from the comparator 184 is the time t17. From 1 to t19 and from time t26 to t28, it is 1, and at other times it is 0.
[0142]
Next, ID decoding processing by the ID decoding processing unit 144 will be described with reference to the flowchart of FIG.
[0143]
In step S31, the ID decoding circuit 211 of the ID decoding processing unit 144 resets and initializes a counter (not shown).
[0144]
In step S32, the ID decoding circuit 211 of the ID decoding processing unit 144 executes a start code detection process.
[0145]
Here, the start code detection processing by the ID decoding circuit 211 will be described with reference to the flowchart of FIG.
[0146]
In step S41, the ID decoding circuit 211 of the ID decoding processing unit 144 has both of the comparison results CP (n) and CM (n) supplied from the calculation unit 142 being 0 continuously for 12 frames or more. It is determined whether or not. More specifically, when the comparison results CP (n) and CM (n) are both 0 and are continuously input, the ID decode processing unit 144 increments a counter (not shown) by one, It is determined whether or not the value is 12 or more. This counter is reset when either of the comparison results CP (n) and CM (n) is input as 1.
[0147]
In step S41, since the start code is “00001” as described above, for example, as shown in FIG. 20, the optical beacon 11 blinks as shown by the solid line. That is, the optical beacon 11 emits light from time t (13 + α) to time t (t19 + α) in a state where light is not emitted from time t (1 + α) to t (13 + α). Send the code as send data.
[0148]
Accordingly, as shown in FIG. 20, since it is not determined to be 0 continuously for 12 frames or more from time t1 to t12, the process proceeds to step S45, and the error detection unit 210 detects the start code. The process proceeds to step S33 (flowchart in FIG. 21).
[0149]
Here, it returns to the flowchart of FIG.
[0150]
In step S33, it is determined whether or not a start code is detected. In this case, in step S45, since the start code is not detected, it is determined that the start code is not detected, and the processing is performed in step S32. Return to.
[0151]
That is, the processes of steps S32 and S33 are repeated until it is determined that the frame is continuously 0 for 12 frames or more.
[0152]
Now, the description returns to the flowchart of FIG.
[0153]
In this case, for example, at times t1 to t13 shown in FIG. 20, the processes of steps S32 and S33 are repeated 12 times. For example, in the case of a frame corresponding to times t12 to t13 of FIG. In step S41, it is determined that it is 0 continuously for 12 frames or more, and the process proceeds to step S42.
[0154]
In step S42, the ID decoding circuit 211 determines whether or not the comparison result CP (n) of the comparator 182 is 1. That is, it is determined whether 1 which is the end of the start code is detected. For example, as shown in FIG. 20, after the start code “0000” is detected in the frames corresponding to the times t12 to t13, the comparison result CP (t14-t13) is 1 at the times t13 to t14. Since there is no such process, the process proceeds to step S45. Accordingly, in this case, the processes of steps S33 and S32 are repeated.
[0155]
Further, for example, in the case of times t13 to t14 which are subsequent timings, the comparison result CP (t15-t14) is 1, as shown in FIG. 20, in step S42, so “1” corresponding to the end of the start code. The process proceeds to step S43.
[0156]
In step S43, the ID decoding circuit 211 determines whether or not the comparison result CP (n + 1) of the comparator 182 is 1. For example, as shown in FIG. 20, it is determined that the comparison result CP (t16-t15) is 1 from time t15 to time t16, and the process proceeds to step S44.
[0157]
In step S44, the ID decoding circuit 211 recognizes that a start code has been detected.
[0158]
That is, in the same manner as the processing in step S42, in step S43, the ID decoding circuit 211 determines whether 1 is detected at the end of the start code, thereby determining whether 1 is detected in succession for two frames. Determine. This is because, in this case, the Manchester-encoded signal is supplied at intervals of 3 frames. In this case, as shown in FIG. 20, the Manchester-encoded signal is correctly received. Since 1 is always detected continuously for two frames, the presence or absence of 1 as the end of the start code is detected by detecting this.
[0159]
Returning to the flowchart of FIG.
[0160]
In step S34, the ID decoding circuit 211 causes the error detection unit 210 to start error detection processing. Details of the error detection processing of the error detection unit 210 will be described later.
[0161]
In step S <b> 35, the ID decoding circuit 211 determines whether an error is detected by the error detection processing of the error detection unit 210, and determines whether there is an error based on the error detection result supplied from the error detection unit 210. To do.
[0162]
For example, if a notification indicating that no error has been detected is input from the error detection unit 210 in step S35, the ID decoding circuit 211 determines that no error has been detected, and the process is performed in step S36. Proceed to
[0163]
In step S36, the ID decoding circuit 211 decodes the ID data as described above based on the input sensor output signal, and stores it in the frame memory 203. Further, the ID centroid calculation circuit 222 controls the ID register 221 to read the coordinate position corresponding to the decoded ID data, and sequentially stores the coordinate position in the ID coordinate storage memory 205 while integrating the coordinate position.
[0164]
In step S37, the ID centroid calculation circuit 222 reads the coordinate position stored in the ID coordinate storage memory 205 for each ID data, and obtains the centroid position of the coordinate position corresponding to the ID data, that is, for each coordinate position. The center-of-gravity position is obtained by dividing the integrated value by the number of ID data added, and obtained as coordinate information of the ID data.
[0165]
In step S38, the ID decoding circuit 211 determines whether or not the data is ended based on the presence or absence of the supplied sensor output signal. For example, if it is determined that the data is not ended, the process Returning to S35, the subsequent processing is repeated.
[0166]
If it is determined in step S38 that the input sensor output signal has disappeared and the data has been completed, in step S39, the error detection unit 210 is instructed to stop the error detection process, and the process is performed. Returns to step S32, and the subsequent processing is repeated.
[0167]
Next, error detection processing will be described with reference to the flowchart of FIG.
[0168]
In step S51, the determination unit 233 of the error detection unit 210 sets a counter m (not shown) to 2. In step S52, the determination unit 233 of the error detection unit 210 initializes a counter k (not shown) to 2.
[0169]
In step S53, the memory 231 of the error detection unit 210 determines whether or not a sensor output signal for one frame is input, and the process is repeated until a sensor output signal for one frame is input.
[0170]
If it is determined in step S53 that a sensor output signal for one frame has been input, in step S54, the determination unit 233 of the error detection unit 210 increments the counter k by one.
[0171]
In step S55, the determination unit 233 determines whether or not the counter k has reached 3. If it is determined that the counter k has not reached 3, the process returns to step S53, and the subsequent processing is repeated. That is, the processes of steps S53 to S55 are repeated until the counter k becomes 3.
[0172]
If it is determined in step S55 that the counter k is 3, that is, if it is determined that a sensor output signal for one frame has been supplied, in step S56, the memory 231 is a sensor output signal. The comparison results CP (n) and CM (n) of the comparators 182 and 184 of the comparison unit 162 of the unit 142 are stored.
[0173]
In step S57, the comparison unit 232 stores the comparison results CP (n) and CM (n) as (CP (n), CM (n)) = (0, 0), (0, 1), or It is determined whether or not (1, 0). More specifically, the comparison unit 232 compares (CP (n), CM (n)) with (0, 0), (0, 1), and (1, 0), respectively, and compares the results. Is supplied to the determination unit 233. The determination unit 233 determines whether or not (CP (n), CM (n)) = (0, 0), (0, 1), or (1, 0) based on the comparison result. . For example, if (CP (n), CM (n)) = (0, 0), (0, 1) or (1, 0) in step S57, the process proceeds to step S58.
[0174]
In step S58, the determination unit 233 determines that the stored comparison results CP (n) and CM (n) are (CP (n), CM (n)) ≠ (CP (n-3), CM (n-3). ). More specifically, the comparison unit 232 compares (CP (n), CM (n)) with (CP (n-3), CM (n-3)), and outputs the comparison result to the determination unit 233. . Based on the comparison result, the determination unit 233 determines whether (CP (n), CM (n)) ≠ (CP (n-3), CM (n-3)). In step S58, for example, it is determined that the comparison results CP (n) and CM (n) are (CP (n), CM (n)) ≠ (CP (n-3), CM (n-3)). If so, the process proceeds to step S59.
[0175]
In step S59, the determination unit 233 increments the counter m by 1. In step S60, the determination unit 233 determines whether or not the counter m is 2. For example, when it is determined that the counter m is 2, the process proceeds to step S61.
[0176]
In step S61, the determination unit 233 determines whether the comparison results CP (n) and CM (n) are CP (n) = CM (n) = 0. More specifically, the comparison unit 232 compares CP (n) and CM (n) with 0, and outputs the comparison result to the determination unit 233. Based on the comparison result, the determination unit 233 determines whether the comparison results CP (n) and CM (n) are CP (n) = CM (n) = 0.
[0177]
When it is determined in step S61 that the comparison results CP (n) and CM (n) are not CP (n) = CM (n) = 0, in step S62, the determination unit 233 notifies that there is no error. The data is output to the ID decoding circuit 211.
[0178]
In step S63, the determination unit 233 determines whether or not the end of the process is instructed from the ID decoding circuit 211. If it is determined that the end of the process is not instructed, the process proceeds to step S64.
[0179]
In step S64, the determination unit 233 initializes the counter m to 0, and the process returns to step S53.
[0180]
If it is determined in step S57 that (CP (n), CM (n)) = (0, 0), (0, 1), or (1, 0), in step S58, (CP (n n), CM (n)) ≠ (CP (n-3), CM (n-3)), or in step S61, the comparison results CP (n) and CM (n) are If it is determined that CP (n) = CM (n) = 0, the process proceeds to step S66, and the determination unit 233 notifies the ID decoding circuit 211 that an error has been detected. The process proceeds to step S63.
[0181]
If it is determined in step S60 that the counter m is not 2, the determination unit 233 initializes the counter k to 0 in step S65, the process returns to step S53, and the subsequent processes are repeated.
[0182]
That is, by repeating the processing of steps S53 to S55, as indicated by the dotted arrow in FIG. 24, the frame at time t15 to t16, which is the timing next to the frame at time t14 to t15 at which the start code is detected. In step S57 to step S60, the process is repeated every three frames.
[0183]
This is because, as shown in FIG. 24, the optical beacon 11 transmits the same Manchester-encoded signal by blinking for three consecutive frames, so that the comparison results CP (n), CM (n ) Is read out to determine whether or not the value is a predetermined value.
[0184]
More specifically, first, in step S57, it is determined whether (CP (n), CM (n)) is (0, 0), (0, 1), or (1, 0). Is done. This is because the comparison results CP (n) and CM (n) have values that are opposite to each other, so that if no error has occurred, (0,0), (0,1), or This is because one of (1,0) should be taken.
[0185]
Next, in step S58, it is determined whether (CP (n), CM (n)) ≠ (CP (n-3), CM (n-3)). This is because, by Manchester encoding, transmitted signals do not have the same code for seven frames or more. For example, comparisons corresponding to frames from time t21 to t22 and time t24 to t25 shown in FIG. As shown in the results (CP (n), CM (n)), the maximum and minimum values are always taken during the maximum of 6 frames. As a result, if no error has occurred, the transmitted data will always contain a rising edge and a falling edge somewhere in 6 frames, so the same signal is detected every 3 frames. Will not be.
[0186]
In step S60, it is determined whether the counter m is 2. When m is 2, whether the comparison results (CP (n), CM (n)) are both 1 in step S61. Is determined.
[0187]
Only when the counter m becomes 2, that is, every time the processes of steps S53 to S60 are repeated twice, the process of step S61 is executed. Therefore, the process of step S61 is substantially reduced to 6 frames. Executed once, and further, according to the initial setting value, the signal in every 6 frames from the timing when the start code is detected, that is, the 01 signal constituting the data bit or the latter signal constituting 10 signals It is done.
[0188]
More specifically, for example, in FIG. 24, comparison results (CP (n), CM (n) of signals in the latter half of the data bits corresponding to the frames at times t21 to t22 and the frames at times t27 to t28. ) Is 1, whether or not there is an error is determined. This is because the comparison results CP (n) and CM (n) corresponding to the signal in the latter half of the data bits have values that are opposite to each other, so that both take 1 if no error has occurred. Because it should be.
[0189]
Since an error is detected by the above processing, it is possible to accurately determine an error in transmission data encoded by Manchester, and as a result, it is possible to selectively acquire correct transmission data without an error. .
[0190]
In the above example, when the optical beacon 11 is imaged, there is no change in the imaged pixel, that is, the position of the target imaged in each pixel in the image is fixed. The case where this is the premise has been explained. That is, since the optical beacon 11 transmits transmission data by blinking, the position of the optical beacon 11 in the captured image changes when the range captured by the ID recognition camera 21 changes. As a result, there is a possibility that an error cannot be accurately detected or data cannot be acquired.
[0191]
Therefore, in the following example, by detecting the blinking pattern of the optical beacon 11 from the pixel in which the optical beacon 11 is imaged and a plurality of pixels around the pixel, It may be possible to obtain accurate transmission data.
[0192]
FIG. 25 is a block diagram showing a configuration of the ID decoding processing unit 144 that can detect the blinking pattern of the optical beacon 11 by detecting the blinking pattern of the optical beacon 11 from a plurality of pixels around the target pixel. . The basic configuration is the same as that of the ID decoding processing unit 144 in FIG. 6, but an error detection unit 271 is provided instead of the error detection unit 210, and an ID centroid calculation circuit 282 is provided instead of the ID centroid calculation circuit 222. Furthermore, the point which newly provided the weight calculation part 251 differs.
[0193]
The error detection unit 271 basically executes the same processing as that of the error detection unit 210 in FIG. 6, but not only the pixel of interest (hereinafter referred to as the pixel of interest) but also its surrounding pixels (for example, horizontal Error detection processing is also performed on pixels adjacent in the direction, the vertical direction, and the diagonal direction at the same time. Details will be described later with reference to FIG.
[0194]
25 performs basically the same processing as the ID decoding processing circuit 211 in FIG. 6, but executes the decoding processing based on the pixel of interest and its surrounding pixels. It is different.
[0195]
The weight calculation unit 281 calculates the weight for each of the target pixel and the surrounding pixels based on the light reception time of the light emitted from the optical beacon 11 received by the target pixel and the surrounding pixels, and the ID centroid This is supplied to the calculation circuit 282.
[0196]
The ID centroid calculation circuit 282 basically performs the same processing as the ID centroid calculation circuit 222 in FIG. 6. Further, in the centroid calculation, the ID centroid calculation circuit 282 calculates the centroid position by the weight supplied from the weight calculation unit 281. calculate.
[0197]
Next, a detailed configuration of the error detection unit 271 will be described with reference to FIG. Basically, the configuration is the same as that of the error detection unit 210 in FIG. 7, but a memory 291, a comparison unit 292, and a determination unit 293 are provided instead of the memory 231, the comparison unit 232, and the determination unit 233. It has been. The memory 291, the comparison unit 292, and the determination unit 293 have the same functions as the memory 231, the comparison unit 232, and the determination unit 233, respectively. The processing of a plurality of pixels including is simultaneously executed.
[0198]
Next, ID decoding processing will be described with reference to the flowchart of FIG. Note that the processing of steps S71 to S75 and S78 is the same as the processing of steps S31 to S35 and S38 described with reference to the flowchart of FIG.
[0199]
Here, with reference to the flowchart of FIG. 28, the error detection process started by the process of step S74 is demonstrated. The processes in steps S81 to S85 and steps S89 to S96 are the same as the processes in steps S51 to S55 and steps S59 to S66 in the flowchart of FIG.
[0200]
In step S86, the memory 291 compares the comparison results CP (n) and CM (n) of the comparators 182 and 184 of the comparison unit 162 of the calculation unit 142 and the comparison results CPw corresponding to the surrounding pixels, which are sensor output signals. (n) and CMw (n) are stored. Here, the comparison results CP (n) and CM (n) indicate the comparison results of the target pixel, and the comparison results CPw (n) and CMw (n) indicate the comparison results of a plurality of pixels around the target pixel.
[0201]
That is, when the pixel indicated by (x, y) in FIG. 29 is the target pixel, for example, (x−1, y−1), (x, y−1), (x + 1, y-1), (x-1, y), (x + 1, y), (x-1, y + 1), (x, y + 1), (x + 1, y + 1 ), The comparison results CPw (n) and CMw (n) based on the positive inter-frame difference and the negative inter-frame difference respectively corresponding to the total of 8 pixels. Therefore, in this case, the comparison result that is substantially stored is a comparison result corresponding to the positive / negative inter-frame difference for each of the target pixel and the peripheral pixels, and therefore, a total of 16 results for one target pixel. The comparison result is stored. Note that the arrangement of the peripheral pixels corresponding to the target pixel is not limited to that shown in FIG. 29. For example, excluding the target pixel existing in the range of 5 pixels × 5 pixels centering on the target pixel. 24 pixels may be used as peripheral pixels, and in general, for example, pixels existing in a range of (2n + 1) pixels × (2n + 1) pixels may be used.
[0202]
In step S87, the comparison unit 292 stores all the comparison results CP (n) and CM (n) of the stored target pixel and the comparison results CPw (n) and CMw (n) of the peripheral pixels of the target pixel (0). , 0), (0, 1), or (1, 0). That is, the comparison unit 292 performs the process of step S57 in the flowchart of FIG. 23 with the comparison result corresponding to the target pixel and the comparison results corresponding to all the surrounding pixels.
[0203]
For example, in step S87, the comparison results CP (n) and CM (n) of the target pixel and the comparison results CPw (n) and CMw (n) of the peripheral pixels of the target pixel are all (0, 0), ( If 0, 1) or (1, 0), the process proceeds to step S88. In step S87, the comparison results CP (n) and CM (n) of the target pixel and the comparison results CPw (n) and CMw (n) of the peripheral pixels of the target pixel are all (0, 0), ( If it is not 0, 1) or (1, 0), the process proceeds to step S96.
[0204]
In step S88, the determination unit 293 determines that the stored comparison results CP (n) and CM (n) of the target pixel are (CP (n), CM (n)) ≠ (CP (n-3), CM (n -3)) and the comparison results CPw (n) and CMw (n) corresponding to all the peripheral pixels are (CPw (n), CMw (n)) ≠ (CPw (n-3), CMw ( n-3)). More specifically, the comparison unit 292 compares (CP (n), CM (n)) and (CP (n-3), CM (n-3)), and further compares (CPw) of all the peripheral pixels. (n), CMw (n)) and (CPw (n-3), CMw (n-3)) are compared, and the comparison result is output to the determination unit 293. Based on the comparison result, the determination unit 293 satisfies (CP (n), CM (n)) ≠ (CP (n-3), CM (n-3)), and (CPw (n) , CMw (n)) ≠ (CPw (n-3), CMw (n-3)).
[0205]
In step S88, the comparison result of the target pixel is (CP (n), CM (n)) ≠ (CP (n-3), CM (n-3)), and the comparison results of all surrounding pixels are obtained. Is determined to be (CPw (n), CMw (n)) ≠ (CPw (n-3), CMw (n-3)), the process proceeds to step S89. On the other hand, in step S88, the comparison result of the target pixel is not (CP (n), CM (n)) ≠ (CP (n-3), CM (n-3)), or all the surrounding pixels If it is determined that the comparison result is not (CPw (n), CMw (n)) ≠ (CPw (n-3), CMw (n-3)), the process proceeds to step S96.
[0206]
In step S91, the determination unit 293 determines that the comparison results CP (n) and CM (n) of the target pixel and the comparison results CPw (n) and CMw (n) of all the neighboring pixels are CP (n) = CM ( It is determined whether n) = CPw (n) = CMw (n) = 0. More specifically, the comparison unit 292 compares CP (n), CM (n), CPw (n), and CMw (n) with 0, and outputs the comparison result to the determination unit 293. Based on the comparison result, the determination unit 293 determines that the comparison results CP (n), CM (n), CPw (n), and CMw (n) are CP (n) = CM (n) = CPw (n) = It is determined whether CMw (n) = 0.
[0207]
In step S91, the comparison results CP (n) and CM (n) of the target pixel and all the neighboring pixels CPw (n) and CMw (n) are CP (n) = CM (n) = CPw (n) If it is determined that = CMw (n) = 0, the determination unit 293 outputs a notification of no error to the ID decoding circuit 211 in step S92.
[0208]
In step S91, the comparison results CP (n) and CM (n) of the target pixel and all the neighboring pixels CPw (n) and CMw (n) are CP (n) = CM (n) = CPw (n) If it is determined that = CMw (n) = 0, the process proceeds to step S96.
[0209]
Through the above processing, error detection processing is simultaneously performed on the target pixel and its peripheral pixels.
[0210]
Now, the description returns to the flowchart of FIG.
[0211]
In step S76, the ID decoding circuit 211 of the ID decoding processing unit 144 described with reference to FIG. 25 decodes the ID data based on the comparison result between the target pixel and its surrounding pixels.
[0212]
That is, the ID decode processing unit 144 in FIG. 25 basically performs the same processing as when the sensor output signal of the target pixel in the ID decode processing unit 144 in FIG. 6 is processed, but corresponds to a plurality of pixels. The following processing is executed by using the sensor output signal.
[0213]
That is, if the output of the comparator 182 of the target pixel is CP (x, y), the output of the comparator 182 including the peripheral pixels is, for example, (2n−1) with the peripheral pixel as the center of the target pixel. CPw (xn, yn), CPw (x-n + 1, y-n + 1), CPw (x-n + 2, y-n + 2) when the pixel x (2n-1) pixel range ,... CP (x, y)... CPw (x + n-1, y + n-1), CPw (x + n, y + n).
[0214]
When the position of the optical beacon 11 measured at the target pixel moves at a time interval shorter than the time for transmitting all signals, the output of the comparator 182 of this target pixel and its surrounding pixels is It will move to the pixel.
[0215]
Therefore, the ID decoding circuit 211 recognizes the output of the comparator 182 of the target pixel by defining a function as represented by the following expression (3).
[0216]
[Equation 3]
Figure 0004269220
Figure 0004269220
[0217]
Here, “|” is an OR operation. For example, when n is 1, 1 is detected in the comparison result of one of the comparators 182 of the pixels included in the window W centered on the pixel of interest (x, y) shown in FIG. This indicates that 1 is detected in the target pixel. Therefore, by such processing, even if the blinking pattern that becomes a signal in the middle of data reception deviates from the target pixel and moves to the adjacent pixel, it is possible to continuously receive and decode the data. The comparison result of the comparator 184 is similarly processed.
[0218]
Then, the decoding circuit 211 sequentially supplies the decoding result to the frame memory 203. That is, as described above, the decoding circuit 211 reads out the signal of the latter half of the 2-bit signal of the Manchester encoded signal, encodes it into a normal signal, and encodes these on the image. The data is sequentially stored in the frame memory 203 corresponding to the pixel position.
[0219]
Further, the ID centroid calculation circuit 282 supplies the ID data position information stored in the frame memory 203 to the ID coordinate storage memory 205 via the ID register 221 and stores it.
[0220]
Here, the “2n + 1) × (2n + 1) square window has been described as“ information on peripheral pixels of the target pixel ”, but the present invention is not limited to the square window. For example, other shapes such as a rectangle and four adjacent pixels may be used.
[0221]
The same processing is performed for the comparison result from the comparator 184.
[0222]
Now, the description returns to the flowchart of FIG.
[0223]
In step S77, the center of gravity calculation process is executed.
[0224]
Here, the gravity center calculation process will be described with reference to the flowchart of FIG.
[0225]
In step S101, the weight calculation unit 251 calculates the weight of each pixel. More specifically, the weight calculation unit 251 calculates the weight of each pixel by executing the following expression (4) for each pixel, and outputs the weight to the ID centroid calculation circuit 282.
[0226]
[Expression 4]
Figure 0004269220
Figure 0004269220
[0227]
Here, α (i) represents the weight of the i-th pixel of interest, and tsumIs the total of the time when the target pixel and its surrounding pixels receive light, that is, the time when the comparison result from the comparator 182 is 1, or the time when the comparison result from the comparator 184 is 1. And td(i) is the time when the target pixel receives light. That is, when the peripheral pixel corresponding to the target pixel (x, y) shown in FIG. 29 is indicated by the window W, the weight calculation unit 251 receives the light beacon in the area corresponding to nine pixels indicated by the window W. The ratio of the light reception time of the target pixel to the total light reception time of 11 is calculated as a weight and output to the ID centroid calculation circuit 282.
[0228]
In step S102, the ID centroid calculation circuit 282 adds the coordinate information for each ID data stored in the ID coordinate storage memory 205, and further multiplies the weight supplied from the weight calculation unit 251.
[0229]
In step S103, the ID centroid calculation circuit 282 obtains the centroid position by obtaining the sum of coordinates and dividing by the number of pixels.
[0230]
More specifically, in steps S102 and S103, the ID centroid calculation circuit 282 executes calculation of the following formula (5), and executes centroid calculation in consideration of the weight.
[0231]
[Equation 5]
Figure 0004269220
Figure 0004269220
[0232]
Here, Gp indicates the position of the center of gravity of the target pixel, N indicates the total number of pixels of the target pixel and its surrounding pixels, i indicates a number for identifying the target pixel and the peripheral pixels, and px (i) py (i) indicates the x-coordinate and y-coordinate of the i-th pixel of interest or the surrounding pixels.
[0233]
That is, the ID center-of-gravity calculation circuit 282 performs an operation on α (i) px (i) and α (i) py (i) in Expression (5) in a range of 1 ≦ i ≦ N in Step S102, In step S103, the centroid position is calculated by executing the summation calculation in equation (5).
[0234]
By calculating the center of gravity in this way, the center of gravity is not obtained only from the pixel position of each pixel, but is received by obtaining the center of gravity based on the weight corresponding to the time received from the optical beacon 11. The correct position is obtained more accurately.
[0235]
In addition, although the weight was added corresponding to the time which received the blink pattern of the optical beacon 11 by above-mentioned Formula (4), since time is a continuous variable, in actual calculation, it is a discrete variable. Need to be converted to Therefore, the above-described weight calculation may use the following equation (6).
[0236]
[Formula 6]
Figure 0004269220
Figure 0004269220
[0237]
Where c (i) is the number of data bits received by the pixel of interest or its surrounding pixels, and csum(i) is the total number of data bits received by the pixel of interest and its surrounding pixels. Thus, since the number of received data bits is proportional to the light reception time of the optical beacon 11, an approximate value obtained by converting the weight obtained by Equation (4) from a continuous variable to a discrete variable is obtained. Will be.
[0238]
According to the above, since an accurate center-of-gravity position considering weight is obtained, as a result, it is possible to improve communication accuracy in data communication using an optical beacon and an ID recognition camera.
[0239]
The series of processes described above can be executed by hardware, but can also be executed by software. When a series of processes is executed by software, a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a recording medium in a general-purpose personal computer or the like.
[0240]
2 and 3, the recording medium is provided not only to the PC server 1 and the portable terminal 4 but also to the user in a state of being preliminarily incorporated in the storage unit 38 and 78 storing the program. In addition to the computer, the magnetic disks 51 and 91 (including flexible disks) and the optical disks 52 and 92 (CD-ROM (Compact Disk-Read Only) on which the program is recorded are distributed to provide a program to the user. Memory), DVD (including Digital Versatile Disk)), magneto-optical disks 53, 93 (including MD (Mini-Disc) (registered trademark)), or semiconductor memories 54, 94 (including Memory Stick) Consists of media.
[0241]
In this specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in time series in the order described, but of course, it is not necessarily performed in time series. Or the process performed separately is included.
[0242]
Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
[0243]
【The invention's effect】
According to the present invention, it is possible to improve communication accuracy in data communication using an optical beacon and an ID recognition camera.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of an embodiment of an information communication system to which the present invention is applied.
FIG. 2 is a block diagram showing a configuration of the PC server in FIG. 1;
3 is a block diagram showing a configuration of the mobile terminal of FIG. 1. FIG.
4 is a block diagram of the ID recognition camera of FIG. 3. FIG.
5 is a block diagram illustrating a configuration of a comparison unit in FIG. 4;
6 is a block diagram of an ID decoding processing unit in FIG. 4. FIG.
7 is a block diagram of the error detection unit in FIG. 6. FIG.
8 is a block diagram of the optical beacon of FIG. 1. FIG.
FIG. 9 is a diagram illustrating Manchester encoding.
FIG. 10 is a diagram illustrating Manchester encoding.
11 is another block diagram of the optical beacon of FIG. 1. FIG.
FIG. 12 is a diagram illustrating an operation in which an ID recognition camera decodes a blinking pattern.
FIG. 13 is a diagram illustrating a relationship between a blinking pattern of an optical beacon and data to be decoded.
FIG. 14 is a diagram illustrating a relationship between a blinking pattern of an optical beacon and data to be decoded.
FIG. 15 is a diagram illustrating a relationship between a blinking pattern of an optical beacon and data to be decoded.
FIG. 16 is a diagram illustrating a relationship between a blinking pattern of an optical beacon and data to be decoded.
FIG. 17 is a flowchart illustrating light emission processing.
FIG. 18 is a flowchart illustrating transmission data acquisition processing.
FIG. 19 is a flowchart illustrating a comparison process.
FIG. 20 is a diagram illustrating a comparison process.
FIG. 21 is a flowchart illustrating an ID decoding process.
FIG. 22 is a flowchart for explaining start code detection processing;
FIG. 23 is a flowchart for explaining error detection processing;
FIG. 24 is a diagram for explaining error detection processing;
FIG. 25 is a block diagram illustrating another configuration of the ID decoding processing unit.
FIG. 26 is a block diagram illustrating another configuration of the error detection unit.
FIG. 27 is a flowchart illustrating an ID decoding process.
FIG. 28 is a flowchart for explaining error detection processing;
FIG. 29 is a flowchart illustrating a target pixel and peripheral pixels.
FIG. 30 is a flowchart illustrating a center of gravity calculation process.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 PC server, 4 portable terminal, 3,3-1 thru | or 3-n information unit, 11, 11-1 thru | or 11-6 optical beacon 111 ID recognition camera, 181 positive frame difference calculation part, 182 comparator, 183 negative frame Difference calculation unit, 184 comparator, 210 error detection unit, 211 ID decoding circuit, 241 error detection unit, 251 weight calculation unit 281 ID centroid calculation circuit

Claims (5)

所定の点滅パターンで発光する送信装置により発光される光の信号を受光する受光手段と、
前記受光手段により受光された光の受光量、または、受光量の微分値からなる信号のうち、注目画素、および、前記注目画素の周辺の画素の複数の信号を記憶する記憶手段と、
前記記憶手段に記憶された、前記複数の信号のうちのいずれか1の信号を、前記注目画素において受光された信号としてデコードするデコード手段と、
前記注目画素、または、前記注目画素の周辺の画素の全体で前記送信装置により発光された光の信号を受光した受光時間に対する、前記注目画素、または、前記注目画素の周辺の画素のうちの、前記送信装置により発光された光の信号を一部でも受光した画素の、信号を受光していた受光時間の重みを算出する重み算出手段と、
前記重み算出手段により算出された重みを用いて、前記信号を受光したものとみなされた画素の位置を計測する位置計測手段と
を備えることを特徴とする情報処理装置。
A light receiving means for receiving a signal of light emitted by a transmitting device that emits light in a predetermined blinking pattern;
A storage unit that stores a plurality of signals of a pixel of interest and pixels around the pixel of interest among signals including a light reception amount of light received by the light reception unit or a differential value of the light reception amount ;
Decoding means for decoding any one of the plurality of signals stored in the storage means as a signal received at the target pixel;
Of the pixel of interest, or the pixels around the pixel of interest, with respect to the light reception time for receiving the signal of the light emitted by the transmission device in the entire pixels around the pixel of interest, Weight calculating means for calculating a weight of a light receiving time for receiving a signal of a pixel that has received at least a part of a signal of light emitted by the transmitting device;
An information processing apparatus comprising: a position measuring unit that measures a position of a pixel that is regarded as having received the signal using the weight calculated by the weight calculating unit .
前記位置計測手段は、フレーム毎の前記注目画素、および、前記注目画素の周辺の画素の、それぞれの画素で受光する受光量の変化した回数をカウントすることによって、前記信号を受光したものとみなされた画素の位置を計測する
ことを特徴とする請求項に記載の情報処理装置。
The position measuring means considers that the signal has been received by counting the number of times the received light amount received by each pixel of the target pixel for each frame and pixels around the target pixel has changed. The information processing apparatus according to claim 1 , wherein the position of the pixel is measured.
所定の点滅パターンで発光する送信装置により発光される光の受光量、または、受光量の微分値からなる信号のうち、注目画素、および、前記注目画素の周辺の画素の複数の信号のうちのいずれか1の信号を、前記注目画素において受光された信号としてデコードするデコードステップと、
前記注目画素、または、前記注目画素の周辺の画素の全体で前記送信装置により発光された光の信号を受光した受光時間に対する、前記注目画素、または、前記注目画素の周辺の画素のうちの、前記送信装置により発光された光の信号を一部でも受光した画素の、信号を受光していた受光時間の重みを算出する重み算出ステップと、
前記重み算出ステップの処理により算出された重みを用いて、前記信号を受光したものとみなされた画素の位置を計測する位置計測ステップと
を含むことを特徴とする情報処理方法。
Of the light reception amount of light emitted by the transmitter that emits light with a predetermined blinking pattern , or a signal composed of a differential value of the light reception amount, of the pixel of interest and a plurality of signals of pixels around the pixel of interest A decoding step of decoding any one of the signals as a signal received at the target pixel ;
Of the pixel of interest, or the pixels around the pixel of interest, with respect to the light reception time for receiving the signal of the light emitted by the transmission device in the entire pixels around the pixel of interest, A weight calculating step for calculating a weight of a light receiving time for receiving a signal of a pixel that has received at least a part of a signal of light emitted by the transmitting device;
A position measuring step for measuring a position of a pixel that is considered to have received the signal, using the weight calculated by the processing of the weight calculating step;
An information processing method comprising:
所定の点滅パターンで発光する送信装置により発光される光の受光量、または、受光量の微分値からなる信号のうち、注目画素、および、前記注目画素の周辺の画素の複数の信号のうちのいずれか1の信号を、前記注目画素において受光された信号としてデコードするデコードステップと、
前記注目画素、または、前記注目画素の周辺の画素の全体で前記送信装置により発光された光の信号を受光した受光時間に対する、前記注目画素、または、前記注目画素の周辺の画素のうちの、前記送信装置により発光された光の信号を一部でも受光した画素の、信号を受光していた受光時間の重みを算出する重み算出ステップと、
前記重み算出ステップの処理により算出された重みを用いて、前記信号を受光したものとみなされた画素の位置を計測する位置計測ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
Of the light reception amount of light emitted by the transmitter that emits light with a predetermined blinking pattern , or a signal composed of a differential value of the light reception amount, of the pixel of interest and a plurality of signals of pixels around the pixel of interest A decoding step of decoding any one of the signals as a signal received at the target pixel ;
Of the pixel of interest, or the pixels around the pixel of interest, with respect to the light reception time for receiving the signal of the light emitted by the transmission device in the entire pixels around the pixel of interest, A weight calculating step for calculating a weight of a light receiving time for receiving a signal of a pixel that has received at least a part of a signal of light emitted by the transmitting device;
A computer-readable program comprising: a position measuring step for measuring a position of a pixel that is regarded as having received the signal using the weight calculated by the process of the weight calculating step; Recording media.
所定の点滅パターンで発光する送信装置により発光される光の受光量、または、受光量の微分値からなる信号のうち、注目画素、および、前記注目画素の周辺の画素の複数の信号のうちのいずれか1の信号を、前記注目画素において受光された信号としてデコードするデコードステップと、
前記注目画素、または、前記注目画素の周辺の画素の全体で前記送信装置により発光された光の信号を受光した受光時間に対する、前記注目画素、または、前記注目画素の周辺の画素のうちの、前記送信装置により発光された光の信号を一部でも受光した画素の、信号を受光していた受光時間の重みを算出する重み算出ステップと、
前記重み算出ステップの処理により算出された重みを用いて、前記信号を受光したものとみなされた画素の位置を計測する位置計測ステップと
をコンピュータに実行させることを特徴とするプログラム。
Of the light reception amount of light emitted by the transmitter that emits light with a predetermined blinking pattern , or a signal composed of a differential value of the light reception amount, of the pixel of interest and a plurality of signals of pixels around the pixel of interest A decoding step of decoding any one of the signals as a signal received at the target pixel ;
Of the pixel of interest, or the pixels around the pixel of interest, with respect to the light reception time for receiving the signal of the light emitted by the transmission device in the entire pixels around the pixel of interest, A weight calculating step for calculating a weight of a light receiving time for receiving a signal of a pixel that has received at least a part of a signal of light emitted by the transmitting device;
A position measuring step for measuring a position of a pixel that is considered to have received the signal, using the weight calculated by the processing of the weight calculating step;
A program that causes a computer to execute.
JP2003141438A 2003-05-20 2003-05-20 Information processing apparatus and method, recording medium, and program Expired - Lifetime JP4269220B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003141438A JP4269220B2 (en) 2003-05-20 2003-05-20 Information processing apparatus and method, recording medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003141438A JP4269220B2 (en) 2003-05-20 2003-05-20 Information processing apparatus and method, recording medium, and program

Publications (2)

Publication Number Publication Date
JP2004349765A JP2004349765A (en) 2004-12-09
JP4269220B2 true JP4269220B2 (en) 2009-05-27

Family

ID=33529790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003141438A Expired - Lifetime JP4269220B2 (en) 2003-05-20 2003-05-20 Information processing apparatus and method, recording medium, and program

Country Status (1)

Country Link
JP (1) JP4269220B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4470102B2 (en) * 2004-04-26 2010-06-02 ソニー株式会社 Information processing apparatus, information processing method, data output control program, and data transmission / reception system
KR101213450B1 (en) 2004-11-02 2012-12-18 고쿠리츠다이가쿠호징 나라 센탄카가쿠기쥬츠 다이가쿠인 다이가쿠 Image pickup device, and its signal reading method

Also Published As

Publication number Publication date
JP2004349765A (en) 2004-12-09

Similar Documents

Publication Publication Date Title
CN108304758B (en) Face characteristic point tracking method and device
EP3899799A1 (en) Data denoising based on machine learning
CN109496437B (en) Positioning method and device based on Bluetooth BLE
JP4786322B2 (en) Identification of objects tracked in images using active devices
US10135530B2 (en) Techniques for optical wireless communication
US20140205141A1 (en) Systems and methods for tracking and detecting a target object
JP2000217037A5 (en)
US10339418B2 (en) Computer-readable storage medium storing image processing program and image processing apparatus
JP5128323B2 (en) Wireless communication apparatus, information processing apparatus, program, wireless communication method, processing method, and wireless communication system
WO2015038046A1 (en) Methods, wireless device and network node for managing positioning method based on prediction
JP5839796B2 (en) Information processing apparatus, information processing system, information processing method, and program
JP4269220B2 (en) Information processing apparatus and method, recording medium, and program
CN107450882B (en) Method and device for adjusting sound loudness and storage medium
CN109996171B (en) Amorphous positioning method for genetic-tabu search optimization of wireless sensor network
JP2016019101A (en) Timing determination device, timing determination method and computer program
US9571977B2 (en) Use of a trained classifier to determine if a pair of wireless scans came from the same location
JP2004349766A (en) Information processing apparatus ad method, recording medium, and program
US9923638B1 (en) Clock tracking algorithm for twinkle VPPM in optical camera communication systems
US11606741B2 (en) Method to enhance WLAN connection based on activity recognition
JP2004048524A (en) Information processing apparatus and method therefor, information processing system, recording medium, and program
CN103581567A (en) Method and system for processing visual coding sequence and method and system for playing visual coding sequence
CN111787280A (en) Video real-time target tracking method and device based on edge calculation
JP2018152777A (en) Information processing apparatus, imaging apparatus, and electronic apparatus
JP2008276613A (en) Mobile body determination device, computer program and mobile body determination method
US20130265230A1 (en) Image positioning method and interactive imaging system using the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090129

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090211

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4