(57)【要約】【課題】操作性の良好な入力を実現することができるようにする。【解決手段】操作入力装置１のイメージセンサ２１は、対象物３１との距離が距離Ｌ９１だけ離れている。このとき操作入力装置１を対象物３１と平行に移動させるとともに、角度αだけ回動させると、イメージセンサ２１を利用して得られる移動距離はＬ９３となる。距離Ｌ９３は、操作入力装置１の実際の移動距離Ｌ９２より距離Ｌ９４だけ短くなる。そこで角速度センサ１３から得られる角速度と距離Ｌ９１に基づいて、距離Ｌ９４を演算し、検出された移動距離Ｌ９３を補正する。本発明は、例えば、テレビジョン受像機のリモートコントローラに適用することができる。【選択図】図９
2011128846.tif 000002
【特許請求の範囲】
【請求項１】
角速度を検出する角速度検出手段と、
対象物との相対速度を非接触にて検出する相対速度検出手段と、
前記対象物との距離を検出する距離検出手段と、
前記角速度、前記相対速度および前記距離に基づいて動き量を演算する演算手段と
を備える操作入力装置。
【請求項２】
前記相対速度検出手段は、
前記対象物に投光する光を発生する発光手段と、
前記発光手段からの光が照射された前記対象物を撮像する撮像手段と
を備え、
前記距離検出手段は、前記撮像手段により撮像された画像に基づいて距離を検出する
請求項１に記載の操作入力装置。
【請求項３】
前記対象物との接触を検出する接触検出手段を
さらに備える請求項２に記載の操作入力装置。
【請求項４】
前記接触検出手段は、２段階の接触を検出する
請求項３に記載の操作入力装置。
【請求項５】
前記対象物との接触時に発生する振動の前記角速度検出手段への伝達を抑制する緩衝材を
さらに備える請求項４に記載の操作入力装置。
【請求項６】
前記対象物との前記距離が基準範囲以上である場合、画面操作を停止し、
前記対象物との前記距離が前記基準範囲以下である場合、画面操作を実行し、
前記対象物と接触している場合、特殊操作を実行する
請求項５に記載の操作入力装置。
【請求項７】
前記対象物との距離が基準範囲以上である場合、第１の画面操作を実行し、
前記対象物との距離が前記基準範囲内である場合、第２の画面操作を実行する
請求項５に記載の操作入力装置。
【請求項８】
前記対象物との距離が前記基準範囲内の第１の範囲以上である場合、第１の物理量に基づいた画面操作を実行し、
前記対象物との距離が前記基準範囲内の第１の範囲以下である場合、第２の物理量に基づいた画面操作を実行する
請求項５に記載の操作入力装置。
【請求項９】
前記対象物と接触している場合、摺動時の振動の周波数を検出する周波数検出手段と、
前記周波数検出手段により検出された前記周波数に基づいて補正値を取得する取得手段と
をさらに備え、
前記演算手段は、前記補正値および前記角速度に基づいて、前記摺動時の速度を演算する
請求項１に記載の操作入力装置。
【請求項１０】
前記周波数検出手段は、摺動時の振動の周波数を音から検出する
請求項９に記載の操作入力装置。
【請求項１１】
前記周波数検出手段は前記角速度検出手段であり、前記角速度検出手段は、摺動時の振動の周波数をさらに検出する
請求項９に記載の操作入力装置。
【請求項１２】
前記対象物と接触している場合、前記角速度に基づいてジェスチャを検出するジェスチャ検出手段をさらに備える
請求項１に記載の操作入力装置。
【請求項１３】
角速度検出手段と、
相対速度検出手段と、
距離検出手段と、
演算手段と
を備える操作入力装置の操作入力方法であって、
前記角速度検出手段は、角速度を検出し、
前記相対速度検出手段は、対象物との相対速度を非接触にて検出し、
前記距離検出手段は、前記対象物との距離を検出し、
前記演算手段は、前記角速度、前記相対速度および前記距離に基づいて動き量を演算する
操作入力方法。
【請求項１４】
コンピュータを、
角速度検出手段と、
相対速度検出手段と、
距離検出手段と、
演算手段と
して機能させるプログラムであって、
前記角速度検出手段は、角速度を検出し、
前記相対速度検出手段は、対象物との相対速度を非接触にて検出し、
前記距離検出手段は、前記対象物との距離を検出し、
前記演算手段は、前記角速度、前記相対速度および前記距離に基づいて動き量を演算する
プログラム。
【請求項１５】
角速度検出手段と、
相対速度検出手段と、
距離検出手段と、
演算手段と
を備え、
前記角速度検出手段は、角速度を検出し、
前記相対速度検出手段は、対象物との相対速度を非接触にて検出し、
前記検出手段は、前記対象物との距離を検出し、
前記演算手段は、前記角速度、前記相対速度および前記距離に基づいて動き量を演算する
電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作入力装置および方法、プログラム、並びに電子機器に関し、特に、操作性の良好な入力を実現することができるようにした操作入力装置および方法、プログラム、並びに電子機器に関する。
【背景技術】
【０００２】
パーソナルコンピュータにおいては、GUI（Graphical User Interface）のコントローラとして、主にマウスやタッチパッドなどのポインティングデバイスが用いられている。
【０００３】
近年、テレビジョン受像機においても、付加機能の追加やネットワーク化による操作の複雑化に対応するため、パーソナルコンピュータと同様のGUIとフリーカーソル型の操作入力装置が求められている。
【０００４】
しかし、マウスやタッチパッドなどの入力装置は、習熟に相応の時間がかかり、年少者や高齢者が適応するのは困難である。
【０００５】
上記問題を解決するための操作性に優れた入力装置として、近接・接触両状態で使用できるペンを模した入力装置が提案されている。
【０００６】
その代表的なものとして電磁誘導を用いたペンタブレットが実用化されている（例えば、非特許文献１）。
【非特許文献１】“Wacom|タブレットホームページ”、インターネット＜URL：http://tablet.wacom.co.jp/index.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１の手法では、専用のタブレット上でなければ操作ができない。
【０００８】
そのほかにも、紙上に特殊パタンを印刷し、これをイメージセンサで撮像することで座標を得る方法や、外部に設置された超音波発生器、磁気発生器、または赤外線発生器によってペンの位置を同定する方法も提案、商品化され始めている。しかし、特殊な用紙上でなければ操作ができなかったり、外部の発生器の近傍でしか操作できないという拘束条件があり、これが操作性を悪化させている。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、操作性の良好な入力を実現することができるようにしたものである。
【課題を解決するための手段】
【００１０】
本発明の一側面は、角速度を検出する角速度検出手段と、対象物との相対速度を非接触にて検出する相対速度検出手段と、前記対象物との距離を検出する距離検出手段と、前記角速度、前記相対速度および前記距離に基づいて動き量を演算する演算手段とを備える操作入力装置および操作入力方法、操作入力装置としてコンピュータを機能させるためのプログラム、または電子機器である。
【００１１】
前記相対速度検出手段は、前記対象物に投光する光を発生する発光手段と、前記発光手段からの光が照射された前記対象物を撮像する撮像手段とを備え、前記距離検出手段は、前記撮像手段により撮像された画像に基づいて距離を検出することができる。
【００１２】
前記対象物との接触を検出する接触検出手段をさらに備えることができる。
【００１３】
前記接触検出手段は、２段階の接触を検出することができる。
【００１４】
前記対象物との接触時に発生する振動の前記角速度検出手段への伝達を抑制する緩衝材をさらに備えることができる。
【００１５】
前記対象物との前記距離が基準範囲以上である場合、画面操作を停止し、前記対象物との前記距離が前記基準範囲以下である場合、画面操作を実行し、前記対象物と接触している場合、特殊操作を実行することができる。
【００１６】
前記対象物との距離が基準範囲以上である場合、第１の画面操作を実行し、前記対象物との距離が前記基準範囲内である場合、第２の画面操作を実行することができる。
【００１７】
前記対象物との距離が前記基準範囲内の第１の範囲以上である場合、第１の物理量に基づいた画面操作を実行し、前記対象物との距離が前記基準範囲内の第１の範囲以下である場合、第２の物理量に基づいた画面操作を実行することができる。
【００１８】
前記対象物と接触している場合、摺動時の振動の周波数を検出する周波数検出手段と、前記周波数検出手段により検出された前記周波数に基づいて補正値を取得する取得手段とをさらに備え、前記演算手段は、前記補正値および前記角速度に基づいて、前記摺動時の速度を演算することができる。
【００１９】
前記周波数検出手段は、摺動時の振動の周波数を音から検出することができる。なお摺動時の振動の周波数は、構成要素を介して伝播される振動から検出することもできる。
【００２０】
前記周波数検出手段は前記角速度検出手段であり、前記角速度検出手段は、摺動時の振動の周波数をさらに検出することができる。
【００２１】
前記対象物と接触している場合、前記角速度に基づいてジェスチャを検出するジェスチャ検出手段をさらに備えることができる。またジェスチャ検出手段は、撮像手段により撮像された画像に基づいてジェスチャを検出することもできる。
【００２２】
本発明の一側面においては、角速度が検出され、対象物との相対速度が非接触にて検出され、対象物との距離が検出され、角速度、相対速度および距離に基づいて動き量が演算される。
【発明の効果】
【００２３】
本発明の側面によれば、操作性の良好な入力が実現可能となる。
【図面の簡単な説明】
【００２４】
【図１】本発明が適用される操作入力装置の一実施形態としての構成例を示す図である。
【図２】操作入力装置の詳細を示す図である。
【図３】イメージセンサの詳細を示す図である。
【図４】操作入力装置のメイン基板の構成例を示すブロック図である。
【図５】操作入力装置の速度演算処理を説明するフローチャートである。
【図６】操作入力装置の操作の概要を示す図である。
【図７】撮像する画像の例を示す図である。
【図８】操作入力装置のコマンド送信処理を説明するフローチャートである。
【図９】操作入力装置の操作の概要を示す図である。
【図１０】操作入力装置の距離検出処理を説明するフローチャートである。
【図１１】距離検出処理の原理を示す図である。
【図１２】撮像する画像の例を示す図である。
【図１３】操作入力装置の操作の概要を示す図である。
【図１４】操作入力装置の操作面を示す図である。
【図１５】角速度センサの出力を示す図である。
【図１６】角速度センサの校正処理を説明するフローチャートである。
【図１７】操作入力装置の摺動速度演算処理を説明するフローチャートである。
【図１８】角速度センサの出力を示す図である。
【発明を実施するための最良の形態】
【００２５】
［操作入力装置の構成］
図１は、本発明が適用される操作入力装置１の一実施形態としての構成例を示す図である。操作入力装置１は、例えばテレビジョン受像機に対して所定の指令を入力するときユーザにより操作される。すなわち、操作入力装置１は、テレビジョン受像機のリモートコントローラとして機能する。図１Ａは、操作入力装置１の全体の構成を示す。図１Ｂは、操作入力装置１の先端部分の構成の詳細を示す。
【００２６】
図１に示されるように、ペン型の操作入力装置１は、メイン基板１１、センサ基板１２、角速度センサ１３、電源スイッチ１４、ボタン１５、マイクロホン１６、緩衝材１７、電池１８、発光部１９、レンズ２０、イメージセンサ２１、接触部２２、タクトスイッチ２３、およびバネ２４から構成されている。
【００２７】
メイン基板１１には、図４を参照して後述するマイクロコンピュータ７１等が載置されている。
【００２８】
センサ基板１２には、角速度センサ１３、マイクロホン１６、およびイメージセンサ２１等が載置されている。
【００２９】
角速度検出手段としての角速度センサ１３は、操作入力装置１が操作されたときの角速度を検出する。角速度センサ１３は、例えば、ジャイロセンサなどにより構成される。
【００３０】
なお、角速度センサ１３に代えて加速度センサを用い、その出力を微分することで角速度を得るようにすることもできる。具体的には、加速度センサは、ＸＹＺ軸の３軸方向の加速度を測定する。そして各軸で測定される加速度から重力ベクトル方向に対する傾き角度を算出し、算出された傾き角度を時間微分することで角速度を得ることができる。
【００３１】
電源スイッチ１４は、メイン基板１１に接続されており、電源をオンまたはオフするとき、ユーザにより操作される。
【００３２】
ボタン１５は、メイン基板１１に接続されている。ボタン１５は、ユーザが所定の入力を行うとき操作される。
【００３３】
マイクロホン１６は、センサ基板１２に接続されている。マイクロホン１６は、操作入力装置１の摺動時の振動音を収集する。
【００３４】
緩衝材１７は、角速度センサ１３を支持する筐体１Ａと、接触部２２を支持する筐体１Ｂとの間に挟み込まれている。緩衝材１７は、接触部２２が対象物に接触したとき発生する振動が筐体１Ｂから筐体１Ａに、従って角速度センサ１３に伝達されるのを抑制する。
【００３５】
電池１８は、メイン基板１１に接続されている。電源スイッチ１４がオン状態になると各部に必要な電力を供給する。
【００３６】
発光手段としての発光部１９は、レンズ２０を介して対象物に平行光を照射する。発光部１９は、例えば、LED（Light Emitting Diode）や半導体レーザなどにより構成される。
【００３７】
相対速度検出手段および撮像手段としてのイメージセンサ２１は、光を照射された対象物を含む画像を撮像する。イメージセンサ２１は、例えば、CCD（Charge Coupled Device）イメージセンサ、CMOS（Complementary Metal Oxide Semiconductor）イメージセンサなどにより構成される。
【００３８】
接触検出手段としての接触部２２は、一端が筐体１Ｂに支持されているバネ２４の他端に支持されており、バネ２４により外部に突出する方向に付勢されている。接触部２２は、対象物に接触すると、バネ２４の付勢力に抗して後方に移動し、後方に配置されているタクトスイッチ２３をオンさせる。接触部２２は、対象物から離れるとバネ２４の付勢力により元の位置に戻り、タクトスイッチ２３をオフさせる。
【００３９】
なお本実施の形態では、タクトスイッチ２３によりオン／オフの２値を検出するか、または、オンの段階を２段とし、３値を検出する。あるいは、圧力センサなどを用いて圧力に基づいた処理を実行するようにしてもよい。
【００４０】
図２は、操作入力装置１の先端部分を拡大した図である。接触部２２は、対象物３１に接触している。このときイメージセンサ２１は、対象物３１と距離Ｌだけ離れている。すなわち、操作入力装置１と対象物３１が接触している場合、イメージセンサ２１と対象物３１との距離Ｌは０より大きい値となる。
【００４１】
図３は、イメージセンサ２１の詳細を示す図である。
【００４２】
イメージセンサ２１の前方には、被写界深度が深いレンズ（図示せず）を配置することができる。ただしこの実施の形態においては、このレンズの代替として、ピンホール５１が形成されているピンホール板５２が配置されている。これにより、被写界深度の範囲内において、距離に依存せずに焦点をあわせることができる。
【００４３】
図４は、図１の操作入力装置１のうち、メイン基板１１の構成例を示すブロック図である。
【００４４】
図３の例では、メイン基板１１には、マイクロコンピュータ７１、送信器７２、アンテナ７３、および記憶装置７４が載置されている。マイクロコンピュータ７１は、制御部９１、取得部９２、画像処理部９３、検出部９４、演算部９５、コマンド生成部９６、送信部９７、および判定部９８の機能ブロックを有している。なお、マイクロコンピュータ７１の各ブロックは、必要に応じて相互に信号（データ）を授受することが可能とされている。
【００４５】
マイクロコンピュータ７１の制御部９１は、角速度センサ１３およびイメージセンサ２１の制御などの処理を行う。取得部９２は、角速度センサ１３、イメージセンサ２１、記憶装置７４、検出部９４、および演算部９５から各種情報を取得する。画像処理部９３は、画像から検出部９４および演算部９５で必要なデータを抽出する処理を行う。距離検出手段としての検出部９４は、操作入力装置１と対象物との間の距離を検出する。また検出部９４は、取得部９２が取得した情報に基づいて各種情報を記憶装置７４から検出する。演算手段としての演算部９５は、操作入力装置１の動き量を演算する。コマンド生成部９６は、操作入力装置１と対象物との間の距離に基づいて、コマンドを生成する。送信部９７は、各種情報を受信装置（図示せず）に送信する。判定部９８は、各種情報が条件を満たしているかを判定する。
【００４６】
送信器７２は、送信部９７の制御に従って、アンテナ７３を介してテレビジョン受像機などの受信装置（図示せず）に各種情報を送信する。各種情報は、例えば、操作入力装置１の動き量や、コマンドなどの情報である。
【００４７】
記憶装置７４には、各種センサ情報に対応する情報があらかじめ定義され、記憶されている。記憶装置７４は、メイン基板１１内に備えてもよいし、図示せぬ受信装置に備えてもよい。
【００４８】
［速度演算処理］ 
次に図５乃至図７を参照して、操作入力装置１の速度演算処理について説明する。この処理は、後述する図８のステップＳ２３で行われる処理であるが、便宜上、先に説明する。
【００４９】
図５は、操作入力装置１の速度演算処理を説明するフローチャートである。この実施形態では、イメージセンサ２１により撮像された画像に基づいて操作入力装置１が移動した方向および移動した量が検出され、操作入力装置１の速度が演算される。
【００５０】
ユーザは、例えば図示せぬテレビジョン受像機に表示されているカーソルを移動させる場合、操作入力装置１を対象物３１上で平行移動させる。対象物３１は、机、テーブル、ソファー、ユーザの手、ズボン（座した状態のユーザの太もも）等とすることができる。
【００５１】
図６は、操作入力装置１と対象物３１が接触している場合の操作入力装置１の動きを示す。図示は省略されているが、図６においては、接触部２２が対象物３１と接触している。また図６では、接触部２２の図示は省略されている。このことは、後述する図９，図１１，図１３においても同様である。
【００５２】
図６では、操作入力装置１の単位時間あたりの移動距離（すなわち速度）を距離Ｌ６１で示している。また図６では、イメージセンサ２１から得られる単位時間あたりの移動距離を距離Ｌ６２で示している。
【００５３】
操作入力装置１と対象物３１が接触している場合、イメージセンサ２１と対象物３１との距離は充分短いので、距離Ｌ６２は、距離Ｌ６１とほぼ等しくなる。
【００５４】
なお、距離Ｌ６１および距離Ｌ６２は、単位時間あたりの移動距離としたが、イメージセンサ２１によるサンプリング時間あたりの移動距離などとしてもよい。
【００５５】
サンプリング時間あたりの移動距離とした場合、操作入力装置１の速度（すなわち、対象物３１に対する相対速度）は、距離Ｌ６１または距離Ｌ６２をサンプリング時間で除算することで求められる。
【００５６】
図５のステップＳ１において、取得部９２は、イメージセンサ２１から画像を取得する。この画像は、発光部１９がレンズ２０を介して光が照射された対象物３１の画像である。
【００５７】
ステップＳ２において、画像処理部９３は、画像を２値化する。画像は２値化の処理により、光が照射されている範囲は例えば「１」となり、光が照射されていない範囲は例えば「０」となる。
【００５８】
ステップＳ３において、画像処理部９３は、光が照射された範囲の画像を切り出す。
【００５９】
ステップＳ４において、画像処理部９３は、切り出した画像と単位時間だけ１つ前に切り出した画像とを比較する。切り出された画像は、例えば、図７に示されるようになる。
【００６０】
図７は、イメージセンサ２１が撮像したフレームの画像の例を示す図である。図７Ａは単位時間だけ１つ前に切り出されたフレームの画像を示し、図７Ｂは現時点で切り出されたフレームの画像を示す。図７Ａ，７Ｂでは、照射された光の範囲に対応する輝点１３１−１，１３１−２、および対象物３１の模様１３２−１−１乃至１３２−１−６，１３２−２−１乃至１３２−２−６が示されている。光が照射されるので、使用環境が暗くても、対象物３１の模様１３２の画像を得ることができる。また、発光部１９が放出する光の波長のみを通過する波長選択フィルタをイメージセンサ２１の前に配置することで、使用環境が明るい場合でも、外乱光の影響を軽減させることができる。
【００６１】
模様１３２−２−１乃至１３２−２−６は、模様１３２−１−１乃至１３２−１−６に対応する。
【００６２】
なお、以下、対象物３１の模様１３２−１−１乃至１３２−１−６，１３２−２−１乃至１３２−２−６を個々に区別する必要がない場合、これらをまとめて対象物３１の模様１３２と称する。対象物３１の模様１３２は、例えば、テーブルの模様、洋服の柄、生地の模様などである。
【００６３】
画像処理部９３は、図７Ｂの輝点１３１−２の画像を全方向に移動させ、図７Ａの輝点１３１−１との相関係数が最大となる位置を求める。
【００６４】
図７Ａでは、模様１３２−１−１乃至１３２−１−３の全部が輝点１３１−１内にあり、模様１３２−１−４乃至１３２−１−６の一部が輝点１３１−１内に含まれる。図７Ｂでは、模様１３２−２−１乃至１３２−２−４の一部が輝点１３１−２内に含まれ、模様１３２−２−５，１３２−２−６の全部が輝点１３１−２内にある。
【００６５】
したがって図７Ｂの輝点１３１−２は、図７Ａの輝点１３１−１の位置から模様１３２−２−５，１３２−２−６の方向に移動したことがわかる。すなわち操作入力装置１は、図７Ａの位置から左上の方向に移動したことがわかる。
【００６６】
図５のステップＳ５において、演算部９５は、相関係数が最大となる移動方向と移動距離を演算する。図７Ｂの輝点１３１−２は、図７Ａの左上方向への相関係数が最大となり、その方向への移動距離が演算される。移動距離は、イメージセンサ２１のフレーム内における輝点１３１−１と輝点１３１−２との位置の距離から求められる。
【００６７】
ステップＳ６において演算部９５は、速度を演算する。具体的には、ステップＳ５で演算された距離を単位時間で除算することで速度が求められる。
【００６８】
［コマンド送信処理］
次に操作入力装置１のコマンドを送信する処理について説明する。
【００６９】
図８は、操作入力装置１のコマンド送信処理を説明するフローチャートである。
【００７０】
ユーザは、例えばテレビジョン受像機に表示されているカーソルを移動させるとき、
図９に示されるように、操作入力装置１を対象物３１に対して近接させた状態で、対象物３１と平行に所定の方向に移動させる。
【００７１】
ステップＳ２１において、検出部９４は、イメージセンサ２１と対象物３１との間の距離を検出する。
【００７２】
［距離検出処理］
ここで、図１０のフローチャートを参照して、操作入力装置１の距離検出処理について詳しく説明する。
【００７３】
図１０は、操作入力装置１の検出処理を説明するフローチャートである。図１０の例では、発光部１９が発光した光が照射された対象物３１をイメージセンサ２１で撮像し、画像処理を実行してイメージセンサ２１と対象物３１との間の距離が検出される。
【００７４】
図１１は、イメージセンサ２１と対象物３１との距離を検出する原理を示す図である。図１１は、イメージセンサ２１から対象物３１が、対象物３１−１乃至３１−３としてそれぞれ示される位置までの距離を検出する図を示している。
【００７５】
発光部１９は、レンズ２０を介して平行光である照射光１７１を一定の角度で照射する。
【００７６】
照射光１７１は、対象物３１−１乃至３１−３のそれぞれで反射して反射光１７２−１乃至１７２−３として、イメージセンサ２１に入射する。
【００７７】
例えば対象物３１−１に照射光１７１を照射した場合、イメージセンサ２１上の反射光１７２−１の入射位置は、発光部１９に近い位置となる。
【００７８】
これに対して対象物３１−１より遠い対象物３１−２による反射光１７２−２の入射位置は、反射光１７２−１の入射位置より発光部１９から遠い位置となる。対象物３１−２よりさらに遠い対象物３１−３による反射光１７２−３の入射位置は、反射光１７２−２の入射位置より発光部１９から遠い位置となる。従って、反射光１７２の入射位置から、対象物３１のイメージセンサ２１からの距離を検出することができる。
【００７９】
図１０に戻り、操作入力装置１のステップＳ４１乃至Ｓ４３の処理は、図５の操作入力装置１のステップＳ１乃至Ｓ３の処理と同様である。従って、これらの処理の詳細な説明は繰り返しになるので適宜省略する。
【００８０】
すなわち、ステップＳ４１において、取得部９２は、イメージセンサ２１から画像を取得する。ステップＳ４２において、画像処理部９３は、画像を２値化する。ステップＳ４３において、画像処理部９３は、光が照射された範囲の画像を切り出す。
【００８１】
ステップＳ４４において、画像処理部９３は、切り出した画像から画像の図心を求める。照射された光および図心は、例えば、図１２に示されるようになる。
【００８２】
図１２は、イメージセンサ２１が撮像した画像を示す図である。図１２では、対象物３１の模様は示されず、反射された光の範囲である輝点１３１−１１，１３１−１２だけが示されている。画像処理部９３は、輝点１３１−１１，１３１−１２から図心１３３−１１，１３３−１２を求める。
【００８３】
なお、以下、図心１３３−１１および１３３−１２を個々に区別する必要がない場合、これらをまとめて図心１３３と称する。
【００８４】
図１０のステップＳ４５において、検出部９４は、イメージセンサ２１と対象物３１との距離を検出する。イメージセンサ２１と対象物３１との距離Ｌ１１は、実験またはシミュレーションに基づいて図心１３３の位置座標ごとに予め計測され、記憶装置７４に記憶されている。
【００８５】
従って、距離Ｌ１１は、検出された図心１３３の位置座標と予め定義されている図心の位置座標を比較することで検出される。
【００８６】
図１２Ａの例では、画像の上側を図１１の発光部１９側であるとすると、輝点１３１−１１は画像の上側にある。したがって、イメージセンサ２１と対象物３１との距離が近いことがわかる。
【００８７】
図１２Ｂの輝点１３１−１２は画像の下側にある。したがって、イメージセンサ２１と対象物３１との距離が図１２Ａよりも遠いことがわかる。
【００８８】
なお、本実施の形態では、輝点１３１の図心１３３の位置を求めることで操作入力装置１と対象物３１との距離を検出するようにしたが、照射光１７１として発散光を用い、輝点１３１の直径または面積を求めることで距離を検出してもよい。
【００８９】
発散光の径は発光部１９からの距離が遠い程大きくなる。そこで、輝点１３１の直径が短いときは、操作入力装置１と対象物３１との間の距離が近く、輝点１３１の直径が長いときは、操作入力装置１と対象物との間の距離が遠いと検出することができる。
【００９０】
なお、距離の検出には、この他、ピント調整によって検出したり、赤外線センサや超音波センサなどを用いてもよい。
【００９１】
図８に戻り、以上のようにして、ステップＳ２１で距離が検出された後、ステップＳ２２において、判定部９８は距離が基準値以上であるかを判定する。ステップＳ２１で検出された距離が予め設定されている基準値より小さいとき、処理はステップＳ２３に進む。
【００９２】
ステップＳ２３において、演算部９５は、イメージセンサ２１を用いて速度演算処理を実行する。この速度演算処理は、図５を参照して説明した通りである。
【００９３】
ステップＳ２４において、取得部９２は、角速度センサ１３により検出された角速度を取得する。
【００９４】
ステップＳ２５において、演算部９５は、次式（１）にしたがって速度を補正する。
【００９５】
Ｖ＝Ｖｉ＋ω×Ｌ      ・・・（１）
【００９６】
式（１）において、Ｖは操作入力装置１の補正された速度を、ＬはステップＳ２１で検出された距離Ｌ１１を、ＶｉはステップＳ２３（図５のステップＳ６）で演算された速度を、ωはステップＳ２４で取得された角速度を、それぞれ示している。式（１）をＸ軸方向、Ｙ軸方向に独立に演算して求めることにより、近接時の操作入力装置１の速度を求めることができる。これにより、対象物３１の面が、平面である場合だけでなく、凸面、凹面、それらの複合であっても正確に速度を検出することができる。
【００９７】
速度は単位時間当りの移動距離であるから、速度に時間を乗算して（すなわち、時間で積分して）距離が求められる。
【００９８】
すなわち図９に示されるように、操作入力装置１と対象物３１とは、距離Ｌ９１だけ離れている。操作入力装置１は、対象物３１から距離Ｌ９１だけ離れた位置で対象物３１と平行に距離Ｌ９２だけ平行移動されたとする。操作入力装置１の軸１Ｃ１が軸１Ｃ２として示される位置まで平行移動した場合の距離はＬ９２となる。しかし、軸１Ｃ２として示される位置から軸１Ｃ３として示される位置まで操作入力装置１が操作中に回動されると、図５を参照して説明した演算により求められる速度に時間を乗算して得られる距離はＬ９３となる。距離Ｌ９２は、距離Ｌ９１と等しくならない。
【００９９】
すなわち、操作入力装置１が平行移動された場合、イメージセンサ２１は位置Ｐ１の対象物３１を撮像する。しかし、操作入力装置１が角度αだけ回動されると、撮像されるのは位置Ｐ２の対象物３１となる。距離Ｌ９３は、位置Ｐ１と位置Ｐ２の距離Ｌ９４だけ、距離Ｌ９２より短い。
【０１００】
そこで、式（１）においては、距離Ｌ９２に対応する速度Ｖｉが、距離Ｌ９４に対応する速度ωＬで補正される。
【０１０１】
なお、操作入力装置１が対象物３１に接触している場合、式（１）の距離Ｌが充分小さいので、検出された速度Ｖｉが操作入力装置１の速度と考えることができる。
【０１０２】
ステップＳ２６において、コマンド生成部９６は、例えば補正された速度に対応するコマンドを生成する。これにより、例えば補正された速度に対応する速度と距離だけカーソルを、検出された方向に移動させるコマンドが生成される。
【０１０３】
ステップＳ２７で送信部９７は、送信器７２からアンテナ７３を介してテレビジョン受像機にコマンドを送信する。テレビジョン受像機は、このコマンドに応じて表示されているカーソルを移動させる。
【０１０４】
なお、方向、速度、距離といった情報をそのままテレビジョン受像機に送信し、テレビジョン受像機側でこれらの情報に基づくコマンドを生成し、認識するようにしてもよい。
【０１０５】
ステップＳ２２で検出された距離が予め設定されている基準値以上であると判定された場合、ステップＳ２６でカーソルの移動を停止するコマンドが生成され、ステップＳ２７でそれが送信される。換言すると、この場合には、カーソルを移動する操作が実質的に禁止される。
【０１０６】
なお、接触部２２が対象物３１に接触している場合には、それに対応するコマンドが送信されるか、接触していることを表わす情報が、方向、速度、距離等の情報と共に送信される。
【０１０７】
操作入力装置１の速度を上記のように求めることにより、接触時から所定範囲（距離Ｌを検出できる範囲またはイメージセンサ２１により撮像できる範囲）までの操作速度と出力される速度信号の整合性を持たせることができ、接触から近接の範囲で操作性のよい操作入力装置１を提供することが可能となる。その結果、ポインティングだけではなく、例えば机上や曲面で構成される対象面、例えば膝のうえでの文字入力も容易に行うことが可能となる。
【０１０８】
［操作コマンド］
図１３は、イメージセンサ２１と対象物３１との距離に応じた操作コマンドの違いを示す図である。
【０１０９】
イメージセンサ２１と対象物３１との距離が基準値としての距離Ｌ０以上の距離Ｌ１４１である場合、操作入力装置１の操作コマンドは、「カーソル操作停止」の画面操作となる。
【０１１０】
イメージセンサ２１と対象物３１との距離が基準値としての距離Ｌ０より小さい距離Ｌ１４２である場合、ただし、接触部２２が対象物３１に接触していない場合、操作入力装置１の操作コマンドは、「カーソル操作」の画面操作となる。すなわち、操作に対応してカーソルが移動される。
【０１１１】
イメージセンサ２１と対象物３１との距離が、接触部２２が対象物３１に接触する距離である場合、すなわちタクトスイッチ２３により１段目のオンが検出されている場合、操作入力装置１の操作コマンドは、「カーソル操作」に加えて、「ドラッグ操作」、「線画操作」などの特殊操作とすることができる。また、接触部２２が、タクトスイッチ２３の２段目をオンさせる位置まで押圧された場合、「決定操作」のコマンドを実行させることができる。
【０１１２】
なお、ユーザがボタン１５を押圧した場合、「カーソル操作停止」のコマンドを実行させることができる。また、イメージセンサ２１と対象物３１が距離Ｌ１４２である場合に、ユーザがボタン１５を押圧した場合、「ドラッグ操作」または「線画操作」のコマンドを実行させることもできる。
【０１１３】
また、接触部２２が対象物３１に接触している状態（すなわち、タクトスイッチ２３の１段目がオンされている状態）において、ユーザがボタン１５を押圧した場合、または接触部２２がタクトスイッチ２３の２段目をオンさせる位置まで押圧され続けている場合、「ドラッグ操作」および「線画操作」の画面操作のコマンドを実行させることもできる。
【０１１４】
さらに、イメージセンサ２１と対象物３１が距離Ｌ１４１である場合、「スクロール」の画面操作のコマンドを実行させ、イメージセンサ２１と対象物３１が距離Ｌ１４２以内である場合、「カーソル操作」の画面操作のコマンドを実行させることもできる。
【０１１５】
さらにまた、イメージセンサ２１と対象物３１が、基準値としての距離Ｌ０より大きい距離Ｌ１４１である場合、角速度センサ１３から取得された物理量としての角速度に基づく画面操作のコマンドを実行させ、イメージセンサ２１と対象物３１が、基準値としての距離Ｌ０より小さい距離Ｌ１４２以内である場合、図８のステップＳ２５で取得された他の物理量としての速度に基づく画面操作のコマンドを実行させることもできる。
【０１１６】
その他、接触部２２に圧力センサを用い、接触部２２が対象物３１に接触している場合、ユーザが対象物３１を押圧する強さに応じて、線の太さを変えて「線画操作」の画面操作のコマンドを実行させることもできる。
【０１１７】
［ノイズ防止］
次に、図１４と図１５を参照して、操作入力装置１が対象物３１と接触している場合のノイズによる影響を抑制する構成について説明する。
【０１１８】
図１４は、操作入力装置１が粗い表面の対象物３１と接触している場合を示す図である。粗い表面の対象物３１とは、例えば、ユーザが履いているジーンズや梨地加工されたテーブルなどである。
【０１１９】
このような粗い表面で操作入力装置１を摺動させると、角速度センサ１３は、例えば図１５Ａに示すように、ノイズを多く含む波形を示す。
【０１２０】
図１５Ａは、ユーザが操作入力装置１を粗い表面の対象物３１の上で使用して、円を描いた場合の角速度センサ１３の出力波形を示す図である。
【０１２１】
図１５Ａでは、横軸が時間（ｍｓ）、縦軸が角速度センサ１３の出力（DIGIT）をそれぞれ表している。図１５Ａには、角速度センサ１３のＸ軸方向の出力波形２１１−１とＹ軸方向の出力波形２１２−１が示されている。
【０１２２】
図１５Ａに示されるように、Ｘ軸方向の出力波形２１１−１およびＹ軸方向の出力波形２１２−１は、多くのノイズを含む。そのためフィルタなどを使用しても、ノイズ成分を充分除去することはできない。
【０１２３】
そのため本実施形態においては、図１４に示されるように、緩衝材１７が接触部２２を支持する筐体１Ｂと角速度センサ１３を支持する筐体１Ａとの間に挟み込まれている。
【０１２４】
緩衝材１７は、例えば、ソルボセイン（商標）などのウレタン系粘弾性材の合成樹脂、ゴム、その他の粘弾性材により構成される。接触部２２に発生する振動が、筐体１Ｂ、筐体１Ａを介して角度センサ１３に伝達されるのが、緩衝材１７により抑制される。
【０１２５】
図１５Ｂは、接触部２２と角速度センサ１３との間に緩衝材１７を挟み込んだ操作入力装置１を、ユーザが粗い表面の対象物３１の上で使用して、円を描いた場合の角速度センサ１３の出力波形を示す図である。
【０１２６】
ただし図１５Ｂは、ユーザが図１５Ａで描いた円とは異なる円を描いた場合の角速度センサ１３の出力波形を示す。
【０１２７】
図１５Ｂの角速度センサ１３のＸ軸方向の出力波形２１１−２およびＹ軸方向の出力波形２１２−２は、図１５Ａの出力波形２１１−１、出力波形２１２−１に較べると、高い周波数成分であるノイズが押圧されていることが判る。
【０１２８】
したがって、緩衝材１７を接触部２２と角速度センサ１３との間に挟み込むことで接触部２２の振動が緩和され、角速度センサ１３の出力波形のノイズを低減することができる。すなわち操作入力装置１は、粗い表面の対象物３１に接触している場合でも操作を反映させることができる。
【０１２９】
［角速度センサ１３の校正］
次に、図１６を参照して、イメージセンサ２１を用いた角速度センサ１３の校正処理を説明する。
【０１３０】
図１６は、角速度センサ１３の構成処理を説明するフローチャートである。
【０１３１】
ステップＳ６１において、取得部９２は、図５の速度演算処理で求めた速度を取得する。
【０１３２】
ステップＳ６２において、判定部９８は、取得された速度が所定の閾値以下であるかを判定する。
【０１３３】
取得された速度が所定の閾値以下であると判定された場合、ステップＳ６３において、制御部９１は、角速度センサ１３のＤＣ（Direct Current）オフセットの校正を実行する。
【０１３４】
ＤＣオフセットの校正とは、角速度センサ１３のＤＣ出力を、所定の基準出力、すなわち、角速度＝０のときの出力に設定することである。
【０１３５】
ステップＳ６２で、取得された速度が所定の閾値以下であると判定された場合、ステップＳ６３の処理をスキップして処理は終了する。
【０１３６】
以上で角速度センサ１３の校正処理を終了する。
【０１３７】
［摺動速度演算処理］
次に、図１７を参照して、図５とは別の操作入力装置１の速度を演算する処理について説明する。図１７は、操作入力装置１の摺動速度演算処理を説明するフローチャートである。
【０１３８】
この実施の形態では、操作入力装置１が対象物３１に接触して、摺動される場合に、イメージセンサ２１に代えて、角速度センサ１３を用いて速度が推定される。
【０１３９】
ステップＳ８１において、取得部９２は、角速度センサ１３が検出した角速度を取得する。
【０１４０】
ステップＳ８２において、取得部９２は、ステップＳ８１で取得された角速度から、操作入力装置１の摺動時に発生する振動のピーク周波数を取得する。なお振動のピーク周波数は、摺動時の音をマイクロホン１６で集音した信号から取得してもよい。摺動時の振動の周波数は、構成要素を介して伝播される振動から検出することができる。
【０１４１】
操作入力装置１の振動の周波数は、操作入力装置１の速度に比例する。すなわち、操作入力装置１の振動の周波数が大きい場合、操作入力装置１の移動速度は速いことになる。
【０１４２】
ステップＳ８３において、取得部９２は、ピーク周波数に応じた補正値を取得する。補正値は、ピーク周波数に応じて定義され、記憶装置７４に予め記憶されている。
【０１４３】
ステップＳ８４において、演算部９５は、ステップＳ８１の処理で取得された角速度に、ステップＳ８３の処理で取得された補正値を乗じることで操作入力装置１の摺動速度を演算する。
【０１４４】
すなわち、この実施の形態では、操作入力装置１の操作量の代表として角速度センサ１３により検出された角速度が用いられる。ただし角速度だけでは、摺動操作時の併進成分が検知されず、ユーザの操作量と操作出力に不整合が発生する。そこで上述したような補正処理が行われる。
【０１４５】
なお、角速度に代えて加速度を検出し、それを微分して、それから摺動速度を推定することもできる。
【０１４６】
以上で操作入力装置１の摺動速度演算処理を終了する。
【０１４７】
これにより操作入力装置１は、イメージセンサ２１を利用せずに接触時の摺動速度を演算することができる。
【０１４８】
［ジェスチャ検出］
次に、図１８を参照して、操作入力装置１のジェスチャ検出について説明する。ジェスチャは、角速度センサ１３の出力波形に基づいて検出される。
【０１４９】
ジェスチャとは、例えば、対象物３１に接触した状態での操作入力装置１によるフリック、往復操作、円を描く操作などである。
【０１５０】
図１８Ａは、操作入力装置１が対象物３１と接触している状態で、ユーザが往復操作および円を描く操作を実行した場合の角速度センサ１３の出力波形を示す図である。
【０１５１】
図１８Ａには、２軸の角速度センサ１３のＸ軸方向の出力波形２１１−１１およびＹ軸方向の出力波形２１２−１１が示されている。
【０１５２】
Ｘ軸方向の出力波形２１１−１１は、操作入力装置１を右方向に動かした場合に正の値となり、左方向に動かした場合に負の値となる。またＹ軸方向の出力波形２１２−１１は、操作入力装置１をユーザの手前方向に動かした場合に正の値となり、ユーザの奥方向に動かした場合に負の値となる。
【０１５３】
図１８Ａは、右方向への操作の波形２３１、左方向への操作の波形２３２、手前方向への操作の波形２３３、奥方向への操作の波形２３４、時計回りに円を描く操作の波形２３５、および反時計回りに円を描く操作の波形２３６が示されている。
【０１５４】
往復操作の波形２３１乃至２３４は、それぞれの方向へ２回操作した場合の波形が示される。円を描く操作の波形２３５，２３６は、それぞれの方向へ３回操作した場合の波形が示されている。
【０１５５】
右方向への操作の波形２３１では、Ｘ軸方向の出力波形２１１−１１が正の方向へ大きく変化している。左方向への操作の波形２３２では、Ｘ軸方向の出力波形２１１−１１が負の方向へ大きく変化している。
【０１５６】
手前方向への操作の波形２３３では、Ｙ軸方向の出力波形２１２−１１が負の方向へ大きく変化している。奥方向への操作の波形２３４では、Ｙ軸方向の出力波形２１２−１１が正の方向へ大きく変化している。
【０１５７】
このように往復操作のジェスチャは、それぞれに対応するジェスチャ検出手段としての角速度センサ１３の出力波形の変化により検出することができる。
【０１５８】
時計回りに円を描く操作の波形２３５では、Ｘ軸方向の出力波形２１１−１１が先に変化し、位相差９０度でＹ軸方向の出力波形２１２−１１が変化する。また、反時計回りに円を描く操作の波形２３６では、Ｙ軸方向の出力波形２１２−３が先に変化し、位相差９０度でＸ軸方向の出力波形２１１−３が変化する。
【０１５９】
このように円を描く操作のジェスチャは、Ｘ軸方向の出力波形２１１−１１とＹ軸方向の出力波形２１２−１１のうち、どちらが先に変化したかに基づいて回転方向を検出することができる。
【０１６０】
図１８Ｂは、ユーザがさまざまな対象物の上で小さい円を描く操作を実行した場合の角速度センサ１３の出力を示す図である。
【０１６１】
図１８Ｂには、角速度センサ１３のＸ軸方向の出力波形２１１−１２およびＹ軸方向の出力波形２１２−１２が示されている。
【０１６２】
図１８Ｂは、手のひらを対象面とした場合の出力波形２５１、対称面に接触しない場合（空中）の出力波形２５２、机上を対象面とした場合の出力波形２５３、ジーンズを対象面とした場合の出力波形２５４、パーソナルコンピュータ筐体を対象面とした場合の出力波形２５５、およびパーソナルコンピュータの液晶ディスプレイを対象面とした場合の出力波形２５６を示している。
【０１６３】
図１８Ｂに示されるように、それぞれの波形２５１乃至２５６は、同様の波形を示す。このことは、円を描く操作のジェスチャは、対象物に依存せずに検出することができることを意味する。
【０１６４】
図１８Ｃは、ユーザがフリック操作を実行した場合の角速度センサ１３の出力波形を示す図である。図１８Ｃには、角速度センサ１３のＹ軸方向の出力波形２１２−１３が示されている。
【０１６５】
図１８Ｃは、机上を対象面とした場合の出力波形２７１と対称面に接触しない場合（空中）の出力波形２７２が示されている。机上を対象面とした場合の出力波形２７１および対称面に接触しない場合の出力波形２７２のそれぞれは、６回のフリックが示されており、左側から順にフリックする時間が長くなっている。
【０１６６】
机上を対象面とした場合の出力波形２７１および対称面に接触しない場合の出力波形２７２のそれぞれは、同様の波形を示す。
【０１６７】
机上でフリックを実行する場合、接触部２２は、フリック時に押圧される。フリック時に接触部２２が押圧された個所は、フリック箇所２９１−１乃至２９１−６で示されている。
【０１６８】
フリック箇所２９１−Ｎ（Ｎは１から６までの自然数）でのフリック時間は、上述のようにＮが大きくなるほど長くなる。
【０１６９】
このようにフリックのジェスチャは、対象物に依存せずに検出することができ、フリックする時間の違いを検出することができる。
【０１７０】
なおジェスチャは、イメージセンサ２１の出力に基づいて検出することもできる。
【０１７１】
なお、操作入力装置１は、電子機器とすることもできる。
【０１７２】
本発明の実施の形態は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１７３】
１  操作入力装置，  １１  メイン基板，  １２  センサ基板，  １３  角速度センサ，  １７  緩衝材，  １９  発光部，  ２０  レンズ，  ２１  イメージセンサ，  ２２  接触部，  ２３  タクトスイッチ，  ５１  ピンホール，  ５２  ピンホール板，  ９１  制御部，  ９２  取得部，  ９３  画像処理部，  ９４  検出部，  ９５  演算部，  ９６  コマンド生成部
【図１】
2011128846.tif 000003
【図２】
2011128846.tif 000004
【図３】
2011128846.tif 000005
【図４】
2011128846.tif 000006
【図５】
2011128846.tif 000007
【図６】
2011128846.tif 000008
【図７】
2011128846.tif 000009
【図８】
2011128846.tif 000010
【図９】
2011128846.tif 000011
【図１０】
2011128846.tif 000012
【図１１】
2011128846.tif 000013
【図１２】
2011128846.tif 000014
【図１３】
2011128846.tif 000015
【図１４】
2011128846.tif 000016
【図１５】
2011128846.tif 000017
【図１６】
2011128846.tif 000018
【図１７】
2011128846.tif 000019
【図１８】
2011128846.tif 000020