CN115113751A - 调整触摸手势的识别参数的数值范围的方法和装置 - Google Patents

调整触摸手势的识别参数的数值范围的方法和装置 Download PDF

Info

Publication number
CN115113751A
CN115113751A CN202110292041.2A CN202110292041A CN115113751A CN 115113751 A CN115113751 A CN 115113751A CN 202110292041 A CN202110292041 A CN 202110292041A CN 115113751 A CN115113751 A CN 115113751A
Authority
CN
China
Prior art keywords
touch gesture
touch
gesture
coordinate
preset
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.)
Pending
Application number
CN202110292041.2A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110292041.2A priority Critical patent/CN115113751A/zh
Priority to PCT/CN2022/081085 priority patent/WO2022194190A1/zh
Publication of CN115113751A publication Critical patent/CN115113751A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例提供一种调整触摸手势的识别参数的数值范围的方法和装置,该方法包括:检测用户在终端设备的触摸屏上的第一触摸手势;基于阈值模型,识别第一触摸手势,阈值模型用于表征各预设触摸手势的至少一个识别参数的数值范围,阈值模型为基于历史检测到的用户的触摸手势的触摸数据得到的;若识别出第一触摸手势为第一预设触摸手势,则执行响应于第一预设触摸手势的操作,第一预设触摸手势包含在各预设触摸手势中。本申请实施例中,可以基于历史检测到的所述用户的触摸手势的触摸数据得到的阈值模型,识别用户的触摸手势,阈值模型中识别参数的数值范围更加符合用户的触摸习惯,可以提高用户体验。

Description

调整触摸手势的识别参数的数值范围的方法和装置
技术领域
本申请实施例涉及终端设备技术,尤其涉及一种调整触摸手势的识别参数的数值范围的方法和装置。
背景技术
触摸手势,为用户在触摸屏上执行的一组“从触摸到滑动再到离开触摸屏”的动作序列。不同的触摸手势对应不同的识别条件,终端设备基于识别条件可以识别用户的触摸手势,进而执行响应于触摸手势的操作。
目前,触摸手势的识别条件中的识别参数的数值范围是固定的。但不同的用户有不同的触摸习惯,固定数值范围的识别参数,导致用户多次触摸终端设备的触摸屏,却不能触发终端设备执行相应的操作,触发成功率低。
发明内容
本申请实施例提供一种调整触摸手势的识别参数的数值范围的方法和装置,可以提高用户的触发成功率。
第一方面,本申请实施例提供一种调整触摸手势的识别参数的数值范围的方法,执行该方法的执行主体可以为终端设备,或者终端设备中的芯片,下述以终端设备为例进行说明。在该方法中,终端设备可以检测用户在终端设备的触摸屏上的第一触摸手势;基于阈值模型,识别所述第一触摸手势,所述阈值模型用于表征各预设触摸手势的至少一个识别参数的数值范围,所述阈值模型为基于历史检测到的所述用户的触摸手势的触摸数据得到的;若识别出所述第一触摸手势为第一预设触摸手势,则执行响应于所述第一预设触摸手势的操作,所述第一预设触摸手势包含在所述各预设触摸手势中。
其中,阈值模型可以为基础决策引擎,或者优化后的基础决策引擎。其中,终端设备可以基于历史检测到的所述用户的触摸手势的触摸数据,调整各预设触摸手势的至少一个识别参数的数值范围,以优化基础决策引擎,进而得到优化后的基础决策引擎。
本申请实施例中,因为阈值模型是基于用户的触摸手势的触摸数据优化得到,因此阈值模型表征的各预设触摸手势的至少一个识别参数的数值范围,更加贴合用户的触摸习惯,进而可以提高触发成功率,提高用户体验。应理解,对于不同的用户,阈值模型表征的各预设触摸手势的至少一个识别参数的数值范围不同。
因此本申请实施例中,终端设备可以基于所述第一触摸手势的触摸数据,调整阈值模型表征的所述各预设触摸手势的至少一个识别参数的数值范围,得到更新后的阈值模型。终端设备可以采用该更新后的阈值模型,识别用户在触摸屏上的第三触摸手势,其中,第三触摸手势晚于第一触摸手势。
其中,所述第一触摸手势的触摸数据包括:所述第一触摸手势的第一个坐标、滑动距离序列、速度序列、加速度序列、事件序列、触摸手势结果,以及触摸手势结果后的用户行为;所述滑动距离序列包括:所述第一坐标和所述第二坐标之间的滑动距离,所述速度序列包括:所述第一坐标和所述第二坐标之间的速度,所述加速度序列包括:所述第一坐标和所述第二坐标之间的加速度,所述事件序列由所述第一触摸手势的每个坐标,以及所述每个时间组成的,所述触摸手势结果后的用户行为包括:所述第二触摸手势。触摸手势结果为:所述终端设备响应成功或响应失败。
阈值模型表征的所述至少一个识别参数包括如下至少一项:热区、滑动距离、速度、加速度或仰角。
在一种可能的实现方式中,终端设备具备不同的设备状态。终端设备的设备状态可以但不限于为:所述终端设备的物理状态和/或所述终端设备的应用环境。所述阈值模型具体用于表征:所述终端设备的每个设备状态下,所述各预设触摸手势的至少一个识别参数的数值范围。也就是说,在不同的终端设备的设备状态下,相同的预设触摸手势的至少一个识别参数的数值范围可以不同。
在该种场景下,终端设备在检测到第一触摸手势后,可以基于所述阈值模型,以及所述终端设备的设备状态,识别所述第一触摸手势,且依据第一触摸手势的触摸数据,调整所述各预设触摸手势的至少一个识别参数的数值范围。在该种场景下,所述第一触摸手势的触摸数据还可以包括:所述终端设备的设备状态。
本申请实施例中,终端设备可以基于终端设备的设备状态,以及用户的触摸手势,调整不同设备状态下各预设触摸手势的至少一个识别参数的数值范围,本申请中的方法适用范围广,更为贴合用户的实际使用场景。
在一种实施例中,终端设备整阈值模型表征的所述各预设触摸手势的至少一个识别参数的数值范围可以为:终端设备将所述第一触摸手势的触摸数据输入至所述阈值模型中;训练所述阈值模型,以调整所述各预设触摸手势的至少一个识别参数的数值范围。
在一种实施例中,终端设备整阈值模型表征的所述各预设触摸手势的至少一个识别参数的数值范围可以为:终端设备在所述第一触摸手势后的预设时间内,若检测到与所述第一触摸手势相似的第二触摸手势,且所述第一触摸手势中的触摸手势结果为响应失败,所述第二触摸手势中的触摸手势结果为响应成功,则终端设备可以确定用户执行第一触摸手势是想触发成功的,因此终端设备可以将所述第一触摸手势的触摸数据中的触摸手势结果修改为响应成功;终端设备将修改后的第一触摸手势的触摸数据输入至所述阈值模型中,以调整所述各预设触摸手势的至少一个识别参数的数值范围。其中,终端设备可以将修改为响应成功的所述第一触摸手势的触摸数据作为正样本,将触摸手势结果为响应失败的作为负样本,输入至所述阈值模型中。
本申请实施例中,终端设备可以对第一触摸手势的触摸数据进行预处理,得到准确的触摸数据对阈值模型进行训练,可以提高阈值模型的准确性。
下述对终端设备如何识别第一触摸手势和第二触摸手势是否相似进行说明:
所述第一触摸手势的触摸数据包括:用于表征所述第一触摸手势的轨迹的多个坐标,以及每个坐标的时间。所述第一触摸手势的触摸数据包括:用于表征所述第三触摸手势的轨迹的多个坐标,以及每个坐标的时间。
终端设备可以获取所述第一触摸手势中第一坐标和第二坐标之间的滑动距离、速度和加速度中的至少一个,且获取所述第二触摸手势中第三坐标和第四坐标之间的滑动距离、速度和加速度中的至少一个。若所述第一触摸手势的第一个坐标和所述第二触摸手势的第一个坐标位于同一热区内,且所述第一坐标和第二坐标之间的滑动距离、速度和加速度中的至少一个与所述第三坐标和第四坐标之间的滑动距离、速度和加速度中的至少一个属于同一识别参数的数值范围,则确定所述第二触摸手势与所述第一触摸手势相似。
在一种实施例中,第一坐标和第二坐标可以为时间上相邻的坐标,第三坐标和第四坐标可以为时间上相邻的坐标。在一种实施例中,第一坐标为第一触摸手势的多个坐标中的第一个坐标,第二坐标为第一触摸手势的多个坐标中除了第一个坐标之外的其他每个坐标。第三坐标为第三触摸手势的多个坐标中的第一个坐标,第四坐标为第三触摸手势的多个坐标中除了第一个坐标之外的其他每个坐标。可以理解为:所述第一坐标和所述第二坐标与所述第一预设触摸手势的识别参数相关。换句话说,第一坐标和第二坐标之间的关系可以为预先约定的。
以上说明了阈值模型的优化过程,下述对阈值模型的训练过程进行简单介绍,具体可以参照下述实施例中第一阶段的相关描述:
本申请实施例中,所述阈值模型是以样本数据为训练参数经训练得到的,所述样本数据包括:每个触摸手势的热区、滑动距离序列、速度序列、加速度序列、事件序列、触摸手势结果,触摸手势结果后的用户行为。阈值模型可以用于表征各预设触摸手势的至少一个识别参数的数值范围。
在一种实施例中,所述样本数据还包括:提供所述样本数据的设备的设备状态。在该场景下,阈值模型可以具体用于表征:所述终端设备的每个设备状态下,所述各预设触摸手势的至少一个识别参数的数值范围。
应理解的是,本申请实施例中,可以将训练得到的阈值模型预先设置在终端设备中,终端设备可以基于用户实际使用终端设备的触摸数据,不断优化阈值模型,使得阈值模型更为贴合每个用户的触摸习惯,进而提高触发成功率,提高用户体验。
第二方面,本申请实施例提供一种调整触摸手势的识别参数的数值范围的装置,
触摸屏驱动,用于检测用户在终端设备的触摸屏上的第一触摸手势。
手势识别模块,用于基于阈值模型,识别所述第一触摸手势,所述阈值模型用于表征各预设触摸手势的至少一个识别参数的数值范围,所述阈值模型为基于历史检测到的所述用户的触摸手势的触摸数据得到的。
处理模块,用于若识别出所述第一触摸手势为第一预设触摸手势,则执行响应于所述第一预设触摸手势的操作,所述第一预设触摸手势包含在所述各预设触摸手势中。
在一种实施例中,处理模块可以包括上述实施例中的渲染逻辑模块、显示处理模块、硬件显示合成加速器、液晶显示器驱动模块,以及显示驱动模块。
在一种可能的实现方式中,手势识别模块,还用于基于所述第一触摸手势的触摸数据,调整所述各预设触摸手势的至少一个识别参数的数值范围,得到更新后的阈值模型。
在一种可能的实现方式中,手势识别模块,具体用于将所述第一触摸手势的触摸数据输入至所述阈值模型中;训练所述阈值模型,以调整所述各预设触摸手势的至少一个识别参数的数值范围。
在一种可能的实现方式中,所述第一触摸手势的触摸数据包括:触摸手势结果,所述触摸手势结果为:所述终端设备响应成功或响应失败。
手势识别模块,还用于在所述第一触摸手势后的预设时间内,若检测到与所述第一触摸手势相似的第二触摸手势,且所述第一触摸手势中的触摸手势结果为响应失败,所述第二触摸手势中的触摸手势结果为响应成功,则将所述第一触摸手势的触摸数据中的触摸手势结果修改为响应成功;将修改后的第一触摸手势的触摸数据输入至所述阈值模型中。
在一种可能的实现方式中,所述第一触摸手势的触摸数据包括:用于表征所述第一触摸手势的轨迹的多个坐标,以及每个坐标的时间。
手势识别模块,还用于获取所述第一触摸手势中第一坐标和第二坐标之间的滑动距离、速度和加速度中的至少一个;获取所述第二触摸手势中第三坐标和第四坐标之间的滑动距离、速度和加速度中的至少一个;若所述第一触摸手势的第一个坐标和所述第二触摸手势的第一个坐标位于同一热区内,且所述第一坐标和第二坐标之间的滑动距离、速度和加速度中的至少一个与所述第三坐标和第四坐标之间的滑动距离、速度和加速度中的至少一个属于同一识别参数的数值范围,则确定所述第二触摸手势与所述第一触摸手势相似。
在一种可能的实现方式中,所述第一坐标和所述第二坐标与所述第一预设触摸手势的识别参数相关。
在一种可能的实现方式中,手势识别模块,具体用于将修改为响应成功的所述第一触摸手势的触摸数据作为正样本,输入至所述阈值模型中。
在一种可能的实现方式中,所述第一触摸手势的触摸数据还包括:所述第一触摸手势的第一个坐标、滑动距离序列、速度序列、加速度序列、事件序列、触摸手势结果后的用户行为;所述滑动距离序列包括:所述第一坐标和所述第二坐标之间的滑动距离,所述速度序列包括:所述第一坐标和所述第二坐标之间的速度,所述加速度序列包括:所述第一坐标和所述第二坐标之间的加速度,所述事件序列由所述第一触摸手势的每个坐标,以及所述每个时间组成的,所述触摸手势结果后的用户行为包括:所述第二触摸手势。
在一种可能的实现方式中,手势识别模块,还用于基于所述阈值模型,以及所述终端设备的设备状态,识别所述第一触摸手势,所述终端设备的设备状态包括:所述终端设备的物理状态和/或所述终端设备的应用环境,所述阈值模型具体用于表征:所述终端设备的每个设备状态下,所述各预设触摸手势的至少一个识别参数的数值范围。
在一种可能的实现方式中,所述第一触摸手势的触摸数据包括:所述终端设备的设备状态。
在一种可能的实现方式中,所述至少一个识别参数包括如下至少一项:热区、滑动距离、速度、加速度或仰角。
在一种可能的实现方式中,所述阈值模型是以样本数据为训练参数经训练得到的,所述样本数据包括:每个触摸手势的热区、滑动距离序列、速度序列、加速度序列、事件序列、触摸手势结果,触摸手势结果后的用户行为。
在一种可能的实现方式中,所述样本数据还包括:提供所述样本数据的设备的设备状态。
本申请实施例中提供的调整触摸手势的识别参数的数值范围的装置可以执行上述实施例中的终端设备执行的步骤,可以实现上述实施例中的技术效果。
第三方面,本申请实施例提供一种调整触摸手势的识别参数的数值范围的装置,该装置可以为第一方面的终端设备或终端设备中的芯片。该调整触摸手势的识别参数的数值范围的装置可以包括:处理器、存储器。存储器用于存储计算机可执行程序代码,程序代码包括指令;当处理器执行指令时,指令使所述调整触摸手势的识别参数的数值范围的装置执行如第一方面或第一方面的各可能的实现方式中的方法。
第四方面,本申请实施例提供一种调整触摸手势的识别参数的数值范围的装置,包括用于执行以上第一方面或第一方面各可能的实施方式所提供的方法的单元、模块或电路。该调整触摸手势的识别参数的数值范围的装置可以为终端设备,也可以为应用于终端设备的一个模块,例如,可以为应用于终端设备的芯片。
第五方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的各种可能的实现方式中的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的各种可能的实现方式中的方法。
上述第二方面至第六方面的各可能的实现方式,其有益效果可以参见上述第一方面和第一方面的各可能的实现方式所带来的有益效果,在此不加赘述。
本申请实施例提供一种调整触摸手势的识别参数的数值范围的方法和装置,该方法包括:检测用户在终端设备的触摸屏上的第一触摸手势;基于阈值模型,识别第一触摸手势,阈值模型用于表征各预设触摸手势的至少一个识别参数的数值范围,阈值模型为基于历史检测到的用户的触摸手势的触摸数据得到的;若识别出第一触摸手势为第一预设触摸手势,则执行响应于第一预设触摸手势的操作,第一预设触摸手势包含在各预设触摸手势中。本申请实施例中,可以基于历史检测到的所述用户的触摸手势的触摸数据得到的阈值模型,识别用户的触摸手势,阈值模型中识别参数的数值范围更加符合用户的触摸习惯,可以提高用户的触发成功率,提高用户体验。
附图说明
图1为本申请实施例提供的终端设备的一种结构示意图;
图2为本申请实施例提供的终端设备的一种软件结构框图;
图3为本申请实施例提供的终端设备的另一种软件结构框图;
图4A为本申请实施例适用的一种场景示意图;
图4B为本申请实施例提供的一种事件示意图;
图5为本申请实施例提供的一种交互示意图;
图6为本申请实施例提供的终端设备的界面的坐标轴示意图;
图7为本申请实施例提供的仰角的示意图;
图8为本申请实施例提供的热区的示意图;
图9A为本申请实施例适用的另一种场景示意图;
图9B为本申请实施例适用的另一种场景示意图;
图9C为本申请实施例适用的另一种场景示意图;
图10为本申请实施例提供的动态热区的一种示意图;
图11为本申请实施例提供的动态滑动距离的一种示意图;
图12为本申请实施例提供的训练基础决策引擎的流程简图;
图13为本申请实施例提供的训练基础决策引擎的一种示意图;
图14为本申请实施例提供的终端设备的另一种软件结构框图;
图15为本申请实施例提供的调整触摸手势的识别参数的数值范围的方法的流程简图;
图16为本申请实施例提供的调整触摸手势的识别参数的数值范围的方法的一实施例的流程示意图;
图17为本申请实施例提供的动态热区的另一种示意图;
图18为本申请实施例提供的动态热区的另一种示意图;
图19为本申请实施例提供的动态滑动距离的另一种示意图;
图20为本申请实施例提供的动态热区的另一种示意图;
图21为本申请实施例提供的动态热区的另一种示意图;
图22为本申请实施例提供的调整触摸手势的识别参数的数值范围的方法的另一实施例的流程示意图;
图23为本申请实施例提供的调整触摸手势的识别参数的数值范围的装置的一实施例的结构示意图。
具体实施方式
图1为本申请实施例提供的终端设备的一种结构示意图。终端设备可以为个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备、可穿戴设备,虚拟现实(virtual reality,VR)终端设备、无人机设备、增强现实(augmentedreality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(selfdriving)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。本申请实施例中对终端设备的形态不做具体限定。如图1所示,终端设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。可以理解的是,本实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(displayprocess unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,终端设备100也可以包括一个或多个处理器110。其中,处理器可以是终端设备100的神经中枢和指挥中心。处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。这就避免了重复存取,减少了处理器110的等待时间,因而提高了终端设备100的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。其中,USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备100充电,也可以用于终端设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。
可以理解的是,本申请实施例示意的各模块间的接口连接关系为示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端设备100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wirelesslocal area networks,WLAN),蓝牙,全球导航卫星系统(global navigation satellitesystem,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
终端设备100通过GPU,显示屏194,以及应用处理器等可以实现显示功能。应用处理器可以包括NPU、DPU。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行指令以生成或改变显示信息。NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。DPU也称为显示子系统(Display Sub-System,DSS),DPU用于对显示屏194的色彩进行调整,DPU可以通过三维查找表(3D look up table,3D LUT)对显示屏的色彩进行调整。DPU还可以对画面进行缩放、降噪、对比度增强、背光亮度管理、hdr处理、显示器参数Gamma调整等处理。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端设备100可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备100可以通过ISP,一个或多个摄像头193,视频编解码器,GPU,一个或多个显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、照片、视频等数据文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得终端设备100执行各种功能应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得终端设备100执行各种功能应用及数据处理。
终端设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。其中,音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备100可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。终端设备100可以设置至少一个麦克风170C。在另一些实施例中,终端设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动终端设备平台(open mobile terminal platform,OMTP)标准接口,还可以是美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
传感器180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
按键190包括开机键,音量键等。按键190可以是机械按键,也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的键信号输入。马达191可以为转子马达和/或线性马达,线性马达如X轴线性马达或Z轴线性马达。终端设备中可以包括至少一个马达191。
图2为本申请实施例提供的终端设备的一种软件结构框图。如图2所示,终端设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明终端设备100的软件结构。分层架构将终端设备100的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将Android系统分为五层,分别为应用程序层(applications)、应用程序框架层(application framework)、安卓运行时(Androidruntime)和系统库、硬件抽象层(hardware abstract layer,HAL)以及内核层(kernel)。
应用程序层可以包括一系列应用程序包,应用程序层通过调用应用程序框架层所提供的应用程序接口(application programming interface,API)运行应用程序。如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。电话管理器用于提供终端设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备100振动,指示灯闪烁等。
安卓运行时包括核心库和虚拟机。安卓运行时负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。2D图形引擎是2D绘图的绘图引擎。
硬件抽象层,可以包含多个库模块,库模块如可以为摄像头库模块、马达库模块、触摸屏库模块等。Android系统可以为设备硬件加载相应的库模块,进而实现应用程序框架层访问设备硬件的目的。设备硬件可以包括如终端设备中的触摸屏、马达、摄像头等。
内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层至少包含显示驱动(display driver),触摸屏驱动(Touch panel driver,TP driver)、液晶显示器驱动(liquid crystal display driver,LCD driver),摄像头驱动,传感器驱动,马达驱动等,本申请实施例对此不做限制。
在一种实施例中,图3为本申请实施例提供的终端设备的另一种软件结构框图。图3中将图2所示的应用程序框架层、安卓运行时和系统库作为一层,下述实施例中以该“一层”为应用程序框架层为例进行说明,且应用程序框架层和硬件抽象层之间还设置有NATIVE层。NATIVE层可以包括显示管理(surface manager)模块、媒体框架(mediaframework)模块、SQLite数据库管理模块、OpenGL/ES等模块。NATIVE层,用于提供本地服务和链接库,也可以为应用程序框架层提供特定服务和能力。在一种实施例中,NATIVE层可以归属于应用程序框架层。应理解,在一些实施例中,可以将实现相同功能的层称为其他名称,或者将能够实现多个层的功能的层作为一层,或者将能够实现多个层的功能的层划分为多层,本申请实施例中对终端设备的软件结构中层级的划分不做限制。
图4A为本申请实施例适用的一种场景示意图。图4A所示的为终端设备退出应用程序的场景,下述实施例中简写为“退出应用”。界面401所示的为应用程序的页面,本申请实施例中以应用程序为社交类应用程序为例进行说明,界面401为聊天页面。用户可以在终端设备的触摸屏的底部向上快速滑动,应用程序退出。其中,应用程序退出包括两个阶段,第一阶段是跟手阶段,第二阶段为应用程序退出、返回桌面图标的阶段。第一阶段,即用户的手指在触摸屏的底部向上滑动,但未离开触摸屏的阶段。第一阶段中应用程序的页面缩小,且随着用户的上滑动作向上移动,如界面402、界面403和界面404所示,界面402以阴影部分表征聊天页面。第二阶段为用户松手,即用户的手指离开触摸屏的阶段。第二阶段中应用程序退出,返回桌面图标,如界面405所示。
如图4A所示的场景中,用户在终端设备的触摸屏上执行了一组“从触摸到滑动再到离开触摸屏”的动作序列。终端设备可以识别该动作序列中的动作,进而执行响应于该动作的操作,如应用程序的页面跟手操作,以及应用程序退出的操作。下面结合图5所示的终端设备的软件结构框图,对终端设备执行响应于用户的触摸动作的操作进行详细说明。
在图3所示的终端设备的软件结构框图的基础上,如图5所示,本申请实施中,应用程序层可以包括:事件监听(event listener)模块、手势识别(gesture identification)模块和渲染逻辑(render logic)模块。应用程序框架层可以包括:输入服务(inputservice)模块和显示(display)模块。输入服务模块可以归属于应用程序框架层中的input子系统中。NATIVE层可以包括:输入(input)模块和显示处理(surface flinger)模块。硬件抽象层可以包括:触摸屏硬件抽象层(touch panel hardware abstract layer,TP HAL)模块和硬件显示合成加速器(hardware composer,HWC)。内核层可以包括:触摸屏驱动模块、显示驱动模块和液晶显示器驱动模块。
终端设备开机时,终端设备启动事件监听模块,即终端设备启动事件监听。触摸屏驱动可以检测到用户对触摸屏的操作,且生成触摸事件经应用程序框架层中的input子系统输出至应用程序层。下述结合终端设备各层级中的模块,说明终端设备处理用户的触摸操作:
其中,触摸屏驱动,用于检测用户对触摸屏的操作,且基于用户对触摸屏的操作,生成触摸事件。示例性的,如界面402所示,当用户触摸到触摸屏时,触摸屏驱动可以根据用户的触摸操作,生成触摸事件,且将该触摸事件上报至TP HAL模块。因为用户的触摸动作是一组动作序列,因此触摸屏驱动可以根据终端设备的刷新频率,每隔预设时长上报一次触摸事件。示例性的,如终端设备的刷新频率为60Hz时,触摸屏驱动可以每隔8ms上报一次触摸事件。如触摸屏驱动基于“用户在触摸屏的底部向上快速滑动”的动作序列,可以生成如下所示的多个触摸事件:
ACTION_DOWN(X=780.8572;Y=2375.1428)
ACTION_MOVE(X=710.1010;Y=2374.4001)//第一个MOVE事件
ACTION_MOVE(X=816.8572;Y=2061.4287)//第n个MOVE事件
ACTION_UP(X=818.1512;Y=2058.2381)
其中,每个触摸事件包含时间戳和至少一个坐标,坐标表示触摸事件在触摸屏上的触摸位置,该坐标包括X坐标和Y坐标。图6为本申请实施例提供的终端设备的界面的坐标轴示意图。在一种实施例中,触摸事件中的X坐标和Y坐标的单位为像素块px(Pixel)。图6中以最大横坐标X值为1344px,最大纵坐标Y值为2390px为例进行说明。示例性的,如ACTION_DOWN事件中的坐标,表示触摸位置的横坐标为780.8572px,纵坐标为2375.1428px。时间戳用于表征触摸屏驱动上报触摸事件的时刻。
应理解,用户在触摸屏上执行的一组动作序列可以称为用户的触摸手势。结合图4A,ACTION_DOWN事件为:“用户从触摸屏的底部向上快速滑动”这一触摸手势的第一个触摸事件。用户在滑动的过程中,触摸屏驱动每隔8ms上报一次MOVE事件。当用户的手指离开触摸屏时,触摸屏驱动上报ACTION_UP事件。其中,ACTION_DOWN事件、所有的MOVE事件和ACTION_UP事件均为触摸事件。应理解,图4A中为了便于说明,将每个界面对应的触摸事件标识在界面中,并不表征界面上会显示触摸事件的信息。图4A中所示的触摸事件可简化为图4B所示。
TP HAL模块接收到来自触摸屏驱动上报的触摸事件,可以将该触摸事件进行封装,以得到输入模块可识别的触摸事件,且将封装后的触摸事件上报至输入模块。以终端设备的刷新频率为60Hz为例,终端设备每隔16ms刷新显示一次页面。因为触摸屏驱动每隔8ms上报一次触摸事件,因此输入模块可以对触摸屏驱动上报的两次触摸事件进行预处理,得到一次触摸事件,且将处理后的触摸事件上报至输入服务模块。示例性的,输入模块可以对两次触摸事件中的触摸位置进行均值处理,得到两次触摸事件的均值触摸位置,进而上报处理后的触摸事件,处理后的触摸事件中的触摸位置为均值触摸位置。输入服务模块,可以将来自输入模块的触摸事件,通过事件监听模块上报至事件监听模块。
手势识别模块,用于对触摸事件进行解析,识别用户的触摸手势,进而触发渲染逻辑模块执行响应于该触摸手势的操作。渲染逻辑模块,可以用于绘制响应于触摸手势的界面。示例性的,如渲染逻辑模块基于“用户从触摸屏的底部向上快速滑动且未松手”的触摸手势,可以绘制“显示应用程序的页面减小,且随着用户的手指上滑向上移动”的界面,进而将该界面发送至显示模块。或者,渲染逻辑模块基于“用户松手”的触摸手势,可以绘制“应用程序退出,返回桌面图标”的界面,进而将该界面发送至显示模块。显示模块可以将来自渲染逻辑模块的界面通过显示处理模块、硬件显示合成加速器发送给液晶显示器驱动模块和显示驱动模块。其中,“应用程序退出,返回桌面图标”的界面可以包括多个图层,显示处理模块可以对该多个图层进行合成计算。硬件显示合成加速器可以基于显示处理模块的计算结果,合成图层,以得到“应用程序退出,返回桌面图标”的界面。液晶显示器驱动模块和显示驱动模块可以基于接收到的界面,显示该界面,用户即可以在终端设备的界面上看到“显示应用程序的页面减小,且随着用户的手指上滑向上移动”的界面。其中,显示驱动可以基于硬件显示合成加速器合成的图层,按照终端设备的刷新频率,显示“应用程序退出,返回桌面图标”的界面。液晶显示器驱动模块可以用于驱动液晶显示器,以显示界面。
为了详细说明手势识别模块的识别用户的触摸手势的过程,下述对本申请实施例中的术语进行释义:
热区:触摸手势不同,热区可以不同。用户的触摸手势中首个触摸点,只有落在该区域内才会被识别为触摸手势的起点。如图7所示,终端设备的触摸屏的方框区域为热区,热区为预定义的。定义一个热区,需要定义热区的四条边,即左、上、右和下四条边,即(left,top,right,bottom)。
滑动距离:从用户触摸终端设备的触摸屏到滑动至可识别出用户的触摸手势,或者从用户触摸终端设备的触摸屏直至滑动到松手时,两个触摸事件中的触摸位置的偏移量。滑动距离D可以如下公式一计算:
Figure BDA0002982933130000121
其中,(X1,Y1)为两个触摸事件中前一个触摸事件中的触摸位置,(X2,Y2)为两个触摸事件中后一个触摸事件中的触摸位置。在一种实施例中,两个触摸事件可以为相邻的两个触摸事件,如ACTION_DOWN事件和第一个MOVE事件。
在一种实施例中,滑动距离可以为两个触摸事件中的触摸位置在X轴方向上的偏移量
Figure BDA0002982933130000122
或者在Y轴方向上的偏移量
Figure BDA0002982933130000123
速度:两个触摸事件中的触摸位置改变的速度v,可以如下公式二计算:
Figure BDA0002982933130000124
其中,t为两个触摸事件中时间戳的差值,也可以理解为触摸屏驱动上报两个触摸事件相隔的时长。应注意,用户的手指离开屏幕时的瞬时手速,称之为离手速度,离手速度采用第n个MOVE事件和ACTION_UP事件可以计算得到。
加速度:速度的变化量,加速度a可以如下公式三计算:
Figure BDA0002982933130000125
其中,Δv为两个触摸事件的速度的差值。
仰角:两个触摸事件中的触摸位置的连线与水平方向的夹角。示例性的,如图8所示,ACTION_DOWN事件和第一个MOVE事件的仰角如α所示,图8中以a1表征ACTION_DOWN事件中的触摸位置,b1表征第一个MOVE事件中的触摸位置。
目前,手势识别模块可以采用各预设触摸手势的识别条件,识别触摸手势。其中,预设触摸手势可以包括但不限于为:“返回上一个应用程序”的触摸手势、“进入任务管理器”的触摸手势,以及“在两个应用程序中快速切换”的触摸手势,预设触摸手势还可以为一组“从触摸到滑动再到离开触摸屏”的动作序列,对应可以触发终端设备执行某一操作。
目前,预设触摸手势的识别条件中的识别参数的数值范围都是固定的,有各自的明确定义,只有用户的触摸手势满足对应的识别条件,手势识别模块才会识别用户的触摸手势为某种预设触摸手势,进而执行响应于该预设触摸手势的操作。结合上述术语的释义,手势识别模块识别触摸手势的方式可以为:手势识别模块存储有各预设触摸手势对应的识别条件,当触摸手势满足对应的识别条件时,手势识别模块确定用户的触摸手势为某一预设触摸手势,进而执行响应于该预设触摸手势的操作。
示例性的,如识别条件可以为:(1)、首个触摸点处于热区内;(2)、滑动距离大于或等于预设像素块,如A px;(3)、离手速度大于或等于预设速度;(4)、加速度大于或等于预设加速度。其中,手势识别模块在接收到连续上报的触摸事件,可以根据ACTION_DOWN事件确定首个触摸点是否处于热区内,且根据相邻两个触摸事件中的坐标,计算滑动距离、速度、加速度,进而确定滑动距离、速度、加速度是否满足上述识别条件(2)、(3)和(4)。
其中,当用户的触摸手势满足上述识别条件(1)、(2)、(3)和(4)时,手势识别模块执行“应用退出”的操作。当用户的触摸手势满足上述识别条件(1)、(2)和(3),手势识别模块执行“返回上一个应用程序”的操作。当用户的触摸手势满足上述识别条件(1)、(2)和(4),手势识别模块执行“进入任务管理器”的操作。应理解,不同的触摸手势,识别条件中的识别参数的数值范围不同,如不同的触摸手势对应的识别条件中的热区不同、预设像素块(预设滑动距离)不同、预设速度不同、预设加速度不同。其中识别条件中的热区、预设滑动距离、预设速度、预设加速度,以及预设仰角等可以称为:识别预设触摸手势的至少一个识别参数。热区、预设滑动距离、预设速度、预设加速度,以及预设仰角的数值范围,可以称为至少一个识别参数的数值范围。
其中,“返回上一个应用程序”的操作可以如图9A所示,“进入任务管理器”的操作可以如图9B所示。应理解,本申请实施例中适用的场景可以包括但不限于为应用退出、返回上一个应用程序、进入任务管理器等场景,还可以适应于如图9C所示的“在两个应用程序中快速切换”的场景,以及其他场景用户需要执行一组“从触摸到滑动再到离开触摸屏”的动作序列的场景。应理解,触摸终端设备的触摸屏的对象可以但不限于为:用户的手指、关节、手掌、手写笔。其中,执行触摸操作的对象为:能够接触终端设备的触摸屏、使能终端设备做出相应的操作的对象。
对于不同的用户来说,目前触摸手势的识别条件中识别参数(热区、预设像素块、预设速度和预设加速度)的数值范围是固定的,也就是说,用户需要达到触摸手势的识别条件,才能触发终端设备执行响应于该触摸手势的操作。但对于不同的用户来说,触摸习惯不同、用户的灵活度等不同,导致用户多次触摸屏幕,才能发终端设备执行响应于触摸手势的操作,用户体验低。示例性的,有些比较敏捷的用户(如年轻人),触摸终端设备的触摸屏时,滑动速度快、滑动距离短,而另外一些人反应较为迟缓(如老年人),滑动速度慢,且需要滑动较长距离作为意识缓冲。若预设速度较小或者预设像素块较多,则可能导致敏捷的用户多次操作均未达到识别条件,不能触发终端设备执行相应的操作,用户体验低。
本申请实施例提供了一种调整触摸手势的识别参数的数值范围的方法,通过对识别条件中识别触摸手势的识别参数(热区、速度、滑动距离、加速度等)经人工智能(artificial intelligence,AI)学习得到阈值模型,结合该阈值模型和用户的触摸手势的触摸数据,动态调整触摸手势的识别参数的数值范围,可以适配用户的触摸习惯,触发终端设备执行响应于触摸手势的操作,提高了用户的触发成功率,可以提高用户体验。
示例性的,对于触发终端设备执行应用退出的操作,图10所示的为适配于不同用户的热区的自适应调整示意图。如图10所示,如白色方框区域为预设热区,阴影方框区域为适配于用户的触摸习惯得到的热区,不同用户的识别参数中的热区不同。如图11中的a、b和c所示,对于A用户,滑动距离大于或等于预设距离L1可以触发终端设备执行应用退出的操作。对于B用户,滑动距离大于或等于预设距离L2可以触发终端设备执行应用退出的操作。对于C用户,滑动距离大于或等于预设距离L3可以触发终端设备执行应用退出的操作。其中,L1大于L2,L2大于L3。不同用户的识别参数中的预设距离不同。应理解,本申请实施例中以触摸手势的识别条件中的热区、速度、加速度、滑动距离为例进行说明。本申请实施例中的方法也适应于识别条件中的仰角、触摸时长等其他参数。
本申请实施例提供的调整触摸手势的识别参数的数值范围的方法可以分为两个阶段,第一阶段为基础决策引擎(初始阈值模型)的训练阶段,第二阶段为基础决策引擎上线,适配用户的阶段。
第一阶段:基础决策引擎的训练阶段。
如图12所示,在Beta测试阶段,Beta终端设备可以采集样本数据,且将样本数据发送至云服务器。云服务器可以基于样本数据进行机器学习,得到基础决策引擎。其中,Beta终端设备可以为处于Beta测试阶段的终端设备。样本数据包括用户使用Beta终端设备时的触摸数据,触摸数据可以包括用户的每个触摸手势的热区、滑动距离序列、速度序列、加速度序列、事件序列、触摸手势结果,触摸手势结果后的用户行为。其中,触摸手势满足对应的识别条件可以理解为:触摸手势的触摸数据满足识别参数的数值范围。
因为用户的一个触摸手势为一组“从触摸到滑动再到离开触摸屏”的动作序列,因此事件序列中包括该触摸手势对应的多个触摸事件,如包括上述从ACTION_DOWN事件、第一个MOVE事件,……,以及ACTION_UP事件。速度序列包括基于事件序列中每相邻两个触摸事件计算得到的速度,如基于ACTION_DOWN事件和第一个MOVE事件计算得到一个速度,基于第一个MOVE事件和第二个MOVE事件计算得到一个速度,……,以及基于第n个MOVE事件和ACTION_UP事件计算得到一个速度。同理的,加速度序列包括基于事件序列中每相邻两个触摸事件计算得到的加速度,滑动距离序列包括基于事件序列中每相邻两个触摸事件计算得到的滑动距离。触摸手势结果为用户执行该触摸手势后,Beta终端设备是否执行响应于触摸手势的操作。触摸手势结果可以包括成功或失败,在一种可能的实现方式中,采用“1”表征成功,“0”表征失败。触摸手势结果后的用户行为可以包括:继续执行相同的触摸手势,或者执行其他触摸手势,或者未执行任何触摸手势。在一种实施例中,用户执行该触摸手势结果后的用户行为可以为:用户执行触摸手势后,预设时间段内的用户行为。
在一种实施例中,速度序列包括其他每个触摸事件和第一个触摸事件计算得到的速度。加速度序列包括其他每个触摸事件和第一个触摸事件计算得到的加速度,滑动距离序列可以包括其他每个触摸事件和第一个触摸事件计算得到的距离。应理解,速度序列、加速度序列和滑动距离序列如何获取与触摸手势的识别参数相关。示例性的,当识别参数包括:相邻两个触摸事件的速度大于预设速度时,终端设备获取的速度序列包括:每相邻两个触摸事件计算得到的速度。当识别参数包括:其他每个触摸事件与第一个触摸事件之间的速度大于预设速度时,终端设备获取的速度序列包括:其他每个触摸事件和第一个触摸事件计算得到的速度。
其中,机器学习可以为有监督的学习或者无监督的学习。在一种实施例中,云服务器可以基于Tensorflow深度学习框架进行机器学习。下述结合图13对云服务器进行机器学习的过程进行说明。如图13所示,云服务器进行机器学习的过程可以包括:
S1301,Beta终端设备采集样本数据。
样本数据来自Beta用户,Beta用户为使用Beta终端设备的用户。示例性的,如Beta用户执行“从触摸屏底部快速上滑”的触摸手势,Beta终端设备可以获取该触摸手势的热区、速度序列、加速度序列、事件序列、触摸手势结果,以及用户执行该触摸手势结果后的用户行为。样本数据可以如f{hotzone,vlist,llist,Alist,eventlist,result,postaction},其中hotzone表示热区,vlist表示速度序列,llist表示滑动距离序列,Alist表示加速度序列,eventlist表示事件序列,result表示触摸手势结果,postaction表示触摸手势结果后的用户行为。如此,Beta终端设备可以采集多个样本数据f。
在一种实施例中,样本数据还可以包括Beta终端设备的设备状态,设备状态可以包括但不限于为Beta终端设备的物理状态和Beta终端设备的应用环境。其中,Beta终端设备的物理状态可以包括:折叠状态、展开状态和支架状态,或者,Beta终端设备为横屏状态或竖屏状态。Beta终端设备的应用环境可以为:Beta终端设备的应用程序、Beta终端设备的型号等。在一种实施例中,Beta终端设备可以检测获取Beta终端设备的设备状态。
S1302,Beta终端设备向云服务器发送样本数据。
Beta终端设备在采集样本数据后,可以向云服务器发送样本数据。在一种实施例中,Beta终端设备可以为多个,云服务器可以接收来自该多个Beta终端设备的样本数据。
S1303,云服务器处理样本数据。
因为用户在执行触摸手势后,触摸手势结果可以为失败。其中,若用户上一次执行触摸手势的触摸手势结果为失败,且用户在执行该触摸手势之后的预设时间内又执行了相似的触摸手势,且该相似的触摸手势的触摸手势结果为成功,则云服务器可以确定用户上一次执行触摸手势时的触摸手势结果应该为成功,则可以将该样本数据中的触摸手势结果从“失败”修改为“成功”。在一种实施例中,失败可以称为“终端设备响应失败”,“成功”可以称为“终端设备响应成功”。其中,预设时间可以为较短的时间,如1s。
这里以第一触摸手势表示用户上一次执行触摸手势,以第二触摸手势表示用户执行的相似的触摸手势为例,说明云服务器如何判断预设时间内的两次触摸手势为相似的触摸手势。其中,第一触摸手势的触摸数据包括:用于表征第一触摸手势的轨迹的多个坐标,以及每个坐标的时间。第三触摸手势的触摸数据包括:用于表征第三触摸手势的轨迹的多个坐标,以及每个坐标的时间。其中,触摸数据中的多个坐标,以及每个坐标的时间可以为触摸事件中的坐标和时间戳。
其中,云服务器可以获取第一触摸手势中第一坐标和第二坐标之间的滑动距离、速度和加速度中的至少一个,获取第二触摸手势中第三坐标和第四坐标之间的滑动距离、速度和加速度中的至少一个。
在一种实施例中,第一坐标和第二坐标可以为时间上相邻的坐标,第三坐标和第四坐标可以为时间上相邻的坐标。在一种实施例中,第一坐标为第一触摸手势的多个坐标中的第一个坐标,第二坐标为第一触摸手势的多个坐标中除了第一个坐标之外的其他每个坐标。第三坐标为第三触摸手势的多个坐标中的第一个坐标,第四坐标为第三触摸手势的多个坐标中除了第一个坐标之外的其他每个坐标。其中,第一坐标和第二坐标与第一触摸手势的识别参数相关,第一坐标和第二坐标在时间上的关系可以为预先约定的。示例性的,当识别参数包括:相邻两个触摸事件的速度大于预设速度时,终端设备获取的速度为相邻两个坐标计算得到的速度。当识别参数包括:其他每个触摸事件与第一个触摸事件之间的速度大于预设速度时,终端设备获取的速度为其他每个坐标和第一个坐标计算得到的速度。
其中,若第一触摸手势的第一个坐标和第二触摸手势的第一个坐标位于同一热区内,且第一坐标和第二坐标之间的滑动距离、速度和加速度中的至少一个与第三坐标和第四坐标之间的滑动距离、速度和加速度中的至少一个属于同一识别参数的数值范围,则确定第二触摸手势与第一触摸手势相似。换句话说,若第一触摸手势的第一个坐标和第二触摸手势的第一个坐标位于同一热区内,且若第一触摸手势和第二触摸手势均满足相同的预设滑动距离、预设速度和预设加速度的数值范围中的至少一个,则云服务器可以确定第一触摸手势和第二触摸手势相似。示例性的,如若第一触摸手势和第二触摸手势均满足上述识别条件(1)和(2)(和/或3、4),则云服务器可以确定第一触摸手势和第二触摸手势相似,即用户在短时间内执行了相似的触摸手势。
若触摸手势结果后的用户行为为用户继续其他触摸手势,则云服务器可以确定用户上一次的触摸意图不为执行该触摸手势,则不修改触摸手势结果。如此,云服务器可以获取用户执行各触摸手势时不同的样本数据,该样本数据中的触摸手势结果包括失败或者成功。云服务器可以将触摸手势结果为失败的样本数据作为负样本,将触摸手势结果为成功的样本数据作为正样本。
S1304,云服务器将处理后的样本数据输入初始深度学习框架,进行机器学习,得到基础决策引擎。
云服务器可以将处理后的样本数据输入初始深度学习框架,以进行机器学习,得到基础决策引擎。其中,初始深度学习框架可以但不限于为Tensorflow深度学习框架。基础决策引擎用于表征各预设触摸手势的至少一个识别参数的数值范围。在一种实施例中,不同的Beta终端设备的设备状态下,相同的预设触摸手势的各识别参数的数值范围相同。
在一种实施例中,基础决策引擎用于表征Beta终端设备的设备状态下,各预设触摸手势的各识别参数的数值范围。该种实施例中,不同的Beta终端设备的设备状态下,相同的预设触摸手势的识别条件以及各识别参数的数值范围不同。在一种实施例中,各识别参数的数值范围可以称为各识别参数的容忍度。基础决策引擎可以称为初始阈值模型。
在一种实施例中,识别条件为识别触摸手势的条件,识别参数可以包括但不限于为热区、滑动距离、速度、加速度。相较于识别参数的数值范围固定的技术方案,本申请实施例可以提供“动态波动的识别参数”的技术方案,即终端设备可以在用户的触摸手势满足动态波动的识别参数时,确定用户的触摸手势为预设触摸手势中的一种,则触发终端设备执行响应于该用户的触摸手势对应的预设触摸手势的操作。
示例性的,当用户的触摸手势满足上述识别条件(1)、(2)、(3)和(4)时,手势识别模块确定执行“应用退出”的操作。其中,初始阈值模型用于表征各预设触摸手势的热区(如图10所示的白色方框区域)、热区的数值范围(如图10所示的阴影方框区域)、预设像素块Apx以及滑动距离的数值范围(±x px),预设速度以及速度的数值范围、预设加速度以及加速度的数值范围。也就是说,用户的触摸手势满足动态波动的识别参数,即可触发终端设备识别出触摸手势,进而执行响应于该触摸手势的操作。应理解,不同的预设触摸手势,预设触摸手势的识别参数的数值范围可以不同。
在一种实施例中,开发人员可以预先设置预设训练次数和目标交叉熵损失。云服务器进行深度学习为:云服务器采用处理后的样本数据,不断迭代训练的过程。其中,当云服务器训练次数大于预设训练次数时,若基础决策引擎输出的交叉熵损失大于该目标交叉熵损失,则证明训练得到的基础决策引擎的准确度低。云服务器可以继续采用该处理后的样本数据,重新进行迭代训练,直至训练次数达到预设次数时,且基础决策引擎输出的交叉熵损失小于或等于该目标交叉熵损失,则停止训练,以得到准确度高的基础决策引擎。
第一阶段中,云端服务器可以基于来自Beta终端设备的样本数据,经机器学习得到基础决策引擎,基础决策引擎用于表征各预设触摸手势的各识别参数的数值范围。本申请实施例中,识别用户的触摸手势的识别参数的数值范围不再是固定的,而是动态变化的,因此相较于目前的识别参数的数值范围固定的技术方案,可以提高触发成功率,提高用户体验。
第二阶段:基础决策引擎上线,适配用户的阶段。
第一阶段训练得到的基础决策引擎为通过Beta终端设备的样本数据得到的,但对于用户来说,每个用户的触摸习惯不同,采用基础决策引擎虽然能够在一定程度上解决“现有的识别参数的数值范围固定”引起的触发成功率低的问题,但该基础决策引擎并不适配于每个用户的触摸习惯。图14为本申请实施例提供的终端设备的另一种软件结构框图。与图5不同的是,图14所示的手势识别模块中可以包括:决策引擎(阈值模型)。本申请实施例中,决策引擎可以为基础决策引擎,或者,终端设备在上述基础决策引擎的基础上,结合用户实际使用终端设备时的触摸手势的触摸数据得到的决策引擎,可以参照下述实施例中的“阈值模型”的相关描述。
在一种实施例中,手势识别模块中可以包括决策引擎和决策引擎数据库。决策库数据库,可以基于用户的触摸手势,来进行判定是否需要触发终端设备执行响应于该触摸手势的操作。在一种实施例中,决策库数据库中可以存储决策引擎表征的各触摸手势的至少一个识别参数的数值范围。
其中,在一种实施例中,决策引擎用于表征各预设触摸手势的至少一个识别参数的数值范围。换句话说,阈值模型可以用于表征各预设触摸手势的至少一个识别参数的数值范围。
在一种实施例中,决策引擎用于表征不同终端设备的设备状态下各预设触摸手势的至少一个识别参数的数值范围。在一种实施例中,决策引擎数据库中还可以包括:用户执行每一次触摸手势的触摸数据,触摸数据中包括的数据的类型可以与S1303中处理后的样本数据的类型相同,如包括触摸手势的热区、速度序列、加速度序列、事件序列、触摸手势结果,以及用户执行该触摸手势结果后的用户行为。
如图15所示,本申请实施例中可以将基础决策引擎预装在终端设备中,用户在使用终端设备的过程中,终端设备可以不断采集用户的触摸手势的触摸数据,将触摸数据作为将样本数据输入至基础决策引擎中,优化基础决策引擎,得到适配于用户的触摸习惯的决策引擎,进一步提高用户体验。在得到优化后的基础决策引擎(可以称为决策引擎)后,还可以继续不断采集用户的触摸手势的触摸数据,将触摸数据作为将样本数据不断优化决策引擎,使得决策引擎中适配于用户各阶段的触摸习惯。图16中以终端设备基于用户的触摸手势的触摸数据,优化基础决策引擎为例进行说明。
图16为本申请实施例提供的触摸手势的阈值自适应调整的方法的一实施例的流程示意图。结合上述图14和图16,本申请实施例提供的调整触摸手势的识别参数的数值范围的方法可以包括:
S1601,基础决策引擎接收来自事件监听模块的触摸事件。
应理解,事件监听模块监听触摸事件的过程可以参照上述图5的相关描述。
S1602,基础决策引擎根据触摸事件,判断是否触发成功。若是,则执行S1608。若否,则执行S1603。
基础决策引擎在接收到触摸事件后,可以解析得到触摸事件中的触摸位置,进而可以计算得到该触摸事件对应的触摸数据。换句话说,基础决策引擎根据触摸数据,判断是否触发成功。其中,若该触摸事件为ACTION_DOWN事件,则基础决策引擎可以获取ACTION_DOWN事件中的坐标,以确定用户触摸手势的首个触摸点。若该触摸事件为MOVE事件或者ACTION_UP事件,则基础决策引擎可以基于相邻两个触摸事件,获取速度、加速度、滑动距离。在一种实施例中,基础决策引擎可以基于该触摸事件与ACTION_DOWN事件,获取速度、加速度、滑动距离。若该触摸事件为ACTION_UP事件,则基础决策引擎可以基于ACTION_DOWN事件和ACTION_UP事件,获取这两个触摸事件之间的滑动距离。在一种实施例中,基础决策引擎还可以基于ACTION_UP事件和最后一个MOVE事件,获取用户的离手速度。应理解,基础决策引擎如何获取速度、加速度、滑动距离可以为预先设置。
因为基础决策引擎用于表征各预设触摸手势的至少一个识别参数的数值范围。因此,基础决策引擎可以基于各预设触摸手势的至少一个识别参数的数值范围、触摸数据中的首个触摸点、速度、加速度、滑动距离,确定触摸事件是否满足识别条件。在一种实施例中,基础决策引擎可以将解析触摸事件得到的触摸数据输入至基础决策引擎中,以预测该触摸事件是否满足某一触摸手势的识别条件,即是否触发成功。其中,若触摸事件满足某一触摸手势的识别条件,则触发成功,终端设备可以执行响应于该触摸事件的操作。若触发失败,则基础决策引擎可以执行下述S1603。
在一种实施例中,基础决策引擎用于不同终端设备的设备状态下,基础决策引擎用于表征各预设触摸手势的各识别参数的数值范围。基础决策引擎还可以获取终端设备的设备状态,将终端设备的设备状态、触摸手势的首个触摸点、速度、加速度、滑动距离作为触摸数据。其中,基础决策引擎可以将解析触摸事件得到的触摸数据输入至基础决策引擎中,以预测该触摸事件是否满足在该设备状态下的某一预设触摸手势的识别条件。
S1603,基础决策引擎处理触摸事件的触摸数据。
本申请实施例中,无论触摸事件是否触发成功,基础决策引擎都要对触摸事件对应的触摸数据进行处理。其中,基础决策引擎处理触摸数据的过程可以参照上述云服务器处理样本数据的相关描述。
基础决策引擎可以将处理后的触摸数据作为样本数据进行训练,得到优化的基础决策引擎。训练的过程可以参照上述S1304的相关描述,在此不做赘述。
在一种实施例中,基础决策引擎可以与决策引擎数据库交互,以优化基础决策引擎,如S1604-S1607所示:
S1604,基础决策引擎向决策引擎数据库发送处理后的触摸数据。
S1605,基础决策引擎向决策引擎数据库请求决策引擎数据库中存储的触摸数据。
在一种实施例中,基础决策引擎可以每隔预设时长,向决策引擎数据库请求触摸数据。在一种实施例中,基础决策引擎可以检测到用户每执行一次触摸手势,向决策引擎数据库请求触摸数据。本申请实施例不限制基础决策引擎请求触摸数据的方式。应理解,基础决策引擎请求触摸数据的目的是:将决策引擎数据库中存储的触摸数据作为样本数据,训练优化基础决策引擎。
S1606,决策引擎数据库向基础决策引擎发送触摸数据。
S1607,基础决策引擎将触摸数据作为样本数据,进行机器学习,优化基础决策引擎。
S1607可以参照上述S1304的相关描述,在此不做赘述。
应理解,S1601-S1607以基础决策引擎预装至终端设备中,基础决策引擎首次获取触摸数据为例进行说明。在不断优化基础决策引擎的过程中,上述S1601-S1607中的“基础决策引擎”可以替换为“优化后的基础决策引擎”,表征基础决策引擎在不断地基于用户的触摸数据进行优化,越来越适配用户的触摸习惯。
S1608,基础决策引擎执行响应于触摸事件的操作。
本申请实施例中,基础决策引擎执行响应于该触摸事件的操作的过程可以参照上述图5中的相关描述。在一种实施例中,基础决策引擎执行S1608之后可以执行S1603-S1607,以将处理后的触摸数据作为样本数据,优化基础决策引擎。
示例性的,如图10所示,白色方框区域为预设热区,阴影方框区域为适配于Beta用户的触摸习惯得到的热区。本申请实施例中,将基础决策引擎预装在终端设备A和终端设备B中,使用终端设备A的用户为年轻用户,使用终端设备B的用户为年老用户。经上述S1601-S1608对基础决策引擎的优化,终端设备A的热区可以为小于阴影方框区域的区域,如图17中的a的黑色区域所示。终端设备B的热区可以为大于阴影方框区域的区域,如图17中的b的黑色区域所示。同理的,对于不同的用户,识别条件中的滑动距离不同(如上述图11所示),速度不同或加速度不同。
在一种实施例中,上述S1601-S1608中的基础决策引擎可以替换为决策引擎,该决策引擎可以为已经基于用户的触摸手势的触摸数据进行优化的阈值模型。换句话说,本申请实施例中,在优化基础决策引擎后,可以基于用户的触摸手势的触摸数据,继续优化该优化后的基础决策引擎,以使得终端设备中的决策引擎适配于各阶段的用户的触摸习惯。
在一种实施例中,基础决策引擎表征的识别参数的数值范围预先设置有最大值和最小值,以保证识别参数不会出现极端场景,满足大多数用户特定个性化诉求。示例性的,以热区为例,热区的高度(热区的上边到下边的长度)不能超过触摸屏高度的2/3,以保证数值范围的动态变更不会出现影响其他业务的极端场景。其他业务如可以为来电业务、聊天业务、游戏业务等。
在一种实施例中,不同设备状态下,相同的触摸手势的识别条件以及识别参数的数值范围可以不同。示例性的,如终端设备的设备状态为终端设备的物理状态,如图18中的a所示,终端设备为折叠状态时,对于“应用退出”的触摸手势来说,热区为触摸屏上的阴影区域1所示。如图18中的b所示,终端设备为展开状态时,对于“应用退出”的触摸手势来说,热区为触摸屏上的阴影区域2所示,阴影区域1和阴影区域2不同。同理的,不同设备状态下,相同的触摸手势的识别条件中的速度、加速度或滑动距离可以不同。示例性的,如图19中的a所示,终端设备为折叠状态时,对于“应用退出”的触摸手势来说,滑动距离大于L2时,可以触发终端设备执行“应用退出”的操作。如图19中的b所示,对于终端设备为展开状态时,滑动距离大于L1时,可以触发终端设备执行“应用退出”的操作。
示例性的,如终端设备的设备状态为终端设备的物理状态。如图20中的a所示,终端设备的物理状态为竖屏状态时,对于“应用退出”的触摸手势来说,热区为触摸屏上的阴影区域3所示。如图20中的b所示,终端设备的物理状态为横屏状态时,为了便于用户操作,则对于“应用退出”的触摸手势来说,热区为触摸屏上的阴影区域4所示,阴影区域3和阴影区域4不同。图20中以终端设备的应用程序均为游戏应用程序为例进行说明。
示例性的,对于终端设备处于相同的竖屏状态时,如图21中的a所示,终端设备的应用程序为社交类应用程序,对于“应用退出”的触摸手势来说,热区为触摸屏上的阴影区域5所示。如图21中的b所示,终端设备的应用程序为游戏类应用程序,为了避免退出应用时误触游戏界面上的控件,则对于“应用退出”的触摸手势来说,热区为触摸屏上的阴影区域6所示,阴影区域5和阴影区域6不同。
第二阶段中,终端设备中可以预装基础决策引擎,终端设备基于用户实际使用终端设备过程中的触摸数据,优化基础决策引擎,使得优化后的基础决策引擎识别触摸手势,更为适配用户的触摸习惯,能够进一步提高用户的触发成功率,提高用户体验。
终端设备中包含有以上实施例中的基础决策引擎以及决策引擎数据库,下述实施例中以终端设备为执行主体说明本申请实施例中的调整触摸手势的识别参数的数值范围的方法。图22为本申请实施例提供的调整触摸手势的识别参数的数值范围的方法的另一实施例的流程示意图。如图22所示,本申请实施例提供的调整触摸手势的识别参数的数值范围的方法可以包括:
S2201,检测用户在终端设备的触摸屏上的第一触摸手势。
如上S1601,终端设备可以检测用户在终端设备的触摸屏上的第一触摸手势。
S2202,基于阈值模型,识别第一触摸手势,阈值模型用于表征各预设触摸手势的至少一个识别参数的数值范围,阈值模型为基于历史检测到的用户的触摸手势的触摸数据得到的。
如上S1602,终端设备可以基于第一触摸手势的触摸数据,以及阈值模型表征的各预设触摸手势的至少一个识别参数的数值范围,识别第一触摸手势是否包含在各预设触摸手势中。在一种实施例中,终端设备可以将第一触摸手势的触摸数据(如基于第一触摸手势的触摸事件得到的触摸数据)输入至阈值模型中,阈值模型输出该第一触摸手势是否为预设触摸手势的结果。示例性的,如阈值模型输出第一触摸手势为第一预设触摸手势,该第一预设触摸手势包含在各预设触摸手势中。
其中,阈值模型为基于历史检测到的用户的触摸手势的触摸数据得到的。应理解,该阈值模型可以为优化后的基础决策模型,或者优化的优化后的基础决策模型。
S2203,若识别出第一触摸手势为第一预设触摸手势,则执行响应于第一预设触摸手势的操作,第一预设触摸手势包含在各预设触摸手势中。
本申请实施例中,若终端设备识别出第一触摸手势为第一预设触摸手势,则可以执行响应于第一预设触摸手势的操作。
本申请实施例中,终端设备可以基于用户实际使用终端设备过程中的触摸数据,优化基础决策引擎,使得优化后的基础决策引擎识别触摸手势,更为适配用户的触摸习惯,能够进一步提高用户的触发成功率,提高用户体验。
在一种实施例中,终端设备执行完上述S2202后,可以执行S2204,S2203和S2204没有先后顺序的区分。
S2204,基于第一触摸手势的触摸数据,调整各预设触摸手势的至少一个识别参数的数值范围,得到更新后的阈值模型。
本申请实施例中,终端设备可以将第一触摸手势的触摸数据输入至阈值模型中,训练阈值模型,以调整各预设触摸手势的至少一个识别参数的数值范围。在一些实施例中,终端设备可以先对第一触摸手势的触摸数据进行预处理,再将处理后的第一触摸手势的触摸数据输入至阈值模型中,以训练阈值模型。
其中,第一触摸手势的触摸数据包括:触摸手势结果,触摸手势结果为:终端设备响应成功或响应失败。终端设备在第一触摸手势后的预设时间内,若检测到与第一触摸手势相似的第二触摸手势,且第一触摸手势中的触摸手势结果为响应失败,第二触摸手势中的触摸手势结果为响应成功,则将第一触摸手势的触摸数据中的触摸手势结果修改为响应成功。终端设备可以将修改为响应成功的第一触摸手势的触摸数据作为正样本,将触摸手势结果为响应失败的第一触摸手势的触摸数据作为负样本,输入至阈值模型中。应理解,终端设备检测第二触摸手势是否和第一触摸手势相似的方式可以参照上述的相关描述。
在一种实施例中,第一触摸手势的触摸数据还包括:第一触摸手势的第一个坐标、滑动距离序列、速度序列、加速度序列、事件序列、触摸手势结果后的用户行为;滑动距离序列包括:第一坐标和第二坐标之间的滑动距离,速度序列包括:第一坐标和第二坐标之间的速度,加速度序列包括:第一坐标和第二坐标之间的加速度,事件序列由第一触摸手势的每个坐标,以及每个时间组成的,触摸手势结果后的用户行为包括:第二触摸手势。终端设备获取第一触摸手势的触摸数据的方式可以参照上述的相关描述。
在一种实施例中,终端设备的不同设备状态下,相同的预设触摸手势的识别参数的数值范围不同。阈值模型具体用于表征:终端设备的每个设备状态下,各预设触摸手势的至少一个识别参数的数值范围。
该种实施例中,上述S2202可以替换为:基于阈值模型,以及终端设备的设备状态,识别第一触摸手势。其中,终端设备可以基于如图3所示的架构,获取终端设备的设备状态,进而将终端设备的设备状态,以及第一触摸手势的触摸数据输入至阈值模型中,阈值模型可以输出该第一触摸手势在终端设备的设备状态下,是否包含在各预设触摸手势中。
本申请实施例具有与上述图16所示的实施例相同的技术效果,可以参照上述的相关描述。
图23为本申请实施例提供的调整触摸手势的识别参数的数值范围的装置的一实施例的结构示意图。如图23所示,该调整触摸手势的识别参数的数值范围的装置可以为终端设备,或者终端设备中的芯片或处理器等。该调整触摸手势的识别参数的数值范围的装置2300可以包括:触摸屏驱动2301、手势识别模块2302以及处理模块2303。
触摸屏驱动2301,用于检测用户在终端设备的触摸屏上的第一触摸手势。
手势识别模块2302,用于基于阈值模型,识别所述第一触摸手势,所述阈值模型用于表征各预设触摸手势的至少一个识别参数的数值范围,所述阈值模型为基于历史检测到的所述用户的触摸手势的触摸数据得到的。
处理模块2303,用于若识别出所述第一触摸手势为第一预设触摸手势,则执行响应于所述第一预设触摸手势的操作,所述第一预设触摸手势包含在所述各预设触摸手势中。
在一种实施例中,处理模块2303可以包括上述实施例中的渲染逻辑模块、显示处理模块、硬件显示合成加速器、液晶显示器驱动模块,以及显示驱动模块。
在一种可能的实现方式中,手势识别模块2302,还用于基于所述第一触摸手势的触摸数据,调整所述各预设触摸手势的至少一个识别参数的数值范围,得到更新后的阈值模型。
在一种可能的实现方式中,手势识别模块2302,具体用于将所述第一触摸手势的触摸数据输入至所述阈值模型中;训练所述阈值模型,以调整所述各预设触摸手势的至少一个识别参数的数值范围。
在一种可能的实现方式中,所述第一触摸手势的触摸数据包括:触摸手势结果,所述触摸手势结果为:所述终端设备响应成功或响应失败。
手势识别模块2302,还用于在所述第一触摸手势后的预设时间内,若检测到与所述第一触摸手势相似的第二触摸手势,且所述第一触摸手势中的触摸手势结果为响应失败,所述第二触摸手势中的触摸手势结果为响应成功,则将所述第一触摸手势的触摸数据中的触摸手势结果修改为响应成功;将修改后的第一触摸手势的触摸数据输入至所述阈值模型中。
在一种可能的实现方式中,所述第一触摸手势的触摸数据包括:用于表征所述第一触摸手势的轨迹的多个坐标,以及每个坐标的时间。
手势识别模块2302,还用于获取所述第一触摸手势中第一坐标和第二坐标之间的滑动距离、速度和加速度中的至少一个;获取所述第二触摸手势中第三坐标和第四坐标之间的滑动距离、速度和加速度中的至少一个;若所述第一触摸手势的第一个坐标和所述第二触摸手势的第一个坐标位于同一热区内,且所述第一坐标和第二坐标之间的滑动距离、速度和加速度中的至少一个与所述第三坐标和第四坐标之间的滑动距离、速度和加速度中的至少一个属于同一识别参数的数值范围,则确定所述第二触摸手势与所述第一触摸手势相似。
在一种可能的实现方式中,所述第一坐标和所述第二坐标与所述第一预设触摸手势的识别参数相关。
在一种可能的实现方式中,手势识别模块2302,具体用于将修改为响应成功的所述第一触摸手势的触摸数据作为正样本,输入至所述阈值模型中。
在一种可能的实现方式中,所述第一触摸手势的触摸数据还包括:所述第一触摸手势的第一个坐标、滑动距离序列、速度序列、加速度序列、事件序列、触摸手势结果后的用户行为;所述滑动距离序列包括:所述第一坐标和所述第二坐标之间的滑动距离,所述速度序列包括:所述第一坐标和所述第二坐标之间的速度,所述加速度序列包括:所述第一坐标和所述第二坐标之间的加速度,所述事件序列由所述第一触摸手势的每个坐标,以及所述每个时间组成的,所述触摸手势结果后的用户行为包括:所述第二触摸手势。
在一种可能的实现方式中,手势识别模块2302,还用于基于所述阈值模型,以及所述终端设备的设备状态,识别所述第一触摸手势,所述终端设备的设备状态包括:所述终端设备的物理状态和/或所述终端设备的应用环境,所述阈值模型具体用于表征:所述终端设备的每个设备状态下,所述各预设触摸手势的至少一个识别参数的数值范围。
在一种可能的实现方式中,所述第一触摸手势的触摸数据包括:所述终端设备的设备状态。
在一种可能的实现方式中,所述至少一个识别参数包括如下至少一项:热区、滑动距离、速度、加速度或仰角。
在一种可能的实现方式中,所述阈值模型是以样本数据为训练参数经训练得到的,所述样本数据包括:每个触摸手势的热区、滑动距离序列、速度序列、加速度序列、事件序列、触摸手势结果,触摸手势结果后的用户行为。
在一种可能的实现方式中,所述样本数据还包括:提供所述样本数据的设备的设备状态。
本申请实施例中提供的调整触摸手势的识别参数的数值范围的装置可以执行上述实施例中的终端设备执行的步骤,可以实现上述实施例中的技术效果。
在一种实施例中,本申请实施例提供的终端设备可以包括:处理器(例如CPU)、存储器和输出装置。存储器可能包含高速随机存取存储器(random-access memory,RAM),也可能还包括非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器,存储器中可以存储各种指令,以用于完成各种处理功能以及实现本申请实施例中的方法步骤。输出装置,用于显示终端设备的界面。输出装置可以为显示器。可选的,本申请实施例提供的终端设备还可以包括:电源、通信总线以及通信端口。上述通信端口用于实现终端设备与其他电子设备之间进行连接通信。在本申请实施例中,存储器用于存储计算机可执行程序代码,程序代码包括指令;当处理器执行指令时,指令使终端设备的处理器执行上述方法实施例中的动作,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。

Claims (17)

1.一种调整触摸手势的识别参数的数值范围的方法,其特征在于,包括:
检测用户在终端设备的触摸屏上的第一触摸手势;
基于阈值模型,识别所述第一触摸手势,所述阈值模型用于表征各预设触摸手势的至少一个识别参数的数值范围,所述阈值模型为基于历史检测到的所述用户的触摸手势的触摸数据得到的;
若识别出所述第一触摸手势为第一预设触摸手势,则执行响应于所述第一预设触摸手势的操作,所述第一预设触摸手势包含在所述各预设触摸手势中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述第一触摸手势的触摸数据,调整所述各预设触摸手势的至少一个识别参数的数值范围,得到更新后的阈值模型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一触摸手势的触摸数据,调整所述各预设触摸手势的至少一个识别参数的数值范围,包括:
将所述第一触摸手势的触摸数据输入至所述阈值模型中;
训练所述阈值模型,以调整所述各预设触摸手势的至少一个识别参数的数值范围。
4.根据权利要求3所述的方法,其特征在于,所述第一触摸手势的触摸数据包括:触摸手势结果,所述触摸手势结果为:所述终端设备响应成功或响应失败;所述将所述第一触摸手势的触摸数据输入至所述阈值模型中之前,还包括:
在所述第一触摸手势后的预设时间内,若检测到与所述第一触摸手势相似的第二触摸手势,且所述第一触摸手势中的触摸手势结果为响应失败,所述第二触摸手势中的触摸手势结果为响应成功,则将所述第一触摸手势的触摸数据中的触摸手势结果修改为响应成功;
所述将所述第一触摸手势的触摸数据输入至所述阈值模型中,包括:
将修改后的第一触摸手势的触摸数据输入至所述阈值模型中。
5.根据权利要求4所述的方法,其特征在于,所述第一触摸手势的触摸数据包括:用于表征所述第一触摸手势的轨迹的多个坐标,以及每个坐标的时间,所述检测到与所述第一触摸手势相似的第二触摸手势,包括:
获取所述第一触摸手势中第一坐标和第二坐标之间的滑动距离、速度和加速度中的至少一个;
获取所述第二触摸手势中第三坐标和第四坐标之间的滑动距离、速度和加速度中的至少一个;
若所述第一触摸手势的第一个坐标和所述第二触摸手势的第一个坐标位于同一热区内,且所述第一坐标和第二坐标之间的滑动距离、速度和加速度中的至少一个与所述第三坐标和第四坐标之间的滑动距离、速度和加速度中的至少一个属于同一识别参数的数值范围,则确定所述第二触摸手势与所述第一触摸手势相似。
6.根据权利要求5所述的方法,其特征在于,所述第一坐标和所述第二坐标与所述第一预设触摸手势的识别参数相关。
7.根据权利要求4-6中任一项所述的方法,其特征在于,所述将修改后的第一触摸手势的触摸数据输入至所述阈值模型中,包括:
将修改为响应成功的所述第一触摸手势的触摸数据作为正样本,输入至所述阈值模型中。
8.根据权利要求5或6所述的方法,其特征在于,所述第一触摸手势的触摸数据还包括:所述第一触摸手势的第一个坐标、滑动距离序列、速度序列、加速度序列、事件序列、触摸手势结果后的用户行为;
所述滑动距离序列包括:所述第一坐标和所述第二坐标之间的滑动距离,所述速度序列包括:所述第一坐标和所述第二坐标之间的速度,所述加速度序列包括:所述第一坐标和所述第二坐标之间的加速度,所述事件序列由所述第一触摸手势的每个坐标,以及所述每个时间组成的,所述触摸手势结果后的用户行为包括:所述第二触摸手势。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述基于阈值模型,识别所述第一触摸手势,包括:
基于所述阈值模型,以及所述终端设备的设备状态,识别所述第一触摸手势,所述终端设备的设备状态包括:所述终端设备的物理状态和/或所述终端设备的应用环境,所述阈值模型具体用于表征:所述终端设备的每个设备状态下,所述各预设触摸手势的至少一个识别参数的数值范围。
10.根据权利要求9所述的方法,其特征在于,所述第一触摸手势的触摸数据包括:所述终端设备的设备状态。
11.根据权利要求1-10中任一项所述的方法,其特征在于,所述至少一个识别参数包括如下至少一项:热区、滑动距离、速度、加速度或仰角。
12.根据权利要求1-11中任一项所述的方法,其特征在于,所述阈值模型是以样本数据为训练参数经训练得到的,所述样本数据包括:每个触摸手势的热区、滑动距离序列、速度序列、加速度序列、事件序列、触摸手势结果,触摸手势结果后的用户行为。
13.根据权利要求12所述的方法,其特征在于,所述样本数据还包括:提供所述样本数据的设备的设备状态。
14.一种调整触摸手势的识别参数的数值范围的装置,其特征在于,包括:
触摸屏驱动,用于检测用户在终端设备的触摸屏上的第一触摸手势;
手势识别模块,用于基于阈值模型,识别所述第一触摸手势,所述阈值模型用于表征各预设触摸手势的至少一个识别参数的数值范围,所述阈值模型为基于历史检测到的所述用户的触摸手势的触摸数据得到的;
处理模块,用于若识别出所述第一触摸手势为第一预设触摸手势,则执行响应于所述第一预设触摸手势的操作,所述第一预设触摸手势包含在所述各预设触摸手势中。
15.一种电子设备,其特征在于,包括:存储器、处理器;
所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以实现权利要求1-13中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行权利要求1-13中任一项所述的方法。
17.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-13中任一项所述的方法。
CN202110292041.2A 2021-03-18 2021-03-18 调整触摸手势的识别参数的数值范围的方法和装置 Pending CN115113751A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110292041.2A CN115113751A (zh) 2021-03-18 2021-03-18 调整触摸手势的识别参数的数值范围的方法和装置
PCT/CN2022/081085 WO2022194190A1 (zh) 2021-03-18 2022-03-16 调整触摸手势的识别参数的数值范围的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110292041.2A CN115113751A (zh) 2021-03-18 2021-03-18 调整触摸手势的识别参数的数值范围的方法和装置

Publications (1)

Publication Number Publication Date
CN115113751A true CN115113751A (zh) 2022-09-27

Family

ID=83321729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110292041.2A Pending CN115113751A (zh) 2021-03-18 2021-03-18 调整触摸手势的识别参数的数值范围的方法和装置

Country Status (2)

Country Link
CN (1) CN115113751A (zh)
WO (1) WO2022194190A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115421626A (zh) * 2022-11-02 2022-12-02 海看网络科技(山东)股份有限公司 一种基于移动端的ar虚拟窗口的交互方法
CN117149046A (zh) * 2023-10-25 2023-12-01 荣耀终端有限公司 交互手势强度阈值调整方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120167017A1 (en) * 2010-12-27 2012-06-28 Sling Media Inc. Systems and methods for adaptive gesture recognition
CN102609136A (zh) * 2012-01-19 2012-07-25 华为技术有限公司 基准值数据的动态修正方法及装置、触摸手势识别方法
US20130044071A1 (en) * 2010-10-19 2013-02-21 Zte Corporation Method and mobile terminal for automatically recognizing a rotation gesture
CN106055242A (zh) * 2016-05-24 2016-10-26 维沃移动通信有限公司 一种操作处理方法和移动终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193466B (zh) * 2016-03-15 2020-09-08 百度在线网络技术(北京)有限公司 一种手势识别的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130044071A1 (en) * 2010-10-19 2013-02-21 Zte Corporation Method and mobile terminal for automatically recognizing a rotation gesture
US20120167017A1 (en) * 2010-12-27 2012-06-28 Sling Media Inc. Systems and methods for adaptive gesture recognition
CN102609136A (zh) * 2012-01-19 2012-07-25 华为技术有限公司 基准值数据的动态修正方法及装置、触摸手势识别方法
CN106055242A (zh) * 2016-05-24 2016-10-26 维沃移动通信有限公司 一种操作处理方法和移动终端

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115421626A (zh) * 2022-11-02 2022-12-02 海看网络科技(山东)股份有限公司 一种基于移动端的ar虚拟窗口的交互方法
CN115421626B (zh) * 2022-11-02 2023-02-24 海看网络科技(山东)股份有限公司 一种基于移动端的ar虚拟窗口的交互方法
CN117149046A (zh) * 2023-10-25 2023-12-01 荣耀终端有限公司 交互手势强度阈值调整方法及电子设备
CN117149046B (zh) * 2023-10-25 2024-03-15 荣耀终端有限公司 交互手势强度阈值调整方法及电子设备

Also Published As

Publication number Publication date
WO2022194190A1 (zh) 2022-09-22

Similar Documents

Publication Publication Date Title
EP3872807B1 (en) Voice control method and electronic device
EP4030422B1 (en) Voice interaction method and device
WO2021032097A1 (zh) 一种隔空手势的交互方法及电子设备
CN111316199B (zh) 一种信息处理方法及电子设备
WO2021013132A1 (zh) 输入方法及电子设备
CN113132526B (zh) 一种页面绘制方法及相关装置
CN113778663B (zh) 一种多核处理器的调度方法及电子设备
WO2022100221A1 (zh) 检索处理方法、装置及存储介质
WO2022100222A1 (zh) 信息检索方法、装置、系统及存储介质
WO2022194190A1 (zh) 调整触摸手势的识别参数的数值范围的方法和装置
CN115421603B (zh) 一种笔迹处理方法、终端设备及芯片系统
CN115333941A (zh) 获取应用运行情况的方法及相关设备
CN115185440B (zh) 一种控件显示方法及相关设备
CN115016921B (zh) 资源调度方法、装置及存储介质
CN115933952B (zh) 一种触控采样率调节方法及相关装置
CN115086888B (zh) 消息通知方法与装置、电子设备
CN115691486A (zh) 语音指令执行方法、电子设备及介质
CN114356186A (zh) 一种拖动阴影动画效果的实现方法及相关设备
WO2024037542A1 (zh) 一种触控输入的方法、系统、电子设备及存储介质
CN114817521B (zh) 搜索方法和电子设备
CN117112087B (zh) 一种桌面卡片的排序方法、电子设备以及介质
CN112770002B (zh) 一种心跳管控的方法和电子设备
WO2023071718A1 (zh) 浮窗调整方法及电子设备
WO2024109481A1 (zh) 窗口控制方法及电子设备
CN117666888A (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