声控多媒体装置的制作方法
背景技术:
随着声音(voice)识别技术的进步,采用这种技术的系统继续激增。一些系统采用被称为近场声音识别的技术,其中用户对位于如遥控器或移动装置等手持装置上的麦克风讲话。其它系统采用远场声音识别,其中用户可以在所述用户处于装置的一般附近(例如,在同一房间内)时对装置讲话,但是不必非常接近装置或者甚至面对装置。远场装置和近场装置均可以用于请求要在音频和/或视频系统上播放内容,但是由于许多家庭音频-视频系统的拓扑复杂性不断增加,仍然需要可以根据用户的声音命令在多个系统上可靠地播放内容的声控装置。
附图说明
将参考附图描述根据本公开的各个实施例,在附图中:
图1示出了根据本公开的一个或多个实施例的声控多媒体装置的示例用例和示意图;
图2示出了根据本公开的一个或多个实施例的声控多媒体装置的示例用例和示意图;
图3示出了根据本公开的一个或多个实施例的声控多媒体装置的框图;
图4示出了序列图,以进一步展示根据本公开的一个或多个实施例的声控多媒体装置的操作方法;
图5示出了序列图,以进一步展示根据本公开的一个或多个实施例的声控多媒体装置的操作方法;
图6示出了序列图,以进一步展示根据本公开的一个或多个实施例的声控多媒体装置的操作方法;
图7示出了序列图,以进一步展示根据本公开的一个或多个实施例的声控多媒体装置的操作方法;
图8是流程图,概念性地展示了根据本公开的一个或多个实施例的声控多媒体装置的操作;
图9是流程图,概念性地展示了根据本公开的一个或多个实施例的声控多媒体装置的操作;
图10是流程图,概念性地展示了根据本公开的一个或多个实施例的声控多媒体装置的操作;
图11是流程图,概念性地展示了根据本公开的一个或多个实施例的声控多媒体装置的操作;
图12示意性地描绘了根据本公开的一个或多个实施例的各种视图中的声控多媒体装置;
图13示出了根据本公开的一个或多个实施例的声控多媒体装置的另一个视图;
图14是根据本公开的一个或多个实施例的一个或多个说明性声控多媒体装置的示意框图;
图15示出了根据本公开的一个或多个实施例的能够进行tv-avr状态检测和监测的声控多媒体装置;
图16示出了根据本公开的一个或多个实施例的次声频(sub-audible)通道监测模块的说明性实例;
图17示出了根据本公开的一个或多个实施例的使用具有低于满量程34.5db水平的白噪声探头对作为tv音量(0-100%)的函数的声压水平(spl)的测量;
图18是流程图,概念性地展示了根据本公开的一个或多个实施例的用于次声频通道监测的进程;
图19示出了流程图,概念性地展示了根据本公开的一个或多个实施例的用于跟踪和控制探测音量水平的进程;
图20a-20b示出了根据本公开的一个或多个实施例的直接互相关计算的结果;
图21a-21b示出了根据本公开的一个或多个实施例的电信号与麦克风信号的互相关的曲线图;
图22示出了根据本公开的一个或多个实施例的能够进行tv-avr状态检测和监测的声控多媒体装置;
图23展示了根据本公开的一个或多个实施例的基于原语的状态检测的一个实例;并且
图24示出了根据本公开的一个或多个实施例的pbsd进程。
具体实施方式
在以下说明中,将描述各个实施例。出于解释的目的,阐述了具体的配置和细节,以便提供对实施例的透彻理解。然而,对于本领域的技术人员还将显而易见的是,可以在没有具体细节的情况下实践这些实施例。此外,可以省略或简化众所周知的特征以免混淆所描述的实施例。
本公开的实施例除了其它外,还涉及用于声控多媒体装置(vcmd)(在本文中也称为声控装置)的系统、方法、计算机可读介质、技术和方法。实施例包含可以被声控并且响应听觉指令的装置。响应于听觉指令,vcmd可以输出数字内容,以便在vcmd的内部扬声器或另一个外部装置处呈现,例如在用户的电视机或连接到音频-视频接收器的一个或多个外部扬声器处,在本文中广泛地称为tv-avr系统。在一些实施例中,vcmd可以控制用户的其它电子装置,例如电视机和音频视频系统,以便根据用户的请求呈现数字内容。因此,vcmd的实施例可以被配置成控制周围环境中的多个电子装置而不必在相应装置处被操纵或指点,并且可以被配置成对基于声音的指令作出反应,从而减少或消除用户物理地操纵装置的需要,如典型的遥控装置的情况。
为了控制其它电子装置,vcmd的某些实施例可以包含一组一个或多个红外(ir)光源,如发光二极管(led),所述红外光源可以用于发送ir信号以与tv-avr系统的其它电子装置无线地通信。在其它实施例中,vcmd还可以包含通过一个或多个av端口(例如,通过一个或多个高清多媒体接口(hdmi)端口)发出控制命令的能力。
图1示出了根据本公开的一个或多个实施例的示例用例100和vcmd130的示意图。用户110可以在具有多个电子装置的周围环境中,如音频系统150、电视机160、无线控制的照明(未示出)以及被配置成被远程控制的其它电子装置。vcmd130可以在用户110的周围环境中,如桌子上、橱柜中或周围环境中的其它地方。
用户110可以与vcmd130口头交互以向vcmd请求内容,所述vcmd本身可以通过广域或局域计算机网络连接到一个或多个数字内容源,例如一个或多个音频内容源和/或视频内容源。例如,用户110可以说出包含指令、命令或请求的短语120(在本文中也称为用户话语或语音(speech)输入),如“alexa,今天的天气预报是什么?”
vcmd130可以检测来自用户110的语音输入,并且可以确定短语120的含义。例如,vcmd130可以检测触发词或唤醒词“alexa”或另一个触发词,并且随后可以使用一个或多个麦克风开始监测声音命令。在一些实施例中,对语音输入的检测和/或处理可以在vcmd130处本地完成,而在其它实施例中,vcmd130可以与一个或多个远程服务器计算机通信,以确定语音输入是否包含一个或多个声音命令。在一些实施例中,触发词可以在本地检测和确定,而包含潜在声音命令的完整语音输入可以被远程处理。在其它实施例中,完整语音输入可以完全地在本地处理,或者使用本地和/或远程语音处理服务的任意组合来处理,如下文参考图3进一步详细描述的。
在确定或接收到图1的实例中的短语120的含义之后,vcmd130可以发起一个或多个响应动作。在此实例中,vcmd130可以确定用户110想要听到与本地天气预报相关的音频流。响应于此确定,vcmd130然后可以检测外部av系统的状态,以确定是否有任何打开的音频通道,即,任何上电的并且拥有可以发射音频的扬声器(例如,电视机160的内部扬声器或音频系统150的扬声器)的外部装置。在一些情况下,如果vcmd130检测到外部装置上没有打开的音频通道,则vcmd可以使用vcmd130的内部扬声器在本地呈现音频内容。在一些情况下,如果vcmd130检测到电视机确实包含打开的音频频道,例如,电视机处于打开(on)状态并且未静音,则vcmd130可以发送控制信号来切换电视机的av输入,并且可以在电视机160的内部扬声器上呈现音频内容。例如,vcmd130可以通过av端口连接到内容源,并且使用vcmd130与电视机160之间的av连接(例如,通过高清多媒体接口(hdmi)端口等)将内容流式传输到电视机160。
在其它情况下,如图2所示,用户110可以说出暗示期望观看与话语相关联的视频内容的短语,例如,通过说“alexa,告诉我天气”,用户正在指示他们想要观看天气预报。如前所述,在确定或接收到短语120的含义之后,vcmd130可以发起一个或多个响应动作。在此实例中,vcmd130可以确定用户110想要观看与天气预报相关的视频流。vcmd130然后可以确定外部av系统的状态,以确定是否有任何外部装置包含打开的视频频道,例如,电视机160是否处于打开状态,并且被设置为允许从vcmd130显示流式视频内容的输入。在一些情况下,如果vcmd130检测到电视机160处于关闭(off)状态,则vcmd130可以启动控制序列,所述控制序列可以首先打开电视机160,然后将电视机的av输入设置为与vcmd130相关联的输入。如图2所示,接下来,vcmd130可以将视频内容例如通过hdmi端口等流式传输到电视机160的屏幕。
为了实施响应动作,vcmd130可以通过av接口(例如,hdmi等)发送一个或多个命令或指令,或可以使用与通用遥控装置类似的无线信道(例如,红外光学信道)。因此,vcmd130可以包含具有多个侧壁的壳体、可通过侧壁中的一个或多个访问的一个或多个av输出端口以及一组被配置成通过侧壁中的一个或多个发射红外光的一个或多个irled。例如,图12-14示出了包含irled的vcmd的一个实例。在一些实施例中,可以围绕vcmd130发射三百六十度的红外光,以便提供周围环境的相对大部分的红外覆盖。在一些实施例中,vcmd130可以包含在相反方向上定向或定位的红外led,以便增加周围环境的红外led覆盖范围。
vcmd130还可以包含被配置成输出视频内容(例如,标准分辨率内容、高清内容、超高清数字内容(例如,4k分辨率、uhd分辨率等))的av接口端口(例如,vga端口、dvi端口和/或hdmi端口)。vcmd130可以无线地或通过av端口连接到电视机160,并且可以使得在电视机160处以内容的视觉呈现流式传输所请求内容。
图3示出了根据某些实施例的vcmd300的框图。vcmd300的内部架构被配置成提供多步骤用户输入和内容递送过程,所述内容递送过程以接收如用户话语或命令等语音输入开始,并且以将内容递送到vcmd300和/或tv-avr系统303的一个或多个输出系统结束。如上所述,vcmd300可以直接连接到电视机系统(tv),或可以通过音频-视频接收器系统(avr)间接连接到tv,其中avr具有一个或多个外部扬声器。为了简洁起见,本文所使用的组合首字母缩略词tv-avr既指独立的tv,也指具有更复杂拓扑的系统,如连接到具有一个或多个外部扬声器的avr的tv。
为了提供到tv-avr系统303的连接,vcmd300可以包含一个或多个av端口,例如,hdmi端口301。hdmi端口301可以接收一个或多个电互连,如hdmi电缆。为简单起见,用于hdmi端口301的互连和相关联的电路系统被分成三个逻辑子块,包含视频块301c、音频块301b和监测/控制块301a。hdmi端口301的视频块301c可以接收视频数据并且将视频数据发射到tv-avr系统303。类似地,音频块301b可以接收音频数据,并且将音频数据发射到tv-avr系统303。监测/控制块301a可以监测hdmi端口的一个或多个数据线,以确定tv-avr系统303的状态。监测/控制块301a还可以用于向tv-avr系统303提供例如消费电子控制(cec)命令形式的hdmi数据,以控制tv-avr系统303的状态。各种cec命令是可用的,如打开/关闭、音量控制、静音/取消静音、av输入选择等。
此外,为了在系统的组件可能与cec不兼容的情况下控制tv-avr系统303的状态,vcmd300可以配备有一个或多个ir发射器,例如,irled311。为了控制tv-avr系统303的一个或多个组件,ir发射器可以以ir代码/信号的形式输出数据,然后所述数据由可操作地连接到tv-avr系统(未示出)的一个或多个ir接收器接收。各种控制功能都是可能的,如打开/关闭、音量控制、静音/取消静音、av输入选择等。
vcmd300包含麦克风系统313,所述麦克风系统被配置成监测vcmd300周围的区域内的环境声,例如,房子的房间内的环境声,并且检测环境声是否包含语音输入,例如,来自用户307的用户话语305。响应于用户话语305,vcmd300可以在vcmd300内部的输出系统(例如,内部扬声器309)上播放内容,或者可以在外部系统(例如,tv-avr系统303)上播放内容。与话语相关联的内容可以是纯视觉的、纯音频的,或者可以是多媒体的,如视听内容。内容可以来源于一个或多个远程服务器计算机,并且由一个或多个媒体播放器304播放。内容源可以位于例如远程声音识别服务321和/或远程内容源308处,其中任一个都可以通过用户的局域网或通过互联网来访问。
vcmd300被配置成根据用户话语305的细节和tv-avr系统303的当前状态(例如,tv-avr系统303当前是上电还是断电)将用户请求的内容路由到vcmd300的内部扬声器309或tv-avr系统303。vcmd300将用户请求的内容路由到扬声器309或tv-avr系统303的能力在本文中被称为“双模式功能”,因为其允许vcmd300在两种模式下操作,否则所述双模式功能将需要两个单独的装置来促进。在第一模式下,vcmd300可以像包含仅音频输出的音频回放声控装置一样操作。在第二模式下,vcmd300可以作为可操作地耦接到一个或多个显示器(例如,tv)的流式数字媒体播放器来操作,并且可以由声控遥控器来操作。
本文所使用的术语打开电源状态和关闭电源状态是指tv-avr系统的一个或多个组件的电源状态。例如,打开电源状态是指用于在tv的屏幕上观看内容的所有必要组件供电的状态。同样,关闭状态是tv的当用户在tv最初处于打开状态时触发电源开关时产生的电源状态。因此,术语“关闭状态”可以包含未通电状态和/或所谓的待机状态,其中tv的显示器可以断电,但是tv内一些有限数量的其它组件仍然可以接收电力。例如,在待机状态下,tv组件的子集可能正在收听cec控制命令,并且当接收到与“打开tv”cec命令相关联的hdmi数据时,tv可以从关闭状态切换到打开状态。
如本文所使用的,术语“对焦”和“未对焦”是指tv-avr系统的状态,特别是tv-avr系统是否在其一个或多个活跃av输入端口设置为vcmd的情况下上电。例如,在图3所示的系统中,假设tv-avr系统303包含音频-视频显示装置,如tv、计算机监测器、dlp投影仪等,以及具有一个或多个外部扬声器的avr。此外,假设vcmd300的av输出端口(vcmd_out_1)通过hdmi连接到avr的输入端口(avr_in_1),并且然后avr的输出端口(avr_out_1)连接到tv的输入端口(tv_in_1),即,整个系统的hdmi连接可以描述如下:vcmd_out_1→avr_in_1→avr_out_1→tv_in_1。在此连接拓扑中,为了被认为是“对焦”的,avr的活跃输入端口应该被设置为avr_in_1,avr的活跃输出端口应该被设置为avr_out_1,tv的活跃输入端口应该被设置为tv_in_1。在这种情况下,如果tv和avr的电源设置都被设置为打开状态,则vcmd可以被认为是“对焦”的。另一方面,如果avr或tv被设置为电源关闭状态,则vcmd可以被认为是“未对焦”的。同样,如果tv和avr都处于电源打开状态,但任何tv-avr系统组件的当前活跃输入/输出端口被设置为非vcmd_out_1→avr_in_1→avr_out_1→tv_in_1,则vcmd也可以被认为是“未对焦”如下文更详细地描述的,如果用户话语暗示期望在tv-avr系统上播放内容,则vcmd可以例如通过irled311和/或hdmi端口301提供适当的控制信号,以将vcmd300从“未对焦”状态移动到“对焦”状态,并且这种控制信号通常可以包含打开/关闭控制信号以及活跃输入切换/激活信号。
回到图3,vcmd300可以包含音频输入部分,所述音频输入部分包含麦克风系统313和输入音频处理系统315。麦克风系统313可以是采用麦克风布置的麦克风阵列系统,所述麦克风一起工作以允许vcmd300例如通过使用多麦克风波束形成技术将用户定位在另外嘈杂的房间中。麦克风系统313还可以一起工作以便例如通过导致回波消除的检测方案改善检测到的音频信号的质量。下文参考图13进一步详细描述根据某些实施例的麦克风系统313内的麦克风的一种可能的布置。
vcmd300的音频输入部分进一步包含从麦克风系统313接收音频信号并且执行另外的信号处理的输入音频处理系统315。此外,音频处理系统可以控制麦克风阵列的波束形成和回波消除能力。输入音频处理系统315还包含唤醒词检测服务,所述唤醒词检测服务被配置成从麦克风系统313接收音频输入信号,本文中也称为麦克风信号,并且检测由麦克风系统313接收的语音输入中是否存在唤醒词。输入音频处理系统315包含音频捕获子系统317,所述音频捕获子系统在检测到唤醒词时,可以捕获与用户话语相关联的语音输入,并且将其数字化,例如,以如pcm数据等数字音频数据的形式,本文中也称为话语数据。
输入音频处理系统315进一步包含具有状态监测子系统319的装置控制器325,所述状态监测子系统可以从麦克风系统313的一个或多个麦克风接收麦克风信号,并且可以基于麦克风信号的内容来确定tv-avr系统的状态。例如,vcmd300可以将音频探测信号发送到tv-avr系统的一个或多个扬声器,并且状态监测子系统319可以用于确定探测信号是否存在于麦克风信号中,以便确定vcmd当前是否处于打开/关闭状态,或者是否对焦/未对焦于tv-avr系统。
vcmd300进一步包含语音交互管理器(sim)320,所述语音交互管理器可以协调vcmd300的子系统之间的一个或多个交互,并且还可以协调vcmd300与一个或多个外部系统的交互。根据某些实施例,sim320可以与基于云的声音识别服务(vrs)321(如亚马逊(amazon)alexa)交换数据。sim320还可以与双模式控制器(dmc)324协调,以获得tv-avr系统的当前状态,在本文中也称为tv-avr系统“上下文”。例如,响应于用户话语305,sim320可以向dmc324查询tv-avr系统状态。dmc324然后可以提供系统状态或可以从装置控制器325获得所述系统状态。在sim320接收到tv-avr系统状态后,其可以向vrs321发送事件消息322,所述事件消息包含tv-avr系统状态和话语数据。vrs321然后可以使用多种语音处理技术以从用户话语数据中识别用户意图。
根据某些实施例,vrs321可以是运行多个声音识别服务、自然语言处理(nlp)服务、自然语言理解(nlu)服务等的一个或多个远程服务器计算机。根据某些实施例,是vrs321而不是基于云的系统可以在vcmd内部。vrs321可以对话语数据执行自动语音识别(asr),并且生成识别结果数据,从而将pcm数据转换成表示话语的词的文本串。识别结果数据然后可以被传递到vrs321内的nlu模块(未示出),其中nlu处理被应用于从识别结果数据确定用户意图。然后,vrs321使用所确定的用户意图和当前tv-avr状态,并且生成数字响应数据323,所述数字响应数据可以被构造为一组被发送回sim320的指示。
如下文更详细描述的,指示可以包含一组命令和/或数据,所述命令和/或数据表示内容、指令、命令或允许vcmd300的组件根据由vrs321确定的用户意图提供内容的任何其它数据。例如,指示可以包含提供数据元素(在本文中被称为tv-avr请求指示)的数据,所述数据元素指示所请求内容是视频内容。指示还可以包含装置控制指示,所述装置控制指示包含用于打开tv并且将tv的活跃输入设置为vcmd300的指令。此外,指示可以包含嵌入的内容,例如,由vrs321响应于用户话语而生成的文本到语音(tts)音频数据。例如,响应于话语“alexa,播放《星际穿越》(interstellar)”,vrs321可以生成包含如“好的,这里是《星际穿越》”等响应的tts音频文件。
嵌入在指示内的内容还可以包含一个或多个媒体有效载荷,所述媒体有效载荷表示要在tv-avr系统303上播放的媒体,例如,与要在tv-avr系统303的屏幕上显示的一个或多个可视图形(如卡)相关联的数据。在一些情况下,指示还可以包含与内容源位置标识符(如指示媒体播放器模块304内的媒体播放器启动并且开始流式传输位于url的内容的url)耦接的回放指令。
根据某些实施例,如下文参考图4-9进一步详细描述的,sim320可以执行一组指示并且与dmc324交换一个或多个消息,以协调应该使用什么输出位置(vcmd内部扬声器309或tv-avr系统303)。
根据某些实施例,指令323可以包含所请求内容是或不是视频内容的指示,在本文中称为tv-avr请求指示。此指示可以采取数据元素的形式,例如,读取‘视频(video)’或‘音频(audio)’的串,或者采取适合于识别所请求的内容的性质的任何其它数据类型。如本文所使用的,术语tv-avr请求不仅指包含用于在tv屏幕上播放视频的用户请求的话语,还指包含用于在tv-avr系统的高质量扬声器上播放高质量音频内容(如音乐)的用户请求的话语。在一些实施例中,如果通过以下话语的语言,则话语可以产生包含tv-avr请求的指示:1)其需要视频输出,因为所请求内容必须是视频内容;2)其暗含对高质量音频内容的期望;3)暗含本地vcmd的交互;或4)话语的语言暗含所期望的输出是视频。
作为上述情况1)的实例,在根据话语中语言的含义,不可能有其它可能的输出模式的情况下,可以确定话语需要视频输出。例如,如“alexa,观看《高堡奇人(maninthehighcastle)》”或“alexa,播放《高堡奇人》”等话语包含对视频内容的明确引用,即电视节目《高堡奇人》。同样,如“alexa,播放youtube上猫的视频”等话语需要视频内容、猫的视频和仅提供视频内容的内容源youtube。
作为上述情况2)的实例,可以基于用户从高质量扬声器听音乐的期望来识别tv-avr请求,例如,“alexa,播放90年代摇滚音乐”。在这种情况下,vcmd可以将此请求解释为tv-avr请求,因为所期望的内容是音乐。在一些实施例中,vcmd可以默认通过tv-avr扬声器播放特定于音乐的tv-avr请求,因为这些扬声器可以向vcmd的内部扬声器提供优越的音频质量。相比之下,如“alexa,播放我的待办事项列表”等话语将不会被解释为tv-avr请求,因为不需要在tv-avr系统的高质量扬声器上播放所请求音频。此外,用户可能不想在其听到待办事项列表音频之前等待tv-avr系统打开以及vcmd被对焦。因此,在这种类型的场景中,vcmd可以被配置成使用vcmd的内部扬声器来尽可能快地启动所请求音频的回放。
鉴于以上,对于特定于音乐的tv-avr请求,vcmd可以包含指示默认输出源的一个或多个用户偏好设置。例如,如果用户总是想要在可用的最高质量的输出装置上播放音乐,则用户偏好设置可以指示vcmd应该将特定于音乐的tv-avr请求路由到tv-avr扬声器。然而,如果用户偏好回放速度和可靠性而不是音频质量,则用户可以将偏好设置设置为总是通过vcmd的内部扬声器播放特定于音乐的tv-avr请求。下文参考图11进一步详细描述此类功能。
作为上述情况3)的实例,如果话语暗含某种形式的本地vcmd交互,例如,“去我的观看列表”或“《出租乘客(rentpassengers)》”,则可以确定所述话语包含tv-avr请求。在这些情况下,系统可能需要访问固有地与某种形式的音频-视频平台或订阅服务相关联的内容,或者可能暗含某种形式的用户输入/交互,所述用户输入/交互需要用户在其可以完成之前例如通过如遥控器等用户输入装置与在屏幕上显示的内容进行交互。
作为上述情况4)的实例,可以识别tv-avr请求,因为话语的语言暗含所期望的输出是视频内容。在这种情况下,话语中的某些单词可以被识别为与用户获取视频或视觉内容的意图相关联。例如,在唤醒词之后,如在“alexa,给我看看我的通勤”或“alexa,给我看看我的日历”中,话语可以使用单词“show”。
vcmd300还包含装置控制器325。装置控制器325包含状态监测器319,所述状态监测器可以监测各种tv-avr系统装置,确定其当前状态,并且然后将所述状态存储在存储器中或将状态信息周期性地和/或异步地传输到dmc324。此外,装置控制器325包含可以生成装置控制信号的装置控制服务,所述装置控制信号可以通过vcmd300的各种装置互连(例如,irled311和/或hdmi端口301的监测/控制块301a)发送到tv-avr系统。通常,装置控制器325可以以类似于通用遥控器的方式产生ir控制信号,并且还可以以cec命令等形式生成hdmi控制信号。如本领域普通技术人员将理解的,在不脱离本公开的范围的情况下,除了ir和cec控制之外,许多不同类型的控制信号和通道都是可能的。
vcmd300还包含可以接收来自sim320和dmc324的音频和视频数据和/或命令的扬声器控制器327和视频控制器302。扬声器控制器327可以包含接口硬件和软件,所述接口硬件和软件接收与音频内容相关联的数据,并且向vcmd300的内部扬声器309和/或向hdmi端口301的音频子块301c提供音频信号。
根据某些实施例,扬声器控制器327可以从vrs321或从外部音频内容源308(如基于云的流式音乐服务)获得音频数据。例如,在如“alexa,今天的天气预报是什么?”的用户话语的情况下,音频响应数据可以由vrs321生成,并且作为一个或多个音频指示发送到vcmd300。在此特定实例中,sim320将执行一组指示,所述指示将使双模式控制器324指示扬声器控制器327将此相对低质量的音频(天气报告)路由到vcmd的内部扬声器309。其它条音频数据也可以与响应数据(如由vrs321响应于话语而生成的tts响应)一起发送。
在其它实例中,如像“alexa播放音乐”的话语,vrs321可以包含传递到sim320的音乐回放指示。sim320然后可以向媒体播放器模块304发送一个或多个消息,以使音频播放器启动并且连接到如流式音乐服务等远程内容源308。音乐流然后由音频播放器提供给扬声器控制器327。在这种情况下,因为音频数据代表音乐,所以扬声器控制器327将音频信号路由到可操作地连接到tv-avr系统303的外部扬声器。例如,扬声器控制器327可以通过hdmi301的音频子块301b发送正确编码的音频信号。
虽然以上未示出,但是视频控制器302可以从vrs321或内容源308获得视频内容,此外,sim320可以例如通过视频子块301c直接向hdmi端口301的一个或多个视频数据线提供内容。例如,在如“alexa,给我看看天气”等话语的情况下,来自vrs321的响应数据可以包含对应于相关联的视频数据的视觉指示,所述视频数据包含要在tv屏幕上显示的一个或多个卡。因此,在这种情况下,sim320可以直接与hdmi端口301通信。在其它实例中,如对于像“alexa,在netflix上播放《王冠(thecrown)》”这样的话语,来自vrs321的响应数据可以包含视频回放指示。在这种情况下,视频回放指示将使sim320指示媒体播放器模块304启动netflix媒体播放器,并且连接到远程netflix内容源,以开始流式传输视频内容。
图4-7示出了进一步展示根据某些实施例的vcmd的操作方法的序列图,例如,上文参考图3示出和描述的vcmd300。更具体地说,序列图展示了vcmd的各个子系统之间的交互。不同的序列图中的每一个展示了子系统如何交互的实例,这取决于用户话语的性质和在接收到话语时tv-avr系统的状态。在图4所示的实例中,假定tv-avr系统为tv。在此提供的这些序列图仅仅是出于实例的目的,并且本领域普通技术人员将会理解,根据用户话语、拓扑和tv-avr系统的当前状态,许多不同的序列是可能的。
图4示出了针对话语的情况的示例序列图,所述话语包含处于关闭或未知状态的非tv-avr请求和初始tv-avr系统状态。非tv-avr请求的实例包含如“alexa,天气预报是什么?”的话语。对于此类型的非tv-avr请求,假设用户的意图是如果tv-avr系统最初是关闭的,则不要使vcmd打开tv-avr系统。相反,vcmd将把所请求音频路由到vcmd的内部扬声器。应当注意,在一些情况下,非tv-avr请求可以与默认视频内容配对,例如,示出各种天气相关数据的一个或多个卡的显示器。然而,由于请求的非tv-avr性质,仅在tv-avr系统已经打开的时,tv-avr系统才会显示这种视频。换句话说,对非tv-avr请求的响应不必是纯音频。然而,如果响应确实包含音频和视频,则vcmd的一些实施例可以被配置成仅在tv-avr系统已经打开时显示视频。以此方式发送视频内容(不论tv-avr系统的状态如何)可以有助于减轻tv-avr状态被误报时任何令人不快的用户体验问题。
现在回到图4的序列图,起初,唤醒词服务检测由麦克风检测到的环境音频中唤醒词的存在,所述唤醒词服务可以是在图3所示的输入音频处理系统315上运行的检测服务。响应于唤醒词的检测,唤醒词服务通知sim正在检测新的话语。响应于此通知,sim向dmc发送音频-视频电源状态的状态请求,以获取当前的tv-avr系统状态,此处示为‘getdevicestate’消息。在一些实施例中,dmc被配置成存储装置状态的当前描述。可以响应于由装置控制器提供的状态信息而周期性地更新装置状态。根据某些实施例,装置控制器可以通过经由重复的消息周期性地向dmc提供装置状态来实现这一点。替代性地,装置状态可以由装置控制器响应于来自dmc的请求而异步提供。
回到图4中所示的特定实例,装置控制器向dmc提供了tv<off|unknown>的装置状态,因为装置控制器确定tv处于电源关闭状态或未知状态。
从装置控制器接收到当前装置状态信息后,dmc然后向sim发送set_device_context消息,以指示sim创建表明tv处于关闭或未知状态的device_context。接下来,sim向vrs提供包含话语数据的device_context和pcm音频流。如上所述,vrs可以获取device_context和pcm信息,并且生成一组指示,例如指示[d1、d2、...、dn]。根据某些实施例,指示可以采取命令列表和一条或多条音频和/或视频数据的形式。在此实例中,指示包含播放由一个或多个显示天气报告的卡构成的视频的命令,并且还包含在vcmd的内部扬声器上播放tts响应的指令。在一些实施例中,tts响应可以作为表示vrs对用户话语的响应的一段预呈现的pcm音频在指示中向下传递。
响应于接收到所述一组指示,sim将指示传递给dmc,并根据指示来指示dmc与其交互。在一些实施例中,可以用可以基于包含在指示中的信息来确定输出源的逻辑对dmc进行编程,或vrs可以在指示本身中包含输出源。
在这种情况下,因为这是非tv-avr请求,并且tv-avr状态为tv<off|unknown>,所以装置控制逻辑可以指示dmc将其控制目标设置为表明将在vcmd的内部扬声器上播放任何tts或所请求音频的<internalspeaker>。
接下来,sim可以向扬声器控制器传输告知扬声器控制器开始播放tts音频的play_tts消息。例如,在如“天气怎么样?”的话语的情况下,tts音频可以是“这是你今天的天气预报……”响应于play_tts消息,扬声器控制器可以向dmc发送get_control_target消息,以获得control_target变量的当前值,实际上是询问dmc要在哪个输出系统上播放tts音频。响应于get_control_target消息,dmc可以向扬声器控制器发送使用<current_control_target>消息,以通知扬声器控制器当前所选的输出装置。在这种情况下,vcmd的内部扬声器是当前控制目标,所以dmc指示扬声器控制器使用内部扬声器作为输出装置。扬声器控制器然后在vcmd的内部扬声器上播放tts音频
如上所述,不论tv的状态如何,一些非tv-avr请求可以包含伴随视频。图4示出了这种实例,并且因此,在扬声器控制器在内部扬声器上播放tts音频之后,sim可以将视频数据发送到hdmi端口。在图4所示的特定情况下,tv是关闭的,并且因此视频内容将从视线中隐藏。然而,如果tv的状态碰巧被不正确地报告,则视频数据将被显示,从而在tv-avr状态可能是错误的情况下改善整体用户体验。如受益于本公开的本领域普通技术人员将会理解的,在不脱离本公开的范围的情况下,可能存在响应于非tv-avr请求而不发送视觉指示的替代配置。
图5示出了在话语情况下的示例序列图,所述话语包含非tv-avr请求以及打开的初始tv-avr系统状态。序列主要如上文参考图4所描述的继续进行。然而,因为tv已经处于打开状态,所以dmc将所述控制目标设置为<hdmi>,而不是<internalspeaker>。因此,扬声器控制器将tts音频路由到vcmd的hdmi端口,从而导致在tv扬声器上播放tts。此外,因为tv已经处于打开状态,所以与话语相关联的视频数据(如果有的话)可以显示在tv上。在一些实施例中,指示本身可以包含视频数据,并且在其它实施例中,指示可以包含具有从外部源获得内容的指令的url。
图6示出了在包含tv-avr请求的话语(即,用户的意图是观看视频内容)以及关闭的或未知的初始tv-avr系统状态(例如,tv最初处于关闭电源状态)的情况下的示例序列图。序列最初如图4-5中的继续进行,但是在这种情况下,因为tv最初关闭,所以vrs将指示vcmd打开tv以播放所请求视频内容。因此,来自vrs的响应包含另外的device_control指示,所述指示包含使vcmd打开tv的指令。如前所述,指示是由vrs基于表示用户话语的语音输入数据生成的响应数据。一旦指示从vrs传递到sim,vcmd与tv-avr系统的一个或多个组件的交互就可以开始了。
因为指示表明这是tv-avr请求,dmc将控制目标设置为hdmi,以准备向tv的hdmi输入提供视频。接下来,sim将装置控制指示连同打开tv的指令发送到dmc。为了让用户意识到tv正在打开,sim然后将触发在vcmd的内部扬声器上播放切换文本到语音(hotts)响应消息。例如,响应于如“alexa,播放《星际穿越》”等话语,vcmd可以生成表示“好的,在你的电视机上播放”的tts响应。这种切换音频消息可以改善用户体验,因为对于一些tv-avr系统,vcmd可能需要若干秒或者甚至几十秒来将tv-avr系统置于适当的回放状态,并且如果没有被通知,则用户可能想知道在此时间期间发生了什么以及系统是否正在响应。在一些实施例中,hotts消息由vcmd生成并且存储在vcmd上,并且基于tv-avr系统的初始状态被触发。例如,如果指示表明话语包含tv-avr请求,并且tv-avr系统处于关闭状态,则vcmd的sim将使hotts消息在vcmd的内部扬声器上播放。在其它实例中,hotts可以以指示的形式从vrs向下传递。
回到图6,为了开始打开tv,dmc首先向装置控制器发送电源状态命令和/或av输入状态命令,在此示出为turn_on_tv命令。在此阶段,装置控制器可以根据tv-avr系统的拓扑结构和初始状态发送许多不同的命令。例如,装置控制器可以向tv-avr系统的一个或多个组件发送ir和/或hdmicec命令,以确保vcmd对焦(如果尚未对焦的话)。在发送turn_on_tv命令之后,dmc可以将pendingtvnotification消息发送回到sim,以通知sim打开过程已经开始。
sim然后可以将剩余的指示排队,并且等待装置控制器采取必要的措施来打开tv-avr系统,并且使vcmd系统对焦。一旦打开过程完成,装置控制器将向sim发送表明tv现在处于打开状态的响应。一旦接收到响应,序列如图4-5中已经描述的继续进行。
图7示出了话语的另一个实例,所述话语包含tv-avr请求和处于打开状态的初始tv-avr系统状态。序列通常如图6中的继续进行,除了在这种情况下,向上检测唤醒词,sim将指示装置控制器使tv音频静音。为了使tv音频静音,双模式控制器将咨询tv-avr系统的当前活跃输入状态,并且将发送静音命令(例如,通过ir)以使tv静音,或者将向vcmd发送请求以获得音频焦点。更具体地,如果tv-avr系统的当前活跃输入不是vcmd,则这表明用户正在从一些其它输入装置观看tv内容。在这种情况下,双模式控制器将指示device_controller通过ir或hdmicec命令(如果支持的话)向tv发送静音命令。然后所述过程将主要如图6中所讨论的继续进行。一旦已经处理了全部指示并且新的视频数据准备好播放,则sim将向双模式控制器发送request_unmute命令,并且双模式控制器将(通过ir或hdmi)向tv/媒体播放器发送适当的消息以取消静音和/或释放音频焦点。
在另一种情况下,在接收到话语时,tv-avr系统的当前活跃输入是vcmd,这表明用户正在从vcmd流式传输tv内容。在这种情况下,不使用ir/hdmi静音命令,而是使用requestaudiofocus命令。通常,requestaudiofocus命令会通知适当的应用程序来使其音频静音/回避(duck)其音频。例如,如果用户当前正在流式传输来自amazonprimevideo的电影,则来自双模式控制器的requestaudiofocus命令可以使装置控制器暂停在媒体播放器上回放。如前所述,一旦媒体播放器暂停,sim将执行剩余的指示,并且然后最终向双模式控制器发送request_unmute命令。双模式控制器然后将向装置控制器发送releaseaudiofocus命令,最终使装置控制器采取必要的步骤来播放所请求内容。
图8-11是流程图,概念性地展示了根据本公开的实例的vcmd的操作,其中重点在于将由vcmd的一个或多个控制器应用以实现用户意图的逻辑。根据一些实例,vcmd可以作为“双模式”装置进行操作,并且可以用双模式逻辑进行编程。本文所使用的术语“双模式装置”是指可以在至少两个不同的输出系统上播放音频的vcmd:vcmd的内部扬声器和tv-avr系统的音频系统,例如tv扬声器和/或tv-avr系统的一个或多个外部扬声器。如上所述,vcmd的双模式逻辑可以至少部分地基于两个输入来确定播放所请求音频的输出系统:1)如根据在vcmd的麦克风处接收的用户话语确定的用户意图;以及2)tv-avr系统的状态(电源和/或av输入),例如电视机和/或连接到音频-视频接收器的电视机。根据某些实施例,根据精确的装置配置和所使用的hdmi协议和/或麦克风阵列的限制,可能无法可靠地确定装置状态,而是始终处于“未知”状态。在这些类型的场景中,可以使用表明当前装置状态的改变的语音话语和/或可以监测一个或多个其它信号以暗示装置状态。在一些情况下,可以修改vcmd逻辑以直接处理未知状态,例如,如上文参考图4描述的。
从图8开始,在步骤810中,在vcmd的麦克风处接收用户话语。话语通常以唤醒词开始,例如“alexa”,vcmd检测到“alexa”后向vcmd表明用户语音命令即将到来。例如,用户话语可以是传达用户想听音频内容的意图的陈述,如“alexa,播放一些爵士乐”或“alexa,播放我的新闻简讯(flashbriefing)”。在其它实例中,用户话语可以是传达用户观看视频内容的意图的陈述,如“alexa,给我看看我的购物清单”或“alexa,给我看看我的新闻简讯”。
在步骤820中,vcmd确定可操作地连接到vcmd的tv-avr系统的电源状态。例如,电视机可以通过vcmd的hdmi端口连接。在一些实例中,音频-视频接收器和电视机以及一个或多个外部扬声器都可以连接。为了生成适当的装置控制命令来实现用户在tv-avr系统上的话语的意图,vcmd需要知道tv-avr系统的电源状态。在一些实施例中,tv-avr系统的状态可以通过信号来确定,所述信号可以从av互连的一个或多个引脚读取,如hdmi端口。在其它实例中,可以通过经由av互连向tv-avr系统发送次声频音频信号,并且然后在vcmd的一个或多个麦克风上收听所述次声频信号,来确定tv-avr系统的状态。在任一情况下,一个或多个实施例可以发起音频-视频电源状态请求消息以发起状态检测过程。
在步骤830中,vcmd从话语音频数据中确定表示用户意图的一组指示。在一些实施例中,将话语音频数据传递到语音识别服务,其中可以对话语音频数据执行语音识别过程,以便提取用户的意图并且建立一组指示。如上文参考图3-7所描述的,指示可以是一系列命令,并且还可以包含音频和/或视频指示,所述音频和/或视频指示包含数字音频和/或视频数据。指示可以表明应该播放的内容(例如“爵士乐”)以及用于请求的预期输出系统,例如用户的意图是反映tv-avr请求还是非tv-avr请求。在一些实施例中,也如上文参考图3所描述的,语音识别过程可以在包含一个或多个语音识别服务器的外部语音识别系统处从vcmd远程执行。在其它实施例中,全部或部分语音识别过程可以在vcmd上本地执行。
在步骤840中,vcmd基于tv-avr系统的状态做出决定。如果tv-avr系统处于关闭状态,则所述方法如以下参考图4进一步详细描述的继续进行。如果tv-avr系统处于打开状态,则所述方法如以下参考图5-6进一步详细描述的进行。
用于最初处于电源关闭状态的tv-avr系统的双模式行为
如果vcmd检测到tv-avr系统处于关闭状态,则操作vcmd的方法可以接下来如图9所示继续进行。在步骤910中,vcmd确定指示是否包含tv-avr请求。
如果vcmd确定指示包含tv-avr请求,则在步骤920中,在vcmd的内部扬声器上播放切换音频消息。如本文所使用的,切换音频消息是由vcmd播放的音频消息,以向用户表明vcmd将在tv-avr系统上播放所请求内容。例如,vcmd可以响应于用户话语“alexa,播放《星际穿越》”而快速地陈述,“好的,在你的电视机上播放”。这种切换音频消息可以改善用户体验,因为对于一些tv-avr系统,vcmd可能需要若干秒或者甚至几十秒来将tv-avr系统置于适当的回放状态。例如,在一些情况下,在任何tts响应指示可以在tv-avr系统的扬声器上播放之前,vcmd可能首先必须打开tv,然后打开avr,并且最后将tv和avr的活跃输入切换到vcmd。在这种情况下,当此过程完成(或无法完成)时,来自vcmd的切换音频消息通知用户已经接收到话语并且vcmd已经启动了在tv-avr系统上播放内容的过程,而不是让用户沉默地坐着。此外,使用切换音频消息改善了用户的以下能力,如果在已经播放切换音频消息之后很长时间(例如超过一分钟),tv-avr系统没有采取任何动作,则用户能够认识到tv-avr系统可能存在问题。
在步骤930中,vcmd然后将控制信号发送到tv-avr系统,以便打开系统的一个或多个组件。例如,vcmd可以通过hdmi端口连接到tv-avr系统的tv上,并且可以通过hdmi-cec发送“电源打开”命令来打开tv。在其它情况下,vcmd可以使用其ir发射器通过ir(类似于通用遥控器)发送一个或多个控制信号。在一些实施例中,控制信号可以被制定为仅打开电视机,或者也可以打开tv-avr系统的其它组件。例如,在包含音频-视频接收器和tv的tv-avr系统的情况下,控制请求可以包含控制信号的组合以例如首先打开接收器,并且然后打开tv。如受益于本公开的本领域普通技术人员将会理解的,若干种不同形式的控制信号是可能的,取决于tv-avr系统的拓扑。
在步骤940中,vcmd测试tv-avr系统的av输入是否被设置为适当的输入端口,即,tv-avr系统的活跃av输入是否切换到当前连接到vcmd的av端口。这种测试可以通过例如vcmd发送具有getdevicestate消息的音频-视频输入状态的状态请求来完成,如上文参考图4-7所描述的。例如,如果vcmd连接到电视机的hdmi_1端口,则vcmd首先查询tv-avr系统以识别当前活跃av输入端口是否为hdmi_1。
在步骤950中,如果活跃av端口尚未被设置为hdmi_1,则vcmd发送控制信号以将tv-avr系统的av输入切换到hdmi_1。在另一个实例中,vcmd不需要检测活跃hdmi端口,而是可以立即将控制信号发送到tv-avr系统,所述控制信号例如通过采用如cec一键播放等技术将tv-avr系统的活跃av端口切换到适当的端口。
在步骤960中,vcmd然后将所请求音频-视频内容发送到tv-avr系统,从而完成用户的请求。
返回到步骤940,如果tv-avr系统的av端口已经被设置为连接到vcmd的端口,例如此实例中的hdmi_1,则所述过程不需要切换av输入,而是继续进行到步骤460并且完成。
回到步骤910,如果vcmd确定指示包含仅播放音频内容的请求,则在步骤911中,vcmd可以在vcmd的内部扬声器上播放所请求音频内容。在一些实施例中,vcmd可以包含用户偏好设置,所述用户偏好设置可以在步骤911中覆盖默认行为,并且相反将音频请求视为tv-avr请求,在这种情况下,vcmd可以通过如以上所述的步骤920-960继续进行。在这种情况下,用户将用户偏好设置设置为仅将某些音频请求视为tv-avr请求是可能的,例如,如“alexa,播放90年代摇滚音乐”等话语可以由vcmd解释为要在tv-avr系统的高质量扬声器上播放的音乐请求,但是如“alexa,播放我的待办事项列表”等话语仍然可以在vcmd的内部扬声器上播放。下文参考图11进一步详细描述了具有用户偏好功能的实施例。
用于最初处于电源打开状态的tv-avr系统的双模式行为,tv-avr请求
如果vcmd检测到tv-avr系统最初处于打开状态,则其可以与tv-avr系统交互,如图10所示。图10示出了在步骤1010中,vcmd确定指示包含tv-avr请求的情况。图11示出了vcmd确定指示包含非tv-avr请求的情况。
回到图10,在当vcmd接收到指示时,tv-avr系统已经处于打开状态的情况下,在此所示的方法步骤可以响应于如“alexa,播放《星际穿越》”等用户话语来实施。在步骤1020中,vcmd测试tv-avr系统的av输入是否被设置为适当的输入端口,即,tv-avr系统的活跃av输入是否切换到当前连接到vcmd的av端口。例如,如果vcmd连接到电视机的“hdmi_1”端口,则vcmd首先查询tv-avr系统以识别当前活跃av输入。如果是,则在步骤2013中,vcmd可以暂停其媒体播放器,以便暂停当前正在发送到tv-avr系统的任何内容。
在步骤1040中,vcmd然后在tv-avr系统的当前活跃扬声器上(例如,在tv的内部扬声器上)播放tts响应。例如,响应于如“alexa,播放《星际穿越》”等接收到的用户话语,vcmd可以在tv的内部扬声器上播放意图消息“好的,播放《星际穿越》”。在一些实施例中,视觉指示也可以显示在tv的显示器上,以表明待播放的内容。同时,vcmd的一个或多个适当的媒体播放器可以从源获得内容。
在步骤1050中,一旦获得到内容提供方的连接,vcmd就可以使vcmd的媒体播放器恢复播放,并且然后在步骤1060中,将新的av输出(例如,电影《星际穿越》的流)发送到tv-avr系统,以使内容在tv-avr系统上播放。
另一方面,如果在步骤1020中确定tv-avr系统的活跃输入端口当前未被设置为当前连接到vcmd的av端口,则vcmd可以向电视机发送静音命令。在这种情况下,因为输入端口尚未被设置为vcmd的输入端口,所以假设正在tv-avr系统上播放的当前内容(如果有的话)源自除vcmd的内部视频播放器之外的某个地方。在这种情况下,内容可能不能由vcmd暂停,因此在步骤1031中,vcmd可以向tv-avr系统发送静音命令。静音命令可以通过类似于通用遥控器的红外通信信道发送,或者可以通过如cec命令等hdmi发送。例如,静音命令可以从下文参考图13所示和所描述的一个或多个irled发送。这可以使tv-avr的扬声器静音,使得tv音频不会干扰由vcmd响应于用户话语而播放的任何tts/切换消息。
在步骤1041中,类似于上文参考图9的步骤920已经描述的,vcmd可以在vcmd的内部扬声器上播放切换音频消息。
在步骤1051中,vcmd可以以类似于上文参考图9的步骤950已经描述的方式,将tv-avr系统的活跃av端口切换到vcmd。
在步骤1061中,vcmd然后可以使tv-avr系统取消静音,例如,通过在步骤1060中启动新的av输出流之前,通过ir通信信道向tv-avr系统发送取消静音命令。
用于最初处于电源打开状态的tv-avr系统的双模式行为,非tv-avr请求
图11示出了vcmd已经确定tv-avr系统打开并且指示包含非tv-avr请求的情况。在一些实施例中,vcmd可以包含可以影响非tv-avr请求如何在系统上播放的用户偏好。例如,可以将vcmd的默认设置设置为在vcmd的内部扬声器上播放所有非tv-avr请求。替代性地,用户可以设置偏好以将所有或一些类别的非tv-avr请求视为因此在tv-avr系统扬声器上播放的tv-avr请求。例如,用户可以设置偏好以将如“alexa,播放我的播放列表”等音乐话语视为tv-avr请求,因为用户的默认偏好是尽可能在最高质量扬声器上听音乐。另外,在一些实施例中,用户偏好可以甚至更精细,使得即使对于音乐请求,也可以基于vcmd是否对焦来确定输出系统。如果未对焦,则用户偏好可以表明音频将在vcmd的内部扬声器上播放,而不是在tv-avr的扬声器上播放。图11示出了在这种更精细的用户偏好能力的情况下,vcmd采用的逻辑的一个实例。
在步骤1110中,确定当前用户偏好。在用户偏好指示所有非tv-avr请求均应在内部扬声器上播放的情况下,系统可以继续进行到步骤1130。替代性地,如果用户偏好表明所有或一些非tv-avr请求均应在tv-avr系统扬声器上播放,则系统可以继续进行到步骤1120。
在步骤1130中,vcmd测试tv-avr系统的av输入是否被设置为适当的输入端口,即,tv-avr系统的活跃av输入是否切换到当前连接到vcmd的av端口。例如,如果vcmd连接到电视机的“hdmi_1”端口,则vcmd首先查询tv-avr系统以识别当前活跃av输入。如果是,则在步骤1140中,vcmd可以暂停其媒体播放器,以便暂停当前正在发送到tv-avr系统的任何内容。
在步骤1150中,vcmd然后在vcmd的内部扬声器上播放所请求音频内容。音频内容不仅可以包含用户话语中特别提到的内容,还可以包含适当的tts响应。
在步骤1160中,一旦所请求音频内容播放完毕,则vcmd可以使vcmd的媒体播放器恢复播放,并且可以恢复最初播放的内容。
另一方面,如果在步骤1130中确定tv-avr系统的活跃输入端口当前未被设置为当前连接到vcmd的av端口,则在步骤1170中,vcmd可以向电视机发送静音命令。在这种情况下,因为输入端口尚未被设置为vcmd的输入端口,所以假设正在tv-avr系统上播放的当前内容(如果有的话)源自除vcmd的内部视频播放器之外的某个地方。在这种情况下,vcmd可能无法暂停内容,因此相反,vcmd可以使用类似于通用遥控器的红外通信信道向tv-avr系统发送静音命令。例如,静音命令可以从下文参考图13所示和所描述的一个或多个irled发送。如上文参考图10所描述的,这可以使tv-avr的扬声器静音。
在步骤1180中,vcmd然后在vcmd的内部扬声器上播放所请求音频内容。音频内容不仅可以包含用户话语中特别提到的内容,还可以包含适当的tts响应。
在步骤1190中,vcmd然后可以例如通过经由ir通信信道发送另一个取消静音命令使tv-avr系统取消静音。
返回到步骤1120,如在上文所描述的步骤1130中那样,vcmd测试tv-avr系统的av输入是否被设置为适当的输入端口。如果是,则在步骤1191中,vcmd可以暂停其媒体播放器,以便暂停当前正在发送到tv-avr系统的任何内容。
在步骤1192中,vcmd然后在tv-avr系统的扬声器上播放所请求音频内容。音频内容不仅可以包含用户话语中特别提到的内容,还可以包含适当的tts响应。
在步骤1193中,一旦所请求音频内容播放完毕,则vcmd可以使vcmd的媒体播放器恢复播放,并且可以恢复最初播放的内容。
图12示意性地描绘了根据本公开的一个或多个实施例的各种视图中的vcmd1200。如透视图1210所展示的,vcmd1200可以具有盒状壳体1202。具体地,壳体1202可以具有形成装置的侧面的多个侧壁,以及形成顶表面和底表面的壁。vcmd1200可以包含一组红外led,所述一组红外led被配置成通过壳体1202的侧壁中的每一个,并且在一些实施例中,通过所述壳体的顶表面和底表面来发射红外光。其它实施例可以具有不同的形状因数。在一些实施例中,vcmd1200可以用防水涂层处理。
vcmd1200可以包含一个或多个物理控件,如按钮、开关和其它控制装置。例如,vcmd1200可以包含音量控制按钮1212,所述音量控制按钮控制vcmd1200或已连接装置的扬声器音量。vcmd1200可以包含动作按钮1214、静音按钮或隐私按钮1216和其它按钮。在一些实施例中,vcmd1200可以包含显示器或其它组件。
vcmd1200可以包含一个或多个麦克风孔1218,所述一个或多个麦克风孔可以用于促进由定位于壳体1202内的一个或多个麦克风对环境声的检测。
vcmd1200可以包含光条组件1220。光条组件1220可以包含光学透明或彩色的细长组件1222,通过所述细长组件可以看到来自一个或多个led的光。光条组件1220可以定位于vcmd1200的前侧1230。在一些实施例(如所展示的实施例)中,光条组件1220可以是线性的或笔直的,并且可以沿壳体1202的边缘1232定位。细长组件1222因此可以附接到壳体1202或集成到所述壳体中,并且可以形成壳体1202的边缘。光条组件1220可以被配置成表明由vcmd1200检测到的声的位置。例如,如果vcmd1200的麦克风检测到来自vcmd1200的左侧的声或声音,则可以使vcmd1200的左侧上的一个或多个led发光,以便向用户表明从vcmd1200的左侧检测到声。光条组件1220可以动态地修改在检测到声或声音时发光的led,并且还可以用于在视觉上向用户传达信息。例如,在处理期间,光条组件1220可以具有特定的发光状态,在装置被静音时,光条组件1220可以具有不同的发光状态等。光条组件1220可以是笔直的或线性的光条组件,并且可以对用户可见。在一些实施例中,光条组件1220可以沿不同的边缘或表面定位于其它地方,并且可以相对于装置的壳体对角地或在另一朝向上定位。
图12展示了vcmd1200的后侧1240。vcmd1200的后侧1240可以包含一个或多个端口、输入、输出等。例如,后侧1240可以包含以太网端口、usb或微型usb输入1242、电源输入插孔1244、hdmi端口1246(被配置成输出高清视频和音频)、1248、外部红外光增强器(blaster)连接端口1248(例如,红外光传感器输入或输出插孔等)等。在一些实施例中,vcmd1200可以包含可充电电池。
vcmd1200的底表面1250可以由底壁1252形成,并且可以包含如橡胶垫脚、防滑材料等组件和支撑装置的其它组件。底壁1252可以包含扬声器孔1254,以促进从vcmd1200的一个或多个扬声器输出声。
图13示出了根据某些实施例的vcmd的另一视图。包含光条组件的内部组件组合件1340可以定位于壳体1300内部。第一红外led1350和第二红外led1360可以被配置成通过壳体1300的壁发射红外光。因此,通过透明细长组件1310可以看到侧面发光led发射的光。
麦克风电路板1341可以包含一个或多个麦克风。例如,八个麦克风可以定位在麦克风电路板1341的第二表面上。第一麦克风1370可以在第一方向上成角度。第二麦克风1372可以在第二方向上成角度。第三麦克风1374可以在第一方向上成角度,并且第四麦克风1376可以在第二方向上成角度。第五麦克风1378、第六麦克风1380、第七麦克风1382和第八麦克风1384可以在第三方向上成角度。所述一组麦克风可以以阵列或不同的布置来布置。所述一组麦克风可以用于检测声并且生成音频信号,并且还用于检测由任何麦克风捕获的声的位置。
上文参考图4-11所描述的过程中的一些或所有(或本文所描述的任何其它过程或其变型和/或组合)可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以通过硬件或其组合实施为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)。所述代码可以例如以计算机程序的形式存储在计算机可读存储介质上,所述计算机程序包括可由一个或多个处理器执行的多个指令。所述计算机可读存储介质可以是非暂时性的。
图14是根据本公开的一个或多个示例实施例的vcmd的示意性框图。vcmd1400可以包含任何合适的计算装置,包含但不限于服务器系统、如智能手机、平板电脑、电子阅读器、可穿戴装置等移动装置;台式计算机;膝上型计算机;内容流装置;机顶盒;扫描装置;条形码扫描棒;等。vcmd1400可以对应于图1-3的vcmd装置的说明性装置配置。
vcmd1400可以被配置成与一个或多个服务器、用户装置等进行通信。vcmd1400可以被配置成确定声音命令、确定唤醒词话语、确定和/或控制其它装置和其它操作。vcmd1400可以被配置成发射光、检测声、输出数字内容和其它功能。在一些实施例中,单个远程服务器或单个远程服务器组可以被配置成结合条形码扫描装置执行一种以上类型的功能。
vcmd1400可以被配置成通过一个或多个网络进行通信。一个或多个这种网络可以包含但不限于任何一种或多种不同类型的通信网络,例如有线网络、公用网络(例如,互联网)、专用网络(例如,帧中继网络)、无线网络、蜂窝网络、电话网络(例如,公用交换电话网络)或任何其它合适的专用或公用分组交换网络或电路交换网络。进一步,一个或多个这种网络可以具有与其相关联的任何合适的通信范围,并且可以包含例如全球网络(例如,互联网)、城域网(man)、广域网(wan)、局域网(lan)或个人局域网(pan)。另外,一个或多个这种网络可以包含通信链路和相关的联网装置(例如,链路层交换机、路由器等),用于通过任何合适类型的介质传输网络流量,所述介质包含但不限于同轴电缆、双绞线(例如,双绞铜线)、光纤、混合光纤同轴(hfc)介质、微波介质、射频通信介质、卫星通信介质或其任何组合。
在说明性配置中,vcmd1400可以包含一个或多个存储器装置1404(本文也称为存储器1404)、一个或多个输入/输出(i/o)接口1406、一个或多个网络接口1408、一个或多个传感器或传感器接口1410、一个或多个收发器1412、一个或多个可选的相机1414、一个或多个可选的麦克风1416和数据存储装置1420。vcmd1400可以进一步包含在功能上耦接vcmd1400的各个组件的一条或多条总线1418。vcmd1400可以进一步包含一个或多个天线1434,所述一个或多个天线可以包含但不限于:蜂窝天线,用于向蜂窝网络基础设施发射信号或从所述蜂窝网络基础设施接收信号;天线,用于向接入点(ap)发射wi-fi信号或从所述接入点接收wi-fi信号;全球导航卫星系统(gnss)天线,用于从gnss卫星接收gnss信号;蓝牙天线,用于发射或接收蓝牙信号;近场通信(nfc)天线,用于发射或接收nfc信号等。将在下文中更详细地描述这些各个组件。
一条或多条总线1418可以包含系统总线、存储器总线、地址总线或消息总线中的至少一个,并且可以允许在vcmd1400的各个组件之间交换信息(例如,数据(包含计算机可执行代码)、信令等)。一条或多条总线1418可以包含但不限于存储器总线或存储器控制器、外围总线、加速图形端口等。一条或多条总线1418可以与任何合适的总线架构相关联,所述总线架构包含但不限于工业标准架构(isa)、微通道架构(mca)、增强型isa(eisa)、视频电子标准协会(vesa)架构、加速图形端口(agp)架构,外围组件互连(pci)架构、pci-express架构、个人计算机存储卡国际协会(pcmcia)架构、通用串行总线(usb)架构等。
vcmd1400的存储器1404可以包含如随机存取存储器(ram)等易失性存储器(在被供电时维持其状态的存储器)和/或非易失性存储器(即使在不被供电时也维持其状态的存储器),如只读存储器(rom)、闪速存储器、铁电ram(fram)等。如本文所使用的,术语永久数据存储装置可以包含非易失性存储器。在某些示例实施例中,易失性存储器可以实现比非易失性存储器更快的读取/写入访问。然而,在某些其它示例实施例中,某些类型的非易失性存储器(例如,fram)可以实现比某些类型的易失性存储器更快的读取/写入访问。
在各种实施方案中,存储器1404可以包含多种不同类型的存储器,如各种类型的静态随机存取存储器(sram)、各种类型的动态随机存取存储器(dram)、各种类型的不可更改的rom和/或rom的可写入变体,如电可擦可编程只读存储器(eeprom)、闪速存储器等。存储器1404可以包含主存储器以及各种形式的高速缓存存储器,如一个或多个指令高速缓存、一个或多个数据高速缓存、一个或多个转换后备缓冲器(tlb)等。进一步,如数据高速缓存等高速缓存存储器可以是被组织为一个或多个高速缓存级(l1、l2等)的层次结构的多级高速缓存。
数据存储装置1420可以包含可移除存储装置和/或不可移除存储装置,包含但不限于磁存储装置、光盘存储装置和/或带存储装置。数据存储装置1420可以提供计算机可执行指令和其它数据的非易失性存储装置。如本文所使用的术语存储器1404和可移除和/或不可移除的数据存储装置1420是计算机可读存储介质(crsm)的实例。
数据存储装置1420可以存储计算机可执行代码、指令等,所述计算机可执行代码、指令可以被加载到存储器1404中并且可由一个或多个处理器1402执行,以使一个或多个处理器1402执行或启动各种操作。数据存储装置1420可以另外地存储可以在执行计算机可执行指令期间被复制到存储器1404以供一个或多个处理器1402使用的数据。此外,由于一个或多个处理器1402执行计算机可执行指令而生成的输出数据可以最初存储在存储器1404中,并且可以最终复制到数据存储装置1420中用于非易失性存储。
更具体地,数据存储装置1420可以存储一个或多个操作系统(o/s)1422;一个或多个数据库管理系统(dbms)1424;以及一个或多个程序模块、应用程序、引擎、计算机可执行代码、脚本等,例如,一个或多个声检测模块1426、一个或多个通信模块1428、一个或多个光条控制模块1430和/或一个或多个遥控模块1432。这些一个或多个模块中的一些或所有模块可以是一个或多个子模块。描绘为存储在数据存储装置1420中的组件中的任何组件可以包含软件、固件和/或硬件的任何组合。所述软件和/或固件可以包含可以被加载到存储器1404中以由一个或多个处理器1402中的一个或多个执行的计算机可执行代码、指令等。描绘为存储在数据存储装置1420中的组件中的任何组件可以支持参考本公开中先前命名的相应组件所描述的功能。
数据存储装置1420可以进一步存储vcmd1400的组件所利用的各种类型的数据。存储在数据存储装置1420中的任何数据可以被加载到存储器1404中,以供一个或多个处理器1402在执行计算机可执行代码时使用。另外,被描绘为存储在数据存储装置1420中的任何数据可以潜在地存储在一个或多个数据存储设备中,并且可以通过dbms1424访问并且加载在存储器1404中,以供一个或多个处理器1402在执行计算机可执行代码时使用。所述一个或多个数据存储设备可以包含但不限于数据库(例如,关系数据库、面向对象的数据库等)、文件系统、平面文件、其中数据存储在计算机网络的一个以上节点上的分布式数据存储设备、对等网络数据存储设备等。在图14中,一个或多个示例数据存储可以包含例如先前识别的产品的历史数据、购买或订购历史、用户简档信息和/或其它信息。
一个或多个处理器1402可以被配置成访问存储器1404并且执行其中加载的计算机可执行指令。例如,一个或多个处理器1402可以被配置成执行vcmd1400的各种程序模块、应用程序、引擎等的计算机可执行指令,以引起或促进根据本公开的一个或多个实施例执行各种操作。一个或多个处理器1402可以包含任何合适的处理单元,所述处理单元能够接受数据作为输入、根据所存储的计算机可执行指令处理输入数据并且生成输出数据的。一个或多个处理器1402可以包含任何类型的合适的处理单元,包含但不限于中央处理单元、微处理器、精简指令集计算机(risc)微处理器、复杂指令集计算机(cisc)微处理器、微控制器、专用集成电路(asic)、现场可编程门阵列(fpga)、片上系统(soc)、数字信号处理器(dsp)等。此外,一个或多个处理器1402可以具有任何合适的微体系结构设计,所述微体系结构设计包含任何数量的组成组件,例如寄存器、多路复用器、算术逻辑单元、用于控制对高速缓存存储器的读取/写入操作的高速缓存控制器、分支预测器等。一个或多个处理器1402的微体系结构设计可以能够支持多种指令集中的任何一种。
现在参考图14中所描绘的各种程序模块所支持的功能,一个或多个声检测模块1426可以包含计算机可执行指令、代码等,所述计算机可执行指令、代码响应于由一个或多个处理器1402中的一个或多个执行,可以执行包含但不限于检测声、确定声含义、生成音频信号和音频数据、确定声位置等功能。
一个或多个通信模块1428可以包含计算机可执行指令、代码等,所述计算机可执行指令、代码可以响应于由一个或多个处理器1402中的一个或多个执行而执行包含但不限于发送和/或接收包含内容的数据、发送和/或接收指令和命令等功能。一个或多个光条控制模块1430可以包含计算机可执行指令、代码等,所述计算机可执行指令、代码可以响应于由一个或多个处理器1402中的一个或多个执行而执行包含但不限于确定光条照明状态、确定点亮哪些led、使照明状态发生变化等功能。
一个或多个遥控模块1432可以包含计算机可执行指令、代码等,所述计算机可执行指令、代码可以响应于由一个或多个处理器1402中的一个或多个执行而执行包含但不限于控制其它电子装置、发送红外信号、发送或输出数字音频或视频信号等功能。
现在参考被描述为存储在数据存储装置1420中的其它说明性组件,o/s1422可以从数据存储装置1420加载到存储器1404中,并且可以提供在vcmd1400上执行的其它应用软件与vcmd1400的硬件资源之间的接口。更具体地,o/s1422可以包含一组计算机可执行指令,所述一组计算机可执行指令用于管理vcmd1400的硬件资源并且用于向其它应用程序提供公共服务(例如,管理各种应用程序之间的存储器分配)。在某些示例实施例中,o/s1422可以控制一个或多个其它程序模块的执行。o/s1422可以包含现在已知或将来可以开发的任何操作系统,包含但不限于任何服务器操作系统、任何大型机操作系统或任何其它专有或非专有操作系统。
dbms1424可以被加载到存储器1404中,并且可以支持用于访问、检索、存储和/或操纵存储在存储器1404中的数据和/或存储在数据存储装置1420中的数据的功能。dbms1424可以使用各种数据库模型(例如,关系模型、对象模型等)中的任何一种,并且可以支持各种查询语言中的任何一种。dbms1424可以访问以一个或多个数据模式表示并且存储在任何合适的数据储存库中的数据,所述数据储存库包含但不限于数据库(例如,关系数据库、面向对象数据库等)、文件系统、平面文件、其中数据存储在计算机网络的一个以上节点上的分布式数据存储设备、对等网络数据存储设备等。在vcmd1400是移动装置的那些示例实施例中,dbms1424可以是针对移动装置上的性能而优化的任何合适的轻量级dbms。
现在参考vcmd1400的其它说明性组件,一个或多个输入/输出(i/o)接口1406可以促进vcmd1400从一个或多个i/o装置接收输入信息以及从vcmd1400向一个或多个i/o装置输出信息。i/o装置可以包含各种组件中的任何一种,如具有触摸表面或触摸屏的显示器或显示屏;用于产生声的音频输出装置,如扬声器;音频捕获装置,如麦克风;图像和/或视频捕获装置,如相机;触觉单元;等。这些组件中的任一个均可以集成到vcmd1400中,或者可以是单独的。i/o装置可以进一步包含例如任何数量的外围装置,如数据存储装置、打印装置等。
一个或多个i/o接口1406还可以包含用于外部外围装置连接的接口,如通用串行总线(usb)、火线(firewire)、雷电接口(thunderbolt)、以太网端口或可以连接到一个或多个网络的其它连接协议。一个或多个i/o接口1406还可以包含到一个或多个天线1434中的一个或多个的连接,以通过无线局域网(wlan)(如wi-fi)无线电、蓝牙、zigbee和/或无线网络无线电(如能够与如长期演进(lte)网络、wimax网络、3g网络、zigbee网络等无线通信网络进行通信的无线电)连接到一个或多个网络。
vcmd1400可以进一步包含一个或多个网络接口1408,vcmd1400可以通过所述一个或多个网络接口与各种其它系统、平台、网络、装置等中的任一个进行通信。一个或多个网络接口1408可以通过一个或多个网络实现例如与一个或多个无线路由器、一个或多个主机服务器、一个或多个web服务器等进行通信。
一个或多个天线1434可以包含任何合适类型的天线,取决于例如用于通过一个或多个天线1434发射或接收信号的通信协议。合适的天线的非限制性实例可以包含定向天线、非定向天线、偶极天线、折叠偶极天线、贴片天线、多输入多输出(mimo)天线等。一个或多个天线1434可以通信地耦接到可以向其发射信号或从其接收信号的一个或多个收发器1412或无线电组件。
如先前所描述的,一个或多个天线1434可以包含蜂窝天线,所述蜂窝天线被配置成根据已建立的标准和协议来发射或接收信号,所述标准和协议如全球移动通信系统(gsm)、3g标准(例如,通用移动电信系统(umts)、宽带码分多址(w-cdma)、cdma2000等)、4g标准(例如,长期演进(lte)、wimax等)、直接卫星通信等。
一个或多个天线1434可以另外地或替代性地包含wi-fi天线,所述wi-fi天线被配置成根据已建立的标准和协议(如ieee802.11标准系列,包含通过2.4ghz信道(例如,802.11b、802.11g、802.11n)、5ghz信道(例如,802.11n、802.11ac)或60ghz信道(例如,802.11ad))发射或接收信号。在替代性示例实施例中,一个或多个天线1434可以被配置成在形成无线电频谱的未经许可部分的一部分的任何合适的频率范围内发射或接收射频信号。
一个或多个天线1434可以另外地或替代性地包含gnss天线,所述gnss天线被配置成从三个或更多个携带时间位置信息的gnss卫星接收gnss信号以从中对位置进行三角测量。这种gnss天线可以被配置成从任何当前或计划中的gnss接收gnss信号,例如全球定位系统(gps)、glonass系统、指南针导航系统、伽利略系统或印度区域导航系统。
一个或多个收发器1412可以包含任何一个或多个合适的无线电组件,所述无线电组件用于与一个或多个天线1434合作,在与vcmd1400用来与其它装置进行通信的通信协议相对应的带宽和/或信道中发射或接收射频(rf)信号。一个或多个收发器1412可以包含硬件、软件和/或固件,所述硬件、软件和/或固件用于根据上文所讨论的通信协议中的任一种来调制、发射或接收(可能与一个或多个天线1434中的任一个合作)通信信号,所述通信协议包含但不限于如由ieee802.11标准标准化的一个或多个wi-fi和/或wi-fi直接协议、一个或多个非wi-fi协议或者一个或多个蜂窝通信协议或标准。一个或多个收发器1412可以进一步包含用于接收gnss信号的硬件、固件或软件。一个或多个收发器1412可以包含适合于通过vcmd1400利用的通信协议进行通信的任何已知的接收器和基带。一个或多个收发器1412可以进一步包含低噪声放大器(lna)、另外的信号放大器、模数(aid)转换器、一个或多个缓冲器、数字基带等。
一个或多个传感器/一个或多个传感器接口1410可以包含任何合适类型的感测装置或可以能够与任何合适类型的感测装置(例如,惯性传感器、力传感器、热传感器、光电管等)接口连接。示例类型的惯性传感器可以包含加速度计(例如,基于mems的加速度计)、陀螺仪等。
一个或多个相机1414可以是被配置成捕获环境光或图像的任何装置。一个或多个麦克风1416可以是被配置成接收模拟声输入或声音数据的任何装置。
应当理解,图14中描绘为存储在数据存储装置1420中的一个或多个程序模块、应用程序、计算机可执行指令、代码等仅是说明性的,而不是穷举性的,并且被描述为由任何特定模块支持的处理可以替代性地跨多个模块分布或者由不同的模块执行。另外,可以提供各种程序模块、一个或多个脚本、一个或多个插件、一个或多个应用编程接口(api)或任何其它合适的本地托管在vcmd1400上和/或托管在可通过一个或多个网络访问的一个或多个其它计算装置上的计算机可执行代码,以支持由图14中所描绘的一个或多个程序模块、应用程序或计算机可执行代码提供的功能和/或另外的或替代性功能。此外,功能可以被不同地模块化,使得被描述为由图14中所描绘的一个或多个程序模块的集合共同支持的处理可以由更少或更多数量的模块来执行,或者被描述为由任何特定模块支持的功能可以至少部分地由另一个模块支持。另外,支持本文所描述的功能的一个或多个程序模块可以根据任何合适的计算模型(例如,客户端-服务器模型、对等模型等)形成可跨任何数量的系统或装置执行的一个或多个应用程序的一部分。另外,被描述为由图14中所描绘的一个或多个程序模块中的任何程序模块支持的功能中的任何功能可以至少部分地在跨任何数量的装置的硬件和/或固件中实施。
应当进一步理解,在不脱离本公开的范围的情况下,vcmd1400可以包含除所描述或描绘的那些组件之外的替代性和/或另外的硬件、软件或固件组件。更具体地,应当理解,被描绘为形成vcmd1400的一部分的软件、固件或硬件组件仅是说明性的,并且在各个实施例中,一些组件可能不存在或者可以提供另外的组件。虽然已经将各种说明性程序模块描绘和描述为存储在数据存储装置1420中的一个或多个软件模块,但是应当理解,被描述为由一个或多个程序模块支持的功能可以通过硬件、软件和/或固件的任何组合来实现。应当进一步理解,在各个实施例中,上文所提及的一个或多个模块中的每一个可以表示所支持功能的逻辑划分。为了易于解释功能起见描绘了这种逻辑划分,并且所述逻辑划分可能不代表用于实施功能的软件、硬件和/或固件的结构。因此,应当理解,在各个实施例中,被描述为由特定模块提供的功能可以至少部分地由一个或多个其它模块提供。此外,在某些实施例中,可能不存在一个或多个所描绘的模块,而在其它实施例中,可能存在未描绘的一个或多个另外的模块,并且所述一个或多个另外的模块可以支持所描述的功能和/或另外的功能的至少一部分。此外,虽然一个或多个特定模块可以被描绘和描述为另一个模块的一个或多个子模块,但是在某些实施例中,一个或多个这种模块可以被提供为一个或多个单独的模块或一个或多个其它模块的一个或多个子模块。
图1-7的方法、过程流程和用例的一个或多个操作可以由具有图14中所描绘的说明性配置的装置来执行,或者更具体地,由可在此装置上执行的一个或多个引擎、一个或多个程序模块、应用程序等来执行。然而,应当理解,可以结合许多其它装置配置来实施这种操作。
图15示出了根据某些实施例的能够进行tv-avr状态监测的vcmd1500。更具体地,vcmd1500被配置成采用在本文中称为次声频通道监测(scm)的进程。scm是可以由vcmd(例如,图3中所示的vcmd300)用来确定已连接tv-avr系统的状态的进程,例如,vcmd1500是否对焦在tv-avr系统1503上,以及tv-avr系统的音量是否被设置为可听见的水平。根据某些实施例,采用scm的vcmd可以使从tv-avr系统的一个或多个扬声器播放次声频探测信号,如听起来像白噪声的伪随机音频信号。vcmd然后可以使用一个或多个内部麦克风(例如,内部麦克风系统1513)来检测探测信号的次声频声特征。为了进一步展示可以采用scm的vcmd系统,图15示出了vcmd1500,为了清楚起见,仅示出了scm相关的系统块,并且移除了所有其它系统块。上文参考图3描述了完整vcmd的实例。
根据某些实施例,scm模块1519可以是装置控制器1525的一部分。scm模块1519是上文参考图3首先介绍的状态监测器319的一个实施例。双模式控制器1521和装置控制器1525均可以连接到语音交互管理器(未示出)并且最终连接到声音识别服务(未示出),并且在上文参考图3-11进行了更详细的描述。vcmd1500包含av端口1501,所述av端口可以例如通过如hdmi电缆等电互连1523连接到tv-avr系统1503的av端口1529。vcmd1500进一步包含内部麦克风系统1513,所述内部麦克风系统可以例如以上文参考图3所描述的方式检测vcmd附近的环境声。
在一些实施例中,在scm模块1519上运行的scm进程可以自动地例如每秒几次地重复和/或同步地监测tv-avr系统的状态。在一些实施例中,scm进程可以异步操作,例如,scm进程可以由发送到scm模块1519的命令启动。例如,响应于vcmd1500对唤醒词的检测,双模式控制器1521可以向smc模块1519发送命令以启动scm进程。无论同步操作还是异步操作,当scm模块1519通过电互连1523生成并发射scm探测信号时,scm都会开始。
探测信号可以是例如通过hdmi连接发射的电信号、通过无线连接发送的无线信号或使用任何有线或无线连接发送的任何其它合适的信号。在一个实例中,scm模块1519可以将探测信号生成为音频数据,例如未压缩的pcm音频,并且可以使用数字音频数据传输协议(例如,hdmi规范中包含的那些协议)通过任何可用的音频通道来传输音频数据。在已知用于音频扬声器的当前输出编码的情况下,scm模块可以生成适当编码的音频信号(例如,杜比编码的音频等),而不是使用pcm音频。
探测信号可以包含将由tv-avr扬声器1533输出的预定波形。例如,探测信号可以包含伪随机音频信号,对于用户,当从tv-avr扬声器1533播放时,所述伪随机音频信号听起来像白噪声。根据某些实施例,探测信号可以包含伪随机位序列,如最大长度序列(mls)等。
内部麦克风系统1513可以检测房间中的环境声并且生成被提供回scm模块1519的相应的麦克风信号。如下文参考图16进一步详细描述的,scm模块1519可以处理相应的麦克风信号以确定预定波形是否在房间的环境声中以某种可检测的水平存在。如果是,则scm模块1519可以向双模式控制器1521通知tv-avr状态,例如,tv_state=打开或tv_state=关闭。另外,scm模块1519可以将tv-avr作为描述tv-avr系统的各个组件的一种或多种状态的整体tv-avrsystem_context的一部分存储在存储器中。
在图15中,示出了tv-avr系统的广义形式,所述tv-avr系统包含至少一个av端口1529、扬声器控制器1532和tv-avr扬声器1533。与av端口1501一样,av端口1529可以是与任何类型的音频或多媒体互连相关联的任何端口,例如,光学音频、hdmi、dvi、显示端口、vga等。扬声器控制器1532包含电路和软件,所述电路和软件用于获取在av端口1529处接收到的信号并且使输出音频1535由tv-avr扬声器1533播放。虽然在图15中,将tv-avr系统1503示出为简化框图以避免复杂化,但是如上文参考图3已经指出的,tv-avr系统可以采取任何形式。例如,vcmd1500可以直接连接到仅具有内部扬声器的tv、连接到外部扬声器或声吧的tv,或者可以通过本身连接到一个或多个外部扬声器的avr间接连接到tv。如此,在不脱离本公开的范围的情况下,任何tv-avr拓扑都是可能的。
图16示出了根据一个或多个实施例的scm模块1600的说明性实例,例如,scm模块1600示出了scm模块(例如,上文参考图15所描述的scm模块1519)的另外的内部细节。scm模块1600包含信号检测器1601、回放控制器1603和回放子系统1605。如上文参考图15所描述的,scm模块1600可以连接到tv-avr扬声器1607,使得所述scm模块使探测信号声1635从tv-avr扬声器1607输出。根据某些实施例,可以将用于生成探测信号声1635的预定探测信号音频数据存储在位于scm模块1600的子组件中的任何子组件内或可操作地连接到所述子组件的非暂时性计算机可读存储器中,或者甚至可以存储在位于scm模块1600外部的存储器中。替代性地,为了减小存储器大小,每次触发smc进程时,均可以重新生成探测信号音频。
麦克风系统1609可以检测包含环境室内噪声的麦克风信号,并且取决于tv-avr系统的状态,麦克风信号可以或可以不包含探测信号声1635的可检测水平。信号检测器1601可以包含能够进行广义计算的一个或多个处理器,所述一个或多个处理器包含具有或不具有向量指令集的中央处理单元、一个或多个数字信号处理器(dsp)、一个或多个arm芯片或图形处理单元gpu等,其被编程为使用原始探测信号和检测到的麦克风信号执行互相关测量进程。图14提供了可以用于scm模块1600的一个或多个系统组件的硬件的另外的描述。信号检测器1601的硬件被编程为对麦克风信号执行信号处理,以确定麦克风信号内的探测信号的功率电平,如下文参考图17进一步详细描述的。基于所确定的功率电平,信号检测器1601可以输出tv-avr状态的指示,以由其它系统块使用,例如,由双模式控制器或由如上文参考图15所描述的装置控制器使用。
在一些实施例中,如下文参考图18进一步详细描述的,scm模块1600可以在反馈回路内操作,以控制探测信号的音量,从而提高准确的tv-avr状态检测的可能性,同时还确保探测信号的音量保持在可听见的水平以下,以避免不愉快的用户体验。
在反馈回路的一个实例中,可能出现的情况是,如果信号检测器1601在麦克风信号内未检测到探测信号的存在,则可能是由于两种可能的情况造成的:1)tv-avr系统处于电源关闭状态(或更普遍地处于“未对焦状态”);或2)tv处于电源打开状态,但探测信号的音量太低而无法检测到。在情况2)中,信号检测器1601可以向回放控制器1603发送尚未检测到探测信号的指示。作为响应,回放控制器1603可以向回放子系统发送命令以在探测信号被输出到tv-avr系统之前增加探测信号的增益。
为了确保适当地校准scm模块1600所采用的增益因子以对应于从tv-avr扬声器1607输出的已知声水平,在设置期间,作为设置过程的一部分,vcmd可以自动执行(或指导用户执行)音量校准程序。音量校准过程可以为tv-avr系统音量的各种值测量探测音量。为了完全表征所述系统并且因此知道相对于不同tv音量水平和不同增益因子的输出探测声水平,vcmd可以在设置期间执行校准程序,所述校准程序可以针对增益因子/探测水平的各种值对如图17所示的曲线进行采样。更具体地,图17示出了使用具有低于满量程34.5db(-34.5dbfs)水平的白噪声探头(使用通常可用的消费者电视)测量作为tv音量(0-100%)的函数的tv扬声器声压水平(spl)的测试结果。
在一些实施例中,不需要对完整的校准曲线进行采样,而是可以将最大增益阈值存储在回放控制器1603可访问的存储器中,使得探测信号的音量将不超过高于用户感知的阈值的分贝水平。安静家庭中的噪声水平大约为40dbspl,并且典型的会议室中的噪声水平大约为50dbspl。此外,如果点源声压水平比房间噪声水平低大约20db或更高(即,在典型住宅的安静房间中人检测的阈值为大约20dbspl),则距离1m处的人可以检测到白噪声的点源。因此,对于图17中测量的系统,在大约12%的tv音量设置下,探测信号(具有-34.5dbfs的增益)可以变得可检测(可听见)。因此,应使用远低于-35.5dbfs的探头增益水平,以避免由距扬声器1m处的用户检测到。另外的测试已经表明,-90dbfs的探头增益导致在100%tv音量下测得的探测水平为约27dbspl。因此,如果假设用户将仅使用音量设置的低端的音量水平,则可以使用-90dbfs的探头增益。例如,在产生图17所示数据的测试中,tv的放大倍数在20%的音量下降低了大约45db。在这个水平上,全音量下处于27dbspl的探测信号现在被降低到-18dbspl。然而,为了确保在所有音量水平下都听不见探测信号,可以使用小于-90dbfs的探头增益。scm模块的另外的实证研究表明,即使使用在约40dbspl表现出自噪声的麦克风,也可以使用低至-18dbspl的探测声水平来检测探测信号。因此,根据某些实施例,可以将探测信号的最大增益阈值设置为在普通tv型号的最大tv音量范围内产生高于约-18dbspl但不超过20dbspl的探测水平(如在距源tv扬声器1m处测量的)。在一些实施例中,可以设置最大增益阈值以确保探测水平小于或等于15dbspl。
图18是概念性地展示根据本公开的实例的用于scm的进程的流程图。例如,如vcmd300等vcmd可以采用状态监测器319,所述状态监测器可以包含如scm模块1519和1600等一个或多个scm模块,如上文参考图15-16所描述的。
在步骤1810中,vcmd可以生成电信号,所述电信号具有低于用户进行的可听见检测的增益阈值的第一增益水平。在一些实施例中,电信号可以包含预定波形,如伪随机数序列等。例如,回放控制器1603可以生成与mls相对应的pcm音频。在一些实施例中,探测信号可以是宽带信号、较高频率(例如,12-24khz)下的频带限制信号、低频率(例如,0-100hz)下的频带限制信号或具有加权的频率响应的宽带信号。在一些实施例中,当从扬声器输出时,探测信号可以是类似于白噪声的任何信号或预定波形。
在步骤1820中,电信号例如通过hdmi连接被发射到可操作地耦接到tv-avr系统的显示器的一个或多个扬声器。根据某些实施例,响应于接收到电信号,一个或多个扬声器可以发射与电信号的预定波形(例如,mls)相对应的音频信号。在一些实施例中,探测信号可以用于从扬声器生成探测音频信号,所述探测音频信号可以是类似白噪声的声。
在步骤1830中,麦克风检测音频信号,所述音频信号包含环境噪声和探测音频信号的组合。环境噪声可以包含来自vcmd本地环境(例如,vcmd所在的房间)的任何背景噪声。由vcmd的内部麦克风检测到的音频信号在本文中还被称为麦克风信号。为了简洁起见,在本说明书中,本地环境被称为房间,但可以是任何本地环境。如上文参考图16所描述的,检测到的音频信号是电信号,所述电信号可以由信号检测器(例如,如上文参考图16所描述的scm模块1600的信号检测器1601)进一步处理。
尽管可以在不脱离本公开的范围的情况下以任何方式计算互相关,但图18示出了在频域中计算互相关的一个实例。因此,在步骤1840中,计算经过傅里叶变换的电信号,并且在步骤1850中,计算经过傅里叶变换的音频信号。如受益于本公开的本领域的普通技术人员将理解的,电信号的傅里叶变换不需要实时计算,并且可以在scm进程之前计算并存储在存储器中,在这种情况下,可以省略步骤1840。
在步骤1860中,信号检测器计算电信号与音频信号的互相关。如上文所述,虽然此实例在频域中计算互相关,但还可以根据下式在时域中直接计算互相关
其中m是音频信号,x是电信号,t是样本中互相关的长度,t是接收到的音频信号的索引,例如最近的样本的索引。图20a-20b示出了直接互相关计算的结果。如图20a所展示的,互相关中的峰值2001是可见的,这表明探测音频信号原则上可以在音频信号内被检测到,但还存在基本上周期性的高振幅干扰信号2003。如果干扰信号2003的振幅太大,则干扰信号的振幅可以容易地超过探测峰值的振幅,从而使得难以利用简单的峰值检测过程来检测探测音频信号的存在。
在一些实施例中,探测信号可以被设计成允许消除互相关中的干扰噪声信号。例如,在一些实施例中,可以选择伪随机探测信号以在某个范围内具有平坦的频率响应。然后,噪声抑制方法可以利用这样的知识,即落在预期范围之外的任何时频点(time-frequencybins)都可能是由干扰源引起的。降低噪声的一种方法是在频域中应用相位变换。相位变换m′是在保留相位信息的同时对每个时频点的能量进行归一化的变换,并且可以如下计算
其中m(t,f)是在时间t和频率f下音频信号的复杂的短时傅里叶变换(stft)。在这种情况下,经过相位变换的互相关信号可以如下计算
其中
在一些实施例中,经过相位变换的信号可以比在时域中计算的裸互相关(barecross-correlation)更好地执行。例如,图20的底部图示出了样本数据上的经过相位变换的互相关。如在数据中清楚地看出的,干扰噪声信号被移除,从而导致根据某些实施例的信号检测器的信号检测能力提高。
在一些实施例中,除了对音频信号应用相位变换之外或者作为对音频信号应用相位变换的替代,信号检测器还可以补偿由于源自房间内的局部声学条件的反射和其它效应引起的探测信号的失真。例如,可以通过房间脉冲响应(rir)函数h对房间效应进行建模,使得接收到的音频信号m可以通过与h的卷积来如下计算
其中m0是在假设没有房间引起的失真时经过时域校正的音频信号。因此,在频域中,等式(4)的卷积可以采取如下乘法的形式
m(k)=h·m0(k)(5)
其中,m(k)是音频信号m(t)的傅里叶变换(例如,stft),m0(k)是未失真的音频信号的傅里叶变换(例如,stft),并且h是对角矩阵,其中对角是h的频域表示。在一些实施例中,信号检测器可以将反rir函数应用于测得的音频信号以近似未失真的音频信号m0(k),本文还称为经过频域校正的音频信号:
m0(k)=h-1·m(k)(6)
因此,为了确定改进的互相关,可以使用对理想化的音频信号的近似来代替测得的音频信号。替代性地,为了利用上文参考等式(3)所描述的经过相位变换的数据,在一些实施例中,将rir考虑在内的经过校正的互相关信号可以通过如下将匹配滤波器应用于经过相位变换的信号的互相关来计算
在又另一实例中,经过时域校正的音频信号m0(t)可以通过计算等式(6)的傅里叶逆变换来生成。此经过时域校正的音频信号然后可以用于通过应用等式(1)(即通过采用经过时域校正的音频信号m0(t)与电信号x(t)的互相关)来生成互相关信号。
图21a是根据本发明的实施例的电信号与经过相位变换的音频信号的互相关的曲线图。图21b是根据本发明的实施例的使用匹配滤波器的经过相位变换的音频信号的互相关的曲线图。如其中探测峰值2101可见的图21b所展示的,将经过相位变换的音频信号与rir函数互相关导致信噪比以及因此敏感度大大增加。相比之下,探测峰值在图21a中不可见,图21a呈现了不包含环境噪声的影响和/或室内环境的影响、扬声器和麦克风传递函数等的数据。
在一些实施例中,可以是rir的长度比所应用的任何stft的窗口长的情况,在这种情况下,可以如下应用重叠相加方法
在步骤1870中,可以通过利用峰值检测器结合互相关信号y来确定探测信号的功率电平。在一些实施例中,峰值检测器可以如下找到互相关的最大值
在一些实施例中,例如,对于非常低水平的探测信号,可以采用多种不同的技术来提高峰值检测器的检测效率。例如,在一些情况下,为了避免用户检测到探测信号,可以将探测信号的水平设置为低至-90dbfs。在这样的低水平(-90dbfs对应于带符号的16位整数的最后一位)下,可能很难使用上文参考等式(1)-(8)所讨论的处理来识别ymax。为了克服这个问题,可以采用几种不同的技术。例如,可以为互相关计算选择较长的相关时间(较大的t)。替代性地,或者除了较长的相关时间之外,可以采用一个或多个无限脉冲响应(iir)或有限脉冲响应(fir)滤波器。例如,可以通过如下的几次迭代来过滤互相关
其中ai是滤波器的系数。根据其它实施例,可以通过应用以下形式的递归积分器来保持互相关的运行值
其中y(t)是在第i次迭代中测量的互相关的值,
返回到图18,在步骤1870中,确定tv-avr系统显示器的状态。在一些实施例中,系统可以确定tv-avr显示器电源状态(打开/关闭)、av通道等待时间和/或tv-avr系统音量。关于tv-avr显示器电源状态,可以将检测到的峰值的最大值ymax与检测阈值功率电平进行比较。检测阈值功率电平是用户听不见的探测音频信号的功率电平。在一些实施例中,可以通过测试互相关峰值的归一化值是否等于或超过检测阈值功率电平α.来实施状态检测器。例如,信号检测器可以实施以下状态检测器(sd)
其中
并且互相关信号的平均值由下式给出
探测音频信号包含对于确定av通道等待时间以及tv-avr音量有用的信息。例如,定义为电信号与从扬声器输出的探测音频信号之间的时移的av通道等待时间l可以根据互相关信号y计算如下
l=argmaxiy(i)(15)
在一些实施例中,采用比av通道的平均等待时间短的探测信号可能是有利的。例如,在48khz处长度为1024个样本的探测序列的回放持续时间为0.02秒,但hdmi上的常见等待时间值可以在0.1秒到0.2秒之间变化。在等待时间比探测信号的回放持续时间长的这种情况下,则可以使用多种方法来识别哪个检测到的音频信号对应于适当的探测信号(也称为“展开(unwrapping)”)。一种方法包含播放同一探测信号的几个时移版本,在这种情况下,互相关峰值之间的时间差可以用于确定展开。
对于还在步骤1870中估算tv-avr系统音量的情况,一个或多个实施例可以利用可以在设置期间完成的初始音量校准,如上文参考步骤1860所描述的。根据以下关系,互相关的最大值ymax取决于tv-avr的音量水平v,
因此,tv-avr系统的相对音量水平(0-100%)可以使用下式根据互相关的最大值计算:
其中vref是设置过程期间确定的参考增益。通常,tv-avr音量与探测信号音量之间的映射可能不是线性的(例如,如图17所示),因此等式(17)中所示的线性关系可能不应用于所有情况。然而,在设置过程期间,可以确定从探测音量到tv-avr音量的完整映射,将其存储在存储器中,并且如果有必要的话,则代替等式(17)使用。
图19示出了概念性地展示了根据本公开的实例的用于跟踪和控制探测音量水平的过程的流程图。更具体地,根据某些实施例,系统可以平衡以下目标:保持探测信号足够大声使得所述探测信号可由信号检测器检测到,但足够安静使得所述探测信号是次声频的,即,所述探测信号不能被用户听到。在下文所描述的方法中,通过将探头的增益gprobe限制为某个值gmax来限制探测信号的最大水平,其中gmax被设置为确保探测信号可由信号检测器检测到,但对用户仍然是次声频的。如果系统检测到探头已经在如由超时计时器测量的某个预定持续时间(在本文中称为“超时时间”)内处于其最大增益水平,并且系统仍然未检测到探测信号的存在,则信号检测器将确定tv-avr系统处于关闭状态,并且至少暂时终止scm。下文描述了所述方法的另外的细节。
步骤1910-1914分别对应于图18的步骤1810-1830。同样地,步骤1916对应于步骤1840-1870,并且导致由信号检测器计算探测功率电平p,如上文参考图18所描述的。这里将不重现这些步骤的细节,只是应注意,在此实例中,探测信号的增益gprobe最初被设置为下限ginit,并且然后迭代地增加,直到检测到探头或与处于gmax的探测信号相关联的时间超过超时值。在一个实例中,系统可以在过程中的任何点(例如,与步骤1910-1920中的任一个同时)启动计时器。
在步骤1920中,将探测功率电平p(也称为上文参考等式(13)的ind(t))与scm检测阈值功率α进行比较。如果p大于或等于α,则信号检测器认为探头被检测到并且相应地更新tv-avr状态。例如,scm模块可以将二进制tv-avr状态参数设置为“打开”等。在其它实施例中,scm模块还可以存储p的值,以便还跟踪tv-avr系统的音量水平,如上文参考图18所描述的。如果p小于检测阈值α,则所述方法继续进行到步骤1924。
在步骤1924中,确定探测信号的增益gprobe是否已经达到最大增益gmax。如果gprobe等于gmax,则所述方法继续进行到步骤1930。如果探测信号尚未达到gmax,则所述方法继续进行到步骤1928,其中探测信号的增益增加。例如,增益可以增加某个预定增量。如受益于本公开的本领域的普通技术人员将理解的,取决于tv-avr系统的性质,可以将gmax设置为多个不同的值。例如,对于一些具有非常高的放大器增益的高端音频系统,可以将gmax设置为-90dbfs、-96dbfs或甚至-140dbfs。在一些实施例中,可以将gmax设置为期望的任何值,以确保探测信号功率电平永远不达到可听见的水平(即,用户可检测到的水平),如上文参考图17所描述的。
在一些实施例中,步骤1928不仅可以增加增益,还可以实施增益控制回路,所述增益控制回路可以基于探测功率电平的测量值来增加和减少增益。在这种情况下,增益的改变可以取决于测量探测功率是否落入一个或多个范围内,其中所述范围由一个或多个探测功率阈值来描绘。例如,可以根据以下取决于互相关中的归一化峰值的多阈值更新程序来更新增益
如本领域的普通技术人员可以理解的,在不脱离本公开的范围的情况下,可以采用任何类型的更新程序。另外,图19中阐述的程序可以使用任何类型的控制器(例如,使用pi控制器、pid控制器、任何类型的模糊逻辑型控制器等)来实施。
一旦gprobe等于gmax,则在1930处确定系统是否已经处于其最大探测信号增益设置gmax超过超时时间ttimeout。如果系统已经达到gmax并且已经通过ttimeout,则在步骤1932中,信号检测器可以将tv-avr状态参数设置为“关闭”,并且然后终止当前的scm进程回路。在一些实施例中,因为探测信号是听不见的,所以不需要终止scm回路,并且探测信号可以连续播放,而没有被用户检测到的风险。在这种情况下,在通过超时时间之后,信号检测器可以将tv-avr状态参数设置为“关闭”,并且探测信号将继续输出。
在一些实施例中,步骤1928可以伴随有进程或被所述进程代替,通过所述进程来增加在其上计算互相关的积分时间(t)。例如,在一个实施例中,如果g已经达到gmax并且信号检测器仍然未检测到足够大的峰值,则可以增加用于计算互相关的积分时间,以试图增加信噪比。在这种情况下,也可以修改超时时间,以确保将其设置为大于新增加的积分时间的时间。
图22示出了根据某些实施例的能够进行tv-avr状态检测和监测的vcmd2200。更具体地,vcmd2200被配置成采用在本文中称为基于hdmi原语的状态检测(pbsd)的进程。pbsd是可以由vcmd(例如,图3中所示的vcmd300)用来确定已连接tv-avr系统的状态的进程,例如,vcmd2200是否对焦在tv-avr系统2203上,以及tv-avr系统的音量是否被设置为可听见的水平。根据某些实施例,采用pbsd的vcmd可以测量来自vcmd2200的hdmi端口2201的一个或多个hdmi原语信号(在本文中称为“hdmi原语”),并且然后确定tv-avr系统2203的状态。为了进一步展示可以采用pbsd的vcmd系统,图22示出了具有hdmi状态检测子系统2202的vcmd2200,为了清楚起见,移除了vcmd的所有其它元件。
pbsd子系统2202包含可操作地连接到双模式控制器2221和装置控制器2225的hdmi状态检测模块2219。双模式控制器2221和装置控制器2225均可以连接到语音交互管理器(未示出)并且最终连接到声音识别服务(未示出),并且在上文参考图3-11进行了更详细的描述。pbsd子系统2202进一步包含hdmi端口2201,所述hdmi端口可以例如通过电互连2223(如hdmi电缆等)连接到tv-avr系统2203的hdmi端口2229。在图22所示的实例中,tv-avr系统2203包含avr2204和tv2206。tv2206包含hdmi端口2208、显示器2210和tv扬声器2212。avr2204可操作地连接到tv2206,使得就hdmi拓扑而言,vcmd2200充当源,avr2204充当中继器,并且tv2206充当宿(sink)。avr2204还连接到用于为从vcmd2200供应的内容提供高质量声的一个或多个外部扬声器2214。
在一些实施例中,在hdmi状态检测模块2219上运行的pbsd进程可以自动地例如每秒几次地重复和/或同步地监测tv-avr系统2203的状态。在一些实施例中,pbsd进程可以异步操作,例如,pbsd进程可以由发送到hdmi状态检测模块2219的命令启动。例如,响应于vcmd2200对唤醒词的检测,双模式控制器2221可以向hdmi状态检测模块2219发送命令以启动pbsd进程。无论同步操作还是异步操作,当hdmi状态检测模块从hdmi端口2201读入与tv-avr系统2203相关联的一个或多个hdmi原语时,pbsd进程开始。
如下文参考图23-26进一步详细描述的,hdmi检测模块2219可以运行基于所述hdmi原语中的一个或多个的值来确定tv-avr状态的pbsd进程。
在图22中,示出了tv-avr系统的广义形式,但如上文参考图3和15已经指出的,在不脱离本公开的范围的情况下,tv-avr系统可以采取任何形式。
如下文进一步详细描述的,hdmi状态检测模块可以读入与几个原语相关联的值和/或数据。示例原语包含热插拔检测原语(hpd)、高带宽数字内容保护原语(hdcp)、扩展显示识别数据原语(edid)和is_repeater原语(ir)。
hdp原语被设计成指示是否通过hdmi电缆连接另一个装置。在一些实施例中,通过施加到hdmi端口的引脚的电压值来传达hpd。如果hpd引脚上的电压值高,则表明另一个装置连接到hdmi电缆。在一些情况下,施加到hpd引脚的精确电压值可以表明已连接装置的电源状态,但这并不是对所有制造商都普遍适用。
edid描述宿装置的媒体能力。例如,如果宿装置是tv,则如图22所示,edid将描述tv和tv的媒体能力(如果tv打开的话)。例如,edid可以包含制造商名称和序列号、产品类型、磷光体或滤波器类型、显示器支持的定时、显示器大小、亮度数据和(仅用于数字显示器的)像素映射数据。在一些avr用作中继器的拓扑中,如图22所示的那样,如果tv关闭,则edid有时可以描述avr和avr的媒体能力。然而,在其它情况下,当一个或多个已连接装置处于关闭状态时,edid可能变得不可用。
edid还可以携带由vcmd2200使用的物理地址信息。物理地址揭示装置在hdmi拓扑树中的位置。如图22所示,在涉及avr2204和tv2206的复杂拓扑中,物理地址的改变可以表明tv2206的电源状态的改变。例如,从1.1.0.0到1.0.0.0的地址改变可以意味着vcmd2200的位置已经从级别2提升到级别1,并且avr2204成为宿装置。例如,当tv的电源状态切换到关闭时,就会发生这种情况。类似地,从1.0.0.0到1.1.0.0的改变可以表示相反的情况,其中tv2206从关闭切换到打开,并且因此再次成为宿装置。
hdcp被设计成向已连接内容源表明是否存在用于要传输到一个或多个宿装置(例如,电视机)的数字版权管理(drm)媒体内容的安全媒体路径。在hdcp方案下,为了保护drm内容,在内容可以在宿装置上播放之前,所述装置必须对源进行认证。一旦经过认证,经加密内容就可以通过hdmi电缆发送,并且可以在宿处解密。为了确定加密方法,宿需要知道源正在使用的hdcp的版本。因此,通过hdmi连接传输的hdmi数据包含标识正在使用的hdcp的版本的hdcp数据元素(在本文中称为hdcp_version)。另外,通过hdmi连接传输的hdmi数据包含标识宿是否已经被认证的另一个hdcp数据元素(在本文中称为hdcp_auth)。在一些实施方案中,hdcp_auth可以采用二进制值,例如,如果宿被认证,则设置为真(true),并且如果宿未被认证,则设置为假(false)。在一些情况下,hdcp_version数据可以包含表示正在使用的hdcp协议版本的字符串。因此,hdcp_version的空(null)值表明源与宿装置之间缺少安全媒体路径。在大多数情况下,hdcp_auth和hdcp_version一起改变,但是即使在关闭宿装置之后,一些视听设备也可以将hdcp_auth的值设置为真。在这种情况下,hdcp_version将通常切换到空。如此,即使hdcp_auth值仍然为真,hdcp_version从非空到空的切换也表明宿切换为关闭。
在包含avr(如图22中所示的avr)的拓扑中,ir的值可以表明avr2204是否正在将信号转发到tv2206。如果否,则表明tv2206断开连接或处于关闭状态。与物理地址的改变相组合,ir对于确定复杂拓扑中的tv状态可以特别有用。
图23展示了根据某些实施例的pbsd的一个实例。更具体地,图23所展示的方法依赖于根据某些实施例的组合的原语散列。在这项技术中,在vcmd的设置程序期间,收集原语hpd、hdcp、edid和is_repeater的值,同时通过各种状态引导用户的tv-avr系统的组件。例如,在如图22所示的包含avr2204和tv2206的tv-avr系统中,tv-avr系统的16种可能状态包含tv电源状态(打开/关闭)、tv输入状态(vcmd端口活跃/非vcmd端口活跃)、avr电源状态(打开/关闭)与avr输入状态(vcmd端口活跃/非vcmd端口活跃)之间的所有组合。对于tv-avr系统的16种可能状态中的每种状态,将原语值进行组合,并且然后进行散列。根据某些实施例,可以通过使用增量散列函数或本领域中已知的任何其它合适的散列技术,首先将原语值连接并且通过加密强散列运行连接的结果来实现散列。
理想地,16个单独的经过组合的原语的值将导致唯一的散列值,并且因此散列值将唯一地标识tv-avr系统的状态。在一些实例中,情况可能并非如此,因此一个或多个实施例可以采用除技术之外的其它状态检测技术/逻辑,但是即使情况如此,测试揭示仍可以以高置信度报告tv关闭状态。
图23示出了根据某些实施例的pbsd进程。所述进程依赖于一个或多个组合的散列值以确定tv-avr状态,如下文所描述的。所述进程可以在vcmd上运行以确定显示器连接的tv-avr系统的状态。例如,参考图22,图23的pbsd进程可以在hdmi状态检测模块2219上运行。根据某些实施例,hdmi状态检测模块可以包含hdmiic或可以包含一个或多个处理器和计算机存储器的hdmi片上系统(soc)。pbsd进程可以以与如上文所描述的scm类似的方式如上文所描述地同步运行或异步运行。
在步骤2310中,hdmi状态检测模块2219可以从连接到tv-avr系统2203的hdmi端口获取一组原语值。根据某些实施例,所述一组原语可以是来自如hpd、hdcp、edid和ir等原语的值。
在步骤2330中,将单个散列值与在vcmd的初始设置程序期间获取并且存储在存储器中的一组特性散列值进行比较。
在步骤2340中,hdmi状态检测模块2219确定单个散列值是否映射到包含tv-avr打开状态的任何存储的tv-avr状态。如果是,则所述方法继续进行到步骤2350。如果否,则所述方法继续进行到步骤2350,并且报告tv-avr系统处于关闭状态。然后,pbsd进程终止,直到下一次调用所述进程运行以更新tv-avr系统状态。
在步骤2350中,hdmi状态检测模块2219确定tv-avr打开状态是否是通过将单个散列值与所存储的特性散列值进行匹配而获得的所述一组tv-avr状态中表示的唯一状态。如果否,则pbsd进程终止,直到下一次调用所述进程运行以更新tv-avr系统状态。如果是,则所述方法报告tv-avr系统处于打开状态,并且然后终止,直到下一次调用所述进程运行以更新tv-avr系统状态。
图24示出了根据某些实施例的pbsd进程。所述进程依赖于使用hdp、hdcp_auth和hdcp_version检测tv-avr状态。所述进程可以定期地监测hpd和hdcp,并且当检测到这些原语中的任一个原语的变化时启动对tv-avr状态的更新。
因此,所述方法开始于步骤2410,hdmi状态检测模块2219检测到hpd或hdcp的值最近已经改变。
在步骤2420中,hdmi状态检测模块2219确定hpd是否处于高状态或hdcp_auth是否处于高状态。如果两者都不处于高状态,则所述方法继续进行到步骤2430,并且报告tv-avr系统处于关闭状态。然后所述方法终止,直到下一次检测到hdp或hdcp的变化。如果hpd为高或hdcp_auth为高,则所述方法继续进行到步骤2440。
在步骤2440中,hdmi状态检测模块2219检测hdcp_version是否不为null。如果hdcp_version为null,则所述方法继续进行到步骤2450,并且报告tv-avr系统处于关闭状态。然后所述方法终止,直到下一次检测到hdp或hdcp的变化。如果hdcp_version不为null,则所述方法终止,保持先前的tv-avr系统状态。如前所述,如果检测到hdp或hdcp的变化,则所述方法然后可以在稍后的时间再次运行。
在图1-24的说明性方法和过程流程中描述和描绘的操作可以按照本公开的各个示例实施例中所期望的任何合适的顺序来实施或执行。另外,在某些示例实施例中,可以并行地实施所述操作中的至少一部分操作。此外,在某些示例实施例中,可以执行少于、多于或不同于图1-24中所描绘的操作的操作。
因此,应当从说明性而非限制性意义上看待说明书和附图。然而,显而易见的是,在不脱离权利要求中所阐述的本公开的更广泛的精神和范围的情况下,可以对其进行各种修改和改变。
其它变型处于本公开的精神内。因此,尽管所公开的技术易于进行各种修改和替代构造,但是其某些示出的实施例在附图中示出并且已经在上文中进行了详细描述。然而,应该理解的是,并非旨在将本公开限制于所公开的一种或多种特定形式,而是相反,其目的在于涵盖落在如所附权利要求限定的本公开的精神和范围内的所有修改、替代构造和等同物。
除非本文中另有指示或与上下文明显相悖,否则在描述所公开的实施例的上下文中(特别是在以下权利要求的上下文中)使用的术语“一个(a)”和“一种(an)”和“所述(the)”以及类似的指代词应被解释为涵盖单数和复数。除非另外指出,否则术语“包括”、“具有”、“包含”和“含有”应解释为开放式术语(即,意味着“包含但不限于”)。术语“连接”应被解释为部分或全部包含在内、附接到或接合在一起,甚至是在存在中间物的情况下也是如此。除非本文中另外指明,否则对本文中值范围的叙述仅旨在用作单独地提及落入所述范围的每个单独值的速记方法,并且每个单独值并入本说明书中,如同在本文中单独地叙述一样。除非本文中另外指明或明显与上下文相矛盾,否则本文所述的所有方法均可以以任何合适的顺序进行。除非另外声明,否则本文提供的任何和所有实例或示例性语言(例如,“如”)的使用仅旨在更好地阐明本公开的实施例,并且不对本公开的范围构成限制。本说明书中的任何语言都不应解释为将任何未要求保护的元件指示为是实践本公开必不可少的。
除非另有明确说明,否则如短语“x、y或z中的至少一个”等反义连接语言旨在在通常用于表示项目、术语等的上下文中进行理解,其可以为x、y或z或其任意组合(例如,x、y和/或z)。因此,这种反义连接语言通常不旨在并且也不应该暗示某些实施例要求x中的至少一个、y中的至少一个或z中的至少一个各自都存在。
本文中描述了本公开的优选实施例,包含诸位发明人已知的用于实施本公开的最佳模式。在阅读前述描述后,对本领域的普通技术人员而言,这些优选实施例的变型可以变得显而易见。诸位发明人预期本领域的技术人员可以在适当时采用这些变型,并且诸位发明人旨在使本公开以与在此具体描述的方式不同的方式来进行实践。因此,在适用法律允许的情况下,本公开包含所附权利要求中所述的主题的所有修改和等效物。此外,除非本文另有说明或者与上下文明显矛盾,否则本公开涵盖上述要素在其所有可能变型中的任何组合。
本文引用的所有参考文献(包含出版物、专利申请和专利)均通过引用的方式并入本文,其程度如同每篇参考文献被单独并且具体地指出通过引用的方式并入并且在本文中被整体阐述。
可以根据以下条款描述本公开的实施例的实例:
条款1.一种计算机实施的方法,其包括:在具有内部扬声器的声控装置的麦克风处,接收来自用户的第一语音输入。所述声控装置可操作地连接到电视机的第一hdmi端口。所述第一语音输入包含唤醒词。所述计算机实施的方法还包含在所述声控装置的所述麦克风处接收第二语音输入,所述第二语音输入包含关于电影和与所述电影相关联的动作的信息,并且由所述声控装置确定所述电视机是打开还是关闭。如果所述电视机打开,则:由所述声控装置确定所述电视机的活跃hdmi端口不是所述第一hdmi端口;通过所述声控装置的ir发射器,将数据从所述声控装置发送到所述电视机,以使所述电视机静音;在所述声控装置的所述内部扬声器上播放切换音频消息,其中所述切换音频消息向所述用户表明所述电影将在所述电视机上播放;在播放所述切换消息之后,通过所述声控装置的所述发射器,将数据从所述声控装置发送到所述电视机,以使所述电视机取消静音;以及通过所述声控装置的所述ir发射器,将数据从所述声控装置发送到所述电视机,以将所述电视机的所述活跃hdmi端口设置为所述第一hdmi端口。如果所述电视机关闭,则:在所述声控装置的所述内部扬声器上播放所述切换音频消息;通过所述声控装置的所述ir发射器,将数据从所述声控装置发送到所述电视机,以打开所述电视机;以及通过所述声控装置的所述ir发射器,将数据从所述声控装置发送到所述电视机,以将所述电视机的所述活跃hdmi端口切换到所述第一hdmi端口。所述计算机实施的方法进一步包含:在所述声控装置处接收与所述电影相关联的视频数据,以及通过所述第一hdmi端口将所述视频数据发送到所述电视机。
条款2.根据条款1所述的计算机实施的方法,其中所述确定所述电视机是打开还是关闭包括:由所述声控装置并且响应于接收到来自用户的所述第一语音输入生成表示伪随机数序列的电信号;将所述电信号发射到所述电视机的所述第一hdmi端口;以及由所述声控装置的所述麦克风检测麦克风信号,所述麦克风信号包含环境室内噪声和由所述电视机基于所述电信号生成的伪随机音频信号。
条款3.根据条款1或2所述的计算机实施的方法,其中所述确定所述电视机是打开还是关闭包括:由所述声控装置检测来自所述电视机的所述第一hdmi端口的热插拔检测(hpd)信号的第一电压值,以及由所述声控装置检测与来自所述电视机的所述第一hdmi端口的高带宽数字内容保护(hdcp)信号相关联的数据。
条款4.一种计算机实施的方法,其包括:在具有内部扬声器的声控装置的麦克风处,接收来自用户的第一语音输入。所述声控装置可操作地连接到av显示装置的第一音频视频(av)端口。所述第一语音输入包含唤醒词。所述计算机实施的方法还包含:在所述声控装置的所述麦克风处接收第二语音输入,所述第二语音输入包含用于播放内容的用户命令;由所述声控装置确定所述av显示装置的电源状态表明所述av显示装置处于关闭状态;由所述声控装置将至少与所述用户命令和所述电源状态相关联的数据发送到远程服务器计算机;以及由所述声控装置从所述远程服务器计算机接收响应数据。所述响应数据包括:表明所请求内容包含视频内容的指示;用于打开所述av显示装置的指令;以及表明所述视频内容的内容源位置的内容源位置标识符。所述计算机实施的方法进一步包含:基于所述用于打开所述av显示装置的指令,将数据从所述声控装置发送到所述av显示装置,以将所述av显示装置切换到打开状态;由所述声控装置从所述内容源位置接收内容;以及通过所述第一av端口将所述内容发送到所述av显示装置。
条款5.根据条款4所述的计算机实施的方法,其中将数据从所述声控装置发送到所述av显示装置以将所述av显示装置切换到打开状态包括将ir信号从所述声控装置发送到可操作地连接到所述av显示装置的ir接收器。
条款6.根据条款4或5所述的计算机实施的方法,其进一步包括通过ir信号将数据从所述声控装置发送到所述av显示装置,以将所述av显示装置的活跃av输入设置为所述第一av端口。
条款7.根据条款4到6中任一项所述的计算机实施的方法,其进一步包括通过所述声控装置与所述av显示装置之间的hdmi连接发送hdmi命令数据,以将所述av显示装置的活跃av输入设置为所述第一av端口。
条款8.根据条款4到7中任一项所述的计算机实施的方法,其中所述第一av端口是hdmi端口,并且其中确定所述av显示装置处于关闭状态包括:由所述声控装置检测与来自所述hdmi端口的热插拔检测(hpd)信号相关联的电压值;由所述声控装置检测从所述hdmi端口接收到的hdcp数据元素,所述hdcp数据元素包含hdcp_auth数据元素和hdcp_version数据元素;以及基于所述电压值和所述hdcp数据元素确定所述av显示装置处于所述关闭状态。
条款9.根据条款4到8中任一项所述的计算机实施的方法,其中确定所述av显示装置的所述电源状态为关闭状态进一步包括:基于所述电压值、所述hdcp_auth值和所述hdcp_version号确定所述av显示装置的所述状态为所述关闭状态。
条款10.根据条款4到9中任一项所述的计算机实施的方法,其中报告所述av显示装置的所述状态为所述关闭状态是基于所述电压值不高和所述hdcp_auth值不高的确定。
条款11.一种计算机实施的方法,其包括:在具有内部扬声器的声控装置的麦克风处,接收来自用户的第一语音输入。所述声控装置可操作地连接到av显示装置的第一音频视频(av)端口。所述第一语音输入包含唤醒词。所述计算机实施的方法还包含由所述声控装置确定所述av显示装置的电源状态表明所述av显示装置处于打开状态;由所述声控装置确定所述av显示装置的活跃av输入端口为除所述第一av输入端口之外的av输入;将数据从所述声控装置发送到所述av显示装置,以使所述av显示装置静音;在所述声控装置的所述麦克风处接收第二语音输入,所述第二语音输入包含用于播放内容的用户命令;由所述声控装置将至少与所述用户命令和所述电源状态相关联的数据发送到远程服务器计算机;以及由所述声控装置从所述远程服务器计算机接收响应数据。所述响应数据包括:表明所请求内容包含视频内容的指示;用于将所述av显示装置的所述活跃av输入端口设置为所述第一av端口的指令;以及表明所述视频内容的内容源位置的内容源位置标识符。所述计算机实施的方法进一步包含:基于所述用于将所述av显示装置的所述活跃av输入端口设置为所述第一av端口的指令,将数据从所述声控装置发送到所述av显示装置,以将所述av显示装置的所述活跃av输入端口设置为所述第一av端口;以及将数据从所述声控装置发送到所述av显示装置,以使所述av显示装置取消静音。
条款12.根据条款11所述的方法,其进一步包括:由所述声控装置从所述内容源位置接收内容,以及通过所述第一av端口将所述内容发送到所述av显示装置。
条款13.根据条款11或12所述的计算机实施的方法,其中将数据从所述声控装置发送到所述av显示装置以将所述av显示装置的所述活跃av输入端口设置为所述第一av端口包括将ir信号从所述声控装置发送到可操作地连接到所述av显示装置的ir接收器。
条款14.根据条款11到13中任一项所述的计算机实施的方法,其中将数据从所述声控装置发送到所述av显示装置以将所述av显示装置的所述活跃av输入端口设置为所述第一av端口包括通过所述声控装置与所述av显示装置之间的hdmi连接发送hdmi数据。
条款15.根据条款11到14中任一项所述的计算机实施的方法,其进一步包括:在接收到所述表明所请求内容包含视频内容的指示之后,在所述声控装置的所述内部扬声器上播放切换音频消息,其中所述切换音频消息向所述用户表明所述视频内容将在所述av显示装置上播放。
条款16.根据条款11到15中任一项所述的计算机实施的方法,其中发送数据以使所述av显示装置静音和取消静音包含将ir信号从所述声控装置发送到可操作地连接到所述av显示装置的ir接收器。
条款17.根据条款11到16中任一项所述的计算机实施的方法,其中所述第一av端口是hdmi端口,并且其中发送数据以使所述av显示装置静音和取消静音包含将hdmi数据发送到所述第一av端口。
条款18.根据条款11到17中任一项所述的计算机实施的方法,其中所述av端口是hdmi端口,并且其中确定所述av显示装置处于关闭状态包括:由所述声控装置检测与来自所述hdmi端口的热插拔检测(hpd)信号相关联的电压值;由所述声控装置检测从所述hdmi端口接收到的hdcp数据元素,所述hdcp数据元素包含hdcp_auth数据元素和hdcp_version数据元素;以及基于所述电压值和所述hdcp数据元素确定所述av显示装置处于所述关闭状态。
条款19.根据条款11到18中任一项所述的计算机实施的方法,其中确定所述av显示装置的所述电源状态为关闭状态进一步包括:基于所述电压值、所述hdcp_auth值和所述hdcp_version号确定所述av显示装置的所述状态为所述关闭状态。
条款20.根据条款11到19中任一项所述的计算机实施的方法,其中报告所述av显示装置的所述状态为所述关闭状态是基于所述电压值不高和所述hdcp_auth值不高的确定。
条款21.一种用于确定位于房间中的电视机的状态的计算机实施的方法,所述方法包括:在声控装置的麦克风处接收来自用户的第一语音输入,其中所述声控装置可操作地连接到所述电视机的hdmi端口,所述第一语音输入包含唤醒词。所述方法可以进一步包括由所述声控装置并且响应于接收到所述第一语音输入生成电信号,所述电信号表示伪随机数序列并且由第一增益表征。所述方法可以进一步包括通过所述hdmi端口将所述电信号发射到所述电视机。所述方法可以进一步包括由所述声控装置的麦克风检测音频信号,所述音频信号包含环境室内噪声和由所述电视机基于所述电信号生成的伪随机音频信号。所述方法可以进一步包括通过以下操作确定所述电视机的所述状态:通过计算所述电信号的傅里叶变换生成经过变换的电信号,通过计算所述音频信号的傅里叶变换生成经过变换的音频信号;通过计算所述经过变换的音频信号的相位变换生成归一化的音频信号,通过将反房间脉冲响应函数应用于所述归一化的音频信号生成经过校正的音频信号,通过计算所述经过变换的电信号与所述经过校正的音频信号之间的互相关生成互相关信号;以及通过定位所述互相关信号的最大值并且将所述互相关信号的所述最大值除以所述互相关信号的平均值来确定所述伪随机探测音频信号的功率电平。在一些实施例中,如果所述伪随机探测音频信号的所述功率电平大于或等于检测阈值功率电平,并且所述检测阈值功率电平是用户听不到所述伪随机探测音频信号的功率电平,则所述电视机可以被指示为打开,并且所述电信号的发射可以被停止。
条款22.根据条款22所述的计算机实施的方法,其进一步包括:如果所述伪随机探测音频信号的所述功率电平小于所述检测阈值,则:发射更新的电信号,所述更新的电信号的特征在于第二增益高于所述第一增益;由所述声控装置的所述麦克风检测更新的音频信号,所述更新的音频信号包含环境室内噪声和所述电视机基于所述更新的电信号生成的更新的伪随机探测音频信号,以及确定所述更新的伪随机探测音频信号的功率电平。在一些实施例中,如果所述更新的伪随机探测音频信号的所述功率电平大于所述检测阈值,则:表明所述电视机打开并且正在停止发射所述电信号。在一些实施例中,如果所述更新的伪随机探测音频信号的所述功率电平小于所述检测阈值,则:表明所述电视机关闭并且正在停止发射所述更新的电信号。
条款23.一种计算机实施的方法,其包括在声控装置的麦克风处接收语音输入,其中所述声控装置可操作地耦接到显示器,所述显示器耦接到扬声器。所述方法可以进一步包括生成电信号,所述电信号具有低于用户进行的可听见检测的增益阈值的第一增益水平。所述方法可以进一步包括向所述扬声器发射所述电信号。所述方法可以进一步包括由所述麦克风检测音频信号,所述音频信号包含环境噪声和探测音频信号的组合,其中所述探测音频信号由所述扬声器基于所述电信号输出。所述方法可以进一步包括确定所述探测音频信号的功率电平。所述方法可以进一步包括基于所述探测音频信号的所述功率电平确定所述显示器的状态。
条款24.根据条款23所述的计算机实施的方法,其中所述预定波形表示伪随机位序列。
条款25.根据条款23或24所述的计算机实施的方法,其中确定所述探测音频信号的所述功率电平包括通过计算所述电信号与所述音频信号之间的互相关生成互相关信号,并且其中确定所述显示器的所述状态进一步包括将所述互相关信号的最大值与检测阈值功率电平进行比较,其中所述检测阈值功率电平是用户听不到所述探测音频信号的功率电平。
条款26.根据条款23到25中任一项所述的计算机实施的方法,其中所述检测阈值功率电压对应于如在距离所述扬声器1米处测量的介于-18db与20dbspl之间(包含-18db和20dbspl)的探测音频信号声压水平。
条款27.根据条款26所述的计算机实施的方法,其进一步包括将所述电信号与所述探测音频信号之间的时间延迟确定为导致所述互相关信号的所述最大值的时间偏移。
条款28.根据条款26所述的计算机实施的方法,其进一步包括:基于所述互相关信号的所述最大值和至少一个参考增益确定所述扬声器的音量设置。
条款29.根据条款23到28中任一项所述的计算机实施的方法,其中确定所述探测音频信号的所述功率电平包括:通过计算所述电信号的傅里叶变换生成经过变换的电信号,通过计算所述音频信号的傅里叶变换生成经过变换的音频信号,通过计算所述经过变换的音频信号的相位变换生成归一化的音频信号,以及通过计算所述经过变换的电信号与所述归一化的音频信号之间的互相关生成互相关信号。在一些实施例中,确定所述显示器的所述状态进一步包括将所述互相关信号的最大值与检测阈值功率电平进行比较,其中所述检测阈值功率电平是用户听不到所述探测音频信号的功率电平。
条款30.根据条款23到29中任一项所述的计算机实施的方法,其中确定所述探测音频信号的所述功率电平包括:通过计算所述音频信号的傅里叶变换生成经过变换的音频信号,通过将反房间脉冲响应函数应用于所述经过变换的音频信号生成经过频域校正的音频信号,通过将傅里叶逆变换应用于所述经过频域校正的音频信号生成经过时域校正的音频信号,以及通过计算所述电信号与经过时域校正的音频信号之间的互相关生成互相关信号。在一些实施例中,确定所述显示器的所述状态进一步包括将所述互相关信号的最大值与检测阈值功率电平进行比较,其中所述检测阈值功率电平是用户听不到所述探测音频信号的功率电平。
条款31.根据条款23到30中任一项所述的计算机实施的方法,其中确定所述探测音频信号的所述功率电平包括:通过计算所述电信号的傅里叶变换确定经过变换的电信号,通过计算所述音频信号的傅里叶变换确定经过变换的音频信号,通过计算所述经过变换的音频信号的相位变换确定归一化的音频信号,通过对所述经过变换的电信号与所述归一化的音频信号的乘积进行傅里叶逆变换确定经过相位变换的互相关信号,以及通过计算所述经过相位变换的互相关信号与房间脉冲响应函数之间的互相关确定经过校正的互相关信号。在一些实施例中,确定所述显示器的所述状态进一步包括将所述经过校正的互相关信号的最大值与检测阈值功率电平进行比较,其中所述检测阈值功率电平是用户听不到所述探测音频信号的功率电平。
条款32.根据条款23到31中任一项所述的计算机实施的方法,其中所述探测音频信号的所述功率电平低于检测阈值功率电平,其中所述检测阈值功率电平是用户听不到所述探测音频信号的功率电平。在一些实施例中,所述方法进一步包括确定所述显示器的所述状态处于关闭状态,以及通过将增加的增益水平施加到所述电信号来修改所述电信号。
条款33.根据条款23到32中任一项所述的计算机实施的方法,其中所述探测音频信号的所述功率电平低于检测阈值功率电平,其中所述检测阈值功率电平是用户听不到所述探测音频信号的功率电平。在一些实施例中,所述方法进一步包括确定所述显示器的所述状态处于关闭状态,以及增加计算所述互相关的持续时间。
条款34.根据条款25所述的计算机实施的方法,其进一步包括存储所述互相关信号的运行值以及根据所述运行值确定所述互相关的所述最大值,其中递归地计算所述运行值,并且使用以下形式的递归积分器计算所述互相关
其中α是介于0与1之间(不包含0和1)的常数,yi(t)是在第i次迭代期间获取的所述互相关值,
条款35.根据条款32所述的计算机实施的方法,其中:所述探测音频信号的所述功率电平低于所述检测阈值功率电平,所述增加的增益水平等于最大值,并且超时计时器的当前值大于或等于超时值。在一些实施例中,所述方法进一步包括确定所述显示器的所述状态处于关闭状态以及终止生成所述电信号。
条款36.一种声控多媒体装置,其包括:麦克风系统;音频视频端口,所述音频视频端口被配置成将所述声控多媒体装置耦接到显示器,所述显示器耦接到扬声器;次声频通道监测模块,所述次声频通道监测模块包括至少一个处理器并且可操作地耦接到所述音频视频端口和所述麦克风系统;数据存储装置,所述数据存储装置与所述至少一个处理器进行通信,其中所述数据存储装置包括存储在其上的指令,所述指令当由所述至少一个处理器执行时使所述至少一个处理器执行操作。所述操作可以包含生成电信号,所述电信号具有低于用户进行的可听见检测的增益阈值的第一增益水平。所述操作可以包含向所述扬声器发射所述电信号。所述操作可以包含由所述麦克风检测音频信号,所述音频信号包含环境噪声和探测音频信号的组合,其中所述探测音频信号由所述扬声器基于所述电信号输出。所述操作可以包含确定所述探测音频信号的功率电平。所述操作可以包含基于所述探测音频信号的所述功率电平确定所述显示器的状态。
条款37.根据条款36所述的声控多媒体装置,其中所述指令使所述处理器通过以下操作确定所述探测音频信号的功率电平:通过计算所述电信号与所述音频信号之间的互相关生成互相关信号。在一些实施例中,确定所述显示器的所述状态进一步包括将所述互相关信号的最大值与检测阈值功率电平进行比较,其中所述检测阈值功率电平是用户听不到所述探测音频信号的功率电平。
条款38.根据条款36或37所述的声控多媒体装置,其中所述指令使所述处理器通过以下操作确定所述探测音频信号的所述功率电平:通过计算所述电信号的傅里叶变换生成经过变换的电信号,通过计算所述音频信号的傅里叶变换生成经过变换的音频信号,通过计算所述经过变换的音频信号的相位变换生成归一化的音频信号,以及通过计算所述经过变换的电信号与所述归一化的音频信号之间的互相关计算互相关信号。在一些实施例中,所述指令使所述处理器通过将所述互相关信号的最大值与检测阈值功率电平进行比较来确定所述显示器的所述状态,其中所述检测阈值功率电平是用户听不到所述探测音频信号的功率电平。
条款39.根据条款36到38中任一项所述的声控多媒体装置,其中所述探测音频信号的所述功率电平低于检测阈值功率电平,并且其中所述检测阈值功率电平是用户听不到所述探测音频信号的功率电平,并且其中所述指令进一步使所述处理器:确定所述显示器的所述状态处于关闭状态,并且通过将增加的增益水平施加到所述电信号来修改所述电信号。
条款40.根据条款36到39中任一项所述的声控多媒体装置,其中所述探测音频信号的所述功率电平低于检测阈值功率电平,其中所述检测阈值功率电平是用户听不到所述探测音频信号的功率电平,并且其中所述指令进一步使所述处理器:确定所述显示器的所述状态处于关闭状态,并且增加计算所述互相关的持续时间。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除