JP2015512540A - インスタンス化可能なジェスチャオブジェクト - Google Patents

インスタンス化可能なジェスチャオブジェクト Download PDF

Info

Publication number
JP2015512540A
JP2015512540A JP2015503316A JP2015503316A JP2015512540A JP 2015512540 A JP2015512540 A JP 2015512540A JP 2015503316 A JP2015503316 A JP 2015503316A JP 2015503316 A JP2015503316 A JP 2015503316A JP 2015512540 A JP2015512540 A JP 2015512540A
Authority
JP
Japan
Prior art keywords
gesture
application
recognition
input
computing device
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
JP2015503316A
Other languages
English (en)
Other versions
JP6226394B2 (ja
JP2015512540A5 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015512540A publication Critical patent/JP2015512540A/ja
Publication of JP2015512540A5 publication Critical patent/JP2015512540A5/ja
Application granted granted Critical
Publication of JP6226394B2 publication Critical patent/JP6226394B2/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/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
    • G06F3/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00411Display of information to the user, e.g. menus the display also being used for user input, e.g. touch screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

インスタンス化可能なジェチャオブジェクトの技術を説明する。当該技術において、ネイティブのジェスチャ機能は、スクリプトベースの認識インタフェースを使用してアプリケーションに対して抽象化される。ジェスチャオブジェクトは、動的なスクリプト言語を使用してプログラムされるアプリケーションの指示で、異なる対話コンテキストについてインスタンス化され得る。ジェスチャオブジェクトは、ジェスチャ認識及び対応する認識されたジェスチャが適用可能なコンテンツのターゲット要素について考慮すべき、特定のタッチ接触及び/又は他の入力を指定するように構成され得る。作成後、ジェスチャオブジェクトは、アプリケーションの代わりに、ジェスチャ処理オペレーションを管理する。当該処理オペレーションは、ネイティブジェスチャシステムを有する認識装置を作成することと、処理用に入力データを供給することと、生のジェスチャデータをアプリケーション及び/又はターゲット要素に適切なフォーマットに変換することとを含む。したがって、スクリプトベースのアプリケーションは、ジェスチャオブジェクトを使用して、ジェスチャ認識に関連付けられる処理タスクをオフロードし、ネイティブジェスチャ機能を利用することができる。

Description

本発明は、インスタン化可能なジェスチャオブジェクト(insitantiable gesture object)に関する。
ユーザがコンテンツと対話する方法としてコンピューティングデバイスによってサポートされるジェスチャの数及びタイプは常に増加し続けている。ユーザは、様々な異なるアプリケーション及びコンテンツの対話に利用可能となるサポートされるジェスチャを、ユーザ経験を通じて予測することができる。
しかし、伝統的に、ネイティブでサポートされるジェスチャ機能は複雑な構成を要することがあり、これは、一部の開発者が、自身のアプリケーションにジェスチャを組み込むのを困難にするか、そのコストが非常に高くなる。加えて、既存のシステムにおけるネイティブのジェスチャ機能は、JavaScript(登録商標)及びHTMLのような動的なスクリプト言語を用いる「最近の」アプリケーション及び/又はコンテンツについて制限されるか、その全体が利用不可能なことがある。
インスタンス化可能なジェチャオブジェクトの技術を説明する。当該技術において、ネイティブのジェスチャ機能は、スクリプトベースの認識インタフェースを使用してアプリケーションに対して抽象化される。ジェスチャオブジェクトは、動的なスクリプト言語を使用してプログラムされるアプリケーションの指示で、異なる対話コンテキストについてインスタンス化され得る。ジェスチャオブジェクトは、ジェスチャ認識及び対応する認識されたジェスチャが適用可能なコンテンツのターゲット要素について考慮すべき、特定のタッチ接触及び/又は他の入力を指定するように構成され得る。作成後、ジェスチャオブジェクトは、アプリケーションの代わりに、ジェスチャ処理オペレーションを管理する。当該処理オペレーションは、ネイティブジェスチャシステムを有する認識装置を作成することと、処理用に入力データを供給することと、生のジェスチャデータをアプリケーション及び/又はターゲット要素に適切なフォーマットに変換することとを含む。したがって、スクリプトベースのアプリケーションは、ジェスチャオブジェクトを使用して、ジェスチャ認識に関連付けられる処理タスクをオフロードし、ネイティブジェスチャ機能を利用することができる。
この「発明の概要」の記載は、下記の「発明を実施するための形態」において更に説明される概念の選択を、簡略化した形で紹介するのに提供される。この「発明の概要」の記載は、特許請求に係る主題の主要な特徴又は本質的特徴を特定するようには意図されておらず、特許請求のかかる主題の範囲を決定する際の助けとして使用されるようにも意図されていない。
詳細な説明では、添付の図面を参照して説明される。図面において、参照符号の最も左の桁は、その参照符号が最初に現れる図面を識別する。説明及び図面内の異なる例における同じ参照符号の使用は、類似又は同一の項目を示すことがある。
本明細書で説明されるインスタンス化可能なジェスチャオブジェクトを用いるように動作可能な例示的環境の図である。 1つ又は複数の実施形態に係る例示のジェスチャオブジェクトの詳細を示すシナリオを示す図である。 ジェスチャ認識のために複数のジェスチャオブジェクトが用いられる例示のシナリオを示す図である。 1つ又は複数の実施形態に係るジェスチャオブジェクトをインスタンス化する例示のプロシージャを示すフロー図である。 1つ又は複数の実施形態に係るジェスチャ認識のためにアプリケーションを登録する、別の例示的なプロシージャを示すフロー図である。 本明細書で説明される技術の態様を実装するのに1つ又は複数の実施形態において用いられる例示のシステムの様々なコンポーネントを示す図である。
<概要>
伝統的に、プラットフォームによって提供されるネイティブにサポートされるジェスチャ機能は、複雑な構成を要することがあり、これは、一部の開発者が、自身のアプリケーションにジェスチャを組み込むのを困難にするか、そのコストが非常に高くなる。加えて、既存のプラットフォームにおけるネイティブのジェスチャ機能は、JavaScript及びHTMLのような動的なスクリプト言語を用いるアプリケーションに利用不可能なことがある。
インスタンス化可能なジェチャオブジェクトの技術を説明する。当該技術において、ネイティブのジェスチャ機能は、スクリプトベースの認識インタフェースを使用してアプリケーションに対して抽象化される。ジェスチャオブジェクトは、動的なスクリプト言語を使用してプログラムされるアプリケーションの指示で、異なる対話コンテキストについてインスタンス化され得る。ジェスチャオブジェクトは、ジェスチャ認識及び対応する認識されたジェスチャが適用可能なコンテンツのターゲット要素について考慮すべき、特定のタッチ接触及び/又は他の入力を指定するように構成され得る。作成後、ジェスチャオブジェクトは、アプリケーションの代わりに、ジェスチャ処理オペレーションを管理する。当該処理オペレーションは、ネイティブジェスチャシステムを有する認識装置を作成することと、処理用に入力データを供給することと、生のジェスチャデータをアプリケーション及び/又はターゲット要素に適切なフォーマットに変換することとを含む。したがって、スクリプトベースのアプリケーションは、ジェスチャオブジェクトを使用して、ジェスチャ認識に関連付けられる処理タスクをオフロードし、ネイティブジェスチャ機能を利用することができる。
以下の議論では、まず、本明細書で説明されるインスタンス化可能なジェスチャオブジェクトの技術を使用するように動作可能な例示の環境を説明する。次いで、例示のシナリオとプロシージャを説明する。これは、例示する環境で用いられてもよく、他の環境で用いられてもよい。したがって、例示のシナリオ及びプロシージャは、例示する環境に限定されず、また例示する環境は、本明細書で説明される例示に対する追加のシナリオ及びプロシージャを組み込んでもよい。最後に、1つ又は複数の実施形態においてインスタンス化可能なジェスチャオブジェクト技術を実装するのに用いることが可能な例示のコンピューティングシステムを説明する。
<動作環境>
図1は、本明細書で説明される技術を用いるのに動作可能な例示的実装における環境100の図である。図示される環境100は、ネットワーク106を介して通信可能に結合されるコンピューティングデバイス102とウェブサービス104とを含む。コンピューティングデバイス102及びウェブサービス104はそれぞれ、広範なコンピューティングデバイスによって実装され得る。
例えばコンピューティングデバイス102は、デスクトップコンピュータ、モバイルステーション、娯楽用の機器、タブレット又はスレートデバイス、サーフェスコンピューティングデバイス、ディスプレイデバイスと通信可能に結合されるセットトップボックス、モバイル通信デバイス(例えば無線電話)、ゲームコンソール等のようなネットワーク106上で通信する能力を有するコンピュータとして構成され得る。コンピューティングデバイス102は、様々な処理システムを用いる任意の適切なコンピューティングシステム及び/又はデバイスとして構成されてもよく、その幾つかの追加の例は、図6の例示のシステムに関連して説明される。
コンピューティングデバイス102は更に、オペレーティングシステム108を含むように図示されている。一般的に言うと、オペレーティングシステム108は、コンピューティングデバイス102の基礎となる機能性を、該コンピューティングデバイス102上で実行可能なアプリケーション110に対して抽象化するように構成される。例えばオペレーティングシステム108は、この基礎となる機能性を「どのように」実装するかを知る必要なく、アプリケーション110を書くことができるように、コンピューティングデバイス102の処理、メモリ、ネットワーク及び/又はディスプレイ機能を抽象化することができる。アプリケーション110は、例えばディスプレイデバイスによってレンダリング及び表示されるべきデータをオペレーティングシステム108に提供することができ、このレンダリングがどのように実行されることになるかを理解する必要はない。オペレーティングシステム108は、システムの特性を利用するのにアプリケーションが起動することができる様々なサービス、インタフェース及び機能性を提供することができる。広範な機能性をコンピューティングデバイス102に提供する様々なアプリケーション110は、これらに限られないが、数例を挙げると、ウェブサービス及び/又は他のコンテンツにアクセスしてレンダリングするブラウザ、オフィス生産性アプリケーション、電子メールクライアント、ゲーム、マルチメディア管理プログラム、デバイス管理ソフトウェア及びソーシャルネットワーキングアプリケーションを含むことが考えられる。
オペレーティングシステム108は更に、異なる種類のアプリケーション用のサービス、インタフェース及び機能性を提供することができ、そのようなアプリケーションには、C++、C#のような静的にコンパイルされる言語を使用して書かれる「レガシー」アプリケーションと、JavaScript、ハイパーテキストマークアップ言語のリビジョン5及び/又はカスケードスタイルシード(HTML5/CSS)、拡張アプリケーションマークアップ言語(XAML)のような、ラインタイムに動的にコンパイルされる動的なスクリプト言語を使用して書かれる「最近の」アプリケーションとが含まれる。最近のアプリケーションは、オペレーティングシステム108によってサポートされる1つ又は複数のランタイムプラットフォームを通して動作することがある。ランタイムプラットフォームは、対応するアプリケーションにそれぞれの実行環境を提供するように構成される。ランタイムプラットフォームは、コンパイル可能なアプリケーションに対して特徴、ルーチン及び機能の共通のセットを提供し、これにより共通のタスクのコーディングを、アプリケーションの開発からオフロードすることができる。したがって、ランタイムのプラットフォームは、アプリケーション用の動的スクリプトに対して小さな変更しか必要としないか全く変更する必要なく、及び/又は再コンパイルする必要なしに、異なる種類のシステムへのアプリケーションの移植性を促進することができる。ランタイムプラットフォームの例は、数例を挙げると、JAVA(登録商標)ランタイム環境(JRE)、Adobe(登録商標)Flash(登録商標)、マイクロソフト(登録商標)NETフレームワーク、マイクロソフトSilverlight(登録商標)及びWinRT(登録商標)を含む。
図示される例において、コンピューティングデバイス102は、ディスプレイデバイス112を含むか使用し、ディスプレイデバイス112は、タッチスクリーン及びジェスチャ機能を可能にするようにタッチスクリーン/タッチデジタイザを含むよう構成され得る。コンピューティングデバイス102は、したがって、ディスプレイドライバと、ジェスチャモジュール114と、並びに/あるいはディスプレイデバイス112のタッチ機能により可能にされるタッチスクリーン及びジェスチャ機能を提供するように動作可能な他のモジュールとを含むことができる。したがって、コンピューティングデバイスは、対応するオペレーションを実行させる入力及びジェスチャを認識するように構成され得る。
例えばジェスチャモジュール114は、図1に示されるようにオペレーティングシステム108のコンポーネントとして実装されることがある。ジェスチャモジュール114は、ジェスチャのサポート及び認識のためのネイティブ機能(例えばネイティブジェスチャシステム)を表し、そのようなジェスチャは、オペレーティングシステム108を介して、アプリケーション110に対してアクセス可能にされ得る。例えばオペレーティングシステム108は、ジェスチャ認識機能を起動するように動作可能な1つ又は複数のアプリケーションプログラミングインタフェース(API)を提供することがある。特に、ジェスチャモジュール114は、タッチスクリーン機能を使用して、コンピューティングデバイス102のディスプレイデバイス112上に又はディスプレイデバイス112に近接する、ユーザの手の指のようなタッチ入力を認識するように構成され得る。様々な異なるタイプのジェスチャがコンピューティングデバイスによって認識されることがあり、そのようなジェスチャは、限定ではなく例として、単一のタイプの入力(例えばタッチジェスチャ)から認識されるジェスチャだけでなく、複数のタイプの入力を伴うジェスチャを含む。例えば1つの指のジェスチャとベゼルジェスチャ、複数の指/同じ手のジェスチャとベゼルジェスチャ及び/又は複数の指/異なる手のジェスチャとベゼルジェスチャを認識することができる。さらに、ジェスチャモジュール114は、ジェスチャ、タッチ入力、カメラベースの入力、スタイラス入力及び他の異なるタイプの入力の間を検出し区分するように構成され得る。さらに、タッチスクリーン、マウス、タッチパッド、カメラ、ソフトウェア若しくはハードウェアキーボード及び/又はデバイスのハードウェアキー(例えば入力デバイス)を通じて得られる入力を含め、異なるソースから得られる様々な種類の入力を組み合わせて使用して、対応するデバイスのオペレーションを生じることもある。
コンピューティングデバイス102は更に、レンダリングエンジン116を含むように図示されている。レンダリングエンジン116は、コンテンツのディスプレイのために様々なコンテンツレンダリングオペレーションを扱うよう動作可能なコンピューティングデバイス102のコンポーネントを表す。例えばレンダリングエンジン116は、対応するマークアップ言語コンテンツを処理して、ディスプレイデバイス112上でのディスプレイのためにフォーマットされたコンテンツを出力することができる。少なくとも一部の実施形態において、レンダリングエンジン116は、ウェブページのレンダリング又はネットワーク106を介してウェブサービス104から取得され得る他のリソース118のレンダリングを容易にするブラウザのコンポーネントとして構成される。リソース118は、典型的にはネットワーク上で1又は複数のサービスプロバイタによって利用可能にされる、コンテンツ及び/又はサービスの任意の適切な組み合わせを含むことができる。レンダリングエンジン116は、スタンドアロンのアプリケーション又はオペレーティングシステムコンポーネントとして実装されることもある。コンピューティングデバイスのブラウザ及び他のアプリケーション110は、アプリケーションのために対応するコンテンツアイテムのレンダリングに対処するレンダリングエンジン116を起動することができる。例えば動的なスクリプト言語を用いる様々な種類の「最近の」アプリケーションは、対応するページ、ドキュメント、メディア、イメージ、フォーム、ユーザインタフェース及び/又は他の対応のアプリケーションコンテンツの処理及び表示のために、レンダリングエンジン116の機能性を使用することができる。
インスタンス化可能なジェスチャオブジェクト技術を実装するために、レンダリングエンジン116は、認識インタフェース120を含むか、あるいは使用するように構成され得る。認識インタフェース120は、レンダリングエンジン116を介してアプリケーション110に公開され、ジェスチャモジュール114によって表されるジェスチャのサポート及び認識のためにネイティブ機能との対話を可能にする機能性を表す。伝統的に、ジェスチャモジュール114によるジェスチャの直接構成は、複雑でリソース消費型のものであり得る。さらに既存のシステムにおけるネイティブジェスチャの機能性は、動的なスクリプト言語を用いる「最近の」アプリケーションには制限的であるか全体が利用不可能なことがある。したがって、ネイティブジェスチャの機能性を利用するアプリケーションを作るために、アプリケーションの開発者は、伝統的に、ジェスチャモジュール114によって提供される複雑な構成の管理オプションの詳細な知識を持つか、並びに/あるいは複雑な及び/又は静的なプログラミングを実行してアプリケーションコードからその機能を直接起動する必要がある。本明細書で詳細に説明されるように、認識インタフェース120は、アプリケーションの代わりに、様々なジェスチャ構成を実行し、オペレーションに対処して処理することによって、アプリケーションの開発を簡単にすることができる。したがって、認識インタフェース120は、ジェスチャ認識のための様々な処理及び取扱いオペレーションを、アプリケーションからオフロードし、これらのオペレーション用のコードを書かなければいけないこと及び/又はジェスチャ構成モジュールの詳細な知識を有しなければいけないことから、アプリケーション開発者を解放する。
あるアプローチにおいて、アプリケーション110は、認識インタフェース120を起動して、様々な対話のためにジェスチャモジュール122をインスタンス化することができる。ジェスチャオブジェクト122はその後、アプリケーションの代わりに、自動的にジェスチャモジュール114によりジェスチャ認識オペレーションに対処する。例えばジェスチャオブジェクト122は、アプリケーションの代わりにジェスチャモジュール114と通信して、異なる対話用の適切な認識装置124を作成し、ジェスチャ処理のために入力データを認識装置124に供給するように構成され得る。ジェスチャオブジェクト122は、一般的に言うと、基礎となる認識装置及びネイティブジェスチャ機能のスクリプトベースの表現及びその操作のためのインタフェースである。ジェスチャオブジェクト122及び対応する認識装置124は、それぞれの特定の対話コンテキストについて作成され得る。本明細書において使用されるとき、対話コンテキストは、ジェスチャ認識のためにジェスチャモジュール114によってトラックされる特定の入力又は入力のグループ(例えばタッチ接触、スタイラス入力、ポインタ入力、カメラ入力等)を指す。
認識装置124は、ネイティブジェスチャシステムのために作成されるコンポーネント/オブジェクトであり、これらは、異なる対話コンテキストについての入力をトラックし、該入力を、サポートされるジェスチャのライブラリにマップし、特定のジェスチャが起こった時を検出し、ジェスチャ認識用の適切なイベントを発火するように構成される。したがって、認識装置124は、異なるコンテキストにおけるジェスチャ認識について、システムレベルの処理に対処する機能性を表す。認識装置124は、指定されたシステムフォーマット及びプロトコルを使用して、入力のセットのためにネイティブのジェスチャ機能をどのように起動させるかを理解する。認識装置124は、サポートされる様々なジェスチャを検出するように構成される。そのようなジェスチャの例には、これらに限られないが、タップ、ホールド、回転、スケール、ズーム、パン及び変換ジェスチャが含まれる。
ジェスチャオブジェクト122は、アプリケーションの代わりに認識装置124によって生成された生のジェスチャイベントの処理を容易にする。ジェスチャオブジェクト122は、認識装置によって使用されるシステムフォーマットと、動的なスクリプト言語を使用してプログラムされるアプリケーションによって理解可能なスクリプトベースのフォーマットとの間の情報の変換を容易にすることができる。これは、認識装置によって発火されるイベントを検出すること、特定のアプリケーション用にジェスチャ情報/イベントをフォーマットすること、生のジェスチャデータをアプリケーション及び/又は対話コンテキスト/ジェスチャオブジェクトに関連付けられる要素の座標空間に変換すること等を含むことがある。その詳細は以下の議論からわかる。
例示的な動作環境について説明してきたので、次に、1つ又は複数の実施形態におけるインスタンス化可能なオブジェクトに関する一部の例示的な実装の詳細の議論を検討する。
<インスタンス化可能なジェスチャオブジェクトの詳細>
更に説明するため、次に図2を検討する。図2は、全体的に200において、認識インタフェース120を起動して、アプリケーション110の代わりにジェスチャ認識を取り扱うジェスチャオブジェクト122をインスタンス化する例示のシナリオを示している。レンダリングエンジン116(あるいは他のもの)によって)アプリケーション用にレンダリングされるコンテンツは、対応するコンテンツモデル202に従って表されることができる。コンテンツモデル202は、ドキュメント、ページ又は他のアプリケーションコンテンツの構造の階層的表現である。コンテンツモデルは、コンテンツを消費して該コンテンツ内に含まれる様々な要素204を参照して操作するアプリケーションを可能にする。要素204は、例えばイメージ、コントロール、テキスト、グラフィクス等のコンテンツとともに含まれるものを含むことができる。ある特定の例において、ドキュメントオブジェクトモデル(DOM)がアプリケーションによって使用され得る。DOMは、ブラウザ(又は他のアプリケーション)のためのページ内の要素を表し、該要素と対話するための標準的な勧告である。ページのDOMは、ブラウザによって構築されて、ウェブページ内に含まれる要素204を参照し、修正し、エフェクトを適用し及び/又は他の方法で操作するのに使用され得る。他のアプリケーション用のコンテンツもDOMに従って構成され、対応するページ、ファイル及び/又はドキュメントの要素204を表すことがある。他の種類のコンテンツモデル202を1つ又は複数の実施形態において用いてもよい。
図2に表されるように、アプリケーションは、認識インタフェース120と対話して、認識インタフェース120に、1つ又は複数の対話コンテンツについてジェスチャオブジェクト122を作成するように指示することがある。ジェスチャオブジェクト122は次いで、コンピューティングデバイス102のネイティブジェスチャ機能に関連付けられる、対応する認識装置124を作成してラップするように動作する。ジェスチャオブジェクトは、入力データを、ラップされた認識装置に供給し、認識装置及び/又はジェスチャモジュール114により実行された処理に基づいて、その認識装置から返される生のジェスチャ認識データ/イベントを受信する。ジェスチャオブジェクト122はまた、対応するコンテンツモデル202に基づいて特定の要素204にマップされ得る。このようにして、アプリケーションは、ジェスチャオブジェクトのジェスチャ処理の結果が適用されるべき要素を明示的に指定することができる。さらに、アプリケーションは、個別のアイテムの集合を、ジェスチャアプリケーションの目的の要素として指定することができる。これは、ジェスチャが提供される要素が、個々のアイテムに対するヒットテスト又は他の同等の選択技術を使用してヒューリスティックに推論される伝統的な技術とは対照的である。
<ジェスチャオブジェクト>
特に、ジェスチャオブジェクト122は、図2において、対話入力206と、ターゲット要素208と、所与の対話コンテキストについてオブジェクトを生成するようアプリケーションによって設定されるカスタムプロパティ210とを含むように図示されている。対話入力206(ポインタとも呼ばれる)は、タッチ接触、ポインタの位置/移動、スタイラス入力、マウス入力及び/又は対話コンテキストについてトラックされる他の入力のような入力である。ジェスチャオブジェクト122は、1つ又は複数の個々の入力/接触、例えばポインタを含むように構成され得る。ジェスチャオブジェクトは、同じ入力ソースからの同じタイプの複数のポインタ及び/又は異なる入力ソースからの異なるタイプのポインタの組み合わせを含むことができる。ジェスチャオブジェクト122に入力/接触を含めることにより、これらの入力/接触は、ジェスチャ検出のために考慮されることになる。ターゲット要素208は、ジェスチャオブジェクト122がマップされるコンテンツモデル202内の要素を表す。例えばコンテンツのDOM表現内の要素を、ジェスチャオブジェクトのターゲットとして指定してもよい。個々の要素が、レンダリングされているユーザインタフェース、ページ又はドキュメントの1つ又は複数の個々のコンポーネント/アイテムを含むように定義されてもよい。ジェスチャオブジェクト122についてターゲット要素208を指定することにより、ジェスチャオブジェクト122に関して生成されたジェスチャイベントが、指定された要素に対して明示的に向けられることになる。さらに、1つ又は複数の要素が前もってわかるので、ジェスチャモジュール114及び/又は認識装置124により取得される生のジェスチャデータを、特定の要素についてフォーマットすることができる。したがって、ジェスチャオブジェクトは、アプリケーションレベルでの追加の処理をほとんど必要としないか、全く必要とすることなく、フォーマットされたジェスチャデータを、対応する要素が提供され得るアプリケーションに供給することができる。加えて、カスタムプロパティ210を提供して、ジェスチャオブジェクトの挙動の拡張及びカスタマイズを可能にし、存続期間の管理を容易にすることができる。その詳細は本明細書において後述される。
少なくとも一部の実施形態において、ジェスチャオブジェクト122は、開発者に利用可能な組み込みオブジェクト型として、JavaScriptのようなスクリプトベースのプログラミング言語で実装される。ジェスチャオブジェクト122は、対話入力206及びターゲット要素208をオブジェクトのプロパティとして含む。開発者は、オブジェクトに対してプロパティを設定するメソッドを使用して、認識インタフェース120に、所与の対話コンテキストについて適切なオブジェクトをインスタンス化させることができる。これらのメソッドは、開発者/アプリケーションがタッチ接触及び/又は他の入力をオブジェクトに追加して、DOM又は別のコンテンツモデル内のターゲット要素を指定するのを可能にする。開発者は、カスタムプロパティ210を、提示されたメソッドにより同等の手法で設定することもできる。あるアプローチでは、認識インタフェース120は、ジェスチャ認識のためにジェスチャオブジェクト122を定義及び作成するのに使用されるメソッドを提示する、アプリケーションプログラミングインタフェースとして構成され得る。
限定ではなく例として、以下の疑似コードは、説明された技術に適したジェスチャオブジェクト及びメソッドのスクリプトベースの一実装を表す。
var g = new Gesture() // ジェスチャオブジェクトを作成する
g.target = element // ジェスチャイベントを受信する要素を指定する
g.addPointer(pointerId) // 接触/入力をオブジェクト/認識装置に追加する
g.removePointer(pointerId) // 接触/入力を除去する
g.stop() // ジェスチャ処理を終了する
上記につき、ジェスチャオブジェクトは、認識インタフェース120によってサポートされる組み込みオブジェクト型を使用して作成され得る。要素及び対話入力(例えば接触/入力)を、作成されたオブジェクトのプロパティとして指定してもよい。接触/入力をremoveメソッドによって除去してもよく、その結果、接触/入力は、ジェスチャ処理の一部とは見なされなくなる。stopメソッドは、要求に応じた処理の終了を可能にする。stopメソッドは、オブジェクトから接触/入力を除去して、処理を終了し、ジェスチャについての終了イベントを発火して、別のジェスチャを準備するようオブジェクト/認識装置をリセットする。そうでない場合、オブジェクトは持続して、以下に説明される存続期間管理技術に従って自動的に自身をクリーンアップしてもよい。
したがって、所与の対話コンテキストについてジェスチャイベントを開始するために、アプリケーションは、認識インタフェース120を起動し、ターゲット要素と1つ又は複数の対話入力を指定することができる。これは、認識インタフェース120を通して、対応するジェスチャオブジェクト122の作成を生じる。ジェスチャ認識のための処理の大部分は、次いでアプリケーションの代わりにジェスチャオブジェクト122により対処され、この処理には、入力データを認識装置に供給すること、ジェスチャイベントメッセージを処理すること、生のジェスチャデータを変換すること等が含まれる。効果として、アプリケーションは、例えば対話コンテキスト等の選択されたターゲット要素に関連する特定の入力/接触に対するジェスチャの更新について、認識インタフェース120に登録し、次いで認識インタフェース120が、その対話コンテキストについて適切な情報を返すのを待つ。例えば認識インタフェース120は、アプリケーションコンテンツについてDOM内のDOMイベントとして、あるいはアプリケーションによって用いられる別のコンテンツモデルに適切な同等のイベントとして、対応する要素に関連して既に変換された、要素についてのジェスチャイベント/データを供給することができる。
ユーザが、自身の人差し指によるタッチで画像を選択し、その画像を、ディスプレイ上をドラッグさせるという例を検討する。画像の最初の選択が行われると、アプリケーションは、認識インタフェース120を通じて、ターゲット要素208としての画像及び対話要素206としての人差し指のタッチにより、対応するジェスチャオブジェクト122を形成するように動作し得る。アプリケーション自体は、指の位置における変化(例えばドラッグ)をモニタしてそのような情報を認識システムに供給する必要がなくなる。代わりに、このシナリオでインスタンス化されたジェスチャオブジェクトは、自動的にアプリケーションの代わりに対話入力206をトラックし、接触位置における変化に関する情報を、対応するドラッグジェスチャを検出する認識装置124に供給する。さらにジェスチャオブジェクト122及び/又は認識インタフェース120はまた、認識装置124によって生成されるジェスチャイベントメッセージを処理し、アプリケーションによって用いられるコンテンツモデルに従って、これらのイベントメッセージをアプリケーションに供給することができる。
<座標変換>
上記で簡潔に検討したように、ジェスチャ処理の結果は、特にターゲットとなる要素のために結果を変換するように、予め処理されることがある。ジェスチャオブジェクト122についてのターゲット要素208の指定は、システム要素を効果的に認識させる。したがって、認識インタフェース120は、ジェスチャ検出の結果を、ジェスチャが対象とする要素に関連付けられる座標空間に変換するように構成される。典型的に、ジェスチャ結果は、前の状態と新たな状態との間のデルタとして又は初期状態に対する累積値として表されることがある。ジェスチャについての生のデルタ又は累積データがアプリケーションに供給されると、アプリケーションは、特定の要素について生のデータを変換する作業を行わなければならない。例えば要素が以前に回転されていた場合、アプリケーションは、その既存の回転に関するジェスチャをどのように適用するかを決定しなければならない。要素がわからない伝統的なシステムにおいては、開発者は、開発を複雑にするアプリケーションコードにより、これらの状況に対処する以外に選択肢はない。一方、本明細書で説明される技術の通り、ジェスチャオブジェクト122についてターゲット要素208を明示的に定義することにより、認識インタフェース120は、要素の状態をトラックすることが可能になる。要素の状態は、適用された状態に基づいて更新され、更新された状態は、要素について定義された座標空間において、後続の認識されたジェスチャ(又はジェスチャの変化)についてデルタを計算するのに使用される。したがって、ジェスチャが検出される毎に、ジェスチャモジュール114によって提供される生のデルタ情報が、アプリケーションの代わりに、適切な座標空間に変換され得る。アプリケーションはしたがって、追加の処理をほとんど必要としないか全く必要とせずに、その結果を対応する要素に直接適用することができる。
少なくとも一部の実施形態において、アプリケーションは、ジェスチャデータが変換される特定の座標空間を明示的に指定してもよい。そのようにするため、アプリケーションは、ターゲット要素を設定してもよく、座標空間を指定するように構成されたジェスチャオブジェクトの別の指定の及び/又はカスタムのプロパティを設定してもよい。その座標空間は、ターゲット要素に対応するものであっても、対応しないものであってもよい。これにより、アプリケーションは、ジェスチャイベントが発火されるターゲット要素の座標空間とは異なる座標空間を選択することが可能になる。例えばジェスチャデータは、ターゲット要素ではなく、ページ/ドキュメントのグローバル座標空間に変換され得る。さらに、アプリケーションは、定義された座標空間においてアプリケーションによって選択されるように対応するジェスチャデータを変換して報告するよう、ジェスチャオブジェクトについて任意の又はグローバル座標空間の変換を定義することができる。
<存続期間の管理>
認識インタフェース120及びジェスチャオブジェクト122は更に、管理される存続期間スキームを実装するように構成され得る。この管理存続期間スキームは、オブジェクトの再使用を可能にし、アクティブな対話入力206を有するオブジェクトへアクセス/参照する能力を保持し、適切な時にオブジェクトをクリーンナップするよう自動収集を制御する。一般的に言うと、JavaScript及び他のスクリプトベースのオブジェクトは、スコープ(例えば機能的又はグローバル)を有するように作成され、関連するスコープの期間の間、存続し得る。スコープは、特定の機能/モジュールに関連するか、ページ又はアプリケーションインスタンスの存続期間に関するものである。オブジェクトはその後、該オブジェクトが、もはや使用されなくなる時を認識して、自動的に自身をコレクションする(例えば自身を除去するか及び/又は他の方法で自身が削除されるのを可能にする)ことができる。
依然としてアクティブな対話入力206(例えば接触/入力)を有するジェスチャオブジェクト122が、自動的に自身をコレクション/除去するのを防ぐために、オブジェクトについての対話入力206は、ピン止め参照(pinning reference)として構成され得る。ピン止め参照は、対話入力206がアクティブである限り、オブジェトを生かし続ける。これは、オブジェクトのスコープが有効ではない場合(例えばオブジェクトのスコープを定義する機能/モジュールが終了している場合)にも起こり得る。オブジェクトについてのターゲット要素208は、ターゲット要素がクリアされるまでそれぞれのオブジェクトを生かし続けるピン止め参照として機能してもよい。したがって、ジェスチャオブジェクト122は、ジェスチャを導出する対話入力206が存続している限り存続し、ジェスチャオブジェクト122を介してジェスチャイベントが供給され続けることがある。対話入力206が除去されると(例えばユーザが自身の指をディスプレイから外すと)、ジェスチャオブジェクト122は続けて、その入力が使用中ではなく自動的に自身をコレクションすると認識することがある。これは、アプリケーションが、該アプリケーションの代わりに作成されたジェスチャオブジェクト122を管理する必要なく生じる。
存続期間の間に、ジェスチャオブジェクト122への継続したアクセスを可能にするために、認識インタフェースによって供給されるジェスチャイベントは、対応するジェスチャオブジェクトへのアクセスを識別して提供する情報を含み得る。したがって、あるオブジェクトへの参照が失われる場合であっても、イベント内に含まれるプロパティを識別するオブジェクトを使用して、対応するジェスチャオブジェクトにアクセスすることができる。加えて、カスタムプロパティ210は、カスタム情報及び関数でさえも担持するように設定され得る。例えばイベントがオブジェクトによって発火されるごとに呼び出しを行う特定の関数が、カスタムプロパティ210を介して指定され得る。別の例において、プロパティは、所与のオブジェクトに現在関連付けられている接触/入力のリストをアプリケーションへ伝達するように構成される。様々な他の例も考えられる。
説明されるように、ジェスチャオブジェクト122も再使用され得る。オブジェクトが作成されて対話入力206及びターゲット要素208に関連付けられると、オブジェクトは、上述のように存続し得る。オブジェクトに関連付けられた対話入力206がアクティブの間、ターゲット要素208は、同じままである。追加の対話要素206がオブジェクトに追加されることもある。対話要素206は、ジェスチャを導出する接触/入力が完了する(例えば指が離れる)ときに、明示的に(removeメソッドを使用して)又は自動的に除去されてもよい。したがって、ジェスチャオブジェクト122について考慮される特定の接触/入力は、オブジェクトの存続期間にわたって変化し得る。対話要素206の全てが除去されると、オブジェクトは自動的にリセットされる。オブジェクトは、上述の明示的な停止(stop)に応答してリセットすることもある。その後、同じ要素に適用される異なる対話要素206が、オブジェクトを再使用するためにジェスチャオブジェクト122に追加され得る。ジェスチャオブジェクト122は、オブジェクトが異なる要素にアクティブに使用されていない限りにおいて(例えばジェスチャが進行中)、異なる要素に関連付けられることも可能である。
ジェスチャオブジェクトの別の特徴は、アプリケーションについて、シームレスに慣性処理(inertia processing)に対処する能力である。慣性処理は、ユーザが指を離すか他の方法でジェスチャを導出する入力を終えた後に、ユーザインタフェース要素が、自然の対話エフェクトを提供するジェスチャを通して操作されるときに慣性をシミュレートするのに使用される。したがって、ユーザ対話を終えた後の期間において、操作された要素は停止に進み、境界に反射し、スクロールを継続すること等がある。慣性は、ジェスチャをトリガするユーザ対話の速度に依存することがある(例えばユーザのパン、ズーム又は回転がどのくらい速い又は遅いか)。慣性処理は、速度に基づいてしばらくの間続き、次いで徐々に停止してよい。慣性処理は、最後の接触/入力が対話の終了に使用される時にタイマを設定することによって達成され得る。タイマが動作している間、慣性処理を通して生成されたジェスチャイベントは、イベントが直接対話によって生成されたように、アプリケーションに供給され続ける。慣性処理を通して生成されたジェスチャイベントは、ジェスチャイベントが直接対話を通して生成された手法と同じように、アプリケーション及び/又はターゲット要素に向けられる。
アプリケーションは、直接対話から慣性処理へとモード変更が生じたときを検出するように構成され得る。例えばモード識別子をジェスチャイベントに含めてもよく、及び/又はジェスチャについての接触が終了するときに通知メッセージを送信してもよい。したがって、アプリケーションは、慣性処理を通して生成されるジェスチャを選択的に使用するか無視することができる。例えばアプリケーションは、慣性処理に関連付けられたイベントを単に無視してもよく、その結果、要素は、直接ユーザ操作が終了すると、移動/反応を終了する。あるいはまた、アプリケーションは、慣性処理を切断して、ジェスチャイベントをアプリケーションに配信する、上述の停止メソッド「g.stop()」を呼び出してジェスチャをリセットすることができる。
図3は、全体的に300において、本明細書で説明されるインスタンス化可能なジェスチャオブジェクト技術の追加の態様を例示する、例示の対話シナリオを示している。特に、図3のシナリオは、コンピューティングデバイス102のユーザインタフェース内に表示される第1の要素302と第2の要素304の操作を示している。複数の対話入力306も図示されており、これらはそれぞれAからDの文字を使用してラベル付けされている。この例において、対話入力306は、ディスプレイデバイス112とユーザの手のタッチ接触に対応する。このシナリオについて、ユーザの手のそれぞれとの対話に対して、異なる対話コンテキストを定義することができる。したがって、異なるジェスチャオブジェクト122を、前述の方法でそれぞれの手についてインスタンス化することができる。
図3に示されるように、ユーザの左の手に対応するジェスチャオブジェクト122は、接触AとBをトラックするように構成され、ターゲット要素として第1の要素302に関連付けられる。ユーザの右の手に対応する別のジェスチャオブジェクト122は、接触CとDをトラックするように構成され、ターゲット要素として第2の要素304に関連付けられる。異なるジェスチャオブジェクト122が同時にアクティブであり、相互に独立に管理/処理され得る。例えば接触AとBのピンチは、第1の要素302に対するズームインを生じるズームジェスチャとして認識され、同時の接触Dは、第2の要素304に適用される選択及びホールドジェスチャとして認識される。この例において、接触Cは、第2の要素304と接続として考慮されるが、認識された選択及びホールドジェスチャに寄与しない可能性がある。
異なる対話を同時に制御する複数の異なるジェスチャオブジェクト122の使用は、様々な異なるマルチタッチ入力及びマルチジェスチャシナリオを可能にする。対応するジェスチャオブジェクト122によってトラックされる様々な異なるコンテキスト/ジェスチャが同時にアクティブになることがある。各オブジェクトを使用して1つ又は複数のそれぞれの接触/入力をトラックすることができる。加えて、個々の接触を同時に複数のジェスチャオブジェクトに追加してもよく、したがって、複数のジェスチャを同時に考慮することができる。
図3では異なる要素に関連付けられるオブジェクトが図示されているが、異なるジェスチャをトラックする複数の異なるジェスチャオブジェクト122が、同時に同じ要素に関連付けられてもよい。例えば、図3に示される両手が第1の要素302に適用される例を検討する。異なるジェスチャオブジェクト122がこの例において生じることがある。しかしながら、ここでは異なるオブジェクトに対するターゲット要素を同じ要素とすることができる。異なるジェスチャオブジェクト122が、同じ要素に対する異なるアクションを導出するように構成されてもよい。例えば左手がズームジェスチャを実行し、右手が同じ要素に対する回転ジェスチャを実行してもよい。
別の例において、左手が要素を大まかに回転するように構成され、右手がその要素の細かな回転を実行してもよい。これらの異なるジェスチャは、それぞれのジェスチャオブジェクト122を介して検出され、同時に第1の要素302に対して適用され得る。1つ又は複数のジェスチャオブジェクト122の使用を通じて可能になるマルチタッチ及びマルチジェスチャのシナリオの様々な他のシナリオも考慮される。そのようなシナリオには、異なる入力ソース(例えばタッチ、スタイラス、カメラ、マウス等)及び/又は複数の入力ソース(例えばタッチとマウス、スタイラスとカメラ、タッチとカメラ等)の組み合わせを用いるシナリオが含まれる。
インスタンス化可能なジェスチャオブジェクトに関する幾つかの詳細を説明したので、次に1つ又は複数の実施形態に係る一部の例示のプロシージャを検討する。
<例示のプロシージャ>
以下の議論では、上述のシステム及びデバイスを使用して実装され得るインスタンス可能なジェスチャオブジェクト技術を説明する。各プロシージャの態様は、ハードウェア、ファームウェア、ソフトウェア又はこれらの組み合わせで実装される。これらのプロシージャは、1つ又は複数のデバイスによって実行されるオペレーションを指定するブロックのセットとして示されているが、必ずしも、それぞれのブロックによるオペレーションを実行するのに図示された順序に限定されない。以下の議論の一部では、動作環境100並びに図2の例示のシナリオ200及び図3の例示のシナリオ300を参照することがある。
図4は、ジェスチャオブジェクト122を用いて、アプリケーションの代わりにジェスチャ認識を実行する例示的なプロシージャ400を示している。少なくとも一部の実施形態において、諸プロシージャは、インタフェース120を実装するレンダリングモジュール116を含むかこれを使用する図1の例示のコンピューティングデバイス102のように、適切に構成されるコンピューティングデバイスによって実行され得る。
アプリケーションについて、ジェスチャオブジェクトがインスタンス化される(ブロック402)。例えばレンダリングエンジン116は、レンダリングモジュール116に、コンピューティングデバイス102及び/又はオペレーティングシステム108のネイティブジェスチャ機能を起動させる、スクリプトベースのアプリケーションを可能にするインタフェースを提供することができる。インタフェースは、アプリケーションからジェスチャ用の処理をオフロードする、JavaScriptのような動的なスクリプト言語で書かれたアプリケーションを有効にする。そのようにするために、レンダリングエンジン116は、アプリケーションによって指示されるように、ジェスチャオブジェクト122をインスタンス化することができる。ジェスチャオブジェクト122は、前述したように、アプリケーションの代わりにジェスチャ認識のためのオペレーションに対処するように構成される。
インスタンス化されたジェスチャオブジェクトは、アプリケーションによって指定される対話入力及びターゲット要素に関連付けられる(ブロック404)。例えばジェスチャオブジェクト122のプロパティは、図2に関して説明されたように、オブジェクトに関連付けられる、指定された特定の対話入力206及びターゲット要素208に対して設定され得る。オブジェクトに追加される対話入力206は、ジェスチャ認識について一緒に考慮することができ、ジェスチャモジュール114によって認識される任意の対応するジェスチャを、選択されるターゲット要素208に明示的に向けることができる。異なる対話入力206が、様々な時に、オブジェクトに追加されるかオブジェクトから除去されることがあり、該オブジェクト自体は、異なる対話コンテキストについて再使用され得る。
認識装置が、次いでアプリケーションの代わりに作成されてジェスチャ認識を容易にする(ブロック406)。対話入力データが次いで、認識処理のために認識装置に供給される(ブロック408)。上述のように、認識装置124は、ネイティブのジェスチャシステムを介してジェスチャ認識を容易にするシステムレベルのオブジェクト/抽象化である。ジェスチャオブジェクtp122は、最近のアプリケーション110との対話のためにスクリプトベースのフォーマットを使用するように実装され、各オブジェクトは、ネイティブシステムフォーマットを用いてネイティブのジェスチャ機能を起動する、対応する認識装置124を作成することができる。ジェスチャオブジェクト122は次いで、対話入力に関する入力データを、処理のために対応する認識装置に供給する。対話コンテキストについて対話入力のセット206を所与とすると、認識装置124は、これらの入力のトラッキング及びジェスチャモジュール114を介したジェスチャの認識を管理する。例えば対話入力206は、上述のようにジェスチャモジュール114によってサポートされるジェスチャのライブラリにマップされ得る。
認識されたジェスチャを示すジェスチャイベントメッセージが、認識装置から取得され(ブロック410)、認識装置から取得されるジェスチャイベントメッセージ内の生のジェスチャデータが、アプリケーションの代わりに処理される(ブロック412)。例えば対応するジェスチャオブジェクト122によって供給される入力を使用するジェスチャの認識に応答して、認識装置124は、ジェスチャオブジェクト122による受信について、ジェスチャイベントメッセージを送信することができる。ジェスチャオブジェクト122は、一般にネイティブジェスチャシステムにより計算された生のジェスチャデータを含む、対応するジェスチャイベントメッセージを取得することができる。本明細書で説明される技術によると、ジェスチャオブジェクト122は、生のデータに対する処理を生じ、該データを、特に特定のターゲット要素及び/又はアプリケーション用に変換することができる。例えば生のデータを、上述の手法によりジェスチャオブジェクト122によって定義されるターゲット要素に対応する座標空間に変換することができる。したがって、アプリケーションは、そのような計算を実行しなければならないことから解放される。
ジェスチャイベントは、アプリケーションについてのコンテンツモデルに従ってターゲット要素に対して発火される(ブロック414)。ターゲット要素に対して発火されたジェスチャイベントは、アプリケーション及び/又はターゲット要素について変換された処理済みのジェスチャデータを含む。したがって、アプリケーションは単に、ジェスチャイベントを介して伝達されたジェスチャ/アプリケーションを適切な要素に適用すればよい。
図5は、アプリケーションが、ジェスチャオブジェクトを使用してジェスチャ認識について対話入力を登録する例示のプロシージャ500を示す。少なくとも一部の実施形態において、プロシージャは、図1の適切に構成されたアプリケーション110によって実行され、コンピューティングデバイスのレンダリングモジュール116を介して実装される認識インタフェース120を起動するように構成される。
アプリケーションは、対応するコンテンツアイテムの選択されたターゲット要素について、ジェスチャオブジェクトの作成を指示し、スクリプトベースのインタフェースを介してジェスチャの認識を登録する(ブロック502)。例えば動的なスクリプト言語を使用してプログラムされたアプリケーションは、アプリケーションのためにコンテンツをレンダリングするのに使用されるレンダリングエンジン116によって公開される、認識インタフェース120と対話することができる。この対話により、認識インタフェース120は、所与の対話コンテンツについて、上述の手法でジェスチャオブジェクト122をインスタンス化することができる。対話コンテンツを定義するために、アプリケーションは、オブジェクトの様々なプロパティを設定することによって、オブジェクトを構成するメソッドをオブジェクトに対して使用することができる。一般に、これは、図2に関連して説明したように、少なくとも対話入力206とターゲット要素208を指定することを含む。アプリケーションは、カスタムプロパティ210を設定して、ジェスチャオブジェクト122の挙動を制御し及び/又は機能を拡張してもよい。そのようなカスタムの例には、これらに限られないが、特定のジェスチャに応答して呼び出す機能をトリガすること、コンテキストに適用可能であるか及び/又は無視され得る特定の種類のジェスチャを指定すること、ジェスチャ及び/又はジェスチャを計算するのに使用される入力に関する指定のデータ/プロパティを返すこと、ジェスチャを提供する構成パラメータ及び閾値を提供すること等が含まれ得る。
次いで、ターゲット要素に対して発火され、ターゲット要素とのユーザ対話に基づいて認識されるジェスチャを示すジェスチャイベントが取得され(ブロック504)、ジェスチャイベントがターゲット要素に適用されて、認識されたジェスチャに従ってターゲット要素のディスプレイを操作する(ブロック506)。上述のように、ジェスチャオブジェクト122は、アプリケーションが、ジェスチャ処理の負荷の多くをオフロードできるようにする。したがって、ブロック502においてブロックの作成を指示した後、アプリケーションは自動的に、対応する対話コンテキストについて、ジェスチャイベントを取得するのを開始する。これは、アプリケーションが、ジェスチャを認識するのに追加の作業を実行する必要なく行われる。アプリケーションは単に、ジェスチャイベントをリッスンするか、他の方法で取得するハンドラを組み込んで、これらを適切な要素に適用することができる。さらに、要素に対して発火されたジェスチャイベントによって記述されるジェスチャデータは、ジェスチャデータがアプリケーションによって理解可能なスクリプトフォーマットであって、対応するターゲット要素のために既に変換されるように、予め処理され得る。
例示のプロシージャを説明したので、次に、本明細書で説明されるインスタンス化可能なジェスチャ技術の態様を実装するのに1つ又は複数の実施形態において用いることができる例示のシステムを検討する。
<例示のシステム>
図6は、全体的に600で例示のシステムを図示している。このシステムは、本明細書で説明される様々な技術を実装することができる1つ又は複数のコンピューティングシステム及び/又はデバイスを表す、例示のコンピューティングデバイス602を含む。コンピューティングデバイス602は、例えばサービスプロバイタのサーバ、クライアント(例えばクライアントデバイス)に関連付けられたデバイス、オンチップシステム及び/又は任意の他の適切なコンピューティングデバイス若しくはコンピュータシステムとすることができる。
例示のコンピューティングデバイス602は、1つ又は複数のプロセッサ又は処理デバイスを含み得る処理システム604と、1つ又は複数のメモリ及び/又はストレージコンポーネント612を含み得る1つ又は複数のコンピュータ読取可能媒体606と、入出力(I/O)デバイス用の1つ又は複数の入出力(I/O)インタフェース608とを含む。コンピュータ読取可能媒体606及び/又は1つ又は複数のI/Oデバイスは、コンピューティングデバイス602の一部として含まれてもよく、あるいはコンピューティングデバイス602に結合されてもよい。図示されるように、処理システム604は、1つ又は複数のハードウェア要素610も含むことができ、ハードウェア要素610は、本明細書で説明あされるプロシージャ及び技術の少なくとも一部の態様をハードウェアで実装する機能を表す。図示されていないが、コンピューティングデバイス602は更に、様々なコンポーネントを相互に結合するシステムバス又はデータ転送システムを含んでもよい。システムバスは、メモリバス若しくはメモリコントローラ、周辺バス、ユニバーサルシリアルバス及び/又は様々なバスアーキテクチャのいずれかを使用するプロセッサ若しくはローカルバスのような、異なるバス構造のうちのいずれか1つ又は組み合わせを含むことができる。
処理システム604、プロセッサ及びハードウェア要素610は、これらが形成される材料や用いられる処理機構に制限されない。例えばプロセッサは、半導体及び/又はトランジスタ(例えば電子集積回路(IC))から構成されることがある。そのようなコンテキストにおいて、プロセッサ実行可能命令は、電子的に実行可能な命令であってよい。メモリ/ストレージコンポーネント612は、1つ又は複数のコンピュータ読取可能媒体に関連付けられたメモリ/記憶機能を表す。メモリ/ストレージコンポーネント612は、揮発性媒体(ランダムアクセスメモリ(RAM)等)及び/又は非揮発媒体(読取専用メモリ(ROM)、フラッシュメモリ、光ディスク、磁気ディスク等)を含むことができる。メモリ/ストレージコンポーネント612は、固定の媒体(例えばRAM、ROM、固定のハードドライブ等)並びに取外し可能媒体(例えばフラッシュメモリドライブ、取外し可能ハードドライブ、光ディスク等)を含むことができる。
入出力(I/O)インタフェース608は、ユーザがコマンド及び情報をコンピューティングデバイス602に入力することを可能にし、また様々な入出力デバイスを使用して、情報をユーザ及び/又は他のコンポーネント若しくはデバイスに提示することを可能にする。入力デバイスの例には、キーボード、カーソルコントロールデバイス(例えばマウス)、オーディオ/音声入力用のマイク、スキャナ、カメラ等が含まれる。出力デバイスの例には、ディスプレイデバイス(例えばモニタ又はプロジェクタ)、スピーカ、プリンタ、ネットワークカード等が含まれる。
本明細書では、様々な技術がソフトウェア、ハードウェア又はプログラムモジュールの一般的なコンテキストにおいて説明され得る。一般に、そのようなモジュールは、特定のタスクを実行するか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造等を含む。本明細書で使用される時、「モジュール」、「機能(性)」及び「コンポーネント」という用語は、一般的に、ソフトウェア、ファームウェア、ハードウェア又はこれらの組み合わせを表す。本明細書で説明される技術の特徴はプラットフォーム独立であるが、これは、本技術が、様々な処理システム、ハードウェア要素、コンピュータ読取可能媒体及び/又はメモリ/ストレージコンポーネントを有する様々な市販のコンピューティングプラットフォームにおいて実装され得ることを意味する。
説明されるモジュール及び技術の実装は、何らかの形式のコンピュータ読取可能媒体に格納されるか、そのコンピュータ読取可能媒体によって伝送され得る。コンピュータ読取可能媒体は、コンピューティングデバイスによってアクセスされ得る様々な利用可能な媒体を含み得る。限定ではなく例として、コンピュータ読取可能媒体は、「コンピュータ読取可能記憶媒体」と「通信媒体」とを含むことがある。
「コンピュータ読取可能記憶媒体」は、単なる信号伝送や、搬送波又は信号自体等とは対照的に、情報の持続的及び/又は非一時的な記憶を可能にする媒体及び/又はデバイスを指すことができる。したがって、コンピュータ読取可能記憶バイチアは、非信号担持媒体を指す。コンピュータ読取可能媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール、ロジック要素/回路又は他のデータのような情報の記憶に適した方法又は技術で実装される、揮発性及び非揮発性、取外し可能及び取外し不可能の媒体及び/又はストレージデバイスを含む。コンピュータ読取可能記憶媒体の例には、これらに限られないが、RAM,ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)若しくは他の光ストレージ、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、あるいは所望の情報を格納するのに積雪であって、コンピュータによってアクセス可能な他の記憶デバイス、有形の媒体又は製品が含まれる。
「通信媒体」は、命令を、例えばネットワークを介してコンピューティングデバイスのハードウェアに伝送するように構成される信号担持媒体を指すことがある。通信媒体は典型的に、コンピュータ読取可能命令、データ構造、プログラムモジュール又は他のデータを、搬送波、データ信号又は他の伝送機構のような変調データ信号に具現化することができる。「変調データ信号」という用語は、情報を信号にエンコードするような方法で設定又は変更された特性の1つ又は複数を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワーク又は直接有線接続のような有線媒体と、音響、RF、赤外線及び他の無線媒体のような無線媒体とを含む。
ハードウェア要素610は、一部の実施形態において、説明される技術の少なくとも一部の態様を実装するのに用いられるハードウェア形式で実装される命令、モジュール、プログラマブルデバイスロジック及び/又は固定のデバイスロジックを表す。ハードウェア要素には、集積回路若しくはオンチップシステム、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、結合プログラム可能論理回路(CPLD)等が含まれる。このコンテキストにおいて、ハードウェア要素は、命令、モジュール及び/又はハードウェア要素によって具現化されるロジックによって定義されるプログラムタスクを実行する処理デバイスとして動作することがある。
上述の組み合わせを用いて、本明細書で説明される様々な技術及びモジュールを実装することもできる。したがって、ジェスチャモジュール114、レンダリングモジュール116、認識インタフェース120、アプリケーション110、オペレーティングシステム108及び他のプログラムモジュールを含む、ソフトウェア、ハードウェア又はプログラムモジュールを、何らかの形式のコンピュータ読取可能媒体において及び/又は1つ又は複数のハードウェア要素612によって具現化される1つ又は複数の命令及び/又はロジックとして実装してもよい。コンピューティングデバイス602は、ソフトウェア及び/又はハードウェアモジュールに対応する特定の命令及び/又は機能を実装するように構成され得る。命令及び/又は機能は、本明細書で説明される技術、モジュール及び例示のプロシージャを実装するよう1つ又は複数の製品(例えば1つ又は複数のコンピューティングデバイス602及び/又は処理システム604)によって実行可能/動作可能である。
更に図6に図示されるように、例示システム600は、アプリケーションをパーソナルコンピュータ(PC)、テレビジョンデバイス及び/又はモバイルデバイス上で実行するときに、シームレスなユーザ経験のためのユビキタス環境を可能にする。サービス及びアプリケーションは実質的に、アプリケーションを使用している間、ビデオゲームをプレイしている間、ビデオを観ている間等に、あるデバイスから次のデバイスに遷移する際に、共通のユーザ経験のために3つの全ての環境において同様に動作する。
例示システム600において、複数のデバイスは中央コンピューティングデバイスを通して相互接続される。中央コンピューティングデバイスは、複数のデバイスにローカルであってもよく、複数のデバイスからリモートに配置されてもよい。一実施形態において、中央コンピューティングデバイスは、複数のデバイスにネットワーク、インターネット又は他のデータ通信リンクを通して接続される、1つ又は複数のサーバコンピュータのクラウドとすることができる。一実施形態において、この相互接続アーキテクチャは、複数のデバイスにまたがって配信され、複数のデバイスのユーザに共通でシームレスな経験を提供するのを可能にする。複数のデバイスの各々は、異なる物理的要件及び能力を有し、中央コンピューティングデバイスは、プラットフォームを使用して、デバイスへ、該デバイスに対して調整されているが、全てのデバイスに対しても共通の経験を配信するのを可能いする。一実施形態において、ターゲットデバイスのクラスを、物理的な特徴、利用のタイプ又はデバイスの他の共通の特性によって定義してもよい。
様々な実装において、コンピューティングデバイス602は、コンピュータ614用、モバイル616用及びテレビジョン618用の使用のような様々な異なる構成を想定してもよい。これらの構成の各々は、一般に異なる構成及び能力を有することがあるデバイスを含み、したがって、コンピューティングデバイス602は異なるデバイスクラスの1つ又は複数に従って構成され得る。例えばコンピューティングデバイス602は、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ、ネットブック等を含むデバイスのコンピュータ614クラスとして実装され得る。
コンピューティングデバイス602は、モバイルフォン、ポータブル音楽プレイヤ、ポータブルゲームデバイス、タブレットコンピュータ、マルチスクリーンコンピュータ等のモバイルデバイスを含むデバイスのモバイル616クラスとして実装されてもよい。コンピューティングデバイス602は、簡潔な視聴環境において一般的に大きなスクリーンを有するか、これと接続されるデバイスを含むテレビジョン618クラスとして実装されてもよい。これらのデバイスは、テレビジョン、セットトップボックス、ゲームコンソール等を含む。本明細書で説明される技術は、コンピューティングデバイス602のこれらの様々な構成によってサポートされ、本明細書で説明される特定の例示の技術に制限されない。これは、コンピューティングデバイス602上での認識インタフェース120の包含により例示される。認識インタフェース120の機能及び/又は他のアプリケーション/モジュールを、分散システムの使用を通して、プラットフォーム622を介して「クラウド」620上に全て又は一部を実装してもよい。
クラウド620は、リソース624のためのプラットフォーム622を含むか、これを表す。プラットフォーム622は、クラウド620のハードウェア(例えばサーバ)及びソフトウェアリソースの機能を抽象化する。リソース624は、コンピューティングデバイス602からリモートのサーバ上でコンピュータ処理が実行している間に用いることができるアプリケーション及び/又はデータを含み得る。リソース624は、インターネット上で及び/又はセルラ若しくはWi−Fi(登録商標)ネットワークのような加入者ネットワークを通して提供されるサービスを含むこともできる。
プラットフォーム622は、コンピューティングデバイス602を他のコンピュー手シングデバイスに接続するリソース及び機能を抽出する。プラットフォーム622は、リソースのスケーリングを抽象化して、スケールの対応するレベルを、プラットフォーム622を介して実装されるリソース624について生じた要求に提供するように機能することもある。したがって、相互接続されるデバイスの実施形態において、本明細書で説明される機能性の実装を、システム600にわたって分散してもよい。例えば機能性は、部分的にコンピューティングデバイス602内に実装されてもよく、クラウド620の機能性を抽象化するプラットフォーム622を介して実装されてもよい。
<結論>
本発明は、構造的特徴及び/又は方法的動作に特有の言語で説明してきたが、添付の特許請求の範囲において定義される本発明は、必ずしも説明される具体的な特徴又は動作に限定されないことが理解されよう。
むしろ、具体的な特徴及び動作は、特許請求に係る発明を実装する例示的な形式として開示される。

