JP2014174638A - 指示位置算出装置、ディスプレイ指示システム、方法及びプログラム - Google Patents

指示位置算出装置、ディスプレイ指示システム、方法及びプログラム Download PDF

Info

Publication number
JP2014174638A
JP2014174638A JP2013044679A JP2013044679A JP2014174638A JP 2014174638 A JP2014174638 A JP 2014174638A JP 2013044679 A JP2013044679 A JP 2013044679A JP 2013044679 A JP2013044679 A JP 2013044679A JP 2014174638 A JP2014174638 A JP 2014174638A
Authority
JP
Japan
Prior art keywords
display
camera
display screen
mobile terminal
captured image
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.)
Pending
Application number
JP2013044679A
Other languages
English (en)
Inventor
Takahiro Matsumoto
崇裕 松元
Toru Kobayashi
透 小林
Shunichi Seko
俊一 瀬古
Ryosuke Aoki
良輔 青木
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013044679A priority Critical patent/JP2014174638A/ja
Publication of JP2014174638A publication Critical patent/JP2014174638A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】位置計測用カメラを設置する必要がなく安価で手間が掛からず、かつ画像処理による計算量が少なくリアルタイム性に優れた指示位置算出を可能にする。
【解決手段】携帯端末103によりディスプレイ102を撮影し、このカメラ撮影画像とディスプレイに表示中の画像をもとにディスプレイ座標系から撮影画像座標系への射影変換行列を求め、この射影変換行列をもとにディスプレイの四隅の座標を撮影画像座標に変換した座標を求め、携帯端末のカメラによりディスプレイを撮影したときのパン、チルト及びロール角からディスプレイの四隅に携帯端末のカメラ中心を合わせたときのパン、チルト角を求める。そして、ディスプレイ座標系への射影変換行列を求めることによりキャリブレーション処理を行う。そして、このキャリブレーション処理後は、携帯端末の指示位置を加速度センサ及び地磁気センサから算出されるパン角とチルト角をもとに特定する。
【選択図】図3

Description

この発明は、携帯端末を用いてディスプレイを指し示した場合に、そのディスプレイ画面中の指示座標を算出するための指示位置算出装置、この指示位置算出装置を備えたディスプレイ指示システム、上記指示位置算出装置及びディスプレイ指示システムで使用する指示位置算出方法、ディスプレイ指示方法及びプログラムに関する。
携帯端末を用いてディスプレイを指し示した場合に、その指示方向や指示位置を検出して当該指示位置をポインタ等によりディスプレイ画面に表示する技術が注目されている。
携帯端末がディスプレイ上のどの座標位置を指し示しているかを算出する手法としては、例えば加速度・地磁気センサを用いる手法が提案されている。この手法は、携帯端末の加速度・地磁気センサの値から端末が向いている方向をリアルタイムで取得することで、携帯端末の方向の変化からディスプレイ上のどの位置に携帯端末が向けられているかを計測するものである(例えば非特許文献1を参照)。
一方、携帯端末がディスプレイ上のどの位置を指し示しているかを算出する別の手法として、カメラを用いる手法が提案されている。この手法は、カメラにより撮影されたカメラ画像に対して画像処理を行い、位置取得を行うディスプレイの表示内容がカメラ画像内のどの位置に表示されているかを識別する。そして、カメラ画像座標と位置取得を行うディスプレイ内の座標の対応を取ることで、カメラ画像座標がディスプレイ座標のどの位置に対応するか計算するものである(例えば非特許文献2参照)。
A. Wilson and S. Shafer, "XWand: UI for Intelligent Spaces", In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI’03), pp.545-552, 2003. Sebastian Boring, Dominikus Baur, and Andreas Butz, "Touch projector: mobile interaction through video", CHI '10 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems Pages 2287-2296
ところが、加速度・地磁気センサを用いる手法では、ディスプレイ上のどの位置に携帯端末が向けられたかを取得するために、携帯端末とディスプレイがどの位置に存在しているかをシステムが計測する必要がある。例えば、非特許文献1では、環境中に複数の位置計測用カメラを設置すると共に、携帯端末にLED(Light-Emitting Diode)を取り付け、携帯端末に取り付けられたLEDを同時に2台以上の位置計測用カメラで撮影することで携帯端末の位置を特定している。また、環境中のディスプレイ位置や位置計測用カメラの位置を表すデータを予めシステムに登録しておく必要がある。このため、一般家庭において導入し使用する場合には、位置計測用カメラの設置コストがかかり、さらに設置工事や位置登録作業に手間がかかる。
一方、カメラを使用する手法では、例えばカメラ画像座標のカメラ光学中心の座標位置が位置取得を行うディスプレイ座標のどの位置にあたるかを計算することで、携帯端末の向けられた方向のディスプレイ座標位置を計算することができる。しかしながら、カメラで画像処理を用いる手法は携帯端末の方向が変動する度に画像処理を行う必要があるために計算量が多く、ディスプレイ座標位置計算のリアルタイム性が損なわれる問題や計算による電力消費量が大きくなってしまう問題が存在する。
この発明は上記事情に着目してなされたもので、その主たる目的は、位置計測用カメラを設置する必要がなく安価で手間が掛からず、かつ画像処理による計算量が少なくリアルタイム性に優れた指示位置算出装置、ディスプレイ指示システム、方法及びプログラムを提供することにある。
上記目的を達成するためにこの発明は、カメラ、加速度センサ及び地磁気センサを有する携帯端末を用いてディスプレイ画面を指し示した場合に、ディスプレイ画面上における当該指示位置の座標を算出する指示位置算出装置又はディスプレイ指示システムにあって、先ず上記ディスプレイに表示された表示画像データを取得すると共に、上記携帯端末から上記カメラにより撮影された上記ディスプレイ画面の撮影画像データを取得する。そして、第1の計算手段により、上記取得されたディスプレイの表示画像データ及びカメラの撮影画像データに基づいて上記ディスプレイ画面の座標系から上記カメラの撮影画像の座標系への第1の射影変換行列を計算し、この計算された第1の射影変換行列をもとに上記ディスプレイ画面の予め定められ特定位置の座標を上記カメラの撮影画像座標系に射影変換した座標を計算する。そして、第2の計算手段により、上記携帯端末から上記カメラにより上記ディスプレイ画面を撮影したときの上記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとに上記カメラの撮影画像中心をディスプレイ画面の上記特定位置に合わせた場合のパン角及びチルト角を計算する。続いて第3の計算手段により、上記計算されたパン角及びチルト角に基づいて、上記ディスプレイ画面の上記特定位置座標への第2の射影変換行列を計算し記憶する。最後に第4の計算手段により、上記携帯端末から当該携帯端末により上記ディスプレイ画面を指し示したときの上記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとにパン角及びチルト角をそれぞれ計算し、この計算されたパン角及びチルト角を上記記憶された第2の射影変換行列により上記ディスプレイ画面上の座標値に変換するようにしたものである。
またこの発明は、以下のような態様を備えることを特徴とする。
第1の態様は、上記指示位置算出装置にディスプレイ特定手段をさらに備え、このディスプレイ特定手段において、複数のディスプレイからそれぞれ取得した表示画像データの表示時刻と、上記携帯端末から取得したカメラの撮影画像の撮影時刻とを比較してその時間差を計算する。また、上記複数のディスプレイから取得した表示画像データからそれぞれ特徴点を抽出すると共に上記携帯端末から取得したカメラの撮影画像から特徴点を抽出し、上記携帯端末の撮影画像データと上記複数のディスプレイの表示画像データとの間で上記抽出された特徴点を比較して、その特徴量の差を計算する。そして、上記時間差の計算結果と上記特徴量の差の計算結果をもとに、上記複数のディスプレイから上記携帯端末が指し示しているディスプレイを特定するものである。
第2の態様は、上記指示位置算出装置にキャリブレーション制御手段をさらに備え、このキャリブレーション制御手段により、上記表示画像を取得する手段、撮影画像を取得する手段、上記第1、第2及び第3の計算手段による、上記携帯端末のカメラ撮影画像からディスプレイ画面の特定位置方向の値を計算するキャリブレーション処理を、動的に設定される時間間隔で繰り返し実行させるように制御するものである。
上記キャリブレーション処理の間隔は、携帯端末の平行移動量と、現在位置情報の取得対象となっているディスプレイと携帯端末の向けられている方向と同ディスプレイ平面が交わる場所のディスプレイ画面座標系上の位置との相互距離と、直近のキャリブレーション処理の精度評価値のうちの少なくとも一つに基づいて、動的に設定するとよい。
この発明によれば、画像処理は携帯端末からディスプレイ画面の特定位置方向を計算するキャリブレーション処理のみに用いられ、キャリブレーション処理後のディスプレイ画面における座標位置はカメラ画像を用いずに加速度センサ及び地磁気センサを用いて算出されるため、計算処理量を減らして応答性を高めることが可能となる。また、キャリブレーション処理では、携帯端末のカメラにより得られる画像とディスプレイの表示画像だけをもとに処理が行われるので、環境中に位置計測用カメラ等を設置せずに済み、これにより設備コストや手間を低減することが可能となる。
第1の態様によれば、携帯端末が複数のディスプレイを選択的に指し示す場合でも、指し示している方向にあるディスプレイを特定することが可能となる。
第2の態様によれば、キャリブレーション処理が、動的に設定される時間間隔で繰り返し実行される。このため、ユーザによる明示的なキャリブレーションを必要とすることなく、動的な時間間隔でキャリブレーション処理を自動的に実行することができる。
また第3の態様によれば、キャリブレーションの時間間隔は3種類のパラメータをもとに動的に設定されるので、携帯端末による指示方向の変化の履歴に応じた最適な時間間隔でキャリブレーション処理を実行することが可能となる。
すなわちこの発明によれば、位置計測用カメラを設置する必要がなく安価で手間が掛からず、かつ画像処理による計算量が少なくリアルタイム性に優れた指示位置算出装置、ディスプレイ指示システム、方法及びプログラムを提供することができる。
この発明の原理説明に使用するもので、複数のディスプレイを選択的に指し示す場合の動作を示す図。 この発明の原理説明に使用するもので、1つのディスプレイに表示された複数のウィンドウ画面を選択的に指し示す場合の動作を示す図。 この発明の第1の実施形態に係るディスプレイ指示システムの機能構成を示すブロック図。 図3に示される指示位置算出装置の記憶部に記憶されるディスプレイ初期情報の一例を示す図。 図3に示される指示位置算出装置の記憶部に記憶される携帯端末カメラ初期情報の一例を示す図。 図3に示される指示位置算出装置の記憶部に記憶されるディスプレイ画像解析情報の一例を示す図。 図3に示される指示位置算出装置の記憶部に記憶される携帯端末カメラの画像情報の一例を示す図。 図3に示される指示位置算出装置の記憶部に記憶されるキャリブレーション結果値の一例を示す図。 図3に示される指示位置算出装置の記憶部に記憶される推定移動量の一例を示す図。 図3に示したシステムにおいて携帯端末からディスプレイ位置情報を取得する処理の手順と処理内容を示すフローチャート。 図10に示した全体の処理手順のうちキャリブレーション実行処理の手順と処理内容を示すフローチャート。 図10に示した全体の処理手順のうち画像処理の手順と処理内容を示すフローチャート。 図10に示した全体の処理手順のうち位置推定処理の手順と処理内容を示すフローチャート。 図10に示した全体の処理手順のうちキャリブレーション間隔計算処理の手順と処理内容を示すフローチャート。
[原理]
実施形態の説明に先立ち、この発明の原理を図1及び図2を用いて説明する。
この発明では、カメラ、加速度センサ及び地磁気センサを有する携帯端末を用いて、複数のディスプレイ画面に対し携帯端末のカメラが向けられている方向と位置を特定する際に、環境中に携帯端末の位置計測用カメラを設置することなく実現ができ、従来の画像処理を用いる手法より処理が軽い手法を提案する。
上記課題を解決するためこの発明では、先ずカメラ、加速度センサ及び地磁気センサを有する携帯端末をディスプレイ画面上の四隅方向に向け、加速度センサ及び地磁気センサより得られる携帯端末のパン角及びチルト角を計算によって求める。そして、この計算されたパン角及びチルト角をもとに、携帯端末の任意のパン角及びチルト角から当該携帯端末が向いた方向のディスプレイにおけるX座標及びY座標への射影変換行列2を求める。そして、この求められた射影変換行列2により、携帯端末がディスプレイ画面の座標上のどの位置に向けられたかを計算する。この発明の手法では、画像処理を携帯端末からディスプレイ画面の四隅方向を計算するキャリブレーション処理のみに用い、携帯端末の向けられた方向を特定する場合には、加速度センサ及び地磁気センサだけを用いて方向を特定することで、計算処理の処理量を減らすことができる。
また、キャリブレーション処理では、携帯端末のカメラにより得られる画像とディスプレイの表示画像だけを用いて行うことで、環境中に位置計測用カメラ等を設置せずに携帯端末の加速度センサ及び地磁気センサからディスプレイ画面の座標位置を算出することができる。
この発明の手法では、携帯端末をディスプレイ画面の四隅方向に向けた際に、加速度センサ及び地磁気センサがとるパン角及びチルト角の値を画像処理によって求める。これに対し従来では、カメラ画像の座標とディスプレイ画面の座標との間の対応付けを画像処理によって行なっている。しかしながら、携帯端末のカメラ画像の座標とディスプレイ画面の座標の対応だけでは、携帯端末をディスプレイ画面の四隅方向へ向けた際の加速度及び地磁気センサのパン角及びチルト角を直接知ることはできない。そこで、携帯端末をディスプレイ画面の四隅方向へ向けた際のパン角及びチルト角の値を計算によって求める手法を提案する。
またこの発明では、携帯端末の構造上の条件として、携帯端末を向ける方向とカメラの撮影光軸とが一致するようにカメラレンズが設置されるものとする。また、携帯端末は加速度センサ及び地磁気センサの機能を持ち、携帯端末が向いている方向を特定できるものとする。さらに携帯端末のカメラの横方向X及び縦方向Yに対する画角をそれぞれθx ,θy 、カメラの横方向X及び縦方向Yのピクセル数をそれぞれNx ,Ny 、カメラの撮影画像中心をφx ,φy とする。
ユーザが上記携帯端末をディスプレイに向けると、システムは先ず操作対象候補となる全ディスプレイの表示画面の画像について特徴点を抽出する。またそれと共に各画像についてその表示時刻を取得する。上記ディスプレイ画像の特徴点の抽出処理と同時に、携帯端末のカメラにより撮影されたカメラ画像に対しても同様に特徴点の抽出処理と撮影時刻の取得を行う。さらに、加速度センサ及び地磁気センサの測定データをもとに、カメラ撮影時のパン角、チルト角及びロール角をそれぞれ計算する。ここでは、カメラ撮影時のパン角、チルト角及びロール角をそれぞれθα ,θβ ,θγ とする。
システムは、次にカメラによる撮影時刻と各ディスプレイ画像の表示時刻とを比較し、各ディスプレイよりカメラの撮影時刻と最も近いディスプレイ画像をそれぞれ選択し、この選択したディスプレイ画像の特徴点とカメラ撮影画像の特徴点とを比較する。ディスプレイ画像とカメラ撮影画像との間で特徴量が十分近い特徴点が4点以上存在する場合、ディスプレイ画像の座標からカメラ撮影画像の座標に対する射影変換行列1を計算する。4点以上一致する特徴点を持つディスプレイ画像が複数存在する場合には、特徴点が最も一致するディスプレイ画像を1つ選択する。
そして、上記計算された射影変換行列1をもとに、ディスプレイ画像の四隅を撮影画像座標系に変換した座標
(x′1 ,y′1 )、(x′2 ,y′2 )、(x′3 ,y′3 )、(x′4 ,y′4 )
を計算する。ここで、カメラ撮影画像のパン角、チルト角及びロール角が全て原点であると仮定した場合、カメラ撮影画像の座標系における任意の座標(x′,y′)にカメラの撮像画像中心を設定し、ロール角は変化させずに合わせた場合のパン角及びチルト角をθ′α ,θ′β とすると、それぞれの値は以下のように計算できる。
Figure 2014174638
このとき、任意のカメラ座標(x′,y′)にカメラの撮像画像中心を合わせた場合に、携帯端末の加速度センサ及び地磁気センサのセンサデータをもとに計算されるパン角、ロール角の値θ″α ,θ″β は、カメラ撮影時のパン角、チルト角及びロール角をそれぞれθα ,θβ ,θγとすると次のように計算できる。
θ″α =θα +θ′α cos (−θγ)−θ′β sin (−θγ)
θ″β =θβ +θ′α sin (−θγ)+θ′β cos (−θγ)
上記の式をディスプレイ画面の四隅をカメラ撮影画像の座標系に変換した各座標
(x′1 ,y′1 )、(x′2 ,y′2 )、(x′3 ,y′3 )、(x′4 ,y′4 )
に対して適用することで、カメラの撮影画像中心をディスプレイ画面の四隅に合わせた場合のパン角及びチルト角を求めることができる。
次に、携帯端末のパン角及びチルト角の情報からディスプレイ画面上の位置情報を計算する手法について述べる。位置情報の取得対象となるディスプレイの横方向X、縦方向Yの各ピクセル数をそれぞれN′x ,N′y とし、ディスプレイ画面の四隅の座標
(0 ,0 )、(N′x ,0 )、(0 ,N′y )、(N′x ,N′y )
に対して、携帯端末のカメラ撮影画像の中心を合わせた場合のパン角及びチルト角を上記式に従い求めた値をそれぞれ
(θ″α1,θ″β1)、(θ″α2,θ″β2)、(θ″α3,θ″β3)、(θ″α4,θ″β4)
とする。このとき、パン角及びチルト角から対応するディスプレイ画面の四隅座標に対する射影変換行列2を求める。そして、現在の加速度センサ及び地磁気センサより取得されるパン角及びチルト角を上記求めた射影変換行列2により変換した値が、ディスプレイ画面の座標系における携帯端末を向けた先の位置情報となる。
最後に、一定の時間間隔で携帯端末のカメラ撮影画像からディスプレイ画面の四隅方向の値を計算するキャリブレーション処理を繰り返し行うことで、携帯端末のカメラの座標位置の平行移動や、位置情報の取得対象となるディスプレイの切り替わりに対応することができる。
この発明における以上の手順を実行することにより、画像処理を用いてキャリブレーション処理を行うようにしているため、ユーザによる明示的なキャリブレーション処理を必要とせず、また画像処理をキャリブレーション処理のときのみに用い、キャリブレーション処理後のディスプレイ画面における座標位置は加速度センサ及び地磁気センサを用いることで取得することにより、従来の画像処理手法と比較して軽い処理負荷で、携帯端末のカメラが向けられている方向のディスプレイにおける座標位置を特定することが可能になる。
ところで、上記の手法においてキャリブレーション処理を実行する時間間隔を一定に保った場合、その間隔の設定値によっては以下のようなトレードオフが生じる。すなわち、キャリブレーション処理間隔を短い値に設定した場合には、キャリブレーション処理において画像処理を用いるため、全体の計算量が増加してしまう。一方、この手法においては前のキャリブレーション処理から次のキャリブレーション処理を行うまでの間に、携帯端末の位置の変化が大きくなればなるほど、実際の携帯端末の方向とディスプレイ画面上における位置のずれが大きくなる。また、位置の取得対象となるディスプレイ画面が切り替わった場合に、次のキャリブレーション処理を行うまでの期間に操作対象の画面の切り替わりを認識することができない。また、ディスプレイ画像の特徴点とカメラ画像の特徴点とのマッチングが適切になされないなどの理由により、精度の悪いキャリブレーション処理結果となった場合には、次のキャリブレーション処理が自動的に行われるまで、実際の携帯端末方向とディスプレイ画面上における指示位置のずれを修正することができない。そのため、キャリブレーション処理間隔を長くとった場合にも問題が生じてしまう。
そこで、本発明ではキャリブレーション処理間隔を動的に決定することで、上記のキャリブレーション処理間隔の決定についての課題を解決する手法も併せて提案する。キャリブレーション処理間隔の動的な決定手法としては、携帯端末の平行移動量と、現在位置情報の取得対象となっているディスプレイと携帯端末の向けられている方向と同ディスプレイ平面が交わる場所のディスプレイ画面座標系上の位置との相互距離と、直近のキャリブレーション処理の精度評価値の何れか1値、または何れか2値、または3値全てをもとに行う手法を提案する。
先ず、携帯端末の平行移動量については、移動量が多い程キャリブレーション値にずれが生じるため、キャリブレーション処理間隔は携帯端末の平行移動量の減少関数となる。このとき、携帯端末の平行移動量は、例えば加速度センサのセンサ値の2階積分によって概算が求められる。
次に、現在位置情報の取得対象となっているディスプレイと携帯端末の向けられている方向と同ディスプレイ平面が交わる場所のディスプレイ画面座標系上の位置との相互距離について述べる。相互の距離は、位置を取得済のディスプレイ画面の座標系において、ディスプレイ画面の四隅により構成される四角形と、携帯端末の加速度センサ及び地磁気センサにより得られるパン角及びチルト角を射影変換によりディスプレイ画面上の座標系に変更した座標値とにより、四角形と1点との距離を計算することで求められる。相互距離に関しては、離れれば離れるほど、現在位置を取得済のディスプレイ以外のディスプレイに対して位置の取得が移る確率が高まると考えられるため、キャリブレーション処理間隔は相互距離の減少関数になる。
最後に、キャリブレーション処理の精度評価値について述べる。精度評価はその値が高ければ高い程、ディスプレイ上の位置の計算をより正確に行える確率が高いと考えられるため、キャリブレーション処理間隔を長くできる。一方、キャリブレーション処理自体の信頼度が低い場合、位置の計算に悪影響を及ぼす可能性が高いため、早く次のキャリブレーション処理を行う必要がある。このため、キャリブレーション処理間隔はキャリブレーション処理の精度評価値の増加関数として定義できる。キャリブレーション処理時の精度評価値の求め方としては、例えば携帯端末のカメラ撮影画像と位置取得対象のディスプレイ画像の特徴点との対応点数等があげられる。
各キャリブレーション実行時に算出される携帯端末の平行移動量と、現在位置情報の取得対象となっているディスプレイと携帯端末の向けられている方向と同ディスプレイ平面が交わる場所のディスプレイ画面座標系上の位置との相互距離と、直近のキャリブレーション処理の精度評価値を、1つ以上任意に選んで上記の関数にそれぞれ適用し、各関数値を変数とするキャリブレーション間隔導出関数を作成することでキャリブレーション処理間隔を動的に決定する。
以上述べたようにこの発明によれば、単数又は複数のディスプレイ画面に対し携帯端末のカメラが向けられている方向の座標位置を、ユーザによる明示的なキャリブレーションを必要とすることなく、画像処理を用いる手法より少ない計算量で算出することができる。
[実施形態]
次にこの発明の一実施形態を説明する。
本実施形態では、カメラ、加速度センサ及び地磁気センサを有する携帯端末を、複数のディスプレイのうちの任意のディスプレイに差し向けたときに、当該携帯端末が差し向けられたディスプレイの方向を特定すると共に、当該特定されたディスプレイの表示画面上における上記携帯端末の指示位置の座標を計算し、この計算された座標位置にポインタを表示させる場合を例にとって説明する。
(構成)
図3は、この発明の一実施形態に係るディスプレイ指示システムと当該システムの中核をなす指示位置算出装置の構成を示す機能ブロック図である。本実施形態のディスプレイ指示システムは、複数台のディスプレイ1021〜102Nからなるディスプレイ群102と、携帯端末103と、指示位置算出装置100とを備える。
携帯端末103は例えばスマートホン又はリモートコントローラからなり、タッチパネル型の操作入力部と、指示位置算出装置100との間で無線ネットワークを介してデータを送受信するための無線インタフェース部と、カメラと、加速度センサと、地磁気センサとを有する。カメラは、その撮影時の撮影光軸が携帯端末103の筐体の長手方向又は背面と直交する方向と一致するように配置される。
ディスプレイ1021〜102Nは、例えばテレビジョン受信機のディスプレイやパーソナル・コンピュータのディスプレイからなり、上記指示位置算出装置100との間で上記無線ネットワークを介してデータの送受信が可能である。なお、無線ネットワークとしては、例えばBluetooth(登録商標)等の近距離データ通信規格を採用したネットワークが使用される。
指示位置算出装置100は例えばパーソナル・コンピュータからなり、記憶部101と制御部を備えている。記憶部101は例えばHDD(Hard Disc Drive)やSSD(Solid State Drive)を使用したもので、この実施形態を実施するために必要な記憶エリアとして、ディスプレイ初期情報記憶エリア1011と、携帯端末カメラ初期情報記憶エリア1012と、ディスプレイ画像解析情報記憶エリア1013と、携帯カメラ画像解析情報記憶エリア1014と、キャリブレーション結果記憶エリア1015と、推定移動量記憶エリア1016を備えている。
ディスプレイ初期情報記憶エリア1011には、ディスプレイ初期情報データが記憶される。このディスプレイ初期情報データは、ディスプレイ1021〜102Nごとに固有のディスプレイIDと、ディスプレイ1021〜102Nと指示位置算出装置100との間でデータを送受信する無線インタフェース部のIPアドレスと、各ディスプレイ1021〜102Nの水平方向及び垂直方向の画素数データを含む。図4にディスプレイ初期情報データの一例を示す。
携帯端末カメラ初期情報記憶エリア1012には、携帯端末カメラ初期情報データが記憶される。この携帯端末カメラ初期情報データは、携帯端末103のカメラに対し固有に割り当てられたカメラIDと、携帯端末103の無線インタフェース部のIPアドレスと、カメラの水平方向及び垂直方向の各画素数データと、画角におけるカメラ画像中心のX座標及びY座標を表すデータを含む。図5に携帯端末カメラ初期情報データの一例を示す。
ディスプレイ画像解析情報記憶エリア1013は、ディスプレイ1021〜102Nの画像解析結果データを保存するために使用される。ディスプレイ画像解析結果データは、ディスプレイIDと、解析した画像の表示時刻を時、分、秒、ミリ秒により表したデータと、特徴点IDと、特徴点のX座標及びY座標と、特徴量ベクトルを含む。このうち特徴点IDは、各画像に対してSURFなどの局所特徴量解析アルゴリズムを適応した場合の特徴点毎に割り振られるIDである。特徴点のX座標及びY座標は、特徴点IDに対応する解析画像中の座標位置である。特徴量ベクトルは、SURFなどの局所特徴量解析アルゴリズムにより得られる多次元の局所特徴量ベクトルである。図6にディスプレイ画像解析結果データの一例を示す。なお、SURFについては以下の文献に詳しく記載されている。
H. Bay, A. Ess, T. Tuytelaars and L. Gool: “Supeededup robust features (SURF)”, Computer Vision and Image Understanding, 110, pp. 346 - 359 (2008).
携帯カメラ画像解析情報記憶エリア1014は、携帯端末103のカメラ画像解析結果データを保存するために用いられる。カメラ画像解析結果データは、カメラ画像を撮影した携帯端末103の携帯端末IDと、解析したカメラ画像の撮影時刻を時、分、秒及びミリ秒により表した撮影画像時刻データと、特徴点IDと、特徴点のX座標及びY座標と、撮影時のパン角、チルト角及びロー角と、特徴量ベクトルを含む。このうち特徴点ID、特徴点のX座標及びY座標、特徴量ベクトルは、上記ディスプレイ画像解析結果データに含まれるデータと同じである。また、撮影時のパン角、チルト角及びロール角は、解析画像の撮影時に携帯端末103の加速度センサ及び地磁気センサの測定値をもとに求められた値である。図7にこのカメラ画像解析結果データの一例を示す。
キャリブレーション結果記憶エリア1015は、キャリブレーション処理結果を表す情報を記憶するために使用される。キャリブレーション処理結果を表す情報は、ディスプレイIDと、携帯端末IDと、特徴点の一致数と、射影変換行列2と、当該射影変換行列2の有効期間と、有効時間の前回の修正時刻を含む。このうち射影変換行列2は、携帯端末IDのパン角及びチルト角からディスプレイIDの座標値へ変換を行う3×3の行列で表される。射影変換行列2の有効時間は、次回のキャリブレーション処理開始までのミリ秒単位の時間を表す。有効時間の前回修正時刻は、後述するキャリブレーション間隔決定部105により射影変換行列2の有効時間が最後に書き換えられた時刻であり、時、分、秒及びミリ秒により表される。図8にこのキャリブレーション処理結果を表すデータの一例を示す。
推定移動量記憶エリア1016は、推定移動量データを記憶するために使用される。推定移動量データは、携帯端末IDと、X座標、Y座標及びZ座標における推定移動量の合計値を含む。図9にこの推定移動量データの一例を示す。
制御部はCPU(Central Processing Unit)を備え、この実施形態を実施する上で必要な制御機能として、ポインタ操作部104と、キャリブレーション間隔決定部105と、位置推定部106と、キャリブレーション実行部107と、画像処理部108と、端末移動量推定部109を備えている。なお、これらの制御機能は何れも、図示しないプログラムメモリに格納されたアプリケーション・プログラムを上記CPUに実行させることにより実現される。
画像処理部108は、キャリブレーション間隔決定部105がキャリブレーション処理を開始するために画像送信命令を送信したとき、この画像送信命令に従いディスプレイ1021〜102Nから送信される当該画像送信命令受信時の表示画像とその表示時刻、及びその前後3フレームの表示画像をその表示時刻を受信する。またそれと共に、上記携帯端末103から送信されるカメラ画像情報とその撮影時刻情報を受信する。そして、この受信した各画像を、ディスプレイ初期情報記憶エリアに記憶されたディスプレイ処理情報と、携帯端末カメラ初期情報記憶エリア1012に記憶された携帯端末カメラ初期情報に基づいて解析処理し、その画像解析結果を表す情報をそれぞれディスプレイ画像解析情報記憶エリア1013及び携帯カメラ画像解析情報記憶エリア1014に書き込む。
キャリブレーション実行部107は、キャリブレーション間隔決定部105又は携帯端末103からキャリブレーション開始命令を受けたとき、上記記憶部101の各記憶エリアからそれぞれディスプレイ初期情報、携帯端末カメラ初期情報、ディスプレイ画像解析情報及び携帯カメラ画像解析情報を読み込み、この読み込んだ各情報に基づいてキャリブレーション処理を行う。そして、キャリブレーション処理結果を表す値を記憶部101内のキャリブレーション結果記憶エリア1015に記憶させる。なお、携帯端末103からのキャリブレーション開始命令は、ユーザが携帯端末103の操作入力部において使用開始操作を行ったときに送信される。
位置推定部106は、キャリブレーション結果記憶エリア1015に記憶されたキャリブレーション結果値と、携帯端末103から送られた各センサの計測情報とをもとに、ディスプレイ1021〜102N上における携帯端末103が指し示す場所の位置座標を計算する。そして、この計算された位置座標を当該座標系を持つディスプレイIDと共にポインタ操作部104及びキャリブレーション間隔決定部105に送る。
ポインタ操作部104は、上記位置推定部106より位置座標とディスプレイIDを受信すると、この受信したディスプレイIDに関連付けられたIPアドレスをディスプレイ初期情報記憶部1011から読み込む。そして、該当するディスプレイに対して、上記位置推定部106より受信した座標位置にポインタが表示されるよう、ポインタ位置命令を送信する。
端末移動量推定部109は、予め設定された一定の時間間隔で、携帯端末103から加速度センサのセンサ情報を受信し、この受信した加速度センサ情報と、携帯端末カメラ初期情報記憶エリア1012に記憶された携帯端末カメラ初期情報とをもとに、携帯端末103の移動量を計算する。
キャリブレーション間隔決定部105は、上記位置推定部106より位置座標情報とディスプレイIDを受信すると、ディスプレイ初期情報記憶部1011、キャリブレーション結果値記憶エリア1015及び推定移動量記憶エリア1016から、それぞれディスプレイ初期情報、射影変換行列有効時間及び移動量情報を読み込み、射影行列有効時間の更新を行う。この射影行列有効時間の更新の結果、有効時間が0以下になった場合には、位置推定部106からキャリブレーション実行部107へキャリブレーション開始命令が送信される。
(動作)
次に、以上のように構成されたシステム及び指示位置算出装置100の動作を説明する。図10は、携帯端末103が指し示しているディスプレイの方向とその指示位置を計算する処理の全体の処理手順と処理内容を示すフローチャートである。
(1)キャリブレーション処理の実行
ユーザが携帯端末103において、操作入力部により開始要求を入力したとする。そうすると携帯端末103から指示位置算出装置100へ無線ネットワークを介してキャリブレーション開始命令が送られる。このキャリブレーション開始命令を受信すると指示位置算出装置100は、先ずステップS2に移行してキャリブレーション実行部107を起動し、以下のようにキャリブレーション処理を実行する。図11はその処理手順と処理内容を示すフローチャートである。
すなわち、先ずステップS21において図示しない時計回路から現在のシステム時刻を表す情報を取得する。この取得されたシステム時刻情報はキャリブレーション実行部107内の一時記憶領域に保持される。次にステップS22において、キャリブレーション実行部107から全てのディスプレイ1021〜102Nに対し表示中の画像情報の送信命令を送信する。このとき、送信先のアドレスは、ディスプレイ初期情報記憶エリア1011よりディスプレイIPアドレスを読み込むことで取得する。続いてステップS23において、キャリブレーション実行部107から携帯端末103に対して撮影命令を送信する。送信先のアドレスは携帯端末カメラ初期情報記憶エリア1012から携帯端末IPアドレスを読み込むことで取得する。
次にステップS24に移行して画像処理部108を起動し、この画像処理部108において、ディスプレイ1021〜102N及び携帯端末103からそれぞれ画像情報とその時刻情報を受信し、この受信した画像情報及び時刻情報をもとに以下のような画像解析処理を行う。図12はその処理手順と処理内容を示すフローチャートである。
すなわち画像処理部108は、先ずステップS241において、上記受信した画像情報とその時刻情報のうち、受信順序が一番早い画像情報とその時刻情報の送信元がディスプレイであるかどうかを判定する。この判定は、ディスプレイ初期情報記憶エリア1011から全てのディスプレイ初期情報を読み込んで上記送信元IPアドレスと比較し、この読み込んだ全ディスプレイIPアドレスの中に上記送信元IPアドレスと一致するディスプレイIPアドレスがあるか捜索することにより行われる。この判定の結果、一致するIPアドレスが見つかると、受信した画像サイズの画素数をもとに対応するディスプレイIDを決定する。なお、同一のディスプレイIPアドレスでかつ同一の画素数を持つディスプレイIDが複数見つかった場合には、これら複数のディスプレイとの間で互いを区別するスクリーンIDを送信する。
上記受信したディスプレイ表示画像情報とその時刻情報に対応するディスプレイIDが見つかった場合、画像処理部108はステップS243により、上記受信したディスプレイ表示画像情報に対しSURF等の画像局所特徴量取得アルゴリズムを適用し、このアルゴリズムに従い画像内の特徴点の座標と特徴量ベクトルを抽出する。そして、ステップS245において、上記抽出された画像内の特徴点のX座標及びY座標と特徴量ベクトルを、上記ステップS241で特定されたディスプレイID及び受信時刻情報と関連付けて、ディスプレイ画像解析情報記憶エリア1013に書きこむ。この書き込み処理終了後、受信した順序が一番早い画像情報とその時刻情報を画像処理部108内の画像記憶領域から破棄する。
そして、ステップS248において、画像解析処理を行っていない受信画像情報とその時刻情報がまだ残っているか否かをステップS248で判定する。そして、ディスプレイから送られた受信画像情報とその時刻情報が残っていればステップS241に戻り、このステップS241でディスプレイIDを特定した後、ステップS243により画像解析処理を実行して画像内の特徴点の座標と特徴量ベクトルを抽出し、その解析結果をステップS245でディスプレイ画像解析情報記憶エリア1013に書きこむ。以後同様に、各ディスプレイ1021〜102Nから受信した画像情報の各々について、上記ステップS241、S243、S245による処理を繰り返し実行する。
一方、上記ステップS241による送信元IPアドレスの判定の結果、受信した画像情報とその時刻情報の送信元IPアドレスがディスプレイ初期情報中に見つからなかったとする。この場合画像処理部108は、次にステップS1012に移行し、ここで当該画像情報とその時刻情報の送信元が携帯端末103であるかどうかを判定する。この判定は、携帯端末カメラ初期情報記憶エリア1012から携帯端末カメラ初期情報を読み込んで送信元IPアドレスと比較し、当該送信元IPアドレスが上記読み込んだ携帯端末カメラ初期情報に含まれるIPアドレスと一致するか否かを判定することにより行われる。
上記判定の結果IPアドレスが一致すると、画像処理部108は続いてステップS244において、上記画像の送信元である携帯端末103から加速度センサ及び地磁気の測定データを取得し、この取得した測定データをもとに携帯端末103のパン角、チルト角及びロール角を計算する。
画像処理部108は、次にステップS246において、上記携帯端末103から受信したカメラ画像情報に対し、先に述べたディスプレイ表示画像の場合(ステップS243)と同様にSURF等の画像局所特徴量取得アルゴリズムを適用し、このアルゴリズムに従いカメラ撮影画像内の特徴点の座標と特徴量ベクトルを抽出する。そして、ステップS247において、上記抽出されたカメラ撮影画像内の特徴点のX座標及びY座標と特徴量ベクトルを、上記ステップS244で算出された携帯端末103のパン角、チルト角及びロール角と、上記ステップS242で特定された携帯端末ID及び受信時刻情報とそれぞれ関連付けて、携帯カメラ画像解析情報記憶エリア1014に書きこむ。この書き込み処理終了後、受信したカメラ撮影画像情報とその時刻情報を画像処理部108内の画像記憶領域から破棄する。
以上述べた画像解析処理が終了すると、キャリブレーション実行部107はステップS25に移行し、ここでディスプレイ画像解析情報記憶エリア1013及び携帯カメラ画像解析情報記憶エリア1014から画像解析情報を読み込む。そして、ステップS21で取得したシステム時刻情報と、上記画像解析情報に含まれる表示画像時刻及び撮影画像時刻とを比較し、システム時刻情報より表示画像時刻及び撮影画像時刻の方が古い場合には、その画像解析情報を破棄する。
これに対し表示画像時刻及び撮影画像時刻がシステム時刻情報より新しい場合には、ステップS26において、携帯端末カメラ画像解析結果とディスプレイ画像解析結果との間で特徴点集合の比較を以下のように行う。すなわち、先ず端末カメラ画像解析結果の撮影時刻に対し、ディスプレイ画像解析結果のディスプレイIDごとに最も近い表示画像時刻を持つ特徴点集合の比較をする。特徴点の比較においては、携帯端末カメラ画像解析結果の各特徴点の特徴量ベクトルと、ディスプレイ画像解析結果のディスプレイIDごとに最近の表示画像時刻を持つ各特徴点の特徴量ベクトルとを比較し、携帯端末カメラ画像解析結果の各特徴点に対してベクトル間の距離が最も近いディスプレイ画像解析結果の特徴点の組を順次生成する。
次に、上記生成された2つの特徴点組に対して、特徴点同士の距離が一定のしきい値φψよりも短くなるものにおいて、組として選ばれたディスプレイ画像解析結果の特徴点のディスプレイIDごとの個数をカウントする。このとき、組として選ばれた特徴点が最も多かったディスプレイIDを最適ディスプレイIDとする。最適ディスプレイIDの特徴点において、携帯端末カメラ画像解析結果の撮影時刻に最も近い表示画像時刻を持つ全特徴点について、再度携帯端末カメラ画像解析結果の各特徴点と距離を比較する。そして、携帯端末カメラ画像解析結果の各特徴点と最適ディスプレイIDの特徴点との組を、ベクトル間距離が最も近い順に生成する。さらに、生成した特徴点同士の距離が、一定のしきい値χよりも短くなる組の数をカウントする。このときカウントされた特徴点の組集合をψとし、このψの特徴点の組の数が一定数ε以下である場合には、S21に戻る。
一方、ψの特徴点の組の数が一定数εより大きい場合には、ステップS27に移行し、ここでキャリブレーション計算を以下のように行う。すなわち、先に原理説明において述べた手法を用い、携帯端末103の加速度センサ及び地磁気センサの測定データから算出したパン角とチルト角から、上記最適ディスプレイIDと対応するディスプレイ画面の座標へ値を変換する射影変換行列2を求める。上記ステップS26で求めたψがディスプレイ表示画像とカメラ撮影画像との間の特徴量が十分近い特徴点の組となる。
次にステップS28において、上記計算されたキャリブレーション処理の結果をキャリブレーション結果値記憶エリア1015に書き込む。書き込む値は、上記ステップS26により求められた最適ディスプレイIDと、特徴点一致数としての特徴点組の数ψと、上記ステップS27により算出された射影変換行列2と、射影変換行列2有効時間と、有効時間前回修正時刻であり、射影変換行列2有効時間は“0”、有効時間前回修正時刻は“空”とする。
(2)ディスプレイ座標位置の推定
キャリブレーション処理が終了すると、指示位置算出装置100は次にステップS3において位置推定部106を起動し、この位置推定部106によりディスプレイ座標位置を推定する処理を以下のように実行する。図13はその処理手順と処理内容を示すフローチャートである。
すなわち、位置推定部106は、携帯端末103から加速度センサ及び地磁気センサの測定データを受信すると、先ずステップS31により携帯端末カメラ初期情報記憶エリア1012から携帯端末カメラ初期情報を読み込むと共に、キャリブレーション結果値記憶エリア1015からキャリブレーション結果値を読み込む。そして、上記受信した加速度及び地磁気測定データの送信元となる携帯端末のIDと一致する携帯端末IDを持ったキャリブレーション結果値が存在するか否かを判定する。この判定の結果、存在しなかった場合には、新しい加速度及び地磁気測定データの受信を待って、上記ステップS31の判定処理を行う。
これに対し、上記受信した加速度及び地磁気測定データの送信元となった携帯端末のIDと一致する携帯端末IDを持ったキャリブレーション結果値が存在した場合には、ステップS32においてディスプレイの位置座標を以下のように計算する。すなわち、上記受信した加速度及び地磁気センサの測定情報の送信元となる携帯端末IDと一致する携帯端末IDを持つキャリブレーション値における射影変換行列2を利用して、上記受信した加速度及び地磁気センサの測定情報をもとに算出したパン角及びチルト角から、同一のキャリブレーション値を持つディスプレイIDにおけるX座標及びY座標へ変換を行う。座標の変換は、変換するパン角およびチルト角をそれぞれθp ,θt 、射影変換行列2をHn 、変換後の座標をxn ,yn とすると、以下の式により計算できる。
[xn ,yn ,1]T =Hn [θp ,θt ,1]T
そして位置推定部106は、ステップS33において、上記加速度及び地磁気各センサの測定情報の送信元となった携帯端末103のIDと、この携帯端末IDと一致するキャリブレーション値を持つディスプレスIDと、上記ステップS32において射影変換行列2を用いて算出した座標値情報を、ポインタ操作部104及びキャリブレーション間隔決定部105へ出力する。
(3)ディスプレイへのポインタの表示
ディスプレイの位置座標の推定が終了すると、指示位置算出装置100は続いてステップS4においてポインタ操作部104を起動する。そして、このポインタ操作部104の制御の下、先ず上記位置推定部106から送られたディスプレイIDと位置座標情報を受け取ると共に、ディスプレイ初期情報記憶エリア1011から該当するディスプレイのディスプレイ初期情報を読み込む。
そして、上記位置座標にポインタを表示させるためのポインタ表示命令を生成し、このポインタ表示命令を上記ディスプレイIDに対応するディスプレイIPアドレスを送信先とし送信する。この結果、ユーザが携帯端末103を向けた先のディスプレイの画面における当該携帯端末103による指示位置に、ポインタが表示される。
(4)キャリブレーション間隔の計算
指示位置算出装置100は、上記ポインタの表示処理後に、図10に示すステップS5においてユーザの終了操作を監視する。そして、終了操作が行われればこのまま一連の処理を終了する。これに対し終了操作が行われなければ、ステップS6に移行してキャリブレーション間隔決定部105を起動し、このキャリブレーション間隔決定部105においてキャリブレーション間隔の計算を以下のように実行する。図14はその処理手順と処理内容を示すフローチャートである。
すなわち、上記位置推定部106から出力されたディスプレイID、携帯端末ID、位置座標情報を受け取ると、先ずステップS61においてキャリブレーション結果値記憶エリア1015からキャリブレーション値を読み込み、この読み込んだキャリブレーション値の中に、上記受信したディスプレイIDに対応するキャリブレーション結果値があるか否かを判定する。この判定の結果、対応するキャリブレーション結果値が存在しなければキャリブレーション間隔の計算処理を行わずにステップS7へ移行する。
一方、対応するキャリブレーション結果値が存在する場合にはステップS62に移行し、上記受信したディスプレイIDに対応するキャリブレーション結果値における射影変換行列2有効時間の値が“0”であるか否かを判定する。そして、射影変換行列2有効時間の値が“0”でなければステップS63に移行し、“0”であればステップS66に移行する。
ステップS63では、システムの現在時刻の値と、上記受信したディスプレイIDに対応するキャリブレーション結果値における有効時間前回修正時刻との差から、ミリ秒単位で経過時間を計算する。そして、この計算された経過時間を射影変換行列2有効時間から減算する。続いてステップS64において、上記受信したディスプレイの推定位置座標情報と、受信したディスプレイIDに対応するディスプレイの水平及び垂直の各方向の画素数から、推定位置座標がディスプレイ画面よりどの程度離れているかを計算する。このとき、推定位置座標がディスプレイの画面内に存在する場合は値が“0”となる。これに対し画面外に存在する場合は、推定位置座標の点と最も近いディスプレイ画面までの距離となる。そして、計算された距離と正の定数パラメータTdistとの積算値を求め、この積算値を射影変換行列2有効時間から減算する。
次にステップS65では、端末移動量推定部109において計算された端末移動量をもとに、射影変換行列2有効時間の減算処理を以下のように行う。すなわち、先ず端末移動量推定部109において、携帯端末103から受信した加速度センサの測定データをもとに当該携帯端末103の移動量を計算する。具体的には、前回のセンサ受信時間からの経過時間を計時し、加速度センサの測定データ値をX座標、Y座標及びZ座標のそれぞれに分けて2階積分することで移動距離を計算する。この移動距離の計算結果は推定移動量記憶エリア1016に格納される。
続いて、携帯端末カメラ初期情報記憶エリア1012から携帯端末カメラ初期情報を読み込み、上記受信センサ情報の送信元となる携帯端末の携帯端末IDを特定する。そして、上記推定移動量記憶エリア1016に記憶された推定移動量情報のうち、上記特定した携帯端末IDと一致する情報に対し、X座標、Y座標及びZ座標の各々について値を加算して書き込む。なお、上記端末移動量推定部109による携帯端末103の移動量推定処理は一定の時間間隔で行われる。
キャリブレーション間隔決定部105は、上記受信した携帯端末IDに対応した推定移動量情報を推定移動量記憶エリア1016から読み込み、X座標、Y座標及びZ座標の各々について推定移動量から移動距離を計算する。そして、計算された移動距離と正の定数パラメータTmoveの積算値を求め、積算値を射影変換行列2有効時間から減算する。
次に、ステップS67において、射影変換行列2有効時間が“0”以下であるか否かを判定する。この判定の結果“0”以下であれば、ステップS69に移行して、上記射影変換行列2有効時間と本処理実行時の時刻を、受信したディスプレイIDと携帯端末IDに対応したキャリブレーション結果値の射影変換行列2有効時間、有効時間前回修正時刻に対して書き込む。そして、キャリブレーション間隔決定処理を終了する。
これに対し射影変換行列2有効時間が“0”より大きい場合には、ステップS68によりキャリブレーション実行部107に対しキャリブレーション開始命令を送信する。そして、キャリブレーション間隔決定処理を終了する。
指示位置算出装置100は、上記キャリブレーション間隔の決定処理が終了すると、図10に示すステップS7においてキャリブレーション開始命令の発生を監視する。そして、上記キャリブレーション間隔決定部105からキャリブレーション実行部107に対しキャリブレーション開始命令が出力されると、ステップS2に戻ってキャリブレーション実行部107の制御の下で先に(1)で述べたキャリブレーション処理を実行する。一方、キャリブレーション開始命令が出力されなければ、ステップS3に戻って先に(2)で述べたディスプレイ座標位置の推定処理を実行する。
(効果)
以上詳述したようにこの実施形態では、カメラ、加速度センサ及び地磁気センサを有する携帯端末103によりディスプレイ1021〜102Nの画面を撮影し、このカメラ撮影画像とディスプレイに表示中の画像をもとにディスプレイ座標系から撮影画像座標系への射影変換行列1を求める。次に、この射影変換行列1をもとに、ディスプレイ1021〜102Nの四隅の座標を撮影画像座標に変換した座標を求め、上記携帯端末103のカメラによりディスプレイ1021〜102Nを撮影したときのパン角、チルト角及びロール角から、ディスプレイ1021〜102Nの四隅に携帯端末103のカメラの中心を合わせたときのパン角とチルト角を求める。そして、ディスプレイ座標系への射影変換行列2を求めることによりキャリブレーション処理を行う。次に、携帯端末103のパン角及びチルト角と上記射影変換行列2を用いて、携帯端末103のカメラの光軸が指しているディスプレイ画面上の座標を計算し、この計算された位置座標情報をもとにディスプレイ画面上にポインタを表示するようにしている。また、上記キャリブレーション処理後において、携帯端末103の向けられた方向を特定する場合には、加速度センサ及び地磁気センサの測定データから算出されるパン角とチルト角をもとに特定するようにしている。
したがって、画像処理は携帯端末103からディスプレイ画面の四隅方向を計算するキャリブレーション処理のみに用いられ、キャリブレーション処理後のディスプレイ画面における座標位置はカメラ画像を用いずに加速度センサ及び地磁気センサを用いて算出されるため、計算処理量を減らして応答性を高めることが可能となる。また、キャリブレーション処理では、携帯端末103のカメラにより得られる画像とディスプレイ1021〜102Nの表示画像だけをもとに処理が行われるので、環境中に位置計測用カメラ等を設置せずに済み、これにより設備コストや手間を低減することが可能となる。
さらに、キャリブレーション間隔を、携帯端末103の平行移動量と、現在位置を取得済のディスプレイ1021〜102Nと携帯端末103が指し示しているディスプレイ画面上で交わる場所のディスプレイ座標上の位置との距離と、直近のキャリブレーション処理の精度評価値の3値をもとに行うようにしている。このため、キャリブレーションの実行間隔をより適切に設定することができる。
[他の実施形態]
前記実施形態では、指示位置算出処理を携帯端末やディスプレイとは別に設けたパーソナル・コンピュータからなる指示位置算出装置100により行うようにしたが、携帯端末やディスプレイの1つを構成するテレビジョン受信機やパーソナル・コンピュータにおいて行うようにしてもよい。
その他、指示位置算出装置、携帯端末、ディスプレイの種類や構成、キャリブレーション処理、ディスプレイにおける指示位置の推定処理、キャリブレーション間隔の決定処理の処理手順や処理内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
100…指示位置算出装置、101…記憶部、102…ディスプレイ群、1021〜102N…ディスプレイ、103…携帯端末、104…ポインタ操作部、105…キャリブレーション間隔決定部、106…位置推定部、107…キャリブレーション実行部、108…画像処理部、109…端末移動量推定部、1011…ディスプレイ初期情報記憶エリア、1012…携帯端末カメラ初期情報記憶エリア、1013…ディスプレイ画像解析情報記憶エリア、1014…携帯カメラ画像解析情報記憶エリア、1015…キャリブレーション結果記憶エリア、1016…推定移動量記憶エリア。

Claims (9)

  1. カメラ、加速度センサ及び地磁気センサを有する携帯端末を用いてディスプレイ画面を指し示した場合に、ディスプレイ画面上における当該指示位置の座標を算出する指示位置算出装置であって、
    前記ディスプレイに表示された表示画像データを取得する手段と、
    前記携帯端末から前記カメラにより撮影された前記ディスプレイ画面の撮影画像データを取得する手段と、
    前記取得されたディスプレイの表示画像データ及びカメラの撮影画像データに基づいて、前記ディスプレイ画面の座標系から前記カメラの撮影画像の座標系への第1の射影変換行列を計算し、この計算された第1の射影変換行列をもとに前記ディスプレイ画面の予め定められた特定位置の座標を前記カメラの撮影画像座標系に射影変換した座標を計算する第1の計算手段と、
    前記携帯端末から、前記カメラにより前記ディスプレイ画面を撮影したときの前記加速度センサ及び地磁気センサの測定データを取得し、この測定データをもとに前記カメラの撮影画像中心をディスプレイ画面の前記特定位置に合わせた場合のパン角及びチルト角を計算する第2の計算手段と、
    前記計算されたパン角及びチルト角に基づいて、前記ディスプレイ画面の前記特定位置座標への第2の射影変換行列を計算し記憶する第3の計算手段と、
    前記携帯端末から、当該携帯端末により前記ディスプレイ画面を指し示したときの前記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとにパン角及びチルト角をそれぞれ計算し、この計算されたパン角及びチルト角を前記記憶された第2の射影変換行列により前記ディスプレイ画面上の座標値に変換する第4の計算手段と
    を具備することを特徴とする指示位置算出装置。
  2. 前記第1の計算手段は、前記計算された第1の射影変換行列をもとに、前記ディスプレイ表示画像の四隅を前記カメラの撮影画像座標系に射影変換した座標
    (x′1 ,y′1 )、(x′2 ,y′2 )、(x′3 ,y′3 )、(x′4 ,y′4 )
    を計算し、
    前記第2の計算手段は、
    前記カメラの撮影画像のパン角、チルト角及びロール角が全て原点であると仮定した場合に、カメラの撮影画像の座標系における任意の座標(x′,y′)にカメラの撮像画像中心を設定し、ロール角は変化させずに合わせた場合のパン角θ′α及びチルト角θ′βを
    Figure 2014174638
    により計算する手段と、
    任意のカメラ座標(x′,y′)に前記カメラの撮像画像中心を合わせた場合に、前記加速度センサ及び地磁気センサの測定データをもとに計算されるパン角、ロール角の値θ″α ,θ″β を、カメラ撮影時のパン角、チルト角及びロール角をそれぞれθα ,θβ ,θγとするとき、
    θ″α =θα +θ′α cos (−θγ)−θ′β sin (−θγ)
    θ″β =θβ +θ′α sin (−θγ)+θ′β cos (−θγ)
    として計算する手段と、
    前記θ″α ,θ″β の計算式をディスプレイ画面の四隅をカメラ撮影画像の座標系に変換した各座標
    (x′1 ,y′1 )、(x′2 ,y′2 )、(x′3 ,y′3 )、(x′4 ,y′4 )
    に対して適用することで、カメラの撮影画像中心をディスプレイ画面の四隅に合わせた場合のパン角及びチルト角を計算する手段と
    を有し、
    前記第3の計算手段は、
    前記ディスプレイの横方向X、縦方向Yの各ピクセル数をそれぞれN′x ,N′y とし、ディスプレイ画面の四隅の座標
    (0 ,0 )、(N′x ,0 )、(0 ,N′y )、(N′x ,N′y )
    に対して前記カメラの撮影画像の中心を合わせた場合のパン角及びチルト角を求めた値を
    (θ″α1,θ″β1)、(θ″α2,θ″β2)、(θ″α3,θ″β3)、(θ″α4,θ″β4)
    として、前記パン角及びチルト角から対応するディスプレイ画面の四隅座標への第2の射影変換行列を算出する手段と
    を有し、
    前記第4の計算手段は、
    前記携帯端末により前記ディスプレイ画面を指し示したときの当該携帯端末のパン角及びチルト角をそれぞれ計算する手段と、
    前記計算されたパン角及びチルト角を前記第2の射影変換行列により前記ディスプレイ画面上の座標値に変換する手段と
    を有することを特徴とする請求項1記載の指示位置算出装置。
  3. 画像データを表示するディスプレイと、
    カメラ、加速度センサ及び地磁気センサを有し、当該カメラにより前記ディスプレイ画面を撮影してその撮影画像データを送信すると共に、当該撮影時における前記加速度センサ及び地磁気センサの測定データを送信する手段を備えた携帯端末と、
    前記ディスプレイ及び前記携帯端末に対しネットワークを介して接続される指示位置算出装置と
    を具備し、
    前記指示位置算出装置は、
    前記ディスプレイから当該ディスプレイに表示される表示画像データを取得する表示画像取得手段と、
    前記携帯端末から前記カメラにより撮影された前記ディスプレイ画面の撮影画像データを取得する撮影画像取得手段と、
    前記取得されたディスプレイの表示画像データ及びカメラの撮影画像データに基づいて、前記ディスプレイ画面の座標系から前記カメラの撮影画像の座標系への第1の射影変換行列を計算し、この計算された第1の射影変換行列をもとに前記ディスプレイ画面の予め定められ特定位置の座標を前記カメラの撮影画像座標系に射影変換した座標を計算する第1の計算手段と、
    前記携帯端末から、前記カメラにより前記ディスプレイ画面を撮影したときの前記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとに前記カメラの撮影画像中心をディスプレイ画面の前記特定位置に合わせた場合のパン角及びチルト角を計算する第2の計算手段と、
    前記計算されたパン角及びチルト角に基づいて、前記ディスプレイ画面の前記特定位置座標への第2の射影変換行列を計算し記憶する第3の計算手段と、
    前記携帯端末から、当該携帯端末により前記ディスプレイ画面を指し示したときの前記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとにパン角及びチルト角をそれぞれ計算し、この計算されたパン角及びチルト角を前記記憶された第2の射影変換行列により前記ディスプレイ画面上の座標値に変換する第4の計算手段と
    を備えることを特徴とするディスプレイ指示システム。
  4. 前記指示位置算出装置は、
    前記ディスプレイが複数存在する場合に、当該複数のディスプレイからそれぞれ取得した表示画像データの表示時刻と、前記携帯端末から取得したカメラの撮影画像の撮影時刻とを比較し、その時間差を計算する手段と、
    前記複数のディスプレイから取得した表示画像データからそれぞれ特徴点を抽出すると共に、前記携帯端末から取得したカメラの撮影画像から特徴点を抽出し、前記携帯端末の撮影画像データと前記複数のディスプレイの表示画像データとの間で前記抽出された特徴点を比較して、その特徴量の差を計算する手段と、
    前記時間差を計算結果と、前記特徴量の差の計算結果をもとに、前記複数のディスプレイから前記携帯端末が指し示しているディスプレイを特定する手段と
    を、さらに備えることを特徴とする請求項3記載のディスプレイ指示システム。
  5. 前記指示位置算出装置が、
    前記表示画像取得手段、撮影画像取得手段、前記第1、第2及び第3の計算手段による、前記携帯端末のカメラ撮影画像からディスプレイ画面の特定位置方向の値を計算するキャリブレーション処理を、動的に設定される時間間隔で繰り返し実行させるように制御するキャリブレーション制御手段を、さらに備えることを特徴とする請求項1乃至4のいずれかに記載の指示位置算出装置又はディスプレイ指示システム。
  6. 前記キャリブレーション制御手段は、携帯端末の平行移動量と、現在位置情報の取得対象となっているディスプレイと携帯端末の向けられている方向と同ディスプレイ平面が交わる場所のディスプレイ画面座標系上の位置との相互距離と、直近のキャリブレーション処理の精度評価値のうちの少なくとも一つに基づいて、前記キャリブレーション間隔を動的に設定することを特徴とする請求項5記載の指示位置算出装置又はディスプレイ指示システム。
  7. カメラ、加速度センサ及び地磁気センサを有する携帯端末を用いてディスプレイ画面を指し示した場合に、ディスプレイ画面上における当該指示位置の座標を算出する指示位置算出装置により実行される指示位置算出方法であって、
    前記ディスプレイに表示された表示画像データを取得する過程と、
    前記携帯端末から前記カメラにより撮影された前記ディスプレイ画面の撮影画像データを取得する過程と、
    前記取得されたディスプレイの表示画像データ及びカメラの撮影画像データに基づいて、前記ディスプレイ画面の座標系から前記カメラの撮影画像の座標系への第1の射影変換行列を計算し、この計算された第1の射影変換行列をもとに前記ディスプレイ画面の予め定められ特定位置の座標を前記カメラの撮影画像座標系に射影変換した座標を計算する過程と、
    前記携帯端末から、前記カメラにより前記ディスプレイ画面を撮影したときの前記加速度センサ及び地磁気センサの測定データを取得し、この測定データをもとに前記カメラの撮影画像中心をディスプレイ画面の前記特定位置に合わせた場合のパン角及びチルト角を計算するする過程と、
    前記計算されたパン角及びチルト角に基づいて、前記ディスプレイ画面の前記特定位置座標への第2の射影変換行列を計算し記憶する過程と、
    前記携帯端末から、当該携帯端末により前記ディスプレイ画面を指し示したときの前記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとにパン角及びチルト角をそれぞれ計算し、この計算されたパン角及びチルト角を前記記憶された第2の射影変換行列により前記ディスプレイ画面上の座標値に変換する過程と、
    を具備することを特徴とする指示位置算出方法。
  8. 画像データを表示するディスプレイと、カメラ、加速度センサ及び地磁気センサを有し当該カメラにより前記ディスプレイ画面を撮影してその撮影画像データを送信すると共に当該撮影時における前記加速度センサ及び地磁気センサの測定データを送信する手段を備えた携帯端末と、前記ディスプレイ及び前記携帯端末に対しネットワークを介して接続される指示位置算出装置とを具備するディスプレイ指示システムにより実行されるディスプレイ指示方法であって、
    前記指示位置算出装置が、前記ディスプレイから当該ディスプレイに表示される表示画像データを取得する過程と、
    前記指示位置算出装置が、前記携帯端末から前記カメラにより撮影された前記ディスプレイ画面の撮影画像データを取得する過程と、
    前記指示位置算出装置が、前記取得されたディスプレイの表示画像データ及びカメラの撮影画像データに基づいて、前記ディスプレイ画面の座標系から前記カメラの撮影画像の座標系への第1の射影変換行列を計算し、この計算された第1の射影変換行列をもとに前記ディスプレイ画面の予め定められ特定位置の座標を前記カメラの撮影画像座標系に射影変換した座標を計算する過程と、
    前記指示位置算出装置が、前記携帯端末から、前記カメラにより前記ディスプレイ画面を撮影したときの前記加速度センサ及び地磁気センサの測定データを取得し、この測定データをもとに前記カメラの撮影画像中心をディスプレイ画面の前記特定位置に合わせた場合のパン角及びチルト角を計算する過程と、
    前記指示位置算出装置が、前記計算されたパン角及びチルト角に基づいて、前記ディスプレイ画面の前記特定位置座標への第2の射影変換行列を計算し記憶する過程と、
    前記指示位置算出装置が、前記携帯端末から、当該携帯端末により前記ディスプレイ画面を指し示したときの前記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとにパン角及びチルト角をそれぞれ計算し、この計算されたパン角及びチルト角を前記記憶された第2の射影変換行列により前記ディスプレイ画面上の座標値に変換する過程と
    を具備することを特徴とするディスプレイ指示方法。
  9. 請求項1乃至請求項6のいずれかに記載の指示位置算出装置又はディスプレイ指示システムが具備する各手段が行う処理を、前記指示位置算出装置が備えるコンピュータに実行させるプログラム。
JP2013044679A 2013-03-06 2013-03-06 指示位置算出装置、ディスプレイ指示システム、方法及びプログラム Pending JP2014174638A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013044679A JP2014174638A (ja) 2013-03-06 2013-03-06 指示位置算出装置、ディスプレイ指示システム、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013044679A JP2014174638A (ja) 2013-03-06 2013-03-06 指示位置算出装置、ディスプレイ指示システム、方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2014174638A true JP2014174638A (ja) 2014-09-22

Family

ID=51695832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013044679A Pending JP2014174638A (ja) 2013-03-06 2013-03-06 指示位置算出装置、ディスプレイ指示システム、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2014174638A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018513433A (ja) * 2014-12-30 2018-05-24 ノキア テクノロジーズ オサケユイチア 携帯型デバイスの位置を決定するための方法
CN109282968A (zh) * 2018-11-09 2019-01-29 深圳市优威视讯科技股份有限公司 一种狩猎相机启动时间的测量装置及测量方法
CN111078029A (zh) * 2019-12-05 2020-04-28 广州视源电子科技股份有限公司 空中鼠标信息确定方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018513433A (ja) * 2014-12-30 2018-05-24 ノキア テクノロジーズ オサケユイチア 携帯型デバイスの位置を決定するための方法
CN109282968A (zh) * 2018-11-09 2019-01-29 深圳市优威视讯科技股份有限公司 一种狩猎相机启动时间的测量装置及测量方法
CN109282968B (zh) * 2018-11-09 2024-03-08 深圳市优威视讯科技股份有限公司 一种狩猎相机启动时间的测量装置及测量方法
CN111078029A (zh) * 2019-12-05 2020-04-28 广州视源电子科技股份有限公司 空中鼠标信息确定方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US9906702B2 (en) Non-transitory computer-readable storage medium, control method, and computer
US8179449B2 (en) Portable electronic apparatus including a display and method for controlling display content based on movement of the display and user position
EP3134870B1 (en) Electronic device localization based on imagery
TWI574223B (zh) 運用擴增實境技術之導航系統
US10277889B2 (en) Method and system for depth estimation based upon object magnification
US20180247135A1 (en) Surveillance information generation apparatus, imaging direction estimation apparatus, surveillance information generation method, imaging direction estimation method, and program
WO2018140107A1 (en) System for 3d image filtering
US10218913B2 (en) HDR/WDR image time stamps for sensor fusion
US20140253737A1 (en) System and method of tracking an object in an image captured by a moving device
WO2013174354A2 (zh) 一种单摄像头测距的方法和系统
JP2008077661A (ja) 入力装置および前記入力装置の移動情報を提供する方法
US9451166B1 (en) System and method for imaging device motion compensation
EP3355570A1 (en) Image capture support system, device and method, and image capturing terminal
US11037014B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
TW201926141A (zh) 影像目標追蹤方法及裝置
JP2019159739A (ja) 画像処理装置、画像処理方法およびプログラム
JP5868128B2 (ja) 情報処理装置およびその制御方法
JP2014174638A (ja) 指示位置算出装置、ディスプレイ指示システム、方法及びプログラム
US11245763B2 (en) Data processing method, computer device and storage medium
CN113610702B (zh) 一种建图方法、装置、电子设备及存储介质
US10197402B2 (en) Travel direction information output apparatus, map matching apparatus, travel direction information output method, and computer readable medium
JP5662787B2 (ja) 携帯端末および画像処理方法
KR20190143287A (ko) 홍채와 촬영 장치간 거리 예측 방법 및 이를 수행하기 위한 단말
WO2024141097A1 (zh) 用于修正用户设备与目标设备的相对姿态的方法及装置
US12026299B2 (en) Adaptive intelligent head-hand VR system and method