(57)【特許請求の範囲】
【請求項１】
反射画像を入力画像として入力する第１の装置と、当該入力画像の認識処理結果により、表示画面上の操作対象を操作するための入力を行う第２の装置からなるユーザインタフェース装置であって、
前記第２の装置は、
前記第１の装置に対して、前記操作対象に予め定められた認識方法を指定する手段を具備し、
前記第１の装置は、
前記入力画像に対し、前記第２の装置から指定された認識方法に対応する認識処理を行い、その結果得られた認識結果と当該入力画像とを前記第２の装置へ返す手段と、
を具備したことを特徴とするユーザインタフェース装置。
【請求項２】
反射画像を入力画像として入力する第１の装置と、当該入力画像の認識処理結果により、表示画面上の複数の操作対象を操作するための入力を行う第２の装置からなるユーザインタフェース装置であって、
前記第２の装置は、
前記入力画像を基に、前記表示画面に表示された複数の操作対象のうちの１つを選択する手段と、
前記第１の装置に対して、選択された前記操作対象に予め定められた認識方法を指定する手段を具備し、
前記第１の装置は、
前記操作対象が選択された後に入力した入力画像に対し、前記第２の装置から指定された認識方法に対応する認識処理を行い、その結果得られた認識結果と当該入力画像とを前記第２の装置へ返す手段と、
を具備したことを特徴とするユーザインタフェース装置。
【請求項３】
前記第１の装置は、前記認識処理を行うために必要な認識エンジンを保持しない場合、前記第２の装置に当該認識エンジンの転送を要求する手段をさらに具備し、
前記第２の装置は、前記第１の装置から要求された認識エンジンを当該第１の装置へ転送する手段をさらに具備したことを特徴とする請求項１または２記載のユーザインタフェース装置。
【請求項４】
前記第１の装置および前記第２の装置のそれぞれは、異なる認識処理を行う複数の認識エンジンを保持するとともに、同一の認識エンジンが当該第１装置と当該第２の装置とに保持されており、
前記第１の装置と前記第２の装置のそれぞれは、
当該第１の装置と当該第２の装置のうちのいずれか一方の装置において、当該同一の認識エンジンがアクティブになったとき、他方の装置に対し、当該同一の認識エンジンを非アクティブにするよう通知する手段と、
前記一方の装置から前記同一の認識エンジンを非アクティブにするよう通知を受けたとき、当該同一の認識エンジンを非アクティブにする手段と、
をさらに具備したことを特徴とする請求項１または２記載のユーザインタフェース装置。
【請求項５】
反射画像を入力画像として入力する第１の装置と、当該入力画像の認識処理結果により、表示画面上の操作対象を操作するための入力を行う第２の装置からなるユーザインタフェース装置における指示入力方法であって、
前記第２の装置は、前記第１の装置に対して、前記操作対象に予め定められた認識方法を指定すると、当該第１の装置は、前記入力画像に対し、前記第２の装置から指定された認識方法に対応する認識処理を行い、その結果得られた認識結果と当該入力画像とを前記第２の装置へ返すことを特徴とする指示入力方法。
【請求項６】
反射画像を入力画像として入力する第１の装置と、当該入力画像の認識処理結果により、表示画面上の複数の操作対象を操作するための入力を行う第２の装置からなるユーザインタフェース装置における指示入力方法であって、
前記第２の装置は、前記入力画像を基に、前記表示画面に表示された複数の操作対象のうちの１つを選択して、この選択された操作対象に予め定められた認識方法を前記第１の装置に対して指定すると、当該第１の装置は、前記操作対象が選択された後に入力した入力画像に対し、前記第２の装置から指定された認識方法に対応する認識処理を行い、その結果得られた認識結果と当該入力画像とを前記第２の装置へ返すことを特徴とする指示入力方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理により入力を行なうユーザインタフェース装置及び入力方法に関する。
【０００２】
【従来の技術】
コンピュータの入力デバイスとして、マウスが圧倒的に使われている。しかし、マウスで操作できることは、カーソルの移動と、メニューの選択などであり、あくまでも２次元のポインティングデバイスとしても役目に過ぎない。マウスで扱えるのは、２次元の情報であり、３次元空間の中の物体など奥行きがあるものを選択することは難しい。また、アニメーションを作成する場合、キャラクタの動きをつけるのに、マウスのような入力デバイスでは、自然な動きをつけることが難しい。
【０００３】
３次元空間でのポインティングの難点を補うために、ボールを所望の方向に押したり回したりして６軸方向の情報を入力する装置や、いわゆるデータグローブやデータスーツ、サイバーグローブといった手などにはめて使用する装置が開発されている。しかし、これら装置は操作性の悪さ等のために、当初の期待程、普及していないのが現実である。
【０００４】
これに対し、最近、ユーザは特殊な装置を扱うことなく、手振りや身振りでユーザの意図する情報を入力できる直接指示型の入力装置が開発されている。
【０００５】
例えば、光を照射し、ユーザの手による反射光を受光し、これを画像化して特徴量抽出や形状認識処理を行ない、手の形状に応じた制御を実行したり、手の移動量に応じた分のカーソル移動や３次元モデルにおける視点の変更を行なったりするものがある。
【０００６】
あるいは、ユーザの手の動きをビデオ撮影し、ビデオ映像を解析することにより、上記と同様の処理を行なうものがある。
【０００７】
このような装置によって、ユーザは特殊な装置を装着などすることなく、簡易にジェスチャで入力を行なうことができる。
【０００８】
【発明が解決しようとする課題】
しかし、この種の装置では、カーソルの移動モード、選択のモード、ダブルクリックのモードなどの各モードは固定的に使用され、モードを変えるためにはモードを変えるための明示的な操作が必要であり、ユーザに操作上の負担を強いる問題があった。
【０００９】
本発明は、上記事情を考慮してなされたもので、画像処理により入力を行なうユーザインタフェース装置において、ユーザの操作上の負担を軽減したより使い易いユーザインタフェース装置及び指示入力方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明は、入力画像の画像処理により入力を行なうユーザインタフェース装置であって、ポインティングを行なうモードと、それ以外のモードとを、入力画像の画像処理結果に基づいて切り換える手段を備えたことを特徴とする。
【００１１】
また、本発明は、入力画像の画像処理により入力を行なうユーザインタフェース装置であって、少なくとも、カーソルの移動のモードと、選択のモードと、ダブルクリックのモードとを、入力画像の画像処理結果に基づいて切り換える手段を備えたことを特徴とする。
【００１２】
好ましくは、選択のモードでの選択可能なオブジェクト毎に、画像処理内容を制約した認識方法（認識エンジン）を指定する手段をさらに備え、選択されたオブジェクトについて入力画像の画像処理を行なうにあたっては、該オブジェクトについて指定された認識方法に従って画像処理を行なうようにしても良い。
【００１３】
好ましくは、選択のモードでの選択可能なオブジェクト毎に、画像処理内容を制約した認識方法（認識エンジン）を指定する手段と、カーソルで指示された表示中のオブジェクトの近傍に該オブジェクトについて指定された認識方法を示す情報を呈示する手段とをさらに備えたても良い。
【００１４】
好ましくは、カーソル上に所定の形状で前記入力画像の画像処理結果を呈示する手段をさらに備えたても良い。
【００１５】
また、本発明は、反射画像を入力する第１の装置と入力画像の画像処理により入力を行なう第２の装置からなるユーザインタフェース装置であって、前記第２の装置は、前記第１の装置に対して、入力画像の画像処理内容を制約した認識方法（認識エンジン）の指定を行なう手段を備え、前記第１の装置は、前記認識方法の指定に基づいて所定の画像処理を行なう手段と、入力した画像と画像処理結果とを前記第２の装置に返す手段とを備えたことを特徴とする。
【００１６】
好ましくは、前記第１の装置は、必要な認識方法に適した画像処理手段（認識エンジン）を保持しない場合、前記第２の装置に該認識方法に適した画像処理に必要な情報（認識エンジン）の転送を要求する手段をさらに備え、前記第２の装置は、要求された前記情報を、前記第１の装置に転送する手段をさらに備えても良い。
【００１７】
好ましくは、前記第１の装置および前記第２の装置はそれぞれ、自装置内の所定の認識方法に適した画像処理に必要な情報が先にアクティブになった場合、他装置にアクティブになった該情報を非アクティブにするよう通知する手段と、他装置から前記所定の認識方法に適した画像処理に必要な情報を非アクティブにするよう通知を受けた場合、該情報を非アクティブにする手段とをさらに備えても良い。
【００１８】
また、本発明は、入力画像の画像処理により入力を行なうユーザインタフェース装置による指示入力方法であって、対象物体の入力画像を画像処理し、この画像処理の結果に基づいて、ポインティングを行なうモードと、それ以外のモードとを切り換えることを特徴とする。
【００１９】
また、本発明は、反射画像を入力する第１の装置と入力画像の画像処理により入力を行なう第２の装置からなるユーザインタフェース装置による指示入力方法であって、前記第２の装置から前記第１の装置に対して、入力画像の画像処理内容を制約した認識方法（認識エンジン）の指定を行ない、前記第１の装置は、前記認識方法の指定に基づいて所定の画像処理を行ない、これら入力した画像と画像処理結果とを前記第２の装置に返すことを特徴とする。
【００２０】
本発明によれば、カーソルの移動モード、選択のモード、ダブルクリックのモードなどの各モードを変えるためのユーザによる明示的な操作が不要になる。
【００２１】
また、ユーザの指示した点を認識処理で読み取って画面上のカーソル移動等に反映させるので、ユーザの操作によるキャリブレーションが不要である。
【００２２】
さらに、必要な認識方法に適した画像処理手段（認識エンジン）を用いれば、入力精度の向上とユーザの操作性の向上が期待できる。
【００２３】
また、入力画像を半透明にしてカーソルに重ねて表示すれば、ユーザに操作状況をフィードバックすることができる。
【００２４】
このように本発明によれば、ユーザの操作上の負担を軽減したより使い易いユーザインタフェース装置を提供することができる。
【００２５】
また、本発明によれば、第１の装置側（デバイス側）である程度の認識処理を行なうので、負荷分散ができ、また全体的な認識処理の速度向上を図ることができる。
【００２６】
また、画像入力機能を持つデバイスの高機能化を図ることができる。
【００２７】
なお、以上の各装置に係る発明は、方法に係る説明としても成立する。
【００２８】
また、上記の発明は、相当する手順あるいは手段をコンピュータに実行させるためのプログラムを記録した機械読取り可能な媒体としても成立する。
【００２９】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【００３０】
まず、第１の実施形態について説明する。
【００３１】
図１は、本発明の一実施形態に係るユーザインタフェース装置の構成例を示す図である。
【００３２】
本ユーザインタフェース装置は、例えば、グラフィックユーザインタフェースを持つ計算機に適用すると好適なものである。すなわち、表示画面上にカーソル、スライダーバー、スクロールバー、プルダウンメニュー、ボックス、リンク、アプリケーションなどのアイコンが表示され、ユーザが入力デバイスによりカーソルの移動、アイコンの選択、アプリケーションの起動などの指示を入力するようなシステムであって、入力デバイスがマウスのような専用器具を必要とせずユーザの手などの物体を画像処理することにより入力を受けるものである。
【００３３】
本実施形態は、概略的には、ユーザの手などの対象物体による反射光を画像として捉えることにより（あるいは背景の光の対象物体による反射光を画像として捉えることにより）、その形状、動き、距離情報などを検出し、その形状等に応じた所定の制御（例えば入出力装置に関する制御あるいはアプリケーションソフトの起動など）を行なうもので、ユーザは手のモーションなどにより意図する入力を行なうことができる機能を提供するものである。また、画像処理結果に応じて、カーソルの移動、アイコンの選択、アプリケーションの起動などの各モードを切り替えるようにしているので、ユーザは各モードを切り替えるための明示的な操作を不要としている。
【００３４】
本ユーザインタフェース装置は、画像入力部１０、画像記憶部１１、形状解釈部１２、解釈規則記憶部１３、呈示部１４、カーソル切替部１５を備えている。
【００３５】
図２に、画像入力部１０の一構成例を示す。
【００３６】
画像入力部１０は、例えば、ＬＥＤなどの発光素子により近赤外線などの光を対象物体に照射する発光部１０１と、対象物体からの反射光を２次元アレイ状に配列された受光素子で受光する反射光抽出部１０２と、発光部１０１および反射光抽出部１０２の動作タイミングを制御するタイミング制御部１０３を有する。発光部１０１が発光しているときに反射光抽出部１０２で受光した光の量と、発光部１０１が発光していないときに反射光抽出部１０２で受光した光の量の差をとることによって、バックグラウンドの補正を行ない、発光部１０１からの光の対象物体による反射光の成分だけを取り出す。なお、画像入力部１０は、発光部を持たず、ＣＣＤカメラなどの受光部のみ持つものであっても良い。
【００３７】
図３に、表示装置２０と画像入力部１０の筐体８と対象物体２２の関係を示す。例えば、画像入力部１０の前にユーザの手２２を持ってきた場合、その手からの反射光画像が得られる。このとき、反射光画像の各画素値は、物体の性質（光を鏡面反射する、散乱する、吸収する、など）、物体面の向き、物体の距離、などに影響されるが、物体全体が一様に光を散乱する物体である場合、その反射光量は物体までの距離と密接な関係を持つ。手などはこのような性質を持つため、手を差し出した場合の反射光画面は、手の距離、手の傾き（部分的に距離が異なる）、などを反映する。したがって、これらの情報を抽出することによって、様々な情報の入力・生成が可能になる。
【００３８】
画像記憶部１１は、画像入力部１０から所定時間毎（例えば１／３０秒毎、１／６０秒毎、１／１００秒毎など）に出力される画像検出対象物体の２次元画像を逐次記憶する。
【００３９】
形状解釈部１２は、画像記憶部１１に記憶された２次元画像を、Ｎ×Ｎ（例えば６４×６４）のドットマトリクスとして逐次取込む。各画素は階調（例えば８ビット＝２５６階調）を持つものとする。
【００４０】
また、形状解釈部１２は、ドットマトリクスから所定の特徴量を抽出し、解釈規則記憶部１３に記憶された解釈規則をもとに、形状解釈する。そして、適合する解釈規則に応じた指示を解釈結果として出力する。もし適合する解釈規則がなければ、必要に応じてドットマトリクスからの所定の特徴量の抽出の仕方を変更して（例えばドットマトリクスのしきい値処理を行なう場合、そのしきい値を変更する）、再度マッチング処理をやり直すようにしても良い。最終的に適合する解釈規則がなければ、入力はなかったものとする。
【００４１】
解釈規則記憶部１３は、形状解釈のための解釈規則を記憶する。例えば、ドットマトリックス中におけるユーザの手などの対象物体の特徴量、例えば形状、面積、最上点、重心などの所定のものと、これに応じた指示内容が解釈規則として記憶されている。指示内容には、アイコンの選択、アプリケーションの起動、カーソル移動等がある。カーソル移動の場合には、手の移動方向・距離に応じたカーソルの移動量も指示される。例えば、親指と人差し指を開いて立てた状態をカーソル移動に対応させ（この場合、例えば人差し指の先端の移動距離・方向がカーソルの移動距離・方向に対応づけられる）、親指と人差し指を閉じて立てた状態を、カーソルの位置するアイコンの選択に対応させ、親指と人差し指を立て、カーソル移動の場合に対して手のひらを反転させた状態を、カーソルの位置するアイコンに対応するアプリケーションの起動に対応させるなどの規則が考えられる。
【００４２】
形状解釈部１２による形状解釈におけるドットマトリクスから特徴量の抽出の代表例は、距離情報の抽出と、領域抽出である。物体が一様で均質な散乱面を持つ物体であれば、反射光画像は距離画像とみなすことができる。したがって、受光部から見込んだ物体の立体形状を抽出することができる。物体が手であれば、手のひらの傾きなどが検出できる。手のひらの傾きは部分的な距離の違いとして現れる。また、手を移動させたときに画素値が変われば、距離が移動したと見ることができる。また、背景のように遠い物体からの反射光はほとんどないため、反射光画像からあるしきい値以上の領域を切り出すという処理で、物体の形状を簡単に切り出すことができる。例えば、物体が手であれば、そのシルエット像を切り出すのは極めて容易である。距離画像を用いる場合でも、一度しきい値によって領域抽出をしておいてから、その領域内の距離情報を用いる、という場合が多い。
【００４３】
ドットマトリクスから抽出した特徴量と解釈規則とのマッチングの手法には種々のものがある。例えば、画像からベクトルを抽出するベクトル化、形状モデルにもとづいた形状の変形状態の抽出、走査線上の距離値にもとづいたスペクトル解析などである。
【００４４】
もし適合する形状がなければ、例えばしきい値を変更するなどして、再度マッチング処理をやり直すようにしても良い。最終的に適合する形状がなければ、入力はなかったものと見なす。
【００４５】
なお、形状解釈部１２がアプリケーションやＯＳの機能などを起動する指示と認識した場合は、これらソフトウェアを起動させるようにする。
【００４６】
呈示部１４は、表示装置にて形状解釈部１２による解釈結果を反映した呈示を行なう。例えば、カーソルの移動、必要に応じてメッセージの呈示などを行う。
【００４７】
カーソル切替部１５は、形状解釈部１２による解釈結果に基づいてカーソルの切替えを制御する。
【００４８】
図４〜図６に、本実施形態のユーザインタフェース装置の動作手順例を示す。
【００４９】
まず、カーソルの制御状態Ｃを初期化（Ｃ←０）し、選択状態Ｓを初期化（Ｓ←０）し、カーソル情報Ｉを初期化（Ｉ←０）し、認識エンジンフラグＲを初期化（Ｒ←０）する（ステップＳ１）。
【００５０】
次に、反射画像を読み込み画像記憶部１１へ書き込む（ステップＳ２）。
【００５１】
次に、形状解釈部１２にドットマトリックスを読み込む（ステップＳ３）。
【００５２】
次に、形状解釈部１２にてドットマトリックスから抽出した特徴量と解釈規則からジェスチャの示すモードを判定する（ステップＳ４）。
【００５３】
以降は、この判定結果とパラメータ値によって処理が分かれる。
【００５４】
カーソル制御のジェスチャ  かつ  Ｃ＝０  かつ  Ｓ＝０  かつ  Ｒ＝０ならば（ステップＳ５）、カーソル制御に入る処理であり、Ｃ←１として（ステップＳ１１）、ステップＳ２へ戻る。
【００５５】
カーソル制御のジェスチャは、例えば図７に示す手の形状が認識された場合である。
【００５６】
カーソル制御のジェスチャ  かつ  Ｃ＝１  かつ  Ｓ＝０  かつ  Ｒ＝０ならば（ステップＳ６）、カーソル移動中の処理である。この場合、まず、ドットマトリックスより近傍点の座標（ｘ，ｙ）を算出し（ステップＳ１２）、算出座標（ｘ，ｙ）にカーソルを移動させる（ステップＳ１３）。そして、算出座標（ｘ，ｙ）を保持する。Ｃｐ＝（ｘ，ｙ）とする（ステップＳ１４）。ここで、Ｃｐにオブジェクトがあるならば（ステップＳ１５）、そのオブジェクトの状態をセット（Ｉ←オブジェクト状態）し（ステップＳ１６）、オブジェクトがなければ（ステップＳ１５）、Ｉ＝Ｏとして（ステップＳ１７）、ステップＳ２へ戻る。
【００５７】
カーソル制御のジェスチャ  かつ  Ｃ＝１  かつ  Ｓ＝１ならば（ステップＳ７）、カーソル制御に戻る処理であり、Ｓ←０、Ｒ←０、Ｉ←０として（ステップＳ１８）、ステップＳ２へ戻る。
【００５８】
選択のジェスチャ  かつ  Ｃ＝１  かつ  Ｓ＝０  かつ  Ｒ＝０ならば（ステップＳ８）、オブジェクトを選択する処理である。この場合、まず、Ｓ←１とし（ステップＳ１９）、Ｃｐに最も近いオブジェクトを探索し（ステップＳ２０）、探索したオブジェクトを選択する（ステップＳ２１）。ここで、選択したオブジェクトに指定の認識エンジンがあるならば（ステップＳ２２）、Ｒ←１とし（ステップＳ２３）、ステップＳ２に戻る。指定の認識エンジンがない場合、リンクオブジェクトならば（ステップＳ２４）、リンク先へ飛び（ステップＳ２５）、Ｃ←０、Ｓ←０、Ｉ←０として（ステップＳ２６）、ステップＳ２に戻る。リンクオブジェクトでないならば（ステップＳ２４）、そのままステップＳ２に戻る。
【００５９】
選択のジェスチャは、例えば図１１に示す手の形状が認識された場合である。
【００６０】
ここで、認識エンジンは、詳しくは後述するようにドットマトリックスから所定の特徴量を抽出するものであり、例えば、ドットマトリックス中の対象物体形状の最上位点の垂直方向の移動量を抽出する最上位点垂直方向エンジンなど、種々のものがある。
【００６１】
選択のジェスチャ  かつ  Ｒ＝１ならば（ステップＳ９）、選択したオブジェクトを移動する処理であり、認識オブジェクトに沿った認識を行い（ステップＳ２７）、ステップＳ２に戻る。
【００６２】
ダブルクリックのジェスチャ  かつ  Ｃ＝１ならば（ステップＳ１０）、ダブルクリックの処理である。この場合、Ｃｐに最も近いオブジェクトを開き（ステップＳ２８）、Ｃ←０、Ｓ←０、Ｉ←０、Ｒ←０として（ステップＳ２９）、ステップＳ２に戻る。
【００６３】
ダブルクリックのジェスチャは、例えば図１４に示す手の形状が認識された場合である。
【００６４】
上記以外の場合は、他の認識処理を行い（ステップＳ３０）、ステップＳ２に戻る。
【００６５】
以下では、具体例を用いて本実施形態を説明する。
【００６６】
まず、図７のように親指と人差し指を延ばした手の形状が認識された場合に、カーソル移動が指示されるものとする。
【００６７】
例えば図８（ａ）の状態で、図７の手の形状が認識され、カーソル移動を受け付ける状態となり、ユーザが手の形状を図７の状態で移動させると、これに応じてカーソル２０１が表示画面上で移動する。この場合、ユーザの手の形状のドットマトリックス中における一定の点、例えば画像中で縦方向の位置が最も上である最上位点（例えば人差し指の先端部に対応）、あるいは画像中で最も受光部に近い最近点（例えば最も高階調の点）などにおける移動量／方向が抽出される。
【００６８】
なお、図８（ｂ）に示すように、カーソル２０１上に入力画像２０２を半透明にして表示し、ユーザに認識状況をフィードバックするようにしても良い。
【００６９】
カーソルがスライダーバーやリンクノードなど種々のオブジェクトの上にある場合は、その機能を呈示するようにカーソルの形状を変える。
【００７０】
例えば図９（ａ）のように、カーソルの移動したところにスライダーバーがある場合、カーソルの形状を図中２０３のように変形する。なお、図９（ｂ）のように、カーソル上に入力画像を半透明２０５にして表示しても良い。
【００７１】
ここで、図９（ａ）中の２０４で示される矢印は、操作対象であるスライダーバーの操作が垂直方向に制約されることを呈示している。すなわち、スライダーバーには、垂直方向エンジンが指定されている。この場合、ユーザが手をどう動かそうと、認識されるのは、垂直方向の移動のみとなる。
【００７２】
また例えば図１０（ａ）のように、カーソルの移動したところにリンクノードがある場合、カーソルの形状を図中２０６のように変形する。なお、図１０（ｂ）のように、カーソル上に入力画像２０７を半透明にして表示しても良い。
【００７３】
次に、図７の手の形状でカーソルを所望の位置に移動させた後、図１１のように人差し指を延ばし、親指を閉じた手の形状が認識された場合に、カーソルによって示されるオブジェクトの選択が指示されるものとする。これは、マウスのシングルクリックに相当する。
【００７４】
例えば図１２（ａ）のような状態で、図１１の手の形状にすると、スライダバーが選択される。なお、図中２０８で示される矢印は、操作対象であるスライダーバーの操作が垂直方向に制約されることを呈示している。なお、図１２（ｂ）のように、カーソル上に入力画像２０９を半透明にして表示しても良い。
【００７５】
また例えば図１０（ａ）の状態で、図１１の手の形状にすると、リンクノード「会社概要」が選択され、図１３（ａ）のように表示内容が変わる。なお、図１３（ｂ）のように、カーソル上に入力画像２１０を半透明にして表示しても良い。
【００７６】
次に、図７の手の形状でカーソルを所望の位置に移動させた後、図１４のように手の形状自体は変えずに手首を１８０度回転させた状態が認識された場合に、カーソルによって示されるオブジェクトについてダブルクリックが指示されるものとする。
【００７７】
例えば図１５（ａ）において、図７の手の形状で、「インタネット」のアイコン上のカーソルを移動させ、続いて手を図１４のように回転させる。すると、「インタネット」のダブルクリックが受け付けられる。図１５（ｂ）にアイコンを選択してアイコンが開く直前の状態を示す。なお、図１６のように、カーソル上に入力画像２１２を半透明にして表示しても良い。
【００７８】
また例えば、まず図１７（ａ）のようにカーソルを「ファイル」のところに移動させる。このとき、図１７（ｂ）のように、カーソル上に入力画像２１３を半透明にして表示しても良い。
【００７９】
次に、「ファイル」を選択すると、図１８（ａ）に示すように、プルダウンメニューが表示される。ここで、図中２１４で示される矢印は、操作対象であるプルダウンメニューの操作が垂直方向に制約されることを呈示している。
【００８０】
次に、図１８（ａ）のようにカーソルを「保存」の上に位置させ、図１４のような手の形状にすることにより、「保存」のダブルクリックが受け付けられる。ここでも、図１８（ｂ）のように、カーソル上に入力画像２１３を半透明にして表示しても良い。
【００８１】
「保存」がダブルクリックされると、カーソルの形状を例えば図１９（ａ）の２１６のように変形する。これは、保存の選択により文書を保存する操作中であることを示す。ここでも、図１９（ｂ）のように、カーソル上に入力画像２１７を半透明にして表示しても良い。
【００８２】
また例えば、まず図２０（ａ）のようにカーソルを「ファイル」のところに移動させ、「ファイル」を選択し、さらに印刷のところに移動させ、「印刷」を選択する。すると、「印刷」に対応するメニューが表示される。このとき、図２０（ｂ）のように、カーソル上に入力画像２１９を半透明にして表示しても良い。
【００８３】
次に、認識エンジンについて説明する。
【００８４】
図２１に、認識エンジンに関する処理のフローチャートを示す。
【００８５】
本実施形態では、必要に応じオブジェクトごとに認識エンジンを指定するものとする。
【００８６】
認識エンジンは、ドットマトリックスから所定の特徴量を抽出するものである。すなわち、形状解釈部１２は、選択されたオブジェクトについて指定されている認識エンジンがあるならば（ステップＳ３１）、指定された認識エンジンに従ってドットマトリックスから特徴量を抽出する。認識エンジンの指定がなければ（ステップＳ３１）、通常の認識を実行する（ステップＳ３２）。
【００８７】
認識エンジンには、例えば、
ドットマトリックス中の対象物体形状の最近点の垂直方向の移動量を抽出する最近点垂直方向エンジン１２１、最近点の水平方向の移動量を抽出する最近点水平方向エンジン１２２、最近点の斜め方向の移動量を抽出する最近点斜め方向エンジン１２３、重心点の垂直方向の移動量を抽出する重心点垂直方向エンジン１２４、重心点の水平方向の移動量を抽出する重心点水平方向エンジン１２５、重心点の斜め方向の移動量を抽出する重心点斜め方向エンジン１２６、重心点の垂直方向の移動量を抽出する重心点垂直方向エンジン１２７、重心点の水平方向の移動量を抽出する重心点水平方向エンジン１２８、重心点の斜め方向の移動量を抽出する重心点斜め方向エンジン１２９、ドットマトリックス中の対象物体形状のエッジを切り出すエッジ切り出しエンジン１３０、ドットマトリックス中の対象物体形状の面積を算出する面積算出エンジン１３１、ドットマトリックス中の対象物体形状の最近点のｘ軸回り回転角を抽出する最近点ｘ軸回り回転角エンジン１３２、最近点のｙ軸回り回転角を抽出する最近点ｙ軸回り回転角エンジン１３３、最近点のｚ軸回り回転角を抽出する最近点ｚ軸回り回転角エンジン１３４、重心点のｘ軸回り回転角を抽出する重心点ｘ軸回り回転角エンジン１３５、重心点のｙ軸回り回転角を抽出する重心点ｙ軸回り回転角エンジン１３６、重心点のｚ軸回り回転角を抽出する重心点ｚ軸回り回転角エンジン１３７、重心点のｘ軸回り回転角を抽出する重心点ｘ軸回り回転角エンジン１３８、重心点のｙ軸回り回転角を抽出する重心点ｙ軸回り回転角エンジン１３９、重心点のｚ軸回り回転角を抽出する重心点ｚ軸回り回転角エンジン１４０、その他、所定のエンジンの重み付け組合わせによる認識エンジン１４１など、種々のものが考えられる。
【００８８】
図２２には、オブジェクト毎の認識エンジンの記述の一例を示す。
【００８９】
以上のように本実施形態によれば、カーソルの移動モード、選択のモード、ダブルクリックのモードなどの各モードを変えるためのユーザによる明示的な操作が不要になる。
【００９０】
また、ユーザの指示した点を認識処理で読み取って画面上のカーソル移動等に反映させるので、ユーザの操作によるキャリブレーションが不要である。
【００９１】
さらに、認識エンジンを用いれば、入力精度の向上とユーザの操作性の向上が期待できる。
【００９２】
また、入力画像を半透明にしてカーソルに重ねて表示すれば、ユーザに操作状況をフィードバックすることができる。
【００９３】
このように本実施形態によれば、ユーザの操作上の負担を軽減したより使い易いユーザインタフェース装置を提供することができる。
【００９４】
次に、第２の実施形態について説明する。
【００９５】
第２の実施形態は、第１の実施形態とは基本的に同様であるが、本実施形態では、画像入力部側筐体内（以下、デバイス側と言う）で認識処理の一部を行ない、画像入力部１０側から本体側に入力画像のドットマトリックスと所定の認識結果を渡すようにしたものである。なお、デバイス側で行なう認識処理は、負荷の軽い処理であることが望ましい。
【００９６】
図２３に、本実施形態に係るインタフェース装置の一構成例を示す。
【００９７】
図２３では、本体内に、本体制御部３２、呈示部１４、カーソル切替部１５が配置され、デバイス側に、画像入力部１０、画像記憶部１１、認識エンジン制御部３０、アクティブリスト３１、いくつかの所定の認識エンジン１２１，１２２，１４２，１４３，１４４が配置される。
【００９８】
本体制御部３２は、例えば、図１の形状解釈部１２、解釈規則記憶部１３（および認識エンジンを含む）に相当するものであるが、これに限らず、他の構成を持つもの、他の認識処理を行なうものであっても、認識エンジンを用いるものであれば構わない。
【００９９】
図２４には、垂直スライダーバー選択時のアクティブリスト記憶部の記述の一例を示す。この場合、カーソルエンジン１４２と最近点垂直方向エンジン１２１が指定されていることが示される。
【０１００】
このような構成において、本体側からデバイス側に、アクティブにする認識エンジンのリストまたはその反対に非アクティブにする認識エンジンのリストを送る。デバイス側では、このリストをアクティブリスト記憶部３１に格納し、認識エンジン制御部３０により指定の認識エンジンに従って入力画像から所定の特徴量を認識結果として抽出し、入力画像と認識結果を本体側に返す。
【０１０１】
本実施形態によれば、デバイス側である程度の認識処理を行なうので、負荷分散ができ、また全体的な認識処理の速度向上を図ることができる。
【０１０２】
また、画像入力機能を持つデバイスの高機能化を図ることができる。
【０１０３】
図２７に、本実施形態に係るインタフェース装置のさらに他の構成例を示す。
【０１０４】
図２７では、本体内に、図２５とほぼ同様の構成であるが、本構成例は、認識エンジンが本体側とデバイス側などの複数の場所に存在する場合、先にアクティブになった認識エンジンを持つ側が、同一の認識エンジンを持つ他の側に、該認識エンジンを非アクティブにするように通信するようにしたものである。
【０１０５】
この場合のアクティブ通知の動作手順例を図２８に、アクティブ通知受理の動作手順例を図２９にそれぞれ示す。
【０１０６】
まず、デバイス側で画像入力が行なわれ（ステップＳ３９）、本体側および／またはデバイス側で認識で実行される（ステップＳ４０）。そして、認識実行した側は通知相手に、認識結果と画像マトリックスとアクティブリスト（または非アクティブリスト）を送る（ステップＳ４１）。
【０１０７】
次に、通知を受ける側は、認識結果と画像マトリックスとアクティブリスト（または非アクティブリスト）を受理し（ステップＳ４２）、受理したアクティブリスト中でＯＮの認識エンジン（または非アクティブリスト中でＯＦＦの認識エンジン）を、保持しているアクティブリスト中でＯＦＦに書き替える（ステップＳ４３）。そして、必要に応じて他の処理を実行する（ステップＳ４４）。
【０１０８】
なお、以上の各機能は、ソフトウェアとしても実現可能である。また、上記した各手順あるいは手段をコンピュータに実行させるためのプログラムを記録した機械読取り可能な媒体として実施することもできる。
【０１０９】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【０１１０】
【発明の効果】
本発明によれば、画像処理結果に基づいて、カーソルの移動モード、選択のモード、ダブルクリックのモードなどの各モードを切り換えるので、モードを変えるためのユーザによる明示的な操作が不要になる。
【０１１１】
また、ユーザの指示した点を認識処理で読み取って画面上のカーソル移動等に反映させるので、ユーザの操作によるキャリブレーションが不要である。
【０１１２】
このように本発明によれば、ユーザの操作上の負担を軽減したより使い易いユーザインタフェース装置を提供することができる。
【０１１３】
また、本発明によれば、第１の装置側（デバイス側）である程度の認識処理を行なうので、負荷分散ができ、また全体的な認識処理の速度向上を図ることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るインタフェース装置の構成例を示す図
【図２】画像入力部の構成例を示す図
【図３】表示装置と画像入力部の筐体と対象物体の関係を説明するための図
【図４】同実施形態のユーザインタフェース装置の動作手順例を示すフローチャート
【図５】同実施形態のユーザインタフェース装置の動作手順例を示すフローチャート
【図６】同実施形態のユーザインタフェース装置の動作手順例を示すフローチャート
【図７】カーソル制御のジェスチャを示す入力画像の一例を示す図
【図８】画面表示例を示す図
【図９】画面表示例を示す図
【図１０】画面表示例を示す図
【図１１】選択のジェスチャを示す入力画像の一例を示す図
【図１２】画面表示例を示す図
【図１３】画面表示例を示す図
【図１４】ダブルクリックのジェスチャを示す入力画像の一例を示す図
【図１５】画面表示例を示す図
【図１６】画面表示例を示す図
【図１７】画面表示例を示す図
【図１８】画面表示例を示す図
【図１９】画面表示例を示す図
【図２０】画面表示例を示す図
【図２１】指定された認識エンジンに従った処理について説明するための図
【図２２】オブジェクト毎の認識エンジンの記述の一例を示す図
【図２３】本発明の第２の実施形態に係るインタフェース装置の一構成例を示す図
【図２４】垂直スライダーバー選択時のアクティブリスト記憶部の記述の一例を示す図
【図２５】本発明の第２の実施形態に係るインタフェース装置の他の構成例を示す図
【図２６】同実施形態のユーザインタフェース装置の動作手順例を示すフローチャート
【図２７】本発明の第２の実施形態に係るインタフェース装置のさらに他の構成例を示す図
【図２８】同実施形態のユーザインタフェース装置の動作手順例を示すフローチャート
【図２９】同実施形態のユーザインタフェース装置の動作手順例を示すフローチャート
【符号の説明】
１０…画像入力部
１１…画像記憶部
１２…形状解釈部
１３…解釈規則記憶部
１４…呈示部
１５…カーソル切替部
１０１…発光部
１０２…反射光抽出部
１０３…タイミング制御部
２０…表示装置
８…筐体
３０…認識エンジン制御部
３１，３４…アクティブリスト記憶部
３２…本体制御部
３３…認識エンジン保存部
１２１…最近点垂直方向エンジン
１２２…最近点水平方向エンジン
１４２…カーソルエンジン
１４３…選択エンジン
１４４…ダブルクリックエンジン
１５１〜１５Ｎ…認識エンジン
【図１】
0003588527.tif 000002
【図２】
0003588527.tif 000003
【図３】
0003588527.tif 000004
【図４】
0003588527.tif 000005
【図５】
0003588527.tif 000006
【図６】
0003588527.tif 000007
【図７】
0003588527.tif 000008
【図８】
0003588527.tif 000009
【図９】
0003588527.tif 000010
【図１０】
0003588527.tif 000011
【図１１】
0003588527.tif 000012
【図１２】
0003588527.tif 000013
【図１３】
0003588527.tif 000014
【図１４】
0003588527.tif 000015
【図１５】
0003588527.tif 000016
【図１６】
0003588527.tif 000017
【図１７】
0003588527.tif 000018
【図１８】
0003588527.tif 000019
【図１９】
0003588527.tif 000020
【図２０】
0003588527.tif 000021
【図２１】
0003588527.tif 000022
【図２２】
0003588527.tif 000023
【図２３】
0003588527.tif 000024
【図２４】
0003588527.tif 000025
【図２５】
0003588527.tif 000026
【図２６】
0003588527.tif 000027
【図２７】
0003588527.tif 000028
【図２８】
0003588527.tif 000029
【図２９】
0003588527.tif 000030