智能音箱、基于智能音箱的交互方法及程序产品与流程

文档序号:21595873发布日期:2020-07-24 16:45阅读:1026来源:国知局
智能音箱、基于智能音箱的交互方法及程序产品与流程

本发明涉及人机交互技术领域,特别是涉及一种智能音箱、基于智能音箱的交互方法及程序产品。



背景技术:

对于以下两类设备:第一类设备是智能电视,第二类设备是智能机顶盒或者智能盒子,为了使得第一类设备和第二类设备实现语音交互和视频通话等功能,需要单独购置usb麦克风和摄像头等配件,且需要改造升级智能电视、盒子的内置系统,而目前智能电视和智能盒子类产品的品牌和内置系统差异都特别大,从而难以实现语音交互和视频通话等功能。



技术实现要素:

本发明的目的在于提供一种新的智能音箱、基于智能音箱的交互方法及程序产品。

本发明的目的采用以下技术方案来实现。依据本发明提出的智能音箱,包括主控芯片,所述主控芯片包括:媒体处理模块,包括媒体信号接收接口和媒体信号发送接口,所述媒体信号接收接口用于接收与所述智能音箱连接的第一设备的媒体信号,所述媒体信号发送接口用于将所述第一设备的媒体信号的至少一部分发送至与所述智能音箱连接的第二设备,以供所述第二设备播放;以及,人机交互模块,用于与用户进行交互;其中,所述人机交互模块包括语音交互子模块和视觉信号传输子模块;所述语音交互子模块用于采集用户的语音数据并进行语音交互;所述视觉信号传输子模块用于将用于向用户展示的视觉交互信号发送至所述第二设备进行呈现,以进行视觉交互。

本发明的目的还可以采用以下的技术措施来进一步实现。

前述的智能音箱,所述媒体处理模块包括内置于所述智能音箱的应用程序,包含电视视图组件、电视输入管理组件,应用支持层由系统级服务电视输入管理服务来实现,功能实现层是由系统服务应用程序电视输入服务及其子类实现,硬件抽象层由电视输入硬件抽象层及其子类实现,用以实现输入和输出流的控制与播放。

前述的智能音箱,所述语音交互子模块具体用于:利用由一个或多个选配的且解耦的前端处理过程所组成的管线得到一个或多个语音交互事件,所述语音交互事件用于反馈语音处理信息。

前述的智能音箱,所述语音交互子模块包括一个或多个声学信号处理单元,所述声学信号处理单元用于对采集到的原始语音数据进行声学信号处理以得到清晰语音数据,以便根据该清晰语音数据进行语音交互;其中,所述声学信号处理过程包括回声消除、噪声抑制、波束形成、自动增益控制、去混响的一种或多种。

前述的智能音箱,所述语音交互子模块包括语音端点检测单元,用于检测语音的开始与结束,并发出相应的语音端点检测事件。

前述的智能音箱,所述人机交互模块包括语音唤醒和识别单元,用于:在所述媒体处理模块进行处理的同时,根据采集到的所述语音数据检测否有用于唤醒的激活词,若识别到所述激活词,则生成激活事件,通过进程间通信方式将所述激活事件发给相应的模块进行处理,包括:将所述激活词后的语音数据发送至云端,以便在所述云端进行自动语音识别得到语音识别结果;接收所述云端返回的所述语音识别结果,以便根据所述语音识别结果中的语音指令进行处理。

前述的智能音箱,所述人机交互模块还包括:指令类型确定单元,用于在得到所述语音识别结果中的所述语音指令后,判断被所述语音指令启动的应用程序的信息、或者判断待执行的所述语音指令的类型;第一类指令执行单元,用于若判断结果为第一类应用程序、或第一类语音指令,则:对所述媒体处理模块所进行的处理进行暂停、终止、或切换至后台,启动所述第一类应用程序,将所述第一类应用程序的至少一部分媒体信号发送至所述第二设备进行呈现;第二类指令执行单元,用于若判断结果为第二类应用程序、或第二类语音指令,则:启动所述第二类应用程序,对所述媒体处理模块所进行的处理不进行暂停、终止或切换至后台,并且通知所述媒体处理模块将所述第一设备的媒体信号的至少一部分进行压制处理。

前述的智能音箱,所述第一类应用程序、所述第一类语音指令包括视频通话;所述第二类应用程序、所述第一类语音指令包括查询天气、播放音乐。

前述的智能音箱,所述的视觉信号传输子模块包括图形界面传输单元,用于将所述智能音箱的用户交互图形界面的数据发送至所述第二设备进行呈现。

前述的智能音箱,所述第一设备为机顶盒或智能盒子,所述第二设备为普通电视或智能电视。

本发明的目的还采用以下技术方案来实现。依据本发明提出的基于智能音箱的交互方法,包括以下步骤:接收与智能音箱连接的第一设备的媒体信号;将所述第一设备的媒体信号的至少一部分发送至与所述智能音箱连接的第二设备,以供所述第二设备播放;与用户进行交互,包括:采集用户的语音数据并进行语音交互,以及,将用于向用户展示的视觉交互信号发送至所述第二设备进行呈现,以进行视觉交互。

本发明的目的还可以采用以下的技术措施来进一步实现。

前述的基于智能音箱的交互方法,所述的接收与智能音箱连接的第一设备的媒体信号、以及所述的将所述第一设备的媒体信号的至少一部分发送至与所述智能音箱连接的第二设备的步骤以内置于所述智能音箱的应用程序提供,包含电视视图组件、电视输入管理组件,应用支持层由系统级服务电视输入管理服务来实现,功能实现层是由系统服务应用程序电视输入服务及其子类实现,硬件抽象层由电视输入硬件抽象层及其子类实现,用以实现输入和输出流的控制与播放。

前述的基于智能音箱的交互方法,所述的采集用户的语音数据并进行语音交互包括:利用由一个或多个选配的且解耦的前端处理过程所组成的管线得到一个或多个语音交互事件,所述语音交互事件用于反馈语音处理信息。

前述的基于智能音箱的交互方法,所述前端处理过程包括一种或多种声学信号处理过程,用于:对采集到的原始语音数据进行声学信号处理以得到清晰语音数据,以便根据所述清晰语音数据进行语音交互;其中,所述声学信号处理过程包括回声消除、噪声抑制、波束形成、自动增益控制、去混响的一种或多种。

前述的基于智能音箱的交互方法,所述前端处理过程包括语音端点检测,用于检测语音的开始与结束,并发出相应的语音端点检测事件。

前述的基于智能音箱的交互方法,所述与用户进行交互包括:在所述的接收与智能音箱连接的第一设备的媒体信号、以及所述的将所述第一设备的媒体信号的至少一部分发送至与所述智能音箱连接的第二设备的同时,根据采集到的所述语音数据检测否有用于唤醒的激活词;若识别到激活词,则生成激活事件,通过进程间通信方式将所述激活事件发给相应的模块进行处理,包括:将所述激活词后的语音数据发送至云端,以便在所述云端进行自动语音识别得到语音识别结果;接收所述云端返回的所述语音识别结果,以便根据所述语音识别结果中的语音指令进行处理。

前述的基于智能音箱的交互方法,所述根据所述语音识别结果中的语音指令进行处理包括:判断被所述语音指令启动的应用程序的信息、或者判断待执行的所述语音指令的类型;若判断结果为第一类应用程序、或第一类语音指令,则:对所述的接收与智能音箱连接的第一设备的媒体信号、所述的将所述第一设备的媒体信号的至少一部分发送至与所述智能音箱连接的第二设备,进行暂停、终止、或切换至后台,在所述智能音箱启动所述第一类应用程序,将所述第一类应用程序的至少一部分媒体信号发送至所述第二设备进行呈现;若判断结果为第二类应用程序、或第二类语音指令,则:在所述智能音箱启动所述第二类应用程序,对所述的接收与智能音箱连接的第一设备的媒体信号、所述的将所述第一设备的媒体信号的至少一部分发送至与所述智能音箱连接的第二设备,不进行暂停、终止或切换至后台,并且将所述第一设备的媒体信号的至少一部分进行压制处理。

前述的基于智能音箱的交互方法,所述第一类应用程序、所述第一类语音指令包括视频通话;所述第二类应用程序、所述第一类语音指令包括查询天气、播放音乐。

前述的基于智能音箱的交互方法,所述的将视觉交互信号发送至所述第二设备进行呈现包括:将所述智能音箱的用户交互图形界面的数据发送至所述第二设备进行呈现。

前述的基于智能音箱的交互方法,所述第一设备为机顶盒或智能盒子,所述第二设备为普通电视或智能电视。

本发明的目的还采用以下的技术方案来实现。依据本发明提出的一种计算机存储介质,包括计算机指令,当计算机指令在设备上运行时,使得设备执行上述任一方面任一项可能的基于智能音箱的交互方法。

本发明的目的还采用以下的技术方案来实现。依据本发明提出的一种计算机程序产品,当计算机程序产品在设备上运行时,使得设备执行上述任一方面任一项可能的基于智能音箱的交互方法。

本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提出的智能音箱、基于智能音箱的交互方法及程序产品至少具有下列优点及有益效果:

(1)本发明提出了创新的智能音箱方案设计,融合了机顶盒的音视频流输出和语音交互控制于一体,丰富了客厅场景的交互应用体验,而且不需要升级改造盒子或电视的系统;

(2)本发明提出的带视频通话功能的智能语音交互音箱产品,既能够实现智能音箱语音交互的基本功能,又能够根据用户需要选择电视上输出机顶盒的音视频或是智能音箱的音视频流,利用电视充分扩展了智能音箱的大屏体验;

(3)本发明具有较高的适配性,适配所有带hdmi输出机顶盒、智能盒子和带有hdmi接口的电视机使用。

(4)本发明具有高度的软件可扩展性,后续可以系统升级扩展应用,充分发挥语音和视觉图像结合的能力。

上述说明仅是本发明技术方案的概述,为了能更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

图1是本发明一个实施例的智能音箱的结构示意图;

图2是本发明另一实施例的智能音箱的结构示意图;

图3是本发明一个实施例提供的与机顶盒和电视连接的智能音箱的示意图;

图4是本发明一个实施例的智能音箱的软件原理示意图;

图5是本发明一个实施例提供的音视频流输入和输出处理应用的软件原理示意图;

图6是本发明一个实施例提供的人机交互模块的原理示意图;

图7是本发明一个实施例的基于智能音箱的交互方法的流程框图;

图8是本发明一个实施例提供的语音唤醒和语音识别的流程框图;

图9是本发明一个实施例提供的根据语音指令进行处理的流程框图。

具体实施方式

为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的智能音箱、基于智能音箱的交互方法及程序产品的具体实施方式、结构、特征及其功效,详细说明如后。

图1为本发明的智能音箱100一个实施例的示意性结构图,图2为本发明的智能音箱100另一实施例的示意性结构图,图3为本发明的与机顶盒和电视的连接的智能音箱100的示意图。请参阅图1、图2、图3,本发明示例的智能音箱100主要包括主控芯片110,该主控芯片110包括媒体处理模块111和人机交互模块112。

其中,前述的媒体处理模块111包括媒体信号接收接口(与图2中的121对应)和媒体信号发送接口(与图2中的122对应)。该媒体信号接收接口用于接收与智能音箱100连接的第一设备200的媒体信号。该媒体信号发送接口用于将第一设备200的媒体信号的至少一部分发送至与智能音箱100连接的第二设备300,以供第二设备300播放。可选地,前述的媒体处理模块111与用于进行媒体处理的硬件连接、或包括用于进行媒体处理的硬件。

可选地,该媒体信号包括音视频流。可选地,该第一设备200为机顶盒(也称为电视盒)或智能盒子(也称为智能互联网盒子)等。

可选地,主控芯片110同时具有hdmi(全称为highdefinitionmultimediainterface,高清晰度多媒体接口)接收数据端口(receivedata,简写为rx)121和hdmi发送数据端口(transmitdata,简写为tx)122,该hdmi接收数据端口为前述的媒体信号接收接口,不妨称为第一hdmi接口,该hdmi发送数据端口为前述的媒体信号发送接口,不妨称为第二hdmi接口。智能音箱100通过第一hdmi接口(hdmi的输入口)与第一设备200连接,智能音箱100通过第二hdmi接口(hdmi输出口)与带hdmi输入接口的第二设备300连接。在另一些实施方式中,可以采用其他数据接受发送方式,例如dp(displayport)、wifi等任意可以传输媒体信号的有线或无线的方式。在本发明的一个实施例中,前述媒体信号接收接口、媒体信号发送接口的一个或多个为有线接口、或无线接口,有线接口包括dp、hdmi接口,无线接口包括wifi。考虑到hdmi在机顶盒和电视上使用较为普遍,因此接下来将以hdmi作为示例进行描述。

可选地,采用透传方式,将接收到的第一设备200的全部的媒体信号发送到第二设备300进行播放;或者,将接收到的第一设备200的媒体信号中的一部分发送至第二设备300播放,而另一部分利用智能音箱100直接播放,例如,将第一设备200的媒体信号中的视频信号发送至第二设备300播放,而第一设备200的媒体信号中的音频信号利用智能音箱100直接播放。其中,透传是指从第一设备200把音视频部分在不做处理的情况下给第二设备300,让第二设备300来负责音视频的解码。

前述的人机交互模块112用于与用户进行交互。可选地,该人机交互模块112与用于与用户进行交互的硬件的连接、或包括用于与用户进行交互的硬件。可选地,该人机交互模块112包括语音交互子模块和视觉信号传输子模块。其中,该语音交互子模块用于采集用户的语音数据并进行语音交互。可选地,采集到的语音数据包括:麦克风的数据、和设备参考通道数据,例如声卡的loopback数据。该视觉信号传输子模块用于将用于向用户展示的视觉交互信号发送至第二设备300进行呈现,以进行视觉交互。可选地,前述视觉交互信号包括用户交互图形界面、提示框等视觉反馈信息,以及采集到的一方、双方或多方用户的视频信息以进行视频通话等。

可选地,由于可以利用电视等具有视频播放功能的第二设备300的屏幕进行视觉交互,从而本发明提出的智能音箱100本身不必须具有屏幕。

利用本发明提出的智能音箱100,可以实现语音交互的功能,同时不影响机顶盒或智能盒子的视频输出到电视上。

在本发明的一些实施例中,前述媒体处理模块111和人机交互模块112包括通过内置于智能音箱100的应用程序(简称为app)、软件开发工具包(简称为sdk),用于呈现用户交互图形界面、处理应用交互操作,与第一设备200、第二设备300的硬件层交互,实现将第一设备200的媒体信号输出到第二设备300进行播放。以第一设备200为机顶盒、第二设备300为普通电视为例,本发明的应用程序基于电视输入框架(tvinputframework,简称为tif)开发,通过电视输入框架与硬件层交互。具体地,本发明提出“音视频流输入和输出处理应用131”(或音视频流输入和输出处理sdk)和“人机交互应用”(或人机交互sdk)。前述媒体处理模块111通过该音视频流输入和输出处理应用131来实现,前述人机交互模块112通过该人机交互应用来实现。可选地,该人机交互应用具体包括语音交互应用132和视频通话应用133。

图4是本发明的智能音箱100一个实施例提供的软件原理框图。当本发明示例的智能音箱100接入电源并通过hdmi输入输出接口与机顶盒(或智能盒子)和智能电视(或普通带hdmi接口电视)相连时,默认启动的是音视频流输入和输出处理,此时机顶盒(或智能盒子)的图像和声音可以传输到电视端。

作为一个可选实施例,音视频流输入和输出处理应用131用于从hdmi接收数据端口抓取机顶盒(或智能盒子)音视频数据,再通过hdmi发送数据端口把需要播放的音视频内容输出到电视上。音视频流输入和输出处理应用131包含tvview(电视视图)组件、tvinputmanager(电视输入管理)组件,应用支持层由系统级服务tvinputmanagerservice(电视输入管理服务)来实现(这层也是在java空间),功能实现层是由系统服务应用程序tvinputservice(电视输入服务)及其子类实现(这层通常跨越java空间和c/c++空间),硬件抽象层由tvinputhal(电视输入硬件抽象层)及其子类实现(这层通常也是跨越java空间和c/c++空间),用以实现输入和输出流的控制与播放。

图5示出了图4中的音视频流输入和输出处理应用131的技术实现的软件原理示意图。可选地,操作系统130为目前比较主流的开源安卓(英文名android)系统。该应用基于tif(英文tvinputframework,电视输入框架)开发,如图5所示:

tvapp141:即图4中的音视频流输入和输出处理应用131,智能音箱100的内置电视应用,用于播放机顶盒的音视频流,呈现用户交互图形界面,处理应用交互操作,通过与tif框架与硬件层交互,实现内容的播放。

tv输入框架142(tvinputframework):tif框架在原来的安卓系统架构基础上扩展而来的一套供智能电视厂商或者内容服务商开发电视或者内容接收播放的新框架。为了适应不同的平台,需要在此框架下开发硬件平台适配,主要包括hdmi视频流输入和输出的处理。

tv输入管理服务143(tvinputmanagerservice):tif框架中的系统服务,由操作系统130的系统服务管理器启动。管理各种由智能电视厂商或者内容服务商开发的输入系统服务应用程序,也是该内置的电视应用和输入系统服务应用程序通信的桥梁。本发明实现了音视频流输入和输出处理应用131与hdmitvinput之间的通信。

hdmitv输入144(hdmitvinput):管理物理的输入端口的应用,本发明管理hdmi视频流输入端口。

硬件驱动层145(hardwaredriverlayer):驱动硬件单元的工作软件驱动模块。

视音频视频输入输出硬件模块146(audioinputandoutputhardwaremodule):物理的音视频流输入输出模块。

图6示出了人机交互模块112(尤其是语音交互应用132)的实现逻辑示意图。

在本发明的一些实施例中,语音交互子模块具体用于:利用由一个或多个选配的且解耦的前端处理过程所组成的管线153(pipeline)得到一个或多个语音交互事件,语音交互事件用于反馈语音处理信息。其中,可以将每个前端处理过程称作一个“模块”(module)或称作模块化程序,每个模块完全独立,只关心输入的数据,每个模块都是可以选配的、解耦的独立组件,每个模块在语音处理过程中均可能会产生若干事件。可选地,该语音交互事件用于向sdk的使用者反馈语音处理信息,例如激活词信息、寻向等,sdk的使用者通过捕捉相应的事件,能够灵活地实现上层业务需求。

可选地,将各个模块化程序配置为统一的数据结构,且每个模块化程序只负责处理输入至本模块化程序的数据,从而实现了各个模块完全独立,实现了模块之间的解耦。

需注意,前述的管线153并非必须是如图6所示的单支的管线,也可以是具有多个分支的管线,以输出多种数据和事件。

在本发明的一些实施例中,语音交互子模块包括一个或多个声学信号处理单元。声学信号处理单元用于:对采集到的原始语音数据进行声学信号处理以得到清晰语音数据,以便根据清晰语音数据进行语音交互,例如语音唤醒、语音识别等。可选地,该原始语音数据包括:麦克风的数据和设备参考通道数据。可选地,前述的前端处理过程通过语音前端sdk实现。

可选地,该声学信号处理过程包括:回声消除(aec)、噪声抑制(ns)、波束形成(bf)、自动增益控制(agc)、去混响(wpe)等等的一种或多种,而每个声学信号处理过程都具有对应的模块化程序。其中,回音消除(对应于图6中的aec模块156)用于保持语音不失真的条件,消除回音。噪声抑制(对应于图6中的ns模块157)用于消除环境噪音,从嘈杂的环境中得到清晰的语音。波束形成(图中未示出)用于通过声源定位,抑制非目标方向的干扰源,增强目标方向的声音。自动增益控制(图中未示出)用于在蓝牙通话等场景下输出更稳定的语音信息,获得更佳通话体验。去混响(图中未示出)用于消除由于房间混响造成的语音拖尾现象,增强语音清晰度,提升远场语音识别率。

在本发明的一些实施例中,语音交互子模块包括语音端点检测单元,用于检测语音的开始与结束,并向sdk使用者发出相应的语音端点检测事件(也称为vad事件)。

在本发明的一些实施例中,语音交互子模块包括自定义激活词单元,用于:在无需额外模型训练的情况下,通过api模块152增加自定义的用于唤醒的激活词。可选地,支持两字、三字、四字、五字等激活词。

需注意,前述的语音端点检测(vad)、和/或自定义激活词,也可以作为组成图6中的管线153(pipeline)的模块,例如,语音端点检测(vad)可以作为管线153中的一个模块设置于图6中的engine模块158之前。

在本发明的一些实施例中,前述的人机交互模块112包括语音唤醒和识别单元,用于:对语音数据进行激活词识别得到激活事件、和/或进行自动语音识别(automaticspeechrecognition,简称为asr)得到语音识别结果。可选地,激活词识别和/或自动语音识别也可以作为管线153中的模块化程序,例如,在对输入的语音数据进行前述的管线153中的层层的声学信号处理过程等处理后,再进行激活词识别和自动语音识别。

在本发明的一些实施例中,该语音唤醒和识别单元具体用于:

在媒体处理模块111进行处理的同时,语音交互应用132在后台作为一个服务运行,根据采集到的语音数据检测否有用于唤醒的激活词,具体地,利用本地的算法引擎(对应于图6中的智能音箱100的engine模块158)进行激活词识别;

若识别到激活词,则生成激活事件以唤醒智能音箱100的相应应用程序,利用图6中的事件管理器151(eventmanger模块)拿到激活事件,通过进程间通信方式将激活事件发给相应的模块进行处理;该将激活事件发给相应的模块进行处理包括:进行提示以便用户知晓已唤醒,例如音箱发出“哎”一声提示;和/或,将激活词后的语音数据发送至云端,以便在云端进行自动语音识别得到语音识别结果;可选地,还可以将包含检测到的激活词的语音数据发送到云端,用以在云端同时进行激活词二次确认和自动语音识别;可选地,在将语音数据发送到云端的步骤之前,先进行opus编码(对应于图6中的opus模块159),再发送至云端;其中,opus编码是一个有损声音编码的格式;

接收云端返回的语音识别结果,以便根据语音识别结果中的语音指令进行处理;具体地,本发明的语音交互服务的应用程序通过特定的api模块152接收由云端返回的语音识别结果;具体地,将语音指令转换成对各个本地技能的处理;需注意,该技能可以是本地的,也可以是云端的。

本发明提出的智能音箱100,尤其是前述人机交互模块112、语音交互应用132、语音前端sdk,具备如下特性:

易扩展:每个模块完全独立,每个模块只负责处理本模块输入的数据,实现了模块之间的解耦;

模块化:处理语音的pipeline可以很方便地增加或移除模块;

易集成:通过事件驱动的方式实现了数据与业务的解耦,用户只需关心事件及事件产生的数据,而不需要关心语音处理过程。

在本发明的一些实施例中,前述的根据语音识别结果中的语音指令进行处理,包括:对媒体处理模块111所进行的处理进行暂停、终止、或切换至后台。

在本发明的一些实施例中,人机交互模块112还包括:指令类型确定单元、第一类指令执行单元和第二类指令执行单元。

其中,指令类型确定单元用于:在得到语音识别结果中的语音指令后,判断被语音指令启动的应用程序的信息、或者判断待执行的语音指令的类型。其中,应用程序的信息包括id信息、优先级信息等等的一个或多个。需注意,对该信息并不限制,仅需能够区分是第一类应用程序、还是第二类应用程序。

第一类指令执行单元用于若判断结果为第一类应用程序、或第一类语音指令,则:对媒体处理模块111所进行的处理进行暂停、终止、或切换至后台,在智能音箱100启动第一类应用程序,将第一类应用程序的至少一部分媒体信号发送至第二设备300进行呈现;

第二类指令执行单元用于若判断结果为第二类应用程序、或第二类语音指令,则:在智能音箱100启动第二类应用程序,对媒体处理模块111所进行的处理不进行暂停、终止或切换至后台,并且通知媒体处理模块111将第一设备200的媒体信号的至少一部分进行压制处理。其中,前述的对第一设备200的媒体信号的至少一部分进行压制处理,包括对声音部分的音量适当减轻或静音、和/或对视频部分适当降低亮度或调整色调等操作。这是为了将对在电视播放的机顶盒的媒体信号进行压制,以不影响音箱或第二设备300对第二类应用程序的播报。

需注意,不妨将第一类语音指令对应的应用程序也称为第一类应用程序,将第二类语音指令对应的应用程序也称为第二类应用程序。

可选地,前述第一类应用程序、第一类语音指令包括视频通话等,前述第二类应用程序、第二类语音指令包括查询天气、播放音乐等。

作为一个可选实施例,若语音指令为视频通话指令,则将音视频流输入和输出处理应用131进行暂停、终止或切换到后台,设备端(也就是智能音箱100)创建一个intent对象,启动用于视频通话的应用程序,将媒体交互数据的至少一部分传输到第二设备300上进行播放。然后进一步等待用户指令,识别诸如“我要打给某某”的语音数据以得到通话对象指令。若接收到通话对象指令,则根据通话对象指令、以及本地或云端的通讯录名单进行视频通话。若接收到视频通话结束指令,则结束该用于视频通话的应用程序,设备端创建另一个intent对象,将音视频流输入和输出处理应用131进行继续、切换至前台或启动,将音视频流输入和输出处理应用131继续、重新启动或切换到前台,用户此时可以继续观看机顶盒电视。

作为一个可选实施例,若语音指令为查询天气指令、或播放音乐指令等指令,例如,用户发出的是“我要查询天气”或者“我还要听莫某的歌”类似指令,则启动对应的用于查询天气、播放音乐的应用程序,用以在智能音箱100的后台播放天气预报、播放歌曲,并且不对音视频流输入和输出处理应用131进行暂停、终止或切换到后台。此时,正在播放的电视的声音会减轻至不影响用户听取天气预报或歌曲的声音,从而提升用户体验。

在本发明的一些实施例中,前述视觉信号传输子模块包括图形界面传输单元,用于将智能音箱100的用户交互图形界面的数据发送至第二设备300进行呈现。其中呈现的方式包括:覆盖第二设备300原始的画面、或在第二设备300原始的画面的其中一部分进行展示,而不影响原始画面的继续播放、或不影响第二设备300的音频的继续播放。

在本发明的一些实施例中,本发明示例的智能音箱100还包括摄像头模块,用于采集用户的视频数据以进行视觉交互。可选地,该摄像头模块包括usb摄像头123,通过usb(通用串行总线)与主控芯片110相连,实现拍照和录像等功能。可选地,摄像头模块包括滑盖,用户可以通过该滑盖来遮盖摄像头。

在本发明的一些实施例中,本发明示例的智能音箱100还包括以下的一个或多个:麦克风或麦克风阵列(图中的麦克风阵列模块124)、无线网络和蓝牙(wi-fi/bt)模组125、功放芯片和扬声器126、usb接口127、按键接口128、灯光接口129。

可选地,麦克风阵列模块124通过pdm(pulsedensitymodulation是一种用数字信号表示模拟信号的调制方法)接口或者其他接口与主控芯片110相连,为系统提供麦克风数据。无线网络和蓝牙模组125通过sdio(securedigitalmemorycard,一种数据传输接口协议)接口或者其他可用接口与主控芯片110通信。而功放芯片和扬声器126是系统的发声单元。

需注意,不限制麦克风阵列模块124的类型和数量,可以是2麦、4麦、6麦等。

需注意,本发明示例的智能音箱100不限于仅包括图1、图2所示的各个部件,还可以包括其他的模块、单元,例如还可以包括内存处理单元和磁盘存储单元,其设置于主控芯片110计算处理单元周围。

请参阅图6,接下来以一个具体示例说明本发明的智能音箱100是如何处理和识别语音的。

第一步:原始的麦克风的数据和设备参考通道数据,作为一个工作154(job)送到图中in模块155。

第二步:对上一步骤的原始数据做一些声学信号处理,如回声消除(图中aec模块156)和噪声抑制(图中ns模块157)等。

第三步:将第二步输出的清晰语音送算法引擎(图中engine模块158)做激活词识别。识别成功后,进行opus编码(图中opus模块159)并发送到云端做激活词二次确认和自动语音识别。

第四步:激活词识别后,事件管理器151(eventmanger模块)拿到激活事件,并通过进程间通信的方式发给相应的模块。同时云端返回语音识别结果也通过图中api模块152,传递给语音交互服务的应用。

第五步:根据语音识别的具体指令,打开相应的技能,技能可以是本地的,也可以是云端的。如此则完成一次完整的语音交互。

接下来以一个具体示例说明本发明的智能音箱100是如何在各个场景间切换的。

第一步:开机默认运行音视频流输入和输出处理应用131,该应用会打开hdmirx121的视频流,并通过hdmitx122输出到电视上,电视机此时播放的是机顶盒的视频流。

第二步:语音交互应用132在后台作为一个服务运行,检测是否有“激活词”唤醒。

第三步:激活词唤醒之后,音箱发出“哎”一声提示,同时把激活词后的语音送到云端做自然语言理解,并把解析的指令返回给设备端。

第四步:设备端收到指令之后,转换成对各个本地技能的处理。

第五步:若指令为视频通话,则创建一个intent对象,打开视频通话的应用。进一步等待用户指令,“我要打给谁”,与云端记录的通讯录名单用户进行视频通话。视频通话结束之后,应用自动退出,设备端创建另一个intent对象,打开音视频流输入和输出处理应用131,用户此时可以继续观看机顶盒电视。

第六步:若指令为“我要查询天气”或者“我还要听莫某的歌”类似指令,则音箱端后台播放天气预报,或者播放某某的歌曲。电视上的机顶盒视频则不会中止或者暂停。

在本发明的一些实施例中,本发明提出的智能音箱100,在开机后,通过蓝牙跟手机端的配网应用连接后,会设置好无线网络的账号和密码,此时本发明提出的智能音箱100具备连接外部网络的功能。在配置好网络后,系统开发完成的语音交互应用132就可以通过麦克风获取语音数据,经过前端信号处理后,可以实现语音交互智能音箱100的基本技能,比如实现查询天气、语音控制智能家居、语音控制其他应用的打开和关闭、播放音乐、设置提醒,这些技能是软件可扩充的。通过语音控制指令,可以打开视频通过应用,通过云端的账号管理功能,可以与安装该应用的手机、个人电脑或者家里另一个该发明装置的设备进行连接,此时音视频流输入和输出处理应用131会切到后台,电视上显示拨号界面,接通之后,电视上显示的是视频通话应用133的界面,本机通过语音指令挂断或者对方挂断之后,音视频流输入和输出处理应用131会再次切换回来,机顶盒(或智能盒子)此时可以正常观看。

图7为本发明的基于智能音箱的交互方法一个实施例的示意性流程框图。请参阅图7,本发明示例的基于智能音箱的交互方法主要包括以下步骤:

步骤s11,接收、抓取与智能音箱100连接的第一设备200的媒体信号。可选地,该媒体信号包括音视频流。可选地,该第一设备200为机顶盒(也称为电视盒)或智能盒子(也称为智能互联网盒子)。可选地,智能音箱100通过hdmi(全称为highdefinitionmultimediainterface,高清晰度多媒体接口)的输入口(与图2中的121对应)与第一设备200连接。

步骤s12,将第一设备200的媒体信号的至少一部分发送至与智能音箱100连接的第二设备300,以供第二设备300播放。可选地,该第二设备300为普通电视或智能电视等带屏设备。可选地,智能音箱100通过hdmi输出口(与图2中的122对应)与带hdmi输入接口的第二设备300连接。

可选地,采用透传方式,将接收到的第一设备200的全部的媒体信号发送到第二设备300进行播放;或者,将接收到的第一设备200的媒体信号中的一部分发送至第二设备300播放,而另一部分利用智能音箱100直接播放,例如,将第一设备200的媒体信号中的视频信号发送至第二设备300播放,而第一设备200的媒体信号中的音频信号利用智能音箱100直接播放。其中,透传是指从第一设备200把音视频部分在不做处理的情况下给第二设备300,让第二设备300来负责音视频的解码。

步骤s13,与用户进行交互,包括:采集用户的语音数据并进行语音交互,以及,将用于向用户展示的视觉交互信号发送至第二设备300进行呈现,以进行视觉交互。可选地,采集到的语音数据包括:麦克风的数据、和设备参考通道数据,例如声卡的loopback数据。可选地,前述视觉交互信号包括用户交互图形界面、提示框等视觉反馈信息,以及采集到的一方、双方或多方用户的视频信息以进行视频通话等。

可选地,由于可以利用电视等具有视频播放功能的第二设备300的屏幕进行视觉交互,从而音箱本身不必须具有屏幕。

利用本发明提出的基于智能音箱的交互方法,可以实现语音交互的功能,同时不影响机顶盒或智能盒子的视频输出到电视上。

在本发明的一些实施例中,前述步骤s11、步骤s12和步骤s13通过内置于智能音箱100的应用程序(简称为app)、软件开发工具包(简称为sdk)来实现,用于呈现用户交互图形界面、处理应用交互操作,与第一设备200、第二设备300的硬件层交互,实现将第一设备200的媒体信号输出到第二设备300进行播放。以第一设备200为机顶盒、第二设备300为普通电视为例,本发明的应用程序基于电视输入框架(tvinputframework,简称为tif)开发,通过电视输入框架与硬件层交互。具体地,本发明提出“音视频流输入和输出处理应用131”(或音视频流输入输出处理sdk)和“人机交互应用”(或人机交互sdk)。该音视频流输入和输出处理应用131用于实现前述步骤s11和步骤s12,该人机交互应用用于实现前述步骤s13。可选地,该人机交互应用具体包括语音交互应用132和视频通话应用133。

作为一个可选实施例,音视频流输入和输出处理应用131包含tvview组件、tvinputmanager组件,应用支持层由系统级服务tvinputmanagerservice来实现(这层也是在java空间),功能实现层是由系统服务应用程序tvinputservice及其子类实现(这层通常跨越java空间和c/c++空间),硬件抽象层由tvinputhal及其子类实现(这层通常也是跨越java空间和c/c++空间),用以实现输入和输出流的控制与播放。

在本发明的一些实施例中,步骤s13中的采集用户的语音数据并进行语音交互包括:利用由一个或多个选配的且解耦的前端处理过程所组成的管线153(pipeline)得到一个或多个语音交互事件,该语音交互事件用于反馈语音处理信息。其中,可以将每个前端处理过程称作一个“模块”(module)或称作模块化程序,每个模块完全独立,只关心输入的数据,每个模块都是可以选配的、解耦的独立组件,每个模块在语音处理过程中均可能会产生若干事件。可选地,该语音交互事件用于向sdk的使用者反馈语音处理信息,例如激活词信息、寻向等,sdk的使用者通过捕捉相应的事件,能够灵活地实现上层业务需求。

可选地,将各个模块化程序配置为统一的数据结构,且每个模块化程序只负责处理输入至本模块化程序的数据,从而实现了各个模块完全独立,实现了模块之间的解耦。

需注意,前述的管线153并非必须是如图6所示的单支的管线,也可以是具有多个分支的管线,以输出多种数据和事件。

在本发明的一些实施例中,前述的前端处理过程包括一种或多种声学信号处理过程,用于:对采集到的原始语音数据进行声学信号处理以得到清晰语音数据,以便根据清晰语音数据进行语音交互,例如语音唤醒、语音识别等。可选地,该原始语音数据包括:麦克风的数据和设备参考通道数据。可选地,前述的前端处理过程通过语音前端sdk实现。

可选地,该声学信号处理过程包括:回声消除(aec)、噪声抑制(ns)、波束形成(bf)、自动增益控制(agc)、去混响(wpe)等等的一种或多种,而每个声学信号处理过程都具有对应的模块化程序。其中,回音消除(对应于图6中的aec模块156)用于保持语音不失真的条件,消除回音。噪声抑制(对应于图6中的ns模块157)用于消除环境噪音,从嘈杂的环境中得到清晰的语音。波束形成(图中未示出)用于通过声源定位,抑制非目标方向的干扰源,增强目标方向的声音。自动增益控制(图中未示出)用于在蓝牙通话等场景下输出更稳定的语音信息,获得更佳通话体验。去混响(图中未示出)用于消除由于房间混响造成的语音拖尾现象,增强语音清晰度,提升远场语音识别率。

在本发明的一些实施例中,前述的前端处理过程包括语音端点检测(vad),用于自动精确地检测语音的开始与结束,并向sdk使用者发出相应的语音端点检测事件(也称为vad事件)。

在本发明的一些实施例中,前述的采集用户的语音数据并进行语音交互包括自定义激活词:在无需额外模型训练的情况下,通过api模块152增加自定义的用于唤醒的激活词。可选地,支持两字、三字、四字、五字等激活词。

需注意,前述的语音端点检测(vad)、和/或自定义激活词,也可以作为组成图6中的管线153(pipeline)的模块,例如,语音端点检测(vad)可以作为管线153中的一个模块设置于图6中的engine模块158之前。

在本发明的一些实施例中,前述的采集用户的语音数据并进行语音交互包括:对语音数据进行激活词识别得到激活事件、和/或进行自动语音识别(automaticspeechrecognition,简称为asr)得到语音识别结果。可选地,激活词识别和/或自动语音识别也可以作为管线153中的模块化程序,例如,在对输入的语音数据进行前述的管线153中的层层的声学信号处理过程等处理后,再进行激活词识别和自动语音识别。

请参阅图8,在本发明的一些实施例中,前述步骤s13包括:

步骤s21,在进行前述步骤s11和步骤s12的同时,人机交互应用在后台作为一个服务运行,根据采集到的语音数据检测否有用于唤醒的激活词。具体地,利用本地的算法引擎(对应于图6中的智能音箱100的engine模块158)进行激活词识别。

步骤s22,若识别到激活词,则生成激活事件以唤醒智能音箱100的相应应用程序,利用图6中的事件管理器151(eventmanger模块)拿到激活事件,通过进程间通信方式将激活事件发给相应的模块进行处理。该将激活事件发给相应的模块进行处理包括:进行提示以便用户知晓已唤醒,例如音箱发出“哎”一声提示;和/或,将激活词后的语音数据发送至云端,以便在云端进行自动语音识别得到语音识别结果。可选地,还可以将包含检测到的激活词的语音数据发送到云端,用以在云端同时进行激活词二次确认和自动语音识别。可选地,在将语音数据发送到云端的步骤之前,先进行opus编码(对应于图6中的opus模块159),再发送至云端。其中,opus编码是一个有损声音编码的格式。

步骤s23,接收云端返回的语音识别结果,以便根据语音识别结果中的语音指令进行处理。具体地,本发明的语音交互服务的应用程序通过特定的api模块152接收由云端返回的语音识别结果。具体地,将语音指令转换成对各个本地技能的处理。需注意,该技能可以是本地的,也可以是云端的。

本发明提出的基于智能音箱的交互方法,尤其是前述人机交互应用、语音交互应用132、语音前端sdk,具备如下特性:

易扩展:每个模块完全独立,每个模块只负责处理本模块输入的数据,实现了模块之间的解耦。

模块化:处理语音的pipeline可以很方便地增加或移除模块。

易集成:通过事件驱动的方式实现了数据与业务的解耦,用户只需关心事件及事件产生的数据,而不需要关心语音处理过程。

在本发明的一些实施例中,前述步骤s23提及的根据语音识别结果中的语音指令进行处理,包括:对前述步骤s11和步骤s12的处理,进行暂停、终止、或切换至后台。

请参阅图9,在本发明的一些实施例中,前述步骤s23提及的根据语音识别结果中的语音指令进行处理包括:

步骤s31,判断被语音指令启动的应用程序的信息、或者判断待执行的语音指令的类型。其中,应用程序的信息包括id信息、优先级信息等等的一个或多个。需注意,对该信息并不限制,仅需能够区分是第一类应用程序、还是第二类应用程序。

步骤s32,若判断结果为第一类应用程序、或第一类语音指令,则:对前述步骤s11和步骤s12的处理进行暂停、终止、或切换至后台,在智能音箱100启动第一类应用程序,将第一类应用程序的至少一部分媒体信号发送至第二设备300进行呈现。

步骤s33,若判断结果为第二类应用程序、或第二类语音指令,则:在智能音箱100启动第二类应用程序,对前述步骤s11和步骤s12的处理不进行暂停、终止或切换至后台,并且将第一设备200的媒体信号的至少一部分进行压制处理。其中,前述的对第一设备200的媒体信号的至少一部分进行压制处理,包括对声音部分的音量适当减轻或静音、和/或对视频部分适当降低亮度或调整色调等操作。这是为了将对在电视播放的机顶盒的媒体信号进行压制,以不影响音箱或第二设备300对第二类应用程序的播报。

需注意,不妨将第一类语音指令对应的应用程序也称为第一类应用程序,将第二类语音指令对应的应用程序也称为第二类应用程序。

可选地,前述第一类应用程序、第一类语音指令包括视频通话等,前述第二类应用程序、第二类语音指令包括查询天气、播放音乐等。

作为一个可选实施例,若语音指令为视频通话指令,则将音视频流输入和输出处理应用131进行暂停、终止或切换到后台,设备端(也就是智能音箱100)创建一个intent对象,启动用于视频通话的应用程序,将媒体交互数据的至少一部分传输到第二设备300上进行播放。然后进一步等待用户指令,识别诸如“我要打给某某”的语音数据以得到通话对象指令。若接收到通话对象指令,则根据通话对象指令、以及本地或云端的通讯录名单进行视频通话。若接收到视频通话结束指令,则结束用于视频通话的应用程序,设备端创建另一个intent对象,将音视频流输入和输出处理应用131进行继续、切换至前台或启动,将音视频流输入和输出处理应用131继续、重新启动或切换到前台,用户此时可以继续观看机顶盒电视。

作为一个可选实施例,若语音指令为查询天气指令、或播放音乐指令等指令,例如,用户发出的是“我要查询天气”或者“我还要听莫某的歌”类似指令,则启动对应的用于查询天气、播放音乐的应用程序,用以在智能音箱100的后台播放天气预报、播放歌曲,并且不对音视频流输入和输出处理应用131进行暂停、终止或切换到后台。此时,正在播放的电视的声音会减轻至不影响用户听取天气预报或歌曲的声音,从而提升用户体验。

在本发明的一些实施例中,前述步骤s13中的将视觉交互信号发送至第二设备300进行呈现具体包括:将智能音箱100的用户交互图形界面的数据发送至第二设备300进行呈现。其中呈现的方式包括:覆盖第二设备300原始的画面、或在第二设备300原始的画面的其中一部分进行展示,而不影响原始画面的继续播放、或不影响第二设备300的音频的继续播放。

在本发明的一些实施例中,前述步骤s13还包括采集用户的视频数据以进行视觉交互。

需注意,在本发明的各个实施例中,本发明不限制交互界面的具体呈现效果,具体的呈现效果可以根据开发需求及用户使用需求做出相应调整。

本发明的实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在设备上运行时,使得设备执行上述相关方法步骤实现上述实施例中的基于智能音箱的交互方法。

本发明的实施例还提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的基于智能音箱的交互方法。

另外,本发明的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的基于智能音箱的交互方法。

其中,本发明提供的设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

以上所述,仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

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