(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-24
(45)【発行日】2022-09-01
(54)【発明の名称】音声コマンドを検出及びキャプチャするシステムと方法
(51)【国際特許分類】
G10L 15/04 20130101AFI20220825BHJP
G10L 15/10 20060101ALI20220825BHJP
G10L 15/28 20130101ALI20220825BHJP
G10L 25/84 20130101ALI20220825BHJP
【FI】
G10L15/04 300A
G10L15/10 200W
G10L15/28 230K
G10L25/84
(21)【出願番号】P 2019555430
(86)(22)【出願日】2017-12-20
(86)【国際出願番号】 US2017067712
(87)【国際公開番号】W WO2018119138
(87)【国際公開日】2018-06-28
【審査請求日】2020-12-18
(32)【優先日】2016-12-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2017-09-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519227846
【氏名又は名称】アブネラ コーポレーション
(74)【代理人】
【識別番号】100083806
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100095500
【氏名又は名称】伊藤 正和
(74)【代理人】
【識別番号】100111235
【氏名又は名称】原 裕子
(74)【代理人】
【識別番号】100195257
【氏名又は名称】大渕 一志
(72)【発明者】
【氏名】ツァオ、 シュードン
(72)【発明者】
【氏名】シュタンゲ、 アレクサンダー シー.
(72)【発明者】
【氏名】オコーナー、 ショーン
(72)【発明者】
【氏名】ハディアシャー、 アリ
【審査官】大野 弘
(56)【参考文献】
【文献】特開昭61-156298(JP,A)
【文献】特表2016-508007(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/04
G10L 15/10
G10L 25/84
G10L 15/28
(57)【特許請求の範囲】
【請求項1】
音声コマンドを検出及びキャプチャするシステムであって、
オーディオ信号を受信するべく構成された入力部と、
前記オーディオ信号をデジタルオーディオ信号に変換するべく構成されたアナログデジタル変換器と、
前記デジタルオーディオ信号の振幅を決定する振幅検出器と、
制御器と
を含み、
前記制御器は、
前記デジタルオーディオ信号の振幅を第1しきい値と及び第2しきい値と比較することと、
前記デジタルオーディオ信号の振幅が前記第1しきい値
及び前記第2しきい値を超えない場合に割り込み信号を差し控えることと、
前記デジタルオーディオ信号の振幅が前記第1しきい値及び前記第2しきい値を超える場合に前記割り込み信号を生成することと、
前記デジタルオーディオ信号の振幅が前記第1しきい値と前記第2しきい値との間にある場合に前記デジタルオーディオ信号のスペクトル分析をトリガーすることと
を行うべく構成される、システム。
【請求項2】
前記アナログデジタル変換器は、
前記オーディオ信号がオーディオアクティビティの開始レベルを有するか否かを決定することと、
前記オーディオ信号が前記オーディオアクティビティの開始レベルを有しない場合に前記アナログデジタル変換器を、前記アナログデジタル変換器の変換器部分が前記デジタルオーディオ信号を生成しないスリープモードに置くことと、
前記オーディオ信号が前記オーディオアクティビティの開始レベルを有する場合に前記アナログデジタル変換器を、前記アナログデジタル変換器の変換器部分が前記デジタルオーディオ信号を生成するアクティブモードに置くことと
を行うべく構成されたウェイクアップ回路を含む、請求項1のシステム。
【請求項3】
前記オーディオ信号がオーディオアクティビティの開始レベルを有するか否かを決定するべく、前記ウェイクアップ回路は、前記オーディオ信号をウェイクアップ開始しきい値と比較するべく構成される、請求項2のシステム。
【請求項4】
前記ウェイクアップ回路は、
前記オーディオ信号をブーストするべく構成されたオーディオプリアンプ利得段と、
ブーストされた前記オーディオ信号を、前記オーディオアクティビティの開始レベルを示すウェイクアップ開始しきい値と比較するべく構成された比較器段と
を含む、請求項2のシステム。
【請求項5】
前記アナログデジタル変換器の変換器部分は、前記アナログデジタル変換器が前記スリープモードにある場合に電力供給なしとなり、
前記アナログデジタル変換器の変換器部分は、前記アナログデジタル変換器が前記アクティブモードにある場合に電力供給される、請求項2のシステム。
【請求項6】
前記アナログデジタル変換器と前記振幅検出器との間にデシメーションフィルタをさらに含み、
前記デシメーションフィルタは、前記デジタルオーディオ信号を受信して前記デジタルオーディオ信号を処理し、前記アナログデジタル変換器のサンプリングレートよりも低い低減サンプリングレートを有する低減デジタルオーディオサンプルを生成するべく構成される、請求項1のシステム。
【請求項7】
サンプリングレートを有するデジタルオーディオ信号を入力として受信して前記デジタルオーディオ信号を、振幅を有するとともに前記デジタルオーディオ信号の前記サンプリングレートよりも低いサンプリングレートを有する結合デジタルオーディオ信号を生成するように処理するべく構成されたサンプル結合ブロックをさらに含む、請求項1のシステム。
【請求項8】
前記割り込み信号を受信してトリガーフレーズのために前記デジタルオーディオ信号を分析するべく構成されたデジタル信号プロセッサをさらに含む、請求項1のシステム。
【請求項9】
前記デジタルオーディオ信号を受信して先入れ先出しフォーマットで格納するべく構成された音声ランダムアクセスメモリをさらに含み、
前記音声ランダムアクセスメモリはデジタル信号プロセッサによりアクセスされるように構成される、請求項8のシステム。
【請求項10】
複数の非同期クロック生成メカニズムを含むクロックシステムをさらに含み、
前記非同期クロック生成メカニズムはそれぞれが異なる電流消費を有し、
前記クロックシステムは、前記非同期クロック生成メカニズム間でスイッチングするべく構成される、請求項8のシステム。
【請求項11】
音声コマンドを検出及びキャプチャする方法であって、
音声アクティビティ検出器がデジタルオーディオ信号を受信することと、
前記音声アクティビティ検出器が前記デジタルオーディオ信号の振幅を決定することと、
前記音声アクティビティ検出器が前記デジタルオーディオ信号の振幅を第1しきい値と及び第2しきい値と比較することと、
前記デジタルオーディオ信号の振幅が前記第1しきい値
及び前記第2しきい値を超えない場合に前記音声アクティビティ検出器が割り込み信号を差し控えることと、
前記デジタルオーディオ信号の振幅が前記第1しきい値及び前記第2しきい値を超える場合に前記音声アクティビティ検出器が前記割り込み信号を生成することと、
前記デジタルオーディオ信号の振幅が前記第1しきい値と前記第2しきい値との間にある場合に前記音声アクティビティ検出器が前記デジタルオーディオ信号のスペクトル分析を行うことと
を含む、方法。
【請求項12】
アナログデジタル変換器がオーディオ信号を受信することと、
前記オーディオ信号がオーディオアクティビティの開始レベルを有するか否かをウェイクアップ回路が決定することと、
前記オーディオ信号が前記オーディオアクティビティの開始レベルを有しない場合に前記アナログデジタル変換器を、前記アナログデジタル変換器の変換器部分がデジタルオーディオ信号を生成しないスリープモードに置くことと、
前記オーディオ信号が前記オーディオアクティビティの開始レベルを有する場合に前記アナログデジタル変換器を、前記アナログデジタル変換器の変換器部分が、デジタルオーディオ信号を前記オーディオ信号からアナログデジタル変換器サンプリングレートで生成するアクティブモードに置くことと
をさらに含む、請求項11の方法。
【請求項13】
前記オーディオ信号がオーディオアクティビティの開始レベルを有するか否かをウェイクアップ回路が決定することは、前記オーディオ信号をウェイクアップ開始しきい値と比較することを含む、請求項12の方法。
【請求項14】
前記アナログデジタル変換器が前記スリープモードにある場合に前記アナログデジタル変換器の変換器部分に電力供給をしないことと、
前記アナログデジタル変換器が前記アクティブモードにある場合に前記アナログデジタル変換器の変換器部分に電力供給をすることと
をさらに含む、請求項12の方法。
【請求項15】
デジタル信号プロセッサが前記割り込み信号を前記音声アクティビティ検出器から受信することと、
前記デジタル信号プロセッサが、トリガーフレーズを検出するべく、前記デジタルオーディオ信号を分析することと
をさらに含む、請求項12の方法。
【請求項16】
音声ランダムアクセスメモリが前記デジタルオーディオ信号を受信して先入れ先出しフォーマットで格納することと、
前記デジタル信号プロセッサが前記トリガーフレーズを検出する場合に前記トリガーフレーズのエンドポイント前の前記音声ランダムアクセスメモリにおけるすべてのデータを破棄することと
をさらに含む、請求項15の方法。
【請求項17】
前記デジタル信号プロセッサがトリガーフレーズを検出する場合に、前記トリガーフレーズの後の予め特定されたタイムアウトの間にユーザが話したか否かを決定することをさらに含む、請求項15の方法。
【請求項18】
音声アクティビティ検出器であって、
デジタルオーディオ信号を受信するべく構成された入力部と、
前記デジタルオーディオ信号の振幅を決定するべく構成された振幅検出器と、
コントローラと、
スペクトル分析器と
を含み、
前記コントローラは、
前記デジタルオーディオ信号の振幅が第1しきい値
及び第2しきい値を超えない場合に割り込み信号を差し控えることと、
前記デジタルオーディオ信号の振幅が前記第1しきい値及び前記第2しきい値を超える場合に前記割り込み信号を生成することと、
前記デジタルオーディオ信号の振幅が前記第1しきい値と前記第2しきい値との間にある場合に前記デジタルオーディオ信号のスペクトル分析をトリガーすることと
を行うべく構成され、
前記スペクトル分析器は、前記コントローラに前記割り込み信号を生成するべきか否かを命令するべく前記デジタルオーディオ信号のスペクトル分析を行うべく構成される、音声アクティビティ検出器。
【請求項19】
サンプリングレートを有するデジタルオーディオ信号を入力として受信して前記デジタルオーディオ信号を、振幅を有するとともに前記デジタルオーディオ信号の前記サンプリングレートよりも低いサンプリングレートを有する結合デジタルオーディオ信号を生成するように処理するべく構成されたサンプル結合器をさらに含む、請求項18の音声アクティビティ検出器。
【請求項20】
前記スペクトル分析器は、
前記サンプル結合器から前記結合デジタルオーディオ信号を受信して前記結合デジタルオーディオ信号を格納するべく構成された音声アクティビティ検出器ランダムアクセスメモリと、
前記音声アクティビティ検出器ランダムアクセスメモリに格納された前記結合デジタルオーディオ信号の高速フーリエ変換を行って高速フーリエ変換結果を出力するべく構成された高速フーリエ変換ブロックと、
前記高速フーリエ変換結果の平均振幅を決定するべく構成されたスペクトルローパスフィルタと、
前記スペクトルローパスフィルタの結果を評価し、前記スペクトルローパスフィルタの結果の評価に基づいて前記割り込み信号を生成するか又は引き続いて前記割り込み信号を差し控えるかするように前記コントローラに信号を送るべく構成されたスペクトルコントローラと
を含む、請求項19の音声アクティビティ検出器。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、音声コマンドの音声検出及びキャプチャのためのシステム及び方法に関する。
【背景技術】
【0002】
多くの消費者電子デバイスが、人間の声により発せられる音声コマンドによって完全に又は部分的に制御される機能を有している。この音声制御によりユーザは、ユーザの手を使うことなく、デバイス上の少ないボタン又はスイッチによってデバイスを動作させることができる。
【0003】
かかるデバイスは、デバイスが音声コマンドを「聞いて」キャプチャすることができるように、常時リスニングモードを要求し得る。よって、常時リスニングモードにおいて、デバイスはオン状態であって音声コマンドを待ち受ける。常時リスニング機能の品質は一般に、全体平均電流消費及び音声コマンド誤検出率という2つのメトリクスによって測定される。
【0004】
本発明の実施形態は、既存のデバイスの欠点に対処する。
【先行技術文献】
【特許文献】
【0005】
【文献】米国特許出願公開第2015/0356982(A1)号明細書
【発明の概要】
【0006】
開示の主題の実施形態は、低電力かつ常時リスニングの音声コマンド検出及びキャプチャのシステムに関する。低電流動作状態により、システムは、当該システムの全体平均電流消費を低減することができる。最低電流動作モードにおいて、システムは音声アクティビティの兆候を待ち受ける。その後の各状態は、音声コマンドが検出、認識及び処理される最高電流動作状態まで、音声コマンド検出の信頼性が徐々に高くなる。
【0007】
したがって、音声コマンドを検出及びキャプチャするシステムの少なくともいくつかの実施形態は、音声アクティビティ検出器(VAD)を含み、VADは、VAD受信デジタルオーディオ信号を受信することと、VAD受信デジタルオーディオ信号の振幅を決定することと、VAD受信デジタルオーディオ信号の振幅を第1しきい値と及び第2しきい値と比較することと、VAD受信デジタルオーディオ信号の振幅が第1しきい値又は第2しきい値を超えない場合にVAD割り込み信号を差し控えることと、VAD受信デジタルオーディオ信号の振幅が第1しきい値及び第2しきい値を超える場合にVAD割り込み信号を生成することと、VAD受信デジタルオーディオ信号の振幅が第1しきい値と第2しきい値との間に存在する場合にVAD割り込み信号のスペクトル分析を行うことと行うべく構成される。
【0008】
多側面において、音声コマンドを検出及びキャプチャする方法の少なくともいくつかの実施形態は、音声アクティビティ検出器(VAD)がVAD受信デジタルオーディオ信号を受信することと、VADがVAD受信デジタルオーディオ信号の振幅を決定することと、VADがVAD受信デジタルオーディオ信号の振幅を第1しきい値と及び第2しきい値と比較することと、VAD受信デジタルオーディオ信号の振幅が第1しきい値又は第2しきい値を超えない場合にVADがVAD割り込み信号を差し控えることと、VAD受信デジタルオーディオ信号の振幅が第1しきい値及び第2しきい値を超える場合にVADがVAD割り込み信号を生成することと、VAD受信デジタルオーディオ信号の振幅が第1しきい値と第2しきい値との間に存在する場合にVADがVAD受信デジタルオーディオ信号のスペクトル分析を行うこととを含む。
【0009】
したがって、既存のデバイスと比較して、記載されるシステム及び方法は、低い平均電流消費において低い音声コマンド誤検出率を与えることができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態に係る音声コマンド検出及びキャプチャシステムの機能ブロック図である。
【
図2】
図1に示される音声認識モジュールに含まれ得るウェイクアップ回路の回路図である。
【
図3】人間の話しからのオーディオ信号のグラフの一例を示す。ここで、縦軸は信号振幅を表し、横軸は時間を表す。
【
図4】
図1に示される音声認識モジュールのプロセスの一例を示すフローチャートである。
【
図5】音声コマンド検出及びキャプチャシステムの一つの特徴に係るクロックスイッチング事象の一例を示す。
【0011】
以下の詳細な説明において、パターン1xxの参照番号が一般に
図1及び2に示される一方、3xxの参照番号は一般に
図3に示される。同様に、4xxの参照番号は一般に
図4に示され、5xxの参照番号は一般に
図5に示される。
【発明を実施するための形態】
【0012】
本願に記載されるように、本発明の実施形態は、低電力かつ常時リスニングの音声コマンド検出及びキャプチャシステムに関する。開示される技術は、異なる電流量を利用する一定数の別個の動作状態を含む。これらの動作状態は、個々のサブシステムの集合状態を特徴とする。最低電流動作モードにおいて、システムは音声アクティビティの兆候を待ち受ける。その後の各状態は、音声コマンドが検出、認識及び処理される最高電流動作状態まで、音声コマンド検出の信頼性が徐々に高くなる。
【0013】
低電流動作状態により、システムは、当該システムの全体平均電流消費を低減することができる。さらに、利用可能な動作状態のすべて又はほんのいくつかを選択的に使用することにより、システムは、音声コマンド誤検出率を低減することができる。例えば、システムは、フレーズの始まりを切り捨てるのではなく、キャプチャするべく、スリープになるのを回避し得る。したがって、既存のデバイスと比較して、記載されるシステム及び方法は、低い平均電流消費において低い音声コマンド誤検出率を与えることができる。
【0014】
よって、開示される技術は、例えば、有線及び無線ヘッドホン、ウェアラブル製品、スピーカーバー、ゲームコントローラ、並びに電話機及びタブレットのような携帯デバイスを含む任意の音声作動及び制御のシステムにおいて、有用となり得る。音声作動及び制御のシステムは、インテリジェントパーソナルアシスタント又は他のソフトウェアエージェントを含み得る。
【0015】
図1は、本発明の複数の実施形態に係る低電力かつ常時リスニングの音声コマンド検出及びキャプチャシステムの複数部分を示す機能ブロック図である。
図1に示されるように、音声コマンド検出及びキャプチャシステム100は、アナログデジタル変換器(ADC)101、デシメーションフィルタ102、音声RAM(ランダムアクセスメモリ)103、及び、デジタル信号プロセッサ(DSP)106の音声認識モジュール105に出力する音声アクティビティ検出器(VAD)ブロック104を含み得る。デシメーションフィルタ102及び音声RAM103はそれぞれが、DSP106の一部であり、又はDSP106に密接に結合される。ADC101、デシメーションフィルタ102、音声RAM103、VADブロック104及びDSP106はそれぞれが、クロックシステム107により制御される。クロックシステム107は、後に十分に説明される複数のクロック生成メカニズムを含む。
【0016】
VADブロック104は、サンプル結合ブロック108、振幅VADブロック109、スペクトル分析ブロック110及び制御ブロック111を含み得る。スペクトル分析ブロック110は、VADRAM112、高速フーリエ変換(FFT)ブロック113、スペクトルローパスフィルタ(LPF)114及びスペクトルVADブロック115を含み得る。VADブロック104の機能は、プログラム可能パラメータを介して実装することができる。VADブロック104はハードウェアに実装されるのが好ましいので、ここではハードウェアVADと称する。そうだとしても、複数の実施形態において、VADブロック104は、ソフトウェア又はファームウェアに実装されてもよい。
【0017】
ADC101は、例えば、音声信号に含まれ得るアナログオーディオ入力から2Msps(メガサンプル毎秒)でデジタルオーディオ信号123を生成するステレオADCとしてよい。ADC101は、アナログオーディオ入力122からデジタルオーディオ信号123を生成するべく、例えばパルス密度変調(PDM)、パルス符号変調(PCM)又は他の技法を使用することができる。
【0018】
ADC101は、オーディオアクティビティを検出するべく、かつ、ADC101の残り、ひいてはVADブロック104にもアクティベーション機能を与えるべく、ウェイクアップ回路118を含み得る。したがって、ウェイクアップ回路118は、アナログオーディオ入力122をしきい値と比較して、開始レベルのオーディオアクティビティが存在するか否かを決定することができる。アナログオーディオ入力122がオーディオアクティビティの開始レベルを下回る場合、ADC101の残りはアクティブにならない。しかしながら、アナログオーディオ入力122がオーディオアクティビティの開始レベルを上回る場合、ADC101の残りがアクティブになる。このしきい値は、ここで、ウェイクアップ開始しきい値と称されることがある。
【0019】
すなわち、ADC101は2つのモードを有し得る。一つのモードにおいて、ADC101は、ウェイクアップ回路118を使用してレベルを比較するが、デジタルサンプルを生成するわけではない。よって、ADC101の変換器部分は、このレベル比較モード又はスリープモードにおいて、完全にパワーダウンされることにより、ADC101の低電力状態を与えることができる。好ましくは、スリープモードにおいてウェイクアップ回路118は低電力モードにあり、これは、ウェイクアップ回路118がチャネルごとに、ウェイクアップ回路118及びADC101の双方がアクティブである場合に消費する電力の約15%未満を消費していることを意味する。さらに好ましくは、ウェイクアップ回路118はチャネルごとに、ウェイクアップ回路118及びADC101の双方がアクティブである場合に消費する電力の約12%未満を消費する。よりさらに好ましくは、ウェイクアップ回路118はチャネルごとに、ウェイクアップ回路118及びADC101の双方がアクティブである場合に消費する電力の約8%を消費する。第2のモード又はアクティブモードにおいて、ADC101は、アナログオーディオ入力122からデジタル信号を生成する。
【0020】
図2は、ウェイクアップ回路の複数部分を示す回路図である。
図2に示されるように、ウェイクアップ回路118は、付加利得段120及び比較器段121を有するオーディオプリアンプ119を含み得る。付加利得段121は、例えば、シュミットトリガーとしてよい。したがって、ウェイクアップ回路は、アナログオーディオ入力122を取り込み、オーディオプリアンプ119及び付加利得段120によってアナログオーディオ入力122をブーストし、コンディショニングされたアナログオーディオ入力を、比較器段121によって音声レベルしきい値と比較することができる。コンディショニングされたアナログオーディオ入力が音声レベルしきい値を超過する場合、ウェイクアップ回路がADC101の残りをアクティブにしてサンプルを生成する。音声レベルしきい値は、上述したウェイクアップ開始しきい値としてよい。
【0021】
オーディオプリアンプ119及び付加利得段120は、信号をブーストすることに加え、例えば共通モード遮断若しくは電力供給遮断又はその双方を介してアナログオーディオ入力122をコンディショニングすることができる。好ましくは、オーディオプリアンプ119の利得、及び付加利得段120の利得はそれぞれ、プログラム可能である。図示のように、オーディオプリアンプ119は、例えば+6dB、+10dB、+16dB及び+26dBの利得を有するようにプログラム又はプリセットされ得る。付加利得段120は、例えば+20dBの利得を有するようにプログラム又はプリセットされ得る。他の値もまた、プログラム又はプリセットすることができる。
【0022】
図1に戻ると、業界で理解されることだが、アナログ信号から得られたデジタル信号は一定数のサンプルを含む。ここで、当該一定数のサンプルはADCのサンプリングレートに依存する。デシメーションフィルタ102は、デジタルオーディオ信号123のサンプリングレートを、例えば16ksps(キロサンプル毎秒)まで低減する。
【0023】
得られた低減デジタルオーディオサンプル124は、DSP106の音声認識モジュール105による将来の音声認識を目的として音声RAM103に格納される。好ましくは、音声RAM103は、先入れ先出し(FIFO)フォーマットで低減デジタルオーディオサンプル124を連続的にキャプチャする循環バッファとして構成される。音声RAM103がDSP106の一部であり又はDSP106に密接に結合される構成において、当該構成は、デジタル信号プロセッサが音声RAM103を処理する必要がある場合にシステムオーバーヘッドを低減する。
【0024】
付加的に、任意数のチャネルが音声RAM103にキャプチャされ得る。これにより、キャプチャされたチャネルは、VADブロック104へと引き回される単数又は複数のチャネルに限られない。マルチチャネルキャプチャにより、VADブロック104は、音声の存在が疑わしい場合にDSP106に割り込むことができ、DSP106は、マルチチャネルオーディオを、ASIC又はホストのような他の場所での音声認識に使用するべく後処理することができる。
【0025】
低減デジタルオーディオサンプル124はここで、VAD受信デジタルオーディオ信号と称する場合があり、サンプル結合ブロック108において結合され、例えばモノラル8kspsのストリームになる。サンプル結合ブロック108は、例えば、低減デジタルオーディオ信号124の一つのチャネルを選択し、選択されたチャネルから一つおきにサンプルを取り出すことができる。複数のサンプルを結合するべく、サンプル結合ブロック108は、代替的に又は付加的に、遅延素子及び線形結合回路によるビームフォーミング能力を有し得る。サンプル結合ブロック108により使用される方法にもかかわらず、結果は、デシメーションフィルタ102により生成された低減デジタルオーディオサンプル124よりもサンプリングレートが低い結合されたデジタルオーディオ信号125となる。
【0026】
振幅VADブロック109は、サンプル結合ブロック108からの結果を分析することにより、結合されたデジタルオーディオ信号125の振幅を決定する。
【0027】
制御ブロック111は、VAD割り込み信号116がDSP106の音声認識モジュール105に送信されて音声認識が開始される場合、スペクトル分析ブロック110が起動されたか否かを決定する。すなわち、制御ブロック111は、振幅VADブロック109の出力に基づいてVAD割り込み信号116を発生させるべきか否かを決めるのに十分な情報を有するか否かを決定する。十分な情報を有しない場合、制御ブロック111は、スペクトル分析ブロック110を起動させて付加的な情報を与える。例えば、制御ブロック111は、信号振幅のローパスフィルタと2つの比較器とを含み得る。2つの比較器の一つ目は、相対的に高いしきい値を有する2つの比較器の2つ目と比べ、相対的に低いしきい値を有し得る。振幅VADブロック109により決定された信号振幅が、低い方のしきい値を超えるが高い方のしきい値は超えない場合、制御ブロック111は、スペクトル分析ブロック110をアクティブにするべきと決定する。信号振幅が高い方のしきい値を超える場合、制御ブロック111は、スペクトル分析ブロック110からのスペクトルVAD決定にかかわらず、VAD割り込み信号116を生成するように決定し得る。代替的に、信号振幅が高い方のしきい値を超える場合、制御ブロック111は、VAD割り込み信号116を生成するように決定するが、スペクトル分析ブロック110をアクティブにしない。しかしながら、振幅VADブロック109により決定された信号振幅が低い方のしきい値を超えない場合、制御ブロック111は、VAD割り込み信号116が生成されないように決定し、スペクトル分析ブロック110をアクティブにしない。
【0028】
例えば、ADC101へのアナログオーディオ入力122が十分に低い音量を有する場合、その信号振幅(結合されたデジタルオーディオ信号125から振幅VADブロック109により決定される)は、制御ブロック111の低い方のしきい値を超えることがない。したがって、制御ブロック111は、スペクトル分析ブロック110を起動することも、VAD割り込み信号116を生成することもない。しかしながら、アナログオーディオ入力122が十分に大音量の場合、結合されたデジタルオーディオ信号125から決定されたその信号振幅は、制御ブロック111の高い方のしきい値を超える。したがって、制御ブロック111は、
図4について以下に記載される音声認識状態407に入るべく、DSP106の音声認識モジュール105に送信されるVAD割り込み信号116を生成する。そうでなければ、アナログオーディオ入力122の信号振幅が低い方のしきい値を超えるが、高い方のしきい値を超えない場合、制御ブロック111は、スペクトル分析ブロック110をアクティブにして当該結果を待ち受けた後、VAD割り込み信号116を生成するべきか否かを決定する。
【0029】
サンプル結合ブロック108からの結合されたデジタルオーディオ信号125は、VADRAM112に格納される。これは、結合されたデジタルオーディオ信号125がまた振幅VADブロック109で受信されるのと本質的に同時に生じる。VADRAM112は、例えば1024ワードかつ20ビットのRAMとしてよい。この構成例において、VADRAM112の512ワードは、インプレース256ポイントFFTのためのFFTワーキングメモリとして使用され得る。すなわち、VADRAM112の256ワードを、入力サンプルの格納のために使用することができ、VADRAM112の256を、256周波数ビンのためのスペクトル振幅の格納のために使用することができる。これは、ほんの一例にすぎないが、他の構成も使用することができる。
【0030】
FFTブロック113は、VADRAM112に格納された結合されたデジタルオーディオ信号125の高速フーリエ変換を行う。一実装例として、FFTは、256ポイントFFTとしてよく、8つの基数2のFFT段からなる。FFTブロック113は、各周波数ビンに対して得られた電力をVADRAM112に書き込む。8kspsのサンプル及び256ポイントのFFTの例を続けると、FFTは、32ms(ミリ秒)ごとに行われる。すなわち、FFT窓サイズは、この例において32msとなる。
【0031】
スペクトルLPF114は、y’=y・(N-1)/N+x(1/N)を計算する。ここで、xは最終段FFT結果の振幅であり、yは対応周波数ビンに対して格納されたスペクトル振幅であり、Nは、ランダムノイズの影響を低減し得る平滑化係数であり、y’は、yの新たな更新値である。スペクトルLPF114はまた、平均振幅を計算するべくスペクトル振幅を合計するアキュムレータを含み得る。
【0032】
スペクトル分析ブロック110は、制御ブロック111によりアクティブにされると、制御ブロック111が、スペクトルLPF114の結果を使用することにより、VAD割り込み信号116を生成するべきか否かを決定する。この決定は、アナログオーディオ入力122の一部である音声コマンドを含む音声信号が多数の高調波を有するという状況を利用する。具体的には、VADRAM112からの結合されたデジタルオーディオ信号125が、FFTブロック113及びスペクトルLPF114を通過した後、各周波数に対する得られたスペクトル振幅が、FFTから得られたすべての周波数ビンの平均振幅によって除算される。本開示で使用されるように、所与の周波数のスペクトル振幅の、すべての周波数ビンの平均振幅に対する比は、相対振幅と称する。
【0033】
一方法例として、スペクトルVADブロック115は、相対振幅が所定しきい値を上回る周波数ビンの数を計数する。好ましくは、この高振幅しきい値は、平均振幅の約1.5倍から約5倍である。さらに好ましくは、高振幅しきい値は、平均振幅の約2倍から約4倍である。なおもさらに好ましくは、高振幅しきい値は、平均振幅の約3倍である。ここではビン計数しきい値と称される高振幅ビン計数が所定量を超える場合、スペクトルVADブロック115は、制御ブロック111がVAD割り込み信号116を生成するべきとの決定をする。好ましくは、このビン計数しきい値は、約2ビンから約15ビンである。さらに好ましくは、ビン計数しきい値は、約3ビンから約12ビンである。なおもさらに好ましくは、ビン計数しきい値は、約5ビンから約10ビンである。
【0034】
他方法例として、制御ブロック111がVAD割り込み信号116を生成するべきか否かを決定するべく、スペクトルVADブロック115はピーク距離を評価する。本文脈において、ピークビンとは、隣接するものよりも高い振幅を有する周波数ビンのことであり、周波数ビンの相対振幅はしきい値を上回る。好ましくは、この相対振幅しきい値は、平均振幅の約1.5倍から約5倍である。さらに好ましくは、相対振幅しきい値は、平均振幅の約2倍から約4倍である。なおもさらに好ましくは、相対振幅しきい値は、平均振幅の約3倍である。第1ピークビン(すなわち最低の周波数を有するピークビン)と最後のピークビン(すなわち最高の周波数を有するピークビン)との間の距離が所定値を超える場合、スペクトルVADブロック115は、制御ブロック111がVAD割り込み信号116を生成するべきとの決定をする。好ましくは、このピーク距離しきい値は、約0.5kHzから約5kHzである。さらに好ましくは、ピーク距離しきい値は、約1kHzから約3kHzである。なおもさらに好ましくは、ピーク距離しきい値は、約2kHzである。
【0035】
スペクトルVADブロック115は、記載した方法例の一方又は双方を使用し得る。他の同様の方法もまた使用してよい。好ましくは、高振幅しきい値、ビン計数しきい値、相対振幅しきい値、及びピーク距離しきい値はそれぞれが、例えばユーザインタフェイスを介して、個々にユーザプログラム可能である。
【0036】
スペクトルVADブロック115はまた、周波数ビンにおける最高ピーク振幅、及び最高ピークの位置(すなわちその周波数ビンは最高ピークを有する)を決定することができる。最高ピーク駿府区及びその位置が、2秒以上のような所定時間インターバルにわたって変化しない場合、アナログオーディオ入力122は、航空機客室内のバックグラウンドノイズのような固定トーンノイズを含む可能性が高い。よって、最高ピーク振幅及びその位置を決定することにより、スペクトルVADは固定トーンノイズを排除することができる。固定トーンノイズは、排除されると、制御ブロック111がVAD割り込み信号116を生成するべきか否かを決定するときに、スペクトルVADブロック115により含まれることがない。
【0037】
図3は、人間の話しからのオーディオ信号のグラフ例である。ここで、縦軸は信号振幅を表し、横軸は時間を表す。
図3に示されるように、例えばADC101により受信される入来音声コマンド300は、トリガーフレーズ301又はキーフレーズ、及びコマンドフレーズ302、並びにトリガーフレーズ301とコマンドフレーズ302との間の領域(当該トリガーフレーズのエンドポイント303と称される)を含み得る。コマンドフレーズ302もまた、当該コマンドフレーズのエンドポイント304を有し得る。トリガーフレーズ301は、例えば、インテリジェントパーソナルアシスタントをアクティブにする意図で、又はコマンドがまさにユーザにより与えられそうであることをホストに警告する意図でユーザが発したフレーズである。現行のインテリジェントパーソナルアシスタントを例として使用すれば、トリガーフレーズ301は、例えば「オーケー、グーグル」、「ヘイ、シリ」、「ハロー、ジャービス」又は「ヘイ、コルタナ」となり得る。コマンドフレーズ302の一例は「今日の天気はどうだい?」である。そうであっても音声コマンド300は、トリガーフレーズ301及びコマンドフレーズ302の双方を含む必要はない。
【0038】
図1を参照すると、VAD割り込み信号116は、音声認識アルゴリズムを実行するべくDSP106の音声認識モジュール105を起動する。一例として、DSP106による3つの音声認識段が存在し得る。すなわち、無音検出を有するVADヒステリシス、無音検出を有する音声認識キーフレーズパーシング1x、並びにキーフレーズパーシング>1x、ホスト送信及び無音検出を有するソフトウェアアクティビティ検出である。
【0039】
無音検出を有するVADヒステリシスにおいて、音声認識モジュール105は、VADブロック104により決定されるハードウェアVADの長期ヒステリシスを構築する。例えば、ヒステリシスは、FFT窓サイズを超える期間にわたって構築され得る。一つの可能な実装の一例として、上述した8kspsサンプル及び256ポイントのFFTの例において、FFT窓サイズは32msである。よって、ハードウェアVAD決定のヒステリシスは、32ms窓よりも数倍長い期間にわたって構築され得る。例えば、ヒステリシスは、FFT窓サイズの少なくとも2倍となる期間にわたって構築され得る。好ましくは、この期間は、FFT窓サイズの5倍から10倍である。無音検出により、音声認識モジュール105は、分析されたフレームが音声信号を包含するか否かを決定する。否の場合、フレームは無音フレームとみなされる。
【0040】
無音検出を有する音声認識キーフレーズパーシング1xにおいて、音声認識モジュール105は、トリガーフレーズ301に対し、分析されたフレームをパーシングする一方、音声認識モジュール105はまた、上述した無音検出も行う。
【0041】
キーフレーズパーシング>1x、ホスト送信及び無音検出によるソフトウェアアクティビティ検出において、音声認識モジュール105は、トリガーフレーズ301に対して分析されたフレームをパーシングする一方、音声認識モジュール105はまた、上述した無音検出も行う。加えて、トリガーフレーズ30が検出又は認識される場合、音声認識モジュール105は、送信音声コマンド情報をホストに送信することができる。音声コマンド情報は、例えば、トリガーフレーズ301若しくはトリガーフレーズ301に対応する信号、コマンドフレーズ302若しくはコマンドフレーズ302に対応する信号、若しくは検出されたトリガーフレーズ301に応答してホストを作動させるいくつかの他のコマンド、又はこれらの任意の組み合わせとしてよい。
【0042】
キーフレーズパーシング>1xは一般に、キーフレーズパーシング1xよりも速い処理速度で行われる。例えば、キーフレーズパーシング1xが、12MHzで動作するDSP106によって行われる一方、キーフレーズパーシング>1xは、例えば98MHzまでのような12MHzを超える速度で動作するDSP106によって行われ得る。これは、クロックシステム107に関して以下に記載される。速い処理速度により、例えば、パーシングプロセスが、音声RAM103の循環バッファのポインタに間に合うように追いつくことができる。
【0043】
図4は、
図1に示されるDSP106の音声認識モジュール105のような音声認識モジュールの、プロセス400の一例を示すフローチャートである。音声認識モジュールは、ソフトウェアVAD状態において始まる401。次に、音声認識モジュールは、分析されたフレームが、当該フレームが音声信号を包含しないことを意味する無音フレームであるか否かを決定する402。フレームが無音フレームでない場合、プロセスは、以下にさらに記載される音声認識状態へと進む。フレームが無音フレームの場合、プロセスは、無音タイムアウトが存在するか否かを決定する403。無音タイムアウトは、例えば、循環バッファが無音フレームによって一杯にされた場合、又は無音ヒステリシスしきい値に一致する場合に生じ得る。好ましくは、無音ヒステリシスしきい値は、ユーザプログラム可能である。無音タイムアウトが存在しない場合、プロセスはソフトウェアVAD状態に戻る401。無音タイムアウトが存在する場合、プロセスは、サスペンド状態に進む404。ここで、DSPは、VADブロック104からVAD割り込み信号116を受信するまでアイドル状態のままである。音声認識モジュールがVADブロック104からVAD割り込み信号116を受信すると405、DSPは、アイドル状態から離れ、12MHzモードのようなアクティブモード406に入る。その後、プロセスは、完全な音声認識状態へと移動する407。
【0044】
音声認識状態において407、DSP106の音声認識モジュール105は、トリガーフレーズ301のために分析されたフレームをパーシングする408。すなわち、ブロック408は、ソフトウェアVADの決定を表す。トリガーフレーズが認識された場合、プロセスは、さらなる処理のためにホストに音声コマンド情報を送信するべく、又はトリガーフレーズ301に応答して作動するべく、ホストへの音声接続リンクを開く409。上述のように、音声コマンド情報は、ホストに送信されるコマンドフレーズ302としてよい。トリガーフレーズが認識されない場合、プロセスは、ソフトウェアVAD状態に戻り401、上述したことを続ける。すなわち、音声認識モジュールは、分析されたフレームが上述した無音フレームであるか否かを決定する402。無音タイムアウトが生じたことをプロセスが決定する場合403、音声認識状態407の間に開始した音声認識は、プロセスがサスペンド状態へと進行するときに404、動作を停止し、上述したVADブロック104からのVAD割り込み信号116を待ち受ける。
【0045】
このように、ソフトウェアVAD状態401は、VADブロック104によるハードウェアVAD決定の長期間ヒステリシスを構築する。記載の実装は、多数決システムとしてよく、
図1のVADブロック104に対して上述したように、ハードウェアVAD決定だけで動作することができる。または、当該実装は、他のフレームベースの決定をソフトウェアに組み入れることができる。
【0046】
システムがリスニングしている場合、
図1に対して上述した音声RAM103のような循環バッファ又はFIFOへの音声サンプルの格納が進行している。FIFO又は履歴バッファは、ソフトウェアにおいてフレーム毎の原則で読み取られる。FIFOの深さは、モードに応じて変わり得る。ソフトウェアは、可能な限り多くのデータを消費するように構成され、状態に基づいて動的にDSP106を抑制することがある。例えば、ソフトウェアVAD事象を待ち受けている間、使用中のアルゴリズムが大量のサイクルを要求しないので、DSP速度は極めて低くなり得る。しかしながら、完全な音声認識状態407の稼働を証明するのに十分な音声アクティビティが検出される場合、DSP速度は増加し得る。
【0047】
ソフトウェアにおいて行われるフレームベースの決定は、ADC101から入来するリアルタイプサンプルに対して少量のレイテンシを導入し得る。ソフトウェアは、音声認識アルゴリズムをFIFOに読み込んで、音声コマンド300が最初に検出されたポイントから遡及的に実行する必要がある。DSP速度はまた、リアルタイムに「追いつく」ように増加され、ひとたび現行のフレームの数が予め定められたしきい値を下回ると、DSP速度は低減される。例えば、DSPは、現行のフレームの数が一に戻るときに、リアルタイムに「追いついた」とみなされ得る。
【0048】
音声認識状態407及びパーシング状態408がトリガーフレーズを認識すると、システムは、
図3に示されるエンドポイント303のようなトリガーフレーズのエンドポイントを検出するべく、エンドポイントアルゴリズムを実行し、その後、トリガーフレーズの終わりの前の又はそれまでの及びそれを含むデータすべてを破棄する。これにより、システムは、FIFOの所定量をフラッシュした後、以下に記載されるワンショット検出を目的としてFIFOメモリを再利用することができる。システムは引き続き、ソフトウェアVAD決定を使用して、第1の音声認識後もユーザが話し続けているか否かを決定する一方、サンプルをFIFOにバッファする。
【0049】
ワンショット検出と称される機能において、トリガーフレーズ301の発生後にユーザが話し続けたか否かを決定するべく、連続するスピーチパーシングが使用される。すなわち、ワンショット検出を目的として、システムは、トリガーフレーズ301が検出された後にホストとの音声接続を開くときのレイテンシを考慮してデータをバッファする。ソフトウェアVAD決定により、システムは、ワンショットタイムアウト、すなわちトリガーフレーズの特定の時間周期内にユーザが話したか否かを決定することができ、トリガーフレーズ301が検出される前の所定量の先行無音を破棄することもできる。このようにして、レイテンシを吸収することができる。また、ひとたびワンショットフレーズのエンドポイントが検出されると、音声RAM103における任意の外来性サンプルは破棄され又は無音と仮定される。この文脈において、ワンショットフレーズとは、検出されたトリガーフレーズ301、プラス、例えばコマンドフレーズ302のようなワンショットタイムアウト内の任意の付加的な話し言葉を意味する。付加的に、インテリジェントパーソナルアシスタントのようなホストとの相互作用を目的とする任意のその後の音声パケットは、実質的にリアルタイムに追いつき、さらに会話的な相互作用をする。
【0050】
上述のように、クロックシステム107は、複数のクロック生成メカニズムを含む。複数のクロック生成メカニズムは、好ましくは、クロックを生成するべく異なる量の電流を消費し、非同期である。例えば、第1クロック生成メカニズム又はスリープモードクロックメカニズムは、例えば12.288MHzでクロックを生成する水晶発振子なしで、位相ロックループ(PLL)回路を利用することができる。他例として、第2クロック生成メカニズム又は低電力クロックメカニズムは、例えば12.288MHzでクロックを発生させるように動く水晶発振子とともに、PLL回路を利用することができる。第3クロック生成メカニズム又は高電力クロックメカニズムは、第2クロック生成メカニズムを利用して、例えば98MHzまでのクロックを導出することができる。ここに記載されるように、第1クロック生成メカニズムは、第2クロック生成メカニズムよりも低い電流消費を有し、第2クロック生成メカニズムは、第3クロック生成メカニズムよりも低い電流消費を有する。同様に、第3クロック生成メカニズムは第2クロック生成メカニズムよりも速く、第2クロック生成メカニズムは第1クロック生成メカニズムよりもロバストである。
【0051】
クロックシステム107は、利用可能なクロック生成メカニズム間でスイッチングするべく構成される。すなわち、電流消費を低減するべく、第2クロック生成メカニズム又は第3クロック生成メカニズムの代わりに第1クロック生成メカニズムを使用することができる。同様に、電流消費を低減するべく第3クロック生成メカニズムの代わりに第2クロック生成メカニズムを使用することができる。したがって、第1クロック生成メカニズムは、例えば、VADブロック104がアクティブであるがDSP106が音声認識アルゴリズムを実行していない場合に使用することができる。第2クロック生成メカニズムは、例えば、VADブロック104からVAD割り込み信号116を受信した後にDSP106が音声認識アルゴリズムを実行しているときに使用することができる。そして、第3クロック生成メカニズムは、例えば、高い処理速度が必要又は所望とされるときに使用することができる。これは、例えば、>1xキーフレーズパーシングモードにおいて、又は音声認識アルゴリズムが、1xキーフレーズパーシングモードにおいて多くのサイクルを必要とする場合において動くプロセスが、ホストへの音声接続リンクを開くときに存在し得る。他の構成も使用することができる。デジタルオーディオロジックは典型的に12MHzで動くので、これらのクロックの例のいずれも使用することができる。
【0052】
クロックシステム107は、クロック生成メカニズム間でスイッチングする場合、DSP106、音声RAM103、VADブロック104、デシメーションフィルタ102及びADC101を含む音声コマンド検出及びキャプチャのシステム100全体にとって同時にスイッチングするのが好ましい。ADC101のデータレートが12.288MHzソースの分数であるから、12.288MHzソースは、当該分数のクロックの特定の位相でスイッチングする。
【0053】
クロックスイッチング事象の一例が
図5に示される。ここで、スイッチング事象の例は、矢印517により標識される。
図5に示されるように、クロックシステム107のようなクロックシステムは、現行の非同期クロックソースと新たな非同期クロックソースとの間のスイッチングをする場合、現行のクロックソースを特定の位相で有効に停止して新たなクロックソースのエッジを待ち受けることができる。これにより、クロックシステムは、クロック生成メカニズムの特位の位相においてクロックソース間のスイッチングをすることができる。したがって、クロックシステムは、異なるクロックレート間のクロックエッジの整列を与えることができる。
【0054】
非同期クロックソース間のスイッチングにより、システムのいくつかの機能を目的として、又はいくつかの環境において相対的に低電力のクロックを使用することができるとともに、他の機能を目的として、又は他の環境において高品質のクロックを使用することができる。さらに、システムのすべての側面に対してクロックソースを同時にスイッチングすることにより、クロックスイッチの瞬間に失われたサンプル時刻によってのみ導入された不連続性が存在しても、連続的なサンプルキャプチャが許容される。
【0055】
上述のように、低電力かつ常時リスニングの音声コマンド検出及びキャプチャシステム100は、一定数の別個の動作状態を含む。一つの実装例として再び
図1を参照して、6つの動作状態の例が、電流消費が増加する順で以下に記載される。
【0056】
動作状態の例
【0057】
動作l状態1の例:ハードウェア振幅トリガーを待ち受けるスリープモード
【0058】
この状態では、ADC101は、複数のレベルを比較するが、VADブロック104又は音声RAM103のためにサンプルを生成することはしない。オーディオアクティビティのレベルが特定された最小レベルを超えると、ウェイクアップ回路118は、サンプルを生成するべくADC101の残りを起動させる。上述したように、ADC101の変換器部分は、任意の電力を引き出してはいないが、ADC101はこのレベル比較モードにある。したがって、VADブロック104及び音声RAM103は非アクティブ状態である。クロックはスリープモードにあり、DSP106はアイドル状態である。
【0059】
動作状態2の例:ハードウェア振幅音声トリガーを待ち受ける常時リスニング状態
【0060】
この状態では、ADC101は、VADブロック104及び音声RAM103のためにアナログオーディオ入力122からサンプルを生成する。音声RAM103は、サンプルをその循環バッファに書き込む。クロックは低電力モードにあり、DSP106はアイドル状態である。VADブロック104は、振幅VADブロック109がアクティブ状態であることを意味する振幅検出モードにある。すなわち、制御ブロック111の動作のための上記例に戻ると、ADC101へのアナログオーディオ入力122の信号振幅は、制御ブロック111の低い方のしきい値を超えることがない。したがって、制御ブロック111は、スペクトル分析ブロック110を起動することも、VAD割り込み信号116を生成することもない。
【0061】
動作状態3の例:ハードウェアスペクトル音声トリガーを待ち受ける常時リスニング状態
【0062】
この状態では、ADC101は、VADブロック104及び音声RAM103のためにアナログオーディオ入力122からサンプルを生成する。音声RAM103は、サンプルをその循環バッファに書き込む。クロックは低電力モードにあり、DSP106はアイドル状態である。VADブロック104は、スペクトル分析ブロック110がアクティブ状態であることを意味するスペクトル検出モードにある。すなわち、制御ブロック111の動作のための上記例に戻ると、ADC101へのアナログオーディオ入力122の信号振幅は、制御ブロック111の低い方のしきい値を超えるが、高い方のしきい値を超えることがない。したがって、制御ブロック111は、スペクトル分析ブロック110をアクティブにしてこれらの結果を待ち受ける。
【0063】
動作状態4の例:低電流音声検出
【0064】
この状態では、ADC101は、VADブロック104及び音声RAM103のためにアナログオーディオ入力122からサンプルを生成する。音声RAM103は、サンプルをその循環バッファに書き込み、クロックは低電力モードにある。VADブロック104は、スペクトル検出モード又は振幅検出モードにある。すなわち、制御ブロック111の動作のための上記例に戻ると、ADC101へのアナログオーディオ入力122の信号振幅は、制御ブロック111の低い方のしきい値及び高い方のしきい値を超える。したがって、制御ブロック111は、スペクトル分析ブロック110からのスペクトルVAD決定にかかわらず、VAD割り込み信号116を生成する。DSP106は、無音検出を有するVADヒステリシスモードにある。これは、例えば、DSP106が、
図4に示される要素401~405により示されるプロセスを介して進行することを意味する。
【0065】
動作状態5の例:低電流音声認識
【0066】
この状態では、ADC101は、VADブロック104及び音声RAM103のためにアナログオーディオ入力122からサンプルを生成する。音声RAM103は、サンプルをその循環バッファに書き込み、バッファはDSP106によって読み取られる。クロックは低電力モードにある。VADブロック104は、上述したように、スペクトル検出モード又は振幅検出モードにあり、VADブロック104は、VAD割り込み信号116を生成している。DSP106は、DSP106の音声認識アルゴリズムが、トリガーフレーズ301のために分析されたフレームをパーシングする音声認識状態407にある。すなわち、例えば、DSP106は、無音検出を含む
図4に示される要素401~408により示されるプロセスを通して進行し、要素408において「いいえ」の決定となる。
【0067】
動作状態6の例:低電流音声コマンド処理
【0068】
この状態では、ADC101は、VADブロック104及び音声RAM103のためにアナログオーディオ入力122からサンプルを生成する。音声RAM103は、サンプルをその循環バッファに書き込み、バッファはDSP106によって読み取られる。クロックは高電力モードにある。VADブロック104は、上述したように、スペクトル検出モード又は振幅検出モードにある。DSP106の音声認識アルゴリズムは、トリガーフレーズ301のために分析されたフレームをパーシングし、
図4の要素408において「はい」の決定となる。すなわち、例えば、DSP106は、無音検出を含む
図4に示される要素401~409により示されるプロセスを通して進行する。
【0069】
複数の実施形態において、これらの動作状態は、独立して有効又は無効とされる。よって、システムは、かかる実施形態において、利用可能な動作状態のすべて又はほんのいくつかを選択して使用することができる。例えば、ノイズ環境において誤りの振幅トリガーを低減するべく、システムは、上述した動作状態3、4、5又は6のような相対的に高い状態を選択し、上述した動作状態1又は2のような相対的に低い動作状態を回避する。また、スリープ状態を回避してトリガーフレーズ301の始まりがキャプチャされて切り捨てられることがないことを保証するべく、システムは、上述した動作状態1のような相対的に低い動作状態を回避することができる。他方、電流消費を低減するべく、システムは、相対的に高い動作状態に対して上述した動作状態1、2、3、4又は5のような相対的に低い状態を選択することができる。
【0070】
具体例
【0071】
開示の技術の具体例が以下に与えられる。技術の実施形態は、以下に記載の例の一つ以上、及び任意の組み合わせを含み得る。
【0072】
例1は、音声コマンドを検出及びキャプチャするシステムを含み、このシステムは音声アクティビティ検出器(VAD)を含み、VADは、VAD受信デジタルオーディオ信号を受信することと、VAD受信デジタルオーディオ信号の振幅を決定することと、VAD受信デジタルオーディオ信号の振幅を第1しきい値と及び第2しきい値と比較することと、VAD受信デジタルオーディオ信号の振幅が第1しきい値又は第2しきい値を超えない場合にVAD割り込み信号を差し控えることと、VAD受信デジタルオーディオ信号の振幅が第1しきい値及び第2しきい値を超える場合にVAD割り込み信号を生成することと、VAD受信デジタルオーディオ信号の振幅が第1しきい値と第2しきい値との間に存在する場合にVAD割り込み信号のスペクトル分析を行うことと行うべく構成される。
【0073】
例2は、例1のシステムを含み、アナログオーディオ入力を受信するべく構成されたアナログデジタル変換器(ADC)をさらに含み、ADCは、アナログオーディオ入力から、ADCサンプリングレートでデジタルオーディオ信号を生成するべく構成された変換器部分を有する。
【0074】
例3は、例2のシステムを含み、ここで、ADCは、アナログオーディオ入力がオーディオアクティビティの開始レベルを有するか否かを決定することと、アナログオーディオ入力がオーディオアクティビティの開始レベルを有しない場合にADCを、ADCの変換器部分がデジタルオーディオ信号を生成しないスリープモードに置くことと、アナログオーディオ入力がオーディオアクティビティの開始レベルを有する場合にADCを、ADCの変換器部分がデジタルオーディオ信号を生成するアクティブモードに置くこととを行うべく構成されたウェイクアップ回路を含む。
【0075】
例4は、例3のシステムを含み、ここで、アナログオーディオ入力がオーディオアクティビティの開始レベルを有するか否かを決定するべく、ウェイクアップ回路は、アナログオーディオ入力をウェイクアップ開始しきい値と比較するべく構成される。
【0076】
例5は、例3~4のいずれかのシステムを含み、ここで、ウェイクアップ回路は、アナログオーディオ入力をブーストするべく構成されたオーディオプリアンプ利得段と、ブーストアナログオーディオ入力を、オーディオアクティビティの開始レベルを示すウェイクアップ開始しきい値と比較するべく構成された比較器段とを含む。
【0077】
例6は、例3~5のいずれかのシステムを含み、ここで、ADCの変換器部分は、ADCがスリープモードにある場合に電力供給なしとなり、ADCがアクティブモードにある場合に電力供給される。
【0078】
例7は、例2~6のいずれかのシステムを含み、ADCとVADとの間にデシメーションフィルタをさらに含み、デシメーションフィルタは、デジタルオーディオ信号を受信して当該デジタルオーディオ信号を処理し、ADCサンプリングレートよりも低い低減サンプリングレートを有する低減デジタルオーディオサンプルを生成するべく構成される。
【0079】
例8は、例1~7のいずれかのシステムを含み、ここで、VADは、サンプリングレートを有するVAD受信デジタルオーディオ信号を入力として受信して当該VAD受信デジタルオーディオ信号を、振幅を有するとともに当該VAD受信デジタルオーディオ信号の当該サンプリングレートよりも低いサンプリングレートを有する結合デジタルオーディオ信号を生成するように処理するべく構成されたサンプル結合ブロックと、結合デジタルオーディオ信号の振幅を決定するべく構成された振幅VADブロックと、VAD受信デジタルオーディオ信号のスペクトル分析を行うべく構成されたスペクトル分析ブロックと、2つの比較器を含む制御ブロックとを含み、制御ブロックは、VAD受信デジタルオーディオ信号の振幅を第1しきい値と及び第2しきい値と比較することと、VAD受信デジタルオーディオ信号の振幅が第1しきい値又は第2しきい値を超えない場合にVAD割り込み信号を差し控えてスペクトル分析ブロックをアクティブにすることと、VAD受信デジタルオーディオ信号の振幅が第1しきい値及び第2しきい値を超える場合にVAD割り込み信号を生成することとを行うべく構成される。
【0080】
例9は、例8のシステムを含み、ここで、スペクトル分析ブロックは、結合デジタルオーディオ信号をサンプル結合ブロックから受信して記憶するべく構成されたVADランダムアクセスメモリ(RAM)と、VADRAMに記憶された結合デジタルオーディオ信号のFFTを行ってFFT結果を出力するべく構成された高速フーリエ変換(FFT)ブロックと、FFT結果の平均振幅を決定するべく構成されたスペクトルローパスフィルタ(LPF)と、スペクトルLPFの結果を評価し、そのスペクトルLPFの結果の評価に基づいてVAD割り込み信号を生成するか又は引き続いてVAD割り込み信号を差し控えるかするように制御ブロックに信号を送るべく構成されたスペクトルVADブロックとを含む。
【0081】
例10は、例1~9のいずれかのシステムを含み、VADからVAD割り込み信号を受信してトリガーフレーズのためにVAD受信デジタルオーディオ信号を分析するべく構成されたデジタル信号プロセッサ(DSP)をさらに含む。
【0082】
例11は、例10のシステムを含み、VAD受信デジタルオーディオ信号を受信して先入れ先出し(FIFO)フォーマットで格納するべく構成された音声ランダムアクセスメモリ(RAM)をさらに含み、音声RAMはDSPによりアクセスされるように構成される。
【0083】
例12は、例10~11のいずれかのシステムを含み、複数の非同期クロック生成メカニズムを含むクロックシステムをさらに含み、当該非同期クロック生成メカニズムはそれぞれが異なる電流消費を有し、クロックシステムは、非同期クロック生成メカニズム間でスイッチングするべく構成される。
【0084】
例13は、音声コマンドを検出及びキャプチャする方法を含み、その方法は、音声アクティビティ検出器(VAD)がVAD受信デジタルオーディオ信号を受信することと、VADがVAD受信デジタルオーディオ信号の振幅を決定することと、VADがVAD受信デジタルオーディオ信号の振幅を第1しきい値と及び第2しきい値と比較することと、VAD受信デジタルオーディオ信号の振幅が第1しきい値又は第2しきい値を超えない場合にVADがVAD割り込み信号を差し控えることと、VAD受信デジタルオーディオ信号の振幅が第1しきい値及び第2しきい値を超える場合にVADがVAD割り込み信号を生成することと、VAD受信デジタルオーディオ信号の振幅が第1しきい値と第2しきい値との間に存在する場合にVADがVAD受信デジタルオーディオ信号のスペクトル分析を行うこととを含む。
【0085】
例14は、例13の方法を含み、アナログデジタル変換器(ADC)がアナログオーディオ入力を受信することと、ウェイクアップ回路が、アナログオーディオ入力がオーディオアクティビティの開始レベルを有するか否かを決定することと、アナログオーディオ入力がオーディオアクティビティの開始レベルを有しない場合にADCを、ADCの変換器部分がデジタルオーディオ信号を生成しないスリープモードに置くことと、アナログオーディオ入力がオーディオアクティビティの開始レベルを有する場合にADCを、ADCの変換器部分がデジタルオーディオ信号をアナログオーディオ入力からADCサンプリングレートで生成するアクティブモードに置くこととをさらに含む。
【0086】
例15は、例14の方法を含み、ここで、ウェイクアップ回路が、アナログオーディオ入力がオーディオアクティビティの開始レベルを有するか否かを決定することは、アナログオーディオ入力をウェイクアップ開始しきい値と比較することを含む。
【0087】
例16は、例14~15のいずれかの方法を含み、ADCがスリープモードにある場合にADCの変換器部分に電力供給をしないことと、ADCがアクティブモードにある場合にADCの変換器部分nに電力供給をすることとをさらに含む。
【0088】
例17は、例14~16の方法を含み、デジタル信号プロセッサ(DSP)がVAD割り込み信号をVADから受信することと、トリガーフレーズを検出するべくDSPがVAD受信デジタルオーディオ信号を分析することとをさらに含む。
【0089】
例18は、例13~17のいずれかの方法を含み、音声ランダムアクセスメモリ(RAM)が、VAD受信デジタルオーディオ信号を受信して先入れ先出し(FIFO)フォーマットで格納することをさらに含む。
【0090】
例19は、例18の方法を含み、トリガーフレーズがDSPによって検出された場合にトリガーフレーズのエンドポイント前の音声RAMについてのデータすべてを破棄することをさらに含む。
【0091】
例20は、例17~19のいずれかの方法を含み、トリガーフレーズがDSPによって検出された場合に、トリガーフレーズ後の予め特定されたタイムアウトの間にユーザが話したか否かを決定することをさらに含む。
【0092】
開示された主題の前述したバージョンは、記載されたか又は当業者にとって明らかかのいずれかの多くの利点を有する。そうだとしても、これらの利点又は特徴のすべてが、開示される装置、システム又は方法のすべてのバージョンにおいて要求されるわけではない。付加的に、この記載の説明は、特定の特徴を参照する。理解すべきことだが、本明細書における開示は、これらの特定の特徴のすべての可能な組み合わせを含む。例えば、特定の特徴が、特定の側面又は実施形態の文脈において開示される場合、その特徴はまた、他の側面及び実施形態の文脈において、可能な範囲まで使用することができる。
【0093】
さらに、本発明の複数の実施形態は、特に作られたハードウェアで、ファームウェアで、デジタル信号プロセッサで、又は特別にプログラムされた、プログラム命令に従って動作するプロセッサを含む汎用コンピュータで動作し得る。ここで使用される用語「プロセッサ」は、マイクロプロセッサ、マイクロコンピュータ、ASIC、及び専用のハードウェアコントローラを含むことが意図される。本発明の一つ以上の側面は、例えば一つ以上のコンピュータ(モニタリングモジュールを含む)又は他のデバイスによって実行される一つ以上のプログラムモジュールにおいて、コンピュータ使用可能データ及びコンピュータ実行可能命令に具体化することができる。一般に、プログラムモジュールは、コンピュータ又は他のデバイスにおいてプロセッサにより実行されるときに特定のタスクを実行し、又は特定の抽象的データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。コンピュータ実行可能命令は、ハードディスク、光ディスク、リムーバブルストレージ媒体、ソリッドステートメモリ、RAM等のような非一時的コンピュータ可読媒体に格納することができる。当業者にわかることだが、プログラムモジュールの機能は、様々な実施形態において所望のとおり組み合わせ又は分散することができる。加えて、その機能は、全体又は部分を、集積回路、フィールドプログラム可能ゲートアレイ(FPGA)等のようなファームウェア又はハードウェア等価物に具体化することができる。本発明の一つ以上の側面を有効に実装するべく特定のデータ構造を使用することができ、かかるデータ構造は、ここに記載されるコンピュータ実行可能命令及びコンピュータ使用可能データの範囲内で考えられる。
【0094】
さらに、用語「含む」及びその文法的等価物は、本願において、他のコンポーネント、機能、ステップ、プロセス、動作等がオプションとして存在することを意味する。例えば、コンポーネントA、B及びCを「含む」物は、コンポーネントA、B及びCのみを包含することができ、又は一つ以上の他のコンポーネントと一緒にコンポーネントA、B及びCを包含することもできる。さらに、本願において2つ以上の画定されたステップ又は動作を有する方法が参照される場合、その画定されたステップ又は動作は、文脈が当該可能性を排除しない限り、任意の順序で又は同時に実行することができる。
【0095】
付加的に、本発明の特定の実施形態が例示を目的として図示かつ記載されているにもかかわらず、本発明の要旨及び範囲を逸脱することなく様々な修正例がなされ得ることが理解される。したがって、本発明は、添付の特許請求の範囲による以外に限定されるべきではない。