CN104903832A - 用于低等待时间用户输入处理和反馈的混合型系统和方法 - Google Patents
用于低等待时间用户输入处理和反馈的混合型系统和方法 Download PDFInfo
- Publication number
- CN104903832A CN104903832A CN201380052371.8A CN201380052371A CN104903832A CN 104903832 A CN104903832 A CN 104903832A CN 201380052371 A CN201380052371 A CN 201380052371A CN 104903832 A CN104903832 A CN 104903832A
- Authority
- CN
- China
- Prior art keywords
- treatment
- data
- subsystem
- user
- latency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- 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
-
- 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
-
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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/04817—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 using icons
-
- 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
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)
- Advance Control (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
用于处理用户输入的系统包括输入设备、输入处理单元、高等待时间子系统、低等待时间子系统、用于响应于用户输入来生成信号的输入处理单元软件,以及输出设备。低等待时间子系统接收信号,并生成低等待时间输出,高等待时间子系统处理信号,并生成高等待时间输出。
Description
本申请是2012年10月5日提交的标题为“Hybrid Systems AndMethods For Low-Latency User Input Processing And Feedback(用于低等待时间用户输入处理和反馈的混合型系统和方法)”的美国临时专利申请No.61/710,256的非临时版本并要求其优先权,该申请以引用的方式并入本文中,包括源代码附录。
此申请包括受版权保护的材料。版权所有者不反对任何人影印专利说明书,因为它出现在中美国专利局专利文件或记录中,但在别的方面却保留所有版权。
领域
本发明一般涉及用户输入的领域,具体而言,涉及提供低等待时间用户体验的用户输入系统。
附图简述
从下列对如各个附图所示的各实施例的比较具体的描述,本发明的前述的及其他目标、特点,和优点将变得显而易见,在各附图中,参考符号表示相同部分。附图不一定按比例,着重点放在说明本发明的所公开的各实施例的原理。
图1示出了在触摸用户接口中100毫秒、50毫秒、10毫秒,以及1ms的拖拽等待时间的效果的演示。
图2示出了收件箱的用户接口元素的示例,其中,该元素具有低等待时间、对触摸用户交互的低保真度响应,以及高等待时间,对触摸用户交互的高保真响应。
图3示出了滑动切换元素的用户接口的示例。可以将光标310(通过包含“x”符号的框来表示)拖到目标320(第二空的框,在右边)以激活UI元素。此元素使用低等待时间和高等待时间系统两者来启用,以提供触摸交互,其中,移动元素被加速310,如此,提供低等待时间体验。
图4示出了等待时间感觉研究中所使用的原型高性能触摸系统的基本体系结构的实施例。
图5示出了使用图4的原型设备的等待时间感觉研究的结果。
图6示出了按钮的用户接口元素的示例,其中,该元素具有低等待时间、对触摸用户交互的低保真度响应,以及高等待时间,对触摸用户交互的高保真响应。
图7示出了可调整大小的框的用户接口元素的示例,其中,该元素具有低等待时间、对触摸用户交互的低保真度响应,以及高等待时间,对触摸用户交互的高保真响应。
图8示出了可滚动列表的用户接口元素的示例,其中,该元素具有低等待时间、对触摸用户交互的低保真度响应,以及高等待时间,对触摸用户交互的高保真响应。
图9示出了低等待时间输入设备的基本体系结构和信息流的说明性实施例。
图10示出了用于音量控制的UI。当拖拽滑块时,一个工具提示出现,显示当前设置的数值表示。此元素使用低等待时间和高等待时间系统两者来启用,以提供触摸交互,其中,移动元素被加速,如此,提供低等待时间体验。
图11示出了与本混合反馈用户接口系统中的用于笔输入的UI的实施例相比,现有技术系统中的系统的对于笔输入的响应。在混合型系统中,墨水笔画具有对笔输入的低等待时间响应,以及对笔用户输入的高等待时间响应。
图12示出了系统的实施例,其中,数据通过系统的组件流过两个重叠路径,以支持高和低等待时间反馈两者。
图13示出了在现有技术中已知的叫做“模型视图控制器”的编程范例。
图14示出了支持利用混合的对用户输入的高和低等待时间响应来开发和运行应用程序的系统的体系结构的实施例。
详细描述
下面的描述和图形只是本发明的说明,而不作为限制。描述了很多具体细节,以提供全面的理解。然而,在某些实例中,没有描述已知的或常规的细节,以便不至于使描述变得模糊。在本发明中,对一个实施例的引用不一定是对同一个实施例的引用;这样的引用表示至少一个。
在本说明书中对“一个实施例”或“实施例”的引用意思指和该实施例一起描述的特定特征、结构或特征可以被包括在本发明的至少一个实施例中。在本说明书中的不同位置出现短语在一个实施例中摂不一定都是指同一个实施例,也不是指与其他实施例互相排斥的单独的或备选实施例。此外,还描述了一些实施例可以表现出的,而其它实施例没用表现的各种特征。类似地,还描述了可能是一些实施例的要求,但不是其他实施例的要求的各种要求。
概览
本申请涉及诸如在下列专利申请中所公开的快速多触摸传感器及其他接口之类的用户接口:2013年3月15日提交的标题为“Low-LatencyTouch Sensitive Device(低等待时间触摸敏感器件)”的美国专利申请No.13/841,436、2013年3月15日提交的标题为“Fast Multi-Touch Stylus”的美国专利申请No.61/798,948、2013年3月15日提交的标题为“FastMulti-Touch Sensor With User-Identification Techniques(使用用户标识技术的快速多触摸传感器)”的美国专利申请No.61/799,035、2013年3月15日提交的标题为“Fast Multi-Touch Noise Reduction(快速多触摸噪声削减)”的美国专利申请No.61/798,828、2013年3月15日提交的标题为“ActiveOptical Stylus(活跃光学触笔)”的美国专利申请No.61/798,708、2012年10月5日提交的标题为“Hybrid Systems And Methods For Low-Latency UserInput Processing And Feedback(用于低等待时间用户输入处理和反馈的混合型系统和方法)”的美国专利申请No.61/710,256、2013年7月12日提交的标题为“Fast Multi-Touch Post Processing(快速多触摸后处理)”的美国专利申请No.61/845,892、2013年7月12日提交的标题为“ReducingControl Response Latency With Defined Cross-Control Behavior(通过定义的交叉控制行为缩短控制响应等待时间)”的美国专利申请No.61/845,879,以及2013年9月18日提交的标题为“Systems And Methods For ProvidingResponse To User Input Using Information About State Changes AndPredicting Future User Input(用于使用关于状态改变的信息向用户输入提供响应以及预测将来的用户输入的系统和方法)”的美国专利申请No.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毫秒的等待时间的直接视觉反馈,该反馈与较高级别的等待时间的额外视觉响应交织或重叠。在某些实施例中,这两组响应的设计可以被设计为在视觉上统一,以便用户不能区别它们。在某些实施例中,“低等待时间”响应可以在等待时间方面超出10毫秒。
等待时间的原因
在各实施例中,用户输入设备和处理其输入的系统中的等待时间会具有许多源,包括:
(1)捕捉触摸事件的物理传感器;
(2)处理触摸事件并为显示器生成输出的软件;
(3)显示器本身;
(4)组件之间的数据传输,包括总线;
(5)存储器存储或者短缓冲区中的数据内部存储;
(6)中断和对系统资源的竞争;
(7)电路的其他源会引入等待时间;
(8)物理限制,诸如光速,以及其在电路体系结构中的反射。
(9)机械约束,诸如电阻式触摸传感器弯回到其“中性”状态所需的时间。
在各实施例中,缩小系统等待时间可以通过改善这些组件中的一个或多个中的等待时间来满足。在一个实施例中,目前所公开的系统和方法通过组合低等待时间输入传感器和显示器与专用处理系统,来提供可以实现1毫秒的等待时间或更短的等待时间的输入设备。在一个实施例中,目前所公开的系统和方法通过组合这样的低等待时间输入传感器和显示器与专用处理系统,来提供可以实现5毫秒的等待时间或更短的等待时间的输入设备。在又一实施例中,目前所公开的系统和方法通过组合这样的低等待时间输入传感器和显示器与专用处理系统,来提供可以实现0.1毫秒的等待时间或更短的等待时间的输入设备。在又一实施例中,目前所公开的系统和方法通过组合这样的低等待时间输入传感器和显示器与专用处理系统,来提供可以实现10毫秒的等待时间或更短的等待时间的输入设备。在一个实施例中,为了实现这样的非常低的等待时间,目前所公开的系统和方法可以将常规操作系统(OS)软件和计算硬件替换为专用,自定义编程的现场可编程门阵列(FPGA)或专用集成电路(ASIC)。在一个实施例中,FPGA或ASIC替换常规OS和计算硬件以提供低等待时间响应,而使传统的OS和计算硬件保持在原位以提供较高等待时间响应(用于作为低等待时间响应的补充)。在另一个实施例中,可以通过将额外的逻辑集成到现有的组件中,诸如,但不仅限于图形处理单元(GPU)、输入设备控制器、中央处理单元(CPU),或片上系统(SoC),替换所描述的FPGA或ASIC的某些或全部功能。低等待时间逻辑可以以硬件,或以软件编码,存储在那些或其他组件中和/或由它们执行。在要求多个组件的各实施例中,通信和/或同步可以通过使用共享存储器来促进。在这些实施例中的任何一种中,在高或低等待时间中提供的响应可以被混合在一起,或响应于任何给定输入事件,可以只提供一个或另一个。
在各实施例中,所公开的系统和方法提供此处被称为“混合反馈”的东西。在混合反馈系统中,对输入的某些基本系统响应在逻辑上与更宽的应用逻辑分离。结果给系统提供能够提供对用户输入事件的几乎立即系统反馈的敏捷的输入处理器,基于在传统的等待时间级别中提供的应用逻辑,给系统提供更多反馈。在某些实施例中,以视觉方式提供这些系统响应。在各实施例中,混合反馈系统的低等待时间组件可以通过音频或振动触觉反馈来提供。在某些实施例中,几乎立即反馈可以在与应用逻辑反馈相同模态下提供。在某些实施例中,低等待时间反馈可以在不同的模态下,或多个模态下提供。在图2中示出了“所有视觉”实施例的示例,在此情况下,示出了触摸输入设备的使用。具体而言,图2示出了在用户触摸表示收件箱的图标210,然后拖拽它之后的结果。当用户触摸图标210时,可以显示边框220或其他合适的图元(primitive)。在一个实施例中,在“所有视觉”低等待时间反馈中,由于其渲染(render)的方便性,可以选择合适的低保真度表示。在一个实施例中,可以使用可提供合适的低保真度表示的一个或多个图元,来提供低等待时间反馈。在一个实施例中,如果用户将图标拖拽到触摸显示器200上的另一位置,则显示低保真度边框230,并可以利用例如1毫秒的低等待时间来操纵(例如,移动)它。同时,可以利用较高等待时间显示图标210的移动。在一个实施例中,几乎立即低等待时间响应和可能较慢的应用逻辑反馈之间的响应的差异可以被用户感觉到。在另一个实施例中,低等待时间响应和传统的响应之间的响应的此差异被混合,并不太容易被用户看见或不容易被用户看见。在一个实施例中,几乎立即反馈可以以比传统的路径应用逻辑反馈较低的保真度来提供。在一个实施例中,在至少某些情况下,可以以比应用逻辑反馈类似的或者甚至更高的保真度提供低等待时间响应。在一个实施例中,低等待时间几乎立即反馈的形式由应用逻辑,或存在于系统软件中的逻辑(诸如用户接口工具箱)来规定。例如,在一个实施例中,应用逻辑可以预先渲染各种图形图元,然后,可以由低等待时间子系统使用这些图形图元。类似地,在一个实施例中,软件工具箱可以提供用于开发可在由低等待时间系统需要之前渲染的图形图元的手段。在一个实施例中,低等待时间响应可以是预定的,或以别的方式被确定,而不考虑应用和/或系统软件逻辑。在一个实施例中,单个预先渲染的或部分地呈现的低等待时间响应,或预先渲染的或部分地渲染的低等待时间响应的包可以被预先加载到存储器中,以便在响应于用户输入事件被需要使用之前能够被低等待时间子系统访问。
在一个实施例中,低等待时间输出的模态可以是听觉的。在一个实施例中,低等待时间系统可以被用来例如快速地向音频输出系统发送麦克风输入,该音频输出系统可以给用户提供他们自己的正讲入到系统中的声音的“回音”。这样的低等待时间输出可以提供与允许用户听到他们自己的声音的传统的模拟电话具有相同类型的回音特征的效果。在一个实施例中,可以响应于用户输入事件(例如,触摸、姿势、笔输入,或口头输入)提供低等待时间听觉反馈——以及以视觉方式提供的较高等待时间响应。
在图3中示出了使用本方法和系统的系统的另一说明性实施例。在说明性系统中,可以将光标310(通过包含“十字交叉”符号的框来表示)拖拽到设备的屏幕300上的任何地方。当将光标310拖到目标框320时,UI动作被接受。如果光标310被拖拽到屏幕300上的别处,则动作被拒绝。在一个实施例中,当被拖拽时,利用低等待时间绘制光标310,如此,跟踪用户的手指,而没有可感知的等待时间。在一个实施例中,目标320可以在较高等待时间下被绘制,而不影响用户感觉。类似地,在一个实施例中,稍后可以可感知地发生“拒绝”或“接受”的响应330,如此,它可以在较高等待时间下被绘制(例如,不使用低等待时间子系统)而不会影响用户感觉。
应该理解,所示出的实施例是示例性的。可以将图3中所示出的原理应用于任何类型的UI元素,包括现在已知,或以后开发的所有UI元素。类似地,图3中所示出的原理可以与基本上任何类型的输入事件一起用于各种类型的输入设备和/或输出设备上。例如,在一个实施例中,除如上文所示的“触摸”事件之外,输入事件还可包括,但不仅限于,空中或表面上姿势、话音、自发的(或无意识的眼睛运动),以及笔。在一个实施例中,一旦发生姿势,任何UI元素的响应可以被分为两支,其中以由不提供加速的输入的系统通常表现出的等待时间来提供低等待时间响应(例如,UI元素的低保真度表示被呈现并快速地作出响应,例如,以0.01毫秒内),以及非低等待时间响应(例如,UI元素的进一步细化的表示)。在一个实施例中,响应可以不在混合型系统中拆分,并且替代地可以完全是低等待时间,且应用逻辑不负责否则利用较高等待时间执行的低等待时间响应。
在一个实施例中,触摸和/或姿势输入事件可以使用各种技术来实现,包括但不仅限于电阻性、直接照明、受抑全内反射(frustrated totalinternal reflection)、漫射照明、投射式电容、电容耦合、声波,以及像素传感器(sensor-in-pixel)。在一个实施例中,笔输入可以使用电阻性、视觉、电容、磁性、红外线、光学成像、耗散的信号、声音脉冲,或其他技术来实现。在一个实施例中,姿势输入也可以使用视觉传感器或手持对象(包括包含传感器的那些,以及简单地用于跟踪的那些),或在没有手持对象的情况下,诸如使用2D和3D传感器,来实现。用于标识输入事件的传感器或技术的组合也是可以设想的,事件类型(即,触摸、笔、姿势、视网膜移动等等)的组合也是如此。用于标识或捕捉输入事件的技术共享的一种属性是,它们对用户动作和系统的对该动作的响应之间的等待时间有贡献。此贡献的规模在各技术和实现之间不同。
在典型的多触摸系统中,存在输入设备和显示器之间的信息流的路径,该路径可能涉及通信、操作系统、UI工具箱、应用层,和/或最终的音频或图形控制器。这些中的每一个都会增加等待时间。此外,由操作系统,尤其是非实时操作系统引入的等待时间,是可变的。Windows、iOS、OSX、Android等等不是实时操作系统,并且由此,使用这些操作系统,没有响应将在在某一时间段内发生的保证。如果例如处理器负载太大,则等待时间可能会显著地增大。进一步,某些操作在软件堆栈中在非常低级别下被处理,并具有高优先级。例如,鼠标指针通常被高度优化,以便甚至在处理器处于重负载的情况下,感觉到的等待时间也会相对低。相比之下,诸如利用两根手指在触摸或姿势系统上调整照片大小之类的操作一般而言计算量非常大,因为它可能要求在应用程序和/或UI工具箱级别对图像的恒定的重新缩放。结果,当处理器处于重负载时,这样的操作很少能够具有低的感觉到的等待时间。
在典型的多触摸系统中,显示系统(包括图形系统以及显示器本身)也可能对等待时间有贡献。带有高帧速率的系统可以通过系统来模糊实际等待时间。例如,60Hz监视器可包括缓冲区的一个或多个帧,以便提供完善的图像处理效果。类似地,诸如投影仪之类的某些显示设备,在电子器件中包括双缓冲,从而有效地使显示器等待时间翻倍。对3D电视机以及减少的运动伪像的需求正在驱动较快LCD的开发,然而,液晶本身的物理性能使传统的LCD在480Hz以外表现不大可能。在一个实施例中,此处所描述的低等待时间系统可以使用LCD显示器。与LCD显示器的性能不同,OLED或AMOLED显示器能够有低于1毫秒的响应时间。因此,在一个实施例中,此处所描述的高性能触摸(或姿势)系统可以在具有快速响应时间的显示器上实现,这些显示器包括但不仅限于基于下列技术中的一项或多项的显示器:OLED、AMOLED、等离子、电湿润(electrowetting)、彩色场序制LCD、光学补偿弯曲液晶模式(OCB或Pi-Cell)LCD、电子墨水等等。
等待时间感知研究
进行了研究,以确定直接触摸接口中的用户感觉到的什么等待时间为基本上瞬时的。在图4中以框图表示的原型设备示出了原型高性能触摸系统400的的基本体系结构的说明性实施例。在一个实施例中,高速输入设备420是具有24cm x 16cm的有源区域,以及允许非常高速度操作的电子器件的多触摸电阻性触摸传感器。通过此传感器的等待时间稍微小于1毫秒。在一个实施例中,触摸数据可以通过光链路串行传输。
在说明性测试系统中,显示器460是基于德州仪器公司的数字光处理技术的DLP发现4100工具包。说明性测试系统使用到触摸传感器中的正面投影,如此消除可能会干扰用户的对手指的感知和图像校准的视差。所使用的DLP投影仪使用数字微镜设备(DMD),这是有效地以非常高的速度打开或关闭像素的镜子矩阵。镜子的高速度可以被用来改变开与关的百分比,以创建连续的彩色图像的外观。在只使用简单二进制图像的一个实施例中,可以以甚至更高速率产生这些。在说明性测试系统中,投影仪开发系统以1024x768分辨率,利用40μs以下的等待时间,显示32,000二进制帧/秒。在实现此速度的说明性测试系统中,视频数据以25.6Gbps被流送到DMD。
在说明性测试系统中,为实现最小的等待时间,所有触摸处理都在专用FPGA 440上执行,在触摸输入和低等待时间输出的显示之间不使用PC或操作系统。DLP工具包的机载XC5VLX50应用程序FPGA可以用于处理触摸数据,并渲染视频输出。到FPGA的USB串行连接允许参数被动态地改变。在说明性测试系统中,可以将等待时间从1毫秒调整到几百毫秒,且在1毫秒的分辨率下。可以激活不同的测试模式,端口允许触摸数据被收集,以供分析。
在说明性测试系统中,为接收来自传感器420的触摸数据,系统通过自定义高速UART进行通信。为最小化等待时间,可以使用2Mbps的波特率,该波特率表示在不会由于跨通信信道的高频噪声而损失信号完整性的情况下可以使用的高波特率。在说明性测试系统中,然后,由在FPGA440上实现的触摸检测有限态机器处理经压缩的触摸数据的单个字节。有限态机器(FSM)同时解码数据,并执行质心斑点检测(blob-detection)算法来标识触摸的坐标。在说明性测试系统中,系统被流水线化,以使得FSM的每一次迭代都对最后接收到的字节进行操作,以便没有触摸数据的缓冲会发生。
在说明性测试系统中,然后,将触摸坐标发送到10级可变延迟块。每一延迟级都是带有计数器的简单FSM,并获取指示延迟触摸坐标的时钟周期的数量的控制信号,从而允许各种级别的延迟。延迟块在迭代开始时闩锁(latch)触摸样本,并在发送样本并闩锁下一个之前,等待合适的周期数。因此,延迟块以延迟计数为因子降低采样速率。在一个实施例中,为使采样速率保持在合理的级别,可以使用10个延迟级,以便,例如,为实现100毫秒的等待时间,对于100Hz的采样速率,块在样本之间等待10毫秒。在说明性测试系统中,为运行基本应用程序,使用MicroBlaze软核处理器来渲染显示。
在一个实施例中,测试系统可以使用硬编码的控制FSM来代替MicroBlaze,以取得改善的性能。在一个实施例中,可以使用另一种软处理器(soft processor)。在说明性测试系统中,MicroBlaze是被优化以在XilinxFPGA中合成的32比特Harvard体系结构RISC处理器。MicroBlaze软处理器实例化允许只选择所需的核、外围设备,以及存储器结构。在说明性测试系统中,除基本MicroBlaze配置之外,还可以使用中断控制器,例如,用于触摸数据的GPIO,用于设置可变等待时间的GPIO、用于图像缓冲区的BRAM存储器控制器,以及用于与PC进行通信的UART单元。在说明性测试系统中,MicroBlaze采用100MHz的时钟。MicroBlaze使用中断系统来检测有效触摸坐标。当有效触摸数据从延迟块到达GPIO时,生成触摸准备好中断事件,并向图像缓冲区写入相对应的图像。由于基于中断的系统的不均匀的本质,因此,不能计算准确的等待时间,但是,根据设计,与由于输入设备导致的1毫秒的等待时间相比,它是微不足道的。
在说明性测试系统中,图像缓冲区在芯片上BRAM块中被合成。这些块可以提供双端口高速可配置的存储器缓冲区,其带有足够的带宽以支持高帧速率显示器。在说明性测试系统中,根据DLP所需要的,针对25.6Gbps的总带宽,以128比特的总线宽度,在200MHz下对图像缓冲区进行时钟控制。最后,DMD控制器从图像缓冲区中连续地读出帧,并生成带有用于控制DMD的合适定时的信号。
在说明性测试系统中,同时向传统的PC发送用户输入,并处理用户输入,以产生传统的较高等待时间的响应。此较高等待时间响应由传统的数据投影仪输出,并被对准,以与投影的较低的等待时间响应重叠。
进行了研究,以确定当在触摸屏接口上执行常见的任务时用户能够感知的性能的准确的水平。为此,进行了研究,以确定各种性能级别的最小可觉差(iust-noticeable difference:JND)。JND是可以由观察者检测到的刺激的两个水平之间的差异的度量。在此情形中,JND被定义为参与者能够区别两个不相等的刺激——一个始终以相同水平呈现,被称为参考,而其值在整个实验中动态地改变的另一个(被称为探针)——的阈值水平。在某个任意参考值时对于JND的通常接受的值是参与者能够75%的时间正确地标识参考的探针。不能利用此水平的精度与参考区别开来的探针值被视为与参考“不显著地不同”。
进行了研究,以确定当与充当引用的1毫秒的等待时间的最大性能相比时探针等待时间的JND水平。尽管这样的确定不提供最大可感知性能的绝对值,但是,它能够充当我们的“最佳情形”下限(floor)条件,针对该下限条件,可以度量其他等待时间水平——假定它是我们的原型能够实现的最快速度。已经发现,参与者能够识别典型的当前生成硬件(例如,当前平板和触摸计算机)提供的低得多的等待时间值(<20毫秒)(~50-200毫秒)。
从本地社区招募十个用右手的参与者(3个女性)。年龄在24和40之间(平均27.80,标准偏差4.73)。所有参与者都具有使用触摸屏设备的经验,所有参与者都拥有一个或多个触摸设备(诸如基于iOS或安卓的电话或平板)。重复地向参与者呈现成对的等待时间条件:参考值(1毫秒)和探针(在1和65毫秒的等待时间之间)。参与者在触摸屏显示器上从左到右,然后从右到左拖拽他们的手指。尽管任何拖拽任务都是合适的,但是,在高等待时间情况下,左/右移动会缩小封闭(occlusion)。要求参与者在两个方向移动,以确保他们不会“匆忙地做完”研究。在用户的接触点下面,系统渲染实心白色2cm x 2cm正方形,如图1所示。移动的速度由参与者确定。对于每一对,条件的顺序是随机化的。研究被设计为二择-迫选(two-alternative forced-choice)实验;指示参与者在每一试验内选择哪一种情况是参考(1毫秒)值,且不允许作出“不知道”或“不确定”选择。在每一对之后,参与者通知实验者两者中的哪一个“较快”。
为了使每一试验收敛在所希望的75%的JND水平,根据自适应楼梯算法,控制增加的等待时间的量。参考值的每一正确的标识都导致探针中的等待时间量缩小,而每一不正确的响应都会导致探针的等待时间增大。为了达到75%的置信水平,增大和缩小遵循由Kaernbach所描述的简单加权上下法(simple weighted up-down method)(Kaernbach,C.1991.Perception&Psychophysics(感知与精神物理学)49,227-229),其中,增大具有应用于基本步长的三倍乘数,而缩小是基本步长(最初8毫秒)。
当参与者在正确的响应之后不正确地作出响应,或在不正确的响应之后正确地作出响应,这被称为反转,因为它导致楼梯(staircase)的方向(增大或缩小)翻转。最初为8毫秒的步长,在每一反转时减半到1毫秒的最小步长。这会持续直到发生总共10次反转,从而导致收敛到75%的正确性。每一参与者都完成八个楼梯“行程(run)”。这些中的四个在最小探针等待时间(1毫秒)下开始,且四个在最大(65毫秒)下开始。选择楼梯的较高初始值,因为它大致与商业贡献(commercial offering)重合,因为先导性试验表明,此值将以几乎以100%的准确性区别于1毫秒参考,从而避免上限效应。在交错对中一次运行两次楼梯,以防止否则将由参与者的跟踪连续的刺激之间的进度的能力所导致的响应偏向。随机地(而没有取而代之以概率地)选择这些对中的每一个的楼梯条件(2起始级别x4次重复)。整个实验,包括楼梯之间的中断,由每一参与者在单个1小时会话内完成。
研究被设计成发现大于1毫秒的等待时间值的最小可觉差(JND)级别。此JND水平通常被同意是参与者能够75%的时间正确地标识参考的水平。参与者JND水平范围从2.38毫秒到11.36毫秒,跨所有参与者的平均JND为6.04毫秒(标准偏差4.33毫秒)。对于每一个参与者,JND水平跨8个楼梯行程而不会有显著变化。在图5中示出了每一参与者的结果。
结果示出了参与者能够识别远低于消费者设备的典型的阈值(50-200毫秒)的等待时间的差异。值得注意的是,参与者可能常常通过估计在屏幕上的对象以及他们的手指(当它在触摸屏上来回移动时)之间的距离来确定等待时间;这是UI中所使用的输入图元的伪像(具体而言,拖拽)。测试不同的输入图元(例如,轻叩)将表现出不同的等待时间感知。结果确认,将由触摸设备的用户注意到等待时间的数量级改善。
低等待时间直接触摸输入设备的体系结构
在一个实施例中,可以设计允许应用程序开发人员持续使用基于工具箱的应用程序设计过程,但是,允许那些工具箱以非常低的等待时间提供反馈的软件接口——假设低等待时间系统存在。在一个实施例中,在本发明中概述的系统和方法可以在UI开发的模型-视图-控制器(“MVC”)模型上实现,许多UI工具箱基于该模型。MVC准许应用程序逻辑与应用程序的视觉表示分离。在一个实施例中,MVC可包括应用程序的事实上的第二重叠视图。具体而言,在一个实施例中,触摸输入接收来自UI控件的立即响应,该立即响应部分地基于在作出触摸时应用程序的状态。目标是提供上下文地链接到底层应用程序的几乎立即的响应。
关于针对触摸的应用程序独立视觉响应的先前工作与UI的视觉元素完全分开,增加了视觉复杂性。在一个实施例中,根据此处概述的系统和方法,一组视觉响应被更加全面地集成到UI元素本身中,以便降低视觉复杂性。如此,在所示出的特定视觉项目(visual)为触摸提供事实上的“鼠标指针”的实施例中,目标是将高性能响应集成到控件本身中,从而提供更加统一的视觉化。尽管如此,在一个实施例中,系统和方法允许通过低等待时间子系统渲染上下文无关的响应,这些响应在后来与来自高等待时间子系统的响应合并。在一个实施例中,视觉项目不必与系统的响应的其余部分呈现在相同渲染流水线中。相反,如此处所讨论的使用混合反馈的系统或方法除由传统的系统所生成的较高等待时间响应之外,还可以呈现对用户输入的较低等待时间的响应。
如此,在一个实施例中,加速的输入交互被设计成使得传统的直接-触摸软件如它通常那样,利用高等待时间响应运行,而以较低的等待时间提供额外的一组针对UI元素定制的反馈;目标为用户难以觉察的等待时间。在一个实施例中,通过重叠两个或更多图像,组合这两层。在一个实施例中,两个组合的图像可包括来自低等待时间触摸设备的一个投影图像,以及来自连接到运行定制触摸软件,从低等待时间子系统接收输入的台式计算机的传统投影仪的第二个图像。
上文所描述的两个投影仪解决方案只打算充当组合低等待时间响应和传统响应的比较一般的概念的一个特定实施例。在一个实施例中,来自低和高等待时间子系统的视觉输出在被发送到显示器之前在逻辑上被组合在显示缓冲器中或系统中的别处,并由此被显示。在一个实施例中,透明的、重叠的显示向用户呈现低和高等待时间输出。在一个实施例中,显示器的像素是隔行扫描的,以便某些由低等待时间子系统控制,而某些由高等待时间子系统控制;通过隔行扫描,这些显示器对于用户而言可能看起来是重叠的。在一个实施例中,在显示器上呈现的帧是隔行扫描的,以便某些帧由低等待时间子系统控制,而某些帧由高等待时间子系统控制;通过帧隔行扫描,显示器对于用户而言可能看起来包含组合的图像。在一个实施例中,可以主要或完全地以硬件生成低等待时间响应。在一个实施例中,低等待时间响应可以从直接从输入传感器接收到的输入传感器数据来生成。在一个实施例中,通过具有到显示器硬件的高带宽链路,显示低等待时间响应。
在设计低等待时间子系统的用户接口时,可以考虑下列约束中的一项或多项:
·信息:为了形成系统的对输入的响应需要的来自高等待时间子系统的任何信息或处理将必定具有高等待时间,除非这样的信息或处理例如被预先渲染或预先供应。
·性能:为以低等待时间形成响应允许的时间必定是受限的。甚至对于硬件加速,响应的设计必须被仔细性能驱动,以保证响应满足所希望的低等待时间。
·保真度:渲染的低等待时间图像的保真度可能难与较高等待时间渲染(实际上,它可能是通过高等待时间系统预先渲染的)区分;可以对保真度施加附加约束,以改善性能,诸如例如视觉项目只是单色的,和/或仅限于视觉图元,和/或音频或触觉响应的持续时间或特征是受限的。可以通过系统的各种元件来引入这一类型的约束,包括加速硬件或通过输出硬件(诸如显示器、触觉输出设备,或扬声器)。
·无干扰:在响应是混合化组合的各实施例中,应用程序的某些响应可以在低等待时间层中生成,而某些在高等待时间层中生成,一个考虑可以是如何混合两者,例如以提供对用户的输入的无缝响应。在一个实施例中,低等待时间响应不会干扰以后将一定发生的任何可能的应用程序响应。在一个实施例中,可能会在低等待时间响应和传统响应之间发生干扰,但是,可以通过设计,或通过响应的混合,来处理干扰。
在一个实施例中,执行设计过程,利用对触摸的微分低和高等待时间视觉响应,以创建一组视觉UI控件。一个比喻(metaphor)是将允许在两个响应层之间无缝转换的探寻。这些视觉化包括诸如对象位置和状态之类的信息。使用上文所描述的约束,基于可行性,淘汰设计。这样的实施例的最终设计基于头戴式显示器(heads-up display:HUD)比喻,类似于军用飞行器中所使用的视觉化。HUD是合适的,因为传统的HUD在几何学上简单,相对容易以真实的保真度实现在几何学上简单的显示器。HUD只表示正在被组合的两个视觉层的一个示例,但是,在许多HUD中,计算机化的显示器重叠在视频或“现实世界”本身上。相应地,HUD一般被设计为非干扰的。
基于HUD比喻,针对在许多直接触摸系统中发现的一组UI元件,开发了一组示例性的触摸事件和UI元件特定的低等待时间层视觉化。这些示例性元素是常见的,且是代表性的;它们的交互(轻敲、拖拽、两手指夹紧)覆盖当前直接触摸设备中所使用的大部分交互空间。在表1中描述了在这样的实施例中开发的低等待时间,它们在图6-8中示出。
表1:每一个元素和触摸事件的加速视觉项目,其符合对触摸输入的标准高等待时间响应。
这三个元素表示用于触摸输入的标准UI工具箱的宽泛覆盖范围。大多数高阶UI元素由这些比较简单的元素构成(例如,圆形按扭以及复选框两者都是“按钮”,滚动条是带有受约束的平移和旋转的“可拖拽/可调整大小的”)。此处所描述的加速的输入系统和方法取决于在两个显著不同的等待时间级别操作的视觉项目的结合;此等待时间差异已经被结合到低等待时间视觉化的设计中。在一个实施例中,可向用户通知两个系统的状态,当视觉层校准时这两个系统具有相干同步。在一个实施例中,用户可能能够区别系统反馈的高和低等待时间部分。在一个实施例中,视觉元素以在低等待时间响应和传统响应之间没有明显的区别的方式来混合。
在一个实施例中,应用程序开发人员使用工具箱,来通过组装GUI控件的正常的过程,来构建他们的应用程序。在执行时,UI元素将它们的视觉化分为两支,其中高和低等待时间视觉化被渲染并重叠在单个显示器上。图9示出了流过这样的系统的信息的实施例。信息从输入设备910流入系统中,且最初由输入处理单元(IPU)920处理,通过IPU软件工具箱930编程。然后,由两个子系统——低等待时间的低保真度子系统940,以及高等待时间子系统950,诸如例如在常规软件堆栈中运行的常规软件之类——并行地处理UI事件。在一个实施例中,低等待时间的低保真度子系统940可以以诸如图4的FPGA 440之类的硬件来实现。
在此实施例中所描述的分叉造成基本通信问题,其中,在用户开始给出输入之前,必须定义应用程序逻辑所需的低等待时间子系统940所提供的初始响应的任何参数化。要求在呈现时由应用程序进行处理的任何响应将引入低等待时间系统940对高等待时间系统950的依赖,因此,可能将迟延引回到系统中。在一个实施例中,低等待时间系统940的对输入的响应的较晚的阶段可能取决于高等待时间子系统950。在一个实施例中,低等待时间子系统940的对输入的响应的较晚的阶段对高等待时间子系统950的依赖被管理,以便该依赖不会引入额外的等待时间。在一个实施例中,将完全地避免该依赖。
在一个实施例中,可以将UI元素逻辑构建到低等待时间子系统中。在用户输入之间,在高等待时间子系统950中执行的应用程序有机会为低等待时间子系统940的UI元素的模型提供参数。如此,在一个实施例中,可以通过提供负责低等待时间反馈的单独的控制器,来扩展UI软件设计的MVC模型。在一个实施例中,在软件设计中,可以为每一个控件指定下列各项中的一项或多项:
·元素类型(例如,按钮、可拖拽对象、可滚动列表等等)。
·包围尺寸(例如,x位置、y位置、宽度、高度等等)。
·有条件的:额外的图元信息(例如,在可滚动列表的情况下,列表项的大小,等等)。
在一个实施例中,用于对触摸输入的给定元素类型的响应的逻辑被存储在低等待时间子系统940中。可以以同样的方式传递低等待时间子系统的对用户输入的响应的进一步参数化,从而允许较大的自定义度。在一个实施例中,处理传感器数据,以生成事件(或其他经过处理的输入流的形式),然后,分开地将事件分发到低等待时间子系统940和高等待时间子系统950。可以针对低等待时间子系统940和高等待时间子系统950以不同速率生成事件,因为低等待时间子系统能够比高等待时间子系统更快地处理事件,以高速率向高等待时间子系统发送事件可能会淹没该子系统。因此,低和高等待时间子系统的对用户输入的响应是独立的,但是,是协调的。在一个实施例中,一个子系统充当“主控”,设置其他子系统在用户输入之间的状态。在一个实施例中,低和高等待时间子系统之间的关系包括两个子系统之间的同步。在一个实施例中,低和高等待时间子系统之间的关系包括高等待时间子系统向低等待时间子系统940分摊处理的能力。在一个实施例中,低和高等待时间子系统之间的关系包括低等待时间子系统940的降低其处理负载和/或使用高等待时间子系统950来进行预处理或预先渲染的能力。在一个实施例中,第二图形处理和输出系统的响应取决于第一图形处理和输出系统,并且状态信息被从第一图形处理和输出系统传递到第二图形处理和输出系统。在这样的实施例中,从第一图形处理和输出系统传递到第二图形处理和输出系统的信息包括描述用户接口中的图形元素中的一个或多个的一个或多个数据片。此数据可以是,例如,用户接口中的图形元素的大小、位置、外观、替代的外观、对用户输入的响应,以及类型。从第一图形处理和输出系统传递到第二图形处理和输出系统的数据可以被存储在对第二图形处理和输出系统可用的高速存储器中。传递的数据可以描述按钮、滑块、可拖拽和/或可调整大小的GUI元素、可滚动列表、旋转器、下拉列表、菜单、工具栏、组合框、可移动图标、固定图标、树视图、网格视图、滚动条、可滚动窗口,或用户接口元素的外观和/或行为。
在一个实施例中,输入处理系统在用户输入信号由第一或第二图形处理和输出系统中的一个或两者接收到之前对用户输入信号执行抽取(decimation)。基于有关从第一图形处理和输出系统发送的用户接口的信息,从所有输入信号的组中选择抽取的输入信号或非抽取的信号。可以通过将输入信号组逻辑地组合到较小的输入信号组,执行输入信号的抽取。输入信号的逻辑组合可以通过取窗平均(windowed averaging)来执行。当缩小输入信号组的大小时,抽取考虑用户输入信号的时间。输入信号的逻辑组合可以通过加权平均来执行。在一个实施例中,由第一和第二图形处理和输出系统接收到的用户输入信号被差分地处理。
在一个实施例中,高等待时间和低等待时间层之间的通信是重要的。下面将描述在确定高和低等待时间子系统如何保持同步时考虑的某些点:
·等待时间差异:低等待时间响应可以使用有关高和低等待时间层之间的等待时间差异的信息来使响应同步。在一个实施例中,这些等待时间值是静态的,如此,被预编程到FPGA中。在等待时间水平可能在任一子系统中变化的实施例中,将等待时间水平固定在始终能实现的常数,而非具有可能会变得不同步的动态值,或者提供显式同步机制可能是有利的。在等待时间水平可能在任一子系统中变化的实施例中,可以使用动态值,然而,应该小心避免变得不同步。在等待时间水平可能在任一子系统中变化的实施例中,可以在子系统940,950之间提供显式的同步机制。
·命中测试:命中测试决定常常取决于关于可见UI元素的视觉层次结构和属性的数据。在实施例中,可以通过禁止重叠包围矩形,要求UI的平坦“命中测试友好”图,来解决此考虑。在一个实施例中,单独的命中测试可以向低等待时间子系统提供必要的信息(对象状态、Z轴顺序,以及听者)。在一个实施例中,低和高等待时间子系统两者可以并行地进行命中测试。在一个实施例中,低等待时间子系统进行命中测试,并向高等待时间子系统提供结果。
·有条件的响应:许多接口视觉化不仅取决于即时用户输入,而且还进一步取决于应用逻辑中定义的决策逻辑。
条件响应逻辑的两个说明性示例如下:考虑信用卡购买提交按钮,该按钮被编程为当被按下时禁用(以防止双重记账),但是只在验证被输入到表单中的数据时。在这样的情况下,按钮的行为不仅依赖于即时用户交互,而且还取决于额外的信息和处理。还考虑链接的视觉化,诸如图10所示出的那一个。在此情况下,反馈不仅通过用户正在操纵1010的UI元素,而且还通过第二UI元素1020被提供到用户。这些示例可以被直接编程到低等待时间子系统中。
在一个实施例中,高和低等待时间子系统之间的分割可以独立于任何用户接口元素。实际上,子系统之间的责任分摊可以基于任意数量的因素来定制,并且在缺乏用户接口工具箱的系统中,或实际上在包括使用和不使用可能可用的UI工具箱来开发应用程序的机制的系统中将仍是可能的。在一个实施例中,两个子系统之间的责任分摊可以在子系统正在运行时被动态地改变。在一个实施例中,UI工具箱本身可以被包括在低等待时间子系统内。在不偏离此处所描述的系统和方法的情况下,可以以许多方式向应用程序开发人员提供定制响应的能力。在一个实施例中,响应可以被定制为在UI控件中调整的参数。在一个实施例中,可以通过在本身在低等待时间子系统中执行的代码中或在另一种高或低等待时间组件中允许直接向低等待时间子系统提供指令的能力来定制响应。在一个实施例中,可以使用由应用程序代码所生成的数据例如在运行时设置低等待时间子系统的状态。
尽管上文所描述的许多示例是在触摸输入的上下文中所提供的,但是,其他实施例也是可以的,包括,但不仅限于,笔输入、鼠标输入、间接触摸输入(例如,跟踪板)、空中姿势输入、口头输入和/或其他输入模态。所描述的体系结构将同样地适用于任何种类的用户输入事件,包括但不仅限于混合的输入事件(即,支持来自一个以上的模态的输入)。在一个实施例中,混合的输入设备可以导致相同数量的事件被生成,来供由低和高等待时间子系统中的每一个处理。在一个实施例中,混合的输入设备将在生成的事件的数量上被区分,如此,例如,触摸输入可能比笔输入具有较少的事件。在一个实施例中,每一输入模态都包括其自己的低等待时间子系统。在实施例中,在包括多个用于多个输入模态的低等待时间子系统的系统中,子系统可以进行通信,以协调它们的响应。在实施例中,在包括用于多个输入模态的多个低等待时间子系统的系统中,多个子系统可以共享公用存储器区域,以实现协调。
输入处理
在本发明的实施例中,来自输入硬件的低等待时间输入数据被最低限度地处理为快速的输入事件的流。此事件的流被直接发送到低等待时间子系统,用于进一步处理。然后,在被发送到高等待时间子系统之前,可以删除来自此同一流的事件,或可以以别的方式缩小或过滤该流。可以针对低等待时间子系统940和高等待时间子系统950以不同速率生成事件,因为低等待时间子系统能够比高等待时间子系统更快地处理事件,以高速率向高等待时间子系统发送事件可能会淹没该子系统。因此,低和高等待时间子系统的对用户输入的响应可以独立的,但是,是协调的。
可以对事件的减少进行最优化。在一个实施例中,可以基于与应用程序、UI元素、输入设备等等中的一项或多项相关联的准则,从候选事件选择代表性事件。当用户正在绘制数字墨水笔画时笔输入的此情况的示例可包括选择最适合用户的绘制的笔画的事件。对于语音输入的另一个示例是偏好其中输出流中的随后的事件将具有类似的音量,由此,使来自麦克风的声音“平滑”的事件。触摸输入的另一个示例是偏好将导致具有一致的速度,从而提供比较“平稳”输出的输出事件流的事件。这种智能减少的形式充当智能过滤器,而不会降低高等待时间子系统的性能。在一个实施例中,可以生成表示输入流中的其他事件的聚集的新事件(例如,合并的事件或伪事件)。在一个实施例中,可以生成表示更加合乎需要的输入流的新事件(例如,校正的时间、合并的事件或伪事件),例如,校正或平滑化。例如,对于空中姿势输入,对于来自高速输入设备的每10个事件,可以给高等待时间子系统发送相同数量或较少的事件,它们提供真实输入事件的“平均”,由此平滑化输入并移除抖动。也可以生成是输入设备的各种参数的多个“所希望的”水平的混合物的新事件。例如,如果触笔的倾斜和压力属性的智能减少将导致选择不同的事件,则可以创建单个新事件对象(或修改一个或多个现有的事件对象),以包括这些属性中的每一个的所需值。
在一个实施例中,IPU或低等待时间子系统可以被用来给高等待时间系统提供经过处理的输入信息。可以使用方法中的一个或多个来协调两个子系统的活动。这些包括:
a.在一个实施例中,低等待时间子系统可以立即对所有用户输入作出响应,但是,在将输入提供到高等待时间系统之前,等待用户停止输入(例如,抬起手指或笔,终止姿势)。这具有在用户交互过程中避免阻塞系统同时仍处理全部数据的优点。
b.在一个实施例中,低等待时间系统可以几乎实时地提供输入的缩小的估计;并可以任选地存储可以应请求对高等待时间系统可用的完整的输入队列。
c.在一个实施例中,用户反馈可以被分成两个步骤。第一低等待时间反馈将提供图11中的用户输入1130的粗略即时表示。每当高等待时间系统能够计算细化的响应时,例如,在笔1150尖被抬起之后,第二高等待时间系统响应1140可以替换第一1130。可另选地,高等待时间反馈可以连续地“追上”(并可能包含)低等待时间反馈。
d.在实施例中,低等待时间系统可以从输入流推断简单姿势动作,由此生成包括在输入队列中的姿势事件来作为原始事件的补充,或替换原始事件。
e.在一个实施例中,IPU或低等待时间子系统可以使用多个输入位置来预测将来的输入位置。此预测可以被传递到高等待时间子系统,以降低其有效等待时间。
f.在一个实施例中,在IPU或低等待时间子系统中执行可以得益于附加样本或较早的检测的算法。在一个实施例中,这些事件的执行会在时间方面受限制。例如,初始50个事件可以被用来将输入分类为特定手指,或区分手指和笔输入。在一个实施例中,这些算法可以连续地运行。
g.在实施例中,低等待时间子系统将事件流传递到高等待时间子系统的过程可以被延迟,以便接收和处理否则可能被不正确地视为不相关的输入的附加连续或同时的相关输入。例如,字母“t”常常被绘制为两个单独的,但是相关的笔画。在正常的过程中,输入流中从低等待时间系统传递到高等待时间系统的部分将在绘制第一线结束时包括“提笔(pen up)”信号。在实施例中,在窗口内在显示器上再次检测到笔的情形中,降低过程等待采样时窗内的输入的最后帧,以传递“上(up)”事件,如此,消除对事件的需要。
硬件体系结构
在一个实施例中,数据通过系统的组件流过两个重叠路径,以支持高和低等待时间反馈两者。图12示出了一个这样的系统,该系统包括输入设备1210、IPU 1220、系统总线1230、连接到显示器1290的CPU 1240和GPU 1280。用户1200使用输入设备1210来执行输入。此输入由IPU 1220感应,在各实施例中,该IPU 1220可以是FPGA、ASIC,或集成到GPU 1280、MPU或者SoC中的额外的软件和硬件逻辑。此时,控制流分为两支,并遵循通过系统的两个单独的路径。对于对输入的低等待时间响应,IPU 1220通过系统总线1230将输入事件发送到GPU 1280,绕过CPU 1240。然后,GPU 1280快速地向用户1200显示反馈。对于对输入的高等待时间响应,IPU 1220通过系统总线1230将输入事件发送到CPU 1240,该CPU 1240运行图形应用程序并可以与其他系统组件进行交互。然后,CPU 1240通过系统总线1230将命令发送到GPU 1280,以便向用户1200提供图形反馈。从输入设备1210到IPU 1220到系统总线1230到GPU 1280的低等待时间路径主要是硬件,并以低等待时间操作。从输入设备1210到IPU 1220到系统总线1230到CPU 1240回到系统总线1230到GPU 1280的高等待时间路径,由于在此描述中前面所描述的因素,是高等待时间。在相关的实施例中,输入设备1210直接与GPU 1280进行通信并绕过系统总线1230。
图13示出了叫做“模型视图控制器”的熟悉的编程范例。在此范例中,用户1300在控制器1310上执行输入,控制器1310又基于此输入,操纵模型1320。模型1320中的变化导致由用户1300观察到的对视图1330的更改。由本发明解决的某些等待时间归因于输入、这些组件之中的通信,以及由视图1330组件所生成的图形的显示中的等待时间。
图14示出了支持利用混合的对用户输入的高和低等待时间响应来在系统上开发和运行应用程序的体系结构的实施例。用户1400利用输入设备1410执行输入。此输入由IPU 1420接收。IPU 1420通过传统的机制同时将输入事件发送到在高等待时间子系统中运行的控制器1430,以及在低等待时间子系统中运行的ViewModel(视图模型)(L)1490。输入由控制器1430处理,控制器1430操纵在高等待时间子系统中运行的模型1440,模型1440可以与易失性存储器1450、固定存储器1470、网络资源1460等等中的数据进行交互(引入迟延的所有交互)。由ViewModel(L)1490接收到的输入事件导致对ViewModel(L)的更改,这些更改被反映在对被用户1400看见的View(L)1491的更改中。对模型1440的更改导致对也被用户1400看见的高等待时间子系统的View(H)1480的更改。在一个实施例中,在相同显示器上示出了由用户看见这两种类型的变化。在一个实施例中,这两种类型的变化通过其他输出模态(诸如,例如,声音或振动)被反映到用户。在一个实施例中,在输入之间,模型1440更新ViewModel(L)1490和View(L)1491的状态,以便ViewModel(L)1490包含用于在系统的显示器上的正确的位置呈现GUI的组件的所需的数据,以便ViewModel(L)1490可以在模型1440的上下文中正确地解释来自IPU1420的输入;以便View(L)1491可以在模型1440的当前状态的上下文中正确地生成图形供显示。
作为示例,考虑带有按钮的触敏应用程序,在其功能当中,该按钮通过改变指出它已经被激活的其外观,对用户的触摸作出响应。当应用程序运行时,应用程序从存储器和编译的应用程序代码读取按钮的位置、大小,以及外观的细节。View(H)1480代码生成呈现给用户以显示此按钮的必要的图形。模型1440更新ViewModel(L)1490的状态以记录此图形元素是按钮,当被触摸时,它应该将外观从“正常的”外观改变为“被按下”外观。模型1440还更新View(视图)(L)1491的状态,以在ViewModel(L)1490中记录“正常的”以及“被按下”状态的正确的外观。此外观可以是低保真度图形元素,或要显示的完整光栅的描述。在此示例中,“被按下”状态通过在按钮的位置周围显示白框来表示。
用户对触摸屏显示器进行触摸,由IPU 1420在小于1毫秒以后接收描述该触摸的输入数据。IPU 1420从输入数据创建表示触摸事件的输入事件,并将此输入事件发送到应用程序控制器1430。控制器1430操纵模型1440。在此情况下,控制器1430向模型1440指示,按钮被触摸,以及应用程序应该执行与此按钮相关联的任何命令。在IPU 1420将事件发送到控制器1430的同时,它将事件发送到ViewModel(L)1490,指示按钮已经被触摸。ViewModel(L)1490预先由模型1440指示在触摸的情况下做什么,并且在此情况下,它通过将其状态改变为“被按下”对触摸事件作出响应。View(L)1491通过在按钮周围显示白框,对应于其“被按下”外观的反馈,对此变化作出响应。对模型1440的更改(按钮被触摸)导致View(H)1480的更新,以便它也反映按钮现在被触摸。看见View(H)1480和View(L)1491的用户通过View(L)1491看见他们的触摸的即时反馈,几分之一秒以后,跟着来自View(H)1480的反馈。
在本申请的文本中,使用单词“事件”来描述说明用户输入的属性的信息。此术语一般性地使用,如此,包括其中使用事件驱动的体系结构的各实施例(实际事件对象在软件元件之间传递),以及其中被描述的“事件”简单地存在于信息的流中的更多基本输入流。这样的事件可以是,例如,非面向对象类型的事件或面向对象的类型的事件。
参考方法和包括能够接收并对用户输入作出响应的计算机系统的设备的框图和操作说明描述了当前系统和方法。应该理解,框图或操作说明中的每一个框,以及框图或操作说明中的方框的组合,可以通过模拟或数字硬件和计算机程序指令来实现。这些计算机程序指令可以被提供到通用计算机、专用计算机、ASIC,或其他可编程数据处理设备的处理器,以便通过计算机或其他可编程数据处理设备的处理器执行的指令实现在框图或操作框所指定的功能/动作。在某些替代实现中,在框中所指出的功能/动作可以不按照操作说明中所说明的顺序发生。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的次序来执行。
虽然是参考其优选实施例示出和描述本发明的,但是,那些精通本技术的人员将理解,在不偏离本发明的精神和范围的情况下,可以对形式和细节进行各种修改。
Claims (226)
1.一种用于处理用户输入的系统,包括:
包括用户接口的视觉化的显示器;
包括从由接触输入和笔输入构成的组中选择的至少一个的用户输入设备,所述用户输入设备适于输出对应于用户输入的信号;
操作地连接到所述用户输入设备的输入处理系统,所述输入处理系统适于接收对应于用户输入的所述信号以及发出对应于所述接收到的信号的信号;
包括在软件堆栈中运行的软件的第一图形处理和输出系统,所述第一图形处理和输出系统适于接收至少某些所述发出的信号以及响应于所述至少某些所述发出的信号,生成会影响所述显示器上的所述用户接口的所述视觉化的高等待时间数据并输出所述高等待时间数据以供所述显示器使用;
至少部分地以硬件实现的第二图形处理和输出系统,所述第二图形处理和输出系统适于基本上同时接收所述至少某些所述发出的信号,并响应于所述至少某些所述发出的信号,生成会影响所述显示器上的所述用户接口的所述视觉化的低等待时间数据,并输出所述生成的低等待时间数据以供所述显示器使用;
其中,关于对所述至少某些所述发出的信号的所述响应,所述第二图形处理和输出系统适于相对于由所述第一图形处理和输出系统的所述高等待时间数据的所述输出,在低等待时间下输出所述生成的低等待时间数据;以及
所述显示器被配置成在所述用户接口的所述视觉化时显示至少某些所述低等待时间数据和至少某些所述高等待时间数据。
2.如权利要求1所述的用于处理用户输入的系统,其特征在于,通过将对应于所定义的响应的数据与所述至少某些所述发出的信号中的一个或多个相关联,来生成所述低等待时间数据。
3.如权利要求1所述的用于处理用户输入的系统,其特征在于,通过渲染对与所述至少某些所述发出的信号中的一个或多个的响应,来生成所述高等待时间数据。
4.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述高等待时间数据和所述低等待时间数据具有基本上相等的保真度。
5.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述高等待时间数据和所述低等待时间数据具有不相等的保真度。
6.如权利要求5所述的用于处理用户输入的系统,其特征在于,至少某些所述高等待时间数据具有比所述对应的低等待时间数据高的保真度。
7.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统至少部分地以从现场可编程门阵列(FPGA)、专用集成电路(ASIC)、微控制器、图形处理单元(GPU),或片上系统(SoC)的组中选择的至少一个来实现。
8.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统以集成到计算系统的现有组件中的逻辑来实现。
9.如权利要求8所述的用于处理用户输入的系统,其特征在于,所述计算系统的所述现有组件包括从图形处理单元(GPU)、输入设备控制器、中央处理单元(CPU)、微控制器,或片上系统(SoC)的组中选择的至少一个。
10.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述第一图形处理和输出系统包括反映所述第一图形处理和输出系统的至少一个状态的状态信息,而所述第二图形处理和输出系统的响应取决于所述状态信息。
11.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统包括用户接口元素逻辑。
12.如权利要求11所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述第二图形处理和输出系统适于基于所述UI元素数据中的信息,执行命中测试。
13.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述发出的信号在流中被发送到所述第一和第二图形处理和输出系统,所述第二图形处理和输出系统适于从所述流中删除所述发出的信号中的一个或多个,从而防止这样的删除的信号是与由所述第一图形处理和输出系统接收到的所接收数据相对应的所述至少某些所述发出的信号的一部分。
14.如权利要求1所述的用于处理用户输入的系统,其特征在于,对应于供所述显示器使用的所述高等待时间数据的至少某些所述发出的信号不同于对应于所述低等待时间数据的所述至少某些所述发出的信号。
15.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统在接收到对应的发出的信号的10毫秒内输出所述生成的低等待时间数据,以供所述显示器使用。
16.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统在接收到对应的发出的信号的5ms内输出所述生成的低等待时间数据,以供所述显示器使用。
17.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统在接收到对应的发出的信号的1毫秒内输出所述生成的低等待时间数据,以供所述显示器使用。
18.如权利要求1所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于所述至少某些所述发出的信号,所述第二图形处理和输出系统生成额外的输出数据,以供所述额外的输出设备使用。
19.如权利要求18所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
20.如权利要求1所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的对应的高等待时间数据之间的差异可被用户感知。
21.如权利要求1所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的至少某些对应的高等待时间数据以不能被用户察觉的方式混合。
22.如权利要求1所述的用于处理用户输入的系统,其特征在于,被配置成以由应用逻辑规定的形式提供低等待时间系统响应。
23.如权利要求1所述的用于处理用户输入的系统,其特征在于,低等待时间系统响应的所述形式包括从由下列各项构成的组中选择的响应或响应组:听觉响应、视觉响应,以及触觉响应。
24.如权利要求1所述的用于处理用户输入的系统,其特征在于,被配置成以由系统逻辑规定的形式提供低等待时间系统响应。
25.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述用户输入设备包括使用从由下列各项构成的组中选择的所述技术中的至少一种的直接触摸输入设备:电阻性、直接照明、受抑全内反射、漫射照明、投射式电容、电容耦合、声波,以及像素传感器。
26.如权利要求2所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统包括至少一个预先呈现的视觉项目,并且其中所述低等待时间数据对应于所述至少一个预先渲染的视觉项目中的一个或多个。
27.如权利要求26所述的用于处理用户输入的系统,其特征在于,所述高等待时间数据和所述低等待时间数据具有不相等的保真度。
28.如权利要求26所述的用于处理用户输入的系统,其特征在于,所述第一图形处理和输出系统包括反映所述第一图形处理和输出系统的至少一个状态的状态信息,而所述第二图形处理和输出系统的响应取决于所述状态信息。
29.如权利要求26所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见的UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述第二图形处理和输出系统适于基于所述UI元素数据中的信息,执行命中测试。
30.如权利要求26所述的用于处理用户输入的系统,其特征在于,所述发出的信号在流中被发送到所述第一和第二图形处理和输出系统,所述第二图形处理和输出系统适于从所述流中删除所述发出的信号中的一个或多个,从而防止这样的删除的信号是与由所述第一图形处理和输出系统接收到的所接收数据相对应的所述至少某些所述发出的信号的一部分。
31.如权利要求26所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,其中响应于所述至少某些所述发出的信号,所述第二图形处理和输出系统生成额外的输出数据,以供所述额外的输出设备使用。
32.如权利要求31所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
33.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统的响应独立于所述第一图形处理和输出系统。
34.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统的响应取决于所述第一图形处理和输出系统,并且状态信息被从所述第一图形处理和输出系统传递到所述第二图形处理和输出系统。
35.如权利要求34所述的用于处理用户输入的系统,其特征在于,从所述第一图形处理和输出系统传递到所述第二图形处理和输出系统的数据包括描述所述用户接口中的所述图形元素中的一个或多个的一个或多个数据片,并且其中传递的所述数据是从包括下列各项的组中选出的:所述用户接口中的图形元素的大小、位置、外观、替代的外观、对用户输入的响应,以及类型。
36.如权利要求31所述的用于处理用户输入的系统,其特征在于,被从所述第一图形处理和输出系统传递到所述第二图形处理和输出系统的数据描述按钮、滑块、可拖拽或可调整大小的GUI元素、可滚动列表、旋转器、下拉列表、菜单、工具栏、组合框、可移动图标、固定图标、树视图、网格视图、滚动条、可滚动窗口,或用户接口元素的外观或行为。
37.如权利要求1所述的用于处理用户输入的系统,其特征在于,高和低等待时间视觉化通过下列各项中的至少一项在单个显示器上组合:重叠两个投射的图像,在显示缓冲区中逻辑地组合所述视觉化,重叠两个透明层,每一透明层都能够显示所述高和低等待时间视觉化中的一项,隔行扫描所述显示器的像素以使得某些是从所述低等待时间视觉化填充的,而某些是从所述高等待时间视觉化填充的,或隔行扫描所述显示器所述帧以使得某些是从所述低等待时间视觉化填充的,而某些是从所述高等待时间视觉化填充的。
38.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统被配置成相对于所述第一图形处理和输出系统的保真度以低保真度处理所述事件。
39.如权利要求1所述的用于处理用户输入的系统,其特征在于,所述输入处理系统在用户输入信号由所述第一或第二图形处理和输出系统中的一个或两者接收到之前对用户输入信号执行抽取。
40.如权利要求1所述的用于处理用户输入的系统,其特征在于,由所述第一和第二图形处理和输出系统接收到的用户输入信号被差分地处理。
41.一种用于处理用户输入的系统,包括:
包括用户接口的视觉化的显示器;
适于输出对应于用户输入的信号的用户输入设备;
操作地连接到所述用户输入设备的输入处理系统,所述输入处理系统适于接收对应于用户输入的所述信号,并发出对应于至少某些所述接收到的信号的信号流;
第一图形处理和输出系统,其适于接收所述信号流的至少一部分,以及响应于由所述第一图形处理和输出系统接收到的所述信号流的至少一部分中的至少某些所述信号,生成会影响所述显示器上的所述用户接口的所述视觉化的高等待时间数据,并输出所述高等待时间数据,以供所述显示器使用;
第二图形处理和输出系统,其适于接收所述信号流的至少一部分,以及响应于由所述第二图形处理和输出系统接收到的所述信号流的至少一部分中的至少某些所述信号,生成会影响所述显示器上的所述用户接口的所述视觉化的低等待时间数据,并输出所述生成的低等待时间数据,以供所述显示器使用,所述第二图形处理和输出系统被配置为相对于由所述第一图形处理和输出系统的所述高等待时间数据的输出,在低等待时间下输出所述生成的低等待时间数据;以及
所述显示器被配置成将至少某些所述低等待时间数据和至少某些所述高等待时间数据合并到所述用户接口的所述视觉化中。
42.如权利要求41所述的用于处理用户输入的系统,其特征在于,通过将对应于所定义的响应的数据与由所述第二图形处理和输出系统接收到的所述信号流的所述至少一部分中的所述至少某些所述信号中的一个或多个相关联,来生成所述低等待时间数据。
43.如权利要求41所述的用于处理用户输入的系统,其特征在于,通过渲染来生成所述高等待时间数据。
44.如权利要求41所述的用于处理用户输入的系统,其特征在于,所述高等待时间数据和所述低等待时间数据具有基本上相等的保真度。
45.如权利要求41所述的用于处理用户输入的系统,其特征在于,所述高等待时间数据和所述低等待时间数据具有不相等的保真度。
46.如权利要求45所述的用于处理用户输入的系统,其特征在于,至少某些所述高等待时间数据具有比所述对应的低等待时间数据高的保真度。
47.如权利要求41所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统至少部分地以从现场可编程门阵列(FPGA)、专用集成电路(ASIC)、微控制器、图形处理单元(GPU),或片上系统(SoC)的组中选择的至少一种来实现。
48.如权利要求41所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统以集成到计算系统的现有组件中的逻辑来实现。
49.如权利要求48所述的用于处理用户输入的系统,其特征在于,所述计算系统的所述现有组件包括从图形处理单元(GPU)、输入设备控制器、中央处理单元(CPU)、微控制器,或片上系统(SoC)的组中选择的至少一个。
50.如权利要求41所述的用于处理用户输入的系统,其特征在于,所述第一图形处理和输出系统包括反映所述第一图形处理和输出系统的至少一个状态的状态信息,而所述第二图形处理和输出系统的响应取决于所述状态信息。
51.如权利要求41所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统包括用户接口元素逻辑。
52.如权利要求51所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述第二图形处理和输出系统适于基于所述UI元素数据中的信息,执行命中测试。
53.如权利要求41所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统适于从所述流中删除所述信号中的一个或多个,防止这样的删除的信号是与由所述第一图形处理和输出系统接收到的至少某些数据相对应的所述信号流的至少一部分的一部分。
54.如权利要求41所述的用于处理用户输入的系统,其特征在于,对应于所述高等待时间数据的所述信号流的所述至少一部分不同于对应于所述低等待时间数据的信号的所述至少一部分。
55.如权利要求41所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统在接收到对应的发出的信号的5毫秒内输出所述生成的低等待时间数据,以供所述显示器使用。
56.如权利要求41所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于所述信号流的所述至少一部分中的一个或多个信号,所述第二图形处理和输出系统生成额外的输出数据,以供所述额外的输出设备使用。
57.如权利要求56所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
58.如权利要求41所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的对应的高等待时间数据之间的差异可被用户感知。
59.如权利要求41所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的至少某些对应的高等待时间数据以不能被用户察觉的方式混合。
60.如权利要求41所述的用于处理用户输入的系统,其特征在于,被配置成以由应用逻辑规定的形式提供低等待时间系统响应。
61.如权利要求60所述的用于处理用户输入的系统,其特征在于,低等待时间系统响应的所述形式包括从由下列各项构成的组中选择的响应或响应组:听觉响应、视觉响应,以及触觉响应。
62.如权利要求41所述的用于处理用户输入的系统,其特征在于,被配置成以由系统逻辑规定的形式提供低等待时间系统响应。
63.如权利要求41所述的用于处理用户输入的系统,其特征在于,所述用户输入设备包括使用从由下列各项构成的组中选择的所述技术中的至少一种的直接触摸输入设备:电阻性、直接照明、受抑全内反射、漫射照明、投射式电容、电容耦合、声波,以及像素传感器。
64.如权利要求42所述的用于处理用户输入的系统,其特征在于,所述第二图形处理和输出系统包括至少一个预先呈现的视觉项目,并且其中所述低等待时间数据对应于所述至少一个预先渲染的视觉项目中的一个或多个。
65.如权利要求64所述的用于处理用户输入的系统,其特征在于,所述高等待时间数据和所述低等待时间数据具有不相等的保真度。
66.如权利要求64所述的用于处理用户输入的系统,其特征在于,所述第一图形处理和输出系统包括反映所述第一图形处理和输出系统的至少一个状态的状态信息,而所述第二图形处理和输出系统的响应取决于所述状态信息。
67.如权利要求64所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述第二图形处理和输出系统适于基于所述UI元素数据中的信息,执行命中测试。
68.如权利要求64所述的用于处理用户输入的系统,其特征在于,所述发出的信号在流中被发送到所述第一和第二图形处理和输出系统,所述第二图形处理和输出系统适于从所述流中删除所述发出的信号中的一个或多个,从而防止这样的删除的信号是与由所述第一图形处理和输出系统接收到的所接收数据相对应的所述至少某些所述发出的信号的一部分。
69.如权利要求64所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于所述至少某些所述发出的信号,所述第二图形处理和输出系统生成额外的输出数据,以供所述额外的输出设备使用。
70.如权利要求69所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:视觉输出设备和视觉数据,音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
71.如权利要求41所述的用于处理用户输入的系统,其特征在于,所述用户输入设备被配置成以从由下列各项构成的组中选择的至少一种形式接收用户输入:触摸、多触摸、笔、眼睛运动、眼睛跟踪、空中姿势、音频、鼠标、键盘以及变化的压力。
72.一种用于处理用户输入的系统,包括:
输入设备;
输入处理单元;
高等待时间子系统;
至少部分地以硬件实现的低等待时间子系统;
用于响应于用户输入来生成信号的输入处理单元软件;以及,
输出设备;
其中所述低等待时间子系统接收所述信号,并且相对于所述高等待时间子系统,在低等待时间下生成至少一个低等待时间输出,并且所述高等待时间子系统处理至少某些所述信号,并且相对于所述低等待时间子系统,在高等待时间下生成至少一个高等待时间输出;
其中所述输入设备、所述输入处理单元、所述高等待时间子系统、所述低等待时间子系统、所述输入处理单元软件以及所述输出设备被布置成使得:
所述低等待时间处理子系统独立于所述高等待时间处理子系统并与所述高等待时间处理子系统并行地操作;以及
至少某些所述用户输入信号由所述低等待时间子系统和所述高等待时间子系统两者处理,所述低等待时间子系统在低等待时间下向所述输出设备输出对给定用户输入信号的响应,所述高等待时间子系统在高等待时间下向所述输出设备输出对所述给定用户输入信号的响应。
73.如权利要求72所述的用于处理用户输入的系统,其特征在于,由所述低等待时间子系统所生成的低等待时间数据是通过将对应于所定义的响应的数据与由所述低等待时间子系统接收到的所述信号流的所述至少一部分中的所述至少某些所述信号中的一个或多个相关联来生成的。
74.如权利要求72所述的用于处理用户输入的系统,其特征在于,通过渲染来生成由所述高等待时间子系统所生成的高等待时间数据。
75.如权利要求72所述的用于处理用户输入的系统,其特征在于,由所述高等待时间子系统所生成的高等待时间数据和由所述低等待时间子系统所生成的低等待时间数据具有基本上相等的保真度。
76.如权利要求72所述的用于处理用户输入的系统,其特征在于,由所述高等待时间子系统所生成的高等待时间数据和由所述低等待时间子系统所生成的低等待时间数据具有不相等的的保真度。
77.如权利要求72所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统生成高等待时间数据,所述低等待时间子系统生成低等待时间数据,并且其中至少某些所述高等待时间数据具有比所述对应的低等待时间数据高的保真度。
78.如权利要求72所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统至少部分地以从现场可编程门阵列(FPGA)、专用集成电路(ASIC)、微控制器、图形处理单元(GPU),或片上系统(SoC)的组中选择的至少一种来实现。
79.如权利要求72所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统以集成到计算系统的现有组件中的逻辑来实现。
80.如权利要求79所述的用于处理用户输入的系统,其特征在于,所述计算系统的所述现有组件包括从图形处理单元(GPU)、输入设备控制器、中央处理单元(CPU)、微控制器,或片上系统(SoC)的组中选择的至少一个。
81.如权利要求72所述的用于处理用户输入的系统,其特征在于,高等待时间子系统包括反映所述高等待时间子系统的至少一个状态的状态信息,所述低等待时间子系统的响应取决于所述状态信息。
82.如权利要求72所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统包括用户接口元素逻辑。
83.如权利要求82所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述低等待时间子系统适于基于所述UI元素数据中的信息,执行命中测试。
84.如权利要求72所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统适于从所述流中删除所述信号中的一个或多个,从而防止这样的删除的信号是与由所述高等待时间子系统接收到的所述至少某些所接收数据相对应的所述信号流的至少一部分的一部分。
85.如权利要求72所述的用于处理用户输入的系统,其特征在于,对应于所述高等待时间数据的所述信号流的所述至少一部分不同于对应于所述低等待时间数据的信号的所述至少一部分。
86.如权利要求72所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统在接收到对应的发出的信号的5毫秒内输出所述生成的低等待时间数据,以供所述显示器使用。
87.如权利要求72所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于所述信号流的所述至少一部分中的一个或多个信号,所述低等待时间子系统生成额外的输出数据,以供所述额外的输出设备使用。
88.如权利要求87所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
89.如权利要求72所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的对应的高等待时间数据之间的差异可被用户感知。
90.如权利要求72所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的至少某些对应的高等待时间数据以不能被用户察觉的方式混合。
91.如权利要求72所述的用于处理用户输入的系统,其特征在于,被配置成以由应用逻辑规定的形式提供低等待时间系统响应。
92.如权利要求91所述的用于处理用户输入的系统,其特征在于,低等待时间系统响应的所述形式包括从由下列各项构成的组中选择的响应或响应组:听觉响应、视觉响应,以及触觉响应。
93.如权利要求72所述的用于处理用户输入的系统,其特征在于,被配置成以由系统逻辑规定的形式提供低等待时间系统响应。
94.如权利要求72所述的用于处理用户输入的系统,其特征在于,所述用户输入设备包括使用从由下列各项构成的组中选择的所述技术中的至少一种的直接触摸输入设备:电阻性、直接照明、受抑全内反射、漫射照明、投射式电容、电容耦合、声波,以及像素传感器。
95.如权利要求73所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统包括至少一个预先呈现的视觉项目,并且其中所述低等待时间数据对应于所述至少一个预先渲染的视觉项目中的一个或多个。
96.如权利要求95所述的用于处理用户输入的系统,其特征在于,所述高等待时间数据和所述低等待时间数据具有不相等的保真度。
97.如权利要求95所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统包括反映所述高等待时间子系统的至少一个状态的状态信息,所述低等待时间子系统的响应取决于所述状态信息。
98.如权利要求95所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述低等待时间子系统适于基于所述UI元素数据中的信息,执行命中测试。
99.如权利要求95所述的用于处理用户输入的系统,其特征在于,所述发出的信号在流中被发送到所述高和低等待时间子系统,所述低等待时间子系统适于从所述流中删除所述发出的信号中的一个或多个,从而防止这样的删除的信号是与由所述高等待时间子系统接收到的所接收数据相对应的所述至少某些所述发出的信号的一部分。
100.如权利要求95所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于所述至少某些所述发出的信号,所述低等待时间子系统生成额外的输出数据,以供所述额外的输出设备使用。
101.如权利要求100所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:视觉输出设备和视觉数据,音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
102.如权利要求72所述的用于处理用户输入的系统,其特征在于,所述用户输入设备被配置成以从由下列各项构成的组中选择的至少一种形式接收用户输入:触摸、多触摸、笔、眼睛运动、眼睛跟踪、空中姿势、音频、鼠标、键盘以及变化的压力。
103.一种用于处理用户输入的系统,包括:
输入设备;
输入处理单元;
包括在软件堆栈中运行的软件的高等待时间子系统;
低等待时间子系统;
适于响应于用户输入来生成信号的输入处理单元软件;以及,
输出设备;
其中所述低等待时间子系统相对于所述高等待时间子系统,在低等待时间下处理所述信号,所述高等待时间子系统相对于所述低等待时间子系统,在高等待时间下处理所述用户输入事件;
其中所述低等待时间子系统接收所述信号,并相对于所述高等待时间子系统,在低等待时间下生成至少一个低等待时间输出,所述高等待时间子系统处理至少某些所述信号,并相对于所述低等待时间子系统,在高等待时间下生成至少一个高等待时间输出;
其中所述输入设备、所述输入处理单元、所述高等待时间处理子系统、所述低等待时间处理子系统、所述输入处理单元软件以及所述输出设备被布置成使得:
所述低等待时间处理子系统独立于所述高等待时间处理子系统并与所述高等待时间处理子系统并行地操作;以及
至少某些所述用户输入信号由所述低等待时间子系统和所述高等待时间子系统两者处理,所述低等待时间子系统在低等待时间下向所述输出设备输出对给定用户输入信号的响应,所述高等待时间子系统在高等待时间下向所述输出设备输出对所述给定用户输入信号的响应。
104.如权利要求103所述的用于处理用户输入的系统,其特征在于,由所述低等待时间子系统所生成的低等待时间数据是通过将对应于所定义的响应的数据与由所述低等待时间子系统接收到的所述信号流的所述至少一部分中的所述至少某些所述信号中的一个或多个相关联来生成的。
105.如权利要求103所述的用于处理用户输入的系统,其特征在于,通过渲染来生成由所述高等待时间子系统所生成的高等待时间数据。
106.如权利要求103所述的用于处理用户输入的系统,其特征在于,由所述高等待时间子系统所生成的高等待时间数据和由所述低等待时间子系统所生成的低等待时间数据具有基本上相等的保真度。
107.如权利要求103所述的用于处理用户输入的系统,其特征在于,由所述高等待时间子系统所生成的高等待时间数据和由所述低等待时间子系统所生成的低等待时间数据具有不相等的的保真度。
108.如权利要求103所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统生成高等待时间数据,所述低等待时间子系统生成低等待时间数据,并且其中至少某些所述高等待时间数据具有比所述对应的低等待时间数据高的保真度。
109.如权利要求103所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统至少部分地以从现场可编程门阵列(FPGA)、专用集成电路(ASIC)、微控制器、图形处理单元(GPU),或片上系统(SoC)的组中选择的至少一种来实现。
110.如权利要求103所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统以集成到计算系统的现有组件中的逻辑来实现。
111.如权利要求110所述的用于处理用户输入的系统,其特征在于,所述计算系统的所述现有组件包括从图形处理单元(GPU)、输入设备控制器、中央处理单元(CPU)、微控制器,或片上系统(SoC)的组中选择的至少一个。
112.如权利要求103所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统包括反映所述高等待时间子系统的至少一个状态的状态信息,所述低等待时间子系统的响应取决于所述状态信息。
113.如权利要求103所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统包括用户接口元素逻辑。
114.如权利要求113所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述低等待时间子系统适于基于所述UI元素数据中的信息,执行命中测试。
115.如权利要求103所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统适于从所述流中删除所述信号中的一个或多个,从而防止这样的删除的信号是与由所述高等待时间子系统接收到的至少某些所接收数据相对应的所述信号流的至少一部分的一部分。
116.如权利要求103所述的用于处理用户输入的系统,其特征在于,对应于所述高等待时间数据的所述信号流的所述至少一部分不同于对应于所述低等待时间数据的信号的所述至少一部分。
117.如权利要求103所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统在接收到对应的发出的信号的5毫秒内输出所述生成的低等待时间数据,以供所述显示器使用。
118.如权利要求103所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于所述信号流的所述至少一部分中的一个或多个信号,所述低等待时间子系统生成额外的输出数据,以供所述额外的输出设备使用。
119.如权利要求103所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
120.如权利要求103所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的对应的高等待时间数据之间的差异可被用户感知。
121.如权利要求103所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的至少某些对应的高等待时间数据以不能被用户察觉的方式混合。
122.如权利要求103所述的用于处理用户输入的系统,其特征在于,被配置成以由应用逻辑规定的形式提供低等待时间系统响应。
123.如权利要求122所述的用于处理用户输入的系统,其特征在于,低等待时间系统响应的所述形式包括从由下列各项构成的组中选择的响应或响应组:听觉响应、视觉响应,以及触觉响应。
124.如权利要求103所述的用于处理用户输入的系统,其特征在于,被配置成以由系统逻辑规定的形式提供低等待时间系统响应。
125.如权利要求103所述的用于处理用户输入的系统,其特征在于,所述用户输入设备包括使用从由下列各项构成的组中选择的所述技术中的至少一种的直接触摸输入设备:电阻性、直接照明、受抑全内反射、漫射照明、投射式电容、电容耦合、声波,以及像素传感器。
126.如权利要求104所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统包括至少一个预先呈现的视觉项目,并且其中所述低等待时间数据对应于所述至少一个预先渲染的视觉项目中的一个或多个。
127.如权利要求126所述的用于处理用户输入的系统,其特征在于,所述高等待时间数据和所述低等待时间数据具有不相等的保真度。
128.如权利要求126所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统包括反映所述高等待时间子系统的至少一个状态的状态信息,所述低等待时间子系统的响应取决于所述状态信息。
129.如权利要求126所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述低等待时间子系统适于基于所述UI元素数据中的信息,执行命中测试。
130.如权利要求126所述的用于处理用户输入的系统,其特征在于,所述发出的信号在流中被发送到所述高和低等待时间子系统,所述低等待时间子系统适于从所述流中删除所述发出的信号中的一个或多个,从而防止这样的删除的信号是与由所述高等待时间子系统接收到的所接收数据相对应的所述至少某些所述发出的信号的一部分。
131.如权利要求126所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于所述至少某些所述发出的信号,所述低等待时间子系统生成额外的输出数据,以供所述额外的输出设备使用。
132.如权利要求131所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:视觉输出设备和视觉数据,音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
133.如权利要求103所述的用于处理用户输入的系统,其特征在于,所述用户输入设备被配置成以从由下列各项构成的组中选择的至少一种形式接收用户输入:触摸、多触摸、笔、眼睛运动、眼睛跟踪、空中姿势、音频、鼠标、键盘以及变化的压力。
134.一种用于处理用户输入的系统,包括:
包括输入设备的输入子系统,所述子系统适于响应于到所述输入设备的多个用户输入,输出信号,所述信号包括关于所述输入的信息;
低等待时间子系统,其适于接收所述信号并响应于所述信号中的一个或多个生成低等待时间响应,以及将所述信号中的至少一个发送到高等待时间子系统;
所述高等待时间子系统,其适于接收所述信号中的所述至少一个,以及响应于所述信号中的至少一个中的一个或多个,生成高等待时间响应;以及,
操作地连接到所述低等待时间子系统和所述高等待时间子系统的输出设备,所述输出设备被配置成混合所述低等待时间响应和所述高等待时间响应;
其中所述低等待时间子系统相对于所述高等待时间子系统在低等待时间下生成所述低等待时间响应,所述高等待时间子系统相对于所述低等待时间子系统在高等待时间下生成所述高等待时间响应。
135.如权利要求134所述的用于处理用户输入的系统,其特征在于,由所述低等待时间子系统所生成的低等待时间数据是通过将对应于所定义的响应的数据与由所述低等待时间子系统接收到的所述信号流的所述至少一部分中的所述至少某些所述信号中的一个或多个相关联来生成的。
136.如权利要求134所述的用于处理用户输入的系统,其特征在于,通过渲染来生成由所述高等待时间子系统所生成的高等待时间数据。
137.如权利要求134所述的用于处理用户输入的系统,其特征在于,由所述高等待时间子系统所生成的高等待时间数据和由所述低等待时间子系统所生成的低等待时间数据具有基本上相等的保真度。
138.如权利要求134所述的用于处理用户输入的系统,其特征在于,由所述高等待时间子系统所生成的高等待时间数据和由所述低等待时间子系统所生成的低等待时间数据具有不相等的的保真度。
139.如权利要求134所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统生成高等待时间数据,所述低等待时间子系统生成低等待时间数据,并且其中至少某些所述高等待时间数据具有比所述对应的低等待时间数据高的保真度。
140.如权利要求134所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统至少部分地以从现场可编程门阵列(FPGA)、专用集成电路(ASIC)、微控制器、图形处理单元(GPU),或片上系统(SoC)的组中选择的至少一种来实现。
141.如权利要求134所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统以集成到计算系统的现有组件中的逻辑来实现。
142.如权利要求134所述的用于处理用户输入的系统,其特征在于,所述计算系统的所述现有组件包括从图形处理单元(GPU)、输入设备控制器、中央处理单元(CPU)、微控制器,或片上系统(SoC)的组中选择的至少一个。
143.如权利要求134所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统包括反映所述高等待时间子系统的至少一个状态的状态信息,所述低等待时间子系统的响应取决于所述状态信息。
144.如权利要求134所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统包括用户接口元素逻辑。
145.如权利要求144所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述低等待时间子系统适于基于所述UI元素数据中的信息,执行命中测试。
146.如权利要求134所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统适于从所述流中删除所述信号中的一个或多个,从而防止这样的删除的信号是与由所述低等待时间子系统接收到的所述至少某些所接收数据相对应的所述信号流的至少一部分的一部分。
147.如权利要求134所述的用于处理用户输入的系统,其特征在于,对应于所述高等待时间数据的所述信号流的所述至少一部分不同于对应于所述低等待时间数据的信号的所述至少一部分。
148.如权利要求134所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统在接收到对应的发出的信号的5毫秒内输出所述生成的低等待时间数据,以供所述显示器使用。
149.如权利要求134所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于所述信号流的所述至少一部分中的一个或多个信号,所述低等待时间子系统生成额外的输出数据,以供所述额外的输出设备使用。
150.如权利要求149所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
151.如权利要求134所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的对应的高等待时间数据之间的差异可被用户感知。
152.如权利要求134所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的至少某些对应的高等待时间数据以不能被用户察觉的方式混合。
153.如权利要求134所述的用于处理用户输入的系统,其特征在于,被配置成以由应用逻辑规定的形式提供低等待时间系统响应。
154.如权利要求153所述的用于处理用户输入的系统,其特征在于,低等待时间系统响应的所述形式包括从由下列各项构成的组中选择的响应或响应组:听觉响应、视觉响应,以及触觉响应。
155.如权利要求134所述的用于处理用户输入的系统,其特征在于,被配置成以由系统逻辑规定的形式提供低等待时间系统响应。
156.如权利要求134所述的用于处理用户输入的系统,其特征在于,所述用户输入设备包括使用从由下列各项构成的组中选择的所述技术中的至少一种的直接触摸输入设备:电阻性、直接照明、受抑全内反射、漫射照明、投射式电容、电容耦合、声波,以及像素传感器。
157.如权利要求135所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统包括至少一个预先呈现的视觉项目,并且其中所述低等待时间数据对应于所述至少一个预先渲染的视觉项目中的一个或多个。
158.如权利要求157所述的用于处理用户输入的系统,其特征在于,所述高等待时间数据和所述低等待时间数据具有不相等的保真度。
159.如权利要求157所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统包括反映所述高等待时间子系统的至少一个状态的状态信息,所述低等待时间子系统的响应取决于所述状态信息。
160.如权利要求157所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述低等待时间子系统适于基于所述UI元素数据中的信息,执行命中测试。
161.如权利要求157所述的用于处理用户输入的系统,其特征在于,所述发出的信号在流中被发送到所述高和低等待时间子系统,所述低等待时间子系统适于从所述流中删除所述发出的信号中的一个或多个,从而防止这样的删除的信号是与由所述高等待时间子系统接收到的所接收数据相对应的所述至少某些所述发出的信号的一部分。
162.如权利要求157所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于所述至少某些所述发出的信号,所述低等待时间子系统生成额外的输出数据,以供所述额外的输出设备使用。
163.如权利要求162所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:视觉输出设备和视觉数据,音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
164.如权利要求134所述的用于处理用户输入的系统,其特征在于,所述用户输入设备被配置成以从由下列各项构成的组中选择的至少一种形式接收用户输入:触摸、多触摸、笔、眼睛运动、眼睛跟踪、空中姿势、音频、鼠标、键盘以及变化的压力。
165.一种用于以低等待时间处理用户输入的系统,包括:
输入设备;
输入处理单元;
高等待时间子系统;
低等待时间子系统;
适于响应于用户输入来生成信号的输入处理单元软件;以及,
输出设备;
其中所述低等待时间子系统相对于所述高等待时间子系统在低等待时间下处理多个信号,所述高等待时间子系统相对于所述低等待时间子系统在高等待时间下处理多个所述信号;
其中所述输入设备、所述输入处理单元、所述高等待时间处理子系统、所述低等待时间处理子系统、所述输入处理单元软件以及所述输出设备被布置成使得:
至少某些所述信号由所述低等待时间子系统和所述高等待时间子系统并行地处理,所述低等待时间子系统创建用于以低等待时间在所述输出设备上输出的可编程响应,而所述高等待时间子系统创建用于以高等待时间在所述输出设备上输出的响应;以及
当向所述输出设备输出所述响应时,所述输出设备输出来自所述低等待时间子系统的所述响应以及来自所述高等待时间子系统的所述响应。
166.如权利要求165所述的用于处理用户输入的系统,其特征在于,由所述低等待时间子系统所生成的低等待时间数据是通过将对应于所定义的响应的数据与由所述低等待时间子系统接收到的所述信号流的所述至少一部分中的所述至少某些所述信号中的一个或多个相关联来生成的。
167.如权利要求165所述的用于处理用户输入的系统,其特征在于,通过渲染来生成由所述高等待时间子系统所生成的高等待时间数据。
168.如权利要求165所述的用于处理用户输入的系统,其特征在于,由所述高等待时间子系统所生成的高等待时间数据和由所述低等待时间子系统所生成的低等待时间数据具有基本上相等的保真度。
169.如权利要求165所述的用于处理用户输入的系统,其特征在于,由所述高等待时间子系统所生成的高等待时间数据和由所述低等待时间子系统所生成的低等待时间数据具有不相等的的保真度。
170.如权利要求165所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统生成高等待时间数据,所述低等待时间子系统生成低等待时间数据,并且其中至少某些所述高等待时间数据具有比所述对应的低等待时间数据高的保真度。
171.如权利要求165所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统至少部分地以从现场可编程门阵列(FPGA)、专用集成电路(ASIC)、微控制器、图形处理单元(GPU),或片上系统(SoC)的组中选择的至少一种来实现。
172.如权利要求165所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统以集成到计算系统的现有组件中的逻辑来实现。
173.如权利要求165所述的用于处理用户输入的系统,其特征在于,所述计算系统的所述现有组件包括从图形处理单元(GPU)、输入设备控制器、中央处理单元(CPU)、微控制器,或片上系统(SoC)的组中选择的至少一个。
174.如权利要求165所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统包括反映所述高等待时间子系统的至少一个状态的状态信息,所述低等待时间子系统的响应取决于所述状态信息。
175.如权利要求165所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统包括用户接口元素逻辑。
176.如权利要求175所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述低等待时间子系统适于基于所述UI元素数据中的信息,执行命中测试。
177.如权利要求165所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统适于从所述流中删除所述信号中的一个或多个,从而防止这样的删除的信号是与由所述高等待时间子系统接收到的所述至少某些所接收数据相对应的所述信号流的至少一部分的一部分。
178.如权利要求165所述的用于处理用户输入的系统,其特征在于,对应于所述高等待时间数据的所述信号流的所述至少一部分不同于对应于所述低等待时间数据的信号的所述至少一部分。
179.如权利要求165所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统在接收到对应的发出的信号的5毫秒内输出所述生成的低等待时间数据,以供所述显示器使用。
180.如权利要求165所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于信号的所述流的所述至少一部分中的一个或多个信号,所述低等待时间子系统生成额外的输出数据,以供所述额外的输出设备使用。
181.如权利要求180所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
182.如权利要求165所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的对应的高等待时间数据之间的差异可被用户感知。
183.如权利要求165所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的至少某些对应的高等待时间数据以不能被用户察觉的方式混合。
184.如权利要求165所述的用于处理用户输入的系统,其特征在于,被配置成以由应用逻辑规定的形式提供低等待时间系统响应。
185.如权利要求184所述的用于处理用户输入的系统,其特征在于,低等待时间系统响应的所述形式包括从由下列各项构成的组中选择的响应或响应组:听觉响应、视觉响应,以及触觉响应。
186.如权利要求165所述的用于处理用户输入的系统,其特征在于,被配置成以由系统逻辑规定的形式提供低等待时间系统响应。
187.如权利要求165所述的用于处理用户输入的系统,其特征在于,所述用户输入设备包括使用从由下列各项构成的组中选择的所述技术中的至少一种的直接触摸输入设备:电阻性、直接照明、受抑全内反射、漫射照明、投射式电容、电容耦合、声波,以及像素传感器。
188.如权利要求165所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统包括至少一个预先呈现的视觉项目,并且其中所述低等待时间数据对应于所述至少一个预先渲染的视觉项目中的一个或多个。
189.如权利要求188所述的用于处理用户输入的系统,其特征在于,所述高等待时间数据和所述低等待时间数据具有不相等的保真度。
190.如权利要求188所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统包括反映所述高等待时间子系统的至少一个状态的状态信息,所述低等待时间子系统的响应取决于所述状态信息。
191.如权利要求188所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述低等待时间子系统适于基于所述UI元素数据中的信息,执行命中测试。
192.如权利要求188所述的用于处理用户输入的系统,其特征在于,所述发出的信号在流中被发送到所述高和低等待时间子系统,所述低等待时间子系统被配置为从所述流中删除所述发出的信号中的一个或多个,从而防止这样的删除的信号是与由所述高等待时间子系统接收到的所接收数据相对应的所述至少某些所述发出的信号的一部分。
193.如权利要求188所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于所述至少某些所述发出的信号,所述低等待时间子系统生成额外的输出数据,以供所述额外的输出设备使用。
194.如权利要求193所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:视觉输出设备和视觉数据,音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
195.如权利要求165所述的用于处理用户输入的系统,其特征在于,所述用户输入设备被配置成以从由下列各项构成的组中选择的至少一种形式接收用户输入:触摸、多触摸、笔、眼睛运动、眼睛跟踪、空中姿势、音频、鼠标、键盘以及变化的压力。
196.一种用于以低等待时间处理用户输入的系统,包括:
输入设备;
输出设备;
输入处理单元;
适于响应于用户输入来生成信号的输入处理单元软件;
适于创建对至少某些所述信号的高等待时间响应的高等待时间响应子系统;
至少部分地以硬件实现的低等待时间响应子系统,所述低等待时间响应子系统适于创建对至少某些所述信号的低等待时间响应,所述低等待时间响应子系统包括影响所述低等待时间响应的一个或多个参数;
其中相对于常见的信号,所述低等待时间响应不比所述高等待时间响应的等待时间更高,而所述高等待时间响应不比所述低等待时间响应的等待时间更低;
其中所述输入设备、输出设备、所述输入处理单元、输入处理单元软件、所述高等待时间响应子系统,以及所述低等待时间响应子系统被布置成使得:
由所述低等待时间子系统和所述高等待时间子系统并行地处理所述用户输入信号;
所述输出设备输出所述低等待时间响应和所述高等待时间响应;以及
其中应用程序软件可以改变影响所述低等待时间响应的所述一个或多个参数。
197.如权利要求196所述的用于处理用户输入的系统,其特征在于,由所述低等待时间子系统所生成的低等待时间数据是通过将对应于所定义的响应的数据与由所述低等待时间子系统接收到的所述信号流的所述至少一部分中的所述至少某些所述信号中的一个或多个相关联来生成的。
198.如权利要求196所述的用于处理用户输入的系统,其特征在于,通过渲染来生成由所述高等待时间子系统所生成的高等待时间数据。
199.如权利要求196所述的用于处理用户输入的系统,其特征在于,由所述高等待时间子系统所生成的高等待时间数据和由所述低等待时间子系统所生成的低等待时间数据具有基本上相等的保真度。
200.如权利要求196所述的用于处理用户输入的系统,其特征在于,由所述高等待时间子系统所生成的高等待时间数据和由所述低等待时间子系统所生成的低等待时间数据具有不相等的的保真度。
201.如权利要求196所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统生成高等待时间数据,所述低等待时间子系统生成低等待时间数据,并且其中至少某些所述高等待时间数据具有比所述对应的低等待时间数据高的保真度。
202.如权利要求196所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统至少部分地以从现场可编程门阵列(FPGA)、专用集成电路(ASIC)、微控制器、图形处理单元(GPU),或片上系统(SoC)的组中选择的至少一种来实现。
203.如权利要求196所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统以集成到计算系统的现有组件中的逻辑来实现。
204.如权利要求196所述的用于处理用户输入的系统,其特征在于,所述计算系统的所述现有组件包括从图形处理单元(GPU)、输入设备控制器、中央处理单元(CPU)、微控制器,或片上系统(SoC)的组中选择的至少一个。
205.如权利要求196所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统包括反映所述高等待时间子系统的至少一个状态的状态信息,所述低等待时间子系统的响应取决于所述状态信息。
206.如权利要求196所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统包括用户接口元素逻辑。
207.如权利要求206所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述低等待时间子系统适于基于所述UI元素数据中的信息,执行命中测试。
208.如权利要求196所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统适于从所述流中删除所述信号中的一个或多个,从而防止这样的删除的信号是与由所述高等待时间子系统接收到的所述至少某些所接收数据相对应的所述信号流的至少一部分的一部分。
209.如权利要求196所述的用于处理用户输入的系统,其特征在于,对应于所述高等待时间数据的信号的所述流的所述至少一部分不同于对应于所述低等待时间数据的信号的所述至少一部分。
210.如权利要求196所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统在接收到对应的发出的信号的5毫秒内输出所述生成的低等待时间数据,以供所述显示器使用。
211.如权利要求196所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于信号的所述流的所述至少一部分中的一个或多个信号,所述低等待时间子系统生成额外的输出数据,以供所述额外的输出设备使用。
212.如权利要求211所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
213.如权利要求196所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的对应的高等待时间数据之间的差异可被用户感知。
214.如权利要求196所述的用于处理用户输入的系统,其特征在于,会影响所述用户接口的所述视觉化的至少某些所述低等待时间数据和会影响所述用户接口的所述视觉化的至少某些对应的高等待时间数据以不能被用户察觉的方式混合。
215.如权利要求196所述的用于处理用户输入的系统,其特征在于,被配置成以由应用逻辑规定的形式提供低等待时间系统响应。
216.如权利要求215所述的用于处理用户输入的系统,其特征在于,低等待时间系统响应的所述形式包括从由下列各项构成的组中选择的响应或响应组:听觉响应、视觉响应,以及触觉响应。
217.如权利要求196所述的用于处理用户输入的系统,其特征在于,被配置成以由系统逻辑规定的形式提供低等待时间系统响应。
218.如权利要求196所述的用于处理用户输入的系统,其特征在于,所述用户输入设备包括使用从由下列各项构成的组中选择的所述技术中的至少一种的直接触摸输入设备:电阻性、直接照明、受抑全内反射、漫射照明、投射式电容、电容耦合、声波,以及像素传感器。
219.如权利要求196所述的用于处理用户输入的系统,其特征在于,所述低等待时间子系统包括至少一个预先呈现的视觉项目,并且其中所述低等待时间数据对应于所述至少一个预先渲染的视觉项目中的一个或多个。
220.如权利要求219所述的用于处理用户输入的系统,其特征在于,所述高等待时间数据和所述低等待时间数据具有不相等的保真度。
221.如权利要求219所述的用于处理用户输入的系统,其特征在于,所述高等待时间子系统包括反映所述高等待时间子系统的至少一个状态的状态信息,所述低等待时间子系统的响应取决于所述状态信息。
222.如权利要求219所述的用于处理用户输入的系统,其特征在于,进一步包括:
包含关于可见UI元素的所述视觉层次结构和属性的数据的UI元素数据;以及
其中所述低等待时间子系统适于基于所述UI元素数据中的信息,执行命中测试。
223.如权利要求219所述的用于处理用户输入的系统,其特征在于,所述发出的信号在流中被发送到所述高和低等待时间子系统,所述低等待时间子系统被配置为从所述流中删除所述发出的信号中的一个或多个,从而防止这样的删除的信号是与由所述高等待时间子系统接收到的所接收数据相对应的所述至少某些所述发出的信号的一部分。
224.如权利要求219所述的用于处理用户输入的系统,其特征在于,进一步包括额外的输出设备,并且其中响应于所述至少某些所述发出的信号,所述低等待时间子系统生成额外的输出数据,以供所述额外的输出设备使用。
225.如权利要求224所述的用于处理用户输入的系统,其特征在于,所述额外的输出设备和额外的输出数据是从包括下列各项的组中选择的:视觉输出设备和视觉数据,音频输出设备和音频数据,以及触觉反馈设备和触觉反馈数据。
226.如权利要求196所述的用于处理用户输入的系统,其特征在于,所述用户输入设备被配置成以从由下列各项构成的组中选择的至少一种形式接收用户输入:触摸、多触摸、笔、眼睛运动、眼睛跟踪、空中姿势、音频、鼠标、键盘以及变化的压力。
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 (2)
Publication Number | Publication Date |
---|---|
CN104903832A true CN104903832A (zh) | 2015-09-09 |
CN104903832B CN104903832B (zh) | 2020-09-25 |
Family
ID=50435494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380052371.8A Active CN104903832B (zh) | 2012-10-05 | 2013-10-04 | 用于低等待时间用户输入处理和反馈的混合型系统和方法 |
Country Status (13)
Country | Link |
---|---|
US (5) | US9927959B2 (zh) |
EP (1) | EP2904484A4 (zh) |
JP (1) | JP6293763B2 (zh) |
KR (1) | KR101867494B1 (zh) |
CN (1) | CN104903832B (zh) |
AU (1) | AU2013326854A1 (zh) |
BR (1) | BR112015007617A2 (zh) |
CA (1) | CA2885184A1 (zh) |
HK (1) | HK1213663A1 (zh) |
IL (1) | IL238127B (zh) |
MX (1) | MX347342B (zh) |
SG (2) | SG11201502619UA (zh) |
WO (1) | WO2014055942A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919285A (zh) * | 2017-02-28 | 2017-07-04 | 北京小米移动软件有限公司 | 一种终端 |
CN108370338A (zh) * | 2015-12-10 | 2018-08-03 | 高通股份有限公司 | 用于消息接发和输入/输出传递接口的最优等待时间分组化器有限状态机 |
CN114168054A (zh) * | 2016-03-18 | 2022-03-11 | 电子湾有限公司 | 图形用户界面元素调整 |
Families Citing this family (69)
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 |
CN107977084B (zh) * | 2012-05-09 | 2021-11-05 | 苹果公司 | 用于针对在用户界面中执行的操作提供触觉反馈的方法和装置 |
AU2013259606B2 (en) | 2012-05-09 | 2016-06-02 | Apple Inc. | Device, method, and graphical user interface for displaying additional information in response to a user contact |
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 |
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 |
CN104487928B (zh) | 2012-05-09 | 2018-07-06 | 苹果公司 | 用于响应于手势而在显示状态之间进行过渡的设备、方法和图形用户界面 |
CN109298789B (zh) | 2012-05-09 | 2021-12-31 | 苹果公司 | 用于针对激活状态提供反馈的设备、方法和图形用户界面 |
AU2013259637B2 (en) | 2012-05-09 | 2016-07-07 | Apple Inc. | Device, method, and graphical user interface for selecting user interface 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 |
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 |
SG11201502619UA (en) | 2012-10-05 | 2015-05-28 | Tactual Labs Co | Hybrid systems and methods for low-latency user input processing and feedback |
WO2014105275A1 (en) | 2012-12-29 | 2014-07-03 | Yknots Industries Llc | Device, method, and graphical user interface for forgoing generation of tactile output for a multi-contact gesture |
EP2939096B1 (en) | 2012-12-29 | 2019-08-28 | Apple Inc. | Device, method, and graphical user interface for determining whether to scroll or select contents |
US9483171B1 (en) * | 2013-06-11 | 2016-11-01 | Amazon Technologies, Inc. | Low latency touch input rendering |
KR20160041898A (ko) * | 2013-07-12 | 2016-04-18 | 텍추얼 랩스 컴퍼니 | 규정된 크로스 컨트롤 거동을 이용한 저감된 제어 응답 레이턴시 |
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 |
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 |
US9892556B2 (en) | 2014-03-11 | 2018-02-13 | Amazon Technologies, Inc. | Real-time exploration of 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 |
WO2016044807A1 (en) * | 2014-09-18 | 2016-03-24 | 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 |
US10241760B2 (en) * | 2014-11-18 | 2019-03-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 |
US9645732B2 (en) | 2015-03-08 | 2017-05-09 | Apple Inc. | Devices, methods, and graphical user interfaces for displaying and using menus |
US10048757B2 (en) | 2015-03-08 | 2018-08-14 | Apple Inc. | Devices and methods for controlling media presentation |
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 |
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 |
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 |
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 |
US10248308B2 (en) | 2015-08-10 | 2019-04-02 | Apple Inc. | Devices, methods, and graphical user interfaces for manipulating user interfaces with physical gestures |
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 |
US11194398B2 (en) * | 2015-09-26 | 2021-12-07 | Intel Corporation | Technologies for adaptive rendering using 3D sensors |
US10241620B2 (en) * | 2016-02-02 | 2019-03-26 | 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 |
US20190279100A1 (en) * | 2018-03-09 | 2019-09-12 | Lattice Semiconductor Corporation | Low latency interrupt alerts for artificial neural network systems and methods |
CN113490904A (zh) | 2019-03-27 | 2021-10-08 | 英特尔公司 | 智能显示面板装置及相关方法 |
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 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409290A (zh) * | 2001-10-01 | 2003-04-09 | 株式会社半导体能源研究所 | 显示器件及使用该显示器件的电子设备 |
CN1512772A (zh) * | 2002-12-26 | 2004-07-14 | ���ǵ�����ʽ���� | 用于加强重现图像质量的设备和方法 |
CN1705008A (zh) * | 2004-06-02 | 2005-12-07 | 捷讯研究有限公司 | 单色和彩色混合显示驱动技术 |
US20100277429A1 (en) * | 2009-04-30 | 2010-11-04 | Day Shawn P | Operating a touch screen control system according to a plurality of rule sets |
CN102651001A (zh) * | 2011-02-28 | 2012-08-29 | 腾讯科技(深圳)有限公司 | 一种图片浏览的方法及装置 |
Family Cites Families (36)
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 |
MXPA02004015A (es) * | 1999-10-22 | 2003-09-25 | Activesky Inc | Un sistema de video orientado a los 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 |
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 |
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 |
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 |
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 | キヤノン株式会社 | 情報処理装置、表示装置、表示システム、情報処理装置の制御方法、及び表示装置の制御方法 |
CN103492978B (zh) * | 2010-10-05 | 2017-02-15 | 西里克斯系统公司 | 用于远程化的应用的触摸支持 |
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 |
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 | 富泰华工业(深圳)有限公司 | 电子设备及其触摸输入控制方法 |
SG11201502619UA (en) | 2012-10-05 | 2015-05-28 | Tactual Labs Co | Hybrid systems and methods for low-latency user input processing and feedback |
-
2013
- 2013-10-04 SG SG11201502619UA patent/SG11201502619UA/en unknown
- 2013-10-04 MX MX2015004244A patent/MX347342B/es active IP Right Grant
- 2013-10-04 CA CA2885184A patent/CA2885184A1/en not_active Abandoned
- 2013-10-04 CN CN201380052371.8A patent/CN104903832B/zh active Active
- 2013-10-04 SG SG10201601697SA patent/SG10201601697SA/en unknown
- 2013-10-04 BR BR112015007617A patent/BR112015007617A2/pt not_active IP Right Cessation
- 2013-10-04 EP EP13844123.3A patent/EP2904484A4/en not_active Ceased
- 2013-10-04 US US14/046,823 patent/US9927959B2/en active Active
- 2013-10-04 WO PCT/US2013/063569 patent/WO2014055942A1/en active Application Filing
- 2013-10-04 JP JP2015535843A patent/JP6293763B2/ja active Active
- 2013-10-04 AU AU2013326854A patent/AU2013326854A1/en not_active Abandoned
- 2013-10-04 US US14/046,819 patent/US9507500B2/en active Active
- 2013-10-04 KR KR1020157011748A patent/KR101867494B1/ko active IP Right Grant
-
2015
- 2015-04-02 IL IL238127A patent/IL238127B/en active IP Right Grant
-
2016
- 2016-02-12 HK HK16101562.8A patent/HK1213663A1/zh unknown
- 2016-11-23 US US15/360,039 patent/US10222952B2/en active Active - Reinstated
-
2019
- 2019-03-01 US US16/290,119 patent/US20190196681A1/en not_active Abandoned
-
2021
- 2021-09-08 US US17/469,109 patent/US20220253185A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1409290A (zh) * | 2001-10-01 | 2003-04-09 | 株式会社半导体能源研究所 | 显示器件及使用该显示器件的电子设备 |
CN1512772A (zh) * | 2002-12-26 | 2004-07-14 | ���ǵ�����ʽ���� | 用于加强重现图像质量的设备和方法 |
CN1705008A (zh) * | 2004-06-02 | 2005-12-07 | 捷讯研究有限公司 | 单色和彩色混合显示驱动技术 |
US20100277429A1 (en) * | 2009-04-30 | 2010-11-04 | Day Shawn P | Operating a touch screen control system according to a plurality of rule sets |
CN102651001A (zh) * | 2011-02-28 | 2012-08-29 | 腾讯科技(深圳)有限公司 | 一种图片浏览的方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108370338A (zh) * | 2015-12-10 | 2018-08-03 | 高通股份有限公司 | 用于消息接发和输入/输出传递接口的最优等待时间分组化器有限状态机 |
CN114168054A (zh) * | 2016-03-18 | 2022-03-11 | 电子湾有限公司 | 图形用户界面元素调整 |
CN106919285A (zh) * | 2017-02-28 | 2017-07-04 | 北京小米移动软件有限公司 | 一种终端 |
Also Published As
Publication number | Publication date |
---|---|
AU2013326854A1 (en) | 2015-04-30 |
US9507500B2 (en) | 2016-11-29 |
JP2015536008A (ja) | 2015-12-17 |
KR20150087210A (ko) | 2015-07-29 |
MX347342B (es) | 2017-04-21 |
BR112015007617A2 (pt) | 2017-07-04 |
US10222952B2 (en) | 2019-03-05 |
US20140143692A1 (en) | 2014-05-22 |
US9927959B2 (en) | 2018-03-27 |
JP6293763B2 (ja) | 2018-03-14 |
CN104903832B (zh) | 2020-09-25 |
KR101867494B1 (ko) | 2018-07-17 |
HK1213663A1 (zh) | 2016-07-08 |
US20140139456A1 (en) | 2014-05-22 |
IL238127B (en) | 2018-02-28 |
MX2015004244A (es) | 2015-09-23 |
CA2885184A1 (en) | 2014-04-10 |
WO2014055942A1 (en) | 2014-04-10 |
US20220253185A1 (en) | 2022-08-11 |
SG10201601697SA (en) | 2016-04-28 |
EP2904484A4 (en) | 2016-06-01 |
US20190196681A1 (en) | 2019-06-27 |
SG11201502619UA (en) | 2015-05-28 |
US20170235457A1 (en) | 2017-08-17 |
EP2904484A1 (en) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104903832A (zh) | 用于低等待时间用户输入处理和反馈的混合型系统和方法 | |
JP6659644B2 (ja) | 応用素子の代替的グラフィック表示の事前の生成による入力に対する低レイテンシの視覚的応答およびグラフィック処理ユニットの入力処理 | |
US9830014B2 (en) | Reducing control response latency with defined cross-control behavior | |
JP2016528612A5 (zh) | ||
Lee et al. | iSphere: a free-hand 3D modeling interface | |
JP2007140186A (ja) | 3次元ポインティング方法および3次元ポインティング装置ならびに3次元ポインティングプログラム | |
Bao et al. | A toolkit for automatically generating and modifying VR hierarchy tile menus | |
EP3019943A1 (en) | Reducing control response latency with defined cross-control behavior | |
이지현 | Exploring the Front Touch Interface of Virtual Reality Head-Mounted Displays | |
Bauer | Large Display Interaction Using Mobile Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |