(57)【特許請求の範囲】
【請求項１】
少なくとも所定情報を含む光を発する発光源を備える送信装置が有する前記情報を、空間光通信により取得するための受信機能を有する情報処理装置であって、撮像機能による撮像範囲の画像情報と並行してその撮像範囲内に存在する前記送信装置の発光源による発光光の位置情報を取得するために、
a)光電変換を行う画素セルが二次元状に配列された受光部と各画素セルで光電変換により得られた画素信号を読み出す読み出し回路とを含む撮像手段と、
b)前記撮像手段の各画素セルから読み出された画素信号に基づいて、隣接する複数の画素セルを仮想的にまとめた拡大画素セルの信号により、同一フレームに対し解像度の相違する複数の画像を作成するビニング処理手段と、
c)１個の画素セル又は１個の前記拡大画素セルにより得られる画素信号に対し、連続する一定数のフレームの画像に基づいて前記発光源による発光光の有無を反映した評価値を求め、該評価値により前記発光光を受光している画素セル又は拡大画素セルを判定する評価手段と、
d)前記ビニング処理手段により作成された最も解像度の低い画像に対する前記評価手段による判定により発光源による発光光を受光している拡大画素セルを特定し、その拡大画素セルを含む範囲に限定した次に解像度が低い画像に対して前記評価手段による判定を行って前記発光源による発光光を受光している拡大画素セル又は画素セルを特定する、という処理を所定回数繰り返すことで、発光源による発光光を受けている画素セルの位置を最終的に特定する処理手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記評価手段は、連続する一定数のフレームの画像についての高速フーリエ変換演算を利用した評価関数により各画素セル又は拡大画素セル毎の評価値を算出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記評価手段は、評価対象の画像の解像度に応じて精度の異なる評価関数を用いた評価を行うことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記撮像手段の各画素セルから読み出された画素信号を用いて作成される連続する複数のフレームの画像に基づいて、撮像範囲内での前記発光源の相対的な移動に関わる方向や速度を推定する移動情報推定手段をさらに備え、前記評価手段は、前記移動情報推定手段により推定された移動情報に基づいて、その動きを補償した評価値を算出することを特徴とする請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
前記移動情報推定手段は、相対的に解像度の高い画像に移行するときに、領域分割した各部分領域それぞれに対して移動量の推定を行うことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記移動情報推定手段は、連続するフレームの複数の画像の間の相互相関を計算し、その相関値の最大値に基づいて移動に関わる情報を取得することを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
前記移動情報推定手段は、相対的に解像度の高い画像に移行するときに、それまでの低い解像度の画像での動きの補償がなされているという前提の下に、ビニング処理による画素位置精度の不確定さを含む範囲内でのみ移動量の推定を行うことを特徴とする請求項４〜６のいずれかに記載の情報処理装置。
【請求項８】
前記ビニング処理手段は、低解像度の画像を作成する際に、その低解像度の画像内で或る１個の拡大画素セルに対応する、高い解像度の画像中での複数の画素セル又は拡大画素セルと、低画像度の画像内で前記１個の拡大画素セルに隣接する１個の拡大画素セルに対応する、高い解像度の画像中での複数の画素セル又は拡大画素セルとで、その一部が重複するように画素セル又は拡大画素セルを設定することを特徴とする請求項１〜７のいずれかに記載の情報処理装置。
【請求項９】
前記ビニング処理手段は各画素セル又は拡大画素セルの画素値を対数圧縮することを特徴とする請求項１〜８のいずれかに記載の情報処理装置。
【請求項１０】
請求項１〜９のいずれかに記載の情報処理装置と、少なくとも所定周波数の光を発する発光源を含む送信装置とを含み、前記送信装置は、第１の周波数を有するパイロット信号と、該第１の周波数よりも高い周波数を有し、該送信装置に関わる情報を含むＩＤ信号とが周波数分割により重畳された光信号を送出し、前記情報処理装置は、前記パイロット信号の検出結果に基づいて送信装置の位置を認識し、その位置情報に基づいて前記撮像手段の受光部の１乃至複数の画素セルを特定して該画素セルによる画素信号に基づいて前記ＩＤ信号を取得することを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間光通信を少なくとも一部に利用して、ユーザーの手元にある情報端末により、該情報端末から離れた位置に在る複数の情報機器がそれぞれ持つ所定情報を収集したり各種の情報機器を遠隔制御したりするために利用される情報処理システムと、こうしたシステムにおいてユーザーにより直接的に操作される情報処理装置とに関する。
【背景技術】
【０００２】
近年、家庭内にパーソナルコンピュータが浸透しており、また、デジタルＴＶ、ＤＶＤレコーダ等の各種のデジタル情報機器も普及している。こうした状況の中で、主としてこうした情報機器を中心とする家庭内でのネットワークの構築が進められようとしている。さらにまた、冷蔵庫、電子レンジといったこれまでいわゆる白物家電と呼ばれていた家電製品も、高機能化に伴い家庭内ネットワークに取り込むことが試みられている。しかしながら、実際上、こうした家庭内ネットワークの広範な普及には種々の課題が存在する。その一つは、ユーザーにとっての操作の簡便性、使い勝手の良さを如何に提供するかという点にあり、操作性の良好なユーザーインターフェイスの開発が急務である。
【０００３】
一方、近年の携帯電話の普及は目覚ましく、その多くがデジタルカメラを備え、ストレージメディアを搭載するものも市販されている。また、携帯電話を情報端末として使用するような様々な応用システムも提案されている。こうした状況下で、本発明者らも、非特許文献１に開示されているように、携帯電話のデジタルカメラ機能を利用し、ユーザーから離れた位置にある各種の情報機器を携帯電話の表示画面上で視覚的に確認しながらそうした情報機器の操作を行うためのユーザーインターフェイスとして、「オプトナビ」と呼称する一種の遠隔制御システムを提案している。
【０００４】
このシステムにおいては、制御対象である情報機器に設けた発光ダイオード（ＬＥＤ）から、その情報機器に固有のＩＤ情報などを光信号として送出する。受光機能を備える携帯電話はこの光信号を受けて情報機器の位置を認識し、その表示画面上に表示させた撮像画像上で遠隔制御可能な情報機器の位置を表示することができる。こうしたシステムを利用することにより、上述したような家庭内ネットワークに含まれる各種機器を簡便に操作することが可能となる。
【０００５】
上記「オプトナビ」システムに対応した情報端末（例えば携帯電話）では、光信号を受けるために専用のイメージセンサを使用する。こうしたイメージセンサについて、本発明者らは例えば特願２００４−３１９２５９号（平成１６年１１月２日出願）、非特許文献２等で既に提案している。このような専用のＣＭＯＳイメージセンサの意図するところは、携帯電話などの小形・軽量の情報端末に搭載するために、通常の画像撮影に加えて、受光した信号光に応じたＩＤ情報の読み出しを低消費電力で以て行うことである。そのために、通常の撮像フレームレートでイメージセンサの全画素の信号を読み出す機能に加え、限定された小さな画像範囲に対応する少数の画素信号を高い（少なくとも上記撮像フレームレートよりは高い）レートで読み出すという特徴的な機能を備えている。
【０００６】
具体的に言うと、非特許文献２に記載のＣＭＯＳイメージセンサでは、ＱＶＧＡ画像（３２０×２４０画素の画像）を３０ｆｐｓ（フレーム／秒）で繰り返し読み出しながら、５×５画素から成るＩＤ画像（ＩＤ情報を含む光信号を受けている画素周辺の画像）を最大７個まで１．２ｋｆｐｓのレートで取得できるようにしている。即ち、高速で読み出すべき画素の範囲をＩＤ情報を含む光信号が当たっている部分近傍に限定することで、高速読み出しを行う画素数が少なくて済むため、その分だけ画素読み出しを高速化できるとともに消費電力を抑えることが可能である。
【０００７】
上記「オプトナビ」システムやこれに相当するようなシステムにおいては、上述したようなイメージセンサ自体の低消費電力化とともに、撮影画像上でのＩＤ光（以下、ＩＤ情報を情報として含む光信号を「ＩＤ光」と呼ぶ）の受光位置の検出や受信処理に必要な信号処理回路（ＤＳＰやマイクロコンピュータなどを含む）の消費電力の低減も重要になってくる。そのためには、撮影画像上で目的とするＩＤ光の受光位置を見つけ出すまでの計算量をできるだけ減らすことが必要である。また、計算量が少ないことはＩＤ光の受光位置を見い出すまでの時間短縮をもたらすから、情報端末での操作の応答性の向上等も期待できる。従来、こうした目的のために計算量を減らして、より効率的に撮影画像上のＩＤ光の受光位置を見い出すような技術は提供されていない。
【０００８】
【非特許文献１】香川景一郎ほか５名、「情報家電のビジュアルマルチリモコン：光ナビゲーションの提案」、プロシーディング・オブ・オプティクス・ジャパン・2004（Proc. of Optics Japan 2004）、２００４年１１月、pp.112-113
【非特許文献２】山本幸司ほか５名、「『オプトナビ』システムに向けた30fps通常画像・1kfpsＩＤ画像同時撮像可能なＣＭＯＳイメージセンサ」、映像情報メディア学会技術報告  29、24、２００５年５月、pp.9-12
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は上記課題に鑑みて成されたものであり、その目的とするところは、例えばユーザーの手元にある情報端末により空間光通信を利用して該情報端末から離れた位置に在る情報機器が持つ所定情報を取得する際に、その処理における計算量をできるだけ減らすことで消費電力を抑制することができる情報処理装置及び情報処理システムを提供することである。
【課題を解決するための手段】
【００１０】
上記課題を解決するために成された本発明は、少なくとも所定情報を含む光を発する発光源を備える送信装置が有する前記情報を、空間光通信により取得するための受信機能を有する情報処理装置であって、撮像機能による撮像範囲の画像情報と並行してその撮像範囲内に存在する前記送信装置の発光源による発光光の位置情報を取得するために、
a)光電変換を行う画素セルが二次元状に配列された受光部と各画素セルで光電変換により得られた画素信号を読み出す読み出し回路とを含む撮像手段と、
b)前記撮像手段の各画素セルから読み出された画素信号に基づいて、隣接する複数の画素セルを仮想的にまとめた拡大画素セルの信号により、同一フレームに対し解像度の相違する複数の画像を作成するビニング処理手段と、
c)１個の画素セル又は１個の前記拡大画素セルにより得られる画素信号に対し、連続する一定数のフレームの画像に基づいて前記発光源による発光光の有無を反映した評価値を求め、該評価値により前記発光光を受光している画素セル又は拡大画素セルを判定する評価手段と、
d)前記ビニング処理手段により作成された最も解像度の低い画像に対する前記評価手段による判定により発光源による発光光を受光している拡大画素セルを特定し、その拡大画素セルを含む範囲に限定した次に解像度が低い画像に対して前記評価手段による判定を行って前記発光源による発光光を受光している拡大画素セル又は画素セルを特定する、という処理を所定回数繰り返すことで、発光源による発光光を受けている画素セルの位置を最終的に特定する処理手段と、
を備えることを特徴としている。
【発明の効果】
【００１１】
本発明に係る情報処理装置の一態様として、前記評価手段は、連続する一定数のフレームの画像についての高速フーリエ変換演算を利用した評価関数により各画素セル又は拡大画素セル毎の評価値を算出する構成とすることができる。
【００１２】
この情報処理装置では、当初、ビニング処理手段により作成された複数の画像の中で最も解像度の低い画像、つまり最も拡大画素セルの数が少ない画像について、各拡大画素セル毎に上記評価関数が用いられて評価値が算出され、例えばその評価値が所定の閾値を超えているか否かに応じて発光光を受光している画素セルを含む拡大画素セルであるか否かが判定される。こうしてその最低解像度の画像に対して発光光を受光している拡大画素セルが特定されると、その結果に基づいて、次に調べる拡大画素セル又は画素セルの範囲が絞られる。そして、解像度が１段階引き上げられた（つまり１個の拡大画素セルに含まれる画素セル数が減らされた）画像について、同様に各拡大画素セル毎に上記評価関数が用いられて評価値が算出され、その結果により発光光を受光している拡大画素セルが特定される。
【００１３】
一般に高速フーリエ変換演算には時間が掛かるため、上記一態様の構成においては評価関数の計算量が処理全体の計算量を左右するが、本発明に係る情報処理装置によれば、ビニング処理により解像度の相違する複数の画像を階層的に作成し、低解像度の画像から順次評価関数による演算処理を適用しているため、ビニングによる階層化を行わない場合に比べて評価関数による演算を適用する画素セル（又は拡大画素セル）の数を減らすことができる。それによって、発光源による発光光の受光位置を見い出すための高速フーリエ演算の実行回数を大幅に削減することができる。
【００１４】
したがって、撮影画像から発光源の発光光の受光位置を特定するための処理、具体的にはＩＤ光を発する情報機器の位置検出が従来よりも格段に少ない計算量で達成できる。それにより、例えば上述したオプトナビシステムような遠隔制御システムにおける情報端末の信号処理装置（回路）の消費電力を低減させることができる。また、例えばＩＤ光を発する情報機器の位置検出が迅速化されるので、位置を捕捉した情報機器からのＩＤ情報の取得も速やかに行えるという利点もある。
【００１５】
なお、本発明に係る情報処理装置において、前記評価手段は、評価対象の画像の解像度に応じて精度の異なる評価関数を用いた評価を行う構成としてもよい。即ち、低解像度の画像を評価する際には正確性には劣っていても計算量の少ない評価関数を用い、評価対象の画素セルが絞られた後の高解像度の画像を評価する際には、計算量よりも正確性を重視した評価関数を用いるとよい。これによれば、評価対象が多い状況下での計算量が減るので、全体として計算量を一層削減することができる。
【００１６】
上記本発明に係る情報処理装置が例えば携帯電話のようにユーザーが手に持って操作される装置である場合、送信装置の発光源の位置が固定されていたとしても、手振れ等による発光源の撮影画像上における発光源の相対的な移動は避けられない。そこで、本発明に係る情報処理装置においては、前記撮像手段の各画素セルから読み出された画素信号を用いて作成される連続する複数のフレームの画像に基づいて、撮像範囲内での前記発光源の相対的な移動に関わる方向や速度を推定する移動情報推定手段をさらに備え、前記評価手段は、前記移動情報推定手段により推定された移動情報に基づいて、その動きを補償した評価値を算出する構成とすることが好ましい。
【００１７】
こうした動き補償は解像度の相違する画像を対象とする各階層毎に行うものとし、より上の（解像度の低い）階層で行った動き補償を、下位の（解像度の高い）階層に反映してゆくことで移動量の低減が可能となる。
【００１８】
例えば移動情報推定手段は、連続するフレームの複数の画像の間の相互相関を計算し、その相関値の最大値に基づいて移動に関わる情報を取得するものとすることができる。
【００１９】
この構成によれば、手振れ等に起因する発光源の位置の相対的移動があっても、その影響が軽減されて送信装置の位置を正確に検出することができる。
【００２０】
また前記移動情報推定手段は、相対的に解像度の高い画像に移行するときに、領域分割した各部分領域それぞれに対して移動量の推定を行う構成とするとよい。この構成によれば、送信装置が複数存在する場合に、各送信装置の位置の認識精度を上げることができる。
【００２１】
また、この発明に係る情報処理装置では、ビニング処理がなされることにより、動きに対する許容値が緩くなっている。例えば、３２０×２４０画素の画像から８０×６０画素のビニング画像を作成した場合、４×４画素の動きは許容されることになる。したがって、上位の階層で動き補償がなされていれば、その下の階層での移動量を推定する範囲はビニングサイズ以内でよい。そこで、前記移動情報推定手段は、相対的に解像度の高い画像に移行するときに、それまでの低い解像度の画像での動きの補償がなされているという前提の下に、ビニング処理による画素位置精度の不確定さを含む範囲内でのみ移動量の推定を行う構成とするとよい。これにより、移動量の推定がより容易に行える。
【００２２】
また本発明に係る情報処理装置では、前記ビニング処理手段は、低解像度の画像を作成する際に、その低画像度の画像内で或る１個の拡大画素セルに対応する、高い解像度の画像中での複数の画素セル又は拡大画素セルと、低画像度の画像内で前記１個の拡大画素セルに隣接する１個の拡大画素セルに対応する、高い解像度の画像中での複数の画素セル又は拡大画素セルとで、その一部が重複するように画素セル又は拡大画素セルを設定する構成とするとよい。
【００２３】
この構成によれば、高い解像度の画像中で隣接する画素セル又は拡大画素セルに跨るように受光領域が形成される場合でも、その境界を挟んだ両側の画素セル又は拡大画素セルの画素値が低解像度の画像中で１個の拡大画素セルの画素値に反映される。それによって、上述したように評価値を計算する場合にその評価値が見かけ上低くなってしまうことを回避し、受光領域、つまりは送信装置の検出の見逃しを防止することができる。
【００２４】
また本発明に係る情報処理装置において、前記ビニング処理手段は各画素セル又は拡大画素セルの画素値を対数圧縮する構成としてもよい。この構成によれば、ビニングによる加算処理を行った際のビット数の増加を回避しながら、微小な画素値の変化を欠落させずに済む。
【００２５】
また、本発明に係る情報処理システムは、上記発明に係る情報処理装置と、少なくとも所定周波数の光を発する発光源を含む送信装置とを含み、前記送信装置は、第１の周波数を有するパイロット信号と、該第１の周波数よりも高い周波数を有し、該送信装置に関わる情報を含むＩＤ信号とが異なる周波数帯域に重畳された光信号を送出し、前記情報処理装置は、前記パイロット信号の検出結果に基づいて送信装置の位置を認識し、その位置情報に基づいて前記撮像手段の受光部の１乃至複数の画素セルを特定して該画素セルによる画素信号に基づいて前記ＩＤ信号を取得することを特徴としている。
【００２６】
この情報処理システムによれば、パイロット信号に基づいて送信装置の位置を正確に特定した上でその送信装置のＩＤ信号を取得して、例えばその送信装置を識別したり特定したりするために利用できる情報を得ることができる。それにより、例えば撮影画像上にそうした送信装置の特定情報に基づくアイコンなどを重ねて表示し、送信装置を制御するために便利なユーザーインターフェイスを提供することができる。
【発明を実施するための最良の形態】
【００２７】
まず、本発明に係る情報処理装置を適用する情報処理システムの一実施例である遠隔制御システムについて説明する。図１はこの遠隔制御システムの全体構成を示す概念図である。
【００２８】
制御の中心となる情報端末１は後述するような空間光通信機能などを備える携帯電話であり、制御対象の情報機器として、ＤＶＤレコーダ２、パソコン３、デジタルカメラ４、携帯型音楽プレーヤ５、デジタルテレビ６などが家庭内のネットワーク（もちろん、外部のネットワークに接続されていてもよい）７に接続されており、さらにこのネットワーク７にはリソースセンター８も接続されている。但し、ここでいうネットワーク７はこれに接続されている各情報機器が相互にデータ通信可能であることを意味しており、サーバ等の特定の機器を介して接続が達成されるとは限らない。また、ネットワーク７と各情報機器との接続は無線でも有線でもよい。また、制御対象の情報機器も上記記載のものに限らない。
【００２９】
リソースセンター８は各情報機器に関するリソースを保存するものである。ここで言うリソースとは、情報機器の個々の定義情報、各情報機器を簡易表示する際の画像、例えばアイコンデータ、情報端末１で各情報機器に対応したユーザーインターフェースを提供したり各情報機器と通信・制御を行ったりするための制御プログラム（典型的にはＪａｖａ（登録商標）アプリ）又はそれに相当する動作記述（具体的にはプログラミング言語によるものでなくマークアップランゲージのようなものでもよい）など、である。リソースセンター８は例えばサーバの機能を有するコンピュータで構成することもできるが、単なるストレージメディア、例えばフラッシュメモリ（具体的にはフラッシュメモリを用いた各種メモリカード）などであってもよい。
【００３０】
図２は図１に示した遠隔制御システムの一使用形態を示す概略図である。この例において、ユーザーの手元には情報端末１があり、この情報端末１に対してＩＤ情報を送信し得る情報機器として、パソコン３、デジタルカメラ４、デジタルテレビ６がユーザーの眼前、即ち視認可能な位置に配置されている。これら情報機器はそれぞれＩＤ光を出射するともに、家庭内のネットワーク７にそれぞれ無線通信を介して接続されている。ここで無線通信としては、電波通信でも赤外線を用いた光通信でもよく、例えば、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）など既存のものを利用できる。もちろん、有線ＬＡＮで接続されていてもよい。このようにネットワーク７を介して実質的なデータの送受信を行う構成とすることで、情報端末１を介した空間光通信によるデータ通信よりも高速で大容量のデータの交換が可能である。
【００３１】
まず、図１及び図２の遠隔制御システムで実現可能な機能の一例について説明する。情報端末１による制御対象である上述したような情報機器は、いずれも最低限、それぞれの位置を示すパイロット信号とＩＤ信号とを光信号で送出する機能を有しているものの、それ以外のデータ通信などは光通信とは別の上述したネットワーク７を介して行われるようになっている。これら各情報機器はパッシブ機器とアクティブ機器とに分けることができる。図１７は情報端末１との間の通信におけるパッシブ機器とアクティブ機器の相違を模式的に示す図である。図中に情報機器Ａとして示すパッシブ機器とは、制御信号の受け付けは可能であるがデータ信号の双方向通信はできないものである。これに対し、図中に情報機器Ｂとして示すアクティブ機器は制御信号の受け付けが可能であるとともに、データ信号の相互通信も可能な機器である（図１７（ｂ）参照）。情報端末１に対しての光通信によるＩＤ信号の送信は、パッシブ機器とアクティブ機器とのいずれも可能である（図１７（ａ）参照）
【００３２】
この遠隔制御システムでは、情報端末１と複数の情報機器のうちの任意の一つとの間でのデータ通信を行うまでに情報機器を起動して通信を確立させる必要がある。その際のシーケンスは相手がパッシブ機器であるかアクティブ機器であるのかによって異なる。パッシブ機器に対する起動処理シーケンスについて図１８（ｂ）により説明する。
【００３３】
まず情報端末１からデータ通信、つまりネットワーク７を介して各情報機器Ａ（パッシブ機器）に対し起動信号を送る。各情報機器Ａはこの起動信号を受けると、低周波のパイロット信号が重畳されたＩＤ信号を光信号として送出する。ここで、情報端末１は後で詳述するような手法でＩＤ信号に重畳されているパイロット信号を検出し、それによって情報端末１の撮像範囲に含まれる情報機器Ａの位置を認識し、パイロット信号よりも高速なＩＤ信号を受信して復調する。ＩＤ信号には例えばそれぞれの情報機器のベンダー識別コード、製品種別識別コード、製造番号コードなどの各機器に固有のＩＤ（識別情報）が含まれるから、情報端末１はこれによってその情報機器Ａを特定する。そして、ネットワーク７を介してリソースセンター８にその特定した情報機器Ａについての問い合わせを行い、該当するリソースをダウンロードして内部のメモリに保存する。これによって、情報端末１はその情報機器Ａについてのリソースを入手することができる。
【００３４】
なお、情報端末１から最初に出される起動信号は必ずしも必須ではないが、起動信号がない場合には、各パッシブ機器は常時ＩＤ信号を光信号として送出している必要がある。一般にこれは消費電力の無駄であるので、起動信号を受けた後に始めて光源を駆動して光信号を出し始めるほうが好ましい形態である。
【００３５】
次に、アクティブ機器に対する起動処理シーケンスについて図１８（ａ）により説明する。まず、情報端末１からネットワーク７を介して各情報機器Ｂ（アクティブ機器）に対し探索信号を送る。この探索信号は上記起動信号に相当するものである。ここで、探索のためのユーザーの操作としては、情報端末１で起動しているＷｅｂブラウザから各情報機器Ｂ側で起動しているＷｅｂサーバ機能のＣＧＩを利用することにより複数の情報機器Ｂを１つずつ順番に探すようにしてもよいし、ＵＤＰ(User Datagram Protocol)を用いて一斉に複数の情報機器Ｂを探索するようにしてもよい。
【００３６】
各情報機器Ｂはこの探索信号を受けると、その情報機器Ｂが有しているプロパティ情報を含む応答信号をネットワーク７を介して情報端末１に送る。情報端末１はこの応答によって周囲（物理的に周囲である場合とネットワーク上で周囲である場合とがあり得る）に存在する制御可能な情報機器Ｂを認識するとともに、プロパティ情報を参照してリソースセンター８に問い合わせを行い、該当するリソース情報をネットワーク７を介してダウンロードしてきて内部のメモリに一時的に格納する。さらに情報端末１は、応答して来た各情報機器Ｂにそれぞれ異なるＩＤ（アドレス）を割り当て、その情報を送信する。このときに各情報機器に割り当てるＩＤは固定したものでなく、例えば起動の度に変わる可能性のある一時的なものである。以下、何らかの意味で情報機器を識別可能な情報として、こうした一時的なアドレスも含めてＩＤと称す。
【００３７】
次にＩＤの割り当てを受けた情報機器ＢはＩＤ信号を光信号として送出する。したがって、情報端末１は上述したような手法でＩＤ信号に重畳されているパイロット信号を検出し、それによって各情報機器Ｂの位置を認識してパイロット信号よりも高速なＩＤ信号を受信して復調する。このときまで、上記のように双方向のデータ通信を行っている情報機器Ｂがその情報端末１の撮像範囲内に存在するものであるか否かは不明であるが、光信号によるＩＤ信号の受信によって撮像範囲内つまり表示画面内に表示される情報機器Ｂであるか画面外の情報機器Ｂであるのかが識別できる。
【００３８】
続いて、先にプロパティ情報を参照してメモリ内に取り込んだリソースが無効である場合には（例えばキャッシングしているデータ中のプロパティ情報に含まれるバージョンが取得した情報機器Ｂのプロパティ中のバージョンより古い場合など）、情報端末１からその情報機器Ｂに対してリソースの送信要求信号を送る。リソース送信要求を受けた情報機器Ｂは情報端末１に対して保有するリソースを送信する。通常、リソースはＩＤ信号等に比べて格段にデータ量が多いため、適宜の圧縮処理を行って送信するとよい。そして、こうして受けたリソースを先にメモリ内に保持してある無効なリソースに代えて記憶し、以降の処理で使用可能とする。なお、Ｊａｖａアプリ等の制御プログラムに関するリソースは、特にユーザー操作に関する制御プログラムはダウンロードした時点ですぐに起動させていつでもそれを用いた操作が可能であるようにしておくと便利である。もちろん、必要に応じて制御プログラムを起動するようにしてもよい。
【００３９】
なお、情報端末１の撮像画面内に存在しない情報機器Ｂからは光信号によるＩＤ信号は到来しないから、表示画面内に存在しないことを認識した上で、ネットワーク７を介してＩＤ信号を受け取って同様に処理を進めることができる。但し、この遠隔制御システムでは、実際上、ユーザーから見える範囲、つまり情報端末１による撮像範囲内に存在する情報機器を制御する可能性が高いから、撮像範囲内に存在するか否かによって各情報機器に優先順位を付け、優先順位の高い順にリソースの入手を行うことで見かけ上の高速化を図ることができる。
【００４０】
上述したような起動処理により、情報端末１は各情報機器Ａ、Ｂについてのリソースを入手することができる。次に、こうした入手したリソースを用いて、ユーザーが情報端末１上での操作によって情報機器の遠隔制御を行う際の処理について図１９により説明する。
【００４１】
図１９において、情報端末１の表示画面２１ａの上側部分２１ｂには、その撮像範囲内に存在する３つの情報機器がアイコンＣ１、Ｃ２、Ｃ３で以て表示されている。また、表示画面２１ａの下側部分２１ｃにはこの撮像範囲内には存在しないもののネットワーク７上に存在することが確認されている情報機器がアイコンＣ４、Ｃ５で以て表示されている。これら各情報機器に対応したアイコンも先に入手したリソースに含まれる画像ファイル等のデータに基づくものである。いま、例えばアイコンＣ１で示される情報機器ｃ１が携帯型音楽プレーヤであり、アイコンＣ２で示される情報機器ｃ２がステレオオーディオシステムであり、携帯型音楽プレーヤに保存されている音楽ファイルをステレオオーディオシステムに取り込んで音楽再生を行う場合について考える。
【００４２】
情報機器ｃ１、ｃ２についてのそれぞれのリソースはユーザーの手元の情報端末１内に保持されているから、アイコンＣ１について所定の操作を行うことにより、情報機器ｃ１である携帯型音楽プレーヤに保持されている音楽ファイルの情報、例えばアーティスト名、アルバム名（曲名）などを表示させ、ユーザーはその中から所望のものを選択する。こうした操作は上述したようにその情報機器ｃ１に対応したＪａｖａアプリ等の制御プログラムの上で可能となる。そして、表示画面２１ａ上でアイコンＣ１を選択してアイコンＣ２の上まで移動させて重ねる、つまりドラッグ＆ドロップに相当する操作を行う。これによって、情報端末１内の情報機器ｃ１、ｃ２のリソースに含まれる応答規定リソースの機能により操作に応じた制御信号が、ネットワーク７を介して各情報機器ｃ１、ｃ２に送られる。
【００４３】
なお、上記説明では、システム内に情報端末１が１個だけ存在する場合を想定していたが、実際には、複数の情報端末１が存在して同時に使用される状況が想定される。そうした場合に、或る情報端末１から或る情報機器に対し既にＩＤが割り振られていて、別の情報端末がその情報機器を制御することがある。その場合に、異なる情報端末から同一の情報機器に対し重複して異なるＩＤを割り振ると混乱が生じるから、ＩＤが既に割り振られている情報機器は、別の情報端末からアクセスを受けたとき（探索されたとき）に、割り振られているＩＤを上述したような光信号として情報端末に送信し、情報端末はそのＩＤを使用して該情報機器に関する制御を行うとよい。
【００４４】
また、上記のような遠隔制御システムにおいて、離れた位置にある情報機器をユーザーの手元にある情報端末から操作する場合、情報端末の画面上に表示したアイコンやそこから起動したアプリケーションソフトウエアを介する必要がある。いま、情報機器がウインドウズ（登録商標）等のＯＳを搭載したパソコンなどである場合、情報端末からそのパソコンのＯＳにログオンしてこれを制御するにはマウスのようなポインティングデバイスを用いると便利である。そこで、こうした目的のために、情報端末をポインティングデバイスとして用いることで、離れた位置にあるパソコン等の情報機器の操作を行うこともできる。
【００４５】
例えば、情報端末において検出したパイロット信号及びＩＤ信号の位置座標の移動量をポインティングデバイスの移動制御量として情報機器に送信する。情報機器側では、受けた移動制御量に応じて例えば画面上に表示してあるポインタ（マウスカーソルなど）を移動させる。また、情報端末は、ユーザーによるクリック、ダブルクリック等のボタン操作を認識し、その認識結果に応じた制御信号を情報機器に送信する。情報機器側はその制御信号に応じたイベントを起こす。また、情報端末に十字キーを用意し（或いは既存の十字キーを利用し）、そのキーの操作情報を情報機器に送信して、対応する方向にポインタを移動させるようにしてもよい。いずれにしても、こうした構成を採ることにより、手元にある情報端末での簡便な操作により、離れた所にあるパソコンのＯＳを自在に制御することができる。
【００４６】
また、上記システムでは、ユーザーの手元にある情報端末の表示画面上に、カメラにより撮影した画像と情報機器に対応したアイコンとをオーバラップして表示させるようにしていたが、ヘッドマウントディスプレイ（ＨＭＤ）を利用することにより別の手法が可能となる。即ち、ＨＭＤに装着されたＩＤカメラではＩＤ情報と位置とを取得し、ＨＭＤの画面上には画像は表示せずにＨＭＤを透過してくる景色にＩＤ位置に対応するアイコン等の画像情報をオーバーラップ表示する。そして、このＨＭＤを装着したユーザーの視線入力やジョイスティック、キー入力等の方法で操作を行う。これによれば、実世界（実際の景色）とコンピュータ上での仮想世界（アイコン等の画像情報）をより自然に融合させたユーザーインターフェイスを実現することができる。
【００４７】
次に、上述したような遠隔制御システムに用いられる情報端末について詳しく説明する。この情報端末１が本発明における情報処理装置に相当するものである。図３は、この情報端末１に内蔵される、光通信を行うための要部のブロック構成図である。
【００４８】
この情報端末１は、撮像／受光部１０として、受光レンズ１２と撮像素子であるイメージセンサ１１とを備える。ここでは、イメージセンサ１１は微小受光素子（画素セル）が二次元状に配列されたＣＭＯＳイメージセンサであって本発明における撮像手段に相当する。このイメージセンサ１１の各画素から読み出された信号（画素信号）を処理する回路として、撮像範囲全体の二次元画像を作成する画像データ処理部１５、特定の画素から読み出された画素信号に基づいて復号処理等を行ってＩＤ（識別）情報を取り出すＩＤデータ受信処理部１３と、ＩＤ情報を取り出すために後述するように撮影画像内でＩＤ光が当たっている画素セルを特定するためのＩＤ位置検出処理部１４と、を備える。さらに、ＩＤデータ受信処理部１３で得た信号に基づいて当該情報端末１と所定の情報機器との間での通信を確立するための各種処理を実行する通信確立制御部１６と、通信に係わる各種の制御及び処理を実行する主制御部２０と、主制御部２０に接続された操作部２２及び表示部２１と、を備える。この例では、ＩＤ位置検出処理部１４が本発明におけるビニング処理手段、評価手段、及び処理手段の機能を有する。
【００４９】
一方、上述した各情報機器（例えばパソコン３）は各機器に固有のＩＤ情報を光信号（ＩＤ光）として出射する発光源（光ビーコン）を備える。この光ビーコンは、例えば各情報機器の電源オン／オフ状態を示す表示ＬＥＤ等を利用することもできるし、これとは別途設けることもできる。
【００５０】
光ビーコンによる出射光は可視光でもよいが、一般的には赤外光であることが望ましく、その場合に、情報端末１が備えるイメージセンサ１１は、Ｒ（赤）、Ｇ（緑）、Ｂ（青）のほか、ＩＲ（赤外）又はその補色画素を配置した４画素を単位とするカラー対応のセンサとするとよい。このとき、画素の配置はベイヤ型のような千鳥格子状でもストライプ型でもよい。こうした構成によれば、検出対象である近赤外信号から可視光成分を除去して、後述するパイロット信号やＩＤ信号の検出精度を向上させることができる。
【００５１】
図５は、各情報機器の光ビーコンから出射される光信号の周波数スペクトルを示す概略図である。また図６は各情報機器から情報端末１に対して送出されるＩＤ信号の１パケット分の信号フォーマットの一例を示す図である。
【００５２】
この実施例においてパイロット信号は例えば標準的な画像フレーム周波数である３０Ｈｚの１／２よりも低い周波数であるｆpで点滅する（又は強弱する）信号であり、一般には全て情報機器について同様のパイロット信号が利用される。このパイロット信号の主たる目的は、通信相手である情報端末１に自らの位置を認識させることにある。したがって、後述するパイロット信号の検出手法によっては、より高い周波数の信号をパイロット信号としてもよい。また、必ずしも周期的に点滅するものでなく、非周期的に点滅したり、外部からの要求に応じて発光するようなものとすることも考えられる。一方、ＩＤ情報はパイロット信号の周波数ｆpよりも十分に高い周波数ｆIDを中心とした周波数帯域を有し、同一のものが存在しないように全ての情報機器に割り当てられた固有アドレス又はその通信の際に各情報機器に一時的に割り当てられる一時アドレスなどの情報を含む。
【００５３】
図６に示すように、上記のような固有ＩＤ等のＩＤデータには、この情報機器がパッシブ機器かアクティブ機器であるのかを識別するためのＰ／Ａ識別ビットが付加され、このＰ／Ａ識別ビットとＩＤデータとに対しエラー検出用のパリティ符号（又はそれ以外のエラー検出又は訂正符号）が付加され、さらに先頭には既定のプリアンブル信号が付加されてひとまとまりのデータ系列、つまり１パケットのデータが作成される。パッシブ機器、アクティブ機器については後述する。プリアンブルはパケットの先頭を見つけるためのものであって、例えば「１１１１１１１１０」の９ビットのデータ列とする。このようにして作成されたパケットは、伝送路の特性に合わせた適宜のデジタル変調が施された上で光信号として繰り返し送出される。具体的には、パケットは例えばマンチェスタ符号化されて光信号として送出される。
【００５４】
本実施例では、パイロット信号の周波数ｆpは画像読み出しのフレームレートである３０ｆｐｓで検出可能な周波数として５Ｈｚとし、ＩＤ情報ｆIDの周波数はそれよりもかなり高速の１．２ｋｆｐｓで検出可能な周波数として４００Ｈｚに設定し、ＩＤ情報としては８ビット程度のデータ長の一時的なＩＤを送出するようにしている。もちろん、これらの数値は適宜に変更することができ、ＩＤ情報としては例えばＩＰｖ６に相当するような長いビット長の固有アドレスやその機器の動作条件を示すデータなどのプロパティ情報を含むようにしてもよい。
【００５５】
図２に示した遠隔制御システムにおいて、ユーザーは、或る情報機器の制御を行いたい場合などに情報端末１の撮像／受光部１０（カメラ）をその情報機器に向ける。すると、情報端末１において、画像データ処理部１５がまず３０ｆｐｓのフレームレートで以て画像を取得し、主制御部２０により、表示部２１の画面上には図４に示すように撮像／受光部１０の撮像範囲に含まれる二次元画像が表示される。これと並行して、ＩＤ位置検出処理部１４はその撮像範囲内でパイロット信号を受信している画素セルを後述する方法で検出することにより、その画像中に存在する起動中の情報機器の光ビーコンを検出する。ＩＤデータ受信処理部１３は、その光ビーコンの位置近傍の小領域の画素信号のみを例えば１．２ｋｆｐｓのレートで高速に読み出すことにより、ＩＤ光に含まれるＩＤ情報を取り出して復号する。このＩＤ情報を受けた主制御部２０は、各情報機器の種類などを特定して、表示部２１の画面上においてその光ビーコンの位置近傍に、各情報機器を選択するための識別情報２１ｄをオーバーレイ表示する。
【００５６】
即ち、ここでオーバーレイ表示された情報機器、例えば図４の例では、デジタルカメラ４、デジタルテレビ６、パソコン３の３つの情報機器が情報端末１よりＩＤ情報の取得可能な情報機器であり、換言すれば情報端末１により制御可能な情報機器である。したがって、ユーザーは情報端末１で所定のキー操作を行って１乃至複数の情報機器を選択し、その情報機器に対して所定の指令を例えばネットワーク７を介して送ることができる。具体的には、例えばデジタルカメラ４内のメモリカードに格納されている画像データをデジタルテレビ６に転送して、デジタルテレビ６の画面上に写真画像を表示させる、等の様々な制御が可能となる。
【００５７】
上述したように情報端末１では撮像／受光部１０で二次元画像を取得し、ＩＤ位置検出処理部１４ではその二次元画像中に存在する光ビーコンを検出する必要があるが、その光ビーコン、具体的にはこの光ビーコンの位置を認識させるためのパイロット信号の検出手法に大きな特徴がある。そこで、このパイロット信号の検出手法について、図７〜図１２及び図１４を参照して以下に説明する。図７はパイロット信号の検出処理のフローチャート、図８はパイロット信号の検出手法を説明するための概念図、図９はパイロット信号検出時のビニング処理を説明するための概念図、図１０はパイロット信号検出時のＩＤ領域分割を説明するための概念図、図１１及び図１２はパイロット信号検出時の動き補償を説明するための概念図、図１４はパイロット信号検出時の発光部の明滅に対する処理を説明するための概念図である。
【００５８】
ここでは、撮影画像内でパイロット信号が存在する位置を正確に検出するために、パイロット信号の評価関数ｐ（ｘ，ｙ）として次の（１）式を導入する。
【数１】
0004765027.tif 000002
ここで、ｘ、ｙは画素の座標、ｆは周波数、ｇ（ｆ）は連続する一定数のフレームについての高速フーリエ変換の周波数ｆに対する演算結果、ｆPILOTはパイロット信号の周波数（この例では５Ｈｚ）である。上記（１）式による評価値が所定の閾値を超えた画素が、パイロット信号を受信している画素セル又は拡大画素セルであると判断することとする。
【００５９】
上記（１）式による評価は正確性が高いもののフーリエ変換の計算量が大きいため、全画素に対して順次評価計算を行ってゆくと全体の計算量は膨大なものとなる。そこで、ここではビニングによる階層化を導入して、評価計算の対象となる画素を少なくするようにしている。なお、「ビニング」とは、画像上で隣り合う素子（画素）のいくつかをひとまとめにして解像度を下げて取り扱うことである。
【００６０】
パイロット信号の検出処理が開始されると、ＩＤ位置検出処理部１４はまず所定フレーム数、例えば１６フレーム分の全画素信号を蓄積する（ステップＳ１）。ここでは一例として有効画素が３２０×２４０画素であるＱＶＧＡ画像を処理対象としているため、３２０×２４０画素×１６フレームの画素信号が蓄積されることになる。次に、蓄積した上記画素信号を用いて所定のビニング処理を行い、各フレーム毎に多段階の異なる解像度の画像を作成する（ステップＳ２）。通常、２×２画素のビニング処理を（ｎ−１）回実行してｎ階層の異なる解像度の画像を作成するが、ここではｎ＝４として３回のビニング処理を実行する場合について考える。
【００６１】
具体的には、図８に示すように、３２０×２４０画素の元画像（図８（ｄ）参照）に対し、１６０×１２０画素（図８（ｃ）参照）、８０×６０画素（図８（ｂ）参照）、４０×３０画素（図８（ａ）参照）の各ビニング画像が作成される。元画像以外のビニング画像の画素セルは元画像の画素セルを複数まとめた仮想的な画素セル（即ちここで言う拡大画素セル）である。いま、図８に示す元画像を含む４枚の画像のうち、最も粗い、つまり解像度の低い４０×３０画素の画像を第１階層とし、解像度が高くなる順に第２階層、第３階層、第４階層と呼ぶこととする。
【００６２】
上記のようなビニング処理を行う際に、次のような特徴的な処理を行う。例えば１０ビットの画素値を有する縦２画素、横２画素の計４画素の画素値を加算して上位階層（解像度の低い）の画像の１画素（拡大画素セル）を作成する場合、一般には、隣接する２×２画素の４画素を１組として加算処理を行う。これに対し、ここでは加算処理自体は隣接する４×４画素の計１６画素に対して行われる。即ち、図９に示すように、上位階層の画像Ｐ１内の或る拡大画素セル＃１の画素値を求めるために、１階層下の画像Ｐ２内での加算対象領域として＃１’で示す４×４画素の領域を設定する。そして、画像Ｐ１内で拡大画素セル＃１に隣接する他の拡大画素セル＃２の画素値を求めるために、画像Ｐ２内での加算対象領域として＃２’で示す４×４画素の領域を設定する。この加算領域＃２’は加算領域＃１’と２×４画素が重なっており、この２×４画素の画素値は画像Ｐ１内で拡大画素セル＃１と拡大画素セル＃２との両方の画素値に反映されることになる。
【００６３】
このように上位階層の画像を作成するために下位解像の画像において画素値を加算する領域の一部を重ね合わせることにより、光ビーコンからの入射光が画素を跨いで当たっているときに、その境界において画素値を加算した値が小さくなって、その影響が相対的に軽視されてしまうことを回避することができる。また、下位階層の画像Ｐ２において１０ビットの画素値を１６画素分加算することで上位画像Ｐ１の１画素分の画素値を求める場合、画素値は１６倍の階調が必要になるため１４ビットの値となる。こうしたビニング処理の場合、一般には、メモリを節約するため等の目的で加算後の画素値を丸め処理して１０ビットにしてしまうが、ここではこうした丸め処理を行わず、上位階層の画素値はデータのビット数を増加させることで対応している。これにより、僅かな画素値変化の情報も保存し、結果的にパイロット信号の受光位置の検出精度を上げるのに寄与する。
【００６４】
なお、メモリを節約しながら微小な画素値の変化を失わないようにするためには、ビニング処理後の値を対数圧縮して、例えば圧縮前に１４ビットである値を１０ビットに変換するとよい。
【００６５】
上記のように作成した多階層のビニング画像に対し、まずＩＤ受光位置の探索対象の階層を１に設定し、探索範囲を全画素に設定する（ステップＳ３）。つまり、最も解像度の低い第１階層のビニング画像からＩＤ受光位置の探索を開始する。１６フレーム分の第１階層のビニング画像に対し、上記（１）式による評価関数により各拡大画素セル毎に評価値を算出する（ステップＳ４）。この結果、４０×３０個の各拡大画素セル毎に評価値が求まる。そして、パイロット信号を受信している、つまり情報機器から出射されたＩＤ光が当たっている画素セルを含む拡大画素セルでは上記評価値が高くなるから、求めた評価値を規定の閾値と比較して、この閾値を超える評価値を有する拡大画素セル（以下、ＩＤ受信画素という）を見い出す（ステップＳ５）。
【００６６】
次いで、上記ＩＤ受信画素の位置と大きさを判断し、そのＩＤ受信画素を含むｍ×ｍ画素の範囲を切り出して次階層の探索範囲として設定する（ステップＳ６）。このとき、図１０に示すように、上記ステップＳ５の閾値処理の結果によるＩＤ受信画素が隣接して連なっている領域＃１、＃２はそれぞれ１個のＩＤ受光領域であると判断する。そして、例えば図８（ａ）の場合にはｍ＝５として、ＩＤ受光領域を含む５×５画素（拡大画素セル）の範囲を次階層の探索範囲として設定する。複数の情報機器から同時にそれぞれＩＤ光が到来する場合、ビニング画像上で離れた位置に複数のＩＤ受信領域が散らばるから、そのそれぞれに対して次階層の探察範囲を決定すればよい。それから、１個のＩＤ受光領域を構成する画素セルの数から推定されるＩＤ受光領域の大きさが所定値以上であるか否かを各ＩＤ受光位置について判断する（ステップＳ７）。
【００６７】
ＩＤ受光領域の大きさが所定値以上であるＩＤ受光位置については十分な精度で以てＩＤ受光位置を特定できていると判断し、以降の探索を打ち切る（ステップＳ８）。いまビニング処理においてＮBX×ＮBY画素を加算して解像度の低い画像を作成しているものとすると、例えば第ｎ階層においてＩＤ受光領域のサイズが２×２画素以上であれば、最下位層の画像において（２ＮBXn-1) ×（２ＮBYn-1)画素以上のサイズであることが保証されるから、ここで探索を打ち切ることにより処理を簡単にすることできる。
【００６８】
他方、ＩＤ受光領域の大きさが所定値より小さいＩＤ受光位置については最下位階層、つまりここでは第４階層であるか否かを判断し（ステップＳ１０）、最下位階層であれば探索を終了する。そして、ＩＤ受信画素の位置（座標）を特定するためにイメージセンサ１１に設けられたＩＤマップテーブルに、上記探索により求まった最終的なＩＤ受信画素の位置情報を書き込む（ステップＳ９）。このＩＤマップテーブルは、ＩＤ光を受光している画素信号のみを選択的に高速で繰り返し読み出す場合にその対象の画素セルを特定するために使用される。
【００６９】
ステップＳ１０で最下位層でないと判定されると、１階層下がった、つまり第１階層→第２階層、第２階層→第３階層、又は第３階層→第４階層の画像の探索に移行し（ステップＳ１１）、さらにＩＤ光の受光位置の移動に伴う動き補償を実行した上で（ステップＳ１２）ステップＳ４に戻り、上述したように、より解像度の高い画像上で上記ステップＳ６で次階層の探察範囲として決定された（厳密にはこれにステップＳ１２での動き補償が考慮された）切り出し範囲についてＩＤ受信画素の検出を実行する。即ち、第１階層→第２階層に移行した直後である場合に、ここではｍ＝５であるから、１段階解像度の高い第２階層のビニング画像の中の１０×１０画素の範囲に対して上記と同様の評価関数を用いた評価処理を行う。これが図８（ｂ）に示す状態である。そして、十分な精度で以てＩＤ受信画素の位置を特定できるまで順番に下層に、つまり解像度の高い画像に移りながら同様の処理を繰り返してゆく。
【００７０】
実際には、情報端末１はユーザーが手に持った状態で操作されるから手振れが生じ、それによってＩＤ受信画素の位置がイメージセンサ１１の受光領域内で変化（相対的に移動）する。この変化の速度は画像のフレーム周波数に比べれば大きいものではなく、低解像度の画像ではあまり問題とならないが、画像の解像度を上げると１６フレーム分の各画像の間でのＩＤ受信画素の移動が問題となることがある。この影響を抑制するための処理が上記ステップＳ１２による動き補償である。
【００７１】
即ち、動き補償を行う際には、まず動きの方向と量とを反映した移動ベクトルを求める。例えば、次階層の隣接フレーム間でＩＤ受信位置の移動範囲が収まる画素範囲を設定して両フレームの相互相関を計算し、相互相関値が最大となる移動ベクトルを求める。いま、ビニング処理においてＮBX×ＮBY画素を加算して解像度の低い画像を作成している場合について考える。この例では具体的には上述したようにＮBX＝ＮBY＝４である（図１２参照）。
【００７２】
上位階層ｎ−１までに成された動き補償が階層ｎに既に反映されているという条件で考えると、横方向の動き範囲は−（ＮBX／２）〜＋（ＮBX／２）、縦方向の動き範囲は−（ＮBY／２）〜＋（ＮBY／２）に収まっていると推測できる。そこで、この動き範囲において時間的に隣接するフレームｉ、ｉ＋１の相互相関を計算し、相互相関値が最大となる移動ベクトルｍiを求める。但し、相互相関は積演算が必要であって計算量が多いので、対応画素の差分絶対値の総和を評価関数として用いてもよい。
【００７３】
移動ベクトルｍiによりＩＤ受信位置の移動方向と移動速度とが推定できるから、この結果に基づいて、評価関数による評価値を計算する際の画像の切り出し範囲をフレーム毎に変えるような動き補償を行う。即ち、図１１において、動き補償を行わない場合、上位階層の画像では同一画素セル（拡大画素セル）に受光領域が存在したとしても、下位階層の画像では動きによって受光領域が移動してしまう。そのため、動き補償を行わずに、つまり評価値を計算する際の画像の切り出し範囲を同一に保ったままで連続する所定フレーム数の画像から評価値を計算すると、評価値が小さくなって受光領域を見逃し易くなる。そこで、ここでは移動ベクトルｍiで推定される移動量及び移動方向に応じ、その移動を打ち消すように画像の切り出し範囲をずらしてゆく。図１１で言えば、ｎ、ｎ＋１のような下位階層の画像では点線で示すように切り出し範囲を各フレーム毎にずらす。したがって、切り出された画像範囲では、見かけ上、受光位置は移動しておらず、こうした複数の画像に基づいて評価値を計算することにより、手振れ等の動きによって評価値が低下することを回避することができる。
【００７４】
但し、図１１に示した例では、画像全体が一様にシフトするような移動を想定しているが、実際には、上位階層の画層の中の１個の拡大画素セルに対応した下位階層の画像中の部分領域毎に移動ベクトルを求め、それに基づいて動き補償を行うことにより、複雑な動きの影響も軽減して評価値の算出精度を上げることができる。
【００７５】
また、光ビーコンは低周波数のパイロット信号で点滅駆動されているから、上記のような動きのほかに、光ビーコンが消灯する期間を考慮する必要がある。このような光ビーコンの点滅を考慮した処理について図１４により説明する。いま、フレーム番号ｉの画像が評価計算を行う１６フレーム分の画像の先頭であるとする。また、この直前のフレーム番号ｉ−１の画像に対するフレームｉの画像の移動ベクトルをｍiであるとする。このとき、光ビーコンの明滅（点灯／消灯）が切り替わるタイミングを認識するために、次のように二つの情報を利用することができる。
【００７６】
即ち、１階層上の画像に基づいて評価関数により評価値を求める際に、パイロット信号の周波数ｆpを検出すれば、その周波数ｆpのＦＦＴ成分ｇ（ｆp）の位相から光ビーコンの明滅の切り替わりタイミングが分かる。実際には、図１４中に示すように位相π毎に明滅が切り替わることになる。また、上述したように動き補償のために移動量を算出する場合に、隣接フレーム間の相互相関の最大値が閾値以下になったときに光ビーコンの明滅状態が切り替わったものと推測できる。そして、光ビーコンの明滅状態を判断した上で、例えば光ビーコンの点灯期間中には上述したように連続するフレームの画像の相互相関を計算してその最大相互相関値から移動ベクトルを算出すればよい。また、光ビーコンの明滅の切り替わり時には、例えば、移動ベクトルを算出する代わりに最も直近の移動ベクトルで代用したり、１周期前の動き補償済みの画像との間での相互相関値の最大値から移動ベクトルを求めたりすればよい。このように光ビーコンの点滅の影響を殆ど受けずに上記のような動き補償を行うことができる。
【００７７】
上記のようなＩＤ光の受光位置検出処理によれば、（１）式を用いた評価値の計算量を大幅に削減することができる。いま、元々の画像の解像度をＮx×ＮY、同時に受信可能な最大ＩＤ数をｎIDとして考える。上述のようなビニングによる階層化を行わない場合、（１）式の演算をＮx×ＮY回だけ行う必要がある。これに対し、上記のようにビニングによる階層化を行った場合には、（１）式の演算の実行回数は、（Ｎx×ＮY／４n-1）＋４ｍ2（ｎ−１）ｎID回となる。具体例を挙げると、３２０×２４０画素のＱＶＧＡの場合に、最大ＩＤ数ｎIDが７、ＩＤ画像サイズｍ×ｍが５×５である条件の下では、階層化を行わないと（１）式の演算実行回数は７９３６０回、３階層のビニングを行うと６３６０回と、１／１０以下の回数で済む。さらに４階層のビニングを行えば３３４０回と、一層演算実行回数は削減できる。このように上記処理によれば、イメージセンサ１１においてＩＤ光を受けている画素を特定する際の処理における計算量が大幅に減らせる。
【００７８】
なお、上記説明では解像度の相違する各階層において同一の評価関数を用いていたが、各階層毎に評価関数を変えるようにしてもよい。階層的探索を行う場合、最も粗い解像度の画像では全画素（拡大画素セル）の探索が必要である。そこで、例えば解像度の低い画像に対しては、精度は低いものの計算量が少ない評価関数を利用し、対象画素数が絞られた高解像度の画像に対しては、計算量は多くてもより精度の高い評価関数を用いるとよい。このようにすれば、全体の計算量をさらに削減することができる。
【００７９】
上述したような方法によって光ビーコンからの光の受光位置（ＩＤ受信画素）を確定した上で、今度はその画素の近傍に絞った範囲でＩＤ信号を高速に読み出すわけであるが、その際のＩＤデータの復号処理について図１５のフローチャートに従って説明する。
【００８０】
まず、上述したようなＩＤマップテーブルに書き込まれているＩＤ受信画素の位置情報に基づいて特定の画素セルの画素値を高速に（この例では１．２ｋｆｐｓのレートで）繰り返し読み出すことで、連続的なＩＤ画像を取得する（ステップＳ２１）。この際、図１３（ａ）に示すようにＩＤ受光領域のサイズが或る程度小さい場合には、そのＩＤ受信画素を含む所定範囲の全ての画素を読み出し対象として設定することができるが、図１３（ｂ）に示すようにＩＤ受光領域のサイズが大きい場合には、読み出し対象画素が多くなり過ぎる。したがって、その場合には、適宜の間隔で間引いて読み出し画素を設定することにより、読み出し対象画素を絞るとよい。
【００８１】
そして、読み出した画素の全ての画素値の総和を計算し（ステップＳ２２）、複数の平滑化処理を行うことでノイズの影響を軽減する（ステップＳ２３）。その後に、平滑化処理して得られた画素値をフレームの順番に時系列的に配列し、その画素値を閾値を基準に判定することにより二値化する（ステップＳ２４）。一般的にこうした二値化処理のための閾値を決めるために受信データの前方平均（前方の一定数のデータの平均）又は後方平均（後方の一定数のデータの平均）を用いるが、ここではパケットの端部では後方平均を用い、それ以外の部分では前方平均を用いる。
【００８２】
なお、二値化のための別の方法としては、例えば１ビットを３フレームで捉える場合、相関カーネル｛−１，−１，−１，１，１，１｝を用いて相関演算を行うような０→１変化点検出フィルタを用い、その正負（正：”０”→”１”の変化、負：”１”→”０”の変化）の変化点の間を”０”又は”１”で埋めることにより二値化を行うようにしてもよい。
【００８３】
この符号では１フレームだけが”１”又は”０”となるような孤立した”１”又は”０”は存在しない筈であるので、二値化処理の後に、こうした孤立したビットを除去するグリッチ除去処理を行う（ステップＳ２５）。その後に、連続する”１”又は”０”の数をカウントし（ステップＳ２６）、そのカウント値を閾値と比較することで”０”、”１”、”００”、”１１”を復元する（ステップＳ２７）。例えば、”０”又は”１”のカウント値が４以下である場合にはそれぞれ”０”又は”１”とし、”０”又は”１”のカウント値が５以上である場合にはそれぞれ”００”又は”１１”とする。
【００８４】
そうして得たデータ列に対し、上記のように予めプリアンブル信号として定めたデータ列、例えば「１１１１１１１１０」の９ビットのデータ列を見つけることでパケットの先頭を判断し（ステップＳ２８）、プリアンブル信号の直後の先頭のビットからマンチェスタ符号の復号化を行う（ステップＳ２９）。即ち、”０１”→”１”、”１０”→”０”と変換し、”００”又は”１１”が出現した場合には復号エラーであると判断する（ステップＳ３０でＹＥＳ）。そして、復号エラーが発生しなければ、次いでエラー検出符号（又は訂正符号）を利用してエラー検出又は訂正を行う（ステップＳ３１）。
【００８５】
ステップＳ３０で復号エラーが有る場合、及びステップＳ３１でエラーが検出された場合（エラー訂正を行う場合には訂正不能なエラーが検出された場合）にはいずれも、ＩＤ信号の信頼性が乏しいのでＩＤ値を破棄し（ステップＳ３４）、一方、いずれのエラーが無ければＩＤ値を取得する（ステップＳ３３）。このようにして情報端末１は各情報機器が保持するＩＤ情報を得ることができる。
【００８６】
上記のような多数フレームのＩＤ画像を取得する過程においても、パイロット信号の検出時と同様に手振れ等によりＩＤ受光領域が相対的に移動する可能性が高いから、こうした移動の補償を行ってＩＤ受光領域を追尾する。図１６はそうしたＩＤの追尾方法を説明するための概念図であり、（ａ）は”０”が１ビットのみの場合、（ｂ）は”０”が２ビット連続する場合に連続して得られるＩＤ画像の一例を描出している。ＩＤ画像は例えば１．２ｋＨｚ毎に１枚ずつ得られる画像であり、この場合には、１ビットのデータが３枚のＩＤ画像で表現されている。
【００８７】
図１６に示すように、データビットが”０”である期間にはＩＤ受光領域はＩＤ画像上に存在せず、データビットが”１”である期間にはＩＤ受光領域は移動している。したがって、ＩＤ信号を正確に復号するためにはＩＤ受光領域の移動に伴ってこれを追尾することが必要である。そこで、パイロット信号を検出する際の動き補償時と同様の手法を利用し、ＩＤ画像について移動ベクトルを求める。即ち、ＩＤ画像のフレーム間の相互相関や差分絶対値和を利用して移動ベクトルを求め、これにより移動量と移動方向とを推測する。但し、上述したようにデータビットが”０”である期間には移動ベクトルが求まらないから、移動ベクトルに履歴の情報をもたせることにより、ＩＤ受光領域がない期間中にも移動を推定するようにするとよい。
【００８８】
具体的には、前フレームでの最終的な移動ベクトルをｍi-1、現フレームで求まった移動ベクトルをｍi,0（但し、差分絶対値の総和が閾値以下の場合は切り捨ててゼロベクトルとする）としたときに、現フレームの最終的な移動ベクトルを、
ｍi＝βｍi-1＋（１−β）ｍi,0
但し、βは減衰率で０＜β≦１
と定義するとよい。ＩＤ受光領域が存在しない（光ビーコンが消灯している）ＩＤ画像フレームでは、上記式により移動ベクトルを求めればよい。但し、この式による移動ベクトルでは、急に速度が増すような移動に対する応答性があまり良好でないので、ＩＤ受光領域が存在するＩＤ画像フレームではβ＝０として現フレームで求まった移動ベクトルｍi,0をそのまま用い、ＩＤ受光領域が存在しないＩＤ画像フレームでのみ上記式による移動ベクトルを利用するとさらに好ましい。こうして移動ベクトルが求まったならば、その移動量に応じてＩＤ画像を形成するための読み出し対象の画素の位置をずらし、確実にＩＤ受光領域を捉えるようにすることができる。
【００８９】
上述したように、情報端末１ではＩＤ情報によりその情報機器を特定し、例えばリソースを収集してその情報機器に対応したアイコンを表示画面２１ａ上に表示させることができるが、すぐにアイコンを表示するのではなく、一旦スコアリング処理を行う。即ち、ＩＤの存在が認識されていない場合には、スコアは初期値から一定の割合で減少されてゆき、規定の下限値で飽和する（つまり、それ以上はスコアは下がらない）。ＩＤ情報が検出される毎にスコアに規定値を加算してゆき、或る回数だけＩＤが検出されてスコアが規定の上限閾値を上回ったならば、初めてＩＤの存在を認識し、表示画面２１ａ上の対応する位置にアイコンを表示する。
【００９０】
一旦存在が確認されたＩＤについてもＩＤが検出されなくなるとスコアが一定の割合で減少されるが、スコアが所定の下限閾値に達するまでにＩＤが検出されたならば、スコアは上記上限閾値に戻される。一方、ＩＤが検出されない期間が長くなってスコアが下限閾値に達してしまうと、初めてＩＤが消滅したと認識し、それまで表示していたアイコンを表示画面２１ａ上から消す。但し、このアイコンが何らかの操作中（例えばこのアイコンに対応した情報機器が制御動作中である場合やアイコン自体がドラッグ＆ドロップ等の操作中である場合など）には、操作が終了して所定時間が経過するまではアイコンの消滅を延期する。
【００９１】
情報端末１が情報機器の光ビーコンからＩＤ光を受信している間にも、外乱光による影響や光の遮蔽などによって一時的にエラーが発生したり受信不能に陥ったりする可能性が高い。また、情報機器自体の移動などによってパイロット信号が誤検出され、ＩＤを正常に読み取ることができなくなる事態も想定される。そのため、上述のように復号したＩＤ情報をそのまま利用してＩＤに対応したアイコンを表示画面２１ａ上に表示させようとすると、アイコンが短時間だけ出現したり逆に表示中のアイコンが短時間だけ頻繁に消えたたりするといった不安定な状態になる。これに対し、上述したようにスコアリング処理を行ってＩＤに対応したアイコンの表示やその消滅を制御することで、表示を安定させ、それに対するユーザーの操作を行い易くすることができる。
【００９２】
なお、上記説明に関した挙げた数値、例えばＩＤ位置検出処理における階層数や画素数等はいずれも一例であり、これに限るものではなく適宜に変更することができる。また、パイロット信号の検出処理やＩＤ復号処理はそれぞれ図７、図１５のフローチャートに限定するものではなく各種の変更が可能である。
【実施例】
【００９３】
本発明者らが試作した簡易的な「オプトナビ」システムを用いた実験結果について説明する。イメージセンサ１１は非特許文献２で開示したものを使用した。したがって、最大受信可能なＩＤ数ｎIDは７、ＩＤ情報を読み取るためのＩＤ画像の撮像フレームレートは１個のＩＤ当たり１．２ｋｆｐｓである。また、情報機器の光ビーコンに相当するＩＤ光源としては赤色ＬＥＤを用いた。これは実験的に扱い易い可視波長の光を用いたものであり、好ましくは、人間の目に見えない近赤外光を用いるとよい。
【００９４】
図２の遠隔制御システムにおいて情報機器に相当するＩＤ送信モジュールからは４００Ｈｚで変調した二値信号を送信したが、送信データとしては、ＩＤコードである４ビットの二値データの先頭にデータ列が「１１１１１１１０」であるプリアンブルを付加し、全体をマンチェスタ符号化した。マンチェスタ符号化後の１ビットの送出時間は２．５ｍｓであり、その１ビットを上記ＩＤ画像３フレームで受信するように設定した。またＩＤ光源を１００ｍｓ毎にオン／オフすることにより、ＩＤ信号に５Ｈｚのパイロット信号を重畳した。
【００９５】
実験では部屋の中に３つのＩＤ送信モジュールを配置し、各ＩＤ受信モジュールからそれぞれ異なるＩＤコード（２，９，１３）を送信した。情報端末１に相当するユーザー側のカメラとＩＤ送信モジュールとの間の離間距離は、最も近いもので約１ｍ、最も遠いもので約３ｍとした。また、パイロット信号の検出時のビニングの階層は３段階とした。
【００９６】
上記のような条件の下で、カメラで撮影する画像内に現れている３つのＩＤ送信モジュール情報機器のＩＤが正確に取得できることが確認できた。このようにして各種情報機器のＩＤが正確に得られるので、このＩＤにより各情報機器を特定して、上述したような様々な制御を行うことが可能となる。
【図面の簡単な説明】
【００９７】
【図１】本発明に係る情報処理システムの一例である遠隔制御システムの全体構成を示す概念図。
【図２】図１に示した遠隔制御システムの一使用形態を示す概略図。
【図３】図１、図２に示すシステム中の情報端末に内蔵される光通信を行うための要部のブロック構成図。
【図４】図３に示した情報端末の表示部の画面の一例を示す模式図。
【図５】各情報機器の光ビーコンから出射されるＩＤ光の周波数スペクトルを示す概略図。
【図６】各情報機器から情報端末に対して送出されるＩＤ信号の１パケット分の信号フォーマットの一例を示す図。
【図７】本実施例の情報端末におけるパイロット信号検出処理のフローチャート。
【図８】本実施例の情報端末におけるパイロット信号の検出手法を説明するための概念図。
【図９】本実施例の情報端末におけるパイロット信号検出時のビニング処理を説明するための概念図。
【図１０】本実施例の情報端末におけるパイロット信号検出時のＩＤ領域分割を説明するための概念図。
【図１１】本実施例の情報端末におけるパイロット信号検出時の動き補償を説明するための概念図。
【図１２】本実施例の情報端末におけるパイロット信号検出時の動き補償を説明するための概念図。
【図１３】本実施例の情報端末におけるＩＤ復号処理時の間引き読み出しを説明するための概念図。
【図１４】本実施例の情報端末におけるパイロット信号検出時の発光部の明滅に対する処理を説明するための概念図。
【図１５】本実施例の情報端末におけるＩＤ復号処理のフローチャート。
【図１６】本実施例の情報端末におけるＩＤ復号処理時の動き補償を説明するための概念図。
【図１７】図１の遠隔制御システムにおける情報端末と各情報機器との間の通信形態を示す概念図。
【図１８】図１の遠隔制御システムにおける起動処理シーケンスの説明図。
【図１９】図１の遠隔制御システムにおいてユーザーが情報端末上の操作によって情報機器の遠隔制御を行う際の処理の一例の説明図。
【符号の説明】
【００９８】
１…情報端末
１０…撮像／受光部
１１…イメージセンサ
１２…受光レンズ
１３…ＩＤデータ受信処理部
１４…ＩＤ位置検出処理部
１５…画像データ処理部
１６…通信確立制御部
２０…主制御部
２１…表示部
２１ａ…識別情報
２２…操作部
２…ＤＶＤレコーダ
３…パソコン
４…デジタルカメラ
５…携帯型音楽プレーヤ
６…デジタルテレビ
７…ネットワーク
８…リソースセンター
【図１】
0004765027.tif 000003
【図２】
0004765027.tif 000004
【図３】
0004765027.tif 000005
【図４】
0004765027.tif 000006
【図５】
0004765027.tif 000007
【図６】
0004765027.tif 000008
【図７】
0004765027.tif 000009
【図８】
0004765027.tif 000010
【図９】
0004765027.tif 000011
【図１０】
0004765027.tif 000012
【図１１】
0004765027.tif 000013
【図１２】
0004765027.tif 000014
【図１３】
0004765027.tif 000015
【図１４】
0004765027.tif 000016
【図１５】
0004765027.tif 000017
【図１６】
0004765027.tif 000018
【図１７】
0004765027.tif 000019
【図１８】
0004765027.tif 000020
【図１９】
0004765027.tif 000021