HW-VAD的概念
VAD(Voice Activity Detection语音激活检测)是用于检测当前输入信号中是否有语音的技术。VAD一般会综合分析输入信号的能量特征,以及频谱特征等信息判断是否存在语音。
VAD可以通过软件或硬件来实现,使用软件检测时称为SW-VAD,使用硬件检测时称为HW-VAD。
SW-VAD vs HW-VAD
基于SW-VAD 的语音处理结构
基于SW-VAD的语音处理结构示意图如上图所示,语音经ADC模数转换后,经数据总线传递给处理器(CPU/DSP),语音首先经过软件实现的VAD算法判断是否包含语音信息,当判断存在语音信息后,再将语音信息传递给后续步骤,依次为关键字识别(Keyword Spotting),语音识别(Speech Recognition),以及自然语言处理(Natural Language Processing)。
一般情况下,端侧的处理能力达不到语音识别和自然语言处理的要求,相关算法需要更高算力的系统来实现。
基于HW-VAD 的语音处理结构
基于HW-VAD的语音处理结构示意图如上图所示。当没有语音信息时,关键字识别(Keyword Spotting)相关的处理器(CPU/DSP)处在低功耗区域内,保持等待唤醒的低功耗状态。当HW-VAD检测到包含语音信息后,HW-VAD发出wakeup的信号唤醒低功耗区域,被唤醒的处理器做进一步的关键字识别(Keyword Spotting)操作;然后再依次完成语音识别,自然语言处理等步骤。
需要说明的是,HW-VAD模式时,低功耗区域是处于时钟被关闭的状态,但这些区域仍带电。因此,HW-VAD模式仅能消除由信号翻转等因素导致的动态功耗,但无法消除由漏电流引起的静态功耗。
另外,为了更高的集成度,有的HW-VAD IP会将ADC做到其内部,对外呈现为模拟接口。
HW-VAD模式较SW-VAD模式的优势
HW-VAD模式相较于SW-VAD模式,优势在于功耗低。SW-VAD模式时,需要执行SW-VAD算法的CPU或DSP保持在运行状;而在HW-VAD模式时,相关的CPU或DSP可以保持在等待唤醒的低功耗状态,而不是运行状态,因此大大降低了监听状态下的功耗。
HW-VAD vs Standby
Standby模式简介
在低功耗设计中,经常会有Standby模式,在该模式下,芯片大部分区域都处于掉电状态,仅保留小部分区域带电。小部分一直带电的区域被称作永远开启区域(AON,Always ON domain),该AON区域保证芯片可以从Standby模式恢复到工作状态。
Standby模式既消除了动态功耗,也消除了静态功耗,是维持芯片能够工作的最低功耗的模式。
HW-VAD模式与Standby模式的选择
从功耗的角度来分析,HW-VAD模式仍会产生静态功耗,比Standby模式的功耗,即HW-VAD模式的功耗比Standby模式高。这样看,似乎选择Standby模式更为合理。
但是,从实际芯片工作的场景来分析,则会产生一个相反的结论,即选择HW-VAD模式。
选择HW-VAD模式的原因是从唤醒时间来考虑的。低功耗区域如果从HW-VAD模式唤醒,仅需要打开时钟使能,唤醒处理器即可,整个过程在微秒(us)级别完成;但如果从Standby模式唤醒,则需要将低功耗区域从掉电状态下唤醒,整个过程需要几十毫秒(ms)级别的时间才能完成。
唤醒时间达到几十毫秒以后,会产生如下问题: 1.增加设备的唤醒时间,影响客户对设备反应速度的感受; 2.唤醒时间内用户说的语音会丢失,处理器的“关键字识别(Keyword Spotting)”的识别率会降低,即降低正确唤醒设备的概率。严重时,客户必须说两次才能唤醒设备,影响客户体验。
综上,虽然Standby模式有更低的功耗,但是Standby模式无法达到客户对于语音设备的感受的要求。最终还是选择采用在HW-VAD模式,不掉电的情况下唤醒设备。
原文作者:蓝空
点击查看原文