CN110622116B - 坐标平滑方法、触控芯片及电子终端 - Google Patents

坐标平滑方法、触控芯片及电子终端 Download PDF

Info

Publication number
CN110622116B
CN110622116B CN201880000335.XA CN201880000335A CN110622116B CN 110622116 B CN110622116 B CN 110622116B CN 201880000335 A CN201880000335 A CN 201880000335A CN 110622116 B CN110622116 B CN 110622116B
Authority
CN
China
Prior art keywords
touch point
iteration
interpolation
data frame
bessel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880000335.XA
Other languages
English (en)
Other versions
CN110622116A (zh
Inventor
万鹏
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.)
Shenzhen Goodix Technology Co Ltd
Original Assignee
Shenzhen Goodix Technology Co Ltd
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 Shenzhen Goodix Technology Co Ltd filed Critical Shenzhen Goodix Technology Co Ltd
Publication of CN110622116A publication Critical patent/CN110622116A/zh
Application granted granted Critical
Publication of CN110622116B publication Critical patent/CN110622116B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • 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
    • 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

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)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Generation (AREA)

Abstract

本发明实施例提供了一种坐标平滑方法、触控芯片及电子终端,其中,坐标平滑方法包括:获取触摸屏当前数据帧的触摸点坐标,以及,当前数据帧之前的连续N帧数据帧的触摸点坐标,其中,N为大于或等于2的自然数;以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代;获取所述贝赛尔插值迭代的迭代结果,根据所述迭代结果完成坐标平滑。通过本发明实施例,降低了坐标平滑的实现成本,提升了坐标平滑效果。

Description

坐标平滑方法、触控芯片及电子终端
技术领域
本发明实施例涉及触控技术领域,尤其涉及一种坐标平滑方法、触控芯片及电子终端。
背景技术
随着终端技术的发展,触摸屏被广泛应用于各种各样的终端设备中。触摸屏通过触控芯片对作用于触摸屏上的手势操作进行检测,其中,计算触摸点坐标是检测过程中的重要环节。
触控芯片在计算手指(或被动笔、主动笔)作用于触摸屏上的触摸点坐标时,基本包括两步,即坐标计算和坐标平滑。其中,坐标计算是通过触摸屏的每个节点的原始数据,来计算出当前帧的触摸点坐标。由于外界噪声和***噪声的影响,当前帧的触摸点坐标与手指触摸的真实位置会有一定的随机误差,如果以此坐标报给***,则会出现坐标的抖动和划线的毛刺,因此需要做坐标平滑的处理。
典型的坐标平滑的处理方法是:将历史的几帧数据做加权平均。以水平坐标X坐标为例,其坐标平滑的表达式如下:
XC=X0*K0+X1*K1+X2*K2+…+XN*KN
其中,XC为平滑处理后的当前帧的X坐标,也就是最终上报给***的坐标;X0为当前帧检测到的X坐标,X1为上一帧的X坐标,X2为上上帧的X坐标,……,依次类推,XN为当前帧之前的第N帧的X坐标;K0为当前帧的X坐标的加权系数,K1为上一帧的X坐标的加权系数,K2为上上帧的X坐标的加权系数……,依次类推,KN为当前帧之前的第N帧的X坐标的加权系数,K0+K1+K2+…+KN=1。对于垂直坐标Y坐标,对其的坐标平滑处理与X坐标类似,将X坐标替换为Y坐标即可。
上述坐标平滑方法虽然能够在一定程度上改善坐标的抖动以及划线过程中的毛刺,但是其改善效果与设置的多个加权系数密切相关,任何一个加权系数的不当设置均会导致整体改善效果下降;而且,对一个加权系数的调整会导致需要对所有加权系数均进行重新调整,使得整体效率低下,增加了坐标平滑的实现成本,也进一步影响了坐标平滑效果。
发明内容
本发明实施例提供一种坐标平滑方法、触控芯片及电子终端,以解决现有坐标平滑方法实现成本高、平滑效果较差的问题。
根据本发明实施例的第一方面,提供了一种坐标平滑方法,包括:获取触摸屏当前数据帧的触摸点坐标,以及,当前数据帧之前的连续N帧数据帧的触摸点坐标,其中,N为大于或等于2的自然数;以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代;获取所述贝赛尔插值迭代的迭代结果,根据所述迭代结果完成坐标平滑。
根据本发明实施例的第二方面,还提供了一种触控芯片,包括:获取模块,用于获取触摸屏当前数据帧的触摸点坐标,以及,当前数据帧之前的连续N帧数据帧的触摸点坐标,其中,N为大于或等于2的自然数;迭代模块,用于以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代;平滑模块,用于获取所述贝赛尔插值迭代的迭代结果,根据所述迭代结果完成坐标平滑。
根据本发明实施例的第三方面,还提供了另一种触控芯片,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的坐标平滑方法对应的操作。
根据本发明实施例的第四方面,还提供了一种电子终端,包括如第二方面所述的触控芯片,或者,包括如第三方面所述的触控芯片。
根据本发明实施例提供的坐标平滑方案,在进行触摸屏的坐标平滑时,以当前数据帧及与当前数据帧相连续的N个历史数据帧的触摸点坐标为依据,通过触摸点坐标的贝赛尔插值迭代最终生成当前数据帧的新的触摸点坐标,以进行坐标平滑。其中,在一次完整的贝赛尔插值迭代过程中,贝赛尔插值系数均相同,与传统的通过加权平均进行坐标平滑的方式相比,一方面,简化了加权系数设置,降低了坐标平滑的实现成本;另一方面,通过对多个数据帧的触摸点坐标进行贝赛尔插值迭代,插值结果客观、准确,有效减轻了坐标抖动和划线毛刺,提升了坐标平滑效果;再一方面,若需要对坐标平滑的效果进行调整,则调整一个贝赛尔插值系数即可,无需进行多个系数调整,从而提高了坐标平滑效果改善的速度和效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例一的一种坐标平滑方法的步骤流程图;
图2为根据本发明实施例二的一种坐标平滑方法的步骤流程图;
图3为根据本发明实施例三的一种坐标平滑方法的步骤流程图;
图4为图3所示实施例中的一种X坐标平滑过程的示意图;
图5为根据本发明实施例四的一种触控芯片的结构框图;
图6为根据本发明实施例五的一种触控芯片的结构框图;
图7为根据本发明实施例六的一种触控芯片的结构示意图。
具体实施方式
为使得本发明实施例的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明实施例一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明实施例保护的范围。
实施例一
参照图1,示出了根据本发明实施例一的一种坐标平滑方法的步骤流程图。
本实施例的坐标平滑方法包括以下步骤:
步骤S102:获取触摸屏当前数据帧的触摸点坐标,以及,当前数据帧之前的连续N帧数据帧的触摸点坐标。
其中,N为大于或等于2的自然数,当前数据帧即当前一个触摸检测周期所检测到的数据帧。
本发明实施例中,在对触摸屏的当前数据帧进行坐标平滑时,综合考虑当前数据帧之前的连续N帧的坐标数据,从而为当前数据帧的坐标平滑提供客观、准确的参考数据。为使参考数据更为有效,本发明实施例中,至少考虑当前数据帧之前的2帧数据帧的坐标数据。
基于此,本步骤中,分别对包括当前数据帧和当前数据帧之前的连续N帧在内的N+1帧数据帧进行触摸点坐标获取操作。其中,每个触摸点坐标包括该触摸点的横坐标和纵坐标。
步骤S104:以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代。
迭代是一种重复反馈的过程,其重复执行一系列运算步骤,从前面的量依次求出后面的量,以逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,每一次迭代得到的结果会作为下一次迭代的初始值。贝赛尔插值是通过贝赛尔插值公式将多个点连接成为平滑的曲线,以最终实现多个点之间的平滑过渡。本发明实施例中,将贝赛尔插值与迭代相结合,以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,计算触摸点坐标之间的贝赛尔插值结果;对于计算出的贝赛尔插值结果,再一次重复上述过程,对计算出的贝赛尔插值结果中相邻的触摸点坐标之间进行贝赛尔插值计算,获得新的贝赛尔插值结果;重复上述过程,直至获得最后的贝赛尔插值结果。
在一种可行方式中,可以以所述N+1帧数据帧中相邻的两帧为单位,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,通过贝赛尔插值公式逐个将两个点之间的部分进行平滑。以N为3进行简单示例说明,设定当前数据帧为A,A的前一数据帧为B,B的前一数据帧为C,C的前一数据帧为D,对A、B、C、D四个数据帧对应的触摸点坐标A-CO、B-CO、C-CO、D-CO进行贝赛尔插值迭代。初始时,对A-CO、B-CO、C-CO、D-CO进行第一轮贝赛尔插值过程,其中,可以先对A-CO和B-CO进行贝赛尔插值获得BC1-CO1,再对B-CO和C-CO进行贝赛尔插值获得BC1-CO2,再对C-CO和D-CO进行贝赛尔插值获得BC1-CO3;可见,通过第一轮贝赛尔插值过程,获得了三个贝赛尔插值结果,即BC1-CO1、BC1-CO2和BC1-CO3。再次对贝赛尔插值结果BC1-CO1、BC1-CO2和BC1-CO3进行第二轮贝赛尔插值过程,其中,通过对BC1-CO1和BC1-CO2进行贝赛尔插值获得BC2-CO1,通过对BC1-CO2和BC1-CO3进行贝赛尔插值获得BC2-CO2。再次对贝赛尔插值结果BC2-CO1和BC2-CO2进行第三轮贝赛尔插值过程,最终获得贝赛尔插值结果BC3-CO1。至此,第三轮仅获得一个贝赛尔插值结果即BC3-CO1,将其作为最终的贝赛尔插值结果,完成贝赛尔插值迭代。
需要说明的是,在实际应用中,不限于上述以相邻的两帧数据帧为单位进行贝赛尔插值的方式,本领域技术人员也可以根据实际需要,以多帧数据帧为单位进行贝赛尔插值,例如,以三帧数据帧为单位,或者以四帧数据帧为单位等,能够对数据帧进行均匀抽取即可。但以相邻的两帧数据帧为单位进行贝赛尔插值,坐标平滑的效果更好,精度更高。
步骤S106:获取贝赛尔插值迭代的迭代结果,根据所述迭代结果完成坐标平滑。
例如,可以将贝赛尔插值迭代的迭代结果作为上报给***的当前数据帧的触摸点坐标,以实现坐标平滑,也就是贝赛尔插值迭代结果作为平滑后的触摸点坐标上报给***。但不限于此,在实际应用中,本领域技术人员还可以根据实际需要,对迭代结果进行进一步的处理,以使坐标更为平滑,或者满足实际的平滑需求,等等。
通过本实施例,在进行触摸屏的坐标平滑时,以当前数据帧及与当前数据帧相连续的N个历史数据帧的触摸点坐标为依据,通过触摸点坐标的贝赛尔插值迭代最终生成当前数据帧的新的触摸点坐标,以进行坐标平滑。其中,在一次完整的贝赛尔插值迭代过程中,贝赛尔插值系数均相同,与传统的通过加权平均进行坐标平滑的方式相比,一方面,简化了加权系数设置,降低了坐标平滑的实现成本;另一方面,通过对多个数据帧的触摸点坐标进行贝赛尔插值迭代,插值结果客观、准确,有效减轻了坐标抖动和划线毛刺,提升了坐标平滑效果;再一方面,若需要对坐标平滑的效果进行调整,则调整一个贝赛尔插值系数即可,无需进行多个系数调整,从而提高了坐标平滑效果改善的速度和效率。
本实施例的坐标平滑方法可以由任意适当的具有数据处理功能的设备或装置实现,包括但不限于触摸芯片、MCU(Microcontroller Unit,微控制单元)等。
实施例二
参照图2,示出了根据本发明实施例二的一种坐标平滑方法的步骤流程图。
本实施例的坐标平滑方法包括以下步骤:
步骤S202:获取触摸屏当前数据帧的触摸点坐标,以及,当前数据帧之前的连续N帧数据帧的触摸点坐标。
其中,N为大于或等于2的自然数。可选地,N为5-80闭区间内的自然数。将N的取值范围设置在5-80之间,既可以保证坐标平滑的效果,又能够充分保证坐标平滑速度和效率。获取的当前数据帧的触摸点坐标和当前数据帧之前的连续N帧数据帧的触摸点坐标均为实际检测的坐标。
当用户对触摸屏进行了触摸操作时,该触摸操作所操作的每一帧数据都对应有一个或多个(两个及两个以上)触摸点坐标,而若当前数据帧之前的连续N帧中涉及到无触摸操作的数据帧,则可为这些参与平滑但无触摸操作的数据帧的触摸点坐标设定特定触摸点坐标,以对其进行标识,如触摸点坐标设置为(0,0)等,以便于后续进行坐标平滑操作。
据此,本步骤中,分别获取包括当前数据帧和当前数据帧之前的连续N帧数据帧共N+1帧的触摸点坐标,每一帧都对应有至少一个触摸点坐标。
需要说明的是,若在触摸操作过程中,存在手指瞬时离开屏幕的情况,则使用离开屏幕之后的历史触摸点坐标进行当前数据帧的坐标平滑,离开屏幕之前的历史触摸点坐标的数据将不再用于当前数据帧的坐标平滑计算。
步骤S204:以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,以所述N+1帧数据帧中相邻的两帧为单位,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,以获得迭代结果,并根据迭代结果完成坐标平滑。
本实施例中,以所述N+1帧数据帧中相邻的两帧为单位,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代为例,对本发明实施例提供的坐标平滑方案进行说明。但本领域技术人员应当明了的是,以其它数量的数据帧为单位的贝赛尔插值迭代,可以参照贝赛尔插值原理和本实施例的方案实现相应的坐标平滑操作。
初始迭代时,可以根据所述N+1帧数据帧的时间序列,依次对所述N+1帧数据帧对应的触摸点坐标进行贝赛尔插值(如,当前数据帧为A,数据帧B为数据帧A的前一数据帧,即数据帧B在时间上先于数据帧A;若坐标A1为数据帧A中的触摸点坐标,坐标B1为数据帧B中的触摸点坐标,若贝赛尔插值是在相邻的两个数据帧的触摸点坐标之间进行,则对坐标A1和B1进行贝赛尔插值);根据该贝赛尔插值结果,获得具有第一时序关系的多个通过贝赛尔插值生成的触摸点坐标;对多个生成的触摸点坐标继续进行贝赛尔插值迭代,直至达到迭代终止条件。
其中,时间序列表示将同一统计指标的数值按其发生的时间先后顺序排列而成的数列,具体到本发明实施例,数据帧的时间序列即具有时间先后顺序的多个数据帧。类似地,时序关系意指时间序列关系,具体到本发明实施例,具有时序关系的触摸点坐标即具有一定时间先后顺序的多个触摸点坐标。
迭代终止条件可以由本领域技术人员根据实际需求适当设定,如设定为适当迭代次数或迭代结果等。本发明实施例中,将迭代终止条件设定为各个触摸点坐标在某轮迭代的迭代结果的数量为1,以使迭代终止条件的设置和实现简单,实现成本较低。基于本发明实施例中N大于或等于2的设定,至少需要两轮贝赛尔插值迭代才能获得最终的迭代结果,因此,在对初始时的触摸点坐标进行贝赛尔插值获得多个插值结果后,仍然需要对这些插值结果继续进行贝赛尔插值迭代处理。
在一种可行方式中,对所述多个生成的触摸点坐标继续进行贝赛尔插值迭代,直至达到迭代终止条件的过程可以实现为:针对当前数据帧的每一个触摸点坐标,按照对应的多个触摸点坐标之间的第一时序关系,依次进行触摸点坐标的贝赛尔插值;根据第一时序关系和贝赛尔插值结果,获得具有第二时序关系的至少一个通过贝赛尔插值生成的触摸点坐标;判断具有第二时序关系的触摸点坐标的数量是否为1;若为1,则结束贝赛尔插值迭代;若不为1,则使用具有第二时序关系的触摸点坐标更新之前的与当前触摸点坐标对应的多个触摸点坐标,使用第二时序关系更新第一时序关系,并返回所述按照对应的多个触摸点坐标之间的第一时序关系,依次进行触摸点坐标的贝赛尔插值的步骤继续执行。
通常来说,触摸操作会涉及多帧数据帧,每一帧都对应有至少一个被触摸的触摸点(如电容节点等),具有相应的触摸点坐标,需要对每个触摸点坐标均进行坐标平滑处理。在触摸操作产生了轨迹的情况下,相应地,当前数据帧中的每一个触摸点在其之前的多帧中都会对应有一系列的形成轨迹的触摸点,需要根据与当前数据帧中的每一个触摸点对应的这些触摸点的触摸点坐标,对当前数据帧中的每一个触摸点进行坐标平滑处理。例如,当前数据帧中对应有A、B、C三个触摸点,当前数据帧的前一数据帧中与A、B、C对应的触摸点分别为A1、B1、C1,前一数据帧之前的数据帧中与A1、B1、C1对应的触摸点分别为A2、B2、C2,则针对触摸点A,需要根据A、A1、和A2的触摸点坐标对其进行坐标平滑处理;针对触摸点B,则需要根据B、B1和B2的触摸点坐标对其进行坐标平滑处理;针对触摸点C,则需要根据C、C1和C2的触摸点坐标对其进行坐标平滑处理。
为便于说明,以一个数据帧中仅有一个触摸点为例,则贝赛尔插值迭代初始时的多个触摸点坐标为与所述N+1帧数据帧对应的N+1个触摸点坐标,初始时序关系与所述N+1帧数据帧的时间序列相同。在对N+1帧数据帧对应的N+1个触摸点坐标进行贝赛尔插值后,获得N个贝赛尔插值结果;再对该N个贝赛尔插值结果进行贝赛尔插值后,将获得N-1个贝赛尔插值结果;再次对该N-1个贝赛尔插值结果进行贝赛尔插值后,将获得N-2个贝赛尔插值结果;……,依次类推,直至生成最后一个贝赛尔插值结果。当数据帧中对应有多个触摸点时(触摸物体与触摸屏接触面积相对比较大的时候),针对每个触摸点均参照上述方式进行贝赛尔插值迭代处理即可。
每次生成的贝赛尔插值结果的时序关系与前一轮贝赛尔插值时的触摸点坐标的时序关系相关。仍以一个数据帧中仅有一个触摸点为例,迭代初始时,N+1个触摸点坐标的初始时序关系与所述N+1帧数据帧的时间序列相同。如前所述,若当前数据帧为A,A的前一数据帧为B,B的前一数据帧为C,C的前一数据帧为D,对应地,A、B、C、D四个数据帧对应的触摸点坐标A-CO、B-CO、C-CO、D-CO的时序关系依次为A-CO--->B-CO--->C-CO--->D-CO。在两两进行贝赛尔插值时,根据该时序关系,可以先对A-CO和B-CO进行贝赛尔插值,再对B-CO和C-CO进行贝赛尔插值,再对C-CO和D-CO进行贝赛尔插值。插值结果依照前次触摸点坐标的时序关系进行排列,形成新的位置关系,即第一时序关系。具体到本例,本轮贝赛尔插值迭代的插值结果的第一时序关系为A-CO和B-CO的贝赛尔插值结果(标记为BC1-CO1)--->B-CO和C-CO的贝赛尔插值结果(标记为BC1-CO2)--->C-CO和D-CO的贝赛尔插值结果(标记为BC1-CO3)。
在一轮贝赛尔插值完成后,可以根据插值结果的数量来判断是结束贝赛尔插值迭代,还是需要继续进行。如果没有获得最终的贝赛尔插值结果,即贝赛尔插值结果的数量不为1,则需要继续进行贝赛尔插值迭代;若为1,则说明已得出最后结果,可以结束贝赛尔插值迭代了。
如上例所述,获得的贝赛尔插值结果包括BC1-CO1、BC1-CO2和BC1-CO3,因此,需要继续进行下一轮贝赛尔插值过程。此轮贝赛尔插值过程中,以BC1-CO1、BC1-CO2和BC1-CO3作为待插值的多个触摸点坐标,以BC1-CO1)--->BC1-CO2--->BC1-CO3的时序关系作为第一时序关系,依次对BC1-CO1、BC1-CO2和BC1-CO3中相邻的两个触摸点坐标进行贝赛尔插值,获得BC1-CO1和BC1-CO2的贝赛尔插值结果(标记为BC2-CO1),以及BC1-CO2和BC1-CO3的贝赛尔插值结果(标记为BC2-CO2)。BC2-CO1和BC2-CO2依照上一轮触摸点坐标的时序关系进行排列,形成本轮的第二时序关系,即,BC2-CO1--->BC2-CO2。在本轮贝赛尔插值完成后,生成的贝赛尔插值结果的数量仍然不为1,需要继续为BC2-CO1和BC2-CO2进行第三轮贝赛尔插值过程。
在第三轮贝赛尔插值中,BC2-CO1和BC2-CO2为新的待插值的多个触摸点坐标,使用BC2-CO1--->BC2-CO2作为新的第一时序关系,进行贝赛尔插值。本轮中,在对BC2-CO1和BC2-CO2进行贝赛尔插值后,获得贝赛尔插值结果(标记为BC3-CO1)。本轮贝赛尔插值完成后,生成的贝赛尔插值结果的数量为1,可以结束贝赛尔插值迭代,并以迭代结果为依据进行坐标平滑。
需要说明的是,上述示例均以当前数据帧为起始帧,从当前数据帧开始至第N+1帧为止,依次对两两数据帧的触摸点坐标进行贝赛尔插值为例,但不限于此,在实际应用中可以根据实际需要采用任意适当顺序进行相邻的触摸点坐标之间的贝赛尔插值,并根据前次触摸点坐标的时序确定插值结果的次序。例如,也可以先对D-CO和C-CO进行贝赛尔插值,再对C-CO和B-CO进行贝赛尔插值,再对B-CO和A-CO进行贝赛尔插值,等等。
根据插值方式和使用公式的不同,生成的贝赛尔插值结果可能是一次贝赛尔曲线、二次贝赛尔曲线、三次贝赛尔曲线等多种形式。为简化坐标平滑的实现,提升坐标平滑速度和效率,本发明实施例中,采用的贝赛尔插值方式为贝赛尔线性插值(一次贝赛尔曲线方式)。但本领域技术人员应当明了,其它贝赛尔插值方式也同样适用本发明实施例提供的坐标平滑方案。
此外,在对触摸点坐标进行贝赛尔插值时,可以对触摸点的横坐标和纵坐标分别进行贝赛尔插值,也即,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代可以实现为:对所述N+1帧数据帧的触摸点横坐标和纵坐标分别进行横坐标的贝赛尔插值迭代和纵坐标的贝赛尔插值迭代,以简化计算,提高贝赛尔插值速度。
通过上述过程,即可实现用户对触摸屏进行触摸操作时的初步坐标平滑处理。但是,为了使坐标平滑的效果更好,在使触摸轨迹平滑(即减少坐标毛刺)的同时还可以对坐标的跟随性进行改进,实现坐标平滑和跟随的兼顾。因此,上述获取迭代结果,并根据迭代结果完成坐标平滑的具体过程可以包括以下可选子步骤S2042-子步骤S2048。
子步骤S2042:获取所述贝赛尔插值迭代的迭代结果,判断贝赛尔插值迭代的迭代结果与当前数据帧的触摸点坐标的差异是否大于第一设定阈值;若大于,则执行步骤S2044;否则,执行步骤S2046。
其中,第一设定阈值可以由本领域技术人员根据实际需求适当设定,本发明实施例对此不作限制。可选地,第一设定阈值可以为3mm(毫米)。
迭代结果与当前数据帧的触摸点坐标的差异也可以由本领域技术人员设定为任意适当的形式,如,采用距离或标准差的形式,等等。
通过所述迭代结果与当前数据帧的触摸点坐标的差异,可以确定贝赛尔插值计算出的触摸点坐标与真实坐标的距离,该距离可表征坐标跟随的滞后程度。而通过设置第一设定阈值,可以有效控制该滞后程度。
子步骤S2044:若所述迭代结果与当前数据帧的触摸点坐标的差异大于第一设定阈值,则减小贝赛尔插值系数,并使用减小后的贝赛尔插值系数重新对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,直至所述迭代结果与当前数据帧的触摸点坐标的差异小于第一设定阈值或者达到贝赛尔插值系数的下调终止条件。然后,执行步骤S2048。
通过对使用贝赛尔插值进行坐标平滑的研究发现,贝赛尔插值系数越大,输出的坐标越平滑,但坐标滞后度会增加;而贝赛尔插值系数越小,输出的坐标毛刺会增多,但坐标跟随性会更好。基于此,可以通过调整贝赛尔插值系数的方式,在坐标平滑度和跟随度之间取得平衡。
当所述迭代结果与当前数据帧的触摸点坐标的差异大于第一设定阈值,则表明坐标滞后,跟随性差,可以通过减小贝赛尔插值系数,来提升坐标的跟随性,在保证坐标平滑的同时提升坐标跟随度。具体到本实施例,可以在减小贝赛尔插值系数后,使用减小后的贝赛尔插值系数重新对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代(如使用减小后的贝赛尔插值系数替代原贝赛尔插值系数,返回步骤S204重新执行),直至所述迭代结果与当前数据帧的触摸点坐标的差异小于第一设定阈值或者达到贝赛尔插值系数的下调终止条件。
其中,贝赛尔插值系数的下调终止条件可以包括:贝赛尔插值系数的减量达到设定减量上限或者贝赛尔插值系数达到设定下限。设定减量上限和设定下限均可由本领域技术人员根据需求适当设置,如,将设定减量上限设置为2*(1/N),将设定下限设置为0等,本发明实施例对此不作限制。
子步骤S2046:若所述迭代结果与当前数据帧的触摸点坐标的差异不大于第一设定阈值,则增大贝赛尔插值系数,并使用增大后的贝赛尔插值系数重新对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,直至所述迭代结果与当前数据帧的触摸点坐标的差异大于第二设定阈值或者达到贝赛尔插值系数的上调终止条件。然后,执行步骤S2048。
其中,第二设定阈值可以由本领域技术人员根据实际需求适当设定,本发明实施例对此不作限制。可选地,第二设定阈值可以为2mm(毫米)。通过第一设定阈值和第二设定阈值,设置了可接受的坐标跟随速度范围,基于该范围,可以进一步进行坐标平滑度的调整。
当所述迭代结果与当前数据帧的触摸点坐标的差异不大于第一设定阈值时,表明坐标跟随度可能在可接受范围内,但平滑度可能稍差,可以通过增大贝赛尔插值系数对平滑度进行改进。具体到本实施例,可以在增大贝赛尔插值系数后,使用增大后的贝赛尔插值系数重新对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代(如使用增大后的贝赛尔插值系数替代原贝赛尔插值系数,返回步骤S204重新执行),直至所述迭代结果与当前数据帧的触摸点坐标的差异大于第二设定阈值或者达到贝赛尔插值系数的上调终止条件。
其中,贝赛尔插值系数的上调终止条件可以包括:贝赛尔插值系数的增量达到设定增量上限或者贝赛尔插值系数达到设定上限,设定增量上限或者设定上限均可以由本领域技术人员根据实际需求进行适当设置,例如,可以将设定增量上限设置为1/N,将设定上限设置为1/2等,本发明实施例对此不作限制。
子步骤S2048:获取经贝赛尔插值系数调整后的贝赛尔插值迭代的最终迭代结果,根据所述最终迭代结果完成坐标平滑。
包括:使用贝赛尔插值迭代的最终迭代结果更新当前数据帧的触摸点坐标,以进行坐标平滑。
若子步骤S2042-子步骤S2048未被执行,则本步骤中可以使用步骤S204的贝赛尔插值迭代的迭代结果,即未进行贝赛尔插值系数调整的迭代结果;若子步骤S2042-子步骤S2048被执行,则本步骤中获取的贝赛尔插值迭代的迭代结果则为经贝赛尔插值系数调整后的最终迭代结果。
通过本实施例,在进行触摸屏的坐标平滑时,以当前数据帧及与当前数据帧相连续的N个历史数据帧的触摸点坐标为依据,通过触摸点坐标的贝赛尔插值迭代最终生成当前数据帧的新的触摸点坐标,以进行坐标平滑。其中,在一次完整的贝赛尔插值迭代过程中,贝赛尔插值系数均相同,与传统的通过加权平均进行坐标平滑的方式相比,一方面,简化了加权系数设置,降低了坐标平滑的实现成本;另一方面,通过对多个数据帧的触摸点坐标进行贝赛尔插值迭代,插值结果客观、准确,有效减轻了坐标抖动和划线毛刺,提升了坐标平滑效果;再一方面,若需要对坐标平滑的效果进行调整,则调整一个贝赛尔插值系数即可,无需进行多个系数调整,从而提高了坐标平滑效果改善的速度和效率。
此外,通过对贝赛尔插值系数的调整,实现了坐标平滑和坐标跟随的均衡。
本实施例的坐标平滑方法可以由任意适当的具有数据处理功能的设备或装置实现,包括但不限于触摸芯片、MCU等。
实施例三
参照图3,示出了根据本发明实施例三的一种坐标平滑方法的步骤流程图。
本实施例以一个具体实例的形式,对本发明实施例提供的坐标平滑方案进行说明。本实施例的坐标平滑方法包括以下步骤:
步骤S302:获取触摸屏当前数据帧的触摸点坐标,以及,当前数据帧之前的连续N帧数据帧的触摸点坐标。
本实施例中,为便于说明,选择N为4,也即,以5帧数据帧为例对本实施例的坐标平滑方案进行说明。在进行处理时,采用对触摸点的横坐标和纵坐标分别进行处理的方式。获取的当前数据帧的触摸点坐标和当前数据帧之前的连续N帧数据帧的触摸点坐标均为实际检测的坐标。
例如,X10为当前数据帧的X坐标(即横坐标),X11为当前数据帧的上帧的X坐标,X12为上上帧的X坐标,……,依此类推,X14为当前数据帧之前的第4帧的X坐标。对于触摸点的Y坐标(即纵坐标)的表示和处理与X坐标类似,本实施例以X坐标为例进行说明,本领域技术人员可以参照对X坐标的处理,通过将X坐标替换为Y坐标实现对Y坐标的处理,在此不再详细说明。
步骤S304:对包括当前数据帧和当前数据帧之前的连续N帧数据帧对应的N+1个触摸点坐标进行贝赛尔插值迭代,获得初步迭代结果。
贝赛尔插值迭代的具体实现可参照前述实施例一或二中相关部分的描述,具体到本实施例,在触摸动作从无到有时,初始化贝塞尔插值系数t=t0,其中,t0可以由本领域技术人员根据实际需求适当设置,在一种可行方式中,t0可以为0.5。需要说明的是,贝塞尔插值系数t的初始化可以在每次设备上电后,触摸动作从无到有时执行一次即可,无需每次有触摸动作时均进行初始化。在本次上电后至下次上电的使用过程中,除初始时需要初始化贝塞尔插值系数外,后续对触摸屏某一帧进行坐标平滑时可以沿用该帧的上一帧的贝塞尔插值系数。
以下,以图4所示对当前数据帧中的一个触摸点的X坐标的平滑过程为例,对本步骤进行示例说明。如图4中所示,在通过步骤S302获得了某个触摸点在多个数据帧中对应的多个横坐标X10、X11、X12、X13、和X14后,使用贝赛尔线性插值公式对上述触摸点横坐标进行插值。具体地,X20=X10*(1-t)+X11*t,X21=X11*(1-t)+X12*t,X22=X12*(1-t)+X13*t,X23=X13*(1-t)+X14*t。接着,再对X20、X21、X22和X23进行贝赛尔线性插值,包括:X30=X20*(1-t)+X21*t,X31=X21*(1-t)+X22*t,X32=X22*(1-t)+X23*t。再接着,对X30、X31和X32进行贝赛尔线性插值,包括:X40=X30*(1-t)+X31*t,X41=X31*(1-t)+X32*t。然后,对X40和X41进行贝赛尔线性插值,包括:X50=X40*(1-t)+X41*t。最终输出的坐标为X50,同理,其它触摸点的X坐标和所有触摸点的Y坐标也是用同样的方法计算,获得最终输出的各个坐标。
步骤S306:判断贝赛尔插值迭代的初步迭代结果与当前数据帧的触摸点坐标的距离是否大于3mm;若大于,则执行步骤S308;否则,则执行步骤S314。
通过贝赛尔插值迭代的初步迭代结果与当前数据帧的触摸点坐标(实际检测的坐标)的距离可以判断坐标的滞后距离,也即跟随度,进而进行相应调整,以兼顾坐标平滑度和跟随度。因对每个触摸点坐标都采用了相同的贝赛尔插值处理,因此在具体判断时,可以对某个或某些触摸点坐标进行判断,也可以针对每个触摸点坐标分别进行判断,当涉及多个触摸点坐标时,可以通过距离求平均的方式确定最终的距离是否大于3mm。
步骤S308:减小贝塞尔插值系数t,使用减小后的贝塞尔插值系数t对包括当前数据帧和当前数据帧之前的连续N帧数据帧对应的触摸点坐标重新进行贝赛尔插值迭代。
通过贝赛尔插值迭代进行坐标平滑,可以通过控制贝赛尔插值系数t,控制最终输出的坐标平滑程度,其中,t越大,输出的坐标越平滑,但坐标滞后程度会增加;t越小,输出的坐标毛刺程度增大,但坐标的跟随性会更好。
步骤S310:判断重新进行贝赛尔插值迭代后的迭代结果与当前数据帧的触摸点坐标的距离是否小于3mm;若小于,则执行步骤S320;否则,则执行步骤S312。
步骤S312:判断贝赛尔插值系数t的减量是否达到设定减量上限,或者,贝赛尔插值系数t是否达到设定下限;若是,则执行步骤S320;否则,返回步骤S308执行。
其中,设定减量上限和设定下限均可由本领域技术人员根据实际需求适当设定。如,设定减量上限为2*(1/N),设定下限为0。
步骤S314:增大贝塞尔插值系数t,使用增大后的贝塞尔插值系数t对包括当前数据帧和当前数据帧之前的连续N帧数据帧对应的触摸点坐标重新进行贝赛尔插值迭代。
步骤S316:判断重新进行贝赛尔插值迭代后的迭代结果与当前数据帧的触摸点坐标的距离是否大于2mm;若大于,则执行步骤S320;否则,则执行步骤S318。
步骤S318:判断贝赛尔插值系数t的增量是否达到设定增量上限,或者,贝赛尔插值系数t是否达到设定上限;若是,则执行步骤S320;否则,返回步骤S314执行。
其中,设定增量上限和设定上限均可由本领域技术人员根据实际需求适当设定。如,设定增量上限为1/N,设定上限为1/2。
步骤S320:输出最后一次贝赛尔插值计算出的坐标。
通过本实施例,使用贝塞尔插值方式进行坐标平滑,在实现坐标平滑的同时,还可以兼顾坐标的滞后程度,通过修改贝塞尔插值系数,及时修正坐标。由此,既解决了坐标抖动与划线毛刺问题,又保证滞后的距离(计算得出的坐标与真实坐标的距离)在可控范围内。
传统的通过加权方式进行坐标平滑时,需要改变所有加权参数才能实现坐标平滑调整,从而容易引起坐标相对于真实位置的滞后,而且划线速度越快,滞后越严重,导致用户体验差。而通过贝赛尔插值迭代方式,只需调整一个贝赛尔插值系数t,即可实现坐标平滑和滞后的调整,大大提升了调整速度和效率。
实施例四
参照图5,示出了根据本发明实施例四的一种触控芯片的结构框图。
本实施例的触控芯片包括:获取模块402,用于获取触摸屏当前数据帧的触摸点坐标,以及,当前数据帧之前的连续N帧数据帧的触摸点坐标,其中,N为大于或等于2的自然数;迭代模块404,用于以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代;平滑模块406,用于获取所述贝赛尔插值迭代的迭代结果,根据所述迭代结果完成坐标平滑。
通过本实施例的触控芯片,在进行触摸屏的坐标平滑时,以当前数据帧及与当前数据帧相连续的N个历史数据帧的触摸点坐标为依据,通过触摸点坐标的贝赛尔插值迭代最终生成当前数据帧的新的触摸点坐标,以进行坐标平滑。其中,在一次完整的贝赛尔插值迭代过程中,贝赛尔插值系数均相同,与传统的通过加权平均进行坐标平滑的方式相比,一方面,简化了加权系数设置,降低了坐标平滑的实现成本;另一方面,通过对多个数据帧的触摸点坐标进行贝赛尔插值迭代,插值结果客观、准确,有效减轻了坐标抖动和划线毛刺,提升了坐标平滑效果;再一方面,若需要对坐标平滑的效果进行调整,则调整一个贝赛尔插值系数即可,无需进行多个系数调整,从而提高了坐标平滑效果改善的速度和效率。
实施例五
参照图6,示出了根据本发明实施例五的一种触控芯片的结构框图。
本实施例的触控芯片包括:获取模块502,用于获取触摸屏当前数据帧的触摸点坐标,以及,当前数据帧之前的连续N帧数据帧的触摸点坐标,其中,N为大于或等于2的自然数;迭代模块504,用于以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代;平滑模块506,用于获取所述贝赛尔插值迭代的迭代结果,根据所述迭代结果完成坐标平滑。
可选地,迭代模块504包括:插值模块5042,用于根据所述N+1帧数据帧的时间序列,依次对所述N+1帧数据帧对应的触摸点坐标进行贝赛尔插值;插值结果模块5044,用于根据贝赛尔插值结果,获得具有第一时序关系的多个(两个及两个以上)通过贝赛尔插值生成的触摸点坐标;继续迭代模块5046,用于对多个生成的触摸点坐标继续进行贝赛尔插值迭代,直至达到迭代终止条件。
可选地,继续迭代模块5046,用于针对当前数据帧的每一个触摸点坐标,按照对应的多个触摸点坐标之间的第一时序关系,依次进行触摸点坐标的贝赛尔插值;根据第一时序关系和贝赛尔插值结果,获得具有第二时序关系的至少一个通过贝赛尔插值生成的触摸点坐标;判断具有第二时序关系的触摸点坐标的数量是否为1;若为1,则结束贝赛尔插值迭代;若不为1,则使用具有第二时序关系的触摸点坐标更新与当前触摸点坐标对应的多个触摸点坐标,使用第二时序关系更新第一时序关系,返回所述按照对应的多个触摸点坐标之间的第一时序关系,依次进行触摸点坐标的贝赛尔插值的处理继续执行。
可选地,贝赛尔插值迭代为贝赛尔线性插值迭代。
可选地,迭代模块504,用于以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,以所述N+1帧数据帧中相邻的两帧为单位,对所述N+1帧数据帧的触摸点横坐标和纵坐标分别进行横坐标的贝赛尔插值迭代和纵坐标的贝赛尔插值迭代。
可选地,平滑模块506,用于获取所述贝赛尔插值迭代的迭代结果,,判断所述迭代结果与当前数据帧的触摸点坐标的差异是否大于第一设定阈值;若大于第一设定阈值,则减小贝赛尔插值系数,并使用减小后的贝赛尔插值系数重新对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,直至所述迭代结果与当前数据帧的触摸点坐标的差异小于第一设定阈值或者达到贝赛尔插值系数的下调终止条件;若不大于第一设定阈值,则增大贝赛尔插值系数,并使用增大后的贝赛尔插值系数重新对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,直至所述迭代结果与当前数据帧的触摸点坐标的差异大于第二设定阈值或者达到贝赛尔插值系数的上调终止条件。
可选地,贝赛尔插值系数的下调终止条件包括:贝赛尔插值系数的减量达到设定减量上限或者贝赛尔插值系数达到设定下限;和/或,贝赛尔插值系数的上调终止条件包括:贝赛尔插值系数的增量达到设定增量上限或者贝赛尔插值系数达到设定上限。
可选地,第一设定阈值为3mm,第二设定阈值为2mm。
可选地,平滑模块506用于使用贝赛尔插值迭代的迭代结果更新当前数据帧的触摸点坐标,以完成坐标平滑。
可选地,N为5-80之间的自然数。
本实施例的触控芯片用于实现前述多个方法实施例中相应的坐标平滑方法,并具有相应方法实施例的有益效果,在此不再赘述。
实施例六
参照图7,示出了根据本发明实施例六的一种触控芯片的结构示意图,本发明具体实施例并不对触控芯片的具体实现做限定。
如图7所示,该触控芯片可以包括:处理器(processor)602、通信接口(Communications Interface)604、存储器(memory)606、以及通信总线608。
其中:
处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。
通信接口604,用于与触控芯片所在的设备中的其它元件进行通信。
处理器602,用于执行程序610,具体可以执行上述坐标平滑方法实施例中的相关步骤。
具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。
处理器602可能是微处理器MPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器606,用于存放程序610。存储器606可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)。
程序610具体可以用于使得处理器602执行以下操作:获取触摸屏当前数据帧的触摸点坐标,以及,当前数据帧之前的连续N帧数据帧的触摸点坐标,其中,N为大于或等于2的自然数;以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代;获取所述贝赛尔插值迭代的迭代结果,根据所述迭代结果完成坐标平滑。
在一种可选的实施方式中,程序610还用于使得处理器602在以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代时,根据所述N+1帧数据帧的时间序列,依次对所述N+1帧数据帧对应的触摸点坐标进行贝赛尔插值;根据所述贝赛尔插值结果,获得具有第一时序关系的多个通过所述贝赛尔插值生成的触摸点坐标;对多个生成的所述触摸点坐标继续进行贝赛尔插值迭代,直至达到迭代终止条件。
在一种可选的实施方式中,程序610还用于使得处理器602在对多个生成的所述触摸点坐标继续进行贝赛尔插值迭代,直至达到迭代终止条件时,针对当前数据帧的每一个触摸点坐标,按照对应的多个触摸点坐标之间的第一时序关系,依次进行触摸点坐标的贝赛尔插值;根据所述第一时序关系和所述贝赛尔插值结果,获得具有第二时序关系的至少一个通过所述贝赛尔插值生成的触摸点坐标;判断具有第二时序关系的所述触摸点坐标的数量是否为1;若为1,则结束所述贝赛尔插值迭代;若不为1,则使用具有第二时序关系的触摸点坐标更新与当前触摸点坐标对应的多个触摸点坐标,使用所述第二时序关系更新所述第一时序关系,返回所述按照对应的多个触摸点坐标之间的第一时序关系,依次进行触摸点坐标的贝赛尔插值的步骤继续执行。
在一种可选的实施方式中,所述贝赛尔插值迭代为贝赛尔线性插值迭代。
在一种可选的实施方式中,程序610还用于使得处理器602在对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代时,以所述N+1帧数据帧中相邻的两帧为单位,对所述N+1帧数据帧的触摸点横坐标和纵坐标分别进行横坐标的贝赛尔插值迭代和纵坐标的贝赛尔插值迭代。
在一种可选的实施方式中,程序610还用于使得处理器602在获取所述贝赛尔插值迭代的迭代结果,根据所述迭代结果完成坐标平滑时,获取所述贝赛尔插值迭代的迭代结果,判断所述迭代结果与当前数据帧的触摸点坐标的差异是否大于第一设定阈值;若大于所述第一设定阈值,则减小贝赛尔插值系数,并使用减小后的所述贝赛尔插值系数重新对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,直至所述迭代结果与当前数据帧的触摸点坐标的差异小于所述第一设定阈值或者达到所述贝赛尔插值系数的下调终止条件;若不大于所述第一设定阈值,则增大所述贝赛尔插值系数,并使用增大后的所述贝赛尔插值系数重新对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,直至所述迭代结果与当前数据帧的触摸点坐标的差异大于第二设定阈值或者达到所述贝赛尔插值系数的上调终止条件。
在一种可选的实施方式中,所述贝赛尔插值系数的下调终止条件包括:所述贝赛尔插值系数的减量达到设定减量上限或者所述贝赛尔插值系数达到设定下限;和/或,所述贝赛尔插值系数的上调终止条件包括:所述贝赛尔插值系数的增量达到设定增量上限或者所述贝赛尔插值系数达到设定上限。
在一种可选的实施方式中,所述第一设定阈值为3mm,所述第二设定阈值为2mm。
在一种可选的实施方式中,程序610还用于使得处理器602在获取所述贝赛尔插值迭代的迭代结果,根据所述迭代结果完成坐标平滑时,使用所述贝赛尔插值迭代的迭代结果更新当前数据帧的触摸点坐标,以完成坐标平滑。
在一种可选的实施方式中,所述N为5-80之间的自然数。
程序610中各步骤的具体实现可以参见上述坐标平滑方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例的触摸芯片,在进行触摸屏的坐标平滑时,以当前数据帧及与当前数据帧相连续的N个历史数据帧的触摸点坐标为依据,通过触摸点坐标的贝赛尔插值迭代最终生成当前数据帧的新的触摸点坐标,以进行坐标平滑。其中,在一次完整的贝赛尔插值迭代过程中,贝赛尔插值系数均相同,与传统的通过加权平均进行坐标平滑的方式相比,一方面,简化了加权系数设置,降低了坐标平滑的实现成本;另一方面,通过对多个数据帧的触摸点坐标进行贝赛尔插值迭代,插值结果客观、准确,有效减轻了坐标抖动和划线毛刺,提升了坐标平滑效果;再一方面,若需要对坐标平滑的效果进行调整,则调整一个贝赛尔插值系数即可,无需进行多个系数调整,从而提高了坐标平滑效果改善的速度和效率。
此外,本发明实施例还提供了一种电子终端,其包括上述实施例四或五或六中所述的触控芯片。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,所述计算机可读记录介质包括用于以计算机(例如计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等,该计算机软件产品包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (18)

1.一种坐标平滑方法,包括:
获取触摸屏当前数据帧的触摸点坐标,以及,当前数据帧之前的连续N帧数据帧的触摸点坐标,其中,N为大于或等于2的自然数;
以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代;
获取所述贝赛尔插值迭代的迭代结果,根据所述迭代结果完成坐标平滑包括:
获取所述贝赛尔插值迭代的迭代结果,判断所述迭代结果与当前数据帧的触摸点坐标的差异是否大于第一设定阈值;
若大于所述第一设定阈值,则减小贝赛尔插值系数,并使用减小后的所述贝赛尔插值系数重新对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,直至所述迭代结果与当前数据帧的触摸点坐标的差异小于所述第一设定阈值或者达到所述贝赛尔插值系数的下调终止条件;
若不大于所述第一设定阈值,则增大所述贝赛尔插值系数,并使用增大后的所述贝赛尔插值系数重新对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,直至所述迭代结果与当前数据帧的触摸点坐标的差异大于第二设定阈值或者达到所述贝赛尔插值系数的上调终止条件;
使用所述贝赛尔插值迭代的迭代结果更新当前数据帧的触摸点坐标,以完成坐标平滑。
2.如权利要求1所述的方法,其中,所述以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,包括:
根据所述N+1帧数据帧的时间序列,依次对所述N+1帧数据帧对应的触摸点坐标进行贝赛尔插值以获得贝赛尔插值结果;
根据所述贝赛尔插值结果,获得具有第一时序关系的多个通过所述贝赛尔插值生成的触摸点坐标;
对多个生成的所述触摸点坐标继续进行贝赛尔插值迭代,直至达到迭代终止条件。
3.如权利要求2所述的方法,其中,所述对多个生成的所述触摸点坐标继续进行贝赛尔插值迭代,直至达到迭代终止条件,包括:
针对当前数据帧的每一个触摸点坐标,按照对应的多个触摸点坐标之间的第一时序关系,依次进行触摸点坐标的贝赛尔插值;
根据所述第一时序关系和所述贝赛尔插值结果,获得具有第二时序关系的至少一个通过所述贝赛尔插值生成的触摸点坐标;
判断具有第二时序关系的所述触摸点坐标的数量是否为1;
若为1,则结束所述贝赛尔插值迭代;
若不为1,则使用具有第二时序关系的触摸点坐标更新与当前触摸点坐标对应的多个触摸点坐标,使用所述第二时序关系更新所述第一时序关系,返回所述按照对应的多个触摸点坐标之间的第一时序关系,依次进行触摸点坐标的贝赛尔插值的步骤继续执行。
4.如权利要求1-3任一项所述的方法,其中,所述贝赛尔插值迭代为贝赛尔线性插值迭代。
5.如权利要求1-3任一项所述的方法,其中,所述对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,包括:
以所述N+1帧数据帧中相邻的两帧为单位,对所述N+1帧数据帧的触摸点横坐标和纵坐标分别进行横坐标的贝赛尔插值迭代和纵坐标的贝赛尔插值迭代。
6.如权利要求1所述的方法,其中,
所述贝赛尔插值系数的下调终止条件包括:所述贝赛尔插值系数的减量达到设定减量上限或者所述贝赛尔插值系数达到设定下限;
和/或,
所述贝赛尔插值系数的上调终止条件包括:所述贝赛尔插值系数的增量达到设定增量上限或者所述贝赛尔插值系数达到设定上限。
7.如权利要求6所述的方法,其中,所述第一设定阈值为3mm,所述第二设定阈值为2mm。
8.如权利要求1-3、6-7任一项所述的方法,其中,所述N为5-80之间的自然数。
9.一种触控芯片,包括:
获取模块,用于获取触摸屏当前数据帧的触摸点坐标,以及,当前数据帧之前的连续N帧数据帧的触摸点坐标,其中,N为大于或等于2的自然数;
迭代模块,用于以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代;
平滑模块,用于获取所述贝赛尔插值迭代的迭代结果,根据所述迭代结果完成坐标平滑,包括:判断所述迭代结果与当前数据帧的触摸点坐标的差异是否大于第一设定阈值;若大于所述第一设定阈值,则减小贝赛尔插值系数,并使用减小后的所述贝赛尔插值系数重新对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,直至所述迭代结果与当前数据帧的触摸点坐标的差异小于所述第一设定阈值或者达到所述贝赛尔插值系数的下调终止条件;若不大于所述第一设定阈值,则增大所述贝赛尔插值系数,并使用增大后的所述贝赛尔插值系数重新对所述N+1帧数据帧的触摸点坐标进行贝赛尔插值迭代,直至所述迭代结果与当前数据帧的触摸点坐标的差异大于第二设定阈值或者达到所述贝赛尔插值系数的上调终止条件,使用所述贝赛尔插值迭代的迭代结果更新当前数据帧的触摸点坐标,以完成坐标平滑。
10.如权利要求9所述的触控芯片,其中,所述迭代模块包括:
插值模块,用于根据所述N+1帧数据帧的时间序列,依次对所述N+1帧数据帧对应的触摸点坐标进行贝赛尔插值;
插值结果模块,用于根据述贝赛尔插值结果,获得具有第一时序关系的多个通过所述贝赛尔插值生成的触摸点坐标;
继续迭代模块,用于对多个生成的所述触摸点坐标继续进行贝赛尔插值迭代,直至达到迭代终止条件。
11.如权利要求10所述的触控芯片,其中,所述继续迭代模块,用于针对当前数据帧的每一个触摸点坐标,按照对应的多个触摸点坐标之间的第一时序关系,依次进行触摸点坐标的贝赛尔插值;根据所述第一时序关系和所述贝赛尔插值结果,获得具有第二时序关系的至少一个通过所述贝赛尔插值生成的触摸点坐标;判断具有第二时序关系的所述触摸点坐标的数量是否为1;若为1,则结束所述贝赛尔插值迭代;若不为1,则使用具有第二时序关系的触摸点坐标更新与当前触摸点坐标对应的多个触摸点坐标,使用所述第二时序关系更新所述第一时序关系,返回所述按照对应的多个触摸点坐标之间的第一时序关系,依次进行触摸点坐标的贝赛尔插值的处理继续执行。
12.如权利要求9-11任一项所述的触控芯片,其中,所述贝赛尔插值迭代为贝赛尔线性插值迭代。
13.如权利要求9-11任一项所述的触控芯片,其中,所述迭代模块,用于以包括当前数据帧在内的N+1帧数据帧的触摸点坐标为迭代初值,以所述N+1帧数据帧中相邻的两帧为单位,对所述N+1帧数据帧的触摸点横坐标和纵坐标分别进行横坐标的贝赛尔插值迭代和纵坐标的贝赛尔插值迭代。
14.如权利要求9所述的触控芯片,其中,
所述贝赛尔插值系数的下调终止条件包括:所述贝赛尔插值系数的减量达到设定减量上限或者所述贝赛尔插值系数达到设定下限;
和/或,
所述贝赛尔插值系数的上调终止条件包括:所述贝赛尔插值系数的增量达到设定增量上限或者所述贝赛尔插值系数达到设定上限。
15.如权利要求14所述的触控芯片,其中,所述第一设定阈值为3mm,所述第二设定阈值为2mm。
16.如权利要求9-11、14-15任一项所述的触控芯片,其中,所述N为5-80之间的自然数。
17.一种触控芯片,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-8任一项所述的坐标平滑方法对应的操作。
18.一种电子终端,包括如权利要求9-16任一项所述的触控芯片;或者,包括如权利要求17所述的触控芯片。
CN201880000335.XA 2018-04-19 2018-04-19 坐标平滑方法、触控芯片及电子终端 Active CN110622116B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/083715 WO2019200581A1 (zh) 2018-04-19 2018-04-19 坐标平滑方法、触控芯片及电子终端

Publications (2)

Publication Number Publication Date
CN110622116A CN110622116A (zh) 2019-12-27
CN110622116B true CN110622116B (zh) 2023-01-24

Family

ID=68239352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880000335.XA Active CN110622116B (zh) 2018-04-19 2018-04-19 坐标平滑方法、触控芯片及电子终端

Country Status (4)

Country Link
US (1) US11361409B2 (zh)
EP (1) EP3745240B1 (zh)
CN (1) CN110622116B (zh)
WO (1) WO2019200581A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799547B (zh) * 2021-01-26 2023-04-07 广州创知科技有限公司 红外触摸屏的触摸定位方法、模型训练方法、装置、设备及介质
WO2023272639A1 (zh) * 2021-06-30 2023-01-05 东莞市小精灵教育软件有限公司 一种手指稳定帧检测方法及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521858A (zh) * 2011-11-28 2012-06-27 北京盛世宣合信息科技有限公司 电子毛笔书写笔迹生成方法
CN103500037A (zh) * 2013-09-11 2014-01-08 天脉聚源(北京)传媒科技有限公司 一种轨迹平滑的方法及装置
CN103902086A (zh) * 2012-12-28 2014-07-02 北京汇冠新技术股份有限公司 一种基于曲线拟合的触摸轨迹平滑方法及***
CN105378611A (zh) * 2013-07-12 2016-03-02 触觉实验室股份有限公司 快速多触摸后处理

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521856B (zh) * 2011-11-28 2013-11-13 北京盛世宣合信息科技有限公司 电子毛笔书写笔形变形方法
CN104123027B (zh) * 2013-04-28 2017-03-22 北京汇冠新技术股份有限公司 一种触摸轨迹平滑处理方法
US9377943B2 (en) * 2013-05-30 2016-06-28 Sony Corporation Method and apparatus for outputting display data based on a touch operation on a touch panel
CN103440101B (zh) * 2013-08-16 2016-08-10 深圳市经纬科技有限公司 一种手写原笔迹数据的处理方法、***及手机
US9384570B2 (en) * 2013-09-16 2016-07-05 Nvidia Corporation Efficient setup and evaluation of filled cubic bezier paths
US9727987B2 (en) * 2014-05-12 2017-08-08 Adobe Systems Incorporated Blending techniques for curve fitting
CN105335069A (zh) * 2014-07-09 2016-02-17 阿里巴巴集团控股有限公司 一种在触屏设备中生成滑动轨迹的方法和装置
US9508166B2 (en) * 2014-09-15 2016-11-29 Microsoft Technology Licensing, Llc Smoothing and GPU-enabled rendering of digital ink
US10455115B2 (en) * 2017-05-19 2019-10-22 Microsoft Technology Licensing, Llc Adaptive stylus position interpolation
CN110349238B (zh) * 2019-07-15 2023-03-14 南京大学 一种毛笔小楷字渲染方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521858A (zh) * 2011-11-28 2012-06-27 北京盛世宣合信息科技有限公司 电子毛笔书写笔迹生成方法
CN103902086A (zh) * 2012-12-28 2014-07-02 北京汇冠新技术股份有限公司 一种基于曲线拟合的触摸轨迹平滑方法及***
CN105378611A (zh) * 2013-07-12 2016-03-02 触觉实验室股份有限公司 快速多触摸后处理
CN103500037A (zh) * 2013-09-11 2014-01-08 天脉聚源(北京)传媒科技有限公司 一种轨迹平滑的方法及装置

Also Published As

Publication number Publication date
EP3745240A1 (en) 2020-12-02
WO2019200581A1 (zh) 2019-10-24
US11361409B2 (en) 2022-06-14
EP3745240B1 (en) 2022-08-31
EP3745240A4 (en) 2021-03-03
US20200388012A1 (en) 2020-12-10
CN110622116A (zh) 2019-12-27

Similar Documents

Publication Publication Date Title
CN108022286A (zh) 画面渲染方法、装置及存储介质
CN110622116B (zh) 坐标平滑方法、触控芯片及电子终端
EP3852014A1 (en) Method and apparatus for training learning model, and computing device
CN105045210A (zh) Cnc数控设备自适应控制弓高误差的平滑插补方法
CN110443357A (zh) 卷积神经网络计算优化方法、装置、计算机设备及介质
CN104036784A (zh) 一种回声消除方法及装置
CN110376290B (zh) 基于多维核密度估计的声发射源定位方法
CN111844030B (zh) 插补点生成方法、装置、处理器及电子装置
CN104915009B (zh) 手势预判的方法及***
CN105739936B (zh) 一种用户终端控制方法及用户终端
CN113965313A (zh) 基于同态加密的模型训练方法、装置、设备以及存储介质
CN108550365B (zh) 离线语音识别的阈值自适应调整方法
CN110874567B (zh) 颜值判定方法、装置、电子设备及存储介质
CN103529973B (zh) 触摸屏控制器的增益调节方法和增益调节电路
CN105487801B (zh) 一种进度条调节方法及移动终端
CN112388623B (zh) 舵机位置控制方法、装置、终端设备及介质
CN115035909A (zh) 音乐可视化展示方法及装置
CN105553370B (zh) 一种电机控制方法及电子设备
CN110415321B (zh) 一种动画动作处理方法及其***
CN113534997A (zh) 基于残差的卡尔曼滤波模型的参数调节方法、***及设备
CN113805701A (zh) 确定虚拟形象显示范围的方法、电子设备及存储介质
CN107256425B (zh) 随机权网络泛化能力改进方法及装置
CN106540449A (zh) 一种游戏赢率计算方法及装置
CN107292220B (zh) 一种眉毛位置的初始化方法及电子设备
WO2023273792A1 (zh) 振动评估方法、装置、计算机设备、存储介质及计算机程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant