(57)【要約】      （修正有）【課題】効率的に性能が改善される音声アクティビティ検出（ＶＡＤ）の方法及び装置を提供する。【解決手段】ＶＡＤ２００において、プライマリ音声検出部２０１は、予備判定値ｖａｄ＿ｐｒｉｍ  ２１３を生成する。プライマリ判定値ｖａｄ＿ｐｒｉｍ  ２１３の短期アクティビティ及び最終判定値ｖａｄ＿ｆｌａｇ  ２１５の長期アクティビティの特徴を用いて、時間的な特性が取得される。そしてこれらの尺度は、ハングオーバ付加の調整に使用され、代替最終判定値（ａｌｔｅｒｎａｔｅ  ｆｉｎａｌ  ｄｅｃｉｓｉｏｎ）ｖａｄ＿ｆｌａｇ＿ｄｔｘ  ２１７を生成することによりハングオーバ付加を決定することを含む。ハングオーバ付加の決定は、短期アクティビティ尺度及び長期アクティビティ尺度の少なくともいずれかに依存して行われ、最終ＶＡＤ判定値を示す信号が生成される。【選択図】図２
2019023741.tif 000002
【特許請求の範囲】
【請求項１】
音声アクティビティ検出(VAD)のための方法であって、
プライマリVAD判定値を示す信号を生成するステップ(310)と、
前記プライマリVAD判定値のハングオーバ付加を行うか否かを決定するステップ(320)と、
前記ハングオーバ付加の決定の少なくとも一部に依存して、最終VAD判定値を示す信号を生成するステップ(330)と、
を有し、
前記ハングオーバ付加の決定は、短期アクティビティ尺度及び長期アクティビティ尺度のうちの少なくともいずれかに基づくことを特徴とする方法。
【請求項２】
前記短期アクティビティ尺度は、最新のN_st個のプライマリVAD判定値から推定されることを特徴とする請求項１に記載の方法。
【請求項３】
前記長期アクティビティ尺度は、最新のN_lt個のプライマリVAD判定値又は最新のN_lt個の最終VAD判定値から推定されることを特徴とする請求項１又は２に記載の方法。
【請求項４】
N_ltはN_stより大きいことを特徴とする請求項２又は３に記載の方法。
【請求項５】
前記最終VAD判定値を示す信号を生成するステップは、最終判定値の２つのバージョンである第１最終VAD判定値及び第２最終VAD判定値を生成するステップを含むことを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記第２最終VAD判定値は、前記短期アクティビティ尺度又は長期アクティビティ尺度を用いずに生成されることを特徴とする請求項５に記載の方法。
【請求項７】
前記長期アクティビティ尺度は、最新のN_lt個の第２最終VAD判定値から推定されることを特徴とする請求項５又は６に記載の方法。
【請求項８】
前記第１最終VAD判定値はvad_flag_dtxに対応し、前記第２最終VAD判定値はvad_flagに対応することを特徴とする請求項５乃至７のいずれか１項に記載の方法。
【請求項９】
前記短期アクティビティ尺度は、最新の複数のプライマリVAD判定値のメモリにおけるアクティブフレームの数に基づくものであることを特徴とする請求項２に記載の方法。
【請求項１０】
前記長期アクティビティ尺度は、最新の複数の最終VAD判定値のメモリ又は最新の複数のプライマリVAD判定値のメモリにおけるアクティブフレームの数に基づくものであることを特徴とする請求項３に記載の方法。
【請求項１１】
前記アクティブフレームは、最新の複数のVAD判定値のメモリにおける当該アクティブフレームの経過時間に応じて重み付けされることを特徴とする請求項９又は１０に記載の方法。
【請求項１２】
前記短期アクティビティ尺度が所定の第１しきい値に達し、かつ、前記長期アクティビティ尺度が所定の第２しきい値に達した場合に、所定数のハングオーバフレームを付加するステップを有することを特徴とする請求項１乃至１１のいずれか１項に記載の方法。
【請求項１３】
前記ハングオーバ付加を行うと決定された場合、前記最終VAD判定値は音声アクティビティ判定値と等しいことを特徴とする請求項１乃至１２のいずれか１項に記載の方法。
【請求項１４】
前記ハングオーバ付加を行わないと決定された場合、前記最終VAD判定値は前記プライマリVAD判定値と等しいことを特徴とする請求項１乃至１３のいずれか１項に記載の方法。
【請求項１５】
音声アクティビティ検出(VAD)のための装置であって、
入力信号を受信する入力部(412)と、
前記入力部(412)に接続され、前記受信した入力信号の音声アクティビティを検出し、前記受信した入力信号のプライマリVAD判定値を示す信号を生成するプライマリ音声検出部(401)と、
前記プライマリ音声検出部(401)に接続され、前記プライマリVAD判定値のハングオーバ付加を行うか否かを決定し、前記ハングオーバ付加の決定の少なくとも一部に依存して、最終VAD判定値を示す信号を生成するハングオーバ付加部(402)と、
を有し、
前記装置は更に、
前記ハングオーバ付加部(402)の入力に接続される短期アクティビティ推定部(403)と、
前記ハングオーバ付加部(402)の出力に接続される長期アクティビティ推定部(404)と、
の少なくともいずれか一方を有し、
前記ハングオーバ付加部(402)は、更に、前記短期アクティビティ推定部(403)及び前記長期アクティビティ推定部(404)の少なくともいずれか一方の出力に接続され、短期アクティビティ尺度及び長期アクティビティ尺度の少なくともいずれか一方に応じて前記ハングオーバ付加の決定を行うことを特徴とする装置。
【請求項１６】
前記短期アクティビティ推定部(403)は、最新のN_st個のプライマリVAD判定値から前記短期アクティビティ尺度を推定することを特徴とする請求項１５に記載の装置。
【請求項１７】
前記長期アクティビティ推定部(404)は、最新のN_lt個のプライマリVAD判定値又は最新のN_lt個の最終VAD判定値から前記長期アクティビティ尺度を推定することを特徴とする請求項１５又は１６に記載の装置。
【請求項１８】
前記ハングオーバ付加部(402)は、最終判定値の２つのバージョンである第１最終VAD判定値及び第２最終VAD判定値を生成することを特徴とする請求項１５乃至１７のいずれか１項に記載の装置。
【請求項１９】
前記第２最終VAD判定値は、前記短期アクティビティ尺度又は長期アクティビティ尺度を用いずに生成されることを特徴とする請求項１８に記載の装置。
【請求項２０】
前記長期アクティビティ推定部(404)は、最新のN_lt個の第２最終VAD判定値から前記長期アクティビティ尺度を推定することを特徴とする請求項１８又は１９に記載の装置。
【請求項２１】
前記プライマリVAD判定値及び前記最終VAD判定値のメモリを有し、更に、前記プライマリVAD判定値及び前記最終VAD判定値のメモリにおけるアクティブフレームのカウンタを有することを特徴とする請求項１５乃至２０のいずれか１項に記載の装置。
【請求項２２】
前記短期アクティビティ尺度及び前記長期アクティビティ尺度の少なくともいずれか一方は、前記プライマリVAD判定値及び前記最終VAD判定値のメモリにおけるアクティブフレームの数に基づくものであることを特徴とする請求項２１に記載の装置。
【請求項２３】
前記ハングオーバ付加部(402)は、更に、前記短期アクティビティ尺度が所定の第１しきい値に達し、かつ、前記長期アクティビティ尺度が所定の第２しきい値に達した場合に、所定数のハングオーバフレームを付加することを特徴とする請求項１５乃至２２のいずれか１項に記載の装置。
【請求項２４】
前記ハングオーバ付加を行うと決定された場合は、前記最終VAD判定値は音声アクティビティ判定値と等しく、前記ハングオーバ付加を行わないと決定された場合は、前記最終VAD判定値は前記プライマリVAD判定値と等しいことを特徴とする請求項１５乃至２３のいずれか１項に記載の装置。
【請求項２５】
音声又はサウンドを符号化するコーデックであって、請求項１５乃至２４の少なくともいずれか１項の装置を有するコーデック。
【請求項２６】
コンピュータ読み取り可能なコードを含むコンピュータプログラムであって、装置で実行されると、前記装置に、
プライマリVAD判定値を示す信号を生成するステップ(310)と、
前記プライマリVAD判定値のハングオーバ付加を行うか否かを決定するステップ(320)と、
前記ハングオーバ付加の決定の少なくとも一部に依存して、最終VAD判定値を示す信号を生成するステップ(330)と、
を実行させ、
前記ハングオーバ付加の決定は、短期アクティビティ尺度及び長期アクティビティ尺度のうちの少なくともいずれかに基づくことを特徴とするコンピュータプログラム。
【請求項２７】
コンピュータ読み取り可能な記憶媒体と、前記コンピュータ読み取り可能な記憶媒体に格納された請求項２６に記載のコンピュータプログラムとを含む、コンピュータプログラム製品。
【請求項２８】
プロセッサ(510)と、
ソフトウェアコンポーネント(501, 502, 503, 504, 505)を格納するメモリ(520)と、
を有し、
前記プロセッサ(510)は、
プライマリVAD判定値を示す信号を生成するためのソフトウェアコンポーネント(501)と、
前記プライマリVAD判定値のハングオーバ付加を行うか否かを決定するためのソフトウェアコンポーネント(502)と、
前記ハングオーバ付加の決定の少なくとも一部に依存して、最終VAD判定値を示す信号を生成するためのソフトウェアコンポーネント(503)と、
最新のN_st個のプライマリVAD判定値から前記短期アクティビティ尺度を推定するためのソフトウェアコンポーネント(504)、及び、最新のN_lt個の最終VAD判定値から前記長期アクティビティ尺度を推定するためのソフトウェアコンポーネント(505)の少なくともいずれか一方と、
を実行することを特徴とする装置(500)。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声アクティビティ検出（VAD)のための方法及び装置に関する。
【背景技術】
【０００２】
会話音声に対して使用される音声符号化方式において、符号化の効率を向上するために間欠送信（DTX：discontinuous transmission）を使用することが一般的である。これは、一方の人が話している間は他方の人は聞いている等、会話音声にはその音声内に多くの無音区間を含むためである。そのため、DTXを用いる場合、音声符号器がアクティブなのは平均して約50％の時間だけであり、残りの時間はコンフォートノイズを使用して符号化されうる。この特徴を有するコーデックとしては例えばAMR NB (Adaptive Multi-Rate Narrow Band)、EVRC (Enhanced Variable Rate Codec)がある。AMR NBはDTXを使用し、EVRCは可変ビットレート (VBR) を使用する。ここで、RDA (Rate Determination Algorithm) は、フレーム毎に、VAD判定に基づき、使用するデータレートを決定する。DTX演算において、音声アクティブフレームはコーデックを用いて符号化されるが、アクティブ領域の間のフレームはコンフォートノイズで置き換えられる。エンコーダでコンフォートノイズ・パラメータが推定され、低減されたフレームレートで、かつ、アクティブ音声に用いられるビットレートよりも低いビットレートで、デコーダに送られる。
【０００３】
高品質なDTX動作のためには、すなわち、音質を劣化させないためには、入力信号における音声の区間を検出することが重要である。これは通常、音声アクティビティ検出器 (VAD) (DTX及びRDAの両方に使用される) によって行われる。図１に一般的なVAD 100の概略ブロック図を示す。VAD 100では、実施内容に依存して5〜30msのデータフレームに分割された入力信号 111を入力として受信し、出力として、典型的には１フレームにつき１つのVAD判定値を生成する。VAD判定値は、そのフレームが音声か雑音かを示すフレーム毎の判定である。
【０００４】
この例では、プライマリ音声検出部101により、プライマリ判定値vad_prim 113が作成される。基本的に、これは現フレームの特徴と（前の入力フレームから推定される）背景音の特徴との単なる比較であり、差分がしきい値より大きい場合にプライマリ判定は音声アクティブ（active）とされる。他の例において、プライマリ判定は以下に示すような他の方法でも行われうる。プライマリ音声検出器の内部動作の詳細は、本開示においては特に重要ではなく、本願において重要なのは、プライマリ音声検出部は予備的な判定値を生成するという点である。この例において、ハングオーバ付加部102は、過去のプライマリ判定値に基づきプライマリ判定値を延長し、最終判定値vad_flag 115を形成する。ハングオーバを使用する理由は、主に、音声バーストの中間部や後端部で音声がクリッピングされてしまうリスクを低減/除去するためである。ただし、ハングオーバは音楽の楽句のクリッピングを避けるのにも利用されうる。
【０００５】
DTXの目的のために、追加的なハングオーバを付加することも可能である。図１において、これはオプショナルな出力vad_flag_dtx 117によって示されている。出力がDTXに使用される場合に、出力がvad_flagの１つだけで、他の設定がハングオーバの論理に使用されることは、珍しいことではない。この開示においては、記載を簡単にするため、各実施形態において、vad_flag 115及びvad_flag_dtx 117の２つの最終判定値に別れる。もっとも、他のハングオーバ設定や単一出力に基づく方法でもよい。
【０００６】
異なる最終判定値を用いる、あるいは、VAD判定値をDTXに使用するか否かに依存するハングオーバ設定を用いるのには、２つの理由がある。第１に、音質の観点からは、DTXに用いられる場合にはVADには厳しい要件が求められる。そのため、コンフォートノイズに切り替える前に音声の終端がくることを確実にすることが望まれる。第２に、背景雑音の特徴の推定に、追加的なハングオーバを用いることができるからである。例えば、AMR NBの例において、特定のDTXハングオーバの使用に基づいて、第１コンフォートノイズ推定がデコーダで行われる。
【０００７】
上述したように、VAD判定に用いることのできる多くの特徴がある。使用可能な１つの特徴は、フレームエネルギだけをみて、これをしきい値と比較して、当該フレームに音声が含まれるか否かを判定するというものである。この方法は、信号対雑音比 (SNR) が高い環境であれば概ね良好に動作するが、SNRが低い場合には性能が低下する。低SNR環境では、例えば音声の特徴と雑音信号を比較する他の尺度を用いることが好ましい。リアルタイム処理を実現するには、演算量がVAD機能の追加的な要件となり、これは、標準コーデックにおいてはサブバンドSNR VADの多くの代表値に反映される。サブバンドVADは一般に、各サブバンドのSNRを結合して共通の尺度にし、プライマリ判定のためにしきい値と比較される。
【０００８】
VAD 100は、サブバンドエネルギの特徴を提供する特徴抽出部106と、サブバンドエネルギ推定値を提供する背景推定部105を有する。フレーム毎に、VAD100は特徴を計算する。アクティブフレームを特定するために、現フレームの特徴が、その特徴が背景信号をどのくらい「予期」しているかの推定値と比較される。
【０００９】
ハングオーバ付加部102は、過去のプライマリ判定値に基づいて、プライマリVADからVAD判定を延長して最終VAD判定値“vad_flag"を形成するのに使用される。すなわちここでは、過去のVAD判定値が考慮される。前述したとおり、ハングオーバを使用する理由は主に、音声バーストの中間部または後端部で音声がクリッピングされるリスクを低減/除去するためである。ただし、ハングオーバは、音楽の楽句におけるクリッピングを避けるためにも使用可能である。動作制御部107は、入力信号の特徴に従って、プライマリ音声検出部のしきい値やハングオーバ付加の長さを調整することができる。
【００１０】
特性の異なる複数の特徴量をプライマリ判定に用いる公知の技術も存在する。サブバンドSNRの原理に基づくVADに対して、有意閾値 (significance thresholds) ともよばれるサブバンドSNRの計算における非線形性の導入によって、バブル雑音やオフィス雑音といった非定常雑音下でのVADの性能を改善できることが示されている。しかし、これらの場合において、入力信号の状態に適応したハングオーバを付加して最終判定値を形成するためのプライマリ判定値は一般的には１つである。また、多くのVADは、非常に低い入力レベルにおいてプライマリ判定値が非アクティブ状態とされるような無音検出のための入力エネルギ閾値を有する。
【００１１】
国際公開第2008/143569号パンフレットに、有意閾値を用いてデュアルVADを実現する例が開示されている。ここで、デュアルVADは背景雑音の更新をミュージック検出を改善するために使用される。しかし、積極的 (aggressive) なプライマリVADだけが最終のvad_flag判定に使用されている。
【００１２】
国際公開第2008/143569号パンフレットにおいては、ミュージックの存在を検出するのに、ローパスフィルタリングされた短期アクティビティに基づく尺度が使用されている。追加vad_music判定値がハングオーバ付加部に提供され、これにより、特有の方法で音楽サウンドを扱うことが可能になっている。
【００１３】
複数のプライマリVAD判定値を生成するにはいくつかの方法がある。最もベーシックな方法は、オリジナルのVAD判定値と同じ特徴量を用いるとともに、第２閾値を用いた第２プライマリ判定値を取得する方法である。他の方法は、推定されるSNRの状態に応じてVADを切り替える方法である。例えば、高SNR状態ではエネルギを用いたVADを行い、中SNR状態及び低SNR状態ではサブバンドSNR演算に切り替える。
【００１４】
国際公開第2011/049516号パンフレットにおいて、音声アクティビティ検出器及び方法が開示されている。音声アクティビティ検出器は受信した入力信号の音声アクティビティを検出する。VADは、VADのプライマリ音声検出器からプライマリVAD判定値を示す信号を受信する組み合わせ論理部を有する。組み合わせ論理部は、更に、外部VADから、音声アクティビティ判定値を示す少なくとも１つの信号を受信する。プロセッサは、受信した信号により示される音声アクティビティ判定値を組み合わせて修正VAD判定値を生成する。修正VAD判定値はハングオーバ付加部に送信される。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】国際公開第2008/143569号パンフレット
【特許文献２】国際公開第2011/049516号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【００１６】
課題の１つは、ハングオーバをいつどれくらい使うべきかを決めることである。音質の観点からは、ハングオーバを追加することは基本的には有益である。しかし、ハングオーバを追加しすぎると、DTXの効率が落ちるため、望ましくない。短いアクティブのバーストごとにハングオーバを追加するのは望ましくないので、最終判定値vad_flagを生成するためにハングオーバを追加することを考慮する前に、プライマリ検出値vad_primからのアクティブフレームの最小の数を持たせることを要件とするのが一般的である。しかし、音声のクリッピングを避けるために、この要件とするアクティブフレームの数は、なるべく少ない数にしておくことが望ましい。
【００１７】
非定常雑音に対しては、要件とするアクティブフレームの数を少なくしておくことは、雑音自体によって、ハングオーバ追加のトリガとなるのに十分な長さのVADイベントを生じさせることができる。
【００１８】
高効率なVADのためにハングオーバを追加する前に要件とするアクティブフレームの数についての他の問題は、発話における短い休止 (pauses) を検出する能力にある。この場合において、発話を正しく検出しているのだが、それは、話者は発話を継続する前にわずかな休止を入れただけの場合もある。この場合、VADは、休止を検出し、ハングオーバが追加される前にプライマリのアクティブフレームの新たな区間が再度必要となる。これにより、無声破裂音（unvoiced explosives）で終わる発話のような音声区間の後続部の、終端クリッピングによる耳障りな音が生じうる。
【課題を解決するための手段】
【００１９】
本発明の実施形態の目的は、上記した問題の少なくとも１つ解決することであり、かかる目的は、添付の独立請求項に従う方法及び装置、及び、従属請求項に従う実施形態によって達成される。
【００２０】
本発明の一側面によれば、プライマリVAD判定値を示す信号を生成するステップと、前記プライマリVAD判定値のハングオーバ付加を行うか否かを決定するステップとを含む音声アクティビティ検出(VAD)のための方法が提供される。ハングオーバ付加の決定は、短期アクティビティ尺度及び長期アクティビティ尺度のうちの少なくともいずれかに基づいて行われる。そして、前記ハングオーバ付加の決定の少なくとも一部に依存して、最終VAD判定値を示す信号が生成される。
【００２１】
一実施形態において、前記短期アクティビティ尺度は、最新のN_st個のプライマリVAD判定値から推定される。
【００２２】
一実施形態において、前記長期アクティビティ尺度は、最新のN_lt個のプライマリVAD判定値又は最新のN_lt個の最終VAD判定値から推定される。
【００２３】
一実施形態において、最終判定値の２つのバージョンである第１最終VAD判定値及び第２最終VAD判定値が生成される。前記第２最終VAD判定値は、前記短期アクティビティ尺度及び／又は長期アクティビティ尺度を用いずに生成され、また、前記長期アクティビティ尺度は、最新のN_lt個の第２最終VAD判定値から推定される。
【００２４】
一実施形態において、ハングオーバ付加を行わないと決定された場合は、最終VAD判定値はプライマリVAD判定値と等しい。ハングオーバ付加を行うと決定された場合は、最終VAD判定値はアクティブフレームを示す音声アクティビティ判定値と等しい。
【００２５】
本発明の別の側面によれば、音声アクティビティ検出のための装置が提供される。装置は、入力部と、プライマリ音声検出部と、ハングオーバ付加部とを有する。入力部は、入力信号を受信する。プライマリ音声検出部は、入力部に接続される。プライマリ音声検出部は、前記受信した入力信号の音声アクティビティを検出し、前記受信した入力信号のプライマリVAD判定値を示す信号を生成する。ハングオーバ付加部は、プライマリ音声検出部と接続される。ハングオーバ付加部は、前記プライマリVAD判定値のハングオーバ付加を行うか否かを決定し、前記ハングオーバ付加の決定の少なくとも一部に依存して、最終VAD判定値を示す信号を生成する。装置は更に、短期アクティビティ推定部と、長期アクティビティ推定部との少なくともいずれか一方を有する。短期アクティビティ推定部は、ハングオーバ付加部の入力に接続される。長期アクティビティ推定部は、前記ハングオーバ付加部の出力に接続される。前記ハングオーバ付加部は、更に、前記短期アクティビティ推定部及び前記長期アクティビティ推定部の少なくともいずれか一方の出力に接続される。前記ハングオーバ付加部は、短期アクティビティ尺度及び長期アクティビティ尺度の少なくともいずれか一方に応じて前記ハングオーバ付加の決定を行う。
【００２６】
一実施形態において、前記短期アクティビティ推定部(403)は、最新のN_st個のプライマリVAD判定値から前記短期アクティビティ尺度を推定する。
【００２７】
一実施形態において、前記長期アクティビティ推定部(404)は、最新のN_lt個のプライマリVAD判定値又は最新のN_lt個の最終VAD判定値から前記長期アクティビティ尺度を推定する。
【００２８】
一実施形態において、装置が提供される。この実施形態は、例えばマイクロプロセッサのようなプロセッサに基づくものである。プロセッサは、プライマリVAD判定値を示す信号を生成するためのソフトウェアコンポーネントと、前記プライマリVAD判定値のハングオーバ付加を行うか否かを決定するためのソフトウェアコンポーネントと、前記ハングオーバ付加の決定の少なくとも一部に依存して、最終VAD判定値を示す信号を生成するためのソフトウェアコンポーネントとを実行する。この実施形態において、プロセッサは、最新のN_st個のプライマリVAD判定値から前記短期アクティビティ尺度を推定するためのソフトウェアコンポーネント、及び、最新のN_lt個の最終VAD判定値から前記長期アクティビティ尺度を推定するためのソフトウェアコンポーネントの少なくともいずれか一方を実行する。これらのソフトウェアコンポーネントはメモリに格納される。
【００２９】
本発明の別の側面によれば、コンピュータプログラムが提供される。コンピュータプログラムは、装置で実行されると、前記装置に、プライマリVAD判定値を示す信号を生成するステップと、短期アクティビティ尺度及び長期アクティビティ尺度のうちの少なくともいずれかに基づいて、前記プライマリVAD判定値のハングオーバ付加を行うか否かを決定するステップと、前記ハングオーバ付加の決定の少なくとも一部に依存して、最終VAD判定値を示す信号を生成するステップとを実行させる。
【００３０】
本発明の別の側面によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品は、コンピュータ読み取り可能な媒体と、前記コンピュータ読み取り可能な媒体に格納されたコンピュータプログラムとを含む。コンピュータプログラムは、プライマリVAD判定値を示す信号を生成するステップと、短期アクティビティ尺度及び長期アクティビティ尺度のうちの少なくともいずれかに基づいて、前記プライマリVAD判定値のハングオーバ付加を行うか否かを決定するステップと、前記ハングオーバ付加の決定の少なくとも一部に依存して、最終VAD判定値を示す信号を生成するステップとを装置に実行させるためのコンピュータプログラムを含む。
【図面の簡単な説明】
【００３１】
【図１】背景推定部を有する一般的なVADの例を示す図。
【図２】本発明に係るVADの一実施形態を示す図。
【図３】本発明の実施形態に係るVAD方法の例示すフローチャート。
【図４Ａ】本発明に係るVADの一実施形態を示す図。
【図４Ｂ】本発明に係るVADの別の実施形態を示す図。
【図４Ｃ】本発明に係るVADの更に別の実施形態を示す図。
【図５】本発明に係るVADの更に別の実施形態を示す図。
【図６】ハングオーバを有するVADの実施形態を示す図。
【図７】追加VADの実施形態を示す図。
【発明を実施するための形態】
【００３２】
上記課題を解決する１つの方法は、プライマリ検出尺度と最終判定尺度の時間的な特性を使用することである。これらは追加ハングオーバの調整によく適している。ハングオーバ付加部に入力される一次（プライマリ）判定値及びハングオーバ付加部から出力される最終判定値のうちの少なくとも１つを、ハングオーバ付加部に影響を及ぼすように使用するのが好ましく、両者を使用するのが最も好ましい。ハングオーバ付加部に入力されたプライマリ判定値はプライマリ音声検出器から取得されたオリジナルのプライマリ判定値であってもよいし、オリジナルのプライマリ判定値の修正バージョンであってもよい。修正は他のVADからの出力に基づいて行われうる。
【００３３】
図２に、ハングオーバ付加部202に入力されるプライマリ判定値及びハングオーバ付加部202から出力される最終判定値を用いる一般的なVAD 200の一実施形態を示す。
【００３４】
特徴抽出部206は特徴量サブバンドエネルギを提供し、背景推定部205はサブバンドエネルギ推定値を提供し、動作制御部207は、入力信号の特徴に応じて、プライマリ音声検出部の閾値及びハングオーバ付加の長さを調整し、プライマリ音声検出部201は、図１で示したような予備判定値vad_prim 213を生成する。
【００３５】
本実施形態において、音声アクティビティ検出器 (voice activity detector) 200は、短期アクティビティ推定部 (short term activity estimator) 203及び長期アクティビティ推定部 (long term activity estimator) 204の少なくともいずれかを更に有する。プライマリ判定値vad_prim 213の短期アクティビティ及び最終判定値vad_flag 215の長期アクティビティの特徴を用いて、時間的な特性が取得される。そしてこれらの尺度はハングオーバ付加の調整に使用され、代替最終判定値 (alternate final decision) vad_flag_dtx 217を生成することにより、DTXに使用されるVAD性能が改善される。
【００３６】
この場合、短期アクティビティは、メモリ内の、最新のN_st個のプライマリ判定値vad_prim 213のアクティブフレームの個数をカウントすることにより測定される。同様に、長期アクティビティは、最新の N_lt個のフレームにおける最終判定値vad_flag 215のアクティブフレームの個数をカウントすることにより測定される。N_ltはN_stより大きく、好ましくは、かなり大きい。これらの尺度は代替最終判定値 vad_flag_dtx 217を生成するのに使用される。これらの尺度を利用する利点は、既に高いアクティビティを示しているときにはハングオーバを追加しやすいので、ハングオーバの調整を単純化できる点にある。
【００３７】
高い短期アクティビティは、アクティブなバーストの始まり、中央部、又は終わりのいずれかを示す。一見すると、この尺度は、前述したようなアクティブフレームが連続する数を要求するだけの一般的な方法に同じにみえるかもしれない。しかし、非アクティブ判定がされたときでも短期アクティビティはリセットされないという大きな違いがある。代わりに、最終的にメモリから削除される前にN_st個のフレームまでのアクティブフレームを記憶するメモリを有する。したがって、非アクティブフレームによって、平均の短期アクティビティがいくらか減少するだけである。十分に高い短期アクティビティに対しては、短期アクティビティは既に高く、追加ハングオーバはトータルのアクティビティに小さな影響しか及ぼさないので、いくつかのハングオーバのフレームを追加することは安全である。非アクティブフレームがまばらであれば、ハングオーバ処理を中止するのに十分なまでに短期アクティビティを減少させることはない。
【００３８】
まばらな非アクティブフレームは、発話中間部の短い休止に対応するか、あるいは、非アクティブとの検出が、例えば短時間の無声音によって生じた誤りであるかもしれない。上記したような方法で短期アクティビティを用いることにより、このような場合にもハングオーバ付加が維持されうる。
【００３９】
同様に、高い長期アクティビティは、音声バーストがある一定の時間にわたってアクティブであることを示す。したがって、長期アクティビティが高い場合、いくつかの追加ハングオーバフレームを付加する可能性が高く、トータルのアクティビティに対する影響はやはり小さい。
【００４０】
一実施形態において、短期アクティビティ及び長期アクティビティはそれぞれ、それぞれの所定の閾値と比較される。所定の閾値に達した場合、所定数のハングオーバフレームが付加される。
【００４１】
長期アクティビティは、実際の音声アクティビティの終了に依存して相対的に遅い反応を示すので、多くの追加ハングオーバフレームが音声バーストの終了後の比較的長時間使用されてしまうというリスクがある。このため、音声バーストの終了の指示として低い短期アクティビティを使用することも可能である。したがって、短期アクティビティが所定の閾値を下回る場合、追加ハングオーバの量を制限する実施態様が望まれる場合もあろう。すなわち、短期アクティビティが十分に低く、同時に高い長期アクティビティが示される場合には、ハングオーバフレームの付加を無効にしてもよい。
【００４２】
以下、実施形態を、演算量の増加の少ない従来手法の改良として、いくつか説明する。ただし、上記の尺度を用いてより信頼性の高いVAD判定を提供するための全く新しいVADを設計することも可能である。
【００４３】
一実施形態において、図３に示されるように、受信した入力信号における音声アクティビティを検出するための音声アクティビティ検出器における方法は、好ましくは受信した入力信号の特徴を分析することによって、受信した入力信号についてのプライマリVAD判定値を示す信号を生成するステップ310を含む。ステップ320において、プライマリVAD判定値のハングオーバ付加を行うか否かが決定される。ステップ330において、最終VAD判定値を示す信号が生成される。ハングオーバ付加を行わないと決定された場合、最終VAD判定値はプライマリVAD判定値と等しい。ハングオーバ付加を行うと決定された場合、最終VAD判定値は音声アクティビティ判定値と等しい。ハングオーバが付加されるので、音声アクティビティ判定値はアクティブフレームを示すように、すなわち、フレームは雑音ではなく音声を含むことを示すように、設定される。ステップ340で、最新のN_st個のプライマリVAD判定値から短期アクティビティ尺度が推定され、かつ／または、ステップ342で、最新のN_lt個の最終VAD判定値から長期アクティビティ尺度が推定される。ハングオーバ付加を行うか否かの決定は、短期アクティビティ尺度及び長期アクティビティ尺度のうちの少なくともいずれかに基づいて行われる。図３はイベントの単純なフローとして表されているが、実際のシステムではフレームごとに繰り返される。破線の矢印は短期アクティビティ尺度及び長期アクティビティ尺度の少なくともいずれかの効力が後続フレームに及ぶことを示している。
【００４４】
図３は信号フローを表しているのではなく、本発明の実施形態に従う方法ステップを表している。すなわち、最終VAD判定値を生成するステップ330は、短期アクティビティ尺度及び長期アクティビティ尺度の少なくともいずれかに基づいて代替最終判定値（例えば、vad_flag_dtx 217）を生成するステップを含む。ただし、代替最終判定値は、長期アクティビティ推定部204への入力としては使用されない。（測定される特徴量を、調整されたハングオーバ付加で修正するために）アクティビティのフィードバックループとなってしまうからである。したがって、最終VAD判定値を生成するステップ330は、従来のハングオーバ技術及び（長期アクティビティ尺度ではなく）短期アクティビティ尺度の少なくともいずれかに基づいて最終判定値（例えば、vad_flag 215）を生成するステップを含んでもよい。最終判定値（例えば、vad_flag 215）は、図２に示されるように、長期アクティビティ推定部204の入力として使用される。
【００４５】
一実施形態において、図４Ａに示されるように、音声アクティビティ検出器400は、入力部412、プライマリ音声検出部401、ハングオーバ付加部402を有する。入力部は入力信号を受信する。プライマリ音声検出部401は、入力部412と接続されている。プライマリ音声検出部401は、受信した入力信号の音声アクティビティを検出し、受信した入力信号についてのプライマリVAD判定値を示す信号を生成する。ハングオーバ付加部402は、プライマリ音声検出部401と接続されている。ハングオーバ付加部402はプライマリVAD判定値のハングオーバ付加を行うか否かを決定し、最終VAD判定値を示す信号を生成する。ハングオーバ付加を行わないと決定した場合、最終VAD判定値はプライマリVAD判定値と等しい。ハングオーバ付加を行うと決定した場合は、最終VAD判定値は音声アクティビティ判定値と等しい。音声アクティビティ検出器400は、短期アクティビティ推定部403及び長期アクティビティ推定部404の少なくともいずれかを更に有する。短期アクティビティ推定部403は、ハングオーバ付加部402の入力に接続されている。短期アクティビティ推定部403は、最新のN_st個のプライマリVAD判定値から短期アクティビティ尺度を推定する。長期アクティビティ推定部404は、ハングオーバ付加部402の出力と接続されている。長期アクティビティ推定部404は、最新のN_lt個の最終VAD判定値から長期アクティビティ尺度を推定する。ハングオーバ付加部402は、短期アクティビティ推定部403及び長期アクティビティ推定部404の少なくともいずれかの出力と接続されている。ハングオーバ付加部402は、短期アクティビティ尺度及び長期アクティビティ尺度の少なくともいずれかに基づきハングオーバの決定を行う。短期アクティビティ尺度及び長期アクティビティ尺度の少なくともいずれかに基づくハングオーバの決定は、代替最終判定値を生成することによりDTXにおける使用のためのVAD性能の向上のために、ハングオーバ付加の調整にも用いることができる。
【００４６】
音声アクティビティ検出器は、一般には、音声コーデックまたはサウンドコーデックに提供される。これらのコーデックは一般に、例えば通信ネットワークにおける端末装置において提供される。端末装置としては、サウンドの検出又は記録が行われる、例えば電話機、コンピュータ等が挙げられるが、これに限定されない。
【００４７】
一実施形態において、図４Ｂに示されるように、最終VAD判定値は、典型的にはDTX用の最終VAD判定値として、短期アクティビティ尺度又は長期アクティビティ尺度を用いずに生成された最終VAD判定値以外の、追加フラグ410として与えられる。最終判定値の２つのバージョンは、異なる処理部または機能部にて、並行して使用されうる。別の実施形態において、短期アクティビティ尺度又は長期アクティビティ尺度の使用のオン／オフを、VAD判定を使用する状況に応じて切り替えるようにしてもよい。
【００４８】
他の実施形態において、最終VAD判定値が得られず又は適当でなく長期アクティビティ分析をオンにできない場合は、かわりにプライマリVAD判定値で長期アクティビティ分析を行ってもよい。このような実施形態においては、図４Ｃに示されるように、長期アクティビティ推定部404はハングオーバ付加部402の入力に接続されて、最新のN_lt個のプライマリVAD判定値から長期アクティビティ尺度が推定される。
【００４９】
更に他の実施形態においては、ハングオーバ付加の調整が行われるプライマリVAD判定値及び／又は最終VAD判定値とは異なるプライマリVAD判定値及び／又は最終VAD判定値で短期及び長期アクティビティの推定を行ってもよい。考えられる１つの手法は、プライマリVAD判定値を生成する簡単なVADと、それを最終VAD判定値に修正する簡単なハングオーバ付加部を持たせることである。プライマリVAD判定値及び最終VAD判定値の少なくともいずれか短期及び長期アクティビティの動きが分析される。しかし、例えばより高度なVAD設定など、他のVAD設定を、ハングオーバ付加の調整のために着目するプライマリVAD判定値を提供するために使用してもよい。分析された動きは、より高度なVADシステムのハングオーバ付加部402の演算を制御するために使用され、信頼性の高い最終VAD判定値が与えられる。
【００５０】
以下、図５を参照して音声アクティビティ検出器500の実施形態を説明する。この実施形態は、マイクロプロセッサ等のプロセッサ510に基づく。プロセッサ510は、プライマリVAD判定値を示す信号を生成するためのソフトウェアコンポーネント501と、プライマリVAD判定値のハングオーバ付加を行うか否かを決定するためのソフトウェアコンポーネント502と、最終VAD判定値を示す信号を生成するためのソフトウェアコンポーネント503とを実行する。この実施形態においては、プロセッサ510は、最新のN_st個のプライマリVAD判定値から短期アクティビティ尺度を推定するためのソフトウェアコンポーネント504、及び、最新のN_lt個の最終VAD判定値から長期アクティビティ尺度を推定するためのソフトウェアコンポーネント505、のうちの少なくともいずれかを実行する。これらのソフトウェアコンポーネントはメモリ520に格納されている。プロセッサ510は、システムバス515を介して、メモリ520と通信する。プロセッサ510及びメモリ520に接続される入力／出力（I/O）バス516を制御するI/Oコントローラ530によって、音声信号が受信される。この実施形態において、I/Oコントローラ530によって受信された信号は、メモリ520に記憶され、ソフトウェアコンポーネントによって処理される。ソフトウェアコンポーネント501は、図３を参照して上述した実施形態におけるステップ310の機能を実装する。ソフトウェアコンポーネント502は、図３を参照して上述した実施形態におけるステップ320の機能を実装する。ソフトウェアコンポーネント503は、図３を参照して上述した実施形態におけるステップ330の機能を実装する。ソフトウェアコンポーネント504は、図３を参照して上述した実施形態におけるステップ340の機能を実装する。ソフトウェアコンポーネント505は、図３を参照して上述した実施形態におけるステップ342の機能を実装する。
【００５１】
I/Oユニット530は、I/Oバス516を介して、プロセッサ510及びメモリ520の少なくともいずれかと相互接続され、入力信号や最終VAD判定値といった関連するデータの入出力が可能になっている。
【００５２】
一実施形態において、上述したような、メモリ内のプライマリ判定値及び最終判定値アクティブフレームに対するカウンタが使用されうる。別の実施形態において、メモリ内のアクティブフレームの経過時間に依存した重み付けを行ってもよい。これは、短期プライマリアクティビティ及び長期最終判定値アクティビティの両方に対して適用可能である。更に他の実施形態においては、推定音声レベル、ノイズレベル、SNR等の他の入力信号の特徴量に依存して、別の追加的なハングオーバを適用することも可能である。
【００５３】
更に別の実施形態においては、アクティブの音声バーストの始端部、中間部、終端部を精度よく特定できるように、２つ以上の時間的な特性を用いることも可能である。
【００５４】
更に別の実施形態においては、上述のハングオーバ決定原理を、国際公開第2011/049516号で提示されたマルチVADコンバイナ（Multi VAD combiner）の原理のような他のVAD改良案と組み合わせることも可能である。この場合、修正プライマリVAD判定値を、短期アクティビティ推定部ハングオーバ付加部への入力として使用することができる。マルチVADコンバイナは、プライマリ音声検出部の一部として考えることができる。
【００５５】
同様に、本アイデアには、背景音を推定するための他の追加的な方法を、好都合にかつ容易に、組み合わせることが可能である。
【００５６】
以下に説明する実施形態は、3GPP2標準規格に従うG.718コーデックに基づくものである。関連する部分の詳細は、例えば国際公開第WO2009/000073 A1号に記載されている。
【００５７】
図６は、国際公開第WO2009/000073 A1号の音声通信システムのブロック図であり、このシステムは、プリプロセッサ601、スペクトル分析器602、サウンドアクティビティ検出器603、ノイズ推定器604、オプションのノイズ抑圧器605、LPC分析器及びピッチ追跡器606、ノイズエネルギ推定更新モジュール607、信号分類器608、及びサウンド・エンコーダ609を含む。サウンドアクティビティ検出器603において、過去のフレームで計算されたノイズエネルギ推定値を用いて、サウンドアクティビティ検出（信号分類の第１ステージ）が実行される。サウンドアクティビティ検出603の出力は２進変数である。この変数は、エンコーダ609で更に使用され、かつ、現フレームがアクティブとして符号化されるか非アクティブとして符号化されるかを決定する。
【００５８】
“SNRベースSAD”モジュール603は、本実施形態が実装されうるモジュールである。本実施形態では16kHzサンプリングの広帯域信号チェーンだけを想定しているが、8kHzサンプリング又はその他のサンプリング速度での狭帯域信号チェーンにも同様の改良を行うことが可能である。
【００５９】
国際公開第WO2011/049516 A1号に開示された方法に基づく実施形態において、国際公開第WO2009/000073 A1号のオリジナルVAD (VAD 1) が、第１VADとして使用され、ローカルVAD及びvad_flagの信号を生成する。このローカルVADは、本実施形態においては、短期アクティビティ推定が行われるVAD_prim 213として使用される。
【００６０】
追加VAD (VAD 2) も、国際公開第WO2009/000073 A1号に基づくが、背景ノイズ推定及びSNRベースSADの改良を用いることにより、達成される。図７は、第２VADのブロック図である。このブロック図には、プリプロセッサ701、スペクトル分析器702、“SNRベースSAD”モジュール703、ノイズ推定器704、オプションのノイズ抑圧器705、LPC分析器及びピッチ追跡器706、ノイズエネルギ推定更新モジュール707、信号分類器708、及び、サウンド・エンコーダ709が示されている。
【００６１】
ブロック図にはまた、VAD 2のプライマリVAD判定値localVAD_he 710及び最終VAD判定値vad_flag_he 711が示されている。localVAD_he 710及びvad_flag_he 711は、ローカルVADを出力するためのVAD1のプライマリ音声検出部において使用される。
【００６２】
本実施形態において、以下の変数がエンコーダState (Encoder_State)に追記される。
【００６３】
long long vad_flag_reg;        /* 過去のvad_flagのメモリ */
long long vad_prim_reg;        /* 過去のlocalVADのメモリ */
short vad_flag_cnt_50;         /* vad_flagアクティブフレームのカウンタ */
short vad_prim_cnt_16;         /* プライマリアクティブフレームのカウンタ */
short hangover_cnt_dtx;       /* DTX用のハングオーバフレームのカウンタ */
【００６４】
ルーチンwb_vad_init()で実行される初期化がなされている間は、これらのStateは全て０に設定される。
【００６５】
さらに、短期及び長期アクティビティの特徴量が更新される。これは、各フレームの処理の終了時に行われる。これは、適切なソースファイルに以下のコードを追記するで実行されうる。
【００６６】
if ((st-＞vad_flag_reg & (long long) 0x01LL ＜＜ 49) != 0)
{
st-＞vad_flag_cnt_50=st-＞vad_flag_cnt_50-1;
}
st-＞vad_flag_reg = (st-＞vad_flag_reg & (long long) 0x3fffffffffffffffLL ) ＜＜ 1;
if (vad_flag)
{
st-＞vad_flag_reg = st-＞vad_flag_reg | 0x01L;
st-＞vad_flag_cnt_50 = st-＞vad_flag_cnt_50+1;
}
if ((st-＞vad_prim_reg & (long long) 1LL ＜＜ 15) != 0)
{
st-＞vad_prim_cnt_16=st-＞vad_prim_cnt_16-1;
}
st-＞vad_prim_reg = (st-＞vad_prim_reg & (long long) 0x3fffffffffffffffLL ) ＜＜ 1;
if (localVAD)
{
st-＞vad_prim_reg = st-＞vad_prim_reg | 0x01L;
st-＞vad_prim_cnt_16 = st-＞vad_prim_cnt_16+1;
}
【００６７】
ここで、変数stは、割り当てられたエンコーダのEncoder_State変数を参照する。次のフレームのために、State変数st-＞vad_flag_cnt_50は、最新の50フレームにおいてアクティブであるフレームの数の形で長期アクティビティ最終判定値を含み、State変数st-＞vad_prim_cnt_16は、最新の16フレームにおいてプライマリ判定値がアクティブであるフレームの数の形で短期プライマリアクティビティを含む。The length of the memory of the 短期アクティビティの記憶長さである16フレームと、長期アクティビティの記憶長さである50フレームは、この特定の実施形態における値である。これらの数値は動作しうる実施上の値であって、その絶対値そのものが非常に重要ということではない。したがって、例えばハングオーバ特性の調整のような、実施上の調整が入れば、これらの値はそれに応じて設定されうる。一般に、長期アクティビティの記憶長さは短期アクティビティの記憶長さよりも長く、好ましくは、上述の例のように、非常に長い。典型例において、長期アクティビティの記憶長さと短期アクティビティの記憶長さとの比は、2.5〜５の間である。この比率も、多く存在すると予想される音の種類が異なるような実施上の違いに応じて異なる値に設定されうる。
【００６８】
以下のコード修正により、ハングオーバhangover_shortをいくつにするかを決めるためのコードが実装されてもよい。
【００６９】
lp_snr      ローパスフィルタリングされたSNR推定値
th_clean    入力がクリーン音声であるかを判定するためのSNR閾値
thr1        プライマリ音声検出部の計算された閾値
if( lp_snr ＜ th_clean )
{
thr1 = nk * lp_snr + nc;    /* ノイジー音声のための線形関数 */
if( st-＞Opt_SC_VBR )
{
hangover_short = 1;
}
else
{
hangover_short = 4;
}
}
else
{
thr1 = sk * lp_snr + sc;    /* クリーン音声のための線形関数 */
hangover_short = 1;
}
【００７０】
以下で、DTX用のハングオーバhangover_short_dtxの適応化に必要なコードを追加する。
【００７１】
if( lp_snr ＜ th_clean )
{
thr1 = nk * lp_snr + nc;    /* ノイジー音声のための線形関数 */
if( st-＞Opt_SC_VBR )
{
hangover_short = 1;
}
else
{
hangover_short = 4;
}
}
else
{
thr1 = sk * lp_snr + sc;    /* クリーン音声のための線形関数 */
hangover_short = 1;
}
hangover_short_dtx = hangover_short; /* DTX用のハングオーバは同じ値で開始 */
if (st-＞Opt_DTX_ON) 
{
if (st-＞vad_prim_cnt_16 ＞ 12 ) /* 12は概ね80%のプライマリアクティブを要する値 */
{
hangover_short_dtx = hangover_short_dtx + 1;
}
if (st-＞vad_flag_cnt_50 ＞ 40  ) /* 40は概ね80%のフラグアクティブを要する値 */
{
hangover_short_dtx = hangover_short_dtx + 3;
}
/* hangover_shortを最大ハングオーバカウント値より低い値に維持しておく */
if (hangover_short_dtx ＞  hangover_LONG-1)
{
hangover_short_dtx=hangover_LONG-1;
}
/* アクティブフレームが十分になければ短いHOだけを許容 */
if ( st-＞vad_prim_cnt_16 ＜ 7 && hangover_short_dtx ＞ 4 )
{
hangover_short_dtx=4;
}
}
【００７２】
また、ここで、特定の数値が記述されているが、これらは設計値である。したがって、これらの値は、ハングオーバ特性の調整等、実装上の調整によって適合されうるものである。
【００７３】
以下の修正によって、実際のハングオーバが行われるためのコードが実装される。
【００７４】
flag          ハングオーバを含む最終VAD判定値
localVAD      プライマリ判定値
snr_sum      サブバンドSNR推定値の形でのVAD特徴量
st-＞nb_active_frames  連続するアクティブフレームの数 (プライマリ判定値)
st-＞hangover_cnt  使用されたハングオーバフレームのカウンタ
flag = 0;
*localVAD = 0;
if ( snr_sum ＞ thr1 && ( st-＞Opt_HE_SAD_ON == 0 || (flag_he == 1 && flag_he1 == 1) ) ) /* 音声あり */
{
flag = 1;
if ( snr_sum ＞ thr1 )
{
*localVAD = 1;           /* ハングオーバなしのVAD */
}
st-＞nb_active_frames++;   /* 連続するアクティブ音声フレームのカウンタ */
if ( st-＞nb_active_frames ＞= ACTIVE_FRAMES )
{
st-＞nb_active_frames = ACTIVE_FRAMES;
st-＞hangover_cnt = 0;   /* 少なくとも"active_frames"音声フレームの後のハングオーバフレームのカウンタをリセット */
}
/* HO区間内 */
if( st-＞hangover_cnt ＜ hangover_LONG && st-＞hangover_cnt != 0 )
{
st-＞hangover_cnt++;
}
}
else
{   /* ハングオーバアルゴリズムを開始するのに要する音声フレームのカウンタをリセット */
st-＞nb_active_frames = 0;
if( st-＞hangover_cnt ＜ hangover_LONG )    /* HO区間内 */
{
st-＞hangover_cnt++;
}
if( st-＞hangover_cnt ＜= hangover_short )  /* "ハード" ハングオーバ  */
{
flag = 1 ;
}
【００７５】
これは、新たなDTX用のVAD判定値vad_flag_dtxを含むよう、以下のように修正される。上で定義されたDTXハングオーバ適応hangover_short_dtxを用いる。ここで以下の変数が追加される。
【００７６】
flag_dtx      DTX用ハングオーバも含む最終VAD判定値
st-＞hangover_cnt_dtx    DTXに使用するハングオーバフレーム数のカウンタ
flag = 0;
flag_dtx = 0;
*localVAD = 0;
if ( snr_sum ＞ thr1 && ( st-＞Opt_HE_SAD_ON == 0 || (flag_he == 1 && flag_he1 == 1) ) ) /* 音声あり */
{
flag = 1;
flag_dtx=1;
if ( snr_sum ＞ thr1 )
{
*localVAD = 1;           /* ハングオーバなしのVAD */
}
st-＞nb_active_frames++;   /* 連続するアクティブ音声フレームのカウンタ */
if ( st-＞nb_active_frames ＞= ACTIVE_FRAMES )
{
st-＞nb_active_frames = ACTIVE_FRAMES;
st-＞hangover_cnt = 0;   /* 少なくとも"active_frames"音声フレームの後のハングオーバフレームのカウンタをリセット */
}
if (st-＞Opt_DTX_ON)
{
if (st-＞vad_flag_cnt_50 ＞ 45 ) /* 45は概ね90%のフラグアクティブを要する値 */
{
/* アクティブフレームの要件なしで最後の２つの追加ハングオーバの間、十分にアクティブである場合 */
st-＞hangover_cnt_dtx=0;
}
}
/* HO区間内 */
if( st-＞hangover_cnt ＜ hangover_LONG && st-＞hangover_cnt != 0 )
{
st-＞hangover_cnt++;
}
if( st-＞hangover_cnt_dtx ＜ hangover_LONG && st-＞hangover_cnt_dtx != 0 )
{
st-＞hangover_cnt_dtx++;
}
}
else
{   /* ハングオーバアルゴリズムを開始するのに要する音声フレームのカウンタをリセット */
st-＞nb_active_frames = 0;
if( st-＞hangover_cnt ＜ hangover_LONG )    /* HO区間内 */
{
st-＞hangover_cnt++;
}
if( st-＞hangover_cnt ＜= hangover_short )  /* "ハード" ハングオーバ  */
{
flag = 1 ;
flag_dtx = 1 ;
}
if( st-＞hangover_cnt_dtx ＜ hangover_LONG )    /* HO区間内 */
{
st-＞hangover_cnt_dtx++;
}
if( st-＞hangover_cnt_dtx ＜= hangover_short_dtx )  /* "ハード" ハングオーバ  */
{
flag_dtx = 1;
}
【００７７】
プライマリ判定値の短期アクティビティ及び最終判定値の長期アクティビティの特徴量の使用により、具体的には音声バースト内及び音声バーストの終端部に、追加のハングオーバを付加することができ、これにより、とりわけ高効率なVADにおいて、音声がクリップされてしまうことを少なくすることができる。
【００７８】
最終判定値の長期アクティビティによって、長い発話の後の短いバーストにハングオーバを付加することができ、これにより、無声破裂音の後端部をクリップしてしまうリスクを低減することができる。
【００７９】
アクティビティ特徴量の使用により、既に高い音声アクティビティを持つ区間のハングオーバを延長することができる。これにより、全体的なアクティビティが大幅に増加するリスクなしにハングオーバを延長することができる。
【００８０】
上述したような追加的な特徴によって、音声レベルが低いといった更に限定された条件下であってもハングオーバの延長を可能にする改良が可能である。
【００８１】
積極的なSADによって、とりわけ既にアクティビティの高い区間に対しては、ハングオーバの延長を付加することにより、音声クリッピングを除去するのが容易になる。この方法よれば、並行して動作する複数のSADに基づく方法を再調整する方法に比べ、調整が容易になる。
【００８２】
上述の実施形態は本発明のいくつかの例示である。当業者であれば、実施形態の一般的な範囲から逸脱することなく実施形態に対して種々の改変、組合せ、変更を行うことが可能である。特に、異なる実施形態における異なる解決策の部分を組み合わせて異なる構成とすることが、技術的に可能である。
【図１】
2019023741.tif 000003
【図２】
2019023741.tif 000004
【図３】
2019023741.tif 000005
【図４Ａ】
2019023741.tif 000006
【図４Ｂ】
2019023741.tif 000007
【図４Ｃ】
2019023741.tif 000008
【図５】
2019023741.tif 000009
【図６】
2019023741.tif 000010
【図７】
2019023741.tif 000011
【手続補正書】
【提出日】平成30年10月4日(2018.10.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
音声符号化またはオーディオ符号化における、間欠送信(DTX)用のハングオーバ付加の方法であって、
音声フレームまたはオーディオフレームに対して、
音声アクティビティに基づいてプライマリ判定値を求め、
前記プライマリ判定値のハングオーバ付加を行うか否かに基づいて最終判定値を求め、
過去のプライマリ判定値に基づいて短期アクティビティ尺度を求め、
過去の最終判定値または過去のプライマリ判定値に基づいて長期アクティビティ尺度を求め、
前記短期アクティビティ尺度と前記長期アクティビティ尺度とに基づいて前記ハングオーバ付加を調整するための代替最終判定値を求める
ことを含むことを特徴とする方法。
【請求項２】
前記短期アクティビティ尺度が第１しきい値と比較され、前記長期アクティビティ尺度が第２しきい値と比較されることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１しきい値および前記第２しきい値の少なくとも一方を超える場合に、前記ハングオーバ付加が調整されることを特徴とする請求項２に記載の方法。
【請求項４】
前記ハングオーバ付加は所定数のハングオーバフレームによって調整されることを特徴とする請求項３に記載の方法。
【請求項５】
前記第１しきい値を超えた場合には第１の数のハングオーバフレームが付加され、前記第２しきい値を超えた場合には第２の数のハングオーバフレームが付加されることを特徴とする請求項３または４に記載の方法。
【請求項６】
前記第１の数は前記第２の数よりも小さいことを特徴とする請求項５に記載の方法。
【請求項７】
前記短期アクティビティ尺度が第３しきい値を下回る場合には、付加するハングオーバフレームの量が制限されることを特徴とする請求項４乃至６のいずれか１項に記載の方法。
【請求項８】
前記第３しきい値は７であることを特徴とする請求項７に記載の方法。
【請求項９】
前記短期アクティビティ尺度は、最新のN_st個のプライマリ判定値のうちアクティブを示すプライマリ判定値の数に基づいて求められ、前記長期アクティビティ尺度は、最新のN_lt個の最終判定値のうちアクティブを示す最終判定値の数に基づいて求められることを特徴とする請求項２乃至８のいずれか１項に記載の方法。
【請求項１０】
N_stは16であり、N_ltは50であり、前記第１しきい値は12であり、前記第２しきい値は40であることを特徴とする請求項９に記載の方法。
【請求項１１】
ハングオーバ付加を決定するための装置であって、
音声フレームまたはオーディオフレームの音声アクティビティのプライマリ判定値を求める手段と、
前記プライマリ判定値のハングオーバ付加を行うか否かに基づいて最終判定値を求める手段と、
過去のプライマリ判定値に基づいて短期アクティビティ尺度を求める手段と、
過去の最終判定値または過去のプライマリ判定値に基づいて長期アクティビティ尺度を求める手段と、
前記短期アクティビティ尺度と前記長期アクティビティ尺度とに基づいて前記ハングオーバ付加を調整するための代替最終判定値を求める手段と、
を有することを特徴とする装置。
【請求項１２】
請求項２乃至１０のいずれか１項に記載の方法を実行するための手段を更に有することを特徴とする請求項１１に記載の装置。
【請求項１３】
前記装置は、音声コーデックまたはオーディオコーデックに含まれることを特徴とする請求項１１または１２に記載の装置。
【請求項１４】
コンピュータ読み取り可能なコードを含むコンピュータプログラムであって、装置で実行されると、前記装置に、
音声フレームまたはオーディオフレームに対して、
音声アクティビティに基づいてプライマリ判定値を求め、
前記プライマリ判定値のハングオーバ付加を行うか否かに基づいて最終判定値を求め、
過去のプライマリ判定値に基づいて短期アクティビティ尺度を求め、
過去の最終判定値または過去のプライマリ判定値に基づいて長期アクティビティ尺度を求め、
前記短期アクティビティ尺度と前記長期アクティビティ尺度とに基づいて前記ハングオーバ付加を調整するための代替最終判定値を求める
ことを実行させることを特徴とするコンピュータプログラム。
【外国語明細書】
2019023741000001.pdf