(57)【要約】【課題】ユーザのジェスチャを精度よく検出する。【解決手段】グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出するシステムであって、前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得するモジュールと、取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを、前記プロセッサを用いて特定する特定モジュールと、複数の前記画像のうちの少なくとも２つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを前記プロセッサを用いて検出する検出モジュールと、を備えるシステムを提供する。【選択図】図１
2014211858.tif 000002
【特許請求の範囲】
【請求項１】
グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出するシステムであって、
前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得する画像取得モジュールと、
取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを、前記プロセッサを用いて特定する特定モジュールと、
複数の前記画像のうちの少なくとも２つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを、前記プロセッサを用いて検出する検出モジュールと、
を備えるシステム。
【請求項２】
前記特定モジュールは、前記カメラを用いて取得された、前記ホットスポットに対応する複数のピクセルであるセンサ・ピクセルの値に基づいて、前記ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを特定する、請求項１に記載のシステム。
【請求項３】
前記特定モジュールは、複数の前記センサ・ピクセルの値の履歴を前記メモリに格納し、
前記検出モジュールは、複数の前記センサ・ピクセルの値の履歴を、予め定められたパターンと比較し、マッチした場合に、前記ユーザによるジェスチャが検出されたと判断する、請求項２に記載のシステム。
【請求項４】
前記検出モジュールは、前記ユーザが一部を遮蔽した前記ホットスポットの他の部分を遮蔽しなかったことを更に条件として、前記ユーザによるジェスチャが検出されたと判断する、請求項３に記載のシステム。
【請求項５】
前記検出モジュールは、遮蔽しなかった前記部分が不連続になることを更に条件として、前記ユーザによるジェスチャが検出されたと判断する、請求項４に記載のシステム。
【請求項６】
前記検出モジュールは、複数の前記センサ・ピクセルの値を順次有限状態機械に入力して状態遷移させ、予め定められた状態に遷移したことを条件に、前記ユーザによるジェスチャが検出されたと判断する、請求項４に記載のシステム。
【請求項７】
前記画像取得モジュールは、前記検出モジュールによって前記ユーザによるジェスチャが検出されなかったことを条件に、前記ホットスポットの複数の画像を再度取得する、請求項４〜６のいずれか１項に記載のシステム。
【請求項８】
前記ウィジェットはストライプを含み、前記検出モジュールは、ユーザが前記ストライプ上をスワイプまたはピンチするジェスチャを検出する、請求項４〜７のいずれか１項に記載のシステム。
【請求項９】
前記ウィジェットは空白域を含むストライプを有し、前記検出モジュールは、ユーザが前記空白域を覆うユーザのジェスチャを検出する、請求項４〜７のいずれか１項に記載のシステム。
【請求項１０】
前記検出モジュールは、ユーザによるジェスチャを検出した場合に、更に、検出したジェスチャの速度及び方向の少なくとも１つに応じて、アプリケーション・プログラムに対してコマンドを出力する、請求項４〜９のいずれか１項に記載のシステム。
【請求項１１】
コンピュータを、グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出するシステムとして機能させるプログラムであって、
前記コンピュータを、
前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得するモジュールと、
取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを特定する特定モジュールと、
複数の前記画像のうちの少なくとも２つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを検出する検出モジュールと、
として機能させるプログラム。
【請求項１２】
グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出する方法であって、
前記プロセッサが、
前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得し、
取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを特定し、
複数の前記画像のうちの少なくとも２つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを検出する、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピューティング・デバイスのユーザ・インターフェイスに関し、より具体的には、カメラからの入力に基づいてジェスチャに基づくユーザ・インターフェイスのウィジェットを実装し、当該ウィジェットを利用するシステム及び方法に関する。
【背景技術】
【０００２】
ジェスチャによるコンピューティング・デバイスへの入力が行われるようになっており、これに関する研究も行われている（非特許文献１及び２を参照。）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】キールドセン(Kieldsen)ら、「操縦可能な投影表示とのインタラクション(Interacting with steerable projected displays)」、顔及びジェスチャの自動認識に関する国際会議ＦＧＲ’０２(Intl. Conf. on Automatic Face and Gesture Recognition(FGR'02))、２００２年、 頁４０２〜４０７
【非特許文献２】ピンハネッツ(Pinhanez)ら、「インタラクティブ投影表示を有するタッチスクリーンを任意の場所に生成する(Creating touch-screens anywhere with interactive projected displays)」、ＡＣＭマルチメディア’０３講演論文集、２００３年、頁４６０〜４６１
【非特許文献３】ウィルソン(Wilson)、「タッチセンサとしてのデプスカメラの使用(Using a depth camera as a touch sensor)」、ＩＴＳ’１０講演論文集、頁６９〜７２
【非特許文献４】コーメン（Cormen）ら、「アルゴリズム入門  第２版（Introduction to Algorithms, 2nd ed.）」、ＭＩＴプレス（MIT Press）、２００１年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、医療現場などで衛生状態を維持するための、非接触型でも動作可能なジェスチャ検知技術は、検出の精度が不十分であるばかりでなく、どのような形のジェスチャを検知可能であるのかがユーザにとって分かりづらいことが多かった。
【課題を解決するための手段】
【０００５】
本発明の第１の態様は、グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出するシステムであって、前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得する画像取得モジュールと、取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを、前記プロセッサを用いて特定する特定モジュールと、複数の前記画像のうちの少なくとも２つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを、前記プロセッサを用いて検出する検出モジュールと、を備える。
【０００６】
本発明の第２の態様は、第１の態様のシステムであって、前記特定モジュールは、前記カメラを用いて取得された、前記ホットスポットに対応する複数のピクセルであるセンサ・ピクセルの値に基づいて、前記ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを特定する。
【０００７】
本発明の第３の態様は、第２の態様のシステムであって、前記特定モジュールは、複数の前記センサ・ピクセルの値の履歴を前記メモリに格納し、前記検出モジュールは、複数の前記センサ・ピクセルの値の履歴を、予め定められたパターンと比較し、マッチした場合に、前記ユーザによるジェスチャが検出されたと判断する。
【０００８】
本発明の第４の態様は、第３の態様のシステムであって、前記検出モジュールは、前記ユーザが一部を遮蔽した前記ホットスポットの他の部分を遮蔽しなかったことを更に条件として、前記ユーザによるジェスチャが検出されたと判断する。
【０００９】
本発明の第５の態様は、第４の態様のシステムであって、前記検出モジュールは、遮蔽しなかった前記部分が不連続になることを更に条件として、前記ユーザによるジェスチャが検出されたと判断する。
【００１０】
本発明の第６の態様は、第４の態様のシステムであって、前記検出モジュールは、複数の前記センサ・ピクセルの値を順次有限状態機械に入力して状態遷移させ、予め定められた状態に遷移したことを条件に、前記ユーザによるジェスチャが検出されたと判断する。
【００１１】
本発明の第７の態様は、第４〜第６のいずれかの態様のシステムであって、前記画像取得モジュールは、前記検出モジュールによって前記ユーザによるジェスチャが検出されなかったことを条件に、前記ホットスポットの複数の画像を再度取得する。
【００１２】
本発明の第８の態様は、第４〜第７のいずれか態様のシステムであって、前記ウィジェットはストライプを含み、前記検出モジュールは、ユーザが前記ストライプ上をスワイプまたはピンチするジェスチャを検出する。
【００１３】
本発明の第９の態様は、第４〜第７のいずれかの態様のシステムであって、前記ウィジェットは空白域を含むストライプを有し、前記検出モジュールは、ユーザが前記空白域を覆うユーザのジェスチャを検出する。
【００１４】
本発明の第１０の態様は、第４〜第９のいずれかの態様のシステムであって、前記検出モジュールは、ユーザによるジェスチャを検出した場合に、更に、検出したジェスチャの速度及び方向の少なくとも１つに応じて、アプリケーション・プログラムに対してコマンドを出力する。
【００１５】
本発明の第１１の態様は、コンピュータを、グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出するシステムとして機能させるプログラムであって、前記コンピュータを、前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得するモジュールと、取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを特定する特定モジュールと、複数の前記画像のうちの少なくとも２つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを検出する検出モジュールと、として機能させる。
【００１６】
本発明の第１２の態様は、グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出する方法であって、前記プロセッサが、前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得し、取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを特定し、複数の前記画像のうちの少なくとも２つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを検出する。
【発明の効果】
【００１７】
ジェスチャの検出の精度を高めることができる。
【図面の簡単な説明】
【００１８】
【図１】ユーザのジェスチャを検出するためにユーザ・インターフェイスのウィジェットを採用したシステムの例を示す。
【図２】ユーザのジェスチャを検出するためにユーザ・インターフェイスのウィジェットを採用したシステムの他の例を示す。
【図３】ユーザのジェスチャを検出するために用いることができるウィジェットの例を示す。
【図４】図３に示すウィジェットに関連して用いることができるユーザのジェスチャの例を示す。
【図５】図３に示すウィジェットに関連して用いることができるユーザのジェスチャの他の例を示す。
【図６】２つのウィジェットを組み込んだユーザ・インターフェイスの例を示す。
【図７】２方向のジェスチャを検出するために用いられるウィジェットの例を示す。
【図８】ユーザのジェスチャを検出するために用いられるウィジェットの他の例を示す。
【図９】ユーザのジェスチャを検出するために用いられるウィジェットの他の例を示す。
【図１０】ユーザのジェスチャを検出するために用いられるウィジェットを組み込んだユーザ・インターフェイスの例を示す。
【図１１】ストライプの形のウィジェットのホットスポットを示し、５つのセンサ・ピクセルがビデオ処理モジュールによって監視されている様子を示す。
【図１２】ユーザのジェスチャを検出する処理の動作シーケンスの例を示す。
【図１３】ユーザのジェスチャを検出するための状態遷移図の例を示す。
【図１４】図１３に示した状態遷移図と等価な、ユーザのジェスチャを検出するための状態遷移表の例を示す。
【図１５】「次へ」ボタンのキャリブレーションにおける表示態様を示し、当該ボタンが、例えば、図６に示したユーザ・インターフェイスに関連して用いられる様子を示す。
【図１６】「次へ」ボタンのキャリブレーションにおける表示態様を示し、当該ボタンが、例えば、図６に示したユーザ・インターフェイスに関連して用いられる様子を示す。
【図１７】「次へ」ボタンのキャリブレーションにおける表示態様を示し、当該ボタンが、例えば、図６に示したユーザ・インターフェイスに関連して用いられる様子を示す。
【図１８】ユーザ・インターフェイスのウィジェットを用いてジェスチャを検出するためのコンピュータ・システムの例を示す。
【図１９】ビデオ処理モジュールの例を示す。
【発明を実施するための形態】
【００１９】
「関連技術の説明」
ジェスチャによる入力は、さまざまなコンピュータ・システムとのやり取りにおいていまや一般的な方法となっている。ジェスチャベースのユーザ・インターフェイスとしては、例えば、電話やタブレット端末のタッチスクリーンのみならず、ゲームシステムのための空中で非接触に操作するコントローラなどがある。研究段階のシステムとしては、例えばＩＢＭ社のEverywhere Displays systemなどの、プロジェクタ型ディスプレイのためのジェスチャ入力などがある。詳しくは、上述の非特許文献１または２を参照されたい。
【００２０】
プロジェクタ投影型のディスプレイなどの、ジェスチャをサポートしないシステムのために、そのようなジェスチャによる入力を低コストかつ安定動作可能に提供することが望まれる。ビデオカメラ（例えばウェブカメラなどの）を用い、ユーザの指や手の動きを追跡することでこれを実現しようとすることもよく行われる。Everywhere Displays systemの場合には、指の動きの追跡の目的は、プロジェクタ投影型のディスプレイにおいて接触のイベントを検出することである。上述の医療用の環境において用いられるためには、無菌状態の維持が重要であり、したがって、ユーザがディスプレイに接触するのは好ましくなく、手の追跡によって空中のかつ非接触のジェスチャが検出される。
【００２１】
低コストのビデオカメラを用いて指や手の動きを追跡するのには以下のような課題がある。単一のカメラでは奥行き方向の情報を得ることができないため、「接触型のジェスチャ」はジェスチャの動きから間接的にしか得ることができない。上述のEverywhere Displays systemの例では、ユーザの指の動きがまずボタンに向かってその後そのボタンから離れた時に、接触のイベントが起こったことにしている。当業者であれば明らかなように、この手法は、「次へ」のボタンを連続で押すといったような、スライドショーのアプリケーションでは一般的な動作に対して適切に動作しない。あるいは、仮想キーパッドに対して行うように、手を後退させる動作を行うことなく複数のボタンを押すような動作に対しても適切に動作しない。
【００２２】
上述のEverywhere Displays systemに関連しては別の課題もある。ユーザが通常のボタンを見た時、そのユーザは（タッチジェスチャよりもむしろ）それを押したいと思う傾向がある。この課題は、ユーザがそのボタンを見ただけでは正しい入力の方法を理解できないという、知覚されるアフォーダンスが足りないために生じている。視覚的な指示の不足は、上述の空中における非接触のジェスチャ入力システムではさらに顕著である。
【００２３】
従来のシステムの課題をさらに複雑化しているのは、各ユーザの手や肌の色、あるいは、操作のためにユーザが装着する手袋の色のため、システムをキャリブレーションしなければならないことである。さもないと、ジェスチャの認識の精度が低くなってしまう。このようなキャリブレーションは、ユーザに追加の操作を強いることになり、ユーザビリティを全体として低下させてしまう。
【００２４】
従来のジェスチャベースのユーザ・インターフェイスに対する一般的な課題として、ユーザがシステムに対する入力を意図したわけではないのにそれがジェスチャとして解釈されることを防ぐこと、がある。一方で、それと同時に、ジェスチャは、簡単にかつ快適にユーザが行うことができ、そして、システムによって高い精度で検出されなければならない。これらの課題に対処するため、非特許文献３に述べられたシステムにおいては、連続的なジェスチャのイベントをサポートするため、手の動きを追跡するモードに入る、あるいは、そのようなモードから出る、という動作を高い信頼性で実現している。このシステムは、仮想現実技術における手袋による入力デバイスと似ている。
【００２５】
「実施例」
上述の問題やそれに関連する問題に対応するために、ここでは、１つまたは複数の実施例として、グラフィック・ユーザ・インターフェイスのウィジェットに基づいたジェスチャのやり取りに関するアプローチについて述べる。特に、コンピュータとのやり取りにおいてよく使われるユーザ・インターフェイスである、グラフィック・ユーザ・インターフェイスのウィジェットに、ジェスチャ機能を追加することは有用である。１または複数の実施例において、ユーザのジェスチャを検出するために、ホットスポットを伴うウィジェットが提供される。ホットスポットは、カメラを用いて監視され、予め定められたパターンの遮蔽が発生したかどうかが検出される。ホットスポットは、ユーザがその近傍や周辺でジェスチャ動作を行うことでウィジェットとやり取りするための領域である。ユーザの指や手がカメラとウィジェットを表示する面との間のある地点に移動する時に、遮蔽が生じる。ある実施例において、ユーザのジェスチャを、ウィジェットを表示する面には物理的に接触することなく検出することができる。
【００２６】
ある実施例において、上述のホットスポットは、視覚的に目立つように設けられ、ユーザから受け入れることができるジェスチャの形式を示唆するように設計されている。当業者であれば明らかなように、ここで述べる実施例は、指の動きの追跡機能を利用するような既存のシステムと比べて、ユーザの動作が繰り返し行われるような複雑な操作を適切にサポートできる点において優れている。それに加えて、ここで述べる実施例は、ジェスチャによる入力のためには設計されていないウィジェットを用いようとするような既存のシステムと比べて、あるいは、視覚的な合図が不足しているような、空中でジェスチャを検出するような技術と比べて、知覚されるアフォーダンスが優れている。
【００２７】
図１は、ある実施例におけるシステム１００を示し、システム１００は、ユーザによるジェスチャを検出するためのグラフィック・ユーザ・インターフェイスのウィジェットを採用している。システム１００は、表示面１０２に対してグラフィック・ユーザ・インターフェイスを投影するプロジェクタ１０１を含む。グラフィック・ユーザ・インターフェイスは、表示すべき本来の内容とともに、少なくとも１つのウィジェットを含む。カメラ１０３は、撮像領域内に表示面１０２が位置するように設けられ、表示面１０２に投影されたグラフィック・ユーザ・インターフェイスの動画を撮影するとともに、その表示されたウィジェットに関連してユーザ（不図示）によって行われるジェスチャを撮影する。ある実施例において、カメラ１０３は、プロジェクタ１０１に隣接して、あるいはプロジェクタ１０１の近傍に設けられてもよい。
【００２８】
既に述べたように、プロジェクタ１０１によって表示面１０２に投影されるグラフィック・ユーザ・インターフェイスは、以下に詳しく述べるような１つまたは複数のウィジェットを有してもよい。ある実施例において、表示面１０２は、机やテーブルの上面のような水平面であってもよい。この設定において、プロジェクタ１０１及びカメラ１０３は表地面１０２の上部に固定される。他の実施例において、表示面１０２は垂直であってもよい。カメラ１０３によって撮影された動画は、図１８に関連して以下に詳しく述べるように、ビデオ処理モジュール１８１８によって処理され、表示面１０２に表示されたウィジェットのうちの遮蔽された部分に基づいて、ユーザのジェスチャが検出される。ある実施例において、ユーザは、ジェスチャ動作を行うために、そのユーザの１本の指または２本以上の指を用いてもよい。
【００２９】
図２は、ユーザのジェスチャを検出するためにユーザ・インターフェイスのウィジェットを採用したシステムの他の例２００を示す。システム２００において、図１におけるプロジェクタ１０１および表示面１０２は、その表面にグラフィック・ユーザ・インターフェイスを表示する表示パネル２０１に置き換えられる。システム１００と同様に、カメラ１０３は、その撮像領域に表示パネル２０１を捉えるように設けられ、表示パネル２０１によって表示されたグラフィック・ユーザ・インターフェイスの動画を撮影するとともに、ユーザ（不図示）によって行われるジェスチャを撮影する。
【００３０】
更に他の実施例において、ウィジェットは、例えば１枚の紙や他の物体や媒体のような平面に、恒久的に印刷されてもよい。この実施例においては、カメラ１０３は、その撮像領域にその印刷されたウィジェットを捉えるように設けられ、そのウィジェットの動画を撮影すると共に、その印刷されたウィジェットに関連してユーザが行ったジェスチャを撮影する。注目するべきは、ここで述べられる優れた発明は、ユーザのジェスチャを検出するために用いられるウィジェットの特定の表示方法や特定の実現方法に限定されることはないことである。投影され、表示され、あるいは印刷されたウィジェットに対しユーザの体の一部が動的に遮蔽を行うことについて情報を提供する如何なるシステムも、ここで述べるジェスチャ検出の機能を実現するために用いることができる。
【００３１】
図３は、ユーザのジェスチャの検出に用いることができるウィジェット３００の実施例を示す。ある実施例において、ウィジェット３００は、ストライプ３０１の形式で実装されたホットスポットを有し、このホットスポットは、ジェスチャの検出のために用いられるだけでなく、ユーザに対しスワイプのジェスチャが受け入れ可能であることを示すために用いられる。ある実施例において、ストライプ３０１は、クレジットカードのストライプと同じ形である。ある実施例において、ストライプ３０１の色は、黒色であっても良いし、その他の暗い色であっても良い。ある実施例において、ストライプの長さは、ユーザの指の幅よりも大きく、これによって、ユーザがストライプ３０１の上にその指を滑らせたときに、そのストライプの少なくとも一部をユーザの指によって遮蔽しないようにすることができる。他の基準として、遮蔽された部分がホットスポットを２つの非連続な遮蔽されていない部分に分割するということが挙げられる。これに対して、ユーザの手や体その他の大きなオブジェクトは、それらがウィジェットの前を通り過ぎるのに際して、如何なる時点においても、この基準を満たさない。このようなこのウィジェット３００の特徴は、以下に詳しく述べるように、ビデオ処理モジュール１８１８がジェスチャ検出の安定性を向上させるために利用される。例えば、手や他の体の部分によって意図せずにスワイプ動作しても、ジェスチャを誤って検出したりしないようになる。
【００３２】
ある実施例においては、ジェスチャを正しく検出するために、ホットスポットのうち遮蔽された部分のサイズと、それ以外の残りの部分のサイズの比率が予め定められた範囲になるべきである。上記の予め定められた範囲は、例えば、ホットスポット全体のサイズ（例えば長さ）に対する、指などの遮蔽することが想定されるオブジェクトの典型的なサイズ（幅）の割合に基づいて定められて良い。ある実施例において、上述の比率についての予め定められた範囲とは、例えば、１５％から７５％の間であってもよい。言い換えれば、遮蔽するオブジェクトの幅は、ホットスポット全体の長さの１５％から７５％であってよい。
【００３３】
ある実施例において、ウィジェット３００は、ウィジェットの使い方をユーザに案内するような追加的な情報オブジェクトを含んで良い。ある実施例において、そのような情報オブジェクトとは、例えば、ウィジェットに関連して使用するべきジェスチャを指し示すようなアニメーションであってよい。ある実施例において、アニメーションは、ビデオ処理モジュール１８１８が、表示されたウィジェット上でユーザがホールド動作のジェスチャを行ったことを検出した時に、起動され、そしてユーザに対し再生されてもよい。ある実施例において、情報オブジェクトは、ユーザに対しスワイプ・ジェスチャの方向を示しても良い。
【００３４】
図４は、図３に示すウィジェット３００に関連して用いられるユーザのジェスチャの例を示す。具体的には、ユーザは、その指４０１を、ウィジェット３００上のストライプ３０１の上を矢印４０２が指し示すように、左から右にスワイプする。図４に示すように、すべての時点において、ストライプ３０１のある部分だけがユーザの指４０１によって遮蔽される。ジェスチャの動画はカメラ１０３によって撮影され、ビデオ処理モジュール１８１８によって処理される。そのジェスチャは、ユーザの指４０１によってストライプ３０１が動的に遮蔽されることに基づいて検出される。ジェスチャの検出に応じて、対応するコマンドが実行される。
【００３５】
図５は、図３に示すウィジェットに関連して用いられるユーザのジェスチャの他の例を示す。具体的には、図５に示すジェスチャは、ピンチ（つまむ）に似たジェスチャであって、ユーザは２つの指４０１をストライプ３０１の上で滑らせ、矢印５０１および５０２に示す方向に、すなわち互いに向かい合う方向に指を移動させる。注目すべきなのは、ある実施例においては、２つの指を用いたジェスチャであっても、ストライプ３０１の少なくとも一部は、如何なる時点においても遮蔽されていないことである。図５に示すジェスチャは、ユーザの２つの指４０１によってストライプ３０１の一部が動的に遮蔽されることに基づいて検出される。
【００３６】
図６は、２つのウィジェット６０４および６０５を組み込んだユーザ・インターフェイスの例６００を示す。この実施例におけるユーザ・インターフェイス６００は、内容部分６０１を含む。ある実施例において、内容部分６０１は、スライドショーの中のプレゼンテーション・スライドのような、様々な内容を含んで良い。ある実施例において、内容部分６０１に含めて表示される内容は、２つのウィジェット６０４および６０５に関連してジェスチャを行うユーザによって制御されてもよい。具体的には、プレゼンテーションを次のスライドに進めるために、ユーザはその指をウィジェット６０５の上でスワイプしてよい。ユーザのスワイプはビデオ処理モジュール１８１８によって検出され、そして、それに応じて、内容部分６０１に次のスライドが表示される。ウィジェット６０５に関連したユーザのジェスチャに対応して、ユーザにシステムによって行われた動作を通知するため、ウィジェットの情報部分６０３が「次へ」という言葉を表示しても良い。同様に、前のスライドに戻るために、ユーザは、「前へ」と書かれたウィジェット６０４の上でスワイプのジェスチャをしても良い。例えばエレメント６０２を参照されたい。注目すべきことに、ここで述べるウィジェットを組み込んだユーザ・インターフェイスは、このスライドおよびプレゼンテーション閲覧の例には限定されない。いかなる内容を組み込んだ如何なるタイプのユーザ・インターフェイスであっても、ここで述べる技術を用いて制御することができる。
【００３７】
ある実施例においては、２つのウィジェット６０４および６０５を用いる代わりに、ビデオ処理モジュール１８１８は、ウィジェット上のスワイプ・ジェスチャの方向を検出してもよい。図７は、２方向のジェスチャを検出するために用いられるウィジェット７００の例を示す。ウィジェット７００は、２つの矢印７０１および７０２の形式で２つの情報オブジェクトを組み込んでおり、ユーザに対しこのシステムは双方向のスワイプを受け入れ可能であることを示している。ウィジェット７００は、例えば、図６に示すユーザ・インターフェイス６００の中に組み込まれてもよい。この場合において、ユーザのジェスチャについて検出されたその方向によって、内容部分６０１に示したスライドが、次の、または、前のものに変更される。例えば、左から右へのジェスチャが検出されると、次のスライドが表示され、その一方で、右から左へのジェスチャが検出されると、前のスライドが表示される。
【００３８】
ある実施例において、ウィジェット７００は、スライダーのウィジェットとして用いられてよく、ビデオ処理モジュール１８１８によって検出されたストライプ３０１上の指による遮蔽の位置が、それに対応する動作を決定する。このタイプのウィジェットは、例えば、内容部分６０１に表示される内容の拡大率を調整するために用いられてもよい。ある実施例において、スライダー・ウィジェットは、内容部分６０１に表示されるビデオコンテンツをナビゲートするために用いられてよい。
【００３９】
図８は、ジェスチャを検出するために用いられるウィジェット８００の他の例を示す。ウィジェット８００において、ストライプ８０１は、ストライプの中央に空白域８０２を有する。このウィジェットは、「埋める」ジェスチャすなわち、ユーザが上述の空白域８０２を遮蔽するように所定時間（例えばほんの１０−２０ミリ秒間）指を静止するジェスチャ、で動作するように設定される。ビデオ処理モジュール１８１８は、カメラ１０３から受信したビデオ信号において、空白域の遮蔽が検出されたことに基づいてユーザのジェスチャを検出する。
【００４０】
図９は、ユーザのジェスチャを検出するために用いることができるウィジェット９００のさらに他の例を示す。ウィジェット９００は、中心に空白域９０２を有する十字線９０１を備える。ウィジェット８００と同様に、ウィジェット９００は、「埋める」ジェスチャ、すなわち、ユーザが上述の空白域９０２を遮蔽するように所定時間（例えばほんの１０−２０ミリ秒間）指を静止するジェスチャで動作するように設定される。ビデオ処理モジュール１８１８は、カメラ１０３から受信したビデオ信号において、空白域の遮蔽が検出されたことに基づいてユーザのジェスチャを検出する。注目するべきなのは、様々な実施例において、ウィジェット９００を用いたジェスチャの検出はウィジェット８００を用いたジェスチャの検出よりも信頼性が高いことがあるということである。なぜなら、ウィジェット９００は制約を強制するようなグラフィック上の要素をより多く含んでいるからである。例えば、ビデオ処理モジュール１８１８は、４つのバー９０１のうち３つのバーが、全体的にではなくその一部をユーザによって遮蔽された時に限って、ジェスチャを検出したと判断してもよい。
【００４１】
図１０は、ユーザのジェスチャを検出するために用いられるウィジェット１００２を組み込んだユーザ・インターフェイス１０００の例を示す。ある実施例において、ユーザ・インターフェイス１０００は、プロジェクタ１０１を用いて壁に投影される。図１０に示すように、ユーザ・インターフェイス１０００は、例えばデスクトップ型のオペレーティング・システムのアプリケーション・ウィンドウのような、複数のアプリケーション・ウィンドウ１００１を含んだデスクトップ部分１００４を組み込んでいる。ユーザ・インターフェイス１０００は、垂直のストライプ１００３とともにウィジェット１００２をさらに含む。ユーザがストライプ１００３の上をその手でスワイプすると、ビデオ処理モジュール１８１８はユーザのジェスチャを検出し、そして、適切なコマンドを発行する。例えば、ユーザ・インターフェイス１０００は、「ウィンドウを隠す」アプリケーションと関連して、すなわち、スクリーンに投影されたユーザのデスクトップの画像を内容を覆い隠すように用いられてよく、例えば、この機能は、権限のない者が部屋に入ってきた場合などに用いることができる。ユーザがその手をストライプ１００３の上でスワイプすると、ビデオ処理モジュール１８１８は、オペレーティング・システムにイベントを発行し、投影されたそのオペレーティング・システムのデスクトップ領域が覆い隠される。ある実施例では、同じスワイプのジェスチャが次に検出されると、覆い隠されていた内容が再表示される。
【００４２】
図３に示す上述の実施例と同様に、ストライプ１００３はユーザの手や腕のサイズよりも長く、そして、正しいジェスチャが行われるためには、ストライプ１００３の少なくとも一部分がユーザの手や腕によって遮蔽されてはならない。注目するべきなのは、ウィジェット１００２に関連して用いられるユーザのジェスチャは垂直なものであり、これにより、ジェスチャ検出の信頼性を向上できる。なぜなら、人々が部屋を移動するときにはたいてい水平方向に移動し、それとは容易に区別がつくからである。
【００４３】
注目すべきことに、ここで述べられた技術は、上述の具体的なウィジェットに限定されるものではなく、本発明の範囲および精神から逸脱することなく、異なる、他の多くのウィジェットのデザインが採用されうる。具体的には、ある実施例において、ウィジェットは、視覚的にユーザやカメラに目立ちやすいグラフィックの要素を含んでいてよい。様々な実施例において、ウィジェットは、そのウィジェットに関連して受け入れることができ、かつ、処理できることができるユーザのジェスチャの形式を視覚的に指し示すように設計される。
【００４４】
上述のユーザ・インターフェイスのウィジェットに関連して利用することができるユーザのジェスチャの検出方法を述べてゆく。様々な実施例において、ユーザのジェスチャは、例えば、総当りの方法によって、有限状態機械（ＦＳＭ）を用いて、あるいは、隠れマルコフモデル（ＨＭＭ）を用いて、ピクセル値の変化に基づいて直接にジェスチャの動きを特定することによって検出されてもよい。
【００４５】
ある実施例において、シンプルなジェスチャのために、ビデオ処理モジュール１８１８は、センサ・ピクセルのピクセル値からジェスチャの動きの変化を直接特定してもよい。必要な計算時間を削減するために（１秒当たりに多数のフレームが必要なので）ビデオ処理モジュール１８１８は、センサ・ピクセルと呼ばれるほんの少しのピクセルを監視するようにプログラムされても良い。例えば、センサ・ピクセルは、ホットスポットの内側の１つまたは複数の領域にそって均等に配置されても良い。この様子は図１１に示されている。ここでは、ストライプ形式のウィジェット・ホットスポット１１００と、そのホットスポットに設けられ、ビデオ処理モジュール１８１８によって監視される５個のセンサ・ピクセル１１０１とを示す。ある実施例において、ビデオカメラの画像はカメラ１０３によって撮影されると、ビデオ処理モジュール１８１８によって処理され、センサ・ピクセル１１０１（論理的な座標系におけるもの）に対応するピクセルの値（現実世界の座標系におけるもの）がウィジェットのホットスポットオブジェクトに関するものとして記録される。ウィジェットのホットスポットオブジェクトに関して記録されたそれぞれのセンサ・ピクセルの値は、センサ・ピクセルの明度値の履歴として保存される。ある実施例において、カメラ１０３によって撮影されたビデオは、６４０×４８０ピクセルの解像度を有し、最大３０ｆｐｓのフレームレートを有する。
【００４６】
図１１に示す実施例は５つのセンサ・ピクセルを有しているが、本発明はこの数値に限定されるものではなく、如何なる数のセンサ・ピクセルも用いることができる。ある実施例において、センサ・ピクセルの数は１０未満である。ある実施例において、ジェスチャの検出に用いることができる計算処理能力に基づいて定められても良い。ある実施例において、上述のセンサ・ピクセルは均等に、あるいは、実質的に均等に、ウィジェットのホットスポットにそって配置されてもよい。他の実施例において、センサ・ピクセルは、垂直または水平のパターンで並べられてもよい。具体的には、センサ・ピクセルの方向は、遮蔽する、あるいは、検出するべきオブジェクト（指）の動き（想定される動き）に沿った方向と一致し、検出するべきでないオブジェクトの動きの方向とは実質的に直行するように配置されてよい。
【００４７】
図１２は、ユーザのジェスチャを検出するプロセスのための動作シーケンス１２００の例を示す。ステップ１２０１において、表示面に表示され、または投影されたユーザ・インターフェイスの１つまたは複数の画像がカメラ１０３によって撮影される。上述のユーザ・インターフェイスは、ユーザのジェスチャを検出するために用いられる少なくとも１つのウィジェットを組み込んでいる。ステップ１２０２において、ビデオ処理モジュール１８１８は、上述の１つまたは複数のウィジェットに対応する、撮影された画像の一部を抽出する。ステップ１２０３において、ビデオ処理モジュール１８１８は、図１１に示したウィジェットのセンサ・ピクセル１１０１のピクセル値を取得する。ステップ１２０４において、ウィジェットのセンサ・ピクセルのピクセル値の履歴が、対応するウィジェットのホットスポットのオブジェクトに関連付けて更新される。
【００４８】
当業者であれば明らかなように、ホットスポットの如何なる部分もユーザの指や手で遮蔽していない通常の状態において、５つのセンサ・ピクセル１１０１について検出されたピクセル値は背景色のピクセル値とほぼ等しい。スワイプのジェスチャが行われると、ウィジェットのホットスポットのオブジェクトに関連して格納されたセンサ・ピクセルの履歴は、時間の経過に応じて、あるセンサ・ピクセル１１０１から他のセンサ・ピクセルへ、繰り返し特異値を示す。スワイプのジェスチャの方向が、さらに、特異値を示すピクセル値の配列の方向によって明らかになる。
【００４９】
注目すべきなのは、スワイプのジェスチャの動きの速さは、ほとんど一定になる傾向があり（スピードの上昇や低下が殆ど無い）、ある実施例において、この速度の変化を補正することはしなくても良い。しかしながら、上述のスピードの変化は、個別のユーザやホットスポットのサイズに応じて異なるかもしれない。そのような場合について補正をするために、上述のセンサ・ピクセルの履歴によって、連続的に繰り返される特異値の数を監視しておく。ある実施例において、ビデオ処理モジュール１８１８が正確なジェスチャを検出するために繰り返し記録しなければならないピクセルの履歴の数は、すべてのセンサ・ピクセル１１０１について同じであってよい（ただし、予め定められたしきい値の範囲において）。ある実施例において、ビデオ処理モジュール１８１８は、ジェスチャの速度を判断してもよく、そして、判断されたそのジェスチャのスピードに応じて、少なくとも１つのコマンドを発行するか、あるいは、コマンドのパラメータを調整してもよい。
【００５０】
ある実施例において、スワイプのジェスチャなどのある特定のジェスチャのために、ジェスチャの検出を簡素化しうる１つの方法は、ジェスチャのパターンを検出する際にセンサ・ピクセルをサンプル抽出することである。サンプル抽出されたピクセルの数に応じて想定される入力値の組み合わせは指数関数的に増大するので、より少ないピクセルをサンプル抽出することで計算時間を削減することができる。しかしながら、依然として、背景色の計算の際にはすべてのピクセル値を考慮してもよい。１つのピクセルおきに５つのセンサ・ピクセル１１０１をサンプル抽出する場合において、ビデオ処理モジュール１８１８が特異値かどうかを確認しなければならないのは３ピクセルだけである（左、真ん中、右のピクセル）。０が背景色を示すとし、１が背景色と異なるある閾値を伴った特異値を示すとする。そうすると、｛１００、０１０、００１｝のような、連続するビデオフレームにおける上述のサンプル抽出された３つのピクセルの配列パターンは、左から右へのスワイプ・ジェスチャが起こったことを示すことになる。
【００５１】
図１２のプロセス１２００に戻り、ステップ１２０５において、ビデオ処理モジュール１８１８はサンプル抽出したウィジェットのセンサ・ピクセルのピクセル値の履歴をチェックし、｛１００、０１０、００１｝や｛００１、０１０、１００｝のような上述のパターンの配列を検出する。適切なパターンの配列が検出されると、特定されたジェスチャのパラメータが生成され、そして、ジェスチャの入力イベントが生成される。例えば、図１２のステップ１２０６を参照されたい。必要なパターンの配列が検出されなければ、ステップ１２０１において、カメラ１０３によって新たなフレームが撮影され続ける。この技術は、総当り的な方法と呼ばれる。
【００５２】
他の実施例において、有限状態機械（ＦＳＭ）による方法が用いられてもよい。この有限状態機械による方法では、以前の入力の履歴を振り返る必要が無く、上述の総当り的な方法よりも効率的である。有限状態機械による方法は良く知られており、例えば、非特許文献４に詳しい。
【００５３】
それぞれの配列パターンについて、有限状態機械は状態遷移図または状態遷移テーブルによって定義される。ある実施例において、３つのセンサ・ピクセル１１０１がサンプル抽出されると、入力として８つの可能性｛０００、００１、０１０、０１１、…、１１１｝があり、それらは２進数の｛０、１、２、３、…、７｝と解釈されうる。シーケンス｛１００、０１０、００１｝即ち｛４、２、１｝に対する状態遷移図１３００の例が図１３に示されている。状態遷移図１３００は、｛Ｓ０、Ｓ１、Ｓ２、Ｓ３｝の４つの状態を含み、これらはそれぞれ符号１３０１、１３０２、１３０３および１３０４によって示されており、入力値はかっこ書きで示されている。図１３の図１３００においては説明の分かりやすさのため、ある入力値が、ある状態から外に出る矢印によって示されていない場合には、状態Ｓ０  １３０１に状態が遷移することを意味する。そして、状態Ｓ３  １３０４に達したときは、パターン｛４、２、１｝が検出されたことになる。
【００５４】
ある実施例において、状態遷移図１３００は、ビデオ処理モジュール１８１８内において、それと等価な図１４に示す状態遷移表１４００を用いて実装されてもよい。表のセル内の番号は、現在の状態と新たな入力に対し新たに遷移する遷移先の状態を表す。例えば、現在の状態がＳ１であって新たな入力値が２であれば、新たな状態は２あるいはＳ２となる。注目するべきは、ここで述べるウィジェットに関連して用いることができるジェスチャ検出アルゴリズムは、ここで述べた総当り的な方法や有限状態機械の方法に限定されず、本発明の精神および範囲を逸脱することなく、ジェスチャを検出するために適した他のアルゴリズムも同様に用いることができることが当業者であれば明らかであろう。
【００５５】
ある実施例において、ビデオ処理モジュール１８１８による信頼性の高いジェスチャ検出を行うために、キャリブレーション・モードが提供されてもよい。キャリブレーションの目的は、ビデオ処理モジュール１８１８を適切に設定して、ビデオ画像の座標系からウィジェットの論理的な座標系への変換を適切に行わせることである。キャリブレーションの方法は、キャリブレーション・モジュール１８１９に実装される。
【００５６】
ある実施例において、ユーザのアプリケーションのユーザ・インターフェイスが複数のウィジェットを含む場合に、キャリブレーション・モジュール１８１９は、それら複数のウィジェットを１度に１つずつ巡回するように設定される。それぞれのウィジェットをキャリブレートするため、キャリブレーション・モジュール１８１９は、それぞれのウィジェットの外見が予め定められた時間ごとに変更されるように設定される。様々な実施例において、この予め定められた時間とは、ほんの２００ミリ秒ほどであってよい。ある実施例において、各ウィジェットの外観は、予め定められた複数の外観の組み合わせのそれぞれに、順次変更されてよい。キャリブレーション・モジュール１８１９は、その後、カメラ１０３によって撮影されたウィジェットの画像を解析し、それぞれのウィジェットの外観に対応して撮影された画像の違いを調べる。この技術を用いると、ウィジェットの境界およびホットスポットの位置を判断することができる。
【００５７】
図１５、１６および１７は、「次へ」のボタンのウィジェットについての、３つの異なる外観の例を示し、これらは、例えば、図６に示すユーザ・インターフェイス６００に関連して用いられる。ウィジェットについて示したこれらの異なる外観は、キャリブレーション・モジュール１８１９によってキャリブレーションの目的に用いられる。例えば、ある実施例において、キャリブレーション・モジュール１８１９は、図１５に示す境界のないウィジェット１５００と図１６に示す境界付きのウィジェット１６００とを比較することによって、ウィジェットの境界を検出してもよい。これに加えて、ストライプ型のホットスポット１７０１を有するウィジェットは、図１５に示すストライプのないウィジェット１５００と図１７に示すストライプ１７０１を有するウィジェット１７００の画像を比較することによって検出されてよい。検出されたウィジェットの要素（境界およびホットスポット）は、キャリブレーション・モジュール１８１９によって用いられ、例えば変換式や表の形などの、ビデオ画像の座標系からウィジェットの論理的な座標系に座標変換をするデータが生成される。そして、これらのデータは、後で使うためにビデオ処理モジュール１８１８によって格納される。
【００５８】
注目するべきことに、多くのウィジェットの枠組みにおいて、ウィジェットのオブジェクトは階層的に入れ子になっていてもよく、すなわち、親ウィジェットの中に子ウィジェットが配置されてもよい。親ウィジェットが子ウィジェットの配置に関する情報を有していれば、親のウィジェットのみをキャリブレートすればよく、これによりキャリブレーションを一層効率的にすることができる。しかしながら、投影される表示面が平面でなければ、子のウィジェットをキャリブレーションすることでさらに正確な結果をもたらすこともできよう。
【００５９】
ここで述べたジェスチャ検出技術の実施例は、動的な遮蔽のパターンを検出するためにウィジェットのホットスポットを監視することに依存するが、ここで述べた実施例におけるジェスチャ検出の信頼性を向上させるために、他の技術を用いることもできる。例えば、ある実施例において、例えばユーザがスタイラスなどの他のオブジェクトを用いるのではなく手を用いるようなケースでは、指や手の動きを追跡する技術が、遮蔽のパターンの検出にさらに追加されてもよい。同様の、あるいは、他の実施例において、ジェスチャの誤検出を防ぐため、奥行き方向検出機能付きのカメラを用いて、手と表示面との間の距離を所定の長さに限定してもよい。
【００６０】
ここで述べた実施例において、すべてのホットスポットは同時に監視されるため、ビデオ処理モジュール１８１８は、いくつかのホットスポットを一緒に起動するような、同期的な処理をサポートしてもよい。注目するべきなのは、ビデオ処理モジュール１８１８は、単一または複数のホットスポットにおいて、もっと複雑な動的な遮蔽パターンを検出しても良い点である。これにより、単一点、あるいは、複数の点をタッチするような、多様なユーザのジェスチャを検出できる。このように、本発明の技術は、ここで述べたユーザのジェスチャおよびそれに対応する動的な遮蔽パターンには限定されない。
【００６１】
図１８は、ウィジェットのホットスポットの動的な遮蔽パターンを解析することによってユーザのジェスチャを検出するためのコンピュータ・システム１８００の例を示す。ある実施例において、コンピュータ・システム１８００は、当業者であれば明らかなように、デスクトップ・コンピュータのフォーム・ファクタに実装されてもよい。これに代えて、コンピュータ・システム１８００は、ラップトップやノートブックのコンピュータに基づいて実装されてもよい。
【００６２】
コンピュータ・システム１８００は、データバス１８０４や他の相互接続または相互通信のメカニズムを有してよく、これにより、コンピュータ・システム１８００の様々なハードウェア・コンポーネントの間で通信を行うことができる。また、コンピュータ・システム１８００は、データバス１８０４に接続された中央処理装置（ＣＰＵ、あるいは、単にプロセッサ）１８０１を有しており、このＣＰＵは、情報の処理、および、他の計算あるいは制御のタスクを実行する。コンピュータ・システム１８００は、ランダムアクセスメモリ（ＲＡＭ）などのメモリ１８１２、あるいは、他の動的なストレージデバイスをさらに有し、様々な情報のみならずプロセッサ１８０１によって実行されるべき命令列を格納する。メモリ１８１２は、例えば磁気ディスク、光学ディスク、ソリッドステート・フラッシュメモリ、あるいはその他の不揮発性のソリッドステート・ストレージデバイスなどの、恒久的なストレージデバイスをさらに含んでよい。
【００６３】
ある実施例において、メモリ１８１２は、プロセッサ１８０１による命令列の実行中に、一時的な変数や他の中間情報を保存するために更に用いられてもよい。また、コンピュータ・システム１８００は、データバス１８０４に接続された読み出し専用メモリ（ＲＯＭやＥＰＲＯＭなど）１８０２や他の静的なストレージデバイスを有し、プロセッサ１８０１の静的な情報や命令列、例えばコンピュータ・システム１８００の動作に必要なファームウェア、基本入出力システム（ＢＩＯＳ）、その他の設定パラメータなどを格納してもよい。
【００６４】
ある実施例において、コンピュータ・システム１８００は、ディスプレイ装置（表示パネル）２０１を含んでよく、そして、データバス１８０４に接続されて、コンピュータ・システム１８００のユーザにここで述べたウィジェットを組み込んだユーザ・インターフェイスなどの、様々な情報を表示する。これに代えて、ディスプレイ装置２０１は、不図示のグラフィックコントローラおよび／またはグラフィックプロセッサと関連付けられていても良い。当業者であれば明らかであるが、薄膜トランジスタ（ＴＦＴ）技術を用いて、あるいは、有機発光ダイオード（ＯＬＥＤ）技術を用いて製造された、液晶ディスプレイ（ＬＣＤ）としてディスプレイ装置２０１が実装されてもよい。様々な実施例において、ディスプレイ装置２０１は、コンピュータ・システム１８００のその他のコンポーネントと同じ筐体に組み込まれても良い。これに代えて、ディスプレイ装置２０１は、そのような筐体の外に、例えば机やテーブルの表面に設けられても良い。ある実施例において、コンピュータ・システム１８００は、図１に示すように、表示面１０２に対して、ここで説明したウィジェットを組み込んだユーザ・インターフェイスなどの情報を投影する、プロジェクタや小型プロジェクタ１０１をさらに有してよい。
【００６５】
ある実施例においては、当業者であれば明らかであるが、コンピュータ・システム１８００は、データバス１８０４に電子的に接続された音声（オーディオ）再生装置１８２５をさらに含み、ＭＰＥＧ−３ファイルや、ＭＰＥＧ−４など様々なビデオファイルの音声トラックなどの様々な音声ファイルを再生可能であってよい。この目的のため、コンピュータ・システム１８００は、不図示の音声波形プロセッサまたはそれに類するデバイスをさらに組み込んで良い。
【００６６】
ある実施例において、コンピュータ・システム１８００は、マウス、トラックボール、タッチパッド、あるいは、カーソル指示キーなどのマウス・ポインティングデバイス１８１０のような、１つまたは複数の入力デバイスを組み込んでよく、プロセッサ１８０１に対して指示情報やコマンド選択情報を送信したり、ディスプレイ装置２０１上でカーソル移動を制御したりしてもよい。この入力デバイスは、典型的には、２つの軸における２つの自由度、すなわち第１軸（ｘ）および第２軸（ｙ）の自由度を持ち、平面上の位置を特定することができる。
【００６７】
コンピュータ・システム１８００は、ここで述べられたウィジェットのビデオを含む、様々なオブジェクトの画像やビデオを撮影するためのカメラ１０３や、キーボード１８０６を有し、カメラ１０３やキーボード１８０６は、画像やビデオのみならず、プロセッサ１８０１へのユーザ・コマンド（ジェスチャを含む）を含む、情報を伝達するためのデータバス１８０４に接続されてよい。
【００６８】
ある実施例において、コンピュータ・システム１８００は、追加的な通信インターフェイス、例えば、データバス１８０４に接続されたネットワーク・インターフェイス１８０５を有してよい。ネットワーク・インターフェイス１８０５は、Ｗｉ−Ｆｉアダプタ１８０７、携帯電話のネットワーク（ＧＳＭ（登録商標）またはＣＤＭＡ）のアダプタ１８０８および／またはローカルエリアネットワーク（ＬＡＮ）のアダプタ１８０９のうちの少なくとも１つを用いて、コンピュータ・システム１８００およびインターネット１８２４の間の接続を確立してもよい。ネットワーク・インターフェイス１８０５は、コンピュータ・システム００およびインターネット１８２４の間の双方向のデータ通信を可能にしてもよい。Ｗｉ−Ｆｉアダプタ１８０７は、８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇおよび／または８０２．１１ｎのプロトコルだけでなく、Ｂｌｕｅｔｏｏｔｈ（登録商標）のプロトコルに従って動作して良いことが、当業者であれば明らかであろう。コンピュータ・システム１８００のＬＡＮアダプタ１８０９は、例えば、サービス総合デジタル網（ＩＳＤＮ）カードまたはモデムを用いて、対応する電話回線と接続してもよく、これによって、インターネット・サービス・プロバイダーのハードウェア（不図示）を用いてインターネット１８２４に接続することができる。他の例として、ＬＡＮアダプタ１８０９は、ローカルエリアネットワークのインターフェイス・カード（ＬＡＮ  ＩＣ）であってもよく、これによって、これと互換性のあるローカルエリアネットワーク、および、インターネット１８２４と通信することができる。ある実装の例において、Ｗｉ−Ｆｉアダプタ１８０７、携帯電話のネットワーク（ＧＳＭ（登録商標）またはＣＤＭＡ）のアダプタ１８０８、および／またはＬＡＮアダプタ１８０９は、電子的な、あるいは、電磁的な信号を送受信することができ、これにより、様々な種類の情報を表すデジタルデータ信号を送受信することができる。
【００６９】
ある実施例において、インターネット１８２４は、１つまたは複数のサブ／ネットワークを介して他のネットワーク資源にデータ通信を提供することができる。このように、コンピュータ・システム１８００は、遠隔メディアサーバ、Ｗｅｂサーバ、その他のサーバのみならず、他のネットワーク型データストレージ資源など、インターネット１８２４上のいかなる場所に位置する様々なネットワーク資源にもアクセスすることができる。ある実施例において、コンピュータ・システム１８００は、アプリケーション・プログラムのコードを含む、メッセージ、メディア、および、他のデータを、インターネット１８２４を含む様々なネットワークを経由して、ネットワーク・インターフェイス１８０５を用いて送受信してよい。インターネットの例において、コンピュータ・システム１８００がネットワーク・クライアントとして機能した場合、コンピュータ・システム１８００で実行されるアプリケーション・プログラムのために、コードまたはデータを要求してもよい。同様に、様々なデータやコンピュータのコードを他のネットワーク資源に対して送信しても良い。
【００７０】
ある実施例において、ここで述べた機能は、プロセッサ１８０１がメモリ１８１２に含まれる１つまたは複数の命令列を実行することに応じて、コンピュータ・システム１８００によって実現されてよい。このような命令列は、他のコンピュータ可読媒体からメモリ１８１２に読み込まれても良い。メモリ１８１２に含まれる命令列の実行によって、プロセッサ１８０１はここで述べた様々な処理ステップを実行することができる。他の実施例において、この発明の実施例を実現するために、ソフトウェアの命令列に代えて、またはこれと組み合わせて、ハードウェア組み込み型の回路が用いられてもよい。このように、この発明について述べた実施例は、ハードウェアによる回路および／ソフトウェアの特定の組み合わせに限定されるものではない。
【００７１】
ここで用いられた「コンピュータ可読媒体」という用語は、プロセッサ１８０１による実行のために供給される命令列を供給するために関与するいかなる種類の媒体をさしてもよい。コンピュータ可読媒体は、機械可読媒体の単なる１つの例であって、それによって、ここで述べた方法および／または技術を実現するための命令列を搬送できるようにするものである。そのようなメディアは、不揮発性または揮発性の媒体を含む様々な形態を取りうるが、これに限定されない。
【００７２】
非一時的なコンピュータ可読媒体とは、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、あるいは、他の磁気メディア、ＣＤ−ＲＯＭ、他の光学メディア、パンチカード、紙テープ、穿孔のパターンを伴う他の物理的な媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、フラッシュドライブ、メモリカード、他のメモリチップまたはメモリカードリッジ、あるいは、あらゆる他のコンピュータ可読媒体である。様々な形態のコンピュータ可読媒体を、１つまたは複数の命令を含む１つまたは複数の命令列をプロセッサ１８０１による実行のために搬送するため、用いることができる。例えば、離れた場所にあるコンピュータから、まず始めに、命令列が磁気ディスクに移されてよい。これに代えて、離れた場所にあるコンピュータは、命令列をダイナミック・メモリにロードし、その命令列を、インターネット１８２４を経由して送信しても良い。具体的には、当業者には明らかであるが、これらのコンピュータの命令列は、上述の離れた位置にあるコンピュータから、インターネット１８２４を介して、ネットワーク上のデータ通信に関する様々なプロトコルを用いて、メモリ１８１２にダウンロードされてもよい。
【００７３】
ある実施例において、コンピュータ・システム１８００のメモリ１８１２は、下記の如何なるソフトウェアプログラム、アプリケーション、またはモジュールを格納してもよい：
１．オペレーティング・システム（ＯＳ）１８１３。オペレーティング・システム１８１３は、コンピュータ・システム１８００の基本的なシステムサービスおよび様々なハードウェア・コンポーネントを管理する。オペレーティング・システム１８１３の具体例は当業者には明らかであり、そして、如何なる既知の、あるいは、今後開発されるモバイル用のオペレーティング・システムを含んでよい。
２．アプリケーション１８１４。アプリケーション１８１４は、例えば、ディスプレイ装置２０１上のディスプレイ・ユーザ・インターフェイス、あるいは、カメラ１０３を用いてユーザのジェスチャを検出するディスプレイ・ユーザ・インターフェイスなどの、予め定められた特定の機能をコンピュータ・システム１８００に実行させるための、コンピュータ・システム１８００のプロセッサ１８０１によって実行可能なソフトウェア・アプリケーションの組み合わせである。ある実施例において、アプリケーション１８１４は、以下に詳細に述べるユーザ・アプリケーションのみならず、本発明にかかるジェスチャ・ユーザ・インターフェイス・アプリケーション１８１５を含んでよい。
【００７４】
データストレージ１８２１は、例えば、上述の、ウィジェットのホットスポットに関連付けられたセンサ・ピクセルについて検知したピクセル値の履歴を格納するための、ホットスポット・オブジェクト・ストレージ１８２３のみならず、キャリブレーション・モジュール１８１９によって生成されるキャリブレーション・データを格納するためのキャリブレーション・データ・ストレージ１８２２を含んでよい。
【００７５】
ある実施例において、ジェスチャ・インターフェイス・アプリケーション１８１５は、ユーザ・インターフェイス生成モジュール１８１６を組み込んでよく、これにより、コンピュータ・システム１８００のディスプレイ装置２０１またはプロジェクタ１０１を用いて、ここで述べたウィジェットを組み込んだユーザ・インターフェイスを生成してもよい。ジェスチャ・インターフェイス・アプリケーション１８１５は、さらに、遮蔽されたウィジェットの動画をカメラ１０３によって撮影させるためのビデオキャプチャ・モジュール１８１７と、カメラ１０３によって撮影された動画を処理し、そして、ユーザ・インターフェイス・ウィジェットの遮蔽に関する動的なパターンに基づいてユーザのジェスチャを検出するビデオ処理モジュール１８１８と、すでに詳しく述べたように、ビデオ画像の座標系からウィジェットの論理的な座標系への座標変換をビデオ処理モジュール１８１８によって適切に行わせるためのキャリブレーション・モジュール１８１９と、を有してよい。ユーザのジェスチャを検出すると、ジェスチャ・インターフェイス・アプリケーション１８１５は、適切な制御コマンドをユーザ・アプリケーション１８２０に対して送信してよい。
【００７６】
図１９は、ビデオ処理モジュール１８１８の例を示す。ある実施例においては、図１９に示すように、ビデオ処理モジュール１８１８は、遮蔽特定モジュール１９０１を有し、これにより、ユーザ・インターフェイスを撮影した画像において、ウィジェットの少なくとも一部が遮蔽されたことを特定する。また、ビデオ処理モジュール１８１８は、ジェスチャ検出モジュール１９０２を有し、ウィジェットの少なくとも一部に対する遮蔽が特定されたことに基づいて、ユーザによって行われたジェスチャを検出する。これらのモジュール１９０１および１９０２は、ここまで述べてきた方法に従って動作する。
【００７７】
いくつかの実施例が示されて説明されたが、これらの実施例は、ここで述べられた主題をこの分野に詳しい方々に説明するために提供されるものである。ここで説明された主題は、ここで説明された実施例に限定されること無くさまざまな形で実施化されうることが理解されるべきである。ここで述べられた主題は、これら具体的に定義された、あるいは、説明された事柄を伴わなくても実施化でき、あるいは、ここで述べられなかった他のあるいは異なる要素や事柄を伴って実施化されうる。この分野に詳しい方々には、そのような変更が、ここに添付されたクレームやその均等範囲によって定義され、ここで述べられた主題から逸脱することなく、この実施例の中で可能であることを理解されよう。
【００７８】
この実施例に関連する複数の側面について、部分的には上述の説明の中で説明されてきており、部分的には上述の説明から明らかなはずであり、また、本発明の実施化から理解されうる。本実施例の複数の側面は、さまざまな要素や詳細な説明および添付のクレームにおいて特に指摘した側面の組み合わせから実現あるいは達成されてよく、さらに、さまざまな要素からなる方法によって、実現あるいは達成されてもよい。
【００７９】
上述の説明は、例示あるいは説明のためだけであって、そして、限定を意図したものではないことが理解されよう。
【符号の説明】
【００８０】
１００  システム
１０１  プロジェクタ
１０２  表示面
１０３  カメラ
１９０１  遮蔽特定モジュール
１９０２  ジェスチャ検出モジュール
【図１】
2014211858.tif 000003
【図２】
2014211858.tif 000004
【図３】
2014211858.tif 000005
【図４】
2014211858.tif 000006
【図５】
2014211858.tif 000007
【図７】
2014211858.tif 000008
【図８】
2014211858.tif 000009
【図９】
2014211858.tif 000010
【図１０】
2014211858.tif 000011
【図１１】
2014211858.tif 000012
【図１３】
2014211858.tif 000013
【図１４】
2014211858.tif 000014
【図６】
2014211858.tif 000015
【図１２】
2014211858.tif 000016
【図１５】
2014211858.tif 000017
【図１６】
2014211858.tif 000018
【図１７】
2014211858.tif 000019
【図１８】
2014211858.tif 000020
【図１９】
2014211858.tif 000021