Claims (10)

  1. コンピューティングデバイスによって提供されるネイティブのジェスチャ機能によりアプリケーションのジェチャ認識に対処するように、アプリケーションについてジェスチャオブジェクトをインスタンス化するステップと、
    前記ジェスチャオブジェクトを、前記アプリケーションによって指定された対話入力及びターゲット要素に関連付けるステップと、
    前記アプリケーションの代わりに、前記コンピューティングデバイスによって提供される前記ネイティブのジェスチャ機能を通してジェスチャ認識を容易にする認識装置を作成するステップと、
    前記対話入力のための対話入力データを前記認識装置に供給して、前記対話入力データに基づくジェスチャ認識を可能にするステップと、
    認識されたジェスチャを示すジェスチャイベントメッセージを前記認識装置から取得するステップと、
    前記ジェスチャイベントメッセージによって記述される生のジェスチャデータを、前記アプリケーションの代わりに処理するステップと、
    前記アプリケーションについてコンテンツモデルに従って、処理されたジェスチャデータを有するジェスチャイベントを前記関連付けられたターゲット要素に対して発火するステップと
    を含む、方法。
  2. 前記ジェスチャオブジェクトは、前記コンピューティングデバイスによって提供される基礎となる絵ネイティブジェスチャ機能のスクリプトベースの抽象化である、請求項1に記載の方法。
  3. 前記アプリケーションは、動的なスクリプト言語を使用してプログラムされる、請求項1に記載の方法。
  4. 当該方法は、前記アプリケーションによって用いられる、前記アプリケーションについてコンテンツをレンダリングするレンダリングエンジンによって提示されるインタフェースを介して実行される、請求項1に記載の方法。
  5. 前記対話入力は、前記コンピューティングデバイスに関連付けられたタッチスクリーンに適用されるタッチ接触を備える、請求項1に記載の方法。
  6. 前記処理するステップは、前記生のジェスチャデータを前記アプリケーションによって指定される座標空間に変換することを備える、請求項1に記載の方法。
  7. 前記認識装置は、前記ジェスチャオブジェクトによって指定された対話入力をトラックして、該対話入力を、サポートされるジェスチャのライブラリにマップして、特定のジェスチャが生じた時を認識するように構成される、請求項1に記載の方法。
  8. 前記ジェスチャオブジェクトは、認識されるジェスチャについてのデータを、前記認識装置によって使用されるシステムフォーマットと、前記アプリケーションによって理解可能なスクリプトベースのフォーマットとの間で変換するように構成される、請求項1に記載の方法。
  9. 前記対話入力は、前記対話入力がアクティブである限りにおいて前記ジェスチャオブジェクトが自身をコレクションするのを防ぐピン止め参照として構成される、請求項1に記載の方法。
  10. 前記ターゲット要素に対して発火される前記ジェチャイベントは、前記ジェスチャイベントへの参照が失われたときに該ジェスチャオブジェクトへの継続的なアクセスを可能にするように、前記ジェスチャオブジェクトを識別する情報を含む、請求項1に記載の方法。
JP2015503316A 2012-03-31 2013-03-15 インスタンス化可能なジェスチャオブジェクト Active JP6226394B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/436,877 US9575652B2 (en) 2012-03-31 2012-03-31 Instantiable gesture objects
US13/436,877 2012-03-31
PCT/US2013/031809 WO2013148293A1 (en) 2012-03-31 2013-03-15 Instantiable gesture objects

Publications (3)

Publication Number Publication Date
JP2015512540A true JP2015512540A (ja) 2015-04-27
JP2015512540A5 JP2015512540A5 (ja) 2016-04-07
JP6226394B2 JP6226394B2 (ja) 2017-11-08

Family

ID=49236795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015503316A Active JP6226394B2 (ja) 2012-03-31 2013-03-15 インスタンス化可能なジェスチャオブジェクト

Country Status (6)

Country Link
US (1) US9575652B2 (ja)
EP (1) EP2831704A4 (ja)
JP (1) JP6226394B2 (ja)
KR (1) KR102108583B1 (ja)
CN (1) CN104246659B (ja)
WO (1) WO2013148293A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020086998A (ja) * 2018-11-27 2020-06-04 ローム株式会社 入力デバイス、自動車

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9507512B1 (en) 2012-04-25 2016-11-29 Amazon Technologies, Inc. Using gestures to deliver content to predefined destinations
JP5377709B2 (ja) * 2012-05-23 2013-12-25 株式会社スクウェア・エニックス 情報処理装置,情報処理方法,及びゲーム装置
CN103577079B (zh) * 2012-07-24 2017-11-07 腾讯科技(深圳)有限公司 电子设备中实现与应用交互的方法及电子设备
US9519351B2 (en) 2013-03-08 2016-12-13 Google Inc. Providing a gesture-based interface
US20140258943A1 (en) * 2013-03-08 2014-09-11 Google Inc. Providing events responsive to spatial gestures
US9575560B2 (en) 2014-06-03 2017-02-21 Google Inc. Radar-based gesture-recognition through a wearable device
KR102182401B1 (ko) * 2014-06-11 2020-11-24 엘지전자 주식회사 이동단말기 및 그 제어방법
CN104156063B (zh) * 2014-07-14 2015-09-09 济南大学 一种面向三维交互界面的手势速度估计方法
US9430142B2 (en) * 2014-07-17 2016-08-30 Facebook, Inc. Touch-based gesture recognition and application navigation
US9778749B2 (en) 2014-08-22 2017-10-03 Google Inc. Occluded gesture recognition
US11169988B2 (en) 2014-08-22 2021-11-09 Google Llc Radar recognition-aided search
US9600080B2 (en) 2014-10-02 2017-03-21 Google Inc. Non-line-of-sight radar-based gesture recognition
EP3289434A1 (en) * 2015-04-30 2018-03-07 Google LLC Wide-field radar-based gesture recognition
KR102002112B1 (ko) 2015-04-30 2019-07-19 구글 엘엘씨 제스처 추적 및 인식을 위한 rf―기반 마이크로―모션 추적
US10088908B1 (en) 2015-05-27 2018-10-02 Google Llc Gesture detection and interactions
CN105007525A (zh) * 2015-06-09 2015-10-28 济南大学 一种面向智能电视应用的交互情景事件关联智能感知方法
US10521100B2 (en) * 2015-08-28 2019-12-31 Facebook, Inc. Systems and methods for providing interactivity for panoramic media content
US20170060404A1 (en) * 2015-08-28 2017-03-02 Facebook, Inc. Systems and methods for providing interactivity for panoramic media content
US10521099B2 (en) * 2015-08-28 2019-12-31 Facebook, Inc. Systems and methods for providing interactivity for panoramic media content
US10817065B1 (en) 2015-10-06 2020-10-27 Google Llc Gesture recognition using multiple antenna
US11029836B2 (en) 2016-03-25 2021-06-08 Microsoft Technology Licensing, Llc Cross-platform interactivity architecture
WO2017192167A1 (en) 2016-05-03 2017-11-09 Google Llc Connecting an electronic component to an interactive textile
CN107608609B (zh) * 2016-07-11 2021-02-19 斑马智行网络(香港)有限公司 一种事件对象发送方法与装置
CN107423060B (zh) * 2017-07-07 2021-03-30 北京小米移动软件有限公司 动画效果的呈现方法、装置及终端
JP7139436B2 (ja) * 2018-02-22 2022-09-20 マジック リープ, インコーポレイテッド 物理的操作を用いたオブジェクト作成
US20220391268A1 (en) * 2021-05-28 2022-12-08 Roku, Inc. Cloud Computation for Applications on Media Devices
CN116166143B (zh) * 2023-04-25 2023-07-04 麒麟软件有限公司 全局触摸手势识别方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009018314A2 (en) * 2007-07-30 2009-02-05 Perceptive Pixel, Inc. Graphical user interface for large-scale, multi-user, multi-touch systems
WO2011094267A1 (en) * 2010-01-26 2011-08-04 Apple Inc. Gesture recognizers with delegates for controlling and modifying gesture recognition

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2089784C (en) 1992-04-15 1996-12-24 William Joseph Anderson Apparatus and method for disambiguating an input stream generated by a stylus-based user interface
US5592566A (en) 1992-05-27 1997-01-07 Apple Computer, Incorporated Method and apparatus for computerized recognition
WO1996009579A1 (en) 1994-09-22 1996-03-28 Izak Van Cruyningen Popup menus with directional gestures
US6310610B1 (en) 1997-12-04 2001-10-30 Nortel Networks Limited Intelligent touch display
US9292111B2 (en) 1998-01-26 2016-03-22 Apple Inc. Gesturing with a multipoint sensing device
US20070177804A1 (en) 2006-01-30 2007-08-02 Apple Computer, Inc. Multi-touch gesture dictionary
US6643824B1 (en) 1999-01-15 2003-11-04 International Business Machines Corporation Touch screen region assist for hypertext links
EP1148411A3 (en) 2000-04-21 2005-09-14 Sony Corporation Information processing apparatus and method for recognising user gesture
US20030037181A1 (en) * 2000-07-07 2003-02-20 Freed Erik J. Method and apparatus for providing process-container platforms
US6897853B2 (en) 2000-11-10 2005-05-24 Microsoft Corp. Highlevel active pen matrix
US7411575B2 (en) 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
US7284192B2 (en) 2004-06-24 2007-10-16 Avaya Technology Corp. Architecture for ink annotations on web documents
JP4583893B2 (ja) 2004-11-19 2010-11-17 任天堂株式会社 ゲームプログラムおよびゲーム装置
US8643605B2 (en) 2005-11-21 2014-02-04 Core Wireless Licensing S.A.R.L Gesture based document editor
US8296684B2 (en) 2008-05-23 2012-10-23 Hewlett-Packard Development Company, L.P. Navigating among activities in a computing device
US8106856B2 (en) * 2006-09-06 2012-01-31 Apple Inc. Portable electronic device for photo management
US7936341B2 (en) 2007-05-30 2011-05-03 Microsoft Corporation Recognizing selection regions from multiple simultaneous inputs
US7932896B2 (en) 2007-06-13 2011-04-26 Apple Inc. Techniques for reducing jitter for taps
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8174502B2 (en) 2008-03-04 2012-05-08 Apple Inc. Touch event processing for web pages
US8276093B2 (en) 2008-04-24 2012-09-25 Nintendo Co., Ltd. Computer-readable storage medium having object display order changing program stored therein and apparatus
JP4171770B1 (ja) 2008-04-24 2008-10-29 任天堂株式会社 オブジェクト表示順変更プログラム及び装置
CN101581992A (zh) 2008-05-16 2009-11-18 鸿富锦精密工业(深圳)有限公司 触摸屏装置及其输入方法
US8375336B2 (en) 2008-05-23 2013-02-12 Microsoft Corporation Panning content utilizing a drag operation
KR101477743B1 (ko) 2008-06-16 2014-12-31 삼성전자 주식회사 단말 및 그의 기능 수행 방법
US8390577B2 (en) 2008-07-25 2013-03-05 Intuilab Continuous recognition of multi-touch gestures
US20100042933A1 (en) 2008-08-15 2010-02-18 International Business Machines Corporation Region selection control for selecting browser rendered elements
US8836645B2 (en) 2008-12-09 2014-09-16 Microsoft Corporation Touch input interpretation
KR101854141B1 (ko) 2009-01-19 2018-06-14 삼성전자주식회사 디스플레이 정보 제어 장치 및 방법
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
EP2256592A1 (en) 2009-05-18 2010-12-01 Lg Electronics Inc. Touchless control of an electronic device
WO2011037558A1 (en) 2009-09-22 2011-03-31 Apple Inc. Device, method, and graphical user interface for manipulating user interface objects
US8766928B2 (en) 2009-09-25 2014-07-01 Apple Inc. Device, method, and graphical user interface for manipulating user interface objects
CA2686995A1 (en) 2009-12-03 2011-06-03 Ibm Canada Limited - Ibm Canada Limitee Handling user-interface gestures in non-rectangular regions
US20110167336A1 (en) 2010-01-04 2011-07-07 Hit Development Llc Gesture-based web site design
JP5569062B2 (ja) 2010-03-15 2014-08-13 オムロン株式会社 ジェスチャ認識装置、ジェスチャ認識装置の制御方法、および、制御プログラム
JP2011232894A (ja) 2010-04-26 2011-11-17 Renesas Electronics Corp インタフェース装置、ジェスチャ認識方法及びジェスチャ認識プログラム
US20130120280A1 (en) * 2010-05-28 2013-05-16 Tim Kukulski System and Method for Evaluating Interoperability of Gesture Recognizers
US20110304541A1 (en) 2010-06-11 2011-12-15 Navneet Dalal Method and system for detecting gestures
CN101959051A (zh) 2010-09-01 2011-01-26 华为终端有限公司 远程呈现系统的屏幕选看方法及装置
US9146674B2 (en) 2010-11-23 2015-09-29 Sectra Ab GUI controls with movable touch-control objects for alternate interactions
DE102010054859A1 (de) * 2010-12-17 2012-06-21 Rohde & Schwarz Gmbh & Co. Kg System mit Gestenerkennungseinheit
US20120249422A1 (en) * 2011-03-31 2012-10-04 Smart Technologies Ulc Interactive input system and method
US20130024819A1 (en) * 2011-07-18 2013-01-24 Fuji Xerox Co., Ltd. Systems and methods for gesture-based creation of interactive hotspots in a real world environment
US10389778B2 (en) * 2012-01-23 2019-08-20 Time Warner Cable Enterprises Llc Transitioning video between devices using touch gestures
US9304646B2 (en) * 2012-03-20 2016-04-05 A9.Com, Inc. Multi-user content interactions
US9335913B2 (en) 2012-11-12 2016-05-10 Microsoft Technology Licensing, Llc Cross slide gesture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009018314A2 (en) * 2007-07-30 2009-02-05 Perceptive Pixel, Inc. Graphical user interface for large-scale, multi-user, multi-touch systems
WO2011094267A1 (en) * 2010-01-26 2011-08-04 Apple Inc. Gesture recognizers with delegates for controlling and modifying gesture recognition

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020086998A (ja) * 2018-11-27 2020-06-04 ローム株式会社 入力デバイス、自動車
JP7280032B2 (ja) 2018-11-27 2023-05-23 ローム株式会社 入力デバイス、自動車
US11941208B2 (en) 2018-11-27 2024-03-26 Rohm Co., Ltd. Input device and automobile including the same

Also Published As

Publication number Publication date
JP6226394B2 (ja) 2017-11-08
US9575652B2 (en) 2017-02-21
EP2831704A4 (en) 2015-11-11
CN104246659B (zh) 2017-09-22
CN104246659A (zh) 2014-12-24
EP2831704A1 (en) 2015-02-04
KR20140147095A (ko) 2014-12-29
KR102108583B1 (ko) 2020-05-07
US20130263029A1 (en) 2013-10-03
WO2013148293A1 (en) 2013-10-03

Similar Documents

Publication Publication Date Title
JP6226394B2 (ja) インスタンス化可能なジェスチャオブジェクト
CN108369456B (zh) 用于触摸输入设备的触觉反馈
CN106687922B (zh) 参数惯性和api
KR102150733B1 (ko) 패닝 애니메이션
US11075976B2 (en) Remoting application user interfaces
JP2017523515A (ja) アイコンサイズ変更
US10055388B2 (en) Declarative style rules for default touch behaviors
US9256314B2 (en) Input data type profiles
US9747004B2 (en) Web content navigation using tab switching
US10691880B2 (en) Ink in an electronic document
US20120260267A1 (en) Methods and Systems for Supporting a Rendering API Using a Runtime Environment
US9383908B2 (en) Independent hit testing
EP2992421A1 (en) Invoking an application from a web page or other application
KR20170097161A (ko) 브라우저 디스플레이 캐스팅 기법들
JP2017526068A (ja) 混合ビューへのジェスチャベースのアクセス
KR102040359B1 (ko) 상태 정보를 위한 동기화 지점
US20140372903A1 (en) Independent Hit Testing for Touchpad Manipulations and Double-Tap Zooming
US20180300160A1 (en) Host and Component Relationship between Applications
JP2015185005A (ja) 表示画面を表示させるサーバ及び方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170407

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: 20170905

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171004

R150 Certificate of patent or registration of utility model

Ref document number: 6226394

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