语音控制方法、装置、遥控器和计算机存储介质与流程

文档序号:15221972发布日期:2018-08-21 17:35阅读:177来源:国知局

本发明涉及数字电视应用领域,尤其涉及一种语音控制方法、装置、遥控器和计算机存储介质。



背景技术:

蓝牙是一种短距离、低成本的无线连接技术,使用2.4ghzism频段,不像其他频段资源需要申请才可以使用。同时蓝牙使用跳频和数据短分组技术,能有效地减少同频干扰。蓝牙经过不断地升级,在传输速率和功耗方面有了很大的提升,特别是蓝牙4.0及以后的版本功耗更低,市面上的android机顶盒基本上都支持蓝牙功能。随着蓝牙在功耗方面的不断改进,低功耗蓝牙在其他外围设备,比如遥控器、手环、耳机等也广泛使用。

以可以进行语音输入的蓝牙遥控器为例:用户通过语音遥控器对电视机进行操作时,需要对遥控器上的语音键进行长按操作,并在口述完毕搜索关键词之后才能释放该语音键。若中途无意松开语音键,就会导致发送到机顶盒的识别关键词缺失内容,导致搜索不出想要的内容或者完全搜索不出来,只能重新进行语音输入。如此,会影响通过语音遥控器控制电视机的精准度。



技术实现要素:

本发明的主要目的在于提供一种语音控制方法、装置、遥控器和计算机存储介质,旨在解决传统的通过语音遥控器控制电视机需要长按语音键直至语音输入完毕才释放该语音键,造成控制电视机不精准的技术问题。

为实现上述目的,本发明提供一种语音控制方法,所述语音控制方法包括步骤:

在接收到遥控器发送的第一预设消息时,开启语音识别引擎,并接收语音信号,以通过所述语音识别引擎对接收到的所述语音信号进行识别,其中,所述遥控器在检测到预设按键按下时,发送所述第一预设消息;

在检测到第一预设时间间隔内未接收到语音信号时,发送预设指令至所述遥控器,以供所述遥控器根据所述预设指令生成第二预设消息并反馈;

在接收到所述遥控器发送的所述第二预设消息时,关闭所述语音识别引擎。

优选地,所述开启语音识别引擎,并接收语音信号的步骤之后还包括:

在接收到所述遥控器发送的语音信号时,将所述语音信号对应的语音数据写入预设节点。

优选地,所述将所述语音信号对应的语音数据写入预设节点的步骤之前还包括:

在与遥控器建立连接时,创建语音数据的写入节点。

优选地,所述在接收到遥控器发送的第一预设消息时,开启语音识别引擎的步骤之后还包括:

在接收到所述第二预设消息时,获取接收到所述第二预设消息与接收到所述第一预设消息之间的时间间隔;

判断所述时间间隔是否小于或等于第二预设时间间隔;

在所述时间间隔小于或等于第二预设时间间隔时,屏蔽所述第二预设消息,其中,所述第二预设时间间隔小于所述第一预设时间间隔。

优选地,所述语音控制方法还包括:

在所述时间间隔大于第二预设时间间隔时,关闭所述语音识别引擎。

优选地,所述语音数据、所述第一预设消息以及所述第二预设消息通过蓝牙连接发送。

此外,为实现上述目的,本发明还提供一种语音控制装置,所述语音控制装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如以上所述的语音控制方法的步骤。

此外,为实现上述目的,本发明还提供一种遥控器,所述遥控器在检测到预设按键按下时,开启麦克风并发送所述第一预设消息,在检测到预设按键释放或接收到所述预设指令时,关闭麦克风并发送所述第二预设消息。

此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有语音控制程序,所述语音控制程序被所述处理器执行时实现如以上所述的语音控制方法的步骤。

本发明提出的语音控制方法、装置、遥控器和计算机存储介质,通过在接收到遥控器发送的第一预设消息时,开启语音识别引擎,并接收语音信号,以通过该语音识别引擎对接收到的语音信号进行识别,其中,遥控器在检测到预设按键按下时,发送第一预设消息,此预设按键为语音键,按下时可供用户进行语音输入,在检测到第一预设时间间隔内未接收到语音信号时,发送预设指令至遥控器,以供遥控器根据该预设指令生成第二预设消息并反馈,在接收到遥控器发送的第二预设消息时,关闭语音识别引擎,实现在检测到遥控器语音键的短按操作时,仍可以通过语音输入控制被遥控端。

附图说明

图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图;

图2为本发明语音控制方法第一实施例的流程示意图;

图3为本发明语音控制方法第二实施例的流程示意图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:在接收到遥控器发送的第一预设消息时,开启语音识别引擎,并接收语音信号,以通过所述语音识别引擎对接收到的所述语音信号进行识别,其中,所述遥控器在检测到预设按键按下时,发送所述第一预设消息;在检测到第一预设时间间隔内未接收到语音信号时,发送预设指令至所述遥控器,以供所述遥控器根据所述预设指令生成第二预设消息并反馈;在接收到所述遥控器发送的所述第二预设消息时,关闭所述语音识别引擎。

由于现有技术中,通过语音遥控器控制被控终端时,需要对遥控器的语音键进行长按操作直至语音输入完毕才松开语音键,如此,若在语音输入过程中意外松开语音键会造成被控终端识别语音不完整,从而导致语音遥控器通过语音控制被控终端不精准的问题。

本发明提供一种解决方案,通过在接收到遥控器发送的第一预设消息时,开启语音识别引擎,并接收语音信号,以通过该语音识别引擎对接收到的语音信号进行识别,其中,遥控器在检测到预设按键按下时,发送第一预设消息,此预设按键为语音键,按下时可供用户进行语音输入,在检测到第一预设时间间隔内未接收到语音信号时,发送预设指令至遥控器,以供遥控器根据该预设指令生成第二预设消息并反馈,在接收到遥控器发送的第二预设消息时,关闭语音识别引擎,实现在检测到遥控器语音键的短按操作时,仍可以通过语音输入控制被遥控端。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。

本发明实施例终端是集成安卓系统且可以通过语音遥控器对其进行控制操作的终端设备,包括电视机、机顶盒等。

如图1所示,该终端可以包括:处理器1001,例如cpu,网络接口1004、用户接口1003、存储器1005和通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及语音控制程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的语音控制程序,并执行以下操作:

在接收到遥控器发送的第一预设消息时,开启语音识别引擎,并接收语音信号,以通过所述语音识别引擎对接收到的所述语音信号进行识别,其中,所述遥控器在检测到预设按键按下时,发送所述第一预设消息;

在检测到第一预设时间间隔内未接收到语音信号时,发送预设指令至所述遥控器,以供所述遥控器根据所述预设指令生成第二预设消息并反馈;

在接收到所述遥控器发送的所述第二预设消息时,关闭所述语音识别引擎。

进一步地,处理器1001可以调用存储器1005中存储的语音控制程序,还执行以下操作:

在接收到所述遥控器发送的语音信号时,将所述语音信号对应的语音数据写入预设节点。

进一步地,处理器1001可以调用存储器1005中存储的语音控制程序,还执行以下操作:

在与遥控器建立连接时,创建语音数据的写入节点。

进一步地,处理器1001可以调用存储器1005中存储的语音控制程序,还执行以下操作:

在接收到所述第二预设消息时,获取接收到所述第二预设消息与接收到所述第一预设消息之间的时间间隔;

判断所述时间间隔是否小于或等于第二预设时间间隔;

在所述时间间隔小于或等于第二预设时间间隔时,屏蔽所述第二预设消息,其中,所述第二预设时间间隔小于所述第一预设时间间隔。

进一步地,处理器1001可以调用存储器1005中存储的语音控制程序,还执行以下操作:

在所述时间间隔大于第二预设时间间隔时,关闭所述语音识别引擎。

进一步地,处理器1001可以调用存储器1005中存储的语音控制程序,还执行以下操作:

所述语音数据、所述第一预设消息以及所述第二预设消息通过蓝牙连接发送。

参照图2,图2为本发明语音控制方法第一实施例的流程示意图;

本实施例提出一种语音控制方法,该语音控制方法包括步骤:

步骤s10,在接收到遥控器发送的第一预设消息时,开启语音识别引擎,并接收语音信号,以通过所述语音识别引擎对接收到的所述语音信号进行识别,其中,所述遥控器在检测到预设按键按下时,发送所述第一预设消息;

本发明中以电视机作为被遥控端为例说明,由于现有电视机,有些集成了安卓系统,有些并未集成安卓系统,故本发明中与遥控器交互的终端可为集成安卓系统的电视机也可为集成安卓系统的机顶盒。本实施例以可以进行语音输入的蓝牙遥控器和电视机的机顶盒之间的交互为例进行说明。现有技术中,若想通过语音控制电视机,则需要对遥控器上的语音键进行长按操作,直至语音输入完毕再松开语音键。本发明旨在实现用户在通过蓝牙遥控器进行语音操作时,短按语音键,也就是按下语音键后即松开,也可以达到和长按一样的效果,且不会对遥控器或机顶盒上的资源一直占用,方便下次语音输入时有可调用的资源。

本发明相对于现有技术的主要改进点在于,机顶盒端不再只是被动的接收语音和控制数据,而是其也对遥控器进行控制,如此,通过双向交互来达到资源的释放,并且效果上和长按语音键保持一致。

本发明的方案涉及两端,即遥控器端和机顶盒端,两者通过蓝牙连接进行数据通信,可以理解的是,语音信号对应的语音数据、第一预设消息以及第二预设消息通过蓝牙连接发送。机顶盒端硬件上集成蓝牙模块,负责和遥控器建立蓝牙连接以及机顶盒端数据的接收和发送,软件上运行安卓操作系统,集成蓝牙协议栈功能。遥控器端集成蓝牙rf收发器、麦克风语音采集模块和按键处理模块。在机顶盒开启蓝牙功能搜索到遥控器并建立蓝牙连接之后,其内部集成的安卓系统会自动为所连接的蓝牙遥控器创建设备节点/dev/input/event0以及/dev/hidraw0,包括按键事件输入节点比如是/dev/input/event0以及原始裸数据读写节点比如是/dev/hidraw0,其中,/dev/input/event0以及/dev/hidraw0为本发明中所述的预设节点。

此处所述的预设按键为语音键,在该键被按下时,用户可进行语音输入。遥控器端在其按键处理模块检测到语音键按下时,打开麦克风语音采集模块以供采集用户输入的语音,并通过蓝牙连接发送key_voicedown消息至机顶盒端,key_voicedown消息即为所述第一预设消息,在机顶盒端接收到该key_voicedown消息时,开启语音识别引擎以读取语音数据。在用户对准遥控器麦克风语音采集模块开始语音输入时,遥控器实时把语音内容通过蓝牙连接传输到机顶盒端,机顶盒端蓝牙协议栈把语音数据写入/dev/hidraw0节点,在语音识别模块监测/dev/hidraw0节点有数据可用时就读取内容。

步骤s20,在检测到第一预设时间间隔内未接收到语音信号时,发送预设指令至所述遥控器,以供所述遥控器根据所述预设指令生成第二预设消息并反馈;

机顶盒端安卓系统会默认一个超时时间time_out1,也就是此处所述的第一预设时间间隔,可以理解的是,该第一预设时间间隔为允许用户进行语音输入时停顿的最长时间间隔,该时间间隔可根据用户语音说话的习惯而定,可由系统默认,也可由用户通过设置界面自定义,例如,可以设置为1~2秒。若写入/dev/hidraw0节点的语音数据已被读取完毕且在time_out1时间内再没有新的语音数据传过来以供写入/dev/hidraw0节点,则判断用户本次语音输入的内容完毕,语音识别引擎就用已得的语音数据当做待识别的语音内容,并把识别结果呈现给用户。与此同时,机顶盒端系统把关闭遥控器端麦克风语音采集模块的控制消息closemic写入/dev/hidraw0节点,机顶盒端蓝牙协议栈读取/dev/hidraw0节点中的控制指令closemic,并通过机顶盒端蓝牙协议栈和蓝牙模块发送至遥控器端,该控制指令closemic即为所述预设指令。遥控器端rf收发器在接收到来自机顶盒端的closemic指令之后,获悉机顶盒端已经完成这次语音识别,于是遥控器端控制麦克风语音采集模块执行关闭操作,同时遥控器按键采集模块模拟发送一次语音键释放的消息key_voiceup并通过蓝牙连接传输至机顶盒端,该key_voiceup消息即为所述第二预设消息。

进一步地,若用户语音输入时,中间停顿的时间间隔超过第一预设时间间隔,则机顶盒端的显示屏上只呈现停顿之前用户语音输入对应的文字信息,以提示用户后半部分语音内容并未识别成功。

可以理解的是,在通过语音遥控器进行语音输入时,可通过语音关键字搜索用户想要的内容,此搜索可分为局部搜索和全局搜索。例如,用户对着遥控器说了“微信”两个字,若用户选择了“应用商店”app,则表示在应用商店这个应用程序里搜索微信,为局部搜索,则搜索结果为应用商店里微信app的下载界面。若用户未限定搜索范围,做的是全局搜索,则搜索结果为所有与微信相关的内容,例如:各种微信公众号、各种微信新闻以及微信app下载界面等。此外,局部搜索和全局搜索也适用于在用户查找某部电视剧时,在特定的视频网站查找或者查找所有有这部电视剧的视频网站。

步骤s30,在接收到所述遥控器发送的所述第二预设消息时,关闭所述语音识别引擎。

机顶盒端在接收到key_voiceup事件消息后,关闭机顶盒端语音识别引擎,释放占用的资源,完成本次语音识别。

本实施例提出的语音控制方法,通过在接收到遥控器发送的第一预设消息时,开启语音识别引擎,并接收语音信号,以通过该语音识别引擎对接收到的语音信号进行识别,其中,遥控器在检测到预设按键按下时,发送第一预设消息,此预设按键为语音键,按下时可供用户进行语音输入,在检测到第一预设时间间隔内未接收到语音信号时,发送预设指令至遥控器,以供遥控器根据该预设指令生成第二预设消息并反馈,在接收到遥控器发送的第二预设消息时,关闭语音识别引擎,实现在检测到遥控器语音键的短按操作时,仍可以通过语音输入控制被遥控端。

进一步地,参照图3,基于第一实施例提出本发明语音控制方法第二实施例,在本实施例中,所述步骤s10中的在接收到遥控器发送的第一预设消息时,开启语音识别引擎之后还包括:

步骤s40,在接收到所述第二预设消息时,获取接收到所述第二预设消息与接收到所述第一预设消息之间的时间间隔;

步骤s50,判断所述时间间隔是否小于或等于第二预设时间间隔;

步骤s60,在所述时间间隔小于或等于第二预设时间间隔时,屏蔽所述第二预设消息,其中,所述第二预设时间间隔小于所述第一预设时间间隔。

步骤s30,在所述时间间隔大于第二预设时间间隔时,关闭所述语音识别引擎。

本实施例中所述的第二预设时间间隔为遥控器端语音键被按下后立即释放所消耗的时间,由于在语音键被按下时,遥控器端发送第一预设消息,即key_voicedown消息,在语音键被释放时,遥控器端发送第二预设消息key_voiceup消息,故若机顶盒端接收到这两个消息的时间间隔小于或等于正常短按语音键所消耗的时间,则可判断遥控器端用户的按键操作是短按语音键,此时,屏蔽第二预设消息,就相当于遥控器端在检测到语音键释放操作时不发送key_voiceup消息,以使机顶盒端不响应key_voiceup消息对应的操作,从而可以通过语音识别引擎识别接收到的语音信号。

此外,还介绍了遥控器端用户的按键操作是长按语音键操作时的场景,此时,在接收到第二预设消息key_voiceup时,发现当前时间点距离接收到第一预设消息key_voicedown的时间点之间的时间间隔大于正常短按语音键所消耗的时间,则响应接收到的第二预设消息key_voiceup对应的事件,关闭机顶盒端的语音识别引擎。

需要说明的是:只有在遥控器端是短按语音键操作时,机顶盒端才会发送预设指令至遥控器端以供其生成key_voiceup消息并反馈至机顶盒端。在遥控器端是长按语音键操作时,不涉及遥控器端与机顶盒端之间的指令交互,走的是现有技术长按语音键的流程。

进一步地,遥控器端用户的按键操作是长按语音键操作时,还需考虑到在第一预设时间间隔内是否接收到语音信号这种情况,若用户在长按语音键进行语音输入时,中间停顿的时间间隔大于第一预设时间间隔,即机顶盒端在第一预设时间间隔内未接收到语音信号,此时语音识别引擎只识别停顿之前接收到的语音信号,并在机顶盒端的显示屏上以文字信息显示以告知用户。在用户松开长按的语音键时,即机顶盒端接收到key_voiceup消息时,控制语音识别引擎关闭以释放占用的资源。

本实施例公开的技术方案中,在遥控器端的语音键按键操作是短按操作时,通过屏蔽机顶盒端接收到的key_voiceup消息,以使机顶盒端的语音识别引擎保持开启状态,读取接收到的语音信号对应的语音数据,从而实现短按与现有长按一样的效果,同时方便了用户的操作,延长了语音键的使用寿命。同时,本实施例也适用长按操作的场景,且对现有的长按操作没有影响,使得本发明的方案更完整,兼容性强,适应性广。

此外,本发明实施例还提出一种语音控制装置,所述语音控制装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上实施例所述的语音控制方法的步骤。

此外,本发明实施例还提出一种遥控器,所述遥控器在检测到预设按键按下时,开启麦克风并发送所述第一预设消息,在检测到预设按键释放或接收到所述预设指令时,关闭麦克风并发送所述第二预设消息。

此外,本发明实施例还提出一种计算机存储介质,所述计算机存储介质上存储有语音控制程序,所述语音控制程序被所述处理器执行时实现如上实施例所述的语音控制方法的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,云端服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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