(57)【要約】      （修正有）【課題】位置計測用カメラを設置する必要がなく安価で手間が掛からず、かつ画像処理による計算量が少なくリアルタイム性に優れた指示位置算出を可能にする。【解決手段】携帯端末１０３によりディスプレイ１０２を撮影し、このカメラ撮影画像とディスプレイに表示中の画像をもとにディスプレイ座標系から撮影画像座標系への射影変換行列を求め、この射影変換行列をもとにディスプレイの四隅の座標を撮影画像座標に変換した座標を求め、携帯端末のカメラによりディスプレイを撮影したときのパン、チルト及びロール角からディスプレイの四隅に携帯端末のカメラ中心を合わせたときのパン、チルト角を求める。そして、ディスプレイ座標系への射影変換行列を求めることによりキャリブレーション処理を行う。そして、このキャリブレーション処理後は、携帯端末の指示位置を加速度センサ及び地磁気センサから算出されるパン角とチルト角をもとに特定する。【選択図】図３
2014174638.tif 000002
【特許請求の範囲】
【請求項１】
カメラ、加速度センサ及び地磁気センサを有する携帯端末を用いてディスプレイ画面を指し示した場合に、ディスプレイ画面上における当該指示位置の座標を算出する指示位置算出装置であって、
前記ディスプレイに表示された表示画像データを取得する手段と、
前記携帯端末から前記カメラにより撮影された前記ディスプレイ画面の撮影画像データを取得する手段と、
前記取得されたディスプレイの表示画像データ及びカメラの撮影画像データに基づいて、前記ディスプレイ画面の座標系から前記カメラの撮影画像の座標系への第１の射影変換行列を計算し、この計算された第１の射影変換行列をもとに前記ディスプレイ画面の予め定められた特定位置の座標を前記カメラの撮影画像座標系に射影変換した座標を計算する第１の計算手段と、
前記携帯端末から、前記カメラにより前記ディスプレイ画面を撮影したときの前記加速度センサ及び地磁気センサの測定データを取得し、この測定データをもとに前記カメラの撮影画像中心をディスプレイ画面の前記特定位置に合わせた場合のパン角及びチルト角を計算する第２の計算手段と、
前記計算されたパン角及びチルト角に基づいて、前記ディスプレイ画面の前記特定位置座標への第２の射影変換行列を計算し記憶する第３の計算手段と、
前記携帯端末から、当該携帯端末により前記ディスプレイ画面を指し示したときの前記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとにパン角及びチルト角をそれぞれ計算し、この計算されたパン角及びチルト角を前記記憶された第２の射影変換行列により前記ディスプレイ画面上の座標値に変換する第４の計算手段と
を具備することを特徴とする指示位置算出装置。
【請求項２】
前記第１の計算手段は、前記計算された第１の射影変換行列をもとに、前記ディスプレイ表示画像の四隅を前記カメラの撮影画像座標系に射影変換した座標
（ｘ′1 ，ｙ′1 ）、（ｘ′2 ，ｙ′2 ）、（ｘ′3 ，ｙ′3 ）、（ｘ′4 ，ｙ′4 ）
を計算し、
前記第２の計算手段は、
前記カメラの撮影画像のパン角、チルト角及びロール角が全て原点であると仮定した場合に、カメラの撮影画像の座標系における任意の座標（ｘ′，ｙ′）にカメラの撮像画像中心を設定し、ロール角は変化させずに合わせた場合のパン角θ′α及びチルト角θ′βを  
【数１】
2014174638.tif 000004
により計算する手段と、
任意のカメラ座標（ｘ′，ｙ′）に前記カメラの撮像画像中心を合わせた場合に、前記加速度センサ及び地磁気センサの測定データをもとに計算されるパン角、ロール角の値θ″α ，θ″β を、カメラ撮影時のパン角、チルト角及びロール角をそれぞれθα ，θβ ，θγとするとき、  
θ″α ＝θα ＋θ′α cos (−θγ)−θ′β sin (−θγ)
θ″β ＝θβ ＋θ′α sin (−θγ)＋θ′β cos (−θγ)
として計算する手段と、
前記θ″α ，θ″β の計算式をディスプレイ画面の四隅をカメラ撮影画像の座標系に変換した各座標
（ｘ′1 ，ｙ′1 ）、（ｘ′2 ，ｙ′2 ）、（ｘ′3 ，ｙ′3 ）、（ｘ′4 ，ｙ′4 ）
に対して適用することで、カメラの撮影画像中心をディスプレイ画面の四隅に合わせた場合のパン角及びチルト角を計算する手段と
を有し、
前記第３の計算手段は、
前記ディスプレイの横方向Ｘ、縦方向Ｙの各ピクセル数をそれぞれＮ′x ，Ｎ′y とし、ディスプレイ画面の四隅の座標
（0 ，0 ）、（Ｎ′x ，0 ）、（0 ，Ｎ′y ）、（Ｎ′x ，Ｎ′y ）
に対して前記カメラの撮影画像の中心を合わせた場合のパン角及びチルト角を求めた値を
（θ″α1，θ″β1）、（θ″α2，θ″β2）、（θ″α3，θ″β3）、（θ″α4，θ″β4）
として、前記パン角及びチルト角から対応するディスプレイ画面の四隅座標への第２の射影変換行列を算出する手段と
を有し、
前記第４の計算手段は、
前記携帯端末により前記ディスプレイ画面を指し示したときの当該携帯端末のパン角及びチルト角をそれぞれ計算する手段と、
前記計算されたパン角及びチルト角を前記第２の射影変換行列により前記ディスプレイ画面上の座標値に変換する手段と
を有することを特徴とする請求項１記載の指示位置算出装置。
【請求項３】
画像データを表示するディスプレイと、
カメラ、加速度センサ及び地磁気センサを有し、当該カメラにより前記ディスプレイ画面を撮影してその撮影画像データを送信すると共に、当該撮影時における前記加速度センサ及び地磁気センサの測定データを送信する手段を備えた携帯端末と、
前記ディスプレイ及び前記携帯端末に対しネットワークを介して接続される指示位置算出装置と
を具備し、
前記指示位置算出装置は、
前記ディスプレイから当該ディスプレイに表示される表示画像データを取得する表示画像取得手段と、
前記携帯端末から前記カメラにより撮影された前記ディスプレイ画面の撮影画像データを取得する撮影画像取得手段と、
前記取得されたディスプレイの表示画像データ及びカメラの撮影画像データに基づいて、前記ディスプレイ画面の座標系から前記カメラの撮影画像の座標系への第１の射影変換行列を計算し、この計算された第１の射影変換行列をもとに前記ディスプレイ画面の予め定められ特定位置の座標を前記カメラの撮影画像座標系に射影変換した座標を計算する第１の計算手段と、
前記携帯端末から、前記カメラにより前記ディスプレイ画面を撮影したときの前記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとに前記カメラの撮影画像中心をディスプレイ画面の前記特定位置に合わせた場合のパン角及びチルト角を計算する第２の計算手段と、
前記計算されたパン角及びチルト角に基づいて、前記ディスプレイ画面の前記特定位置座標への第２の射影変換行列を計算し記憶する第３の計算手段と、
前記携帯端末から、当該携帯端末により前記ディスプレイ画面を指し示したときの前記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとにパン角及びチルト角をそれぞれ計算し、この計算されたパン角及びチルト角を前記記憶された第２の射影変換行列により前記ディスプレイ画面上の座標値に変換する第４の計算手段と
を備えることを特徴とするディスプレイ指示システム。
【請求項４】
前記指示位置算出装置は、
前記ディスプレイが複数存在する場合に、当該複数のディスプレイからそれぞれ取得した表示画像データの表示時刻と、前記携帯端末から取得したカメラの撮影画像の撮影時刻とを比較し、その時間差を計算する手段と、
前記複数のディスプレイから取得した表示画像データからそれぞれ特徴点を抽出すると共に、前記携帯端末から取得したカメラの撮影画像から特徴点を抽出し、前記携帯端末の撮影画像データと前記複数のディスプレイの表示画像データとの間で前記抽出された特徴点を比較して、その特徴量の差を計算する手段と、
前記時間差を計算結果と、前記特徴量の差の計算結果をもとに、前記複数のディスプレイから前記携帯端末が指し示しているディスプレイを特定する手段と
を、さらに備えることを特徴とする請求項３記載のディスプレイ指示システム。
【請求項５】
前記指示位置算出装置が、
前記表示画像取得手段、撮影画像取得手段、前記第１、第２及び第３の計算手段による、前記携帯端末のカメラ撮影画像からディスプレイ画面の特定位置方向の値を計算するキャリブレーション処理を、動的に設定される時間間隔で繰り返し実行させるように制御するキャリブレーション制御手段を、さらに備えることを特徴とする請求項１乃至４のいずれかに記載の指示位置算出装置又はディスプレイ指示システム。
【請求項６】
前記キャリブレーション制御手段は、携帯端末の平行移動量と、現在位置情報の取得対象となっているディスプレイと携帯端末の向けられている方向と同ディスプレイ平面が交わる場所のディスプレイ画面座標系上の位置との相互距離と、直近のキャリブレーション処理の精度評価値のうちの少なくとも一つに基づいて、前記キャリブレーション間隔を動的に設定することを特徴とする請求項５記載の指示位置算出装置又はディスプレイ指示システム。
【請求項７】
カメラ、加速度センサ及び地磁気センサを有する携帯端末を用いてディスプレイ画面を指し示した場合に、ディスプレイ画面上における当該指示位置の座標を算出する指示位置算出装置により実行される指示位置算出方法であって、
前記ディスプレイに表示された表示画像データを取得する過程と、
前記携帯端末から前記カメラにより撮影された前記ディスプレイ画面の撮影画像データを取得する過程と、
前記取得されたディスプレイの表示画像データ及びカメラの撮影画像データに基づいて、前記ディスプレイ画面の座標系から前記カメラの撮影画像の座標系への第１の射影変換行列を計算し、この計算された第１の射影変換行列をもとに前記ディスプレイ画面の予め定められ特定位置の座標を前記カメラの撮影画像座標系に射影変換した座標を計算する過程と、
前記携帯端末から、前記カメラにより前記ディスプレイ画面を撮影したときの前記加速度センサ及び地磁気センサの測定データを取得し、この測定データをもとに前記カメラの撮影画像中心をディスプレイ画面の前記特定位置に合わせた場合のパン角及びチルト角を計算するする過程と、
前記計算されたパン角及びチルト角に基づいて、前記ディスプレイ画面の前記特定位置座標への第２の射影変換行列を計算し記憶する過程と、
前記携帯端末から、当該携帯端末により前記ディスプレイ画面を指し示したときの前記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとにパン角及びチルト角をそれぞれ計算し、この計算されたパン角及びチルト角を前記記憶された第２の射影変換行列により前記ディスプレイ画面上の座標値に変換する過程と、
を具備することを特徴とする指示位置算出方法。
【請求項８】
画像データを表示するディスプレイと、カメラ、加速度センサ及び地磁気センサを有し当該カメラにより前記ディスプレイ画面を撮影してその撮影画像データを送信すると共に当該撮影時における前記加速度センサ及び地磁気センサの測定データを送信する手段を備えた携帯端末と、前記ディスプレイ及び前記携帯端末に対しネットワークを介して接続される指示位置算出装置とを具備するディスプレイ指示システムにより実行されるディスプレイ指示方法であって、
前記指示位置算出装置が、前記ディスプレイから当該ディスプレイに表示される表示画像データを取得する過程と、
前記指示位置算出装置が、前記携帯端末から前記カメラにより撮影された前記ディスプレイ画面の撮影画像データを取得する過程と、
前記指示位置算出装置が、前記取得されたディスプレイの表示画像データ及びカメラの撮影画像データに基づいて、前記ディスプレイ画面の座標系から前記カメラの撮影画像の座標系への第１の射影変換行列を計算し、この計算された第１の射影変換行列をもとに前記ディスプレイ画面の予め定められ特定位置の座標を前記カメラの撮影画像座標系に射影変換した座標を計算する過程と、
前記指示位置算出装置が、前記携帯端末から、前記カメラにより前記ディスプレイ画面を撮影したときの前記加速度センサ及び地磁気センサの測定データを取得し、この測定データをもとに前記カメラの撮影画像中心をディスプレイ画面の前記特定位置に合わせた場合のパン角及びチルト角を計算する過程と、
前記指示位置算出装置が、前記計算されたパン角及びチルト角に基づいて、前記ディスプレイ画面の前記特定位置座標への第２の射影変換行列を計算し記憶する過程と、
前記指示位置算出装置が、前記携帯端末から、当該携帯端末により前記ディスプレイ画面を指し示したときの前記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとにパン角及びチルト角をそれぞれ計算し、この計算されたパン角及びチルト角を前記記憶された第２の射影変換行列により前記ディスプレイ画面上の座標値に変換する過程と
を具備することを特徴とするディスプレイ指示方法。
【請求項９】
請求項１乃至請求項６のいずれかに記載の指示位置算出装置又はディスプレイ指示システムが具備する各手段が行う処理を、前記指示位置算出装置が備えるコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、携帯端末を用いてディスプレイを指し示した場合に、そのディスプレイ画面中の指示座標を算出するための指示位置算出装置、この指示位置算出装置を備えたディスプレイ指示システム、上記指示位置算出装置及びディスプレイ指示システムで使用する指示位置算出方法、ディスプレイ指示方法及びプログラムに関する。
【背景技術】
【０００２】
携帯端末を用いてディスプレイを指し示した場合に、その指示方向や指示位置を検出して当該指示位置をポインタ等によりディスプレイ画面に表示する技術が注目されている。  
携帯端末がディスプレイ上のどの座標位置を指し示しているかを算出する手法としては、例えば加速度・地磁気センサを用いる手法が提案されている。この手法は、携帯端末の加速度・地磁気センサの値から端末が向いている方向をリアルタイムで取得することで、携帯端末の方向の変化からディスプレイ上のどの位置に携帯端末が向けられているかを計測するものである（例えば非特許文献１を参照）。
【０００３】
一方、携帯端末がディスプレイ上のどの位置を指し示しているかを算出する別の手法として、カメラを用いる手法が提案されている。この手法は、カメラにより撮影されたカメラ画像に対して画像処理を行い、位置取得を行うディスプレイの表示内容がカメラ画像内のどの位置に表示されているかを識別する。そして、カメラ画像座標と位置取得を行うディスプレイ内の座標の対応を取ることで、カメラ画像座標がディスプレイ座標のどの位置に対応するか計算するものである（例えば非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】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
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、加速度・地磁気センサを用いる手法では、ディスプレイ上のどの位置に携帯端末が向けられたかを取得するために、携帯端末とディスプレイがどの位置に存在しているかをシステムが計測する必要がある。例えば、非特許文献１では、環境中に複数の位置計測用カメラを設置すると共に、携帯端末にＬＥＤ（Light-Emitting Diode）を取り付け、携帯端末に取り付けられたＬＥＤを同時に２台以上の位置計測用カメラで撮影することで携帯端末の位置を特定している。また、環境中のディスプレイ位置や位置計測用カメラの位置を表すデータを予めシステムに登録しておく必要がある。このため、一般家庭において導入し使用する場合には、位置計測用カメラの設置コストがかかり、さらに設置工事や位置登録作業に手間がかかる。
【０００６】
一方、カメラを使用する手法では、例えばカメラ画像座標のカメラ光学中心の座標位置が位置取得を行うディスプレイ座標のどの位置にあたるかを計算することで、携帯端末の向けられた方向のディスプレイ座標位置を計算することができる。しかしながら、カメラで画像処理を用いる手法は携帯端末の方向が変動する度に画像処理を行う必要があるために計算量が多く、ディスプレイ座標位置計算のリアルタイム性が損なわれる問題や計算による電力消費量が大きくなってしまう問題が存在する。
【０００７】
この発明は上記事情に着目してなされたもので、その主たる目的は、位置計測用カメラを設置する必要がなく安価で手間が掛からず、かつ画像処理による計算量が少なくリアルタイム性に優れた指示位置算出装置、ディスプレイ指示システム、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためにこの発明は、カメラ、加速度センサ及び地磁気センサを有する携帯端末を用いてディスプレイ画面を指し示した場合に、ディスプレイ画面上における当該指示位置の座標を算出する指示位置算出装置又はディスプレイ指示システムにあって、先ず上記ディスプレイに表示された表示画像データを取得すると共に、上記携帯端末から上記カメラにより撮影された上記ディスプレイ画面の撮影画像データを取得する。そして、第１の計算手段により、上記取得されたディスプレイの表示画像データ及びカメラの撮影画像データに基づいて上記ディスプレイ画面の座標系から上記カメラの撮影画像の座標系への第１の射影変換行列を計算し、この計算された第１の射影変換行列をもとに上記ディスプレイ画面の予め定められ特定位置の座標を上記カメラの撮影画像座標系に射影変換した座標を計算する。そして、第２の計算手段により、上記携帯端末から上記カメラにより上記ディスプレイ画面を撮影したときの上記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとに上記カメラの撮影画像中心をディスプレイ画面の上記特定位置に合わせた場合のパン角及びチルト角を計算する。続いて第３の計算手段により、上記計算されたパン角及びチルト角に基づいて、上記ディスプレイ画面の上記特定位置座標への第２の射影変換行列を計算し記憶する。最後に第４の計算手段により、上記携帯端末から当該携帯端末により上記ディスプレイ画面を指し示したときの上記加速度センサ及び地磁気センサの測定データを取得して、この測定データをもとにパン角及びチルト角をそれぞれ計算し、この計算されたパン角及びチルト角を上記記憶された第２の射影変換行列により上記ディスプレイ画面上の座標値に変換するようにしたものである。
【０００９】
またこの発明は、以下のような態様を備えることを特徴とする。  
第１の態様は、上記指示位置算出装置にディスプレイ特定手段をさらに備え、このディスプレイ特定手段において、複数のディスプレイからそれぞれ取得した表示画像データの表示時刻と、上記携帯端末から取得したカメラの撮影画像の撮影時刻とを比較してその時間差を計算する。また、上記複数のディスプレイから取得した表示画像データからそれぞれ特徴点を抽出すると共に上記携帯端末から取得したカメラの撮影画像から特徴点を抽出し、上記携帯端末の撮影画像データと上記複数のディスプレイの表示画像データとの間で上記抽出された特徴点を比較して、その特徴量の差を計算する。そして、上記時間差の計算結果と上記特徴量の差の計算結果をもとに、上記複数のディスプレイから上記携帯端末が指し示しているディスプレイを特定するものである。
【００１０】
第２の態様は、上記指示位置算出装置にキャリブレーション制御手段をさらに備え、このキャリブレーション制御手段により、上記表示画像を取得する手段、撮影画像を取得する手段、上記第１、第２及び第３の計算手段による、上記携帯端末のカメラ撮影画像からディスプレイ画面の特定位置方向の値を計算するキャリブレーション処理を、動的に設定される時間間隔で繰り返し実行させるように制御するものである。
【００１１】
上記キャリブレーション処理の間隔は、携帯端末の平行移動量と、現在位置情報の取得対象となっているディスプレイと携帯端末の向けられている方向と同ディスプレイ平面が交わる場所のディスプレイ画面座標系上の位置との相互距離と、直近のキャリブレーション処理の精度評価値のうちの少なくとも一つに基づいて、動的に設定するとよい。
【発明の効果】
【００１２】
この発明によれば、画像処理は携帯端末からディスプレイ画面の特定位置方向を計算するキャリブレーション処理のみに用いられ、キャリブレーション処理後のディスプレイ画面における座標位置はカメラ画像を用いずに加速度センサ及び地磁気センサを用いて算出されるため、計算処理量を減らして応答性を高めることが可能となる。また、キャリブレーション処理では、携帯端末のカメラにより得られる画像とディスプレイの表示画像だけをもとに処理が行われるので、環境中に位置計測用カメラ等を設置せずに済み、これにより設備コストや手間を低減することが可能となる。
【００１３】
第１の態様によれば、携帯端末が複数のディスプレイを選択的に指し示す場合でも、指し示している方向にあるディスプレイを特定することが可能となる。
【００１４】
第２の態様によれば、キャリブレーション処理が、動的に設定される時間間隔で繰り返し実行される。このため、ユーザによる明示的なキャリブレーションを必要とすることなく、動的な時間間隔でキャリブレーション処理を自動的に実行することができる。  
また第３の態様によれば、キャリブレーションの時間間隔は３種類のパラメータをもとに動的に設定されるので、携帯端末による指示方向の変化の履歴に応じた最適な時間間隔でキャリブレーション処理を実行することが可能となる。
【００１５】
すなわちこの発明によれば、位置計測用カメラを設置する必要がなく安価で手間が掛からず、かつ画像処理による計算量が少なくリアルタイム性に優れた指示位置算出装置、ディスプレイ指示システム、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】この発明の原理説明に使用するもので、複数のディスプレイを選択的に指し示す場合の動作を示す図。
【図２】この発明の原理説明に使用するもので、１つのディスプレイに表示された複数のウィンドウ画面を選択的に指し示す場合の動作を示す図。
【図３】この発明の第１の実施形態に係るディスプレイ指示システムの機能構成を示すブロック図。
【図４】図３に示される指示位置算出装置の記憶部に記憶されるディスプレイ初期情報の一例を示す図。
【図５】図３に示される指示位置算出装置の記憶部に記憶される携帯端末カメラ初期情報の一例を示す図。
【図６】図３に示される指示位置算出装置の記憶部に記憶されるディスプレイ画像解析情報の一例を示す図。
【図７】図３に示される指示位置算出装置の記憶部に記憶される携帯端末カメラの画像情報の一例を示す図。
【図８】図３に示される指示位置算出装置の記憶部に記憶されるキャリブレーション結果値の一例を示す図。
【図９】図３に示される指示位置算出装置の記憶部に記憶される推定移動量の一例を示す図。
【図１０】図３に示したシステムにおいて携帯端末からディスプレイ位置情報を取得する処理の手順と処理内容を示すフローチャート。
【図１１】図１０に示した全体の処理手順のうちキャリブレーション実行処理の手順と処理内容を示すフローチャート。
【図１２】図１０に示した全体の処理手順のうち画像処理の手順と処理内容を示すフローチャート。
【図１３】図１０に示した全体の処理手順のうち位置推定処理の手順と処理内容を示すフローチャート。
【図１４】図１０に示した全体の処理手順のうちキャリブレーション間隔計算処理の手順と処理内容を示すフローチャート。
【発明を実施するための形態】
【００１７】
［原理］
実施形態の説明に先立ち、この発明の原理を図１及び図２を用いて説明する。  
この発明では、カメラ、加速度センサ及び地磁気センサを有する携帯端末を用いて、複数のディスプレイ画面に対し携帯端末のカメラが向けられている方向と位置を特定する際に、環境中に携帯端末の位置計測用カメラを設置することなく実現ができ、従来の画像処理を用いる手法より処理が軽い手法を提案する。
【００１８】
上記課題を解決するためこの発明では、先ずカメラ、加速度センサ及び地磁気センサを有する携帯端末をディスプレイ画面上の四隅方向に向け、加速度センサ及び地磁気センサより得られる携帯端末のパン角及びチルト角を計算によって求める。そして、この計算されたパン角及びチルト角をもとに、携帯端末の任意のパン角及びチルト角から当該携帯端末が向いた方向のディスプレイにおけるＸ座標及びＹ座標への射影変換行列２を求める。そして、この求められた射影変換行列２により、携帯端末がディスプレイ画面の座標上のどの位置に向けられたかを計算する。この発明の手法では、画像処理を携帯端末からディスプレイ画面の四隅方向を計算するキャリブレーション処理のみに用い、携帯端末の向けられた方向を特定する場合には、加速度センサ及び地磁気センサだけを用いて方向を特定することで、計算処理の処理量を減らすことができる。
【００１９】
また、キャリブレーション処理では、携帯端末のカメラにより得られる画像とディスプレイの表示画像だけを用いて行うことで、環境中に位置計測用カメラ等を設置せずに携帯端末の加速度センサ及び地磁気センサからディスプレイ画面の座標位置を算出することができる。
【００２０】
この発明の手法では、携帯端末をディスプレイ画面の四隅方向に向けた際に、加速度センサ及び地磁気センサがとるパン角及びチルト角の値を画像処理によって求める。これに対し従来では、カメラ画像の座標とディスプレイ画面の座標との間の対応付けを画像処理によって行なっている。しかしながら、携帯端末のカメラ画像の座標とディスプレイ画面の座標の対応だけでは、携帯端末をディスプレイ画面の四隅方向へ向けた際の加速度及び地磁気センサのパン角及びチルト角を直接知ることはできない。そこで、携帯端末をディスプレイ画面の四隅方向へ向けた際のパン角及びチルト角の値を計算によって求める手法を提案する。
【００２１】
またこの発明では、携帯端末の構造上の条件として、携帯端末を向ける方向とカメラの撮影光軸とが一致するようにカメラレンズが設置されるものとする。また、携帯端末は加速度センサ及び地磁気センサの機能を持ち、携帯端末が向いている方向を特定できるものとする。さらに携帯端末のカメラの横方向Ｘ及び縦方向Ｙに対する画角をそれぞれθx ，θy 、カメラの横方向Ｘ及び縦方向Ｙのピクセル数をそれぞれＮx ，Ｎy 、カメラの撮影画像中心をφx ，φy とする。
【００２２】
ユーザが上記携帯端末をディスプレイに向けると、システムは先ず操作対象候補となる全ディスプレイの表示画面の画像について特徴点を抽出する。またそれと共に各画像についてその表示時刻を取得する。上記ディスプレイ画像の特徴点の抽出処理と同時に、携帯端末のカメラにより撮影されたカメラ画像に対しても同様に特徴点の抽出処理と撮影時刻の取得を行う。さらに、加速度センサ及び地磁気センサの測定データをもとに、カメラ撮影時のパン角、チルト角及びロール角をそれぞれ計算する。ここでは、カメラ撮影時のパン角、チルト角及びロール角をそれぞれθα ，θβ ，θγ とする。
【００２３】
システムは、次にカメラによる撮影時刻と各ディスプレイ画像の表示時刻とを比較し、各ディスプレイよりカメラの撮影時刻と最も近いディスプレイ画像をそれぞれ選択し、この選択したディスプレイ画像の特徴点とカメラ撮影画像の特徴点とを比較する。ディスプレイ画像とカメラ撮影画像との間で特徴量が十分近い特徴点が４点以上存在する場合、ディスプレイ画像の座標からカメラ撮影画像の座標に対する射影変換行列１を計算する。４点以上一致する特徴点を持つディスプレイ画像が複数存在する場合には、特徴点が最も一致するディスプレイ画像を１つ選択する。
【００２４】
そして、上記計算された射影変換行列１をもとに、ディスプレイ画像の四隅を撮影画像座標系に変換した座標
（ｘ′1 ，ｙ′1 ）、（ｘ′2 ，ｙ′2 ）、（ｘ′3 ，ｙ′3 ）、（ｘ′4 ，ｙ′4 ）
を計算する。ここで、カメラ撮影画像のパン角、チルト角及びロール角が全て原点であると仮定した場合、カメラ撮影画像の座標系における任意の座標（ｘ′，ｙ′）にカメラの撮像画像中心を設定し、ロール角は変化させずに合わせた場合のパン角及びチルト角をθ′α ，θ′β とすると、それぞれの値は以下のように計算できる。  
【数１】
2014174638.tif 000003
【００２５】
このとき、任意のカメラ座標（ｘ′，ｙ′）にカメラの撮像画像中心を合わせた場合に、携帯端末の加速度センサ及び地磁気センサのセンサデータをもとに計算されるパン角、ロール角の値θ″α ，θ″β は、カメラ撮影時のパン角、チルト角及びロール角をそれぞれθα ，θβ ，θγとすると次のように計算できる。  
θ″α ＝θα ＋θ′α cos (−θγ)−θ′β sin (−θγ)
θ″β ＝θβ ＋θ′α sin (−θγ)＋θ′β cos (−θγ)
【００２６】
上記の式をディスプレイ画面の四隅をカメラ撮影画像の座標系に変換した各座標
（ｘ′1 ，ｙ′1 ）、（ｘ′2 ，ｙ′2 ）、（ｘ′3 ，ｙ′3 ）、（ｘ′4 ，ｙ′4 ）
に対して適用することで、カメラの撮影画像中心をディスプレイ画面の四隅に合わせた場合のパン角及びチルト角を求めることができる。
【００２７】
次に、携帯端末のパン角及びチルト角の情報からディスプレイ画面上の位置情報を計算する手法について述べる。位置情報の取得対象となるディスプレイの横方向Ｘ、縦方向Ｙの各ピクセル数をそれぞれＮ′x ，Ｎ′y とし、ディスプレイ画面の四隅の座標
（0 ，0 ）、（Ｎ′x ，0 ）、（0 ，Ｎ′y ）、（Ｎ′x ，Ｎ′y ）
に対して、携帯端末のカメラ撮影画像の中心を合わせた場合のパン角及びチルト角を上記式に従い求めた値をそれぞれ  
（θ″α1，θ″β1）、（θ″α2，θ″β2）、（θ″α3，θ″β3）、（θ″α4，θ″β4）
とする。このとき、パン角及びチルト角から対応するディスプレイ画面の四隅座標に対する射影変換行列２を求める。そして、現在の加速度センサ及び地磁気センサより取得されるパン角及びチルト角を上記求めた射影変換行列２により変換した値が、ディスプレイ画面の座標系における携帯端末を向けた先の位置情報となる。
【００２８】
最後に、一定の時間間隔で携帯端末のカメラ撮影画像からディスプレイ画面の四隅方向の値を計算するキャリブレーション処理を繰り返し行うことで、携帯端末のカメラの座標位置の平行移動や、位置情報の取得対象となるディスプレイの切り替わりに対応することができる。
【００２９】
この発明における以上の手順を実行することにより、画像処理を用いてキャリブレーション処理を行うようにしているため、ユーザによる明示的なキャリブレーション処理を必要とせず、また画像処理をキャリブレーション処理のときのみに用い、キャリブレーション処理後のディスプレイ画面における座標位置は加速度センサ及び地磁気センサを用いることで取得することにより、従来の画像処理手法と比較して軽い処理負荷で、携帯端末のカメラが向けられている方向のディスプレイにおける座標位置を特定することが可能になる。
【００３０】
ところで、上記の手法においてキャリブレーション処理を実行する時間間隔を一定に保った場合、その間隔の設定値によっては以下のようなトレードオフが生じる。すなわち、キャリブレーション処理間隔を短い値に設定した場合には、キャリブレーション処理において画像処理を用いるため、全体の計算量が増加してしまう。一方、この手法においては前のキャリブレーション処理から次のキャリブレーション処理を行うまでの間に、携帯端末の位置の変化が大きくなればなるほど、実際の携帯端末の方向とディスプレイ画面上における位置のずれが大きくなる。また、位置の取得対象となるディスプレイ画面が切り替わった場合に、次のキャリブレーション処理を行うまでの期間に操作対象の画面の切り替わりを認識することができない。また、ディスプレイ画像の特徴点とカメラ画像の特徴点とのマッチングが適切になされないなどの理由により、精度の悪いキャリブレーション処理結果となった場合には、次のキャリブレーション処理が自動的に行われるまで、実際の携帯端末方向とディスプレイ画面上における指示位置のずれを修正することができない。そのため、キャリブレーション処理間隔を長くとった場合にも問題が生じてしまう。
【００３１】
そこで、本発明ではキャリブレーション処理間隔を動的に決定することで、上記のキャリブレーション処理間隔の決定についての課題を解決する手法も併せて提案する。キャリブレーション処理間隔の動的な決定手法としては、携帯端末の平行移動量と、現在位置情報の取得対象となっているディスプレイと携帯端末の向けられている方向と同ディスプレイ平面が交わる場所のディスプレイ画面座標系上の位置との相互距離と、直近のキャリブレーション処理の精度評価値の何れか１値、または何れか２値、または３値全てをもとに行う手法を提案する。
【００３２】
先ず、携帯端末の平行移動量については、移動量が多い程キャリブレーション値にずれが生じるため、キャリブレーション処理間隔は携帯端末の平行移動量の減少関数となる。このとき、携帯端末の平行移動量は、例えば加速度センサのセンサ値の２階積分によって概算が求められる。
【００３３】
次に、現在位置情報の取得対象となっているディスプレイと携帯端末の向けられている方向と同ディスプレイ平面が交わる場所のディスプレイ画面座標系上の位置との相互距離について述べる。相互の距離は、位置を取得済のディスプレイ画面の座標系において、ディスプレイ画面の四隅により構成される四角形と、携帯端末の加速度センサ及び地磁気センサにより得られるパン角及びチルト角を射影変換によりディスプレイ画面上の座標系に変更した座標値とにより、四角形と１点との距離を計算することで求められる。相互距離に関しては、離れれば離れるほど、現在位置を取得済のディスプレイ以外のディスプレイに対して位置の取得が移る確率が高まると考えられるため、キャリブレーション処理間隔は相互距離の減少関数になる。
【００３４】
最後に、キャリブレーション処理の精度評価値について述べる。精度評価はその値が高ければ高い程、ディスプレイ上の位置の計算をより正確に行える確率が高いと考えられるため、キャリブレーション処理間隔を長くできる。一方、キャリブレーション処理自体の信頼度が低い場合、位置の計算に悪影響を及ぼす可能性が高いため、早く次のキャリブレーション処理を行う必要がある。このため、キャリブレーション処理間隔はキャリブレーション処理の精度評価値の増加関数として定義できる。キャリブレーション処理時の精度評価値の求め方としては、例えば携帯端末のカメラ撮影画像と位置取得対象のディスプレイ画像の特徴点との対応点数等があげられる。
【００３５】
各キャリブレーション実行時に算出される携帯端末の平行移動量と、現在位置情報の取得対象となっているディスプレイと携帯端末の向けられている方向と同ディスプレイ平面が交わる場所のディスプレイ画面座標系上の位置との相互距離と、直近のキャリブレーション処理の精度評価値を、１つ以上任意に選んで上記の関数にそれぞれ適用し、各関数値を変数とするキャリブレーション間隔導出関数を作成することでキャリブレーション処理間隔を動的に決定する。
【００３６】
以上述べたようにこの発明によれば、単数又は複数のディスプレイ画面に対し携帯端末のカメラが向けられている方向の座標位置を、ユーザによる明示的なキャリブレーションを必要とすることなく、画像処理を用いる手法より少ない計算量で算出することができる。
【００３７】
［実施形態］
次にこの発明の一実施形態を説明する。  
本実施形態では、カメラ、加速度センサ及び地磁気センサを有する携帯端末を、複数のディスプレイのうちの任意のディスプレイに差し向けたときに、当該携帯端末が差し向けられたディスプレイの方向を特定すると共に、当該特定されたディスプレイの表示画面上における上記携帯端末の指示位置の座標を計算し、この計算された座標位置にポインタを表示させる場合を例にとって説明する。
【００３８】
（構成）
図３は、この発明の一実施形態に係るディスプレイ指示システムと当該システムの中核をなす指示位置算出装置の構成を示す機能ブロック図である。本実施形態のディスプレイ指示システムは、複数台のディスプレイ１０２１〜１０２Ｎからなるディスプレイ群１０２と、携帯端末１０３と、指示位置算出装置１００とを備える。
【００３９】
携帯端末１０３は例えばスマートホン又はリモートコントローラからなり、タッチパネル型の操作入力部と、指示位置算出装置１００との間で無線ネットワークを介してデータを送受信するための無線インタフェース部と、カメラと、加速度センサと、地磁気センサとを有する。カメラは、その撮影時の撮影光軸が携帯端末１０３の筐体の長手方向又は背面と直交する方向と一致するように配置される。
【００４０】
ディスプレイ１０２１〜１０２Ｎは、例えばテレビジョン受信機のディスプレイやパーソナル・コンピュータのディスプレイからなり、上記指示位置算出装置１００との間で上記無線ネットワークを介してデータの送受信が可能である。なお、無線ネットワークとしては、例えばBluetooth（登録商標）等の近距離データ通信規格を採用したネットワークが使用される。
【００４１】
指示位置算出装置１００は例えばパーソナル・コンピュータからなり、記憶部１０１と制御部を備えている。記憶部１０１は例えばＨＤＤ（Hard Disc Drive）やＳＳＤ（Solid State Drive）を使用したもので、この実施形態を実施するために必要な記憶エリアとして、ディスプレイ初期情報記憶エリア１０１１と、携帯端末カメラ初期情報記憶エリア１０１２と、ディスプレイ画像解析情報記憶エリア１０１３と、携帯カメラ画像解析情報記憶エリア１０１４と、キャリブレーション結果記憶エリア１０１５と、推定移動量記憶エリア１０１６を備えている。
【００４２】
ディスプレイ初期情報記憶エリア１０１１には、ディスプレイ初期情報データが記憶される。このディスプレイ初期情報データは、ディスプレイ１０２１〜１０２Ｎごとに固有のディスプレイＩＤと、ディスプレイ１０２１〜１０２Ｎと指示位置算出装置１００との間でデータを送受信する無線インタフェース部のＩＰアドレスと、各ディスプレイ１０２１〜１０２Ｎの水平方向及び垂直方向の画素数データを含む。図４にディスプレイ初期情報データの一例を示す。
【００４３】
携帯端末カメラ初期情報記憶エリア１０１２には、携帯端末カメラ初期情報データが記憶される。この携帯端末カメラ初期情報データは、携帯端末１０３のカメラに対し固有に割り当てられたカメラＩＤと、携帯端末１０３の無線インタフェース部のＩＰアドレスと、カメラの水平方向及び垂直方向の各画素数データと、画角におけるカメラ画像中心のＸ座標及びＹ座標を表すデータを含む。図５に携帯端末カメラ初期情報データの一例を示す。
【００４４】
ディスプレイ画像解析情報記憶エリア１０１３は、ディスプレイ１０２１〜１０２Ｎの画像解析結果データを保存するために使用される。ディスプレイ画像解析結果データは、ディスプレイＩＤと、解析した画像の表示時刻を時、分、秒、ミリ秒により表したデータと、特徴点ＩＤと、特徴点のＸ座標及びＹ座標と、特徴量ベクトルを含む。このうち特徴点ＩＤは、各画像に対してSURFなどの局所特徴量解析アルゴリズムを適応した場合の特徴点毎に割り振られるＩＤである。特徴点のＸ座標及びＹ座標は、特徴点ＩＤに対応する解析画像中の座標位置である。特徴量ベクトルは、SURFなどの局所特徴量解析アルゴリズムにより得られる多次元の局所特徴量ベクトルである。図６にディスプレイ画像解析結果データの一例を示す。なお、SURFについては以下の文献に詳しく記載されている。  
H. Bay, A. Ess, T. Tuytelaars and L. Gool: “Supeededup robust features (SURF)”, Computer Vision and Image Understanding, 110, pp. 346 - 359 (2008).
【００４５】
携帯カメラ画像解析情報記憶エリア１０１４は、携帯端末１０３のカメラ画像解析結果データを保存するために用いられる。カメラ画像解析結果データは、カメラ画像を撮影した携帯端末１０３の携帯端末ＩＤと、解析したカメラ画像の撮影時刻を時、分、秒及びミリ秒により表した撮影画像時刻データと、特徴点ＩＤと、特徴点のＸ座標及びＹ座標と、撮影時のパン角、チルト角及びロー角と、特徴量ベクトルを含む。このうち特徴点ＩＤ、特徴点のＸ座標及びＹ座標、特徴量ベクトルは、上記ディスプレイ画像解析結果データに含まれるデータと同じである。また、撮影時のパン角、チルト角及びロール角は、解析画像の撮影時に携帯端末１０３の加速度センサ及び地磁気センサの測定値をもとに求められた値である。図７にこのカメラ画像解析結果データの一例を示す。
【００４６】
キャリブレーション結果記憶エリア１０１５は、キャリブレーション処理結果を表す情報を記憶するために使用される。キャリブレーション処理結果を表す情報は、ディスプレイＩＤと、携帯端末ＩＤと、特徴点の一致数と、射影変換行列２と、当該射影変換行列２の有効期間と、有効時間の前回の修正時刻を含む。このうち射影変換行列２は、携帯端末ＩＤのパン角及びチルト角からディスプレイＩＤの座標値へ変換を行う３×３の行列で表される。射影変換行列２の有効時間は、次回のキャリブレーション処理開始までのミリ秒単位の時間を表す。有効時間の前回修正時刻は、後述するキャリブレーション間隔決定部１０５により射影変換行列２の有効時間が最後に書き換えられた時刻であり、時、分、秒及びミリ秒により表される。図８にこのキャリブレーション処理結果を表すデータの一例を示す。
【００４７】
推定移動量記憶エリア１０１６は、推定移動量データを記憶するために使用される。推定移動量データは、携帯端末ＩＤと、Ｘ座標、Ｙ座標及びＺ座標における推定移動量の合計値を含む。図９にこの推定移動量データの一例を示す。
【００４８】
制御部はＣＰＵ（Central Processing Unit）を備え、この実施形態を実施する上で必要な制御機能として、ポインタ操作部１０４と、キャリブレーション間隔決定部１０５と、位置推定部１０６と、キャリブレーション実行部１０７と、画像処理部１０８と、端末移動量推定部１０９を備えている。なお、これらの制御機能は何れも、図示しないプログラムメモリに格納されたアプリケーション・プログラムを上記ＣＰＵに実行させることにより実現される。
【００４９】
画像処理部１０８は、キャリブレーション間隔決定部１０５がキャリブレーション処理を開始するために画像送信命令を送信したとき、この画像送信命令に従いディスプレイ１０２１〜１０２Ｎから送信される当該画像送信命令受信時の表示画像とその表示時刻、及びその前後３フレームの表示画像をその表示時刻を受信する。またそれと共に、上記携帯端末１０３から送信されるカメラ画像情報とその撮影時刻情報を受信する。そして、この受信した各画像を、ディスプレイ初期情報記憶エリアに記憶されたディスプレイ処理情報と、携帯端末カメラ初期情報記憶エリア１０１２に記憶された携帯端末カメラ初期情報に基づいて解析処理し、その画像解析結果を表す情報をそれぞれディスプレイ画像解析情報記憶エリア１０１３及び携帯カメラ画像解析情報記憶エリア１０１４に書き込む。
【００５０】
キャリブレーション実行部１０７は、キャリブレーション間隔決定部１０５又は携帯端末１０３からキャリブレーション開始命令を受けたとき、上記記憶部１０１の各記憶エリアからそれぞれディスプレイ初期情報、携帯端末カメラ初期情報、ディスプレイ画像解析情報及び携帯カメラ画像解析情報を読み込み、この読み込んだ各情報に基づいてキャリブレーション処理を行う。そして、キャリブレーション処理結果を表す値を記憶部１０１内のキャリブレーション結果記憶エリア１０１５に記憶させる。なお、携帯端末１０３からのキャリブレーション開始命令は、ユーザが携帯端末１０３の操作入力部において使用開始操作を行ったときに送信される。
【００５１】
位置推定部１０６は、キャリブレーション結果記憶エリア１０１５に記憶されたキャリブレーション結果値と、携帯端末１０３から送られた各センサの計測情報とをもとに、ディスプレイ１０２１〜１０２Ｎ上における携帯端末１０３が指し示す場所の位置座標を計算する。そして、この計算された位置座標を当該座標系を持つディスプレイＩＤと共にポインタ操作部１０４及びキャリブレーション間隔決定部１０５に送る。
【００５２】
ポインタ操作部１０４は、上記位置推定部１０６より位置座標とディスプレイＩＤを受信すると、この受信したディスプレイＩＤに関連付けられたＩＰアドレスをディスプレイ初期情報記憶部１０１１から読み込む。そして、該当するディスプレイに対して、上記位置推定部１０６より受信した座標位置にポインタが表示されるよう、ポインタ位置命令を送信する。
【００５３】
端末移動量推定部１０９は、予め設定された一定の時間間隔で、携帯端末１０３から加速度センサのセンサ情報を受信し、この受信した加速度センサ情報と、携帯端末カメラ初期情報記憶エリア１０１２に記憶された携帯端末カメラ初期情報とをもとに、携帯端末１０３の移動量を計算する。
【００５４】
キャリブレーション間隔決定部１０５は、上記位置推定部１０６より位置座標情報とディスプレイＩＤを受信すると、ディスプレイ初期情報記憶部１０１１、キャリブレーション結果値記憶エリア１０１５及び推定移動量記憶エリア１０１６から、それぞれディスプレイ初期情報、射影変換行列有効時間及び移動量情報を読み込み、射影行列有効時間の更新を行う。この射影行列有効時間の更新の結果、有効時間が０以下になった場合には、位置推定部１０６からキャリブレーション実行部１０７へキャリブレーション開始命令が送信される。
【００５５】
（動作）
次に、以上のように構成されたシステム及び指示位置算出装置１００の動作を説明する。図１０は、携帯端末１０３が指し示しているディスプレイの方向とその指示位置を計算する処理の全体の処理手順と処理内容を示すフローチャートである。
【００５６】
（１）キャリブレーション処理の実行
ユーザが携帯端末１０３において、操作入力部により開始要求を入力したとする。そうすると携帯端末１０３から指示位置算出装置１００へ無線ネットワークを介してキャリブレーション開始命令が送られる。このキャリブレーション開始命令を受信すると指示位置算出装置１００は、先ずステップＳ２に移行してキャリブレーション実行部１０７を起動し、以下のようにキャリブレーション処理を実行する。図１１はその処理手順と処理内容を示すフローチャートである。
【００５７】
すなわち、先ずステップＳ２１において図示しない時計回路から現在のシステム時刻を表す情報を取得する。この取得されたシステム時刻情報はキャリブレーション実行部１０７内の一時記憶領域に保持される。次にステップＳ２２において、キャリブレーション実行部１０７から全てのディスプレイ１０２１〜１０２Ｎに対し表示中の画像情報の送信命令を送信する。このとき、送信先のアドレスは、ディスプレイ初期情報記憶エリア１０１１よりディスプレイＩＰアドレスを読み込むことで取得する。続いてステップＳ２３において、キャリブレーション実行部１０７から携帯端末１０３に対して撮影命令を送信する。送信先のアドレスは携帯端末カメラ初期情報記憶エリア１０１２から携帯端末ＩＰアドレスを読み込むことで取得する。
【００５８】
次にステップＳ２４に移行して画像処理部１０８を起動し、この画像処理部１０８において、ディスプレイ１０２１〜１０２Ｎ及び携帯端末１０３からそれぞれ画像情報とその時刻情報を受信し、この受信した画像情報及び時刻情報をもとに以下のような画像解析処理を行う。図１２はその処理手順と処理内容を示すフローチャートである。
【００５９】
すなわち画像処理部１０８は、先ずステップＳ２４１において、上記受信した画像情報とその時刻情報のうち、受信順序が一番早い画像情報とその時刻情報の送信元がディスプレイであるかどうかを判定する。この判定は、ディスプレイ初期情報記憶エリア１０１１から全てのディスプレイ初期情報を読み込んで上記送信元ＩＰアドレスと比較し、この読み込んだ全ディスプレイＩＰアドレスの中に上記送信元ＩＰアドレスと一致するディスプレイＩＰアドレスがあるか捜索することにより行われる。この判定の結果、一致するＩＰアドレスが見つかると、受信した画像サイズの画素数をもとに対応するディスプレイＩＤを決定する。なお、同一のディスプレイＩＰアドレスでかつ同一の画素数を持つディスプレイＩＤが複数見つかった場合には、これら複数のディスプレイとの間で互いを区別するスクリーンＩＤを送信する。
【００６０】
上記受信したディスプレイ表示画像情報とその時刻情報に対応するディスプレイＩＤが見つかった場合、画像処理部１０８はステップＳ２４３により、上記受信したディスプレイ表示画像情報に対しSURF等の画像局所特徴量取得アルゴリズムを適用し、このアルゴリズムに従い画像内の特徴点の座標と特徴量ベクトルを抽出する。そして、ステップＳ２４５において、上記抽出された画像内の特徴点のＸ座標及びＹ座標と特徴量ベクトルを、上記ステップＳ２４１で特定されたディスプレイＩＤ及び受信時刻情報と関連付けて、ディスプレイ画像解析情報記憶エリア１０１３に書きこむ。この書き込み処理終了後、受信した順序が一番早い画像情報とその時刻情報を画像処理部１０８内の画像記憶領域から破棄する。
【００６１】
そして、ステップＳ２４８において、画像解析処理を行っていない受信画像情報とその時刻情報がまだ残っているか否かをステップＳ２４８で判定する。そして、ディスプレイから送られた受信画像情報とその時刻情報が残っていればステップＳ２４１に戻り、このステップＳ２４１でディスプレイＩＤを特定した後、ステップＳ２４３により画像解析処理を実行して画像内の特徴点の座標と特徴量ベクトルを抽出し、その解析結果をステップＳ２４５でディスプレイ画像解析情報記憶エリア１０１３に書きこむ。以後同様に、各ディスプレイ１０２１〜１０２Ｎから受信した画像情報の各々について、上記ステップＳ２４１、Ｓ２４３、Ｓ２４５による処理を繰り返し実行する。
【００６２】
一方、上記ステップＳ２４１による送信元ＩＰアドレスの判定の結果、受信した画像情報とその時刻情報の送信元ＩＰアドレスがディスプレイ初期情報中に見つからなかったとする。この場合画像処理部１０８は、次にステップＳ１０１２に移行し、ここで当該画像情報とその時刻情報の送信元が携帯端末１０３であるかどうかを判定する。この判定は、携帯端末カメラ初期情報記憶エリア１０１２から携帯端末カメラ初期情報を読み込んで送信元ＩＰアドレスと比較し、当該送信元ＩＰアドレスが上記読み込んだ携帯端末カメラ初期情報に含まれるＩＰアドレスと一致するか否かを判定することにより行われる。
【００６３】
上記判定の結果ＩＰアドレスが一致すると、画像処理部１０８は続いてステップＳ２４４において、上記画像の送信元である携帯端末１０３から加速度センサ及び地磁気の測定データを取得し、この取得した測定データをもとに携帯端末１０３のパン角、チルト角及びロール角を計算する。
【００６４】
画像処理部１０８は、次にステップＳ２４６において、上記携帯端末１０３から受信したカメラ画像情報に対し、先に述べたディスプレイ表示画像の場合（ステップＳ２４３）と同様にSURF等の画像局所特徴量取得アルゴリズムを適用し、このアルゴリズムに従いカメラ撮影画像内の特徴点の座標と特徴量ベクトルを抽出する。そして、ステップＳ２４７において、上記抽出されたカメラ撮影画像内の特徴点のＸ座標及びＹ座標と特徴量ベクトルを、上記ステップＳ２４４で算出された携帯端末１０３のパン角、チルト角及びロール角と、上記ステップＳ２４２で特定された携帯端末ＩＤ及び受信時刻情報とそれぞれ関連付けて、携帯カメラ画像解析情報記憶エリア１０１４に書きこむ。この書き込み処理終了後、受信したカメラ撮影画像情報とその時刻情報を画像処理部１０８内の画像記憶領域から破棄する。
【００６５】
以上述べた画像解析処理が終了すると、キャリブレーション実行部１０７はステップＳ２５に移行し、ここでディスプレイ画像解析情報記憶エリア１０１３及び携帯カメラ画像解析情報記憶エリア１０１４から画像解析情報を読み込む。そして、ステップＳ２１で取得したシステム時刻情報と、上記画像解析情報に含まれる表示画像時刻及び撮影画像時刻とを比較し、システム時刻情報より表示画像時刻及び撮影画像時刻の方が古い場合には、その画像解析情報を破棄する。
【００６６】
これに対し表示画像時刻及び撮影画像時刻がシステム時刻情報より新しい場合には、ステップＳ２６において、携帯端末カメラ画像解析結果とディスプレイ画像解析結果との間で特徴点集合の比較を以下のように行う。すなわち、先ず端末カメラ画像解析結果の撮影時刻に対し、ディスプレイ画像解析結果のディスプレイＩＤごとに最も近い表示画像時刻を持つ特徴点集合の比較をする。特徴点の比較においては、携帯端末カメラ画像解析結果の各特徴点の特徴量ベクトルと、ディスプレイ画像解析結果のディスプレイＩＤごとに最近の表示画像時刻を持つ各特徴点の特徴量ベクトルとを比較し、携帯端末カメラ画像解析結果の各特徴点に対してベクトル間の距離が最も近いディスプレイ画像解析結果の特徴点の組を順次生成する。
【００６７】
次に、上記生成された２つの特徴点組に対して、特徴点同士の距離が一定のしきい値φψよりも短くなるものにおいて、組として選ばれたディスプレイ画像解析結果の特徴点のディスプレイＩＤごとの個数をカウントする。このとき、組として選ばれた特徴点が最も多かったディスプレイＩＤを最適ディスプレイＩＤとする。最適ディスプレイＩＤの特徴点において、携帯端末カメラ画像解析結果の撮影時刻に最も近い表示画像時刻を持つ全特徴点について、再度携帯端末カメラ画像解析結果の各特徴点と距離を比較する。そして、携帯端末カメラ画像解析結果の各特徴点と最適ディスプレイＩＤの特徴点との組を、ベクトル間距離が最も近い順に生成する。さらに、生成した特徴点同士の距離が、一定のしきい値χよりも短くなる組の数をカウントする。このときカウントされた特徴点の組集合をψとし、このψの特徴点の組の数が一定数ε以下である場合には、Ｓ２１に戻る。
【００６８】
一方、ψの特徴点の組の数が一定数εより大きい場合には、ステップＳ２７に移行し、ここでキャリブレーション計算を以下のように行う。すなわち、先に原理説明において述べた手法を用い、携帯端末１０３の加速度センサ及び地磁気センサの測定データから算出したパン角とチルト角から、上記最適ディスプレイＩＤと対応するディスプレイ画面の座標へ値を変換する射影変換行列２を求める。上記ステップＳ２６で求めたψがディスプレイ表示画像とカメラ撮影画像との間の特徴量が十分近い特徴点の組となる。
【００６９】
次にステップＳ２８において、上記計算されたキャリブレーション処理の結果をキャリブレーション結果値記憶エリア１０１５に書き込む。書き込む値は、上記ステップＳ２６により求められた最適ディスプレイＩＤと、特徴点一致数としての特徴点組の数ψと、上記ステップＳ２７により算出された射影変換行列２と、射影変換行列２有効時間と、有効時間前回修正時刻であり、射影変換行列２有効時間は“０”、有効時間前回修正時刻は“空”とする。
【００７０】
（２）ディスプレイ座標位置の推定
キャリブレーション処理が終了すると、指示位置算出装置１００は次にステップＳ３において位置推定部１０６を起動し、この位置推定部１０６によりディスプレイ座標位置を推定する処理を以下のように実行する。図１３はその処理手順と処理内容を示すフローチャートである。
【００７１】
すなわち、位置推定部１０６は、携帯端末１０３から加速度センサ及び地磁気センサの測定データを受信すると、先ずステップＳ３１により携帯端末カメラ初期情報記憶エリア１０１２から携帯端末カメラ初期情報を読み込むと共に、キャリブレーション結果値記憶エリア１０１５からキャリブレーション結果値を読み込む。そして、上記受信した加速度及び地磁気測定データの送信元となる携帯端末のＩＤと一致する携帯端末ＩＤを持ったキャリブレーション結果値が存在するか否かを判定する。この判定の結果、存在しなかった場合には、新しい加速度及び地磁気測定データの受信を待って、上記ステップＳ３１の判定処理を行う。
【００７２】
これに対し、上記受信した加速度及び地磁気測定データの送信元となった携帯端末のＩＤと一致する携帯端末ＩＤを持ったキャリブレーション結果値が存在した場合には、ステップＳ３２においてディスプレイの位置座標を以下のように計算する。すなわち、上記受信した加速度及び地磁気センサの測定情報の送信元となる携帯端末ＩＤと一致する携帯端末ＩＤを持つキャリブレーション値における射影変換行列２を利用して、上記受信した加速度及び地磁気センサの測定情報をもとに算出したパン角及びチルト角から、同一のキャリブレーション値を持つディスプレイＩＤにおけるＸ座標及びＹ座標へ変換を行う。座標の変換は、変換するパン角およびチルト角をそれぞれθp ，θt 、射影変換行列２をＨn 、変換後の座標をｘn ，ｙn とすると、以下の式により計算できる。  
［ｘn ，ｙn ，１］T ＝Ｈn ［θp ，θt ，１］T
【００７３】
そして位置推定部１０６は、ステップＳ３３において、上記加速度及び地磁気各センサの測定情報の送信元となった携帯端末１０３のＩＤと、この携帯端末ＩＤと一致するキャリブレーション値を持つディスプレスＩＤと、上記ステップＳ３２において射影変換行列２を用いて算出した座標値情報を、ポインタ操作部１０４及びキャリブレーション間隔決定部１０５へ出力する。
【００７４】
（３）ディスプレイへのポインタの表示
ディスプレイの位置座標の推定が終了すると、指示位置算出装置１００は続いてステップＳ４においてポインタ操作部１０４を起動する。そして、このポインタ操作部１０４の制御の下、先ず上記位置推定部１０６から送られたディスプレイＩＤと位置座標情報を受け取ると共に、ディスプレイ初期情報記憶エリア１０１１から該当するディスプレイのディスプレイ初期情報を読み込む。
【００７５】
そして、上記位置座標にポインタを表示させるためのポインタ表示命令を生成し、このポインタ表示命令を上記ディスプレイＩＤに対応するディスプレイＩＰアドレスを送信先とし送信する。この結果、ユーザが携帯端末１０３を向けた先のディスプレイの画面における当該携帯端末１０３による指示位置に、ポインタが表示される。
【００７６】
（４）キャリブレーション間隔の計算
指示位置算出装置１００は、上記ポインタの表示処理後に、図１０に示すステップＳ５においてユーザの終了操作を監視する。そして、終了操作が行われればこのまま一連の処理を終了する。これに対し終了操作が行われなければ、ステップＳ６に移行してキャリブレーション間隔決定部１０５を起動し、このキャリブレーション間隔決定部１０５においてキャリブレーション間隔の計算を以下のように実行する。図１４はその処理手順と処理内容を示すフローチャートである。
【００７７】
すなわち、上記位置推定部１０６から出力されたディスプレイＩＤ、携帯端末ＩＤ、位置座標情報を受け取ると、先ずステップＳ６１においてキャリブレーション結果値記憶エリア１０１５からキャリブレーション値を読み込み、この読み込んだキャリブレーション値の中に、上記受信したディスプレイＩＤに対応するキャリブレーション結果値があるか否かを判定する。この判定の結果、対応するキャリブレーション結果値が存在しなければキャリブレーション間隔の計算処理を行わずにステップＳ７へ移行する。
【００７８】
一方、対応するキャリブレーション結果値が存在する場合にはステップＳ６２に移行し、上記受信したディスプレイＩＤに対応するキャリブレーション結果値における射影変換行列２有効時間の値が“０”であるか否かを判定する。そして、射影変換行列２有効時間の値が“０”でなければステップＳ６３に移行し、“０”であればステップＳ６６に移行する。
【００７９】
ステップＳ６３では、システムの現在時刻の値と、上記受信したディスプレイＩＤに対応するキャリブレーション結果値における有効時間前回修正時刻との差から、ミリ秒単位で経過時間を計算する。そして、この計算された経過時間を射影変換行列２有効時間から減算する。続いてステップＳ６４において、上記受信したディスプレイの推定位置座標情報と、受信したディスプレイＩＤに対応するディスプレイの水平及び垂直の各方向の画素数から、推定位置座標がディスプレイ画面よりどの程度離れているかを計算する。このとき、推定位置座標がディスプレイの画面内に存在する場合は値が“０”となる。これに対し画面外に存在する場合は、推定位置座標の点と最も近いディスプレイ画面までの距離となる。そして、計算された距離と正の定数パラメータＴdistとの積算値を求め、この積算値を射影変換行列２有効時間から減算する。
【００８０】
次にステップＳ６５では、端末移動量推定部１０９において計算された端末移動量をもとに、射影変換行列２有効時間の減算処理を以下のように行う。すなわち、先ず端末移動量推定部１０９において、携帯端末１０３から受信した加速度センサの測定データをもとに当該携帯端末１０３の移動量を計算する。具体的には、前回のセンサ受信時間からの経過時間を計時し、加速度センサの測定データ値をＸ座標、Ｙ座標及びＺ座標のそれぞれに分けて２階積分することで移動距離を計算する。この移動距離の計算結果は推定移動量記憶エリア１０１６に格納される。
【００８１】
続いて、携帯端末カメラ初期情報記憶エリア１０１２から携帯端末カメラ初期情報を読み込み、上記受信センサ情報の送信元となる携帯端末の携帯端末ＩＤを特定する。そして、上記推定移動量記憶エリア１０１６に記憶された推定移動量情報のうち、上記特定した携帯端末ＩＤと一致する情報に対し、Ｘ座標、Ｙ座標及びＺ座標の各々について値を加算して書き込む。なお、上記端末移動量推定部１０９による携帯端末１０３の移動量推定処理は一定の時間間隔で行われる。
【００８２】
キャリブレーション間隔決定部１０５は、上記受信した携帯端末ＩＤに対応した推定移動量情報を推定移動量記憶エリア１０１６から読み込み、Ｘ座標、Ｙ座標及びＺ座標の各々について推定移動量から移動距離を計算する。そして、計算された移動距離と正の定数パラメータＴmoveの積算値を求め、積算値を射影変換行列２有効時間から減算する。
【００８３】
次に、ステップＳ６７において、射影変換行列２有効時間が“０”以下であるか否かを判定する。この判定の結果“０”以下であれば、ステップＳ６９に移行して、上記射影変換行列２有効時間と本処理実行時の時刻を、受信したディスプレイＩＤと携帯端末ＩＤに対応したキャリブレーション結果値の射影変換行列２有効時間、有効時間前回修正時刻に対して書き込む。そして、キャリブレーション間隔決定処理を終了する。
【００８４】
これに対し射影変換行列２有効時間が“０”より大きい場合には、ステップＳ６８によりキャリブレーション実行部１０７に対しキャリブレーション開始命令を送信する。そして、キャリブレーション間隔決定処理を終了する。
指示位置算出装置１００は、上記キャリブレーション間隔の決定処理が終了すると、図１０に示すステップＳ７においてキャリブレーション開始命令の発生を監視する。そして、上記キャリブレーション間隔決定部１０５からキャリブレーション実行部１０７に対しキャリブレーション開始命令が出力されると、ステップＳ２に戻ってキャリブレーション実行部１０７の制御の下で先に（１）で述べたキャリブレーション処理を実行する。一方、キャリブレーション開始命令が出力されなければ、ステップＳ３に戻って先に（２）で述べたディスプレイ座標位置の推定処理を実行する。
【００８５】
（効果）
以上詳述したようにこの実施形態では、カメラ、加速度センサ及び地磁気センサを有する携帯端末１０３によりディスプレイ１０２１〜１０２Ｎの画面を撮影し、このカメラ撮影画像とディスプレイに表示中の画像をもとにディスプレイ座標系から撮影画像座標系への射影変換行列１を求める。次に、この射影変換行列１をもとに、ディスプレイ１０２１〜１０２Ｎの四隅の座標を撮影画像座標に変換した座標を求め、上記携帯端末１０３のカメラによりディスプレイ１０２１〜１０２Ｎを撮影したときのパン角、チルト角及びロール角から、ディスプレイ１０２１〜１０２Ｎの四隅に携帯端末１０３のカメラの中心を合わせたときのパン角とチルト角を求める。そして、ディスプレイ座標系への射影変換行列２を求めることによりキャリブレーション処理を行う。次に、携帯端末１０３のパン角及びチルト角と上記射影変換行列２を用いて、携帯端末１０３のカメラの光軸が指しているディスプレイ画面上の座標を計算し、この計算された位置座標情報をもとにディスプレイ画面上にポインタを表示するようにしている。また、上記キャリブレーション処理後において、携帯端末１０３の向けられた方向を特定する場合には、加速度センサ及び地磁気センサの測定データから算出されるパン角とチルト角をもとに特定するようにしている。
【００８６】
したがって、画像処理は携帯端末１０３からディスプレイ画面の四隅方向を計算するキャリブレーション処理のみに用いられ、キャリブレーション処理後のディスプレイ画面における座標位置はカメラ画像を用いずに加速度センサ及び地磁気センサを用いて算出されるため、計算処理量を減らして応答性を高めることが可能となる。また、キャリブレーション処理では、携帯端末１０３のカメラにより得られる画像とディスプレイ１０２１〜１０２Ｎの表示画像だけをもとに処理が行われるので、環境中に位置計測用カメラ等を設置せずに済み、これにより設備コストや手間を低減することが可能となる。
【００８７】
さらに、キャリブレーション間隔を、携帯端末１０３の平行移動量と、現在位置を取得済のディスプレイ１０２１〜１０２Ｎと携帯端末１０３が指し示しているディスプレイ画面上で交わる場所のディスプレイ座標上の位置との距離と、直近のキャリブレーション処理の精度評価値の３値をもとに行うようにしている。このため、キャリブレーションの実行間隔をより適切に設定することができる。
【００８８】
［他の実施形態］
前記実施形態では、指示位置算出処理を携帯端末やディスプレイとは別に設けたパーソナル・コンピュータからなる指示位置算出装置１００により行うようにしたが、携帯端末やディスプレイの１つを構成するテレビジョン受信機やパーソナル・コンピュータにおいて行うようにしてもよい。
【００８９】
その他、指示位置算出装置、携帯端末、ディスプレイの種類や構成、キャリブレーション処理、ディスプレイにおける指示位置の推定処理、キャリブレーション間隔の決定処理の処理手順や処理内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【００９０】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００９１】
１００…指示位置算出装置、１０１…記憶部、１０２…ディスプレイ群、１０２１〜１０２Ｎ…ディスプレイ、１０３…携帯端末、１０４…ポインタ操作部、１０５…キャリブレーション間隔決定部、１０６…位置推定部、１０７…キャリブレーション実行部、１０８…画像処理部、１０９…端末移動量推定部、１０１１…ディスプレイ初期情報記憶エリア、１０１２…携帯端末カメラ初期情報記憶エリア、１０１３…ディスプレイ画像解析情報記憶エリア、１０１４…携帯カメラ画像解析情報記憶エリア、１０１５…キャリブレーション結果記憶エリア、１０１６…推定移動量記憶エリア。
【図１】
2014174638.tif 000005
【図２】
2014174638.tif 000006
【図３】
2014174638.tif 000007
【図４】
2014174638.tif 000008
【図５】
2014174638.tif 000009
【図６】
2014174638.tif 000010
【図７】
2014174638.tif 000011
【図８】
2014174638.tif 000012
【図９】
2014174638.tif 000013
【図１０】
2014174638.tif 000014
【図１１】
2014174638.tif 000015
【図１２】
2014174638.tif 000016
【図１３】
2014174638.tif 000017
【図１４】
2014174638.tif 000018