一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用界面的语音控制方法、装置和智能设备与流程

2021-06-04 13:38:00 来源:中国专利 TAG:语音 控制 装置 界面 智能


1.本发明涉及语音控制技术领域,更具体的说,涉及一种应用界面的语音控制方法、装置和智能设备。


背景技术:

2.语音控制已经成为智能设备的主流操控方式。触发语音控制的方式通常包括:
3.(1)即按即说(push to talk,ptt)方式,属于近场语音控制,按下录音键后,对录音设备说出语音指令;
4.(2)唤醒关键字(wake up word,wuw)方式,属于远场语音控制,用户无需接触设备,先说出唤醒词使设备进入激活状态,再说出语音指令。
5.智能设备接收到包含用户语音指令的录音后,音频流经过自动语音识别(automatic speech recognition,asr)和自然语言理解(natural language understanding,nlu)处理,识别出用户的操作意图,并将操作意图分发给应用程序。应用程序注册语音控制的应用程序接口(application programming interface,api),从而实现操作事件的监听和响应。
6.可见,在现有技术语音控制应用程序时,需要应用程序实现注册语音控制事件的回调函数的api。
7.然而,考虑到应用程序通常数量巨大,如果每个应用程序都实现api,将会显著增加语音控制的复杂度。另外,应用程序通常追求跨平台特性,如果应用程序为每个平台都分别实现api,还会增加应用程序的维护难度。


技术实现要素:

8.本发明提出一种应用界面的语音控制方法、装置和智能设备,从而降低语音控制的复杂度。
9.本发明实施方式的技术方案如下:
10.一种应用界面的语音控制方法,包括:
11.确定当前界面状态;
12.从语音指令中解析出目标界面状态;
13.检索导航路径表以确定从所述当前界面状态切换到所述目标界面状态的导航路径,其中所述导航路径包括导航按键事件序列,所述导航路径表是基于包含界面状态以及界面状态之间的导航按键事件的应用界面状态机所生成的。
14.在一个实施方式中,所述确定当前界面状态包括:
15.识别当前界面状态中的每个控件;
16.建立所述每个控件的向量,其中所述向量包含控件位置、控件尺寸和控件焦点状态;
17.基于所述每个控件的向量建立所述当前界面状态的状态矩阵;
18.将与该状态矩阵相匹配的预定界面状态确定为所述当前界面状态。
19.在一个实施方式中,在所述检索导航路径表之前,还包括:
20.获取所述应用界面状态机;
21.针对所述应用界面状态机中的每个界面状态,利用全源最短路径算法确定从该每个界面状态切换到除该每个界面状态之外的每个其余界面状态的每个导航路径;
22.建立包含所述每个界面状态、除该每个界面状态之外的每个其余界面状态以及从所述每个界面状态切换到除该每个界面状态之外的每个其余界面状态的每个导航路径的导航路径表。
23.在一个实施方式中,还包括:
24.利用预定的导航按键事件遍历所有的界面状态以生成所述应用界面状态机。
25.在一个实施方式中,所述利用预定的导航按键事件遍历所有的界面状态以生成所述应用界面状态机包括:
26.从起始应用界面的起始界面状态开始,利用预定的导航按键事件分别进入每个应用界面的每个界面状态;
27.将所述每个应用界面的每个界面状态图形化为所述应用界面状态机的节点,将所述预定的导航按键事件图形化为所述节点之间的边。
28.在一个实施方式中,还包括:
29.识别已进入的界面状态中的每个控件;
30.建立所述每个控件的向量,其中所述向量包含控件位置、控件尺寸和控件焦点状态;
31.基于所述每个控件的向量建立所述已进入的界面状态的状态矩阵;
32.保存所述已进入的界面状态的状态矩阵。
33.在一个实施方式中,还包括:
34.在每个应用界面的每个控件上设置标识;
35.所述从语音指令中解析出目标界面状态包括:从语音指令中解析出对应于所述目标界面状态的标识;所述确定从当前界面状态切换到所述目标界面状态的导航路径包括:基于所述对应于目标界面状态的标识,确定所述目标界面状态。
36.在一个实施方式中,所述应用界面为不支持语音控制功能的设备所提供的;该方法还包括:
37.将所述导航路径发送到所述不支持语音控制功能的设备;
38.使能所述不支持语音控制功能的设备执行所述导航按键事件序列。
39.一种应用界面的语音控制装置,包括:
40.确定模块,用于确定当前界面状态;
41.解析模块,用于从语音指令中解析出目标界面状态;
42.检索模块,用于检索导航路径表以确定从所述当前界面状态切换到所述目标界面状态的导航路径,其中所述导航路径包括导航按键事件序列,所述导航路径表是基于包含界面状态以及界面状态之间的导航按键事件的应用界面状态机所生成的。
43.在一个实施方式中,所述确定模块,用于识别当前界面状态中的每个控件;建立所述每个控件的向量,其中所述向量包含控件位置、控件尺寸和控件焦点状态;基于所述每个
控件的向量建立所述当前界面状态的状态矩阵;将与该状态矩阵相匹配的预定界面状态确定为所述当前界面状态。
44.在一个实施方式中,所述检索模块,用于在所述检索导航路径表之前,获取所述应用界面状态机;针对所述应用界面状态机中的每个界面状态,利用全源最短路径算法确定从该每个界面状态切换到除该每个界面状态之外的每个其余界面状态的每个导航路径;建立包含所述每个界面状态、除该每个界面状态之外的每个其余界面状态以及从所述每个界面状态切换到除该每个界面状态之外的每个其余界面状态的每个导航路径的导航路径表。
45.在一个实施方式中,所述检索模块,用于利用预定的导航按键事件遍历所有的界面状态以生成所述应用界面状态机。
46.在一个实施方式中,所述检索模块,用于从起始应用界面的起始界面状态开始,利用预定的导航按键事件分别进入每个应用界面的每个界面状态;将所述每个应用界面的每个界面状态图形化为所述应用界面状态机的节点,将所述预定的导航按键事件图形化为所述节点之间的边。
47.在一个实施方式中,所述检索模块,用于识别已进入的界面状态中的每个控件;建立所述每个控件的向量,其中所述向量包含控件位置、控件尺寸和控件焦点状态;基于所述每个控件的向量建立所述已进入的界面状态的状态矩阵;保存所述已进入的界面状态的状态矩阵。
48.在一个实施方式中,还包括:
49.设置模块,用于在每个应用界面的每个控件上设置标识;
50.所述解析模块,用于从语音指令中解析出对应于所述目标界面状态的标识;
51.所述检索模块,用于基于所述对应于目标界面状态的标识,确定所述目标界面状态。
52.在一个实施方式中,所述应用界面为不支持语音控制功能的设备所提供的;该装置还包括:
53.发送模块,用于将所述导航路径发送到所述不支持语音控制功能的设备;使能所述不支持语音控制功能的设备执行所述导航按键事件序列。
54.一种智能设备,包括处理器和存储器;
55.所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如上任一项所述的应用界面的语音控制方法。
56.一种计算机可读存储介质,其中存储有计算机可读指令,该计算机可读指令用于执行如上任一项所述的应用界面的语音控制方法。
57.从上述技术方案可以看出,在本发明实施方式中,确定当前界面状态;从语音指令中解析出目标界面状态;检索导航路径表以确定从当前界面状态切换到目标界面状态的导航路径,其中导航路径包括导航按键事件序列,导航路径表是基于包含界面状态以及界面状态之间的导航按键事件的应用界面状态机所生成的。由此可见,本发明实施方式提出应用界面状态机的概念,利用应用界面状态机对未实现语音控制api的图形化界面实现语音控制,从而降低语音控制的复杂度。
58.而且,本发明实施方式通过建立导航路径表,可以快速确定从当前界面状态切换到目标界面状态的导航路径,还提高了导航路径的确定效率。
59.另外,本发明实施方式通过建立界面状态的状态矩阵,实现了界面状态的定义描述,便于将控件导航问题转化为图论的路径寻找问题,进一步缩小导航路径的运算时间。
附图说明
60.图1为根据本发明实施方式的应用界面的语音控制方法的流程图。
61.图2为根据本发明实施方式的应用界面的示范性示意图。
62.图3为根据本发明实施方式的状态矩阵的示范性示意图。
63.图4为根据本发明实施方式的应用界面状态机的示范性示意图。
64.图5为根据本发明实施方式的语音控制应用程序的示范性流程图。
65.图6为根据本发明实施方式的生成应用界面状态机的示范性示意图。
66.图7为根据本发明实施方式应用界面可被语音控制的计算机的示范性架构图。
67.图8为根据本发明实施方式语音控制应用程序的第一示范性处理示意图。
68.图9为根据本发明实施方式语音控制应用程序的第二示范性处理示意图。
69.图10为根据本发明实施方式语音控制应用程序的第三示范性处理示意图。
70.图11为根据本发明实施方式的应用界面的语音控制装置的结构图。
71.图12为根据本发明实施方式具有存储器

处理器架构的智能设备的结构图。
具体实施方式
72.为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
73.为了描述上的简洁和直观,下文通过描述若干代表性的实施方式来对本发明的方案进行阐述。实施方式中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据
……”
是指“至少根据
……
,但不限于仅根据
……”
。由于汉语的语言习惯,下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。
74.申请人发现:在现有技术的语音控制技术中,需要应用程序实现其所在平台提供的api,以主动注册其所在平台的语音控制指令事件,才能够完成对语音控制的响应。申请人还发现:系统提供方平台的第三方应用程序(非系统厂商提供的应用程序)数量巨大,要求所有的第三方应用程序全部实现api具有困难。而且,从第三方应用程序的角度来说,应用程序本身追求跨平台的特性,针对特定平台的修改会增加其维护的难度。
75.在本发明实施方式中,提供一种语音控制应用界面的技术方案,能够在应用程序未注册系统平台的语音控制事件时对其进行语音控制,从而大量未能支持系统平台语音功能的第三方应用程序以及外接设备应用,在不需改动的前提下仍然能够实现语音操控。
76.对于未通过api注册平台语音操控事件的应用程序,为了使得用户可以通过语音操控应用程序的界面,本发明实施方式主要包括:
77.(1)识别应用程序的图形化界面,判断出当前获取焦点的控件以及用户希望选择的控件。
78.(2)确定焦点移动导航路径,通过按键事件控制应用程序图形化界面将焦点移动
到用户的目标控件上,从而实现帮助用户选择目标控件。其中:为了确定焦点移动导航路径,本发明实施方式定义三个概念:(a)图形化界面的状态矩阵;(b)图形化界面的有限状态机;(c)导航路径。
79.图1为根据本发明实施方式的应用界面的语音控制方法的流程图。
80.如图1所示,该方法包括:
81.步骤101:确定当前界面状态。
82.应用程序通常包含一或多个应用界面,每个应用界面通常包含一或多个界面状态。应用界面通常包含一或多个控件,可以基于每个控件的焦点状态区分出不同的界面状态。在这里,当前界面状态即为应用程序的当前应用界面的当前界面状态。
83.比如,假定应用界面1包含控件1、控件2、控件3和控件4。应用界面1的界面状态包括:应用界面1的控件1为焦点时的界面状态1;应用界面1的控件2为焦点时的界面状态2;应用界面1的控件3为焦点时的界面状态3;应用界面1的控件4为焦点时的界面状态4。在图形化界面的设计中,相对于同级别的其他控件,当控件获取焦点时会被突出显示。而且当系统收到确认或者回车按键时,该控件会被选择。
84.可以预先建立每个界面状态的状态矩阵。在状态矩阵中包含对应的界面状态中每个控件的向量,其中向量包含每个控件的位置、每个控件的尺寸和每个控件的焦点状态。当应用程序图形化界面等待响应用户操作时,界面中所有控件的位置、尺寸和是否有焦点的状态信息构成图形化的界面状态。其中,控件的位置包含控件在平面上的水平坐标和竖直坐标;控件的尺寸包含控件所占区域的大小,可以用长和宽表示。
85.承接上例,假定应用界面1包含控件1、控件2、控件3和控件4。应用界面1具有4个界面状态,分别为:应用界面1的控件1为焦点时的界面状态1;应用界面1的控件2为焦点时的界面状态2;应用界面1的控件3为焦点时的界面状态3;应用界面1的控件4为焦点时的界面状态4。此时,可以针对界面状态1、界面状态2、界面状态3和界面状态4中的每一个界面状态,分别预先建立各自的状态矩阵,从而便于后续基于状态矩阵的匹配操作确定出当前界面状态。
86.图2为根据本发明实施方式的应用界面的示范性示意图。
87.在图2中,应用界面包含6个控件,分别为控件1、控件2、控件3、控件4、控件5和控件6。
88.以控件1为例,其包含位置、大小和焦点状态(是否有焦点)的向量可以用五个数字表示:[x1,y1,w1,h1,f1];其中x1,y1分别为控件1的左上角的水平坐标和竖直坐标(比如,以界面左上角为坐标原点);w1为控件1的长度;h1为控件1的高度;f1为控件1的焦点状态。当控件1没有获得焦点时,f1=0;当控件1获得焦点时,f1=1。
[0089]
类似地,控件2的向量为:[x2,y2,w2,h2,f2];其中x2,y2分别为控件2的左上角的水平坐标和竖直坐标(以界面左上角为坐标原点);w2为控件2的长度;h2为控件2的高度;f2为控件2的焦点状态。当控件2没有获得焦点时,f2=0;当控件2获得焦点时,f2=1。
[0090]
控件3的向量为:[x3,y3,w3,h3,f3];其中x3,y3分别为控件3的左上角的水平坐标和竖直坐标(以界面左上角为坐标原点);w3为控件3的长度;h3为控件3的高度;f3为控件3的焦点状态。当控件3没有获得焦点时,f3=0;当控件3获得焦点时,f3=1。
[0091]
控件4的向量为:[x4,y4,w4,h4,f4];其中x4,y4分别为控件4的左上角的水平坐标和
竖直坐标(以界面左上角为坐标原点);w4为控件4的长度;h4为控件4的高度;f4为控件4的焦点状态。当控件4没有获得焦点时,f4=0;当控件4获得焦点时,f4=1。
[0092]
控件5的向量为:[x5,y5,w5,h5,f5];其中x5,y5分别为控件5的左上角的水平坐标和竖直坐标(以界面左上角为坐标原点);w5为控件5的长度;h5为控件5的高度;f5为控件5的焦点状态。当控件5没有获得焦点时,f5=0;当控件5获得焦点时,f5=1。
[0093]
控件6的向量为:[x6,y6,w6,h6,f6],其中x6,y6分别为控件6的左上角的水平坐标和竖直坐标(以界面左上角为坐标原点);w6为控件6的长度;h6为控件6的高度;f6为控件6的焦点状态。当控件6没有获得焦点时,f6=0;当控件6获得焦点时,f6=1。
[0094]
将控件1、控件2、控件3、控件4、控件5和控件6的向量组合起来,可以得到图形化的应用界面1的状态矩阵。图3为根据本发明实施方式的状态矩阵的示范性示意图。
[0095]
可见,在图3所示的状态矩阵中,包含控件1、控件2、控件3、控件4、控件5和控件6的向量。而且,该状态矩阵还可以描述图2所示的应用界面的各种状态。
[0096]
在一个实施方式中,步骤101中确定当前界面状态包括:识别当前界面状态中的每个控件;建立每个控件的向量,其中向量包含控件位置、控件尺寸和控件焦点状态;基于每个控件的向量建立当前界面状态的状态矩阵;将与该状态矩阵相匹配的预定界面状态确定为当前界面状态。因此,通过针对当前状态矩阵的匹配过程,可以便利地确定出当前界面状态。
[0097]
步骤102:从语音指令中解析出目标界面状态。
[0098]
在这里,目标界面状态为期望迁移到的目标界面的目标界面状态。而且,语音指令的来源包括:
[0099]
(1)ptt方式;按下录音键后,对录音设备说出语音指令;
[0100]
(2)wuw方式;用户无需接触设备,先说出唤醒词使设备进入激活状态,再说出语音指令。
[0101]
优选地,在获取语音指令后,进一步经过asr和nlu处理识别出目标界面状态。
[0102]
比如,假定用户语音输入:“选中界面2的控件1”。经过asr和nlu处理后,可以确定目标界面状态为:界面2的控件1处于焦点时的界面状态。
[0103]
以上示范性描述了语音指令的来源,本领域技术人员可以意识到,这种描述仅是示范性的,并不用于限定本发明实施方式的保护范围。
[0104]
步骤103:检索导航路径表以确定从当前界面状态切换到目标界面状态的导航路径,其中导航路径包括导航按键事件序列,导航路径表是基于包含界面状态以及界面状态之间的导航按键事件的应用界面状态机所生成的。
[0105]
在这里,本发明实施方式提出了图形化界面的状态机。当系统收到导航按键事件时,会改变获得焦点的控件。这将引起界面状态的变化,使得界面从一个状态迁移到另外一个状态,这种状态迁移可以是界面之内的迁移,也可以是跨界面的迁移。应用程序的界面状态是有限的,通过导航按键可以遍历到所有的界面状态。全部的界面状态作为节点以及状态之间的导航按键事件作为边,可以构成一个有向图,即为应用界面状态机。
[0106]
在一个实施方式中,利用预定的导航按键事件遍历所有的界面状态以生成应用界面状态机。
[0107]
具体地,包括:从起始应用界面的起始界面状态开始,利用预定的导航按键事件分
别进入每个应用界面的每个界面状态;将每个应用界面的每个界面状态图形化为应用界面状态机的节点,将预定的导航按键事件图形化为节点之间的边。其中,为了识别不同的界面状态是否已经被遍历过,还包含保存已进入的界面状态的状态矩阵的过程。
[0108]
具体地,保存已进入的界面状态的状态矩阵的过程包括:识别已进入的界面状态中的每个控件;建立每个控件的向量,其中向量包含控件位置、控件尺寸和控件焦点状态;基于每个控件的向量建立所述已进入的界面状态的状态矩阵;保存已进入的界面状态的状态矩阵。因此,通过将正在进入的界面状态的状态矩阵与已保存的状态矩阵进行对比,可以确定正在进入的界面状态是否为新的界面状态,如果是新的,则保存,否则进入其他界面状态,直到遍历所有的界面状态。
[0109]
基于图2所述的应用界面,图4为根据本发明实施方式的应用界面状态机的示范性示意图。
[0110]
举例,在为界面状态1(即控件1为焦点)时:通过向右的导航按键,可以迁移到界面状态2(即控件2为焦点);通过向下的导航按键,可以迁移到界面状态4(即控件4为焦点)。
[0111]
为简化描述,图4所示实例为应用界面1内的状态迁移。实际上,应用程序通常包含多个应用界面,因此应用界面层次的状态机既要包含跨界面的状态迁移,还要包含界面内的状态迁移。
[0112]
下面再针对导航路径进行说明。两个界面状态之间条导航路径是能使界面状态迁移到另外界面状态的一个导航按键事件的序列,并且这个序列是所有可能的序列中最短的一个。通过向系统发送导航路径中的按键序列,界面状态将从起点状态迁移到终点状态。图形化界面有限状态机为有向图,利用全源最短路径算法可以在这个有向图上获取任意两个状态之间的导航路径。
[0113]
在一个实施方式中,在检索导航路径表之前,在步骤103还包括建立导航路径表的过程。
[0114]
具体地,在检索导航路径表之前,还包括:获取应用界面状态机;针对应用界面状态机中的每个界面状态,利用全源最短路径算法确定从该每个界面状态切换到除该每个界面状态之外的每个其余界面状态的每个导航路径;建立包含每个界面状态、除该每个界面状态之外的每个其余界面状态以及从每个界面状态切换到除该每个界面状态之外的每个其余界面状态的每个导航路径的导航路径表。
[0115]
表1为示范性的导航路径表。
[0116]
起点状态终点状态导航路径界面状态1界面状态2[右]界面状态1界面状态3[右,右]界面状态1界面状态4[右,右,右]界面状态1界面状态5[下]界面状态1界面状态6[下,右]界面状态2界面状态1[左]
………
[0117]
表1
[0118]
表1为图2所示应用界面的导航路径表。
[0119]
由表1可见,当起点状态为界面状态1,终点状态为界面状态2时,导航路径所包含的导航按键事件序列为[右],即按键向右移动到下一对象;当起点状态为界面状态1,终点状态为界面状态3时,导航路径所包含的导航按键事件序列为[右,右],即按键向右移动到下一对象,再继续向右移动到下一对象;

当起点状态为界面状态1,终点状态为界面状态6时,导航路径所包含的导航按键事件序列为[下,右],即按键向下移动到下一对象,再继续向右移动到下一对象;等等。
[0120]
在一个实施方式中,该方法还包括:在每个应用界面的每个控件上设置标识;步骤102中从语音指令中解析出目标界面状态包括:从语音指令中解析出对应于所述目标界面状态的标识;步骤103中确定从当前界面状态切换到目标界面状态的导航路径包括:基于对应于目标界面状态的标识,确定目标界面状态。
[0121]
在一个实施方式中,应用界面为不支持语音控制功能的设备所提供的;该方法还包括:将所述导航路径发送到所述不支持语音控制功能的设备;使能所述不支持语音控制功能的设备执行所述导航按键事件序列。
[0122]
图5为根据本发明实施方式的语音控制应用程序的示范性流程图。
[0123]
如图5所示,该流程包括:
[0124]
步骤一:识别图形化界面控件。
[0125]
在深度学习领域中,诸多算法都可以实现对应用程序的图形化界面的控件识别。比如,可以选择单级多框预测器(single shot multi box detector,ssd)、看一次就够(you only look once,yolo)或者区域卷积神经网络(regions with cnn features,r

cnn)等算法实现对图形化界面的控件识别。
[0126]
示范性的,图形化界面控件的数据标注需要包含:(1)控件水平坐标;(2)控件竖直坐标;(3)控件宽度;(4)控件高度;(5)控件是否获取焦点;等等。
[0127]
步骤二:生成界面的状态矩阵。
[0128]
当输入图形化界面的图像时可获得界面中所有控件的位置、大小和焦点状态信息,这些信息的集合组成可以形成当前界面的状态矩阵。
[0129]
步骤三:建立界面的状态机。
[0130]
在这里,使用导航按键事件遍历应用程序的所有界面以构建图形化界面的状态机(通常为有限状态机)。状态机包含节点和边,其中界面状态表示为节点,导航按键事件表示为边。通过记录所有界面状态以及状态之间的迁移事件可得到图形化界面的状态机。
[0131]
图6为根据本发明实施方式的生成应用界面状态机的示范性示意图。在图6中,将正在进入的界面状态的状态矩阵与已保存的状态矩阵进行对比,可以确定正在进入的界面状态是否为新的界面状态,如果是新的,则保存,否则进入其他界面状态,直到遍历所有的界面状态。
[0132]
步骤四:生成导航路径表。
[0133]
在这里,建立界面的状态机后,可以使用全源最短路径算法获取任意两个界面状态之间的最短路径,从而形成包含每个界面状态、除该每个界面状态之外的每个其余界面状态以及从每个界面状态切换到除该每个界面状态之外的每个其余界面状态的每个导航路径的导航路径表。
[0134]
步骤五:确定当前界面状态。
[0135]
在这里,将当前图形化界面的控件识别成待定状态矩阵,与该应用程序的所有界面状态矩阵对比,状态矩阵数值相同的状态即为当前界面所处状态。
[0136]
步骤六:确定目标界面状态。
[0137]
在这里,目标界面状态是指用户意图到达的界面状态。本发明实施方式通过语音技术获取用户的意图从而实现语音操控的。将用户的语音音频经过自动语音识别以及自然语言理解的处理,获得用户意图选择控件的文本描述,并将该文本与当前界面中所有控件中的文本匹配,匹配成功的控件为用户意图选择的控件。可以通过在所有界面状态矩阵中搜索,找到目标控件获得焦点的状态矩阵,从而确定目标状态。
[0138]
步骤七:确定导航路径。
[0139]
由步骤五中确定的当前界面状态和步骤六中确定的目标界面状态,在步骤四中生成的任意两界面状态之间的导航路径表中查询,即可获得从当前界面状态到目标界面状态之间的导航路径。
[0140]
步骤八:发送导航按键序列。
[0141]
根据步骤七中得到的导航路径,向应用程序发送导航按键序列,应用程序执行该导航按键序列,从而帮助用户选择目标控件。
[0142]
图7为根据本发明实施方式应用界面可被语音控制的计算机的示范性架构图。
[0143]
在图7中,计算机包含处理器、显示终端和内存。内存可以处理指令集,指令集的功能可以包括:(1)识别图形化界面控件;(2)构建图形化界面的状态机。
[0144]
下面描述本发明实施方式的典型应用场景。
[0145]
图8为根据本发明实施方式语音控制应用程序的第一示范性处理示意图。
[0146]
在图8所示的应用场景中,语音控制第三方应用程序(该应用程序未注册系统平台语音控制事件)。
[0147]
首先,基于控件识别和状态矩阵匹配,确定第三方应用程序当前获得焦点的控件为:“影片一”,即确定当前界面状态为“影片一”控件被选中的状态1。然后,用户说出语音指令:“选择影片五”。通过对语音指令执行自然语言处理等操作,可以确定目标文本为:“影片五”,因此确定目标状态为:“影片五”控件被选中的状态5。接着,将状态1作为起始状态,状态5作为目标状态检索导航路径表,以确定从状态1迁移到状态5的导航路径为:按键序列[下,右],并将该按键序列[下,右]发送到第三方应用程序,从而由第三方应用程序执行该按键序列,即首先向下移动到“影片四”控件,然后向右移动到“影片五”控件。
[0148]
图9为根据本发明实施方式语音控制应用程序的第二示范性处理示意图。
[0149]
在图9所示的应用场景中,在应用程序界面标识可选控件。图形化界面中的所有控件都以被识别出位置和大小,可以确定控件的边界范围。因此,可以在控件的边界附近绘制标识与控件关联。标识可以是数字或其他类型。当控件拥有了标识以后会方便用户的选择。例如当以数字标识控件后,用户直接说出该数字即可帮助用户选择这个控件。
[0150]
在每个控件的边界附近展示数字标识,其中“影片一”的数字标识为1;“影片二”的数字标识为2;依此类推,“影片六”的数字标识为6。
[0151]
首先,基于控件识别和状态矩阵匹配,确定第三方应用程序当前获得焦点的控件为:“影片一”,即确定当前界面状态为“影片一”控件被选中的状态1。然后,用户说出语音指令:“选择第三个”。通过对语音指令执行自然语言处理等操作,可以确定目标文本为:“3”,
因此确定目标状态为:“影片3”控件被选中的状态3。接着,将状态1作为起始状态,状态3作为目标状态检索导航路径表,以确定从状态1迁移到状态3的导航路径为:按键序列[右,右],并将该按键序列[右,右]发送到第三方应用程序,从而由第三方应用程序执行该按键序列,即首先向右移动到“影片二”控件,然后向右移动到“影片三”控件。
[0152]
图10为根据本发明实施方式语音控制应用程序的第三示范性处理示意图。在图10所示的应用场景中,控制输入源图形化界面。当图形化界面来自系统外接设备时(如机顶盒),该界面并不依赖于系统的语音控制事件。
[0153]
综上所述,本发明技术可以对未注册系统语音控制事件的图形化界面以及外接源的图形化界面进行语音控制。
[0154]
基于上述描述,本发明实施方式还提出了应用界面的语音控制装置。
[0155]
图11为根据本发明实施方式的应用界面的语音控制装置的结构图。
[0156]
如图11所示,应用界面的语音控制装置包括:
[0157]
确定模块1101,用于确定当前界面状态;
[0158]
解析模块1102,用于从语音指令中解析出目标界面状态;
[0159]
检索模块1103,用于检索导航路径表以确定从所述当前界面状态切换到所述目标界面状态的导航路径,其中所述导航路径包括导航按键事件序列,所述导航路径表是基于包含界面状态以及界面状态之间的导航按键事件的应用界面状态机所生成的。
[0160]
在一个实施方式中,确定模块1101,用于识别当前界面状态中的每个控件;建立所述每个控件的向量,其中所述向量包含控件位置、控件尺寸和控件焦点状态;基于所述每个控件的向量建立所述当前界面状态的状态矩阵;将与该状态矩阵相匹配的预定界面状态确定为所述当前界面状态。
[0161]
在一个实施方式中,检索模块1103,用于在所述检索导航路径表之前,获取所述应用界面状态机;针对所述应用界面状态机中的每个界面状态,利用全源最短路径算法确定从该每个界面状态切换到除该每个界面状态之外的每个其余界面状态的每个导航路径;建立包含所述每个界面状态、除该每个界面状态之外的每个其余界面状态以及从所述每个界面状态切换到除该每个界面状态之外的每个其余界面状态的每个导航路径的导航路径表。
[0162]
在一个实施方式中,检索模块1103,用于利用预定的导航按键事件遍历所有的界面状态以生成所述应用界面状态机。
[0163]
在一个实施方式中,检索模块1103,用于从起始应用界面的起始界面状态开始,利用预定的导航按键事件分别进入每个应用界面的每个界面状态;将所述每个应用界面的每个界面状态图形化为所述应用界面状态机的节点,将所述预定的导航按键事件图形化为所述节点之间的边。
[0164]
在一个实施方式中,检索模块1103,用于识别已进入的界面状态中的每个控件;建立所述每个控件的向量,其中所述向量包含控件位置、控件尺寸和控件焦点状态;基于所述每个控件的向量建立所述已进入的界面状态的状态矩阵;保存所述已进入的界面状态的状态矩阵。
[0165]
在一个实施方式中,还包括:设置模块1104,用于在每个应用界面的每个控件上设置标识;解析模块1102,用于从语音指令中解析出对应于所述目标界面状态的标识;检索模块1103,用于基于所述对应于目标界面状态的标识,确定所述目标界面状态。
[0166]
在一个实施方式中,应用界面为不支持语音控制功能的设备所提供的;该装置还包括:发送模块1105,用于将所述导航路径发送到所述不支持语音控制功能的设备;使能所述不支持语音控制功能的设备执行所述导航按键事件序列。
[0167]
本发明实施方式还提出了具有存储器

处理器架构的智能设备。
[0168]
图12为根据本发明具有存储器

处理器架构的智能设备的结构图。
[0169]
如图12所示,具有存储器

处理器架构的智能设备包括:处理器1201和存储器1202;其中存储器1202中存储有可被处理器1201执行的应用程序,用于使得处理器1201执行如上任一项所述的应用界面的语音控制方法。
[0170]
其中,存储器1202具体可以实施为电可擦可编程只读存储器(eeprom)、快闪存储器(flash memory)、可编程程序只读存储器(prom)等多种存储介质。处理器1201可为中央处理单元(cpu)。示例性,处理器1201包括至少一个cpu、基于半导体的微处理器、可编程逻辑设备(pld)等。示例性pld包括特定用途集成电路(asic)、现场可编程门阵列(fpga)、可编程阵列逻辑(pal)、复杂可编程逻辑设备(cpld)和可擦除可编程逻辑设备(epld)。处理器1201可包括多个处理元件,其集成在单个设备中或者分布在设备之间。处理器源可顺序地、同时地、或部分同时地处理指令。
[0171]
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
[0172]
各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。
[0173]
本发明还提供了一种机器可读的存储介质,存储用于使一机器执行如本申请所述方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施方式的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。此外,还可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作。还可以将从存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施方式中任一实施方式的功能。
[0174]
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