JP2014512620A - 仮想キーボードおよびその提供方法 - Google Patents

仮想キーボードおよびその提供方法 Download PDF

Info

Publication number
JP2014512620A
JP2014512620A JP2014506521A JP2014506521A JP2014512620A JP 2014512620 A JP2014512620 A JP 2014512620A JP 2014506521 A JP2014506521 A JP 2014506521A JP 2014506521 A JP2014506521 A JP 2014506521A JP 2014512620 A JP2014512620 A JP 2014512620A
Authority
JP
Japan
Prior art keywords
gesture
virtual
user
virtual keyboard
sensor
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.)
Granted
Application number
JP2014506521A
Other languages
English (en)
Other versions
JP5788588B2 (ja
Inventor
ビ、ニン
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2014512620A publication Critical patent/JP2014512620A/ja
Application granted granted Critical
Publication of JP5788588B2 publication Critical patent/JP5788588B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • 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/0304Detection arrangements using opto-electronic means
    • 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
    • G06F3/0426Digitisers, 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 tracking fingers with respect to a virtual keyboard projected or printed on the surface

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

本開示は、仮想キーボードを提供するための、コンピュータ記憶媒体に符号化されるコンピュータプログラムを含む、システム、方法、および装置を提供する。1つの様態では、システムは、カメラ、ディスプレイ、動画特徴抽出モジュール、およびジェスチャパターン適合モジュールを含む。カメラは、ユーザの指を収める画像のシーケンスを捕捉し、ディスプレイは、複数の仮想キーを有する仮想キーボードと結合されたそれぞれの画像を表示する。動画特徴抽出モジュールは、仮想キーの仮想センサに関係する画像のシーケンスにおける指の動きを検出し、仮想センサに関係する検出された動きを基いてセンサ作動データを決定する。ジェスチャパターン適合モジュールは、ジェスチャを認識するために、センサ作動データを使用する。
【選択図】 図3

Description

[0001] 本開示は、仮想キーボードに関する。より具体的には、本開示は、コンピュータシステムにデータを入力するために、電子ディスプレイ上にキーボードの画像を提示し、表示されたキーボードに関してのユーザの指の位置を検出するためのデジタルカメラを使用することに関する。
関連技術の説明
[0002] パーソナルコンピュータおよび携帯電話を含む電子デバイスは、ユーザから入力を受け取るためのキーボードまたはキーパッドを有することができる。キーボードは、ボタンまたはキーの配置を含み、自動交換(mechanical switching)デバイスを使用して動作することができる。代わりとして、キーボードは電子デバイスのディスプレイ上に表示される仮想キーボードであることができ、ユーザはディスプレイのタッチセンシティブ表面(touch-sensitive surface)に接触することにより入力を提供することができる。
[0003] 携帯電話のような、ある電子デバイスは、比較的小さいディスプレイを有することができる。ある事例では、ユーザがディスプレイスクリーンに触ることにより文字をタイプする、または他のコマンドを入力することは難しい。例えば、ユーザの指は1つよりも多い仮想キーをカバーし、それによりタイプミスの可能性を増加させることがある。さらに、入力の間、ユーザの手はディスプレイの一部をブロックし、それによりディスプレイに提示された情報をブロックしてユーザが適切なキーが選択されているかどうかを判断するのを難しくすることがある。
[0004] 本開示のシステム、方法、およびデバイスはそれぞれ、いくつかの革新的な様態を有し、これらのうちの何れも、ここに開示される所望の属性を単独で担うものではない。
[0005] 1つの様態では、コンピューティングデバイスにデータを入力するためのシステムが提供される。システムは、ユーザの指を収める画像のシーケンスを捕捉するためのカメラ、仮想キーボードと結合されたシーケンスのそれぞれの画像を表示するためのディスプレイ、および仮想キーボードに関係する画像のシーケンスにおけるユーザの指の動きを検出するように構成される動画特徴抽出モジュール(video feature extraction module)を含む。仮想キーボードに関係して表示された画像における指の位置は、ユーザの指がカメラに関係して動くにつれて変化し、および仮想キーボードは複数の仮想キーを含み、それぞれの仮想キーが複数の仮想センサを有する。動画特徴抽出モジュールは、検出された動きを使用して、仮想センサのセンサ作動データ(sensor actuation data)を捕捉する。システムはさらに、ユーザのジェスチャを認識し、コンピューティングデバイスにデータを入力するようにセンサ作動データを使用するための、ジェスチャパターン適合モジュール(gesture pattern matching module)を含む。
[0006] 別の様態では、仮想キーボードを使用して電子デバイスにデータを入力するための方法が提供される。方法は、ユーザの指を収める画像のシーケンスを受け取ること、シーケンスのそれぞれの画像について結合された画像を生成すること、ここにおいて、結合された画像は、ユーザの指および仮想キーボードを収める、および仮想キーボードに関係する画像のシーケンスにおける指の動きを検出することを含む。仮想キーボードは複数の仮想キーを有し、それぞれの仮想キーが複数の仮想センサを有する。方法はさらに、検出された動きのピクセル領域を仮想センサのピクセル領域と比較することによりセンサ作動データを生成すること、および電子デバイスにデータを入力するためにセンサ作動データを使用してジェスチャを認識することを含む。
[0007] 別の様態では、コンピューティングデバイスにデータを入力するためのシステムが提供される。システムは、ユーザの指を収めた画像のシーケンスを捕捉するための手段、仮想キーボードと結合されたシーケンスのそれぞれの画像を表示するための手段、および仮想キーボードに関係する画像のシーケンスにおけるユーザの指の動きを検出するための手段を含む。仮想キーボードに関係して表示された画像における指の位置は、ユーザの指がカメラに関係して動くにつれて変化し、および仮想キーボードは複数の仮想キーを含み、それぞれの仮想キーが複数の仮想センサを有する。動きを検出するための手段は、検出された動きを使用して、仮想センサのセンサ作動データを捕捉する。システムはさらに、コンピューティングデバイスにデータを入力するためにセンサ作動データを使用してユーザのジェスチャを認識するための手段を含む。
[0008] 別の様態では、非一時的なコンピュータ可読記憶媒体は、実行されるときに、仮想キーボードを使用して電子デバイスにデータを入力するという方法を行う命令を含む。方法は、ユーザの指を収める画像のシーケンスを受け取ること、シーケンスのそれぞれの画像について結合された画像を生成すること、ここにおいて、結合された画像は、ユーザの指および仮想キーボードを収める、および仮想キーボードに関係する画像のシーケンスにおける指の動きを検出することを含む。仮想キーボードは複数の仮想キーを有し、それぞれの仮想キーが複数の仮想センサを有する。方法はさらに、検出された動きのピクセル領域を仮想センサのピクセル領域と比較することによりセンサ作動データを生成すること、および電子デバイスにデータを入力するためにセンサ作動データを使用してジェスチャを認識することを含む。
[0009] 本明細書で説明される主題の1つまたは複数のインプリメンテーションの詳細は、添付図面および以下の説明で記述される。他の特徴、様態、および利点は、その説明、図面、および特許請求の範囲から明らかになるだろう。以下の図面の相対的な寸法は原寸通りに描かれていない場合があることに留意されたい。
1つの実施形態にしたがった、サーバおよび接続されたデバイスを有するネットワークの概略図。 仮想キーボードを有するユーザデバイスの1つの実施形態の概略図。 ユーザの手の動きを捕捉するカメラの概略図。 1つの実施形態にしたがった、ユーザの手の画像にオーバーレイされた仮想キーボードの画像を例示する図。 仮想キーに対する仮想センサレイアウト(virtual sensor layout)の3つの例の概略図。 ユーザの手の画像にオーバーレイされた図5の仮想キーの概略図。 仮想キーボードを提供する方法の1つの実施形態のフローの図。 1つの実施形態にしたがった、仮想キーボードの一部の図。 図8Aの仮想キーボードの一部をわたる手または指の動きの8つの方向を検出するための、8つのジェスチャ認識テンプレートの例を例示する図。 別の実施形態にしたがった、仮想キーボードの一部を例示する図。 図8Cの仮想キーボードの一部をわたるジェスチャを検出するための、ジェスチャ認識テンプレートの例を例示する図。 ジェスチャを認識する方法の1つの実施形態のフローの図。
[0022] 様々な図面における同様の参照番号および呼称は、同様の要素を指し示す。
詳細な説明
[0023] ある実施形態の以下の詳細な説明は、本発明の具体的な実施形態の様々な説明を提示する。しかしながら、本発明は請求項により定義およびカバーされるように、多数の異なる方法で実現されることができる。この説明では、参照が同様の参照数字が同一のまたは機能的に類似した要素を指し示す図に対してなされる。
[0024] 本発明の実施形態は、仮想キーボードを制御するためのシステムおよび方法に関する。ここに説明される仮想キーボードは、ユーザデバイスへの入力を提供するために使用されることができる。例えば、ユーザデバイスが携帯電話である実施形態では、ユーザは仮想キーボードを使用して、電話番号をダイヤルし、テキストメッセージにおいてタイプし、および/または制御コマンドを入力することができる。この実施形態では、ユーザデバイスはカメラ、ディスプレイ、およびプロセッサを含む。カメラはユーザの画像を捕捉することができ、プロセッサは捕捉された画像に仮想キーボードの画像をオーバーレイすることができる。仮想キーボードを動作させるために、ユーザは、空中で自分の指または手を使用して、指でタイプする動きのようなジェスチャをすることができ、ディスプレイの表面に触る必要はない。
[0025] ある実施形態では、仮想キーボードは複数の仮想キーを含み、それぞれの仮想キーが複数の仮想センサを有する。ユーザの手および/または指の動きは、仮想センサに関係して決定および測定されることができ、センサデータのシーケンスは、様々なユーザのジェスチャと関連した一連のジェスチャ認識テンプレートに対して解析されることができる。1つの実施形態では、動的時間伸縮(DTW:Dynamic Time Warping)が、可変速度(varying speed)のユーザのジェスチャを適合させるために用いられる。
[0026] 本発明は、数多くの他の汎用または特定用途のコンピューティングシステムの環境または構成で動作可能である。本発明を用いた使用に適している周知のコンピューティングシステム、環境、および/または構成の例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド(hand-held)型またはラップトップ型のデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、任意の上記のシステムまたはデバイスを含む分散型コンピュータ環境などに限定されないが含む。
[0027] ここで使用されるように、命令は、システムで情報を処理するための、コンピュータでインプリメントされる(computer-implemented)ステップを指す。命令はソフトウェア、ファームウェア、またはハードウェアでインプリメントされ、システムのコンポーネントにより試みられる(undertaken)プログラムされたステップのいずれのタイプも含むことができる。
[0028] ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)は、システムを備えるコンピュータおよびコンピューティングデバイスが接続される、インターネットへのアクセスを含む、共同のコンピューティングネットワーク(a corporate computing network)でありうる。1つの実施形態では、LANは、伝送制御プロトコル/インターネットプロトコル(TCP/IP)の業界標準に準拠する。
[0029] ここで使用されるように、媒体は、画像、サウンド、動画、またはシステムの中に入れられるあらゆる他のマルチメディアタイプのデータを指す。
[0030] マイクロプロセッサは、Pentium(登録商標)プロセッサ、Itanium(登録商標)プロセッサ、またはALPHA(登録商標)プロセッサのような、あらゆる従来の汎用単一チップのマイクロプロセッサ、または汎用マルチチップのマイクロプロセッサでありうる。加えて、マイクロプロセッサは、デジタル信号プロセッサ(DSP)、またはグラフィックプロセッサのような、あらゆる従来の特定用途マイクロプロセッサでありうる。
[0031] システムは、以下で詳しく論じられるように、様々なモジュールから成り立っている。当業者により認識されることができるように、モジュールのそれぞれが様々なサブルーチン、手順、定義づけ命令文(definitional statements)、およびマクロを備える。モジュールのそれぞれは通常、単一の実行可能なプログラムに別々にコンパイル(compiled)およびリンクされる。そのため、モジュールのそれぞれの以下の説明は、好ましいシステムの機能を説明するために、便宜上、使用される。これにより、モジュールのそれぞれにより経験される(undergone)プロセスは、他のモジュールのうちの1つに任意に再分配され、単一のモジュールに一緒に結合され、または、例えば共有可能な動的リンクライブラリで利用可能にされうる。
[0032] システムは、LINUX(登録商標)、UNIX(登録商標)、またはMICROSOFT WINDOWS(登録商標)のような様々なオペレーティングシステムに接続して使用されうる。加えて、システムは、C、C++、BASIC、Pascal、Perl、またはJava(登録商標)のような、従来のプログラミング言語を含む、あらゆる適したプログラミング言語で書かれうる。
[0033] ウェブブラウザのユーザインターフェースを備えるウェブブラウザは、(テキストまたはグラフィックの情報のような)情報を、ユーザに表示するために使用されうる。ウェブブラウザは、ネットワーク経由で受け取られる情報を表示することができる視覚ディスプレイのあらゆるタイプを備えうる。ウェブブラウザの例は、MicrosoftのInternet Explorerブラウザ、AppleのSafariブラウザ、MozillaのFirefoxブラウザ、PalmSourceのWeb Browser、GoogleのChromeブラウザ、またはネットワークで通信することができる、任意の他のブラウジングソフトウェアまたは他のアプリケーションソフトウェア(any other browsing or other application software)を含む。ある実施形態では、ウェブブラウザは仮想キーボードインターフェースを含むことができる。
[0034] ここに開示される本発明の実施形態は、ソフトウェア、ファームウェア、ハードウェア、あるいはこれらのあらゆる組み合わせを作り出すために、標準的なプログラミングまたはエンジニアリングの技法を使用する方法、装置、または製造品として、インプリメントされうる。ここで使用されるように「製造品」という用語は、光学式記憶デバイス、および揮発性または非揮発性メモリデバイスのような、ハードウェアまたはコンピュータ可読媒体でインプリメントされるコードまたは論理を指す。そのようなハードウェアは、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、特定用途向け集積回路(ASIC:application-specific integrated circuits)、複合プログラム可能論理デバイス(CPLD:complex programmable logic device)、プログラム可能論理アレイ(PLA:programmable logic array)、マイクロプロセッサ、または他の類似の処理デバイスに限定されないが含みうる。
ユーザデバイスの概要
[0035] 図1は、ネットワーク2の概略図である。例示されたネットワーク2は、それぞれがインターネット4で通信する、ユーザデバイス10a、ユーザデバイス10b、およびサーバ8を含む。ユーザデバイス10a、10b、およびサーバ8のみが例示されているけれども、ネットワーク2は追加のユーザデバイスおよびサーバを含むことができる。
[0036] 図1で示されるように、ユーザデバイス10aは携帯電話であり、ユーザデバイス10bはパーソナルコンピュータである。しかしながら、ユーザデバイスは、ネットワークでの使用のためのあらゆる適した通信デバイスであることができる。ユーザデバイス10a、10bは、ここにさらに詳しく説明されることになるように、ディスプレイおよびカメラを含むことができ、仮想キーボードを使用して動作するように構成されることができる。ユーザは、仮想キーボードを使用して、ユーザデバイスに入力を提供することができる。入力は、例えば、テキスト、数字、記号、および/または制御コマンドを含むことができる。
[0037] ユーザデバイスは、インターネット4を介して、他のデバイスに情報を送信し、および他のデバイスから情報を受け取るために使用されることができる。例えば、ユーザデバイス10aは、ユーザデバイス10bおよび/またはサーバ8と通信することができる。通信される情報は、例えば、音声、データ、および/またはマルチメディアサービスを含むことができ、送信または受け取られる情報のすべての部分が、仮想キーボードから取得されることができる。加えて、仮想キーボードは、インターネット4を用いたユーザデバイスの通信を制御するのを助けるために、ユーザにより使用されることができる。例えば、ユーザは、仮想キーボードを使用して、インターネットをナビゲートするために制御コマンドを提供することができる。加えて、ウェブブラウザは、仮想キーボードのインターフェースを含むことができ、ユーザは仮想キーボードに入力を提供することにより、サーバ8からマルチメディアを要求することができる。ユーザデバイスは、インターネット4の他に、例えば、セルラーネットワークを含むネットワークを介して通信するためにもまた使用されることができる。
[0038] ユーザデバイスは、様々な規格を使用して通信することができる。例えば、あるユーザデバイスは、IEEE 16.11(a)、(b)、または(g)を含むIEEE 16.11規格、あるいはIEEE802.11a、b、gまたはnを含むIEEE 802.11規格にしたがって通信することができる。いくつかの実施形態では、ユーザデバイスは、BLUETOOTH(登録商標)規格にしたがって、RF信号を送信および受け取るためのアンテナを含むことができる。ユーザデバイスが携帯電話であるときのような、あるユーザデバイスでは、ユーザデバイスは、符号分割多元接続(CDMA)、周波数分割多元接続(FDMA)、時分割多元接続(TDMA)、グローバル移動体通信システム(GSM(登録商標))、GSM/汎用パケット無線システム(GPRS)、エンハンストデータGSM環境(EDGE:Enhanced Data GSM Environment)、地上基盤無線(TETRA:Terrestrial Trunked Radio)、広帯域CDMA(W−CDMA(登録商標))、エボリューションデータオプティマイズド(EV−DO:Evolution Data Optimized)、1xEV−DO、EV−DO Rev A、EV−DO Rev B、高速パケットアクセス(HSPA)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、発展型高速パケットアクセス(HSPA+)、ロングタームエボリューション(LTE)、AMPS、または3Gあるいは4Gの技術を利用するシステムのような、無線ネットワーク内で通信するために使用される他の既知信号を受け取るように設計されたアンテナを使用して、通信することができる。
[0039] 図2は、仮想キーボードを有するユーザデバイス10の1つの実施形態の概略図である。ユーザデバイス10は、カメラ12、スピーカ14、ディスプレイ16、動画処理モジュール18、特徴抽出モジュール20、メモリ21、ジェスチャ終点検出モジュール(gesture endpoint detection module)22、ジェスチャパターン適合モジュール24、誤警報排除モジュール(false alarm rejection module)30、および音声処理モジュール32を含む。ユーザデバイス10は、例えば、携帯電話またはパーソナルコンピュータであることができる。しかしながら、ユーザデバイス10、またはこれのわずかに変形したもの(slight variation)の同じコンポーネントはまた、テレビおよびポータブルメディアプレーヤのような他のタイプのデバイスの実例にもなる。
[0040] 様々なモジュールは、ハードウェアおよび/またはソフトウェアの様々な組み合わせでインプリメントされることができる。例えば、動画処理モジュール18、特徴抽出モジュール20、ジェスチャ終点検出モジュール22、ジェスチャパターン適合モジュール24、誤警報排除モジュール30、および/または音声処理モジュール32は、1つまたは複数のプロセッサを使用して実行するように構成されたコンピュータ可読記憶媒体に記憶された命令としてインプリメントされることができる。モジュールのインプリメンテーションに関する追加の詳細は、後に以下で詳しく説明されることになる。
[0041] カメラ12は様々なカメラタイプであることができる。例えば、カメラ12は、固定焦点レンズを有するカメラを含む、携帯電話の前面に取り付けられたカメラであることができる。代わりとして、カメラ12は、ポートを介してコンピュータと通信するウェブカメラであることができる。カメラ12は、相補型金属酸化膜半導体(CMOS)センサ、または電荷結合素子(CCD)センサのような画像センサを含むことができる。以下で詳しく説明されることになるように、ユーザデバイス10は、例えば、約30fpsというフレームレートのような、比較的低いフレームレートを有するカメラを含む、比較的簡素なカメラ12を使用して、仮想キーボードを提供することができる。これにより、ユーザデバイス10は、ユーザデバイス10が比較的高速のカメラ、または、ズーム、赤外線、深度感知(depth-aware)、および/またはステレオの能力を有するカメラを含まないときでも、仮想キーボードを提供することができる。1つの実施形態では、カメラ12は、約20fpsから約120fpsまでの間に及ぶフレームレートを有する携帯電話のための、前面に取り付けられたカメラである。
[0042] 図2を引き続き参照すると、ユーザデバイス10は、スピーカ14を含む。スピーカ14は、電子信号をサウンドにコンバートするための変換器(transducer)を含むことができる。加えて、スピーカ14は、受け取られた電子信号の大きさを高めるための増幅器、および/または信号のノイズを低減させるためのフィルタを含むことができる。単一のスピーカ14のみが図2で例示されるけれども、強調(enhanced)された音声能力を提供するために、多数のスピーカが用いられることができる。
[0043] ディスプレイ16は、プラズマ、電子発光、有機発光ダイオード(OLED)、液晶ディスプレイ(LCD)、および/または干渉変調デバイス(IMOD)の技術を利用するフラットパネルディスプレイを含む、様々なディスプレイのいずれでもあることができる。しかしながら、ある実施形態では、ディスプレイ12は、ブラウン管(CRT)または他のチューブデバイス(tube device)のような、フラットパネルではないディスプレイであることができる。仮想キーボードは、ユーザがディスプレイの表面に物理的に触ることなく、ユーザデバイス12に入力を提供することを許可するけれども、ある実施形態では、ディスプレイはタッチスクリーンのディスプレイであることができ、ここに説明される仮想キーボードは、補助入力デバイスとして用いられることができる。
[0044] メモリ21は、例えば、RAMメモリ、フラッシュメモリ、レジスタ、ハードディスク、取り外し可能なディスクまたはカード、および/または当技術分野で既知のあらゆる他の形態の記憶媒体を含む、多種多様な記憶媒体のいずれでもあることができる。メモリ21は、後に以下で説明されることになるように、画像データ33、仮想キーボードおよびセンサレイアウトデータ34、センサ作動データ35、およびジェスチャ認識テンプレート36を含むことができる。あるインプリメンテーションでは、メモリ21は、例えば、動画処理モジュール18、特徴抽出モジュール20、ジェスチャ終点検出モジュール22、ジェスチャパターン適合モジュール24、誤警報排除モジュール30、および/または音声処理モジュール32を含む、ユーザデバイス10のうちの1つまたは複数のモジュールに関連付けられた機能( the functionality associated with one or more module)の全てまたは一部を行うための命令を含むことができる。
[0045] 図2で示されるように、動画処理モジュール18は、カメラ12と通信することができ、カメラ12により捕捉された画像のシーケンスを受け取ることができる。動画処理モジュール18は、例えば、色信号処理、アナログデジタル変換、および/またはガンマ補正を含む、様々な機能を受け取られた画像上で行うことができる。動画処理モジュール18は、カメラ12から、ユーザの手または指を収めた画像のシーケンスを受け取ることができ、動画処理モジュール18は、鏡像を生成するためにそれぞれの画像を反転させるように構成されることができる。動画処理モジュール18は、他のモジュールにと同様に、動画特徴抽出モジュール20に、反転された、および/または反転されていない画像を提供することができる。データは、画像データ21として、メモリ21に記憶されることができる。
[0046] 動画処理モジュール18は、結合された画像を形成するために、処理された、または処理されていない画像を仮想キーボードの画像と結合することができる。例えば、ユーザの手または指の反転された画像は、少なくとも部分的に透明である仮想キーボードの画像にオーバーレイされることができる。結合された画像は、以下で詳しく説明されることになるように、視覚フィードバックを含むように強調されることができ、ディスプレイ16に提供されることができる。以下で説明されることになるように、仮想キーボードの画像と結合されたユーザの手または指の反転された画像を表示することは、ユーザが仮想キーボードを使用してデータおよび/またはコマンドを入力するのを助けることができる。
[0047] 動画特徴抽出モジュール20は、動画処理モジュール18、および/またはメモリ21から画像のシーケンスを受け取ることができ、動きのエリアを決定するために、画像のシーケンスを処理することができる。例えば、動画特徴抽出モジュール20は、受け取られたフレームを、直前のフレームのような、捕捉されたシーケンスにおいて前の方の(earlier)フレームと比較することができ、フレーム間の差異の画像を計算することができる。差異の画像は、フィルタリングされた差異の画像を作り出すために、例えば、しきい値より下の差異を除去することによる、などを含むあらゆる適した方法でフィルタリングされることができる。フィルタリングされた、および/またはフィルタリングされていない差異の画像は、メモリ21に画像データ33として記憶されることができる。
[0048] 図2を引き続き参照すると、動画特徴抽出モジュール20は、1つまたは複数の仮想キーの作動を決定するために、フィルタリングされた差異の画像を、メモリ21に記憶される仮想キーボードおよび仮想センサレイアウト34と比較することができる。例えば、仮想キーボードは、画像の中に対応するピクセルのロケーションを有しうる複数の仮想センサを含むことができる。ユーザの手または指の動きは、仮想センサの作動を決定するために、仮想センサのロケーションに関係して比較されることができる。例えば、動きの中の変化が、特定の仮想センサに対応する特定のピクセル座標で検出されるとき、仮想センサはその時間インスタンスで(at that time instance)作動することができる。当業者が理解することになるように、仮想センサ情報のセンサの作動は、仮想キーボードをわたるユーザの手または指の動きに関係している地理的および時間的な情報の両方を捕捉する。仮想センサ作動は、メモリ21に記憶されることができるセンサ作動データ35を形成するために、時間をかけて収集されることができる。例えば、仮想センサ作動は、約1フレームから約30フレームまでの間に及ぶ多くのフレーム上に記憶されることができる。
[0049] ジェスチャ終点検出モジュール22は、ジェスチャの終点を決定するために、特徴抽出モジュール20により生成された差異の画像のシーケンスを解析することができる。例えば、ジェスチャ終点検出モジュール22は、比較的高い動きを収めた1つまたは複数のフレームのシーケンスの後に検出された、比較的低い動きを有する1つまたは複数のフレームの場所を探し出すように構成されることができる。ジェスチャの終点が検出したと決定すると、ジェスチャ終点検出モジュール22は、ジェスチャの終点を収めたフレームのロケーション、またはジェスチャの終結に対応するセンサ作動データ35における位置のような、ジェスチャの終点のロケーションをジェスチャパターン適合モジュール24に通信することができる。
[0050] 図2を引き続き参照すると、ジェスチャパターン適合モジュール24は、ジェスチャの終点のロケーションを、ジェスチャ終点検出モジュール22から受け取ることができる。ジェスチャパターン適合モジュール24は、メモリ21と通信することができ、センサ作動のシーケンスが1つまたは複数のジェスチャ認識テンプレート36を適合させるかどうかを決定するために、ジェスチャの終点およびセンサ作動データ35を使用することができる。例えば、入力されたジェスチャ作動シーケンスは、認識されたジェスチャが生じたかどうかを決定するために、それぞれのジェスチャ認識テンプレートに対して比較され、認識されたジェスチャに対応する1つのまたは複数の作動キーを決定することができる。一実施形態では、ジェスチャパターン適合モジュール24は、可変速度のジェスチャを適合させるのを助けるために、動的時間伸縮(DTW)を用いる。
[0051] ジェスチャを認識すると、および/または認識プロセスの間に、ジェスチャパターン適合モジュール24は、検出情報を誤警報排除モジュール30に提供することができる。誤警報排除モジュール30は、デバイス10の動き条件が、しきい値より上かどうかを決定することができる。例えば、誤警報排除モジュール30は、グローバル動き条件(global motion condition)を決定するために、ジェスチャに関連した1つまたは複数のフレームをわたる作動仮想センサの総数が、しきい値を超えるかどうかを決定することができる。加えて、誤警報排除モジュール30は、ローカル動き条件(local motion condition)を決定するために、作動キーの地理的な近傍にある作動センサの数を解析することができる。グローバルおよびローカル動き条件は、ユーザのジェスチャが間違って認識されたという十分な可能性があるかどうかを決定するために使用されることができる。誤警報排除モジュール30は、グローバル動き条件およびローカル動き条件を決定するために、センサ作動データ35を解析するように構成されることができるけれども、ある実施形態では、誤警報排除モジュール30は、メモリ21に記憶される画像データ33のような、画像データを解析することにより、誤警報を決定することもまたできる。
[0052] 誤警報排除モジュール30は、ユーザにフィードバックを提供するのを助けるために、動画処理モジュール18、および/または音声処理モジュール32と通信することができる。例えば、検出されたジェスチャが有効であると決定すると、誤警報排除モジュール30は、スピーカ14を使用して、仮想キーが作動したことを指し示すサウンドを始めるために、音声処理モジュール32と連係することができる。同様に、誤警報排除モジュール30は、色で仮想キーの境界を強調することなどにより、仮想キーが作動していることを視覚フィードバックに提供するために、動画処理モジュール18と連係することができる。誤警報排除モジュール30が、ジェスチャパターン適合24により認識されたジェスチャが誤りであるという、許容できないほど高いリスクを有すると決定するとき、誤警報排除モジュールは、ジェスチャが認識されなかったことを指し示す、視覚および/または音声フィードバックを、ユーザに提供するために、音声処理モジュール32、および/または動画処理モジュール18と通信することができる。
[0053] ユーザデバイス10は、あるモジュールを含むように例示されているけれども、ある実施形態では、ユーザデバイス10は、より多くの、またはより少ないモジュールを含むことができる。例えば、ユーザデバイス10は、別個の音声処理モジュール32を含む必要はなく、および/またはユーザデバイス10は、振動性フィードバックをユーザに提供するための振動モジュールを含むことができる。加えて、ユーザデバイス10は、ユーザデバイス10が、図1のネットワーク2のようなネットワーク上で通信できるように、ネットワークインターフェースモジュールを含むことができる。ネットワークインターフェースモジュールは、無線周波数信号を送信および受け取るために使用されるアンテナおよびトランシーバと通信することができる。
[0054] ユーザデバイス10は、例えば、射出成形および/または真空成型を含む、様々な製造プロセスのいずれからも形成される筐体に設置されることができる。筐体は、プラスチック、鉄、ガラス、ゴム、および/またはセラミックに限定されないが含む、あらゆる適した材料から組み立てられることができる。筐体は、異なる色の他の取り外し可能な部分と交換でき、およびロゴ、写真、または記号を収めることができる、取り外し可能な部分を含むことができる。さらに、ユーザデバイス10は、例えば、ニッケルカドミウム電池、またはリチウムイオン電池のような再充電可能な電池、または太陽電池を含む、エネルギー貯蓄デバイスを含むことができる。ある実施形態では、ユーザデバイス10は、壁のコンセントから電力を受け取ることができる。
[0055] 図3は、ユーザの手の動きを捕捉するカメラ12の概略図である。カメラ12は、カメラセンサ42およびカメラレンズ44を含み、カメラ12は、ユーザの手46の、手でタイプする行為を捕捉するように位置付けられている。指先のロケーション47のような、手46の先端の動きは、現実世界では三次元の座標(X、Y、Z)を有し、ここにおいてZはカメラレンズから指先のロケーション47までの距離を表す。
[0056] カメラレンズ44は、ユーザの手の画像を受け取り、カメラセンサ42にその画像の焦点を合わすことができる。カメラレンズ44は、焦点距離Fを有することができる。カメラセンサ42は、例えば、光の強度に対応する離散的信号に受け取られる光を変換するように構成される、CCDまたはCMOSセンサ(CMOS sensor configured to convert light received into discrete signals corresponding to the intensity of the light.)であることができる。カメラセンサ42およびカメラレンズ44は、画像距離S分だけ分離されることができる。
[0057] カメラセンサ42の表面上にある指先のロケーション47の投影画像は、以下の式1で表わされることができる座標(x,y)を有し、ここにおいて、X、Y、Z、x、y、およびSは上記で定義されたとおりであり、ならびにCは、三次元空間での指先の奥行(Z)の変化により生じる、二次元空間にある投影画像における水平(x)、および垂直(y)の変化の程度に関係している定数である。
式1
Figure 2014512620
[0058] 比較的薄いカメラレンズ44を用いる実施形態では、焦点距離Fの反比例は、物体距離Zおよび画像距離Sの反比例の合計に等しい。この関係性は、以下の式2を使用して述べられることができる。
式2
Figure 2014512620
[0059] 式2は、画像距離Sの点から再配置され、以下の式3をもたらすように結合されることができる。
式3
Figure 2014512620
[0060] 式3は、以下の式4をもたらすように、時間に関して区別されることができる。
式4
Figure 2014512620
[0061] 当業者が理解することになるように、式4が、指先のロケーション47での動きの点から、カメラセンサ42上の、投影された指先の画像の動きを推定するために使用されることができる。
[0062] 式4で示されるように、固定焦点距離レンズを有する携帯電話のカメラのような、比較的簡単なカメラでも、空中のユーザの手の動きを検出することができる。したがって、以下でさらに詳しく説明されることになるように、ある実施形態では、ユーザデバイス10は、ユーザデバイス10が、ズーム、赤外線、深度感知(depth-aware)、またはステレオの機能を有するカメラを含まないときでも、仮想キーボードを提供することができる。
[0063] 図4は、一実施形態に従って、ユーザの手の画像にオーバーレイされる仮想キーボードの画像を例示する。画像50は、ユーザの手を収めた画像52にオーバーレイされる仮想キーボード54の画像を含む。画像50は、上記で説明されたように、動画処理モジュール18により生成され、ディスプレイ上に表示されることができる。
[0064] ユーザの手を収めた画像52は、ユーザの手の鏡像を作り出すために反転されている。仮想キーボード54の画像は半透明であり、そのため、下にあるユーザの手の画像54が、ユーザに部分的に見えることを許可する。図4で示されるように、仮想キー56は、ユーザの作動に応えて強調されている。仮想キーの強調は、キーの色、ハイライト、形状、明度、またはキーの他の様態を変化させることを含むことができる。したがって、キーの強調は、ユーザに、仮想キーがキー入力(keystroke)により起動されているという視覚インジケータを提供する。それに加えて、図4で例示されないけれども、1つまたは複数のキーは、比較的高い程度のローカルおよび/またはグローバル動きを収める画像で検出されたキー入力または他のジェスチャのような、誤警報に応えて選択的に彩飾される(illuminated)ことができる。例えば、誤警報モジュール30は、有効なキー入力が検出されるとき、第1の色で1つまたは複数の仮想キーを彩飾し、および、誤警報が検出されるとき、第2の色で1つまたは複数の仮想キーを彩飾するように構成されることができる。
[0065] 図4は、ユーザが仮想キーボードと相互動作するのを助けるために、キー入力の履歴55がユーザに対して表示されことができることもまた示す。キー入力の履歴55は、スクリーンの上部のような、スクリーンのあらゆる適した部分上に表示されることができる。例示されるように、キー入力の履歴55は、ダイヤルされた番号のシーケンスを指し示す。しかしながら、キー入力の履歴55は、例えば、文字、記号、および/またはコマンドを含む、ユーザ入力のあらゆるシーケンスを表示するように修正されることができる。
[0066] 図4では、1つの仮想キーボード54のみが例示されるけれども、複数の仮想キーボードがスクリーン上に表示されることができる。複数の仮想キーボードをスクリーン上に提供することは、異なるアプリケーションのために様々な形状およびサイズのキーボードを設計する際に、高い柔軟性を提供する。
[0067] 図5は、仮想キーに対する仮想センサレイアウトの3つの例の概略図である。仮想キーボードは、複数の仮想センサ64をそれぞれが有する複数の仮想キーを含みうる。例えば、図5は、キー「1」に対応する第1の仮想キー62a、文字「A」に対応する第2の仮想キー62b、および、記号「#」に対応する第3の仮想キー62cを例示する。
[0068] それぞれの仮想キーは、同じ数のセンサ、および同じセンサアレイレイアウト(sensor array layout)を有することができる。しかしながら、それぞれの仮想キーは、同じ数のセンサ、または同じレイアウトを有する必要はない。例えば、仮想センサ64の構成は、第1、第2、および第3の仮想キー62a−62cの間で異なる。第1の仮想キー62aは、アレイの中に配置される9つの仮想センサを含み、第2の仮想キー62bは、円周の周りに配置される6つの仮想センサを含み、および第3の仮想キー62は、キーの対角線および右端に沿って配置される5つの仮想センサを含む。ある実施形態では、英数字のキーは類似した仮想センサアレイレイアウトを有するが、スペースバーのキーのような、1つまたは複数のキーは、より多い数の仮想センサおよび異なる仮想センサレイアウトを有することができる。
[0069] それぞれの仮想センサ64は、画像の中の隣接しているピクセルの領域に対応することができる。例えば、それぞれの仮想センサ64は、約10ピクセルから約10,000ピクセルまでの間に及ぶ多くのピクセルを含むことができる。それぞれの仮想センサ64は、実質的に六角形であるエリアを有するように例示されるが、それぞれの仮想センサは、矩形または正方形である形状を含む、様々な形状に限定限定されないが、有することができる。
[0070] 仮想センサ64は、仮想キーボードがユーザに対して表示されるときに、表示される必要はない。それよりもむしろ、仮想センサ64は、仮想キーボードのピクセル領域に関連することができるが表示されず、ユーザの手または指のジェスチャを決定する際、システムにより使用されることができる。例えば、仮想センサ64上のユーザの手または指の動きは、仮想センサを引き起こすことができる。1つの実施形態では、ユーザの手または指の動きが、仮想センサの任意のピクセル上で検出されるとき、仮想センサは作動するように決定される。別の実施形態では、ユーザの手または指の動きが、約20%から約100%までの間の仮想センサのピクセル上で検出されるとき、仮想センサは作動するように決定される。
[0071] 仮想センサ作動の状態は、それぞれのフレームに対して記憶され、複数のフレームをわたる仮想センサ作動のパターンは取得されることができる。複数のフレーム上の仮想センサ作動のシーケンスは、ジェスチャを認識するために使用されることができる。例えば、図2のジェスチャパターン適合モジュール24のようなジェスチャパターン適合モジュールは、認識されたジェスチャの存在を決定するために、仮想センサ作動のシーケンスを、1つまたは複数のジェスチャ認識テンプレートに対して比較することができる。仮想センサ作動のシーケンスを使用してパターン適合を用いることは、フレーム全体を適合させる手法に関係する計算時間を減少させることができ、動的時間伸縮(DTW)のような、多種多様な速度のジェスチャに関するジェスチャ適合を提供することができる適合アルゴリズムのアプリケーションを許可することができる。ジェスチャパターン適合の追加の詳細は、図7−9を参照して、後に以下で説明されることになる。
[0072] 図6は、ユーザの手の画像にオーバーレイされた図5の仮想キーの概略図である。
[0073] 図6で示されるように、手の画像68は、ユーザの指の画像69を含む。指の画像69は、仮想キー62a上に置かれる。先に説明したように、ユーザが手または指を動かすとき、差異の画像または動きベクトルが決定されることができる。動きベクトルは、仮想キーボードに関係して追跡され、しきい値を越える大きさを有する動きベクトルは、対応するピクセルのロケーションで仮想センサを作動することができる。これにより、1つまたは複数の仮想センサ上の、実質的に静止した位置に置かれたユーザの指は、結果として仮想センサが作動することにならないだろう。しかしながら、ユーザの指を十分な速さで動かすと、1つまたは複数の仮想センサが作動することができる。仮想センサ作動の履歴は記憶され、仮想センサ作動の履歴は、ユーザのジェスチャを決定するために、1つまたは複数のジェスチャ認識テンプレートに対して適合されることができる。
[0074] 仮想センサを用いることにより、ユーザの手の動きについての地理的および時間的な情報の両方が取得されることができる。情報は、ユーザの動きの方向を指し示すことができる。ジェスチャ認識の追加の詳細は、図7−9を参照して以下で説明されることになる。
[0075] 図7は1つの実施形態にしたがって仮想キーボードを提供する方法70のフローチャートである。全ての例示されたブロックが要求されるわけではなく、この方法は、本発明の趣旨および範囲から逸脱することなく修正されることができると、理解されるだろう。
[0076] 図2のユーザデバイス10のようなユーザデバイスの点から描写される方法70は、ブロック71で開始する。次のブロック72では、ユーザデバイスは指または手の画像のシーケンスを捕捉する。例えば、ユーザデバイスのカメラは、ユーザの手または指を収める画像のシーケンスを捕捉することができる。画像は、色信号処理、A/D変換、および/またはガンマ補正のために処理され、および画像は反転されることができる。
[0077] 次のブロック74では、ユーザデバイスは仮想キーボードの画像をそれぞれの指または手の画像と結合する。例えば、仮想キーボードの画像は、ブロック72で取得され、および反転された画像にオーバーレイされることができる。仮想キーボードの画像は、表示されるとき、下にあるユーザの手または指の画像が、少なくとも部分的に見えることを許可するために、少なくとも部分的に透明であることがある。
[0078] 次のブロック75では、結合された画像は、ディスプレイ上に表示される。仮想キーボードおよびユーザの手または指の両方を有する結合された画像を提供することは、ユーザが仮想キーボードと相互動作するのを助けることができる。ブロック72に関して上記で説明されたように、仮想キーボードシステムの有用性を向上させるために、ユーザの手の画像は、ユーザに対して表示される前に反転されることができる。
[0079] 方法70は、ユーザデバイスが、仮想キーボードの仮想センサに関係する指または手の画像の中の動きを検出するブロック76に続く。例えば、ユーザデバイスは、1つまたは複数の差異の画像を生成するために、シーケンシャルな画像の間の差異を計算することなどにより、動きのエリアを決定するようにブロック72で捕捉された画像のシーケンスを処理することができる。差異の画像は、フィルタリングされた差異の画像を作り出すために、しきい値より下の差異を除去することによる、などのようなあらゆる適した方法でフィルタリングされることができる。
[0080] 次のブロック77では、検出された動きはセンサ作動データを決定するために使用される。例えば、動きを収めたフィルタリングされた差異の画像のピクセル領域は、仮想センサのピクセル領域と比較され、十分な動きを有する仮想センサは作動するように決定されることができる。例えば、仮想センサは複数のピクセルを占有し、20%以上の仮想センサのピクセルをわたる検出された動きは、センサが作動していることを指し示すことができる。仮想センサ作動データは、複数のフレーム上で蓄積されることができる。
[0081] 仮想キーボードを提供する方法70は、ジェスチャがセンサ作動データを使用して認識されるブロック80に続く。例えば、ユーザデバイスは、ジェスチャが検出されたかどうかを決定するために、センサ作動データを1つまたは複数のジェスチャ認識テンプレートと比較することができる。ジェスチャ認識テンプレートにおける追加の詳細は、図8Bに関して以下で見つけられることができる。ジェスチャ適合のプロセスは、結果として、異なるユーザのジェスチャ、および/または異なる仮想キーを含みうる候補の手のジェスチャのリストになることができる。あるインプリメンテーションでは、ジェスチャパターン認識80は、それぞれの候補の手のジェスチャに対する信頼ファクタを生成し、認識されたジェスチャを決定するために信頼ファクタ(confidence factors)を使用することができる。ブロック80の1つのインプリメンテーションにおける更なる詳細は、図9を参照して以下で説明される。
[0082] 図7の方法84は、視覚、音声、および/または振動性フィードバックのような、触覚フィードバックがユーザに出力されるブロック84に続く。例えば、キー入力を認識するとき、作動を指し示すサウンドが生成され、および/またはキーをハイライトすることなどにより、キーがディスプレイ上で視覚的に強調されることができる。加えて、ジェスチャがブロック80で認識されるが、許容できない誤りのリスクを有するように決定されたとき、視覚、音声、および/または振動性フィードバックは、そのジェスチャが認識されなかったと指し示すために使用されることができる。例えば、異なる色のハイライトがユーザに提供されることができ、および/または排除されたキー入力を指し示すサウンドが生成されることができる。
[0083] 図8Aは、1つの実施形態にしたがった、仮想キーボードの一部である。仮想キーボードの一部は、9つの仮想キー91a−91iを含み、それぞれの仮想キーは、7つの仮想センサ64を含む。実例となる目的のために、それぞれの仮想キー91a−91iに対する仮想センサ64は、AからGまでの文字でラベルをつけられている。
[0084] キー91a−91iのためのセンサ作動データは、先に説明されたように、複数のフレームをわたり記憶されることができる。センサ作動データは、キー91a−91iのセンサが、所与の時間のインスタンスで、または所与のフレームで作動されたかどうかを指し示す情報を含むことができる。例えば、センサ作動データが10つのフレームのために記憶される実施形態では、10つのフレームのそれぞれのための9つのキーのそれぞれに対する7つの作動に対応する、630のセンサ作動が記録されることができる。
[0085] 図8Bは、図8Aの仮想キーボードの一部をわたる手または指の動きの8つの方向を検出するための、8つのジェスチャ認識テンプレート100a−100hの例を例示する。それぞれのジェスチャ認識テンプレートは、1(「one」)が作動を指示し、0(「zero」)が作動なしを指示する、0および1のアレイを含む。ジェスチャ認識テンプレートの行は、(図8Aで例示されるセンサのロケーションに対応する)特定のセンサのロケーションを表し、テンプレートの列は、ある期間をわたるフレームの経過を表す。
[0086] ジェスチャ認識テンプレート100a−100hは、図8Aのキー91a−91iのいずれかをわたる、8つの方向のいずれかにおける動きを検出するために使用されることができる。例えば、ジェスチャ認識テンプレート100aは、センサFおよびGの項目で1を、残りの項目で0を有する第1列、センサC、D、およびEの項目で1を、残りの項目で0を有する第2列、ならびに、センサAおよびBの項目で1を、残りの項目で0を有する第3列を含む。例示されたジェスチャ認識テンプレートの列が時間的経過で配置されるため、センサFおよびGの作動は、その後センサC、D、およびEの作動が続き、次にセンサAおよびBの作動がそれに続いて、仮想キーをわたる手または指の上方への移動を指し示すことができる。キー91a−91iのそれぞれのためのセンサ作動データに対するジェスチャ認識テンプレート100aを解析することにより、キー91a−91iのうちの1つまたは複数をわたるユーザの手または指の上方への動きが検出されることができる。同様に、ジェスチャ認識テンプレート100b−100hは、キー91a−91iのうちの1つまたは複数をわたる他の方向における動きを決定するために使用されることができる。
[0087] 図8Bで示されるように、全てのジェスチャ認識テンプレートが同じサイズである必要はない。むしろ、あるジェスチャ認識テンプレートは、より長い継続時間のパターンに関連することができる。
[0088] 手および/または動きの速度は、ユーザの間で一致しないこともある。加えて、カメラのフレームレートは様々なアプリケーションで異なることもあり、結果として所与の期間に関連して、より多い、またはより少ないフレームをもたらす。したがって、ジェスチャ認識テンプレートを使用するジェスチャ認識は、可変速度のフレームシーケンスをわたり行われることができる。例えば、動的時間伸縮(DTW)は、適合を決定するために、センサ作動情報のシーケンスとジェスチャ認識テンプレートに収められたシーケンスとの間で適用されることができる。DTWを使用することは、シーケンスが、それらの類似性の測定を決定するために、時間の次元で非直線的に伸縮されることができるのを許可する。
[0089] ジェスチャ認識テンプレート100a−100hは、ジェスチャを認識するために、単一のキーをわたるセンサデータを使用するように構成される。しかしながら、ジェスチャ認識テンプレートはより一層複雑であることがあり、および1つまたは複数の追加のキーの全てまたは一部をわたるセンサデータを含むことができる。例えば、図8Cは、別の実施形態にしたがった仮想キーボードの一部を例示して、図8Dは、図8Cの仮想キーボードの一部をわたるジェスチャを検出するためのジェスチャ認識テンプレート101の例を例示する。ジェスチャ認識テンプレート101は、複数のキーをわたるセンサに関連したセンサ作動情報を含み、および、例えば、キーをわたる上方への動きを検出するために使用されることができる。複数のキーをわたるセンサ情報を使用してジェスチャ認識テンプレートを提供することは、例えば、ジェスチャ認識の精度を向上させることを含む、多くの利点を提供することができる。1つのインプリメンテーションでは、ジェスチャ認識テンプレートは、例えば、約18のキーのような、約2つのキーから約25のキーまでの間に及ぶ多くのキーからのセンサに関連する。
[0090] ジェスチャ認識テンプレートは、ユーザの手または指の方向のほかに、多種多様なジェスチャを認識するように構成されることができる。例えば、ジェスチャ認識テンプレートは、タイプするジェスチャ、ホールドアンドドラッグする(hold and drag)ジェスチャ、指差す(pointing)ジェスチャ、および/またはあらゆる他の適したジェスチャを認識するために提供されることができる。ジェスチャ認識テンプレートは、多種多様なユーザをわたり収集されたユーザのデータに基づいて生成され、および、隠れマルコフモデルのような、統計モデルを使用してインプリメントされることができる。しかしながら、あるインプリメンテーションでは、トレーニングプログラムが、ユーザ特有のジェスチャ認識テンプレートを生成、および/またはリファイン(refine)するのを助けるために、用いられることができる。
[0091] あるインプリメンテーションでは、テンプレートは、ジェスチャが認識されるようにセンサ作動データを完璧に適合させる必要はない。むしろ、候補ジェスチャのリストが生成され、および、信頼ファクタはそれぞれの候補ジェスチャのために計算されることができる。あるインプリメンテーションでは、最も高い信頼ファクタを有するジェスチャは、認識されたジェスチャとみなされることができる。例えば、iのジェスチャテンプレートおよびjの仮想キーを有する1つのインプリメンテーションでは、ジェスチャパターン適合の信頼ファクタは、iのジェスチャおよびjのキーのそれぞれのために算出されることができ、最も高いパターン適合の信頼ファクタを有するキーおよびジェスチャテンプレートの特定の組み合わせは、認識されたキーおよびジェスチャでありうる。
[0092] 図9は、図7からジェスチャを認識するブロック80のプロセスにおける方法の1つの実施形態のフローの図である。例示されたブロックの全てが要求されるわけではなく、この方法が本発明の趣旨および範囲から逸脱することなく修正されることができることは、理解されるだろう。
[0093] 図2のユーザデバイス10のようなユーザデバイスの点から描写される方法80は、ブロック121で開始する。次のブロック122では、ジェスチャの終点が検出される。例えば、ユーザデバイスは、フレームが比較的低いレベルの動きを有する場合にジェスチャの終点が存在することを決定することができ、および、比較的高いレベルの動きを収めた1つまたは複数のフレームの後に位置付けられる。
[0094] 次のブロック124では、動的時間伸縮(DTW)が、センサ作動データを複数のジェスチャ認識テンプレートのそれぞれと合わせるために使用される。ブロック122で検出された終点は、DTW処理に関連した計算負荷を減少させるために使用されることができる。先に説明されたように、それぞれのジェスチャ認識テンプレートは、認識可能なジェスチャに対応するセンサ作動のシーケンスを含むことができ、およびセンサ作動データは、仮想キーボードとのユーザの相互動作に基づいて決定された、仮想センサ作動のシーケンスを表すことができる。ジェスチャに関連したフレームの数が、ユーザの手および/またはユーザの動き速度、ならびに/あるいはカメラのフレームレートのような、様々なファクタに基づいて変わることができるため、ジェスチャ認識テンプレートおよびセンサ作動データは、異なるレートまたは速度で変化するパターンに対応することができる。これにより、DTWを用いることは、1つまたは複数のジェスチャ認識テンプレートをセンサ作動データと合わせるのを助けることができ、そのため、ジェスチャ適合を容易にする。
[0095] 方法80は、1つまたは複数の候補ジェスチャおよび対応する信頼ファクタが、センサ作動データを使用して、決定されるブロック126に続く。例えば、それぞれのジェスチャ認識テンプレートは、シーケンス間の時間的バリエーションを明らかにするためにDTWを使用した後、センサ作動データと比較されることができる。それぞれのジェスチャ認識テンプレートと、センサ作動データとの比較は、結果として1つまたは複数の潜在的なジェスチャの適合になることができる。それぞれの潜在的なジェスチャの適合は、ジェスチャ認識テンプレートとセンサ作動データとの類似性に基づいて、信頼ファクタを割り当てられることができ、しきい値の信頼レベルを超える潜在的なジェスチャの適合のような、十分な信頼ファクタの潜在的なジェスチャの適合は、候補ジェスチャであると決定されることができる。候補ジェスチャ、およびそれぞれのジェスチャ認識テンプレートを使用して決定された対応する信頼ファクタは、候補ジェスチャのリストおよび信頼ファクタを集合的に形成することができる。
[0096] 次のブロック128では、偽陽性(false positive)が除去される。例えば、偽陽性を除去することは、ジェスチャに関連した1つまたは複数のフレームをわたる作動仮想センサの総数がしきい値を超えるかどうかを決定すること、および/または、認識されたジェスチャが間違って認識されているという十分な可能性があるかどうかを決定するために、作動キーの地理的近傍にある作動センサの数を解析することを含むことができる。偽陽性の除去は、グローバル動き条件、ローカル動き条件、ならびに/あるいは1つまたは複数の信頼ファクタを使用する、候補ジェスチャのリストからの1つまたは複数の候補ジェスチャの除去を含むことができる。最も高い信頼ファクタを有し、および偽陽性であるとして除去されていない候補ジェスチャは、認識されたジェスチャであると決定されることができる。方法は、130で終了する。
[0097] ここに開示されたインプリメンテーションと関連付けて説明される様々な実例となる論理、論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとしてインプリメントされうる。ハードウェアおよびソフトウェアの互換性は、概して機能の点から説明され、様々な実例となるコンポーネント、ブロック、モジュール、回路、および上記で説明されたステップで例示されている。このような機能がインプリメントされているのが、ハードウェアであるかソフトウェアであるかは、特定のアプリケーションおよびシステム全体に課せられた設計制約に依存する。
[0098] ここに開示された態様に関連付けて説明された様々な実例となる論理、論理ブロック、モジュール、および回路をインプリメントするために使用されるハードウェアならびにデータ処理装置は、汎用単一チップのプロセッサまたは汎用マルチチップのプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他のプログラマブル論理デバイス、離散ゲートまたはトランジスタ論理、離散ハードウェアコンポーネント、またはここに説明された機能を実行するために設計された、それらのあらゆる組み合せでインプリメントまたは行われうる。汎用プロセッサは、マイクロプロセッサ、または、あらゆる従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシン(state machine)でありうる。プロセッサはまた、例えば、DSPおよびマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと連結した1つまたは複数のマイクロプロセッサ、またはあらゆる他のそのような構成、などのコンピューティングデバイスの組み合わせとしてもまたインプリメントされうる。いくつかのインプリメンテーションでは、特定のステップおよび方法は、所与の機能に特有である回路により行われうる。
[0099] 1つまたは複数の例示的な様態では、説明された機能は、本明細書で開示される構造、およびこれらの構造的均等物を含む、ハードウェア、デジタル電子回路、コンピュータソフトウェア、ファームウェアまたはこれらのあらゆる組み合わせでインプリメントされうる。本明細書で説明される主題のインプリメンテーションはまた、データ処理装置による実行のための、またはデータ処理装置の動作を制御するためのコンピュータ記憶媒体で符号化される、1つまたは複数のコンピュータプログラム、つまりコンピュータプログラムの命令の1つまたは複数のモジュール、としてインプリメントされることができる。
[0100] ソフトウェアでインプリメントされるとき、機能は、コンピュータ可読媒体上の1つまたは複数の命令あるいはコードとして、記憶または送信されうる。ここに開示される方法またはアルゴリズムのステップは、コンピュータ可読媒体上に属しうるプロセッサ実行可能なソフトウェアモジュールでインプリメントされうる。コンピュータ可読媒体は、1つの場所から別の場所へコンピュータプログラムを転送するために有効にされうるあらゆる媒体を含むコンピュータ記憶媒体および通信媒体の両方を含む。記憶媒体は、コンピュータによりアクセスされうるあらゆる利用可能な媒体でありうる。限定ではなく例として、そのようなコンピュータ可読媒体は、命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用され、コンピュータによりアクセスされうる、RAM、ROM、EEPROM(登録商標)、CD−ROM、または他の光ディスク記憶デバイス、磁気ディスク記憶デバイス、または他の磁気記憶デバイス、あるいはあらゆる他の媒体を含みうる。また、任意の接続手段が、コンピュータ可読媒体と適切に名づけられることができる。ここで使用されるようなディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク(登録商標)、光ディスク、デジタルバーサタイルディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイ(登録商標)ディスクを含み、通例、ディスク(disk)は、データを磁気的に再生する一方で、ディスク(disc)はデータをレーザで光学的に再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれうる、機械可読媒体およびコンピュータ可読媒体上で、1つの、またはいずれかの組み合わせの、またはセットのコードおよび命令として存在しうる。
[0101] 本開示で説明されるインプリメンテーションへの様々な変更は、当業者にとって容易に明らかであり、および、ここで定義される一般的な原理は、本開示の趣旨または範囲から逸脱することなく他のインプリメンテーションに適用されうる。これにより、本開示は、ここに示されるインプリメンテーションに限定されるように意図されないが、ここに開示される請求項、原理、および新規な特徴と一致する最も広い範囲を与えられることとなる。「例示的」という言葉は、ここでは、「例、事例、または実例としての役割を果たす」という排他的に意味するように使用される。「例示的な」ものとして、ここに説明されるいずれのインプリメンテーションも、他のインプリメンテーションに対して、必ずしも、好ましいまたは利点があるものと解釈されるものではない。
[0102] 別個のインプリメンテーションのコンテキストにおいて本明細書で説明される、ある特徴もまた、単一のインプリメンテーションで組み合わせてインプリメントされることができる。反対に、単一のインプリメンテーションのコンテキストにおいて説明される様々な特徴もまた、複数のインプリメンテーションで別個に、またはあらゆる適したサブコンビネーションでインプリメントされることができる。さらに、特徴はある組み合わせで作用するように上記で説明され、および最初からそのように主張されうるけれども、主張される組み合わせからの1つまたは複数の特徴は、いくつかの場合では、その組み合わせから削除され、主張される組み合わせは、サブコンビネーション、またはサブコンビネーションのバリエーションを対象としうる。
[0103] 同様に、動作は、特定の順序で図面に描写される一方で、このことが、所望の結果を達成するために、そのような動作が示された特定の順序で、またはシーケンシャルな順序で行われ、あるいは、全ての例示された動作が行われることを要求するように理解されるべきではない。ある環境では、マルチタスクおよび平行処理は利点があることがありうる。さらに、上記で説明されるインプリメンテーションにおける様々なシステムコンポーネントの分離が、全てのインプリメンテーションの中でそのような分離を要求するように理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品に共に一体化され、または複数のソフトウェア製品にパッケージされることができると理解されるべきである。加えて、他のインプリメンテーションは、以下の請求項の範囲内である。いくつかの場合では、請求項に記載されるアクションは、異なる順序で行われることができ、それでもなお所望の結果を達成することができる。

Claims (38)

  1. コンピューティングデバイスにデータを入力するためのシステムであって、
    ユーザの指を収める画像のシーケンスを捕捉するためのカメラと、
    仮想キーボードと結合された前記シーケンスのそれぞれの画像を表示するためのディスプレイと、ここにおいて、前記仮想キーボードに関係する表示された画像における前記指の位置は、前記ユーザの指が前記カメラに関係して動くにつれて変化する、
    前記仮想キーボードに関係する前記画像のシーケンスにおける前記ユーザの指の動きを検出するように構成される動画特徴抽出モジュールと、ここにおいて、前記仮想キーボードは複数の仮想キーを備え、それぞれの仮想キーが複数の仮想センサを有し、前記動画特徴抽出モジュールは、検出された動きを使用して前記仮想センサのセンサ作動データを捕捉する、
    ユーザのジェスチャを認識して、前記コンピューティングデバイスにデータを入力するために、前記センサ作動データを使用するためのジェスチャパターン適合モジュールと、を備えるシステム。
  2. 前記ディスプレイが、前記仮想キーボードを、前記シーケンスにおける前記画像のそれぞれにオーバーレイし、前記仮想キーボードが少なくとも部分的に透明である、請求項1に記載のシステム。
  3. 前記システムが、前記ジェスチャが認識されるとき、視覚フィードバック、音声フィードバック、および振動性フィードバックのうち少なくとも1つを提供するように構成される、請求項1に記載のシステム。
  4. ジェスチャの終点を検出するためのジェスチャ終点検出モジュールをさらに備える、請求項1に記載のシステム。
  5. 前記ジェスチャパターン適合モジュールが、前記ジェスチャを認識するために、前記センサ作動データを、複数のジェスチャ認識テンプレートのそれぞれと比較するように構成される、請求項4に記載のシステム。
  6. 前記ジェスチャパターン適合モジュールが、前記ジェスチャの終点が検出された後に、前記センサ作動データを、前記複数のジェスチャ認識テンプレートのそれぞれと比較するように構成される、請求項4に記載のシステム。
  7. 前記ジェスチャパターン適合モジュールが、動的時間伸縮を使用して、前記センサ作動データを、前記複数のジェスチャ認識テンプレートのそれぞれに合わせるように構成される、請求項5に記載のシステム。
  8. 前記センサ作動データを使用して動き条件を検出するための、ならびに前記動き条件がしきい値より上であるとき、前記ジェスチャパターン適合モジュールが、前記ジェスチャを認識することから防ぐための誤警報排除モジュールをさらに備える、請求項1に記載のシステム。
  9. 前記誤警報排除モジュールが、前記動き条件が前記しきい値より上であるとき、視覚フィードバック、音声フィードバック、および振動性フィードバックのうちの少なくとも1つを提供するように構成される、請求項8に記載のシステム。
  10. 前記ジェスチャがキー入力である、請求項1に記載のシステム。
  11. 仮想キーボードを使用して、電子デバイスにデータを入力するための方法であって、
    ユーザの指を収める画像のシーケンスを受け取ることと、
    前記シーケンスのそれぞれの画像についての結合された画像を生成することと、前記結合された画像は、前記ユーザの指および仮想キーボードを収めている、
    前記仮想キーボードに関係する前記画像のシーケンスにおける前記指の動きを検出することと、前記仮想キーボードは複数の仮想キーを有し、それぞれの仮想キーが複数の仮想センサを有する、
    検出された動きのピクセル領域を、前記仮想センサのピクセル領域と比較することにより、センサ作動データを生成することと、
    前記電子デバイスにデータを入力するために、前記センサ作動データを使用して、ジェスチャを認識することと
    を備える、方法。
  12. 前記結合された画像を、ディスプレイ上に表示することをさらに備える、請求項11に記載の方法。
  13. 前記結合された画像を表示することが、前記画像のシーケンスにオーバーレイされた前記仮想キーボードを表示することを備え、前記仮想キーボードは少なくとも部分的に透明である、請求項12に記載の方法。
  14. 前記ジェスチャを認識した後、少なくとも1つの仮想キーをハイライトすることをさらに備える、請求項12に記載の方法。
  15. 前記ジェスチャを認識することが、少なくとも1つの候補ジェスチャを識別するために、前記センサ作動データを、複数のジェスチャ認識テンプレートのそれぞれと比較することを備える、請求項11に記載の方法。
  16. 前記検出された動きを使用して、ジェスチャの終点を検出することをさらに備える、請求項15に記載の方法。
  17. 動的時間伸縮を使用して、前記センサ作動データを、それぞれのジェスチャ認識テンプレートと合わせることをさらに備える、請求項16に記載の方法。
  18. 信頼ファクタを、それぞれの候補ジェスチャに割り当てることをさらに備える、請求項15に記載の方法。
  19. 前記ジェスチャを認識することが、最も大きい信頼ファクタを有する前記少なくとも1つの候補ジェスチャから、ジェスチャを選択することを備える、請求項18に記載の方法。
  20. 前記センサ作動データを使用して動き条件を決定することと、前記動き条件がしきい値より上であるとき、前記少なくとも1つの候補ジェスチャのうちの1つまたは複数が、認識されたジェスチャであることを防ぐことをさらに備える、請求項15に記載の方法。
  21. コンピューティングデバイスにデータを入力するためのシステムであって、
    ユーザの指を収める画像のシーケンスを捕捉するための手段と、
    仮想キーボードと結合された前記シーケンスのぞれぞれの画像を表示するための手段と、ここにおいて、前記仮想キーボードに関係する表示された画像における前記指の位置は、前記ユーザの指が前記カメラに関係して動くにつれて変化する、
    前記仮想キーボードに関係する前記画像のシーケンスにおける前記ユーザの指の動きを検出するための手段と、ここにおいて、前記仮想キーボードは複数の仮想キーを備え、それぞれの仮想キーが複数の仮想センサを有し、動きを検出するための手段は、検出された動きを使用して前記仮想センサのセンサ作動データを捕捉する、
    前記コンピューティングデバイスにデータを入力するために、前記センサ作動データを使用して、ユーザのジェスチャを認識するための手段と、
    を備える、システム。
  22. 前記表示するための手段が、前記仮想キーボードを、前記シーケンスにおける前記画像のそれぞれにオーバーレイし、前記仮想キーボードが少なくとも部分的に透明である、請求項21に記載のシステム。
  23. 前記システムが、前記ジェスチャが認識されるとき、視覚フィードバック、音声フィードバック、および振動性フィードバックのうちの少なくとも1つを提供するように構成される、請求項21に記載のシステム。
  24. ジェスチャの終点を検出するための手段をさらに備える、請求項21に記載のシステム。
  25. 前記ユーザのジェスチャを認識するための手段が、前記ジェスチャを認識するために、前記センサ作動データを、複数のジェスチャ認識テンプレートのそれぞれと比較するように構成される、請求項24に記載のシステム。
  26. 前記ユーザのジェスチャを認識するための手段が、前記ジェスチャの終点が検出された後に、前記センサ作動データを、前記複数のジェスチャ認識テンプレートのそれぞれと比較するように構成される、請求項25に記載のシステム。
  27. 前記ユーザのジェスチャを認識するための手段が、動的時間伸縮を使用して、前記センサ作動データを、前記複数のジェスチャ認識テンプレートのそれぞれに合わせるように構成される、請求項25に記載のシステム。
  28. 前記動き条件がしきい値より上であるとき、前記ジェスチャパターン適合モジュールが、前記ジェスチャを認識することから防ぐための手段をさらに備える、請求項21に記載のシステム。
  29. 実行されるときに、仮想キーボードを使用して電子デバイスにデータを入力するという方法を行う命令を備える、非一時的なコンピュータ可読記憶媒体であって、前記方法が、
    ユーザの指を収める画像のシーケンスを受け取ることと、
    前記シーケンスのそれぞれの画像についての結合された画像を生成することと、前記結合された画像は、前記ユーザの指および仮想キーボードを収めている、
    前記仮想キーボードに関係する前記画像のシーケンスにおける前記指の動きを検出することと、前記仮想キーボードは複数の仮想キーを有し、それぞれの仮想キーが複数の仮想センサを有する、
    検出された動きのピクセル領域を、前記仮想センサのピクセル領域と比較することにより、センサ作動データを生成することと、
    前記電子デバイスにデータを入力するために、前記センサ作動データを使用して、ジェスチャを認識することと
    を備える、非一時的なコンピュータ可読記憶媒体。
  30. 前記方法が、前記結合された画像を、ディスプレイ上に表示することをさらに備える、請求項29に記載のコンピュータ可読記憶媒体。
  31. 前記結合された画像を表示することが、前記画像のシーケンスにオーバーレイされた前記仮想キーボードを表示することを備え、前記仮想キーボードは少なくとも部分的に透明である、請求項30に記載のコンピュータ可読記憶媒体。
  32. 前記方法が、前記ジェスチャを認識した後、少なくとも1つの仮想キーをハイライトすることをさらに備える、請求項31に記載のコンピュータ可読記憶媒体。
  33. 前記ジェスチャを認識することが、少なくとも1つの候補ジェスチャを識別するために、前記センサ作動データを、複数のジェスチャ認識テンプレートのそれぞれと比較することを備える、請求項29に記載のコンピュータ可読記憶媒体。
  34. 前記方法が、前記検出された動きを使用して、ジェスチャの終点を検出することをさらに備える、請求項33に記載のコンピュータ可読記憶媒体。
  35. 前記方法が、動的時間伸縮を使用して、前記センサ作動データを、それぞれのジェスチャ認識テンプレートと合わせることをさらに備える、請求項34に記載のコンピュータ可読記憶媒体。
  36. 前記方法が、信頼ファクタをそれぞれの候補ジェスチャに割り当てることをさらに備える、請求項35に記載のコンピュータ可読記憶媒体。
  37. 前記ジェスチャを認識することが、最も大きい信頼ファクタを有する前記少なくとも1つの候補ジェスチャから、ジェスチャを選択することを備える、請求項36に記載のコンピュータ可読記憶媒体。
  38. 前記方法が、前記センサ作動データを使用して動き条件を決定することと、前記動き条件がしきい値より上であるとき、前記少なくとも1つの候補ジェスチャのうちの1つまたは複数が、認識されたジェスチャであることを防ぐことをさらに備える、請求項37に記載のコンピュータ可読記憶媒体。
JP2014506521A 2011-04-20 2012-04-18 仮想キーボードおよびその提供方法 Active JP5788588B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/090,497 US8928589B2 (en) 2011-04-20 2011-04-20 Virtual keyboards and methods of providing the same
US13/090,497 2011-04-20
PCT/US2012/034122 WO2012145429A2 (en) 2011-04-20 2012-04-18 Virtual keyboards and methods of providing the same

Publications (2)

Publication Number Publication Date
JP2014512620A true JP2014512620A (ja) 2014-05-22
JP5788588B2 JP5788588B2 (ja) 2015-09-30

Family

ID=46026945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014506521A Active JP5788588B2 (ja) 2011-04-20 2012-04-18 仮想キーボードおよびその提供方法

Country Status (5)

Country Link
US (1) US8928589B2 (ja)
EP (1) EP2699989A2 (ja)
JP (1) JP5788588B2 (ja)
CN (1) CN103518179B (ja)
WO (1) WO2012145429A2 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8810543B1 (en) 2010-05-14 2014-08-19 Cypress Semiconductor Corporation All points addressable touch sensing surface
US9135503B2 (en) * 2010-11-09 2015-09-15 Qualcomm Incorporated Fingertip tracking for touchless user interface
WO2012144666A1 (en) * 2011-04-19 2012-10-26 Lg Electronics Inc. Display device and control method therof
CN103019391A (zh) * 2011-09-22 2013-04-03 纬创资通股份有限公司 利用所撷取键盘影像作为指令输入依据的输入装置及方法
KR101322465B1 (ko) 2011-11-17 2013-10-28 삼성전자주식회사 셀프 카메라 촬영을 위한 방법 및 장치
US9430035B2 (en) * 2011-12-30 2016-08-30 Intel Corporation Interactive drawing recognition
US20130239041A1 (en) * 2012-03-06 2013-09-12 Sony Corporation Gesture control techniques for use with displayed virtual keyboards
US9747306B2 (en) * 2012-05-25 2017-08-29 Atheer, Inc. Method and apparatus for identifying input features for later recognition
US9772722B2 (en) 2012-10-22 2017-09-26 Parade Technologies, Ltd. Position sensing methods and devices with dynamic gain for edge positioning
US11157436B2 (en) 2012-11-20 2021-10-26 Samsung Electronics Company, Ltd. Services associated with wearable electronic device
US8994827B2 (en) 2012-11-20 2015-03-31 Samsung Electronics Co., Ltd Wearable electronic device
US11237719B2 (en) 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
US10185416B2 (en) 2012-11-20 2019-01-22 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving movement of device
US10551928B2 (en) 2012-11-20 2020-02-04 Samsung Electronics Company, Ltd. GUI transitions on wearable electronic device
US11372536B2 (en) 2012-11-20 2022-06-28 Samsung Electronics Company, Ltd. Transition and interaction model for wearable electronic device
US10302434B2 (en) * 2012-11-20 2019-05-28 CSR Technology, Inc. Method and apparatus for determining walking direction for a pedestrian dead reckoning process
US10423214B2 (en) 2012-11-20 2019-09-24 Samsung Electronics Company, Ltd Delegating processing from wearable electronic device
US20140152566A1 (en) * 2012-12-05 2014-06-05 Brent A. Safer Apparatus and methods for image/sensory processing to control computer operations
US9983779B2 (en) 2013-02-07 2018-05-29 Samsung Electronics Co., Ltd. Method of displaying menu based on depth information and space gesture of user
US9971888B2 (en) * 2013-03-15 2018-05-15 Id Integration, Inc. OS security filter
US9483176B2 (en) * 2013-07-08 2016-11-01 Samsung Display Co., Ltd. Method and apparatus to reduce display lag of soft keyboard presses
WO2015052588A2 (en) * 2013-10-10 2015-04-16 Itay Katz Systems, devices, and methods for touch-free typing
US9426605B2 (en) * 2013-10-10 2016-08-23 Yahoo! Inc. Cross device information exchange using gestures and locations
US9372543B2 (en) * 2013-12-16 2016-06-21 Dell Products, L.P. Presentation interface in a virtual collaboration session
US9557905B2 (en) 2013-12-18 2017-01-31 General Electric Company System and method for user input
US10691332B2 (en) 2014-02-28 2020-06-23 Samsung Electronics Company, Ltd. Text input on an interactive display
US9158426B1 (en) * 2014-03-19 2015-10-13 Google Inc. Touch keyboard calibration
US9766806B2 (en) 2014-07-15 2017-09-19 Microsoft Technology Licensing, Llc Holographic keyboard display
CN105323619A (zh) * 2014-08-04 2016-02-10 深圳市同方多媒体科技有限公司 基于模拟按键板的手势控制方法及手势控制电视机
US10015402B2 (en) 2014-09-08 2018-07-03 Nintendo Co., Ltd. Electronic apparatus
JP6684042B2 (ja) * 2014-09-08 2020-04-22 任天堂株式会社 電子機器
CN105635776B (zh) * 2014-11-06 2019-03-01 深圳Tcl新技术有限公司 虚拟操作界面遥控控制方法及系统
TWI576722B (zh) * 2015-04-15 2017-04-01 崑山科技大學 Wireless transmission code translation device
US10642349B2 (en) * 2015-05-21 2020-05-05 Sony Interactive Entertainment Inc. Information processing apparatus
US9740508B2 (en) 2015-08-21 2017-08-22 International Business Machines Corporation Alerting a user of an indicated impact of a command
CN107656687B (zh) * 2016-07-26 2020-04-24 南宁富桂精密工业有限公司 虚拟键盘生成的方法及系统
US10963066B2 (en) * 2017-06-26 2021-03-30 Seoul National University R&Db Foundation Keyboard input system and keyboard input method using finger gesture recognition
CN107632667A (zh) * 2017-10-26 2018-01-26 上海龙旗科技股份有限公司 一种实现虚拟键盘的设备及双屏笔记本电脑
US11580002B2 (en) * 2018-08-17 2023-02-14 Intensity Analytics Corporation User effort detection
WO2020106268A1 (en) * 2018-11-19 2020-05-28 Hewlett-Packard Development Company, L.P. Virtual input devices
US11270515B2 (en) 2019-09-04 2022-03-08 Qualcomm Incorporated Virtual keyboard
US11132058B1 (en) * 2019-09-12 2021-09-28 Facebook Technologies, Llc Spatially offset haptic feedback
CN111158476B (zh) * 2019-12-25 2023-05-23 中国人民解放军军事科学院国防科技创新研究院 一种虚拟键盘的按键识别方法、系统、设备及存储介质
US11656723B2 (en) * 2021-02-12 2023-05-23 Vizio, Inc. Systems and methods for providing on-screen virtual keyboards
US11757951B2 (en) 2021-05-28 2023-09-12 Vizio, Inc. System and method for configuring video watch parties with gesture-specific telemojis
CN113778312B (zh) * 2021-08-17 2024-04-23 咪咕数字传媒有限公司 虚拟键盘显示方法、装置、设备及计算机可读存储介质
CN114356108A (zh) * 2022-01-13 2022-04-15 天津大学 一种高级语言键盘
CN114167996B (zh) * 2022-02-14 2022-05-17 浙江强脑科技有限公司 一种基于传感器的动作预判方法、装置及存储介质
WO2024072410A1 (en) * 2022-09-30 2024-04-04 Innopeak Technology, Inc. Real-time hand gesture tracking and recognition

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005174356A (ja) * 2000-02-01 2005-06-30 Toshiba Corp 方向検出方法
WO2007013652A1 (ja) * 2005-07-29 2007-02-01 Pioneer Corporation 画像表示制御装置、画像表示装置、遠隔操作器、画像表示システム
JP2007316882A (ja) * 2006-05-25 2007-12-06 Mitsubishi Electric Corp 遠隔操作装置及び方法
JP2008146243A (ja) * 2006-12-07 2008-06-26 Toshiba Corp 情報処理装置、情報処理方法、及びプログラム
JP2010045658A (ja) * 2008-08-14 2010-02-25 Sony Corp 情報処理装置、情報処理方法および情報処理プログラム
WO2011027397A1 (ja) * 2009-09-03 2011-03-10 株式会社 東芝 ユーザーインターフェース装置

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5168531A (en) * 1991-06-27 1992-12-01 Digital Equipment Corporation Real-time recognition of pointing information from video
JP3244798B2 (ja) * 1992-09-08 2002-01-07 株式会社東芝 動画像処理装置
JP3419050B2 (ja) * 1993-11-19 2003-06-23 株式会社日立製作所 入力装置
US5563988A (en) * 1994-08-01 1996-10-08 Massachusetts Institute Of Technology Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment
US5594469A (en) * 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
DE69634913T2 (de) * 1995-04-28 2006-01-05 Matsushita Electric Industrial Co., Ltd., Kadoma Schnittstellenvorrichtung
US6002808A (en) * 1996-07-26 1999-12-14 Mitsubishi Electric Information Technology Center America, Inc. Hand gesture control system
US6075895A (en) * 1997-06-20 2000-06-13 Holoplex Methods and apparatus for gesture recognition based on templates
US6037882A (en) * 1997-09-30 2000-03-14 Levy; David H. Method and apparatus for inputting data to an electronic system
US6088018A (en) 1998-06-11 2000-07-11 Intel Corporation Method of using video reflection in providing input data to a computer system
US6501515B1 (en) * 1998-10-13 2002-12-31 Sony Corporation Remote control system
US6614422B1 (en) * 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US6512838B1 (en) * 1999-09-22 2003-01-28 Canesta, Inc. Methods for enhancing performance and data acquired from three-dimensional image systems
US6738041B2 (en) * 1999-10-29 2004-05-18 Intel Corporation Using video information to control cursor position
JP4052498B2 (ja) * 1999-10-29 2008-02-27 株式会社リコー 座標入力装置および方法
US7050177B2 (en) * 2002-05-22 2006-05-23 Canesta, Inc. Method and apparatus for approximating depth of an object's placement onto a monitored region with applications to virtual interface devices
US20030132950A1 (en) * 2001-11-27 2003-07-17 Fahri Surucu Detecting, classifying, and interpreting input events based on stimuli in multiple sensory domains
US6710770B2 (en) * 2000-02-11 2004-03-23 Canesta, Inc. Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device
SE0000850D0 (sv) * 2000-03-13 2000-03-13 Pink Solution Ab Recognition arrangement
JP2003535405A (ja) * 2000-05-29 2003-11-25 ブイケービー インコーポレイティド 文字・数字及び他のデータを入力する仮想データ入力装置及び方法
US6826292B1 (en) * 2000-06-23 2004-11-30 Sarnoff Corporation Method and apparatus for tracking moving objects in a sequence of two-dimensional images using a dynamic layered representation
US7042442B1 (en) * 2000-06-27 2006-05-09 International Business Machines Corporation Virtual invisible keyboard
US7227526B2 (en) * 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
US7058204B2 (en) * 2000-10-03 2006-06-06 Gesturetek, Inc. Multiple camera control system
JP3725460B2 (ja) * 2000-10-06 2005-12-14 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像処理方法、記録媒体、コンピュータプログラム、半導体デバイス
US6903730B2 (en) * 2000-11-10 2005-06-07 Microsoft Corporation In-air gestures for electromagnetic coordinate digitizers
AU2002243265A1 (en) * 2000-11-19 2002-06-24 Canesta, Inc. Method for enhancing performance in a system utilizing an array of sensors that sense at least two-dimensions
CA2433791A1 (en) * 2001-01-08 2002-07-11 Vkb Inc. A data input device
US6600475B2 (en) * 2001-01-22 2003-07-29 Koninklijke Philips Electronics N.V. Single camera system for gesture-based input and target indication
US6594616B2 (en) 2001-06-18 2003-07-15 Microsoft Corporation System and method for providing a mobile input device
US7710391B2 (en) * 2002-05-28 2010-05-04 Matthew Bell Processing an image utilizing a spatially varying pattern
JP2005533463A (ja) * 2002-06-26 2005-11-04 ヴイケイビー・インコーポレーテッド 多機能統合画像センサおよび仮想インタフェース技術への適用
WO2005008626A1 (en) 2003-07-11 2005-01-27 University Of North Carolina At Chapel Hill Methods and systems for controlling a computer using a video image and for combining the video image with a computer desktop
US7969409B2 (en) * 2004-02-18 2011-06-28 Rafal Jan Krepec Camera assisted pen tablet
US20070115261A1 (en) * 2005-11-23 2007-05-24 Stereo Display, Inc. Virtual Keyboard input system using three-dimensional motion detection by variable focal length lens
JP4005061B2 (ja) * 2004-06-30 2007-11-07 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、プログラム、および、情報処理装置におけるオブジェクト制御方法
JP2006053678A (ja) * 2004-08-10 2006-02-23 Toshiba Corp ユニバーサルヒューマンインタフェースを有する電子機器
US8144118B2 (en) * 2005-01-21 2012-03-27 Qualcomm Incorporated Motion-based tracking
WO2006086508A2 (en) * 2005-02-08 2006-08-17 Oblong Industries, Inc. System and method for genture based control system
US9760214B2 (en) * 2005-02-23 2017-09-12 Zienon, Llc Method and apparatus for data entry input
US20070063979A1 (en) * 2005-09-19 2007-03-22 Available For Licensing Systems and methods to provide input/output for a portable data processing device
US8144121B2 (en) * 2006-10-11 2012-03-27 Victor Company Of Japan, Limited Method and apparatus for controlling electronic appliance
US20080180399A1 (en) * 2007-01-31 2008-07-31 Tung Wan Cheng Flexible Multi-touch Screen
JP4605170B2 (ja) * 2007-03-23 2011-01-05 株式会社デンソー 操作入力装置
EP2135155B1 (en) * 2007-04-11 2013-09-18 Next Holdings, Inc. Touch screen system with hover and click input methods
US8203530B2 (en) * 2007-04-24 2012-06-19 Kuo-Ching Chiang Method of controlling virtual object by user's figure or finger motion for electronic device
CN101689244B (zh) * 2007-05-04 2015-07-22 高通股份有限公司 用于紧凑设备的基于相机的用户输入
US8726194B2 (en) * 2007-07-27 2014-05-13 Qualcomm Incorporated Item selection using enhanced control
US8572155B2 (en) * 2007-08-23 2013-10-29 Applied Materials, Inc. Virtual sensors
US8325214B2 (en) * 2007-09-24 2012-12-04 Qualcomm Incorporated Enhanced interface for voice and video communications
US7975243B2 (en) * 2008-02-25 2011-07-05 Samsung Electronics Co., Ltd. System and method for television control using hand gestures
US8555207B2 (en) * 2008-02-27 2013-10-08 Qualcomm Incorporated Enhanced input using recognized gestures
US9772689B2 (en) * 2008-03-04 2017-09-26 Qualcomm Incorporated Enhanced gesture-based image manipulation
US8259163B2 (en) * 2008-03-07 2012-09-04 Intellectual Ventures Holding 67 Llc Display with built in 3D sensing
JP5277703B2 (ja) * 2008-04-21 2013-08-28 株式会社リコー 電子機器
US8054300B2 (en) * 2008-06-17 2011-11-08 Apple Inc. Capacitive sensor panel having dynamically reconfigurable sensor size and shape
US8514251B2 (en) * 2008-06-23 2013-08-20 Qualcomm Incorporated Enhanced character input using recognized gestures
US7869204B2 (en) * 2008-09-15 2011-01-11 International Business Machines Corporation Compact size portable computer having a fully integrated virtual keyboard projector and a display projector
US8165394B2 (en) * 2008-09-18 2012-04-24 Microsoft Corporation Reconstruction of image in a Bayer pattern
US20100177035A1 (en) 2008-10-10 2010-07-15 Schowengerdt Brian T Mobile Computing Device With A Virtual Keyboard
US9030564B2 (en) * 2008-10-10 2015-05-12 Qualcomm Incorporated Single camera tracker
US8941466B2 (en) * 2009-01-05 2015-01-27 Polytechnic Institute Of New York University User authentication for devices with touch sensitive elements, such as touch sensitive display screens
US20100199228A1 (en) * 2009-01-30 2010-08-05 Microsoft Corporation Gesture Keyboarding
US20100259482A1 (en) * 2009-04-10 2010-10-14 Microsoft Corporation Keyboard gesturing
CN104808821A (zh) * 2009-05-26 2015-07-29 美国智能科技有限公司 数据输入方法及装置
US8547327B2 (en) * 2009-10-07 2013-10-01 Qualcomm Incorporated Proximity object tracker
US8009141B1 (en) * 2011-03-14 2011-08-30 Google Inc. Seeing with your hand
US9430145B2 (en) * 2011-04-06 2016-08-30 Samsung Electronics Co., Ltd. Dynamic text input using on and above surface sensing of hands and fingers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005174356A (ja) * 2000-02-01 2005-06-30 Toshiba Corp 方向検出方法
WO2007013652A1 (ja) * 2005-07-29 2007-02-01 Pioneer Corporation 画像表示制御装置、画像表示装置、遠隔操作器、画像表示システム
JP2007316882A (ja) * 2006-05-25 2007-12-06 Mitsubishi Electric Corp 遠隔操作装置及び方法
JP2008146243A (ja) * 2006-12-07 2008-06-26 Toshiba Corp 情報処理装置、情報処理方法、及びプログラム
JP2010045658A (ja) * 2008-08-14 2010-02-25 Sony Corp 情報処理装置、情報処理方法および情報処理プログラム
WO2011027397A1 (ja) * 2009-09-03 2011-03-10 株式会社 東芝 ユーザーインターフェース装置

Also Published As

Publication number Publication date
WO2012145429A3 (en) 2013-03-07
US20120268376A1 (en) 2012-10-25
EP2699989A2 (en) 2014-02-26
US8928589B2 (en) 2015-01-06
CN103518179A (zh) 2014-01-15
CN103518179B (zh) 2016-10-12
WO2012145429A9 (en) 2013-05-23
WO2012145429A2 (en) 2012-10-26
JP5788588B2 (ja) 2015-09-30

Similar Documents

Publication Publication Date Title
JP5788588B2 (ja) 仮想キーボードおよびその提供方法
KR101947034B1 (ko) 휴대 기기의 입력 장치 및 방법
US9035883B2 (en) Systems and methods for modifying virtual keyboards on a user interface
US8890825B2 (en) Apparatus and method for determining the position of user input
US20150220150A1 (en) Virtual touch user interface system and methods
US20150220149A1 (en) Systems and methods for a virtual grasping user interface
US20140327611A1 (en) Information processing apparatus and method, and program
US10613723B2 (en) Information processing apparatus, information processing method, and computer program product
EP2725458B1 (en) Information processing device, input control method, and input control program
CN104199607A (zh) 一种基于输入法的候选选择方法和装置
US20140380223A1 (en) User interface comprising radial layout soft keypad
KR20190001559A (ko) 손가락 동작 인식을 이용한 키보드 입력 시스템 및 키보드 입력 방법
Yin et al. CamK: A camera-based keyboard for small mobile devices
Yin et al. CamK: Camera-based keystroke detection and localization for small mobile devices
US20160034027A1 (en) Optical tracking of a user-guided object for mobile platform user input
US20230236673A1 (en) Non-standard keyboard input system
CN103870146A (zh) 一种信息处理方法及电子设备
CN108021313B (zh) 一种图片浏览方法及终端
KR20190132885A (ko) 영상으로부터 손을 검출하는 장치, 방법 및 컴퓨터 프로그램
US11244138B2 (en) Hologram-based character recognition method and apparatus
CN103543824A (zh) 手势输入系统及方法
WO2010069271A1 (zh) 触摸屏输入方法、装置和通信终端
Zhang et al. DynaKey: Dynamic Keystroke Tracking Using a Head-Mounted Camera Device
CN103713840B (zh) 可携式装置及其按键点击范围调整方法
Weng et al. A Vision-based Virtual Keyboard Design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150729

R150 Certificate of patent or registration of utility model

Ref document number: 5788588

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250