CN105700733A - 低延迟着墨 - Google Patents

低延迟着墨 Download PDF

Info

Publication number
CN105700733A
CN105700733A CN201510892737.3A CN201510892737A CN105700733A CN 105700733 A CN105700733 A CN 105700733A CN 201510892737 A CN201510892737 A CN 201510892737A CN 105700733 A CN105700733 A CN 105700733A
Authority
CN
China
Prior art keywords
data
trace
display
engine
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.)
Granted
Application number
CN201510892737.3A
Other languages
English (en)
Other versions
CN105700733B (zh
Inventor
P.沃尔富克
J.卢肯奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Corporate Clubs And Crowns
Original Assignee
Synaptics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Synaptics Inc filed Critical Synaptics Inc
Publication of CN105700733A publication Critical patent/CN105700733A/zh
Application granted granted Critical
Publication of CN105700733B publication Critical patent/CN105700733B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

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)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

低延迟着墨。本公开一般提供包括用于改进触摸控制器和显示驱动器之间的延迟的旁通路径的输入装置。在一个实施例中,旁通路径直接连接触摸控制器和显示驱动器,从而旁通输入装置中的主处理器(例如中央处理单元(CPU)或图形处理单元(GPU))。通过这样做,输入装置可以检测用户输入,并且相比于在显示驱动器必须等待直到所更新显示帧从主处理器发送的情况下,更快地更新显示器来反映用户输入。例如,主处理器可以传送从触摸控制器接收的触摸数据到使用触摸数据来改变显示器的应用。在一些输入装置中,这个过程花费数百毫秒,其可能是足够用户注意到延迟的时间。

Description

低延迟着墨
技术领域
本发明的实施例一般涉及电子装置,并且更具体地,涉及基于触摸事件的低延迟显示更新。
背景技术
包括接近传感器装置(例如触摸垫或触摸传感器装置)的输入装置广泛应用于多种电子系统中。接近传感器装置典型地包括通常由表面区分的感测区,在其中接近传感器装置确定一个或多个输入对象的存在、位置和/或运动。接近传感器装置可用于为电子系统提供接口。例如,接近传感器装置通常用作较大计算系统的输入装置(诸如集成在或外设于笔记本或桌上型电脑的不透明触摸垫)。接近传感器装置也经常用于较小计算系统中(诸如集成在蜂窝电话中的触摸屏)。
发明内容
本文描述的一个实施例包括用于在显示器上显示所修正显示帧数据的处理系统。该处理系统包括触摸控制器,其配置成检测感测区内的输入对象以及作为响应,传送触摸数据到主处理器以及到覆盖引擎。覆盖引擎配置成接收第一显示帧以及以基于所接收触摸数据的临时图像数据来修正第一显示帧。该处理系统包括显示驱动器,其配置成准备所修正显示帧数据用于向显示器输出。
本文描述的另一个实施例是方法,其包括检测感测区内的输入对象以及响应于检测到输入对象传送触摸数据到主处理器以及到覆盖引擎。该方法包括在覆盖引擎处接收第一显示帧以及使用覆盖引擎,以基于触摸数据的临时图像数据修正第一显示帧。该方法包括准备所修正显示帧数据用于向显示器输出。
本文描述的另一个实施例是处理系统,其包括配置成检测感测区内的输入对象以及作为响应,传送触摸数据到主处理器以及到覆盖引擎的触摸控制器。覆盖引擎配置成从主处理器接收显示帧以及以基于所接收触摸数据的所储存动作更新显示帧,其中,当被显示时,所储存动作修正显示帧中的像素数据。处理系统包括显示驱动器,其配置成准备所更新显示帧数据用于向显示器输出。
附图说明
为了使本发明的上述特征能够以详细的方式来理解,通过参考实施例作出在上面简要总结的、本公开的更具体的描述,其中一些实施例在附图中例示。但要注意,由于本公开可容许其他相等地有效的实施例,这些附图仅例示本公开的典型实施例并且不应因此被认为对其范围的限定。
图1是依照本发明实施例的、包括输入装置的示例系统的框图。
图2A例示在依照本发明实施例的高延迟系统中显示踪迹。
图2B例示在依照本发明实施例的低延迟系统中显示踪迹。
图3A和3B例示在依照本发明实施例的低延迟输入装置中滚动文档。
图4是依照本发明实施例的、用于显示覆盖从主处理器接收的像素数据的临时踪迹数据的方法。
图5是依照本发明实施例的、包括触摸控制器和覆盖引擎之间的旁通路径的示例系统的框图。
为促进理解,已尽可能使用同样的参考标号来标明对附图而言是共同的同样元件。应预期到,在一个实施例中公开的元件可不经明确的叙述、而在其他实施例中可获益地使用。这里所指的附图不应被理解为按比例绘制,除非特别说明。同样,通常简化附图,并且省略细节或元件以便陈述和解释的清楚。附图及讨论服务于解释下面讨论的原理,其中类似的标注表示类似的元件。
具体实施方式
下列详细描述本质上仅仅是示范性的,并不意图限制本公开或本公开的应用和使用。而且,不存在由在先技术领域、背景技术、发明内容或下面具体实施方式中提出的、任何表达的或暗示的理论所约束的意图。
本发明各种实施例提供输入装置,其包括用于改进延迟的、在触摸控制器和显示驱动器之间的旁通路径。在一个实施例中,旁通路径将触摸控制器耦合到覆盖引擎,从而旁通输入装置中的主处理器(例如中央处理单元(CPU)或图形处理单元(GPU))。覆盖引擎可以包括在显示驱动器内。然而,在其他实施例中,覆盖引擎可以在别处同时仍然允许触摸数据被传送到覆盖引擎,而没有首先由负责运行主操作系统的主处理器处理。通过这样做,与在显示驱动器或覆盖引擎等待直到所更新显示数据从主处理器被发送的情况下相比,输入装置可以更快地检测用户输入并更新显示器来反映用户输入。例如,主处理器可以传送从触摸控制器接收的触摸数据到在输出所更新显示数据之前使用触摸数据来改变显示的应用。没有触摸控制器和覆盖引擎之间的旁通路径,输入装置必须等待应用处理触摸数据、生成图形数据、将图形数据发送到主处理器,并且随后等待主处理器将所更新帧数据发送到显示驱动器。在一些输入装置中,这个过程会花费50-100毫秒或多更,其会是足够用户注意到延迟的时间。
在一个实施例中,显示驱动器包括覆盖引擎,其接收并处理从触摸控制器接收的触摸数据。在其他实施例中,覆盖引擎可以与显示驱动器分开实现。基于触摸数据中的信息,覆盖引擎确定是否以例示预定义动作或特征的像素数据来覆盖(或代替,或以其他方式修正)从主处理器接收的显示帧的像素数据。例如,触摸数据可以表示感测区中诸如手指或触控笔的输入对象所在的位置。基于这个位置数据,覆盖引擎可以覆盖从主处理器接收的显示数据上的像素RGB颜色数据。覆盖像素数据可以包括代替从主处理器接收的显示数据的一个或多个像素和/或修正从主处理器接收的显示数据的一个或多个像素。在一个示例中,覆盖引擎输出追踪感测区内输入装置的运动的踪迹。由于延迟,主处理器可能不能追踪输入对象使得踪迹位于或靠近感测区内输入装置的当前位置。然而,通过使用旁通路径,覆盖引擎不需要依赖处理系统来发送包括踪迹的所更新显示信息。替代地,覆盖引擎在从主处理器接收的当前显示帧上覆盖低延迟踪迹,低延迟踪迹更好地追踪输入装置的运动。在覆盖引擎修正从主处理器接收的显示数据后,覆盖引擎可以输出所修正显示数据到显示驱动器用于输出。
在一个实施例中,主处理器启动或停用覆盖引擎并提供预定义特征或动作的特征。例如,当执行踪迹功能,主处理器可以向覆盖引擎发送将要被输出到显示器上的踪迹的宽度或颜色、以及潜在地发送指令来使能或禁能低延迟追踪。这些特征可以根据用户选择而变化。例如,用户可以在图形应用中选择用户是否想要以模拟颜料刷、铅笔、钢笔等的踪迹来绘画。这些不同踪迹中的每一个可以具有不同的宽度、颜色、模拟墨水或颜料在纸上或画布上散布的方式的扩散速度等。通过向覆盖引擎提供这些特征,可以定制所覆盖低延迟踪迹像素来匹配或大体上匹配从主处理器接收的显示帧数据中的踪迹数据。当用户不再希望使用踪迹功能时,主处理器可以停用覆盖引擎。在其他实施例中,覆盖引擎可以意识到覆盖低延迟踪迹不再适合,因为没有踪迹由主处理器绘制。
现在转向附图,图1是依照本发明实施例的、示例输入装置100的框图。输入装置100可配置成向电子系统(未示出)提供输入。如本文档所使用的,术语“电子系统”(或“电子装置”)广义地指能够电子地处理信息的任何系统。电子系统的一些非限制性示例包括所有大小和形状的个人计算机,诸如桌上型电脑、膝上型电脑、上网本电脑、平板电脑、网络浏览器、电子书阅读器和个人数字助理(PDA)。另外的示例电子系统包括复合型输入装置,诸如包括输入装置100和独立操纵杆或按键开关的物理键盘。进一步的示例电子系统包括诸如数据输入装置(包括遥控器和鼠标)和数据输出装置(包括显示屏幕和打印机)之类的外围设备。其他示例包括远程终端、信息亭、以及视频游戏机(例如,视频游戏控制台、便携式游戏装置等)。其他示例包括通信装置(包括诸如智能电话之类的蜂窝电话)和媒体装置(包括录音机、编辑器和诸如电视机的播放器、机顶盒、音乐播放器、数码相框和数码相机)。另外,电子系统可以是输入装置的主机或从机。
输入装置100能够实现为电子系统的物理部件,或能够与电子系统物理地分离。视情况而定,输入装置100可使用下列项的任一个或多个与电子系统的部件通信:总线、网络以及其他有线或无线互连。示例包括I2C、SPI、PS/2、通用串行总线(USB)、蓝牙、RF以及IRDA。
在图1中,输入装置100示出为接近传感器装置(也通常被称为“触摸垫”或“触摸传感器装置”),其配置成感测由一个或多个输入对象140在感测区120中提供的输入。示例输入对象包括如图1所示的手指和触控笔。
感测区120包含在输入装置100之上、周围、之中和/或附近的任何空间,在其中输入装置100能够检测用户输入(例如,由一个或多个输入对象140提供的用户输入)。特定感测区的尺寸、形状和位置可以逐个实施例极大地改变。在一些实施例中,感测区120从输入装置100的表面沿一个或多个方向延伸到空间中,直至信噪比阻止充分准确的对象检测。这个感测区120沿特定方向延伸的距离,在各种实施例中,可以大约少于一毫米、数毫米、数厘米、或更多,而且可随所使用的感测技术的类型和期望的精度而显著变化。因此,一些实施例感测输入,其中包括与输入装置100任何表面无接触、与输入装置100的输入表面(例如触摸表面)接触、与耦合一定量外加力或压力的输入装置100的输入表面接触、和/或它们的组合。在各种实施例中,输入表面可由传感器电极位于其中的壳体的表面来提供,由应用在传感器电极或任何壳体之上的面板来提供等。在一些实施例中,感测区120在投射到输入装置100的输入表面上时具有矩形形状。
输入装置100可使用传感器组件和感测技术的任何组合来检测感测区120中的用户输入。输入装置100包括用于检测用户输入的一个或多个感测元件。作为几个非限定性示例,输入装置100可使用电容性、倒介电、电阻性、电感性、磁、声、超声、和/或光技术。
一些实现配置成提供跨越一维、二维、三维或更高维空间的图像。一些实现配置成提供沿特定轴或平面的输入的投影。
在输入装置100的一些电阻性实现中,柔性且导电的第一层通过一个或多个间隔元件与导电的第二层分离。在操作期间,一个或多个电压梯度跨多层产生。按压柔性的第一层可使其充分弯曲而产生多层之间的电接触,导致反映多层间接触的点的电压输出。这些电压输出可用于确定位置信息。
在输入装置100的一些电感性实现中,一个或多个感测元件获得谐振线圈或线圈对引起的环路电流。电流的量值、相位和频率的某种组合可用于确定位置信息。
在输入装置100的一些电容性实现中,电压或电流被施加来产生电场。附近的输入对象导致电场的变化,并且产生电容性耦合的可检测变化,其可作为电压、电流等的变化而被检测。
一些电容性实现使用电容性感测元件的阵列或其他规则或不规则的图案来产生电场。在一些电容性实现中,独立感测元件可欧姆地短接在一起以形成更大的传感器电极。一些电容性实现利用电阻片,其可以是电阻均匀的。
一些电容性实现利用基于传感器电极与输入对象之间的电容性耦合的变化的“自电容”(或“绝对电容”)感测方法。在各种实施例中,传感器电极附近的输入对象改变传感器电极附近的电场,从而改变量得的电容性耦合。在一个实现中,绝对电容感测方法通过相对于基准电压(例如,系统地)调制传感器电极,以及通过检测传感器电极与输入对象之间的电容性耦合,来进行操作。
一些电容性实现利用基于传感器电极之间的电容性耦合的变化的“互电容”(或“跨电容”)感测方法。在各种实施例中,传感器电极附近的输入对象改变传感器电极之间的电场,从而改变量得的电容性耦合。在一个实现中,跨电容性感测方法通过检测在一个或多个发射器传感器电极(也称为“发射器电极”或“发射器”)和一个或多个接收器传感器电极(也称为“接收器电极”或“接收器”)之间的电容性耦合,来进行操作。发射器传感器电极可相对于基准电压(例如,系统地)来调制以传送发射器信号。接收器传感器电极可相对于基准电压保持大体恒定以促进结果信号的接收。结果信号可包括对应于一个或多个发射器信号和/或对应于一个或多个环境干扰源(例如其他电磁信号)的影响。传感器电极可为专用的发射器或接收器,或者传感器电极可配置成既传送又接收。
在图1中,处理系统110示出为输入装置100的部件。处理系统110配置成操作输入装置100的硬件来检测感测区120中的输入。处理系统110包括一个或多个集成电路(IC)和/或其他电路组件的部分或全部。例如,用于互电容传感器装置的处理系统可包括配置成以发射器传感器电极来传送信号的发射器电路,和/或配置成以接收器传感器电极来接收信号的接收器电路。在一些实施例中,处理系统110还包括电子可读指令,诸如固件代码、软件代码等。在一些实施例中,组成处理系统110的组件定位在一起,诸如在输入装置100的感测元件附近。在其他实施例中,处理系统110的组件在物理上是独立的,其中一个或多个组件靠近输入装置100的感测元件,而一个或多个组件在别处。例如,输入装置100可为耦合到桌上型电脑的外设,并且处理系统110可包括配置成在桌上型电脑的中央处理单元上运行的软件以及与该中央处理单元分离的一个或多个IC(或许具有关联的固件)。作为另一示例,输入装置100可物理地集成在电话中,并且处理系统110可包括作为该电话的主处理器的一部分的电路和固件。在一些实施例中,处理系统110专用于实现输入装置100。在其他实施例中,处理系统110也执行其他功能,诸如操作显示屏、驱动触觉制动器等。
处理系统110可实现为处理处理系统110的不同功能的一组模块。每一模块可包括作为处理系统110的一部分的电路、固件、软件或它们的组合。在各种实施例中,可使用模块的不同组合。示例模块包括用于操作诸如传感器电极和显示屏之类硬件的硬件操作模块,用于处理诸如传感器信号和位置信息之类数据的数据处理模块,以及用于报告信息的报告模块。另外的示例模块包括传感器操作模块,其配置成操作感测元件来检测输入;识别模块,其配置成识别诸如模式变更手势之类的手势;以及模式变更模块,其用于变更操作模式。
在一些实施例中,处理系统110直接通过引起一个或多个动作来响应在感测区120中的用户输入(或没有用户输入)。示例动作包括变更操作模式,以及诸如光标移动、选择、菜单导航和其他功能的GUI动作。在一些实施例中,处理系统110向电子系统的某个部件(例如,向与处理系统110分离的电子系统的中央处理系统,如果这样一个独立的中央处理系统存在的话)提供关于输入(或没有输入)的信息。在一些实施例中,电子系统的某个部件处理从处理系统110接收的信息以按用户输入进行动作,以致促进全范围的动作,包括模式变更动作和GUI动作。
例如,在一些实施例中,处理系统110操作输入装置100的感测元件来产生指示感测区120中输入(或没有输入)的电信号。处理系统110在产生提供给电子系统的信息中,可对该电信号执行任何适量的处理。例如,处理系统110可对从传感器电极获得的模拟电信号进行数字化。作为另一示例,处理系统110可执行滤波或其他信号调节。作为又一示例,处理系统110可减去或以其他方式计及基线,以使得信息反映电信号和基线之间的差异。作为另一些示例,处理系统110可确定位置信息,将输入识别为命令,识别笔迹等。
本文使用的“位置信息”广义地包含绝对位置、相对位置、速度、加速度和其他类型的空间信息。示例性的“零维”位置信息包括近/远或接触/非接触信息。示例性的“一维”位置信息包括沿轴的位置。示例性的“二维”位置信息包括在平面中的运动。示例性的“三维”位置信息包括在空间中的瞬时或平均速度。进一步的示例包括空间信息的其他表示。也可确定和/或存储关于一种或多种类型位置信息的历史数据,包括,例如随时间追踪位置、运动、或瞬时速度的历史数据。
在一些实施例中,输入装置100采用由处理系统110或由某个其他处理系统操作的附加输入组件来实现。这些附加输入组件可为感测区120中的输入提供冗余的功能性,或某个其他功能性。图1示出感测区120附近的按钮130,其能够用于促进使用输入装置100的项目的选择。其他类型的附加输入组件包括滑块、球、轮、开关等。相反地,在一些实施例中,输入装置100可在没有其他输入组件的情况下实现。
一些实施例中,输入装置100包括触摸屏界面,并且感测区120与显示屏的有源区的至少一部分重叠。例如,输入装置100可包括覆盖该显示屏的、大体透明的感测元件,以及为关联的电子系统提供触摸屏界面。该显示屏可以是能向用户显示可视界面的、任何类型的动态显示器,并可包括任何类型的发光二极管(LED)、有机LED(OLED)、阴极射线管(CRT)、液晶显示器(LCD)、等离子体、电致发光(EL),或其他显示技术。输入装置100和显示屏可共用物理元件。例如,一些实施例可将相同电组件的一些用于显示及感测。作为另一示例,显示屏可部分或整个地由处理系统110操作。
应理解,尽管本发明的许多实施例在完全功能设备的上下文中描述,本发明的机理能够作为采用多种形式的程序产品(例如软件)来被分配。例如,本发明的机理可作为电子处理器可读取的信息承载介质(例如,可由处理系统110读取的、非暂时性计算机可读和/或可记录/可写的信息承载介质)之上的软件程序来实现及分配。另外,无论用于执行分配的介质的特定类型,本发明的实施例同样地适用。非暂时性、电子可读介质的示例包括各种光盘、存储棒、存储卡、存储模块等。电子可读介质可基于闪速、光、磁、全息、或任何其他存储技术。
图2A例示在依照本发明实施例的高延迟输入装置中显示踪迹205。具体地,图2A例示显示屏200,其包括包括屏幕200的感测区。使用输入对象140(这里示出为触控笔),用户可以指示要在显示屏200上何处例示包括起点210和终点215的踪迹205。
在图2A所示的时间段中,输入对象140在点220接触(或悬浮在上方)显示屏200。假设输入对象140已在如点215示出的踪迹205的终点和如点220示出的其在显示屏200上当前位置之间移动。然而,由于延迟,踪迹205在点215结束。照这样,显示屏200并不显示输入对象140行进的最近的路径,其由虚线223示出。如上面提到的,显示驱动器等待从主处理器接收反映感测区内输入对象140的运动的所更新显示帧数据。
然而,为了计算所更新帧数据,显示驱动器可能必须等待触摸数据(其指示输入对象140相对于显示屏200的当前位置)被主处理器及一个或多个应用接收和处理。一旦应用确定更新对应于输入对象140当前位置的图形数据,这个数据被转送到主处理器(例如图形处理器),其生成要被显示在屏幕200上的显示帧。为了被显示在屏幕上,所生成显示帧被传送到显示驱动器。然而,这个过程可能花费50或更多毫秒来完成,其意味着用户可能注意到踪迹205的终点(即点215)不与输入对象140的当前位置(即点220)对应。另外,这个问题随着用户移动输入对象140的速率增加而被放大。换言之,随着用户更快地跨屏幕200移动输入对象140,踪迹205的终点和输入对象140的当前位置之间的分离距离增加。换言之,随着输入对象140移动更快,输入对象路径223的长度可能增加。换言之,随着输入对象140的运动速度增加,输入装置延迟会变得对用户更加可见。
图2B例示在依照本发明实施例的低延迟输入装置中显示踪迹。为了改进与例示在图2A中的输入装置相关的延迟,在图2B中,覆盖引擎被启动,其允许显示驱动器以降低的延迟来响应所更新触摸数据。换言之,图2A和2B可以表示相同输入装置,其中覆盖引擎被停用(在图2A的例子中),以及何时覆盖引擎被启动(在图2B的例子中)。尽管输入装置的细节将关于图4和5来更完全地论述,一般地,通过采用旁通路径将触摸数据直接转送到覆盖引擎而不是只将触摸数据发送到主处理器,输入装置的延迟会被改进。
在图2B中,临时踪迹225被附加到踪迹205上。换言之,代替在点215结束的踪迹205,屏幕200显示连续踪迹,其包括踪迹205和位于或接近输入对象140的接触点220的临时踪迹225。在一个实施例中,使用储存在从主处理器接收的显示帧中的像素数据来显示踪迹205,而使用覆盖引擎来显示临时踪迹225,其中覆盖引擎以所更新像素数据来覆盖(或代替)显示帧中的像素数据。换言之,显示驱动器改变在最近所接收显示帧中的像素数据来包括由覆盖引擎生成的所更新像素数据以用于显示临时踪迹225。通过使用覆盖引擎,延迟会显著降低(例如少于20毫秒,取决于显示刷新速率),使得,从用户的视角,临时踪迹225的终点对应于输入对象140在屏幕200中的位置。换言之,用户可能无法辨别在输入对象140的当前位置和临时踪迹225的终点之间存在任何分离距离。当采用覆盖引擎来降低延迟,仍有一定量的延迟,其可能引入临时踪迹225和当前输入对象位置220之间的间隙。此外,有意地或无意地,在临时踪迹225和踪迹205的外表中可能会有一些可见差异。例如,临时踪迹225可能具有,或许略微地,不同的特征,包括颜色和宽度。
随着用户继续移动输入对象140,覆盖引擎会继续基于所更新触摸数据来延伸踪迹225。此外,覆盖引擎会使用预定义时间窗来确定显示临时踪迹225的持续时间。在一个实施例中,用于继续显示临时踪迹225的时间窗与使主处理器发送所更新数据帧所需的延迟(例如100毫秒)同样长,或比其更长,使得踪迹205、225在屏幕200上连接。踪迹225的长度取决于用户移动输入对象140的速度而变化。随着用于临时踪迹225的部分的时间窗过期,显示驱动器停止使用来自覆盖引擎的像素数据,并替代地使用从主处理器接收的显示帧中的像素数据来使踪迹205更靠近输入对象140的实时位置延伸。换言之,在图2B的示例中,作为最旧的点,临时踪迹225最左边的点不再被显示,新显示帧延伸踪迹205最右边的端点使得踪迹仍然形成连续踪迹。换言之,多个显示帧可以以临时像素来修正,像素的每个在一时间段内修正所接收显示帧。当对于所给临时像素该时间段过去后,临时像素不再被显示,因为可预期显示帧将具有与那时的日期信息对应的像素。
在一些实施例中,显示驱动器可以分析从主处理器接收的显示帧数据并仅在来自主处理器的显示帧数据不包括踪迹205时输出临时踪迹225。在一些实施例中,临时图像的给定部分被添加至所接收显示帧的时间段是确定的。在一些例子中,基于主处理器根据在由操作系统和/或应用进行处理后的触摸数据生成显示帧数据所花费的时间来计算时间段。在其他实施例中,显示踪迹225的时间段可以是动态的。例如,覆盖引擎可以分析从主处理器接收的显示帧是否已开始包括指示临时图像是冗余的类似图像。因此,覆盖引擎可以不使用计时器来确定何时停止显示临时图像数据。此外,在一些例子中,何时停止显示临时图像数据的这个动态估量可以与计时器结合,该计时器限制覆盖引擎会显示临时图像数据的时间量,即使没有达成停止显示数据的其他情况。
在一个实施例中,踪迹225的特征可以大体与踪迹205的特征匹配。例如,踪迹205、225可以具有类似的宽度、颜色等,来生成单个连续踪迹的外观。备选地,踪迹205、225可以具有一个或多个不同的特征。例如,覆盖引擎可以生成像素数据,其例示踪迹225为“湿”踪迹,而从主处理器接收的显示帧中的像素数据例示踪迹205为“干”踪迹。湿踪迹225可以表示覆盖引擎使踪迹225作为时间函数在屏幕200上扩散。这个扩散可以模拟当施加到纸或画布时墨水或颜料的扩散。作为一个示例,接近输入对象140当前位置的踪迹225的部分可以具有比接近踪迹205的终点215的踪迹225的部分更小的宽度。当用户观看时,踪迹225在显示屏200中呈现扩散或延伸,直到踪迹205代替临时踪迹225的部分并且墨水或颜料“变干”—即,踪迹不再扩散。当然,扩散可以取决于被模拟的特定动作。例如,若踪迹205、225是颜料刷的可视再现,则可以使用扩散。然而,若踪迹205、225表示铅笔标记,则可能不使用扩散。
尽管图2B例示使用输入装置,其中触摸数据旁通主处理器以便显示踪迹,本公开不限于这样并且可以用于改进对其他类型的特征或动作的响应性。在一个实施例中,输入装置用于改进对用户按压显示在显示屏200上的虚拟键盘的键的响应性。当输入装置显示虚拟键盘,主处理器启动覆盖引擎,其开始处理触摸数据来生成其自身的像素数据。覆盖引擎可以储存感测区与显示虚拟键盘的映射。从而,通过评估触摸数据,覆盖引擎可以确定键盘上的特定按钮是否被用户启动。如果这样,覆盖引擎生成例示按钮被用户按压的像素数据。换言之,由覆盖引擎生成的像素数据代替包括所启动按钮的区域的所接收显示帧中的像素数据。在覆盖引擎未被启动的情况下,用户会按压该区域并由于上述延迟不会很快看见对应区域。照这样,用户会降低她打字速度来保证输入被正确地接受。然而,在覆盖引擎启动的情况下,用户将会看见(以减少的延迟)规定动作,并且因而,更快得获知哪个动作被输入装置检测到。在一个实施例中,覆盖引擎可以告知主处理器覆盖引擎执行被按压的按钮的视觉动画,使得主处理器不发送随后重复动画的显示帧。在另一实施例中,主处理器指示覆盖引擎、或覆盖引擎指示主处理器,覆盖引擎被使能用于键盘使用,并且当覆盖引擎被使能用于那个功能时,主处理器不生成对应的键盘使用动画。此外,在一些实施例中,覆盖引擎可以分析来自主处理器的显示帧数据并且修正显示帧数据,以便不显示视觉动画,其中该视觉动画基于覆盖引擎已经在先前显示帧上所覆盖的将会是冗余的。
在另一个实施例中,输入装置用于改进对用户在显示屏200上滚动显示文档的响应性。图3A和3B例示在依照本发明实施例的低延迟输入装置中滚动文档。如图3A所示,显示屏300例示显示文本文档的非滚动部分305和可滚动部分310。尽管示出文本文档,在其他实施例中,可滚动部分310可以包括网页、图像、视频等。在一些实施例中,屏幕300整体可以包括可滚动部分。
响应于正显示在屏幕300上的可滚动文档,主处理器启动覆盖引擎。在一个实施例中,当前并未显示在显示屏300的可滚动部分310内的文档的一部分可以被贮藏在覆盖引擎内。例如,若所显示文档是文本文档,主处理器可以向覆盖引擎发送在上面的文档的部分,以及在下面的文档的部分,当前在显示屏300中被观看的文档的部分。类似地,若文档的附加部分能够通过水平地滚动而被观看,在所显示可滚动部分310的左面和右面的文档的部分可被贮藏在覆盖引擎中。取决于滚动的类型,文档的这些所贮藏部分可以仅仅是文档的少数行或文档的一整页。例如,显示屏300包括滚动按钮315,其可以用于用户每次敲击按钮315时滚动一行。相反,滚动按钮320可以在每次这些按钮320被按压时使文本文档滚动多行。此外,代替确定按钮被触摸,触摸控制器可以识别用户已做出预定义手势(例如手指重击或拖曳),其中该预定义手势指示在部分310内的文档应该被滚动。
响应于指示用户已敲击滚动按钮315、320其中之一或执行滚动手势的触摸数据,覆盖引擎确定滚动文档多长。例如,用户可能已通过敲击按钮315A来请求文档向上滚动一行,或通过敲击按钮320A来请求文档向上滚动半页。不像其中覆盖引擎仅可以覆盖(或改变)当前被显示的显示帧的一部分的先前实施例,这里,覆盖引擎可以需要改变显示屏200的可滚动部分310的大部分(如果不是全部)。例如,即使滚动一行意味着可滚动部分310中的文档的剩余部分被向上或向下移动,因而改变负责在屏幕300上显示文档的显示帧的整个部分。
如图3B所示,覆盖引擎代替可滚动部分310中的显示帧的显示像素来反映用户已经启动按钮315A。作为响应,覆盖引擎将文档的所贮藏部分(此处示出为行G)添加到文本文档的底部,并且随后将文本文档的剩余部分325(行B-F)向上移动。此外,覆盖引擎将在显示屏200内不再可见的文本文档的部分—即行A,从可滚动部分310移除。照这个方式,覆盖引擎能够响应于用户请求来滚动文档,而不用等待来自主处理器的所更新显示帧。在一些实施例中,在适当地指示滚动引擎已出现后,覆盖引擎可以从主处理器接收可滚动部分的附加不可见部分。例如,若覆盖引擎向下滚动,对于在可见可滚动部分之下的区域来说附加文档信息可能是必要的,以便填充高速缓存并使能将来的低延迟滚动。此外,在向下滚动后,相比可滚动部分的可见部分之上的区域所需要的而言,高速缓存可以包括更多文档信息,并且高速缓存中的一些信息可以被丢弃。
在一个实施例中,覆盖引擎继续显示可滚动部分310的所修正版本,直到主处理器发送被更新来反映用户按压按钮315A的新显示帧。例如,覆盖引擎可以使用预确定时间窗,该时间窗与主处理器提供所更新显示帧所需的延迟相同或比其更大。当然,这个延迟可以取决于系统和需要处理数据的应用的特定配置。因此,在一个实施例中,设置时间窗来计及可能出现在输入装置中的最大可能延迟。
图4是依照本发明实施例的、用于显示覆盖从主处理器接收的像素数据的临时踪迹数据的方法400。为了清楚期间,图4会在上下文中与图5一起描述,图5例示依照本发明实施例的、包括触摸控制器510和显示驱动器550之间的旁通路径515(例如通信通道)的输入装置100的框图。如先前提到的,在一些实施例中,覆盖引擎560可以与显示驱动器550分开定位。例如,覆盖引擎可以定位在独立的图形处理单元中、定位在位于CPU和显示器之间的显示数据路径上的视频处理器中、或允许覆盖引擎以(相比由主处理器引入的延迟)降低的延迟来接收触摸数据的任何其他位置。在框405中,输入装置100中的触摸控制器510检测感测区505内的输入对象的存在。如图2A、2B、3A和3B所示,感测区505会被集成到显示屏中,使得在感测区505中的位置与显示屏中的位置相对应。此外,触摸控制器510可以使用在图1中描述的感测技术的任一种,以便生成指示感测区505内的输入对象位置的触摸数据。
在框410中,响应于检测到输入对象,触摸控制器510传送触摸数据到主处理器520以及到覆盖引擎560。在一个实施例中,传送到主处理器520和到覆盖引擎560的触摸数据可以包括相同的信息,但这并不是必需的。例如,相比传送到覆盖引擎560,触摸控制器510可以传送更多或更少的信息到主处理器520。除了包括关于感测区505内的输入装置的位置的信息,触摸数据也可以包括输入对象以其接触感测区505的所测量力(例如压力)、与感测区交互的输入对象类型(例如不同类型的触控笔)、或交互是悬浮还是触摸。在一个示例中,触摸控制器510可以仅传送关于感测区505内输入对象的位置的信息以及那个交互的力到覆盖引擎560,但传送所有所捕获信息到主处理器520。覆盖引擎560可以相对主处理器520对触摸数据执行低水平处理,并且因此,可能不会使用所有由触摸控制器510捕获的触摸数据。此外,在一些实施例中,触摸控制器510和计时控制器545可以表示都在单个集成电路中实现的模块。从而,覆盖引擎560和触摸控制器会移植到单个集成电路中。此外,在一些实施例中,覆盖引擎可以在集成电路中实现,该集成电路位于主处理器和计时控制器或显示驱动器之间的显示数据路径中。
如所示出,旁通路径515将触摸控制器510耦合到覆盖引擎560。在一个实施例中,旁通路径515直接将触摸控制器510与覆盖引擎560耦合,但这并不是必需的。在任何示例中,旁通路径515允许覆盖引擎560接收触摸数据,而不必等待主处理器520提供已基于包含在触摸数据中的信息来被更新的显示帧。
在一个实施例中,触摸控制器510和覆盖引擎560定位在独立的集成电路上。在这个例子中,旁通路径515可以是USB、SPI或I2C通信链路。备选地,触摸控制器510和覆盖引擎560可以形成在相同的集成电路上。在这里,旁通路径515可以是在集成电路中的内部总线,以在组件之间路由触摸数据。此外,触摸控制器510可以以与控制器510传送触摸数据到主处理器520相同的频率来传送触摸数据到覆盖引擎560。备选地,仅当由主处理器520指示时,触摸控制器510可以传送触摸数据到覆盖引擎560。例如,若用户不执行由覆盖引擎560使能的动作,诸如追踪、与虚拟键盘交互、或滚动文档,触摸控制器510不会将触摸数据转送到计时控制器545,从而省电。然而,当使能覆盖引擎560时,主处理器520也可以指示触摸控制器510开始传送触摸数据到计时控制器545。
在框415,方法400确定覆盖引擎是否被启动。换言之,方法400取决于输入装置100是否当前执行由覆盖引擎560执行的动作。例如,当编辑文本文档时,用户可以选择指示输入装置执行图2A和2B所示的踪迹的按钮。响应于这个输入,主处理器520启动覆盖引擎560来开始处理如箭头575所示从触摸控制器510接收的触摸数据。在其他实施例中,当显示屏输出可滚动文档或显示虚拟键盘时,主处理器520启动覆盖引擎560。相反地,当这些特征不再被使能(例如用户不再想要绘制踪迹或者可滚动文档不再被显示),主处理器520可以停用覆盖引擎560。
若覆盖引擎未被启动,在框420,输入装置100仅使用从主处理器520发送的帧数据来更新显示。如图5所示,主处理器520包括中央处理单元(CPU)525和图形处理器530。这些组件可以是相同处理器(例如相同集成电路)的部件或形成于两个不同集成电路上。此外,在一些实施例中,输入装置100可以不包括图形处理器530。
随着从触摸控制器510接收触摸数据,CPU525将那个数据转送至操作系统535和处理数据的应用540。操作系统535可以是适用于执行本文描述的功能的任何操作系统。应用540可以是文本编辑器、图形工具、即时信使、网络浏览器或使用由覆盖引擎560执行的功能(诸如追踪、滚动、显示虚拟键盘等)的任何其他引用。
一般地,应用540使用触摸数据来执行一个或多个功能。例如,当输入对象接触或悬浮于某个显示按钮上,应用540可以执行对应动作。按这个方式,用户可以控制输入装置100的操作和功能。在一个实施例中,应用540处理触摸数据来确定如何更新显示以反映与输入装置100的用户交互。例如,应用540可以使用触摸数据来确定用户正绘制线或企图滚动文本文档。在识别用户动作以及其对当前被显示的图像的影响之后,应用540传送指令到图形处理器530,其生成像素数据来用于更新显示。如箭头580所示,图形处理器530传送包括像素数据的所更新显示帧到计时控制器545。显示驱动器550使用显示帧来更新显示屏。然而,如上所述,这个过程将花费相当大的时间段,在其期间,用户可能注意到用户与感测区505交互时与显示屏被更新来反映那个交互时之间的延迟。
在这个示例中,图形处理器530传送两种不同类型的数据到计时控制器545:用于启动/停用覆盖引擎(由箭头575表示)和显示储存在帧缓冲器555中的帧(由箭头580表示)的指令。这些不同数据类型会使用相同的物理连接或使用各自的连接。此外,图形处理器530可以与指令一起发送附加信息来启动覆盖引擎560。例如,图形处理器530可以提供踪迹控制数据,其包括储存在踪迹缓冲器565中的踪迹特征570(或显示特征)。这些踪迹特征570指示踪迹应该如何被显示,诸如踪迹的宽度、其颜色、踪迹是否需要扩散来模拟湿的墨水等。在一个实施例中,踪迹特征570可以由应用540提供。例如,当用户启动应用540中的踪迹功能,图形处理器530传送踪迹功能的设置到覆盖引擎560,使得覆盖引擎560能够显示临时踪迹,其大体上匹配例示在由应用540和图形处理器530生成的显示帧中的踪迹。
尽管未示出,覆盖引擎560也可以储存关于其他特点或动作(诸如滚动或显示虚拟键盘)的特征。例如,图形处理器530可以发送当前并未显示的文档的部分、或显示器中虚拟键盘的位置及其按钮到覆盖引擎560。按这个方式,覆盖引擎560可以与从触摸控制器510接收的触摸数据一起使用这个信息来生成其自身的像素数据来覆盖所接收显示帧。如先前提到的,一些实施例可以不包括图形处理器530。描述为由图形处理器530执行的动作可以由例如CPU525的其他系统元件来执行。
在框430中,覆盖引擎560基于从触摸控制器510接收的触摸数据来更新当前被储存或正从覆盖引擎560接收的显示帧。由于存在处理从触摸控制器接收的触摸数据的主处理器所引入的附加延迟,所覆盖像素数据相比在大约相同时间从主处理器接收的显示帧更近。在一个示例中,覆盖引擎560以由覆盖引擎560生成的像素数据代替从主处理器520(或者在一些例子中,图形处理器530)接收的显示帧中的像素数据。照这样,覆盖引擎560更新包括在像素帧内处于覆盖引擎已确定所更新像素数据用于显示临时踪迹的位置的像素数据。这个所更新数据代替或修正显示帧中处于临时踪迹在显示帧中的位置的像素数据。
覆盖引擎560使用在旁通路径515上接收的触摸数据来确定与感测区505相关的输入对象的位置。这个位置可以随后映射到显示屏上的位置(其可以需要感测区和显示屏之间的坐标变换)。覆盖引擎560可以使用输入对象在显示屏上的位置来确定在屏幕上何处放置临时踪迹。换言之,覆盖引擎560确定像素帧中的哪些像素包括在临时踪迹内并以由覆盖引擎560生成的所更新像素数据来代替这些像素。为这样做,在一个示例中,覆盖引擎560保养像素地图,在其中显示屏中的每个像素位置对应于逻辑一或零。若为零,覆盖引擎560使用从主处理器520接收的显示帧中的像素数据,但若为一,覆盖引擎560使用其确定的像素数据。
在一个实施例中,在生成用于踪迹的像素数据之前,覆盖引擎560确定触摸位置是否在显示屏的特定部分内。例如,用于绘图应用的用户界面(UI)可以当前在屏幕中显示。用户界面可以包括按钮、菜单和其他I/O特性来允许用户定制应用。然而,UI的不同部分可以被保留以供用户利用输入对象来实际绘制。覆盖引擎560可以在生成用于显示踪迹的像素数据之前,首先确保用户正与UI的这部分进行交互。例如,若用户与I/O特征交互(例如改变踪迹的特性的维度或启动下拉菜单),由于用户并未企图在屏幕上绘制踪迹,覆盖引擎560将不会生成像素数据。在一个实施例中,UI在显示屏中的部分的位置(用户能够绘制的地方)可以通过图形处理器530被传送到覆盖引擎560。
在一个实施例中,覆盖引擎560可以使用除了触摸数据之外的其他类型的信息来显示临时踪迹。例如,使用路径515,触摸控制器510可以通知覆盖引擎560输入对象以其接触感测区505的所测量力(例如压力)、与感测区交互的输入对象的类型(例如不同类型的触控笔),或交互是悬浮还是触摸。这个补充的信息会影响覆盖引擎560如何显示临时踪迹。例如,输入对象在感测区505向下按压越重,由覆盖引擎560生成的踪迹越宽。在另一实施例中,不同触控笔可以对应不同的踪迹—例如,表示颜料刷的触控笔相对表示钢笔的触控笔。通过获知何种类型与感测区交互,覆盖引擎560可以输出对应的踪迹。在其他实施例中,覆盖引擎560可以从主处理器520接收补充信息。例如,图形处理器530可以转送来自指示踪迹的颜色或宽度的应用540的信息。为了避免延迟,当主处理器520启动覆盖引擎时,可以接收这个信息。
当覆盖引擎560生成所更新像素数据用于诸如与虚拟键盘交互或滚动文档的其他动作时,可以使用类似的过程。例如,覆盖引擎可以具有缓冲器,其储存对应于按钮在键盘上被启动、或马上超出显示器的当前可视区域外的文档部分的动画。备选地,覆盖引擎可以具有代码,其生成对应于按钮在键盘上被启动的动画。覆盖引擎可以使用在路径515上接收的触摸数据来确定虚拟键盘上的按钮是否被按压、是否作出滚动手势、或滚动按钮是否被按压。采用这个信息,覆盖引擎生成所更新像素数据,其执行对应动作,诸如显示按钮在虚拟键盘上被按压的动画或滚动文档。照上面,显示驱动器550可以使用由覆盖引擎560生成的像素数据来更新一些所接收显示帧中的像素数据。例如,根据动作,显示驱动器550使用像素数据在可以持续几百毫秒的时间窗内—例如在假定60Hz的更新速率的五和六十帧之间,更新显示屏的一部分。
参考图2B和5,最靠近终点215的临时踪迹225的部分已被显示最长时间量,而最靠近输入对象140的点220已被显示在临时踪迹225上的那些点的最短时间量。在一个实施例中,覆盖引擎560为显示临时踪迹225的每个像素(或像素组)保持不同的时钟。随着这些时钟到达时间窗,覆盖引擎560不再以由覆盖引擎560生成的像素数据覆盖显示帧中的像素数据,并且替代地使用来自从主处理器接收的显示帧的像素数据。只要时间窗等于或大于主处理器520生成响应触摸输入的显示帧所需的延迟,显示帧中的像素数据继续延伸踪迹205使得其触及临时踪迹225。换言之,随着用于形成临时踪迹225的不同像素的时钟到期并且终点215移动到右边,在新显示帧中踪迹205的长度增加使得踪迹205和225仍然在用户看来形成一个连续的踪迹。一旦用户停止移动输入装置,形成临时踪迹的所有像素最终到期,并且仅显示帧中的像素数据用于生成踪迹。换言之,覆盖引擎560停止以由覆盖引擎560生成的像素数据代替显示帧中的像素数据。
在一些实施例中,在那个踪迹段的时间窗到期后,覆盖引擎560停止显示临时踪迹段。该段可以包括单个像素、多个像素或临时踪迹的任何其他部分。换言之,在显示临时踪迹数据时,覆盖引擎560可以修正或代替来自主处理器的显示帧的对应像素。为了对某个部分的数据恢复到从主处理器接收的显示帧数据,覆盖引擎560可以简单地停止修正来自主处理器的显示帧数据的那部分,而不是必须采用任何附加修正。
显示驱动器550负责从覆盖引擎560(或在一些例子中,从主处理器或GPU)接收显示帧数据,以及准备显示帧数据用于输出到显示器。准备显示帧数据用于输出到显示器的过程根据所接收的显示帧数据的格式以及显示屏所期望的输出格式而变化。在一些例子中,显示驱动器输出显示帧数据,如主处理器或系统的另一个组件所生成,而没有通过覆盖引擎560的任何修正或更新。在其他情况中,显示驱动器550接收所更新显示帧数据,其已被覆盖引擎560处理和修正,并且准备所更新显示帧数据用于输出到显示器。
在框435中,显示驱动器550输出显示帧到显示器。若覆盖引擎560在显示帧处理期间被启动,显示驱动器550输出所更新显示帧数据。若不是这样,显示驱动器输出未修正显示帧数据。在一些实施例中,若覆盖引擎560不是活动的,覆盖引擎560或包括覆盖引擎560的另一个组件,可以接收显示帧数据并传送未修正显示帧数据到显示驱动器550。
主处理器520可以通过如箭头575所示传送指令到覆盖引擎560来停用覆盖引擎560。在另一个示例中,主处理器520可以不直接发送指令到覆盖引擎560,但代替地通过使用旁通路径515指示触摸控制器510不再发送触摸数据到覆盖引擎560。没有触摸数据,覆盖引擎560不能生成临时踪迹数据来修正从主处理器接收的显示帧数据。在一个实施例中,响应于用户不再选择踪迹特征、关闭与覆盖引擎560所执行的动作对应的应用、移除正被显示的虚拟键盘或不再显示可滚动文档,主处理器520可以停用覆盖引擎560。
在一个实施例中,主处理器520可以从计时控制器545而不是触摸控制器510接收触摸数据。换言之,触摸控制器510将触摸数据转送到计时控制器545,其随后转送该数据(或其某部分)到主处理器520。在这样的示例中,触摸控制器510和主处理器520之间输入通信路径可以省略,其可以简化输入装置100的设计。基于从计时控制器545接收触摸数据,主处理器520、操作系统535和应用540可以处理触摸数据并生成如上所述的更新显示帧。
在另一实施例中,覆盖引擎是位于应用处理器和显示器之间的处理器的一部分。触摸控制器直接传送触摸数据到这个中间处理器并且中间处理器会转送触摸数据到应用或主处理器,并且也在覆盖引擎中使用触摸数据。中间处理器可以以覆盖引擎的输出更新从应用接收的像素数据,并且转送结果显示数据到显示计时控制器或显示驱动器。
在另一个实施例中,不像图5中触摸控制器510通过使用旁通路径515直接传送触摸数据到覆盖引擎560,触摸控制器510仅传送触摸数据到主处理器520,其随后如箭头580所示转送触摸数据到覆盖引擎560。例如,主处理器520可以转送触摸数据到操作系统535和覆盖引擎560。因而,在操作系统535和应用540处理触摸数据时,覆盖引擎560可以使用触摸数据来确定是否要生成所更新像素数据来代替当前显示帧的一部分。一旦应用540和图形处理器530处理触摸数据并生成所更新显示帧,覆盖引擎560可以停止使用在显示帧的多个部分上的临时踪迹,其是在从主处理器接收的显示帧数据中最新的。从而,在这个实施例中,输入装置100可以不包括旁通路径515并且替代地,依赖主处理器520来传送触摸数据到操作系统535和覆盖引擎560。由于覆盖引擎560必须等待直到触摸数据从处理器520接收而不是直接从触摸控制器510接收它,相比图5所示的实施例,这个布置会需要更多时间来生成和显示由覆盖引擎560相对于与输入装置的交互被检测到的时间所提供的所更新像素数据,但这样做可以简化装置100的设计。
因此,提出本文阐述的实施例和示例以便最好地解释依照本技术及其特定应用的实施例,从而使得本领域技术人员能够实现并使用本技术。但是,本领域技术人员将认识到,前述描述和示例仅为了例示和示例的目的而提出。所阐述的描述并不意在是穷举性的或将本发明限定到所公开的精确形式。
综上所述,本公开的范围由附随的权利要求来确定。

Claims (20)

1.一种处理系统,用于在显示器上显示所修正显示帧数据,所述处理系统包括:
触摸控制器,配置成检测感测区内的输入对象,并且作为响应,传送触摸数据到主处理器以及到覆盖引擎,其中所述覆盖引擎配置成接收第一显示帧并以基于所接收触摸数据的临时图像数据修正所述第一显示帧;以及
显示驱动器,配置成准备所述所修正显示帧数据用于输出到所述显示器。
2.如权利要求1所述的处理系统,其中所述覆盖引擎从所述主处理器接收踪迹控制数据,其中所述临时图像数据包括第一踪迹的图像。
3.如权利要求2所述的处理系统,其中所述踪迹控制数据描述所述第一踪迹的显示特征。
4.如权利要求3所述的处理系统,其中所述第一踪迹的所述显示特征配置成与第二显示帧中的第二踪迹的显示特征匹配。
5.如权利要求1所述的处理系统,其中所述覆盖引擎配置成以所述临时图像数据修正所接收显示帧达一时间段,其中,基于确定所述时间段已过期,所述覆盖引擎配置成停止以已过期的所述临时图像数据修正所接收显示帧。
6.如权利要求1所述的处理系统,还包括:
数据接口,配置成从所述触摸控制器传送所述触摸数据到所述主处理器;以及
通信通道,配置成从所述触摸控制器传送所述触摸数据到所述覆盖引擎,其中所述通信通道旁通所述主处理器。
7.如权利要求6所述的处理系统,其中使用所述数据接口从所述触摸控制器传送到所述主处理的所述触摸数据与使用所述通信通道从所述触摸控制器传送到所述覆盖引擎的所述触摸数据相同。
8.如权利要求1所述的处理系统,其中所述触摸控制器和覆盖引擎是下列其中之一:(i)集成到共用集成电路上以及(ii)集成到可通信地耦合的独立集成电路上。
9.一种方法,包括:
检测感测区内的输入对象;
响应于检测到所述输入对象,传送触摸数据到主处理器以及到覆盖引擎;
在所述覆盖引擎处接收第一显示帧;
使用所述覆盖引擎,以基于所述触摸数据的临时图像数据修正所述第一显示帧;
准备所修正显示帧数据用于输出到显示器。
10.如权利要求9所述的方法,还包括:
在所述覆盖引擎处,接收由所述主处理器传送的踪迹控制数据,其中所述临时图像数据包括第一踪迹的图像。
11.如权利要求10所述的方法,其中所述踪迹控制数据描述所述第一踪迹的显示特征。
12.如权利要求11所述的方法,其中所述第一踪迹的所述显示特征配置成与第二显示帧中的第二踪迹的显示特征匹配。
13.如权利要求9所述的方法,其中所述覆盖引擎配置成以所述临时图像数据修正所接收显示帧达一时间段,其中,基于确定所述时间段已过期,所述覆盖引擎配置成停止以已过期的所述临时图像数据修正所接收显示帧。
14.如权利要求9所述的方法,其中传送所述触摸数据到所述覆盖引擎包括:
在触摸控制器与旁通所述主处理器的所述覆盖引擎之间的通信通道上传送所述触摸数据。
15.如权利要求14所述的处理系统,其中从所述触摸控制器传送到所述主处理的所述触摸数据与从所述触摸控制器传送到所述覆盖引擎的所述触摸数据相同。
16.一种处理系统,包括:
触摸控制器,配置成检测感测区内的输入对象,并且作为响应,传送触摸数据到主处理器以及到覆盖引擎;
所述覆盖引擎,配置成从所述主处理器接收显示帧,并且以基于所接收触摸数据的所储存动作更新所述显示帧,其中,当被显示时,所储存动作修正所述显示帧中的像素数据;以及
显示驱动器,配置成准备所述所更新显示帧数据用于输出到显示器。
17.如权利要求16所述的处理系统,还包括:
通信通道,将所述触摸控制器耦合到所述覆盖引擎,其中所述通信通道旁通所述主处理器。
18.如权利要求16所述的处理系统,其中所述覆盖引擎包括缓冲器,其配置成储存所述所储存动作。
19.如权利要求18所述的处理系统,其中所述覆盖引擎包括配置成基于从所述主处理器接收的控制信号使用所述缓冲器来更新所接收显示帧的覆盖引擎,其中所述控制信号启动所述覆盖引擎,从而指示所述覆盖引擎开始使用所述所储存动作来代替所述像素数据。
20.如权利要求16所述的处理系统,其中所述所储存动作是下列其中之一:绘制踪迹、指示所显示按钮被启动的图形、以及滚动。
CN201510892737.3A 2014-12-09 2015-12-08 低延迟着墨 Active CN105700733B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462089825P 2014-12-09 2014-12-09
US62/089825 2014-12-09
US14/675,693 US9721365B2 (en) 2014-12-09 2015-03-31 Low latency modification of display frames
US14/675693 2015-03-31

