书写笔迹生成方法、装置、存储介质、电子设备及系统与流程

文档序号:21079322发布日期:2020-06-12 16:22阅读:216来源:国知局
书写笔迹生成方法、装置、存储介质、电子设备及系统与流程

本申请涉及数据处理技术领域,具体而言,涉及一种书写笔迹生成方法、装置、存储介质、电子设备及系统。



背景技术:

目前,市场上有一些提供压力信息的专用笔,该笔在交互面板上书写的时候,可以将2048级的压力信息通过蓝牙、网络等方式告知系统。然后,该系统通过书写软件将该压力信息与交互面板采集的书写坐标信息相结合,从而生成粗细变化的书写笔迹。

然而,目前在对该压力信息和书写坐标信息进行组合的过程中通常存在压力信息与书写坐标信息匹配不准确的问题,进而导致最终生成的书写笔迹效果不太理想。



技术实现要素:

本申请实施例通过提供一种书写笔迹生成方法、装置、存储介质、电子设备及系统,以解决现有技术中的上述问题。

为了实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供一种书写笔迹生成方法,该方法应用于电子设备,所述电子设备包括第一装置,且所述电子设备与第二装置通信连接,其中,所述第一装置用于采集书写坐标数据,所述第二装置用于采集书写压力数据,所述方法包括:

接收所述第一装置采集的书写坐标数据及所述第二装置采集的书写压力数据;

根据所述书写坐标数据的接收时间及所述书写压力数据的接收时间对所述书写坐标数据和所述书写压力数据进行匹配,得到融合书写信息;

根据所述融合书写信息生成书写笔迹。

可选地,在本申请的一种实施例中,在根据所述书写坐标数据的接收时间及所述书写压力数据的接收时间对所述书写坐标数据和所述书写压力数据进行匹配之前,所述方法还包括:

将所述书写坐标数据与对应的接收时间打包写入第一缓存队列;

将所述书写压力数据与对应的接收时间打包写入第二缓存队列。

可选地,在本申请的一种实施例中,所述将所述书写压力数据与对应的接收时间打包写入第二缓存队列,包括:

判断最新接收的书写压力数据是否为零;

若所述最新接收的书写压力数据不为零,将所述最新接收的书写压力数据与对应的接收时间打包写入所述第二缓存队列;

若所述最新接收的书写压力数据为零,则判断所述第二缓存队列中的最后一个书写压力数据是否为零;

若所述第二缓存队列中的最后一个书写压力数据为零,则将所述第二缓存队列中的最后一个书写压力数据替换为所述最新接收的书写压力数据,并将所述第二缓存队列中的最后一个书写压力数据所对应的接收时间替换为所述最新接收的书写压力数据的接收时间;

若所述第二缓存队列中的最后一个压力数据不为零,则将所述最新接收的书写压力数据与对应的接收时间打包写入所述第二缓存队列。

可选地,在本申请的一种实施例中,所述根据所述书写坐标数据的接收时间及所述书写压力数据的接收时间对所述书写坐标数据和所述书写压力数据进行匹配,得到融合书写信息,包括:

根据所述第一缓存队列中第一个书写坐标数据所对应的第一接收时间及所述第二缓存队列中第一个非零的书写压力数据所对应的第二接收时间,得到所述书写坐标数据与匹配的书写压力数据之间的接收时差;

根据所述接收时差对所述第二缓存队列中每一个所述书写压力数据的接收时间进行校准,得到每一个所述书写压力数据对应的校准时间;

基于所述校准时间在所述第二缓存队列中查找每一个所述书写坐标数据匹配的书写压力数据,并将每一个所述书写坐标数据与匹配的书写压力数据组合,得到融合书写信息。

可选地,在当前书写动作对应的书写坐标数据包括落笔点坐标数据及抬起点坐标数据时,所述基于所述校准时间在所述第二缓存队列中查找每一个所述书写坐标数据匹配的书写压力数据,包括:

从所述第二缓存队列的队首开始,查找校准时间与所述落笔点坐标数据的接收时间最接近的书写压力数据作为当前书写动作中的落笔点坐标数据匹配的书写压力数据;

将当前书写动作中位于所述抬起点坐标数据前一位的书写坐标数据所匹配的书写压力数据作为所述抬起点坐标数据匹配的书写压力数据,或从当前书写动作中所述抬起点坐标数据前一位书写坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述抬起点坐标数据的接收时间最接近的书写压力数据作为所述抬起点坐标数据匹配的书写压力数据。

可选地,在本申请的一种实施例中,当前书写动作对应的书写坐标数据还包括移动点坐标数据,所述移动点坐标数据的接收时间介于所述落笔点坐标数据的接收时间与所述抬起点坐标数据的接收时间之间,所述基于所述校准时间在所述第二缓存队列中查找每一个所述书写坐标数据匹配的书写压力数据,还包括:

从所述落笔点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据。

可选地,在本申请的一种实施例中,在所述从所述落笔点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据之前,所述方法还包括:

判断所述移动点坐标数据是否是当前书写动作中的第一个移动点坐标数据;

若所述移动点坐标数据是当前书写动作中的第一个移动点坐标数据,执行所述从当前书写动作中的落笔点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据的步骤;

若所述移动点坐标数据不是当前书写动作中的第一个移动点坐标数据,则从当前书写动作中上一个移动点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据。

可选地,在本申请的一种实施例中,所述基于所述校准时间在所述第二缓存队列中查找每一个所述书写坐标数据匹配的书写压力数据,还包括:

在所述第二缓存队列中查找校准时间与所述书写坐标数据的接收时间最接近的目标书写压力数据;

若所述目标书写压力数据的数量大于一个,则将所有所述目标书写压力数据的平均值作为所述书写坐标数据匹配的书写压力数据。

可选地,在本申请的一种实施例中,所述方法还包括:

检测所述书写坐标数据写入所述第一缓存队列的第一缓存时长,以及所述书写压力数据写入所述第二缓存队列的第二缓存时长;

将第一缓存时长大于第一预设阈值的书写坐标数据从所述第一缓存队列中删除,并将第二缓存时长大于第二预设阈值的书写压力数据从所述第二缓存队列中删除。

第二方面,本申请实施例提供一种书写笔迹生成装置,应用于电子设备,所述电子设备包括第一装置,且所述电子设备与第二装置通信连接,其中,所述第一装置用于采集书写坐标数据,所述第二装置用于采集书写压力数据,所述书写笔迹生成装置包括:

接收模块,用于接收所述第一装置采集的书写坐标数据及所述第二装置采集的书写压力数据;

匹配模块,用于根据所述书写坐标数据的接收时间及所述书写压力数据的接收时间对所述书写坐标数据和所述书写压力数据进行匹配,得到融合书写信息;

生成模块,用于根据所述融合书写信息生成书写笔迹。

可选地,在本申请的一种实施例中,所述书写笔迹生成装置还包括缓存模块,所述缓存模块用于:

将所述书写坐标数据与对应的接收时间打包写入第一缓存队列;

将所述书写压力数据与对应的接收时间打包写入第二缓存队列。

可选地,在本申请的一种实施例中,所述缓存模块在将所述书写压力数据与对应的接收时间打包写入第二缓存队列时具体用于:

判断最新接收的书写压力数据是否为零;

若所述最新接收的书写压力数据不为零,将所述最新接收的书写压力数据与对应的接收时间打包写入所述第二缓存队列;

若所述最新接收的书写压力数据为零,则判断所述第二缓存队列中的最后一个书写压力数据是否为零;

若所述第二缓存队列中的最后一个书写压力数据为零,则将所述第二缓存队列中的最后一个书写压力数据替换为所述最新接收的书写压力数据,并将所述第二缓存队列中的最后一个书写压力数据所对应的接收时间替换为所述最新接收的书写压力数据的接收时间;

若所述第二缓存队列中的最后一个压力数据不为零,则将所述最新接收的书写压力数据与对应的接收时间打包写入所述第二缓存队列。

可选地,在本申请的一种实施例中,所述匹配模块具体用于:

根据所述第一缓存队列中第一个书写坐标数据所对应的第一接收时间及所述第二缓存队列中第一个非零的书写压力数据所对应的第二接收时间,得到所述书写坐标数据与匹配的书写压力数据之间的接收时差;

根据所述接收时差对所述第二缓存队列中每一个所述书写压力数据的接收时间进行校准,得到每一个所述书写压力数据对应的校准时间;

基于所述校准时间在所述第二缓存队列中查找每一个所述书写坐标数据匹配的书写压力数据,并将每一个所述书写坐标数据与匹配的书写压力数据组合,得到融合书写信息。

可选地,在当前书写动作对应的书写坐标数据包括落笔点坐标数据及抬起点坐标数据时,所述匹配模块具体用于:

从所述第二缓存队列的队首开始,查找校准时间与所述落笔点坐标数据的接收时间最接近的书写压力数据作为当前书写动作中的落笔点坐标数据匹配的书写压力数据;

将当前书写动作中位于所述抬起点坐标数据前一位的书写坐标数据所匹配的书写压力数据作为所述抬起点坐标数据匹配的书写压力数据,或从当前书写动作中所述抬起点坐标数据前一位书写坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述抬起点坐标数据的接收时间最接近的书写压力数据作为所述抬起点坐标数据匹配的书写压力数据。

可选地,在当前书写动作对应的书写坐标数据还包括移动点坐标数据,且所述移动点坐标数据的接收时间介于所述落笔点坐标数据的接收时间与所述抬起点坐标数据的接收时间之间时,所述匹配模块还具体用于:

从所述落笔点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据。

可选地,在本申请的一种实施例中,所述匹配模块还用于:

在从所述落笔点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据之前,判断所述移动点坐标数据是否是当前书写动作中的第一个移动点坐标数据;

若所述移动点坐标数据是当前书写动作中的第一个移动点坐标数据,从当前书写动作中的落笔点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据;

若所述移动点坐标数据不是当前书写动作中的第一个移动点坐标数据,则从当前书写动作中上一个移动点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据。

可选地,在本申请的一种实施例中,所述匹配模块还用于:

在所述第二缓存队列中查找校准时间与所述书写坐标数据的接收时间最接近的目标书写压力数据;

若所述目标书写压力数据的数量大于一个,则将所有所述目标书写压力数据的平均值作为所述书写坐标数据匹配的书写压力数据。

可选地,在本申请的一种实施例中,所述书写笔迹生成装置还包括删除模块,所述删除模块用于:

检测所述书写坐标数据写入所述第一缓存队列的第一缓存时长,以及所述书写压力数据写入所述第二缓存队列的第二缓存时长;

将第一缓存时长大于第一预设阈值的书写坐标数据从所述第一缓存队列中删除,并将第二缓存时长大于第二预设阈值的书写压力数据从所述第二缓存队列中删除。

第三方面,本申请实施例提供一种存储介质,所述存储介质包括计算机程序,所述计算机程序用于实现如上任一项所述的方法。

第四方面,本申请实施例还提供一种电子设备,所述电子设备包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器用于加载执行所述计算机程序,以使所述电子设备执行如上任一项所述的方法。

第五方面,本申请实施例还提供一种书写笔迹生成系统,所述系统包括第二装置及如上所述的电子设备。

相对于现有技术而言,本申请实施例中提供的书写笔迹生成方法,至少具有如下技术效果或优点:

本申请实施例提供的书写笔迹生成方法,根据第一装置采集的书写坐标数据的接收时间,以及第二装置采集的书写压力数据的接收时间,将该书写坐标数据与书写压力数据进行匹配,得到准确的融合书写信息,最后根据该融合书写信息生成书写笔迹。相对于现有技术而言,通过该方法,可以生成随书写压力数据和书写坐标数据而改变的更加真实的书写笔迹,从而达到提高书写效果和提升用户书写体验的效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的电子设备的结构示意图;

图2为本申请实施例提供的书写笔迹生成方法的步骤流程示意图;

图3为图2中步骤s20的子步骤流程示意图;

图4为图2中步骤s30的子步骤流程示意图;

图5为本申请实施例提供的书写笔迹生成方法中时间校准和数据匹配过程的原理示意图;

图6为本申请实施例提供的书写笔迹生成装置的模块示意图。

附图标记:20-电子设备;21-存储器;22-存储控制器;23-处理器;70-书写笔迹生成装置;701-接收模块;702-匹配模块;703-生成模块;704-缓存模块;705-删除模块。

具体实施方式

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。在不冲突的情况下,下述实施例及实施例中的特征可以相互组合。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

随着电子白板等无尘化设备的普及,越来越多的教育机构将电子白板应用到教学中。该电子白板可以通过交互面板实时采集书写的坐标数据,同时通过手写笔实时采集书写的压力数据,然后将该坐标数据与压力数据相结合,从而在该电子白板上生成随书写压力和书写坐标而改变的书写笔迹。

但是,由于该手写笔采集的书写压力数据与该交互面板采集的书写坐标数据的传输路径和传输速度不同,并且,该书写压力数据和该书写坐标数据的采集频率也可能不相同,因此,现有技术中在对该书写压力数据和该书写坐标数据进行组合时通常存在匹配不准确的问题,进而导致电子白板最终生成的书写笔迹效果不太理想。

针对上述问题,本申请实施例提供一种书写笔迹生成方法、装置、存储介质、电子设备及系统,以提高书写坐标数据与书写压力数据进行匹配的准确性,进而改善电子白板生成的书写笔迹效果。

参照图1,为本申请实施例提供的电子设备20的结构示意图,该电子设备20包括书写笔迹生成装置70、存储器21、存储控制器22及处理器23。

所述存储器21、存储控制器22及处理器23各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述书写笔迹生成装置70可以包括至少一个可以软件或固件(firmware)的形式存储于所述存储器21中或固化在所述电子设备20的操作系统(operatingsystem,os)中的软件功能模块。所述处理器23用于执行所述存储器21中存储的可执行模块,例如所述书写笔迹生成装置70所包括的软件功能模块及计算机程序等,以使所述电子设备20执行如下所述的书写笔迹生成方法。

需要说明的是的,在本申请实施例中,上述电子设备20可以包括第一装置,并且,该电子设备20还与第二装置通信连接,从而构成一书写笔迹生成系统。该电子设备20用于接收上述第一装置采集的书写坐标数据以及上述第二装置采集的书写压力数据,并通过如下所述的书写笔迹生成方法将该书写坐标数据与书写压力数据融合,然后根据融合书写信息生成随书写压力数据和书写坐标数据而改变的书写笔迹。

在本申请实施例中,该第一装置可以是,但不限于触控面板;该第二装置可以是,但不限于手写笔。其中,第一装置用于采集书写坐标数据(即用户通过手写笔在触控面板上进行书写操作时该手写笔与触控面板的接触点的位置坐标数据),用于采集书写压力数据(即用户通过手写笔在触控面板上进行书写操作时该手写笔与触控面板之间的接触压力数据)。

除此之外,在本申请实施例中,该电子设备20还可以包括显示装置,该显示装置用于显示根据上述书写坐标数据和书写压力数据处理得到的随书写压力数据和书写坐标数据而改变的书写笔迹。

还需要说明的是,在上述书写笔迹生成系统中,该显示装置与第一装置可以是两个独立个体,也可以集成于一体。当该显示装置与第一装置集成于一体时,构成一触控显示屏。

下面结合图2-图5对本申请实施例提供的书写笔迹生成方法进行详细说明。

参照图2,为本申请实施例提供的书写笔迹生成方法的步骤流程示意图。该方法可以应用上述的电子设备20,从而为该电子设备20提供书写笔迹生成功能。

在本申请实施例中,该电子设备20包括用于采集书写坐标数据的第一装置,并且该电子设备20与用于采集书写压力数据的第二装置通信连接,该方法包括:

步骤s10,接收所述第一装置采集的书写坐标数据及所述第二装置采集的书写压力数据。

步骤s20,根据所述书写坐标数据的接收时间及所述书写压力数据的接收时间对所述书写坐标数据和所述书写压力数据进行匹配,得到融合书写信息。

步骤s30,根据所述融合书写信息生成书写笔迹。

如上所述,在本申请实施例中,该第一装置可以是,但不限于触控面板;该第二装置可以是,但不限于手写笔。其中,该书写坐标数据为用户通过第二装置在第一装置上进行书写操作时该第二装置与第一装置的接触点的位置坐标数据;该书写压力数据表示用户通过第二装置在第一装置上进行书写操作时该第二装置与第一装置之间的接触压力数据。

具体地,在一种可能的实施例中,该第一装置为触控显示屏,该第一装置通过总线将采集到的书写坐标数据传输到该电子设备20的处理器。而该第二装置为具有书写压力检测功能的手写笔,该第二装置可以通过蓝牙、wifi、红外传输等方式将采集到的书写压力数据传输到该电子设备20的处理器。

当电子设备20接收到第一装置采集的书写坐标数据,以及第二装置采集的书写压力数据后,可以分别记录每一个书写坐标数据和每一个书写压力数据所对应的接收时间,然后根据该书写坐标数据及书写压力数据的接收时间对其进行匹配,得到融合书写信息,最后,根据该融合书写信息即可生成相应的书写笔迹。

应当理解,在本申请实施例中,该融合书写信息表示该书写坐标数据与匹配的书写压力数据的组合。举例而言,当某一个书写动作中第一装置采集到的落笔点的书写坐标数据为(30,50),第二装置采集到的落笔点的书写压力数据为500,则可以将该落笔点所对应的融合书写信息可以表示为d1(30,50,500)。

还应当理解的是,在本申请实施例中,上述的书写坐标数据(30,50)表示的是书写时第二装置与第一装置的接触点相对于第一装置的相对位置,而书写压力数据500表示的是书写时第二装置与第一装置之间的接触压力数据所对应的压力等级。并且,在本申请实施例中,可以对不同的接触压力等级配置不同的线宽,在该电子设备20得到该融合书写信息之后,即可根据其中的书写坐标数据和书写压力数据在对应位置生成对应线宽的书写笔迹,使得书写笔迹更加真实,从而提高书写效果和用户的书写体验。

在本申请实施例一些可能的实现方式中,在上述步骤s20之前还可以包括:

步骤s15,将所述书写坐标数据与对应的接收时间打包写入第一缓存队列,将所述书写压力数据与对应的接收时间打包写入第二缓存队列。

在本申请实施例中,该电子设备20接收到第一装置采集的书写坐标数据和第二装置采集的书写压力数据之后,可以将该书写坐标数据按照接收时间顺序依次写入第一缓存队列,将该书写压力数据按照接收时间顺序依次写入第二缓存队列,同时,还可以记录每一个书写坐标数据和每一个书写压力数据的接收时间,以便于后续过程中对该书写坐标数据和书写压力数据进行匹配。并且,在本申请实施例中,为了便于对该书写坐标数据、书写压力数据及其对应的接收时间进行管理,还可以将每一个书写坐标数据及其对应的接收时间打包写入第一缓存队列,将每一个书写压力数据及其对应的接收时间打包写入第二缓存队列。

参照图3,由于考虑到书写过程中当手写笔抬起时会采集大量压力值为零的无效数据,因此,为了避免大量无效数据写入该第二缓存队列,占用不必要的存储空间,在本申请的一种实施例中,将该第二装置采集的书写压力数据写入第二缓存队列的步骤可以包括:

子步骤s151,判断最新接收的书写压力数据是否为零。

在所述最新接收的书写压力数据不为零时,执行子步骤s152,将所述最新接收的书写压力数据与对应的接收时间打包写入第二缓存队列。

在所述最新接收的书写压力数据为零时,执行子步骤s153,判断第二缓存队列中的最后一个书写压力数据是否为零。

进一步地,若所述第二缓存队列中的最后一个书写压力数据为零,执行子步骤s154,将所述第二缓存队列中的最后一个书写压力数据替换为所述最新接收的书写压力数据,并将所述第二缓存队列中的最后一个书写压力数据所对应的接收时间替换为所述最新接收的书写压力数据的接收时间。

若所述第二缓存队列中的最后一个书写压力数据不为零,则执行上述子步骤s152,将所述最新接收的书写压力数据与对应的接收时间打包写入第二缓存队列。

应当理解,在本申请实施例中,通过上述方法,可以防止多个压力值为零的书写压力数据连续写入该第二缓存队列(即在两个非零书写压力数据之间最多存在一个压力值为零的书写压力数据),从而避免无效的书写压力数据占用过多的缓存空间。并且,通过上述过程还可以减少该第二缓存队列中缓存的数据量,因此,在本申请实施例中,通过上述方法还可以简化后续过程中书写坐标数据与书写压力数据的匹配过程。

除此之外,还应当理解的是,在本申请实施例中,对于连续多个压力值为零的书写压力数据,在写入第二缓存队列时仅对其保存其中最新的一个(即接收时间最晚的一个),不仅可以在减少缓存数据量的同时基于每个书写压力数据的接收时间简化书写坐标数据和书写压力数据的匹配过程,还可以通过该压力值为零的书写压力数据将不同书写动作所对应的书写压力数据进行隔离,进而便于对不同的书写动作进行准确识别。

进一步地,请参照图4,在本申请的一种实施例中,上述步骤s20可以包括:

子步骤s201,根据所述第一缓存队列中第一个书写坐标数据所对应的第一接收时间及所述第二缓存队列中第一个非零的书写压力数据所对应的第二接收时间,得到所述书写坐标数据与匹配的书写压力数据之间的接收时差。

子步骤s202,根据所述接收时差对所述第二缓存队列中每一个所述书写压力数据的接收时间进行校准,得到每一个所述书写压力数据对应的校准时间。

子步骤s203,基于所述校准时间在所述第二缓存队列中查找每一个所述书写坐标数据匹配的书写压力数据,并将每一个所述书写坐标数据与匹配的书写压力数据组合,得到融合书写信息。

下面结合图5对上述校准过程和匹配过程进行详细说明。

在本申请实施例中,由于该第二装置采集的书写压力数据与该第一装置采集的书写坐标数据的传输路径和传输速度不同,并且,该书写压力数据和该书写坐标数据的采集频率也可能不相同,因此,对于当前书写动作所对应的书写坐标数据和书写压力数据写入缓存队列的接收时间会存在一定的接收时差。

如图5中的第一缓存队列a和第二缓存队列b1所示,在一种可能的实施例中,第一装置采集的第一个书写坐标数据的接收时间是0.01,而第二装置采集的第一个非零的书写压力数据的接收时间是0.08,二者之间存在0.07的接收时差。需要说明的是,由于第二装置启动后便会以一定频率向上述电子设备20发送书写压力数据,而此时用户通常并没有开始书写动作,换句话说,即第二缓存队列中的第一个书写压力数据通常为零。因此,为了准确计算出书写坐标数据与书写压力数据之间的接收时差,在本申请实施例中,应当采用第一缓存队列中第一个书写坐标数据所对应的接收时间以及第二缓存队列中第一个非零的书写压力数据所对应的接收时间进行计算。

还需要说明的是,在本申请实施例中,上述0.01和0.08所表示的是基于系统时钟的相对时间,例如,当0.01表示北京时间01:00:00.00(即一点整)时,则0.08所表示的含义为北京时间01:00:00.07,二者之间的接收时差为0.07秒。

继续参照图5,在本申请实施例中,该第一装置和第二装置的采集频率也可能不同,例如,在一种可能的实施例中,该第一装置每0.03秒采集一次书写坐标数据,而该第二装置每0.01秒采集一次书写压力数据,此时,书写坐标数据与书写压力数据之间不仅存在接收时差,还处于一对多的状态(即第一缓存队列中存储的书写坐标数据的数据量小于第二缓存队列中存储的书写压力数据的数据量),因此难以对书写坐标数据和书写压力数据进行准确匹配。

针对该问题,本申请实施例提供一种基于时间补偿的方式对该书写坐标数据和书写压力数据进行匹配,从而提高二者进行匹配时的准确性。

具体而言,即先通过第一缓存队列中第一个书写坐标数据所对应的第一接收时间以及第二缓存队列中第一个非零的书写压力数据所对应的第二接收时间,得到第一个书写动作所对应的书写坐标数据和书写压力数据之间的接收时差。然后,根据该接收时差对第二缓存队列中每一个书写压力数据的接收时间进行校准,得到每一个所述书写压力数据对应的校准时间。

如图5所示,当第二缓存队列b1中第一个非零的书写压力数据的接收时间为0.08,第二个书写压力数据的接收时间为0.09,第三个书写压力数据的接收时间为0.10,第四个书写压力数据的接收时间为0.11……上述接收时差为0.07秒(即书写压力数据写入第二缓存队列的接收时间相对于匹配的书写坐标数据写入第一缓存队列的接收时间晚0.07秒)时,则通过校准后可以得到该第二缓存队列中第一个书写压力数据的校准时间为0.01,第二个书写压力数据的校准时间为0.02,第三个书写压力数据的校准时间为0.03,第四个书写压力数据的校准时间为0.04……,即第二缓存队列b2。

进一步地,在得到每一个书写压力数据所对应的校准时间之后,即可基于该校准时间对第一缓存队列中每一个书写坐标数据所匹配的书写压力数据进行准确匹配。

具体地,在本申请实施例一些可能的实现方式中,当前书写动作所对应的书写坐标数据可以只包括一个落笔点坐标数据及一个抬起点坐标数据(例如用户使用手写笔点击触控面板而未滑动时),此时可以从所述第二缓存队列的队首开始,查找校准时间与所述落笔点坐标数据的接收时间最接近的书写压力数据作为所述落笔点坐标数据匹配的书写压力数据,然后从当前书写动作中的落笔点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述抬起点坐标数据的接收时间最接近的书写压力数据作为所述抬起点坐标数据匹配的书写压力数据。

需要说明的是,在本申请实施例中,上述当前书写动作表示的是用户在进行书写时从落笔到抬起这一过程的整个连贯动作,例如,用户书写汉字笔画“丶”的动作可以视为一个书写动作,书写汉字笔画“丿”的动作也可以视为一个书写动作。

可替换地,由于对于只包括一个落笔点坐标数据和一个抬起点坐标数据的书写动作而言,该落笔点的坐标即为抬起点的坐标,因此,在本申请实施例的另一种实现方式中,也可以直接将当前书写动作中的落笔点坐标数据所匹配的书写压力数据作为所述抬起点坐标数据匹配的书写压力数据,从而简化该抬起点坐标数据与书写压力数据的匹配过程。

进一步地,在本申请实施例另一些可能的实现方式中,当前书写动作所对应的书写坐标数据也可以包括落一个笔点坐标数据、一个抬起点坐标数据和至少一个移动点坐标数据,其中,落笔点坐标数据表示书写时的落笔点位置,移动点坐标数据表示从落笔点到抬起点所经历的移动路径,抬起点坐标数据表示书写过程中的抬起点位置。由于上述落笔点、移动点和抬起点的识别原理为现有技术,因此,本实施例中不再对其详细论述。

具体地,在当前书写动作所对应的书写坐标数据包括一个笔点坐标数据、一个抬起点坐标数据和至少一个移动点坐标数据时,对于该书写动作中的落笔点坐标数据,其匹配过程可以与只包括一个笔点坐标数据和一个抬起点坐标数据时相同,即从第二缓存队列的队首开始,查找校准时间与该落笔点坐标数据的接收时间最接近的书写压力数据作为该落笔点坐标数据匹配的书写压力数据。

举例而言,若第一缓存队列中第一个书写坐标数据的接收时间为0.01,第二缓存队列中第二个书写压力数据所对应的校准时间为0.01,则表示第二缓存队列中第二个书写压力数据所对应的校准时间与第一缓存队列中第一个书写坐标数据所对应的接收时间最为接近,可以将该第二缓存队列中的第二个书写压力数据作为该第一缓存队列中第一个书写坐标数据匹配的书写压力数据。换句话说,即将该第二缓存队列中的第二个书写压力数据作为该落笔点坐标数据所匹配的书写压力数据。需要说明的是,本实施例中是根据书写坐标数据的接收时间与书写压力数据的校准时间进行匹配,若第二缓存队列中第一个书写压力数据的校准时间与该落笔点坐标数据的接收时间最为接近,也可以将该第二缓存队列中第一个书写压力数据作为该落笔点坐标数据匹配的书写压力数据。并且,在本申请实施例中,该书写坐标数据的接收时间与其匹配的书写压力数据的校准时间不一定相等。

进一步地,为了尽可能地简化该书写坐标数据与书写压力数据的匹配过程,对于上述包含一个笔点坐标数据、一个抬起点坐标数据和至少一个移动点坐标数据的书写动作中的移动点坐标数据,可以从上述落笔点坐标数据(同一书写动作中的落笔点坐标数据)匹配的书写压力数据的下一位开始,查找校准时间与该移动点坐标数据的接收时间最接近的书写压力数据作为该移动点坐标数据匹配的书写压力数据。举例而言,若第一个移动点坐标数据的接收时间为0.04,第二个移动点坐标数据的接收时间为0.07,上述落笔点坐标数据所匹配的书写压力数据的之后的压力数据的校准时间依次为0.02、0.03、0.04、0.05、0.06、0.07,则从校准时间为0.02的书写压力数据开始查找,然后将校准时间为0.04的书写压力数据作为该第一个移动点坐标数据匹配的书写压力数据,将校准时间为0.07的书写压力数据作为该第二个移动点坐标数据匹配的书写压力数据。

可替换地,考虑到当同一个书写动作中存在多个移动点坐标数据时,若每一个移动点坐标数据都从该落笔点坐标数据匹配的书写压力数据开始查找,会增加该电子设备的数据处理量,从而降低该书写坐标数据与书写压力数据的匹配速度,因此,在本申请另一种可能的实现方式中,为了进一步简化该书写坐标数据与书写压力数据的匹配过程,还可以在查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据的步骤之前,先判断所述移动点坐标数据是否是当前书写动作中的第一个移动点坐标数据。

此时,如果所述移动点坐标数据是当前书写动作中的第一个移动点坐标数据,则执行上述从当前书写动作中的落笔点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据的步骤。反之,则从上一个移动点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据。

进一步地,在本申请实施例中,对于上述包含一个笔点坐标数据、一个抬起点坐标数据和至少一个移动点坐标数据的书写动作中的抬起点坐标数据,可以从同一书写动作中最后一个移动点坐标数据匹配的书写压力数据的下一位开始,查找校准时间与该抬起点坐标数据的接收时间最接近的书写压力数据作为该抬起点坐标数据匹配的书写压力数据。其具体查找过程可以参照上述的落笔点坐标数据和移动点坐标数据,因此,此处不再进行赘述。

可替换地,由于对于包含一个笔点坐标数据、一个抬起点坐标数据和至少一个移动点坐标数据的书写动作而言,其抬起点坐标数据与最后一个移动点坐标数据相同,因此,在一种可能的实施方式中,为了进一步简化该抬起点坐标数据与书写压力数据的匹配过程,还可以直接将最后一个移动点坐标数据所匹配的书写压力数据作为所述抬起点坐标数据匹配的书写压力数据。

进一步地,由于考虑到在上述匹配过程中,对于同一个书写坐标数据可能同时查找到两个校准时间与其接收时间最接近的书写压力数据,因此,在本申请一些可能的实施例中,当时上述最接近的书写压力数据为两个压力数据时,可以将这两个压力数据的平均值作为与当前书写坐标数据所匹配的书写压力数据。

需要说明的是,本申请实施例中,通过简化书写坐标数据与书写压力数据的匹配过程,可以极大程度地减少该电子设备20在数据匹配过程中的运算量,从而提高该电子设备20生成书写笔迹的响应速度,进而提高用户在使用该电子设备进行书写时的使用体验。

进一步地,在完成上述匹配过程之后,即可准确得到每一个书写坐标数据所匹配的书写压力数据。在本申请实施例中,通过将每一个书写坐标数据与其匹配的书写压力数据进行融合,得到融合书写信息,然后基于该融合书写信息即可生成随书写压力数据和书写坐标数据而变化的粗细可变的书写笔迹,达到粗细控制更准确的书写效果。

由于该融合书写信息所表示的含义,以及该书写笔迹随书写压力数据和书写坐标数据而变化的生成原理上文中已进行过解释,因此,此处不再进行赘述。

进一步地,在本申请实施例中,考虑到该第一缓存队列及第二缓存队列中存储的书写坐标数据和书写压力数据在匹配后便不再产生作用,因此,在本申请的一种实施例中,还可以实时检测每一个书写坐标数据写入第一缓存队列的第一缓存时长(即书写坐标数据在该第一缓存队列中的存储时长,也可以理解为已缓存书写坐标数据的接收时间与最新接收的书写坐标数据的接收时间之间的时间差值),以及每一个书写压力数据写入第二缓存队列的第二缓存时长(即书写压力数据在该第二缓存队列中的存储时长,也可以理解为已缓存书写压力数据的接收时间与最新接收的书写压力数据的接收时间之间的时间差值),然后,在检测到某一个书写坐标数据所对应的第一缓存时长大于第一预设阈值时,将其从第一缓存队列中删除,在检测到某一个书写压力数据对应的第二缓存时长大于第二预设阈值时,将其从第二缓存队列中删除,从而去除缓存队列中的冗余数据,释放第一缓存队列和第二缓存队列的存储空间。

应当理解,在本申请实施例中,该第一预设阈值和第二预设阈值可以根据实际需求进行设定。例如,在一种可能的实现方式中,每一个书写坐标数据与书写压力数据完成匹配的时间为0.5秒,则可以将该第一预设阈值和第二预设阈值均设置为大于为0.5秒的数值,例如1秒、1.5秒、2秒或其他大于0.5秒的任意数值,从而确保被删除的书写坐标数据和书写压力数据已完成匹配(即保证被删除的数据均为冗余数据)。

可替换地,在另一种可能的实施方式中,还可以根据当前书写动作所对应的时长来设定该第一预设阈值和第二预设阈值。举例而言,若某一个书写动作从落笔到抬起的时长为5秒,则可以将该第一预设阈值和第二预设阈值设定为稍大于5秒的数值,例如7秒、8秒或10秒,然后,在该缓存时长到达预设阈值后即将上一个书写动作所对应的书写坐标数据和书写压力数据删除,从而在实现自适应调整缓存数据删除周期的同时,确保不会将第一缓存队列和第二缓存队列中的有效数据删除。

进一步地,还需要说明的是,在本申请实施例中,当对该第一缓存队列中的书写坐标数据和第二缓存队列中的书写压力数据进行删除之后,还可以适应性的更新上述匹配过程中查找书写压力数据的起始位置,从而确保匹配过程的准确性。例如,当第二缓存队列中的前10个书写压力数据被删除后,则将删除前第二缓存队列中的第11个书写压力数据(即删除后第二缓存队列中的第1个压力数据)作为第二缓存队列的新队首,然后从该新队首位置开始查找书写坐标数据所匹配的书写压力数据。

综上所述,本申请实施例中提供的书写笔迹生成方法相对于现有技术而言,具有如下技术效果或优点:

本申请实施例提供的书写笔迹生成方法,根据第一装置采集的书写坐标数据的接收时间,以及第二装置采集的书写压力数据的接收时间,将该书写坐标数据与书写压力数据进行匹配,得到准确的融合书写信息,最后根据该融合书写信息生成书写笔迹。相对于现有技术而言,通过该方法,可以生成随书写压力数据和书写坐标数据而改变的更加真实的书写笔迹,从而达到提高书写效果和提升用户书写体验的效果。

参照图6,本申请实施例还提供一种书写笔迹生成装置70,该装置可以应用于上述的电子设备20,从而为该电子设备20提供如上所述的书写笔迹生成功能。

在本申请实施例中,该电子设备20包括第一装置,并且该电子设备20与第二装置通信连接,其中,第一装置用于采集书写坐标数据,第二装置用于采集书写压力数据。

具体地,请参照图6,在本申请实施例中,该书写笔迹生成装置70包括接收模块701、匹配模块702及生成模块703。

其中,接收模块701用于接收所述第一装置采集的书写坐标数据及所述第二装置采集的书写压力数据;匹配模块702用于根据所述书写坐标数据的接收时间及所述书写压力数据的接收时间对所述书写坐标数据和所述书写压力数据进行匹配,得到融合书写信息;生成模块703用于根据所述融合书写信息生成书写笔迹。

可选地,在本申请的一种实施例中,所述书写笔迹生成装置70还包括缓存模块704,所述缓存模块704用于:

将所述书写坐标数据与对应的接收时间打包写入第一缓存队列;

将所述书写压力数据与对应的接收时间打包写入第二缓存队列。

可选地,在本申请的一种实施例中,所述缓存模块704在将所述书写压力数据写入第二缓存队列时具体用于:

判断最新接收的书写压力数据是否为零;

若所述最新接收的书写压力数据不为零,将所述最新接收的书写压力数据与对应的接收时间打包写入所述第二缓存队列;

若所述最新接收的书写压力数据为零,则判断所述第二缓存队列中的最后一个书写压力数据是否为零;

若所述第二缓存队列中的最后一个书写压力数据为零,则将所述第二缓存队列中的最后一个书写压力数据替换为所述最新接收的书写压力数据,并将所述第二缓存队列中的最后一个书写压力数据所对应的接收时间替换为所述最新接收的书写压力数据的接收时间;

若所述第二缓存队列中的最后一个压力数据不为零,则将所述最新接收的书写压力数据与对应的接收时间打包写入所述第二缓存队列。

可选地,在本申请的一种实施例中,所述匹配模块702具体用于:

根据所述第一缓存队列中第一个书写坐标数据所对应的第一接收时间及所述第二缓存队列中第一个非零的书写压力数据所对应的第二接收时间,得到所述书写坐标数据与匹配的书写压力数据之间的接收时差;

根据所述接收时差对所述第二缓存队列中每一个所述书写压力数据的接收时间进行校准,得到每一个所述书写压力数据对应的校准时间;

基于所述校准时间在所述第二缓存队列中查找每一个所述书写坐标数据匹配的书写压力数据,并将每一个所述书写坐标数据与匹配的书写压力数据组合,得到融合书写信息。

可选地,在当前书写动作对应的书写坐标数据包括落笔点坐标数据及抬起点坐标数据时,所述匹配模块702具体用于:

从所述第二缓存队列的队首开始,查找校准时间与所述落笔点坐标数据的接收时间最接近的书写压力数据作为当前书写动作中的落笔点坐标数据匹配的书写压力数据;

将当前书写动作中位于所述抬起点坐标数据前一位的书写坐标数据所匹配的书写压力数据作为所述抬起点坐标数据匹配的书写压力数据,或从当前书写动作中所述抬起点坐标数据前一位书写坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述抬起点坐标数据的接收时间最接近的书写压力数据作为所述抬起点坐标数据匹配的书写压力数据。

可选地,在当前书写动作对应的书写坐标数据还包括移动点坐标数据,且所述移动点坐标数据的接收时间介于所述落笔点坐标数据的接收时间与所述抬起点坐标数据的接收时间之间时,所述匹配模块702还具体用于:

从所述落笔点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据。

可选地,在本申请的一种实施例中,所述匹配模块702还用于:

在从所述落笔点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据之前,判断所述移动点坐标数据是否是当前书写动作中的第一个移动点坐标数据;

若所述移动点坐标数据是当前书写动作中的第一个移动点坐标数据,从当前书写动作中的落笔点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据;

若所述移动点坐标数据不是当前书写动作中的第一个移动点坐标数据,则从当前书写动作中上一个移动点坐标数据所匹配的书写压力数据的下一位开始,查找校准时间与所述移动点坐标数据的接收时间最接近的书写压力数据作为所述移动点坐标数据匹配的书写压力数据。

可选地,在本申请的一种实施例中,所述匹配模块702还用于:

在所述第二缓存队列中查找校准时间与所述书写坐标数据的接收时间最接近的目标书写压力数据;

若所述目标书写压力数据的数量大于一个,则将所有所述目标书写压力数据的平均值作为所述书写坐标数据匹配的书写压力数据。

可选地,在本申请的一种实施例中,所述书写笔迹生成装置还包括删除模块705,所述删除模块705用于:

检测所述书写坐标数据写入所述第一缓存队列的第一缓存时长,以及所述书写压力数据写入所述第二缓存队列的第二缓存时长;

将第一缓存时长大于第一预设阈值的书写坐标数据从所述第一缓存队列中删除,并将第二缓存时长大于第二预设阈值的书写压力数据从所述第二缓存队列中删除。

由于本实施例所介绍的书写笔迹生成装置70为实现本申请实施例中书写笔迹生成方法所采用的装置,故而基于本申请实施例中所介绍的书写笔迹生成方法,本领域所属技术人员能够了解本实施例的书写笔迹生成装置70的具体实施方式以及其各种变化形式,所以在此对于该书写笔迹生成装置70如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中书写笔迹生成方法所采用的书写笔迹生成装置70,都属于本申请所欲保护的范围。

此外,本申请实施例还提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上所述的书写笔迹生成方法中的各个步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1