以下、図面に従い本発明の実施の形態を説明する。
<概要> 図1は、本発明の実施形態の一例である。第1のジェスチャ検出部1と第2のジェスチャ検出部2は、異なる種類のジェスチャを検出するものである。そして、操作種類選択部3は、第1のジェスチャ検出部1の検出結果に従い、操作の種類を選択する。パラメータ変更部4は、操作種類選択部3で選択された操作の中で、変更可能なパラメータを第2のジェスチャ検出部2の結果に従って変更する。
操作入力処理部5は、操作種類選択部3とパラメータ変更部5の結果に従い、どのような操作が行われたかを決定する。操作実行部6は決定された操作を実行する。操作入力処理部5は、第1、第2のジェスチャ検出部および操作種類選択部3、パラメータ変更部4を制御し、これらが動作しないようにすることもできる。従って、状況に応じて、どちらか一方のジェスチャ検出のみを行わせたりすることができる。
<詳しい構成> 図1をより具体的に示したのが図2である。ここでは第1のジェスチャ検出部は、形状ジェスチャを検出する、形状ジェスチャ検出部7であり、第2のジェスチャ検出部は方向ジェスチャを検出する方向ジェスチャ検出部8である。
ここで、「形状ジェスチャ」とは「手の形で表されるジェスチャ」であり、「方向ジェスチャ」とは「動いた方向を示すジェスチャ」である。この中で、形状ジェスチャの場合には、必ずしも手が動いていなくても良く、その意味で「ジェスチャ」という言葉が当てはまりにくいこともあるが、ここでは広く捉えて、形状の提示もジェスチャのひとつとして扱う。
<検出手段の詳述> ここで、2つのジェスチャ検出部について、詳述する。
具体例として、上記の形状ジェスチャとは、「グー」「チョキ」「パー」といったじゃんけんで提示するような手の形状である。あるいは、「5本の指のうちどの指を伸ばすか」、あるいは「人差し指と親指で丸を作る」など手によって表現されるさまざまな形のことを指す。
形状ジェスチャの例を図3に示す。本来「ジェスチャ」とは動きを伴う意味を含んでおり、必ずしも静止した手形状をジェスチャとは呼ばないこともあるが、これらの形状を提示する際には、操作者は、他の形からこれらの形へ、手の形を変形させているのであるから、その意味で広義のジェスチャとして扱う。また、検出処理方法を考えると、これらを静止形状として扱うのが比較的容易であるが、実際にはこれらの形状の時系列的な組み合わせ、形状と動きを伴うものなどもあり得る。
具体的に、手の形状を捉えるための手段としては、小型CCDカメラなどを用いて手を撮像し、その画像を解析することで形状を検出することが可能である。
しかし、特に車載機器応用を考えた場合、車内は昼間明るく、夜は暗いと外光状態の変動が大きく、カメラで得られる画像が大きく変動してしまうため、検出精度が低下してしまうという問題がある。カメラの前方を人やものが横切る毎に誤認識するおそれがある。
発明者らは、特開平10−177449にあるように、発光手段と、これと同期して動作するイメージセンサによって、物体形状を高速に検出できる画像入力装置を開発した。これは、物体に典型的には赤外光を照射し、これと同期した動作をするイメージセンサを用いて、物体反射光のみを画像として取り出す装置である。反射光の強さは一般的に物体までの距離の2乗に反比例するため、近くの物体が遠くの背景から容易に切り出すことができる。
この入力装置を使うと、装置自体が発光手段を持っているため、夜などの通常のCCDカメラでは撮像が難しい条件下でも、検出が行える。また、発光手段は人間の目に見えない近赤外光を用いるので、運転者の妨げにならない。また、距離のある背景の物体は、反射光が届かず写らないため、関係ない動きなどによる誤動作は小さくできる。
これらの画像入力装置から得られた、手の形状を認識して、あらかじめ決められた形状ジェスチャに合致するかどうかを決定する方法について述べる。例えば、指をのばした本数による形状の違いを検出する場合、伸ばした指が横切るであろう領域を設定し、横切っている指の数を数えることによって形状の違いを検出することができる。
別の方法として、手の形状の輪郭線を考えると、指先は山状に出っ張っており、指の間は谷状にへこんでいる、それらの輪郭線形上を解析して、伸ばしている指の数を知ることができる。指先がカメラに向いているような場合は、指先はカメラへの距離が周りに比べ近い点となり、反射光量が極大となる。その極大点の数をカウントすることで、カメラに向いている指の数を検出することができる。
また、自由な手の形状を認識するために、パタンマッチングという技術を使うことができる。これはあらかじめ認識したい形状をパタンとして登録しておき、入力された形状との相違度を計算し、近い形状があればそれが入力されたと判断するものである。相違度の計算の仕方としては、単純にパタンを重ね合わせ、その重なり具合を計算するものや特徴空間へ写像し、そこでの距離で判断する方法もある。
<静止してから形状認識開始> 形状の認識をする場合、精度よく行おうとすればするほど、処理に時間がかかる。従って、入力される画像のフレーム毎に認識処理を行うと、処理コストが増大してしまう。形状を提示する場合は、操作者が形状を提示して一定時間静止している場合に、認識処理を開始するのが望ましい。これは操作者が意志を持って形状を出す場合は、静止させるという動作は自然であるからである。
また、静止状態を見つけたときのみ認識処理を行えばよいから、計算コストを下げることができる。また、ジェスチャを提示する意志無しに、動かした動作は、それが静止しない限り、ジェスチャ提示と誤認識してしまうことがない。
一方、方向ジェスチャは、このような画像入力装置から得られる画像から、手の動き方向を抽出することによって行える。例えば、特開平10−177449における画像入力装置を用いた場合、画像には背景は写らず、手の形状のみが写っているので、この画像の重心計算を行えば、手の位置が求められる。その軌跡を追跡することで基本的な動きを検出することが可能である。
手首付近はほとんど動かさず、指先だけを動かすような場合には、手全体の重心計算を行うと、検出される動きの精度が悪いことがある。このような場合は、手の形状を細かく考慮した処理を行うことが考えられる。
例えば、カメラに向かって指を伸ばしている場合、指の先端はカメラに最も近く、したがって反射光が最も大きく、画像中で極大点ととなっていることが多い。このような点を検出し、それらの最も近いもの、あるいは極大点の平均などを求めることで、手全体の重心点を求めるのに比べ、実際の動きに対し感度のよい評価値として、位置情報を得ることができる。この場合、複数ある極大点の画像フレーム間の対応関係などを求めておくと、画像の端のほうに存在していた極大点が画像外に出てしまった場合などの位置の挙動がおかしくなるのを防ぐことができる。
いずれにしても、得られた手形状データから、位置の情報を取り出し、その軌跡を解析することによって動きジェスチャを検出するのがよい。通常のCCDカメラを使った場合でも色情報などにより、手の形状がきちんと切り出すことができれば、そこから位置情報を取り出すことが可能である。方向ジェスチャを検出する方法については、実施例の後の方で詳しく述べる。
<操作状態遷移> この2種類のジェスチャ検出を用いて、構成した操作における、状態遷移図を図4に示す。まず始めは何も行っていない状態である。ここで第1のジェスチャ検出部で検出する。いずれかのジェスチャを提示すると、それが検出され、操作モードの1つに入る。例えば、ジェスチャ1が提示されるとカー・ナビゲーションのビューを操作するモードに入り、ジェスチャ2が提示されるとエアコンの操作モードに入り、ジェスチャ3が提示されるとオーディオ操作のモードに入る。各操作モード内では、4方向の方向ジェスチャによっていくつかのパラメータが調整できるようになっている。
例えばオーディオ操作モードにおいては、上方向のジェスチャの提示により音量が大きくなり、下方向のジェスチャの提示により音量が小さくなる。また、右方向のジェスチャ提示により音楽CDなどの次曲選択、左方向のジェスチャ提示により前曲選択が行える。また、オーディオ関係だけ考えても、操作対象として、音楽CD、音楽MD、カセットテープ、ラジオ、場合によってTVなど様々ある。始めにジェスチャ3を提示することによりオーディオ操作モードになったが、そのときは現在動いている対象の操作が行えるようになっている。
例えば、音楽CDが流れていれば、CDの選曲、音量調整ができるようになっている。ジェスチャ3を繰り返し提示することでこの操作対象を切り替えることができる。例えば、2回繰り返すと音楽MD、もう1度提示するとラジオというように順に切り替わっていく。このとき操作の対象によって、方向ジェスチャによる変更パラメータが変わることがある。
例えば、CDやMDの場合は、右,左の方向ジェスチャで次曲,前曲を選択したが、ラジオの場合にはラジオ局を登録した順に次局、前局を選択するようになる。音量調整はどの操作対象に関しても頻繁に使うので、上下の方向ジェスチャに関してはどの場合でも音量調整を行うようにする。
形状ジェスチャと操作対象の対応付けを覚えておけば、運転者は操作パネルを見ずに、操作モードを選ぶことができる。また、選んだ操作モード内の操作も、上下の方向ジェスチャで、音量の大小、というように非常に覚えやすいものであるため、一連の操作全てが、視線を前方に維持したまま、操作パネルを見ずに行うことができる。
例えば、カー・ナビゲーションを利用しているときには画面にはマップが表示されていることが多いが、このときオーディオの操作を行いたければ、表示のジェスチャを提示することで直ちにオーディオ操作パネルが表示される。通常であれば一旦メインメニューを表示し、メインメニューの中からオーディオ操作の項目を探し、それを選択してはじめてオーディオ操作パネルが表示される。
このように比較すれば、ジェスチャ提示によって、頻繁に用いる機能に素早くアクセスできることの効果は大きい。
<ジェスチャ・アイコン> これらのジェスチャによる操作は非常に簡便であり、よく使用する形状ジェスチャは容易に記憶することができる。また、方向ジェスチャに関しては動きと効果(音量を上げる、下げるなど)が上手く関連づけられているので、覚えやすい。しかしながら、使用を始めたばかりの使用者や、長期間使用をしていなかった後などにおいて、どのようなジェスチャを行えば、何を制御できたか、ということを忘れてしまうことがある。そのような場合に、わざわざ取扱説明書を取り出して読まなくてはならないとしたら、非常に不便である。
ここではさらに、ジェスチャを表示したアイコンを画面上に同時に表示することで、操作を忘れた場合も、容易に行うべきジェスチャを知ることができる。これを図5に示す。この図では画面下部にジェスチャの形状を示すアイコン9とそのジェスチャを提示したときに行える操作を一緒に表示してある。このように、実行できる形状ジェスチャとそれで何を操作できるかを表示しておけば、忘れた場合はこの画面を見ることですぐに思い出せる。
操作ごとにこの画面のジェスチャ・アイコンを見るようでは、操作パネルを見るのと同じであり、運転者の注意が逸れることになるが、この場合は、操作を忘れたときに見るだけなので、安全性は保たれている。むしろ、操作を忘れてしまい、取扱説明書を見る方がよほど危険である。
<音声フィードバック> 画面を見ずに操作をしていると、時として今、どのような操作モードに入っていて、今何が操作できるのかが分からなくなってしまう。これは前述した、ジェスチャを忘れてしまうのとは異なり、ちょっとしたことで気を取られることによって起こりうる。例えば、ラジオからCDに切り替えようとして、オーディオ操作のためのジェスチャを提示したところで、突然、最近気に入っているヒット曲がかかったり、操作の途中で急に話しかけられたりして、気を取られることによって起こりやすい。
そのような状況に対処するために、本発明では、状況に応じて、音声を用いて、使用者に現在の状況を知らせる、音声によるフィードバック機能を付加する。
例えば、前述の例で、オーディオ操作ジェスチャを提示した後、何かに気を取られて、分からなくなったとき、「オーディオ操作です」と音声でフィードバックする。あるいは、現在ラジオがかかっているのなら「ラジオ操作です」、CDがかかっているのなら「CD操作です」と状況に応じて音声フィードバックを変えても良い。操作を行うたびに、音声フィードバックを行うのもよい。
しかし、操作に慣れると、オーディオ操作ジェスチャと続く方向ジェスチャ(音量を上げるなど)は連続して提示されることが多くなり、そのたびに音声フィードバックが起こると煩わしくなる。そこで、オーディオ操作ジェスチャが提示されてからしばらく次の操作が無いときに、使用者が状況を忘れたと判断し、音声フィードバックを返すのが望ましい。また、同様に、音声フィードバックを返した後さらに、一定時間経過した場合、方向ジェスチャによって何が操作できるかを音声フィードバックで返してもよい。例えば「上下で音量調整、左右で選局してください」と言った具合に音声をフィードバックする。
この機構をブロック図で示したものが、図6である。操作入力処理部10は、形状ジェスチャが入力されるとタイマー12を起動する。タイマー12は一定時間経過すると操作入力処理部10にそのことを伝え、それに従い、操作入力処理部10は音声フィードバック部13に音声フィードバックを行うよう指示を出す。
また、この処理をフローチャートで示したのが図7である。はじめの状態では、形状ジェスチャの検出のみを行っており(S14)、形状ジェスチャが検出されると(S15)、操作モードを変更し(S16)、ここでタイマーを起動する(S17)。続いて方向ジェスチャの検出(S18)を始めるが、このループの中で、タイマーが起動してから一定時間経過したかどうかを判断し(S20)、経過したと判断されたら音声フィードバックを発生させる(S19)。
このフローチャートでは、形状ジェスチャを検出する初期状態へ戻る経路を省いているが、これは、さらに一定時間が経った後、あるいは、特定のジェスチャを行ったときなどに、戻るように構成できる。
<音のフィードバック> 操作に迷ったときなどに、音声で現在の状態をフィードバックすると効果があることを述べたが、これ以外にも、操作が実行されたときに音でフィードバックするとさらに効果がある。従来のボタンによる操作パネルでは、操作者はボタンに触ったことが分かり、またボタンを押すことによって手に戻ってくる感触を手がかりにきちんとボタンが押せたかどうかが分かるし、さらには音量が変わる、曲が変わるなどの効果を実際に感じることによって、操作が実際に行われたことを知ることができる。
しかし、ジェスチャによって操作を行う場合は、どこにも触れないことから、操作感に乏しいという問題がある。同様のことが例えば、コンピュータにおける操作が上げられる。
例えば、マウスでデスクトップのアイコンをダブルクリックし、あるアプリケーションを起動するとき、通常起動するには、ハードディスクなどの記憶装置からプログラムをロードし、画面に表示する時間がかかるため、ダブルクリックした後、瞬時には起動しない。従って、ダブルクリックした後、本当に起動画面が表示されるまでは操作が成功したかどうか分からずに不安である。
多くのコンピュータおよびソフトウエアでは、この問題に対処するために、ダブルクリックしてプログラムを起動させると、直ちにマウスカーソルの表示を変化させ、起動が行われていることを知らせるようにしている。例えば、矢印状のカーソルが砂時計の形に変わり、起動のための準備をしていることを示したりする。この事実は、なんらかのフィードバックが重要であることを示している。
一方、車載機器を運転者が運転中に操作することを考えると、このようにカーソルの形状を変えるなど、画面上の変化でフィードバックを行うことは適切でない。なぜならば、フィードバックを確認するために、前方から注意を逸らさなくてはならないからである。音でフィードバックを返すことは、運転者が前方から注意を逸らさずに確認することができ、特に本発明のような、ジェスチャによる操作入力装置には極めて有効である。音声によるフィードバックには時間がかかるため、毎回聞かされると煩わしく感じるが、音によるフィードバックは瞬時に行われるため、煩わしさはなく、むしろ操作が完了したことを確認できて安心するという効果がある。
さらに、ジェスチャの種類によって音を変えると、正しいジェスチャが行われたどうかも判断することができる。例えば、「ビュー」のジェスチャを提示したときは「ピッ」、「エアコン」のジェスチャを提示したときは「プッ」、「オーディオ」のジェスチャを提示したときは「ポッ」という音をフィードバックするようにすると、「オーディオ」操作を選択したつもりでも、「ピッ」という音が聞こえれば、操作が正しく行われなかったと知ることができる。
実際には使用者は、「オーディオ」と「ポッ」という音が関係していると明確に記憶することは少ないかも知れないが、「オーディオ」のジェスチャに対し、常に「ポッ」という音を聞いていると、たまに異なる音が鳴ると違和感を覚えるものである。従って、明確に何を間違ったかまでは分からなくとも、「正しく行われなかった」ことを知ることはできる。
また、形状認識を行う際には、静止状態が検出されたときのみ形状認識処理を行うのが望ましいと述べた。そのような処理を行う場合は、静止形状を見つけた時点で音を鳴らし、ジェスチャが検出されたらジェスチャに応じてまた音を鳴らす。例えば、静止状態を検出し、形状認識を開始したら、「ピー」という音を鳴らし、形状検出が成功したら、前述の「ピッ」「プッ」「ポッ」のいずれかの音が鳴り、検出に失敗したら「ブー」という音が鳴る。これで認識が失敗したことがわかり、また、意図しないのにジェスチャが認識されてしまったときでもそのことを知ることができる。
なお、このように2段階で音を鳴らした方がよいかどうかは、認識処理にどのくらい時間がかかるかに依存する。例えば、0.2 秒静止状態が合ったときに認識を開始し、認識処理が0.1 秒で終了するなら、操作者が形状を提示してから0.3 秒でジェスチャが検出される。この場合なら、2段階の音提示は必要ないかも知れない。逆に0.2秒静止状態が合ったときに認識を開始し、認識処理が1秒で終了するなら、操作者が形状を提示してから1.2秒経たないとジェスチャが検出されたかどうかわからない。この場合には、2段階の音提示が有効である。
この例で述べた、「ピッ」「プッ」「ポッ」などの表現はあくまで音の種類が違うことを表現したのみで、短時間の音であれば制限はない。ただし、3つの形状ジェスチャで出す音は、ある程度違いがすぐ分かる程度に違っていた方が望ましいし、例えば認識が失敗したときの音は「ブー」などの比較的、習慣、文化的に「失敗」と結びつきやすい音を採用するのが望ましい。
<他のジェスチャ> 本実施例においては、第1のジェスチャ検出部は形状ジェスチャを検出し、第2のジェスチャ検出部は方向ジェスチャを検出という例で説明した。しかし、実施例はこれに限らず、あらゆる種類のジェスチャから、異なるカテゴリに属するジェスチャを2群選び、それを使って操作モード選択とパラメータ調整を行うものでもよい。
またその特殊な例として、第1と第2のジェスチャ検出部が同じ種類のジェスチャを検出する場合も含まれる。例えば、はじめに方向ジェスチャで4つの操作モードを選び、次に方向ジェスチャでパラメータを変更する方法がある。
この場合、同じ方向ジェスチャが検出されたときにそれがどちらを制御するジェスチャなのかの判断は、現在操作モードが選択されているかどうかで決まる。
操作モードが選択されていなければ、ジェスチャは操作選択のためのジェスチャであると判断され、既に操作モードが選択されていれば、ジェスチャはパラメータ変更のためのジェスチャであると判断される。
また、上述の例では、方向ジェスチャは、どちらかの方向へのジェスチャがあったかどうかだけを判定した。そうではなく、手を上下左右に動かすことで連続的に値を変えることも可能である。例えば前述した実施例では、上方向ジェスチャを1回行う毎に、音量が少しずつ大きくなり、大幅に大きくしたいときには何度も上方向ジェスチャを提示しなくてはならない。これを手の上下方向に動かすとそれに従って音量が変わる。そして、一定時間静止させるか、左右方向の動きを検出すると、その音量で固定する。素早くパラメータを変えたいものにはこのような方法も適している。
また、上下左右の方向のみ述べたが、奥行き方向の動きも利用することができる。特開平10−177449で発明された画像入力装置を使うと、物体距離に依存する反射光の強さが画像として得られるため、奥行き方向の位置を安定して求めることができるため、このような使い方には適している。
<回転ジェスチャ> 他の例として、方向ジェスチャではなく、回転ジェスチャを使うこともできる。つまり、つまみを持つような手の形状を提示し、つまみを回すような手の動きをすることにより、その動きの回転量が検出されるので、それをパラメータとして設定する。ちょうど音調調節つまみを回すような感覚が実現できる。
<方向ジェスチャの入力方法> ここからは、上記に述べた実施例の一要素となっている、方向ジェスチャの入力方法について詳細に述べる。方向ジェスチャの入力を実現する際に重要な点がある。それは繰り返し同じ方向のジェスチャが入力されうることであり、そのときに安定して検出できることが重要である。例えば、特願平9−199647で提案されている手振り入力装置では、装置の前を手が横切ることで入力を行っている。
しかし、このような装置で、同じ方向のジェスチャを繰り返すと誤動作を起こす可能性がある。すなわち、例えば、「右」、「右」と繰り返して入力する際には、2回の右方向ジェスチャの間で、手が一旦左側に戻らなくてはならない。この際に、これが左方向ジェスチャと誤認識され、「右」、「右」と入力したつもりが、「右」、「左」、「右」と入力されてしまうことになる。これを防ぐには、左に戻すときには、センサに検知されないような位置を通って手が戻ることが必要である。そのような動作をしなければならないとすると、繰り返し同じ方向のジェスチャを入力するのは至極面倒くさいものになってしまう。
<動いて、戻って、方向入力とする> それを解決するための方向ジェスチャ入力方法を図8に示す。これは、安定して方向ジェスチャを取得するための処理をフローチャートで表している。
まず、使用者が手をカメラセンサの前に出したとき、直ちに動き情報を検出してしまうと、誤動作の原因になる。従って、まず使用者はカメラセンサの前に手を出し、静止させることによって、これから方向ジェスチャを入力することを知らせる。装置は、物体が画面中央の所定の領域内で一定時間静止したことを検出することによって(S23,S24)、使用者が方向ジェスチャを入力しようとしていると判断し、方向ジェスチャの検出を開始する。
手の位置の軌跡を追跡し、いずれかの方向に一定量だけ動いたことを検出する(S25,S26)。検出する方向の数は、例えば4方向のジェスチャ検出であれば4つであるし、8方向であれば斜め方向も含め8つである。また、動きが上下左右だけでなく、奥行き方向であっても検出する場合もある。
ある方向に一定量動いたことが検出されたら、次は反対方向、すなわち戻る方向に、一定量移動するかどうかを監視する(S27)。そして、反対方向に一定量移動し(S28)、そこでさらに一定時間静止したことを検出したとき(S29,S30)、方向ジェスチャがあったと判断する(S31)。ここで述べている「静止」した状態とは、厳密には静止していなくとも、動きが小さいときを含む。
この方法の良いところは、同じ方向のジェスチャを連続して入力する場合、そのあいだの戻る動作が、反対方向のジェスチャとして誤認識されることが無いことである。それは、常にジェスチャが中央付近から開始され、その付近に戻ることによってジェスチャが終了するからである。
また、方向ジェスチャを次々と連続して入力したい場合に、一つひとつのジェスチャのつながりがスムーズなので、操作者にとって、作業がし易いという利点がある。
<音のフィードバック> また、方向ジェスチャを入力する際にも、音をフィードバックさせ、操作者に入力が受け付けられたことを知らせるのは有効である。図8の場合は、最後の静止状態で方向ジェスチャの検出が完了した時点で音を発生させる。また、入力された方向によって異なる音を発生させると、使用者は正しい入力が行われたことを確実に知ることができる。
<2度の音でフィードバック> 音をフィードバックさせるときに、2段階で音を発生させると、さらに効果的な場合がある。図8中で、いずれかの方向に一定量動いたことを検出した時点で、一つ目の音を鳴らし、戻って静止して、方向ジェスチャが検出されたとき2つ目の音を鳴らす。
このときに、いずれかの方向に動いた音と、戻って方向ジェスチャが検出されたときの音を変えておく。すると、万一、戻る動作が、はじめのいずれかの方向に動く動作と誤って認識されたときでも、使用者にはそれがすぐに判る。また、一つ目の音は、方向によって異ならせても良いが、戻る音は、いずれの場合でも同じにしたほうがよい。
例えば、上下左右の一つ目の音を「パ」「ピ」「プ」「ペ」、2つ目の音を全て「ポ」にすると、上下左右の音フィードバックとして、使用者には、「パポ」「ピポ」「プポ」「ペポ」と聞こえることになる。スムーズに操作が行えるようになれば、これらはそれぞれひとつの効果音のようにも聞こえ、使用者にとって、違和感はない。
<戻らないとキャンセル> いずれかの方向に一定量動かした後、あるいは動かそうとしているときに、間違いに気づいたり、気が変わったりした場合に、キャンセルしたいことがある。上記の方法を採っていれば、キャンセルしたい場合は、その動きのままカメラの視野外に手を出してしまうことによりキャンセルできる。
あるいは、途中で、動きを止めてしまうことで、キャンセルすることもできる。図8のフローチャートでは、一定時間経つと初期状態に戻るようになっている。
<元に戻るジェスチャ> 上記の例では、方向ジェスチャだけについて述べたが、一般的に、位置の軌跡によって情報を提示する場合、「ある領域から始まり、その領域に到達して終わる」一連のジェスチャというのは、連続して入力するのに非常に適している。例えば、図9に示すようなジェスチャはいずれもそうであり、これにより方向だけでなく、様々なジェスチャを入力することができる。
図9において、矢印が位置の軌跡を示している。
<距離の違いで戻る時の動きを除く> 上記のような構成により、戻るときの動作が誤動作を引き起こさないようにしながら連続的な方向ジェスチャの提示が可能になった。しかし、場合によっては、やはり一方向に動かす動きで方向ジェスチャとしたいこともある。そのような戻す動きをするときには、やや手を引いた感じで戻すことが多い。
例えば、机の上を右方向へ2回なでることを考えると、まず机の表面を1回、右方向へ撫で、机から少し手を浮かせて左側に戻り、再度右方向に撫でる、という動作を通常行う。この「少し浮かせた状態」というのは、空中のジェスチャで考えると、「少し引いた状態」となる。
ところで、特開平10−177449に記載の画像入力装置では、手の相対的な距離情報を取得することができる。従って、左に戻す動きが、右に動かす動きより、「少し引いた状態」で行われていることを検出することができる。これを行う構成を図10に示す。
画像入力部32から入力される画像は、動き検出部34と距離検出部33に入力され、各々で、動き情報39と距離情報38が求められる。判定部35は、これらの情報から、動き検出部34から入力された動き情報が、動き入力なのか、戻るための動作なのかを判定する。
より具体的には、ある方向の方向ジェスチャが検出された直後に、反対方向の動きが検出され、しかもそのときの距離情報が、前回の方向ジェスチャに比べ遠い場合、これは戻るための動作であると判断する。方向ジェスチャと判定されれば、操作実行部36に方向ジェスチャの情報を伝達し、必要に応じて音でフィードバックを発生させる。戻りの動きであると判定されれば、操作実行部には何も伝達せず、また音フィードバックも発生させない。
音フィードバックに関しては、右、左で音を変え、戻りが音を発生させないようにすれば、戻り動作が誤って、方向ジェスチャとして検出されてしまった場合は、使用者はすぐに気づくことができる。
<2回目の動きを戻り動作と判定する> 距離情報を取得できない画像センサを用いても、このような処理は必ずしも不可能ではない。動き情報しか取得できない画像センサの場合、動きの時系列を見て、戻り動作が何であるかを判断することができる。
例えば、「右」「左」「右」「左」「右」という入力があれば、これは右方向に3回の入力を行い、中の2つの左ジェスチャは戻り動作であると判定する。しかし、単純にこれだけだと、途中で左ジェスチャに変えることができない。それはそれぞれの動いている間の時間間隔、いわゆる「間(ま)」を上手く利用することで、判定できる。
例えば、「右」「左」「右」(間)「左」「右」「左」という入力があった場合は、「右」「右」の入力の後、「左」「左」という入力がされたと判定できる。
<メニュー階層をたどる> これまで、主に、形状を提示するジェスチャ、方向を入力するジェスチャについて述べてきたが、これらのジェスチャを用いて、メニュー階層をたどっていくことが可能である。機能が非常に多い装置を操作するインタフェースは、しばしば、機能をカテゴリに分け、階層構造にし、上から順にたどっていくことで機能に到達するようにしているものが多い。
例えば、コンピュータでは、マウスでカーソルを動かしながら、画面上のメニューを順に選択していく方法を採ることが多いし、カー・ナビゲーションなどの車載機器であれば、タッチパネルやリモコンの十字ボタンで、順にメニューを選択していく方法を採っていることが多い。
メニューを選択する場合に、方向キーなどを使わずに、方向ジェスチャで入力したり、ファンクションキーを押す替わりに、形状ジェスチャを提示したりするのは、有効な方法である。図11は、その構成図を表す。画像入力部40より入力された画像は、ジェスチャ検出部41で処理され、ジェスチャが提示された際にはそれを検出する。メニュー制御部42は、検出されたジェスチャによりメニューをどう辿っているかを判定し、新しいメニューをメニュー表示部43に表示させる。
また、ジェスチャが検出された際には、フィードバック部44から使用者に音や音声でフィードバックする。このときのメリットとして、操作がジェスチャであるため、ある機能に到達するまでの操作を記憶しやすいということがある。例えば、形状ジェスチャを用いて、「グー」「チョキ」「パー」と提示すれば、エアコンの温度設定になるという具合である。使用者はこれらの全てを覚える必要はなく、使用頻度の高いものだけをジェスチャの時系列で覚えてしまえばよい。
実際は、ジェスチャの時系列、というのはやはりジェスチャであり、その点でこのインタフェースは、全ての機能をジェスチャと1対1に対応づけているとも言える。このとき、同じ形状が続く場合、それが2回続いていることを示すのは難しい。従って、「パー」を出して次のメニュー階層に移った場合、その階層では「パー」を提示するメニューが存在しないようにすると都合がよい。つまり、どの機能を選択する場合でも、同じジェスチャを2回提示することが無いようにメニューのジェスチャを構成すると良い。
<方向ジェスチャでメニュー階層を辿る> 形状ジェスチャの提示でメニュー階層を辿る方法について述べたが、方向ジェスチャを用いても同様に可能である。方向ジェスチャを用いる場合、人間の手の動かし易さを考えると、4方向ジェスチャを用いるのが比較的望ましいが、4方向ジェスチャだと、4つまでのメニュー選択肢しか表示できないという欠点がある。これを解決するためのいくつかの実現方法がある。
<繰り返し入力> 例えば、「右に1回」だけ動かす場合と、「右に2回」動かす場合では、異なる選択肢を選択できるように構成すればよい。これは、前述した方向ジェスチャ入力方法のうち、いずれかの方向に手を動かし元の位置に戻る一連の動作で、方向ジェスチャとする場合に適している。
例えば、右方向に一定量動き、元の位置まで動いて静止すると、「右」が入力されるが、静止せずに、さらにもう一度右に動き、元の位置まで戻って静止すると、「右2」が入力されるようにする。
これを繰り返し行えば、基本的には無限の選択肢を選べるが、現実的には、2回もしくは3回程度の繰り返しに限定するのが妥当である。これは、マウスのクリックが通常シングルクリックとダブルクリックの2つであり、一部の専門家向けコンピュータで、トリプルクリックが実現されているぐらいである。逆に、一般ユーザでもダブルクリックは当然のように使われており、2回ぐらいの連続入力は問題ない。
方向ジェスチャでメニュー階層を辿っていく場合、例えば図12に示すような、メニュー画面が考えられる。これは、動きの方向に各メニューが配置されているので、見やすい構成となっている。
また2回連続入力まで許す場合は、図13(a)のようなメニュー画面が考えられる。1回の方向入力で内側のメニューが、2回の方向メニューで外側のメニューが選択される。また、3回連続入力まで許すと、テンキーも方向ジェスチャで入力することが可能になる(図13(b))。
<形状+方向> 方向ジェスチャを入力する際、手の形状も変え、形状と方向の組み合わせで選択肢を選ぶ方法もある。方向を例えば、手全体の重心位置の移動で求めるとしたら、手の形状に関係なく方向を提示することができる。そのとき、1本指を伸ばした状態で左に動かすのと、2本指を伸ばした状態で左に動かした場合で、異なる選択肢が選ばれるようにすることができる。方向を繰り返し入力するのは手間がかかるが、形と方向を組み合わせる場合は、比較的選択肢を増やすのが容易である。
<開始指示ボタン> ジェスチャを検出するのは、ある程度の処理コストがかかり、また、何気ない動作がジェスチャとして拾われてしまう危険性を常に持っている。ジェスチャを提示する際に、必ず、ジェスチャ提示ボタンのようなものを押すようにすれば、これらの問題は発生しない。
<2次元ポインティングでの選択> このようなジェスチャによる入力インタフェースを例えば車載機器に搭載することによって、運転中の安全な操作が実現できる。しかし、これらの操作の中には運転中はまず操作しないものも含まれており、また、助手席者が操作する場合には必ずしも視線を前方に固定している必要はない。
従って、画面を見ながら行うのが合理的な操作については、そのように実現すればよい。方向で指示するというのは、視線を向けないで操作できるというメリットがある反面、多くの選択肢から選ぶ場合には、前述のように、繰り返し方向ジェスチャを提示したり、形状と方向を併用したりする必要があった。視線を画面に向けることができる状態では、ポイントの位置を使って選択するという方法もよい。
そのときに問題になるのが、選択決定入力である。例えば、マウスを使って画面上のアイコンを選択するときには、マウスカーソルをアイコン状に移動させてから、クリックすることによって、選択する。手振りを使って同様のことを実現する場合、クリックに相当する決定入力をどうするかが問題になる。パーからグーへと「掴む」ように手の形を変えたり、ボタンを扱うように「押す」動作を行ったりして、それを決定入力とする方法が考えられる。
しかし、そのような動作をさせると、その動作の過程で、位置情報の変動が起こり、隣のアイコンを選択してしまう、ということがよく起こる。これは、「位置を動かす」という動作と「形状を変える」または「前後に押す」という動作が独立していないからである。これは人がこれらを独立して制御するのが難しいという場合もあるし、装置の特性としてそれらを分離しにくいという場合もある。
また、一定時間以上の静止状態で選択トリガとすることもできるが、静止する時間が必要であったり、迷っている間に静止状態になってしまったりすることがある。人の動きの中で、独立に動かすことが容易であり、なおかつそれを独立にセンシングできるような2つの動きを、「選択」と「決定」に利用することで、より安定した操作を実現することができる。
これを図14で説明する。画像入力部46より入力された画像は、第1の動き検出部47と第2の動き検出部49に伝達され、それぞれの検出部で上述したような、それぞれ独立な動き情報を検出する。選択肢または値の選択部48は第1の動き検出部47の出力に応じて、現在なにが選択されているかを判断する。この結果は典型的には、図示しない表示部において、反転表示するなどにより、操作者にフィードバックされる。
決定動作判定部50は、第2の動き検出部49の出力を解析し、決定動作が行われたどうかを判定する。操作入力処理部51は、選択肢または値の選択部48と決定動作判定部50の出力を用いて、何が選択決定されたかを判定し、実際に処理を行う、操作実行部52に送る。
<2つの動きで選択と決定> より具体的には、例えば、左右の動きと上下の動きを組み合わせる方法である。左右方向の動きで、左右に並んだメニューを選ぶ。現在選択されているメニューは例えば反転表示されるなどして、何が選ばれているかが分かる。この状態では、仮に選択した段階であり、ここから上下の動きをすることによって、選択肢を決定する。
上の例では、左右方向で「選択」し、上下方向で「決定」したが、これには理由がある。一般的に人は、左右方向の動きの方がより細かく位置を指示することができるため、左右方向を「選択」の方向とした。上下運動はトリガ入力だけなので、それほど細かく制御できなくても問題ない。ただし、これは一般論であり、操作の条件(体の姿勢など)によって逆の場合もあり得るが、いずれにしろ、細かく制御し易い方向を「選択」の方向にするのは重要である。
例えば、図15(a)は、この方法で選択をする場合のメニュー画面の一例であるが、図中に矢印で示したように、横方向の動きで選択し、縦方向の動きで決定する。同図(b)は、選択肢が多いため、左右にスクロールするためのアイコンを配置してある。ここを選択しているとメニューが次々とスクロールしていく。
<上下の動きを別々に使う> また、上の例では、上下方向はどちらも単に「決定」であったが、メニューを上下2段にして、上と下の方向でそれぞれ上下のメニューを選択することもできる。こうすると倍の選択肢を一度に表示できる。
この場合は、仮の選択状態(例えば反転表示など)は、上下2つのメニュー同時選択しておいて、「決定」の入力でどちらかに確定する。
例えば、この選択方法を行うための、メニュー画面例を図16に示す。例えば茨城県、山梨県のところを選択しておき、上に動かしたら茨城県、下に動かしたら山梨県が選択決定される。ここでは、端の「他の地域」および「戻る」のアイコンは、上下どちらに動かしても選択される。
<上下に動いて戻る> これまでの例では、上下いずれかに動かして選択したら、手は上か下に移動してしまうので、連続したメニュー操作を行う場合には、適していない。上下いずれかに一定量動き、元の場所に戻ったときに、「決定」されるようにすると、連続したメニュー選択を行いやすい。ちょうど、前述の例で、右に動いて、中央に戻ったときに「右」ジェスチャと認識させたのと同様である。
<横、縦、横と連続> 50音表から、文字を選ぶような場合には、一度に表示したい選択肢の数が多い。このような場合、まず横の動きで、「ア行」「カ行」「サ行」といった「行」を選択し、次いで縦の動きで、5文字のうちひとつを選び、さらに横の動きで選択するという方法も採れる。また、一旦横の動きで行を選んだら、次の縦の動きで文字を選んでいるときに、多少横方向に動いてしまっても、再び違う行を選択してしまうようなことが合ってはならない。
この場合、一旦横方向を決定したら、次に縦方向を決定するまでは、横方向の動きは検出しないというような処理を行うとよい。もちろん50音表の場合は、単純に、上下左右の位置でカーソルを表示し、直接選択することもできる。この場合は、奥行き方向の動きか、静止情報などで決定することになる。さらに、奥行きを変えると、ひらがな、カタカナにかわると言った具合に、さらに奥行き情報も利用することも可能である。
また、指すときの指の形で濁点、半濁点などを指定することもでき、濁点などを独立して入力するより効率がよい。例えば、2本指で選択すると濁点、3本指で選択すると半濁点という具合である。
<センサの取り付け位置> 特開平10−177449で提案した画像入力センサなどを用いて、車載用の操作入力装置を構成する場合、そのセンサの設置位置というのは、使い勝手、性能に大きく左右する。
運転者が運転中に安全に操作できることを最重要視するなら、運転者がハンドルに手を乗せたまま、あるいはほとんどハンドルから手を離さずに操作できるような場所に、カメラを配置するのがよい。例えば、ハンドルの奥側に、ハンドルを持った手の方を向くように配置するのが一例である。
また、カーブを切るときには通常操作はしないが、緩やかなカーブなど、わずかにハンドルを切っているときに操作を行う場合は想定できる。すると、ハンドルの裏側で、直接ハンドルに取り付けてしまうこともできる。そうすると、ハンドルの状態に関わらず、手とカメラの位置関係(距離、向き)などに変化が無く、安定した検出性能を得ることができる。
これらの場合、画像入力には、ハンドルなどの部品が含まれていることが多いので、これらの影響を受けないような処理を行う。また、このとき、画像を処理する場合、画像の上下、左右方向の動きを求めるのは、斜め方向の動きを検出するより、容易であるため、手の位置とその動き方向に合わせて、カメラの向きを設置することが重要である。
また、運転者だけでなく、助手席者も操作する場合は、双方の中間位置に配置するのが望ましい。この場合は、運転者が無理なく手を伸ばせるところを検出できるような位置に配置してあることが必要である。また、ジェスチャ操作を行う場合、特に位置を指示するような場合は、肘や手首など腕の一部を、固定するか台などの上に乗せることにより、安定して操作が行える。
従って、肘や手首を乗せることができる台を適当な場所に配置しておくのが重要である。また、これは、操作する手のおよその場所を決める役割もあり、安定した性能を確保するために重要である。例えば、図17の53のような形が考えられる。ここでは、斜め方向にカメラ54が配置してあり、手があまりカメラに近づかないよう、くぼみを設けている。
また、特開平10−177449で発明した画像入力装置は、自身で発光手段を持っているため、周りの明るさに寄らず、物体形状を撮像できる。しかし、極度に明るい外光、例えば直射日光などがある場合は、影響を受ける可能性がある。特に、画像入力装置の発光手段が照らす部分に、強力な外光が当たっていると、画像の劣化を引き起こしやすい。
そこで、画像入力装置が撮像している手の表面に、強い外光が当たらないような位置関係にセンサを配置することは、性能向上や使用する光学BPFの低コスト化などの効果がある。
例えば図17(b)は図17(a)の形状の断面図を示しているが、手のひら55は下を向いているため、ここに強力な外光が当たることは少ない。また、操作のしやすさを損なわない程度に、外光を遮蔽する手段を持つのも有効である。
<運転者、助手席者を認識> カー・ナビゲーションのような高度な情報機器は、運転者が操作に集中すると危険なため、運転中は行ってはいけない操作がある。例えば、目的地を登録するといった操作は、非常に煩雑であるため、運転中は操作できないようになっている。従って、通常は車速センサの入力を使用し、走行中はこれらの操作ができないようになっている。
しかし、走行中であっても助手席者が操作するのは本来危険ではないのに、現状では操作ができないようになっている。現在操作を行おうとしている人が運転者なのか助手席者なのかが検出できれば、運転者のみの操作を禁止することが可能となる。画像センサを使って、操作している人全体を撮像することによって、あるいは全体ではなくとも、操作している手の上腕程度まで撮像すれば、それが運転席、助手席どちらから伸びている手かどうかは判断することができる。
図18は、これを実現する装置の構成図である。操作者判定部58は画像入力センサ57からの入力画像を用いて、操作者が運転者であるか助手席者であるかを判定する。その結果は、操作入力処理部60に送られ、操作不可能な機能であれば、実行を拒否し、操作できない旨を操作者に知らせる。
<音声認識との併用> 本発明で説明している、ジェスチャによる入力と同様に、運転者が運転中に安全に操作ができる装置として、音声認識を用いた入力装置がある。これは、運転者が発した音声をマイクで検出し、その音声データを解析し、使用者の意図を判定し、操作に結びつけるものである。音声認識を使った装置は、コマンドを覚えるのが容易でしゃべるだけなので誰にでも使えるといったメリットがある反面、操作をする際にいつもしゃべらなければならない誤認識が多いといった問題がある。本発明のジェスチャ入力装置と、音声認識を組み合わせることにより、より扱いやすいシステムを構築できる。
例えば、機能の選択は、音声を使うと階層を辿らずに即座に行えるので、音声認識を用い、パラメータの入力は、直感的なジェスチャを用いた入力を行う。例えば、「音量」といった後、手を左右に(あるいは上下でも奥行き方向でもよい)動かすことで音量がダイナミックに調整される。ちょうど良いと思ったところで、「OK」と発声すると決定される。
あるいは、位置の指示を行うときに決定入力として音声入力を用いることもできる。さらには、ジェスチャによって選択されている対象に対し、複数の実行可能な操作を、音声入力で指示することができる。
例えば、地図上に表示されているレストランをジェスチャによって選択し、「電話」「情報」「経路」などの音声コマンドを発行できる。「電話」と発声するとそのレストランへ電話をかけ、「情報」と発声するとそのレストランに関する情報を表示し、「経路」と発声するとそのレストランへの経路探索を開始する。
<接触板> 肘や手首などを台などに乗せて操作をするとより安定した操作ができることを既に述べたが、検出する手や指自体を、乗せることのできる台などを用意することも大きな効果がある。そのような構成を図17(c)に示す。ここでは、特開平10−177449に記載の、画像入力装置が画像センサとして配置されている。
また、操作者の手との間に、透明または半透明状の板56が配置してある。これには反射防止加工を施しておくと、よけいな反射がなくなり安定して画像を得ることができる。あるいはこの板には、当該画像入力装置が備えている発光手段による光の波長のみを通過させるような、光学バンドパス特性を持ったものでも良い。半透明状の板の場合、通過する光の量が変わるので感度に影響する他は、基本的に板が無いときと同様に動作する。板があることによる効果は以下の通りである。
まず、操作者は常にこの板に触れるか触れないかぐらいで操作を行うようにすることで、手とセンサカメラとの距離がほぼ一定に保たれ、安定して検出できるという利点がある。また、特に位置を指示するときに顕著であるが、人は空中で指を静止させるよりは、板の上に置いて静止している方が容易である。
また、方向ジェスチャを入力するときは、指示する方向に動かすときは、わずかに板に触れるようにし、戻るときには触れないようにすることで、確実に距離の違いを表すことができる。また、板に触れているときの検出距離はかなり安定して、小さな幅に収まるため、触っているかどうかを距離値(実際には、反射光量から換算される距離情報)で判定することができる。
これにより、例えば、形状ジェスチャとして、1本指で板を触る、2本指で板を触る、というように触る指の数で表すこともかのうである。また、手全体の形状も検出されているので、触った指がどの指かも検出することができ、形状ジェスチャの種類を容易に増やすことができる。
また、カメラの位置は、この図では手の指方向斜めから手を捉えているが、この位置はここに限らず、例えば、手の真下であったり、手首方向斜めからであったりしてもよい。しかし、指先の方の形状がやや重要であることが多いため、この方向から撮像した方が、安定した検出が可能になる。
<形状検出> 触った形状のみで、動作をさせようと思えば、さらに異なる構造を持たせることもできる。画像センサとして、CCDカメラが配置されており、外部からの光を拡散する拡散板がある。通常外部からの光が拡散板を通してカメラに入射しているため、カメラはぼんやりと明るい画像を常に捉えている。操作者が手や指を、拡散板の上に載せたとき、その部分からは光が到達しないので、黒い部分として撮像される。
この画像を解析することによって、何ヶ所指が触れているか、あるいは触れた指がどちらの方向に動いたかという情報を検出することができる。あるいは触れてはいないが非常に近い場合は、黒に近い灰色として撮像されるので、これも利用することが可能である。周りが暗い場合には、外光が利用できないので、その場合は補助的な光源を外部に持つことで同様の動作を行える。
また、本願発明の実施例における処理をコンピュータで実行可能なプログラムで実現し、このプログラムをコンピュータで読み取り可能な記憶媒体として実現することも可能である。
<記録媒体> なお、本願発明における記憶媒体としては、磁気ディスク、フロッピー(R)、ハードディスク、光ディスク(CD−ROM,CD−R,DVD等)、光磁気ディスク(MO等)、半導体メモリ等、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼動しているOS(オペレーションシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本願発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本願発明の機能を実現することが可能な機器、装置を総称している。
<まとめ> 第1の発明によれば、人の身体あるいはその一部の形状や動きなどのジェスチャのうち、異なる2つの種類のジェスチャを用いて操作を行い、第1の種類のジェスチャで、操作モードの選択を行い、第2の種類のジェスチャでその操作モードないでのパラメータの変更を行うことができる操作入力装置が実現できる。
第2の発明によれば、形状を提示するという形状ジェスチャで操作モードを選択し、方向を指示する方向ジェスチャでパラメータを変更するという極めて使用者にとって自然な操作入力装置が実現できる。
第3の発明によれば、ひとつの形状ジェスチャには、ひとつあるいは類似した複数の操作モードが対応づけられており、形状ジェスチャ検出手段が同一の形状ジェスチャを連続して検出したときに、その形状ジェスチャに関連づけられた複数の操作モードを順番に選択していくことができるため、類似の操作モードが複数ある時、それら全てに異なるジェスチャを割り当てるという、使用者にとって負担の大きい手段を採らずに、多くの類似の操作モードを選択できる。
第4の発明によれば、形状ジェスチャ検出手段は、人の身体あるいはその一部の動きが一定時間以上静止あるいは動きの小さい状態であることを検出したときに、形状の検出を開始するので、意図しない操作者の動きが形状ジェスチャとして誤認識されてしまうことを防ぐことができる。また、静止したときのみ形状認識処理を行うので、処理コストを低くすることができる。
第5の発明によれば、表示手段に、選択可能な操作モードとそれを選択するための形状ジェスチャを表す画像、あるいは変更可能なパラメータとそれを変更するための方向を表す画像を併せて表示するので、操作者がジェスチャを忘れたときには、わざわざ取扱説明書を開かなくとも、ジェスチャの種類を知ることができる。
第6の発明によれば、現在選択可能な操作モードあるいは変更可能なパラメータなどの情報を音声で提示するので、操作者が前方を注視したままで、現在の操作の状況を知ることができる。
第7の発明によれば、操作の途中で、操作者によるジェスチャ提示が滞ったときに音声提示を行うので、常に音声提示が行われているという煩わしさがない。
第8の発明によれば、形状ジェスチャ検出手段が検出を開始したこと、検出を終了したこと、検出に失敗したこと、方向ジェスチャ検出手段が方向を検出したこと、のうちのいくつかまたは全てが起こったときに、音で操作者に提示する音提示手段を有するので、自分の行ったジェスチャが正しく認識されたかどうかを、画面を見ずに知ることができる。
第9の発明によれば、操作の種類によって、あるいは検出された方向の種類によって、異なる音が提示されるので、入力しようとした方向、形状と異なるジェスチャが検出されてしまったときに、知ることができる。
第10の発明によれば、人の身体やその一部、人が持っているもの、または人が身につけているものの位置に対応した位置情報の軌跡を解析して方向ジェスチャを検出する方法であって、当該物体が、あらかじめ決まられた複数の方向のうち、いずれかの方向に、決められた範囲の量だけ動き、次いで反対側に、決められた範囲の量だけ動いたとき、始めに動いた方向への方向ジェスチャとして検出することを特徴とした、方向ジェスチャ検出方法を用いることによって、同じ方向のジェスチャを繰り返し提示するときに、あいだに生じる「戻り」の動作を反対方向のジェスチャと誤って認識することを防ぐことができる。また、常に同じ場所に戻ってきて、ジェスチャが終了するため、方向ジェスチャを繰り返すのに適している。
第11の発明によれば、人の身体やその一部、人が持っているもの、または人が身につけているものの位置に対応した位置情報の軌跡を解析して方向ジェスチャを検出する方法であって、当該物体が、あらかじめ決められた範囲に決められた範囲の時間だけ静止または動きの少ない状態でとどまった後、あらかじめ決まられた複数の方向のうち、いずれかの方向に、決められた範囲の量だけ動き、次いで反対側に、決められた範囲の量だけ動き、再び決められた範囲の時間だけ静止または動きの少ない状態でとどまったときに、始めに動いた方向への方向ジェスチャとして検出することを特徴とした、方向ジェスチャ検出方法を用いることにより、操作者の意図しない動きが方向ジェスチャとして誤検出されてしまうことを防ぐことができる。
第12の発明によれば、方向ジェスチャが検出されたときに、検出されたことを音で提示する、音提示手段を持つので、方向ジェスチャが正しく検出されたことを確認できる。
第13の発明によれば、検出されたジェスチャの方向によって、ことなる音を提示するため、入力しようとした方向と異なる方向が誤検出されたときに気づくことができる。
第14の発明によれば、はじめにある方向に動いたときに、ひとつの音を提示し、逆側に動いて戻り、方向ジェスチャとして検出されたときに、別の音を提示するので、はじめの動きと戻りの動きを確実に実行することが可能である。
第15の発明によれば、ひとつめの音は、動いた方向によって異なる音を提示し、ふたつめの音は、方向ジェスチャによらず同じ音を提示するので、方向ジェスチャが完了したときには常に同じ音が聞こえる。したがって、はじめの動きと戻りの動きが逆に検出されるような事態になったときには、すぐに気づくことができる。
第16の発明によれば、人の身体やその一部、人が持っているもの、または人が身につけているものの位置に対応した位置情報の軌跡を解析してジェスチャを検出する方法であって、人が意図して動かしている動作と、意図せずに生じてしまう動作を識別することを特徴とする、ジェスチャ検出方法を用いる。これにより、空中でのジェスチャを行うときに、人が意図して行っている動作と、その意図している動作同士のあいだに発生してしまう、意図しない動作を識別し、判定に有効な動作のみを取り出すことができる。
第17の発明によれば、人の身体やその一部、人が持っているもの、または人が身につけているものの位置に対応した位置情報の軌跡を解析して方向ジェスチャを検出する方法であって、あらかじめ決まられた複数の方向のうち、いずれかの方向に動いたことを検出する手段と、連続する同じ方向ジェスチャの間に発生する「戻り」の動作を除去する手段を有する方向ジェスチャ検出方法を用いることにより、一方向の動きで、方向ジェスチャを示すときに問題となる「戻り」動作の誤検出を防ぐことができる。
第18の発明によれば、動いたもののセンサからの距離を検出する手段を持ち、ある方向への連続した動きの間に、反対方向の距離が遠い動きを検出したときに、それは「戻り」の動きであると判定し、除去するので、操作者が「戻り」動作を行う際には、カメラセンサより手を遠ざけて戻すようにすることで、「戻り」動作を除去できる。
第19の発明によれば、各々の動きの間の時間間隔を測定する手段を持ち、ある方向への連続した動きの間に、反対方向の動きが検出され、なおかつそれらの間に、あらかじめ定められた長さ以下の時間間隔しか無かった場合、この間の動きを「戻り」の動きであると判定し、除去するので、同じ方向ジェスチャを提示するときは、時間間隔が空かないように操作し、逆方向のジェスチャを提示するときは、一旦停止してから行うようにすることで、「戻り」動作を除去した安定的な操作が行える。
第20の発明によれば、検出された方向ジェスチャに対し、それぞれ方向によって異なる音を提示するため、「戻り」動作を除去せずに方向ジェスチャとして認識してしまったときに、知ることができる。
第21の発明によれば、人の身体やその一部、人が持っているもの、または人が身につけているものの位置に対応した位置情報の軌跡を解析してジェスチャとして検出する方法であって、始まりの位置と終わりの位置が近い位置に来るような軌跡をジェスチャとして検出するので、さまざまなジェスチャを繰り返し入力するのに適している。
第22の発明によれば、上述したような方向ジェスチャ検出方法を用いた、操作入力装置が実現できる。
第23の発明によれば、人の身体あるいはその一部の形状を検出することができる、形状ジェスチャ検出手段と、メニューを表示するメニュー表示手段と、検出されたジェスチャに対応づけて、メニューを選択するメニュー選択手段を有する入力装置であって、階層的にメニューを辿っていくときに、同じ形状の形状ジェスチャを提示することが無いように、ジェスチャとメニューの対応付けがなされたことを特徴とする、操作入力装置を実現することにより、ジェスチャの組み合わせで、階層をまたぐメニュー選択が、あたかもひとつのジェスチャ提示をするかのごとく行えるようになる。
第24の発明によれば、人の身体あるいはその一部の動きの方向を検出することができる、方向ジェスチャ検出手段と、メニューを表示するメニュー表示手段と、検出されたジェスチャに対応づけて、メニューを選択するメニュー選択手段を有する入力装置であって、方向ジェスチャを連続して提示したときには、1回だけ提示したときとは異なるメニューが選択されるようにすることによって、単に方向ジェスチャを用いるときも多くのメニューを表示することができる。
第25の発明によれば、人の身体あるいはその一部の形状を検出することができる形状ジェスチャ検出手段と、人の身体あるいはその一部の動きの方向を検出することができる、方向ジェスチャ検出手段と、メニューを表示するメニュー表示手段と、検出されたジェスチャに対応づけて、メニューを選択するメニュー選択手段を有する入力装置であって、検出された方向ジェスチャと、それと同時に検出された形状ジェスチャとの組み合わせによって、選択されるメニューが決定されるようにすることによって、単に方向ジェスチャを用いるときも多くのメニューを表示することができる。
第26の発明によれば、人の身体やその一部、人が持っているもの、または人が身につけているものの位置や動きの情報を用いて、並んだ項目のひとつを選択する、あるいは値を設定する方法であって、人が容易に独立して制御できる、または検出手段が容易に独立して検出しうる、2種類の位置、動き情報を用いて、一方を用いて項目あるいは値の選択を行い、他方を用いて決定する、ことを特徴とする、操作入力方法を構成する。これにより、画面を見ることができるときには、素早く項目あるいは値の入力ができる。これらの2種類の動きは独立性が高いので、互いの動作に影響を与えて、検出誤差が生じるのを防ぐことができる。
第27の発明によれば、ひとつの方向に動かして項目あるいは値の選択を行い、それと異なる方向の動きを提示することで、決定するので、動き情報のみで選択動作が行える。クリックに相当する動作を形状の変化などで示さなくて良いので、より安定して操作できる。
第28の発明によれば、人が、より細かく位置を制御できる方向、あるいは検出手段がより精度良く位置を検出できる方向を、選択の方向として利用するので、より精度良く操作が行え、また使用者にとっても操作しやすい装置を提供することができる。
第29の発明によれば、決定の方向ジェスチャを提示する際には、反対向きの2つの方向によって、異なる項目または値を選択決定することにより、より多くの項目を表示し、選択することが可能となる。
第30の発明によれば、決定の方向ジェスチャを提示する際には、決定の方向に、定められた範囲の量だけ移動し、再び定められた範囲の量だけ戻って来たときに、決定することを特徴とするので、この項目選択を繰り返し行うときに効率的に操作できる。
第31の発明によれば、第26〜第30の発明の操作入力方法を用いた操作入力装置が実現できる。
第32の発明によれば、肘、手首など、腕の一部を置く場所を設けたことにより、より安定して、楽に操作を行うことができる。
第33の発明によれば、光学的手段を用いて、対象物体の位置や形状を検出する、第1〜第9、第12〜第15、第20、第22〜第25、第31の発明の操作入力装置であって、画像入力装置側の物体表面に、強力な外部光が当たらないように、向き、配置を工夫した、操作入力装置であるため、太陽光のような強力な外光の影響を受けやすい、光学的手段を用いても安定した性能を発揮することができる。
第34の発明によれば、車載機器に使用される、第1〜第9、第12〜第15、第20、第22〜第25、第31の発明の操作入力装置であって、運転者がハンドルから手を離さずにあるいはほとんど離さずに操作できるように、配置したことを特徴とする、操作入力装置を実現できるので、運転者が運転中により安全に操作を行うことができる。
第35の発明によれば、第1〜第9、第12〜第15、第20、第22〜第25、第31の発明の操作入力装置であって、操作しようとしている人が、どのカテゴリに属する人なのかを判定する、操作者判定手段を持ち、操作者の属するカテゴリによって、行える操作を変更することができる手段を持つことを特徴とする、操作入力装置を用いる。これにより、使用者の状態や位置などの条件によって、操作を許可したり禁止したりすることが可能になる。
第36の発明によれば、車載機器に使用される、第1〜第9、第12〜第15、第20、第22〜第25、第31の発明の操作入力装置であって、操作しようとしているのが運転者なのかそれ以外なのかを判定する、操作者判定手段を持ち、操作者が運転者である場合、一定の条件下で一部の操作ができないよう制御する手段を持つことを特徴とするので、走行中に運転者が操作してはならない操作でも、助手席者ならば操作できるように構成することができる。
第37の発明によれば、第1〜第9、第12〜第15、第20、第22〜第25、第31の発明の操作入力装置であって、さらに音声によって指示が行える、音声入力手段を持つことを特徴とするので、音声による簡便な入力方法とパラメータ入力に適したジェスチャ入力を併用したより操作しやすい環境を実現できる。
第38の発明によれば、第1〜第9、第12〜第15、第20、第22〜第25、第31の発明の操作入力装置であって、さらにユーザの意図しない動きを防ぎ、手や身体の動きを安定させるための安定化手段を有することを特徴とする操作入力装置を用いることで、より安定した操作を実現することができる。
第39の発明によれば、安定化手段は、ユーザが動作の最初や最後あるいは動作中に手や身体を接触させて操作するための接触板であることを特徴とした、第38の発明の操作入力装置を用いることによって、操作者は板に触ることでより安定的に位置入力が行え、また、触ることで操作しているという安心感を与えられる。また、距離が一定に保たれるので、より安定した検出性能が実現できる。
第40の発明によれば、手で触った部分の形状が検出できる、接触形状検出手段と、この接触形状を形状ジェスチャとして検出する形状ジェスチャ検出手段と、動きの方向を検出する、方向ジェスチャ検出手段と、形状ジェスチャ検出手段の検出結果に応じて、ある特定の操作が行える複数の操作モードのうちのひとつを選択する操作モード選択手段と、方向ジェスチャ検出手段の検出結果に応じて、当該操作モードにおいて変更可能なパラメータを変更するパラメータ変更手段を有する操作入力装置を構成することで、確実に触って操作したときのみ動作するような操作入力環境が実現できる。この構成では、通常のCCDカメラを用いても安定した動作が実現できる。
第41の発明によれば、第1〜第9、第12〜第15、第20、第22〜第25、第31の発明の操作入力装置であって、パルス発光する発光手段と発光手段に同期して動作し、その発光手段から照射される光の物体反射光のみを撮像する手段を、備えたことを特徴とする操作入力装置を用いることで、物体の形状を安定に、高速に得られるため、低い処理コストでジェスチャ入力が実現できる。
第42の発明によれば、第1〜第9、第12〜第15、第20、第22〜第25、第31〜第41の発明の操作入力装置を備えた車両が実現できる。
第43の発明によれば、人の身体やその一部あるいは物体などの対象物の形状・動き情報を検出し、この検出結果により、複数の操作モードのうちのひとつを選択し、次いで、同じ対象物の、前述とは異なる種類の形状・動き情報を検出し、この検出結果を用いて、その操作モードにおける変更可能なパラメータを変更することを特徴とする操作入力方法により、使用者が自然な感覚で操作できる、装置が構成できる。
第44の発明によれば、第10、第11、第16〜第19、第21、第26〜第30、第43の発明のジェスチャ入力方法あるいは操作入力方法を実行するプログラムを収めた記憶媒体は、コンピュータが搭載されている装置に、実施例で述べたような操作入力環境を構築することができる。