Publications (2)

Publication Number Publication Date
CN105700733A true CN105700733A (zh) 2016-06-22
CN105700733B CN105700733B (zh) 2020-08-07

Family

ID=56094311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510892737.3A Active CN105700733B (zh) 2014-12-09 2015-12-08 低延迟着墨

Country Status (2)

Country Link
US (1) US9721365B2 (zh)
CN (1) CN105700733B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106168866A (zh) * 2016-06-30 2016-11-30 北京集创北方科技股份有限公司 一种触摸显示控制方法、触摸显示控制装置和触摸显示模组
CN113050839A (zh) * 2021-03-31 2021-06-29 京东方科技集团股份有限公司 多点触控的驱动方法、装置、存储介质及电子设备

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160170552A1 (en) * 2014-12-11 2016-06-16 Elan Microelectronics Corporation Processing method for touch signal and computer system thereof
US10739911B2 (en) * 2015-09-30 2020-08-11 Apple Inc. Unified drawing framework
US9753557B2 (en) * 2015-10-26 2017-09-05 Intel Corporation Fast inking a touch display
US20180088786A1 (en) * 2016-09-23 2018-03-29 Microsoft Technology Licensing, Llc Capacitive touch mapping
US10147159B2 (en) * 2017-04-07 2018-12-04 Microsoft Technology Licensing, Llc Ink render using high priority queues
US10580111B2 (en) * 2018-03-20 2020-03-03 Microsoft Technology Licensing, Llc Display ink rendering during system sleep
CN110795013B (zh) * 2018-08-01 2022-06-24 上海擎感智能科技有限公司 图像显示方法、装置、电子终端及计算机可读存储介质
KR20220049407A (ko) * 2020-10-14 2022-04-21 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
CN115956230A (zh) 2020-12-16 2023-04-11 株式会社和冠 图像描绘方法
CN117032603A (zh) 2022-05-09 2023-11-10 株式会社和冠 计算机

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969532A (zh) * 2009-07-27 2011-02-09 三洋电机株式会社 图像再生装置以及摄像装置
CN102200745A (zh) * 2010-03-25 2011-09-28 夏普株式会社 图像显示操作装置和配备它的图像形成装置
CN102365610A (zh) * 2009-03-31 2012-02-29 三菱电机株式会社 显示输入装置
CN104111793A (zh) * 2013-04-22 2014-10-22 三星显示有限公司 利用图像覆盖来减小显示滞后的系统、方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080055256A1 (en) 2006-08-31 2008-03-06 Intel Corporation Touch screen controller with embedded overlay
US8416197B2 (en) 2007-06-15 2013-04-09 Ricoh Co., Ltd Pen tracking and low latency display updates on electronic paper displays
EP3629139A1 (en) * 2009-04-30 2020-04-01 Wacom Co., Ltd. Operating a touch screen control system according to a plurality of rule sets
US9189147B2 (en) 2010-06-22 2015-11-17 Microsoft Technology Licensing, Llc Ink lag compensation techniques
US8773377B2 (en) 2011-03-04 2014-07-08 Microsoft Corporation Multi-pass touch contact tracking
JP5459251B2 (ja) 2011-03-31 2014-04-02 カシオ計算機株式会社 画像処理装置、画像処理方法及びプログラム
US9612739B2 (en) * 2012-02-02 2017-04-04 Microsoft Technology Licensing, Llc Low-latency touch-input device
EP2904484A4 (en) 2012-10-05 2016-06-01 Tactual Labs Co HYBRID SYSTEMS AND METHODS FOR THE PROCESSING AND FEEDBACK OF LOW-LATENCY USER ENTRY
WO2014145872A1 (en) 2013-03-15 2014-09-18 Tactual Labs Co. Fast multi-touch stylus and sensor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102365610A (zh) * 2009-03-31 2012-02-29 三菱电机株式会社 显示输入装置
CN101969532A (zh) * 2009-07-27 2011-02-09 三洋电机株式会社 图像再生装置以及摄像装置
CN102200745A (zh) * 2010-03-25 2011-09-28 夏普株式会社 图像显示操作装置和配备它的图像形成装置
CN104111793A (zh) * 2013-04-22 2014-10-22 三星显示有限公司 利用图像覆盖来减小显示滞后的系统、方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106168866A (zh) * 2016-06-30 2016-11-30 北京集创北方科技股份有限公司 一种触摸显示控制方法、触摸显示控制装置和触摸显示模组
CN113050839A (zh) * 2021-03-31 2021-06-29 京东方科技集团股份有限公司 多点触控的驱动方法、装置、存储介质及电子设备
CN113050839B (zh) * 2021-03-31 2024-01-23 京东方科技集团股份有限公司 多点触控的驱动方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
US20160162061A1 (en) 2016-06-09
CN105700733B (zh) 2020-08-07
US9721365B2 (en) 2017-08-01

