CN104820489B - 管理低延时的直接控制反馈的系统和方法 - Google Patents
管理低延时的直接控制反馈的系统和方法 Download PDFInfo
- Publication number
- CN104820489B CN104820489B CN201510049865.1A CN201510049865A CN104820489B CN 104820489 B CN104820489 B CN 104820489B CN 201510049865 A CN201510049865 A CN 201510049865A CN 104820489 B CN104820489 B CN 104820489B
- Authority
- CN
- China
- Prior art keywords
- application processor
- request
- acceleration
- window
- touch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
-
- 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/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
-
- 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
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/37—Details of the operation on graphic patterns
- G09G5/377—Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/12—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
- G09G2340/125—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/06—Use of more than one graphics processor to process data before displaying to one or more screens
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)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种系统包括:显示面板;触摸面板;应用处理器;视觉加速器,其依据来自触摸面板的触摸事件和来自应用处理器的参数将来自应用处理器的视频图像与覆盖数据相组合以将组合图像提供给显示面板;以及耦合到应用处理器的存储器,该存储器存储:包括加速请求的请求列表;以及指令,这些指令当被应用处理器执行时使得应用处理器执行设备驱动器来:识别加速请求之中的活动加速请求,活动加速请求与由应用处理器执行的应用相关联;利用来自由应用处理器执行的窗口管理器的窗口布置数据确定显示面板的活动屏幕区域;依据活动加速请求和活动屏幕区域生成参数;以及将参数发送到视觉加速器。
Description
相关申请的交叉引用
本申请要求于2014年1月30日向美国专利商标局递交的标题为“System andMethod in Managing Low-Latency Direct Control Feedback(管理低延时直接控制反馈的系统和方法)”的美国临时专利申请第61/933,794号的优先权和权益,本文通过引用并入该申请的全部公开内容。
技术领域
本发明的实施例涉及用于减小包括触摸输入和显示组件的计算设备中的显示滞后的系统和方法。
背景技术
包含或耦合到覆盖的触摸传感器面板的显示面板为能够触摸的计算设备 (诸如移动电话、平板计算机、膝上型计算机或者桌面型计算机)提供了交互系统。在这样的计算设备中,图形被显示在显示面板上,并且用户可通过触摸屏幕(例如,利用主动式触笔、被动式触笔或者诸如手指之类的身体部位)来与这些设备交互,从而提供了直观的用户界面。
由触摸传感器面板检测到的触摸事件通常由在设备的应用处理器 (applicationprocessor,AP)上运行的高级别应用软件来处理。触摸传感器面板与AP之间的许多处理操作以及AP上的非确定处理时间(包括由于AP 执行的其它计算任务引起的延迟)引入了较高水平的延时(例如,70至100 毫秒),而这种延时降低了计算设备对用户的触摸输入的响应性。
发明内容
本发明的实施例的方面针对减小触摸事件与对此触摸事件的显示响应之间的延时。
根据本发明的一个实施例,一种系统包括:显示面板;触摸面板;耦合到触摸面板和显示面板的应用处理器;视觉加速器,其依据来自触摸面板的触摸事件和来自应用处理器的配置参数将来自应用处理器的视频图像与覆盖数据相组合以生成组合图像并将组合图像提供给显示面板;以及耦合到应用处理器的存储器,该存储器存储:包括一个或多个加速请求的请求列表;以及指令,这些指令当被应用处理器执行时使得应用处理器执行设备驱动器来:识别请求列表的一个或多个加速请求之中的活动加速请求,该活动加速请求与由应用处理器执行的应用相关联;依据来自由应用处理器执行的窗口管理器的窗口布置数据确定显示面板的活动屏幕区域;依据活动加速请求和活动屏幕区域生成配置参数;以及将配置参数发送到视觉加速器。
组合图像可包括与触摸事件相对应的线条。
配置参数可包括颜色、宽度、逻辑描绘区域和/或压力设定,并且视觉加速器可被配置为依据配置参数来生成线条。
指令还可使得应用处理器执行设备驱动器来:从窗口管理器接收窗口事件;以及处理窗口事件以确定活动屏幕区域。
窗口事件可包括窗口平移(translation)、窗口缩放、窗口旋转和/或窗口焦点变化。
指令还可使得应用处理器执行设备驱动器来从请求列表的一个或多个加速请求中识别活动加速请求。
指令还可使得应用处理器执行设备驱动器来:基于从由应用处理器执行的应用接收的参数来创建新的加速请求;以及将新的加速请求存储在请求列表中。
指令还可使得应用处理器执行设备驱动器来基于由应用提供的参数更新请求列表的一个或多个加速请求之中的加速请求。
指令还可使得应用处理器执行设备驱动器来从请求列表中删除一个或多个加速请求之中的加速请求。
指令还可使得应用处理器执行设备驱动器来从请求列表中识别所述加速请求之中的与从请求列表中删除的加速请求不同的另一加速请求。
根据本发明的一个实施例,一种用于控制系统中的视觉加速器的方法,该系统包括:显示面板;触摸面板;耦合到触摸面板和显示面板的应用处理器;存储包括一个或多个加速请求的请求列表的存储器;以及视觉加速器,该视觉加速器依据来自触摸面板的触摸事件和来自应用处理器的配置参数来将来自应用处理器的视频图像与覆盖数据相组合以生成组合图像并将组合图像提供给显示面板,该方法包括:由应用处理器识别请求列表的一个或多个加速请求之中的活动加速请求,该活动加速请求与由应用处理器执行的应用相关联;由应用处理器依据来自由应用处理器执行的窗口管理器的窗口布置数据确定显示面板的活动屏幕区域;由应用处理器依据活动加速请求和活动屏幕区域生成配置参数;以及由应用处理器将配置参数发送到视觉加速器。
组合图像可包括与触摸事件相对应的线条。
配置参数可包括颜色、宽度、逻辑描绘区域和/或压力设定,并且其中视觉加速器被配置为依据配置参数来生成线条。
该方法还可包括:从窗口管理器接收窗口事件;以及处理窗口事件以确定活动屏幕区域。
窗口事件可包括窗口平移、窗口缩放、窗口旋转和/或窗口焦点变化。
该方法还可包括从请求列表的一个或多个加速请求中识别活动加速请求。
该方法还可包括:基于从由应用处理器执行的应用接收的参数来创建新的加速请求;以及将新的加速请求存储在请求列表中。
该方法还可包括基于由应用提供的参数来更新请求列表的一个或多个加速请求之中的加速请求。
该方法还可包括从请求列表中删除一个或多个加速请求之中的加速请求。
该方法还可包括从请求列表中识别所述加速请求之中的与从请求列表中删除的加速请求不同的另一加速请求。
附图说明
附图与说明书一起图示了本发明的示范性实施例并且与描述一起用来说明本发明的原理。
图1A是图示出包括触摸面板和显示器的示例计算设备的各种组件的示意性框图。
图1B图示了包括相关技术的触摸输入处理设备的设备的响应。
图1C图示了包括根据本发明的实施例的触摸输入处理设备的设备的显示响应。
图1D是图示出根据本发明的一个实施例的计算设备的示意性框图。
图1E、图1F和图1G是在设备上描绘弯曲线条的描绘应用的示意性图示。
图2是示意性图示出根据本发明的一个实施例的低延时视觉加速器的框图。
图3是图示出根据本发明的一个实施例的系统的整体软件体系结构的框图。
图4是图示出根据本发明的一个实施例的LLVA驱动器280的操作400 的流程图。
具体实施方式
在下列详细描述中,只是以例示的方式示出和描述了本发明的某些示范性实施例。正如本领域技术人员将会认识到的,本发明可以以许多不同的形式来具体实现,而不应当被解释为限于本文记载的实施例。贯穿说明书各处,同样的参考标记指定同样的元素。
本文使用的术语只是为了描述特定实施例,而并不意图限制发明构思。如本文使用的单数形式“一”、“一个”和“该”意图也包括复数形式,除非上下文明确地另有指示。还将理解,术语“包括”和/或“包含”当在本说明书中使用时指明了所记载的特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其群组的存在或添加。如本文使用的术语“和/或”包括相关联的列出项目中的一个或多个的任意和所有组合。诸如“…中的至少一个”之类的表述当在元素的列表之前时修饰整个元素列表,而不修饰列表中的个体元素。另外,在描述发明构思的实施例时对“可”的使用指的是“发明构思的一个或多个实施例”。另外,术语“示范性”意在指示例或例示。如本文使用的术语“使用”、可被认为与术语“利用”同义。当第一元素被描述为“耦合”或“连接”到第二元素时,第一元素可直接“耦合”或“连接”到第二元素,或者一个或多个其它居间元素可位于第一元素和第二元素之间。
本发明的实施例通过在应用处理器渲染图像之前基于触摸位置显示图像来允许用户感知到更快的触摸响应。
为触摸界面设计的软件经常利用对伪“真实世界”物体的直接物理操纵的比拟和/或屏幕上路径的描绘来提供视觉反馈(例如,对于在挥扫型或基于手势的屏上键盘上手指的踪迹、对于绘画或速写应用中的路径的踪迹、以及对于在游戏中描绘的路径)。
移动电话的常见问题是用户界面(user interface,UI)的滞后(或者滞后时间或延时)。当前的移动电话响应于触摸动作通常要花50至200毫秒来更新显示。例如,在相关技术的智能电话上测量到的对触摸事件的典型显示响应时间可大于100毫秒或者基于60帧每秒(frames per second,FPS)的刷新率可大致超过6帧视频图像,这是大部分用户可以注意到的。
在相关技术的基于触摸和触笔的描绘应用(例如,SMemo和Snote)中,触摸事件通过多个阶段被输送到描绘应用270。例如,图1A是图示出包括触摸面板和显示器的示例计算设备250’的各种组件的示意性框图。如图1A中所示,用户经由工具10(例如,手、手指、触笔等等)对触摸面板300的触摸生成被触摸处理器200分析的触摸信号。触摸处理器200生成被发送到运行操作系统(operating system,OS)260的应用处理器(application processor,AP)202的触摸事件。触摸事件也可被提供给应用(或app)270,应用270 处理输入并且可生成反馈,例如在显示器中绘出线条或者按下按钮。反馈数据被提供给OS 260,OS 260将视频图像提供给图形处理单元(graphical processing unit,GPU)和显示设备接口控制器(display device interface controller,DDIC)204,GPU和DDIC 204生成驱动信号来驱动显示面板322 向用户的眼睛12显示图像。
如图1A中所图示的,处理的每个阶段可引入延迟。例如,触摸处理器 200可花费20ms来处理触摸信号,操作系统260可花费额外的15ms来处理触摸事件,并且应用可花费另外的20ms来生成反馈。在将反馈返回给显示面板322时,操作系统260可花费15ms来处理图形命令,并且GPU和DDIC 204可花费35-50ms来将视频图像渲染到显示器上。这样,在典型的智能电话和平板设备中,在对于用户对触摸面板进行触摸的显示响应中可以有超过 100ms的延迟。
图1B图示出包括相关技术的触摸输入处理设备的设备的响应,其中显示的线条100在手指的位置与显示线条100的最后描绘部分之间具有间隙 102,从而导致了用户的触摸10与显示的线条100之间的可注意到的显示滞后。当使用触笔——无论是主动式还是被动式——之时,也通常会遇到类似的显示滞后。
本发明的实施例通过提前于AP渲染的图像在触摸路径中覆盖图像来允许了用户感知到更快的触摸响应。本发明的实施例通过闭合用户的触摸点与线条的描绘之间的间隙来减小感知到的滞后时间。如本文使用的术语“覆盖” (overlay)当用作动词时指的是将视频图像(例如,AP渲染的图像)与附加图像数据相组合,以使得该附加图像数据替换(或“覆盖”)原始视频图像的某个部分。术语“覆盖”当用作名词时也可以指该附加图像数据在组合显示图像中的出现。
此外,通过利用覆盖方法,应用软件还可控制所显示的对触摸事件的响应的区域(例如在显示器上的位置)、颜色和渲染操作。
图1C图示了包括根据本发明的实施例的触摸输入处理设备的设备的显示响应。在此示例中,显示的线条包括由根据本发明的实施例的低延时覆盖系统描绘的估计或计算出的部分104。对估计或计算出的部分104的包括减小了用户感知到的显示滞后。
改善此滞后的一种方式在图1D中示出,图1D是图示出计算设备250 的示意性框图,计算设备250与计算设备250’基本上类似,但还包括低延时视觉加速器(low latencyvisual accelerator,LLVA)310(其可被集成到 GPU/DDIC 204中)。AP 202还可执行或运行反馈驱动器280以便依据来自 OS 260和/或应用270的指令与LLVA 310交互并且控制LLVA310。LLVA 310 通过低延时路径212更迅速地向显示面板322提供视觉反馈,从而减小了显示滞后。视觉反馈的外观可由提供给LLVA 310的参数312来控制。参数312 可设定例如视觉反馈的颜色、厚度、形状、样式和/或其它方面。
图1E、图1F和图1G是在设备上描绘弯曲线条16的描绘应用的示意性图示。图1E图示了在示例描绘应用中描摹弯曲线条16的初始状态。图1F 图示了如下状态:在描绘应用之上显示窗口18(在此示例中是音量控制),从而隐藏或遮蔽了弯曲线条16的一部分。然而,如图1G中所示,LLVA 310 在一些情况下可无意地在窗口18之上覆盖一条线,从而导致了视觉假象(例如,在此情况下,音量控制应当在弯曲线条16之上,如图1F中所示)。为了解决这些假象,本发明的实施例的方面定义并提供了LLVA 310与窗口管理器 262之间的接口(例如,用于依据来自窗口管理器262的信息来控制LLVA 310)。
一般来说,应用控制是不会持续很长时间的单个事件调用,例如调用相机拍摄图片。相应的组件设备驱动器将控制信号顺序地传递给硬件组件。对于同时有多个应用在运行的系统,持续时间长的事件取决于其如何被编程而可能行为前后矛盾。例如,用户可首先在使用应用A的同时将扬声器音量调高,并且随后可在使用应用B的同时将扬声器音量调低,随后再返回到应用 A。在这一序列的事件之后,有人可能会问扬声器音量应当高还是低。在许多情况下,这取决于应用A是如何被编程的。如果应用A什么都不做,则扬声器将保持在低音量。另一方面,有经验的程序员可选择为其应用保持当前音量状态的寄存值,并且添加焦点回调函数来在每次应用A重获焦点时将音量重置到存储的值。在此情况下,当用户切换回应用A时,音量将是高的。
这个体系结构在用于当前移动设备的触摸和触笔输入的低延时反馈机制中引起了类似的问题,因为视觉加速是对应用透明的设备增强,从而回调函数不能被插入。然而,加速模式将根据应用行为而改变。例如,加速模式将基于加速是否用于线条描绘(例如,线条的颜色、形状、宽度和其它特征可变化)、屏上键盘叩击和图标移动而改变。
这样,本发明的实施例的方面针对一种方法,用于以对在计算设备250 上运行的应用270透明的方式来管理设备驱动器服务内的应用特定的设备配置参数。
这样,本发明的实施例的一个方面涉及一种服务,其驻留在主机设备中来根据所有活动应用之中的焦点所在应用(in-focus application)来自动切换所有外围输入和输出组件的操作模式。
本发明的实施例的另一方面涉及一种服务,其驻留在主机设备中来自动确定焦点所在应用的活动窗口画布(active window canvas)的活动屏幕区域,包括消除在此焦点所在画布之上的所有活动窗口画布。
本发明的实施例的又一方面涉及一种服务,其驻留在主机设备中来根据特定的操作模式直接根据输入信号管理去到输出组件的输出数据和控制信号。
下面将联系一种软件系统来描述本发明的实施例的一个示例,该软件系统允许应用利用低延时视觉加速器(LLVA,或者简称VA)硬件,而无需对应用源代码进行大幅修改。在本发明的一些实施例中,如果应用使用视觉加速器的默认模式,则不需要对应用源代码进行修改。此外,多个应用可通过 LLVA驱动器280使用LLVA硬件310。
图2是根据本发明的一个实施例示意性图示出LLVA 310的框图。参考图2,如以上参考图1D所述,触摸控制器200处理来自触摸传感器面板300 的触摸信号302,并且向应用处理器(AP)202输出触摸事件304,诸如坐标。
仍参考图2,触摸传感器面板300被配置为检测用户的触摸并生成触摸信号302,这些触摸信号302通过数据总线被提供给触摸控制器200。本发明的实施例可与利用诸如身体部位(例如,手指)、触笔等等之类的任何类型(或种类)的指点工具(pointing implement)来检测用户的触摸的触摸传感器面板300一起使用。如本文使用的术语“指点工具”指的是可以被触摸传感器面板300检测的物体,包括设备(诸如主动式触笔或被动式触笔)和身体部位(诸如手指或手)。本发明的实施例可与诸如以下的多种类型(或种类)的触摸输入面板中的任何一种一起使用:电阻式触摸面板、表面声波触摸面板、电容式触摸面板、红外触摸面板或者光学触摸面板。在一个实施例中,触摸信号302对应于由触摸传感器面板300提供的原始数据,诸如对触摸传感器面板中的每个位置的电容或电压或电流的测量结果。用于触摸事件304的数据总线连接到AP 202和低延时视觉加速器310两者。触摸事件304可以是与检测到用户的触摸的位置相对应的数据值的流(例如,具有构成对触摸事件的检测的充分高的值的电容或电压或电流的变化)。在一些实施例中,触摸事件304包括指示出在每个触摸事件处被施加到触摸传感器面板300的压力的量的压力数据。
AP 202处理触摸事件304,并且从AP 202运行的应用软件通过向DDIC 204渲染视频图像316(或者帧或视频图像)以供显示在显示面板322上,来相应地更新显示构成。AP202可包括中央处理单元(central processing unit, CPU)和存储器。显示面板322可以例如是有机发光二极管(organic light emitting diode,OLED)显示面板或者液晶显示器(liquid crystal display,LCD) 面板。虽然GPU 204在图1A、图1D和图2中被描画为与AP202分开的组件,但本发明的实施例不限于此,而在一些实施例中,GPU和LLVA可被集成为AP202的组件(例如,与AP 202集成在同一芯片上)。
AP 202连接到GPU/DDIC 204,GPU/DDIC 204进而连接到显示面板322。 GPU/DDIC204从AP 202接收视频图像316并且向显示面板322提供像素驱动信号320。
在一个实施例中,触摸传感器面板300、触摸控制器200、DDIC 204和显示面板322都是显示模块的组件,它们可与AP 202分开。在另一实施例中,触摸传感器面板300、触摸控制器200、DDIC 204和显示面板322或者其组合可驻留在单独的模块中,或者与AP 202相结合。
DDIC 204处理从AP 202接收的视频图像(或者视频图像的帧)316,并且向显示面板322输出像素驱动信号320。
下面将更详细描述参数312和覆盖数据314的功能。
用于低延时视觉加速的系统和方法在例如于2014年3月26日向美国专利商标局递交的美国专利申请第14/226,776号“Method and Apparatus to Reduce Display LagUsing Image Overlay(用于利用图像覆盖减少显示滞后的方法和装置)”、于2014年6月12日向美国专利商标局递交的美国专利申请第14/303,457号“Method and Apparatus toReduce Display Lag of Soft Keyboard Presses(用于减少软键盘按压的显示滞后的方法和装置)”和于2014年8月 12日向美国专利商标局递交的美国专利申请第14/489,200号“Integrated Input Control and Output Display System(集成输入控制和输出显示系统)”中有更详细的描述,本文通过引用并入所有这些专利申请的全部公开内容。
将在运行操作系统的计算设备的情境中描述本发明的实施例。本发明公开了反馈驱动器(LLVA驱动器)280的功能和接口。然而,应当理解,在包括等等的其它操作系统上可实现类似的软件体系结构。
应用处理器202可以是在计算设备中一般使用的任何类型(或种类)的处理器,诸如基于例如Intel x86或ARM体系结构的微处理器或微控制器。
图3是图示出根据本发明的一个实施例的系统的整体软件体系结构的框图。在AP202上运行的个体应用270可通过视觉加速器API 274与LLVA驱动器280交互,该视觉加速器API 274可通过LLVA使能SDK 272和相关联的软件库与该驱动器通信。
用于应用的视觉加速器API 274是可选的,并且当被使用时,包括允许应用发现、使能和禁用LLVA的函数。在一个实施例中,三种类型(或种类) 的函数被使用:
int isVisualAcceleratorAvailable()
-对于不可用返回0,或者当前视觉加速器硬件版本id的索引。
bool enableVisualAccelerator(int Mode=0)
-对于失败返回0,或者对于成功返回1。此函数也可用于检查特定加速特征的可用性。
bool disableVisualAccelerator(int Mode=0)
-对于没有状态变化返回0,或者对于成功禁用返回1。
在一个实施例中,enableVisualAccelerator和disableVisualAccelerator函数中提供的“Mode”是赋予个体加速模式、预定的加速模式群组的常数之一,并且对于所有当前支持的模式,默认值为0。
虽然在一些实施例中,应用有可能在内部实现描绘逻辑,但在本发明的其它实施例中,此功能被委托给软件开发工具包(Software Development Kit, SDK)和应用库272,如图3中所示。在此情形中,包含描绘(和由LLVA加速的其它)函数的实际实现方式的库将调用去到LLVA驱动器280的视觉加速器硬件抽象层接口282。根据本发明的一个实施例,用于LLVA驱动器的主接口函数是:
int setVisualAccelerator(cfg)
-其中cfg将包含对硬件加速的请求。
请求或“加速请求”(“cfg”)封装关于加速的配置信息。加速请求例如包括(逻辑)描绘参数(例如,线条的像素格式、描绘区域、类型、颜色和/ 或宽度);触摸相关参数(例如,触摸事件历史的持续时间、触摸事件的类型和ID、压力的使用和/或应用的ID)。LLVA驱动器280将接受该请求并且向应用库272返回唯一整数视觉加速器ID(或VAID),该ID可在以后当应用被关闭时或者当不再期望加速时用于取消对加速的特定请求。
LLVA驱动器280维护请求列表284中的所有加速请求283。当应用270 创建、更新或删除LLVA驱动器280中的加速请求时(例如,经由视觉加速器API 274和LLVA使能SDK 272),加速请求283在请求列表284中被添加、更新或删除。
LLVA驱动器还包括画布管理器286,画布管理器286具有通过在操作系统260的窗口管理器262中注册侦听器(listener)来解析窗口几何结构、朝向、变焦和显示器上的焦点的逻辑,其中窗口管理器262是控制图形用户界面中的窗口的布局和外观并且向画布管理器286提供窗口布置数据(例如,各种应用270的窗口的位置和可见性)的系统软件。
LLVA驱动器还包括逻辑288,该逻辑288被配置为:为LLVA硬件310 设定活动配置;创建、更新和删除请求列表284中的加速请求283;为在列表284中具有视觉加速请求283的所有应用向OS窗口管理器262注册侦听器;以及通过利用来自画布管理器286和窗口管理器262的信息将进行遮蔽的窗口作为因素纳入并且将变焦和朝向考虑在内,来为请求283计算活动屏幕区域,这将在下面更详细地描述。
基于从窗口管理器262和画布管理器286接收的关于当前活动应用的信息和活动屏幕区域信息,该逻辑从请求列表284中识别匹配请求283并且将来自匹配请求283的配置参数312经由视觉加速器硬件接口289提供给LLVA 硬件310。也可向LLVA 310提供额外的覆盖数据314。LLVA 310随后依据配置参数312和接收到的触摸事件304将覆盖数据314与视频图像316相组合以生成被作为驱动信号320提供给显示面板322的组合图像。
图4是图示出根据本发明的一个实施例的LLVA驱动器280的操作400 的流程图。LLVA驱动器280响应两种类型(或种类)的事件:应用事件402 和窗口事件452。应用事件402指的是创建、删除和改变描绘应用的行为的事件。行为变化包括用于描绘的颜色或线条宽度的变化、修改线条样式和类似的动作等等。窗口事件452指的是窗口布置的变化(诸如改变活动窗口、对窗口进行移动、大小调整和/或旋转,或者类似的动作)。应用事件402被应用270及其库272报告给LLVA驱动器280。窗口事件452被由LLVA驱动器280在创建新请求后向窗口管理器262注册的侦听器报告给LLVA驱动器 280。
当接收到应用事件402时,LLVA驱动器逻辑288在操作404中判定该事件是否要求加速。如果否,则不需要再做什么,并且该过程结束。如果需要加速,则在操作406中,判定该事件是否是导致应用的行为的创建、删除或者变化的事件。例如,如果该事件要求创建新请求,则在操作408中,包含参数(例如,线条样式、颜色、压力灵敏度等等)的请求被创建并添加到请求列表284。或者,如果该事件要求对请求的更新(例如,改变线条的外观),则在操作410中,从请求列表284中识别该请求并更新该请求。
当创建新请求或者更新现有请求时,流程继续进行操作414,在该操作中逻辑288判定该请求是否是活动的(例如,作出请求的应用270是否具有焦点以及作出请求的应用270的哪些部分在显示器上可见)。如果否,则不需要再做什么,并且该过程结束。如果该请求是活动的,则在操作420中,更新活动请求参数,并且在操作422中,通过向LLVA 310发送这些参数来配置 LLVA,使得可在屏幕的适当部分中对于作出请求的应用270执行视觉加速。
如果应用事件引起了对请求的删除,则在操作412中,从请求列表284 中去除所识别的请求,并且在操作416中,逻辑288判定删除的请求是否是活动的。如果请求不是活动的,则过程结束。如果请求是活动的,则在操作 418中,如果可适用,则选择来自请求列表284的新请求。在选择新请求之后,在操作420中设定参数,并且如上所述配置LLVA 310,并且该过程结束。
仍参考图4,当接收到窗口事件452时,在操作454中由画布管理器286 处理该窗口事件以基于窗口布置的变化来判定各种应用的哪些部分是可见的 (“活动屏幕区域”)。
活动屏幕区域依据活动窗口的哪些部分可见可采取多种形状中的任何一种。例如,如果整个活动窗口都是可见的,则活动屏幕区域可以是覆盖屏幕的一大部分的矩形。如果活动窗口的任何一个角被另一窗口所阻挡,则活动屏幕区域可以是“L”形的。如果进行阻挡的窗口被完全包含在活动窗口内,则活动屏幕区域可包括孔洞。此外,如果在活动窗口之上有多个进行阻挡的窗口,则活动屏幕区域可具有更复杂的形状。
另外,在许多应用中,活动描绘区域可以只包含应用内的逻辑描绘区域,因为应用窗口的一些部分可能被用户界面元素(诸如标题栏、图形、画笔配置设定、调色板等等)所遮盖,和/或因为在应用内可能有其它不应当受到加速的非活动窗口(例如,其它文档窗口)。
在操作456中,逻辑288判定焦点是否改变了(例如,是否有不同的应用270现在是活动的)。如果是,则从请求列表284中选择与活动应用相对应的新请求——假定当前活动应用270注册了这样的请求。如果焦点没有变化,则不需要选择新请求。无论焦点改变与否,流程随后继续在操作420中设定参数并且如上所述配置LLVA 310,并且该过程随后结束。
在基于从LLVA驱动器280提供的参数配置了LLVA 310的情况下,LLVA 310可依据从触摸控制器200接收的触摸事件304来将覆盖数据与从AP 202 接收的视频图像316相组合。例如,当在屏幕上描绘弯曲的线条时,LLVA 310 可依据参数(例如,特定颜色、宽度和/或样式的参数)生成覆盖数据并且在组合图像的与触摸事件的位置相对应的部分中输出覆盖数据而不是视频图像 316。此外,参数可包括压力设定,其提供了从在每个触摸点处检测到的压力到要描绘的线条的宽度的函数或其它映射。例如,压力设定可将每个触摸点处的压力乘以比例因子,使得更高压力的点对应于更宽的线条,而更轻压力的点对应于更窄的线条。压力设定也可以是一不同的数学函数(诸如多项式),使得线条的宽度相对于在每个触摸事件处检测到的压力以不同的方式改变。
在本发明的其它实施例中,LLVA 310以非线条的形状提供加速的反馈。例如,在一个实施例中,LLVA 310可描绘具有与最新触摸事件的位置相对应的一个角的矩形,使得以减小的滞后在屏幕上迅速描绘选择框。另外,在本发明的一些实施例中,选择框的内部可将下层视频图像的像素示出为被选择框内的像素的过滤器所修改(例如,改变颜色、饱和度或亮度)。另外,在本发明的一些实施例中,LLVA 310可使用作为图像或其它视觉元素提供的覆盖数据314来在下层视频数据上描绘。
虽然已联系某些示范性实施例描述了本发明,但要理解本发明不限于公开的实施例,而是相反,意图涵盖包括在权利要求及其等同物的精神和范围内的各种修改和等同布置。
Claims (20)
1.一种触摸显示系统,包括:
显示面板;
触摸面板;
耦合到所述触摸面板和所述显示面板的应用处理器;
视觉加速器,其依据来自所述触摸面板的触摸事件和来自所述应用处理器的用于控制视觉反馈的外观的配置参数将来自所述应用处理器的视频图像与覆盖数据相组合以生成组合图像并将所述组合图像提供给所述显示面板;以及
耦合到所述应用处理器的存储器,该存储器存储:
包括一个或多个加速请求的请求列表;以及
指令,所述指令当被所述应用处理器执行时使得所述应用处理器执行设备驱动器来:
识别所述请求列表的所述一个或多个加速请求之中的活动加速请求,该活动加速请求与由所述应用处理器执行的应用相关联;
依据来自由所述应用处理器执行的窗口管理器的窗口布置数据确定所述显示面板的活动屏幕区域;
依据所述活动加速请求和所述活动屏幕区域生成所述配置参数;以及
将所述配置参数发送到所述视觉加速器。
2.如权利要求1所述的系统,其中,所述组合图像包括与所述触摸事件相对应的线条。
3.如权利要求2所述的系统,其中,所述配置参数包括颜色、宽度、逻辑描绘区域和/或压力设定,并且
其中,所述视觉加速器被配置为依据所述配置参数来生成所述线条。
4.如权利要求1所述的系统,其中,所述指令还使得所述应用处理器执行所述设备驱动器来进一步进行以下操作:
从所述窗口管理器接收窗口事件;以及
处理所述窗口事件以确定所述活动屏幕区域。
5.如权利要求4所述的系统,其中,所述窗口事件包括窗口平移、窗口缩放、窗口旋转和/或窗口焦点变化。
6.如权利要求5所述的系统,其中,所述窗口事件包括焦点变化,并且其中,所述设备驱动器还被配置为从所述请求列表的所述一个或多个加速请求中识别所述活动加速请求。
7.如权利要求1所述的系统,其中,所述指令还使得所述应用处理器执行所述设备驱动器来进一步进行以下操作:
基于从由所述应用处理器执行的应用接收的参数来创建新的加速请求;以及
将所述新的加速请求存储在所述请求列表中。
8.如权利要求1所述的系统,其中,所述指令还使得所述应用处理器执行所述设备驱动器来进一步基于由所述应用提供的参数来更新所述请求列表的所述一个或多个加速请求之中的加速请求。
9.如权利要求1所述的系统,其中,所述指令还使得所述应用处理器执行所述设备驱动器来进一步进行以下操作:
从所述请求列表中删除所述一个或多个加速请求之中的加速请求。
10.如权利要求9所述的系统,其中,所述指令还使得所述应用处理器执行所述设备驱动器来进一步从所述请求列表中识别所述加速请求之中的与从所述请求列表中删除的加速请求不同的另一加速请求。
11.一种用于控制系统中的视觉加速器的方法,该系统包括:显示面板;触摸面板;耦合到所述触摸面板和所述显示面板的应用处理器;存储包括一个或多个加速请求的请求列表的存储器;以及视觉加速器,所述视觉加速器依据来自所述触摸面板的触摸事件和来自所述应用处理器的用于控制视觉反馈的外观的配置参数来将来自所述应用处理器的视频图像与覆盖数据相组合以生成组合图像并将所述组合图像提供给所述显示面板,所述方法包括:
由所述应用处理器识别所述请求列表的所述一个或多个加速请求之中的活动加速请求,该活动加速请求与由所述应用处理器执行的应用相关联;
由所述应用处理器依据来自由所述应用处理器执行的窗口管理器的窗口布置数据确定所述显示面板的活动屏幕区域;
由所述应用处理器依据所述活动加速请求和所述活动屏幕区域生成所述配置参数;以及
由所述应用处理器将所述配置参数发送到所述视觉加速器。
12.如权利要求11所述的方法,其中,所述组合图像包括与所述触摸事件相对应的线条。
13.如权利要求12所述的方法,其中,所述配置参数包括颜色、宽度、逻辑描绘区域和/或压力设定,并且
其中,所述视觉加速器被配置为依据所述配置参数来生成所述线条。
14.如权利要求11所述的方法,还包括:
从所述窗口管理器接收窗口事件;以及
处理所述窗口事件以确定所述活动屏幕区域。
15.如权利要求14所述的方法,其中,所述窗口事件包括窗口平移、窗口缩放、窗口旋转和/或窗口焦点变化。
16.如权利要求15所述的方法,其中,所述窗口事件包括焦点变化,所述方法还包括:
从所述请求列表的所述一个或多个加速请求中识别所述活动加速请求。
17.如权利要求11所述的方法,还包括:
基于从由所述应用处理器执行的应用接收的参数来创建新的加速请求;以及
将所述新的加速请求存储在所述请求列表中。
18.如权利要求11所述的方法,还包括基于由所述应用提供的参数来更新所述加速请求之中的加速请求。
19.如权利要求11所述的方法,还包括从所述请求列表中删除所述一个或多个加速请求之中的加速请求。
20.如权利要求19所述的方法,还包括从所述请求列表中识别所述加速请求之中的与从所述请求列表中删除的加速请求不同的另一加速请求。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461933794P | 2014-01-30 | 2014-01-30 | |
US61/933,794 | 2014-01-30 | ||
US14/601,139 US10156976B2 (en) | 2014-01-30 | 2015-01-20 | System and method in managing low-latency direct control feedback |
US14/601,139 | 2015-01-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104820489A CN104820489A (zh) | 2015-08-05 |
CN104820489B true CN104820489B (zh) | 2019-09-17 |
Family
ID=52444134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510049865.1A Active CN104820489B (zh) | 2014-01-30 | 2015-01-30 | 管理低延时的直接控制反馈的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10156976B2 (zh) |
EP (1) | EP2902898B1 (zh) |
CN (1) | CN104820489B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019505045A (ja) * | 2016-02-02 | 2019-02-21 | タクチュアル ラブズ シーオー. | レイテンシを最小化するために入力検知、レンダリング、および表示の時間を測定するためのシステムおよびその方法 |
KR20210137710A (ko) | 2020-05-11 | 2021-11-18 | 삼성전자주식회사 | 빠른 터치 반응성을 가지는 터치 및 디스플레이 제어 장치, 이를 포함하는 디스플레이 장치 및 이의 구동 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101313270A (zh) * | 2005-10-11 | 2008-11-26 | 泽蒙特有限公司 | 人机接口输入加速系统 |
CN101464754A (zh) * | 2008-12-19 | 2009-06-24 | 卫明 | 任何平面四边无附加设备实现多点触控的定位方法和装置 |
CN102508581A (zh) * | 2011-11-30 | 2012-06-20 | 无锡海森诺科技有限公司 | 光学触摸手写延时解决方法 |
US9384523B1 (en) * | 2013-07-30 | 2016-07-05 | Google Inc. | Method for reducing input latency on GPU accelerated devices and applications |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100590686B1 (ko) | 2004-07-15 | 2006-06-19 | 에스케이 텔레콤주식회사 | 이동통신 단말기에서 3d 관련 데이터를 표시하기 위한그래픽 가속기 제어 방법 |
US20090184972A1 (en) | 2008-01-18 | 2009-07-23 | Qualcomm Incorporated | Multi-buffer support for off-screen surfaces in a graphics processing system |
US8203527B2 (en) | 2009-04-24 | 2012-06-19 | Seiko Epson Corporation | Minimizing pen stroke capture latency |
CN102414649B (zh) * | 2009-04-30 | 2015-05-20 | 辛纳普蒂克斯公司 | 按照多个规则集合来操作触摸屏控制系统 |
US9189147B2 (en) | 2010-06-22 | 2015-11-17 | Microsoft Technology Licensing, Llc | Ink lag compensation techniques |
EP2620857A1 (en) | 2012-01-27 | 2013-07-31 | Research In Motion Limited | Touch-sensitive display and method of controlling a touch-sensitive display |
US9612739B2 (en) * | 2012-02-02 | 2017-04-04 | Microsoft Technology Licensing, Llc | Low-latency touch-input device |
KR101356368B1 (ko) * | 2012-02-24 | 2014-01-29 | 주식회사 팬택 | 어플리케이션 전환 장치 및 방법 |
KR101984154B1 (ko) * | 2012-07-16 | 2019-05-30 | 삼성전자 주식회사 | 터치 및 제스처 입력을 이용한 단말의 제어 방법 및 그 단말 |
US9507500B2 (en) * | 2012-10-05 | 2016-11-29 | Tactual Labs Co. | Hybrid systems and methods for low-latency user input processing and feedback |
US9158452B2 (en) * | 2012-12-27 | 2015-10-13 | Nvidia Corporation | Early drawing system and method to improve touch screen response |
US9383840B2 (en) | 2013-04-22 | 2016-07-05 | Samsung Display Co., Ltd. | Method and apparatus to reduce display lag using image overlay |
-
2015
- 2015-01-20 US US14/601,139 patent/US10156976B2/en active Active
- 2015-01-26 EP EP15152494.9A patent/EP2902898B1/en active Active
- 2015-01-30 CN CN201510049865.1A patent/CN104820489B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101313270A (zh) * | 2005-10-11 | 2008-11-26 | 泽蒙特有限公司 | 人机接口输入加速系统 |
CN101464754A (zh) * | 2008-12-19 | 2009-06-24 | 卫明 | 任何平面四边无附加设备实现多点触控的定位方法和装置 |
CN102508581A (zh) * | 2011-11-30 | 2012-06-20 | 无锡海森诺科技有限公司 | 光学触摸手写延时解决方法 |
US9384523B1 (en) * | 2013-07-30 | 2016-07-05 | Google Inc. | Method for reducing input latency on GPU accelerated devices and applications |
Also Published As
Publication number | Publication date |
---|---|
US10156976B2 (en) | 2018-12-18 |
CN104820489A (zh) | 2015-08-05 |
EP2902898B1 (en) | 2018-07-11 |
EP2902898A1 (en) | 2015-08-05 |
US20150212685A1 (en) | 2015-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6659644B2 (ja) | 応用素子の代替的グラフィック表示の事前の生成による入力に対する低レイテンシの視覚的応答およびグラフィック処理ユニットの入力処理 | |
TWI611354B (zh) | 使用圖像重疊減少顯示延遲的系統及方法,以及用於提供回應顯示裝置上所畫路徑之回饋的加速器 | |
US10133396B2 (en) | Virtual input device using second touch-enabled display | |
US9965039B2 (en) | Device and method for displaying user interface of virtual input device based on motion recognition | |
JP6038898B2 (ja) | エッジ・ジェスチャー | |
TWI528266B (zh) | 電子裝置及螢幕內容分享方法 | |
US20140223490A1 (en) | Apparatus and method for intuitive user interaction between multiple devices | |
KR102205283B1 (ko) | 적어도 하나의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법 | |
US9830014B2 (en) | Reducing control response latency with defined cross-control behavior | |
JP2023552659A (ja) | インターフェース表示状態の調整方法及び装置、デバイス、記憶媒体 | |
CN116430990A (zh) | 虚拟环境中的交互方法、装置、设备和存储介质 | |
CN104820489B (zh) | 管理低延时的直接控制反馈的系统和方法 | |
US10222866B2 (en) | Information processing method and electronic device | |
US20210064229A1 (en) | Control method of user interface and electronic device | |
KR102480568B1 (ko) | 동작인식을 기반으로 하는 가상 입력장치의 사용자 인터페이스(ui)를 표시하는 장치 및 방법 | |
JP5918902B2 (ja) | グラフィカルユーザインターフェースの領域をそれぞれ描画する入力レンズを含むリモート表示エリア | |
WO2020087504A1 (zh) | 基于截屏的交互方法、电子设备及计算机可读存储介质 | |
WO2017016333A1 (zh) | 一种屏幕调整方法及装置 | |
EP2722745A1 (en) | A method for operating a gesture-controlled graphical user interface | |
CN112799759A (zh) | 一种参数调节方法、智能终端及计算机可读存储介质 | |
CN115469786A (zh) | 显示设备及绘画对象选择方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |