JP6659644B2 - 応用素子の代替的グラフィック表示の事前の生成による入力に対する低レイテンシの視覚的応答およびグラフィック処理ユニットの入力処理 - Google Patents
応用素子の代替的グラフィック表示の事前の生成による入力に対する低レイテンシの視覚的応答およびグラフィック処理ユニットの入力処理 Download PDFInfo
- Publication number
- JP6659644B2 JP6659644B2 JP2017185486A JP2017185486A JP6659644B2 JP 6659644 B2 JP6659644 B2 JP 6659644B2 JP 2017185486 A JP2017185486 A JP 2017185486A JP 2017185486 A JP2017185486 A JP 2017185486A JP 6659644 B2 JP6659644 B2 JP 6659644B2
- Authority
- JP
- Japan
- Prior art keywords
- latency
- input
- low
- user
- response
- 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.)
- Expired - Fee Related
Links
- 230000004044 response Effects 0.000 title claims description 126
- 238000012545 processing Methods 0.000 title claims description 57
- 230000000007 visual effect Effects 0.000 title claims description 48
- 238000000034 method Methods 0.000 claims description 53
- 238000012360 testing method Methods 0.000 claims description 38
- 230000002829 reductive effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 19
- 230000003993 interaction Effects 0.000 description 17
- 239000000523 sample Substances 0.000 description 15
- 239000000872 buffer Substances 0.000 description 14
- 230000008859 change Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 11
- 238000009877 rendering Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 230000009467 reduction Effects 0.000 description 8
- 238000012800 visualization Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008447 perception Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 239000003973 paint Substances 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 241000699666 Mus <mouse, genus> Species 0.000 description 3
- 241001422033 Thestylus Species 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 230000001755 vocal effect Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000593 degrading effect Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 208000003443 Unconsciousness Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000035045 associative learning Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing 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/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04883—Interaction 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
- Controls And Circuits For Display Device (AREA)
Description
本発明は、一般にはユーザ入力の分野、具体的には低レイテンシのユーザ体験を提供するユーザ入力システムに関連する。
様々な実施形態において、ユーザ入力装置およびその入力のシステム処理におけるレイテンシは、次のものを含む多くのソースを有することが可能である:
(1) タッチ事象を補足する物理センサ;
(2) タッチ事象を処理し、ディスプレイのための出力を生成するソフトウェア;
(3) ディスプレイ自体;
(4) バスを含む構成要素間のデータ送信;
(5) メモリ記憶装置または短いバッファのいずれかにおける、データ内部記憶装置;
(6) システムリソースのためのインタラプトおよび競合;
(7) レイテンシを導入することが可能である回路構成の他のソース;
(8) 光の速度などの物理的な制約、およびその回路構成アーキテクチャにおける波及。
(9) 抵抗性のタッチセンサーがその「ニュートラル」状態に戻る(bend back)ために必要な時間などの機械的な制限。
ユーザが直接のタッチインターフェースにおいてどのようなレイテンシを本質的に瞬間的なものとして認識するかを判定するために研究が試みられた。図4のブロック図の中で表わされたプロトタイプの装置は、プロトタイプの高性能タッチシステム(400)の基礎的な構造の例示的な実施形態を示す。一実施形態において、高速入力装置(420)は、24cm×16cmの活動領域を持つマルチタッチ抵抗型タッチセンサ、及び、非常に高速の動作を可能にする電子機器である。このセンサによる遅れは僅か1ms未満である。一実施形態において、タッチデータは、光リンクの上で連続して送信されることがある。
一実施形態において、アプリケーション開発者がツールキットベースのアプリケーション設計プロセスを使用し続けることが可能となるが、低レイテンシシステムの存在を仮定した場合にそのようなツールキットが非常に低いレイテンシでフィードバックを提供するのを可能にする、ソフトウェアインターフェースが設計される場合がある。一実施形態において、本開示に概説されたシステムと方法は、多くのUIツールキットが基づくUI開発のモデルビューコントローラ(「MVC」)モデルに実装されることがある。MVCは、アプリケーションロジックがアプリケーションの視覚的表示から分離されることを可能にする。一実施形態において、MVCは、アプリケーションのために第2の重なった事実上の(de facto)ビューを含むことがある。特に、一実施形態において、タッチ入力は、タッチが行われる時間でアプリケーションの状態に部分的に基づく、UI制御からの即時の応答を受信する。その目的は、根本的なアプリケーションに文脈上結合される、ほぼ即時の応答を提供することである。
・情報:入力に対するシステムの応答を形成するために高レイテンシのサブシステムから必要とされるあらゆる情報または処理は、それが、例えば、予めレンダリングまたは供給されない限り、必然的に高レイテンシを有するだろう。
・パフォーマンス:低レイテンシでの応答の形成を可能にした時間は、必然的に制限される。ハードウェア加速を伴おうと、応答が所望の低レイテンシを満たすことを保証するために、応答の設計は、慎重にパフォーマンスが重視されなければならない。
・忠実度:レンダリングされた低レイテンシ画像の忠実度は、より高いレイテンシのレンダリングと区別できないかもしれない(実際には、それは、高レイテンシのシステムによって予めレンダリングされ得る);例えば、視覚が、単に単色であり、及び/又は視覚プリミティブ(visual primitives)に限定される、及び/又は音声または触覚の応答の期間または特性が制限されるなど、パフォーマンスを向上させるための忠実度に、追加の制約がかけられ得る。この種の制約は、加速ハードウェアを含む、または出力ハードウェア(ディスプレイ、触覚出力装置、またはスピーカーなど)による、システムの様々な要素によって導入され得る。
・非干渉:応答が、ハイブリダイズされた(hybridized)組み合わせであり、アプリケーションの応答の幾つかが、低レイテンシ層において生成され得、およびその幾つかが、高レイテンシ層において生成され得る、実施形態では、2つの応答が、例えば、ユーザの入力に対するシームレスな応答を提供するために、どのように混合されるかが考慮され得る。一実施形態では、低レイテンシ応答は、後に必然的に生じる、あらゆる考えられるアプリケーション応答も干渉しない。一実施形態で、低レイテンシ応答と従来の応答との間に干渉が生じ得るが、その干渉は、設計によって、または応答の混合によって処理され得る。
・ 要素型(例えば、ボタン、ドラッグ可能な対象、スクロール可能なリストなど)。
・ 境界寸法(Bounding dimensions)(例えば、x位置、y位置、幅、高さなど)。
・ 条件付き:付加的なプリミティブ情報(例えば、スクロール可能なリストの場合におけるリスト項目のサイズなど)。
・ レイテンシ差:低レイテンシ応答は、応答を同期するために高レイテンシ層と低レイテンシ層との間のレイテンシ差に関する情報を使用し得る。一実施形態では、これらのレイテンシ値は、静的であり、それ故、FPGAへとプリプログラムされる。レイテンシレベルがいずれかのサブシステムにおいて異なり得る実施形態では、同期されなくなり得る動的値を有するよりもむしろ、常に達成可能な一定のレイテンシレベルを定着させるか、または明示的な同期機構を提供することが好適であり得る。レイテンシレベルがいずれかのサブシステムにおいて異なり得る実施形態では、動的値が使用されてよいが、同期されなくなることを避けるように注意すべきである。レイテンシレベルがいずれかのサブシステムにおいて異なり得る実施形態では、明示的な同期機構は、サブシステム(940)と(950)との間で提供されてよい。
・ ヒットテスト(Hit testing):ヒットテスト決定は、しばしば、可視のUI要素の視覚的な階層および特性に関するデータ次第である。一実施形態では、この考察は、UIのフラットで、「ヒットテストフレンドリーな(hit test friendly)」マップを必要とする、外接長方形の重なりを不可能にすることによって解決され得る。一実施形態では、別々のヒットテストは、必要な情報(物体状態、zオーダー、およびリスナー)を低レイテンシのサブシステムに提供し得る。一実施形態では、低レイテンシおよび高レイテンシのサブシステムの両方は、ヒットテストを平行して行ってよい。一実施形態では、低レイテンシのサブシステムは、ヒットテストを行い、高レイテンシのサブシステムに結果を提供する。
・ 条件付き応答:多くのインターフェースの視覚化は、即時のユーザ入力次第であるだけでなく、アプリケーションロジックにおいて定義される更なる意思決定論理次第でもある。
本発明の実施形態では、入力ハードウェアからの低レイテンシの入力データは、入力事象の急速なストリームへと最小限に処理される。事象のこのストリームは、さらなる処理のために低レイテンシのサブシステムに直接送られる。その後、この同じストリームからの事象は削除されることもあれば、あるいは、高レイテンシのサブシステムに送られる前に、当該ストリームがそれ以外の方法で減らされるか、フィルタ処理にかけられることもある。事象は、低レイテンシのサブシステム(940)と高レイテンシのサブシステム(950)について異なる速度で生成されることもある。というのも、低レイテンシのサブシステムは、高レイテンシのサブシステムよりも速い事象を処理することができるからであり、速い速度で高レイテンシのサブシステムに事象を送ることは、そのサブシステムを圧倒することもある。したがって、ユーザ入力に対する低レイテンシのサブシステムと高レイテンシのサブシステムの応答は、独立していることもあるが調整されることもある。
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)を迂回する。
背景技術
図15は、従来技術に従ってグラフィックユーザインターフェース(GUI)ビューと中間のデータ階層を例証するブロック図である。CPU上で作動するアプリケーションは多くのGUI要素を一般に含んでいるが、必ずしもツリーで配されるわけではない。こうした「ビュー」(ウィジェット、構成要素、要素などとも呼ばれる)は、スライダ、ウインドウ、ボタン、パネルなどのよく知られている要素を含むこともあり、これらはそれぞれ、要素がユーザ入力により作動する際に実行すべき現在の状態および関連アプリケーションのコードを有している。
本明細書において、GUI中の要素が、GUI要素に対する1つ以上の可能性のある視覚的状態に相当する1つ以上の中間データを生成するために使用される発明について記載される。これらの複数の視覚表示は、ユーザに表示するための最終ピクセルグラフィックを提示するときに使用する適切な中間データを選択する制御ロジックと組合せられる。
記載された発明は、ユーザ入力に対する視覚的応答のレイテンシを著しく低減するが、その一方、コンピュータのCPUは、入力装置からのユーザ入力事象、正しいアプリケーションに対するこれらの事象の発送、この事象をGUIにおける正しい要素へ送信するためのヒットテストの実施、GUI要素の視覚的外観を変化させるのと同様に任意量のコードを遂行し得るコールバックの実行、などに対し、まだ応答可能である。
Claims (4)
- コンピュータデバイスにおいて低減したレイテンシで入力に対する視覚的な応答を提供するために、中央処理装置(CPU)と協働してグラフィック処理ユニット(GPU)を操作する方法であって、
グラフィック処理ユニットで、ユーザ入力を表すデータを受け取る工程、
ユーザ入力の結果として更新されるグラフィックユーザインターフェース要素を識別するために、グラフィック処理ユニットにおいてユーザ入力を表わすデータをヒットテストする工程、
グラフィック処理ユニットで、グラフィックユーザインターフェース要素用の中間命令の複数の代替的なセットの中から中間命令の第1のセットを識別する工程、
グラフィックユーザインターフェース要素を更新するために、中間命令の識別された代替的なセットを使用する工程、
を含む、方法。 - グラフィックユーザインターフェース要素を更新するために中間命令の識別された代替的なセットを使用する工程は、グラフィック処理ユニットによって行われる、請求項1に記載の方法。
- グラフィックユーザインターフェース要素を更新するために中間命令の識別された代替的なセットを使用する工程は、中央処理装置によって行われる、請求項1に記載の方法。
- コンピュータデバイスにおいて低減したレイテンシで入力に対する視覚的な応答を提供するために、中央処理装置(CPU)と協働してグラフィック処理ユニット(GPU)を操作する方法であって、
グラフィック処理ユニットで、ユーザ入力を表すデータを受け取る工程、
ユーザ入力の結果として更新されるグラフィックユーザインターフェース要素を識別するために、グラフィック処理ユニットにおいてユーザ入力を表わすデータをヒットテストする工程、
グラフィックユーザインターフェース要素用の中間命令の複数の代替的なセットの中から中間命令の第1のセットを識別する工程、
グラフィックユーザインターフェース要素を更新するために、中間命令の識別された代替的なセットを使用する工程、
を含む、方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461935674P | 2014-02-04 | 2014-02-04 | |
US61/935,674 | 2014-02-04 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016549794A Division JP6392881B2 (ja) | 2014-02-04 | 2015-02-04 | 応用素子の代替的グラフィック表示の事前の生成による入力に対する低レイテンシの視覚的応答およびグラフィック処理ユニットの入力処理 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018022515A JP2018022515A (ja) | 2018-02-08 |
JP6659644B2 true JP6659644B2 (ja) | 2020-03-04 |
Family
ID=53754827
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016549794A Expired - Fee Related JP6392881B2 (ja) | 2014-02-04 | 2015-02-04 | 応用素子の代替的グラフィック表示の事前の生成による入力に対する低レイテンシの視覚的応答およびグラフィック処理ユニットの入力処理 |
JP2017185486A Expired - Fee Related JP6659644B2 (ja) | 2014-02-04 | 2017-09-26 | 応用素子の代替的グラフィック表示の事前の生成による入力に対する低レイテンシの視覚的応答およびグラフィック処理ユニットの入力処理 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016549794A Expired - Fee Related JP6392881B2 (ja) | 2014-02-04 | 2015-02-04 | 応用素子の代替的グラフィック表示の事前の生成による入力に対する低レイテンシの視覚的応答およびグラフィック処理ユニットの入力処理 |
Country Status (12)
Country | Link |
---|---|
US (2) | US9836313B2 (ja) |
EP (1) | EP3103007A4 (ja) |
JP (2) | JP6392881B2 (ja) |
KR (1) | KR20160122753A (ja) |
CN (1) | CN106164839B (ja) |
AU (1) | AU2015214262A1 (ja) |
BR (1) | BR112016017608A2 (ja) |
CA (1) | CA2938442A1 (ja) |
IL (1) | IL246975A0 (ja) |
MX (1) | MX353592B (ja) |
SG (1) | SG11201606302TA (ja) |
WO (1) | WO2015120073A1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9887878B2 (en) | 2014-06-06 | 2018-02-06 | Microsoft Technology Licensing, Llc | Dynamic scheduling of network updates |
US9602351B2 (en) | 2014-06-06 | 2017-03-21 | Microsoft Technology Licensing, Llc | Proactive handling of network faults |
US9491054B2 (en) * | 2014-06-06 | 2016-11-08 | Microsoft Technology Licensing, Llc | Network-state management service |
US10241760B2 (en) * | 2014-11-18 | 2019-03-26 | Tactual Labs Co. | System and method for performing hit testing in a graphical user interface |
US9716735B2 (en) * | 2015-02-18 | 2017-07-25 | Viasat, Inc. | In-transport multi-channel media delivery |
US9753557B2 (en) * | 2015-10-26 | 2017-09-05 | Intel Corporation | Fast inking a touch display |
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 |
US10163184B2 (en) * | 2016-08-17 | 2018-12-25 | Adobe Systems Incorporated | Graphics performance for complex user interfaces |
WO2018086258A1 (zh) * | 2016-11-08 | 2018-05-17 | 华为技术有限公司 | 界面的刷新方法及终端 |
CN108153581B (zh) * | 2016-12-05 | 2022-01-04 | 武汉斗鱼网络科技有限公司 | 一种事件去抖动的方法及装置 |
TWI670639B (zh) * | 2017-05-18 | 2019-09-01 | 美商愛特梅爾公司 | 用於識別使用者介面元件之技術以及使用其之系統及裝置 |
US10900794B2 (en) * | 2017-08-22 | 2021-01-26 | Honda Motor Co., Ltd. | System and methods for modifying route navigation with waypoints |
CN107870723B (zh) * | 2017-10-16 | 2020-09-04 | 华为技术有限公司 | 一种悬浮按钮显示方法及终端设备 |
CN110825250B (zh) * | 2019-11-14 | 2024-02-23 | 珠海金山数字网络科技有限公司 | 一种笔刷轨迹的优化方法及装置 |
US11886685B1 (en) | 2022-10-20 | 2024-01-30 | Stardock Corporation | Desktop container peek interface |
CN117472380B (zh) * | 2023-12-28 | 2024-03-22 | 江西铜锐信息技术有限公司 | 一种前端表单生成方法及系统 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4373722A (en) * | 1980-06-12 | 1983-02-15 | Cpg Products Corp. | Electronic vehicle race simulator |
JPH0981102A (ja) * | 1995-09-12 | 1997-03-28 | Fuji Electric Co Ltd | ディスプレイ画面表示の制御方法およびその情報処理装置 |
JP3052997B2 (ja) * | 1996-01-12 | 2000-06-19 | 日本電気株式会社 | 手書き入力表示装置 |
US20080094402A1 (en) * | 2003-11-19 | 2008-04-24 | Reuven Bakalash | Computing system having a parallel graphics rendering system employing multiple graphics processing pipelines (GPPLS) dynamically controlled according to time, image and object division modes of parallel operation during the run-time of graphics-based applications running on the computing system |
JP2006146556A (ja) * | 2004-11-19 | 2006-06-08 | Nintendo Co Ltd | 画像表示処理プログラムおよび画像表示処理装置 |
WO2008008267A2 (en) * | 2006-07-10 | 2008-01-17 | Danger, Inc. | Trackball system and method for a mobile data processing device |
JP5030651B2 (ja) * | 2007-04-17 | 2012-09-19 | 任天堂株式会社 | 描画処理プログラムおよび描画処理装置 |
US8007930B2 (en) * | 2008-07-10 | 2011-08-30 | Ferro Corporation | Zinc containing glasses and enamels |
WO2010127167A2 (en) * | 2009-04-30 | 2010-11-04 | Synaptics Incorporated | Operating a touch screen control system according to a plurality of rule sets |
US8762886B2 (en) * | 2009-07-30 | 2014-06-24 | Lenovo (Singapore) Pte. Ltd. | Emulating fundamental forces of physics on a virtual, touchable object |
KR101108480B1 (ko) * | 2010-02-24 | 2012-01-31 | (주)투비소프트 | 객체 지향적 컴포넌트 애니메이션 방법 및 이를 위한 기록매체 |
US9400695B2 (en) * | 2010-02-26 | 2016-07-26 | Microsoft Technology Licensing, Llc | Low latency rendering of objects |
JP5430491B2 (ja) * | 2010-05-17 | 2014-02-26 | キヤノン株式会社 | 情報処理装置、表示装置、表示システム、情報処理装置の制御方法、及び表示装置の制御方法 |
US9293117B2 (en) * | 2010-10-01 | 2016-03-22 | Lucid Software, Inc | Manipulating graphical objects |
US8830245B2 (en) * | 2010-12-14 | 2014-09-09 | Amazon Technologies, Inc. | Load balancing between general purpose processors and graphics processors |
US9274746B2 (en) * | 2011-02-18 | 2016-03-01 | Nuance Communications, Inc. | Latency hiding techniques for multi-modal user interfaces |
JP5615220B2 (ja) * | 2011-03-30 | 2014-10-29 | 三菱電機株式会社 | ヒットテスト装置及びヒットテスト方法 |
EP2610726B1 (en) * | 2011-12-29 | 2018-08-29 | Orange | Drag and drop operation in a graphical user interface with highlight of target objects |
EP2859448A2 (en) * | 2012-06-08 | 2015-04-15 | Advanced Micro Devices, Inc. | System and method for providing low latency to applications using heterogeneous processors |
US20140372903A1 (en) * | 2013-06-14 | 2014-12-18 | Microsoft Corporation | Independent Hit Testing for Touchpad Manipulations and Double-Tap Zooming |
-
2015
- 2015-02-04 BR BR112016017608A patent/BR112016017608A2/pt not_active Application Discontinuation
- 2015-02-04 JP JP2016549794A patent/JP6392881B2/ja not_active Expired - Fee Related
- 2015-02-04 KR KR1020167023374A patent/KR20160122753A/ko not_active Ceased
- 2015-02-04 US US14/614,173 patent/US9836313B2/en active Active
- 2015-02-04 CN CN201580017186.4A patent/CN106164839B/zh not_active Expired - Fee Related
- 2015-02-04 SG SG11201606302TA patent/SG11201606302TA/en unknown
- 2015-02-04 WO PCT/US2015/014494 patent/WO2015120073A1/en active Application Filing
- 2015-02-04 EP EP15746756.4A patent/EP3103007A4/en not_active Withdrawn
- 2015-02-04 AU AU2015214262A patent/AU2015214262A1/en not_active Abandoned
- 2015-02-04 MX MX2016010050A patent/MX353592B/es active IP Right Grant
- 2015-02-04 CA CA2938442A patent/CA2938442A1/en not_active Abandoned
-
2016
- 2016-07-27 IL IL246975A patent/IL246975A0/en unknown
-
2017
- 2017-09-26 JP JP2017185486A patent/JP6659644B2/ja not_active Expired - Fee Related
- 2017-10-30 US US15/797,749 patent/US20180067756A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN106164839B (zh) | 2019-10-22 |
WO2015120073A9 (en) | 2016-11-10 |
JP2018022515A (ja) | 2018-02-08 |
MX2016010050A (es) | 2016-11-15 |
BR112016017608A2 (pt) | 2018-05-08 |
CA2938442A1 (en) | 2015-08-13 |
KR20160122753A (ko) | 2016-10-24 |
SG11201606302TA (en) | 2016-08-30 |
EP3103007A1 (en) | 2016-12-14 |
JP2017514192A (ja) | 2017-06-01 |
JP6392881B2 (ja) | 2018-09-19 |
US20150220216A1 (en) | 2015-08-06 |
MX353592B (es) | 2018-01-19 |
AU2015214262A1 (en) | 2016-08-18 |
IL246975A0 (en) | 2016-09-29 |
EP3103007A4 (en) | 2017-10-25 |
CN106164839A (zh) | 2016-11-23 |
US20180067756A1 (en) | 2018-03-08 |
WO2015120073A1 (en) | 2015-08-13 |
US9836313B2 (en) | 2017-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6659644B2 (ja) | 応用素子の代替的グラフィック表示の事前の生成による入力に対する低レイテンシの視覚的応答およびグラフィック処理ユニットの入力処理 | |
US20220253185A1 (en) | Hybrid systems and methods for low-latency user input processing and feedback | |
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)를 표시하는 장치 및 방법 | |
CN104820489B (zh) | 管理低延时的直接控制反馈的系统和方法 | |
EP3019943A1 (en) | Reducing control response latency with defined cross-control behavior |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171107 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181025 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20190121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190323 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190904 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191120 |
|
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: 20200109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200206 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6659644 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |