一种笔迹处理方法、终端设备及芯片系统转让专利

申请号 : CN202211374510.6

文献号 : CN115421603B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 骆红霞李航田洪正

申请人 : 荣耀终端有限公司

摘要 :

本申请实施例公开了一种笔迹处理方法、终端设备及芯片系统,适用于数据处理技术领域,该方法包括:获取在预设时间范围内的第一压力值以及最新的第一信号强度,并根据所述第一压力值和所述第一信号强度,识别所述手写笔是否离开所述手写模块。当识别出所述手写笔离开所述手写模块时,终止显示当前时刻之后的第一时间范围内,所述手写笔在所述手写模块输入的待显示的笔迹内容。或者终止对若干个目标耦合信号的响应,所述目标耦合信号为在当前时刻之后获取到的所述手写笔与所述终端设备的耦合信号。本申请实施例可以改善笔迹消失不及时的问题。

权利要求 :

1.一种笔迹处理方法,其特征在于,应用于终端设备,所述终端设备包含手写模块,所述手写模块用于供手写笔输入笔迹内容,所述方法包括:获取在预设时间范围内的第一压力值,所述第一压力值为用户对所述手写笔施加的压力值,或者所述手写笔对所述手写模块施加的压力值,所述预设时间范围的终止时刻为当前时刻;

获取最新的第一信号强度,所述第一信号强度为所述终端设备与所述手写笔的耦合信号的信号强度;

根据所述第一压力值和所述第一信号强度,识别所述手写笔是否离开所述手写模块;

当识别出所述手写笔离开所述手写模块时,终止显示当前时刻之后的第一时间范围内,所述手写笔在所述手写模块输入的待显示的笔迹内容,或者终止对若干个目标耦合信号的响应,所述目标耦合信号为在当前时刻之后获取到的所述手写笔与所述终端设备的耦合信号;

所述根据所述第一压力值和所述第一信号强度,识别所述手写笔是否离开所述手写模块,包括:检测所述第一压力值在所述预设时间范围内的变化趋势;

当检测出的所述变化趋势为由大变小,且所述第一信号强度小于或等于目标临界阈值,则判定所述手写笔离开所述手写模块;

所述手写模块中包含有多个区域;

在所述根据所述第一压力值和所述第一信号强度,识别所述手写笔是否离开所述手写模块的操作之前,还包括:确定当前时刻所述手写笔在所述手写模块上所处的区域,将该区域作为第一区域,并获取所述第一区域关联的所述目标临界阈值;

当未获取到所述第一区域关联的所述目标临界阈值时,则查找与所述第一区域相邻的预设区域范围内各个区域关联的临界阈值;

基于查找出的一个或多个临界阈值,确定所述第一区域对应的所述目标临界阈值。

2.根据权利要求1所述的笔迹处理方法,其特征在于,所述基于查找出的一个或多个临界阈值,确定所述第一区域对应的所述目标临界阈值,包括:当在所述预设区域范围内查找出多个区域有关联的临界阈值时,从查找出的各个区域中筛选出与所述第一区域最近的第二区域;

当筛选出一个所述第二区域时,将所述第二区域关联的临界阈值作为所述第一区域对应的所述目标临界阈值;

当筛选出多个所述第二区域时,将所有所述第二区域关联的临界阈值的均值,作为所述第一区域对应的所述目标临界阈值。

3.根据权利要求1所述的笔迹处理方法,其特征在于,对所述目标临界阈值的确定方式,包括:获取最新的第二压力值、最新的第二信号强度以及所述手写笔与所述手写模块之间最新的目标倾斜角,其中,所述第二压力值为用户对所述手写笔施加的压力值,或者所述手写笔对所述手写模块施加的压力值,所述第二信号强度为所述终端设备与所述手写笔的耦合信号的信号强度;

获取压力值、倾斜角和信号强度之间的映射关系;

根据所述第二压力值、所述目标倾斜角以及所述映射关系,确定出残差信号强度;

去除所述第二信号强度中的所述残差信号强度,得到初始信号强度;

基于所述初始信号强度,确定所述目标临界阈值。

4.根据权利要求1或2所述的笔迹处理方法,其特征在于,对所述目标临界阈值的确定方式,包括:获取最新的第二压力值、最新的第二信号强度以及所述手写笔与所述手写模块之间最新的目标倾斜角,其中,所述第二压力值为用户对所述手写笔施加的压力值,或者所述手写笔对所述手写模块施加的压力值,所述第二信号强度为所述终端设备与所述手写笔的耦合信号的信号强度;

确定当前时刻所述手写笔在所述手写模块上所处的区域,将该区域作为第二区域;

获取所述第二区域关联的映射关系,所述映射关系为压力值、倾斜角和信号强度之间的映射关系;

根据所述第二压力值、所述目标倾斜角以及所述映射关系,确定出残差信号强度;

去除所述第二信号强度中的所述残差信号强度,得到初始信号强度;

基于所述初始信号强度,确定所述第二区域关联的所述目标临界阈值。

5.根据权利要求4所述的笔迹处理方法,其特征在于,所述映射关系为压力值、倾斜角和信号量之间的函数关系。

6.根据权利要求1所述的笔迹处理方法,其特征在于,所述检测所述第一压力值在所述预设时间范围内的变化趋势,包括:将在所述预设时间范围内获取到的所有所述第一压力值以每相邻的两个为单位,分别进行相邻两个所述第一压力值之间的大小比对;

当所述大小比对结果中包含第一类结果和第二类结果时,统计所述第一类结果的数量,并获取各个第二类结果内相邻的两个所述第一压力值的差值;其中,第一类结果,是指相邻的两个所述第一压力值中,在先获取到的压力值大于在后获取到的压力值,第二类结果,是指相邻的两个所述第一压力值中,在先获取到的压力值小于或等于在后获取到的压力值;

当所述第一类结果的数量大于预设的递减阈值,且所有所述第二类结果对应的所述差值均小于预设的突变阈值,判定所述变化趋势为由大变小。

7.根据权利要求1所述的笔迹处理方法,其特征在于,所述检测所述第一压力值在所述预设时间范围内的变化趋势,包括:对在所述预设时间范围内获取到的多个所述第一压力值进行函数拟合,得到对应的压力变化函数;

若所述压力变化函数为递减函数,则判定所述第一压力值的所述变化趋势为由大到小。

8.一种临界阈值学习方法,其特征在于,应用于终端设备,所述终端设备内包含手写模块,包括:获取最新的第二压力值、最新的第二信号强度以及手写笔与所述手写模块之间最新的目标倾斜角,其中,所述第二压力值为用户对所述手写笔施加的压力值,或者所述手写笔对所述手写模块施加的压力值,所述第二信号强度为所述终端设备与所述手写笔的耦合信号的信号强度;

获取压力值、倾斜角和信号强度之间的映射关系;

根据所述第二压力值、所述目标倾斜角以及所述映射关系,确定出残差信号强度;

去除所述第二信号强度中的所述残差信号强度,得到初始信号强度;

基于所述初始信号强度,确定目标临界阈值;所述目标临界阈值用于与所述终端设备和所述手写笔最新的耦合信号的第一信号强度进行比对,以识别所述手写笔是否离开所述手写模块。

9.根据权利要求8所述的临界阈值学习方法,其特征在于,所述手写模块中包含有多个区域;所述获取压力值、倾斜角和信号强度之间的映射关系,包括:确定当前时刻所述手写笔在所述手写模块上所处的区域,将该区域作为第二区域;

获取所述第二区域关联的映射关系,所述映射关系为压力值、倾斜角和信号强度之间的映射关系;

所述基于所述初始信号强度,确定目标临界阈值,包括:

基于所述初始信号强度,确定所述第二区域关联的所述目标临界阈值。

10.一种终端设备,其特征在于,所述终端设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至7任一项所述笔迹处理方法的步骤,或实现根据权利要求8至9任一项所述的临界阈值学习方法的步骤。

11.一种芯片系统,其特征在于,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如权利要求1至7任一项所述的笔迹处理方法,或实现如权利要求8至9任一项所述的临界阈值学习方法。

说明书 :

一种笔迹处理方法、终端设备及芯片系统

技术领域

[0001] 本申请涉及手写笔技术领域,尤其涉及一种笔迹处理方法、终端设备及芯片系统。

背景技术

[0002] 手写笔(亦可称为触控笔或主动笔)是一种用于在终端设备书写的设备。实际应用中,用户使用手写笔在终端设备屏幕书写时,从用户给手写笔施加力到终端设备在屏幕显示出对应笔迹,这中间会存在一定的时延情况。在用户停止书写并将手写笔拿离终端设备屏幕过程中,时延情况会导致终端设备出现笔迹消失不及时的问题。导致即使手写笔已经离开了屏幕,终端设备屏幕内仍然会继续显示新的笔迹。
[0003] 手写笔笔迹消失不及时,会导致用户对手写笔和终端设备的使用体验下降。因此如何解决或改善手写笔笔迹消失不及时的情况,是实际应用中所需解决的一个问题。

发明内容

[0004] 有鉴于此,本申请实施例提供了笔迹处理方法、终端设备及芯片系统,可以改善终端设备对手写笔笔迹消失不及时的问题。
[0005] 本申请实施例的第一方面提供了一种笔迹处理方法,应用于终端设备,所述终端设备包含手写模块,所述手写模块用于供手写笔输入笔迹内容,所述方法包括:
[0006] 先获取在预设时间范围内的第一压力值,以及最新的第一信号强度。再根据第一压力值和第一信号强度,识别手写笔是否离开手写模块。最后在识别出手写笔离开手写模块时,终止显示当前时刻之后的第一时间范围内,手写笔在手写模块输入的待显示的笔迹内容,或者终止对若干个目标耦合信号的响应,目标耦合信号为在当前时刻之后获取到的手写笔与终端设备的耦合信号。其中第一压力值为用户对手写笔施加的压力值,或者手写笔对手写模块施加的压力值,预设时间范围的终止时刻为当前时刻。第一信号强度为终端设备与手写笔的耦合信号的信号强度。
[0007] 由于用户在撤笔过程中,手写笔施加的力会减小(即在释放力),因此最近一段时间内的压力值大小可视为撤笔的特征之一。同时实际应用中,耦合信号的信号量会随着手写笔与手写模块距离的增大而减小。因此可以根据获取到的压力值和信号量来识别手写笔是否离开手写模块,在识别出手写笔离开手写模块时,终端设备选择不显示后续一定范围内的笔迹内容。从而使得笔迹可以在手写笔离开手写模块的第一时间及时消失,以改善甚至避免手写笔笔迹消失不及时的情况出现。
[0008] 在第一方面的第一种可能的实现方式中,根据第一压力值和第一信号强度,识别手写笔是否离开手写模块,包括:
[0009] 检测第一压力值在预设时间范围内的变化趋势。并在检测出的变化趋势为由大变小,且第一信号强度小于或等于目标临界阈值,则判定手写笔离开手写模块。
[0010] 由于用户在撤笔过程中,手写笔施加的力是呈逐渐减小的变化趋势,因此压力值呈下降趋势可视为撤笔的特征之一。当压力值下降过程中,同时信号量减小至小于或等于目标临界阈值,说明撤笔操作已达到笔尖离开手写模块的状态,即此时手写笔已离开了手写模块。从而实现对手写笔离开手写模块的快速准确识别。
[0011] 在第一方面的第二种可能的实现方式中,手写模块中包含有多个区域。
[0012] 在根据第一压力值和第一信号强度,识别手写笔是否离开手写模块的操作之前,还包括:确定当前时刻手写笔在手写模块上所处的区域,将该区域作为第一区域,并获取第一区域关联的目标临界阈值。
[0013] 在本申请实施例中,将手写模块划分为多个区域,并为不同的区域设置各自关联的临界阈值,从而使得本申请实施例的临界阈值可以有效适应手写模块不同位置的不同实际情况。因此使得本申请实施例对笔尖离开手写模块的状态识别更为精准。
[0014] 在第一方面的第三种可能的实现方式中,当未获取到第一区域关联的目标临界阈值时,则查找与第一区域相邻的预设区域范围内各个区域关联的临界阈值。再基于查找出的一个或多个临界阈值,确定第一区域对应的目标临界阈值。
[0015] 本申请实施例在未直接获取到手写笔所处区域的临界阈值时,主动对周围的区域进行临界阈值搜索,并基于搜索出的临界阈值来确定此次使用的临界阈值。由于手写模块的相邻区域情况具有相似性,因此本申请实施例可以应对当前区域无关联临界阈值的情况下,仍可以获取较佳的临界阈值使用,具有一定的各种可能情况具有一定的适应能力。
[0016] 在第一方面的第四种可能的实现方式中,基于查找出的一个或多个临界阈值,确定第一区域对应的目标临界阈值,包括:
[0017] 当在预设区域范围内查找出多个区域有关联的临界阈值时,从查找出的各个区域中筛选出与第一区域最近的第二区域。
[0018] 当筛选出一个第二区域时,将第二区域关联的临界阈值作为第一区域对应的目标临界阈值。
[0019] 当筛选出多个第二区域时,将所有第二区域关联的临界阈值的均值,作为第一区域对应的目标临界阈值。
[0020] 本申请实施例可以根据搜索结果自适应的确定出最适宜的临界阈值。因此本申请实施例有效应对临界阈值的各种可能情况,对各种可能情况具有较强的适应能力和兼容能力,并可以提高所获取的临界阈值的有效性。
[0021] 在第一方面的第五种可能的实现方式中,对目标临界阈值的确定方式,包括:
[0022] 获取最新的第二压力值、最新的第二信号强度以及手写笔与手写模块之间最新的目标倾斜角,其中,第二压力值为用户对手写笔施加的压力值,或者手写笔对手写模块施加的压力值,第二信号强度为终端设备与手写笔的耦合信号的信号强度。
[0023] 获取压力值、倾斜角和信号强度之间的映射关系,并根据第二压力值、目标倾斜角以及映射关系,确定出残差信号强度。
[0024] 去除第二信号强度中的残差信号强度,得到初始信号强度,再基于初始信号强度确定目标临界阈值。
[0025] 本申请实施例可以有效剔除用户对手写笔施加力对信号量的影响,以及手写笔笔头与屏幕的接触面积对信号量的影响。因此得到的初始信号量可以更为接近实际手写笔与屏幕刚分离的状态下的信号量。再基于该初始信号量来确定临界阈值,可以有效提高临界阈值的合理性,从而提高对手写笔与手写模块分离识别的准确性。同时由于本申请实施例可以在用户正常使用手写笔在手写模块书写过程中,自适应学习出适宜的临界阈值。相比设置固定大小的临界阈值而言,本申请实施例可以有效适配各种不同的终端设备情况和手写笔情况,且可以跟随终端设备情况和手写笔情况的变化而及时更新临界阈值。因此本申请实施例中得到的临界阈值,对实际应用情况的适配能力更强灵活性更高,且临界阈值的有效性较高。
[0026] 作为本申请的一个实施例,映射关系属于线性函数类的关系。
[0027] 在第一方面的第六种可能的实现方式中,手写模块中包含有多个区域,对目标临界阈值的确定方式,包括:
[0028] 获取最新的第二压力值、最新的第二信号强度以及手写笔与手写模块之间最新的目标倾斜角,其中,第二压力值为用户对手写笔施加的压力值,或者手写笔对手写模块施加的压力值,第二信号强度为终端设备与手写笔的耦合信号的信号强度。
[0029] 确定当前时刻手写笔在手写模块上所处的区域,将该区域作为第二区域。
[0030] 获取第二区域关联的映射关系,再根据第二压力值、目标倾斜角以及映射关系,确定出残差信号强度。其中映射关系为压力值、倾斜角和信号强度之间的映射关系。
[0031] 去除第二信号强度中的残差信号强度,得到初始信号强度,并基于初始信号强度,确定第二区域关联的目标临界阈值。
[0032] 本申请实施例具有第一方面的第五种可能的实现方式的全部有益效果。同时,本申请实施例通过分区域学习临界阈值,可以实现对临界阈值更为细致的区分学习。因此得到的临界阈值可以更好地适配同一屏幕内的不同区域,从而使得后续终端设备利用临界阈值判断手写笔是否离开屏幕时,判断的结果更为准确可靠。因此本申请实施例,可以再次提升所得到的临界阈值的有效性。
[0033] 在第一方面的第七种可能的实现方式中,映射关系为压力值、倾斜角和信号量之间的函数关系。
[0034] 在第一方面的第八种可能的实现方式中,检测第一压力值在预设时间范围内的变化趋势,包括:
[0035] 先将在预设时间范围内获取到的所有第一压力值以每相邻的两个为单位,分别进行相邻两个第一压力值之间的大小比对。
[0036] 当大小比对结果中包含第一类结果和第二类结果时,统计第一类结果的数量,并获取各个第二类结果内相邻的两个第一压力值的差值。若第一类结果的数量大于预设的递减阈值,且所有第二类结果对应的差值均小于预设的突变阈值,判定变化趋势为由大变小。其中,第一类结果,是指相邻的两个第一压力值中,在先获取到的压力值大于在后获取到的压力值,第二类结果,是指相邻的两个第一压力值中,在先获取到的压力值小于或等于在后获取到的压力值。
[0037] 通过本申请实施例,一方面可以正常识别出压力值是否呈变小趋势,另一方面,还可以容忍一些噪声数据的干扰,并可以在出现这些噪声时仍精确识别出变化趋势为变小趋势,因此具有较强的抗干扰能力。
[0038] 在第一方面的第九种可能的实现方式中,检测第一压力值在预设时间范围内的变化趋势,包括:
[0039] 对在预设时间范围内获取到的多个第一压力值进行函数拟合,得到对应的压力变化函数。
[0040] 若压力变化函数为递减函数,则判定第一压力值的变化趋势为由大到小。
[0041] 通过函数拟合的方式,可以更好地反映出压力值变化的整体趋势,从而提高对变化趋势识别的准确性。
[0042] 本申请实施例的第二方面提供了一种临界阈值学习方法,其特征在于,应用于终端设备,终端设备内包含手写模块,包括:
[0043] 获取最新的第二压力值、最新的第二信号强度以及手写笔与手写模块之间最新的目标倾斜角,其中,第二压力值为用户对手写笔施加的压力值,或者手写笔对手写模块施加的压力值,第二信号强度为终端设备与手写笔的耦合信号的信号强度。
[0044] 获取压力值、倾斜角和信号强度之间的映射关系,并根据第二压力值、目标倾斜角以及映射关系,确定出残差信号强度。
[0045] 去除第二信号强度中的残差信号强度,得到初始信号强度,再基于初始信号强度,确定目标临界阈值。目标临界阈值用于与终端设备和手写笔最新的耦合信号的第一信号强度进行比对,以识别手写笔是否离开手写模块。
[0046] 本申请实施例可以有效剔除用户对手写笔施加力对信号量的影响,以及手写笔笔头与屏幕的接触面积对信号量的影响。因此得到的初始信号量可以更为接近实际手写笔与屏幕刚分离的状态下的信号量。再基于该初始信号量来确定临界阈值,可以有效提高临界阈值的合理性,从而提高对手写笔与手写模块分离识别的准确性。同时由于本申请实施例可以在用户正常使用手写笔在手写模块书写过程中,自适应学习出适宜的临界阈值。相比设置固定大小的临界阈值而言,本申请实施例可以有效适配各种不同的终端设备情况和手写笔情况,且可以跟随终端设备情况和手写笔情况的变化而及时更新临界阈值。因此本申请实施例中得到的临界阈值,对实际应用情况的适配能力更强灵活性更高,且临界阈值的有效性较高。再基于学习出的目标临界阈值来与最新的耦合信号的第一信号强度进行比对,识别手写笔是否离开手写模块,可以有效提高识别的准确性。
[0047] 在第二方面的第一种可能的实现方式中,手写模块中包含有多个区域。获取压力值、倾斜角和信号强度之间的映射关系,包括:
[0048] 确定当前时刻手写笔在手写模块上所处的区域,将该区域作为第二区域。
[0049] 获取第二区域关联的映射关系,映射关系为压力值、倾斜角和信号强度之间的映射关系。
[0050] 基于初始信号强度,确定目标临界阈值,包括:
[0051] 基于初始信号强度,确定第二区域关联的目标临界阈值。
[0052] 本申请实施例通过分区域学习临界阈值,可以实现对临界阈值更为细致的区分学习。因此得到的临界阈值可以更好地适配同一屏幕内的不同区域,从而使得后续终端设备利用临界阈值判断手写笔是否离开屏幕时,判断的结果更为准确可靠。因此本申请实施例,可以再次提升所得到的临界阈值的有效性。
[0053] 作为本申请的一个实施例,映射关系属于线性函数类的关系。
[0054] 本申请实施例的第三方面提供了一种笔迹处理装置,笔迹处理装置包含手写模块,手写模块用于供手写笔输入笔迹内容,该笔迹处理装置包括:
[0055] 压力获取模块,用于获取在预设时间范围内的第一压力值,第一压力值为用户对手写笔施加的压力值,或者手写笔对手写模块施加的压力值,预设时间范围的终止时刻为当前时刻。
[0056] 信号量获取模块,用于获取最新的第一信号强度,第一信号强度为终端设备与手写笔的耦合信号的信号强度。
[0057] 识别模块,用于根据第一压力值和第一信号强度,识别手写笔是否离开手写模块。
[0058] 显示控制模块,用于当识别出手写笔离开手写模块时,终止显示当前时刻之后的第一时间范围内,手写笔在手写模块输入的待显示的笔迹内容,或者终止对若干个目标耦合信号的响应,目标耦合信号为在当前时刻之后获取到的手写笔与终端设备的耦合信号。
[0059] 作为本申请的一个实施例,笔迹处理装置还可以实现如上述第一方面任一项的方法。
[0060] 本申请实施例的第四方面提供了一种临界阈值学习装置,临界阈值学习装置内包含手写模块,该临界阈值学习装置包括:
[0061] 数据获取模块,用于获取最新的第二压力值、最新的第二信号强度以及手写笔与手写模块之间最新的目标倾斜角,其中,第二压力值为用户对手写笔施加的压力值,或者手写笔对手写模块施加的压力值,第二信号强度为终端设备与手写笔的耦合信号的信号强度。
[0062] 映射获取模块,用于获取压力值、倾斜角和信号强度之间的映射关系。
[0063] 残差计算模块,用于根据第二压力值、目标倾斜角以及映射关系,确定出残差信号强度。
[0064] 残差去除模块,用于去除第二信号强度中的残差信号强度,得到初始信号强度。
[0065] 阈值确定模块,用于基于初始信号强度,确定目标临界阈值。目标临界阈值用于与终端设备和手写笔最新的耦合信号的第一信号强度进行比对,以识别手写笔是否离开手写模块。
[0066] 作为本申请的一个实施例,临界阈值学习装置还可以实现如上述第二方面任一项的方法。
[0067] 第五方面,本申请实施例提供一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面任一项的方法,或实现上述第二方面任一项的方法。
[0068] 第六方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面任一项的方法,或实现上述第二方面任一项的方法。
[0069] 第七方面,本申请实施例提供一种芯片系统,该芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现如上述第一方面任一项所述的方法,或实现上述第二方面任一项的方法。该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
[0070] 第八方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面任一项所述的方法,或实现上述第二方面任一项的方法。
[0071] 可以理解的是,上述第三方面至第八方面的有益效果可以参见上述第一方面和第二方面中的相关描述,在此不再赘述。

附图说明

[0072] 图1A为本申请实施例提供的手写笔在终端设备屏幕上书写的场景示意图;
[0073] 图1B为本申请实施例提供的显示笔迹过程中各个步骤的时延示意图;
[0074] 图1C为本申请实施例提供的手写笔撤笔的场景示意图;
[0075] 图1D为本申请实施例提供的手写笔撤笔过程中笔迹消失不及时的场景示意图;
[0076] 图2为本申请实施例提供的一种笔迹处理方法的实现流程图;
[0077] 图3为本申请实施例提供的一种信号量、施加的力以及与屏幕距离的场景示意图;
[0078] 图4为本申请实施例提供的一种实现识别手写笔是否离开首先模块方法的流程示意图;
[0079] 图5为本申请实施例提供的一种进行压力值变化趋势分析的流程示意图;
[0080] 图6为本申请实施例提供的一种对屏幕进行区域划分的场景示意图;
[0081] 图7为本申请实施例提供的一种获取临界阈值方法的流程示意图;
[0082] 图8为本申请实施例提供的一种笔迹处理方法的整体方案流程示意图;
[0083] 图9A为本申请实施例提供的临界阈值学习方法的流程示意图;
[0084] 图9B为本申请实施例提供的一种开始学习临界条件的流程示意图;
[0085] 图10为本申请实施例提供的一种手写笔不同倾斜角下书写的场景示意图;
[0086] 图11为本申请实施例提供的一种计算初始信号量的流程示意图;
[0087] 图12为本申请实施例提供的临界阈值学习方法的另一流程示意图;
[0088] 图13为本申请实施例提供的临界阈值学习方法的又一流程示意图;
[0089] 图14为本申请实施例提供的一种手写笔和终端设备触摸屏的结构示意图;
[0090] 图15为本申请实施例提供的笔迹处理装置的结构示意图;
[0091] 图16为本申请实施例提供的平板电脑的结构示意图;
[0092] 图17为本申请实施例提供的终端设备的软件结构框图;
[0093] 图18为本申请实施例提供的终端设备硬件结构示意图。

具体实施方式

[0094] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0095] 以下对本申请可能涉及到的一些概念进行说明:
[0096] 多个:在本申请实施例中,多个是指两个或两个以上。
[0097] 耦合信号以及信号量:在本申请实施例中,耦合信号是指基于手写笔与终端设备耦合方式所产生的信号。耦合信号可用于终端设备绘制笔迹,例如终端设备可以根据耦合信号的信号强度来确定笔迹的粗细深浅等。其中,耦合信号的类型,需根据手写笔与终端设备实际耦合方式确定。例如在一些实施例中,当手写笔与终端设备耦合方式为电容耦合,手写笔为电容式手写笔时,耦合信号可以为电容信号。当手写笔与终端设备耦合方式为电磁耦合,手写笔为电磁式手写笔时,耦合信号可以为电磁信号。当手写笔与终端设备耦合方式为通过电阻检测手写笔操作时,手写笔为电阻式手写笔时,耦合信号可以为电阻信号。
[0098] 在本申请实施例中,信号量用于表示终端设备与手写笔的耦合信号的信号强度大小。在此基础上,信号量可以是耦合信号的实际信号强度值,亦可以是对耦合信号的信号强度进行特定规则转换后的量化值。由于不同耦合方式下对应的耦合信号的类型不同,因此对应的信号量的实际物理单位也会存在差异。为了便于说明,本申请实施例对信号量均以纯数值的形式进行说明,例如在一些实施例中信号量可以为n,其中n为任意正数。信号量对应的具体物理单位可根据实际所使用的耦合方式确定,本申请实施例中不进行特别的说明。
[0099] 以下本申请实施例中,均以信号量表示耦合信号的信号强度进行说明,即各个实施例中的信号量亦可以被替换为信号强度。
[0100] 手写模块:是指终端设备内可以使用手写笔进行书写的硬件,使得手写笔可以在手写模块内通过书写的方式输入笔迹内容。根据终端设备的类型的不同,手写模块对应的具体硬件也可能会有所差异。例如,对于一些终端设备,其屏幕支持手写笔书写,此时屏幕可作为终端设备的手写模块。如常见的智能手机和平板电脑等。又例如对于手写板、绘图板等具有屏幕以外硬件支持手写笔书写的终端设备而言,这些支持手写笔书写的硬件亦可作为终端设备的手写模块。
[0101] 手写笔是一种用于在终端设备书写的设备,用户可以利用手写笔在终端设备上进行触控、写字或者绘画等操作。随着手机、平板电脑以及笔记本等智能终端设备的不断普及,用户对手写笔的需求以及使用场景也越来越丰富。例如可以参考图1A,是一种手写笔在终端设备屏幕上书写的可能场景示意图。
[0102] 手写笔按照工作原理分类可以包含电阻式手写笔和感应式手写笔,其中感应式手写笔又可以细分为电磁式手写笔和电容式手写笔。在利用不同工作原理的手写笔书写时,终端设备为了可以在屏幕内显示出手写笔的笔迹,所需获取的数据以及对数据的获取方式均可能存在差异。但一般来说,都需要获取手写笔书写时的坐标信息以及对手写模块的压力值。其中,坐标信息用于定位笔迹显示位置,可由终端设备检测得到。压力值可以用于终端设备判断手写笔是否离开手写模块(即是否撤笔),可由手写笔检测压力值并通过打码或蓝牙等通信方式发送给终端设备。实际应用过程中,终端设备在获取到坐标信息和压力值后,可以进行对应的笔迹解析和显示。终端设备若获取到坐标信息但未获取到压力值,则可以判断手写笔撤笔,此时可以不显示笔迹,而是显示光标等状态。
[0103] 实际应用中,用户使用手写笔在终端设备手写模块书写时,从用户给手写笔施加力到终端设备在屏幕显示出对应笔迹,这中间存在几个主要步骤。此时可以参考图1B,是本申请实施例提供的针对显示笔迹过程中各个步骤的时延示意图。详述如下:
[0104] 1、用户向手写笔施加一定的力或释放力。此时手写笔可以是正常在终端设备手写模块书写的状态,也可以是正在或者已经离开手写模块的状态。手写笔的压力传感器可以对用户施加的力进行检测,但由于压力传感器的灵敏度限制,此时对力检测存在T1时间的检测时延。
[0105] 2、手写笔在压力传感器检测到压力数据后,需要对压力数据进行解析以得到对应的压力值。此时收到压力采样周期以及手写笔控制处理器处理压力优先级等因素影响,存在T2时间的解析压力时延。
[0106] 3、手写笔通过打码或蓝牙等通信方式,将压力值以及其他需要的数据(如耦合信号等)发送至终端设备。此时存在T3时间的传输时延。其中,具体的通信方式需根据实际情况确定。
[0107] 4、终端设备在接收到压力值以及其他数据之后,对压力值等数据进行对应的数据处理,再将对应的笔迹显示至屏幕内。此时受到终端设备处理器处理能力等因素限制,存在T4时间的显示时延。
[0108] 由上述对图1B的各个步骤的分析说明可知,从用户给手写笔施加力到终端设备在屏幕显示出对应笔迹的过程中,可能会存在T1至T4的时延,因此使得终端设备对笔迹的显示会滞后于用户实际对手写笔的操作。在此基础上,可以参考图1C,是本申请实施例提供的一种手写笔撤笔的场景示意图。参考图1C,在用户将手写笔拿离终端设备屏幕(亦可称为提笔或撤笔)过程中,当手写笔离开屏幕时,用户对手写笔施加的力变为0。但由于存在T1至T4的时延,导致终端设备接收到压力值时间会滞后,从而导致在手写笔离开手写模块后的一小段时间内,终端设备仍能获取到坐标信息和压力值,从而会继续延时显示笔迹。因此,实际应用中手写笔被撤笔过程中,终端设备可能会出现笔迹消失不及时的情况。
[0109] 以一实例进行举例说明,此时可以继续参考图1D,是本申请实施例提供的一种手写笔撤笔过程中笔迹消失不及时的场景示意图。假设用户t1时刻之前使用手写笔在终端设备屏幕上书写了一些内容,并在t1时刻将手写笔拿离屏幕。此时可以参考图1D中的(a),是t1时刻手写笔刚离开屏幕时屏幕显示的笔迹内容以及手写笔的状态。在t2时刻(t2时刻为t1时刻之后的时刻)手写笔虽然离开了屏幕,但由于检测时延和解析压力时延等原因,导致终端设备接收到的压力值数据等,仍是t1时刻的数据。此时会导致在t2时刻,终端设备仍会显示t1时刻对应的笔迹。此时可以参考图1D中的(b),是t2时刻屏幕显示的笔迹内容,此时可以看到在t2时刻,屏幕内出现了手写笔离开后笔迹回勾的情况。
[0110] 手写笔笔迹消失不及时,会导致用户书写体验不佳,对手写笔和终端设备的使用体验下降。因此如何解决或改善手写笔笔迹消失不及时的情况,是实际应用中所需解决的一个问题。
[0111] 为了改善手写笔笔迹消失不及时的问题,一种可选的做法是针对检测时延、解析压力时延、传输时延和显示时延中的任意一种或多种时延进行解决或改善。例如可以采样灵敏度更高的压力传感器,以减少检测时延。可以提高手写笔对压力数据的采样频率,如从60赫兹提升到120赫兹,以减少解析压力时延。终端设备和手写笔之前可以采用更为稳定高效的通信方式,以缩短传输时延。终端设备可以采用处理能力更强的处理器,以缩短显示时延等。这些方法虽然可以一定程度上缩短整体时延,从而改善手写笔笔迹消失不及时的问题,但对硬件的依赖性均较强,因此导致方法实现的成本高和难度大。同时改善的程度也较为有限,导致手写笔笔迹消失不及时的问题仍较为严重。
[0112] 为了改善手写笔笔迹消失不及时的问题,在本申请实施例中,终端设备可以同时监测获取到的手写笔最近一段时间的压力值和耦合信号的信号量。并根据压力值和信号量来识别手写笔是否离开终端设备手写模块。同时在判定手写笔离开手写模块之后,终端设备终止显示后续预设范围内的笔迹内容。
[0113] 由于用户在撤笔过程中,手写笔施加的力会逐渐减小(即在释放力),因此最近一段时间内的压力值大小可视为撤笔的特征之一。同时实际应用中,耦合信号的信号量会随着手写笔与手写模块距离的增大而减小,手写笔笔尖离手写模块越远,则终端设备可获取到的信号量越小。因此可以根据实际需求,设置用于评估手写笔笔尖与手写模块距离的临界阈值。再根据获取到的压力值和信号量来识别手写笔是否离开手写模块,在识别出手写笔离开手写模块时,终端设备选择不显示后续预设范围内的笔迹内容。从而使得笔迹可以在手写笔离开手写模块的第一时间及时消失,改善甚至避免手写笔笔迹消失不及时的情况出现。
[0114] 以下对本申请可适用的场景进行说明:
[0115] 本申请实施例可适用于任意手写笔在终端设备上书写的场景。其中,书写包括但不限于写字和绘画等操作。
[0116] 同时本申请实施例不对终端设备和手写笔的具体设备类型及软硬件配置等做过多的限定,均可根据实际应用确定。例如本申请实施例提供的笔迹处理方法可以应用于手机、平板电脑、手写板、绘图板和可穿戴设备等任意支持手写笔的终端设备上,此时终端设备即为本申请实施例提供的笔迹处理方法的执行主体。同时手写笔可以是电阻式手写笔、感应式手写笔或者其他原理的手写笔。同时本申请实施例亦不对手写笔与终端设备之间的通信方式做过多限定,任意通信方式均可。
[0117] 为了说明本申请所述的技术方案,下面以手写模块是终端设备屏幕,手写笔为感应式手写笔为例,通过具体实施例来进行说明。在其他实施例中,手写模块亦可以是屏幕以外其他硬件。由于用户在使用手写笔书写的过程中,用户对手写笔施加的力会从手写笔传递到终端设备手写模块。因此本申请实施例中的压力值,可以是指用户对手写笔施加的力所对应的压力值,亦可以是指手写笔对终端设备手写模块施加的力所对应的压力值,两个压力值对应的力本质是相同的。以下均以压力值是用户对手写笔施加的力所对应的压力值为例进行示例说明。
[0118] 图2示出了本申请实施例一提供的笔迹处理方法的实现流程图,详述如下:
[0119] S201,终端设备获取手写笔的压力值和耦合信号的信号量,并根据获取到的压力值和信号量识别手写笔是否离开终端设备的手写模块。
[0120] 其中,S201中获取的压力值亦可称为第一压力值,获取的信号量亦可称为第一信号量或第一信号强度。
[0121] 由于实际应用中手写笔是通过笔尖部位来对屏幕进行操作以实现书写,因此在本申请实施例中手写笔是否离开屏幕,实际是指手写笔的笔尖是否离开屏幕。
[0122] 一方面,手写笔的压力值(以下简称为压力值)可以随着用户对手写笔施加的力的大小变化而变化。在压力值可检测的有效范围内,当用户对手写笔施加的力增大时,压力值可以对应增大,而当用户对手写笔施加的力减小时,压力值则可以对应减小。而在撤笔过程中,用户对手写笔施加的力会逐渐减小,从而使得压力值也会再撤笔过程中逐渐减小。因此,理论上通过对压力值的变化趋势进行检测,可以识别出用户的撤笔行为。
[0123] 应当说明地,对于电阻式手写笔等其他原理类型的手写笔,虽然对压力值的获取方法可能会有一定差异。例如在一些场景中,可能是由终端设备主动检测压力值。但在压力值可检测的有效范围内,压力值同样可以随着用户对手写笔施加的力的大小变化而变化,因此同样可以利用压力值的变化趋势识别出用户的撤笔行为。
[0124] 另一方面,实际应用中耦合信号的信号量会随着手写笔与屏幕距离的增大而减小,手写笔笔尖(以下简称为笔尖)离屏幕越远,则终端设备可获取到的信号量越小。以一实例进行举例说明,可以参考图3,是本申请实施例提供的一种耦合信号的信号量与施加的力以及与屏幕距离的场景示意图。假设手写笔笔尖刚接触到屏幕时的信号量为6200,当用户继续对手写笔施加力时,信号量可能会增加至6800,而当笔尖距离屏幕0.2毫米时信号量则可能会下降至5800。因此,理论上通过耦合信号的大小可以识别出笔尖与屏幕的距离情况。
[0125] 基于上述分析,本申请实施例可以通过压力值来识别用户的撤笔行为,同时结合信号量来识别手写笔与屏幕的距离情况,以实现在撤笔过程中准确识别笔尖是否离开屏幕。具体而言,可以识别压力值在最近的一段时间内是否呈下降的变化趋势,同时识别信号量是否小于一个设定的临界阈值。若同时满足这两个条件,则可以判定为手写笔离开手写模块。
[0126] 其中,对压力值和信号量获取途径此处不做限定,可根据实际应用情况确定。例如压力值和信号量可以均是由手写笔检测并发送给终端设备使用,亦可以由终端设备主动检测其中一个或两个数据。另外,对压力值和信号量的获取频率(即对S201的执行频率),此处亦不做过多限定。例如在一些可选实施例中,可以设定一些触发条件,如当压力值不为0,当满足触发条件时执行S201的操作。
[0127] 作为本申请的一个可选实施例,参考图4,是本申请实施例提供的一种实现识别手写笔是否离开终端设备手写模块的方法流程示意图,此时可以将S201替换为:S301至S304。详述如下:
[0128] S301,终端设备获取手写笔的压力值和耦合信号的信号量。
[0129] S302,终端设备检测压力值在预设时间范围内的变化趋势,其中预设时间范围的终止时刻为当前时刻。
[0130] S301的操作可参考S201的相关说明,此处不予赘述。其中,由于本申请实施例需要检测压力值的变化趋势,因此获取的是在预设时间范围内的压力值数据,具体获取到的压力值数量,则需根据手写笔或终端设备对压力值的采样频率以及预设时间范围的时长确定。而信号量则可以是最近一次获取到的信号量。
[0131] 在本申请实施例中,可由技术人员预先设置好对压力值检测的时间范围(即预设时间范围),此处不做过多限定。其中为了使得对变化趋势分析的结果具有实时性,预设时间范围实际是距离当前时刻最近的一段时长范围,因此预设时间范围的终止时刻为当前时刻。
[0132] 在一些可选实施例中,考虑到实际用户撤笔行为的耗时往往处于毫秒级,因此预设时间范围的时长上限可以设定为1000毫秒。具体而言,也可以预先统计一些用户撤笔行为的平均耗时,并将该平均耗时作为上限值。对预设时间范围上限的合理设置,可以防止预设时间范围的时长过长,使得这期间用户的行为复杂度过高,从而导致采集的压力值的有效性降低无法准确检测撤笔行为。
[0133] 同时,考虑到终端设备或手写笔对压力值检测频率较为有限,例如常见的检测频率包括60赫兹、120赫兹以及144赫兹等。而对压力值检测频率决定了获取单个压力值最短所需的间隔时长,例如对于60赫兹的检测频率而言,终端设备最快每16.66毫秒可以获取道一个压力值。而在进行变化趋势分析时,需要一定的压力值数量,以使得分析出的变化趋势具有一定的可信度。基于此,本申请实施例可预先设置一个最小样本数量,并根据终端设备或手写笔对压力值检测频率与最小样本数量的商,来计算出预设时间范围的时长下限。例如假设检测频率为60赫兹,同时设置的最小样本数量为10,此时预设时间范围的时长下限等于10除以60赫兹,即166.6毫秒。
[0134] 作为本申请的一个可选实施例,在满足上述预设时间范围的时长上限和下限要求的情况下,可选取下限至上限范围内的任意值作为预设时间范围的时长。例如假设下限为166.6毫秒,上限为1000毫秒,此时可以选取166.6毫秒至1000毫秒内的任意值作为预设时间范围的时长,如可以设置为500毫秒,此时预设时间范围即为据当前时刻最近的500毫秒内。已知预设时间范围具体时长的情况下,基于当前时刻向前推算该具体时长即可确定出开始时刻,从而确定出从开始时刻到当前时刻这一预设时间范围。
[0135] 在一些实施例中,S301亦可被替换为:终端设备检测压力值在距离当前时刻最近的预设时长内的变化趋势。其中,预设时长即为预设时间范围的时长。此处仅为对预设时间范围描述的方式不同,其实质原理仍一致,因此此处不予赘述。
[0136] 在获取到预设时间范围内的压力值之后,终端设备可以开始分析预设时间范围内这些压力值的变化趋势,例如是呈变小趋势、增大趋势或平稳趋势等。其中,变小趋势又可称为下降趋势、逐渐变小或由大变小,是指压力值在预设时间范围内整体呈逐渐变小的趋势。增大趋势又可称为上升趋势、逐渐变大或者由小变大,是指压力值在预设时间范围内整体呈逐渐变大的趋势。本申请实施例不对变化趋势具体的分析方法做过多限定,任意可实现数据变化趋势分析的方法均可。例如在一些可选实施例中,可以采用神经网络学习的方法分析压力值的变化趋势。亦可以采用曲线拟合的方法对获取到的压力值进行函数拟合,并根据拟合出的函数(即压力变化函数)确定出对应的变化趋势。如假设拟合出的函数若为递增函数,则说明变化趋势为增大趋势,若假设拟合出的函数若为递减函数,则说明变化趋势为变小趋势。
[0137] 作为本申请的一个可选实施例,可以参考图5,是本申请实施例提供的一种进行压力值变化趋势分析的流程示意图。此时S302可以被替换为:S401至S404。详述如下:
[0138] S401,将预设时间范围内的所有压力值以每两个为单位,分别进行相邻的两个压力值之间的大小比对。
[0139] 在用户撤笔过程中,对手写笔施加的力会逐渐减小,因此所获取的压力值理论上也是递减的。基于此,本申请实施例可以先依次将相关相邻的压力值进行大小对比,从而确定出各个相邻的压力值是变大还是变小。此时,每两个相邻的压力值之间的大小对比结果,可以分为两种可能结果:第一类结果和第二类结果。其中第一类结果是指先获取到的压力值大于后获取到的压力值,即压力值变小了。第二类结果是指先获取到的压力值小于或等于后获取到的压力值,即压力值保持不变或者变大了。
[0140] 以一实例进行举例说明,假设在预设时间范围内按照获取到的时间排序,获取到了:压力值1、压力值2、压力值3、压力值4和压力值5共5个压力值。此时进行相邻压力值的两两比对,可得到4组对比结果,分别为:压力值1和压力值2的对比结果1,压力值2和压力值3的对比结果2,压力值3和压力值4的对比结果3,压力值4和压力值5的对比结果4。在此基础上,假设5个压力值的大小关系为:压力值1>压力值2>压力值3<压力值4>压力值5。此时可知,对比结果1、对比结果2和对比结果4均属于第一类结果,而由于压力值3<压力值4,因此对比结果3属于第二类结果。
[0141] S402,若所有对比结果均为第一类结果,则判定变化趋势为变小趋势。其中第一类结果,是指相邻的两个压力值中,在先获取到的压力值大于在后获取到的压力值。
[0142] 当所有对比结果均为第一类结果时,说明压力值在持续减小,用户在进行撤笔。此时可以判定变化趋势为变小趋势。
[0143] 作为本申请的一个可选实施例,若所有对比结果均为第二类结果,则说明此时用户对手写笔正在保持施加的力,或者增加施加的力。此时变化趋势可能为增大趋势或平稳趋势。
[0144] S403,若对比结果中同时包含第一类结果和第二类结果,则统计第一类结果的数量,并获取各个第二类结果内相邻的两个压力值的差值。其中第二类结果,是指相邻的两个压力值中,在先获取到的压力值小于或等于在后获取到的压力值。
[0145] S404,若第一类结果的数量大于预设的递减阈值,且所有第二类结果对应的差值均小于预设的突变阈值,则判定变化趋势为变小趋势。
[0146] 考虑到实际应用中,由于各种已知或未知因素的影响,压力值的变化可能难以呈现标准的变小趋势。例如压力值在减小的过程中,可能会因为用户对手写笔施力不均匀的原因,导致压力值可能会出现突然变大或者保持不变的情况。因此,为了提高对变小趋势识别的准确,本申请实施例在同时检测到第一类结果和第二类结果时,一方面统计第一类结果的数量,第二方面计算各个第二类结果内两个相邻的压力值差值。例如假设压力值3<压力值4,压力值3与压力值4的对比结果3属于第二类结果,此时本申请实施例可以计算压力值3减去压力值4之间的差值。
[0147] 在得到各个第二类结果各自对应的差值的基础上,本申请实施例会继续检测这些差值是否有过大的值。具体而言,会检测是否有差值大于或等于预设的突变阈值。如果有差值过大的情况,极大可能说明用户不是正常的撤笔操作。而在所有差值均小于突变阈值时,则说明虽然有压力值突然变大但增大的程度较为有限,很有可能是一些因各种因素产生的噪声数据。因此,本申请实施例在检测到有较多压力值在变小(即第一类结果的数量大于预设的递减阈值),同时所有差值均小于突变阈值时,仍可以判定变化趋势为变小趋势。其中,递减阈值以及突变阈值的具体值,此处不做限定,可由技术人员自行设定。例如在一些可选实施例中,可以将递减阈值设定为预设时间范围内获取到的所有压力值数量的预设比例,如2/3,亦可以将递减阈值设定为一个具体的数值,如20或25等。
[0148] 通过本申请实施例,一方面可以正常识别出压力值是否呈变小趋势,另一方面,还可以容忍一些噪声数据的干扰,并可以在出现这些噪声时仍精确识别出变化趋势为变小趋势,因此具有较强的抗干扰能力。
[0149] S303,终端设备获取临界阈值,并检测信号量是否小于或等于临界阈值。
[0150] 由图3所示实施例的相关说明可知,耦合信号的信号量会随着手写笔与屏幕距离的增大而减小。与此同时实际应用中也发现,即使手写笔与屏幕处于刚分离的状态,也会存在一定大小的信号量。因此在本申请实施例中,还会针对手写笔与屏幕刚分离的状态设置一个对应的临界阈值,并在获取到信号量之后,对比该信号量是否小于或等于临界阈值。在本申请实施例中,将终端设备当前所需使用的临界阈值或所需学习的临界阈值,亦称为目标临界阈值。如S303中,获取的即为目标临界阈值。
[0151] 其中,本申请实施例不对临界阈值的设置方法做过多限定,包括但不限于如预先设置固定的临界阈值,或者预先设置对临界阈值的学习方法,再由终端设备自主学习确定出适宜的临界阈值。
[0152] 作为本申请的一个可选实施例,考虑到实际应用中屏幕不同位置处的硬件情况可能会存在一些差异,这导致实际应用中屏幕不同位置处在与手写笔处于刚分离状态时,终端设备所能检测到的信号量也可能会存在一些差异。基于此,为了提高对手写笔与屏幕距离检测的准确性,以提高对检测手写笔离开屏幕的准确。在本申请实施例中,可以预先将屏幕划分为多个不同的区域,并将每个区域作为一个独立的临界阈值设置对象。在此基础上,S303对临界阈值的获取操作具体包括:S3031,终端设备获取手写笔的所处的区域,并获取该区域关联的临界阈值。
[0153] 具体而言,终端设备可以先获取手写笔的坐标信息,再基于坐标信息定位手写笔当前时刻所处区域,最后再获取该区域对应的临界阈值。以下将手写笔所处区域可以称为当前区域或第一区域。
[0154] 其中,本申请实施例不对屏幕区域的划分规则做过多限定,可由技术人员自行设定。例如在一些可选实施例中,区域最小可以精细到像素点级别,如可以定义屏幕内每一个像素点即为一个区域,此时像素点的数量即为区域的数量。而在另一个可选实施例中,亦可以将屏幕划分成包含像素点较多,面积较大的几个区域。
[0155] 例如可以参考图6,是本申请实施例提供的一种对屏幕进行区域划分的场景示意图。如图6中的(a)所示,可以将屏幕内的每个像素点均定义为一个区域,此时屏幕内包含像素点数量个的区域。亦可以如图6中的(b)所示,可以将屏幕划分为区域1至区域9共9个面积大小存在一定差异,但均包含多个像素点的区域。
[0156] 考虑到实际应用中一些区域可能存在没有关联临界阈值的情况。例如,技术人员未对部分区域设置固定值的临界阈值,或者虽然设置了对临界阈值的学习方法,但由于各种情况的影响导致对部分区域尚未能学习出对应的临界阈值。此时可能会导致S3031中无法直接获取到所需的临界阈值。为了应对这种情况,本申请实施例终端设备在未获取到手写笔所处区域关联的临界阈值时,还可以对周围的区域进行临界阈值搜索,并基于搜索出的临界阈值来确定此次使用的临界阈值。在S3031的基础上,可以参考图7,是本申请实施例提供的一种获取临界阈值方法的流程示意图。详述如下:
[0157] S3031,终端设备获取手写笔所处的区域,并获取该区域关联的临界阈值。
[0158] 由于终端设备此时所需使用的是手写笔所处区域的临界阈值,因此此时的临界阈值亦可称为目标临界阈值。
[0159] S3032,若未获取到手写笔所处区域关联的临界阈值,则终端设备查找与该区域相邻的预设区域范围内各个区域的临界阈值。
[0160] 实际应用中,屏幕中相邻的区域其硬件情况的相似度一般较高。例如屏幕相近区域的走线接近,因此区域间越靠近,其硬件配置情况以及被外界干扰的情况越趋于一致。如当屏幕遭受撞击等外部影响后,相邻的区域受到的影响情况往往较为相近。因此在没有直接获取到手写笔所处区域的临界阈值时,本申请实施例首先可以对手写笔周围区域进行临界阈值搜索。其中,搜索的预设区域范围具体大小此处不做过多限定。例如,在一些可选实施例中,预设区域范围可以设置为与手写笔所处区域最近的n个区域,n为任意正整数,亦可以将预设区域范围设为以手写笔所处区域为圆形,半径为m的范围,其中m为任意正数。在另一些可选实施例中,亦可以将区域按照横列或竖列的方式划分成多个通道,此时每个通道均包含一个横列或竖列内的多个区域。在此基础上,预设区域范围亦可以是最近的一个或多个通道。
[0161] 以一实例进行示例说明,仍可以参考图6所示实施例,假设预设区域范围设置为与手写笔所处区域最近的5个区域,且手写笔所处区域为图6中的(b)的区域7。此时预设区域范围内包含区域4、区域8、区域1、区域5以及区域9共5个区域,因此若未获取到区域7关联的临界阈值时,可以对这5个区域进行临界阈值的搜索。
[0162] S3033,基于查找出的一个或多个临界阈值,确定出手写笔所处区域对应的临界阈值。
[0163] 当在预设区域范围有搜索出一个或多个临界阈值时,终端设备可以基于这些临界阈值作为参考基准,来确定出手写笔所处区域可适用的信号区域。例如,可以取这些临界阈值的均值或众数值等作为手写笔所处区域可适用的信号区域,亦可以将这些临界阈值中的,与手写笔所处区域最近的区域的临界阈值作为手写笔所处区域可适用的信号区域。
[0164] 作为本申请中对S3033确定临界阈值的一个可选实施例,在本申请实施例中,可以根据查找出的临界阈值的情况,来具体确定出手写笔所处区域对应的临界阈值。此时S3033可以被替换为:S30331至S30332。详述如下:
[0165] S30331,若仅查找出一个临界阈值,则将该查找出的临界阈值作为手写笔所处区域对应的临界阈值。
[0166] S30332,若查找出多个区域的临界阈值,则从查找出的多个区域中筛选出与手写笔所处区域最近的区域。若筛选出一个最近的区域,则将该最近的区域的临界阈值,作为手写笔所处区域对应的临界阈值。若筛选出的多个区域中,有多个与手写笔所处区域最近的区域,则将这些区域的临界阈值的均值作为手写笔所处区域最近的区域。
[0167] 其中,S30332中筛选出的与手写笔所处区域最近的区域,亦可称为第二区域。
[0168] 对于在预设区域范围内仅搜索出一个区域有临界阈值的情况,此时可以将该区域的临界阈值作为手写笔所处区域使用的临界阈值。而对于在预设区域范围内搜索出多个区域有临界阈值的情况,按照就近原则可以先筛选出与手写笔所处区域物理距离最近的区域。如果仅有一个最近的区域,则可以将该区域的临界阈值作为手写笔所处区域使用的临界阈值。但对于有多个物理距离相同的最近区域时,则可以将这些区域的临界阈值求均值,再将均值作为手写笔所处区域使用的临界阈值。
[0169] 仍可以参考图6所示实施例为例进行示例说明,假设预设区域范围设置为与手写笔所处区域最近的5个区域,且手写笔所处区域为图6中的(b)区域7。此时预设区域范围内包含区域4、区域8、区域1、区域5以及区域9共5个区域。假设对这5个区域进行搜索后仅搜索到一个区域的临界阈值,则此时可以将搜索出的临界阈值给区域7使用。而如果搜索出了多个临界阈值,则继续识别最近区域的数量。例如假设搜索出了区域4、区域5和区域9的临界阈值,此时与区域7最近的区域仅有区域4,因此可以将区域4的临界阈值给区域7使用。而假设搜索出了区域4、区域8和区域5的临界阈值,此时与区域7最近的区域有区域4和区域8,因此可以将区域4和区域8的临界阈值均值作为区域7的临界阈值使用。
[0170] 本申请实施例在未直接获取到手写笔所处区域的临界阈值时,主动对周围的区域进行临界阈值搜索,并根据搜索结果自适应的确定出最适宜的临界阈值。因此本申请实施例有效应对临界阈值的各种可能情况,对各种可能情况具有较强的适应和兼容能力,并可以提高所获取的临界阈值的有效性。
[0171] 作为本申请的一个可选实施例,当终端设备无法获取到可用的临界阈值,使得S303中无法检测信号量与临界阈值的关系时。在本申请实施例中,可以选择识别结果为:无法识别手写笔是否离开终端设备的手写模块。此时终端设备,可以继续正常显示笔迹。
[0172] S304,若压力值在预设时间范围内的变化趋势为变小趋势,且信号量小于或等于临界阈值,则终端设备判定手写笔离开手写模块。
[0173] 当识别出压力值成变小趋势(即由大变小),且信号量小于或等于临界阈值,说明此时手写笔处于被撤笔的状态且与屏幕的距离以及达到刚离开的状态。因此此时本申请实施例可以判定为手写笔离开屏幕。
[0174] S202,若识别出手写笔离开手写模块,则终端设备终止显示在当前时刻之后的预设范围内,手写笔输入的待显示的笔迹内容。
[0175] 在识别出手写笔离开屏幕时,为了避免笔迹消失不及时,本申请实施例可以取消对手写笔离开后笔迹的显示。具体而言,本申请实施例可以预先设置每次不显示的预设范围,并在每次识别出手写笔离开屏幕时,对预设范围内的所有笔迹内容全部不予显示。其中,由于当前时刻之后的笔迹内容实际都是尚未显示的,因此都可以视为等待后续继续显示的笔迹内容,即本申请实施例中的待显示的笔迹内容。正常情况下,若想显示出这些待显示的笔迹内容,需要继续获取新的耦合信号并进行响应处理得到对应的笔迹内容,再在屏幕内进行显示。因此为了不显示出这些待显示的笔迹内容,可以选择终止对当前时刻之后获取到的新的耦合信号进行响应处理,从而终止生成这些待显示的笔迹内容。
[0176] 其中,预设范围又可称为预设第一范围。本申请实施例不对预设范围的具体范围大小做过多限定。同时,在一些实施例中,预设范围可以是一个时间范围,此时预设范围亦可称为第一时间范围。例如第一时间范围可以设为h毫秒内,h为1000以内的任意正数。如可以设置h=30,此时终端设备可以不对未来30毫秒内的待显示笔迹内容进行显示。亦可以设置第一时间范围为无限时长,此时终端设备可以无限期停止对待显示笔迹内容的显示,直至被其他触发条件重新触发,启动对笔迹内容的显示。而在另一些可选实施例中,预设范围亦可以是一个耦合信号的数量范围,例如可以对当前时刻之后获取到的k个耦合信号终止进行响应,从而使得这些耦合信号对应的笔迹内容不进行显示,其中k为任意正整数,如k=1即对下一帧的笔迹内容不进行显示。其中,对于在当前时刻之后获取到的耦合信号,可以称为目标耦合信号。
[0177] 作为本申请的一个可选实施例,对于当前时刻对应的笔迹内容可以选择显示或者不显示。
[0178] 应当说明地,在本申请实施例中,将所有已生成的笔迹内容以及待显示的笔迹内容,均视为是由手写笔输入的笔迹内容。
[0179] 作为本申请的一个可选实施例,若未识别出手写笔离开手写模块,则可以选择正常显示笔迹。
[0180] 应当理解地,实际应用中可以根据需求设置S201的触发条件,此时S201至S202的操作执行次数可以是单次亦可以是多次,具体可根据实际情况确定,此处不做过多限定。
[0181] 作为本申请的一个可选实施例,可以参考图8,是本申请实施例提供的一种笔迹处理方法的整体方案流程示意图。详述如下:
[0182] S501,终端设备获取手写笔的压力值,并判断压力值是否为0。若压力值不为0,执行S502。若压力值为0,则执行S505的操作。
[0183] S502,终端设备获取手写笔所处区域关联的临界阈值,判断是否能获取到临界阈值。若能获取到临界阈值,则执行S503,若获取不到临界阈值则执行S506。
[0184] S503,终端设备识别压力值预设时间范围内的变化趋势是否为变小趋势。若是变小趋势,则执行S504,若不是变小趋势,则执行S506。
[0185] S504,终端设备识别耦合信号的信号量是否小于或等于临界阈值。若信号量小于或等于临界阈值,则执行S505,若信号量大于临界阈值,则执行S506。
[0186] S505,终端设备将压力值置0,并不显示在当前时刻之后的预设范围内的笔迹内容。
[0187] S506,终端设备正常显示笔迹内容。
[0188] 在执行S505或S506的操作之后,完成对笔迹内容的单次处理。
[0189] 其中,S502至S506的操作细节、原理及有益效果说明等,均可以参考上述图2至图7所述实施例的相关说明,此处不予赘述。同时,本申请实施例还增加了对压力值为0时的处理方案。由于压力值为0时,说明手写笔已离开屏幕,因此此时可以跳转至S505不显示笔迹内容的操作。
[0190] 作为本申请的一个可选实施例,S501至S506的操作可以在终端设备每次获取到新的压力值或耦合信号时执行一次,亦可以按照预设的处理频率周期性的执行,此处不进行过多限定。
[0191] 上述图1A至图8所示的各个实施例均是针对手写笔笔迹的处理实施例,作为本申请的一个可选实施例,可以设定为当终端设备处于手写笔模式下时,执行上述各个实施例的内容。其中,手写笔模式可以是由用户手动开启,亦可以是由终端设备在检测到手写笔或其他预设条件时主动开启。
[0192] 为了改善手写笔笔迹消失不及时的问题,在本申请实施例中,终端设备可以同时监测获取到的手写笔的压力值和耦合信号的信号量。并在检测到压力值呈变小趋势,且信号量小于或等于临界阈值时,判定为手写笔离开终端设备手写模块。在判定手写笔离开手写模块之后,终端设备不显示后续预设范围内的笔迹内容。
[0193] 由于用户在撤笔过程中,手写笔施加的力会逐渐减小(即在释放力),因此压力值呈下降趋势可视为撤笔的特征之一。同时实际应用中,耦合信号的信号量会随着手写笔与手写模块距离的增大而减小,手写笔笔尖离手写模块越远,则终端设备可获取到的信号量越小。因此可以根据实际需求,设置用于评估手写笔笔尖与手写模块距离的临界阈值。当压力值下降过程中,同时信号量减小至小于或等于临界阈值,说明撤笔操作已达到笔尖离开手写模块的状态,即此时手写笔已离开了手写模块。从而实现对手写笔离开手写模块的快速准确识别。此时终端设备选择不显示后续预设范围内的笔迹内容,可以使得笔迹在手写笔离开手写模块的第一时间及时消失,从而改善甚至避免手写笔笔迹消失不及时的情况出现。同时,本申请实施例还提供了针对压力值变化趋势的具体识别方案,以及对临界阈值的具体获取方案,从而可以实现对变化趋势和临界阈值的准确有效的处理。
[0194] 作为本申请的一个可选实施例,考虑到实际应用中在手写笔与屏幕刚分离的状态下,耦合信号的信号量至少会受到终端设备情况和手写笔情况的影响。因此,即使是针对同一终端设备,在不同使用场景下所适宜的临界阈值也可能会存在较大差异。基于此,为了提高临界阈值的有效性,使得上述图2至图8所示实施例基于所使用的临界阈值,可以较好地识别出手写笔与屏幕刚分离的状态。在上述图2至图8所示实施例的基础上,可以参考图9A,是本申请实施例提供的笔迹处理方法中的一种临界阈值学习方法的流程示意图。详述如下:
[0195] S600,当满足预设的触发条件,执行S601,终端设备开始学习临界阈值。
[0196] 其中,终端设备所需学习的临界阈值亦可称为目标临界阈值。
[0197] 首先应当说明地,在用户使用手写笔的过程中,本申请实施例中对临界阈值的学习操作与图2至图8所示实施例的操作,既可以并行执行亦可以串行执行,具体可根据实际需求设置,此处不做限定。详述如下:
[0198] 并行执行时,本申请实施例对临界阈值的学习操作,与图2至图8所示实施例中的各个步骤操作,可由终端设备相对独立两个进程进行处理,此时终端设备可以同时执行两者。此时,若在S303和S3031等获取临界阈值的操作之前,终端设备通过本申请实施例的学习方法获得了临界阈值,则S303和S3031等操作可以获取到提高本申请实施例的学习方法得到的临界阈值。
[0199] 串行执行时,本申请实施例对临界阈值的学习操作,可以融入图2至图8所示实施例中的方案逻辑中,作为其中某个步骤的细化操作。例如在S303和S3031等获取临界阈值的操作过程中,若未读取到所需的临界阈值,则可以开始执行本申请实施例。或者S3032中在预设区域范围内也未查找出其他区域的临界阈值时,亦可以开始执行本申请实施例。
[0200] 具体而言,可以通过设置触发条件的方式来确定何时执行本申请实施例。例如作为本申请的一个可选实施例,可以设置临界阈值学习的触发条件为以下条件中的任意条件:
[0201] 触发条件1:终端设备处于手写笔模式或者检测到手写笔,同时终端设备获取到手写笔的压力值不为0。
[0202] 触发条件2:终端设备获取到手写笔的压力值不为0,且获取到耦合信号的信号量大于预设的基础阈值。
[0203] 触发条件3:终端设备获取到手写笔的压力值不为0,获取到耦合信号的信号量大于预设的基础阈值,且检测到当次的书写的笔迹长度大于长度阈值。
[0204] 其中,基础阈值和长度阈值的具体值均可由技术人员设定,此处不做限定。
[0205] 作为本申请的一个可选实施例,对应于触发条件1,参考图9B,是本申请实施例提供的一种开始学习临界条件的流程示意图。在本申请实施例中,S600可以被替换为:S6001至S6002。详述如下:
[0206] S6001,终端设备识别当前是否处于手写笔模式或检测到手写笔。若检测到手写笔模式或检测到手写笔,则执行S6002。
[0207] 若未检测到,则可以不开始学习临界阈值。
[0208] S6002,终端设备识别获取到手写笔的压力值是否为0。若压力值不为0,则开始学习临界阈值。若压力值为0,则可以判定当前手写笔离开了屏幕。
[0209] 实际应用中可以选取上述触发条件1至3中任意一种或多种作为S300中的触发条件。当同时选取了多种触发条件时,可以选择采用“与”或“或”的逻辑关系进行处理。例如当采用“与”的逻辑关系进行处理时,终端设备可以在同时满足选取出的多个触发条件时,判定为可以开始学习临界阈值。当采用“或”的逻辑关系处理时,终端设备可以在满足任意选取出的触发条件时,开始学习临界阈值。
[0210] 应当理解地,实际用户在使用手写笔的过程中,临界阈值学习的触发条件可能会被多次触发,因此本申请实施例对临界阈值的学习也可能会有多次。例如,假设触发条件中涉及到根据获取到的压力值和/信号量来确定是否满足触发条件,如上述触发条1和触发条件2。则此时终端设备每次在获取到新的压力值和/信号量时,均可以满足依次触发条件,从而开始一次对临界阈值新的学习。通过对临界阈值的多次更新学习,可以使得本申请实施例所学习到的临界阈值更加满足终端设备与手写笔的实际情况,从而提升了临界阈值的有效性和实时性。
[0211] S601,获取耦合信号的信号量、手写笔的压力值以及手写笔的倾斜角。
[0212] 由于本申请实施例与图2至图8所示实施例的操作,既可以并行执行亦可以串行执行。因此在本申请实施例所获取到的信号量和压力值,与在图2至图8所示实施例中所获取到的压力值和信号量,既可能是相同的数据,亦可能是不同的数据。具体需根据实际应用情况确定。为了方便区分,在本申请实施例中,图2至图8所示实施例中所使用的压力值和信号量,可以称为第一压力值和第一信号量(即第一信号强度)。而在本申请实施例进行临界阈值学习时所获取到的压力值和信号量,则可以称为第二压力值和第二信号量(第二信号量亦可称为即第二信号强度)。由于第一压力值有多个(用于分析变化趋势),因此,第二压力值可以是第一压力值中的获取到的一个压力值,如第一压力值中最新的一个压力值,也可以是与第一压力值相独立的一个压力值。而第二信号量和第一信号量,则可以是同一信号量,也可以是相互独立的两个信号量。
[0213] 实际应用中,用户在使用手写笔书写时,终端设备所获取到的信号量会受到用户对手写笔施加力以及手写笔笔头与屏幕的接触面积的同时影响。
[0214] 其中对于施加力的影响,假设其他变量保持恒定,在手写笔或终端设备对施加力可检测的有效范围内,此时理论上用户对手写笔施加的力越大信号量也会越大。例如可以参考图3所示的实例,在终端设备和手写笔固定且手写笔相对屏幕倾斜角不变的情况下,用户在笔尖刚接触屏幕的状态下对手写笔继续施加力,可以将信号量从6200提升至6800。由于用户对手写笔施加的力,可以体现为手写笔的压力值,由此可知压力值会影响终端设备所获取到的信号量。
[0215] 对于手写笔笔头与屏幕的接触面积,可以体现为手写笔与屏幕之间的倾斜角,倾斜角越大,手写笔笔头与屏幕的接触面积也会越大。因此对于手写笔笔头与屏幕接触面积的影响,可以量化为手写笔倾斜角对信号量的影响。实际应用中,假设其他变量保持恒定,在手写笔可检测的倾斜角有效范围内,理论上手写笔的倾斜角越小信号量越大。以一实例进行举例说明,参考图10,是本申请实施例提供的一种手写笔不同倾斜角下书写的场景示意图。假设用户在书写过程中,对手写笔施加的力保持恒定不变,但会改变手写笔的倾斜角,使得倾斜角从90°开始变为了60°再变为了30°。此时可以参考图10中的(a)和(b),在倾斜角为90°时,信号量为6500,当倾斜角减小至60°时信号量增加至6800,而当倾斜角减小至30°时信号量增加至7000。作为本申请的一个可选实施例,手写笔的倾斜角取值范围为(0°,
90°)。
[0216] 由上述分析可知,为了得到可适用与手写笔与屏幕刚分离的状态下对应的临界阈值,需要在正常获取的信号量的基础上,去掉压力值和倾斜角所带来的信号量(以下将因压力值或因倾斜角所带来的信号量,均称为残差量,或残差信号量)。因此,本申请实施例中,终端设备可以在获取耦合信号的信号量的同时,还获取对应的实时的手写笔压力值和倾斜角。其中,倾斜角可以由手写笔主动检测并发给终端设备。在本申请实施例中,所获取到的手写笔的倾斜角亦可称为目标倾斜角。
[0217] S602,获取映射关系。
[0218] 本申请实施例可以由技术人员预先对压力值和倾斜角对信号量的影响进行量化评估,得到压力值变化与残差量大小的对应关系,以及倾斜角变化与残差量大小的关系(本申请实施例中将这两个关系统称为映射关系)。在此基础上,终端设备可以在获取到手写笔实际的压力值和倾斜角后,继续获取对应的映射关系。其中,本申请实施例不对映射关系的量化评估做过多限定。
[0219] 作为本申请的一个可选实施例,可以使用以下任意量化评估方法来获得映射关系:
[0220] 量化评估方法1:采用控制变量法,每次仅将压力值或倾斜角作为自变量,将对应的信号量作为因变量。通过调整不同的自变量值,可以获得对应多个因变量值。再通过函数拟合的方式,对获取到的多个自变量值和因变量值进行函数拟合,得到对应的函数关系。
[0221] 此时,该压力值和倾斜角均有各自对应的函数关系,可以将这两个函数关系分别作为压力值和倾斜角的映射关系。因此S602中可以获取到压力值对应的映射关系,以及倾斜角对应的映射关系,共两个独立的映射关系。
[0222] 量化评估方法2:采用控制变量法,将压力值和倾斜角同时作为自变量,将对应的信号量作为因变量。通过调整不同的自变量值,可以获得对应多个因变量值。再通过函数拟合的方式,对获取到的多个自变量值和因变量值进行函数拟合,得到对应的函数关系。
[0223] 此时,压力值和倾斜角共有一个函数关系,可以将该函数关系作为压力值和倾斜角对应的映射关系,因此S602中可以获取到一个映射关系。
[0224] 实际应用中,压力值与残差量的函数关系以及倾斜角与残差量的函数关系往往都是线性关系。因此为了简化映射关系,以提高终端设备的计算效率。在上述量化评估方法1和量化评估方法2进行函数拟合时,均可以进行线性函数拟合,从而得到对应的线性的映射关系。
[0225] S603,根据映射关系对压力值和倾斜角进行处理得到对应的残差量,并去除信号量中的残差量得到对应的初始信号量。
[0226] 在获取到映射关系的基础上,通过映射关系对压力值和倾斜角进行函数代入计算,即可得到对应的残差量(亦可称为残差信号强度)。在此基础上,再将实际获取到的信号量减去残差量,即可得到手写笔与屏幕刚分离的状态下,理论上无施加力无接触面积影响的信号量(本申请实施例中称为初始信号量)。
[0227] 以一实例进行举例说明,假设采用了上述量化评估方法1来获取映射关系,且最终获取到的映射关系为:
[0228] 压力值与残差量的映射关系:y1=a×x1,其中,x1为压力值,y1为压力值对应的残差量,a为压力补偿系数,且a是一个常数;
[0229] 倾斜角与残差量的映射关系:y2=b×x2,其中,x2为倾斜角,y2为倾斜角对应的残差量,b为角度补偿系数,且b是一个常数。a和b的具体值均可以通过线性函数拟合确定。
[0230] 可以参考图11,是本申请实施例提供的通过对压力值和倾斜角分别计算残差量的方式,得到初始信号量的流程示意图。此时S602和S603可以被替换为:
[0231] S700,获取压力值对应的映射关系,以及倾斜角对应的映射关系。
[0232] S701,通过压力值的映射关系对获取到的压力值进行处理,得到压力值对应的残差量。
[0233] S702,通过倾斜角的映射关系对获取到的倾斜角进行处理,得到倾斜角对应的残差量。
[0234] S703,将实际获取到的信号量减去两个残差量,得到初始信号量。
[0235] S604,基于初始信号量确定的临界阈值。
[0236] 若当前没有临界阈值,则将初始信号量作为临界阈值。若当前已有临界阈值,则对比初始信号量与当前临界阈值的大小,并在初始信号量大于当前临界阈值时,将初始信号量更新为新的临界阈值。
[0237] 由于实际应用中可能会多次学习临界阈值的,因此每次在得到初始信号量时,都有可能已经有了历史记录的临界阈值。基于此,在得到初始信号量时,若终端设备当前没有临界阈值,则可以将初始信号量作为临界阈值。而若终端设备已经有了一个临界阈值,则将该临界阈值与初始信号量进行大小比较。当初始信号量大于临界阈值时,将初始信号量作为新的临界阈值,可以提高对手写笔与屏幕刚分离的状态识别灵敏度,从而提高对手写笔离开屏幕的识别速度。作为本申请的一个可选实施例,当初始信号量小于或等于当前的临界阈值时,可以选择不对当前的临界阈值进行更新,而是继续沿用该临界阈值。
[0238] 作为本申请的另一个可选实施例,亦可以选择不考虑是否已有临界阈值,而是在得到最小的初始信号量之后,将初始信号量作为临界阈值。此时S604可以替换为:将初始信号量作为临界阈值。
[0239] 作为本申请的一个可选实施例,基于图9A所示实施例所述的原理,亦可以选择仅考虑用户对手写笔施加力对信号量的影响,或者仅考虑手写笔笔头与屏幕的接触面积对信号量的影响。相对应的,S601中可以选择获取信号量和压力值,或者获取信号量与倾斜角。S602中获得的映射关系为压力值对应的映射关系,或者倾斜角对应的映射关系。S603中,则计算信号量或压力值的残差量,并计算对应的初始信号量。其余均与图9A所示实施例相同,此处不予赘述。
[0240] 在本申请实施例中,通过创建压力值和倾斜角的映射关系,并基于映射关系和实际的压力值与倾斜角,计算出对应的残差量。再将实际信号量减去计算出的残差量得到初始信号量,从而使得本申请实施例可以有效剔除用户对手写笔施加力对信号量的影响,以及手写笔笔头与屏幕的接触面积对信号量的影响。因此得到的初始信号量可以更为接近实际手写笔与屏幕刚分离的状态下的信号量。再基于该初始信号量来确定临界阈值,可以有效提高临界阈值的合理性,从而提高对手写笔与屏幕分离识别的准确性。
[0241] 同时由于本申请实施例可以在用户正常使用手写笔在屏幕书写过程中,自适应学习出适宜的临界阈值。相比设置固定大小的临界阈值而言,本申请实施例可以有效适配各种不同的终端设备情况和手写笔情况,且可以跟随终端设备情况和手写笔情况的变化而及时更新临界阈值。因此本申请实施例中得到的临界阈值,对实际应用情况的适配能力更强灵活性更高,且临界阈值的有效性较高。
[0242] 作为本申请的另一个可选实施例,考虑到实际应用中屏幕不同位置处的硬件情况可能会存在一些差异,这导致实际应用中屏幕不同位置处在与手写笔处于刚分离状态时,终端设备所能检测到的信号量也可能会存在一些差异。基于此,为了提高学习出的临界阈值的有效性,以提高对手写笔与屏幕刚分离状态的识别准确性。在本申请实施例中,可以预先将屏幕划分为多个不同的区域,并将每个区域作为一个独立的临界阈值设置对象。其中,本申请实施例不对区域划分规则做过多限定。例如可以参考图6所示实施例以及其他相关实施例进行划分。
[0243] 基于对屏幕进行区域划分的前提,此时图9A所示实施例可以进行方案细化。具体而言,可以参考图12,是本申请实施例提供的临界阈值学习方法的流程示意图。详述如下:
[0244] S600,当满足预设的触发条件,执行S6011,终端设备开始学习临界阈值。
[0245] 具体可参考图9A所示实施例中的S600的相关说明,此处不予赘述。
[0246] S6011,获取耦合信号的信号量、手写笔的压力值、手写笔的倾斜角以及手写笔的坐标信息。
[0247] S6021,根据坐标信息,确定手写笔所处区域,并获取手写笔所处区域关联的映射关系。
[0248] 其中,本申请实施例中手写笔所处的区域亦可称为第二区域。由于本申请实施例与图2至图8所示实施例的操作,既可以并行执行亦可以串行执行。因此在本申请实施例手写笔所处的第二区域,与在图2至图8所示实施例中手写笔所处的第一区域,既可能是同一区域,也可能是不同区域。
[0249] S6031,根据映射关系对压力值和倾斜角进行处理得到对应的残差量,并去除信号量中的残差量得到手写笔所处区域对应的初始信号量。
[0250] 具体可参考图9A所示实施例中的S603的相关说明,此处不予赘述。
[0251] S6041,基于初始信号量确定手写笔所处区域关联的临界阈值。
[0252] 若手写笔所处区域没有关联的临界阈值,则将初始信号量作为手写笔所处区域关联的临界阈值。若手写笔所处区域已有临界阈值,则对比初始信号量与当前临界阈值的大小,并在初始信号量大于当前临界阈值时,将初始信号量更新为手写笔所处区域新的临界阈值。
[0253] S6011至S6041的操作原理、细节以有益效果等,与图9A所示实施例中的S601至及S604大致相同,因此可以参考对S601至S604相关说明。此处仅对区别之处进行说明如下:
[0254] 在本申请实施例中,屏幕每个区域的临界阈值关联都是独立的。即对每个区域关联的临界阈值的学习、设置以及更新等操作都是相互独立的,因此每个区域下压力值和倾斜角对应的映射关系也是独立的,且每个区域所关联的临界阈值可能相同或不同。
[0255] 为了确定出手写笔当前书写的区域(即手写笔所处区域),本申请实施例对S601进行细化得到S6011,此时可以一并获取手写笔的坐标信息。在获取到坐标信息之后,可以对S602进行细化得到S6021,此时终端设备可以根据坐标信息来定位出手写笔所处区域,再查找该区域下压力值和倾斜角对应的映射关系。在基于映射关系对压力值和倾斜角处理得到残差值,并从信号量中取出残差值之后,即可得到手写笔所处区域对应的初始信号量,因此可以得到对S603细化后的S6031。最后可以基于初始信号量,确定出手写笔所处区域所适宜的临界阈值,因此可以得到对S604细化后的S6041。
[0256] 相对图9A所示实施例而言,一方面本申请实施例具有图9A所示实施例的所有有益效果,如本申请实施例得到的临界阈值,对实际应用情况的适配能力更强灵活性更高,且临界阈值的有效性较高。另一方面,本申请实施例通过分区域学习临界阈值,可以实现对临界阈值更为细致的区分学习。因此得到的临界阈值可以更好地适配同一屏幕内的不同区域,从而使得后续终端设备利用临界阈值判断手写笔是否离开屏幕时,判断的结果更为准确可靠。因此本申请实施例,可以再次提升所得到的临界阈值的有效性。
[0257] 作为本申请的一个可选实施例,在图9A至图12所示实施例的基础上,本申请实施例中的终端设备还可以在获取到信号量时进行噪声检测,并在获取到的信号量存在较大噪声时中止对临界阈值的学习。此时可以防止噪声过大,造成对临界阈值学习误差较大的情况出现,以提高学习出的临界阈值的有效性。
[0258] 作为本申请的一个可选实施例,可以将图9A至图12所示实施例,与图7所示实施例相结合,此时可以得到一个获取临界阈值的结合实施例。参考图13,是本申请实施例提供的一种获取临界阈值方法的流程示意图。详述如下:
[0259] S800,终端设备获取手写笔所处区域。
[0260] S801,判断该区域是否存在学习得到的临界阈值。
[0261] 若手写笔所处区域有学习得到的临界阈值,则基于该临界阈值进行后续操作步骤。例如S304判断信号量是否小于或等于临界阈值的步骤。
[0262] S802,若手写笔所处区域没有学习得到的临界阈值,则终端设备查找与该区域相邻的预设区域范围内各个区域学习得到的临界阈值。
[0263] S803,基于查找出的一个或多个临界阈值,确定出手写笔所处区域对应的临界阈值。
[0264] 基于该临界阈值进行后续操作步骤。例如S304判断信号量是否小于或等于临界阈值的步骤。
[0265] 对S800至S803的操作原理、细节以及有益效果等,均可以参考图7所示实施例、图9A至图12所示实施例以及其他相关实施例的说明,此处不予赘述。
[0266] 作为本申请的一个可选实施例,参考图14,是本申请实施例的一种手写笔和终端设备触摸屏的结构示意图。详述如下:
[0267] 在本申请实施例中,手写笔包含:主控模块、压感模块、通信模块以及其他功能模块,包括但不限于如:姿态模块和触摸模块等。
[0268] 终端设备屏幕包括:解析模块、存储模块以及其他功能模块,包括但不限于如:显示控制模块,电源模块等。
[0269] 其中,对各个模块的功能说明如下:
[0270] 手写笔的主控模块:主要用于控制手写笔器件的工作逻辑,比如打码时序,压力传感器采集周期等。
[0271] 手写笔的压感模块:包含压力传感器,用于感知手写笔的压力变化。
[0272] 手写笔的通信模块:用于将手写笔的压力值以及耦合信号(在本申请实施例中亦可称为电极信号)发送至终端设备。其中,通信模块可以打码模块或者蓝牙模块等。
[0273] 屏幕的解析模块:用于解析来着手写笔的信号,包括但不限于如:压力值、倾斜角等。还用于计算手写笔笔头的坐标信息或倾斜角等。(根据实际应用的不同,手写笔倾斜角可以由手写笔计算,亦可以由终端设备屏幕计算)
[0274] 屏幕的存储模块:用于存储一些状态信息等数据,例如学习出的临界阈值。
[0275] 对应于上文实施例所述的笔迹处理方法,图15示出了本申请实施例提供的笔迹处理装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
[0276] 参照图15,该笔迹处理装置包含手写模块,手写模块用于供手写笔输入笔迹内容,该笔迹处理装置包括:
[0277] 压力获取模块151,用于获取在预设时间范围内的第一压力值,第一压力值为用户对手写笔施加的压力值,或者手写笔对手写模块施加的压力值,预设时间范围的终止时刻为当前时刻。
[0278] 信号量获取模块152,用于获取最新的第一信号强度,第一信号强度为终端设备与手写笔的耦合信号的信号强度。
[0279] 识别模块153,用于根据第一压力值和第一信号强度,识别手写笔是否离开手写模块。
[0280] 显示控制模块154,用于当识别出手写笔离开手写模块时,终止显示当前时刻之后的第一时间范围内,手写笔在手写模块输入的待显示的笔迹内容,或者终止对若干个目标耦合信号的响应,目标耦合信号为在当前时刻之后获取到的手写笔与终端设备的耦合信号。
[0281] 对应于上文实施例的临界阈值学习方法,本申请实施例提供了一种临界阈值学习装置。该临界阈值学习装置内包含手写模块,该临界阈值学习装置包括:
[0282] 数据获取模块,用于获取最新的第二压力值、最新的第二信号强度以及手写笔与手写模块之间最新的目标倾斜角,其中,第二压力值为用户对手写笔施加的压力值,或者手写笔对手写模块施加的压力值,第二信号强度为终端设备与手写笔的耦合信号的信号强度。
[0283] 映射获取模块,用于获取压力值、倾斜角和信号强度之间的映射关系。
[0284] 残差计算模块,用于根据第二压力值、目标倾斜角以及映射关系,确定出残差信号强度。
[0285] 残差去除模块,用于去除第二信号强度中的残差信号强度,得到初始信号强度。
[0286] 阈值确定模块,用于基于初始信号强度,确定目标临界阈值。目标临界阈值用于与终端设备和手写笔最新的耦合信号的第一信号强度进行比对,以识别手写笔是否离开手写模块。
[0287] 本申请实施例提供的笔迹处理装置以及临界阈值学习装置中各模块实现各自功能的过程,具体可参考前述图2至图13所示实施例以及其他相关方法实施例的描述,此处不再赘述。
[0288] 需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0289] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0290] 应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0291] 还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0292] 如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0293] 另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。还应理解的是,虽然术语“第一”、“第二”等在文本中在一些本申请实施例中用来描述各种元素,但是这些元素不应该受到这些术语的限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一表格可以被命名为第二表格,并且类似地,第二表格可以被命名为第一表格,而不背离各种所描述的实施例的范围。第一表格和第二表格都是表格,但是它们不是同一表格。
[0294] 在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0295] 终端设备(Terminal Equipment)亦可称为:用户设备(User Equipment)、移动台(Mobi1e Station, MS )、以及移动终端( Mobi1e Termina1)等。
[0296] 本申请实施例提供的笔迹处理方法可以应用于手机、平板电脑、手写板、绘画板、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra‑mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
[0297] 例如,所述终端设备可以是WLAN中的站点(STAION,ST),可以是蜂窝电话、无绳电话、会话启动协议(Session InitiationProtocol,SIP)电话、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(set top box,STB)、用户驻地设备(customer premise equipment,CPE)和/或用于在无线系统上进行通信的其它设备以及下一代通信系统,例如,5G网络中的终端设备或者未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)网络中的终端设备等。
[0298] 作为示例而非限定,当所述终端设备为可穿戴设备时,该可穿戴设备还可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
[0299] 下文以终端设备是平板电脑为例,图16示出了平板电脑100的结构示意图。
[0300] 平板电脑100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器
170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头
193,显示屏194(亦可称为屏幕),以及SIM卡接口195等。其中传感器模块180可以包括陀螺仪传感器180A,加速度传感器180B,气压传感器180C,磁传感器180D,环境光传感器180E,距离传感器180F,接近光传感器180G、指纹传感器180H,温度传感器180J,触摸传感器180K(当然,平板电脑100还可以包括其它传感器,比如温度传感器,压力传感器、气压传感器、骨传导传感器等,图中未示出)。
[0301] 处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit, GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器( Neural‑network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是平板电脑100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0302] 处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
[0303] 处理器110可以运行本申请实施例提供的笔迹处理方法,以改善笔迹消失不及时的情况,提升用户的体验。处理器110可以包括不同的器件,比如集成CPU和GPU时,CPU和GPU可以配合执行本申请实施例提供的笔迹处理方法,比如笔迹处理方法中部分算法由CPU执行,另一部分算法由GPU执行,以得到较快的处理效率。
[0304] 显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light‑emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active‑matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light‑emitting diode,FLED),Miniled,MicroLed,Micro‑oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,平板电脑100可以包括1个或N个显示屏194,N为大于1的正整数。显示屏194可用于显示由用户输入的信息或提供给用户的信息以及各种图形用户界面(graphical user interface,GUI)。例如,显示屏194可以显示照片、视频、网页、或者文件等。再例如,显示屏194可以显示图形用户界面。其中图形用户界面上包括状态栏、可隐藏的导航栏、时间和天气小组件(widget)、以及应用的图标,例如浏览器图标等。状态栏中包括运营商名称(例如中国移动)、移动网络(例如4G)、时间和剩余电量。导航栏中包括后退(back)键图标、主屏幕(home)键图标和前进键图标。此外,可以理解的是,在一些实施例中,状态栏中还可以包括蓝牙图标、Wi‑Fi图标、外接设备图标等。还可以理解的是,在另一些实施例中,图形用户界面中还可以包括Dock栏,Dock栏中可以包括常用的应用图标等。当处理器检测到用户的手指(或触控笔等)针对某一应用图标的触摸事件后,响应于该触摸事件,打开与该应用图标对应的应用的用户界面,并在显示屏194上显示该应用的用户界面。
[0305] 在本申请实施例中,显示屏194可以是一个一体的柔性显示屏,也可以采用两个刚性屏以及位于两个刚性屏之间的一个柔性屏组成的拼接显示屏。当处理器110运行本申请实施例提供的笔迹处理方法后,处理器110可以控制外接的音频输出设备切换输出的音频信号。
[0306] 摄像头193(前置摄像头或者后置摄像头,或者一个摄像头既可作为前置摄像头,也可作为后置摄像头)用于捕获静态图像或视频。通常,摄像头193可以包括感光元件比如镜头组和图像传感器,其中,镜头组包括多个透镜(凸透镜或凹透镜),用于采集待拍摄物体反射的光信号,并将采集的光信号传递给图像传感器。图像传感器根据所述光信号生成待拍摄物体的原始图像。
[0307] 内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行平板电脑100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序(比如相机应用,微信应用等)的代码等。存储数据区可存储平板电脑100使用过程中所创建的数据(比如相机应用采集的图像、视频等)等。
[0308] 内部存储器121还可以存储本申请实施例提供的笔迹处理方法对应的一个或多个计算机程序。该一个或多个计算机程序被存储在上述存储器121中并被配置为被该一个或多个处理器110执行,该一个或多个计算机程序包括指令,上述指令可以用于执行如图2至图13相应实施例中的各个步骤,该计算机程序可以包括帐号验证模块、优先级比较模块。其中,帐号验证模块,用于对局域网内的其它终端设备的系统认证帐号进行认证;优先级比较模块,可用于比较音频输出请求业务的优先级和音频输出设备当前输出业务的优先级。状态同步模块,可用于将终端设备当前接入的音频输出设备的设备状态同步至其它终端设备,或者将其它设备当前接入的音频输出设备的设备状态同步至本地。当内部存储器121中存储的笔迹处理方法的代码被处理器110运行时,处理器110可以控制终端设备进行笔迹数据处理。
[0309] 此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
[0310] 当然,本申请实施例提供的笔迹处理方法的代码还可以存储在外部存储器中。这种情况下,处理器110可以通过外部存储器接口120运行存储在外部存储器中的笔迹处理方法的代码,处理器110可以控制终端设备进行笔迹数据处理。
[0311] 下面介绍传感器模块180的功能。
[0312] 陀螺仪传感器180A,可以用于确定平板电脑100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180A确定平板电脑100围绕三个轴(即,x,y和z轴)的角速度。即陀螺仪传感器180A可以用于检测平板电脑100当前的运动状态,比如抖动还是静止。
[0313] 当本申请实施例中的显示屏为可折叠屏时,陀螺仪传感器180A可用于检测作用于显示屏194上的折叠或者展开操作。陀螺仪传感器180A可以将检测到的折叠操作或者展开操作作为事件上报给处理器110,以确定显示屏194的折叠状态或展开状态。
[0314] 加速度传感器180B可检测平板电脑100在各个方向上(一般为三轴)加速度的大小。即陀螺仪传感器180A可以用于检测平板电脑100当前的运动状态,比如抖动还是静止。当本申请实施例中的显示屏为可折叠屏时,加速度传感器180B可用于检测作用于显示屏
194上的折叠或者展开操作。加速度传感器180B可以将检测到的折叠操作或者展开操作作为事件上报给处理器110,以确定显示屏194的折叠状态或展开状态。
[0315] 陀螺仪传感器180A(或加速度传感器180B)可以将检测到的运动状态信息(比如角速度)发送给处理器110。处理器110基于运动状态信息确定当前是手持状态还是脚架状态(比如,角速度不为0时,说明平板电脑100处于手持状态)。
[0316] 指纹传感器180H用于采集指纹。平板电脑100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
[0317] 触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于平板电脑100的表面,与显示屏194所处的位置不同。
[0318] 示例性的,平板电脑100的显示屏194显示主界面,主界面中包括多个应用(比如相机应用、微信应用等)的图标。用户通过触摸传感器180K点击主界面中相机应用的图标,触发处理器110启动相机应用,打开摄像头193。显示屏194显示相机应用的界面,例如取景界面。
[0319] 平板电脑100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
[0320] 天线1和天线2用于发射和接收电磁波信号。平板电脑100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0321] 移动通信模块150可以提供应用在平板电脑100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。在本申请实施例中,移动通信模块150还可以用于与其它终端设备进行信息交互。
[0322] 调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
[0323] 无线通信模块160可以提供应用在平板电脑100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi‑Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。本申请实施例中,无线通信模块160可以用于接入接入点设备,向其它终端设备发送和接收消息。
[0324] 另外,平板电脑100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。平板电脑100可以接收按键190输入,产生与平板电脑100的用户设置以及功能控制有关的键信号输入。平板电脑100可以利用马达191产生振动提示(比如来电振动提示)。平板电脑100中的指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。平板电脑100中的SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和平板电脑100的接触和分离。
[0325] 应理解,在实际应用中,平板电脑100可以包括比图16所示的更多或更少的部件,本申请实施例不作限定。图示平板电脑100仅是一个范例,并且平板电脑100可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
[0326] 终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明终端设备的软件结构。图17是本申请实施例的终端设备的软件结构框图。
[0327] 分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
[0328] 应用程序层可以包括一系列应用程序包。
[0329] 如图17所示,应用程序包可以包括电话、相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
[0330] 应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
[0331] 如图17所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
[0332] 窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0333] 内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0334] 视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
[0335] 电话管理器用于提供终端设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
[0336] 资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0337] 通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
[0338] Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
[0339] 核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0340] 应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0341] 系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
[0342] 表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
[0343] 媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4, H.164, MP3, AAC, AMR, JPG, PNG等。
[0344] 三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
[0345] 2D图形引擎是2D绘图的绘图引擎。
[0346] 内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
[0347] 下面结合平板电脑100对笔迹处理的场景,示例性说明平板电脑100软件以及硬件的工作流程。
[0348] 当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件,原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,通过调用应用程序框架层中的资源管理器对相应的笔迹进行处理。
[0349] 图18是本申请一实施例提供的终端设备的结构示意图。如图18所示,该实施例的终端设备18包括:至少一个处理器180(图18中仅示出一个)、存储器181,所述存储器181中存储有可在所述处理器180上运行的计算机程序182。所述处理器180执行所述计算机程序182时实现上述各个笔迹处理方法实施例中的步骤,例如图2所示的步骤S201至S202。或者,所述处理器180执行所述计算机程序182时实现上述各装置实施例中各模块/单元的功能,例如图15所示模块151至154的功能。
[0350] 所述终端设备18可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器180、存储器181。本领域技术人员可以理解,图18仅仅是终端设备18的示例,并不构成对终端设备18的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入发送设备、网络接入设备、总线等。
[0351] 所称处理器180可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0352] 所述存储器181在一些实施例中可以是所述终端设备18的内部存储单元,例如终端设备18的硬盘或内存。所述存储器181也可以是所述终端设备18的外部存储设备,例如所述终端设备18上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器181还可以既包括所述终端设备18的内部存储单元也包括外部存储设备。所述存储器181用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器181还可以用于暂时地存储已经发送或者将要发送的数据。
[0353] 另外,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0354] 本申请实施例还提供了一种终端设备,所述终端设备包括至少一个存储器、至少一个处理器以及存储在所述至少一个存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使所述终端设备实现上述任意各个方法实施例中的步骤。
[0355] 本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
[0356] 本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时可实现上述各个方法实施例中的步骤。
[0357] 本申请实施例还提供了一种芯片系统,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述各个方法实施例中的步骤。
[0358] 所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。
[0359] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0360] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0361] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0362] 以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。