JP2004341892A - Instruction input device, instruction input method, and program - Google Patents
Instruction input device, instruction input method, and program Download PDFInfo
- Publication number
- JP2004341892A JP2004341892A JP2003138645A JP2003138645A JP2004341892A JP 2004341892 A JP2004341892 A JP 2004341892A JP 2003138645 A JP2003138645 A JP 2003138645A JP 2003138645 A JP2003138645 A JP 2003138645A JP 2004341892 A JP2004341892 A JP 2004341892A
- Authority
- JP
- Japan
- Prior art keywords
- movement
- predetermined
- light emitting
- instruction input
- speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、指示入力装置、指示入力方法、及びプログラムに関し、特に、発光手段の位置情報に基づいて指示入力する指示入力装置、指示入力方法、及びプログラムに関するものである。
【0002】
【従来の技術】
パソコン等に対して指示入力するためのデバイスとして、従来より2次元マウスが広く用いられている。2次元マウスはx−y座標値を相対座標値としてパソコンに指示入力する。近年、この2次元マウスを用いて3つ目の座標値を入力する技術が提案されている。
【0003】
例えば、発光体としてLEDを指に装着し、LEDからの光を受光する受光部をパソコンの画面の上部に取付けることにより、容易に3次元マウスが達成される(例えば、特許文献1参照。)。ここで用いられるセンサは、光源のセンサに対する角度を求め、三角測量の原理により光源の3次元位置を求めるものである。LEDは光源としてのパワーをパソコンから受け取り、またマウスの基本動作であるクリックなどのシグナルは有線を通してパソコンの基本ソフトに送られる。即ち、発光体のそばに指で押すことのできるスイッチが装備されている。
【0004】
また、2次元上の2つのボールを回転させることによって、x、y軸方向の移動量を入力できるのみならず、角度や回転角も入力でき、z軸方向に対する入力も可能となるポインティングデバイス(例えば、特許文献2参照。)や、第一の方向に光変換素子を配列した第1の光センサアレイと、第1の方向とは別の第二の方向に光変換素子を配列した第2の光センサアレイとが移動するときに両者の出力変化に応じた信号を生成し、それにより(カーソルなどの)移動量や移動方向を決定する非接触方式の位置検出装置(例えば、特許文献3参照。)が知られている。
【0005】
さらに、指標をCCDカメラで認識してパソコンなどに対するコマンドとして解釈するリモコン装置(例えば、特許文献4参照。)や、電子ペンの中に指で回転されるロータリースイッチが設けられ、その回転度合いによってグラフィカルパラメター(線分の太さ、色、陰影、グレイスケール)の変化の度合いを決定する座標入力用電子ペン(例えば、特許文献5参照。)や、ユーザの手首に装着されたRFIDの動きをアンテナにより認識させてから、RFIDの動きのパターンを他のデバイスへの入力コマンドとして解釈する指示入力システム(例えば、特許文献6参照。)が知られている。
【0006】
また、米国Gyration Inc.社のGyromouseは、オートジャイロを内臓しており、空中操作でレーザーの方向を変えることができるポインティングデバイスであるが、重量が比較的大きく、大きさもジャイロのために比較的大きく、また多少高価である。
【0007】
さらに近年、カメラのシャッタ操作における半押しの概念を応用した、パソコンのキーボードで、カメラのシャッタのように強く押さないと文字が入力されないという特性を生かし、キーボードとノートバッドを重ねたデバイスが試作された。
【0008】
また、本出願人により、五感の少なくとも1つに訴えるようなフィードバック(焦点メタファーや色相等の変化)によって、画面の前面に広がる3次元空間上の分割された複数の領域の各境界に対する発光手段の通過状態をユーザに認知させ、機械的メカニズムを利用せずに、発光手段の各領域の境界に対する通過の仕方に応じて、クリック、ダブルクリック、ドラッグなどの2次元マウスの機能を実行することができる3次元指示入力装置が提案されている(特願2003−96366号。)。
【0009】
【特許文献1】
特開平10−9812号公報
【特許文献2】
特開平5−150900号公報
【特許文献3】
特開平11−24832号公報
【特許文献4】
特開平11−110125号公報
【特許文献5】
特開2000−47805号公報
【特許文献6】
特開2001−306235号公報
【0010】
【発明が解決しようとする課題】
しかしながら、上述した従来の3次元マウスは、発光体のそばに装備されたスイッチを指で押すことによって操作するため、2次元マウスと同様に機械的操作及びそれを実現する部品を必要とする。また、上述した従来のポインティングデバイスや指示入力システム等の他の指示入力デバイスも同様である。
【0011】
さらに、米国Gyration Inc.社のGyromouse Presenterも、クリック等の操作は通常の2次元マウス同様、指による機械的操作を必要としている。また、キーボードとノートバッドを重ねたデバイスでも、同様である。
【0012】
すなわち、従来の指示入力デバイスは、ボタンやスイッチ等を押下するような比較的細かい操作が必要なため、機械的操作を行うことが比較的困難な人にとっては、使い勝手が悪い。
【0013】
また、本出願人が提案した3次元指示入力装置では、3次元空間を複数の領域に分割するための各境界の位置が固定されているために、ユーザは発光手段を装着した手や指を各境界の位置に合うような位置に移動させて、各境界を確認しながら手や指を動かさなくてはならないため、細やかな操作が必要となる。
【0014】
本発明は、上述した事実に鑑みてなされたものであり、機械的操作や比較的細やかな操作を必要とせず、使い勝手を向上させた指示入力装置、指示入力方法、及びプログラムを提供することを目的とする。
【0015】
【課題を解決するための手段】
上記目的を達成するために、本発明の指示入力装置は指示入力者に装着可能な発光手段から発光された光の受光状態に基づいて計測された該発光手段の位置情報を入力する入力手段と、前記入力された位置情報に基づいて、前記発光手段の動きに伴う速さに関する物理量を検出する検出手段と、前記検出された速さに関する物理量に基づいて、前記発光手段の動きが予め定められた動きに対応するか否かを判断する判断手段と、前記発光手段の動きが予め定められた動きに対応すると判断された場合に、前記予め定められた動きに対応付けられた処理の実行を指示する指示手段と、を含んで構成されている。
【0016】
発光手段は、指示入力者に装着可能であり、指や手などに装着されることが好ましい。発光手段は、光を発するものであれば特に限定されず、例えばLEDとすることができる。計測手段は、発光手段から発光された光の受光状態に基づいて発光手段の位置情報を計測する。
【0017】
入力手段は、該発光手段の位置情報を入力する。位置情報は、例えば、3次元位置情報のx、y、z軸上の位置情報であってもよいし、そのうちの1つ、例えばz軸上の位置情報のみであってもよい。
【0018】
検出手段は、入力手段により入力された位置情報に基づいて、発光手段の動きに伴う速さに関する物理量を検出する。
【0019】
判断手段は、検出手段により検出された速さに関する物理量に基づいて、発光手段の動きが予め定められた動きに対応するか否かを判断する。例えば、速さに関する物理量に対する閾値を定めておき、該閾値を越えた場合に、発光手段の動きが予め定められた動きに対応すると判断するようにしてもよい。
【0020】
なお、予め定められた動きは、1つであってもよいし、複数あってもよい。また、複数の細かな動きにより構成された動きであってもよい。
【0021】
指示手段は、判断手段により発光手段の動きが予め定められた動きに対応すると判断された場合に、該予め定められた動きに対応付けられた処理の実行を指示する。
【0022】
従って、本発明によれば、機械的操作や比較的細やかな操作を必要とせずに指示入力することができる。
【0023】
本発明に係る指示入力装置は、更に、各々異なる複数の予め定められた動きを示す動き情報を記憶する記憶手段を備え、前記判断手段は、前記記憶された複数の動き情報から前記発光手段の動きに対応する少なくとも1つの動き情報を選択する選択手段と、前記発光手段の動きが前記選択手段で選択された動き情報により示される動きに対応するか否かを検証する検証手段と、を含んで構成されることもできる。
【0024】
記憶手段は、各々異なる複数の予め定められた動きを示す動き情報を記憶する。この動き情報は、特に限定されず、例えば、予め定められた動きを特徴付ける情報としてもよい。記憶手段は、例えば、揮発性メモリであっても、非揮発性メモリであってもよい。
【0025】
判断手段は、選択手段と検証手段とを備えることができる。選択手段は、記憶手段に記憶された複数の動き情報から発光手段の動きに対応する少なくとも1つの動き情報を選択する。検証手段は、発光手段の動きが選択手段で選択された動き情報により示される動きに対応するか否かを検証する。
【0026】
本発明の前記動き情報は、位置の時系列の情報であり、前記入力手段は、前記位置情報を時系列に入力し、前記選択手段は、前記時系列に入力された位置情報に基づいて、前記少なくとも1つの動き情報を選択することもできる。
【0027】
位置の時系列の情報には、例えば、時間軸上で連続した位置の情報が含まれる。入力手段は、例えば、所定時間毎に位置情報を入力することにより、位置情報を時系列に入力することができ、選択手段は、この時系列に入力された位置情報に基づいて、少なくとも1つの動き情報を選択するが、例えば、その際、該入力された時系列の位置情報と、予め定められた動きを示す動き情報(位置の時系列の情報)とを比較して、選択してもよい。
【0028】
本発明の前記検証手段は、前記検出された速さに関する物理量に基づいて、前記発光手段の動きが前記選択手段で選択された動き情報により示される動きに対応するか否かを検証することもできる。
【0029】
本発明の前記速さに関する物理量は、前記発光手段の動きに伴う加速度及び速度の少なくとも1つとすることができる。
【0030】
本発明に係る指示入力装置は、処理の実行が指示される対象情報、及び該対象情報を指定するための指定情報を表示する表示手段と、前記入力された位置情報の変化に対応して前記指定情報の位置が変化するように前記表示手段を制御する表示制御手段と、を更に備え、前記指示手段は、前記発光手段の動きが予め定められた動きに対応すると判断された場合に、前記指定情報により指定された前記対象情報について、前記予め定められた動きに対応付けられた処理の実行を指示することができる。
【0031】
表示手段は、処理の実行が指示される対象情報、及び該対象情報を指定するための指定情報を表示する。表示手段は、情報を表示するものであれば特に限定されず、テレビの画面や、パソコン等に備えられたディスプレイであってもよいし、PDAなどに備えられたタッチパネルであってもよい。処理の実行が指示される対象情報は、表示手段が、パソコン等に備えられたディスプレイ等であれば、アイコンや、フォルダ、或いは入力位置そのものとすることができる。また、対象情報を指定するための指定情報手段は、例えばパソコンで用いられるカーソルであってもよい。
【0032】
表示制御手段は、入力された位置情報の変化に対応して指定情報の位置、例えばカーソルの位置が変化するように表示手段を制御する。
【0033】
指示手段は、発光手段の動きが予め定められた動きに対応すると判断された場合に、指定情報により指定された対象情報について、予め定められた動きに対応付けられた処理の実行を指示する。
【0034】
本発明の前記指示手段は、前記発光手段の動きが予め定められた動きに対応すると判断された前記発光手段の動きの中で、前記指定情報により指定された対象情報について、前記予め定められた動きに対応付けられた処理の実行を指示することができる。
【0035】
例えば、発光手段の動きの中で、その位置情報が変化する場合には、指定情報の位置もその変化に対応して変化する場合がある。例えば、指定情報がパソコンで用いられるカーソルである場合には、カーソルの表示位置が変化し、発光手段の動きの開始点と終了点でカーソルが指定する対象情報が異なる場合が発生することもある。この場合には、いずれの対象情報について予め定められた動きに対応付けられた処理の実行を指示するかを予め設定しておいてもよい。
【0036】
本発明の前記予め定められた動きは、所定の方向を1往復する動きとすることができる。例えば、この動きを、パソコンのマウスで操作されるクリックの動きとみなすことができる。
【0037】
本発明の前記予め定められた動きは、所定の時間以内の所定の方向を1往復する動きであり、前記発光手段の動きに伴う時間を算出する算出手段を備え、前記判断手段は、前記検出された速さに関する物理量及び前記算出手段により算出された時間に基づいて、前記発光手段の動きが前記予め定められた動きであるか否かを判断することができる。
【0038】
本発明の前記予め定められた動きは、所定の方向を2往復する動きとすることができる。例えば、この動きを、パソコンのマウスで操作されるダブルクリックの動きとみなすことができる。
【0039】
本発明の前記予め定められた動きは、所定の時間以内の所定の方向を2往復する動きであり、前記発光手段の動きに伴う時間を算出する算出手段を備え、前記判断手段は、前記検出された速さに関する物理量及び前記算出手段により算出された時間に基づいて、前記発光手段の動きが前記予め定められた動きであるか否かを判断することができる。
【0040】
本発明の前記予め定められた動きは、所定の方向に移動すると共に、該所定の方向に移動した後、更に該所定の方向或いは該所定の方向と直交する方向或いは該両方向に挟まれた方向に移動する動きとすることができる。例えば、この動きを、パソコンのマウスで操作されるドラッグの動きとみなすことができる。
【0041】
本発明の前記予め定められた動きは、所定の方向に移動すると共に、該所定の方向に移動した後、所定の時間経過してから、更に該所定の方向或いは該所定の方向と直交する方向或いは該両方向に挟まれた方向に移動する動きであり、前記発光手段の動きに伴う時間を算出する算出手段を備え、前記判断手段は、前記検出された速さに関する物理量及び前記算出手段により算出された時間に基づいて、前記発光手段の動きが前記予め定められた動きであるか否かを判断することができる。
【0042】
本発明の前記予め定められた動きは、所定の方向と逆の方向に移動する動きとすることができる。例えば、この動きを、パソコンのマウスで操作されるドロップの動きとみなすことができる。
【0043】
本発明の前記予め定められた動きは、静止している状態とすることができる。
【0044】
本発明の前記予め定められた動きは、所定の時間静止している状態であり、前記発光手段の動きに伴う時間を算出する算出手段を備え、前記判断手段は、前記検出された速さに関する物理量及び前記算出手段により算出された時間に基づいて、前記発光手段の動きが、前記所定の時間静止している状態であるか否かを判断することができる。
【0045】
本発明の前記発光手段の動きに伴う時間を算出する算出手段を備え、前記判断手段は、前記検出された速さに関する物理量及び前記算出された時間に基づいて、前記発光手段の動きが予め定められた動きに対応するか否かを判断することができる。
【0046】
このように、検出された速さに関する物理量と共に、算出手段によって算出された、発光手段の動きに伴う時間を発光手段の動きの判断条件として用いることができる。
【0047】
本発明の前記判断手段が前記発光手段の動きが予め定められた動きに対応するか否かを判断する際、前記発光手段の動き又は前記予め定められた動きに許容量を持たせて判断することができる。
【0048】
例えば、指示入力者が発光手段を手に装着して動かす場合、手のふらつきによって、意図しない微細なぶれが生じる場合がある。従って、判断手段は、発光手段の動き又は予め定められた動きに許容量を持たせて判断することが好ましい。
【0049】
本発明の前記表示制御手段は、前記検出された速さに関する物理量に基づいて前記指示情報の表示状態を変化させるように制御することができる。
【0050】
本発明の前記表示制御手段は、前記検出された速さに関する物理量に基づいて前記指示情報の形状、大きさ、色の少なくとも1つを変化させるように制御することができる。
【0051】
本発明の前記表示制御手段は、前記指定情報の位置から所定の距離以内に表示される対象情報の大きさを変化させるように制御することができる。
【0052】
本発明に係る指示入力装置は、音声を出力するための発音手段と、前記検出された速さに関する物理量に基づいて発音状態を変化させるように前記発音手段を制御する音声出力制御手段と、を更に備えてもよい。
【0053】
ここで、発音手段は、音声を発生するものであればよく、例えばスピーカとすることもできる。
【0054】
本発明に係る指示入力方法は、指示入力者に装着可能な発光手段から発光された光の受光状態に基づいて該発光手段の位置情報を計測する計測工程と、前記計測工程で計測された位置情報を入力する入力工程と、前記入力された位置情報に基づいて、前記発光手段の動きに伴う速さに関する物理量を検出する検出工程と、前記検出された速さに関する物理量に基づいて、前記発光手段の動きが予め定められた動きに対応するか否かを判断する判断工程と、前記発光手段の動きが予め定められた動きに対応すると判断された場合に、前記予め定められた動きに対応付けられた処理の実行を指示する指示工程と、を含む。
【0055】
本発明によれば、機械的操作や比較的細やかな操作を必要とせずに指示入力することができる。
【0056】
本発明に係るプログラムは、コンピュータに、指示入力者に装着可能な発光手段から発光された光の受光状態に基づいて計測された該発光手段の位置情報を入力する入力工程と、前記入力された位置情報に基づいて、前記発光手段の動きに伴う速さに関する物理量を検出する検出工程と、前記検出された速さに関する物理量に基づいて、前記発光手段の動きが予め定められた動きに対応するか否かを判断する判断工程と、前記発光手段の動きが予め定められた動きに対応すると判断された場合に、前記予め定められた動きに対応付けられた処理の実行を指示する指示工程と、を実行させる。
【0057】
本発明のプログラムをコンピュータで実行すれば、機械的操作や比較的細やかな操作を必要とせずに指示入力することができる。
【0058】
なお、本プログラムを記憶する記憶媒体は、特に限定されず、ハードディスクであってもよいし、ROMであってもよい。また、CD−ROMやDVDディスク、光磁気ディスクやICカードであってもよい。更にまた、該プログラムを、ネットワークに接続されたサーバ等からダウンロードするようにしてもよい。
【0059】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
【0060】
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係る指示入力装置としての機能を備えたパソコン30を含む指示入力システムの構成を示す図である。
【0061】
図示されるように、指示入力システムは、LED10と、3D計測装置20と、パソコン30とを備えている。
【0062】
LED10は、指示入力者の指や手等に装着される。
【0063】
3D計測装置20は、LED10から発光された光の受光状態に基づいて3次元位置を計測する。
【0064】
なお、この3D計測装置20は、LED10等の発光体から発光された光の受光状態から3次元位置を計測できる装置であれば特に限定されないが、特開平10−9812号公報に記載された位置検出の技術等を用いて構成することができる。
【0065】
図2は、パソコン30の具体的な構成を示した図である。
【0066】
図示されるように、パソコン30のパソコン32本体は、CPU34、ROM36、RAM38、及び入出力インタフェース(I/O)40を含んで構成されている。また、I/O40には、3D計測装置20と、ディスプレイ42と、スピーカ44と、ハードディスクドライブ(HDD)46とが接続されている。
【0067】
HDD46には、LED10の動きに伴う速度及び加速度に基づいて所定の処理の実行を指示するための指示入力処理ルーチンのプログラム(以下、指示入力処理プログラムと呼称)及び指示入力処理プログラムを実行するための設定情報等が記憶されている。CPU34は、指示入力処理プログラム及び設定情報をRAM38にロードして、該プログラムを実行する。
【0068】
なお、指示入力処理プログラムを記憶する記憶媒体は、HDD46に限定されず、ROM36であってもよい。また、図示は省略するが、I/O40に接続されたCD−ROMやDVDディスク、光磁気ディスクやICカードであってもよい。更にまた、該プログラムを、ネットワークに接続されたサーバ等からダウンロードするようにしてもよい。
【0069】
図3は、パソコン本体32の構成を機能的に示した図である。
【0070】
図示されるように、パソコン本体32は、コマンド生成部50と、マウスドライバ52と、OS54と、イメージ・ドライバ56とを含んで構成されている。
【0071】
コマンド生成部50は、3D計測装置20で計測された3次元位置情報を入力して、LED10の動きに伴う速度及び加速度を検出する。更に、検出した速度及び加速度に基づいて、LED10の動きが、ボタンが装備された一般的なマウス(以下、これを2次元マウスと呼称する)におけるボタン操作、すなわち、クリック、ダブルクリック、ドラッグ・アンド・ドロップ、のいずれに対応する動きかを判断し、判断結果に対応するコマンドを生成してマウスドライバ52に出力する。
【0072】
図4は、クリック、ダブルクリック、ドラッグ・アンド・ドロップの各指示動作の一例を具体的に示した図である。
【0073】
なお、ここでは、3D計測装置20から指示入力者の手に向かう方向をz軸とし、z軸に直交する平面をx軸及びy軸からなるx−y平面として、xyz座標系を定める。また、z軸上で、3D計測装置20から離れる方向をプラスの方向とする。
【0074】
なお、パソコン30のディスプレイ42の画面と3D計測装置20の位置が一致していれば、z座標値は該画面からの距離となり、該画面をほぼx−y平面と見なすことができる。
【0075】
本実施の形態では、クリックの動きは、予め設定されている時間以内の、3D計測装置20に近づく方向(z軸のマイナスの方向)に急速に移動した後、逆の方向(z軸のプラスの方向)に急速に移動する(すなわち、z軸上を1往復する)動きとして設定されており、図ではAの動きに相当する。
【0076】
ダブルクリックの動きは、予め設定されている時間以内の、クリックの動きを連続して2回繰り返す(すなわち、z軸上を2往復する)動きとして設定されており、図ではBの動きに相当する。
【0077】
ドラッグ・アンド・ドロップの動きは、ドラッグとドロップの動きとから構成され、図ではCの動きに相当する。ドラッグは、z軸のマイナスの方向に急速に移動した後、予め設定されている時間経過後、ゆっくりとマイナス方向或いはx−y平面上を移動しする動きとして設定されている。なお、ゆっくりとマイナス方向或いはx−y平面上を移動する動きには、時間の制限はない。ドロップは、z軸のプラスの方向に急速に移動する動きとして設定されいる。
【0078】
パソコン30には、動きに伴う速度及び加速度の閾値(本実施の形態では、V0、A0)が絶対値で設定されていると共に、動きに伴う時間の閾値(本実施の形態では、T10、T20)が設定されている。コマンド生成部50は、検出した速度及び加速度と該設定されている速度及び加速度の閾値とを比較すると共に、LED10の動きに伴う時間と該設定されている時間の閾値とを比較して、LED10の動きが上述の予め設定されている動きに対応するか否かを判断する。
【0079】
なお、加速度を用いて判断することにより、LED10を急速に動かしている状態とそうでない状態、すなわち、指示入力者が意識して手を動かしている状態と、指示入力する意志がなく、自由に手を動かしている状態とを区別することができる。
【0080】
また、速度を用いて判断することにより、LED10をある程度の距離だけ動かしたことを認識でき、実際のLED10の動きを判断することができる。速度を判断材料とすることにより、3次元位置情報から移動距離自体を算出して用いる場合に比して、より小さな動きを認識することが可能となる。
【0081】
なお、図4においては、加速度の状態は実線の矢印で、速度の状態は点線の矢印で示されている。
【0082】
マウスドライバ52は、3Dマウス・コマンド生成装置50からコマンドが入力されて、OS54に出力する。
【0083】
OS54は、マウスドライバ52から入力されたコマンドを解釈して該コマンドに対応した処理を実行する。
【0084】
イメージドライバ56は、OS54の制御の下で、ディスプレイ42にLED10の動きに対応した画像を表示させるための処理を行う。
【0085】
なお、図示を省略するが、パソコン本体32にはサウンドドライバも備えられている。サウンドドライバは、OS54の制御の下で、スピーカ44にLED10の動きに対応した音声を発音させるための処理を行う。
【0086】
以下、本実施の形態における指示入力処理について説明する。
【0087】
指示入力者がLED10を装着した手を3D計測装置20の前(受光領域)で動かす。手の動きに応じてLED10の位置が変化する。3次元計測装置20は、LED10の3次元位置を所定時間毎に計測する。3次元計測装置20は、LED10の3次元位置情報を逐次パソコン30に出力する。
【0088】
図5から図7は、パソコン30のCPU34により行われる、指示入力処理のメインルーチンを示したフローチャートである。
【0089】
図8は、ダブルクリックの動きに対応するLED10の動きの一例を示した図である。
【0090】
図8において、横軸は時間軸、縦軸はz軸を表している。B0点〜B4点で示される太実線はLED10の動きの軌跡を表している。細実線矢印は加速度の状態を表し、点線矢印は速度の状態を表している。
【0091】
なお、太実線で示される時間軸上のLED10の動き、該動きに伴う加速度及び速度は、実際には非常に小さいものであるが、本図では誇張して描かれている。
【0092】
以下、図5から図7の各フローチャートを用いて、図8と対比させながら、指示入力処理について説明する。
【0093】
なお、各フローチャートでは図示は省略しているが、パソコン30は、所定時間毎に3D計測装置20からLED10の3次元位置情報を入力する。そして、入力の度に、入力された3次元位置情報に基づいてLED10の動きに伴う速度及び加速度を検出する。本実施の形態では、入力された3次元位置情報に含まれる、z座標値を用いて、z軸上での速度及び加速度を検出する。
【0094】
例えば、速度は、3次元位置情報のz座標値の差分を時間の差分で割ることにより検出し、加速度は、検出した速度を時間の差分で割ることにより検出することができる。なお、3D計測装置20から離れる方向がz軸のプラスの方向であるため、LED10を3D計測装置20から離れる方向に移動させれば、速さ及び加速度の符号は+となり、3D計測装置20に近づく方向に移動させれば、速さ及び加速度の符号は−となる。
【0095】
図5のフローチャートのステップ100で、上述のように検出した加速度に−の符号を付した値が、加速度の閾値A0を越えたか否かを判断する。
【0096】
前述したように、LED10を3D計測装置20に近づく方向に動かせば、速さ及び加速度の符号は−となる。従って、この場合には、−の符号を付すことにより速さ及び加速度は正の値となる。LED10を3D計測装置20から離れる方向に動かせば、−の符号を付すことにより速度及び加速度は負の値となる。また、前述したように、閾値V0及び閾値A0は、絶対値で設定されている。
【0097】
このことから、加速度に−の符号を付した値が、閾値A0を越えたか否かを判断することで、十分な加速度をもってLED10を3D計測装置20に近づく方向に移動させたか否かを判断することができる。
【0098】
ステップ100で、−加速度≦A0であると判断した場合には、3D計測装置20から次の3次元位置情報を入力するまで、待機状態を維持する。図8では、B0点以前の状態が待機状態に相当する。
【0099】
また、−加速度>A0であると判断した場合には(図8では、B0点に相当)、指示入力者が意志をもって手を動かした状態であるため、ステップ102に移行し、タイマT1及びタイマT2をスタートさせる。
【0100】
ここで、タイマT1は、ある方向への移動を開始してから該ある方向とは逆の方向への移動を開始するまでの時間を計時するために用いられるタイマである。タイマT1に対しては、予め閾値T10が設定されている。
【0101】
タイマT2は、ダブルクリックの動きを判断するために用いられるタイマである。タイマT2に対しては、予め閾値T20が設定されている。
【0102】
ステップ104で、速度に−の符号を付した値が、閾値V0を越えたか否かを判断する。加速度と同様に、速度にも−の符号を付して閾値V0と比較する。
【0103】
ステップ104で、−速度≦V0であると判断した場合には、ステップ116に移行し、タイマT1及びT2をリセットして、待機状態に戻る。
【0104】
ステップ104で、−速度>V0であると判断した場合には(図8ではB1点に相当)、ステップ106に移行し、加速度が閾値A0を越えたか否かを判断する。なお、ここでは、LED10の移動方向を明瞭にするために便宜上加速度に+の符号を付す。
【0105】
ステップ106で、+加速度≦A0であると判断した場合には、ステップ108に移行し、タイマT1が閾値T10を越えたか否かを判断する。ここで、タイマT1≦T10であると判断した場合には、ステップ106に戻り、次に3D計測装置20から入力された3次元位置情報に基づいて速度及び加速度を検出し、判断する。
【0106】
ステップ106で、+加速度>A0であると判断した場合には、ステップ110に移行し、タイマT1が閾値T10以下であるか否かを判断する。
【0107】
ステップ110で、タイマT1>T10であると判断した場合には、LED10の動きは予め設定されている動きのいずれにも対応しないため、ステップ116に移行し、タイマT1及びT2をリセットして、待機状態に戻る。ステップ110で、タイマT1≦T10であると判断した場合には、LED10の動きは予め設定されている時間以内の動きであるため、ステップ112に移行し、速度が、閾値V0を越えたか否かを判断する。
【0108】
ステップ112で、−速度≦V0であると判断した場合には、LED10の動きは予め設定されている動きのいずれにも対応しないため、ステップ116に移行し、タイマT1及びT2をリセットして、待機状態に戻る。−速度>V0であると判断した場合には、LED10の動きは前述した予め設定されているクリックの動きに対応するため、ステップ114に移行し、クリック処理を行う(図8では、B2点に相当)。
【0109】
具体的に図3の機能構成図を用いて説明すると、コマンド生成部50が、クリックの動きに対応付けられた処理の実行を指示するためのコマンドをマウスドライバ52に出力する。コマンド生成部50は、該コマンドを2次元マウスにおけるボタン操作によるコマンドと同様の形式で出力する。これにより、マウスドライバ52を介して該コマンドが入力されたOS54では、2次元マウスと同様に該コマンドを解釈して適切な処理を実行することができる。
【0110】
ステップ114のクリック処理を実行した後は、図6のステップ120に移行し、タイマT1をリセットしてスタートさせる。このステップ以降の処理は、LED10の動きがダブルクリックの動きであるか否かを判断するための処理となる。
【0111】
ステップ122では、次に検出した加速度に−の符号を付した値が閾値A0を越えたか否かを判断する。−加速度≦A0であると判断した場合には、ステップ124に移行し、タイマT1が閾値T10を越えたか否かを判断する。
【0112】
ステップ124で、タイマT1>T10であると判断した場合には、ステップ144に移行し、タイマT1及びT2をリセットして、待機状態に戻る。ステップ124で、タイマT1≦T10であると判断した場合には、ステップ122に戻り、次に3D計測装置20から入力された3次元位置情報に基づいて速度及び加速度を検出し、判断する。
【0113】
ステップ122で、−加速度>A0であると判断した場合には、ステップ126に移行し、タイマT1が閾値T10以下であるか否かを判断する。
【0114】
ステップ126で、タイマT1>T10であると判断した場合には、ステップ144に移行し、タイマT1及びT2をリセットして、待機状態に戻る。ステップ126で、タイマT1≦T10であると判断した場合には、ステップ128に移行し、速度が閾値V0を越えたか否かを判断する。
【0115】
ステップ128で、−速度≦V0であると判断した場合には、ステップ144に移行し、タイマT1及びT2をリセットして、待機状態に戻る。ステップ128で、−速度>V0であると判断した場合には、ステップ130に移行し、タイマT1をリセットしてスタートさせる(図8では、B3点に相当)。
【0116】
ステップ132では、次に検出した加速度が閾値A0を越えたか否かを判断する。ここで、+加速度≦A0であると判断した場合には、ステップ134に移行し、タイマT1が閾値T10を越えたか否かを判断する。
【0117】
ステップ134で、タイマT1>T10であると判断した場合には、ステップ144に移行し、タイマT1及びT2をリセットして、待機状態に戻る。タイマT1≦T10であると判断した場合には、ステップ132に戻り、次に3D計測装置20から入力された3次元位置情報に基づいて速度及び加速度を検出し、判断する。
【0118】
ステップ132で、+加速度>A0であると判断した場合には、ステップ136に移行し、タイマT1が閾値T10以下であるか否かを判断する。
【0119】
ステップ136で、タイマT1>T10であると判断した場合には、ステップ144に移行し、タイマT1及びT2をリセットして、待機状態に戻る。タイマT1≦T10であると判断した場合には、ステップ138に移行し、タイマT2が閾値T20以下であるか否かを判断する。
【0120】
タイマT2は、クリックの動きがスタートしたときからの時間を計時している。閾値T20は、ダブルクリックの動きに要する時間の限度として予め設定されている。従って、タイマT2と閾値T20を比較することにより、LED10の動きがダブルクリックの動きに対応するか否かを判断することができる。
【0121】
ステップ138で、タイマT2>T20であると判断した場合には、ステップ144に移行し、タイマT1及びT2をリセットして、待機状態に戻る。タイマT2≦T20であると判断した場合には、ステップ140に移行し、速度が閾値V0を越えたか否かを判断する。
【0122】
ステップ140で、+速度≦V0であると判断した場合には、ステップ144に移行し、タイマT1及びT2をリセットして、待機状態に戻る。+速度>V0であると判断した場合には、LED10の動きは前述した予め設定されているダブルクリックの動きに対応するため、ステップ142に移行し、ダブルクリック処理を行う(図8では、B4点に相当)。
【0123】
ダブルクリック処理もクリック処理と同様に、コマンド生成部50が、ダブルクリックの動きに対応付けられた処理の実行を指示するためのコマンドをマウスドライバ52に出力する。マウスドライバ52を介して該コマンドが入力されたOS54では、2次元マウスと同様に該コマンドを解釈して、ダブルクリックの動きに対応する適切な処理を実行することができる。
【0124】
ステップ142の後は、ステップ144に移行し、タイマT1及びT2をリセットして、待機状態に戻る。
【0125】
なお、ダブルクリックの動きは、上述の速度、加速度、及び時間の条件を満たした動きであれば、特に図8に限定されるものではない。例えば、2回目のクリックのz軸上の始点(すなわち、B2点)は、1回目のクリックのz軸上の始点(すなわち、B0点)と同じ位置である必要はない。
【0126】
一方、図5のステップ108で、タイマT1>閾値T10であると判断した場合には、LED10の動きは予め設定されているドラッグの動きに対応するため、図7のステップ150に移行し、ドラッグ処理を行う。
【0127】
具体的には、コマンド生成部50が、クリック処理と同様に、ドラッグの動きに対応付けられた処理の実行を指示するためのコマンドをマウスドライバ52に出力する。マウスドライバ52を介して該コマンドが入力されたOS54では、該コマンドを解釈して、ドラッグの動きに対応する適切な処理を実行する。
【0128】
なお、ドラッグ処理は、通常は、クリック処理の後に行われる処理である。例えば、クリック処理により選択されたアイコンなどのオブジェクトをドラッグ(移動)したりすることができる。
【0129】
ステップ150の後は、ステップ152に移行し、加速度が閾値A0を越えたか否かを判断する。+加速度≦A0であると判断した場合には、ステップ150に戻り、ドラッグ処理を継続する。また、+加速度>A0であると判断した場合には、ステップ154に移行し、速度が閾値V0を越えたか否かを判断する。
【0130】
ステップ154で、+速度≦V0であると判断した場合には、ステップ150に戻り、ドラッグ処理を継続する。+速度>V0であると判断した場合には、LED10の動きは予め設定されているドロップの動きに対応するため、ステップ156に移行し、ドロップ処理を行う。
【0131】
ドロップ処理もドラッグと同様に、コマンド生成部50が、ドラッグの動きに対応付けられた処理の実行を指示するためのコマンドをマウスドライバ52に出力する。マウスドライバ52を介して該コマンドが入力されたOS54では、該コマンドを解釈して、ドラッグの動きに対応する適切な処理を実行する。
【0132】
ステップ156の後は、ステップ158に移行し、タイマT1及びT2をリセットして、待機状態に戻る。
【0133】
上述した指示入力処理のステップ108では、ドラッグの動きであるか否かを判断するために閾値T10を用いているが、閾値T10とは別の閾値を設け、該閾値により判断するようにしてもよい。
【0134】
なお、本システムにおいて、クリックやダブルクリックなどの動きに対応付けられた処理の実行を指示する対象となるオブジェクト(オブジェクトには、例えばアイコン、フォルダ、ボタン、或いはデータの入力位置等が含まれる)を指定するためのカーソルをディスプレイ42に表示する処理を行うための表示処理のルーチンが上記指示入力処理のメインルーチンと同時に行われる。カーソルは、3D計測装置20で計測された3次元位置情報に含まれるx、y座標値に基づいて、ディスプレイ42のサイズに応じた位置に表示される。カーソルが指し示す位置(以下、指定位置と呼称する)に表示されるオブジェクトが、処理対象となる。実際には、カーソルの指定位置は、カーソルの表示位置に相当し、x、y座標値で表される。
【0135】
また、カーソルはOSから呼び出される現行の表示ルーチンを使うことも可能だが、ユーザ定義のカーソルや表現を表示するための該表示処理ルーチンのプログラムは、上述の指示入力処理ルーチンのサブルーチンとして、予め指示入力処理プログラムに組み込まれている。
【0136】
図9は、表示処理ルーチンを示すフローチャートである。本表示処理ルーチンは、所定時間毎に実行される。
【0137】
ステップ180では、3次元位置情報を取り込む。
【0138】
ステップ182では、3次元位置情報に応じて、カーソルの表示位置を移動する。本実施の形態では、3D計測装置20から入力された3次元位置情報に含まれるx座標値及びy座標値の変化に対応して、カーソルの表示位置を移動する。
【0139】
コマンド生成部50がコマンドをマウスドライバ52に出力する際、このカーソルの指定位置の情報をコマンドに含ませて出力する。これにより、例えばLED10の動きがクリックの動きである場合、カーソルの指定位置にアイコン等のオブジェクトが表示されていれば、該アイコンを選択する、という処理が実行される。また、アイコン等のオブジェクトが表示されていなくても、カーソルの指定位置そのものを選択する、という処理が実行される。また、カーソルの指定位置に、ボタンが表示されていれば、ボタンを押下する、という処理が実行される。
【0140】
このように、3次元位置情報に対応してカーソルを表示させることにより、カーソルの指定位置に表示されるオブジェクトについての処理を、容易に指示入力することができる。
【0141】
なお、上述した指示入力処理の流れから明らかなように、クリックのコマンドが出力されてアイコンや位置の選択が行われた後(ステップ114)、LED10をゆっくり動かした場合には(ステップ122、N、且つステップ124、Y)、待機状態に戻り、待機状態が維持されるため(ステップ100、N)、選択した状態を維持したまま、上述した表示処理ルーチンによりカーソルを移動することが可能である。
【0142】
以上説明したように、LED10の3次元位置情報を入力し、LED10の動きに伴う速度及び加速度を検出し、検出した速度及び加速度に基づいて、LED10の動きが予め設定された動きに対応するか否かを判断して、予め設定された動きに対応付けられた処理の実行を指示するようにしたため、ボタン操作等の機械的操作や比較的細やかな操作を行わずとも、指示入力することができる。
【0143】
また、時間を含めて予め設定された動きを設定し、速度及び加速度に加え、LED10の動きに伴う時間も判断材料としたため、より多くの動きを予め設定する動きとして設定できる。
【0144】
なお、本実施の形態では、速度及び加速度は3次元位置情報のz座標値の差分を用いて検出する例について説明したが、z座標値でなくとも、例えば(x、y、z)座標値から速度及び加速度を検出することも可能である。また、本実施の形態では、z座標値から検出された速度、加速度に基づいて、動きを判断する例について説明したが、他の方向、例えば、指示入力者にとっては上下方向或いは左右方向の速度、加速度に基づいて、動きを判断するようにしてもよい。その場合には、カーソルの位置を、該他の方向と直交する2次元平面上の座標値に基づいて移動させるようにすることもできる。
【0145】
また、閾値A0、V0、T10、T20を任意に変更することは可能である。例えば、試験的に指示入力者の手等にLED10を装着してその動き(3次元位置)を測定し、指示入力者の手の動きに伴う速度や加速度、時間を検出して、検出した値に基づいて閾値を設定変更することもできる。このように指示入力者に応じた閾値を設定すれば、より使い勝手が向上する。
【0146】
また、本実施の形態では、LED10の動きのみにより指示入力する例について説明したが、例えば、指示入力用のスイッチやボタン等をLED10とは別に備えておき、LED10の動きによる指示入力とボタン押下等の機械的操作による指示入力とを必要に応じて使い分けることも可能である。
【0147】
更に、上述した実施の形態では説明を省略したが、他の動き、例えば、2次元マウスで行われるマウスダウンの動き(ボタンを押下したままの状態で移動する動き)についても、それに対応する動きを予め設定しておき、速度、加速度、時間により判断して、処理の実行を指示するようにすることも可能である。
【0148】
[第2の実施の形態]
上述した第1の実施の形態では、z軸上の速度及び加速度に基づいて動きを判断する例について説明したが、LED10の動きの中でx座標値や、y座標値が変化する場合には、z軸上の速度や加速度の条件を満たしている場合であってもその動きを予め設定された動きには対応しないと判断することができる。この場合には、各動きは、各動きの開始から終了までx、y座標値が変化しない動きとして設定しておけばよい。
【0149】
しかしながら、実際に指示入力者がx、y座標値を固定して手を動かすことは困難である。従って、本実施の形態では、x、y座標値の許容範囲を設けて動きを判断する例について説明する。なお、本実施の形態の指示入力処理システムの構成は第1の実施の形態と同様であるため、説明を省略する。
【0150】
ダブルクリックの動きにおいては、例えば、第1の実施の形態における図6のステップ142に代えて、図10に示されるステップを用いることができる。
【0151】
ステップ140の後、ステップ160で、1回目のクリックの動きにおけるx、y座標値と、2回目のクリックの動きにおけるx、y座標値とが、予め設定した許容範囲内(例えば、各座標値毎に、±5x(3/100)mm以内)であるか否かを判断する。
【0152】
なお、図8において、1回目のクリックの動きにおけるx、y座標値は、図8では、B0点の位置としてもよいし、B1点の位置としてもよい。同様に、2回目のクリックの動きにおけるx、y座標値は、B2点の位置としてもよいし、B3点の位置としてもよい。
【0153】
ステップ160で、許容範囲を越えたと判断した場合には、ダブルクリック処理を行わずに、ステップ144に移行する。これにより、x座標値や、y座標値の変化が許容範囲を超えて、LED10の動きが見た目にもW字のような軌跡になる場合にはダブルクリックの動きと見なされない。
【0154】
ステップ160で、許容範囲内であると判断した場合には、LED10の動きをダブルクリックの動きであると判断し、ステップ162でダブルクリックの処理を行う。
【0155】
以上説明したように、動きに許容範囲を設けることによって、指示入力者の負担が比較的軽減される。
【0156】
なお、本実施の形態では、図8におけるB0(或いはB1)点とB2(或いはB3)点のx、y座標値が許容範囲内であるか否かを判断する例について説明したが、例えば、最初のB0点におけるx、y座標値を記憶しておき、B1点、B2点、B3点、B4点の各点を通過する際の各x、y座標値とB0点のx、y座標値との差分を各座標値について求め、許容範囲内であるか否かを判断するようにしてもよい。いずれかの点で、許容範囲を越えたと判断した場合には、ただちに待機状態に戻る。なお、B3点、B4点で許容範囲外であると判断した場合は、クリックの動きに対応付けられた処理が行われた状態を維持するようにしてもよい。
【0157】
また、本実施の形態では、x、y座標値について許容範囲を設定して動きを判断する例について説明したが、x、y方向の速度について許容範囲を設定して動きを判断するようにすることもできる。例えば、z軸方向の速度と共に、x、y方向の速度についても検出しておき、LED10の動きの判断に用いる。
【0158】
この場合には、x、y方向の速度の差が許容範囲を越えた場合には、LED10の動きが予め設定されている動きに対応しないと判断する。
【0159】
なお、x、y座標値及びx、y方向の速度の双方を用いて判断するようにしてもよいし、いずれか一方の許容範囲の設定を用いて判断するようにしてもよい。
【0160】
また、許容範囲による判断は、ダブルクリックの動きだけに限定されず、他の動き(クリックやドラッグ等の動き)についても、同様に許容範囲を設けて判断することが可能である。
【0161】
更にまた、カーソルの指定位置が指示入力者が処理対象として指定したいオブジェクト(例えば、アイコン等)から若干ずれている場合であっても、該オブジェクトが処理対象として指定されるように、x、y座標値の許容範囲を設定してもよい。これにより、細やかな操作を必要とせずに、所望の対象について処理の実行を指示することができる。
【0162】
[第3の実施の形態]
上述した第1の実施の形態では、クリックやダブルクリック等の動きに対応付けられた処理の実行が指示される場合には(ステップ114,ステップ144、ステップ150、ステップ156)、カーソルの指定位置に表示されるオブジェクトについて処理の実行が指示される。具体的には、コマンド生成部50がコマンドをマウスドライバ52に出力する際、カーソルの指定位置の情報をコマンドに含ませて出力する。
【0163】
しかしながら、第2の実施の形態で示した例のように、x、y座標値に許容範囲を設けると、LED10の動きの中でカーソルの指定位置が変化する場合が発生する。
【0164】
この場合には、動きの中の複数の指定位置のどの位置の情報をコマンドに含ませて出力するかを予め設定しておく必要がある。
【0165】
例えば、ダブルクリックの動きにおいて、LED10の1回目のクリックの位置(図8ではB0点或いはB1点の位置)と2回目のクリックの位置(図8ではB2点或いはB3点の位置)が異なる場合には、どの位置の情報をマウスドライバ52に出力するかを予め設定しておく必要がある。一般的には、1回目のクリックの位置が指示入力者の指定したい位置である場合が多いことから、該位置の情報をコマンドに含めるようにしてもよい(以下、この処理を位置ロックと呼称する)。この場合には、1回目のクリックの位置の情報をコマンドを出力するまでRAM38の所定の領域に記憶しておき、コマンド出力の際に、該所定の領域から該位置の情報を読み出して用いる処理が必要となる。
【0166】
この場合には、x、y座標値の変化が許容範囲内の場合に限るが、カーソルの表示位置を1回目のクリックの位置に固定しておき、指示入力者に該位置を認識させるようにすることもできる。
【0167】
しかしながら、ドローイングソフト等で連続する線分を描画して図面を作成したりする場合には、常に最新のx、y座標値を用いるようにすることが好ましい。この場合には、最新のx、y座標値をコマンドに含めるようにすればよいため、位置ロックの場合と異なり、記憶されている位置の情報を読み出すような特別な処理は必要ない。
【0168】
また、位置ロックするか否かについて予め設定しておいてもよいが、実行中のプロセスに応じて位置ロックするか否かを判断するようにしてもよい。
【0169】
本実施の形態では、実行中のプロセスに応じて判断する例について図11を参照しながら説明する。
【0170】
ステップ200では、パソコン30で実行中のプロセスが位置ロック禁止のプロセスであるか否かが判断される。例えば、上述のように、実行中のプロセスがドローイングソフトでの描画プロセスである場合には、位置ロック禁止と判断される。
【0171】
ステップ200で、肯定判断された場合には、最新の位置情報を用いればよいため、ステップ204に移行し、判断した動きに対応付けられた処理の実行を指示する。この場合には、コマンド生成部50が、最新の位置の情報をコマンドに含めてマウスドライバ52に出力する。
【0172】
ステップ200で、否定判断された場合には、ステップ202で、RAM38の所定の領域に記憶しておいた、すなわちロックした位置情報(例えば、ダブルクリックの動きの場合であれば、1回目のクリックの位置の情報)が読み出される。ステップ204で、判断した動きに対応付けられた処理の実行を指示する。この場合には、コマンド生成部50が、読み出した位置の情報をコマンドに含めてマウスドライバ52に出力する。
【0173】
なお、RAM38に位置の情報を記憶しておくタイミングは、予め設定しておくことができる。例えば、ダブルクリックの動きであれば、図8におけるB0点からB4点までのいずれの点を記憶しておくかを設定しておくことができる。
【0174】
以上説明したように、LED10の動きの中のいずれかの位置情報を指定してコマンドを出力することによって、動きの中でカーソルの指定位置が変化した場合であっても、適切に処理することができる。
【0175】
[第4の実施の形態]
本実施の形態では、予め設定された動きが、所定の時間静止している状態として設定されている場合の処理について説明する。すなわち、速度や加速度ではなく、時間に基づいて動きを判断する。
【0176】
なお、本実施の形態の指示入力処理システムの構成は第1の実施の形態と同様であるため、説明を省略する。
【0177】
以下、予め設定されているダブルクリックの動きが、第1の実施の形態で示したクリックの動きと、クリックの動きの後に所定時間静止している状態とにより構成されている場合を例に挙げて説明する。なお、本実施の形態においても、第2の実施の形態と同様に許容範囲を設け、LED10の位置の変化が許容範囲以内であれば静止していると判断する。
【0178】
クリック処理(図5のステップ114)までの流れは、第1の実施の形態と同様であるため、説明を省略する。ただし、本実施の形態では、タイマT2を使用しないため、図5のステップ102では、タイマT1のみスタートさせる。
【0179】
ステップ114以降の本実施の形態の処理について、図12のフローチャートを用いて説明する。
【0180】
ステップ300で、タイマT1をリセットしてスタートさせる。
【0181】
ステップ302で、タイマT1が予め設定されている時間の閾値Tth未満であるか否かを判断する。Tthは、予め設定されている静止時間の閾値である。
【0182】
ステップ302で、T1<Tthであると判断した場合には、ステップ304で、LED10が1回目のクリック位置から許容範囲を越えた位置に移動したか否かを判断する。ここで、否定判断した場合には、ステップ302に戻る。また、肯定判断した場合には、LED10の動きは、静止していない状態であるため、ダブルクリックの動きには対応していないと判断し、ステップ308に移行し、タイマT1をリセットして、待機状態に戻る。
【0183】
ステップ302で、T1≧Tthであると判断した場合には、LED10が所定時間静止している状態であるため、ダブルクリックの動きに対応していると判断し、ステップ306に移行し、ダブルクリック処理を行う。
【0184】
ステップ306の後は、ステップ308に移行し、タイマT1をリセットして、待機状態に戻る。
【0185】
以上説明したように、予め定められた動きに、所定の時間静止している状態を含め、時間を用いてLED10の動きを判断するようにしたため、パソコン30の処理量が軽減し、容易にLED10の動きを判断できる。指示入力者の操作も比較的容易となる。
【0186】
[第5の実施の形態]
第4の実施の形態では、ダブルクリックの動きを時間に基づいて判断する例について説明したが、本実施の形態では、ダブルクリックのみならず、クリックの動きについても、時間に基づいて判断する例について説明する。
【0187】
本実施の形態の指示入力処理システムの構成は第1の実施の形態と同様であるため、説明を省略する。
【0188】
ここでは、ディスプレイ42にアイコンが表示され、該アイコンを処理の対象として指定する場合を例に挙げて説明する。また、クリックの動きは、所定時間静止している状態として設定され、ダブルクリックの動きは、クリックの動きから、さらに所定時間静止している状態として設定されている。LED10の動きがクリックの動きと判断された後に、LED10がゆっくりと移動する状態が、ドラッグの動きとして設定されている。更に、ドラッグ処理中に、所定の加速度及び速度が発生した状態が、ドロップの動きとして設定されている。
【0189】
なお、静止している時間の閾値は任意に設定することが可能である。
【0190】
図13は、パソコン30のCPU34により行われる、指示入力処理のメインルーチンを示したフローチャートである。
【0191】
ステップ400では、カーソルの指定位置がアイコンの表示位置に一致しているか否かを判断する。ここで、一致していないと判断した場合には、待機状態に戻る。一致していると判断した場合には、ステップ402に移行し、一致したと判断してから、カーソルの位置が移動しない状態で所定時間経過したか否かを判断する。
【0192】
ステップ402で、否定判断した場合には、待機状態に戻る。
【0193】
ステップ402で、肯定判断した場合には、LED10の動きはクリックの動きに対応するため、ステップ404に移行し、クリック処理を行う。
【0194】
ステップ406で、クリック処理時のカーソルの表示位置(ここでは指定位置に同じ)と、現在のカーソルの表示位置が一致しているか否かを判断する。
【0195】
ステップ406で、肯定判断した場合には、ステップ408で、所定時間経過したか否かを判断する。ステップ408で否定判断した場合には、ステップ406に戻る。ステップ408で肯定判断した場合には、クリックの動きからさらに所定時間静止している状態であり、LED10の動きはダブルクリックの動きに対応するため、ステップ410に移行し、ダブルクリック処理を行う。
【0196】
一方、ステップ406で、クリック処理時のカーソルの表示位置と、現在のカーソルの表示位置が一致していないと判断した場合には、ステップ412に移行し、検出した速度の絶対値(ここではz軸上のプラス方向或いはマイナス方向のいずれの方向であってもよい)が閾値V0未満であるか否かを判断する。
【0197】
ステップ412で、速度<V0であると判断した場合には、LED10がゆっくりと移動した状態であるため、ステップ414に移行し、ドラッグ処理を行う。
【0198】
次に、ステップ416で、加速度が閾値A0を越えたか否かを判断する。
【0199】
ステップ416で、加速度≦A0であると判断した場合には、LED10がゆっくりと移動している状態が継続しているため、ステップ414に戻り、ドラッグ処理を継続する。
【0200】
ステップ416で、加速度>A0であると判断した場合には、ステップ418に移行し、速度が閾値V0を越えたか否かを判断する。
【0201】
ステップ418で、速度≦V0であると判断した場合には、LED10がゆっくりと移動している状態が継続しているため、ステップ414に戻り、ドラッグ処理を継続する。
【0202】
ステップ418で、速度>V0であると判断した場合には、LED10の動きがドロップの動きに対応しているため、ステップ420に移行し、ドロップ処理を行う。
【0203】
また、ステップ412で、速度≧V0であると判断した場合には、LED10の動きはいずれの動きにも対応していないため、何もせずに終了する。
【0204】
以上説明したように、LED10の動きにより表示されるカーソルが所定時間同じ位置に表示されている場合(静止している場合)に、該位置のアイコンが選択されたり、あるいはオープンされるようにすることが可能である。
【0205】
本実施の形態では、x、y座標値の許容範囲についての判断は省略しているが、本実施の形態においても、第2の実施の形態と同様に許容範囲を設け、LED10の位置の変化が許容範囲以内であればステップ406でクリック処理時のカーソルの表示位置と現在のカーソルの表示位置が一致している(すなわち、静止している)と判断するようにしてもよい。
【0206】
この際には、カーソルの表示位置の変化(x、y座標値)の許容範囲を、例えば(±5x3/100mm)と設定することも好適である。また、本実施の形態では、ドラッグの動きを判断するために速度を用いる例について説明したが、クリックやダブルクリックの動きを判断するための許容範囲を第1の許容範囲とし、ドラッグの動きを判断するための第2の許容範囲(第1の許容範囲よりも広い範囲)を第1の許容範囲とは別に設け、カーソルが第1の許容範囲を越えて移動し、第2の許容範囲内に所定時間とどまっている状態であれば、ドラッグの動きと判断するようにすることもできる。
【0207】
また、所定時間内にLED10のz座標値が減少する方向に移動した場合、すなわち、LED10が3D計測装置に近づく方向に移動した場合にもドラッグを開始させるようにすることも好適である。
【0208】
以上説明したように、時間、加速度、速度の順序(或いは時間のみ)でアルゴリズムを構成することも可能である。
【0209】
これにより、パソコン30の処理量が軽減し、容易にLED10の動きを判断できる。指示入力者の操作も比較的容易となる。
【0210】
[第6の実施の形態]
本実施の形態では、クリックやダブルクリック等の動きを示す3次元位置の時系列の情報(以下時系列パターンと呼称する)を、HDD46或いはROM36等に記憶しておき、該時系列パターンを用いて、LED10の動きを判断する例について説明する。本実施の形態の指示入力処理システムの構成も第1の実施の形態と同様であるため、説明を省略する。
【0211】
コマンド生成部50は、3D計測装置20から計測された3次元位置情報を所定の時間毎に入力する。コマンド生成部50は、入力された位置情報を順にRAM38の所定の領域に記憶していき、LED10の時系列の位置情報を得る。
【0212】
入力された位置情報を記憶する領域は、例えば、リング状のデータ構造を有するようにすることができる。新たに入力された3次元位置情報は、リング状の記憶領域の最も古いデータを記憶した領域に上書きされる。
【0213】
図14は、所定時間毎に行われる、位置情報を記憶するための処理ルーチンを示すフローチャートである。
【0214】
ステップ500で、3D計測装置20から3次元位置情報を取り込む。
【0215】
ステップ502で、取り込んだ3次元位置情報を、RAM38中の最も古いデータを記憶した領域に上書きする。
【0216】
これにより、3次元位置情報の時系列のデータが得られる。
【0217】
図15は、所定時間毎に行われる、時系列パターンを用いて指示入力処理を行うための指示入力処理ルーチンを示したフローチャートである。この指示入力処理ルーチンのプログラムは、第1の実施の形態と同様に、HDD46等の記憶媒体に記憶されており、CPU34により実行される。
【0218】
ステップ600では、RAM38から現時点から所定の時間Ta前までの時系列の3次元位置情報を取り込む。
【0219】
ステップ602では、pに0をセットする。pは、予め記憶されている全ての時系列パターンと取り込んだ位置情報により表される軌跡とを順にマッチングさせていくためのカウンタである。
【0220】
ステップ604では、pをインクリメントする。
【0221】
ステップ606では、記憶されている第p番目の時系列パターンと取り込んだ位置情報により表される軌跡とをマッチングさせる。
【0222】
ここで、なお予め記憶されている時系列パターンの例を図16及び図17に示す。
【0223】
図16は、クリックの動きを示す時系列パターンの例であり、図17は、ダブルクリックの動きを示す時系列パターンの例である。本実施の形態では、例えばこれらの時系列パターンを、予め取り込んである軌跡パターンとマッチングさせて、LED10の動きがいずれの時系列パターンが示す動きに対応するかを判断する。
【0224】
ステップ608では、マッチング結果をRAM38の所定の領域に記憶する。
【0225】
例えば、その相似性をスケーリングや最小二乗法等の手法を用いて数値化し、これを第p番目の時系列パターンとのマッチング結果として記憶するようにしてもよい。
【0226】
ステップ610では、カウンタpと、予め記憶されている時系列パターンの総数p0とを比較し、p>p0であるか否かを判断する。p≦p0であると判断した場合には、ステップ604に戻り、pをインクリメントして、次の時系列パターンと取り込んだ位置情報により表される軌跡とをマッチングさせる処理を繰り返す。
【0227】
ステップ610で、p>p0であると判断した場合には、取り込んだ位置情報により表される軌跡と全ての時系列パターンとのマッチングが終了したため、ステップ612に移行し、全てのマッチング結果から最も相似性の高い時系列パターンを選択する。
【0228】
次に、ステップ614で、取り込んだ位置情報から、極大値、極小値を決定する。具体的には、選択した時系列パターンがクリックの動きを示す時系列パターンであれば、1つの極大値と1つの極小値を決定する。選択した時系列パターンがダブルクリックの動きを示す時系列パターンであれば、1つの極大値と2つの極小値を決定する。
【0229】
ステップ616では、極大値及び極小値を基準にして時系列の位置情報を分割する。例えば、LED10の動きが図8に示される動きであれば、z座標値の2つの極小値及び1つの極大値から時系列の位置情報を4分割する。すなわち、B4点からB3点まで、B3点からB2点まで、B2点からB1点まで、B1点から時系列の位置情報の終わりまで、の4つのデータに分割する。
【0230】
ステップ618では、分割されたそれぞれのデータについて、速度と加速度を計算する。LED10の移動方向によって、速度や加速度の符号が変わるが、ここでは絶対値だけを見れば充分である。
【0231】
速度の計算は様々な方法が考えられるが、第1の実施の形態で示したように、分割されたデータのz座標値の差分を、時間の差分で割ることにより求めてもよいし、任意の時間枠を設け、該時間枠内の任意の時刻でのz座標値と、該時刻から該時間枠分ずれた時刻のz座標値との差分を求め、該時間枠で割ることにより求めることもできる。
【0232】
加速度については、例えば、以下のように求めることができる。分割されたデータ内で連続する位置情報の差分をとり、新たな時系列データを生成する。生成した時系列データに対して、任意の時間軸上の枠Tmを設け、その枠Tm内の任意時刻の時系列データと、該時刻から該枠Tm分だけずれた時刻の時系列データとの差分を求め、それを枠Tmで割れば、加速度が求められる。
【0233】
なお、速度や加速度を求める手法は特に限定されず、どのような手法を用いてもよい。
【0234】
ステップ620で、求めた速度及び加速度に基づいて、LED10の動きを検証する。
【0235】
具体的には、各分割されたデータについての各加速度と速度が、予め設定した閾値を越えているか否かを判断する。ここで、1つでも閾値を越えていないと判断した場合には、検証結果はNGとなる。全ての加速度及び速度が閾値を越えていると判断した場合には、検証結果はOKとなる。
【0236】
図18は、クリックの動きにおける速度の状態の例を示しており、図19は、ダブルクリックの動きにおける速度の状態の例を示している。本図では速度を絶対値で表している。図示されるV0は速度の閾値である。また、ポイントをわかりやすくするため、速度を単純な山形の形状で表している。
【0237】
図示されるように、クリックでは、2つの分割データの各速度が閾値を越えれば検証結果はOKとなる。ダブルクリックでは、4つの分割データの各速度が閾値を越えれば検証結果はOKとなる。
【0238】
ステップ622で、検証結果がOKか否かを判断する。検証結果がNGであると判断した場合には、LED10の動きは、選択した時系列パターンが示す動きに対応していないため、そのまま終了する。
【0239】
ステップ622で検証結果がOKであると判断した場合には、ステップ624に移行し、選択した時系列パターンが示す動きに対応付けられた処理の実行を指示する。
【0240】
なお、ステップ624の具体的な処理は、第1の実施の形態の、クリックやダブルクリック等の動きに対応付けられた処理の実行を指示する各ステップ(ステップ114,ステップ144、ステップ150、ステップ156)と同様であるため、説明を省略する。
【0241】
なお、分割されたデータは、各分割データ毎に順次速度及び加速度を計算して閾値と比較していき、ある分割データについて閾値を越えなかったと判断した場合には、残りの分割データに関する速度及び加速度の計算はせずにただちに処理を終了するようにしてもよい。
【0242】
また、時系列パターンを選択する方法は、上述した例に限定されず、以下に示す方法を採用することもできる。例えば、クリックやダブルクリックの動きを示す時系列パターンの特徴を、予め記憶しておく。
【0243】
例えば、クリックの動きを示す時系列パターンについては、z座標値において1つの極小値が存在するという特徴を予め記憶しておく。また、ダブルクリックの動きを示す時系列パターンについては、z座標値において2つの連続する極小値が存在するという特徴を記憶しておく。
【0244】
これにより、取り込んだ位置情報により表される軌跡が、該特徴を有しているか否かを判断して、マッチングする。具体的には、取り込んだ時系列の位置情報により表される軌跡において、1つの極小値のみ存在すると判断した場合には、クリックの動きを示す時系列パターンを選択するようにし、2つの連続する極小値が存在すると判断した場合には、ダブルクリックの動きを示す時系列パターンを選択することができる。
【0245】
このように、速度及び加速度に加え、時系列パターンを用いて、LED10の動きを判断するようにしたため、より精度高く動きを判断することができる。
【0246】
[第7の実施の形態]
本実施の形態では、速度及び加速度を計算して検証する処理を行わず、時系列パターンのみでLED10の動きを判断する例について説明する。本実施の形態の指示入力処理システムの構成も第1の実施の形態と同様であるため、説明を省略する。
【0247】
ここでは、3D計測装置20がLED10の発光を認識するための領域を、3D計測装置20の前面の直方体として定義する。
【0248】
図20は、時系列パターンの一例であり、3D計測装置20の前面に直方体として定義されている認識領域の中心付近(F)から、直線的に直方体の上面(E)、または左面、或いは右面を通りすぎて非認識領域(G)に移動する動きを示している。
【0249】
このような時系列パターンでは、以下の特徴が挙げられる。
【0250】
x、y、z座標値の時系列データの変化は、単調変化である。LED10が認識領域外に移動することから、3D計測装置20が認識不可能となる状態が発生する。
【0251】
従って、LED10がこのような特徴を有する動きを示した場合には、この時系列パターンに該当すると判断することができる。
【0252】
この時系列パターンが認識された場合に、例えば、本システムをシャットダウンさせるようにしてもよい。
【0253】
図21も、時系列パターンの一例であり、認識領域において、LED10を一時停止させ、その後、認識領域内で円弧を描く動きを示している。
【0254】
この円弧を描く動き(例えば、右回りで、下から上に動かして、また下に戻す動き)では、最初の一時停止の位置から所定の許容範囲内に次の停止位置があるという特徴がある。
【0255】
更に、3D計測装置20に向かって左上角を原点の0とし、原点から右方向を+方向とするx軸、下方向を+方向とするy軸、手前に向かう方向を+方向とするz軸によりx、y、z座標系を定義した場合、以下の特徴が挙げられる。
【0256】
2つの停止位置の間のx座標値は、単調減少、極小、単調増加、となるように変化する。
【0257】
2つの停止位置の間のy座標値は、単調減少、極小、単調増加、極大、単調減少、となるように変化する。
【0258】
従って、この区間で、x座標値とy座標値がこれらの特徴を同時に満たすならば、この時系列パターンに該当すると判断することができる。この時系列パターンが認識された場合には、例えば、ディスプレイの画面全体を拡大表示する処理が実行されるようにしてもよい。
【0259】
また、表示を元に戻す処理の実行を指示するために、円弧の描く方向を左回りとする時系列パターンを別途設定するようにしてもよい。更に、円弧を回転する度に、表示を所定の拡大率、縮小率で変化させるようにしても良い。また、円弧の動きをx−y軸平面上の動きではなくx−z軸平面上の動きとすることもできる。
【0260】
なお、空中に円弧を描く際、最初の停止位置から再び正確に同じ位置に手を戻すことは比較的困難なため、最初の停止位置と次の停止位置について、適宜、許容範囲を設けるようにすることが好適である。
【0261】
[第8の実施の形態]
本実施の形態では、指示入力者がLED10の動きの状態を認識できるように、速度に基づいてカーソルの表示状態を変化させたり、音声を発生させたりする例について説明する。
【0262】
本実施の形態では、一般的なカーソルとは別に拡張カーソルを表示する。
【0263】
ここで、拡張カーソルについて説明する。パソコン30のディスプレイ42に表示されるデスクトップ上で、一般的なカーソルがオブジェクトを指定する点(前述の指定位置に相当する)を含む小領域を円弧などで囲い、改めて小ウインドウとして表示したものである。
【0264】
図22(a)及び図22(b)に示されるように、指定位置30を中心とする円形の内部が小ウィンドウ(拡張カーソル)72に表示されている。一般的なカーソル74は、拡張カーソル72の内部、特に中心部に重ねて表示されている。この拡張カーソル32は、OS54がイメージドライバ56を用いて表示する。
【0265】
本実施の形態では、第1の実施の形態において説明した表示処理ルーチンに代えて、図23で示される処理ルーチンを実行する。本ルーチンは、所定時間毎に実行される。
【0266】
ステップ700で、3次元位置情報を取り込む。
【0267】
ステップ702で、速度を検出する。検出方法は、第1の実施の形態と同様であるため、ここでは説明を省略する。
【0268】
ステップ704で、検出した速度Vkが予め設定されている閾値Vthを越えたか否かを判断する。ここで肯定判断した場合には、ステップ706に移行し、拡張カーソル72のサイズを拡大する。更にステップ708で、拡張カーソル72内の画像の拡大率を検出した速度Vkの値に応じてアップさせる。更にステップ710で、速度に応じた音声をスピーカ44から発生させる。
【0269】
図22(a)は、拡張カーソル72のサイズを拡大し、拡張カーソル72内の画像の拡大率をアップした状態を示している。
【0270】
ステップ712では、3次元位置情報に応じて、カーソル74及び拡張カーソル72の表示位置を移動する。
【0271】
一方、ステップ704で否定判断した場合には、ステップ712に移行し、カーソル移動処理のみを行う。
【0272】
図22(b)は、速度が十分でない場合の拡張カーソルの状態を表している。図示されるように、拡張カーソル72の半径は最小になっており、円形内の画像も背景と同じ、即ち拡大率が1となっている。
【0273】
このように、拡張カーソル72を速度が充分でないときは小さなサイズで表示し、速度があがるにつれてそのサイズを大きくするようにすれば、指示入力者は速度を認識しながら、LED10を装着した手を動かすことができ、指示入力が容易となる。
【0274】
なお、拡張カーソル72を常に表示せず、速度が所定以上であれば表示し、速度が極端に減ると表示しないように制御することもできる。逆に速度が所定以下であれば表示し、速度が極端に増えると表示しないようにすることも可能である。
【0275】
また、上記ステップ710で説明したように、速度に応じて固有な音を発生させれば、指示入力者の操作の助けとなり、目の不自由な方にとって好適である。これにより、どの程度の速度で手を動かせばよいかを指示入力者に認識させるようにすることができる。
【0276】
更に、速度に応じてカーソル74や拡張カーソル72の色相などの色を変化させたりすることもできる。また、こうした表示状態の変化の設定や、拡張カーソルのサイズ(例えば、半径等)を指示入力者が任意に設定できるようにすることもできる。
【0277】
以上、各実施の形態で説明したように、LED10の動きに伴う速度及び加速度に基づいて、LED10の動きを判断するようにしたため、3D計測装置20がLED10の発光を認識できる領域内で、3D計測装置20からの距離に関わらず、クリック、ダブルクリック、ドラッグ等の操作を、機械的メカニズムを使わずに行うことが可能となる。
【0278】
また、本発明は、上述した実施の形態に限定されず、パソコンの操作だけでなく、例えば、複写機や金融機関のATM等のタッチパネルの操作に適用することも可能である。これにより、タッチパネルの操作を画面に触れずに行うことができる。
【0279】
また、本発明をスイッチのON/OFF操作等に適用することも可能である。
【0280】
【発明の効果】
本発明は、発光手段の動きに伴う速さに関する物理量に基づいて、発光手段の動きが予め定められた動きに対応するか否かを判断し、該予め定められた動きに対応すると判断した場合には、該予め定められた動きに対応付けられた処理の実行を指示するようにしたため、機械的操作や比較的細やかな操作を必要とせずに指示入力できる、という効果を奏する。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る指示入力装置としての機能を備えたパソコンを含む指示入力システムの構成を示す図である。
【図2】パソコンの具体的な構成を示した図である。
【図3】パソコン本体の構成を機能的に示した図である。
【図4】クリック、ダブルクリック、ドラッグ・アンド・ドロップの各指示動作の一例を具体的に示した図である。
【図5】パソコンのCPUにより行われる、指示入力処理のメインルーチンを示したフローチャートである。
【図6】パソコンのCPUにより行われる、指示入力処理のメインルーチンを示したフローチャートである。
【図7】パソコンのCPUにより行われる、指示入力処理のメインルーチンを示したフローチャートである。
【図8】ダブルクリックの動きに対応するLEDの動きの一例を示した図である。
【図9】表示処理ルーチンを示すフローチャートである。
【図10】第2の実施の形態における、指示入力処理のメインルーチンの一部を示すフローチャートである。
【図11】第3の実施の形態における、実行中のプロセスに応じて位置ロックするか否かを判断する処理ルーチンを示すフローチャートである。
【図12】第4の実施の形態における指示入力処理のメインルーチンの一部を示すフローチャートである。
【図13】第5の実施の形態における指示入力処理のメインルーチンを示したフローチャートである。
【図14】第6の実施の形態における、位置情報を記憶するための処理ルーチンを示すフローチャートである。
【図15】第6の実施の形態における、時系列パターンを用いて指示入力処理を行うための指示入力処理ルーチンを示したフローチャートである。
【図16】クリックの動きを示す時系列パターンの例である。
【図17】ダブルクリックの動きを示す時系列パターンの例である。
【図18】クリックの動きにおける速度の状態の例を示した図である。
【図19】ダブルクリックの動きにおける速度の状態の例を示した図である。
【図20】第7の実施の形態における時系列パターンの一例である。
【図21】第7の実施の形態における時系列パターンの一例である。
【図22】図22(a)は、拡張カーソルのサイズを拡大し、拡張カーソル内の画像の拡大率を増加した状態を示した図であり、図22(b)は、速度が十分でない場合の、拡張カーソルの状態を示した図である。
【図23】第8の実施の形態における処理ルーチンを示したフローチャートである。
【符号の説明】
10 LED
20 3D計測装置
30 パソコン
34 CPU
36 ROM
38 RAM
40 I/O
42 ディスプレイ
44 スピーカ
46 HDD
50 コマンド生成部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an instruction input device, an instruction input method, and a program, and more particularly to an instruction input device, an instruction input method, and a program for inputting an instruction based on position information of a light emitting unit.
[0002]
[Prior art]
Conventionally, a two-dimensional mouse has been widely used as a device for inputting instructions to a personal computer or the like. The two-dimensional mouse inputs and inputs xy coordinate values to a personal computer as relative coordinate values. In recent years, a technique for inputting a third coordinate value using this two-dimensional mouse has been proposed.
[0003]
For example, a three-dimensional mouse can be easily achieved by attaching an LED as a light emitter to a finger and attaching a light receiving unit for receiving light from the LED to an upper portion of a screen of a personal computer (for example, see Patent Document 1). . The sensor used here determines the angle of the light source with respect to the sensor, and determines the three-dimensional position of the light source based on the principle of triangulation. The LED receives power as a light source from a personal computer, and signals such as a click, which is a basic operation of a mouse, are sent to the basic software of the personal computer through a wire. That is, a switch that can be pressed by a finger is provided near the light emitting body.
[0004]
In addition, by rotating two balls in two dimensions, not only a movement amount in the x and y axis directions can be input, but also an angle and a rotation angle can be input, and a pointing device that enables input in the z axis direction ( For example, see Patent Document 2), a first optical sensor array in which light converting elements are arranged in a first direction, and a second optical sensor array in which light converting elements are arranged in a second direction different from the first direction. Non-contact type position detection device that generates a signal corresponding to the output change of the optical sensor array when the optical sensor array moves, and thereby determines the amount of movement and the direction of movement (for example, Patent Document 3) Cf.) is known.
[0005]
Further, a remote control device (for example, see Patent Document 4) for recognizing an index with a CCD camera and interpreting the index as a command for a personal computer or the like, and a rotary switch rotated by a finger in an electronic pen are provided. A coordinate input electronic pen (see, for example, Patent Document 5) that determines the degree of change in graphical parameters (line segment thickness, color, shading, gray scale), and movement of an RFID attached to a user's wrist. 2. Description of the Related Art There is known an instruction input system (for example, see Patent Literature 6) that interprets an RFID movement pattern as an input command to another device after recognition by an antenna.
[0006]
Gyration Inc., USA Gyromouse has a built-in auto gyro and is a pointing device that can change the direction of the laser by air operation, but it is relatively heavy, the size is relatively large for the gyro, and it is somewhat expensive. is there.
[0007]
Furthermore, in recent years, a prototype of a device that combines a keyboard and a notepad with a keyboard of a personal computer that applies the concept of half-pressing in the shutter operation of a camera, taking advantage of the characteristic that characters are not input unless you press it strongly like a camera shutter. Was done.
[0008]
In addition, the present applicant provides feedback (change in focus metaphor, hue, and the like) that appeals to at least one of the five senses, and emits light to each boundary of a plurality of divided regions in a three-dimensional space spread in front of the screen. To execute the functions of a two-dimensional mouse, such as clicking, double-clicking, and dragging, according to how the light-emitting means passes through the boundary of each area without using a mechanical mechanism, without using a mechanical mechanism. (Japanese Patent Application No. 2003-96366) has been proposed.
[0009]
[Patent Document 1]
JP-A-10-9812
[Patent Document 2]
JP-A-5-150900
[Patent Document 3]
JP-A-11-24832
[Patent Document 4]
JP-A-11-110125
[Patent Document 5]
JP 2000-47805 A
[Patent Document 6]
JP 2001-306235 A
[0010]
[Problems to be solved by the invention]
However, the above-described conventional three-dimensional mouse is operated by pressing a switch provided near the light emitter with a finger, and thus requires mechanical operation and components for realizing the same as the two-dimensional mouse. The same applies to other instruction input devices such as the above-mentioned conventional pointing device and instruction input system.
[0011]
Further, US Gyration Inc. Gyrmouse Presenter also requires mechanical operation with a finger for operations such as clicking, like a normal two-dimensional mouse. The same applies to a device in which a keyboard and a notepad are stacked.
[0012]
That is, the conventional instruction input device requires relatively fine operations such as pressing a button or a switch, so that it is inconvenient for a person who has relatively difficult mechanical operations.
[0013]
Further, in the three-dimensional instruction input device proposed by the present applicant, since the position of each boundary for dividing the three-dimensional space into a plurality of regions is fixed, the user can use his or her hand or finger on which the light emitting means is mounted. Since it is necessary to move the hand or finger while checking each boundary by moving it to a position that matches the position of each boundary, a detailed operation is required.
[0014]
The present invention has been made in view of the above-described facts, and provides an instruction input device, an instruction input method, and a program that do not require a mechanical operation or a relatively delicate operation and have improved usability. Aim.
[0015]
[Means for Solving the Problems]
In order to achieve the above object, an instruction input device of the present invention has input means for inputting position information of a light emitting unit measured based on a light receiving state of light emitted from a light emitting unit attachable to an instruction input person. Detecting means for detecting a physical quantity related to the speed associated with the movement of the light emitting means based on the input position information; and wherein the movement of the light emitting means is predetermined based on the detected physical quantity related to the speed. Determining means for determining whether or not the movement corresponds to the predetermined movement; and executing the processing associated with the predetermined movement when it is determined that the movement of the light emitting means corresponds to the predetermined movement. And instruction means for instructing.
[0016]
The light emitting means can be mounted on the instruction input person, and is preferably mounted on a finger or a hand. The light emitting means is not particularly limited as long as it emits light, and may be, for example, an LED. The measuring means measures position information of the light emitting means based on a light receiving state of the light emitted from the light emitting means.
[0017]
The input means inputs the position information of the light emitting means. The position information may be, for example, position information on the x, y, and z axes of the three-dimensional position information, or may be only one of them, for example, only the position information on the z axis.
[0018]
The detecting means detects a physical quantity relating to the speed accompanying the movement of the light emitting means based on the position information input by the input means.
[0019]
The determining means determines whether or not the movement of the light emitting means corresponds to a predetermined movement based on the physical quantity relating to the speed detected by the detecting means. For example, a threshold value for a physical quantity related to speed may be determined, and when the threshold value is exceeded, it may be determined that the movement of the light emitting unit corresponds to a predetermined movement.
[0020]
In addition, the predetermined movement may be one or plural. Further, the movement may be constituted by a plurality of fine movements.
[0021]
The instructing means instructs, when the determining means determines that the movement of the light emitting means corresponds to a predetermined movement, execution of a process associated with the predetermined movement.
[0022]
Therefore, according to the present invention, it is possible to input an instruction without requiring a mechanical operation or a relatively fine operation.
[0023]
The instruction input device according to the present invention further includes a storage unit that stores motion information indicating a plurality of different predetermined motions, and the determination unit determines the light emitting unit based on the stored plurality of motion information. Selecting means for selecting at least one piece of motion information corresponding to the motion; and verification means for verifying whether or not the motion of the light emitting means corresponds to the motion indicated by the motion information selected by the selecting means. Can also be configured.
[0024]
The storage unit stores motion information indicating a plurality of different predetermined motions. The motion information is not particularly limited, and may be, for example, information characterizing a predetermined motion. The storage means may be, for example, a volatile memory or a non-volatile memory.
[0025]
The determining means may include a selecting means and a verifying means. The selecting means selects at least one piece of motion information corresponding to the motion of the light emitting means from the plurality of pieces of motion information stored in the storage means. The verification unit verifies whether or not the movement of the light emitting unit corresponds to the movement indicated by the movement information selected by the selection unit.
[0026]
The motion information of the present invention is time-series information of a position, the input unit inputs the position information in a time-series, the selection unit, based on the position information input in the time-series, The at least one motion information may be selected.
[0027]
The information on the time series of the position includes, for example, information on a continuous position on the time axis. The input means can input the position information in time series by inputting the position information at predetermined time intervals, for example, and the selecting means can select at least one of the position information based on the position information input in the time series. When the motion information is selected, for example, at this time, the input time-series position information is compared with motion information (positional time-series information) indicating a predetermined motion. Good.
[0028]
The verification means of the present invention may also verify whether or not the movement of the light emitting means corresponds to the movement indicated by the movement information selected by the selection means based on the detected physical quantity relating to the speed. it can.
[0029]
The physical quantity related to the speed according to the present invention may be at least one of an acceleration and a speed accompanying the movement of the light emitting unit.
[0030]
The instruction input device according to the present invention includes: target information for which execution of a process is instructed; display means for displaying designation information for designating the target information; and the display means for responding to a change in the input position information. Display control means for controlling the display means so that the position of the designated information changes, wherein the instruction means determines that the movement of the light emitting means corresponds to a predetermined movement, For the target information specified by the specification information, it is possible to instruct execution of a process associated with the predetermined movement.
[0031]
The display unit displays target information for which execution of a process is instructed, and designation information for designating the target information. The display means is not particularly limited as long as it displays information, and may be a television screen, a display provided in a personal computer or the like, or a touch panel provided in a PDA or the like. The target information for which the execution of the process is instructed can be an icon, a folder, or the input position itself if the display means is a display or the like provided in a personal computer or the like. The designation information means for designating the target information may be, for example, a cursor used in a personal computer.
[0032]
The display control means controls the display means so that the position of the designated information, for example, the position of the cursor, changes in response to the change of the input position information.
[0033]
The instructing unit instructs, when it is determined that the movement of the light emitting unit corresponds to the predetermined movement, execution of a process associated with the predetermined movement with respect to the target information specified by the specifying information.
[0034]
The instruction means of the present invention is configured such that, among the movements of the light emitting means, which are determined that the movement of the light emitting means corresponds to a predetermined movement, for the target information designated by the designation information, It is possible to instruct execution of a process associated with the movement.
[0035]
For example, when the position information changes during the movement of the light emitting means, the position of the designated information may change corresponding to the change. For example, when the designated information is a cursor used in a personal computer, the display position of the cursor changes, and the target information designated by the cursor may differ between the start point and the end point of the movement of the light emitting unit. . In this case, it may be set in advance which target information is to be instructed to execute a process associated with a predetermined motion.
[0036]
The predetermined movement of the present invention may be a movement that makes one reciprocation in a predetermined direction. For example, this movement can be regarded as a click movement operated by a mouse of a personal computer.
[0037]
The predetermined movement of the present invention is a movement that makes one reciprocation in a predetermined direction within a predetermined time, and includes calculation means for calculating a time accompanying the movement of the light emitting means. It is possible to determine whether or not the movement of the light emitting means is the predetermined movement based on the calculated physical quantity relating to the speed and the time calculated by the calculating means.
[0038]
The predetermined motion of the present invention may be a motion of reciprocating two times in a predetermined direction. For example, this movement can be regarded as a double-click movement operated by a mouse of a personal computer.
[0039]
The predetermined movement according to the present invention is a movement that makes two reciprocations in a predetermined direction within a predetermined time, and includes a calculation unit that calculates a time accompanying the movement of the light emitting unit. It is possible to determine whether or not the movement of the light emitting means is the predetermined movement based on the calculated physical quantity relating to the speed and the time calculated by the calculating means.
[0040]
The predetermined movement of the present invention is such that, after moving in a predetermined direction, after moving in the predetermined direction, further moving in the predetermined direction, a direction orthogonal to the predetermined direction, or a direction sandwiched in both directions. Can be a movement to move. For example, this movement can be regarded as a drag movement operated by a mouse of a personal computer.
[0041]
In the present invention, the predetermined movement is to move in a predetermined direction, and after moving in the predetermined direction, after a lapse of a predetermined time, further in the predetermined direction or a direction orthogonal to the predetermined direction. Alternatively, the moving means includes a calculating means for calculating a time accompanying the movement of the light emitting means, wherein the calculating means calculates a time associated with the movement of the light emitting means, and the determining means calculates the physical quantity relating to the detected speed and the calculating means. It is possible to determine whether or not the movement of the light emitting means is the predetermined movement based on the performed time.
[0042]
The predetermined movement of the present invention may be a movement moving in a direction opposite to a predetermined direction. For example, this movement can be regarded as a movement of a drop operated by a mouse of a personal computer.
[0043]
The predetermined movement of the present invention may be a stationary state.
[0044]
The predetermined movement according to the present invention is a state in which the predetermined movement is stationary for a predetermined time, and further includes calculation means for calculating a time accompanying the movement of the light emitting means, wherein the determination means relates to the detected speed. Based on the physical quantity and the time calculated by the calculating means, it can be determined whether or not the movement of the light emitting means is stationary for the predetermined time.
[0045]
The calculating means for calculating the time accompanying the movement of the light emitting means of the present invention, wherein the determining means determines the movement of the light emitting means in advance based on the detected physical quantity relating to the speed and the calculated time. It can be determined whether or not the movement corresponds to the performed movement.
[0046]
In this way, the time associated with the movement of the light emitting means, which is calculated by the calculating means, can be used as a condition for determining the movement of the light emitting means, together with the physical quantity relating to the detected speed.
[0047]
When the determining means of the present invention determines whether or not the movement of the light emitting means corresponds to a predetermined movement, the determination is made by giving an allowable amount to the movement of the light emitting means or the predetermined movement. be able to.
[0048]
For example, when the instructing person moves the light-emitting unit while wearing it on the hand, unintended minute blurring may occur due to hand wobble. Therefore, it is preferable that the determination unit determines the movement of the light emitting unit or a predetermined movement by giving an allowance.
[0049]
The display control means of the present invention can perform control so as to change a display state of the instruction information based on a physical quantity relating to the detected speed.
[0050]
The display control means of the present invention can control so as to change at least one of a shape, a size, and a color of the instruction information based on a physical quantity related to the detected speed.
[0051]
The display control means of the present invention can control so as to change the size of the target information displayed within a predetermined distance from the position of the designated information.
[0052]
The instruction input device according to the present invention includes: a sound generating unit for outputting a sound; and a sound output control unit for controlling the sound generating unit to change a sound generating state based on a physical quantity related to the detected speed. It may be further provided.
[0053]
Here, the sounding means only needs to generate sound, and may be, for example, a speaker.
[0054]
An instruction input method according to the present invention includes a measurement step of measuring position information of a light emitting unit based on a light receiving state of light emitted from a light emitting unit that can be worn by an instruction input person; and a position measured in the measurement step. An input step of inputting information, a detection step of detecting a physical quantity related to a speed associated with the movement of the light emitting unit based on the input position information, and the light emission based on the detected physical quantity related to the speed. A determining step of determining whether the movement of the means corresponds to a predetermined movement; and, if determining that the movement of the light emitting means corresponds to a predetermined movement, the determining step corresponds to the predetermined movement. And an instruction step of instructing execution of the attached process.
[0055]
According to the present invention, it is possible to input an instruction without requiring a mechanical operation or a relatively detailed operation.
[0056]
The program according to the present invention includes an input step of inputting, to a computer, positional information of the light emitting unit measured based on a light receiving state of light emitted from the light emitting unit that can be worn by the instruction input person; A detection step of detecting a physical quantity related to the speed associated with the movement of the light emitting unit based on the position information; and a movement of the light emitting unit corresponding to a predetermined movement based on the detected physical quantity related to the speed. A determining step of determining whether or not the movement of the light emitting unit corresponds to a predetermined movement, and an instruction step of instructing execution of a process associated with the predetermined movement. And let it run.
[0057]
When the program of the present invention is executed by a computer, it is possible to input instructions without requiring a mechanical operation or a relatively detailed operation.
[0058]
The storage medium for storing the program is not particularly limited, and may be a hard disk or a ROM. Further, it may be a CD-ROM, a DVD disk, a magneto-optical disk, or an IC card. Furthermore, the program may be downloaded from a server or the like connected to a network.
[0059]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0060]
[First Embodiment]
FIG. 1 is a diagram showing a configuration of an instruction input system including a
[0061]
As illustrated, the instruction input system includes an
[0062]
The
[0063]
The
[0064]
The
[0065]
FIG. 2 is a diagram showing a specific configuration of the
[0066]
As shown in the figure, the
[0067]
The
[0068]
The storage medium for storing the instruction input processing program is not limited to the
[0069]
FIG. 3 is a diagram functionally showing the configuration of the personal computer
[0070]
As shown in the figure, the
[0071]
The
[0072]
FIG. 4 is a diagram specifically illustrating an example of each of the click, double-click, and drag-and-drop instruction operations.
[0073]
Here, the xyz coordinate system is defined by setting the direction from the
[0074]
If the screen of the
[0075]
In the present embodiment, the movement of the click rapidly moves in a direction approaching the 3D measuring device 20 (minus direction of the z-axis) within a preset time, and then moves in the opposite direction (plus direction of the z-axis). ) (That is, one reciprocation on the z-axis), which corresponds to the movement A in the figure.
[0076]
The double-click movement is set as a movement in which the click movement is repeated twice continuously (that is, makes two reciprocations on the z-axis) within a preset time, and corresponds to the movement of B in the figure. I do.
[0077]
The movement of drag and drop is composed of the movement of drag and drop, and corresponds to the movement of C in the figure. The drag is set as a movement of rapidly moving in the minus direction of the z-axis and then slowly moving in the minus direction or on the xy plane after a preset time has elapsed. Note that there is no time limit for the movement of slowly moving in the minus direction or on the xy plane. Drop is set as a movement that moves rapidly in the positive direction of the z-axis.
[0078]
The
[0079]
In addition, by making a determination using the acceleration, the state where the
[0080]
Further, by making a determination using the speed, it is possible to recognize that the
[0081]
In FIG. 4, the state of acceleration is indicated by a solid arrow, and the state of speed is indicated by a dotted arrow.
[0082]
The
[0083]
The
[0084]
The
[0085]
Although not shown, the
[0086]
Hereinafter, the instruction input processing according to the present embodiment will be described.
[0087]
The instruction input person moves the hand wearing the
[0088]
FIGS. 5 to 7 are flowcharts showing a main routine of the instruction input process performed by the
[0089]
FIG. 8 is a diagram illustrating an example of the movement of the
[0090]
8, the horizontal axis represents the time axis, and the vertical axis represents the z axis. Thick solid lines indicated by points B0 to B4 indicate the locus of movement of the
[0091]
The movement of the
[0092]
Hereinafter, the instruction input process will be described using the flowcharts of FIGS. 5 to 7 in comparison with FIG.
[0093]
Although not shown in each flowchart, the
[0094]
For example, the speed can be detected by dividing the difference between the z coordinate values of the three-dimensional position information by the time difference, and the acceleration can be detected by dividing the detected speed by the time difference. Since the direction away from the
[0095]
In
[0096]
As described above, if the
[0097]
From this, the value obtained by adding a minus sign to the acceleration is the threshold A 0 Is determined, it is possible to determine whether or not the
[0098]
In
[0099]
Also, -acceleration> A 0 If it is determined that this is the case (corresponding to the point B0 in FIG. 8), the instruction input person has moved his hand with his or her will, so the flow shifts to step 102 to start the timers T1 and T2.
[0100]
Here, the timer T1 is a timer used to measure the time from the start of movement in a certain direction to the start of movement in a direction opposite to the certain direction. For the timer T1, the threshold T1 0 Is set.
[0101]
The timer T2 is a timer used to determine a double-click movement. For the timer T2, the threshold T2 0 Is set.
[0102]
In
[0103]
In
[0104]
In
[0105]
In
[0106]
In
[0107]
At
[0108]
In
[0109]
More specifically, referring to the functional configuration diagram of FIG. 3, the
[0110]
After executing the click process in
[0111]
In
[0112]
At
[0113]
In
[0114]
At step 126, the timer T1> T1 0 If it is determined that the time is not longer, the process proceeds to step 144, the timers T1 and T2 are reset, and the process returns to the standby state. At step 126, the timer T1 ≦ T1 0 If it is determined that the speed is the threshold V, 0 It is determined whether or not it has exceeded.
[0115]
In
[0116]
In step 132, the next detected acceleration is the threshold A 0 It is determined whether or not it has exceeded. Here, + acceleration ≤ A 0 If it is determined that the timer T1 is equal to 0 It is determined whether or not it has exceeded.
[0117]
At
[0118]
In step 132, + acceleration> A 0 If it is determined that the timer T1 is equal to the threshold T1, the process proceeds to step 136. 0 It is determined whether or not:
[0119]
In
[0120]
The timer T2 measures the time from when the click motion starts. Threshold T2 0 Is set in advance as the limit of the time required for the double-click movement. Therefore, the timer T2 and the threshold T2 0 Can be determined whether the movement of the
[0121]
At
[0122]
In
[0123]
In the double-click processing, similarly to the click processing, the
[0124]
After
[0125]
Note that the double-click motion is not particularly limited to FIG. 8 as long as the motion satisfies the above-described conditions of speed, acceleration, and time. For example, the start point of the second click on the z-axis (ie, point B2) does not need to be the same position as the start point of the first click on the z-axis (ie, point B0).
[0126]
On the other hand, in
[0127]
Specifically, the
[0128]
The drag process is a process that is usually performed after the click process. For example, an object such as an icon selected by the click process can be dragged (moved).
[0129]
After
[0130]
In
[0131]
In the drop process, similarly to the drag, the
[0132]
After
[0133]
In
[0134]
In the present system, an object to be instructed to execute a process associated with a movement such as a click or a double-click (an object includes, for example, an icon, a folder, a button, or a data input position). Is performed at the same time as the main routine of the above-described instruction input process for performing a process of displaying a cursor for designating on the
[0135]
Although the cursor can use the current display routine called from the OS, the program of the display processing routine for displaying the user-defined cursor or expression is previously designated as a subroutine of the above-mentioned instruction input processing routine. It is included in the input processing program.
[0136]
FIG. 9 is a flowchart showing a display processing routine. This display processing routine is executed every predetermined time.
[0137]
In
[0138]
In
[0139]
When the
[0140]
As described above, by displaying the cursor in accordance with the three-dimensional position information, it is possible to easily input and instruct the processing for the object displayed at the designated position of the cursor.
[0141]
As is clear from the flow of the instruction input process described above, after the click command is output and the icon or the position is selected (step 114), when the
[0142]
As described above, the three-dimensional position information of the
[0143]
In addition, since a preset movement including time is set, and the time associated with the movement of the
[0144]
Note that, in the present embodiment, an example has been described in which the speed and the acceleration are detected using the difference between the z coordinate values of the three-dimensional position information, but the (x, y, z) coordinate values may be used instead of the z coordinate values. It is also possible to detect the speed and acceleration from. Further, in the present embodiment, an example has been described in which the motion is determined based on the speed and acceleration detected from the z-coordinate value. However, in other directions, for example, the speed in the up-down direction or the left-right direction for the instruction input person. Alternatively, the motion may be determined based on the acceleration. In that case, the position of the cursor may be moved based on a coordinate value on a two-dimensional plane orthogonal to the other direction.
[0145]
Also, the threshold A 0 , V 0 , T1 0 , T2 0 Can be arbitrarily changed. For example, the
[0146]
In the present embodiment, an example in which an instruction is input only by the movement of the
[0147]
Further, although the description has been omitted in the above-described embodiment, other movements, for example, a mouse-down movement performed by a two-dimensional mouse (a movement in a state where a button is kept pressed) are also corresponding movements. Can be set in advance, and the execution of the process can be instructed by judging from the speed, acceleration, and time.
[0148]
[Second embodiment]
In the above-described first embodiment, an example has been described in which the movement is determined based on the speed and acceleration on the z-axis. However, when the x-coordinate value or the y-coordinate value changes during the movement of the
[0149]
However, it is difficult for the user to actually move the hand while fixing the x and y coordinate values. Therefore, in the present embodiment, an example will be described in which an allowable range of x and y coordinate values is provided to determine a motion. Note that the configuration of the instruction input processing system of the present embodiment is the same as that of the first embodiment, and a description thereof will be omitted.
[0150]
In the double-click movement, for example, the step shown in FIG. 10 can be used instead of
[0151]
After
[0152]
In FIG. 8, the x and y coordinate values in the first click movement may be the position of point B0 or the position of point B1 in FIG. Similarly, the x and y coordinate values in the second click movement may be the position of point B2 or the position of point B3.
[0153]
If it is determined in
[0154]
If it is determined in
[0155]
As described above, by providing an allowable range for the movement, the burden on the instruction input person is relatively reduced.
[0156]
In the present embodiment, an example has been described in which it is determined whether the x and y coordinate values of the points B0 (or B1) and B2 (or B3) in FIG. 8 are within an allowable range. The x and y coordinate values at the first B0 point are stored, and the x and y coordinate values of the B0 point when passing through the B1, B2, B3, and B4 points. May be determined for each coordinate value to determine whether the difference is within an allowable range. If it is determined at any point that it has exceeded the allowable range, it immediately returns to the standby state. When it is determined that the points B3 and B4 are out of the allowable range, the state in which the processing associated with the click movement is performed may be maintained.
[0157]
Further, in the present embodiment, an example has been described in which an allowable range is set for the x and y coordinate values and the motion is determined. However, the motion is determined by setting an allowable range for the speed in the x and y directions. You can also. For example, the speed in the x and y directions is detected together with the speed in the z-axis direction, and is used for determining the movement of the
[0158]
In this case, if the difference between the velocities in the x and y directions exceeds the allowable range, it is determined that the movement of the
[0159]
The determination may be made using both the x and y coordinate values and the speed in the x and y directions, or may be made using one of the allowable ranges.
[0160]
Further, the determination based on the allowable range is not limited to the double-click motion, and other motions (movements such as click and drag) can be similarly determined by providing an allowable range.
[0161]
Furthermore, even when the designated position of the cursor is slightly deviated from the object (for example, an icon, etc.) that the instruction input person wants to specify as a processing target, x and y are set so that the object is specified as a processing target. An allowable range of coordinate values may be set. Thus, it is possible to instruct execution of a process on a desired target without requiring a detailed operation.
[0162]
[Third Embodiment]
In the above-described first embodiment, when execution of a process associated with a movement such as a click or a double click is instructed (
[0163]
However, as in the example shown in the second embodiment, if an allowable range is provided for the x and y coordinate values, the designated position of the cursor may change during the movement of the
[0164]
In this case, it is necessary to set in advance which position information of a plurality of designated positions in the movement is to be included in the command and output.
[0165]
For example, when the position of the first click (the position of the point B0 or B1 in FIG. 8) of the
[0166]
In this case, the change of the x and y coordinate values is limited to the allowable range, but the display position of the cursor is fixed to the position of the first click, and the instruction input person is made to recognize the position. You can also.
[0167]
However, when drawing a continuous line segment with drawing software or the like to create a drawing, it is preferable to always use the latest x, y coordinate values. In this case, since the latest x and y coordinate values may be included in the command, unlike the case of position lock, there is no need for special processing such as reading out the stored position information.
[0168]
Although whether or not to lock the position may be set in advance, it may be determined whether or not to lock the position according to the process being executed.
[0169]
In the present embodiment, an example in which a determination is made according to a process being executed will be described with reference to FIG.
[0170]
In
[0171]
If an affirmative determination is made in
[0172]
If a negative determination is made in
[0173]
The timing at which the position information is stored in the
[0174]
As described above, by outputting a command by designating any position information in the movement of the
[0175]
[Fourth Embodiment]
In the present embodiment, a description will be given of a process in a case where a preset motion is set as a stationary state for a predetermined time. That is, the movement is determined based on time, not speed or acceleration.
[0176]
Note that the configuration of the instruction input processing system of the present embodiment is the same as that of the first embodiment, and a description thereof will be omitted.
[0177]
Hereinafter, a case will be described as an example where the preset double-click movement is constituted by the click movement shown in the first embodiment and a state in which the double-click movement is stationary for a predetermined time after the click movement. Will be explained. In this embodiment, as in the second embodiment, an allowable range is provided, and if the change in the position of the
[0178]
The flow up to the click processing (
[0179]
The processing of this embodiment after
[0180]
In
[0181]
In
[0182]
If it is determined in
[0183]
If it is determined in
[0184]
After
[0185]
As described above, since the movement of the
[0186]
[Fifth Embodiment]
In the fourth embodiment, the example in which the movement of the double click is determined based on the time has been described. In the present embodiment, not only the double click but also the movement of the click is determined based on the time. Will be described.
[0187]
The configuration of the instruction input processing system of the present embodiment is the same as that of the first embodiment, and a description thereof will be omitted.
[0188]
Here, an example will be described in which an icon is displayed on the
[0189]
Note that the threshold value of the stationary time can be arbitrarily set.
[0190]
FIG. 13 is a flowchart showing a main routine of the instruction input process performed by the
[0191]
In
[0192]
If a negative determination is made in
[0193]
If an affirmative determination is made in
[0194]
In
[0195]
If an affirmative determination is made in
[0196]
On the other hand, if it is determined in
[0197]
At
[0198]
Next, in
[0199]
At
[0200]
In
[0201]
At
[0202]
In
[0203]
If it is determined in
[0204]
As described above, when the cursor displayed by the movement of the
[0205]
In the present embodiment, the judgment on the allowable range of the x and y coordinate values is omitted, but in the present embodiment, an allowable range is provided similarly to the second embodiment, and the position of the
[0206]
At this time, it is also preferable to set the allowable range of the change (x, y coordinate values) of the display position of the cursor to, for example, (± 5 × 3/100 mm). Further, in the present embodiment, an example in which the speed is used to determine the movement of the drag has been described. However, the allowable range for determining the movement of the click or the double click is the first allowable range, and the movement of the drag is determined. A second permissible range (a range wider than the first permissible range) for determination is provided separately from the first permissible range, and the cursor moves beyond the first permissible range to be within the second permissible range. If the state remains for a predetermined period of time, it may be determined that the movement is a drag movement.
[0207]
It is also preferable to start dragging when the z-coordinate value of the
[0208]
As described above, it is also possible to configure an algorithm in the order of time, acceleration, and speed (or only time).
[0209]
Thereby, the processing amount of the
[0210]
[Sixth Embodiment]
In the present embodiment, time-series information (hereinafter, referred to as a time-series pattern) of a three-dimensional position indicating a movement such as a click or a double-click is stored in the
[0211]
The
[0212]
The area for storing the input position information may have, for example, a ring-shaped data structure. The newly input three-dimensional position information is overwritten on the area storing the oldest data in the ring-shaped storage area.
[0213]
FIG. 14 is a flowchart showing a processing routine for storing position information, which is performed every predetermined time.
[0214]
In
[0215]
In
[0216]
Thereby, time-series data of the three-dimensional position information is obtained.
[0219]
FIG. 15 is a flowchart showing an instruction input processing routine for performing instruction input processing using a time-series pattern, which is performed at predetermined time intervals. The program of this instruction input processing routine is stored in a storage medium such as the
[0218]
In
[0219]
In
[0220]
In
[0221]
In
[0222]
Here, an example of a time-series pattern that is stored in advance is shown in FIGS. 16 and 17.
[0223]
FIG. 16 is an example of a time-series pattern showing a click movement, and FIG. 17 is an example of a time-series pattern showing a double-click movement. In the present embodiment, for example, these time-series patterns are matched with a previously acquired trajectory pattern to determine which time-series pattern the movement of the
[0224]
In
[0225]
For example, the similarity may be converted into a numerical value by using a method such as scaling or the least squares method, and this may be stored as a matching result with the p-th time-series pattern.
[0226]
In
[0227]
In
[0228]
Next, in
[0229]
In
[0230]
In
[0231]
Various methods can be used for calculating the speed. As described in the first embodiment, the speed may be calculated by dividing the difference between the z-coordinate values of the divided data by the time difference. Is determined by calculating the difference between the z-coordinate value at an arbitrary time within the time frame and the z-coordinate value at a time shifted by the time frame from the time, and dividing by the time frame. You can also.
[0232]
The acceleration can be obtained, for example, as follows. A difference between continuous position information in the divided data is obtained to generate new time-series data. A frame Tm on an arbitrary time axis is provided for the generated time-series data, and time-series data at an arbitrary time within the frame Tm and time-series data at a time shifted from the time by the frame Tm are provided. When the difference is obtained and divided by the frame Tm, the acceleration is obtained.
[0233]
The method for obtaining the speed and acceleration is not particularly limited, and any method may be used.
[0234]
In
[0235]
Specifically, it is determined whether or not each of the acceleration and the speed for each of the divided data exceeds a preset threshold. Here, if it is determined that at least one does not exceed the threshold, the verification result is NG. If it is determined that all the accelerations and velocities exceed the threshold, the verification result is OK.
[0236]
FIG. 18 shows an example of the state of the speed in the movement of the click, and FIG. 19 shows an example of the state of the speed in the movement of the double click. In this figure, the speed is represented by an absolute value. V shown 0 Is the speed threshold. In addition, in order to make the points easy to understand, the speed is represented by a simple mountain shape.
[0237]
As shown in the drawing, if the speed of each of the two divided data exceeds the threshold value, the verification result is OK. In the double click, if each speed of the four divided data exceeds the threshold value, the verification result is OK.
[0238]
In
[0239]
If it is determined in
[0240]
It should be noted that the specific processing of
[0241]
For the divided data, the speed and acceleration are sequentially calculated for each of the divided data and compared with the threshold. If it is determined that the threshold has not been exceeded for a certain divided data, the speed and the acceleration for the remaining divided data are determined. The processing may be terminated immediately without calculating the acceleration.
[0242]
Further, the method of selecting the time-series pattern is not limited to the above-described example, and the following method can be adopted. For example, characteristics of a time-series pattern indicating a click or a double-click movement are stored in advance.
[0243]
For example, for a time-series pattern indicating a click movement, a feature that one minimum value exists in the z-coordinate value is stored in advance. In addition, as for the time-series pattern indicating the movement of the double click, the feature that two consecutive local minimum values exist in the z coordinate value is stored.
[0244]
Thereby, it is determined whether or not the trajectory represented by the acquired position information has the characteristic, and matching is performed. Specifically, when it is determined that only one local minimum exists in the trajectory represented by the captured time-series position information, a time-series pattern indicating a click movement is selected, and two consecutive patterns are displayed. If it is determined that a local minimum exists, a time-series pattern indicating a double-click movement can be selected.
[0245]
As described above, since the movement of the
[0246]
[Seventh Embodiment]
In the present embodiment, an example will be described in which the movement of the
[0247]
Here, an area in which the
[0248]
FIG. 20 shows an example of a time-series pattern. From the vicinity (F) of the recognition area defined as a rectangular parallelepiped on the front surface of the
[0249]
Such a time-series pattern has the following features.
[0250]
The change in the time-series data of the x, y, and z coordinate values is a monotonous change. Since the
[0251]
Therefore, when the
[0252]
When the time series pattern is recognized, for example, the present system may be shut down.
[0253]
FIG. 21 is also an example of a time-series pattern, and shows a movement in which the
[0254]
This arc-drawing motion (eg, clockwise, moving from bottom to top, and back again) has the characteristic that the next stop position is within a predetermined allowable range from the first pause position. .
[0255]
Further, the upper left corner toward the
[0256]
The x-coordinate value between the two stop positions changes so as to be monotonically decreasing, extremely small, and monotonically increasing.
[0257]
The y-coordinate value between the two stop positions changes to be monotonically decreasing, minimal, monotonically increasing, maximal, monotonically decreasing.
[0258]
Therefore, if the x-coordinate value and the y-coordinate value simultaneously satisfy these characteristics in this section, it can be determined that the time-series pattern is applicable. When the time-series pattern is recognized, for example, a process of enlarging and displaying the entire screen of the display may be executed.
[0259]
Further, in order to instruct execution of the process of restoring the display, a time-series pattern in which the drawing direction of the arc is counterclockwise may be separately set. Further, each time the arc is rotated, the display may be changed at a predetermined enlargement ratio and reduction ratio. Further, the movement of the arc may be a movement on the xz-axis plane instead of the movement on the xy-axis plane.
[0260]
Note that when drawing an arc in the air, it is relatively difficult to return the hand to the exact same position again from the first stop position, so that the first stop position and the next stop position are provided with an allowable range as appropriate. It is preferred to do so.
[0261]
[Eighth Embodiment]
In the present embodiment, an example will be described in which the display state of the cursor is changed or the sound is generated based on the speed so that the instruction input person can recognize the state of the movement of the
[0262]
In the present embodiment, an extended cursor is displayed separately from a general cursor.
[0263]
Here, the extended cursor will be described. On the desktop displayed on the
[0264]
As shown in FIGS. 22A and 22B, the inside of a circle centered on the designated
[0265]
In the present embodiment, a processing routine shown in FIG. 23 is executed instead of the display processing routine described in the first embodiment. This routine is executed every predetermined time.
[0266]
In
[0267]
At
[0268]
At
[0269]
FIG. 22A shows a state where the size of the
[0270]
In
[0271]
On the other hand, if a negative determination is made in
[0272]
FIG. 22B shows a state of the extended cursor when the speed is not sufficient. As shown in the figure, the radius of the
[0273]
As described above, when the speed of the
[0274]
It is also possible to control so that the
[0275]
In addition, as described in
[0276]
Further, the color such as the hue of the
[0277]
As described above, as described in each embodiment, the movement of the
[0278]
Further, the present invention is not limited to the above-described embodiment, and can be applied not only to the operation of a personal computer but also to the operation of a touch panel such as a copier or an ATM of a financial institution. Thereby, the operation of the touch panel can be performed without touching the screen.
[0279]
Further, the present invention can be applied to ON / OFF operation of a switch.
[0280]
【The invention's effect】
The present invention determines whether or not the movement of the light emitting unit corresponds to a predetermined movement based on a physical quantity related to the speed accompanying the movement of the light emitting unit, and determines that the movement of the light emitting unit corresponds to the predetermined movement. In this case, the user is instructed to execute a process associated with the predetermined motion, so that there is an effect that an instruction can be input without requiring a mechanical operation or a relatively fine operation.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration of an instruction input system including a personal computer having a function as an instruction input device according to a first embodiment of the present invention.
FIG. 2 is a diagram showing a specific configuration of a personal computer.
FIG. 3 is a diagram functionally showing a configuration of a personal computer main body.
FIG. 4 is a diagram specifically showing an example of each of click, double-click, and drag-and-drop instruction operations.
FIG. 5 is a flowchart showing a main routine of an instruction input process performed by a CPU of the personal computer.
FIG. 6 is a flowchart showing a main routine of an instruction input process performed by a CPU of a personal computer.
FIG. 7 is a flowchart illustrating a main routine of an instruction input process performed by a CPU of the personal computer.
FIG. 8 is a diagram illustrating an example of the movement of an LED corresponding to the movement of a double click.
FIG. 9 is a flowchart illustrating a display processing routine.
FIG. 10 is a flowchart illustrating a part of a main routine of an instruction input process according to the second embodiment.
FIG. 11 is a flowchart illustrating a processing routine for determining whether or not to lock a position according to a process being executed in the third embodiment;
FIG. 12 is a flowchart illustrating a part of a main routine of an instruction input process according to the fourth embodiment.
FIG. 13 is a flowchart illustrating a main routine of an instruction input process according to the fifth embodiment.
FIG. 14 is a flowchart illustrating a processing routine for storing position information according to a sixth embodiment.
FIG. 15 is a flowchart illustrating an instruction input processing routine for performing instruction input processing using a time-series pattern according to the sixth embodiment.
FIG. 16 is an example of a time-series pattern showing a click movement.
FIG. 17 is an example of a time-series pattern showing a double-click movement.
FIG. 18 is a diagram illustrating an example of a speed state in a click movement.
FIG. 19 is a diagram illustrating an example of a speed state in a double-click movement.
FIG. 20 is an example of a time-series pattern according to the seventh embodiment.
FIG. 21 is an example of a time-series pattern according to the seventh embodiment.
FIG. 22A is a diagram showing a state where the size of the extension cursor is enlarged and the enlargement ratio of an image in the extension cursor is increased. FIG. 22B shows a case where the speed is not sufficient. 5 is a diagram showing a state of an extended cursor of FIG.
FIG. 23 is a flowchart showing a processing routine according to the eighth embodiment.
[Explanation of symbols]
10 LED
20 3D measuring device
30 PC
34 CPU
36 ROM
38 RAM
40 I / O
42 Display
44 Speaker
46 HDD
50 Command generator
Claims (24)
前記入力された位置情報に基づいて、前記発光手段の動きに伴う速さに関する物理量を検出する検出手段と、
前記検出された速さに関する物理量に基づいて、前記発光手段の動きが予め定められた動きに対応するか否かを判断する判断手段と、
前記発光手段の動きが予め定められた動きに対応すると判断された場合に、前記予め定められた動きに対応付けられた処理の実行を指示する指示手段と、
を含む指示入力装置。Input means for inputting position information of the light emitting means measured based on a light receiving state of light emitted from the light emitting means which can be worn by the instruction input person;
Based on the input position information, detecting means for detecting a physical quantity related to the speed accompanying the movement of the light emitting means,
Determining means for determining whether or not the movement of the light emitting means corresponds to a predetermined movement based on the detected physical quantity relating to the speed;
Instructing means for instructing execution of a process associated with the predetermined movement, when it is determined that the movement of the light emitting means corresponds to a predetermined movement,
An instruction input device including:
前記判断手段は、
前記記憶された複数の動き情報から前記発光手段の動きに対応する少なくとも1つの動き情報を選択する選択手段と、
前記発光手段の動きが前記選択手段で選択された動き情報により示される動きに対応するか否かを検証する検証手段と、
を含む請求項1記載の記載の指示入力装置。Comprising storage means for storing movement information indicating a plurality of different predetermined movements,
The determining means includes:
Selecting means for selecting at least one piece of motion information corresponding to the motion of the light emitting means from the plurality of stored pieces of motion information;
Verification means for verifying whether or not the movement of the light emitting means corresponds to the movement indicated by the movement information selected by the selection means,
The instruction input device according to claim 1, further comprising:
前記入力手段は、前記位置情報を時系列に入力し、
前記選択手段は、前記時系列に入力された位置情報に基づいて、前記少なくとも1つの動き情報を選択する請求項2記載の指示入力装置。The motion information is time-series information of a position,
The input means inputs the position information in time series,
The instruction input device according to claim 2, wherein the selection unit selects the at least one piece of motion information based on the position information input in a time series.
前記入力された位置情報の変化に対応して前記指定情報の位置が変化するように前記表示手段を制御する表示制御手段と、
を更に備え、
前記指示手段は、前記発光手段の動きが予め定められた動きに対応すると判断された場合に、前記指定情報により指定された前記対象情報について、前記予め定められた動きに対応付けられた処理の実行を指示する請求項1乃至請求項5のいずれか1項記載の指示入力装置。Display means for displaying target information for which execution of processing is instructed, and designation information for designating the target information;
Display control means for controlling the display means such that the position of the designated information changes in response to the change of the input position information,
Further comprising
The instruction means, when it is determined that the movement of the light emitting means corresponds to a predetermined movement, for the target information designated by the designation information, a process associated with the predetermined movement The instruction input device according to any one of claims 1 to 5, which instructs execution.
前記発光手段の動きに伴う時間を算出する算出手段を備え、
前記判断手段は、前記検出された速さに関する物理量及び前記算出手段により算出された時間に基づいて、前記発光手段の動きが前記予め定められた動きであるか否かを判断する請求項8記載の指示入力装置。The predetermined motion is a motion that makes one reciprocation in a predetermined direction within a predetermined time,
Comprising calculating means for calculating the time accompanying the movement of the light emitting means,
9. The method according to claim 8, wherein the determining unit determines whether the movement of the light emitting unit is the predetermined movement based on the detected physical quantity relating to the speed and the time calculated by the calculating unit. Instruction input device.
前記発光手段の動きに伴う時間を算出する算出手段を備え、
前記判断手段は、前記検出された速さに関する物理量及び前記算出手段により算出された時間に基づいて、前記発光手段の動きが前記予め定められた動きであるか否かを判断する請求項10記載の指示入力装置。The predetermined motion is a motion of reciprocating two times in a predetermined direction within a predetermined time,
Comprising calculating means for calculating the time accompanying the movement of the light emitting means,
The method according to claim 10, wherein the determining unit determines whether the movement of the light emitting unit is the predetermined movement based on a physical quantity related to the detected speed and a time calculated by the calculating unit. Instruction input device.
前記発光手段の動きに伴う時間を算出する算出手段を備え、
前記判断手段は、前記検出された速さに関する物理量及び前記算出手段により算出された時間に基づいて、前記発光手段の動きが前記予め定められた動きであるか否かを判断する請求項12記載の指示入力装置。The predetermined movement is to move in a predetermined direction, and after moving in the predetermined direction, after a predetermined time has elapsed, further move in the predetermined direction, a direction orthogonal to the predetermined direction, or both directions. It is a movement that moves in the direction between
Comprising calculating means for calculating the time accompanying the movement of the light emitting means,
13. The method according to claim 12, wherein the determination unit determines whether the movement of the light emitting unit is the predetermined movement based on a physical quantity related to the detected speed and a time calculated by the calculation unit. Instruction input device.
前記発光手段の動きに伴う時間を算出する算出手段を備え、
前記判断手段は、前記検出された速さに関する物理量及び前記算出手段により算出された時間に基づいて、前記発光手段の動きが、前記所定の時間静止している状態であるか否かを判断する請求項15記載の指示入力装置。The predetermined movement is a state in which the predetermined movement is stationary for a predetermined time,
Comprising calculating means for calculating the time accompanying the movement of the light emitting means,
The determining means determines whether or not the movement of the light emitting means is in a stationary state for the predetermined time based on the physical quantity relating to the detected speed and the time calculated by the calculating means. The instruction input device according to claim 15.
前記判断手段は、前記検出された速さに関する物理量及び前記算出された時間に基づいて、前記発光手段の動きが予め定められた動きに対応するか否かを判断する請求項1乃至請求項7のいずれか1項記載の記載の指示入力装置。Comprising calculating means for calculating the time accompanying the movement of the light emitting means,
8. The method according to claim 1, wherein the determining unit determines whether the movement of the light emitting unit corresponds to a predetermined movement based on the detected physical quantity related to the speed and the calculated time. The instruction input device according to any one of the preceding claims.
前記検出された速さに関する物理量に基づいて発音状態を変化させるように前記発音手段を制御する音声出力制御手段と、
を更に備えた請求項1乃至請求項21のいずれか1項記載の指示入力装置。Sounding means for outputting voice;
Sound output control means for controlling the sounding means so as to change a sounding state based on the physical quantity relating to the detected speed,
The instruction input device according to any one of claims 1 to 21, further comprising:
前記計測工程で計測された位置情報を入力する入力工程と、
前記入力された位置情報に基づいて、前記発光手段の動きに伴う速さに関する物理量を検出する検出工程と、
前記検出された速さに関する物理量に基づいて、前記発光手段の動きが予め定められた動きに対応するか否かを判断する判断工程と、
前記発光手段の動きが予め定められた動きに対応すると判断された場合に、前記予め定められた動きに対応付けられた処理の実行を指示する指示工程と、
を含む指示入力方法。A measuring step of measuring position information of the light emitting means based on a light receiving state of light emitted from the light emitting means that can be worn by the instruction input person,
An input step of inputting the position information measured in the measurement step,
Based on the input position information, a detection step of detecting a physical quantity related to the speed accompanying the movement of the light emitting unit,
A determining step of determining whether or not the movement of the light emitting unit corresponds to a predetermined movement based on the detected physical quantity related to the speed;
An instruction step of instructing execution of a process associated with the predetermined movement when it is determined that the movement of the light emitting unit corresponds to a predetermined movement;
Instruction input method including.
指示入力者に装着可能な発光手段から発光された光の受光状態に基づいて計測された該発光手段の位置情報を入力する入力工程と、
前記入力された位置情報に基づいて、前記発光手段の動きに伴う速さに関する物理量を検出する検出工程と、
前記検出された速さに関する物理量に基づいて、前記発光手段の動きが予め定められた動きに対応するか否かを判断する判断工程と、
前記発光手段の動きが予め定められた動きに対応すると判断された場合に、前記予め定められた動きに対応付けられた処理の実行を指示する指示工程と、
を実行させるためのプログラム。On the computer,
An input step of inputting position information of the light emitting unit measured based on a light receiving state of light emitted from the light emitting unit that can be worn by the instruction input person;
Based on the input position information, a detection step of detecting a physical quantity related to the speed accompanying the movement of the light emitting unit,
A determining step of determining whether or not the movement of the light emitting unit corresponds to a predetermined movement based on the detected physical quantity related to the speed;
An instruction step of instructing execution of a process associated with the predetermined movement when it is determined that the movement of the light emitting unit corresponds to a predetermined movement;
The program to execute.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003138645A JP2004341892A (en) | 2003-05-16 | 2003-05-16 | Instruction input device, instruction input method, and program |
US10/754,706 US20040227741A1 (en) | 2003-05-16 | 2004-01-12 | Instruction inputting device and instruction inputting method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003138645A JP2004341892A (en) | 2003-05-16 | 2003-05-16 | Instruction input device, instruction input method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004341892A true JP2004341892A (en) | 2004-12-02 |
Family
ID=33410809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003138645A Pending JP2004341892A (en) | 2003-05-16 | 2003-05-16 | Instruction input device, instruction input method, and program |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040227741A1 (en) |
JP (1) | JP2004341892A (en) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005070996A (en) * | 2003-08-22 | 2005-03-17 | Fuji Xerox Co Ltd | Instruction input device, instruction input system, instruction input method, and program |
JP2007104523A (en) * | 2005-10-07 | 2007-04-19 | Sony Corp | Remote control system, device and method for remote control, device and method for information processing, and computer program |
JP2009252241A (en) * | 2008-04-01 | 2009-10-29 | Crucialtec Co Ltd | Optical pointing device, and click recognition method using the same |
JP2018032426A (en) * | 2005-12-30 | 2018-03-01 | アップル インコーポレイテッド | Portable electronic apparatus including interface reconfiguration mode |
US10250735B2 (en) | 2013-10-30 | 2019-04-02 | Apple Inc. | Displaying relevant user interface objects |
US10254949B2 (en) | 2007-01-07 | 2019-04-09 | Apple Inc. | Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display |
US10313505B2 (en) | 2006-09-06 | 2019-06-04 | Apple Inc. | Portable multifunction device, method, and graphical user interface for configuring and displaying widgets |
US10620780B2 (en) | 2007-09-04 | 2020-04-14 | Apple Inc. | Editing interface |
US10628028B2 (en) | 2008-01-06 | 2020-04-21 | Apple Inc. | Replacing display of icons in response to a gesture |
JP2020074081A (en) * | 2015-10-14 | 2020-05-14 | マクセル株式会社 | Operation method |
US10739974B2 (en) | 2016-06-11 | 2020-08-11 | Apple Inc. | Configuring context-specific user interfaces |
US10761691B2 (en) | 2007-06-29 | 2020-09-01 | Apple Inc. | Portable multifunction device with animated user interface transitions |
US10788953B2 (en) | 2010-04-07 | 2020-09-29 | Apple Inc. | Device, method, and graphical user interface for managing folders |
US10915220B2 (en) | 2015-10-14 | 2021-02-09 | Maxell, Ltd. | Input terminal device and operation input method |
US11126321B2 (en) | 2007-09-04 | 2021-09-21 | Apple Inc. | Application menu user interface |
US11281368B2 (en) | 2010-04-07 | 2022-03-22 | Apple Inc. | Device, method, and graphical user interface for managing folders with multiple pages |
US11675476B2 (en) | 2019-05-05 | 2023-06-13 | Apple Inc. | User interfaces for widgets |
US11816325B2 (en) | 2016-06-12 | 2023-11-14 | Apple Inc. | Application shortcuts for carplay |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7576729B2 (en) * | 2004-12-09 | 2009-08-18 | Medina Carlos A | Foot controlled computer mouse with finger clickers |
JP2006270913A (en) * | 2005-02-23 | 2006-10-05 | Matsushita Electric Works Ltd | Input unit and environment control system using the same |
US20080136775A1 (en) * | 2006-12-08 | 2008-06-12 | Conant Carson V | Virtual input device for computing |
US8031272B2 (en) * | 2007-07-19 | 2011-10-04 | International Business Machines Corporation | System and method of adjusting viewing angle for display |
US8115877B2 (en) * | 2008-01-04 | 2012-02-14 | International Business Machines Corporation | System and method of adjusting viewing angle for display based on viewer positions and lighting conditions |
DE102008017716A1 (en) * | 2008-04-07 | 2009-10-08 | Volkswagen Ag | Displaying and operating device for vehicle, has display device, touch-sensitive position detection unit coupled with display device, and controller which is coupled with display device and position detection unit |
US10019081B2 (en) * | 2009-01-15 | 2018-07-10 | International Business Machines Corporation | Functionality switching in pointer input devices |
JP2010170388A (en) * | 2009-01-23 | 2010-08-05 | Sony Corp | Input device and method, information processing apparatus and method, information processing system, and program |
KR101789683B1 (en) * | 2011-06-13 | 2017-11-20 | 삼성전자주식회사 | Display apparatus and Method for controlling display apparatus and remote controller |
CN103197889B (en) * | 2013-04-03 | 2017-02-08 | 锤子科技(北京)有限公司 | Brightness adjusting method and device and electronic device |
CN107329395B (en) * | 2017-07-31 | 2020-03-27 | 歌尔科技有限公司 | Method, device and system for judging time-travelling accuracy of watch hand |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68921543T2 (en) * | 1988-10-26 | 1995-07-20 | Wacom Co Ltd | Optical coordinate input device and position pointer therefor. |
JPH05127809A (en) * | 1991-04-19 | 1993-05-25 | Sharp Corp | Three-dimensional spatial coordinate input device |
-
2003
- 2003-05-16 JP JP2003138645A patent/JP2004341892A/en active Pending
-
2004
- 2004-01-12 US US10/754,706 patent/US20040227741A1/en not_active Abandoned
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005070996A (en) * | 2003-08-22 | 2005-03-17 | Fuji Xerox Co Ltd | Instruction input device, instruction input system, instruction input method, and program |
US8018325B2 (en) | 2005-10-07 | 2011-09-13 | Sony Corporation | Remote control system, remote controller, information processing apparatus, remote control method, information processing method, and computer program therefor |
JP2007104523A (en) * | 2005-10-07 | 2007-04-19 | Sony Corp | Remote control system, device and method for remote control, device and method for information processing, and computer program |
JP4622792B2 (en) * | 2005-10-07 | 2011-02-02 | ソニー株式会社 | Remote operation system, remote operation device, information processing device, remote operation method, information processing method, and computer program |
US10884579B2 (en) | 2005-12-30 | 2021-01-05 | Apple Inc. | Portable electronic device with interface reconfiguration mode |
US11449194B2 (en) | 2005-12-30 | 2022-09-20 | Apple Inc. | Portable electronic device with interface reconfiguration mode |
US10359907B2 (en) | 2005-12-30 | 2019-07-23 | Apple Inc. | Portable electronic device with interface reconfiguration mode |
JP2018032426A (en) * | 2005-12-30 | 2018-03-01 | アップル インコーポレイテッド | Portable electronic apparatus including interface reconfiguration mode |
US10915224B2 (en) | 2005-12-30 | 2021-02-09 | Apple Inc. | Portable electronic device with interface reconfiguration mode |
US12026352B2 (en) | 2005-12-30 | 2024-07-02 | Apple Inc. | Portable electronic device with interface reconfiguration mode |
US11650713B2 (en) | 2005-12-30 | 2023-05-16 | Apple Inc. | Portable electronic device with interface reconfiguration mode |
US10778828B2 (en) | 2006-09-06 | 2020-09-15 | Apple Inc. | Portable multifunction device, method, and graphical user interface for configuring and displaying widgets |
US11736602B2 (en) | 2006-09-06 | 2023-08-22 | Apple Inc. | Portable multifunction device, method, and graphical user interface for configuring and displaying widgets |
US10313505B2 (en) | 2006-09-06 | 2019-06-04 | Apple Inc. | Portable multifunction device, method, and graphical user interface for configuring and displaying widgets |
US11240362B2 (en) | 2006-09-06 | 2022-02-01 | Apple Inc. | Portable multifunction device, method, and graphical user interface for configuring and displaying widgets |
US12028473B2 (en) | 2006-09-06 | 2024-07-02 | Apple Inc. | Portable multifunction device, method, and graphical user interface for configuring and displaying widgets |
US11169691B2 (en) | 2007-01-07 | 2021-11-09 | Apple Inc. | Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display |
US11586348B2 (en) | 2007-01-07 | 2023-02-21 | Apple Inc. | Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display |
US10732821B2 (en) | 2007-01-07 | 2020-08-04 | Apple Inc. | Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display |
US10254949B2 (en) | 2007-01-07 | 2019-04-09 | Apple Inc. | Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display |
US10761691B2 (en) | 2007-06-29 | 2020-09-01 | Apple Inc. | Portable multifunction device with animated user interface transitions |
US11507255B2 (en) | 2007-06-29 | 2022-11-22 | Apple Inc. | Portable multifunction device with animated sliding user interface transitions |
US11604559B2 (en) | 2007-09-04 | 2023-03-14 | Apple Inc. | Editing interface |
US11861138B2 (en) | 2007-09-04 | 2024-01-02 | Apple Inc. | Application menu user interface |
US11126321B2 (en) | 2007-09-04 | 2021-09-21 | Apple Inc. | Application menu user interface |
US10620780B2 (en) | 2007-09-04 | 2020-04-14 | Apple Inc. | Editing interface |
US11010017B2 (en) | 2007-09-04 | 2021-05-18 | Apple Inc. | Editing interface |
US10628028B2 (en) | 2008-01-06 | 2020-04-21 | Apple Inc. | Replacing display of icons in response to a gesture |
JP2009252241A (en) * | 2008-04-01 | 2009-10-29 | Crucialtec Co Ltd | Optical pointing device, and click recognition method using the same |
US11809700B2 (en) | 2010-04-07 | 2023-11-07 | Apple Inc. | Device, method, and graphical user interface for managing folders with multiple pages |
US11281368B2 (en) | 2010-04-07 | 2022-03-22 | Apple Inc. | Device, method, and graphical user interface for managing folders with multiple pages |
US10788953B2 (en) | 2010-04-07 | 2020-09-29 | Apple Inc. | Device, method, and graphical user interface for managing folders |
US11500516B2 (en) | 2010-04-07 | 2022-11-15 | Apple Inc. | Device, method, and graphical user interface for managing folders |
US10972600B2 (en) | 2013-10-30 | 2021-04-06 | Apple Inc. | Displaying relevant user interface objects |
US11316968B2 (en) | 2013-10-30 | 2022-04-26 | Apple Inc. | Displaying relevant user interface objects |
US10250735B2 (en) | 2013-10-30 | 2019-04-02 | Apple Inc. | Displaying relevant user interface objects |
JP2020074081A (en) * | 2015-10-14 | 2020-05-14 | マクセル株式会社 | Operation method |
US11775129B2 (en) | 2015-10-14 | 2023-10-03 | Maxell, Ltd. | Input terminal device and operation input method |
US10915220B2 (en) | 2015-10-14 | 2021-02-09 | Maxell, Ltd. | Input terminal device and operation input method |
US11733656B2 (en) | 2016-06-11 | 2023-08-22 | Apple Inc. | Configuring context-specific user interfaces |
US11073799B2 (en) | 2016-06-11 | 2021-07-27 | Apple Inc. | Configuring context-specific user interfaces |
US10739974B2 (en) | 2016-06-11 | 2020-08-11 | Apple Inc. | Configuring context-specific user interfaces |
US11816325B2 (en) | 2016-06-12 | 2023-11-14 | Apple Inc. | Application shortcuts for carplay |
US11675476B2 (en) | 2019-05-05 | 2023-06-13 | Apple Inc. | User interfaces for widgets |
JP2023099106A (en) * | 2019-10-10 | 2023-07-11 | マクセル株式会社 | Operation method |
JP7273098B2 (en) | 2019-10-10 | 2023-05-12 | マクセル株式会社 | Method of operation |
JP2021121962A (en) * | 2019-10-10 | 2021-08-26 | マクセル株式会社 | Operation method |
JP7453450B2 (en) | 2019-10-10 | 2024-03-19 | マクセル株式会社 | Method of operation |
Also Published As
Publication number | Publication date |
---|---|
US20040227741A1 (en) | 2004-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004341892A (en) | Instruction input device, instruction input method, and program | |
JP6348211B2 (en) | Remote control of computer equipment | |
JP5802667B2 (en) | Gesture input device and gesture input method | |
KR101953165B1 (en) | Gesture recognition devices and methods | |
US20220261066A1 (en) | Systems, Methods, and Graphical User Interfaces for Automatic Measurement in Augmented Reality Environments | |
KR100851977B1 (en) | Controlling Method and apparatus for User Interface of electronic machine using Virtual plane. | |
US20200004403A1 (en) | Interaction strength using virtual objects for machine control | |
JP4172307B2 (en) | 3D instruction input device | |
US20060288314A1 (en) | Facilitating cursor interaction with display objects | |
US9645654B2 (en) | Initializing predictive information for free space gesture control and communication | |
KR101318244B1 (en) | System and Method for Implemeting 3-Dimensional User Interface | |
KR20160134799A (en) | System, method and computer-readable medium for force-based object manipulation and haptic sensations | |
JP2010224764A (en) | Portable game machine with touch panel display | |
CN105488832B (en) | Optical digital ruler | |
Zeleznik et al. | Look-that-there: Exploiting gaze in virtual reality interactions | |
JP2008282367A (en) | Pointing system | |
JP2005078310A (en) | Tactile presentation device, tactile presentation method and program thereof | |
JP4438351B2 (en) | Instruction input device, instruction input system, instruction input method, and program | |
KR20080017194A (en) | Wireless mouse and driving method thereof | |
JP2019008631A (en) | Image processing device, image processing method, and program | |
EP3374847B1 (en) | Controlling operation of a 3d tracking device | |
EP4291970A1 (en) | Systems, methods, and graphical user interfaces for automatic measurement in augmented reality environments | |
JP5769765B2 (en) | Portable game device with touch panel display | |
JP2011172939A (en) | Portable game device with touch panel type display | |
Schulze | Look-That-There: Exploiting Gaze in Virtual Reality Interactions Robert C. Zeleznik, Andrew S. Forsberg |