JP2014211858A - ジェスチャに基づくユーザ・インターフェイスを提供するシステム、方法及びプログラム - Google Patents

ジェスチャに基づくユーザ・インターフェイスを提供するシステム、方法及びプログラム Download PDF

Info

Publication number
JP2014211858A
JP2014211858A JP2013241312A JP2013241312A JP2014211858A JP 2014211858 A JP2014211858 A JP 2014211858A JP 2013241312 A JP2013241312 A JP 2013241312A JP 2013241312 A JP2013241312 A JP 2013241312A JP 2014211858 A JP2014211858 A JP 2014211858A
Authority
JP
Japan
Prior art keywords
user
gesture
widget
hot spot
camera
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
Application number
JP2013241312A
Other languages
English (en)
Inventor
パトリック チィーウ
Patrick Chiu
チィーウ パトリック
チョン リュウ
Qiong Liu
リュウ チョン
ジェイ. バック メアリベス
Maribeth J Back
ジェイ. バック メアリベス
クラッツ スベン
Kratz Sven
クラッツ スベン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Publication of JP2014211858A publication Critical patent/JP2014211858A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected

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)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】ユーザのジェスチャを精度よく検出する。【解決手段】グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出するシステムであって、前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得するモジュールと、取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを、前記プロセッサを用いて特定する特定モジュールと、複数の前記画像のうちの少なくとも2つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを前記プロセッサを用いて検出する検出モジュールと、を備えるシステムを提供する。【選択図】図1

Description

