JP6293763B2 - 低レイテンシのユーザー入力処理およびフィードバックのためのハイブリッドシステムおよび方法 - Google Patents

低レイテンシのユーザー入力処理およびフィードバックのためのハイブリッドシステムおよび方法 Download PDF

Info

Publication number
JP6293763B2
JP6293763B2 JP2015535843A JP2015535843A JP6293763B2 JP 6293763 B2 JP6293763 B2 JP 6293763B2 JP 2015535843 A JP2015535843 A JP 2015535843A JP 2015535843 A JP2015535843 A JP 2015535843A JP 6293763 B2 JP6293763 B2 JP 6293763B2
Authority
JP
Japan
Prior art keywords
latency
user input
subsystem
low
processing
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.)
Active
Application number
JP2015535843A
Other languages
English (en)
Other versions
JP2015536008A (ja
JP2015536008A5 (ja
Inventor
ウィグダー,ダニエル
サンダース,スティーブン,レオナルド
ホルヘ ホタ コスタ,リカルド
ホルヘ ホタ コスタ,リカルド
フォーラインズ,クリフトン
Original Assignee
タクチュアル ラブズ シーオー.
タクチュアル ラブズ シーオー.
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 タクチュアル ラブズ シーオー., タクチュアル ラブズ シーオー. filed Critical タクチュアル ラブズ シーオー.
Publication of JP2015536008A publication Critical patent/JP2015536008A/ja
Publication of JP2015536008A5 publication Critical patent/JP2015536008A5/ja
Application granted granted Critical
Publication of JP6293763B2 publication Critical patent/JP6293763B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Advance Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本出願は、「Hybrid Systems And Methods For Low−Latency User Input Processing And Feedback」と題し、2012年10月5日に出願された米国仮特許出願61/710,256号の非仮特許出願であり、その優先権を主張しており、本明細書に添付のソースコード含む当該文献の開示全体は全体として参照することにより本明細書に組み込まれる。
本出願は著作権の保護を受ける材料を含んでいる。著作権者は、特許商標庁のファイルや記録でまたは特許記録で公にされている特許開示物の複製には反対しないが、そうでない場合はいかなる著作権もすべて留保する。
本発明は一般にユーザー入力の分野に関し、特に、低レイテンシ(law latency)ユーザー体験を実現するユーザー入力システムに関する。
本発明は一般にユーザー入力の分野に関し、特に、低レイテンシ(latency)のユーザー体験を実現するユーザー入力システムに関する。前述したおよびそれ以外の開示の目的、特徴、および利点は、添付の図面で例証されるような実施形態の以下の特定の記載から明らかとなり、様々な図面で参照文字は同じ部品を指している。図面は必ずしも一定の縮尺である必要はなく、その代わりに、開示された実施形態の原則を例証することに重点が置かれている。
タッチユーザーインターフェース内の100ミリ秒(ms)、50ミリ秒、10ミリ秒、および1ミリ秒でのドラッグレイテンシの効果の証明を例証する。 インボックス(Inbox)用のユーザーインターフェース要素の例を示しており、ユーザーインターフェース要素はタッチ式のユーザーとの対話に対して、レイテンシが低く、忠実応答性が低い(low fidelity response)だけでなく、タッチ式のユーザーとの対話に対して、レイテンシが高く、忠実応答性が高い。 スライド式トグル要素のユーザーインターフェースの例を示す。カーソル(310)(「十字」文字を含むボックスによって表わされる)を標的(320)(右側の第2の空のボックス)にドラッグすることで、UI要素を起動することができる。この要素は、タッチによる対話を提供するために、低レイテンシシステムと高レイテンシシステムの両方を用いて動作可能であり、可動式の要素を加速させ(310)、それにより、低レイテンシ体験をもたらす。 レイテンシ認識研究で使用されるプロトタイプ高性能タッチシステムの基本的な構造の例証的な実施形態を示す。 図4のプロトタイプ装置を使用するレイテンシ認識研究の結果を示す。 ボタン用のユーザーインターフェース要素の例を示しており、ユーザーインターフェース要素はタッチ式のユーザーとの対話に対して、レイテンシが低く、忠実応答性が低いだけでなく、タッチ式のユーザーとの対話に対して、レイテンシが高く、忠実応答性が高い。 サイズ変更可能なボックス用のユーザーインターフェース要素の例を示しており、ユーザーインターフェース要素はタッチ式のユーザーとの対話に対して、レイテンシが低く、忠実応答性が低いだけでなく、タッチ式のユーザーとの対話に対して、レイテンシが高く、忠実応答性が高い。 スクロール可能なボックス用のユーザーインターフェース要素の例を示しており、ユーザーインターフェース要素はタッチ式のユーザーとの対話に対して、レイテンシが低く、忠実応答性が低いだけでなく、タッチ式のユーザーとの対話に対して、レイテンシが高く、忠実応答性が高い。 低レイテンシ入力装置用の基本的な構造と情報の流れの例証的な実施形態を示す。 音量調節用のUIを示す。スライダーをドラッグする際、ツールチップは最新の設定の数表示を示すように見える。この要素は、タッチによる対話を提供するために、低レイテンシシステムと高レイテンシシステムの両方を用いて動作可能であり、可動式の要素を加速させ、それにより、低レイテンシ体験をもたらす。 現在のハイブリッドフィードバックユーザーインターフェースシステムにおいてペン入力のためのUIの実施形態と比較した、先行技術のシステムにおけるペン入力に対するシステムの応答を示す。ハイブリッドシステムでは、インクストロークは、ペン入力に対して低レイテンシ応答を有し、同様に、ペンによるユーザーの入力に対して高レイテンシ応答を有する。 システムの一実施形態を示しており、ここで、高レイテンシフィードバックと低レイテンシフィードバックの両方をサポートするために、データは、システムの構成要素を通る2つの重複する経路を通って流れる。 モデルビューコントローラと呼ばれる、当該技術で周知のプログラミングパラダイムを示す。 ユーザー入力に対して高レイテンシ応答と低レイテンシ応答を混合したアプリケーションと開発と実行をサポートするシステムアーキテクチャの実施形態を示す。
以下の記載と図面は例証的なものであり、限定的なものとして解釈するべきではない。完全な理解を促すべく多くの明確な詳細が記載されている。しかしながら、特定の例では、記載を不明瞭にしないようにするために周知または従来の詳細が記載されていない。本開示で1つまたはある実施形態について言及することは、必ずしも同じ実施形態を言及することにはならず、こうした参照は少なくとも1つを意味する。
本明細書において、「1つの実施形態」または「ある実施形態」への言及は、その実施形態に関連して記載された特定の特性、構造、または特徴が、本開示の少なくとも1つの実施形態に含まれるということを意味している。本明細書の様々な面における「1つの実施形態において」というフレーズの出現は、必ずしも同じ実施形態をすべて言及しているわけではなく、それ以外の実施形態を相互に排除した別のまたは代替的な実施形態であるわけでもない。さらに、実施形態によっては示されることもあれば示されないものものある様々な特徴が記載されている。同様に、実施形態によっては要件であることもあれば要件でないものも様々な実施形態が記載されている。
(概略)
本出願は、高速マルチタッチセンサーのようなユーザーインターフェース、および、以下で開示された他のインターフェースに関する:「Low−Latency Touch Sensitive Device」と題し、2013年3月15日に出願された米国特許出願13/841,436号、「Fast Multi−Touch Stylus」と題し、2013年3月15日に出願された米国特許出願61/798,948号、「Fast Multi−Touch Sensor With User−Identification Techniques」と題し、2013年3月15日に出願された米国特許出願61/799,035号、「Fast Multi−Touch Noise Reduction」と題し、2013年3月15日に出願された米国特許出願61/798,828号、
「Active Optical Stylus」と題し、2013年3月15日に出願された米国特許出願61/798,708号、「Hybrid Systems And Methods For Low−Latency User Input Processing And Feedback」と題し、2013年3月15日に出願された米国特許出願61/710,256号、「Fast Multi−Touch Post Processing」と題し、2013年7月12日に出願された米国特許出願61/845,892号、「Reducing Control Response Latency With Defined Cross−Control Behavior」と題し、2013年7月12日に出願された米国特許出願61/845,879号、および、「Systems And Methods For Providing Response To User Input Using Information About State Changes And Predicting Future User Input」と題し、2013年9月18日に出願された米国特許出願61/879,245号。これらの出願の全開示物は引用することによって本明細書に組み込まれる。
様々な実施形態では、本開示は、低レイテンシの直接操作ユーザーインターフェースを提供するシステムと方法を対象としている。偽の「現実世界の」対象の物理的な直接操作は、マウス、トラックパッド、ペンタブレットなどを含む間接的な装置と同様に、直接のタッチ入力、スタイラス入力、空中でのジェスチャー入力を可能にするものを含む多くの種類の入力装置に用いられている共通のユーザーインターフェースメタファーである。本開示の目的のために、ユーザーインターフェースのレイテンシとは、物理的な入力行為に対する応答がユーザーに与えられるまでにかかる時間のことを指す。試験によると、ユーザーはレイテンシが低いことを好み、以下に非常に詳しく議論されるように、ユーザーは5−10ミリ秒程度で低レイテンシを信頼できると認識している。
図1は、それぞれ、100ミリ秒(参照番号110)、50ミリ秒(参照番号120)、10ミリ秒(参照番号130)、および、1ミリ秒(参照番号140)の典型的なタッチユーザーインターフェースにおけるレイテンシの効果の実証を示している。対象をドラッグする際、レイテンシの増加は、ユーザーの指とドラッグされている対象(この場合は正方形のユーザーインターフェース要素)との間の距離の増加として反映される。見て分かるように、レイテンシの効果は、100ミリ秒(参照番号110)と50ミリ秒(参照番号120)で非常に目立つが、10ミリ秒(参照番号130)では次第にそれほど顕著ではなくなり、1ミリ秒(参照番号140)では事実上消えている。図11は、典型的なスタイラスまたはペンのユーザーインターフェース(1110、1120)におけるレイテンシの効果を例証する。この実施例において、遅延(1120)は、スタイラス(1100)の先端と計算されたストローク(1110)との間の距離の増加に見える。低レイテンシシステムを導入すると、スタイラス(1100)の先端と計算されたストローク(1130)の間の距離は、著しく減少するであろう。
ある実施形態では、ここで開示されているシステムおよび方法は、高レベルのレイテンシでの追加の視覚的な応答と絡み合わせた、または、オーバーレイさせた、10ミリ秒未満のレイテンシを備えた即時の視覚的なフィードバックを供給する、ハイブリッドタッチユーザーインターフェースを提供する。いくつかの実施形態では、これらの2つのセットの応答の設計は視覚的に統一するように考案されることもあり、その結果、ユーザーはそれらを識別することができない。いくつかの実施形態では、「低レイテンシ」応答は10ミリ秒のレイテンシを超えることもある。
(レイテンシの原因)
様々な実施形態では、ユーザー入力装置とその入力を処理するシステムのレイテンシは、以下を含む多くのソースを有することがあり得る:
(1)タッチ事象を捕捉する物理センサー
(2)タッチ事象を処理し、表示される出力を生成するソフトウェア
(3)ディスプレイそのもの
(4)バスを含む部品間でのデータ伝送
(5)メモリー記憶装置または短緩衝記憶装置のいずれかでのデータ内部記憶装置
(6)システムリソースの割り込みと競争
(7)回路類の他のソースがレイテンシを導入することができること
(8)光の速度などの物理的な制約と回路類構造におけるその影響
(9)抵抗型タッチセンサーがその「中立な」状態に曲げ戻すのにかかる時間といった機械的な制約
様々な実施形態において、システムのレイテンシを減らすことは、これらの部品の1つ以上のレイテンシを改善することで対処することができる。ある実施形態では、ここに開示されるシステムおよび方法は、低レイテンシ入力センサーとディスプレイを専用の処理システムと組み合わせることにより、1ミリ秒以下のレイテンシを実現する入力装置を提供する。ある実施形態では、ここに開示されるシステムおよび方法は、こうした低レイテンシ入力センサーとディスプレイを専用の処理システムと組み合わせることにより、5ミリ秒以下のレイテンシを実現する入力装置を提供する。さらなる実施形態では、ここに開示されるシステムおよび方法は、こうした低レイテンシ入力センサーとディスプレイを専用の処理システムと組み合わせることにより、0.1ミリ秒以下のレイテンシを実現する入力装置を提供する。さらなる実施形態では、ここに開示されるシステムおよび方法は、こうした低レイテンシ入力センサーとディスプレイを専用の処理システムと組み合わせることにより、10ミリ秒以下のレイテンシを実現する入力装置を提供する。ある実施形態では、こうした非常に低レイテンシを達成するために、ここに開示されるシステムおよび方法は、従来のオペレーティングシステム(OS)ソフトウェアおよびコンピューティングハードウェアを、専用のカスタムプログラムしたフィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)に取り替えてもよい。ある実施形態では、FPGAまたはASICは、低レイテンシ応答を提供するために、従来のOSおよびコンピューティングハードウェアを取り換えつつ、(低レイテンシ応答に加えて使用される)高レイテンシ応答を提供するために、従来のOSおよびコンピューティングハードウェアをそのまま残しておく。別の実施形態では、記載されるFPGAまたはASICの機能のいくらかまたはすべては、限定されないが、グラフィック処理装置(GPU)、入力装置コントローラ、中央処理装置(CPU)、またはチップ(SoC)上のシステムなどの既存の部品へと追加論理を統合することによって、取り替えられてもよい。低レイテンシ論理は、ハードウェアまたはソフトウェアでエンコードし、および/または、こうした部品またはそれ以外の部品によって実行することができる。多くの部品が必要とされる実施形態では、通信および/または同期は共有メモリーを使用して容易にされてもよい。こうした実施形態のいずれかでは、高レイテンシまたは低レイテンシで与えられる応答は、一緒に混合されることもあれば、あるいは、1つまたは他方だけが所定の入力事象に応答して提供されることもある。
様々な実施形態では、開示されたシステムおよび方法は、本明細書に「ハイブリッドフィードバック」と呼ばれるものを提供する。ハイブリッドフィードバックシステムでは、入力に対する基本システムの応答のいくつかは、広範なアプリケーション論理からは論理上分離される。その結果、ユーザーの入力事象に実質的に即時のシステムフィードバックを供給することができ、より多くのフィードバックが従来のレイテンシレベルで提供されるアプリケーション論理に基づいている、応答の速い入力処理装置を備えたシステムが提供される。いくつかの実施形態では、こうしたシステムの応答は視覚的に提供される。様々な実施形態では、ハイブリッドフィードバックシステムの低レイテンシ部品は、音声または振動触知性の触覚フィードバックによって提供されてもよい。いくつかの実施形態では、実質的に即時のフィードバックは、アプリケーション論理フィードバックと同じ様式で提供されてもよい。いくつかの実施形態では、低レイテンシフィードバックは、異なる様式または複数の様式で提供されてもよい。すべての視覚的な実施形態の一例が図2に示されており、この場合では、タッチ入力装置の使用を示している。特に、図2は、ユーザーがタッチし、その後、インボックスを表すアイコン(210)をドラッグした後の結果を示している。ユーザーがアイコン(210)にタッチすると、境界(220)または他の適切なプリミティブ(primitive)が表示されることもある。ある実施形態では、すべての視覚的な低レイテンシフィードバックにおいて、レンダリングしやすいことから適切な忠実度の低い表示が選択されることもある。ある実施形態では、低レイテンシフィードバックは、適切な忠実度の低い表示を提供することができる1つ以上のプリミティブを使用して、提供されることもある。ある実施形態では、ユーザーがタッチディスプレイ(200)別の場所にアイコンをドラッグすると、忠実度の低い境界(230)が表示され、例えば1ミリ秒の低レイテンシで操作される(例えば、動かされる)こともある。同時に、アイコン(210)の移動は高レイテンシで示されることもある。ある実施形態では、実質的に即時の低レイテンシ応答と、緩慢そうなアプリケーション論理フィードバックとの間の応答の差は、ユーザーにより認識可能である。別の実施形態では、低レイテンシ応答と従来の応答との間の応答のこの差は、混合され、ユーザーにさほど顕著ではないか、あるいは、まったく顕著ではない。ある実施形態では、実質的に即時のフィードバックは、従来の経路のアプリケーション論理フィードバックよりも低い忠実度で提供されることもある。ある実施形態では、少なくともいくつかの場合において、低レイテンシ応答は、アプリケーション論理フィードバックと同じまたはそれよりも高い忠実度で提供されることもある。ある実施形態では、低レイテンシ実質的に即時のフィードバックの形態は、システムソフトウェアにあるアプリケーション論理または論理によって書き取られる。例えば、ある実施形態では、アプリケーション論理は、低レイテンシサブシステムによって後で使用することができる、多種多様なグラフィックプリミティブをあらかじめレンダリングしてもよい。同様に、ある実施形態では、ソフトウェアツールキットは、低レイテンシシステムによって必要とされるよりも前にレンダリングすることが可能なグラフィックプリミティブを開発する手段を提供してもよい。ある実施形態では、低レイテンシ応答はあらかじめ決められるか、あるいは、アプリケーションおよび/またはシステムソフトウェア論理とは無関係に決められてもよい。ある実施形態では、個々のあらかじめレンダリングされた、または、部分的にレンダリングされた低レイテンシ応答、あるいは、あらかじめレンダリングされた、または、部分的にレンダリングされた低レイテンシ応答のパッケージは、メモリーにあらかじめロードすることができ、それによって、ユーザーの入力事象に応答して使うことを必要とされる前に低レイテンシサブシステムにアクセス可能となる。
ある実施形態では、低レイテンシ出力の様式は聴覚によるものであってもよい。ある実施形態では、低レイテンシシステムは、例えば、音声出力システムにマイクロホン入力を迅速に送るために使用されてもよく、このシステムは、ユーザーに対して、システムに話しかける自分自身の声の「反響」を提供するものであってもよい。こうした低レイテンシ出力は、ユーザーに自分の声を聴かせる従来のアナログ電話と同じ種類の応答特徴を有しているという印象を与えることもある。ある実施形態では、低レイテンシ聴覚フィードバックは、ユーザーの入力事象(例えば、タッチ、ジェスチャー、ペン入力、または、口頭入力)に応答して提供されてもよく、レイテンシの高い応答は視覚的に提供される。
本方法およびシステムを使用するシステムの別の例証的な実施形態が図3に示されている。実例となるシステムでは、カーソル(310)(「十字」文字を含むボックスによって表わされ)は、装置のスクリーン(300)のいかなる場所にもドラッグすることができる。カーソル(310)を標的ボックス(320)にドラッグする際、UIのアクションが承諾される。カーソル(310)をスクリーン(300)のどこかにドラッグすると、アクションは却下される。ある実施形態において、ドラッグする際、カーソル(310)は低レイテンシで引かれ、はっきりとわかるほどのレイテンシなくユーザーの指を追跡する。ある実施形態では、ユーザーの認識に影響を与えることなく、高レイテンシで標的(320)を引くことができる。同様に、ある実施形態では、「REJECT」または「ACCEPT」の応答(330)は、後で認識できる程度に生じることもあり、したがって、ユーザーの認識に影響を与えることなく、例えば、低レイテンシサブシステムを使用せずに、それを高レイテンシで引くことができる。
図示された実施形態は例示的なものであることが理解されよう。図3で示された原則は、現在知られている、または、後に当該技術分野で展開されるUI要素をすべて含む、任意の種類のUI要素に適用されてもよい。同様に、図3で示された原則は、様々なタイプの入力装置および/または出力装置上でのその後の任意の種類の入力事象と共に使用することができる。例えば、ある実施形態において、上記に例証した「タッチ」事象に加えて、入力事象は、限定されないが、空中または表面上でのジェスチャー、発言、自発的または無意識な目の動き、および、ペンを含み得る。ある実施形態では、いったんジェスチャーが行われると、任意のUI要素の応答は二叉に枝分かれすることもあり、ここで、低レイテンシ応答(例えば、UI要素の忠実度の低い表示が示され、迅速に、例えば、0.01ミリ秒で応答する)、および、レイテンシの低くない応答(例えば、UI要素のさらに精密な表示)には、入力を早めないシステムによって一般に示されるレイテンシが提供される。ある実施形態では、応答はハイブリッドシステムにおいて分割されることもあり、その代り、レイテンシは完全に低く、アプリケーション論理は低レイテンシ応答の原因ではなく、さもなければ高レイテンシで実行される。
ある実施形態では、タッチおよび/またはジェスチャーによる入力事象は、限定されないが、抵抗式、直接照明、漏れ全反射(frustrated total−internal reflection)、拡散照明、投影型静電容量、容量結合、音波、および、画素内センサー(sensor−in−pixel)を含む様々な技術を駆使して、達成することができる。ある実施形態では、ペン入力は、抵抗型、視覚的、容量性、磁気、赤外線、光学撮像、分散信号、音響パルス、または、他の技術を用いて動作可能である。ある実施形態では、ジェスチャー入力も、視覚センサーまたは携帯型の物体(センサーを含むもの、および、追跡するためだけに使用されるものを含む)を使用して、または、2Dと3Dのセンサーなどの携帯型の物体なしで動作可能である。入力事象の組み合わせ((すなわち、タッチ、ペン、ジェスチャー、retna移動など)のように、入力事象を識別するためのセンサーまたは技術の組み合わせも企図されている。入力事象を識別するまたは捕らえる技術が共有している1つの特性は、これらがユーザーのアクションとシステムのそのアクションに対するシステムの応答との間のレイテンシに寄与するということである。この寄与のスケールは技術と実行によって変動する。
典型的なマルチタッチシステムでは、入力装置と、通信手段、OS、UIツールキット、アプリケーションレイヤー、および/または、音声またはグラフィックスのコントローラを含むこともあるディスプレイとの間の情報の流れの経路がある。これらの各々はレイテンシを追加しかねない。さらに、オペレーティングシステムによって開始されたレイテンシ、特に非リアルタイムのオペレーティングシステムは可変性である。Windows(登録商標)、iOS、OSX、アンドロイドなどはリアルタイムのOSではなく、したがって、こうしたOSを使用すると一定時間内に応答が起こるという保証はない。処理装置に高い負荷がかけられると、例えば、レイテンシが劇的に増加することもある。さらに、いくつかの操作はソフトウェアスタックの非常に低いレベルで処理され、高い優先順位を有している。例えば、マウスポインターは典型的には高度に最適化されており、その結果、処理装置が高い負荷をかけられたときでも、認識されるレイテンシは比較的低い。対照的に、タッチまたはジェスチャーのシステムで2本の指を用いて写真をサイズ変更するような操作は、アプリケーションおよび/またはUIツールキットレベルで画像の一定の倍率変更を必要とすることもあるため、一般にはるかに計算負荷が高い。その結果、プロセッサーが高い負荷をかけられているとき、こうした操作ではレイテンシを低いと認識されることはめったにない。
典型的なマルチタッチシステムでは、ディスプレイシステム(ディスプレイ自体とグラフィックスシステムを含む)もレイテンシに寄与することもある。フレームレートの高いシステムではシステムによって実際のレイテンシが分かりにくくなることもある。例えば、60Hzのモニターは、高度な画像処理効果を可能にするために、緩衝記憶装置の1つ以上のフレームを含むこともある。同様にプロジェクターなどの表示装置のなかには、エレクトロニクス中でのダブルバッファーリングを含み、ディスプレイのレイテンシを有効に2倍にする。3Dテレビやモーションアーチファクトの減少を望む気持ちがより速いLCDの開発を駆り立てているが、液晶自体の物理学は、従来のLCDの性能を480Hz以上にすることはありそうもない。ある実施形態では、本明細書に記載の低レイテンシシステムはLCDディスプレイを使用することもある。LCDディスプレイの性能とは対照的に、OLEDまたはAMOLEDのディスプレイは、1ミリ秒をはるかに下回る応答時間が可能である。これに応じて、ある実施形態では、本明細書に記載の高性能のタッチ(またはジェスチャー)システムは、限定されないが、以下の技術:OLED、AMOLED、プラズマ、エレクトロウェッティング、カラーフィールシーケンシャルLCD、光学上補正された屈曲モード(OCBまたはPi−Cell)LCD、電子インクなどの1つ以上に基づいたディスプレイを含む、高速の応答時間を有するディスプレイ上で実行されることもある。
(レイテンシの認識研究)
研究は、ユーザーが直接的なタッチインタフェースのどの程度のレイテンシを本質的に瞬間的なものとして認識するかを決定するために行われた。図4のブロック図で表わされたプロトタイプ装置は、プロトタイプの高性能なタッチシステム(400)の基本的構造の実例となる実施形態を示す。ある実施形態では、高速入力装置(420)は、24cmx16cmのアクティブ領域を有するマルチタッチの抵抗型タッチセンサーであり、超高速な操作を可能にする電子機器である。このセンサーによる遅れはわずかに1ミリ秒未満である。ある実施形態では、タッチデータは、光リンクを介して連続的に送信されることもある。
実例となる試験システムでは、ディスプレイ(460)は、テキサス・インスツルメント社のデジタル光処理技術に基づいたDLP Discovery 4100キットである。実例となる試験システムは、タッチセンサー上で前面投射を利用し、ユーザーの指と画像の位置合わせの認識を妨害する視差を取り除く。採用されるDLPプロジェクターは、非常に速い速度で効果的に画素をオンまたはオフにするミラーのマトリックスである、デジタルマイクロミラー装置(DMD)を使用する。ミラーの高速を用いて、連続的な発色画像を出現させるべく、オン対オフのパーセント時間を変更することもある。単純なバイナリ画像のみが使用される実施形態では、これらをもっと早い速度で生成することができる。実例となる試験システムでは、プロジェクター開発システムは、40μβ以下のレイテンシで1024x768の解像度で32,000バイナリフレーム/秒を表示する。この速度を達成する実例となる試験システムでは、ビデオデータは25.6 GbpsでDMDにストリームされる。
実例となる試験システムでは、最小のレイテンシを実現するために、すべてのタッチ処理は専用のFPGA 440上で行なわれる−タッチ入力と低レイテンシ出力のディスプレイとの間ではPCまたはオペレーティングシステムは採用されない。DLPキットのオンボードのXC5VLX50アプリケーションFPGAは、タッチデータを処理し、映像出力をレンダリングするために使用されてもよい。FPGAへのUSBの連続接続により、パラメーターを劇的に変化させることができる。実例となる試験システムでは、レイテンシは、1ミリ秒の解像度で1ミリ秒から数百ミリ秒に調節することができる。異なる試験モードを動作させることができ、ポートによりタッチデータを分析のために集めることができる。
実例となる試験システムでは、センサー(420)からタッチデータを受け取るために、システムはカスタムの高速UARTによって通信する。レイテンシを最小限に抑えるために、2Mbpsのボーレートを使用することができ、これは、通信路を通る高周波ノイズによって信号の品位を失うことなく使用することができる高ボーレートを表す。実例となる試験システムでは、圧縮したタッチデータの個々のバイトはその後、FPGA 440上で実行されるタッチ検知有限状態機械によって処理される。有限状態機械(FSM)は同時にデータを復号し、質量中心のブロッブ検出アルゴリズムを行って、タッチの座標を特定する。実例となる試験システムでは、FSMのそれぞれの繰り返しが最後に受信されたバイト上で動作して、タッチデータのバッファリングが生じないように、システムはパイプライン方式で実行される。
実例となる試験システムでは、その後、タッチ座標は10段階の可変遅延ブロックに送られる。それぞれの遅延段階は計測器を備えた単純なFSMであり、タッチ座標を遅らせるためのクロックサイクル数を示す制御信号を取り込み、様々な値のレイテンシを可能にする。遅延ブロックは繰り返しの開始時にタッチサンプルをラッチし、サンプルを送って次のものをラッチするために、適切なサイクル数を待つ。したがって、遅延ブロックは遅延計算の因子だけサンプリングレートを引き下げる。ある実施形態では、サンプリングレートを合理的なレベルで維持するために、10の遅延段階を使用することができ、その結果、例えば、100ミリ秒のレイテンシを実現するために、ブロックは、100Hzのサンプリングレートに関してサンプル間で10ミリ秒待つ。実例となる試験システムでは、基本的なアプリケーションを実行するために、MicroBlazeのソフトプロセッサーを用いてディスプレイをレンダリングする。
ある実施形態では、試験システムは、性能を改善するために、MicroBlazeの代わりにハードコードされた制御FSMを使用することもある。ある実施形態において、別のソフトプロセッサーが使用されてもよい。実例となる試験システムでは、MicroBlazeは、Xilinx FPGAで合成されるために最適化された32ビットのハーバードアーキテクチャRISCプロセッサーである。MicroBlazeのソフトプロセッサーの例示により、必要とされるコア、周辺装置、およびメモリー構造のみを選択することができる。実例となる試験システムでは、基礎となるMicroBlaze構造に加えて、割込み制御装置、例えば、タッチデータ用のGPIO、可変のレイテンシを設定するためのGPIO、画像バッファのためのBRAMメモリー制御装置、および、PCと通信するUARTユニットを使用することができる、実例となる試験システムでは、MicroBlazeは100MHzで計測される。MicroBlazeは、有効なタッチ座標を検知するために割込みシステムを使用する。有効なタッチデータが遅延ブロックからGPIOの上に到着すると、タッチによる即座の割込み事象が生成され、該当する画像は画像バッファに書きこまれる。張り込み式システムには非均一な性質があることから、正確なレイテンシを計算することができないが、設計によっては、それは、入力装置による1ミリ秒のレイテンシと比較すると些細なものである。
実例となる試験システムでは、画像バッファはオンチップBRAMブロック内で合成される。これらのブロックは、高フレームレートディスプレイをサポートするのに十分な帯域幅を備えた、2重ポートの高速な構成可能なメモリバッファを供給することができる。実例となる試験システムでは、画像バッファは、DLPによって必要とされるように、25.6Gbpsの全帯域幅について128ビットのバス幅を含む200MHzで計測される。最後に、DMD制御装置は画像バッファからフレームを連続的に読出し、DMDを制御するために適切なタイミングで信号を生成する。
実例となる試験システムでは、ユーザー入力は、従来のPCに同時に送られ、処理されて、従来のよりレイテンシの高い応答をもたらす。このレイテンシの高い応答は、従来のデータ・プロジェクターによって出力され、予想される低レイテンシ応答と重複するように位置合わせされる。
研究は、ユーザーがタッチスクリーンインタフェース上で共通のタスクを行う際に認識することができる性能の正確なレベルを決定するために行なわれた、その目的のために、こうした研究は、様々な性能レベルの丁度可知差異(JND)を決定するために行なわれた。JNDは、観察者によって検知することができる2つのレベルの刺激の間の差の尺度である。この場合、JNDは、参加者が2つの等しくない刺激−−同じレベルで一貫して示される刺激(基準と呼ばれる)と、その値が実験全体を通して劇的に変化する刺激(プローブ(probe)と呼ばれる)とを区別することができる閾値として定義される。いくつかの任意の基準値のJNDに対する一般に容認された値は、参加者が75%の確率で基準を正確に特定することができるプローブである。こうした精度で基準と識別することができないプローブ値は、基準と「著しく異ならない」と考えられる。
研究は、基準として機能する1ミリ秒のレイテンシの最大性能と比較して、プローブレイテンシのJND値を決定するために行なわれた。こうした決定は最大の認識できる性能に絶対値を提供しないが、一方で、それが我々のプロトタイプが実現することができる最も速い速度であれば、それは、他の値のレイテンシと比較することができる我々の「最良のケース」の最低限の条件として役立つことができる。参加者たちは、典型的な現世代のハードウェア(例えば、現在のタブレットおよびタッチコンピューター)が提供する(〜50−200ミリ秒)著しく低い(<20ミリ秒)レイテンシの値を識別することができることが分かった。
右利きの10人の参加者(女性3人)を地域のコミュニティーから募集した。年齢は24歳から40歳(平均27.80歳、標準偏差4.73)までであった。すべての参加者はタッチスクリーン装置を使用した経験があり、参加者はみな1つ以上のタッチ装置(iOSベースまたはアンドロイドベースの電話またはタブレット)を所有していた。参加者には対のレイテンシ条件:基準値(1ミリ秒)およびプローブ(1〜65ミリ秒のレイテンシ)を繰り返し与えられた。参加者はタッチスクリーンディスプレイ上で指を左から右に、その後、右から左にドラッグした。いずれのドラッグするタスクは適切であったが、レイテンシの高い場合には左/右への動きにより閉塞が減少する。参加者は、研究を「急いで終わらせる(race through)」ことのないように、両方の方向に移動させるように頼まれた。ユーザーの接点の下で、システムは、図1で見られるような固体の白色の2cm×2cm正方形をレンダリングした。動きの速度は参加者たちが決めるものとした。条件の2つ順序はそれぞれの対について無作為化した。研究は2つの交互に選択を強いられる実験として設計された;参加者は、それぞれの試験でどの場合が基準(1ミリ秒)値なのか選択するように指示され、「分からない」または「自信がない」という選択をすることは許されなかった。それぞれの対の後、参加者は2つのどちらが「より速かったか」を実験者に知らせた。
それぞれの試験が所望の75%のJND値に集中するために、適応性のある階段アルゴリズムにしたがって追加のレイテンシの量を制御した。基準値をそれぞれ正確に特定することで、プローブにおけるレイテンシの量は減少し、その一方で、それぞれの不正確な応答によりプローブのレイテンシは増加した。75%の信頼水準に達するために、増加と減少は、Kaernbach(Kaernbach,C. 1991. Perception & Psychophysics 49, 227−229)によって記載された単純加重上下変動法(simple weighted up−down method)を伴い、増加はベースのステップサイズに3倍の乗数を適用し、減少はベースのステップサイズ(当初は8ミリ秒)だった。
参加者が正確な応答の後に不正確に応答した場合、もしくは、不正確な応答の後に正確な応答をした場合、これによって階段の方向が(増加または減少させて)逆になることから、これは反転と呼ばれた。ステップの大きさは当初8ミリ秒であり、それぞれの反転時に半分、1ミリ秒の最小のステップの大きさになる。これは合計して10の反転が生じるまで続き、75%の正確さで集合状態をもたらした。それぞれの参加者は8つの階段「工程」を終えた。このうち4つは最小のプローブレイテンシ(1ミリ秒)で開始し、残りの4つは最大のレイテンシ(65ミリ秒)で始まった。階段のより高い開始値が選ばれた。というのも、これが市販の提供物と大まかに一致し、かつ、パイロット実験によりこの値がほぼ100%の精度で1ミリ秒の基準と区別され、天井効果を回避することが明らかになったためである。階段は、連続する刺激間の進歩を追跡する参加者の能力によって引き起こされることになる応答バイアスを防ぐために、インターリーブされた対で一度に2回実行された。こうした対のそれぞれの階段条件は、実現可能なもの(2つの開始値x4回の繰り返し)からの取り換えなしで任意に選択された。階段間の休憩を含む実験全体は、1回の1時間のセッション内でそれぞれの参加者によって完了した。
研究は、1ミリ秒を超えるレイテンシ値に関する丁度可知差異(JND)値を見つけるために考案された。このJND値は、参加者が75%の確率で基準を正確に特定することができる値であると一般に合意される。参加者のJND値は2.38ミリ秒から11.36ミリ秒まで変動し、すべての参加者の平均JNDは6.04ミリ秒(標準偏差4.33ミリ秒)である。JND値はそれぞれの参加者の階段の8工程ではさほど著しくは変化しない。それぞれの参加者の結果が図5に現われる。
その結果によれば、参加者は消費者装置の典型的な閾値(50−200ミリ秒)をはるかに下回るレイテンシの差を識別することができた。参加者は、自分の指をタッチスクリーンのまわりを移動させる際に、スクリーン上の対象と自分の指の間の距離を推測することによって、レイテンシを決定することが多かったことに注目する。これはUI(特に、ドラッグ)において使用される入力プリミティブのアーチファクトである。異なる入力プリミティブ(例えば、タップ)を試験することで、レイテンシの異なる認識を表すことになる。結果によれば、レイテンシにおける大きさの改善は、タッチ装置のユーザーによって認識され理解されるであろうことが確認される。
(低レイテンシ直接タッチ入力装置のアーキテクチャ)
ある実施形態では、アプリケーション開発者がツールキットベースのアプリケーション設計プロセスを使用し続けることを可能にするが、低レイテンシシステムの存在を考慮して、こうしたツールキットが非常に低レイテンシでフィードバックを与えることを可能にする、ソフトウェアインターフェースが設計されてもよい。ある実施形態では、本開示で概説されたシステムと方法は、多くのUIツールキットのベースになっているUI開発のモデルビューコントローラ(「MVC」)モデル上で実行されることもある。MVCによって、アプリケーション論理はアプリケーションの視覚的な表示から分離することができる。ある実施形態では、MVCは、アプリケーションに対する第2のオーバーレイされた事実上のビューを含むこともある。特に、ある実施形態では、タッチ入力は、タッチ時点のアプリケーションの状態に部分的に基づくUI制御からの即時応答を受け取る。目的は基礎となるアプリケーションに文脈的にリンクされる実質的に即時の応答を提供することである。
タッチに対するアプリケーション独立視覚応答への事前の作業は、UIの視覚要素からさえも完全に分離しており、視覚的な複雑さを加えている。ある実施形態では、本明細書で概説されたシステムおよび方法にしたがって、一連の視覚的な応答は、視覚的な複雑さを減らすために、UI要素自体にさらに完全に統合される。したがって、ある実施形態では、示された特定の視覚的要素が事実上のタッチする「マウスポインター」を提供する場合、目的は、高性能応答を統合して制御部そのものにして、もっと統一された視覚化をもたらすことである。それにもかかわらず、ある実施形態では、システムと方法により、高レイテンシサブシステムからの応答とマージされる低レイテンシサブシステムによる文脈自由の応答をレンダリングすることが可能となる。ある実施形態では、視覚要素は、システムの応答の残りと同じレンダリングパイプラインにおいて示される必要はない。代わりに、本明細書に議論されるようにハイブリッドフィードバックを利用するシステムまたは方法は、従来のシステムによって生成されるレイテンシのより高い応答に加えて、ユーザー入力に対する低レイテンシ応答を提示することもある。
したがって、ある実施形態では、従来の直接タッチソフトウェアが高レイテンシで通常時のように作用するように加速式の入力対話は設計され、UI要素のためにカスタマイズされたさらなるフィードバックのセットは、ユーザーが感知できないレイテンシの標的とともに、低レイテンシで提供される。ある実施形態では、これらの2つの層は2つ以上の画像を重ね合わせることにより結合する。ある実施形態では、2つの結合した画像は、低レイテンシタッチ装置からの1つの投影画像と、カスタムタッチソフトウェアを実行し、低レイテンシサブシステムからの入力を受け取るデスクトップコンピューターに接続された従来のプロジェクターからの第2の画像とを含むこともある。
上記の2つのプロジェクターによる解決策は、低レイテンシ応答と従来の応答を組み合わせるという一般的な考えの1つの特定の実施形態として役立つことだけを目的としている。ある実施形態では、低レイテンシサブシステムと高レイテンシサブシステムからの視覚的な出力は、ディスプレイに送られる前、したがって、表示される前に、システム中の表示バッファまたはそれ以外の場所で論理的に組み合わされる。ある実施形態では、透明で重複するディスプレイはユーザーに対して低レイテンシおよび長い出力を提示する。ある実施形態では、ディスプレイのピクセルは、その一部が低レイテンシサブシステムによって制御され、いくつかが高レイテンシサブシステムによって制御されるようにインタレースされ、インタレースによって、こうしたディスプレイはユーザーにとって重複するように見えることもある。ある実施形態では、ディスプレイ上で表示されるフレームは、その一部のフレームが低レイテンシサブシステムによって制御され、いくつかのフレームが高レイテンシサブシステムによって制御されるようにインタレースされ、フレームのインタレースによって、ディスプレイは結合した画像を包含するようにユーザーには見えることもある。ある実施形態では、低レイテンシ応答は、ハードウェア内で圧倒的にまたは完全に生成されてもよい。ある実施形態では、低レイテンシ応答は、入力センサーから直接受け取った入力センサーデータから生成されてもよい。ある実施形態では、低レイテンシ応答は、ディスプレイハードウェアへの高帯域幅リンクを有することにより表示される。
低レイテンシサブシステム用のユーザーインターフェースを設計する際に、以下の制約の1つ以上が考慮されることもある:
・情報:入力に対するシステムの応答を形成するために、高レイテンシサブシステムから必要とされる任意の情報または処理は、そのような情報または処理が、例えば、あらかじめレンダリングされるか、または、あらかじめ保存されていなければ、必ず、レイテンシは高くなるであろう。
・性能:低レイテンシで応答を形成するのに充てる時間は必ず限定される。ハードウェアで加速したとしても、応答の設計は、応答が所望のレイテンシを必ず満たすように、慎重に性能の影響を受けるものでなければならない。
・忠実度:レンダリングされた低レイテンシ画像の忠実度は、高レイテンシレンダリングとは判別不能なこともあり(実際に、それは高レイテンシシステムによってあらかじめレンダリングされることもある)、性能を改善するために、例えば、視覚要素は単色のみであるということ、および/または、視覚的なプリミティブに限定される、および/または、音声または触覚による応答の持続期間または特徴が限定されることなどの追加の制約が忠実度に課されることもある。この種の制約は、加速ハードウェアを含むシステムの様々な要素によって、または、出力ハードウェア(ディスプレイ、触覚型の出力装置、またはスピーカーなど)によって取り入れられることもある。
・非干渉:応答が混成した組み合わせである実施形態では、アプリケーションの応答の一部が高レイテンシ層において生成されることもあれば、低レイテンシ層で生成されるものもあり、検討事項は、例えば、ユーザーの入力に対してよどみのない応答を提供するためにこの2つをどのように混合するのかということである。ある実施形態では、低レイテンシ応答は、必ず後で生じるであろう任意の起こりうるアプリケーション応答に干渉しない。ある実施形態では、干渉は、低レイテンシ応答と従来の応答の間に生じることもあるが、その干渉は、設計によってまたは応答の混成によって処理されることもある。
ある実施形態では、タッチに対する区別された低レイテンシおよび高レイテンシ視覚的な応答を備えた一連の視覚的なUI制御を作成するために、設計プロセスを実行した。応答の二層の間での円滑な移行を可能にするメタファーが求められた。こうしたビジュアライゼーションは物体の位置と状態のような情報を含んでいた。設計は上記制約を用いて実現可能性に基づいて選択された。そのような実施形態の最終設計は、軍用機で使用されるビジュアライゼーションに類似するヘッドアップ表示装置(HUD)のメタファーに基づいていた。従来のHUDが幾何学的に単純であるので、HUDは適切であり、信頼性のある忠実度で幾何学的に簡単な表示を実行することは比較的容易である。HUDは、多くのHUDでは、結合される2つの視覚的な層の単なる一例を表しているが、コンピュータ化されたディスプレイはビデオ上でまたは「現実の世界」それ自体上で重ね合わせる。したがって、HUDは非干渉であるように一般に設計される。
HUDのメタファーに基づいて、タッチ事象とUIの要素に特有のレイテンシの低い層のビジュアライゼーションの典型的なセットは、多くの直接タッチシステムで見られる1セットのUI要素について開発された。これらの典型的な要素は一般的であるとともに代表的なものであり、こうした対話(タップ、ドラグ、2本指でのピンチ)は、現在の直接タッチ装置で使用される対話の大部分を包含する。このような実施形態で展開された低レイテンシ応答が表1に記載されており、これらは図6−8に示されている。
これらの3つの要素は、タッチ入力用の標準UIツールキットの広い適用範囲を表している。ほとんどの上位のUI要素は、これらのより単純な要素(例えば、ラジオのボタンとチェックボックスは両方とも「ボタン」であり、スクロールバーは並進運動と回転が制約を受けてドラッグ可能/サイズ変更」である)からできている。本明細書に記載された、加速式の入力システムおよび方法は、2つの顕著に異なるレイテンシ値で動作する視覚要素の結合に依存する。このレイテンシの差はレイテンシの低いビジュアライゼーションの設計に組み込まれている。ある実施形態では、目に見える層が一列になると、ユーザーは、コヒーレント同期によって両方のシステムの状態を知らされることもある。ある実施形態では、ユーザーは、システムフィードバックの高レイテンシ部分と短い部分とを識別することができてもよい。ある実施形態では、視覚要素は、低レイテンシ応答と従来の応答との明白に区別しない方法で混合される。
ある実施形態では、アプリケーション開発者はツールキットを利用して、GUI制御を組み立てる通常のプロセスによって自分のアプリケーションを構築する。実施に際して、UI要素はビジュアライゼーションを二又に分け、高レイテンシ、および、低レイテンシビジュアライゼーションをレンダリングして1つのディスプレイ上で重ね合わせる。このようなシステムを通る情報の流れの実施形態は、図9に示される通りである。情報は入力装置(910)からシステムに流れ、当初は入力処理ユニット(IPU)(920)によって処理され、IPUソフトウェアツールキット(930)によってプログラムされる。その後、UIの事象は、2つのサブシステム、低レイテンシ、忠実度の低いサブシステム(940)と、例えば、従来のソフトウェアスタックで動作する従来の管理ソフトウェアなどの高レイテンシサブシステム(950)とによって並列に処理される。ある実施形態では、低レイテンシ、忠実度の低いサブシステム(940)は、図4のFPGA(440)のようなハードウェアで実行されることもある。
この実施形態で記載される分岐は、ユーザーが入力を始める前に、アプリケーション論理によって必要とされる低レイテンシサブシステム(940)によって提供される初期応答の任意のパラメーター化を定義しなければならないという、基本的な通信問題を引き起こす。アプリケーションによる表示時に処理を必要とする任意の応答は、高レイテンシシステム(950)に対する低レイテンシシステム(940)の依存を導入し、したがって、システムに遅延を再度導入することもある。ある実施形態では、低レイテンシシステム(940)の入力に対する応答のその後の段階は、高レイテンシサブシステム(950)に依存することもある。ある実施形態では、高レイテンシサブシステム(950)上での低レイテンシサブシステム(940)の入力に対する応答のその後の段階は、依存がさらなるレイテンシを導入しないように、管理される。ある実施形態では、依存は完全に回避されることになる。
ある実施形態では、UI要素論理は、低レイテンシサブシステムに組み込まれてもよい。ユーザー入力間で、高レイテンシサブシステム(950)で実行されるアプリケーションでは、UI要素の低レイテンシサブシステム(940)モデルにパラメーターを与える機会がある。したがって、ある実施形態では、UIソフトウェア設計のMVCモデルは、低レイテンシフィードバックに責任を負う個別の制御装置を提供することによって拡張されてもよい。ある実施形態では、ソフトウェア設計において、それぞれの制御について以下の1つ以上を指定することができる:
・要素の種類(例えば、ボタン、ドラッグ可能な対象、スクロール可能なリストなど)
・境界寸法(例えば、x位置、y位置、幅、高さなど)
・条件付きである:追加のプリミティブ情報(例えば、スクロール可能なリストなどの場合にはリストのアイテムの大きさ)。
ある実施形態では、タッチ入力に対する所定の要素のタイプの応答用の論理は、低レイテンシサブシステム(940)に保存される。ユーザー入力に対する応答のさらなるパラメーター化を、かなりの程度のカスタマイゼーションを可能にして、同じ方法で通信させることができる。ある実施形態では、センサーデータを処理して、事象(または入力ストリームのその他の処理された形態)を発生させ、これはその後、低レイテンシサブシステム(940)と高レイテンシサブシステム(950)に別々に分配される。事象は、低レイテンシサブシステム(940)と高レイテンシサブシステム(950)では異なる速度で生成されることもある。というのも、低レイテンシサブシステムは高レイテンシサブシステムよりも事象を速く処理することができるからであり、高レイテンシサブシステムに高速で事象を送ることは、そのサブシステムを圧倒することもあるからである。したがって、ユーザー入力に対する低レイテンシおよび高レイテンシサブシステムの応答は独立しているが調整される。ある実施形態では、1つのサブシステムは、ユーザー入力間の別のサブシステムの状態を設定して、「マスター」として機能する。ある実施形態では、低レイテンシサブシステムと高レイテンシサブシステム間の関係は、2つのサブシステム間の同期を含んでいる。ある実施形態では、低レイテンシサブシステムと高レイテンシサブシステム間の関係は、低レイテンシサブシステム(940)に処理をオフロードする高レイテンシサブシステムの能力を含んでいる。ある実施形態では、低レイテンシサブシステムと高レイテンシサブシステム間の関係は、処理負荷を減らし、および/または、事前の処理または事前のレンダリングのために高レイテンシサブシステム(950)を利用する、低レイテンシサブシステム(940)の能力を含んでいる。ある実施形態では、第2の図形処理および出力システムの応答は、第1の図形処理および出力システムに依存し、状態の情報は、第1の図形処理および出力システムから第2の図形処理および出力システムまで伝達される。ある実施形態では、第1の図形処理および出力システムから第2の図形処理および出力システムに伝達されたこうした情報は、ユーザーインターフェース内の図形要素の1つ以上を記載する1つ以上のデータで構成される。このデータは、例えば、大きさ、位置、外観、代替的な外観、ユーザー入力に対する応答、および、ユーザーインターフェース内の図形要素の種類であってもよい。第1の図形処理および出力システムから第2の図形処理および出力システムに伝達されたデータは、第2の図形処理および出力システムに利用可能な高速記憶装置に保存されてもよい。伝達されたデータは、ボタン、スライダー、ドラッグ可能なおよび/またはサイズ変更可能なGUI要素、スクロール可能なリスト、スピナー、ドロップダウンリスト、メニュー、ツールバー、コンボボックス、移動可能なアイコン、固定されたアイコン、ツリー表示、グリッド表示、スクロールバー、スクロール可能なウインドウ、または、ユーザーインターフェース要素の出現および/または働きについて記載していることもある。
ある実施形態では、入力処理システムは、ユーザー入力信号が第1または第2の図形処理および出力システムの1つまたは両方によって受け取られる前に、ユーザー入力信号でデシメーションを行う。第1の図形処理および出力システムから送られたユーザーインターフェースに関する情報に基づいてすべての入力信号のセットから、デシメートされた入力信号またはデシメートされていない信号を選択する。入力信号のデシメーションは、入力信号のセットを論理的に組み合わせて入力信号のより少ないセットにすることによって行われることもある。入力信号の論理結合は、ウインドウで表示される平均値の算出によって行われてもよい。入力信号のセットの大きさを縮小する場合、デシメーションは、ユーザー入力信号の時間を考慮する。入力信号の論理結合は加重平均値の算出によって行なうことができる。
ある実施形態では、第1と第2の図形処理および出力システムによって受け取られるユーザー入力信号は、区別して処理された。
ある実施形態では、高レイテンシ層と低レイテンシ層の間の通信が重要なこともある。高レイテンシサブシステムと低レイテンシサブシステムが同期された状態をどのようにして維持しているのかを調べる際に考慮されるいくつかの点は、以下のように記載されている。
・レイテンシの差:低レイテンシ応答は、応答を同期させるために、高レイテンシ層と低レイテンシ層の間のレイテンシの差に関する情報を使用することもある。ある実施形態では、これらのレイテンシの値は静的であり、したがってFPGAに事前にプログラムされる。レイテンシの値が一方のサブシステムで異なることもある実施形態では、同期されなくなることもある動的値を有するよりもむしろ常に達成可能な一定値でレイテンシ値を固定するか、あるいは、明確な同期機構を提供する方が有利なこともある。レイテンシの値が一方のサブシステムで異なることもある実施形態では、動的値が使用されてもよいが、同期されなくなることがないように注意を払わなければならない。レイテンシの値が一方のサブシステムで異なることもある実施形態では、明確な同期機構がサブシステム(940)と(950)の間に設けられてもよい。
・ヒットテスト:ヒットテストの決定は、目に見えるUI要素の視覚的な階層と特性に関するデータを条件としていることが多い。ある実施形態では、この考慮すべき事項は、UIの平らな「ヒットテストフレンドリーな」マップを要求して、重複する境界を示す長方形(bounding rectangles)を却下とすることによって、解決することができる。ある実施形態では、個別のヒットテストは低レイテンシサブシステムに必要な情報(対象の状態、zオーダー、および、受信者(listeners))を提供することもある。ある実施形態では、低レイテンシサブシステムと高レイテンシサブシステムは、ヒットテストを平行して行うこともある。ある実施形態では、低レイテンシサブシステムはヒットテストを行い、高レイテンシサブシステムに結果を供給する。
・条件付の応答:多くのインターフェースビジュアライゼーションは、即時のユーザー入力だけでなく、アプリケーション論理で定義されたさらなる意思決定論理を条件としている。
条件付きの応答論理の2つの説明に役立つ例は以下のとおりである:クレジットカード購入送信ボタン(submission button))を考慮する。これは、押しても使用できない(二重の引き落としを防ぐため)が、フォームに入力されたデータの妥当性が確認されたときにのみ使用できるようにプログラムされている。こうした場合、ボタンの働きは即時のユーザーとの対話に依存するだけでなく、追加の情報や処理をさらに条件としている。図10に示されるようなリンクしたビジュアライゼーションについても検討する。この場合、操作している(1010)UI要素によるだけでなく、第2のUI要素(1020)によっても、フィードバックをユーザーに提供する。こうした例は低レイテンシサブシステムに直接プログラムすることができる。
ある実施形態では、高レイテンシサブシステムと低レイテンシサブシステムの分離は、任意のユーザーインターフェース要素に依存しないこともある。確かに、両方のサブシステム間の応答性の分割は、任意の数の因子に基づいてカスタマイズすることができ、ユーザーインターフェースツールキットを欠くシステムにおいて、あるいは、利用可能なUIツールキットを用いて、および、用いずに、アプリケーションを開発するための機構を含むシステムにおいて、依然として可能である。ある実施形態では、2つのサブシステム間の責任の分割は、2つのサブシステムが作動している間、劇的に変動し得る。ある実施形態では、UIツールキット自体が低レイテンシサブシステムに含まれることもある。応答をカスタマイズする能力は、本明細書に記載されたシステムと方法から逸脱することのない多くの方法でアプリケーション開発者に提供され得る。ある実施形態では、応答は、UI制御部で調節されるパラメーターとしてカスタマイズされてもよい。ある実施形態では、応答は、低レイテンシサブシステムまたは別の高レイテンシまたは低レイテンシ部品においてそれ自体が実行されるコードで、指示を低レイテンシサブシステムに直接与える能力を可能にすることによりカスタマイズされることもある。ある実施形態では、低レイテンシサブシステムの状態は、例えば、実行時間に、アプリケーションコードによって生成されたデータを用いて設定することができる。
上に記載された実施例の多くがタッチ入力の文脈で提供されるが、限定なく、ペン入力、マウス入力、間接的なタッチ入力(例えば、トラックパッド)、空気ジェスチャー入力、口頭入力、および/または、他の入力様式を含む他の実施形態も企図される。本明細書に記載されたアーキテクチャは、限定なく、混合した入力事象(すなわち、2以上の様式からの入力をサポートする)を含む、任意の種類のユーザー入力事象に等しく適用可能であろう。ある実施形態では、混合型の入力装置は、低レイテンシサブシステムと高レイテンシサブシステムのそれぞれによる処理のために生成される同じ数の事象をもたらすこともある。ある実施形態では、混合型の入力装置は、発生した事象の数で区別されることになる。したがって、例えば、タッチ入力はペン入力よりも事象が少ないこともある。ある実施形態では、それぞれの入力様式はそれ自体の低レイテンシサブシステムを含む。ある実施形態では、複数の入力様式向けの複数の低レイテンシサブシステムを含むシステムでは、サブシステムは応答を調整するために通信することもある。ある実施形態では、複数の入力様式向けの複数の低レイテンシサブシステムを含むシステムでは、複数のサブシステムは、調整を可能にするために共通の記憶領域を共有してもよい。
(入力処理)
本発明の実施形態では、入力ハードウェアからの低レイテンシ入力データは、入力事象の急激なストリームへと最小限に処理される。事象のこのストリームは、さらなる処理のために低レイテンシサブシステムに直接送られる。その後、この同じストリームからの事象は削除されることもあれば、あるいは、高レイテンシサブシステムに送られる前に、当該ストリームがそれ以外の方法で減らされるか、フィルタ処理にかけられることもある。事象は、低レイテンシサブシステム(940)と高レイテンシサブシステム(950)について異なる速度で生成されることもある。というのも、低レイテンシサブシステムは、高レイテンシサブシステムよりも速い事象を処理することができるからであり、速い速度で高レイテンシサブシステムに事象を送ることは、そのサブシステムを圧倒することもあるからである。したがって、ユーザー入力に対する低レイテンシサブシステムと高レイテンシサブシステムの応答は、独立していることもあるが調整されることもある。
事象の減少は最適化することができる。ある実施形態では、代表的な事象は、アプリケーション、UI要素、入力装置などの1つ以上に関連した基準に基づいて候補対象の事象のなかから選択されてもよい。ユーザーがデジタルインクストロークを描いている際のペン入力に関するこの例は、ユーザーの描いたストロークに最も良く適合する事象を選択することを含んでもよい。口頭による入力の別の例は、出力ストリーム内のその後の事象が同様のボリュームを有し、それによって、マイクロホンから聞こえる音を「一定にする」であろう事象に有利である。タッチ入力の別の例は、一貫した速度を有し、より「順調な」出力をもたらす出力事象ストリームを結果として生じる事象に有利である。インテリジェント削減の(intelligent reduction)のこの形態は、高レイテンシサブシステムの性能を低下させることなく、インテリジェントフィルターとして働く。ある実施形態では、入力ストリーム内の他の事象の集合体を表す新しい事象(例えば、統合した事象または偽の事象)を生成することができる。ある実施形態では、もっと望ましい入力ストリーム、例えば、補正または円滑化を表す、新しい事象(例えば、修正した事象、統合した事象、または偽の事象)が生成されることもある。例えば、高速入力装置からの10の事象ごとの空気ジェスチャー入力について、高レイテンシサブシステムでは、実際の入力事象の「平均」を提供する同数またはより少数の事象が送られ、こうして入力を円滑にしてジッターを取り除くこともある。入力装置の多くの「所望」の値の各種パラメーターの混合物である新しい事象を生成することもできる。例えば、スタイラスの傾斜と圧力の特性のインテリジェント削減は、結果として、異なる事象の選択をもたらす場合、こうした特性のそれぞれに関する所望の値を含めるために、1つの、新しい事象オブジェクト(または修正された1つ以上の既存の事象オブジェクト)を作成することができる。
ある実施形態では、IPUまたは低レイテンシサブシステムシステムを用いて、高レイテンシシステムに処理された入力情報を供給してもよい。2つのサブシステムの活動を調整するために、方法の1つ以上を使用することができる。これらは次のものを含む:
a.ある実施形態では、低レイテンシサブシステムは、すべてのユーザー入力に即座に応答することができるが、高レイテンシシステムに入力を与える前に、ユーザーが入力を止める(例えば、指またはペンを上げてジェスチャーを終える)のを待つことができる。これは、データの全体性を依然として処理しつつ、ユーザーとの対話の間にシステムを妨害しないようにするという長所を有する。
b.ある実施形態では、低レイテンシシステムは、ほぼリアルタイムで減少した入力の推定値を与えることができ、随意に必要に応じて高レイテンシシステムで利用可能な完全な入力待ち行列を保存することもある。
c.ある実施形態では、ユーザーフィードバックは2つの工程に分けられてもよい。第1の低レイテンシフィードバックは、図11のユーザー入力(1130)の大まかな即時表示を提供するであろう。高レイテンシシステムが、例えば、ペン(1150)の先端を持ち上げた後に、正確な応答を計算することができるときにはいつでも、第2の高レイテンシシステム応答(1140)は第1の(1130)を鳥空けることができる。代替的に、高レイテンシフィードバックは、低レイテンシフィードバックに連続的に追い付く(できる限り組み入れる)ことができる。
d.ある実施形態では、低レイテンシシステムは、入力ストリームから簡単なジェスチャー作用を推測し、したがって、生の事象に加えて、または、生の事象の代わりに、入力待ち行列に含まれるジェスチャーの事象を生成することができる。
e.ある実施形態では、IPUまたは低レイテンシサブシステムは、将来の入力位置を予想するために、複数の入力位置を使用することができる。この予測が高レイテンシサブシステムに伝えられ、その有効なレイテンシを短くすることができる。
f.ある実施形態では、追加のサンプルまたは初期の検出から利益を得ることもあるアルゴリズムは、IPUまたは低レイテンシサブシステム内で実行される。ある実施形態では、これらの事象の実行は時間を制限することができる。例えば、最初の50の事象を用いて、入力を特定の指として分類するか、あるいは、指とペンの入力を区別することができる。ある実施形態では、これらのアルゴリズムは連続的に作動可能である。
g.ある実施形態では、さもなければ無関係な入力であると誤って判断されることもある、さらなる連続的なまたは同時の関連する入力を受け取って処理するために、事象のストリームを高レイテンシサブシステム伝える低レイテンシサブシステムのプロセスを遅らせることもある。例えば、文字「t」は、2つの別々である関連するストロークとして描かれることも多い。正常な過程では、低レイテンシシステムから高レイテンシシステムまで伝えられた入力ストリームの一部は、最初の線を描いた最後に「ペンを持ち上げる(pen Up)」信号を含むことになる。ある実施形態では、減少プロセスは、ペンがサンプルウインドウ内のディスプレイで再度検出される場合に、サンプルウインドウ内の入力のまさに最後のフレームが「up」という事象を伝えるのを待ち、それによって、事象を必要としなくなる。
(ハードウェアアーキテクチャ)
ある実施形態では、データはシステムの構成要素を通る2つの重複する経路を通って、高レイテンシフィードバックと低レイテンシフィードバックをサポートする。図12は、入力装置(1210)、IPU(1220)、システムバス(1230)、CPU(1240)、および、ディスプレイ(1290)に接続されたGPU(1280)を含むそのような1つのシステムを示している。ユーザー(1200)は入力装置(1210)を用いて入力を行う。この入力はIPU(1220)によって検知され、これは、様々な実施形態で、FPGA、ASIC、または、GPU(1280)、MPU、またはSoCに統合された追加のソフトウェアおよびハードウェア論理のいずれかであり得る。この点で、制御流れは二叉に分かれ、システムを通る2つの別々の経路を辿る。低レイテンシ応答が入力するために、IPU(1220)は、CPU(1240)を迂回して、システムバス(1230)を介してGPU(1280)に入力事象を送る。その後、GPU(1280)は、ユーザー(1200)に対して迅速にフィードバックを表示する。高レイテンシ応答が入力するために、IPU(1220)は、システムバス(1230)を介してCPU(1240)に入力事象を送り、CPU(1240)はグラフィックアプリケーションを起動させ、他のシステムコンポーネントと相互に作用してもよい。その後、CPU(1240)はユーザー(1200)にグラフィックフィードバックを供給するために、システムバス(1230)によってGPU(1280)にコマンドを送る。入力装置(1210)からIPU(1220)まで、GPU(1280)まで、システムバス(1230)までの低レイテンシ経路は主にハードウェアであり、低レイテンシで動作する。入力装置(1210)からIPU(1220)まで、システムバス(1230)まで、システムバス(1230)まで、CPU(1240)まで、GPU(1280)までの高レイテンシ経路は、本記載に以前に述べられた因子によってレイテンシは高い。関連する実施形態では、入力装置(1210)は、GPU(1280)と直接通信し、システムバス(1230)を迂回する。
図13は、モデルビューコントローラと呼ばれるよく知られたプログラミングパラダイムを示す。このパラダイムでは、ユーザー(1300)は、コントローラ(1310)上で入力を行い、これは、その後、この入力に基づいてモデル(1320)を操作する。モデル(1320)の変化は、ユーザー(1300)によって観察されるビュー(1330)に対する変化をもたらす。本発明によって対処されたレイテンシの一部は、入力のレイテンシ、これらの部品のなかでの通信のレイテンシ、および、ビュー(1330)の部品によって生成されたグラフィックスの表示のレイテンシによる。
図14は、ユーザー入力に対する低レイテンシおよび高レイテンシ混成型の応答を備えたシステム上で進行中および実行中のアプリケーションをサポートするアーキテクチャの実施形態を示す。ユーザー(1400)は、入力装置(1410)を用いて入力を行う。この入力はIPU(1420)によって受け取られる。IPU(1420)は、従来の機構を介して高レイテンシサブシステムで動作しているコントローラ(1430)と、低レイテンシサブシステムで動作しているビューモデル(L)(1490)に対して、入力事象を同時に送る。入力はコントローラ(1430)によって処理され、コントローラ(1430)は高レイテンシサブシステムで動作しているモデル(1440)を操作し、これは、揮発性メモリー(1450)、固定記憶装置(1470)、ネットワークリソース(1460)など(遅延を導入するすべての対話)のデータと相互に作用してもよい。ビューモデル(L)(1490)によって受け取られた入力事象はビューモデル(L)に対する変化を生じさせ、この変化は、ビュー(L)(1491)に対する変化に反映され、ユーザー(1400)に見られる。モデル(1440)に対する変化は、高レイテンシサブシステムのビュー(H)(1480)に対する変化をもたらし、これもユーザー(1400)に見られる。ある実施形態では、ユーザーが目にするこれらの2つのタイプの変化は、同じディスプレイに示される。ある実施形態では、これらの2つのタイプの変化は、他の出力様式(例えば、音または振動など)によってユーザーに反映される。ある実施形態では、入力と入力の間に、モデル(1440)は、ビューモデル(L)(1490)とビュー(L)(1491)の状態を更新するため、ビューモデル(L)(1490)は、システムのディスプレイ上の正確な位置にGUIの要素を示すために必要とされるデータを包含しており、ビューモデル(L)(1490)は、モデル(1440)の現在の状態の文脈でIPU(1420)からの入力を正確に解釈することができ、および、ビュー(L)(1491)は、モデル(1440)の現在の状況文脈で表示されるグラフィックスを正確に生成することができる。
一例として、その機能のなかで、外観を変更して起動したことを示すことでユーザーのタッチに応答するボタンを備えたタッチ感度の優れたアプリケーションを考慮する。アプリケーションが実行される際、アプリケーションは、メモリーとコンパイルされたアプリケーションコードから、ボタンの位置、大きさ、および外観の細部を読み取る。ビュー(H)(1480)コードは、このボタンを表示するためにユーザーに提示される必要なグラフィックスを生成する。モデル(1440)は、この図形要素がボタンであるということ、および、それが、タッチされると、「正常な」外観から「押された」外観にまで外観を変化させなければならないということを記録するために、ビューモデル(L)(1490)の状態を更新する。モデル(1440)はさらに、ビューモデル(L)(1490)における「正常な」状態と「押された」状態についての正確な外観を記録するために、ビュー(L)(1491)の状態を更新する。この外観は、忠実度の低い図形要素の記載であってもよく、または、表示する完全なラスターであってもよい。この実施例において、「押された」状態は、ボタンの位置のまわりにホワイトボックスを表示することによって表される。
ユーザーはタッチスクリーンディスプレイにタッチし、そのタッチを記載した入力データは、IPU(1420)によって1ミリ秒未満後に受け取られる。IPU(1420)は、入力データからタッチダウン事象を表わす入力事象を作成し、アプリケーションコントローラ(1430)にこの入力事象を送る。コントローラ(1430)はモデル(1440)を操作する。この場合、コントローラ(1430)は、ボタンが触れられたこと、および、アプリケーションが、このボタンに関連するどんなコマンドでも実行すべきであることを、モデル(1440)に示している。IPU(1420)がコントローラ(1430)へ事象を送るのと同じ時間に、IPU(1420)はビューモデル(L)(1490)に事象を送り、ボタンが触れられたことを示す。ビューモデル(L)(1490)は、タッチの場合には何を行うべきかに関してモデル(1440)によってあらかじめ指示をされ、この場合、ビューモデル(L)(1490)は、その状態を「押された」に変更することによってタッチ事象に応答する。ビュー(L)(1491)は、ボタンのまわりにホワイトボックス、その「押された」外観に対応するフィードバックを表示することによってこの変化に応答する。ボタンが触れられるというモデル(1440)に対する変化はビュー(H)(1480)の更新をもたらすため、それもボタンが今触れられていることを反映している。ビュー(H)(1480)とビュー(L)(1491)の両方の出力を見るユーザーは、ビュー(L)(1491)によるタッチの即時のフィードバックと、1秒の何分の1かの後のビュー(H)(1480)からのフィードバックを見る。
本出願の文脈の全体にわたって、「事象」という用語は、ユーザー入力の属性を記載した情報を記載するために使用される。この用語は一般に使用されており、事象によって作動するアーキテクチャが採用される(実際の事象のオブジェクトはソフトウェア要素間で伝達されている)実施形態と、記載された「事象」が情報のストリームの中に単純に存在するさらに基本的な入力ストリームとを含んでいる。こうした事象は、例えば、非オブジェクト指向の事象のまたはオブジェクト指向の事象であってもよい。
本システムおよび方法は、ユーザー入力を受け取ってこれに応答することができるコンピューターシステムを含む方法と装置のブロック図と操作図に関して上に記載されている。ブロック図または操作図のそれぞれのブロック、および、ブロック図または操作図のブロックの組み合わせは、アナログハードウェアまたはデジタルハードウェアとコンピュータープログラム命令によって実行されてもよい。これらのコンピュータープログラム命令が汎用コンピュータ、ASIC、または、他のプログラム可能なデータ処理装置のプロセッサーに提供され、その結果、コンピュータのプロセッサーまたは他のプログラム可能なデータ処理装置によって実行される命令が、ブロック図または操作ブロックで指定される機能/行為を実施する。いくつかの交互の実施では、ブロックに書き留められた機能/行為は、操作図で示された順序を脱して生じることもある。例えば、連続して示された2つのブロックは実際にはほぼ同時に実行されてもよく、あるいは、ブロックは、含まれる機能/行為にしたがって逆の順序でしばしば実行されることもある。
本発明は特に1つの好ましい実施形態に関して示され記載されてきたが、本発明の精神と範囲から逸脱することなく、本明細書で形態や詳細の様々な修正を行ってもよいことが当業者には理解されよう。

Claims (34)

  1. 低レイテンシでユーザー入力を処理するためのシステムであって、
    入力装置、
    入力処理装置、
    レイテンシの高いサブシステム、
    レイテンシの低いサブシステム、
    ユーザー入力に応答して信号を生成するのに適した入力処理ユニットソフトウェア、および、
    出力装置を備え、
    レイテンシの低いサブシステムは、レイテンシの高いサブシステムと比較して、低レイテンシで複数の信号を処理し、レイテンシの高いサブシステムは、レイテンシの低いサブシステムと比較して、高レイテンシで複数の信号を処理し、
    入力装置、入力処理ユニット、レイテンシの高いサブシステム、レイテンシの低いサブシステム、入力処理ユニットソフトウェア、および、出力装置は、信号の少なくともいくつかがレイテンシの低いサブシステムとレイテンシの高いサブシステムによって並行して処理され、レイテンシの低いサブシステムが低レイテンシで、出力装置で出力されるプログラム可能な応答を作成し、レイテンシの高いサブシステムが高レイテンシで、出力装置で出力される応答を作成する、ように配され、
    出力装置は、レイテンシの低いサブシステムからの応答と、レイテンシの高いサブシステムからの応答が出力されると、これらの応答を出力し、
    レイテンシの高いサブシステムはレイテンシの高いサブシステムの少なくとも1つの状態を反映する状態情報を含み、レイテンシの低いサブシステムは状態情報に依存する、
    システム。
  2. レイテンシの低いサブシステムによって生成されたレイテンシの低いデータは、定義された応答に対応するデータを、レイテンシの低いサブシステムによって受け取られた信号のストリームの少なくとも一部の信号の少なくともいくつかの1つ以上と関連付けることによって生成される、請求項1に記載のユーザー入力を処理するためのシステム。
  3. レイテンシの高いサブシステムによって生成されたレイテンシの高いデータと、レイテンシの低いサブシステムによって生成されたレイテンシの低いデータは、実質的に等しい忠実度を有する、請求項1に記載のユーザー入力を処理するためのシステム。
  4. レイテンシの高いサブシステムによって生成されたレイテンシの高いデータと、レイテンシの低いサブシステムによって生成されたレイテンシの低いデータは、忠実度が異なる、請求項1に記載のユーザー入力を処理するためのシステム。
  5. レイテンシの低いサブシステムは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、マイクロコントローラ、図形処理装置(GPU)、または、チップ上のシステム(SoC)の群から選択される少なくとも1つにおいて、少なくとも部分的に実行される、請求項1に記載のユーザー入力を処理するためのシステム。
  6. レイテンシの低いサブシステムは、コンピューティングシステムの既存の構成要素に統合された論理において実行される、請求項1に記載のユーザー入力を処理するためのシステム。
  7. コンピューティングシステムの既存の構成要素は、図形処理装置(GPU)、入力装置コントローラー、中央処理装置(CPU)、マイクロコントローラ、または、チップ上のシステム(SoC)の群から選択される少なくとも1つを含む、請求項6に記載のユーザー入力を処理するためのシステム。
  8. レイテンシの高いサブシステムは、第1の図形処理および出力システムであり、
    レイテンシの低いサブシステムは、第2の図形処理および出力システムであり、
    第1の図形処理および出力システムから第2の図形処理および出力システムへと伝達されたデータは、ユーザーインターフェース内の図形要素の1つ以上を記載したデータの1つ以上のピースから構成され、伝達されたデータは、サイズ、場所、外観、代替的な外観、ユーザー入力に対する応答、および、ユーザーインターフェース内の図形要素の種類からなる群から選択される、請求項1に記載のユーザー入力を処理するためのシステム。
  9. レイテンシの高いサブシステムは、第1の図形処理および出力システムであり、
    レイテンシの低いサブシステムは、第2の図形処理および出力システムであり、
    第1の図形処理および出力システムから第2の図形処理および出力システムまで伝達されたデータは、ボタン、スライダー、ドラッグ可能なまたはサイズ変更可能なGUI要素、スクロール可能なリスト、スピナー、ドロップダウンリスト、メニュー、ツールバー、コンボボックス、移動可能なアイコン、固定されたアイコン、ツリー表示、グリッド表示、スクロールバー、スクロール可能なウインドウ、または、ユーザーインターフェース要素の外観および/または働きについて記載している、請求項1に記載のユーザー入力を処理するためのシステム。
  10. レイテンシの低いサブシステムは、ユーザーインターフェース要素論理を含む、請求項1に記載のユーザー入力を処理するためのシステム。
  11. 目に見えるUI要素の視覚的な階層と特性に関するデータを含んでいるUI要素データをさらに含み、
    レイテンシの低いサブシステムは、UI要素データ中の情報に基づいてヒットテストを行うのに適している、請求項10に記載のユーザー入力を処理するためのシステム。
  12. レイテンシの低いサブシステムはストリームから信号の1つ以上を取り除くのに適しており、取り除いた信号が、レイテンシの高いサブシステムによって受け取られる受信データの少なくともいくつかに対応する信号のストリームの少なくとも一部にならないようにする、請求項1に記載のユーザー入力を処理するためのシステム。
  13. レイテンシの高いサブシステムは、第1の図形処理および出力システムであり、
    レイテンシの低いサブシステムは、第2の図形処理および出力システムであり、
    入力処理システムは、ユーザー入力信号が第1または第2の図形処理および出力システムの1つまたは両方によって受け取られる前に、ユーザー入力信号上でデシメーションを行う、請求項12に記載のユーザー入力を処理するためのシステム。
  14. レイテンシの高いデータに対応する信号のストリームの少なくとも一部は、レイテンシの低いデータに対応する信号の少なくとも一部とは異なる、請求項1に記載のユーザー入力を処理するためのシステム。
  15. ディスプレイによって使用されるレイテンシの高いデータに対応する発せられた信号の少なくともいくつかは、レイテンシの低いデータに対応する発せられた信号の少なくともいくつかとは異なる、請求項1に記載のユーザー入力を処理するためのシステム。
  16. レイテンシの高いサブシステムは、第1の図形処理および出力システムであり、
    レイテンシの低いサブシステムは、第2の図形処理および出力システムであり、
    第1と第2の図形処理および出力システムによって受け取られたユーザー入力信号は、区別して処理される、請求項1に記載のユーザー入力を処理するためのシステム。
  17. 追加の出力装置を含み、信号のストリームの少なくとも一部の1つ以上の信号に応答して、レイテンシの低いサブシステムは、追加の出力装置によって使用される追加の出力データを生成する、請求項1に記載のユーザー入力を処理するためのシステム。
  18. 追加の出力装置と追加の出力データは、音声出力装置および音声データ、ならびに、触覚フィードバック装置および触覚フィードバックデータを含む群から選択される、請求項17に記載のユーザー入力を処理するためのシステム。
  19. ユーザーインターフェースのビジュアライゼーションに影響を与え得るレイテンシの低いデータの少なくともいくつかと、ユーザーインターフェースのビジュアライゼーションに影響を与え得る対応するレイテンシの高いデータの少なくともいくつかは、ユーザーによって認識できない方法で混合される、請求項1に記載のユーザー入力を処理するためのシステム。
  20. アプリケーション論理によって指示される形態のレイテンシの低いシステム応答を提供するように構成される、請求項1に記載のユーザー入力を処理するためのシステム。
  21. システム論理によって指示される形態のレイテンシの低いシステム応答を提供するように構成される、請求項1に記載のユーザー入力を処理するためのシステム。
  22. レイテンシの低いシステム応答の形態は、聴覚応答、視覚応答、および触覚応答からなる群から選択された応答または一連の応答を含む、請求項1に記載のユーザー入力を処理するためのシステム。
  23. ユーザー入力装置は、抵抗式、直接照明、漏れ全反射、拡散照明、投影型静電容量、容量結合、音波、および、画素内センサーからなる群から選択された技術の少なくとも1つを使用する直接タッチ入力装置を含む、請求項1に記載のユーザー入力を処理するためのシステム。
  24. レイテンシの低いサブシステムは少なくとも1つのあらかじめレンダリングされた視覚的要素を含み、および、レイテンシの低いデータは、少なくとも1つのあらかじめレンダリングされた視覚的要素の1つ以上に対応する、請求項2に記載のユーザー入力を処理するためのシステム。
  25. レイテンシの高いデータとレイテンシの低いデータは忠実度が異なる、請求項24に記載のユーザー入力を処理するためのシステム。
  26. レイテンシの高いサブシステムは、第1の図形処理および出力システムであり、
    レイテンシの低いサブシステムは、第2の図形処理および出力システムであり、
    第1の図形処理および出力システムから第2の図形処理および出力システムへと伝達されたデータは、ユーザーインターフェース内の図形要素の1つ以上を記載したデータの1つ以上のピースから構成され、伝達されたデータは、サイズ、場所、外観、代替的な外観、ユーザー入力に対する応答、および、ユーザーインターフェース内の図形要素の種類からなる群から選択される、請求項24に記載のユーザー入力を処理するためのシステム。
  27. レイテンシの高いサブシステムは、第1の図形処理および出力システムであり、
    レイテンシの低いサブシステムは、第2の図形処理および出力システムであり、
    第1の図形処理および出力システムから第2の図形処理および出力システムまで伝達されたデータは、ボタン、スライダー、ドラッグ可能なまたはサイズ変更可能なGUI要素、スクロール可能なリスト、スピナー、ドロップダウンリスト、メニュー、ツールバー、コンボボックス、移動可能なアイコン、固定されたアイコン、ツリー表示、グリッド表示、スクロールバー、スクロール可能なウインドウ、または、ユーザーインターフェース要素の外観および/または働きについて記載している、請求項24に記載のユーザー入力を処理するためのシステム。
  28. 目に見えるUI要素の視覚的な階層と特性に関するデータを含んでいるUI要素データをさらに含み、
    レイテンシの低いサブシステムは、UI要素データ中の情報に基づいてヒットテストを行うのに適している、請求項24に記載のユーザー入力を処理するためのシステム。
  29. ユーザー入力に対応する信号を受け取り、受け取った信号に対応して発せられた信号は、レイテンシの高いサブシステムとレイテンシの低いサブシステムにストリームで送られ、レイテンシの低いサブシステムは、ストリームから、発せられた信号の1つ以上を取り除くのに適しており、取り除いた信号が、レイテンシの高いサブシステムによって受け取られる受信データに対応する発せられた信号の少なくともいくつかの一部にならないようにする、請求項24に記載のユーザー入力を処理するためのシステム。
  30. 追加の出力装置を含み、ユーザー入力に対応する信号を受け取り、受け取った信号に対応して発せられた信号のストリームの少なくともいくつかに応答して、レイテンシの低いサブシステムは、追加の出力装置によって使用される追加の出力データを生成する、請求項24に記載のユーザー入力を処理するためのシステム。
  31. 追加の出力装置と追加の出力データは、視覚出力装置および視覚データ、音声出力装置および音声データ、ならびに、触覚フィードバック装置および触覚フィードバックデータを含む群から選択される、請求項30に記載のユーザー入力を処理するためのシステム。
  32. ユーザー入力装置は、タッチ、マルチタッチ、ペン、目の動き、視線追跡、空中ジェスチャー、音声、マウス、キーボード、2Dセンサーからの入力、3Dセンサーからの入力、および、変動する圧力からなる群から選択される少なくとも1つの形態でユーザー入力を受け取るように構成される、請求項1に記載のユーザー入力を処理するためのシステム。
  33. レイテンシの高いおよびレイテンシの低いビジュアライゼーションは、2つの投影映像を重ねること、表示バッファ内のビジュアライゼーションを論理的に結合させること、各々がレイテンシの高いおよびレイテンシの低いビジュアライゼーションの1つを表示することができる2つの透明な層を重ねること、一部がレイテンシの低いビジュアライゼーションから満たされ、一部がレイテンシの高いビジュアライゼーションから満たされるように、ディスプレイのピクセルをインタレースすること、あるいは、一部がレイテンシの低いビジュアライゼーションから満たされ、一部がレイテンシの高いビジュアライゼーションから満たされるように、ディスプレイのフレームをインタレースすること:の少なくとも1つによって単一のディスプレイ上で組み合わされる、請求項1に記載のユーザー入力を処理するためのシステム。
  34. 入力装置は入力サブシステムの一部であり、入力サブシステムは、入力装置に対する複数のユーザー入力に応答して、入力に関する情報を含む信号を出力するのに適しており、
    レイテンシの低いサブシステムは、信号を受け取り、信号の1つ以上に応答してレイテンシの低い応答を生成し、および、レイテンシの高いサブシステムに信号の少なくとも1つを送るのに適している、請求項1に記載のユーザー入力を処理するためのシステム。
JP2015535843A 2012-10-05 2013-10-04 低レイテンシのユーザー入力処理およびフィードバックのためのハイブリッドシステムおよび方法 Active JP6293763B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261710256P 2012-10-05 2012-10-05
US61/710,256 2012-10-05
PCT/US2013/063569 WO2014055942A1 (en) 2012-10-05 2013-10-04 Hybrid systems and methods for low-latency user input processing and feedback

Publications (3)

Publication Number Publication Date
JP2015536008A JP2015536008A (ja) 2015-12-17
JP2015536008A5 JP2015536008A5 (ja) 2016-10-20
JP6293763B2 true JP6293763B2 (ja) 2018-03-14

Family

ID=50435494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015535843A Active JP6293763B2 (ja) 2012-10-05 2013-10-04 低レイテンシのユーザー入力処理およびフィードバックのためのハイブリッドシステムおよび方法

Country Status (13)

Country Link
US (5) US9507500B2 (ja)
EP (1) EP2904484A4 (ja)
JP (1) JP6293763B2 (ja)
KR (1) KR101867494B1 (ja)
CN (1) CN104903832B (ja)
AU (1) AU2013326854A1 (ja)
BR (1) BR112015007617A2 (ja)
CA (1) CA2885184A1 (ja)
HK (1) HK1213663A1 (ja)
IL (1) IL238127B (ja)
MX (1) MX347342B (ja)
SG (2) SG10201601697SA (ja)
WO (1) WO2014055942A1 (ja)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
EP2847661A2 (en) 2012-05-09 2015-03-18 Apple Inc. Device, method, and graphical user interface for moving and dropping a user interface object
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
WO2013169854A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object
WO2013169851A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for facilitating user interaction with controls in a user interface
WO2013169843A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
CN105260049B (zh) 2012-05-09 2018-10-23 苹果公司 用于响应于用户接触来显示附加信息的设备、方法和图形用户界面
KR101683868B1 (ko) 2012-05-09 2016-12-07 애플 인크. 제스처에 응답하여 디스플레이 상태들 사이를 전이하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
JP6082458B2 (ja) * 2012-05-09 2017-02-15 アップル インコーポレイテッド ユーザインタフェース内で実行される動作の触知フィードバックを提供するデバイス、方法、及びグラフィカルユーザインタフェース
EP3410287B1 (en) 2012-05-09 2022-08-17 Apple Inc. Device, method, and graphical user interface for selecting user interface objects
SG10201601697SA (en) * 2012-10-05 2016-04-28 Tactual Labs Co Hybrid systems and methods for low-latency user input processing and feedback
KR101905174B1 (ko) 2012-12-29 2018-10-08 애플 인크. 사용자 인터페이스 계층을 내비게이션하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
JP6093877B2 (ja) 2012-12-29 2017-03-08 アップル インコーポレイテッド 複数接触ジェスチャのために触知出力の生成を見合わせるためのデバイス、方法、及びグラフィカルユーザインタフェース
JP6097843B2 (ja) 2012-12-29 2017-03-15 アップル インコーポレイテッド コンテンツをスクロールするか選択するかを判定するためのデバイス、方法、及びグラフィカルユーザインタフェース
US9483171B1 (en) * 2013-06-11 2016-11-01 Amazon Technologies, Inc. Low latency touch input rendering
JP2016528612A (ja) * 2013-07-12 2016-09-15 タクチュアル ラブズ シーオー. 定義されたクロス制御挙動による制御応答レイテンシの短縮
GB2519118A (en) * 2013-10-10 2015-04-15 Ibm Web page reload
US9342331B2 (en) 2013-10-21 2016-05-17 International Business Machines Corporation Secure virtualized mobile cellular device
US10156976B2 (en) * 2014-01-30 2018-12-18 Samsung Display Co., Ltd. System and method in managing low-latency direct control feedback
US9892556B2 (en) 2014-03-11 2018-02-13 Amazon Technologies, Inc. Real-time exploration of video content
US10939175B2 (en) 2014-03-11 2021-03-02 Amazon Technologies, Inc. Generating new video content from pre-recorded video
US9894405B2 (en) * 2014-03-11 2018-02-13 Amazon Technologies, Inc. Object discovery and exploration in video content
US9747727B2 (en) 2014-03-11 2017-08-29 Amazon Technologies, Inc. Object customization and accessorization in video content
US9933880B2 (en) 2014-03-17 2018-04-03 Tactual Labs Co. Orthogonal signaling touch user, hand and object discrimination systems and methods
US9507845B1 (en) * 2014-03-27 2016-11-29 EMC IP Holding Company, LLC Virtual splitter
US9912562B2 (en) * 2014-03-31 2018-03-06 Microsoft Technology Licensing, Llc Measuring latency in an interactive application
US9710098B2 (en) * 2014-03-31 2017-07-18 Samsung Display Co., Ltd. Method and apparatus to reduce latency of touch events
US9508166B2 (en) 2014-09-15 2016-11-29 Microsoft Technology Licensing, Llc Smoothing and GPU-enabled rendering of digital ink
US10088952B2 (en) 2014-09-18 2018-10-02 Tactual Labs Co. Systems and methods for using hover information to predict touch locations and reduce or eliminate touchdown latency
US9633466B2 (en) 2014-09-29 2017-04-25 Microsoft Technology Licensing, Llc Low latency ink rendering pipeline
US20160117080A1 (en) * 2014-10-22 2016-04-28 Microsoft Corporation Hit-test to determine enablement of direct manipulations in response to user actions
WO2016081610A1 (en) * 2014-11-18 2016-05-26 Tactual Labs Co. System and method for performing hit testing in a graphical user interface
US9721365B2 (en) 2014-12-09 2017-08-01 Synaptics Incorporated Low latency modification of display frames
KR102320771B1 (ko) * 2015-01-15 2021-11-02 삼성디스플레이 주식회사 데이터 구동회로 및 이를 이용한 표시장치
US10089291B2 (en) 2015-02-27 2018-10-02 Microsoft Technology Licensing, Llc Ink stroke editing and manipulation
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10048757B2 (en) 2015-03-08 2018-08-14 Apple Inc. Devices and methods for controlling media presentation
US9645732B2 (en) 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
US10152208B2 (en) 2015-04-01 2018-12-11 Apple Inc. Devices and methods for processing touch inputs based on their intensities
US9779466B2 (en) 2015-05-07 2017-10-03 Microsoft Technology Licensing, Llc GPU operation
US10200598B2 (en) 2015-06-07 2019-02-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US10346030B2 (en) 2015-06-07 2019-07-09 Apple Inc. Devices and methods for navigating between user interfaces
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10248308B2 (en) 2015-08-10 2019-04-02 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interfaces with physical gestures
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US10416800B2 (en) 2015-08-10 2019-09-17 Apple Inc. Devices, methods, and graphical user interfaces for adjusting user interface objects
US11194398B2 (en) * 2015-09-26 2021-12-07 Intel Corporation Technologies for adaptive rendering using 3D sensors
US20170168966A1 (en) * 2015-12-10 2017-06-15 Qualcomm Incorporated Optimal latency packetizer finite state machine for messaging and input/output transfer interfaces
WO2017136540A1 (en) * 2016-02-02 2017-08-10 Tactual Labs Co. Area filtering for low-latency and high-latency input event paths from a single touch sensor
CA2920914C (en) * 2016-02-17 2017-07-18 Cae Inc Portable computing device and method for transmitting instructor operating station (ios) filtered information
US10203860B2 (en) * 2016-03-18 2019-02-12 Ebay Inc. Graphical user interface element adjustment
CN106919285B (zh) * 2017-02-28 2021-01-15 北京小米移动软件有限公司 一种终端
US20190279100A1 (en) * 2018-03-09 2019-09-12 Lattice Semiconductor Corporation Low latency interrupt alerts for artificial neural network systems and methods
DE112019007085T5 (de) 2019-03-27 2022-01-20 Intel Corporation Intelligente Anzeigetafeleinrichtung und verwandte Verfahren
US20200371616A1 (en) * 2019-05-20 2020-11-26 Brydge Global Pte Ltd. Wireless Multi-Touch Device Systems and Methods
US11379016B2 (en) 2019-05-23 2022-07-05 Intel Corporation Methods and apparatus to operate closed-lid portable computers
CN110609645B (zh) 2019-06-25 2021-01-29 华为技术有限公司 一种基于垂直同步信号的控制方法及电子设备
US11543873B2 (en) 2019-09-27 2023-01-03 Intel Corporation Wake-on-touch display screen devices and related methods
US11733761B2 (en) 2019-11-11 2023-08-22 Intel Corporation Methods and apparatus to manage power and performance of computing devices based on user presence
FR3105686A1 (fr) * 2019-12-18 2021-06-25 Sagemcom Broadband Sas Equipement décodeur à double liaison audio
US11809535B2 (en) 2019-12-23 2023-11-07 Intel Corporation Systems and methods for multi-modal user device authentication
US11360528B2 (en) 2019-12-27 2022-06-14 Intel Corporation Apparatus and methods for thermal management of electronic user devices based on user activity
US11706656B2 (en) * 2020-06-29 2023-07-18 Qualcomm Incorporated Downlink data prioritization for time-sensitive applications
KR20220155679A (ko) * 2021-05-17 2022-11-24 삼성전자주식회사 제어 방법 및 그 방법을 이용하는 장치
US11751799B1 (en) * 2023-02-08 2023-09-12 Lanny Leo Johnson Methods and systems for diagnosing cognitive conditions

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5691974A (en) * 1995-01-04 1997-11-25 Qualcomm Incorporated Method and apparatus for using full spectrum transmitted power in a spread spectrum communication system for tracking individual recipient phase, time and energy
JP3052997B2 (ja) * 1996-01-12 2000-06-19 日本電気株式会社 手書き入力表示装置
US6292857B1 (en) * 1997-06-05 2001-09-18 Microsoft Corporation Method and mechanism for coordinating input of asynchronous data
US6538667B1 (en) * 1999-07-23 2003-03-25 Citrix Systems, Inc. System and method for providing immediate visual response to user input at a client system connected to a computer system by a high-latency connection
BR0014954A (pt) 1999-10-22 2002-07-30 Activesky Inc Sistema de vìdeo baseado em objetos
US7483042B1 (en) * 2000-01-13 2009-01-27 Ati International, Srl Video graphics module capable of blending multiple image layers
US6539354B1 (en) * 2000-03-24 2003-03-25 Fluent Speech Technologies, Inc. Methods and devices for producing and using synthetic visual speech based on natural coarticulation
US6882346B1 (en) * 2000-11-17 2005-04-19 Hewlett-Packard Development Company, L.P. System and method for efficiently rendering graphical data
JP4011320B2 (ja) * 2001-10-01 2007-11-21 株式会社半導体エネルギー研究所 表示装置及びそれを用いた電子機器
JP3853637B2 (ja) * 2001-11-02 2006-12-06 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、方法及びコンピュータプログラム
US7292629B2 (en) * 2002-07-12 2007-11-06 Rambus Inc. Selectable-tap equalizer
US9756349B2 (en) * 2002-12-10 2017-09-05 Sony Interactive Entertainment America Llc User interface, system and method for controlling a video stream
KR100506086B1 (ko) * 2002-12-26 2005-08-03 삼성전자주식회사 영상의 재현 품질 향상 장치 및 그 방법
US20060114836A1 (en) * 2004-08-20 2006-06-01 Sofie Pollin Method for operating a combined multimedia -telecom system
US7233164B2 (en) * 2003-12-17 2007-06-19 Rambus Inc. Offset cancellation in a multi-level signaling system
EP1603108B1 (en) * 2004-06-02 2017-03-22 BlackBerry Limited Mixed Monochrome and Colour Display Driving Technique
US20060031565A1 (en) * 2004-07-16 2006-02-09 Sundar Iyer High speed packet-buffering system
GB0419346D0 (en) 2004-09-01 2004-09-29 Smyth Stephen M F Method and apparatus for improved headphone virtualisation
GB0502891D0 (en) 2005-02-12 2005-03-16 Next Device Ltd User interfaces
US9135951B2 (en) * 2006-10-10 2015-09-15 Qualcomm Incorporated System and method for dynamic audio buffer management
US7917784B2 (en) 2007-01-07 2011-03-29 Apple Inc. Methods and systems for power management in a data processing system
JP5030651B2 (ja) * 2007-04-17 2012-09-19 任天堂株式会社 描画処理プログラムおよび描画処理装置
US8766955B2 (en) * 2007-07-25 2014-07-01 Stmicroelectronics, Inc. Methods and apparatus for latency control in display devices
WO2010010723A1 (ja) * 2008-07-22 2010-01-28 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
US8243970B2 (en) * 2008-08-11 2012-08-14 Telefonaktiebolaget L M Ericsson (Publ) Virtual reality sound for advanced multi-media applications
US20100201636A1 (en) 2009-02-11 2010-08-12 Microsoft Corporation Multi-mode digital graphics authoring
US8564555B2 (en) * 2009-04-30 2013-10-22 Synaptics Incorporated Operating a touch screen control system according to a plurality of rule sets
US8171154B2 (en) 2009-09-29 2012-05-01 Net Power And Light, Inc. Method and system for low-latency transfer protocol
US8073995B2 (en) * 2009-10-19 2011-12-06 Research In Motion Limited Efficient low-latency buffer
JP5430491B2 (ja) * 2010-05-17 2014-02-26 キヤノン株式会社 情報処理装置、表示装置、表示システム、情報処理装置の制御方法、及び表示装置の制御方法
EP2625591A4 (en) 2010-10-05 2014-04-30 Citrix Systems Inc TOUCH SUPPORT FOR REMOTE APPLICATIONS
US8804794B2 (en) * 2010-12-04 2014-08-12 Aquantia Corporation Adjustable latency transceiver processing
US20120215531A1 (en) 2011-02-18 2012-08-23 Nuance Communications, Inc. Increased User Interface Responsiveness for System with Multi-Modal Input and High Response Latencies
US9274746B2 (en) * 2011-02-18 2016-03-01 Nuance Communications, Inc. Latency hiding techniques for multi-modal user interfaces
CN102651001B (zh) * 2011-02-28 2016-07-27 腾讯科技(深圳)有限公司 一种图片浏览的方法及装置
US9292116B2 (en) 2011-11-21 2016-03-22 Microsoft Technology Licensing, Llc Customizing operation of a touch screen
US10296205B2 (en) 2011-12-12 2019-05-21 Sony Corporation User interface for controlling a display scale of an image
US20130155018A1 (en) 2011-12-20 2013-06-20 Synaptics Incorporated Device and method for emulating a touch screen using force information
US10504485B2 (en) 2011-12-21 2019-12-10 Nokia Tehnologies Oy Display motion quality improvement
CN103186329B (zh) 2011-12-27 2017-08-18 富泰华工业(深圳)有限公司 电子设备及其触摸输入控制方法
SG10201601697SA (en) * 2012-10-05 2016-04-28 Tactual Labs Co Hybrid systems and methods for low-latency user input processing and feedback

Also Published As

Publication number Publication date
MX347342B (es) 2017-04-21
US20140139456A1 (en) 2014-05-22
US9927959B2 (en) 2018-03-27
BR112015007617A2 (pt) 2017-07-04
US20140143692A1 (en) 2014-05-22
KR101867494B1 (ko) 2018-07-17
HK1213663A1 (zh) 2016-07-08
AU2013326854A1 (en) 2015-04-30
US9507500B2 (en) 2016-11-29
KR20150087210A (ko) 2015-07-29
IL238127B (en) 2018-02-28
US10222952B2 (en) 2019-03-05
US20190196681A1 (en) 2019-06-27
CN104903832A (zh) 2015-09-09
MX2015004244A (es) 2015-09-23
WO2014055942A1 (en) 2014-04-10
JP2015536008A (ja) 2015-12-17
CA2885184A1 (en) 2014-04-10
SG11201502619UA (en) 2015-05-28
EP2904484A4 (en) 2016-06-01
US20220253185A1 (en) 2022-08-11
EP2904484A1 (en) 2015-08-12
US20170235457A1 (en) 2017-08-17
CN104903832B (zh) 2020-09-25
SG10201601697SA (en) 2016-04-28

Similar Documents

Publication Publication Date Title
JP6293763B2 (ja) 低レイテンシのユーザー入力処理およびフィードバックのためのハイブリッドシステムおよび方法
JP6659644B2 (ja) 応用素子の代替的グラフィック表示の事前の生成による入力に対する低レイテンシの視覚的応答およびグラフィック処理ユニットの入力処理
Ng et al. Designing for low-latency direct-touch input
US9830014B2 (en) Reducing control response latency with defined cross-control behavior
US9965039B2 (en) Device and method for displaying user interface of virtual input device based on motion recognition
JP2016528612A5 (ja)
KR102480568B1 (ko) 동작인식을 기반으로 하는 가상 입력장치의 사용자 인터페이스(ui)를 표시하는 장치 및 방법
EP3019943A1 (en) Reducing control response latency with defined cross-control behavior
Altman Využití zařízení MS Kinect pro bezdotykové uživatelské rozhraní

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160831

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171030

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180214

R150 Certificate of patent or registration of utility model

Ref document number: 6293763

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