(57)【要約】  ユーザが直感的に理解および操作しやすい指示入力装置（１０）は、ユーザが見ている方向である第１の方向を検出する第１方向検出部（１０２）と、ユーザがポインティング操作を行なう方向である第２の方向を検出する第２方向検出部（１０３）と、ユーザの位置および第１の方向に基づいて、画面上のユーザの注視位置を算出する注視位置算出部（１０６）と、ユーザの位置および第１の方向に基づいて、注視位置に対応する線であってユーザと画面とを結ぶ空間上の基準線を算出する基準座標群算出部（１０７）と、ユーザの手の位置を示す入力座標と基準線との間の第２の方向の距離を、注視位置に対するオフセット量として算出するオフセット量算出部（１０８）と、画面上において、注視位置との間の第１の画面規定方向の距離がそのオフセット量となる位置を、ポインタの表示位置として算出するポインタ表示位置算出部（１０９）とを備える。
2011158511.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの手の動きによるポインティング操作に基づいて、画面上に表示するポインタの表示位置を算出する指示入力装置であって、
ユーザの位置を検出するユーザ位置検出部と、
前記ユーザの手の位置を示す座標を入力座標として検出する入力座標検出部と、
前記ユーザの身体の姿勢に基づいて、当該ユーザが見ている方向である第１の方向を検出する第１方向検出部と、
前記ユーザの身体の姿勢に基づいて、当該ユーザがポインティング操作を行なう方向である第２の方向を検出する第２方向検出部と、
前記ユーザの位置および前記第１の方向に基づいて、画面上のユーザの注視位置を算出する注視位置算出部と、
前記ユーザの位置および前記第１の方向に基づいて、前記注視位置に対応する線であって前記ユーザと前記画面とを結ぶ空間上の基準線を算出する基準線算出部と、
前記基準線と前記入力座標との間の前記第２の方向の距離を、前記画面に沿った第１の画面規定方向の前記注視位置に対するオフセット量として算出するオフセット量算出部と、
前記画面上において、前記注視位置との間の前記第１の画面規定方向の距離が前記オフセット量となる位置を、前記画面上に表示するポインタの表示位置として算出するポインタ表示位置算出部と
を備える指示入力装置。
【請求項２】
前記ユーザの位置は、ユーザの顔の位置または頭の位置である、
請求項１に記載の指示入力装置。
【請求項３】
前記指示入力装置は、更に、ユーザに把持された状態で装置自身の位置を出力する三次元座標入力装置を備え、
前記入力座標検出部は、前記三次元座標入力装置によって出力された位置の座標を前記入力座標として検出する、
請求項１に記載の指示入力装置。
【請求項４】
前記指示入力装置は、更に、
ユーザを撮像する撮像部を備え、
前記入力座標検出部は、前記撮像部による撮像によって取得された画像に基づいて、前記ユーザの手の位置を示す前記入力座標を検出する、
請求項１に記載の指示入力装置。
【請求項５】
前記入力座標検出部は、更に、前記撮像部による撮像によって取得された画像に基づいて、前記ユーザの右手および左手を識別し、識別された左右の手ごとに入力座標を検出する、
請求項４に記載の指示入力装置。
【請求項６】
前記第１方向検出部は、顔向きおよび視線の少なくとも一方を含む前記ユーザの身体の姿勢に基づいて、前記第１の方向を検出する、
請求項１に記載の指示入力装置。
【請求項７】
前記第２方向検出部は、少なくとも身体の向きを含む前記ユーザの身体の姿勢に基づいて、前記第２の方向を検出する、
請求項１に記載の指示入力装置。
【請求項８】
前記第２方向検出部は、ユーザの身体の姿勢に加え、更に前記ユーザの位置に対する前記画面の方向に基づいて、前記第２の方向を検出する、
請求項７に記載の指示入力装置。 
【請求項９】
前記基準線算出部は、前記第１の方向と前記第２の方向との間の角度が予め定められた角度よりも小さい場合に、前記ユーザの位置および前記第１の方向と、更に前記第２の方向とに基づいて、前記基準線を算出する、
請求項１に記載の指示入力装置。
【請求項１０】
前記指示入力装置は、更に、
少なくともユーザの頭の位置と胸の位置との対応関係を示す情報を格納するユーザ情報データベースを備え、
前記基準線算出部は、前記ユーザの位置および前記第１の方向と、更に前記ユーザ情報データベースから取得される前記対応関係を示す情報とに基づいて、前記基準線を算出する、
請求項１に記載の指示入力装置。
【請求項１１】
前記指示入力装置は、更に、
少なくともユーザごとの胸の位置を示す情報を格納するユーザ情報データベースと、
ユーザを識別するユーザ識別部とを備え、
前記基準線算出部は、前記ユーザの位置および前記第１の方向と、更に前記ユーザ識別部により識別されたユーザを示すユーザ識別情報に基づいて前記ユーザ情報データベースより取得される少なくとも前記ユーザの胸の位置を示す情報とに基づいて、前記基準線を算出する、
請求項１に記載の指示入力装置。
【請求項１２】
前記基準線算出部は、前記第１の方向と前記第２の方向との間の角度が予め定められた角度よりも小さい場合に、前記ユーザの位置および前記第１の方向と、前記ユーザ情報データベースから取得される前記対応関係を示す情報と、更に前記第２の方向とに基づいて、前記基準線を算出する、
請求項１０に記載の指示入力装置。
【請求項１３】
前記指示入力装置は、更に、
少なくともユーザの頭の位置と腕の長さとの対応関係を示す情報を格納するユーザ情報データベースを備え、
前記オフセット量算出部は、前記第２の方向と、前記ユーザ情報データベースから取得される前記対応関係を示す情報とに基づいて、前記オフセット量を算出する、
請求項１に記載の指示入力装置。
【請求項１４】
前記指示入力装置は、更に、
少なくともユーザごとの腕の長さを示す情報を格納するユーザ情報データベースと、
ユーザを識別するユーザ識別部とを備え、
前記オフセット量算出部は、前記第２の方向と、前記ユーザ識別部により識別されたユーザを示すユーザ識別情報に基づいて前記ユーザ情報データベースより取得される少なくとも前記ユーザの腕の長さを示す情報とに基づいて、前記オフセット量を算出する、
請求項１に記載の指示入力装置。
【請求項１５】
前記指示入力装置は、更に、
前記ポインタ表示位置算出部によって算出された表示位置にポインタを表示する表示部を備える
請求項１に記載の指示入力装置。
【請求項１６】
前記オフセット量算出部は、前記基準線と前記入力座標との間の第３の方向の距離を、前記画面に沿った第２の画面規定方向の前記注視位置に対する他のオフセット量として算出し、
前記ポインタ表示位置算出部は、前記画面上において、前記注視位置との間の前記第２の画面規定方向の距離が前記他のオフセット量となる位置を、前記画面上に表示するポインタの表示位置として算出し、
前記第３の方向は、第１および第２の方向と異なる方向であり、前記第２の画面規定方向は前記第１の画面規定方向と異なる方向である、
請求項１に記載の指示入力装置。
【請求項１７】
ユーザの手の動きによるポインティング操作に基づいて、画面上に表示するポインタの表示位置を算出する指示入力方法であって、
ユーザの位置を検出し、
前記ユーザの手の位置を示す座標を入力座標として検出し、
前記ユーザの身体の姿勢に基づいて、当該ユーザが見ている方向である第１の方向を検出し、
前記ユーザの身体の姿勢に基づいて、当該ユーザがポインティング操作を行なう方向である第２の方向を検出し、
前記ユーザの位置および前記第１の方向に基づいて、画面上のユーザの注視位置を算出し、
前記ユーザの位置および前記第１の方向に基づいて、前記注視位置に対応する線であって前記ユーザと前記画面とを結ぶ空間上の基準線を算出し、
前記基準線と前記入力座標との間の前記第２の方向の距離を、前記画面に沿った第１の画面規定方向の前記注視位置に対するオフセット量として算出し、
前記画面上において、前記注視位置との間の前記第１の画面規定方向の距離が前記オフセット量となる位置を、前記画面上に表示するポインタの表示位置として算出する
指示入力方法。
【請求項１８】
ユーザの手の動きによるポインティング操作に基づいて、画面上に表示するポインタの表示位置を算出するためのプログラムであって、
ユーザの位置を検出し、
前記ユーザの手の位置を示す座標を入力座標として検出し、
前記ユーザの身体の姿勢に基づいて、当該ユーザが見ている方向である第１の方向を検出し、
前記ユーザの身体の姿勢に基づいて、当該ユーザがポインティング操作を行なう方向である第２の方向を検出し、
前記ユーザの位置および前記第１の方向に基づいて、画面上のユーザの注視位置を算出し、
前記ユーザの位置および前記第１の方向に基づいて、前記注視位置に対応する線であって前記ユーザと前記画面とを結ぶ空間上の基準線を算出し、
前記基準線と前記入力座標との間の前記第２の方向の距離を、前記画面に沿った第１の画面規定方向の前記注視位置に対するオフセット量として算出し、
前記画面上において、前記注視位置との間の前記第１の画面規定方向の距離が前記オフセット量となる位置を、前記画面上に表示するポインタの表示位置として算出する
ことをコンピュータに実行させるプログラム。
【請求項１９】
請求項１８に記載のプログラムを格納する記録媒体。
【請求項２０】
ユーザの手の動きによるポインティング操作に基づいて、画面上に表示するポインタの表示位置を算出する集積回路であって、
ユーザの位置を検出するユーザ位置検出部と、
前記ユーザの手の位置を示す座標を入力座標として検出する入力座標検出部と、
前記ユーザの身体の姿勢に基づいて、当該ユーザが見ている方向である第１の方向を検出する第１方向検出部と、
前記ユーザの身体の姿勢に基づいて、当該ユーザがポインティング操作を行なう方向である第２の方向を検出する第２方向検出部と、
前記ユーザの位置および前記第１の方向に基づいて、画面上のユーザの注視位置を算出する注視位置算出部と、
前記ユーザの位置および前記第１の方向に基づいて、前記注視位置に対応する線であって前記ユーザと前記画面とを結ぶ空間上の基準線を算出する基準線算出部と、
前記基準線と前記入力座標との間の前記第２の方向の距離を、前記画面に沿った第１の画面規定方向の前記注視位置に対するオフセット量として算出するオフセット量算出部と、
前記画面上において、前記注視位置との間の前記第１の画面規定方向の距離が前記オフセット量となる位置を、前記画面上に表示するポインタの表示位置として算出するポインタ表示位置算出部と
を備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの手の動きによるポインティング操作に基づいて、画面上に表示するポインタの表示位置を算出する指示入力装置および指示入力方法などに関する。
【背景技術】
【０００２】
ディスプレイやスクリーンの大画面化に伴い、ディスプレイを単に番組視聴や情報閲覧に利用するだけでなく、複数の情報の同時利用や大量の情報の一覧、ディスプレイに広告を表示する電子広告システムといった新しい利用方法への可能性が広がっている。【０００３】
また、大画面ディスプレイに対して、ユーザが把持している座標入力装置や指差し動作などを使い、表示画面から離れた場所より情報を入力することができる指示入力装置が知られている。【０００４】
この種の装置においては、表示画面上の任意の場所を指示するために、把持している座標入力装置もしくは手先を細かく動かすことは、ユーザにとって容易な操作ではない。また、複数人で同時に使用する場合には、他のユーザにより任意の場所への移動を制約されることが多く、特に画面上の離れた場所を指示入力することはユーザにとって非常に困難な操作である。そのため、表示画面の前を移動することなく、かつ、簡単な操作によってディスプレイ上の任意の場所を指示可能な操作方式を採用することが望まれる。【０００５】
このような状況下で、前段の課題に対して、離れた場所からでも容易に任意の場所を指示入力可能にする操作方式が提案されている。所定時間以上画面を注視した際にポインタを画面上の注視点に移動させ、その位置から入力装置によってポインタを相対的に移動させる方式（特許文献１参照）が知られている。また、絶対入力と相対入力が切り替え可能な座標入力装置を用いて画面全体を操作することができ、かつ、ユーザが空間上で座標入力装置を動かす際の操作面を推定することにより、操作性を向上させたもの（特許文献２参照）がある。さらに、表示画面上のポインタの移動状態に基づいて、座標入力装置の動きに対するポインタの移動量を小さくするモードに切替える手段を有する装置（特許文献３参照）も知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−１２８１３８号公報
【特許文献２】特許第３９５２８９６号公報
【特許文献３】特開２００８−１７１３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術はいずれも、ユーザが見ている方向と同じ方向に差し出した手と、それに対応する画面上のポインタとの位置関係が変化しないように配慮されていない。つまり、従来技術では、ユーザが見ている方向（視線方向）に沿った線上にユーザの手がある状態で、ユーザがその線上の異なる位置に手を動かせば、異なる位置にポインタが表示されてしまうことがある。例えば、上記線上の第１位置から、その線上から外れた第２位置にユーザが手を動かした後に、その線上の第３位置に手を動かす。この場合、第１位置に手があるときにユーザが見ている方向と、第３位置に手があるときにユーザが見ている方向とが同じであるにもかかわらず、上記線上で第１位置と第３位置とが異なれば、ポインタの表示位置が異なってしまうことがある。例えば、第１位置から第２位置までの距離が、第２位置から第３位置までの距離と異なれば、ポインタの表示位置がことなってしまう。ユーザは、視線方向に沿った線上に手があれば、その線上で互いに異なる位置に手があっても、画面上の同じ位置にポインタが表示されることを想定する。このため、上述の従来技術では、ユーザの想定と異なる場所にポインタが表示され、ポインタの位置を思い通りに操作しづらいという課題を有する。【０００８】
さらに、画面上の離れた場所を操作する場合には、ユーザは画面に対して身体あるいは顔を斜めにしてポインティング操作を行うため、身体の向き、視線の向きおよび画面の向きがずれることとなる。上述した従来技術はいずれも、上記のような向きのずれについては配慮されていないため、ユーザが手を動かした量が画面上のポインタの移動量と大きくずれ、どの程度手を動かせばポインタを目的の場所に移動できるか分からず、思い通りに操作がしづらくなるという課題を有する。【０００９】
本発明は、前記従来の課題を解決するものであって、ユーザが見ている方向に差し出した手とそれに対応する画面上のポインタとの位置関係が変化しないように、かつ、ユーザの手の移動量と画面上のポインタの移動量との対応関係が変化しないようにポインタの表示位置を算出することで、ユーザが直感的に理解および操作しやすい指示入力装置および指示入力方法などを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の一態様に係る指示入力装置は、ユーザの手の動きによるポインティング操作に基づいて、画面上に表示するポインタの表示位置を算出する指示入力装置であって、ユーザの位置を検出するユーザ位置検出部と、前記ユーザの手の位置を示す座標を入力座標として検出する入力座標検出部と、前記ユーザの身体の姿勢に基づいて、当該ユーザが見ている方向である第１の方向を検出する第１方向検出部と、前記ユーザの身体の姿勢に基づいて、当該ユーザがポインティング操作を行なう方向である第２の方向を検出する第２方向検出部と、前記ユーザの位置および前記第１の方向に基づいて、画面上のユーザの注視位置を算出する注視位置算出部と、前記ユーザの位置および前記第１の方向に基づいて、前記注視位置に対応する線であって前記ユーザと前記画面とを結ぶ空間上の基準線を算出する基準線算出部と、前記基準線と前記入力座標との間の前記第２の方向の距離を、前記画面に沿った第１の画面規定方向の前記注視位置に対するオフセット量として算出するオフセット量算出部と、前記画面上において、前記注視位置との間の前記第１の画面規定方向の距離が前記オフセット量となる位置を、前記画面上に表示するポインタの表示位置として算出するポインタ表示位置算出部とを備える。【００１１】
この構成により、ユーザが見ている方向とユーザがポインティング操作を行なう方向とに基づいてポインタの表示位置を算出することができる。つまり、基準線（基準座標群）と入力座標との間の第２の方向の距離が、注視位置に対するオフセット量として算出され、その画面上において、注視位置との間の第１の画面規定方向の距離がそのオフセット量となる位置が、ポインタの表示位置として算出される。したがって、ユーザが見ている方向に差し出した手とそれに対応する画面上のポインタとの位置関係が変化しないようにすること可能となる。さらに、ユーザの手の移動量と画面上のポインタの移動量との対応関係が変化しないようにポインタの表示位置を算出することも可能となる。その結果、ユーザが直感的に理解および操作しやすい指示入力装置を実現することができる。【００１２】
また、前記ユーザの位置は、ユーザの顔の位置または頭の位置であることが好ましい。【００１３】
この構成により、ユーザの位置が顔または頭の位置となるので、ユーザの注視位置の算出精度を向上させることができる。【００１４】
また、前記指示入力装置は、更に、ユーザに把持された状態で装置自身の位置を出力する三次元座標入力装置を備え、前記入力座標検出部は、前記三次元座標入力装置によって出力された位置の座標を前記入力座標として検出することが好ましい。【００１５】
この構成により、ユーザの手の位置を示す入力座標の検出精度を向上させることができる。【００１６】
また、前記指示入力装置は、更に、ユーザを撮像する撮像部を備え、前記入力座標検出部は、前記撮像部による撮像によって取得された画像に基づいて、前記ユーザの手の位置を示す前記入力座標を検出することが好ましい。【００１７】
この構成により、ユーザが手に三次元座標入力装置を把持していない場合であっても、入力座標を検出できるので、ユーザの利便性を向上させることができる。【００１８】
また、前記入力座標検出部は、更に、前記撮像部による撮像によって取得された画像に基づいて、前記ユーザの右手および左手を識別し、識別された左右の手ごとに入力座標を検出することが好ましい。【００１９】
この構成により、左右の手ごとに入力座標を検出することができ、ユーザの操作性を向上させることが可能となる。【００２０】
また、前記第１方向検出部は、顔向きおよび視線の少なくとも一方を含む前記ユーザの身体の姿勢に基づいて、前記第１の方向を検出することが好ましい。【００２１】
この構成により、顔向きおよび視線の少なくとも一方から第１の方向を検出することができる。【００２２】
また、前記第２方向検出部は、少なくとも身体の向きを含む前記ユーザの身体の姿勢に基づいて、前記第２の方向を検出することが好ましい。【００２３】
この構成により、ユーザの身体の向きから第２の方向を検出することができる。【００２４】
また、前記第２方向検出部は、ユーザの身体の姿勢に加え、更に前記ユーザの位置に対する前記画面の方向に基づいて、前記第２の方向を検出することが好ましい。【００２５】
この構成により、ユーザの位置と画面の位置との位置関係に適応した方向を、第２の方向として検出することができる。【００２６】
また、前記基準線算出部は、前記第１の方向と前記第２の方向との間の角度が予め定められた角度よりも小さい場合に、前記ユーザの位置および前記第１の方向と、更に前記第２の方向とに基づいて、前記基準線を算出することが好ましい。【００２７】
この構成により、第１の方向と第２の方向との間の角度が予め定められた角度よりも小さい場合には、ユーザが頭の位置を基準とする視線方向のベクトル上に一方の手を差し出すことが困難である。このような場合などに、その一方の手に対して、第２の方向に基づいて基準線を適切に算出することができる。【００２８】
また、前記指示入力装置は、更に、少なくともユーザの頭の位置と胸の位置との対応関係を示す情報を格納するユーザ情報データベースを備え、前記基準線算出部は、前記ユーザの位置および前記第１の方向と、更に前記ユーザ情報データベースから取得される前記対応関係を示す情報とに基づいて、前記基準線を算出することが好ましい。【００２９】
この構成により、ユーザの胸の位置を基準に基準線を算出することができるので、ユーザの自然な姿勢によるポインティング操作に応じた基準線を算出することが可能となる。【００３０】
また、前記指示入力装置は、更に、少なくともユーザごとの胸の位置を示す情報を格納するユーザ情報データベースと、ユーザを識別するユーザ識別部とを備え、前記基準線算出部は、前記ユーザの位置および前記第１の方向と、更に前記ユーザ識別部により識別されたユーザを示すユーザ識別情報に基づいて前記ユーザ情報データベースより取得される少なくとも前記ユーザの胸の位置を示す情報とに基づいて、前記基準線を算出することが好ましい。【００３１】
この構成により、ユーザごとの身体特徴に適応した基準線を算出することができる。【００３２】
また、前記基準線算出部は、前記第１の方向と前記第２の方向との間の角度が予め定められた角度よりも小さい場合に、前記ユーザの位置および前記第１の方向と、前記ユーザ情報データベースから取得される前記対応関係を示す情報と、更に前記第２の方向とに基づいて、前記基準線を算出することが好ましい。【００３３】
この構成により、第１の方向と第２の方向との間の角度が予め定められた角度よりも小さい場合には、ユーザが胸の位置を基準とする視線方向のベクトル上に一方の手を差し出すことが困難である。このような場合などに、その一方の手に対して、第２の方向に基づいて基準線を適切に算出することができる。【００３４】
また、前記指示入力装置は、更に、少なくともユーザの頭の位置と腕の長さとの対応関係を示す情報を格納するユーザ情報データベースを備え、前記オフセット量算出部は、前記第２の方向と、前記ユーザ情報データベースから取得される前記対応関係を示す情報とに基づいて、前記オフセット量を算出することが好ましい。【００３５】
この構成により、ユーザの腕の長さを考慮してオフセット量を算出できるので、ユーザの手の移動量に対する画面上のポインタの移動量が、ユーザの腕の長さが異なることによって変化しないようにすることが可能となる。【００３６】
また、前記指示入力装置は、更に、少なくともユーザごとの腕の長さを示す情報を格納するユーザ情報データベースと、ユーザを識別するユーザ識別部とを備え、前記オフセット量算出部は、前記第２の方向と、前記ユーザ識別部により識別されたユーザを示すユーザ識別情報に基づいて前記ユーザ情報データベースより取得される少なくとも前記ユーザの腕の長さを示す情報とに基づいて、前記オフセット量を算出することが好ましい。【００３７】
この構成により、ユーザごとの身体特徴に適応したオフセット量を算出することが可能となる。【００３８】
また、前記指示入力装置は、更に、前記ポインタ表示位置算出部によって算出された表示位置にポインタを表示する表示部を備えることが好ましい。【００３９】
この構成により、指示入力装置がポインタを表示することも可能となる。【００４０】
また、前記オフセット量算出部は、前記基準線と前記入力座標との間の第３の方向の距離を、前記画面に沿った第２の画面規定方向の前記注視位置に対する他のオフセット量として算出し、前記ポインタ表示位置算出部は、前記画面上において、前記注視位置との間の前記第２の画面規定方向の距離が前記他のオフセット量となる位置を、前記画面上に表示するポインタの表示位置として算出し、前記第３の方向は、第１および第２の方向と異なる方向であり、前記第２の画面規定方向は前記第１の画面規定方向と異なる方向であることが好ましい。【００４１】
これにより、基準線と入力座標との間における第２の方向の距離と第３の方向の距離とがそれぞれオフセット量として算出され、注視位置から第１の画面規定方向および第２の画面規定方向にそれらのオフセット量だけ離れた位置が、ポインタの表示位置として算出される。したがって、ユーザが２次元状で直感的に理解および操作しやすい指示入力装置を実現することができる。【００４２】
なお、本発明は、このような指示入力装置として実現することができるだけでなく、このような指示入力装置が備える特徴的な構成部の動作をステップとする指示入力方法としても実現することができる。また、本発明は、指示入力方法に含まれる各ステップをコンピュータに実行させるプログラムとして実現することもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の記録媒体あるいはインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【００４３】
本発明によれば、ユーザが見ている方向とユーザがポインティング操作を行なう方向とに基づいてポインタの表示位置を算出することができる。したがって、ユーザが見ている方向に差し出した手とそれに対応する画面上のポインタとの位置関係が変化しないようにすること可能となる。さらに、ユーザの手の移動量と画面上のポインタの移動量との対応関係が変化しないようにポインタの表示位置を算出することも可能となる。その結果、ユーザが直感的に理解および操作しやすい指示入力装置および指示入力方法を実現することができる。
【図面の簡単な説明】
【００４４】
【図１】図１は、本発明の実施の形態１または２における指示入力装置の外観と関連機器とのインタフェースの一例を説明する図である。
【図２】図２は、本発明の実施の形態１における指示入力装置の主要機能ブロック図である。
【図３Ａ】図３Ａは、本発明の実施の形態１におけるユーザ位置とその三次元位置の検出方法を説明する図である。
【図３Ｂ】図３Ｂは、本発明の実施の形態１におけるユーザ位置とその三次元位置の検出方法を説明する図である。
【図４Ａ】図４Ａは、本発明の実施の形態１における画像による顔向きまたは視線の検出方法を説明する図である。
【図４Ｂ】図４Ｂは、本発明の実施の形態１における画像による顔向きまたは視線の検出方法を説明するフローチャートである。
【図５Ａ】図５Ａは、本発明の実施の形態１における画像による顔向きの検出方法を説明する図である。
【図５Ｂ】図５Ｂは、本発明の実施の形態１における画像による黒目の向きの検出方法を説明する図である。
【図５Ｃ】図５Ｃは、本発明の実施の形態１における画像による黒目の向きの検出方法を説明する図である。
【図６Ａ】図６Ａは、本発明の実施の形態１における画像による身体の向きの検出方法を説明するフローチャートである。
【図６Ｂ】図６Ｂは、本発明の実施の形態１における画像による身体の向きの検出方法を説明する図である。
【図７Ａ】図７Ａは、本発明の実施の形態１における画像による手の検出方法を説明する図である。
【図７Ｂ】図７Ｂは、本発明の実施の形態１における画像による手の検出方法を説明するフローチャートである。
【図８Ａ】図８Ａは、本発明の実施の形態１における座標入力リモコンによる手の位置の検出方法を説明する図である。
【図８Ｂ】図８Ｂは、本発明の実施の形態１における座標入力リモコンの外観図である。
【図９】図９は、本発明の実施の形態１における画面上の注視位置の算出方法を説明する図である。
【図１０】図１０は、本発明の実施の形態１における基準座標群の算出方法を説明する図である。
【図１１Ａ】図１１Ａは、本発明の実施の形態１におけるオフセット量の算出方法を説明する図である。
【図１１Ｂ】図１１Ｂは、本発明の実施の形態１におけるオフセット量の算出方法を説明する図である。
【図１１Ｃ】図１１Ｃは、本発明の実施の形態１における指示入力装置の効果を説明するための図である。
【図１１Ｄ】図１１Ｄは、本発明の実施の形態１における指示入力装置の効果を説明するための図である。
【図１２】図１２は、本発明の実施の形態２における指示入力装置の主要機能ブロック図である。
【図１３】図１３は、本発明の実施の形態２におけるユーザ情報データベースを説明する図である。
【図１４Ａ】図１４Ａは、本発明の実施の形態２におけるユーザ情報データベースに基づく基準座標群の算出方法を説明する図である。
【図１４Ｂ】図１４Ｂは、本発明の実施の形態２におけるユーザ情報データベースに基づく基準座標群の算出方法を説明する図である。
【図１５Ａ】図１５Ａは、本発明の実施の形態２におけるユーザ情報データベースに基づくオフセット量の算出方法を説明する図である。
【図１５Ｂ】図１５Ｂは、本発明の実施の形態２におけるユーザ情報データベースに基づくオフセット量の算出方法を説明する図である。
【図１６】図１６は、本発明の実施の形態２の変形例における指示入力装置の主要機能ブロック図である。
【発明を実施するための形態】
【００４５】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００４６】
（実施の形態１）
＜概要＞
本発明に係る指示入力装置は、１以上のユーザにより操作される大画面ディスプレイに適用されるのに好適であり、ユーザのポインティング操作によって画面上に表示されるポインタ位置の制御を行う。
【００４７】
ここで、ポインティング操作とは、ユーザの手によるジェスチャ操作であって、ポインタを動かすための操作である。また、ポインタとは、ユーザが指し示す画面上の位置に表示される画像である。なお、ポインタの形態（形状、模様および色彩）は、特定の形態に限定される必要はなく、ユーザが認識できる形態であればどのような形態であってもよい。例えば、ポインタは、典型的には、白あるいは黒の矢印の画像である。
【００４８】
＜構成＞
図１は、本発明の実施の形態における指示入力装置の外観と関連機器とのインタフェースの一例を説明する図である。
【００４９】
映像表示装置１１２は、放送番組等を受信するためのアンテナによって受信された放送信号などに基づいて、画像又は映像を画面１１１に表示する。
【００５０】
ユーザ検出カメラ１００は、映像表示装置１１２が備える画面１１１の近傍に設置され、画面前方に位置するユーザを撮像する。
【００５１】
指示入力装置１０は、ユーザ検出カメラ１００を用いて撮像された画像情報の解析により検出されるユーザの位置、動き、又は身体の姿勢に基づいて、映像表示装置１１２を制御する。
【００５２】
なお、指示入力装置１０は、座標入力リモコン１０５を保持したユーザの手の位置や動き、同リモコン上に配置されたボタンの押下といったユーザのリモコンの操作に基づき、映像表示装置１１２を制御してもよい。
【００５３】
また、指示入力装置１０は、その他の機器、例えば携帯電話を保持したユーザの手の位置や動き、同携帯電話上に配置されたボタンの押下といった操作に基づき、映像表示装置１１２を制御してもよい。
【００５４】
また、映像表示装置１１２はルータ／ハブなどを介してインターネットに接続されており、インターネット上から取得したデジタル情報を表示することができる。
【００５５】
また、図１には示していないが、映像表示装置１１２が有する複数のスピーカーは、映像表示装置１１２の上端と下端、あるいは左端と右端というように離れて配置されてもよい。
【００５６】
図２は、本発明の実施の形態１における指示入力装置の構成例を示す図である。
【００５７】
ユーザ検出カメラ１００は、画面１１１の前方に存在するユーザを撮像し、撮像によって得られた画像を指示入力装置１０に送信する。
【００５８】
指示入力装置１０は、ユーザによるポインティング操作に基づいて、画面上に表示するポインタの表示位置を算出する。指示入力装置１０は、ユーザ位置検出部１０１、第１方向検出部１０２、第２方向検出部１０３、および座標入力検出部１０４を備える。さらに、指示入力装置１０は、注視位置算出部１０６、基準座標群算出部１０７、オフセット量算出部１０８、およびポインタ表示位置算出部１０９を備える。
【００５９】
座標入力リモコン１０５は、三次元座標入力装置の一例である。座標入力リモコン１０５は、ユーザに把持された状態で当該座標入力リモコン１０５の位置を出力する。座標入力リモコン１０５は、ボタン入力部１０５１と位置検出部１０５２とを備える。
【００６０】
映像表示装置１１２は、表示部１１０と画面１１１とを備える。表示部１１０は、ポインタ表示位置算出部１０９によって算出された画面１１１上の表示位置にポインタを表示する。
【００６１】
＜動作＞
以下、図２における各ブロックの機能を説明する。
【００６２】
＜ユーザ検出カメラ＞
ユーザ検出カメラ１００は、映像表示装置１１２に設置され、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）などのイメージセンサを備える。ユーザ検出カメラ１００は、画面１１１の前方に存在するユーザを撮像する。
【００６３】
＜ユーザ位置検出部＞
ユーザ位置検出部１０１は、ユーザ検出カメラ１００により撮像される複数の画像からユーザ領域の抽出を行った後、複数の画像におけるユーザ領域の対応関係から、ステレオ視の原理により、画面１１１に対するユーザの顔または頭の相対位置を算出する。
【００６４】
図３Ａおよび図３Ｂは、本発明の実施の形態１におけるユーザ位置検出部１０１がステレオ視の原理に基づいてユーザの位置を算出する方法を示す図である。
【００６５】
図３Ａに示すように、２台一組のユーザ検出カメラ１００が互いに間隔Ｂだけ離れ、画面１１１に対して平行に設置される。ユーザ位置検出部１０１は、それぞれのユーザ検出カメラ１００でほぼ同時に撮像された２つの画像内の対応するユーザ領域の位置ずれを基に、ユーザと画面１１１との距離Ｄを算出する。各ユーザ検出カメラ１００で撮像された画像内におけるユーザが写っている領域（ユーザ領域）の抽出は、例えば、あらかじめユーザのいない状態でそれぞれのユーザ検出カメラ１００で撮像された画像を保存しておき、ユーザが現れたときの画像との差分を求めることにより実現できる。また、ユーザ位置検出部１０１は、顔画像検出によりユーザの顔領域を求め、前記顔領域をユーザ領域として抽出することもできる。
【００６６】
図３Ｂは、二つの画像上の対応するユーザ領域を基に、ユーザとカメラ設置面（画面１１１）との距離Ｄを求めるステレオ視の原理を示す図である。２台のユーザ検出カメラ１００で撮像された画像それぞれで対応するユーザ領域を位置測定対象とすると、そのユーザ領域の像は二つの撮影面（画像）上に、図３Ｂに示すように投影される。対応する像の画像上のずれをＺとすると、ユーザ検出カメラ１００の焦点距離ｆとユーザ検出カメラ１００の光軸間の距離Ｂとから、ユーザと画面１１１との距離Ｄは、Ｄ＝ｆ×Ｂ／Ｚによって求められる。また、画面１１１に平行な方向のユーザ位置については、画像中のユーザ領域の位置と上記の距離Ｄを基に求めることができる。このようにして求めた画面１１１に対するユーザの相対的な位置がユーザ位置検出部１０１から出力される。
【００６７】
なお、ユーザ検出カメラ１００として、光波測距（Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ）の原理により距離情報を出力する距離画像センサなど用いると、ユーザ位置検出部１０１は、その距離情報を用いることにより容易に画面１１１に対するユーザの相対位置を算出することができる。この場合、ユーザ検出カメラ１００は、１台であってもよい。
【００６８】
＜第１方向検出部＞
第１方向検出部１０２は、ユーザ検出カメラ１００により撮像された画像から、視線の方向（以下、「視線方向」ともいう）を、ユーザが見ている方向を示す第１の方向として検出する。
【００６９】
図４Ａ〜図５Ｃは、本発明の実施の形態１における第１方向検出部１０２における視線検出方法を示す図である。
【００７０】
視線方向は、顔の向き（以下、「顔向き」ともいう）と、目の中の黒目部分の方向（以下、「黒目の向き」又は「黒目方向」ともいう）との組み合わせを基に計算される。そこで、第１方向検出部１０２は、まず人物の三次元の顔向きを推定し、次に黒目の向きの推定を行い、２つを結合して視線方向を計算する。
【００７１】
図４Ａに示すように、第１方向検出部１０２は、ユーザ検出カメラ１００で撮像された画像から、まずは顔向きの推定を行う。顔向きは、例えば図４Ｂおよび図５Ａを用いて以下に説明する方法を用いることで推定できる。
【００７２】
図４Ｂは、視線方向の推定方法の全体の流れを示すフローチャートである。本実施の形態では、あらかじめ、検出された顔領域における目、鼻および口などの顔部品特徴点の領域をいくつかの顔向きごとに用意する。図５Ａの例では、顔向き正面および左右±２０度における顔部品特徴点の領域を用意している。また、各顔部品特徴点周辺領域を切り出したテンプレート画像を用意しておく。
【００７３】
まず、ユーザ検出カメラ１００が画面１１１の前方に存在するユーザを撮像する（Ｓ２０１）。そして、第１方向検出部１０２は、撮像された画像から顔領域の検出を行う（Ｓ２０２）。次に、第１方向検出部１０２は、検出された顔領域に対し、各顔向きに対応した顔部品特徴点の領域（顔部品領域）を当てはめ（Ｓ２０３）、各顔部品特徴点の領域画像（顔部品領域画像）を切り出す。第１方向検出部１０２は、切り出された領域画像と、あらかじめ用意したテンプレート画像の相関を計算し（Ｓ２０４）、各顔向きの角度に対して相関の比で重み付けを行い、重み付けされた各顔向きの角度の和（重み付け和）を求め、その和を検出顔の顔向きとする（Ｓ２０５）。図５Ａの例では、顔向き「＋２０度」に対する相関が０．８５、「０度（正面向き）」に対する相関が０．１４、「−２０度」に対する相関が０．０１であるので、顔向きは２０×０．８５＋０×０．１４−２０×０．０１＝１６．８度と算出される。
【００７４】
ここでは各顔部品領域を相関計算の対象としたが、これに限らず例えば顔領域全体を相関計算の対象としてもよい。またその他の方法としては、顔画像から目、鼻および口などの顔部品特徴点を検出し、顔部品特徴点の位置関係から顔の向きを計算する方法が知られている。顔部品特徴点の位置関係から顔向きを計算する方法としては、１つのカメラから得られた顔部品特徴点に最も一致するように、あらかじめ用意した顔部品特徴点の三次元モデルを回転、拡大または縮小してマッチングし、得られた三次元モデルの回転量から顔向きを計算する方法がある。また、２台のカメラを用いたステレオ視の原理を用いて、左右のカメラにおける顔部品特徴点の位置の画像上のずれから各顔部品特徴点の三次元位置を計算し、得られた顔部品特徴点の位置関係から顔の向きを計算する方法がある。例えば、両目および口の三次元座標点で張られる平面の法線方向を顔の向きとする、などの方法が知られている。
【００７５】
第１方向検出部１０２は、顔向きが決定した後、黒目の向きの推定を行う。黒目方向は、例えば以下の方法を用いることで推定できる。黒目方向の推定方法の概要を図４Ｂ、図５Ｂおよび図５Ｃを用いて説明する。
【００７６】
まず、視線方向基準面の算出に関して説明する。本手法における視線方向基準面とは、視線方向を算出する際に基準となる面のことで、顔の左右対称面と同一である。本手法では、目頭が、目尻や口角、眉などの他の顔部品に比べて表情による変動が少なく、また誤検出が少ないことを利用し、第１方向検出部１０２は、顔の左右対称面を目頭の三次元位置から算出する。
【００７７】
第１方向検出部１０２は、ステレオカメラで撮像した２枚の画像に対して、顔検出モジュールと顔部品検出モジュールとを用いて目頭を検出し、これらをステレオ計測することで、目頭の三次元位置を計測する（Ｓ２０６）。図５Ｂに示すように、視線方向基準面は検出した左右の目頭を端点とする線分の垂直二等分面として取得される。
【００７８】
次に、黒目中心の検出に関して説明する。人が見ているものは、瞳孔から入った光が網膜に届き、電気信号となって脳に伝達されたものである。したがって、視線方向を検出する場合には、瞳孔の動きを見ればよい。しかし、日本人の場合、虹彩が黒または茶色のため、画像上では瞳孔と虹彩の判別が付きにくい。そこでここでは、瞳孔の中心と黒目（虹彩）の中心とがほぼ一致することから、第１方向検出部１０２は、瞳孔の中心の代わりに黒目中心の検出を行う。第１方向検出部１０２は、まず目尻と目頭とを検出し、図５Ｃの（ｃ−１）に示すように、目尻と目頭とを含む目領域から輝度が最小となる領域を、黒目領域として検出する。次に、第１方向検出部１０２は、図５Ｃの（ｃ−２）に示すように、第１領域および第２領域からなる黒目中心検出フィルタを黒目領域に設定し、第１領域内の画素の輝度と第２領域内の画素の輝度との領域間分散が最大となるような円中心を探索し、これを黒目中心とする。最後に先ほどと同様に、第１方向検出部１０２は、黒目中心の三次元位置をステレオ計測によって取得する（Ｓ２０７）。
【００７９】
さらに、視線方向の検出に関して説明する。第１方向検出部１０２は、算出した視線方向基準面と、黒目中心の三次元位置とを用いて、顔正面に対する視線方向（黒目の向き）を検出する。人の眼球直径は成人の場合はほとんど個人差がないことが知られており、日本人の場合約２４ｍｍである。したがって、基準となる方向（たとえば正面）を向いたときの黒目中心の位置が分かっていれば、そこから現在の黒目中心位置までの変位を求めることで、顔正面に対する視線方向（黒目の向き）を算出することができる。従来手法では基準となる方向を向いた時の黒目中心の位置が既知ではないため、キャリブレーションを必要としていた。これに対し、本手法では、正面を向いたときは、左右の黒目中心の中点が顔の中心、すなわち視線方向基準面上に存在することを利用し、左右の黒目中心の中点と視線方向基準面との距離を計測することで、顔正面に対する視線方向（黒目の向き）を計算する（Ｓ２０８）。
【００８０】
この手法では、顔正面に対する視線方向（黒目の向き）は、顔正面に対する左右方向の回転角θとして取得される。回転角θは、以下の（式１）で求められる。
【００８１】
【数１】
2011158511.tif 000003
Ｒ：眼球半径（１２ｍｍ）
ｄ：視線方向基準面と、左右の黒目中心の中点との間の距離
【００８２】
第１方向検出部１０２は、以上の手順に基づいて算出した顔の三次元向きと顔における黒目の向きとを合わせることで、実空間における視線方向の検出を行い（Ｓ２０９）、前記視線方向を第１の方向として出力する。
【００８３】
なお、第１方向検出部１０２が出力する第１の方向は、視線の方向に限定されるものではない。例えば、第１方向検出部１０２は、顔向きをユーザが見ている方向を示す第１の方向として出力してもよい。つまり、第１方向検出部１０２は、ユーザの身体の姿勢に基づいて、当該ユーザが見ている方向である第１の方向を検出すればよい。すなわち、第１の方向は、厳密にユーザが見ている方向である必要はなく、ユーザが見ていると推定される方向であってもよい。
【００８４】
＜第２方向検出部＞
第２方向検出部１０３は、ユーザ検出カメラ１００により撮像された画像から、ユーザの身体の向き（以下、「身体向き」ともいう）を、ユーザがポインティング操作を行なう方向を示す第２の方向として検出する。
【００８５】
図６Ａは、本発明の実施の形態１における第２方向検出部１０３における身体向き検出方法を示すフローチャートである。なお、本手法における身体向きとは、図６Ｂの（ｂ−１）における黒い点線矢印で示されるような、肩と肩を結ぶ直線の方向のことである。
【００８６】
身体向きは、人物領域全体から顔領域、手領域および下半身領域を除いた上半身の領域（身体領域）の向きを基に計算される。
【００８７】
まず、図６Ａに示すように、ユーザ検出カメラ１００は、画面１１１の前方に存在するユーザを撮像する（Ｓ３０１）。第２方向検出部１０３は、撮像された画像から人物領域の検出を行う（Ｓ３０２）。人物領域の検出は、例えば、前述したようなユーザのいない状態の画像とユーザが現れた状態の画像との差分を用いる方法により実現できる。次に、第２方向検出部１０３は、検出された人物領域に対して顔領域の検出（Ｓ３０３）と手領域の検出（Ｓ３０４）とを行う。そして、第２方向検出部１０３は、顔領域の検出結果から、ステレオ計測により顔領域の三次元位置の計算を行い、あらかじめ用意した身長と上半身長の対応関係が格納されたデータベースに基づき人物領域から下半身の領域を除去する。さらに、第２方向検出部１０３は、顔領域と手領域の周辺領域を除去して上半身の領域の検出を行う（Ｓ３０５）。手領域の検出の具体的な方法については、後述の座標入力検出部１０４で説明する。
【００８８】
第２方向検出部１０３は、２台のカメラで撮像された画像それぞれに対して上半身の領域を検出した後、ステレオ計測により上半身の領域に含まれる各画素の三次元位置の計算を行い（Ｓ３０６）、各画素の三次元位置から身体向きの推定を行う（Ｓ３０７）。身体向きは、例えば以下の方法を用いることで推定できる。推定方法の概要を、図６Ｂを用いて説明する。
【００８９】
まず、図６Ｂの（ｂ−１）のように検出された上半身の領域に含まれる各画素の三次元位置を、ユーザの立っている床と同じ平面にそれぞれ図６Ｂの（ｂ−２）のように投影する。次に、投影された平面に対して図６Ｂの（ｂ−３）のように最小自乗法を用いて直線の向きを計算し、その方向を身体向きとして検出する。そして、第２方向検出部１０３は身体向きを第２の方向として出力する。
【００９０】
このように、第２方向検出部１０３は、ユーザの身体の姿勢に基づいて、ユーザがポインティング操作を行なう方向である第２の方向を検出する。ここで、ユーザがポインティング操作を行なう方向とは、ポインティング操作として、ユーザが身体正面付近にて自然に手を動かす方向である。
【００９１】
なお、ここでは最小自乗法を用いたが、これに限らず、第２方向検出部１０３は、ハフ（Ｈｏｕｇｈ）変換などの直線検出方法を用いて直線の向きを計算してもよい。また、第２方向検出部１０３は、床平面への投影を行わず、各画素の三次元位置情報に対して三次元ハフ変換などの手法を用いることにより、身体向きを検出してもよい。
【００９２】
なお、本手法では、第２方向検出部１０３は、上半身領域の向きに基づいて身体向き検出を行ったが、顔領域検出や手領域検出結果と身体関節モデルとに基づく逆運動学解法によって身体の向きを検出してもよい。
【００９３】
また、上述した第２方向検出部１０３は、身体向きを第２の方向として検出したが、ユーザが映像表示装置１１２に対して指示入力を行う際の手の動きは、画面１１１の方向にも影響され、身体向きと画面の向き（画面に平行な方向）の中間的な方向の動きとなる。そのため、第２方向検出部１０３は、ユーザの身体の姿勢に加え、更にそのユーザの位置に対する画面１１１の方向に基づいて、第２の方向を検出してもよい。例えば、第２方向検出部１０３は、身体向きと画面１１１の向きとの平均値を第２の方向として出力（検出）する。これにより、第２方向検出部１０３は、ユーザの位置と画面の位置との位置関係に適応した方向を、第２の方向として検出することができる。また、第２方向検出部１０３は、例えば身体向きと画面の向きとによるユーザの手を動かす方向をあらかじめ学習した結果を保持しておき、保持している学習結果を利用して、第２の方向を検出してもよい。これにより、第２方向検出部１０３は、さらにユーザの動きに適応した方向を、第２の方向として検出することができる。
【００９４】
＜座標入力検出部＞
座標入力検出部１０４は、ユーザ検出カメラ１００による撮像によって取得された画像に基づいて、ユーザの手の三次元位置を示す座標を入力座標として検出する。なお、本実施の形態では、座標入力検出部１０４が入力座標検出部として構成されている。
【００９５】
図７Ａおよび図７Ｂは、本発明の実施の形態１における座標入力検出部１０４における手検出方法を示す図である。
【００９６】
図７Ａに示すように、座標入力検出部１０４は、ユーザ検出カメラ１００で撮像された画像から、まずは顔領域を検出し、顔領域の周辺で手の領域の検出を行う。手領域検出の方法としては、例えば以下の方法がある。以下、図７Ｂを用いて手領域検出の方法を説明する。
【００９７】
まずオフライン処理として、座標入力検出部１０４は、検出したい手の学習画像を大量に用意する（Ｓ４０１）。学習画像における照明環境および向きなどの条件は、実際に検出する環境になるべく沿った条件のものに揃える。次に、座標入力検出部１０４は、用意した学習画像から、主成分分析を用いて手の主成分を構成する固有空間を作成する（Ｓ４０２）。また、座標入力検出部１０４は、検出したい手のサンプルとして手のテンプレート画像を用意する。テンプレート画像は、用意した手の平均画像でもよいし、グーおよびパーなどのいくつかの状態の手の画像でもよいし、左手と右手の画像でもよい。座標入力検出部１０４は、作成した固有空間への射影行列および、手のテンプレート画像を手テンプレートデータベースに格納する（Ｓ４０３）。
【００９８】
次に、実際の検出を行うオンライン処理について説明する。
【００９９】
まず、ユーザ検出カメラ１００は、画面１１１の前方に存在するユーザを撮像する（Ｓ４０４）。座標入力検出部１０４は、撮像した画像から顔領域の検出を行う（Ｓ４０５）。
【０１００】
顔領域が検出されると、座標入力検出部１０４は、その顔領域の周辺の探索領域で手の検出を行う。座標入力検出部１０４は、顔の周辺領域において、用意した手のテンプレート画像に類似した領域を、手テンプレートデータベースに格納した手のテンプレート画像を用いて走査する（Ｓ４０６）。顔の周辺領域は、顔位置を基準としたあらかじめ設定したサイズの範囲の領域でよい。また、カメラを２つ用いたステレオ計測により顔の周辺領域のうち顔と奥行き距離が近い領域のみを走査して、探索範囲を削減してもよい。また、ここでは、座標入力検出部１０４は、顔の周辺領域から手の検出を行うが、これに限らず、人物領域の周辺から手の検出を行ってもよい。マッチングを行うための類似度の計算としては、ここではまず切り出した手の候補領域画像と、手のテンプレート画像とを、あらかじめ用意した固有空間への射影行列を使って固有空間に射影し、固有空間上で両者の距離を比較する。手の主成分を表す空間上で距離を比較することで背景などノイズの影響を低減した検出が可能である。座標入力検出部１０４は、探索領域内で、距離があらかじめ定められた閾値を満たし、かつ最も手のテンプレート画像に近い距離が得られた領域を手領域として検出する（Ｓ４０７）。
【０１０１】
探索領域内で距離が閾値を満たす領域が無い場合には、座標入力検出部１０４は、手を出していないものとして検出を終了する。
【０１０２】
座標入力検出部１０４は、２つのユーザ検出カメラ１００で撮像された画像のそれぞれに対して上記の手領域の検出を行い、ステレオ計測により手の三次元位置を計算して手の入力座標として出力する。また、前記オフライン処理において左右の手の画像を用意する場合には、座標入力検出部１０４は、左右どちらの手のテンプレート画像にマッチングしたかに基づいて、手の左右識別情報を合わせて出力してもよい。また、座標入力検出部１０４は、更に、ユーザ検出カメラ１００による撮像によって取得された画像に基づいて、ユーザの右手および左手を識別し、識別された左右の手ごとに入力座標を検出してもよい。この場合には、右手の入力座標および左手の入力座標のそれぞれに対してポインタが画面１１１に表示される。
【０１０３】
なお、この例では手領域検出にテンプレートマッチングの手法を用いたが、その他の手検出手法、例えばブースティング（Ｂｏｏｓｔｉｎｇ）などの手法を用いてもよい。
【０１０４】
また、ユーザが指示入力する際には画面１１１の方向に手を差し出す動作を行うため、２つのカメラを用いたステレオ計測による距離情報に基づいて、例えば、顔領域や身体領域よりも画面１１１側にある領域を手として検出する手法を用いてもよい。
【０１０５】
また、座標入力検出部１０４は、ユーザ検出カメラ１００から取得された画像に基づく手領域検出方法に限らず、座標入力検出部１０４は、図２の構成例に示すような座標入力リモコン１０５の位置座標に基づいて手の位置を検出してもよい。以下、図８Ａおよび図８Ｂを用いて本発明の実施の形態１における座標入力リモコン１０５による手の位置の検出方法を説明する。
【０１０６】
図８Ａに示すように、ユーザは座標入力リモコン１０５を手に把持した状態で、座標入力操作を行うことができる。 
【０１０７】
図８Ｂは、座標入力リモコン１０５の構成を示す図である。この座標入力リモコン１０５は、把持するユーザの手の動きなどを検出するモーションセンサと、モーションセンサの出力から座標入力リモコン１０５の位置を検出する位置検出部１０５２とを備える。また、図８Ｂに示すように、座標入力リモコン１０５はその表面にボタンを備えてもよい。
【０１０８】
座標入力リモコン１０５に備えられるモーションセンサは、加速度センサ、角加速度センサ（レートジャイロ）、および地磁気センサ（電子コンパス）のいずれか、もしくは２つ以上の組み合わせにより構成される。例えば、加速度センサは、所定の軸に対する加速度を検知するものであり、図８Ｂに示すようなＸ軸、Ｙ軸およびＺ軸の直交する３軸の各軸に対して加速度を検知するものである。そして、ユーザが座標入力リモコン１０５を把持した状態で手首や腕を動かし座標入力リモコン１０５の位置が変更されると、位置検出部１０５２はモーションセンサの出力値に基づいて座標入力リモコン１０５の位置座標を計算し、座標入力検出部１０４に出力する。座標入力検出部１０４は、座標入力リモコン１０５によって出力された位置座標を上述の入力座標として検出する。
【０１０９】
また、座標入力リモコン１０５は、ボタン入力部１０５１によりボタンが押下されたことを検知した場合のみ、座標入力リモコン１０５の位置座標を出力するようにしてもよい。
【０１１０】
＜注視位置算出部＞
注視位置算出部１０６は、ユーザ位置検出部１０１により検出されるユーザの位置と、第１方向検出部１０２により検出される第１の方向とに基づいて、画面上のユーザの注視位置の算出を行う。
【０１１１】
図９は、本発明の実施の形態１における注視位置算出部１０６によるユーザの画面上の注視位置の算出方法を示す図である。なお、この図９では、ユーザと画面１１１との位置関係が正面および上から示されている。注視位置算出部１０６は、ユーザの顔の位置を基準とする視線方向もしくは顔向きのベクトルが、画面１１１と交わる位置を求めることにより、ユーザが画面１１１上で注視している注視位置を算出することができる。
【０１１２】
＜基準座標群算出部＞
基準座標群算出部１０７は、ユーザ位置検出部１０１により検出されるユーザの位置と、第１方向検出部１０２により検出される第１の方向とに基づいて、注視位置に対応する線であってユーザと画面１１１とを結ぶ空間上の基準線を基準座標群として算出する。つまり、本実施の形態では、基準座標群算出部１０７が基準線算出部として構成されている。また、基準線は、複数の基準座標（基準座標群）の配列によって示される線である。
【０１１３】
図１０は、本発明の実施の形態１における基準座標群算出部１０７による空間上の基準座標群の算出方法を示す図である。なお、図１０では、図９と同様に、ユーザと画面１１１との位置関係が正面および上から示されている。本手法における基準座標群とは、注視位置算出部１０６で算出される画面１１１上のユーザの注視位置に対応する、空間上の座標群である。基準座標群算出部１０７は、ユーザの顔の位置を基準とする視線方向もしくは顔向きのベクトルを、図１０の黒い実線矢印のように基準座標群として算出する。つまり、基準座標群算出部１０７は、ユーザの位置から第１の方向に伸びる直線上の位置を示す座標の集合を基準座標群として算出する。
【０１１４】
なお、上記手法では、基準座標群算出部１０７は１種類のみの基準座標群を算出しているが、画面上のユーザの注視位置に対応する空間上の座標群は左右の手で多少違いがある。そのため、２種類以上の基準座標群を算出してもよい。例えば、ユーザの顔の位置より１０ｃｍ程度右の位置を基準とする視線方向のベクトルを右手用の基準座標群として算出し、１０ｃｍ程度左の位置を基準とする視線方向のベクトルを左手用の基準座標群として算出するなどしてもよい。つまり、基準座標群算出部１０７は、ユーザの位置と予め定められた距離だけ第２の方向に離れた位置から第１の方向に伸びる直線上の位置を示す座標の集合を基準座標群として算出してもよい。
【０１１５】
＜オフセット量算出部＞
オフセット量算出部１０８は、基準座標群算出部１０７により算出される基準座標群と、第２方向検出部１０３により検出される第２の方向と、座標入力検出部１０４により検出される手の位置座標（入力座標）に基づいて、画面１１１上のユーザの注視位置からのオフセット量を算出する。つまり、オフセット量算出部１０８は、基準線（基準座標群）と入力座標との間の第２の方向の距離を、画面１１１に沿った第１の画面規定方向の注視位置に対するオフセット量として算出する。ここで、第１の画面規定方向は、例えば水平方向である。さらに、オフセット量算出部１０８は、基準線（基準座標群）と入力座標との間の第３の方向の距離を、画面１１１に沿った第２の画面規定方向の注視位置に対する他のオフセット量として算出する。ここで、第３の方向は、第１および第２の方向と異なる方向であり、例えば鉛直方向である。また、第２の画面規定方向は、第１の画面規定方向とは異なる方向であり、例えば第１の画面規定方向に垂直な方向（鉛直方向）である。
【０１１６】
図１１Ａは、本発明の実施の形態１におけるオフセット量算出部１０８による画面１１１上のオフセット量の算出方法を示す図である。なお、図１１Ａでは、図９と同様に、ユーザと画面１１１との位置関係が正面および上から示されている。オフセット量算出部１０８は、基準座標群と手の位置座標との三次元空間的な位置関係を、二次元平面上の位置関係に変換することにより、画面１１１上のユーザの注視位置からのオフセット量を算出する。以下、オフセット量算出方法の概要について、図１１Ｂを用いて説明する。
【０１１７】
図１１Ｂの（ｂ−１）は、オフセット量算出方法を示すフローチャートである。ユーザが手を動かしながら指示入力により画面１１１上のポインタを操作しようとする場合、ユーザは主に身体向きと平行な方向に手を移動させる。そこでまず、図１１Ｂの（ｂ−２）に示すように、オフセット量算出部１０８は、ユーザ位置検出部１０１により検出されるユーザの頭の位置を原点、第１方向検出部１０２により検出される視線方向（第１の方向）を第１軸とし、第２方向検出部１０３により検出される身体向き（第２の方向）を第２軸とし、鉛直方向を第３軸とする、三次元座標空間を作成する（Ｓ５０１）。次に、オフセット量算出部１０８は、座標入力検出部１０４により検出される手の位置座標である入力座標を、作成された三次元座標空間における座標に変換して、変換後座標を生成する。そして、オフセット量算出部１０８は、基準座標群算出部１０７により算出された基準座標群の中から、変換後座標と第１軸に関する座標値が一致する座標を基準座標として選択する（Ｓ５０２）。そして、オフセット量算出部１０８は、変換後座標と基準座標との第２軸方向および第３軸方向における距離をそれぞれ、画面１１１上のユーザの注視位置からの水平方向（第１の画面規定方向）のオフセット量および鉛直方向（第２の画面規定方向）のオフセット量として算出する（Ｓ５０３）。
【０１１８】
このように、オフセット量算出部１０８は、基準座標群の中から、第１の方向において入力座標に対応する座標を基準座標として選択する。そして、オフセット量算出部１０８は、選択した基準座標と入力座標との第２の方向および鉛直方向における距離に基づいて、画面１１１上の注視位置に対するオフセット量を算出する。すなわち、オフセット量算出部１０８は、入力座標が示す位置とユーザの位置との第２の方向および鉛直方向の距離に基づいて、画面１１１上の注視位置に対するオフセット量を算出する。
【０１１９】
なお、上記手法では、オフセット量算出部１０８は、鉛直方向を第３軸として三次元座標空間を作成しているが、これに限らず、ユーザの頭から腹部に向かう方向を検出し、この方向を第３軸として三次元座標空間を作成してもよい。
【０１２０】
＜ポインタ表示位置算出部＞
ポインタ表示位置算出部１０９は、注視位置算出部１０６により算出されるユーザの画面１１１上の注視位置と、オフセット量算出部１０８により算出される画面１１１上のオフセット量とに基づいて、座標入力検出部１０４により検出されるユーザの手の位置に対応する画面１１１上のポインタの表示位置を算出する。つまり、ポインタ表示位置算出部１０９は、注視位置からオフセット量だけ画面上を移動した位置を表示位置として算出する。具体的には、ポインタ表示位置算出部１０９は、画面１１１上において、注視位置との間の水平方向（第１の画面規定方向）の距離が上述の水平方向のオフセット量となる位置であって、且つ、注視位置との間の鉛直方向（第２の画面規定方向）の距離が上述の鉛直方向のオフセット量（他のオフセット量）となる位置を、画面１１１上に表示するポインタの表示位置として算出する。
【０１２１】
以上のように、本実施の形態における指示入力装置１０によれば、ユーザが見ている方向とユーザがポインティング操作を行なう方向とに基づいてポインタの表示位置を算出することができる。したがって、指示入力装置１０は、ユーザが見ている方向に差し出した手とそれに対応する画面上のポインタとの位置関係が変化しないようにすることが可能となる。さらに、指示入力装置１０は、ユーザの手の移動量に対する画面上のポインタの移動量が変化しないようにポインタの表示位置を算出することも可能となる。その結果、ユーザが直感的に理解および操作しやすい指示入力装置を実現することができる。
【０１２２】
図１１Ｃおよび図１１Ｄは、本実施の形態における指示入力装置１０の効果を説明するための図である。
【０１２３】
例えば、ユーザは、見ている方向（第１の方向）に沿った第１軸上に手を差し出す。この場合、従来の指示入力装置では、その第１軸上の手の位置に応じてポインタの表示位置が変わってしまう。そこで、本実施の形態における指示入力装置１０は、図１１Ｃに示すように、基準線と手の位置である入力座標との間の第２の方向の距離を、水平方向の注視位置に対するオフセット量として算出し、画面上において、その注視位置との間の水平方向の距離がそのオフセット量となる位置を、画面上に表示するポインタの表示位置として算出する。そのため、ユーザが基準線である第１軸上に手を差し出せば、その基準線上の手の位置に関わらず、オフセット量は０となり、画面上の同じ位置（注視位置）にポインタを表示することができる。
【０１２４】
また、例えば図１１Ｃに示すように、ユーザは、第１軸上の第１位置に差し出した手を、第１軸から外れた第２位置に動かし、さらに、第１軸上の第３位置に手を動かす。この場合、ユーザは、見ている方向（第１の方向）に沿った第１軸上に手を戻すため、手が第１位置にあるときのポインタの表示位置１に、そのポインタが戻ることを想定する。しかし、従来の指示入力装置では、ポインタが表示位置１に戻らないことがある。つまり、従来の指示入力装置は、手の動いた距離だけポインタを動かそうとするため、第１位置と第２位置の間の距離が、第２位置と第３位置の間の距離よりも短ければ、画面上のポインタは、表示位置１から表示位置２に移動した後、元の表示位置１を通り過ぎて表示位置３まで移動してしまう。そこで、本実施の形態における指示入力装置１０は、上述のように、基準線と手の位置である入力座標との間の第２の方向の距離を、水平方向の注視位置に対するオフセット量として算出し、画面上において、その注視位置との間の水平方向の距離がそのオフセット量となる位置を、画面上に表示するポインタの表示位置として算出する。その結果、上述のようにユーザが手を動かしても、画面上のポインタを、表示位置１（注視位置）から表示位置２ａに移動させ、元の表示位置１（注視位置）に戻すことができる。このように、本実施の形態では、ユーザが見ている方向に差し出した手とそれに対応する画面上のポインタとの位置関係が変化しないようにポインタの表示位置を算出することができる。
【０１２５】
また、図１１Ｃに示す例では、視線方向である第１の方向と、身体向きである第２の方向との間の角度は垂直になっている。しかし、本実施の形態における指示入力装置１０では、図１１Ｄに示すように、第１の方向と第２の方向との間の角度が垂直になっていない場合でも、上述と同様の効果を奏することができる。つまり、本実施の形態における指示入力装置１０では、身体向きに対して視線向きがずれるような場合、または、視線向きに対して身体向きがずれるような場合であっても、これらの向きのずれに配慮してポインタの表示位置が算出される。その結果、身体向きに大きく影響されるユーザの手の移動量と、画面上のポインタの移動量との対応関係が変化しないように、言い換えれば、手の移動量とポインタの移動量とが一致または略一致するように、ポインタの表示位置を算出することができる。これにより、ユーザが直感的に理解および操作しやすい指示入力装置を実現することができる。
【０１２６】
なお、本実施の形態における指示入力装置１０では、画面上の水平方向のオフセット量だけでなく、鉛直方向のオフセット量も水平方向と同様に算出するため、鉛直方向のポインタの表示に対しても、上述のような水平方向のポインタの表示の効果と同様の効果を奏する。
【０１２７】
（実施の形態２）
次に、本発明の実施の形態２について説明する。
【０１２８】
＜構成＞
図１２は、本発明の実施の形態２における指示入力装置６０の構成例を示す図である。本実施の形態に係る構成は図２に示した実施の形態１に係る構成と概ね同じであるが、ユーザ情報ＤＢ（データベース）６１２を備える点が異なる。以下では、ユーザ情報ＤＢ６１２に基づいて動作する構成要素についてのみ説明し、実施の形態１と同じ構成要素（図２と同一符号の構成要素）については詳しい説明を省略する。
【０１２９】
図１３は、ユーザ情報ＤＢ（データベース）６１２のデータ構造の概略を示す図である。指示入力装置６０はユーザ情報ＤＢ６１２を備え、ユーザ情報ＤＢ６１２は、身体特徴情報やユーザ属性情報などを格納するデータベースである。
【０１３０】
ユーザ情報ＤＢ６１２に格納される身体特徴情報は、人の平均的な身体寸法を示し、具体的には、頭の高さに対する胸の高さ、肩幅や腕の長さの情報などを含む。また、座位時の頭の高さに対する胸の高さの情報を含むこととしてもよい。
【０１３１】
ユーザ情報ＤＢ６１２に格納されるユーザ属性情報は、あらかじめ登録されたユーザごとの身体寸法を示し、具体的には、登録されたユーザそれぞれの頭の高さ、胸の高さ、肩幅、腕の長さの情報などを含む。また、座位時の頭の高さや胸の高さの情報を含むこととしてもよい。さらに、身体寸法の情報に加え、ユーザの利き目や視力などの情報を含むこととしてもよい。このように、ユーザ情報ＤＢ６１２は、ユーザの頭の位置と胸の位置との対応関係を示す情報、ユーザの頭の位置と腕の長さとの対応関係を示す情報、ユーザごとの胸の位置を示す情報、または、ユーザごとの腕の長さを示す情報を格納する。
【０１３２】
＜動作＞
以下、図１２における基準座標群算出部６０７とオフセット量算出部６０８との機能を説明する。
【０１３３】
＜基準座標群算出部＞
基準座標群算出部６０７は、ユーザ位置検出部１０１により検出されるユーザの位置と、第１方向検出部１０２により検出される第１の方向と、ユーザ情報ＤＢ６１２から取得される胸の高さの情報（ユーザの頭の位置と胸の位置との対応関係を示す情報）とに基づいて、空間上の基準座標群を算出する。
【０１３４】
図１４Ａは、本発明の実施の形態２における基準座標群算出部６０７による複数の基準座標の算出方法を示す図である。なお、この図１４Ａでは、ユーザと画面１１１との位置関係が正面および上から示されている。ユーザの視線の方向にポインタが表示されている場合、視線の先に手を差し出してしまうと画面上のポインタを隠してしまうため、その少し下の位置に手を差し出す方がユーザにとって自然な姿勢である。したがって、基準座標群算出部６０７は、ユーザ位置検出部１０１により検出されるユーザの頭の位置に基づいて、ユーザ情報ＤＢ６１２に格納される身体特徴情報からユーザの胸の位置（高さ）を取得し、ユーザの胸の位置を基準とする視線方向もしくは顔向きのベクトル上の位置を示す座標の集合を、図１４Ａの黒い実線矢印のように基準座標群（基準線）として算出する。
【０１３５】
なお、上記手法では、基準座標群算出部６０７は、ユーザの胸の位置を基準とする視線方向のベクトル上の位置を示す複数の座標の集合を基準座標群として算出したが、ユーザの胸の位置と画面１１１上の注視位置を結ぶ直線を基準座標群として算出するなどしてもよい。また、直線に限らずに曲線を基準座標群として算出してもよい。
【０１３６】
また、上記手法では、基準座標群算出部６０７は、ユーザの頭の位置に基づいて、ユーザ情報ＤＢ６１２に格納される人の平均的な身体寸法の情報である身体特徴情報から胸の位置を取得しているが、これに限らずに胸の位置を取得してもよい。例えば、図１６に示すように、指示入力装置６０は、ユーザ検出カメラ１００により撮像される画像とあらかじめ登録された顔画像との照合を行うことでユーザを識別するユーザ識別部６１３を備える。基準座標群算出部６０７は、ユーザ識別部６１３による識別結果を示すユーザ識別情報に基づいて、ユーザ情報ＤＢ６１２に格納されるあらかじめ登録されているユーザごとのユーザ属性情報からユーザの胸の位置を取得する。その結果、基準座標群算出部６０７は、ユーザごとの身体特徴に適応した基準座標群を算出することが可能となる。つまり、基準座標群算出部６０７は、ユーザの位置および第１の方向と、更にユーザ識別部６１３により識別されたユーザを示すユーザ識別情報に基づいてユーザ情報ＤＢ６１２より取得される少なくともユーザの胸の位置を示す情報とに基づいて、基準座標群を算出する。
【０１３７】
また、基準座標群算出部６０７は、更にユーザ検出カメラ１００により撮像される画像から、ユーザが立位であるか座位であるかの判断を行い、座位であると判断された場合には、ユーザ情報ＤＢ６１２より座位時のユーザの胸の位置を取得してもよい。
【０１３８】
また、上記手法では、基準座標群算出部６０７は、１種類のみ基準座標群を算出しているが、これに限らず、２種類以上の基準座標群を算出してもよい。以下、図１４Ｂを用いて２種類の基準座標群を算出する方法を説明する。図１４Ｂの（ｂ−１）は、左手用および右手用の基準座標群算出方法を示すフローチャートであり、図１４Ｂの（ｂ−２）は、その２種類の基準座標群の算出結果の一例を示す図である。
【０１３９】
ユーザが身体の向きを変えず遠くの方向を見ながら指示入力操作をする場合、どちらか一方の手を、胸の位置を基準とする視線方向のベクトル上に差し出すことが困難である。そこでここでは、基準座標群算出部６０７は、第１の方向と第２の方向との間の角度が予め定められた角度よりも小さい場合に、ユーザの位置および第１の方向と、ユーザ情報ＤＢ６１２から取得される少なくともユーザの頭の位置と胸の位置との対応関係を示す情報と、第２方向検出部１０３により検出される第２の方向とに基づいて、左手と右手それぞれに対応する２種類の基準座標群を算出する。なお、上述の対応関係を示す情報は、胸の高さおよび肩幅を示す。まず、上記と同じ方法により、基準座標群算出部６０７は、ユーザの胸の位置を基準とした第１の基準座標群を算出する（Ｓ７０１）。次に、基準座標群算出部６０７は、第２の基準座標群を算出する必要性を判断する。視線方向と身体向きとが略同じ方向である場合には視線方向に一方の手を差し出すことが困難である。したがって、例えば、第１の方向と第２の方向との角度差が０〜３０度もしくは１５０〜１８０度である場合は、基準座標群算出部１０７は、第２の基準座標群を算出する必要があると判断する（Ｓ７０２）。
【０１４０】
第２の基準座標群を算出する必要があると判断された場合（Ｓ７０２のＹｅｓ）、基準座標群算出部６０７は、視線方向が身体に対して右を向いているならば第１の基準座標群は右手に対応すると判断する（Ｓ７０３のＹｅｓ）。そして、基準座標群算出部６０７は、ユーザ情報ＤＢ６１２から取得されるユーザの肩幅に基づいて左肩の位置を算出し、その位置を基準とする視線方向のベクトルを左手用の第２の基準座標群として算出する（Ｓ７０４）。また、視線方向が身体に対して左を向いていると判断された場合は（Ｓ７０３のＮｏ）、基準座標群算出部６０７は、右肩の位置を基準とする視線方向のベクトルを右手用の第２の基準座標群として算出する（Ｓ７０５）。
【０１４１】
視線方向が身体に対して正面に近い方向を向いており、第２の基準座標群を算出する必要がないと判断された場合は（Ｓ７０２のＮｏ）、基準座標群算出部６０７は基準座標群の算出を終了する。
【０１４２】
以上のように、基準座標群算出部６０７は、ユーザが胸の位置を基準とする視線方向のベクトル上に手を差し出すことが困難である場合などに、第２の方向に基づいて基準座標群を適切に算出することができる。
【０１４３】
また、上記２種類の基準座標群の算出方法では、基準座標群算出部６０７は、視線の向き（視線方向）と身体向きとに基づいて、左手用および右手用の基準座標群を算出している。しかし、基準座標群算出部６０７は、ユーザ情報ＤＢ６１２のユーザ属性情報に格納される利き目情報に基づいて、基準座標群を算出してもよい。具体的には、基準座標群算出部６０７は、例えば、識別したユーザの利き目が右目であった場合は、ユーザの胸の位置を基準とした視線方向のベクトルを右手用基準座標群として算出し、左肩の位置を基準とした視線方向のベクトルを左手用基準座標群として算出してもよい。
【０１４４】
＜オフセット量算出部＞
オフセット量算出部６０８は、基準座標群算出部６０７により算出される基準座標群と、第２方向検出部１０３により検出される第２の方向と、ユーザ情報ＤＢ６１２から取得される胸の位置および腕の長さの情報（ユーザの頭の位置と腕の長さとの対応関係を示す情報）と、座標入力検出部１０４により検出される手の位置座標とに基づいて、画面１１１上のユーザの注視位置からのオフセット量を算出する。
【０１４５】
図１５Ａは、本発明の実施の形態２におけるオフセット量算出部６０８による画面上のオフセット量の算出方法を示す図である。なお、この図１５Ａでは、ユーザと画面１１１との位置関係が正面および上から示されている。オフセット量算出部６０８は、基準座標群と手の位置座標との三次元空間的な位置関係を、画面１１１上の位置関係に変換することにより、画面１１１上のユーザの注視位置からのオフセット量を算出する。以下、オフセット量算出方法の概要について、図１５Ｂを用いて説明する。
【０１４６】
図１５Ｂの（ｂ−１）は、オフセット量算出方法を示すフローチャートである。また、図１５Ｂの（ｂ−２）および（ｂ−３）はそれぞれ、オフセット量算出の過程で作成される三次元曲面座標空間を上から見た図、および横から見た図を示している。
【０１４７】
ユーザが手を動かしながら指示入力をする際には、肘がぴんと伸びた状態では、ユーザは手を円弧状に動かすしかなく、肘の角度に余裕がある状態では、ユーザは主に身体向きと平行な方向に手を移動させる。つまり例えば、肘の角度に余裕がある身体の前あたりではユーザは身体向きと平行な方向に手を動かし、そのまま徐々に肘を伸ばしながら手を動かしていくと、最終的に肘がぴんと伸びるため、ユーザは手を円弧状に動かす。そこでまず、オフセット量算出部６０８は、ユーザ情報ＤＢ６１２に格納される身体特徴情報から取得されるユーザの胸の位置を原点とし、第１方向検出部１０２により検出される視線方向に沿った第１軸と、図１５Ｂの（ｂ−２）の黒い実線で示されるような第２軸と、図１５Ｂの（ｂ−３）の黒い実線で示されるような第３軸とによって構成される三次元曲面座標空間を作成する（Ｓ８０１）。ここで、第２軸は、第２方向検出部１０３により検出される身体向きと、ユーザ情報ＤＢ６１２に格納される身体特徴情報から取得されるユーザの腕の長さの情報とに基づいて設定される軸である。また、第３軸は、鉛直方向と、ユーザ情報ＤＢ６１２に格納される身体特徴情報から取得されるユーザの腕の長さの情報とに基づいて設定される軸である。
【０１４８】
次に、オフセット量算出部６０８は、座標入力検出部１０４により検出される手の位置座標を三次元曲面座標空間における座標に変換し、基準座標群算出部６０７により算出された基準座標群の中から、手の位置座標と第１軸に関する座標値が同じとなる基準座標を１点選択する（Ｓ８０２）。そして、オフセット量算出部６０８は、第２軸および第３軸における手の位置座標と選択された基準座標との差をそれぞれ、画面１１１上のユーザの注視位置からの水平方向および鉛直方向のオフセット量として算出する（Ｓ８０３）。
【０１４９】
以上の処理により、オフセット量算出部６０８は、ユーザの腕の長さを考慮してオフセット量を算出できるので、ユーザの手の移動量に対する画面上のポインタの移動量が、腕の長さが異なることによって変化しないようにすることが可能となる。 
【０１５０】
なお、上記手法では、オフセット量算出部６０８は、鉛直方向とユーザの腕の長さとから三次元座標空間の第３軸を設定しているが、これに限らず、ユーザの上半身の頭から腹部に向かう方向を検出し、この方向とユーザの腕の長さから第３軸を設定してもよい。
【０１５１】
また、上記手法では、オフセット量算出部６０８は、ユーザの胸の位置を三次元曲面座標空間の原点としているが、これに限らず、ユーザの顔の位置を原点としてもよい。
【０１５２】
また、上記手法では、オフセット量算出部６０８は、ユーザの位置に基づいて、ユーザ情報ＤＢ６１２に格納される人の平均的な身体寸法の情報である身体特徴情報に基づいてユーザの胸の位置および腕の長さの情報を取得している。しかし、オフセット量算出部６０８は、これに限らず、ユーザの胸の位置および腕の長さの情報を取得してもよい。例えば、図１６に示すように、指示入力装置６０は、ユーザ検出カメラ１００により撮像される画像とあらかじめ登録された顔画像との照合を行うことでユーザを識別するユーザ識別部６１３を備える。オフセット量算出部６０８は、ユーザ識別部６１３による識別結果を示すユーザ識別情報に基づいて、ユーザ情報ＤＢ６１２に格納されるあらかじめ登録されているユーザごとのユーザ属性情報からユーザの胸の位置および腕の長さの情報を取得する。その結果、オフセット量算出部６０８は、ユーザごとの身体特徴に適応したオフセット量を算出することが可能となる。つまり、オフセット量算出部６０８は、第２の方向と、ユーザ識別部６１３により識別されたユーザを示すユーザ識別情報に基づいてユーザ情報ＤＢ６１２より取得される少なくともユーザの腕の長さを示す情報とに基づいて、オフセット量を算出する。
【０１５３】
また、オフセット量算出部６０８は、更にユーザ検出カメラ１００により撮像される画像から、ユーザが立位であるか座位であるかの判断を行い、座位であると判断された場合には、ユーザ情報ＤＢ６１２より座位時のユーザの胸の位置および腕の長さの情報を取得してもよい。
【０１５４】
また、上記手法では、オフセット量算出部６０８は、１種類のみの基準座標群に基づいてオフセット量を算出しているが、基準座標群算出部６０７により右手用と左手用の２種類の基準座標群が算出されている場合は、座標入力検出部１０４から得られる手の左右識別情報にも基づいてオフセット量を算出してもよい。
【０１５５】
さらに、上記手法では、オフセット量算出部６０８は、１種類のみの三次元曲面座標空間を算出している。しかし、ユーザの左右の手の動きには肩幅の分だけずれがある。したがって、オフセット量算出部６０８は、ユーザ情報ＤＢ６１２から取得される肩幅の情報により左手用と右手用の２種類の座標空間を作成し、座標入力検出部１０４から得られる手の左右識別情報に基づいてオフセット量を算出してもよい。
【０１５６】
以上のように、本実施の形態における指示入力装置６０によれば、ユーザの胸の位置を基準に基準座標群を算出することができるので、ユーザの自然な姿勢によるポインティング操作に応じた基準座標群を算出することが可能となる。また、ユーザの腕の長さを考慮してオフセット量を算出できるので、ユーザの手の移動量に対する画面上のポインタの移動量がさらに変化しないようにすることが可能となる。
【０１５７】
以上、本発明に係る指示入力装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、あるいは異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【０１５８】
例えば、上記実施の形態１および２において、指示入力装置は、ユーザ検出カメラ１００、座標入力リモコン１０５および映像表示装置１１２を備えていないが、それらを備えてもよい。例えば、指示入力装置は、ユーザ検出カメラ１００を撮像部として備えてもよい。また例えば、指示入力装置は、座標入力リモコン１０５を三次元座標入力装置として備えてもよい。また例えば、指示入力装置は、映像表示装置１１２が備える表示部１１０を備えてもよい。
【０１５９】
また、上記実施の形態において、ポインティング操作をしているユーザが１人である場合を中心に説明したが、複数のユーザがポインティング操作をしてもよい。この場合、指示入力装置は、ポインティング操作をしているユーザごとに、ポインタの表示位置を算出すればよい。
【０１６０】
また、上記実施の形態１または２における指示入力装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを備えるコンピュータによって実現されてもよい。
【０１６１】
また、上記実施の形態１または２における指示入力装置が備える構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。例えば、指示入力装置は、ユーザ位置検出部１０１と、第１方向検出部１０２と、第２方向検出部１０３と、座標入力検出部１０４と、注視位置算出部１０６と、基準座標群算出部１０７と、オフセット量算出部１０８とを備えるシステムＬＳＩから構成されてもよい。
【０１６２】
システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。
【０１６３】
なお、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、あるいはＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１６４】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０１６５】
また、本発明は、このような特徴的な処理部を備える指示入力装置として実現することができるだけでなく、指示入力装置に含まれる特徴的な処理部をステップとする画像復元方法として実現することもできる。また、画像復元方法に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムとして実現することもできる。そして、そのようなコンピュータプログラムを、ＣＤ−ＲＯＭ等のコンピュータ読取可能な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
【産業上の利用可能性】
【０１６６】
本発明によれば、ユーザは移動することなく、自然な動きや姿勢での入力操作によって画面上の所望の位置をポインティングすることができるので、指示入力対象領域の広い大画面ディスプレイ、例えば屋外電子広告（デジタル・サイネージ）や大画面テレビ等に適用するものとして有用である。
【符号の説明】
【０１６７】
１０、６０  指示入力装置
１００  ユーザ検出カメラ
１０１  ユーザ位置検出部
１０２  第１方向検出部
１０３  第２方向検出部
１０４  座標入力検出部
１０５  座標入力リモコン
１０５１  ボタン入力部
１０５２  位置検出部
１０６  注視位置算出部
１０７、６０７  基準座標群算出部
１０８、６０８  オフセット量算出部
１０９  ポインタ表示位置算出部
１１０  表示部
１１１  画面
１１２  映像表示装置
６１２  ユーザ情報ＤＢ
６１３  ユーザ識別部 
【図１】
2011158511.tif 000004
【図２】
2011158511.tif 000005
【図３Ａ】
2011158511.tif 000006
【図３Ｂ】
2011158511.tif 000007
【図４Ａ】
2011158511.tif 000008
【図４Ｂ】
2011158511.tif 000009
【図５Ａ】
2011158511.tif 000010
【図５Ｂ】
2011158511.tif 000011
【図５Ｃ】
2011158511.tif 000012
【図６Ａ】
2011158511.tif 000013
【図６Ｂ】
2011158511.tif 000014
【図７Ａ】
2011158511.tif 000015
【図７Ｂ】
2011158511.tif 000016
【図８Ａ】
2011158511.tif 000017
【図８Ｂ】
2011158511.tif 000018
【図９】
2011158511.tif 000019
【図１０】
2011158511.tif 000020
【図１１Ａ】
2011158511.tif 000021
【図１１Ｂ】
2011158511.tif 000022
【図１１Ｃ】
2011158511.tif 000023
【図１１Ｄ】
2011158511.tif 000024
【図１２】
2011158511.tif 000025
【図１３】
2011158511.tif 000026
【図１４Ａ】
2011158511.tif 000027
【図１４Ｂ】
2011158511.tif 000028
【図１５Ａ】
2011158511.tif 000029
【図１５Ｂ】
2011158511.tif 000030
【図１６】
2011158511.tif 000031
【手続補正書】
【提出日】平成23年12月16日(2011.12.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザの手の動きによるポインティング操作に基づいて、画面上に表示するポインタの表示位置を算出する指示入力装置であって、
ユーザの位置を検出するユーザ位置検出部と、
前記ユーザの手の位置を示す座標を入力座標として検出する入力座標検出部と、
前記ユーザの身体の姿勢に基づいて、当該ユーザが見ている方向である、画面垂直方向を基準とする第１の方向を検出する第１方向検出部と、
前記ユーザの身体の姿勢に基づいて、当該ユーザがポインティング操作を行なう方向である、画面水平方向を基準とする第２の方向を検出する第２方向検出部と、
前記ユーザの位置および前記第１の方向に基づいて、画面上のユーザの注視位置を算出する注視位置算出部と、
前記ユーザの位置および前記第１の方向に基づいて、前記注視位置に対応する線であって前記ユーザと前記画面とを結ぶ空間上の基準線を算出する基準線算出部と、
前記基準線と前記入力座標との間の前記第２の方向の距離を、前記画面に沿った第１の画面規定方向の前記注視位置に対するオフセット量として算出するオフセット量算出部と、
前記画面上において、前記注視位置との間の前記第１の画面規定方向の距離が前記オフセット量となる位置を、前記画面上に表示するポインタの表示位置として算出するポインタ表示位置算出部と
を備える指示入力装置。
【請求項２】
前記ユーザの位置は、ユーザの顔の位置または頭の位置である、
請求項１に記載の指示入力装置。
【請求項３】
前記指示入力装置は、更に、ユーザに把持された状態で装置自身の位置を出力する三次元座標入力装置を備え、
前記入力座標検出部は、前記三次元座標入力装置によって出力された位置の座標を前記入力座標として検出する、
請求項１に記載の指示入力装置。
【請求項４】
前記指示入力装置は、更に、
ユーザを撮像する撮像部を備え、
前記入力座標検出部は、前記撮像部による撮像によって取得された画像に基づいて、前記ユーザの手の位置を示す前記入力座標を検出する、
請求項１に記載の指示入力装置。
【請求項５】
前記入力座標検出部は、更に、前記撮像部による撮像によって取得された画像に基づいて、前記ユーザの右手および左手を識別し、識別された左右の手ごとに入力座標を検出する、
請求項４に記載の指示入力装置。
【請求項６】
前記第１方向検出部は、顔向きおよび視線の少なくとも一方を含む前記ユーザの身体の姿勢に基づいて、前記第１の方向を検出する、
請求項１に記載の指示入力装置。
【請求項７】
前記第２方向検出部は、少なくとも身体の向きを含む前記ユーザの身体の姿勢に基づいて、前記第２の方向を検出する、
請求項１に記載の指示入力装置。
【請求項８】
前記第２方向検出部は、ユーザの身体の姿勢に加え、更に前記ユーザの位置に対する前記画面の方向に基づいて、前記第２の方向を検出する、
請求項７に記載の指示入力装置。
【請求項９】
前記基準線算出部は、前記第１の方向と前記第２の方向との間の角度が予め定められた角度よりも小さい場合に、前記ユーザの位置および前記第１の方向と、更に前記第２の方向とに基づいて、前記基準線を算出する、
請求項１に記載の指示入力装置。
【請求項１０】
前記指示入力装置は、更に、
少なくともユーザの頭の位置と胸の位置との対応関係を示す情報を格納するユーザ情報データベースを備え、
前記基準線算出部は、前記ユーザの位置および前記第１の方向と、更に前記ユーザ情報データベースから取得される前記対応関係を示す情報とに基づいて、前記基準線を算出する、
請求項１に記載の指示入力装置。
【請求項１１】
前記指示入力装置は、更に、
少なくともユーザごとの胸の位置を示す情報を格納するユーザ情報データベースと、
ユーザを識別するユーザ識別部とを備え、
前記基準線算出部は、前記ユーザの位置および前記第１の方向と、更に前記ユーザ識別部により識別されたユーザを示すユーザ識別情報に基づいて前記ユーザ情報データベースより取得される少なくとも前記ユーザの胸の位置を示す情報とに基づいて、前記基準線を算出する、
請求項１に記載の指示入力装置。
【請求項１２】
前記基準線算出部は、前記第１の方向と前記第２の方向との間の角度が予め定められた角度よりも小さい場合に、前記ユーザの位置および前記第１の方向と、前記ユーザ情報データベースから取得される前記対応関係を示す情報と、更に前記第２の方向とに基づいて、前記基準線を算出する、
請求項１０に記載の指示入力装置。
【請求項１３】
前記指示入力装置は、更に、
少なくともユーザの頭の位置と腕の長さとの対応関係を示す情報を格納するユーザ情報データベースを備え、
前記オフセット量算出部は、前記第２の方向と、前記ユーザ情報データベースから取得される前記対応関係を示す情報とに基づいて、前記オフセット量を算出する、
請求項１に記載の指示入力装置。
【請求項１４】
前記指示入力装置は、更に、
少なくともユーザごとの腕の長さを示す情報を格納するユーザ情報データベースと、
ユーザを識別するユーザ識別部とを備え、
前記オフセット量算出部は、前記第２の方向と、前記ユーザ識別部により識別されたユーザを示すユーザ識別情報に基づいて前記ユーザ情報データベースより取得される少なくとも前記ユーザの腕の長さを示す情報とに基づいて、前記オフセット量を算出する、
請求項１に記載の指示入力装置。
【請求項１５】
前記指示入力装置は、更に、
前記ポインタ表示位置算出部によって算出された表示位置にポインタを表示する表示部を備える
請求項１に記載の指示入力装置。
【請求項１６】
前記オフセット量算出部は、前記基準線と前記入力座標との間の第３の方向の距離を、前記画面に沿った第２の画面規定方向の前記注視位置に対する他のオフセット量として算出し、
前記ポインタ表示位置算出部は、前記画面上において、前記注視位置との間の前記第２の画面規定方向の距離が前記他のオフセット量となる位置を、前記画面上に表示するポインタの表示位置として算出し、
前記第３の方向は、第１および第２の方向と異なる方向であり、前記第２の画面規定方向は前記第１の画面規定方向と異なる方向である、
請求項１に記載の指示入力装置。
【請求項１７】
ユーザの手の動きによるポインティング操作に基づいて、画面上は表示するポインタの表示位置を算出する指示入力方法であって、
ユーザの位置を検出し、
前記ユーザの手の位置を示す座標を入力座標として検出し、
前記ユーザの身体の姿勢に基づいて、当該ユーザが見ている方向である、画面垂直方向を基準とする第１の方向を検出し、
前記ユーザの身体の姿勢に基づいて、当該ユーザがポインティング操作を行なう方向である、画面水平方向を基準とする第２の方向を検出し、
前記ユーザの位置および前記第１の方向に基づいて、画面上のユーザの注視位置を算出し、
前記ユーザの位置および前記第１の方向に基づいて、前記注視位置に対応する線であって前記ユーザと前記画面とを結ぶ空間上の基準線を算出し、
前記基準線と前記入力座標との間の前記第２の方向の距離を、前記画面に沿った第１の画面規定方向の前記注視位置に対するオフセット量として算出し、
前記画面上において、前記注視位置との間の前記第１の画面規定方向の距離が前記オフセット量となる位置を、前記画面上に表示するポインタの表示位置として算出する
指示入力方法。
【請求項１８】
ユーザの手の動きによるポインティング操作に基づいて、画面上に表示するポインタの表示位置を算出するためのプログラムであって、
ユーザの位置を検出し、
前記ユーザの手の位置を示す座標を入力座標として検出し、
前記ユーザの身体の姿勢に基づいて、当該ユーザが見ている方向である、画面垂直方向を基準とする第１の方向を検出し、
前記ユーザの身体の姿勢に基づいて、当該ユーザがポインティング操作を行なう方向である、画面水平方向を基準とする第２の方向を検出し、
前記ユーザの位置および前記第１の方向に基づいて、画面上のユーザの注視位置を算出し、
前記ユーザの位置および前記第１の方向に基づいて、前記注視位置に対応する線であって前記ユーザと前記画面とを結ぶ空間上の基準線を算出し、
前記基準線と前記入力座標との間の前記第２の方向の距離を、前記画面に沿った第１の画面規定方向の前記注視位置に対するオフセット量として算出し、
前記画面上において、前記注視位置との間の前記第１の画面規定方向の距離が前記オフセット量となる位置を、前記画面上に表示するポインタの表示位置として算出する
ことをコンピュータに実行させるプログラム。
【請求項１９】
請求項１８に記載のプログラムを格納する記録媒体。
【請求項２０】
ユーザの手の動きによるポインティング操作に基づいて、画面上に表示するポインタの表示位置を算出する集積回路であって、
ユーザの位置を検出するユーザ位置検出部と、
前記ユーザの手の位置を示す座標を入力座標として検出する入力座標検出部と、
前記ユーザの身体の姿勢に基づいて、当該ユーザが見ている方向である、画面垂直方向を基準とする第１の方向を検出する第１方向検出部と、
前記ユーザの身体の姿勢に基づいて、当該ユーザがポインティング操作を行なう方向である、画面水平方向を基準とする第２の方向を検出する第２方向検出部と、
前記ユーザの位置および前記第１の方向に基づいて、画面上のユーザの注視位置を算出する注視位置算出部と、
前記ユーザの位置および前記第１の方向に基づいて、前記注視位置に対応する線であって前記ユーザと前記画面とを結ぶ空間上の基準線を算出する基準線算出部と、
前記基準線と前記入力座標との間の前記第２の方向の距離を、前記画面に沿った第１の画面規定方向の前記注視位置に対するオフセット量として算出するオフセット量算出部と、
前記画面上において、前記注視位置との間の前記第１の画面規定方向の距離が前記オフセット量となる位置を、前記画面上に表示するポインタの表示位置として算出するポインタ表示位置算出部と
を備える集積回路。
【国際調査報告】
2011158511.tif 000032
2011158511.tif 000033