本開示は、コンピューティング・デバイスのユーザ・インターフェイスに関し、より具体的には、カメラからの入力に基づいてジェスチャに基づくユーザ・インターフェイスのウィジェットを実装し、当該ウィジェットを利用するシステム及び方法に関する。
ジェスチャによるコンピューティング・デバイスへの入力が行われるようになっており、これに関する研究も行われている(非特許文献1及び2を参照。)。
キールドセン(Kieldsen)ら、「操縦可能な投影表示とのインタラクション(Interacting with steerable projected displays)」、顔及びジェスチャの自動認識に関する国際会議FGR’02(Intl. Conf. on Automatic Face and Gesture Recognition(FGR'02))、2002年、 頁402〜407 ピンハネッツ(Pinhanez)ら、「インタラクティブ投影表示を有するタッチスクリーンを任意の場所に生成する(Creating touch-screens anywhere with interactive projected displays)」、ACMマルチメディア’03講演論文集、2003年、頁460〜461 ウィルソン(Wilson)、「タッチセンサとしてのデプスカメラの使用(Using a depth camera as a touch sensor)」、ITS’10講演論文集、頁69〜72 コーメン(Cormen)ら、「アルゴリズム入門 第2版(Introduction to Algorithms, 2nd ed.)」、MITプレス(MIT Press)、2001年
しかしながら、例えば、医療現場などで衛生状態を維持するための、非接触型でも動作可能なジェスチャ検知技術は、検出の精度が不十分であるばかりでなく、どのような形のジェスチャを検知可能であるのかがユーザにとって分かりづらいことが多かった。
本発明の第1の態様は、グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出するシステムであって、前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得する画像取得モジュールと、取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを、前記プロセッサを用いて特定する特定モジュールと、複数の前記画像のうちの少なくとも2つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを、前記プロセッサを用いて検出する検出モジュールと、を備える。
本発明の第2の態様は、第1の態様のシステムであって、前記特定モジュールは、前記カメラを用いて取得された、前記ホットスポットに対応する複数のピクセルであるセンサ・ピクセルの値に基づいて、前記ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを特定する。
本発明の第3の態様は、第2の態様のシステムであって、前記特定モジュールは、複数の前記センサ・ピクセルの値の履歴を前記メモリに格納し、前記検出モジュールは、複数の前記センサ・ピクセルの値の履歴を、予め定められたパターンと比較し、マッチした場合に、前記ユーザによるジェスチャが検出されたと判断する。
本発明の第4の態様は、第3の態様のシステムであって、前記検出モジュールは、前記ユーザが一部を遮蔽した前記ホットスポットの他の部分を遮蔽しなかったことを更に条件として、前記ユーザによるジェスチャが検出されたと判断する。
本発明の第5の態様は、第4の態様のシステムであって、前記検出モジュールは、遮蔽しなかった前記部分が不連続になることを更に条件として、前記ユーザによるジェスチャが検出されたと判断する。
本発明の第6の態様は、第4の態様のシステムであって、前記検出モジュールは、複数の前記センサ・ピクセルの値を順次有限状態機械に入力して状態遷移させ、予め定められた状態に遷移したことを条件に、前記ユーザによるジェスチャが検出されたと判断する。
本発明の第7の態様は、第4〜第6のいずれかの態様のシステムであって、前記画像取得モジュールは、前記検出モジュールによって前記ユーザによるジェスチャが検出されなかったことを条件に、前記ホットスポットの複数の画像を再度取得する。
本発明の第8の態様は、第4〜第7のいずれか態様のシステムであって、前記ウィジェットはストライプを含み、前記検出モジュールは、ユーザが前記ストライプ上をスワイプまたはピンチするジェスチャを検出する。
本発明の第9の態様は、第4〜第7のいずれかの態様のシステムであって、前記ウィジェットは空白域を含むストライプを有し、前記検出モジュールは、ユーザが前記空白域を覆うユーザのジェスチャを検出する。
本発明の第10の態様は、第4〜第9のいずれかの態様のシステムであって、前記検出モジュールは、ユーザによるジェスチャを検出した場合に、更に、検出したジェスチャの速度及び方向の少なくとも1つに応じて、アプリケーション・プログラムに対してコマンドを出力する。
本発明の第11の態様は、コンピュータを、グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出するシステムとして機能させるプログラムであって、前記コンピュータを、前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得するモジュールと、取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを特定する特定モジュールと、複数の前記画像のうちの少なくとも2つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを検出する検出モジュールと、として機能させる。
本発明の第12の態様は、グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出する方法であって、前記プロセッサが、前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得し、取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを特定し、複数の前記画像のうちの少なくとも2つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを検出する。
ジェスチャの検出の精度を高めることができる。
ユーザのジェスチャを検出するためにユーザ・インターフェイスのウィジェットを採用したシステムの例を示す。 ユーザのジェスチャを検出するためにユーザ・インターフェイスのウィジェットを採用したシステムの他の例を示す。 ユーザのジェスチャを検出するために用いることができるウィジェットの例を示す。 図3に示すウィジェットに関連して用いることができるユーザのジェスチャの例を示す。 図3に示すウィジェットに関連して用いることができるユーザのジェスチャの他の例を示す。 2つのウィジェットを組み込んだユーザ・インターフェイスの例を示す。 2方向のジェスチャを検出するために用いられるウィジェットの例を示す。 ユーザのジェスチャを検出するために用いられるウィジェットの他の例を示す。 ユーザのジェスチャを検出するために用いられるウィジェットの他の例を示す。 ユーザのジェスチャを検出するために用いられるウィジェットを組み込んだユーザ・インターフェイスの例を示す。 ストライプの形のウィジェットのホットスポットを示し、5つのセンサ・ピクセルがビデオ処理モジュールによって監視されている様子を示す。 ユーザのジェスチャを検出する処理の動作シーケンスの例を示す。 ユーザのジェスチャを検出するための状態遷移図の例を示す。 図13に示した状態遷移図と等価な、ユーザのジェスチャを検出するための状態遷移表の例を示す。 「次へ」ボタンのキャリブレーションにおける表示態様を示し、当該ボタンが、例えば、図6に示したユーザ・インターフェイスに関連して用いられる様子を示す。 「次へ」ボタンのキャリブレーションにおける表示態様を示し、当該ボタンが、例えば、図6に示したユーザ・インターフェイスに関連して用いられる様子を示す。 「次へ」ボタンのキャリブレーションにおける表示態様を示し、当該ボタンが、例えば、図6に示したユーザ・インターフェイスに関連して用いられる様子を示す。 ユーザ・インターフェイスのウィジェットを用いてジェスチャを検出するためのコンピュータ・システムの例を示す。 ビデオ処理モジュールの例を示す。
「関連技術の説明」
ジェスチャによる入力は、さまざまなコンピュータ・システムとのやり取りにおいていまや一般的な方法となっている。ジェスチャベースのユーザ・インターフェイスとしては、例えば、電話やタブレット端末のタッチスクリーンのみならず、ゲームシステムのための空中で非接触に操作するコントローラなどがある。研究段階のシステムとしては、例えばIBM社のEverywhere Displays systemなどの、プロジェクタ型ディスプレイのためのジェスチャ入力などがある。詳しくは、上述の非特許文献1または2を参照されたい。
プロジェクタ投影型のディスプレイなどの、ジェスチャをサポートしないシステムのために、そのようなジェスチャによる入力を低コストかつ安定動作可能に提供することが望まれる。ビデオカメラ(例えばウェブカメラなどの)を用い、ユーザの指や手の動きを追跡することでこれを実現しようとすることもよく行われる。Everywhere Displays systemの場合には、指の動きの追跡の目的は、プロジェクタ投影型のディスプレイにおいて接触のイベントを検出することである。上述の医療用の環境において用いられるためには、無菌状態の維持が重要であり、したがって、ユーザがディスプレイに接触するのは好ましくなく、手の追跡によって空中のかつ非接触のジェスチャが検出される。
低コストのビデオカメラを用いて指や手の動きを追跡するのには以下のような課題がある。単一のカメラでは奥行き方向の情報を得ることができないため、「接触型のジェスチャ」はジェスチャの動きから間接的にしか得ることができない。上述のEverywhere Displays systemの例では、ユーザの指の動きがまずボタンに向かってその後そのボタンから離れた時に、接触のイベントが起こったことにしている。当業者であれば明らかなように、この手法は、「次へ」のボタンを連続で押すといったような、スライドショーのアプリケーションでは一般的な動作に対して適切に動作しない。あるいは、仮想キーパッドに対して行うように、手を後退させる動作を行うことなく複数のボタンを押すような動作に対しても適切に動作しない。
上述のEverywhere Displays systemに関連しては別の課題もある。ユーザが通常のボタンを見た時、そのユーザは(タッチジェスチャよりもむしろ)それを押したいと思う傾向がある。この課題は、ユーザがそのボタンを見ただけでは正しい入力の方法を理解できないという、知覚されるアフォーダンスが足りないために生じている。視覚的な指示の不足は、上述の空中における非接触のジェスチャ入力システムではさらに顕著である。
従来のシステムの課題をさらに複雑化しているのは、各ユーザの手や肌の色、あるいは、操作のためにユーザが装着する手袋の色のため、システムをキャリブレーションしなければならないことである。さもないと、ジェスチャの認識の精度が低くなってしまう。このようなキャリブレーションは、ユーザに追加の操作を強いることになり、ユーザビリティを全体として低下させてしまう。
従来のジェスチャベースのユーザ・インターフェイスに対する一般的な課題として、ユーザがシステムに対する入力を意図したわけではないのにそれがジェスチャとして解釈されることを防ぐこと、がある。一方で、それと同時に、ジェスチャは、簡単にかつ快適にユーザが行うことができ、そして、システムによって高い精度で検出されなければならない。これらの課題に対処するため、非特許文献3に述べられたシステムにおいては、連続的なジェスチャのイベントをサポートするため、手の動きを追跡するモードに入る、あるいは、そのようなモードから出る、という動作を高い信頼性で実現している。このシステムは、仮想現実技術における手袋による入力デバイスと似ている。
「実施例」
上述の問題やそれに関連する問題に対応するために、ここでは、1つまたは複数の実施例として、グラフィック・ユーザ・インターフェイスのウィジェットに基づいたジェスチャのやり取りに関するアプローチについて述べる。特に、コンピュータとのやり取りにおいてよく使われるユーザ・インターフェイスである、グラフィック・ユーザ・インターフェイスのウィジェットに、ジェスチャ機能を追加することは有用である。1または複数の実施例において、ユーザのジェスチャを検出するために、ホットスポットを伴うウィジェットが提供される。ホットスポットは、カメラを用いて監視され、予め定められたパターンの遮蔽が発生したかどうかが検出される。ホットスポットは、ユーザがその近傍や周辺でジェスチャ動作を行うことでウィジェットとやり取りするための領域である。ユーザの指や手がカメラとウィジェットを表示する面との間のある地点に移動する時に、遮蔽が生じる。ある実施例において、ユーザのジェスチャを、ウィジェットを表示する面には物理的に接触することなく検出することができる。
ある実施例において、上述のホットスポットは、視覚的に目立つように設けられ、ユーザから受け入れることができるジェスチャの形式を示唆するように設計されている。当業者であれば明らかなように、ここで述べる実施例は、指の動きの追跡機能を利用するような既存のシステムと比べて、ユーザの動作が繰り返し行われるような複雑な操作を適切にサポートできる点において優れている。それに加えて、ここで述べる実施例は、ジェスチャによる入力のためには設計されていないウィジェットを用いようとするような既存のシステムと比べて、あるいは、視覚的な合図が不足しているような、空中でジェスチャを検出するような技術と比べて、知覚されるアフォーダンスが優れている。
図1は、ある実施例におけるシステム100を示し、システム100は、ユーザによるジェスチャを検出するためのグラフィック・ユーザ・インターフェイスのウィジェットを採用している。システム100は、表示面102に対してグラフィック・ユーザ・インターフェイスを投影するプロジェクタ101を含む。グラフィック・ユーザ・インターフェイスは、表示すべき本来の内容とともに、少なくとも1つのウィジェットを含む。カメラ103は、撮像領域内に表示面102が位置するように設けられ、表示面102に投影されたグラフィック・ユーザ・インターフェイスの動画を撮影するとともに、その表示されたウィジェットに関連してユーザ(不図示)によって行われるジェスチャを撮影する。ある実施例において、カメラ103は、プロジェクタ101に隣接して、あるいはプロジェクタ101の近傍に設けられてもよい。
既に述べたように、プロジェクタ101によって表示面102に投影されるグラフィック・ユーザ・インターフェイスは、以下に詳しく述べるような1つまたは複数のウィジェットを有してもよい。ある実施例において、表示面102は、机やテーブルの上面のような水平面であってもよい。この設定において、プロジェクタ101及びカメラ103は表地面102の上部に固定される。他の実施例において、表示面102は垂直であってもよい。カメラ103によって撮影された動画は、図18に関連して以下に詳しく述べるように、ビデオ処理モジュール1818によって処理され、表示面102に表示されたウィジェットのうちの遮蔽された部分に基づいて、ユーザのジェスチャが検出される。ある実施例において、ユーザは、ジェスチャ動作を行うために、そのユーザの1本の指または2本以上の指を用いてもよい。
図2は、ユーザのジェスチャを検出するためにユーザ・インターフェイスのウィジェットを採用したシステムの他の例200を示す。システム200において、図1におけるプロジェクタ101および表示面102は、その表面にグラフィック・ユーザ・インターフェイスを表示する表示パネル201に置き換えられる。システム100と同様に、カメラ103は、その撮像領域に表示パネル201を捉えるように設けられ、表示パネル201によって表示されたグラフィック・ユーザ・インターフェイスの動画を撮影するとともに、ユーザ(不図示)によって行われるジェスチャを撮影する。
更に他の実施例において、ウィジェットは、例えば1枚の紙や他の物体や媒体のような平面に、恒久的に印刷されてもよい。この実施例においては、カメラ103は、その撮像領域にその印刷されたウィジェットを捉えるように設けられ、そのウィジェットの動画を撮影すると共に、その印刷されたウィジェットに関連してユーザが行ったジェスチャを撮影する。注目するべきは、ここで述べられる優れた発明は、ユーザのジェスチャを検出するために用いられるウィジェットの特定の表示方法や特定の実現方法に限定されることはないことである。投影され、表示され、あるいは印刷されたウィジェットに対しユーザの体の一部が動的に遮蔽を行うことについて情報を提供する如何なるシステムも、ここで述べるジェスチャ検出の機能を実現するために用いることができる。
図3は、ユーザのジェスチャの検出に用いることができるウィジェット300の実施例を示す。ある実施例において、ウィジェット300は、ストライプ301の形式で実装されたホットスポットを有し、このホットスポットは、ジェスチャの検出のために用いられるだけでなく、ユーザに対しスワイプのジェスチャが受け入れ可能であることを示すために用いられる。ある実施例において、ストライプ301は、クレジットカードのストライプと同じ形である。ある実施例において、ストライプ301の色は、黒色であっても良いし、その他の暗い色であっても良い。ある実施例において、ストライプの長さは、ユーザの指の幅よりも大きく、これによって、ユーザがストライプ301の上にその指を滑らせたときに、そのストライプの少なくとも一部をユーザの指によって遮蔽しないようにすることができる。他の基準として、遮蔽された部分がホットスポットを2つの非連続な遮蔽されていない部分に分割するということが挙げられる。これに対して、ユーザの手や体その他の大きなオブジェクトは、それらがウィジェットの前を通り過ぎるのに際して、如何なる時点においても、この基準を満たさない。このようなこのウィジェット300の特徴は、以下に詳しく述べるように、ビデオ処理モジュール1818がジェスチャ検出の安定性を向上させるために利用される。例えば、手や他の体の部分によって意図せずにスワイプ動作しても、ジェスチャを誤って検出したりしないようになる。
ある実施例においては、ジェスチャを正しく検出するために、ホットスポットのうち遮蔽された部分のサイズと、それ以外の残りの部分のサイズの比率が予め定められた範囲になるべきである。上記の予め定められた範囲は、例えば、ホットスポット全体のサイズ(例えば長さ)に対する、指などの遮蔽することが想定されるオブジェクトの典型的なサイズ(幅)の割合に基づいて定められて良い。ある実施例において、上述の比率についての予め定められた範囲とは、例えば、15%から75%の間であってもよい。言い換えれば、遮蔽するオブジェクトの幅は、ホットスポット全体の長さの15%から75%であってよい。
ある実施例において、ウィジェット300は、ウィジェットの使い方をユーザに案内するような追加的な情報オブジェクトを含んで良い。ある実施例において、そのような情報オブジェクトとは、例えば、ウィジェットに関連して使用するべきジェスチャを指し示すようなアニメーションであってよい。ある実施例において、アニメーションは、ビデオ処理モジュール1818が、表示されたウィジェット上でユーザがホールド動作のジェスチャを行ったことを検出した時に、起動され、そしてユーザに対し再生されてもよい。ある実施例において、情報オブジェクトは、ユーザに対しスワイプ・ジェスチャの方向を示しても良い。
図4は、図3に示すウィジェット300に関連して用いられるユーザのジェスチャの例を示す。具体的には、ユーザは、その指401を、ウィジェット300上のストライプ301の上を矢印402が指し示すように、左から右にスワイプする。図4に示すように、すべての時点において、ストライプ301のある部分だけがユーザの指401によって遮蔽される。ジェスチャの動画はカメラ103によって撮影され、ビデオ処理モジュール1818によって処理される。そのジェスチャは、ユーザの指401によってストライプ301が動的に遮蔽されることに基づいて検出される。ジェスチャの検出に応じて、対応するコマンドが実行される。
図5は、図3に示すウィジェットに関連して用いられるユーザのジェスチャの他の例を示す。具体的には、図5に示すジェスチャは、ピンチ(つまむ)に似たジェスチャであって、ユーザは2つの指401をストライプ301の上で滑らせ、矢印501および502に示す方向に、すなわち互いに向かい合う方向に指を移動させる。注目すべきなのは、ある実施例においては、2つの指を用いたジェスチャであっても、ストライプ301の少なくとも一部は、如何なる時点においても遮蔽されていないことである。図5に示すジェスチャは、ユーザの2つの指401によってストライプ301の一部が動的に遮蔽されることに基づいて検出される。
図6は、2つのウィジェット604および605を組み込んだユーザ・インターフェイスの例600を示す。この実施例におけるユーザ・インターフェイス600は、内容部分601を含む。ある実施例において、内容部分601は、スライドショーの中のプレゼンテーション・スライドのような、様々な内容を含んで良い。ある実施例において、内容部分601に含めて表示される内容は、2つのウィジェット604および605に関連してジェスチャを行うユーザによって制御されてもよい。具体的には、プレゼンテーションを次のスライドに進めるために、ユーザはその指をウィジェット605の上でスワイプしてよい。ユーザのスワイプはビデオ処理モジュール1818によって検出され、そして、それに応じて、内容部分601に次のスライドが表示される。ウィジェット605に関連したユーザのジェスチャに対応して、ユーザにシステムによって行われた動作を通知するため、ウィジェットの情報部分603が「次へ」という言葉を表示しても良い。同様に、前のスライドに戻るために、ユーザは、「前へ」と書かれたウィジェット604の上でスワイプのジェスチャをしても良い。例えばエレメント602を参照されたい。注目すべきことに、ここで述べるウィジェットを組み込んだユーザ・インターフェイスは、このスライドおよびプレゼンテーション閲覧の例には限定されない。いかなる内容を組み込んだ如何なるタイプのユーザ・インターフェイスであっても、ここで述べる技術を用いて制御することができる。
ある実施例においては、2つのウィジェット604および605を用いる代わりに、ビデオ処理モジュール1818は、ウィジェット上のスワイプ・ジェスチャの方向を検出してもよい。図7は、2方向のジェスチャを検出するために用いられるウィジェット700の例を示す。ウィジェット700は、2つの矢印701および702の形式で2つの情報オブジェクトを組み込んでおり、ユーザに対しこのシステムは双方向のスワイプを受け入れ可能であることを示している。ウィジェット700は、例えば、図6に示すユーザ・インターフェイス600の中に組み込まれてもよい。この場合において、ユーザのジェスチャについて検出されたその方向によって、内容部分601に示したスライドが、次の、または、前のものに変更される。例えば、左から右へのジェスチャが検出されると、次のスライドが表示され、その一方で、右から左へのジェスチャが検出されると、前のスライドが表示される。
ある実施例において、ウィジェット700は、スライダーのウィジェットとして用いられてよく、ビデオ処理モジュール1818によって検出されたストライプ301上の指による遮蔽の位置が、それに対応する動作を決定する。このタイプのウィジェットは、例えば、内容部分601に表示される内容の拡大率を調整するために用いられてもよい。ある実施例において、スライダー・ウィジェットは、内容部分601に表示されるビデオコンテンツをナビゲートするために用いられてよい。
図8は、ジェスチャを検出するために用いられるウィジェット800の他の例を示す。ウィジェット800において、ストライプ801は、ストライプの中央に空白域802を有する。このウィジェットは、「埋める」ジェスチャすなわち、ユーザが上述の空白域802を遮蔽するように所定時間(例えばほんの10−20ミリ秒間)指を静止するジェスチャ、で動作するように設定される。ビデオ処理モジュール1818は、カメラ103から受信したビデオ信号において、空白域の遮蔽が検出されたことに基づいてユーザのジェスチャを検出する。
図9は、ユーザのジェスチャを検出するために用いることができるウィジェット900のさらに他の例を示す。ウィジェット900は、中心に空白域902を有する十字線901を備える。ウィジェット800と同様に、ウィジェット900は、「埋める」ジェスチャ、すなわち、ユーザが上述の空白域902を遮蔽するように所定時間(例えばほんの10−20ミリ秒間)指を静止するジェスチャで動作するように設定される。ビデオ処理モジュール1818は、カメラ103から受信したビデオ信号において、空白域の遮蔽が検出されたことに基づいてユーザのジェスチャを検出する。注目するべきなのは、様々な実施例において、ウィジェット900を用いたジェスチャの検出はウィジェット800を用いたジェスチャの検出よりも信頼性が高いことがあるということである。なぜなら、ウィジェット900は制約を強制するようなグラフィック上の要素をより多く含んでいるからである。例えば、ビデオ処理モジュール1818は、4つのバー901のうち3つのバーが、全体的にではなくその一部をユーザによって遮蔽された時に限って、ジェスチャを検出したと判断してもよい。
図10は、ユーザのジェスチャを検出するために用いられるウィジェット1002を組み込んだユーザ・インターフェイス1000の例を示す。ある実施例において、ユーザ・インターフェイス1000は、プロジェクタ101を用いて壁に投影される。図10に示すように、ユーザ・インターフェイス1000は、例えばデスクトップ型のオペレーティング・システムのアプリケーション・ウィンドウのような、複数のアプリケーション・ウィンドウ1001を含んだデスクトップ部分1004を組み込んでいる。ユーザ・インターフェイス1000は、垂直のストライプ1003とともにウィジェット1002をさらに含む。ユーザがストライプ1003の上をその手でスワイプすると、ビデオ処理モジュール1818はユーザのジェスチャを検出し、そして、適切なコマンドを発行する。例えば、ユーザ・インターフェイス1000は、「ウィンドウを隠す」アプリケーションと関連して、すなわち、スクリーンに投影されたユーザのデスクトップの画像を内容を覆い隠すように用いられてよく、例えば、この機能は、権限のない者が部屋に入ってきた場合などに用いることができる。ユーザがその手をストライプ1003の上でスワイプすると、ビデオ処理モジュール1818は、オペレーティング・システムにイベントを発行し、投影されたそのオペレーティング・システムのデスクトップ領域が覆い隠される。ある実施例では、同じスワイプのジェスチャが次に検出されると、覆い隠されていた内容が再表示される。
図3に示す上述の実施例と同様に、ストライプ1003はユーザの手や腕のサイズよりも長く、そして、正しいジェスチャが行われるためには、ストライプ1003の少なくとも一部分がユーザの手や腕によって遮蔽されてはならない。注目するべきなのは、ウィジェット1002に関連して用いられるユーザのジェスチャは垂直なものであり、これにより、ジェスチャ検出の信頼性を向上できる。なぜなら、人々が部屋を移動するときにはたいてい水平方向に移動し、それとは容易に区別がつくからである。
注目すべきことに、ここで述べられた技術は、上述の具体的なウィジェットに限定されるものではなく、本発明の範囲および精神から逸脱することなく、異なる、他の多くのウィジェットのデザインが採用されうる。具体的には、ある実施例において、ウィジェットは、視覚的にユーザやカメラに目立ちやすいグラフィックの要素を含んでいてよい。様々な実施例において、ウィジェットは、そのウィジェットに関連して受け入れることができ、かつ、処理できることができるユーザのジェスチャの形式を視覚的に指し示すように設計される。
上述のユーザ・インターフェイスのウィジェットに関連して利用することができるユーザのジェスチャの検出方法を述べてゆく。様々な実施例において、ユーザのジェスチャは、例えば、総当りの方法によって、有限状態機械(FSM)を用いて、あるいは、隠れマルコフモデル(HMM)を用いて、ピクセル値の変化に基づいて直接にジェスチャの動きを特定することによって検出されてもよい。
ある実施例において、シンプルなジェスチャのために、ビデオ処理モジュール1818は、センサ・ピクセルのピクセル値からジェスチャの動きの変化を直接特定してもよい。必要な計算時間を削減するために(1秒当たりに多数のフレームが必要なので)ビデオ処理モジュール1818は、センサ・ピクセルと呼ばれるほんの少しのピクセルを監視するようにプログラムされても良い。例えば、センサ・ピクセルは、ホットスポットの内側の1つまたは複数の領域にそって均等に配置されても良い。この様子は図11に示されている。ここでは、ストライプ形式のウィジェット・ホットスポット1100と、そのホットスポットに設けられ、ビデオ処理モジュール1818によって監視される5個のセンサ・ピクセル1101とを示す。ある実施例において、ビデオカメラの画像はカメラ103によって撮影されると、ビデオ処理モジュール1818によって処理され、センサ・ピクセル1101(論理的な座標系におけるもの)に対応するピクセルの値(現実世界の座標系におけるもの)がウィジェットのホットスポットオブジェクトに関するものとして記録される。ウィジェットのホットスポットオブジェクトに関して記録されたそれぞれのセンサ・ピクセルの値は、センサ・ピクセルの明度値の履歴として保存される。ある実施例において、カメラ103によって撮影されたビデオは、640×480ピクセルの解像度を有し、最大30fpsのフレームレートを有する。
図11に示す実施例は5つのセンサ・ピクセルを有しているが、本発明はこの数値に限定されるものではなく、如何なる数のセンサ・ピクセルも用いることができる。ある実施例において、センサ・ピクセルの数は10未満である。ある実施例において、ジェスチャの検出に用いることができる計算処理能力に基づいて定められても良い。ある実施例において、上述のセンサ・ピクセルは均等に、あるいは、実質的に均等に、ウィジェットのホットスポットにそって配置されてもよい。他の実施例において、センサ・ピクセルは、垂直または水平のパターンで並べられてもよい。具体的には、センサ・ピクセルの方向は、遮蔽する、あるいは、検出するべきオブジェクト(指)の動き(想定される動き)に沿った方向と一致し、検出するべきでないオブジェクトの動きの方向とは実質的に直行するように配置されてよい。
図12は、ユーザのジェスチャを検出するプロセスのための動作シーケンス1200の例を示す。ステップ1201において、表示面に表示され、または投影されたユーザ・インターフェイスの1つまたは複数の画像がカメラ103によって撮影される。上述のユーザ・インターフェイスは、ユーザのジェスチャを検出するために用いられる少なくとも1つのウィジェットを組み込んでいる。ステップ1202において、ビデオ処理モジュール1818は、上述の1つまたは複数のウィジェットに対応する、撮影された画像の一部を抽出する。ステップ1203において、ビデオ処理モジュール1818は、図11に示したウィジェットのセンサ・ピクセル1101のピクセル値を取得する。ステップ1204において、ウィジェットのセンサ・ピクセルのピクセル値の履歴が、対応するウィジェットのホットスポットのオブジェクトに関連付けて更新される。
当業者であれば明らかなように、ホットスポットの如何なる部分もユーザの指や手で遮蔽していない通常の状態において、5つのセンサ・ピクセル1101について検出されたピクセル値は背景色のピクセル値とほぼ等しい。スワイプのジェスチャが行われると、ウィジェットのホットスポットのオブジェクトに関連して格納されたセンサ・ピクセルの履歴は、時間の経過に応じて、あるセンサ・ピクセル1101から他のセンサ・ピクセルへ、繰り返し特異値を示す。スワイプのジェスチャの方向が、さらに、特異値を示すピクセル値の配列の方向によって明らかになる。
注目すべきなのは、スワイプのジェスチャの動きの速さは、ほとんど一定になる傾向があり(スピードの上昇や低下が殆ど無い)、ある実施例において、この速度の変化を補正することはしなくても良い。しかしながら、上述のスピードの変化は、個別のユーザやホットスポットのサイズに応じて異なるかもしれない。そのような場合について補正をするために、上述のセンサ・ピクセルの履歴によって、連続的に繰り返される特異値の数を監視しておく。ある実施例において、ビデオ処理モジュール1818が正確なジェスチャを検出するために繰り返し記録しなければならないピクセルの履歴の数は、すべてのセンサ・ピクセル1101について同じであってよい(ただし、予め定められたしきい値の範囲において)。ある実施例において、ビデオ処理モジュール1818は、ジェスチャの速度を判断してもよく、そして、判断されたそのジェスチャのスピードに応じて、少なくとも1つのコマンドを発行するか、あるいは、コマンドのパラメータを調整してもよい。
ある実施例において、スワイプのジェスチャなどのある特定のジェスチャのために、ジェスチャの検出を簡素化しうる1つの方法は、ジェスチャのパターンを検出する際にセンサ・ピクセルをサンプル抽出することである。サンプル抽出されたピクセルの数に応じて想定される入力値の組み合わせは指数関数的に増大するので、より少ないピクセルをサンプル抽出することで計算時間を削減することができる。しかしながら、依然として、背景色の計算の際にはすべてのピクセル値を考慮してもよい。1つのピクセルおきに5つのセンサ・ピクセル1101をサンプル抽出する場合において、ビデオ処理モジュール1818が特異値かどうかを確認しなければならないのは3ピクセルだけである(左、真ん中、右のピクセル)。0が背景色を示すとし、1が背景色と異なるある閾値を伴った特異値を示すとする。そうすると、{100、010、001}のような、連続するビデオフレームにおける上述のサンプル抽出された3つのピクセルの配列パターンは、左から右へのスワイプ・ジェスチャが起こったことを示すことになる。
図12のプロセス1200に戻り、ステップ1205において、ビデオ処理モジュール1818はサンプル抽出したウィジェットのセンサ・ピクセルのピクセル値の履歴をチェックし、{100、010、001}や{001、010、100}のような上述のパターンの配列を検出する。適切なパターンの配列が検出されると、特定されたジェスチャのパラメータが生成され、そして、ジェスチャの入力イベントが生成される。例えば、図12のステップ1206を参照されたい。必要なパターンの配列が検出されなければ、ステップ1201において、カメラ103によって新たなフレームが撮影され続ける。この技術は、総当り的な方法と呼ばれる。
他の実施例において、有限状態機械(FSM)による方法が用いられてもよい。この有限状態機械による方法では、以前の入力の履歴を振り返る必要が無く、上述の総当り的な方法よりも効率的である。有限状態機械による方法は良く知られており、例えば、非特許文献4に詳しい。
それぞれの配列パターンについて、有限状態機械は状態遷移図または状態遷移テーブルによって定義される。ある実施例において、3つのセンサ・ピクセル1101がサンプル抽出されると、入力として8つの可能性{000、001、010、011、…、111}があり、それらは2進数の{0、1、2、3、…、7}と解釈されうる。シーケンス{100、010、001}即ち{4、2、1}に対する状態遷移図1300の例が図13に示されている。状態遷移図1300は、{S0、S1、S2、S3}の4つの状態を含み、これらはそれぞれ符号1301、1302、1303および1304によって示されており、入力値はかっこ書きで示されている。図13の図1300においては説明の分かりやすさのため、ある入力値が、ある状態から外に出る矢印によって示されていない場合には、状態S0 1301に状態が遷移することを意味する。そして、状態S3 1304に達したときは、パターン{4、2、1}が検出されたことになる。
ある実施例において、状態遷移図1300は、ビデオ処理モジュール1818内において、それと等価な図14に示す状態遷移表1400を用いて実装されてもよい。表のセル内の番号は、現在の状態と新たな入力に対し新たに遷移する遷移先の状態を表す。例えば、現在の状態がS1であって新たな入力値が2であれば、新たな状態は2あるいはS2となる。注目するべきは、ここで述べるウィジェットに関連して用いることができるジェスチャ検出アルゴリズムは、ここで述べた総当り的な方法や有限状態機械の方法に限定されず、本発明の精神および範囲を逸脱することなく、ジェスチャを検出するために適した他のアルゴリズムも同様に用いることができることが当業者であれば明らかであろう。
ある実施例において、ビデオ処理モジュール1818による信頼性の高いジェスチャ検出を行うために、キャリブレーション・モードが提供されてもよい。キャリブレーションの目的は、ビデオ処理モジュール1818を適切に設定して、ビデオ画像の座標系からウィジェットの論理的な座標系への変換を適切に行わせることである。キャリブレーションの方法は、キャリブレーション・モジュール1819に実装される。
ある実施例において、ユーザのアプリケーションのユーザ・インターフェイスが複数のウィジェットを含む場合に、キャリブレーション・モジュール1819は、それら複数のウィジェットを1度に1つずつ巡回するように設定される。それぞれのウィジェットをキャリブレートするため、キャリブレーション・モジュール1819は、それぞれのウィジェットの外見が予め定められた時間ごとに変更されるように設定される。様々な実施例において、この予め定められた時間とは、ほんの200ミリ秒ほどであってよい。ある実施例において、各ウィジェットの外観は、予め定められた複数の外観の組み合わせのそれぞれに、順次変更されてよい。キャリブレーション・モジュール1819は、その後、カメラ103によって撮影されたウィジェットの画像を解析し、それぞれのウィジェットの外観に対応して撮影された画像の違いを調べる。この技術を用いると、ウィジェットの境界およびホットスポットの位置を判断することができる。
図15、16および17は、「次へ」のボタンのウィジェットについての、3つの異なる外観の例を示し、これらは、例えば、図6に示すユーザ・インターフェイス600に関連して用いられる。ウィジェットについて示したこれらの異なる外観は、キャリブレーション・モジュール1819によってキャリブレーションの目的に用いられる。例えば、ある実施例において、キャリブレーション・モジュール1819は、図15に示す境界のないウィジェット1500と図16に示す境界付きのウィジェット1600とを比較することによって、ウィジェットの境界を検出してもよい。これに加えて、ストライプ型のホットスポット1701を有するウィジェットは、図15に示すストライプのないウィジェット1500と図17に示すストライプ1701を有するウィジェット1700の画像を比較することによって検出されてよい。検出されたウィジェットの要素(境界およびホットスポット)は、キャリブレーション・モジュール1819によって用いられ、例えば変換式や表の形などの、ビデオ画像の座標系からウィジェットの論理的な座標系に座標変換をするデータが生成される。そして、これらのデータは、後で使うためにビデオ処理モジュール1818によって格納される。
注目するべきことに、多くのウィジェットの枠組みにおいて、ウィジェットのオブジェクトは階層的に入れ子になっていてもよく、すなわち、親ウィジェットの中に子ウィジェットが配置されてもよい。親ウィジェットが子ウィジェットの配置に関する情報を有していれば、親のウィジェットのみをキャリブレートすればよく、これによりキャリブレーションを一層効率的にすることができる。しかしながら、投影される表示面が平面でなければ、子のウィジェットをキャリブレーションすることでさらに正確な結果をもたらすこともできよう。
ここで述べたジェスチャ検出技術の実施例は、動的な遮蔽のパターンを検出するためにウィジェットのホットスポットを監視することに依存するが、ここで述べた実施例におけるジェスチャ検出の信頼性を向上させるために、他の技術を用いることもできる。例えば、ある実施例において、例えばユーザがスタイラスなどの他のオブジェクトを用いるのではなく手を用いるようなケースでは、指や手の動きを追跡する技術が、遮蔽のパターンの検出にさらに追加されてもよい。同様の、あるいは、他の実施例において、ジェスチャの誤検出を防ぐため、奥行き方向検出機能付きのカメラを用いて、手と表示面との間の距離を所定の長さに限定してもよい。
ここで述べた実施例において、すべてのホットスポットは同時に監視されるため、ビデオ処理モジュール1818は、いくつかのホットスポットを一緒に起動するような、同期的な処理をサポートしてもよい。注目するべきなのは、ビデオ処理モジュール1818は、単一または複数のホットスポットにおいて、もっと複雑な動的な遮蔽パターンを検出しても良い点である。これにより、単一点、あるいは、複数の点をタッチするような、多様なユーザのジェスチャを検出できる。このように、本発明の技術は、ここで述べたユーザのジェスチャおよびそれに対応する動的な遮蔽パターンには限定されない。
図18は、ウィジェットのホットスポットの動的な遮蔽パターンを解析することによってユーザのジェスチャを検出するためのコンピュータ・システム1800の例を示す。ある実施例において、コンピュータ・システム1800は、当業者であれば明らかなように、デスクトップ・コンピュータのフォーム・ファクタに実装されてもよい。これに代えて、コンピュータ・システム1800は、ラップトップやノートブックのコンピュータに基づいて実装されてもよい。
コンピュータ・システム1800は、データバス1804や他の相互接続または相互通信のメカニズムを有してよく、これにより、コンピュータ・システム1800の様々なハードウェア・コンポーネントの間で通信を行うことができる。また、コンピュータ・システム1800は、データバス1804に接続された中央処理装置(CPU、あるいは、単にプロセッサ)1801を有しており、このCPUは、情報の処理、および、他の計算あるいは制御のタスクを実行する。コンピュータ・システム1800は、ランダムアクセスメモリ(RAM)などのメモリ1812、あるいは、他の動的なストレージデバイスをさらに有し、様々な情報のみならずプロセッサ1801によって実行されるべき命令列を格納する。メモリ1812は、例えば磁気ディスク、光学ディスク、ソリッドステート・フラッシュメモリ、あるいはその他の不揮発性のソリッドステート・ストレージデバイスなどの、恒久的なストレージデバイスをさらに含んでよい。
ある実施例において、メモリ1812は、プロセッサ1801による命令列の実行中に、一時的な変数や他の中間情報を保存するために更に用いられてもよい。また、コンピュータ・システム1800は、データバス1804に接続された読み出し専用メモリ(ROMやEPROMなど)1802や他の静的なストレージデバイスを有し、プロセッサ1801の静的な情報や命令列、例えばコンピュータ・システム1800の動作に必要なファームウェア、基本入出力システム(BIOS)、その他の設定パラメータなどを格納してもよい。
ある実施例において、コンピュータ・システム1800は、ディスプレイ装置(表示パネル)201を含んでよく、そして、データバス1804に接続されて、コンピュータ・システム1800のユーザにここで述べたウィジェットを組み込んだユーザ・インターフェイスなどの、様々な情報を表示する。これに代えて、ディスプレイ装置201は、不図示のグラフィックコントローラおよび/またはグラフィックプロセッサと関連付けられていても良い。当業者であれば明らかであるが、薄膜トランジスタ(TFT)技術を用いて、あるいは、有機発光ダイオード(OLED)技術を用いて製造された、液晶ディスプレイ(LCD)としてディスプレイ装置201が実装されてもよい。様々な実施例において、ディスプレイ装置201は、コンピュータ・システム1800のその他のコンポーネントと同じ筐体に組み込まれても良い。これに代えて、ディスプレイ装置201は、そのような筐体の外に、例えば机やテーブルの表面に設けられても良い。ある実施例において、コンピュータ・システム1800は、図1に示すように、表示面102に対して、ここで説明したウィジェットを組み込んだユーザ・インターフェイスなどの情報を投影する、プロジェクタや小型プロジェクタ101をさらに有してよい。
ある実施例においては、当業者であれば明らかであるが、コンピュータ・システム1800は、データバス1804に電子的に接続された音声(オーディオ)再生装置1825をさらに含み、MPEG−3ファイルや、MPEG−4など様々なビデオファイルの音声トラックなどの様々な音声ファイルを再生可能であってよい。この目的のため、コンピュータ・システム1800は、不図示の音声波形プロセッサまたはそれに類するデバイスをさらに組み込んで良い。
ある実施例において、コンピュータ・システム1800は、マウス、トラックボール、タッチパッド、あるいは、カーソル指示キーなどのマウス・ポインティングデバイス1810のような、1つまたは複数の入力デバイスを組み込んでよく、プロセッサ1801に対して指示情報やコマンド選択情報を送信したり、ディスプレイ装置201上でカーソル移動を制御したりしてもよい。この入力デバイスは、典型的には、2つの軸における2つの自由度、すなわち第1軸(x)および第2軸(y)の自由度を持ち、平面上の位置を特定することができる。
コンピュータ・システム1800は、ここで述べられたウィジェットのビデオを含む、様々なオブジェクトの画像やビデオを撮影するためのカメラ103や、キーボード1806を有し、カメラ103やキーボード1806は、画像やビデオのみならず、プロセッサ1801へのユーザ・コマンド(ジェスチャを含む)を含む、情報を伝達するためのデータバス1804に接続されてよい。
ある実施例において、コンピュータ・システム1800は、追加的な通信インターフェイス、例えば、データバス1804に接続されたネットワーク・インターフェイス1805を有してよい。ネットワーク・インターフェイス1805は、Wi−Fiアダプタ1807、携帯電話のネットワーク(GSM(登録商標)またはCDMA)のアダプタ1808および/またはローカルエリアネットワーク(LAN)のアダプタ1809のうちの少なくとも1つを用いて、コンピュータ・システム1800およびインターネット1824の間の接続を確立してもよい。ネットワーク・インターフェイス1805は、コンピュータ・システム00およびインターネット1824の間の双方向のデータ通信を可能にしてもよい。Wi−Fiアダプタ1807は、802.11a、802.11b、802.11gおよび/または802.11nのプロトコルだけでなく、Bluetooth(登録商標)のプロトコルに従って動作して良いことが、当業者であれば明らかであろう。コンピュータ・システム1800のLANアダプタ1809は、例えば、サービス総合デジタル網(ISDN)カードまたはモデムを用いて、対応する電話回線と接続してもよく、これによって、インターネット・サービス・プロバイダーのハードウェア(不図示)を用いてインターネット1824に接続することができる。他の例として、LANアダプタ1809は、ローカルエリアネットワークのインターフェイス・カード(LAN IC)であってもよく、これによって、これと互換性のあるローカルエリアネットワーク、および、インターネット1824と通信することができる。ある実装の例において、Wi−Fiアダプタ1807、携帯電話のネットワーク(GSM(登録商標)またはCDMA)のアダプタ1808、および/またはLANアダプタ1809は、電子的な、あるいは、電磁的な信号を送受信することができ、これにより、様々な種類の情報を表すデジタルデータ信号を送受信することができる。
ある実施例において、インターネット1824は、1つまたは複数のサブ/ネットワークを介して他のネットワーク資源にデータ通信を提供することができる。このように、コンピュータ・システム1800は、遠隔メディアサーバ、Webサーバ、その他のサーバのみならず、他のネットワーク型データストレージ資源など、インターネット1824上のいかなる場所に位置する様々なネットワーク資源にもアクセスすることができる。ある実施例において、コンピュータ・システム1800は、アプリケーション・プログラムのコードを含む、メッセージ、メディア、および、他のデータを、インターネット1824を含む様々なネットワークを経由して、ネットワーク・インターフェイス1805を用いて送受信してよい。インターネットの例において、コンピュータ・システム1800がネットワーク・クライアントとして機能した場合、コンピュータ・システム1800で実行されるアプリケーション・プログラムのために、コードまたはデータを要求してもよい。同様に、様々なデータやコンピュータのコードを他のネットワーク資源に対して送信しても良い。
ある実施例において、ここで述べた機能は、プロセッサ1801がメモリ1812に含まれる1つまたは複数の命令列を実行することに応じて、コンピュータ・システム1800によって実現されてよい。このような命令列は、他のコンピュータ可読媒体からメモリ1812に読み込まれても良い。メモリ1812に含まれる命令列の実行によって、プロセッサ1801はここで述べた様々な処理ステップを実行することができる。他の実施例において、この発明の実施例を実現するために、ソフトウェアの命令列に代えて、またはこれと組み合わせて、ハードウェア組み込み型の回路が用いられてもよい。このように、この発明について述べた実施例は、ハードウェアによる回路および/ソフトウェアの特定の組み合わせに限定されるものではない。
ここで用いられた「コンピュータ可読媒体」という用語は、プロセッサ1801による実行のために供給される命令列を供給するために関与するいかなる種類の媒体をさしてもよい。コンピュータ可読媒体は、機械可読媒体の単なる1つの例であって、それによって、ここで述べた方法および/または技術を実現するための命令列を搬送できるようにするものである。そのようなメディアは、不揮発性または揮発性の媒体を含む様々な形態を取りうるが、これに限定されない。
非一時的なコンピュータ可読媒体とは、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、あるいは、他の磁気メディア、CD−ROM、他の光学メディア、パンチカード、紙テープ、穿孔のパターンを伴う他の物理的な媒体、RAM、PROM、EPROM、フラッシュEPROM、フラッシュドライブ、メモリカード、他のメモリチップまたはメモリカードリッジ、あるいは、あらゆる他のコンピュータ可読媒体である。様々な形態のコンピュータ可読媒体を、1つまたは複数の命令を含む1つまたは複数の命令列をプロセッサ1801による実行のために搬送するため、用いることができる。例えば、離れた場所にあるコンピュータから、まず始めに、命令列が磁気ディスクに移されてよい。これに代えて、離れた場所にあるコンピュータは、命令列をダイナミック・メモリにロードし、その命令列を、インターネット1824を経由して送信しても良い。具体的には、当業者には明らかであるが、これらのコンピュータの命令列は、上述の離れた位置にあるコンピュータから、インターネット1824を介して、ネットワーク上のデータ通信に関する様々なプロトコルを用いて、メモリ1812にダウンロードされてもよい。
ある実施例において、コンピュータ・システム1800のメモリ1812は、下記の如何なるソフトウェアプログラム、アプリケーション、またはモジュールを格納してもよい:
1.オペレーティング・システム(OS)1813。オペレーティング・システム1813は、コンピュータ・システム1800の基本的なシステムサービスおよび様々なハードウェア・コンポーネントを管理する。オペレーティング・システム1813の具体例は当業者には明らかであり、そして、如何なる既知の、あるいは、今後開発されるモバイル用のオペレーティング・システムを含んでよい。
2.アプリケーション1814。アプリケーション1814は、例えば、ディスプレイ装置201上のディスプレイ・ユーザ・インターフェイス、あるいは、カメラ103を用いてユーザのジェスチャを検出するディスプレイ・ユーザ・インターフェイスなどの、予め定められた特定の機能をコンピュータ・システム1800に実行させるための、コンピュータ・システム1800のプロセッサ1801によって実行可能なソフトウェア・アプリケーションの組み合わせである。ある実施例において、アプリケーション1814は、以下に詳細に述べるユーザ・アプリケーションのみならず、本発明にかかるジェスチャ・ユーザ・インターフェイス・アプリケーション1815を含んでよい。
データストレージ1821は、例えば、上述の、ウィジェットのホットスポットに関連付けられたセンサ・ピクセルについて検知したピクセル値の履歴を格納するための、ホットスポット・オブジェクト・ストレージ1823のみならず、キャリブレーション・モジュール1819によって生成されるキャリブレーション・データを格納するためのキャリブレーション・データ・ストレージ1822を含んでよい。
ある実施例において、ジェスチャ・インターフェイス・アプリケーション1815は、ユーザ・インターフェイス生成モジュール1816を組み込んでよく、これにより、コンピュータ・システム1800のディスプレイ装置201またはプロジェクタ101を用いて、ここで述べたウィジェットを組み込んだユーザ・インターフェイスを生成してもよい。ジェスチャ・インターフェイス・アプリケーション1815は、さらに、遮蔽されたウィジェットの動画をカメラ103によって撮影させるためのビデオキャプチャ・モジュール1817と、カメラ103によって撮影された動画を処理し、そして、ユーザ・インターフェイス・ウィジェットの遮蔽に関する動的なパターンに基づいてユーザのジェスチャを検出するビデオ処理モジュール1818と、すでに詳しく述べたように、ビデオ画像の座標系からウィジェットの論理的な座標系への座標変換をビデオ処理モジュール1818によって適切に行わせるためのキャリブレーション・モジュール1819と、を有してよい。ユーザのジェスチャを検出すると、ジェスチャ・インターフェイス・アプリケーション1815は、適切な制御コマンドをユーザ・アプリケーション1820に対して送信してよい。
図19は、ビデオ処理モジュール1818の例を示す。ある実施例においては、図19に示すように、ビデオ処理モジュール1818は、遮蔽特定モジュール1901を有し、これにより、ユーザ・インターフェイスを撮影した画像において、ウィジェットの少なくとも一部が遮蔽されたことを特定する。また、ビデオ処理モジュール1818は、ジェスチャ検出モジュール1902を有し、ウィジェットの少なくとも一部に対する遮蔽が特定されたことに基づいて、ユーザによって行われたジェスチャを検出する。これらのモジュール1901および1902は、ここまで述べてきた方法に従って動作する。
いくつかの実施例が示されて説明されたが、これらの実施例は、ここで述べられた主題をこの分野に詳しい方々に説明するために提供されるものである。ここで説明された主題は、ここで説明された実施例に限定されること無くさまざまな形で実施化されうることが理解されるべきである。ここで述べられた主題は、これら具体的に定義された、あるいは、説明された事柄を伴わなくても実施化でき、あるいは、ここで述べられなかった他のあるいは異なる要素や事柄を伴って実施化されうる。この分野に詳しい方々には、そのような変更が、ここに添付されたクレームやその均等範囲によって定義され、ここで述べられた主題から逸脱することなく、この実施例の中で可能であることを理解されよう。
この実施例に関連する複数の側面について、部分的には上述の説明の中で説明されてきており、部分的には上述の説明から明らかなはずであり、また、本発明の実施化から理解されうる。本実施例の複数の側面は、さまざまな要素や詳細な説明および添付のクレームにおいて特に指摘した側面の組み合わせから実現あるいは達成されてよく、さらに、さまざまな要素からなる方法によって、実現あるいは達成されてもよい。
上述の説明は、例示あるいは説明のためだけであって、そして、限定を意図したものではないことが理解されよう。
100 システム
101 プロジェクタ
102 表示面
103 カメラ
1901 遮蔽特定モジュール
1902 ジェスチャ検出モジュール

Claims (12)

  1. グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出するシステムであって、
    前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得する画像取得モジュールと、
    取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを、前記プロセッサを用いて特定する特定モジュールと、
    複数の前記画像のうちの少なくとも2つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを、前記プロセッサを用いて検出する検出モジュールと、
    を備えるシステム。
  2. 前記特定モジュールは、前記カメラを用いて取得された、前記ホットスポットに対応する複数のピクセルであるセンサ・ピクセルの値に基づいて、前記ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを特定する、請求項1に記載のシステム。
  3. 前記特定モジュールは、複数の前記センサ・ピクセルの値の履歴を前記メモリに格納し、
    前記検出モジュールは、複数の前記センサ・ピクセルの値の履歴を、予め定められたパターンと比較し、マッチした場合に、前記ユーザによるジェスチャが検出されたと判断する、請求項2に記載のシステム。
  4. 前記検出モジュールは、前記ユーザが一部を遮蔽した前記ホットスポットの他の部分を遮蔽しなかったことを更に条件として、前記ユーザによるジェスチャが検出されたと判断する、請求項3に記載のシステム。
  5. 前記検出モジュールは、遮蔽しなかった前記部分が不連続になることを更に条件として、前記ユーザによるジェスチャが検出されたと判断する、請求項4に記載のシステム。
  6. 前記検出モジュールは、複数の前記センサ・ピクセルの値を順次有限状態機械に入力して状態遷移させ、予め定められた状態に遷移したことを条件に、前記ユーザによるジェスチャが検出されたと判断する、請求項4に記載のシステム。
  7. 前記画像取得モジュールは、前記検出モジュールによって前記ユーザによるジェスチャが検出されなかったことを条件に、前記ホットスポットの複数の画像を再度取得する、請求項4〜6のいずれか1項に記載のシステム。
  8. 前記ウィジェットはストライプを含み、前記検出モジュールは、ユーザが前記ストライプ上をスワイプまたはピンチするジェスチャを検出する、請求項4〜7のいずれか1項に記載のシステム。
  9. 前記ウィジェットは空白域を含むストライプを有し、前記検出モジュールは、ユーザが前記空白域を覆うユーザのジェスチャを検出する、請求項4〜7のいずれか1項に記載のシステム。
  10. 前記検出モジュールは、ユーザによるジェスチャを検出した場合に、更に、検出したジェスチャの速度及び方向の少なくとも1つに応じて、アプリケーション・プログラムに対してコマンドを出力する、請求項4〜9のいずれか1項に記載のシステム。
  11. コンピュータを、グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出するシステムとして機能させるプログラムであって、
    前記コンピュータを、
    前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得するモジュールと、
    取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを特定する特定モジュールと、
    複数の前記画像のうちの少なくとも2つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを検出する検出モジュールと、
    として機能させるプログラム。
  12. グラフィック・ユーザ・インターフェイスのウィジェットに対するユーザのジェスチャを、プロセッサ、メモリ、及びカメラを用いて検出する方法であって、
    前記プロセッサが、
    前記ウィジェットの近傍に設けられ、予め定められた領域であるホットスポットの画像を、前記カメラを用いて複数取得し、
    取得された複数の前記画像において、ユーザが前記ホットスポットの少なくとも一部を遮蔽したことを特定し、
    複数の前記画像のうちの少なくとも2つにおいて前記ホットスポットの少なくとも一部を遮蔽したことが特定されたことに基づいて、前記ユーザによるジェスチャを検出する、
    方法。
JP2013241312A 2013-04-18 2013-11-21 ジェスチャに基づくユーザ・インターフェイスを提供するシステム、方法及びプログラム Pending JP2014211858A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/865,990 US9317171B2 (en) 2013-04-18 2013-04-18 Systems and methods for implementing and using gesture based user interface widgets with camera input
US13/865,990 2013-04-18

Publications (1)

Publication Number Publication Date
JP2014211858A true JP2014211858A (ja) 2014-11-13

Family

ID=51728717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013241312A Pending JP2014211858A (ja) 2013-04-18 2013-11-21 ジェスチャに基づくユーザ・インターフェイスを提供するシステム、方法及びプログラム

Country Status (2)

Country Link
US (1) US9317171B2 (ja)
JP (1) JP2014211858A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016167250A (ja) * 2015-03-09 2016-09-15 富士ゼロックス株式会社 操作イベントを検出する方法、システム及びプログラム
JP2017034580A (ja) * 2015-08-05 2017-02-09 ミネベア株式会社 リモコン装置および可変機器システム
JP2018181294A (ja) * 2017-04-20 2018-11-15 富士ゼロックス株式会社 カメラベースのグラフィカルユーザインタフェースを提供するための方法およびシステム、コンピュータシステム、プログラム
JP2018181140A (ja) * 2017-04-19 2018-11-15 東芝情報システム株式会社 コマンド入力システム及びコマンド入力システム用プログラム
US10354428B2 (en) 2016-09-12 2019-07-16 Seiko Epson Corporation Display device and method of controlling display device

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785240B2 (en) * 2013-03-18 2017-10-10 Fuji Xerox Co., Ltd. Systems and methods for content-aware selection
US11790154B2 (en) * 2013-10-09 2023-10-17 Interactive Solutions Corp. Mobile terminal device, slide information managing system, and a control method of mobile terminal
US10917767B2 (en) 2016-03-31 2021-02-09 Intel Corporation IOT device selection
US10097948B2 (en) 2016-03-31 2018-10-09 Intel Corporation Point-and-connect bluetooth pairing
CN106095276A (zh) * 2016-06-20 2016-11-09 联想(北京)有限公司 一种电子设备及其控制方法
US11226704B2 (en) * 2016-09-29 2022-01-18 Sony Group Corporation Projection-based user interface
US10636063B1 (en) * 2016-11-08 2020-04-28 Wells Fargo Bank, N.A. Method for an augmented reality value advisor

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132306A (ja) * 1998-10-21 2000-05-12 Sony Corp 情報入力装置、情報入力方法及びゲーム装置
JP2005141151A (ja) * 2003-11-10 2005-06-02 Seiko Epson Corp プロジェクタおよびプロジェクタの機能設定方法
JP2009043157A (ja) * 2007-08-10 2009-02-26 Panasonic Electric Works Co Ltd 画像表示装置
JP2009245392A (ja) * 2008-03-31 2009-10-22 Brother Ind Ltd ヘッドマウントディスプレイ及びヘッドマウントディスプレイシステム
JP2011129068A (ja) * 2009-12-21 2011-06-30 Panasonic Electric Works Co Ltd 表示制御システムおよび表示制御方法
WO2011142051A1 (ja) * 2010-05-10 2011-11-17 日本システムウエア株式会社 マーカー検出システム、検出方法、プログラム及び該プログラムを格納したコンピュータ可読媒体
US20130022274A1 (en) * 2011-07-22 2013-01-24 Qualcomm Incorporated Specifying values by occluding a pattern on a target

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5936615A (en) * 1996-09-12 1999-08-10 Digital Equipment Corporation Image-based touchscreen
US6252598B1 (en) * 1997-07-03 2001-06-26 Lucent Technologies Inc. Video hand image computer interface
US20050025347A1 (en) * 2001-12-28 2005-02-03 Sherif Makram-Ebeid Medical viewing system having means for image adjustment
US20090115915A1 (en) * 2006-08-09 2009-05-07 Fotonation Vision Limited Camera Based Feedback Loop Calibration of a Projection Device
US20080158686A1 (en) * 2006-12-31 2008-07-03 Michael Chechelniker Surface reflective portable eyewear display system and methods
US7958447B2 (en) * 2008-05-23 2011-06-07 International Business Machines Corporation Method and system for page navigating user interfaces for electronic devices
US8502789B2 (en) * 2010-01-11 2013-08-06 Smart Technologies Ulc Method for handling user input in an interactive input system, and interactive input system executing the method
US9965165B2 (en) * 2010-02-19 2018-05-08 Microsoft Technology Licensing, Llc Multi-finger gestures
US20110246875A1 (en) * 2010-04-02 2011-10-06 Symantec Corporation Digital whiteboard implementation
US8990732B2 (en) * 2010-05-14 2015-03-24 Sap Se Value interval selection on multi-touch devices
WO2012009789A2 (en) * 2010-07-19 2012-01-26 Smart Technologies Ulc Interactive input system having a 3d input space
US9250798B2 (en) * 2011-01-24 2016-02-02 Apple Inc. Device, method, and graphical user interface with a dynamic gesture disambiguation threshold
US9030425B2 (en) * 2011-04-19 2015-05-12 Sony Computer Entertainment Inc. Detection of interaction with virtual object from finger color change

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132306A (ja) * 1998-10-21 2000-05-12 Sony Corp 情報入力装置、情報入力方法及びゲーム装置
JP2005141151A (ja) * 2003-11-10 2005-06-02 Seiko Epson Corp プロジェクタおよびプロジェクタの機能設定方法
JP2009043157A (ja) * 2007-08-10 2009-02-26 Panasonic Electric Works Co Ltd 画像表示装置
JP2009245392A (ja) * 2008-03-31 2009-10-22 Brother Ind Ltd ヘッドマウントディスプレイ及びヘッドマウントディスプレイシステム
JP2011129068A (ja) * 2009-12-21 2011-06-30 Panasonic Electric Works Co Ltd 表示制御システムおよび表示制御方法
WO2011142051A1 (ja) * 2010-05-10 2011-11-17 日本システムウエア株式会社 マーカー検出システム、検出方法、プログラム及び該プログラムを格納したコンピュータ可読媒体
US20130022274A1 (en) * 2011-07-22 2013-01-24 Qualcomm Incorporated Specifying values by occluding a pattern on a target

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016167250A (ja) * 2015-03-09 2016-09-15 富士ゼロックス株式会社 操作イベントを検出する方法、システム及びプログラム
JP2017034580A (ja) * 2015-08-05 2017-02-09 ミネベア株式会社 リモコン装置および可変機器システム
US10083601B2 (en) 2015-08-05 2018-09-25 Minebea Co., Ltd. Remote control device and apparatus controlling system
US10354428B2 (en) 2016-09-12 2019-07-16 Seiko Epson Corporation Display device and method of controlling display device
JP2018181140A (ja) * 2017-04-19 2018-11-15 東芝情報システム株式会社 コマンド入力システム及びコマンド入力システム用プログラム
JP2018181294A (ja) * 2017-04-20 2018-11-15 富士ゼロックス株式会社 カメラベースのグラフィカルユーザインタフェースを提供するための方法およびシステム、コンピュータシステム、プログラム

Also Published As

Publication number Publication date
US20140313363A1 (en) 2014-10-23
US9317171B2 (en) 2016-04-19

Similar Documents

Publication Publication Date Title
JP2014211858A (ja) ジェスチャに基づくユーザ・インターフェイスを提供するシステム、方法及びプログラム
US8291348B2 (en) Computing device and method for selecting display regions responsive to non-discrete directional input actions and intelligent content analysis
JP6370893B2 (ja) 検出されたジェスチャーに基づいてデバイス動作を実行するためのシステムおよび方法
US10437360B2 (en) Method and apparatus for moving contents in terminal
Shen et al. Vision-based hand interaction in augmented reality environment
US20120092381A1 (en) Snapping User Interface Elements Based On Touch Input
US20140118268A1 (en) Touch screen operation using additional inputs
US20140282269A1 (en) Non-occluded display for hover interactions
KR101608423B1 (ko) 모바일 디바이스상의 풀 3d 상호작용
US10268368B2 (en) Method and systems for touch input
CA2847177A1 (en) Semantic zoom gestures
US20140009395A1 (en) Method and system for controlling eye tracking
US9454257B2 (en) Electronic system
US10521101B2 (en) Scroll mode for touch/pointing control
US20140267049A1 (en) Layered and split keyboard for full 3d interaction on mobile devices
US20220221970A1 (en) User interface modification
US10394442B2 (en) Adjustment of user interface elements based on user accuracy and content consumption
Liang et al. Turn any display into a touch screen using infrared optical technique
US10222866B2 (en) Information processing method and electronic device
Ballagas et al. Mobile Phones as Pointing Devices.
US11340776B2 (en) Electronic device and method for providing virtual input tool
US20150062038A1 (en) Electronic device, control method, and computer program product
JP6699406B2 (ja) 情報処理装置、プログラム、位置情報作成方法、情報処理システム
CN113485590A (zh) 触控操作方法及装置
CN112068699A (zh) 一种交互方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170721

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171121