Similar Documents

Publication Publication Date Title
CN105700733A (zh) 低延迟着墨
CN104781763B (zh) 用于低电力输入对象检测和交互的系统及方法
JP6990673B2 (ja) 静電容量感知デバイスのための多重センサタッチ統合表示ドライバ構成
CN104641333B (zh) 全内嵌式传感器
CN104185831B (zh) 用于使用输入装置动态调节用户界面参数的系统和方法
JP6587319B2 (ja) セル内低電力モード
CN105321452B (zh) 用于显示装置的处理系统、输入感测的方法以及输入装置
CN105278735A (zh) 采用力成像的接近感测的装置和方法
CN104777952B (zh) 减轻集成输入装置中电极干扰
US20140075302A1 (en) Electronic apparatus and handwritten document processing method
CN104781771A (zh) 并行的输入感测和显示更新
CN103955339A (zh) 一种终端操作方法及终端设备
CN107562253A (zh) 对电容性感测测量结果进行归一化以降低低接地质量和噪声的影响
CN104423836B (zh) 信息处理装置
CN103631518A (zh) 移动终端和用于移动终端的显示控制
CN105718126A (zh) 具有可选功能电极的电容性图像传感器
CN108475137A (zh) 使用混合估计方法减轻共模显示噪声
KR20160110737A (ko) 타일드 표시 장치 및 그 동기화 방법
CN106537311A (zh) 用于集成的显示器和输入感测装置的布线
CN107111393A (zh) 用于局部化的力感测的装置和方法
CN105807955A (zh) 用于被动触控笔的手掌拒绝可视化
CN112835476A (zh) 用于输入设备上的接近度感测的设备和方法
KR102513752B1 (ko) 전자 장치 및 전자 장치의 제어 방법
CN105103101A (zh) 在集成输入装置中恢复显示更新时减少显示假象
US20170220173A1 (en) Press and move gesture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191014

Address after: Saitama Prefecture, Japan

Applicant after: Corporate clubs and crowns

Address before: California, USA

Applicant before: Synaptics Inc

GR01 Patent grant
GR01 Patent grant