本発明の第1実施形態に係る相対ポインティング方式のポインティング装置300について説明する。
第1実施形態のポインティング装置300は、図1(a)に示すようにディスプレイたるテレビ100と、前記テレビ100を操作するための機能とともに、ジャイロスコープ及び方位センサ22を備えたリモコン200と、を備えたものである。また、前記テレビ100の上側中央部には前記リモコン200を撮像するためのカメラ11が設けてあり、前記リモコン200の先端には図1(b)に示すように前記カメラ11によって当該リモコン200の位置を明確に捉えやすくするためのLEDマーカ23が設けてある。
そして、このポインティング装置300は、前記リモコン200に設定される基準方向SDに対して当該リモコン200の指示方向PDがなす角度であるポインティング角度A2を前記ジャイロスコープ及び前記方位センサ22からの出力で算出する。そして、前記ポインティング装置300は、このポインティング角度A2について累積的に回転変換を行うことで前記リモコン200の指示方向PDがポインティングしている点としてテレビ100の画面上にポインタPを表示するように構成してある。
また、図2に示すように前記リモコン200には前記基準方向SDに沿った仮想直線を中心軸として所定の立体角を有する操作角度範囲CRが設定してあり、この操作角度範囲CRと前記テレビ100のポインティング範囲とは所定の関係が設定してある。すなわち、操作角度範囲CRの大きさを調節することで、前記リモコン200の姿勢変化に対するポインタPの感度が調節される。
ここで、第1実施形態のポインティング装置300の動作における特徴点について図2に基づいて説明すると、第1実施形態のポインティング装置300は、前記リモコン200の位置が変化しても、図2の(1)及び(2)に示すように基準方向SDである操作角度範囲CRの中心軸が常にテレビ100の画面中心POの方向を向く。このことによりリモコン200の位置によらず、常にリモコン200の指示方向PDがテレビ100の画面上でポインティングしている点と、ポインタPの位置を略一致させ続けられるようにしてある。このような動作を実現するための詳細な構成について以下に説明する。
第1実施形態のポインティング装置300の構成図は図3に示すようなものになり、リモコン方向検出機構3、参照角度検出機構4、基準方向調節部14、ポインティング角度算出部15、座標算出部16、表示制御部17、表示部18とから構成してある。各部については前記テレビ100内のCPU、メモリ、入出力手段等からなる演算機構(コンピュータ)において前記メモリに格納されているポインティング装置用プログラムが実行されることによりその機能が実現されるものである。
各部について前記リモコン200からの入力があってから、前記テレビ100上にポインタPが重畳された操作画面映像DPが表示されるまでの動作に絡めて説明する。なお、以下ではX−Z平面である水平面を基準として説明を行うが、Y−Z平面についても同様に成り立つ。したがって、本発明のポインティング装置300は、左右方向及び上下方向のいずれについても基準方向SDが画面中心POを向くように調節することができる。
前記リモコン方向検出機構3は、リモコン方向検出部の一例であり、図4に示すように前記テレビ100に設定された参照点である画面中心POから前記リモコン200を見た場合の方向であるリモコン方向RDを検出するためのものである。このリモコン方向RDとは、前記画面中心POと前記リモコン200の先端部分とを結ぶ仮想直線によっても定義することができ、第1実施形態ではこの仮想直線の延びる方向と前記基準方向SDとが常に一致し続けるようにしてある。
第1実施形態では、前記リモコン方向検出機構3は、前記テレビ100からユーザ側へ向けられており、前記リモコン200のLEDマーカ23を撮像するためのカメラ11と、前記カメラ11で撮像されたカメラ画像PICに基づいて、リモコン方向RDを示す値であって、前記画面中心POに対して垂直な方向に対してリモコン方向RDがなす角度であるリモコン方向角度APを算出するリモコン方向角度算出部12とから構成してある。
前記リモコン方向角度算出部12は、図4(a)で示されるカメラ画像PICを図4(b)で示されるように二値化し、前記LEDマーカ23のみが強調された二値化画像を生成する。そして、前記リモコン方向角度算出部12は、二値化画像におけるテレビ100の中心線からLEDマーカ23の検出位置までの離間距離DETを算出する。ここで、離間距離DETと図4(c)で示されるリモコン方向角度APとの間には、前記カメラ11の特性によって一意に定まる関係が存在するため、前記リモコン方向角度算出部12は、離間距離DETからリモコン方向角度APを算出することができ、結果としてリモコン方向RDを特定することができる。
なお、第1実施形態ではLEDマーカ23の明るさに基づいて検出を行っているが、例えばLEDマーカ23の色や点滅パターン等に基づいて検出を行ってもよい。また、LEDマーカ23の代わりに反射マーカ等を用いても構わない。更に、LEDマーカ23は、1つであっても、2つ以上であってもよく、また、LEDマーカ23の形状は自由に決めてよい。
次に前記参照角度検出機構4について図3及び図5を参照しながら説明する。ここで、図5においては分かりやすさのため操作角度範囲CRについては省略しており、前記基準方向SDのみを図示しているが、実際には図2及び図4に示した操作角度範囲CRが前記基準方向SDを中心軸として設定してある。
前記参照角度検出機構4は、参照角度検出部の一例であり、テレビ100に対して設定された参照方向COに対して前記リモコン200の指示方向PDがなす角度である参照角度ACを検出するものである。ここで、第1実施形態では、前記参照方向COはテレビ100に対して垂直な方向に設定してあり、この参照方向COに対して前記リモコン200の指示方向PDが何度傾いているかについて前記参照角度検出機構4は検出する。すなわち、参照角度ACはテレビ100の画面に対してリモコン200の指示方向PDがどの程度傾いている状態であるかについて前記参照方向COを基準とした絶対的な値として示すものである。
前記参照角度検出機構4はより具体的には、図3に示すように前記方位センサ22と、前記参照角度算出部13とから構成してある。前記方位センサ22は、リモコン200の先端が指示している方向である指示方向PDの方位を数値として出力するものである。以下では、図5に示すようにリモコン200の指示方向PDがテレビ100画面に対して垂直な方向である参照方向COへ向いている場合に前記方位センサ22が出力する方位を参照方位CO、リモコン200の指示方向PDに対応して前記方位センサ22が現在出力している方位のことをリモコン方位COMともよぶ。尚、参照方位COは、テレビ100を起動後、リモコン200を画面に垂直な方向に配置し、そのときに方位センサ22が出力するリモコン方位COMの値を読み出すことによって、予め設定することができる。或いは、テレビ100を起動後に手動で設定するのではなく、テレビ100に方位センサを設けるなどして、事前に自動的に設定されるようにしてもよい。
前記参照角度算出部13は、前記参照方位COと前記リモコン方位COMの差から図5に示される参照角度ACを算出するものである。なお、参照角度ACは前記方位センサ22に基づいた値であるので、リモコン200の指示方向PDに対して一意に定まる値である。
次に前記リモコン方向検出機構3及び前記参照角度検出機構4でそれぞれ検出されたリモコン方向RD及び参照角度ACに基づいて前記基準方向調節部14により基準方向SDが適宜変更される構成について説明する。
前記基準方向調節部14は、操作角度範囲CRの中心である基準方向SDが、前記リモコン方向RDが一致するように前記基準方向SDを調節するように動作するものである。言い換えると、前記リモコン200の指示方向PDが前記画面中心POを指している場合に、基準方向SDとリモコン方向RDが一致するように基準方向SDの向きを適宜変更しているものである。
より具体的には前記基準方向調節部14は、図3に示すように後述するポインティング角度算出部15において初期値として使用される基準ポインティング角度A1について、リモコン方向RDを示す前記リモコン方向角度APと前記参照角度ACから算出し、前記基準ポインティング角度A1を更新することによって結果として前記基準方向SDが画面中心POを向くように調節するものである。
次に基準ポインティング角度A1について説明する。
前記基準ポインティング角度A1は、リモコン200の指示方向PDが画面中心POを指している場合に対して、リモコン200の現在の指示方向PDが何度傾いているかを示す値である。したがって、図5に示すように基準ポインティング角度A1は、参照角度ACからリモコン方向角度APを引くことにより求めることができる。これは、画面中心POにおいて画面に垂直な線と参照方向COが平行であり、錯角の関係から明らかである。また、基準ポインティング角度A1は、前記リモコン方向検出機構3及び前記参照角度検出機構4によって参照方向COを基準として検出される正確な値であるとも言える。
次に前記ポインティング角度算出部15について説明する。
前記ポインティング角度算出部15は、前記基準ポインティング角度A1と、前記ジャイロスコープ21から出力される角速度に基づいて現在のポインティング角度A2を算出するものである。すなわち、前記ポインティング角度算出部15は、初期値として前記基準ポインティング角度A1を使用し、その値から前記ジャイロスコープ21で得られる角速度を累積的に回転変換を繰り返していくことで、現在のポインティング角度A2を算出するよう構成してある。そして、前記ポインティング角度算出部15は、現在保持しているポインティング角度A2は前記基準方向調節部14によって所定時間ごとに前記基準ポインティング角度A1へ置き換えられるようにしてあり、略常に前記基準方向SDが画面中心POを向き続ける。
ここで、前記ポインティング角度算出部15で使用される基準ポインティング角度A1は方位センサ22の出力に基づいて算出されるものであり、逐次算出される現在のポインティング角度A2についてはジャイロスコープ21の出力に基づいている。つまり、ポインティング角度A2の演算には方位センサ22よりも応答性の高いジャイロスコープ21を用いることで、リモコン200の動きに対するポインタPの追従性が良くなるようにしてある。
前記座標算出部16は、ディスプレイ上の対応する位置を算出する位置算出部の一例であり、前記ポインティング角度A2に基づいて、対応するポインティング座標位置POSを算出するものである。
前記表示制御部17は、前記ポインティング座標位置POSに基づいてポインタPをメニュー画面等の基礎画面に対して重畳した操作画面映像DPを出力する。ここで、前記座標算出部16と前記表示制御部17とからなる部分は、ディスプレイ上の対応する位置にポインタが表示されるように制御する制御部の一例である。
最後に前記表示部18は、操作画面映像DPをテレビ100に表示させる。
このように第1実施形態のポインティング装置300によれば、前記リモコン方向検出機構3及び前記参照角度検出機構4により検出されるリモコン方向RDと、テレビ100を基準とした絶対的な値である参照角度ACに基づいて、リモコン200の基準方向SDが画面中心POを向いている場合における現在の基準ポインティング角度A1を算出することができる。そして、この基準ポインティング角度A1を前記ポインティング角度算出部15で使用されている現在のポインティング角度A2と置き換えることにより、基準方向SDが画面中心POへ向いた状態を基準とした角度演算に自動的にリセットすることができる。
したがって、テレビ100に対するリモコン200の相対位置が変化したとしても前記ポインティング角度算出部15で保持されている現在のポインティング角度A2が、前記基準方向調節部14により算出される基準ポインティング角度A1へと置き換えられることで、すぐにリモコン200の指示方向PDが画面上をポインティングしている点と、ポインタPの画面上の位置を略一致させることができる。
そして、前記基準方向調節部14は所定時間ごとに前記基準ポインティング角度A1を算出し、前記ポインティング角度算出部15で保持されているポインティング角度A2を更新していくので、結果として基準方向SDが定期的に画面中心POを向くように調節されることになる。
したがって、ユーザは従来のように基準方向SDが画面中心POを向くようにリセット動作を行う必要がない。
これらのことから、ユーザはリモコン200によってポインタPを自然な操作感で操作する事が可能となる。
次に本発明の第2実施形態に係るポインティング装置300について図6を参照しながら説明する。なお、以下の説明では第1実施形態に対応する部材には同じ符号を付すこととする。
第1実施形態のポインティング装置300と比較して、第2実施形態のポインティング装置300は、前記リモコン方向検出機構3から出力されるリモコン方向角度APについて、前記ポインティング角度算出部15が取得するように構成してある点が異なっている。
また、前記ポインティング角度算出部15は、前記基準方向調節部14から出力された基準ポインティング角度A1への置き換えが行われた時の過去のリモコン方向角度APを記憶している。
そして、前記ポインティング角度算出部15は、前記リモコン方向検出機構3から出力された新たなリモコン方向角度APと過去のリモコン方向角度APを比較し、それらが所定値以上の差を有する場合に現在のポインティング角度A2を基準ポインティング角度A1へと置き換えることを許可するように構成してある。
このような第2実施形態のポインティング装置300によれば、例えば図2に示されるようにテレビ100に対するリモコン200の相対位置が変化し、前記リモコン方向検出機構3から出力されるリモコン方向角度APに所定値以上の変化が生じた場合にのみ、基準方向SDの調節が行われるようにすることができる。
したがって、リモコン200の指示方向PDが画面上でポインティングしている点とポインタPの位置との間に大きなずれが発生する前に確実に基準方向SDの調節を行い、それらが一致し続けるようにすることができる。
次に本発明の第3実施形態に係るポインティング装置300について図7を参照しながら説明する。
第1実施形態のポインティング装置300と比較して、第3実施形態のポインティング装置300は前記ジャイロスコープ21が省略されており、前記ポインティング角度算出部15は、前記基準ポインティング角度A1に基づいて、ポインティング角度A2を算出するように構成してある点が異なっている。より具体的には、第3実施形態のポインティング装置300は、前記リモコン方向検出機構3から出力されるリモコン方向角度APと、参照角度検出機構4から出力される参照角度ACとで定期的に算出される基準ポインティング角度A1をそのままポインティング角度A2として前記ポインティング角度算出部15が出力するように構成してある。
このようなものであれば、リモコン200に設けるセンサを1つにしてコストを低減しつつ、基準方向SDが画面中心POを常に向くようにし、リモコン200の指示方向PDとポインタPの位置が一致し続けるようにできる。
次に本発明の第4実施形態に係るポインティング装置300であるテレビシステムについて説明する。
図8は、本実施形態におけるテレビシステム10の全体構成例を示した図である。このテレビシステム10は、画像表示システムの一例であり、テレビ100と、リモコン200とを備える。
テレビ100は、画像表示装置の一例であり、放送局から送信された映像及び音声を含む放送コンテンツを受信し、映像を画面に表示すると共に音声を出力する装置である。また、テレビ100は、放送コンテンツの選択等の操作を行うための画像も画面に表示する。更に、テレビ100は、カメラ11を備える。ここでは、カメラ11は可視光カラーカメラであるものとして説明する。尚、画像表示装置は、テレビに限らず、PC、サイネージモニタ等で用いられるものであってもよい。ここで、画像表示装置とは、液晶モニタ、有機ELモニタ等をいう。
リモコン200は、テレビ100の画面に表示された画像上で放送コンテンツの選択等の操作を行うために使用される。
図9及び図10は、従来のポインティング方式のリモコン200の動作について説明するための図である。図9には、テレビ100とリモコン200との位置関係を上方からの視点で表しており、図10には、テレビ100とリモコン200との位置関係を側方からの視点で表している。
角度センサを用いた相対ポインティング方式によるリモコン200を用いた場合、リモコン200の角度を左右上下に変化させると、画面上のポインティング位置も左右上下に移動する。ここで、画面上のポインティング範囲に対して、リモコン200の操作角度範囲は所定の関係で対応付けられる。この所定の関係とは、リモコン200が操作角度範囲の中心、左端、右端、上端、下端の方向を向いたときには、画面上のポインティング位置もそれぞれ画面の中心、左端、右端、上端、下端に移動する、という関係である。そして、この関係は、操作角度範囲の大小によらない。例えば、操作角度範囲を小さく設定すると、画面上のポインティング位置の移動はリモコン200の動きに対して敏感になり、操作角度範囲を大きく設定すると、画面上のポインティング位置の移動はリモコン200の動きに対して鈍感になる。
図9の位置P1及び図10の位置P3は、リモコン200がテレビ100の正面にあるときの位置であり、このとき、操作角度範囲の中心方向は、画面中心POの方向を向いているとする。このようにリモコン200の操作角度範囲の中心方向と画面中心POの方向とが一致する場合、リモコン200の指示方向と画面上のポインティング位置も良好に一致するため、ユーザは自然な使用感を得ることができる。
しかしながら、このままの設定でユーザがリモコン200を右方向又は下方向に平行移動し、図9の位置P2又は図10の位置P4に位置付けたとする。この場合は、各図に示すように、リモコン200の操作角度範囲の中心方向が、テレビ100の右端付近又は下端付近の方向を向く。これにより、リモコン200の指示方向と画面上のポインティング位置とがずれてしまうため、不自然な使用感となってしまう。このような場合、従来のポインティング方式のリモコン200は、ユーザがリモコン200を画面中心POに向けてリセットボタンを押すことによって、強制的にリモコン200の指示方向と画面上のポインティング位置とを一致させていた。
そこで、本実施形態では、リモコン200の位置が変わっても、ユーザの操作を必要とせずに、リモコン200の操作角度範囲の中心方向が画面中心POの方向を向くようなポインティング方式を実現する。
図11及び図12は、本実施形態の動作の概略について説明するための図である。図11には、テレビ100とリモコン200との位置関係を上方からの視点で表しており、図12には、テレビ100とリモコン200との位置関係を側方からの視点で表している。
図11の位置P1及び図12の位置P3にリモコン200がある場合は、図9及び図10の場合と同じであるが、このままの設定でユーザがリモコン200を右方向又は下方向に平行移動し、図11の位置P2又は図12の位置P4に位置付けた場合は、図9及び図10の場合と異なる。即ち、この場合は、各図に示すように、リモコン200の操作角度範囲の中心方向が、画面中心POの方向を向く。これにより、リモコン200の指示方向と画面上のポインティング位置とが一致し、自然な使用感となる。以降で、このような新しいポインティング方式を実現する方法について詳しく説明する。
図13は、本実施形態で用いられるリモコン200の外観を示す図である。図示するように、リモコン200は、LEDマーカ23を備える。ここでは、LEDマーカ23は、可視光LEDとして説明する。
図14は、本実施形態のテレビシステム10を構成するテレビ100及びリモコン200の機能構成例を示した図である。
テレビ100は、上述したように、カメラ11を備える。また、図示するように、第1リモコン検出部120と、第2リモコン検出部121と、キャリブレーション部122と、第1ポインティング角度算出部140と、第2ポインティング角度算出部141と、ポインティング角度更新部150と、座標算出部16と、表示制御部17と、表示部18とを備える。
カメラ11は、テレビ100の画面側(視聴者側)の景色を撮影することによりカメラ画像PICを生成し、カメラ画像PICを第1リモコン検出部120及び第2リモコン検出部121に出力する。本実施形態では、撮影手段の一例として、カメラ11を設けている。
第1リモコン検出部120は、カメラ11が出力したカメラ画像PICから、リモコン200に搭載されるLEDマーカを検出する。そして、テレビ100の画面に垂直な方向と、画面中心POからリモコン200への方向の水平成分(水平面に投影した成分)とがなす角度であるリモコン方向角度APhを算出し、第1ポインティング角度算出部140に出力する。本実施形態では、ディスプレイに垂直な方向と、リモコン方向を一の面に投影して得られた方向とがなす角度である第1のリモコン方向角度の一例として、リモコン方向角度APhを用いており、第1のリモコン方向角度を算出する第1のリモコン方向角度算出部の一例として、第1リモコン検出部120を設けている。この第1リモコン検出部120の動作については後で詳しく述べる。
第2リモコン検出部121は、カメラ11が出力したカメラ画像PICから、リモコン200に搭載されるLEDマーカを検出する。そして、テレビ100の画面に垂直な方向と、画面中心POからリモコン200への方向の垂直成分(画面中心POを通り画面に垂直な鉛直面に投影した成分)とがなす角度であるリモコン方向角度APvを算出し、第2ポインティング角度算出部141に出力する。その際、第2リモコン検出部121は、テレビ100の画面とカメラ11の撮影方向とがなす撮影角度APbaseを用いる。本実施形態では、ディスプレイに垂直な方向と、リモコン方向を他の面に投影して得られた方向とがなす角度である第2のリモコン方向角度の一例として、リモコン方向角度APvを用いており、第2のリモコン方向角度を算出する第2のリモコン方向角度算出部の一例として、第2リモコン検出部121を設けている。この第2リモコン検出部121の動作についても後で詳しく述べる。本実施形態では、リモコン方向検出部の一例として、カメラ11と第1リモコン検出部120と第2リモコン検出部121とからなる部分を設けている。
キャリブレーション部122は、第2リモコン検出部121で用いられる撮影角度APbaseを事前に計算して設定しておく。本実施形態では、撮影角度算出部の一例として、キャリブレーション部122を設けている。このキャリブレーション部122の動作についても後で詳しく述べる。
第1ポインティング角度算出部140は、リモコン方向角度APhと、リモコン200が出力する方位COMの水平成分であるリモコン方位COMhとに基づいて、基準ポインティング角度A1hを算出し、ポインティング角度更新部150に出力する。この第1ポインティング角度算出部140の動作についても後で詳しく述べる。
第2ポインティング角度算出部141は、リモコン方向角度APvと、リモコン200が出力する方位COMの垂直成分であるリモコン方位COMvとに基づいて、基準ポインティング角度A1vを算出し、ポインティング角度更新部150に出力する。この第2ポインティング角度算出部141の動作についても後で詳しく述べる。本実施形態では、参照角度検出部及び基準方向調節部の一例として、第1ポインティング角度算出部140と第2ポインティング角度算出部141とからなる部分を設けている。
ポインティング角度更新部150は、リモコン200が出力する角速度GYRと、第1ポインティング角度算出部140が出力する基準ポインティング角度A1h及び第2ポインティング角度算出部141が出力する基準ポインティング角度A1vを合成した基準ポインティング角度A1とに基づいて、ポインティング角度A2を算出し、座標算出部16に出力する。基本的には、現在保持しているポインティング角度A2を、角速度GYRに基づいて累積的に回転変換を行うことによって、新しいポインティング角度A2に更新する。そして、所定のタイミングで、ポインティング角度A2の値を基準ポインティング角度A1の値で置き換えるリセット動作を行う。その後、再び角速度GYRに基づいて累積的に回転変換を繰り返し、ポインティング角度A2を更新していく。ここで、リセット動作を行う所定のタイミングとしては、例えば、ユーザの操作位置が変わったタイミングが考えられる。この場合、ユーザの操作位置が変わったことは、例えば、カメラ画像PICにおけるユーザの画像の位置が変わったことから判断すればよい。但し、リセット動作は、このようなタイミングに限らず、例えば一定時間間隔で定期的に行うようにしてもよい。ポインティング角度更新部150は、このようにして、ユーザの操作位置が変わった場合であっても、リモコン200の操作角度範囲の中心方向とリモコン200が画面中心POを向く方向とを一致させる。本実施形態では、ポインティング角度を算出するポインティング角度算出部の一例として、ポインティング角度更新部150を設けている。
座標算出部16は、ポインティング角度A2に基づいて、テレビ100の画面上のポインティング座標位置POSを算出し、表示制御部17に出力する。本実施形態では、ディスプレイ上の対応する位置を算出する位置算出部の一例として、座標算出部16を設けている。
表示制御部17は、ポインティング座標位置POSに基づいて、ポインタをメニュー画面に重畳した操作画面映像DPを生成し、表示部18に出力する。本実施形態では、ディスプレイ上の対応する位置にポインタが表示されるように制御する制御部の一例として、座標算出部16と表示制御部17とからなる部分を設けている。
表示部18は、操作画面映像DPをテレビ100の画面に表示する。本実施形態では、画像を表示画面に表示する表示手段の一例として、表示部18を設けている。
また、リモコン200は、ジャイロスコープ21と、加速度センサ・地磁気センサ220とを備える。
ジャイロスコープ21は、例えば回転する物体に加わる慣性力を検出することにより物体の角速度を検出する角速度検出器である。ここでは、リモコン200の角速度GYRを検出し、ポインティング角度更新部150に出力する。
加速度センサ・地磁気センサ220は、例えば微小な可動部のわずかな動きによる静電容量の変化を検出することにより加速度を検出する加速度センサと、例えば磁気センサ素子を用いて地磁気の向きを検出する地磁気センサとを含む姿勢センサである。ここでは、リモコン200の姿勢に基づいてリモコン200の方位COMを検出し、その水平成分であるリモコン方位COMhを第1ポインティング角度算出部140に出力し、その垂直成分であるリモコン方位COMvを第2ポインティング角度算出部141に出力する。
次に、第1リモコン検出部120の動作を詳しく説明する。図15は、第1リモコン検出部120の動作について説明するための図である。
図15(a)は、カメラ画像PICを表す。第1リモコン検出部120は、カメラ画像PICに対して所定の閾値で二値化処理を行うことにより、図15(b)に示すような二値化画像を得る。これにより、第1リモコン検出部120は、LEDマーカ23の領域を検出し、画像中心を基準として、LEDマーカ23の画像上の検出位置DEThを求める。図15(c)は、テレビ100とリモコン200との位置関係を上方からの視点で表した図であり、テレビ100の画面に垂直な方向を基準として、角度APhの方向にリモコン200が存在する様子を示す。ここで、LEDマーカ23の画像上の検出位置DEThとリモコン方向角度APhとの関係は、カメラ11の特性によって決まるため、第1リモコン検出部120は、検出位置DEThからリモコン方向角度APhを算出する。具体的には、図15(b)の画像の左端から右端までの長さが画角に対応することを用いて、画像中心から検出位置DEThまでの長さに対応するリモコン方向角度APhを算出する。
尚、上記では、LEDの明るさに基づいてLEDを検出したが、LEDの色に基づいてLEDを検出してもよいし、LEDの点滅パターンに基づいてLEDを検出してもよい。また、LEDマーカの代わりに反射マーカを用いてもよい。更に、LEDマーカ23は、1つであっても、2つ以上であってもよく、また、LEDマーカ23の形状は自由に決めてよい。
次に、第1ポインティング角度算出部140の動作を詳しく説明する。図16は図15(c)と同様に、テレビ100とリモコン200との位置関係を上方からの視点で表した図である。尚、図が煩雑になるのを防ぐため、操作角度範囲は省略している。図中、ベクトルCOMhは、加速度センサ・地磁気センサ220から出力されるリモコン方位である。また、ベクトルCOhは、テレビ100の画面に垂直な参照方向である。更に、図15(c)と同様に、テレビ100から見たときのリモコン方向角度はAPhである。
図16において、リモコン200がテレビ100の画面中心POを向いた方向を、リモコン200の操作角度範囲の中心方向としたい。そのためには、参照方向COhから角度APhだけ回転させた方向が、リモコン200の操作角度範囲の中心方向となればよい。参照方向COhから角度APhだけ回転させた方向をリモコン200が向いたとき、リモコン200は画面中心POの方向を指示する。そこで、第1ポインティング角度算出部140は、リモコン方位COMhと参照方向COhとがなす角度AChを求め、リモコン200と画面中心POを結ぶ方向と、リモコン方位COMhとがなす基準ポインティング角度A1hを、角度AChから角度APhを減ずることによって求める。
尚、ベクトルCOhは、テレビ100を起動後、リモコン200を画面に垂直な方向に配置し、そのときに加速度センサ・地磁気センサ220が出力するリモコン方位COMhの値を読み出すことによって、予め設定することができる。或いは、テレビ100を起動後に手動で設定するのではなく、テレビ100に方位センサを設けるなどして、事前に自動的に設定されるようにしてもよい。ここでは、ベクトルCOhはテレビ100の画面に垂直な方向として説明したが、基準となる方向であればよいため、テレビ100の画面に平行な方向等、別の方向であってもよい。
次に、第2リモコン検出部121の動作を詳しく説明する。上述した第1リモコン検出部120は水平方向について処理を行うものであったが、この第2リモコン検出部121は鉛直方向について同様の処理を行うものである。図17は、第2リモコン検出部121の動作について説明するための図である。
図17(a)は、カメラ画像PICを表す。第2リモコン検出部121は、カメラ画像PICに対して所定の閾値で二値化処理を行うことにより、図17(b)に示すような二値化画像を得る。これにより、第2リモコン検出部121は、LEDマーカ23の領域を検出し、画像中心を基準として、LEDマーカ23の画像上の検出位置DETvを求める。図17(c)は、テレビ100とリモコン200との位置関係を側方からの視点で表した図であり、テレビ100の画面に垂直な方向を基準として、角度APvの方向にリモコン200が存在する様子を示す。ここで、LEDマーカ23の画像上の検出位置DETvとリモコン方向角度APvとの関係は、カメラ11の特性によって決まるため、第2リモコン検出部121は、検出位置DETvからリモコン方向角度APvを算出する。具体的には、図17(b)の画像の上端から下端までの長さが画角に対応することを用いて、画像中心から検出位置DETvまでの長さに対応するリモコン方向角度APvを算出する。
ところで、第1リモコン検出部120は水平方向について画面の中央にカメラ11を取り付けることを前提としたが、第2リモコン検出部121をこのままにしたのでは、鉛直方向についても画面の中央にカメラ11を取り付けることを前提としていることになる。しかしながら、それでは、カメラ11を画面中心POに取り付けることになってしまうため、カメラ11をテレビ100の上部又は下部のフレームに取り付けるものとして、第2リモコン検出部121の動作を修正する必要がある。
そこで、本実施形態では、カメラ11をテレビ100の上部のフレームの中央に取り付けるものとする。図1でも、カメラ11をテレビ100の上部のフレームの中央に取り付けた例を示した。
ここで、カメラ11をテレビ100の上部に取り付けた場合の第2リモコン検出部121の動作を詳しく説明する。図18は、テレビ100とリモコン200との位置関係を側方からの視点で表した図であり、テレビ100の画面に垂直な方向を基準として、角度APvの方向にリモコン200が存在する様子を示す。尚、図が煩雑になるのを防ぐため、操作角度範囲は省略している。第2リモコン検出部121は、図17(c)では、カメラ11の特性によって決まる検出位置DETvとリモコン方向角度APvとの関係のみに基づいて、検出位置DETvからリモコン方向角度APvを求めたが、カメラ11がテレビ100の上部に取り付けられた場合に検出位置DETvからリモコン方向角度APvを求めるためには、次の補正が必要となる。
即ち、まず、第2リモコン検出部121は、カメラ11からリモコン200までの距離L1を求める。例えば、カメラ画像PIC上のLEDマーカ23の面積Sは距離L1の二乗に反比例するので、面積Sと距離L1との関係をルックアップテーブルに保持しておき、このルックアップテーブルを参照することにより距離L1を求めるとよい。或いは、リモコン200に2つのLEDマーカ23を設けたとすると、カメラ画像PIC上の2つのLEDマーカ23の間隔Dは距離L1に反比例するので、間隔Dと距離L1との関係をルックアップテーブルに保持しておき、このルックアップテーブルを参照することにより距離L1を求めてもよい。
次に、第2リモコン検出部121は、リモコン200からテレビ100までの距離L2を、「L2=L1×sin(APbase−APbefore)」により算出する。ここで、APbaseはカメラ11の撮影方向が画面となす角度(以下、「撮影角度」という)である。本実施形態では、カメラ11をテレビ100の上部に取り付けているので、撮影角度は俯角となるが、カメラ11をテレビ100の下部に取り付ければ、撮影角度は仰角となる。また、APbeforeは、カメラ11の撮影方向と、カメラ11からリモコン200への方向とがなす角度(撮影リモコン角度)であり、カメラ画像PIC上の検出位置DETvから求められる。
また、第2リモコン検出部121は、リモコン200からテレビ100に下ろした垂線の足とカメラ11との距離L3を、「L3=L1×cos(APbase−APbefore)」により算出する。
次いで、第2リモコン検出部121は、リモコン200からテレビ100に下ろした垂線の足とテレビ画面の中心POとの距離L4を、「L4=L3−H/2」で求める。ここで、Hはテレビ100の高さである。
以上により、第2リモコン検出部121は、リモコン方向角度APvを、「APv=arctan(L4/L2)」により求める。
次に、第2ポインティング角度算出部141の動作を詳しく説明する。図19は図17(c)と同様に、テレビ100とリモコン200との位置関係を側方からの視点で表した図である。尚、図が煩雑になるのを防ぐため、操作角度範囲は省略している。図中、ベクトルCOMvは、加速度センサ・地磁気センサ220から出力されるリモコン方位である。また、ベクトルCOvは、テレビ100の画面に垂直な参照方向である。更に、図17(c)と同様に、テレビ100から見たときのリモコン方向角度はAPvである。
図19において、リモコン200がテレビ100の画面中心POを向いた方向を、リモコン200の操作角度範囲の中心方向としたい。そのためには、参照方向COhから角度APvだけ回転させた方向が、リモコン200の操作角度範囲の中心方向となればよい。参照方向COhから角度APvだけ回転させた方向をリモコン200が向いたとき、リモコン200は画面中心POの方向を指示する。そこで、第2ポインティング角度算出部141は、リモコン方位COMvと参照方向COhとがなす角度ACvを求め、リモコン200と画面中心POを結ぶ方向と、リモコン方位COMvとがなす基準ポインティング角度A1vを、角度ACvから角度APvを減ずることによって求める。
尚、ベクトルCOvは、テレビ100を起動後、リモコン200を画面に垂直な方向に配置し、そのときに加速度センサ・地磁気センサ220が出力するリモコン方位COMvの値を読み出すことによって、予め設定することができる。或いは、テレビ100を起動後に手動で設定するのではなく、テレビ100に方位センサを設けるなどして、事前に自動的に設定されるようにしてもよい。ここでは、ベクトルCOvはテレビ100の画面に垂直な方向として説明したが、基準となる方向であればよいため、テレビ100の画面に平行な方向等、別の方向であってもよい。
次に、キャリブレーション部122の動作を詳しく説明する。即ち、カメラ11の撮影角度の計算方法について述べる。まず、図20に示すように、カメラ11を撮影方向が水平になるようにテレビ100の上部のフレームに取り付けた状態で、キャリブレーション部122は、視野内のリモコン200の鉛直方向位置を記憶する。次に、図21に示すように、カメラ11の撮影角度が所望の角度になるように調整した状態で、キャリブレーション部122は、再度視野内のリモコン200の鉛直方向位置を記憶する。これにより、キャリブレーション部122は、図22に示すように、カメラ11の鉛直方向の画角θと、画像上でのリモコン200の移動量ΔDとを用いて、カメラ11の撮影角度を「θ×ΔD/N」とする。ここで、Nは、鉛直方向画角に対応する画素数である。尚、鉛直方向画角は、イメージセンサのサイズとカメラ11の焦点距離とから算出してもよいし、実測値から求めてもよい。ここで実測値とは、カメラ11を用いて実験的に鉛直方向画角を計測した結果であり、これを記憶する構成としてもよい。
また、上記では、画像上でのリモコン200の移動量ΔDを用いて、カメラ11の撮影角度を算出する方法を示したが、画像上の背景の移動量を用いてもよい。カメラ11が水平な場合の背景画像を撮影して記憶しておき、カメラ11の撮影角度を調整した後の背景画像と比較することで、背景画像の移動量ΔDを求めることができ、同様にしてカメラ11の撮影角度を算出することができる。
或いは、エンコーダと呼ばれる角度を計測するセンサを用いてもよい。エンコーダをカメラ11の角度調整部分に取り付けることによって、直接的に角度を計測することができる。
尚、これまで、カメラ11及びLEDマーカ23は、それぞれ可視光カメラ及び可視光LEDであるものとして説明してきたが、これには限らない。例えば、それぞれ赤外光カメラ及び赤外光LEDであってもよい。
次に、本実施形態におけるテレビ100の全体としての動作を説明する。図23は、テレビ100の全体としての動作例を示したフローチャートである。
図示するように、テレビ100では、まず、カメラ11が、テレビ100の画面側(視聴者側)の景色を撮影することにより、カメラ画像PICを生成する(ステップ301)。すると、第1リモコン検出部120が、ステップ301で生成されたカメラ画像PICに基づいて、テレビ100の画面に垂直な方向と、画面中心POからリモコン200への方向の水平成分とがなす角度であるリモコン方向角度APhを算出し(ステップ302)、第2リモコン検出部121が、ステップ301で生成されたカメラ画像PICと、テレビ100の画面とカメラ11の撮影方向とがなす撮影角度とに基づいて、テレビ100の画面に垂直な方向と、画面中心POからリモコン200への方向の垂直成分とがなす角度であるリモコン方向角度APvを算出する(ステップ303)。
次に、第1ポインティング角度算出部140が、ステップ302で算出されたリモコン方向角度APhと、リモコン200が出力する指示方向の水平成分であるリモコン方位COMhとに基づいて、基準ポインティング角度A1hを算出し(ステップ304)、第2ポインティング角度算出部141が、ステップ303で算出されたリモコン方向角度APvと、リモコン200が出力する指示方向の垂直成分であるリモコン方位COMvとに基づいて、基準ポインティング角度A1vを算出する(ステップ305)。すると、ポインティング角度更新部150が、リモコン200が出力する角速度GYRと、ステップ304で算出された基準ポインティング角度A1h及びステップ305で算出された基準ポインティング角度A1vを合成した基準ポインティング角度A1とに基づいて、ポインティング角度A2を算出する(ステップ306)。
次いで、座標算出部16が、ポインティング角度A2に基づいて、テレビ100の画面上のポインティング座標位置POSを算出する(ステップ307)。すると、表示制御部17が、ステップ307で算出されたポインティング座標位置POSに基づいて、ポインタをメニュー画面に重畳した操作画面映像DPを生成する(ステップ308)。そして、表示部18が、ステップ308で生成された操作画面映像DPをテレビ100の画面に表示する。
尚、本実施形態では、カメラ11をテレビ100の上部又は下部のフレームに取り付けるものとし、第1リモコン検出部120及び第1ポインティング角度算出部140が水平面上で処理を行い、第2リモコン検出部121及び第2ポインティング角度算出部141がテレビ100の画面に垂直な鉛直面上で処理を行うようにした。しかしながら、カメラ11をテレビ100の左側又は右側のフレームに取り付けるものとし、第1リモコン検出部120及び第1ポインティング角度算出部140がテレビ100の画面に垂直な鉛直面上で処理を行い、第2リモコン検出部121及び第2ポインティング角度算出部141が水平面上で処理を行うようにしてもよい。尚、カメラ11をテレビ100の上部又は下部のフレームに取り付ける場合は、水平面が一の面の一例であり、テレビ100の画面に垂直な鉛直面が他の面の一例であるが、カメラ11をテレビ100の左側又は右側のフレームに取り付ける場合は、テレビ100の画面に垂直な鉛直面が一の面の一例であり、水平面が他の面の一例である。
また、本実施形態では、カメラ11をテレビ100のフレームの中央に取り付けることとした。ここで、フレームの中央はフレームの中点であることが理想的ではあるが、必ずしもフレームの中点である必要はない。カメラ11が視聴者側を撮影することにより生成されたカメラ画像PIC上で、カメラ11の取り付け位置のフレームの中点からのずれは補正できるからである。
更に、本実施形態では、カメラ画像PICの中のLEDマーカ23の面積SやLEDマーカ23同士の間隔をもとに、カメラ11とリモコン200の距離L1を計測したが、他の方法を用いてもよい。
例えば、ステレオカメラを用いる方法でもよい。一般にステレオカメラは、左右又は上下に並べられた2台のカメラの視差情報を利用して、対象物までの奥行き情報(距離)を得ることができるカメラである。そしてカメラ前方の物体までの距離を画像で表した距離画像を得ることができる。例えば、既にテレビ100の上辺中央にカメラ11を設置している場合には、下辺中央にもう1台のカメラ110を設置することでステレオカメラを構成することができる。既に備えているカメラ11からのカメラ画像PICでリモコン200の座標が分かっているため、距離画像の中の同じ座標のデータを参照することで、カメラ11とリモコン200の距離L1を計測することができる。
或いは、距離画像センサを用いる方法でもよい。これも距離画像を得るためのセンサであるため、同様にしてカメラ11とリモコン200の距離L1を計測することができる。例えば、距離画像センサには、光の到着時間の差を用いるTOF(タイムオブフライト)方式のもの、特定のパターン形状の赤外光を照射してそのパターン形状の歪をもとに物体までの距離を計算するストラクチャードライト方式のものなどがある。
或いは、超音波を用いる方法でもよい。リモコン200に超音波発信器を備え、テレビ100の異なる位置に2つの超音波受信器を備え、リモコン200の超音波発信器から超音波を発信し、2つの超音波受信器で受信される超音波波形の位相差と、2つの超音波受信器の間隔とに基づいて三角測量の原理から、カメラ11とリモコン200の距離L1を計測することができる。また、超音波受信器は3つ以上でもよく、3つ以上とすれば、より精度の高い計測が可能となる。
或いは、電波を用いる方法でもよい。超音波を用いる場合と同様に、リモコン200に電波発信器、テレビ100の異なる位置に2つの電波受信器を備え、リモコン200から電波を発信し、2つの電波受信器で受信される電波の位相差から三角測量の原理から、カメラ11とリモコン200の距離L1を計測することができる。また、電波受信器は3つ以上でもよく、3つ以上とすれば、より高い精度の計測が可能となる。
また、この第4実施形態は、第1実施形態をベースとした構成を有するものとしたが、第2実施形態又は第3実施形態をベースとした構成を有するものとしてもよい。即ち、第2実施形態と同様に、ポインティング角度更新部150が第1リモコン検出部120及び第2リモコン検出部121からリモコン方向角度APh及びリモコン方向角度APvを取得する構成としてもよいし、第3実施形態と同様に、ジャイロスコープ21を設けない構成としてもよい。
次に本発明の第5実施形態に係るポインティング装置について説明する。
図24は、このポインティング装置における座標算出部16の機能構成例を示した図である。即ち、本発明の第5実施形態は、上述した第1実施形態から第4実施形態の各実施形態における座標算出部16を、図24の座標算出部16としたものである。
図示するように、第5実施形態の座標算出部16は、変換テーブル記憶部161と、距離取得部162と、座標決定部163と、座標出力部164とを備える。
変換テーブル記憶部161は、ポインティング角度A2をポインティング座標位置POSに変換する際に参照される変換テーブルを記憶する。この変換テーブルは、ポインティング角度A2が如何なる角度である場合にポインティング座標位置POSとして如何なる座標位置を算出するかを定義したテーブルである。変換テーブルは、1つであってもよいが、この第5実施形態では、テレビ100からリモコン200までの距離に対応して、複数の変換テーブルを記憶するものとする。例えば、テレビ100からリモコン200までの距離がDR以上である場合の長距離用変換テーブルと、テレビ100からリモコン200までの距離がDR以下である場合の短距離用変換テーブルとを記憶する。
距離取得部162は、テレビ100からリモコン200までの距離を取得する。第1実施形態から第3実施形態においては、リモコン方向角度算出部12がリモコン方向角度APを算出する際に、第4実施形態で第2リモコン検出部121が行っているのと同様の方法によって、カメラ11からリモコン200までの距離も算出することができるので、この距離をテレビ100からリモコン200までの距離として取得するとよい。また、第4実施形態においては、第2リモコン検出部121がカメラ11からリモコン200までの距離L1を算出しているので、この距離をテレビ100からリモコン200までの距離として取得するとよい。或いは、カメラ11からリモコン200までの距離をそのままテレビ100からリモコン200までの距離として取得するのではなく、カメラ11からリモコン200までの距離に基づいて、例えば、画面中心POからリモコン200までの距離を算出し、この距離をテレビ100からリモコン200までの距離として取得してもよい。
座標決定部163は、距離取得部162が取得した距離に応じて、変換テーブル記憶部161から該当する変換テーブルを読み出す。そして、この変換テーブルを用いて、ポインティング角度A2に対応するポインティング座標位置POSを決定する。例えば、距離取得部162が取得した距離がDR以上であれば、長距離用変換テーブルを用いてポインティング座標位置POSを決定し、距離取得部162が取得した距離がDR以下であれば、短距離用変換テーブルを用いてポインティング座標位置POSを決定する。
座標出力部164は、座標決定部163が決定したポインティング座標位置POSを、表示制御部17に出力する。
ところで、これまで、座標決定部163は、距離取得部162が取得した距離に応じて、変換テーブル記憶部161に記憶された複数の変換テーブルの何れかを選択し、これを用いて、ポインティング角度A2をポインティング座標位置POSに変換することとした。即ち、ポインティング角度A2からポインティング座標位置POSへの変換規則が、テレビ100からリモコン200までの距離に応じて、段階的に変化するようにした。しかしながら、このような変換規則は連続的に変化するようにしてもよい。図25は、このような連続的に変化する変換規則を規定するグラフの例である。このグラフでは、横軸がテレビ100からリモコン200までの距離を示しており、縦軸がポインティング角度A2の単位角度当たりの画面中心POからポインティング座標位置POSまでの画素数(距離に相当)を示している。例えば、距離取得部162から取得した距離がDRXであるとする。すると、図示するように、座標決定部163は、単位角度α当たりの画素数がPXであることを示す(PX/α)を取得する。そして、座標決定部163は、(PX/α)にポインティング角度A2を乗ずることにより求めた画素数に基づいて、ポインティング座標位置POSを算出する。
その他の実施形態について説明する。
第1実施形態では、参照方向についてはテレビの画面に対して垂直な方向に設定したが、例えば図26に示すように画面に対して傾いて設定しても構わない。このようなものであっても基準ポインティング角度は、テレビ画面に対する参照方向の傾き角が既知であれば算出することができ、基準方向の調節を行うことができる。また、画面に対して平行に参照方向を設定しても構わない。
前記各実施形態では、ポインティング装置をテレビとリモコンとの間で構成したが、例えばその他のディスプレイとリモコンとの間でポインティング装置を構成しても構わない。また、ディスプレイをプロジェクタ等により構成し、その投影画面上にポインタを表示するようにしても構わない。
前記リモコン方向検出機構(第4実施形態にあっては、カメラ、第1リモコン検出部及び第2リモコン検出部からなる機構)については、カメラとLEDマーカを利用したもの以外であっても構わない。例えばディスプレイの両端に音波又は電波発生源を設けておき、三角測量の要領でディスプレイに対するリモコンの相対位置を検出できるようにし、前記リモコン方向角度を算出できるよう構成したものであっても構わない。
例えば、超音波を用いる方法でもよい。リモコンに超音波発信器を備え、テレビの異なる位置に2つの超音波受信器を備え、リモコンの超音波発信器から超音波を発信し、2つの超音波受信器で受信される超音波波形の位相差と、2つの超音波受信器の間隔とに基づいて三角測量の原理から、テレビから見たリモコンの方向を計測することができる。また、超音波受信器は3つ以上でもよく、3つ以上とすれば、より精度の高い計測が可能となる。
或いは、電波を用いる方法でもよい。超音波を用いる場合と同様に、リモコンに電波発信器、テレビの異なる位置に2つの電波受信器を備え、リモコンから電波を発信し、2つの電波受信器で受信される電波の位相差から三角測量の原理から、テレビから見たリモコンの方向を計測することができる。また、電波受信器は3つ以上でもよく、3つ以上とすれば、より高い精度の計測が可能となる。
同様に前記参照角度検出機構についても、方位センサを利用したものに限られず、例えば電波や音波を利用してリモコンの先端と後端の三次元位置を検出し、それらの2つの座標からその指示方向を直接測定できるようにしても構わない。
前記各実施形態では、現在使用されているポインティング角度を基準ポインティング角度に置き換えることで基準方向が画面中心を向くように構成していたが、その他の座標変換等の演算方法により基準方向が調節されるようにしてもよい。要するに、前記基準方向と前記参照角度に基づいて、基準方向が調節されるものであればよい。
前記実施形態では参照点として画面中心を設定していたが、例えばディスプレイ上の画面中心以外の点を参照点として設定しても構わない。
その他、本発明の趣旨に反しない限りにおいて様々な実施形態の変形や組み合わせを行っても構わない。