用于語音活動性檢測的方法和設備的制造方法
【技術領域】
[0001] 本公開大體上涉及用于語音活動性檢測(VAD)的方法和設備。
【背景技術】
[0002] 在用于對話話音的話音編碼系統中,通常使用非連續發送(DTX)來增加編碼的效 率。原因是對話話音包含了大量被嵌入話音中的停頓,例如當一個人在說話而另一個人在 聆聽時。因此在DTX的情況下,話音編碼器平均僅在大約50%的時間上是活動的,且可以 使用舒適噪聲對其余時間進行編碼。具有該特征的一些示例編解碼器是自適應多速率窄帶 (AMR NB)和增強型可變速率編解碼器(EVRC)。AMR NB使用DTX,而EVRC使用可變比特率 (VBR),其中速率確定算法(RDA)基于VAD判決來決定針對每個幀使用哪個數據速率。在DTX 操作中,使用編解碼器對話音活動幀進行編碼,而用舒適噪聲替換活動區域之間的幀。在編 碼器中對舒適噪聲參數進行估計,并使用降低的幀速率和比用于活動話音的比特速率更低 的比特率將其發送到解碼器。
[0003] 對于高質量DTX操作,S卩,在沒有劣化的話音質量的情況下,在輸入信號中檢測話 音的周期是重要的。這一般是通過語音活動性檢測器(VAD)(用于DTX和RDA兩者)來實現 的。圖1示出了一般VAD 100的示例的整體框圖,其獲取根據實現通常被劃分為5至30ms 的數據幀的輸入信號111作為輸入,并產生VAD判決作為輸出(一般對于每個幀有一個判 決)。即,VAD判決是針對每幀的該幀是包含話音還是噪聲的判決。
[0004] 在本示例中,初步判決(vad_prim 113)由初級語音檢測器101作出,并且在本示 例中基本上僅是針對當前幀的特征和背景特征(一般根據先前輸入幀進行估計)的比較, 其中大于閾值的差產生活動初級判決。在其他示例中,初步判決可以以其他方式實現,以下 進一步簡單地討論其他方式中的一些。初級語音檢測器的內部操作的細節對本公開不是特 別重要,并且產生初步判決的任意初級語音檢測器在本上下文中將是有用的。在本示例中, 尾響添加 (hangover addition)塊102用于基于過去初級判決來擴展初級判決,以形成最 終判決vad_flag 115。使用尾響的原因主要是為了減少/消除"講到一半"(mid speech) 的風險以及"突發語音"(speech burst)的后端截斷(backend clipping)。然而,該尾響 也可以用于避免音樂段落的截斷。
[0005] 為了 DTX,還可以添加附加尾響。在圖1中,已經由可選的輸出vad_flag_dtx 117 對其進行表示。應當注意的是,當輸出要用于DTX時,僅存在一個輸出vad_flag而尾響邏 輯使用其他設置并非罕見。在本說明書中,為了簡化描述,兩個最終判決輸出vad_flag 115 和vad_flag_dtx 117在大多數實施例中是分離的。然而,基于備選尾響設置和一個單獨輸 出的方案同樣是可應用的。
[0006] 根據VAD判決是否用于DTX來使用不同最終判決輸出或尾響設置存在兩個主要原 因。第一,從話音質量的角度看,當VAD用于DTX時,存在對VAD更高的要求。因此,希望確 保在切換到舒適噪聲之前話音已經結束。第二個動機是,附加尾響可以用于估計背景噪聲 的特征。例如,在AMR NB中,在解碼器中基于所使用的特定DTX切換,進行第一舒適噪聲估 計。
[0007] 如上所述,存在可用于VAD檢測的多個不同特征。一個可能特征是僅查看幀能量, 并將其與閾值進行比較以判決該幀是否包含話音。對于信噪比(SNR)良好的條件但不針對 低SNR的情況,該方案具有相當好的表現。在低SNR中,優選地使用其他度量,例如將話音 與噪聲信號的特性進行比較。對于實時實現,對VAD功能的附加要求是計算復雜度,計算復 雜度在標準編解碼器中的子帶SNR VAD的頻率表示中得到反映。子帶VAD -般將不同子帶 的SNR合并到與閾值進行比較以進行初級判決的公共度量。
[0008] VAD 100包括:提供特征子帶能量的特征提取器106和提供自帶能量估計的背景 估計器105。對于每個幀,VAD 100計算特征。為了識別活動幀,將針對當前幀的特征與該 特征對于背景信號"看起來"如何的估計進行比較。
[0009] 尾響添加塊102用于基于過去的初級判決來擴展來自初級VAD的VAD判決,以形 成最終VAD判決"vad_f lag",即還計入更早的VAD判決。如上所述,使用尾響的原因主要是 為了減少/消除"講到一半"(mid speech)的風險以及"突發語音"(speech burst)的后 端截斷(backend clipping)。然而,該尾響還可以用于避免音樂段落的截斷。操作控制器 107可以根據輸入信號的特性,調整對于初級檢測器的閾值和尾響添加的長度。
[0010] 還存在將具有不同特性的多個特征用于初級判決的已知解決方案。對于基于子帶 SNR原理的VAD,已經證明將非線性引入子帶SNR計算(有時稱為重要性閾值)可以改進針 對具有非平穩噪聲(嘈雜聲或辦公室噪聲)的條件的VAD性能。然而,在這些情況下,一般 存在用于尾響添加的一個初級判決(可以適配于輸入信號條件)以形成最終判決。此外, 許多VAD具有用于靜默檢測的輸入能量閾值,即對于足夠低的輸入電平,強制初級判決為 不活動狀態。
[0011] 在公開的國際專利申請W02008/143569 Al中描述了重要性閾值用于創建雙VAD 方案的一個示例。在此情況下,雙VAD用于改進背景噪聲更新和音樂檢測。然而,僅將激進 的初級VAD用于最終vad_f lag判決。
[0012] 在W02008/143569 Al中,將基于低通濾波的短期活動性的度量用于檢測音樂的存 在。該低通濾波度量提供緩慢改變量,適于發現更多或更少連續型聲音(針對例如音樂是 典型的)。然后可以將附加 vadjnusic判決提供給尾響添加,使得能夠以特定方式處理音樂 聲音。
[0013] 存在用于生成多個初級VAD判決的不同方式。最基本的將是使用與原始VAD相同 的特征但使用第二閾值來實現第二初級判決。另一選項是根據所估計的SNR條件來切換 VAD,例如通過針對高SNR條件使用能量,并針對中和低SNR條件切換到子帶SNR操作。
[0014] 在公開的國際專利申請W02011/049516 A1,公開了語音活動性檢測器及其方法。 該語音活動性檢測器被配置為檢測所接收的輸入信號中的語音活動性。VAD包括:組合邏 輯,被配置為從VAD的初級語音檢測器接收指示初級VAD判決的信號。組合邏輯還從外部 VAD接收指示來自外部VAD的語音活動性判決的至少一個信號。處理器對所接收的信號中 指示的語音活動性判決進行組合以生成修改的初級VAD判決。將修改的初級VAD判決發送 到尾響添加單元。
[0015] 尾響的一個問題是判決何時使用以及使用多少。從話音質量的角度看,尾響的 添加基本上是肯定的。然而,不希望添加過多尾響,因為任何附加尾響將降低DTX方案的 效率。因為不希望將尾響添加到每個短的活動突發,在考慮添加一些尾響以創建最終判決 vad_flag之前,通常存在對來自初級檢測器vad_prim的活動幀的最小數量的要求。然而, 為了避免話音中的截斷,希望保持該所要求的活動幀的數量盡量低。
[0016] 對于非平穩噪聲的情況,低數量的所要求的活動幀可以允許噪聲自身產生將觸發 尾響添加的足夠長的VAD事件。因此為了避免過多的活動性,這種解決方案常不允許長尾 響。
[0017] 在對高效VAD添加尾響之前的所要求數量的活動幀的另一問題是其檢測話語中 的短停頓的能力。在此情況下,存在已經正確檢測的話語,但講話者在繼續之前作出輕微停 頓。這使VAD檢測停頓并在添加任意尾響之前再次需要新時段的活動初級幀。這可以產生 具有拖尾話音段的末端截斷的令人不快的產物,例如以清輔音爆破結尾的話語。
【發明內容】
[0018] 本發明的實施例的目的是解決上述問題中的至少一個,并且該目的是通過根據所 附獨立權利要求的方法和設備并通過根據從屬權利要求的實施例來實現的。
[0019] 根據本發明的一個方面,提供了一種用于語音活動性檢測(VAD)的方法,所述方 法包括:創建指示初級VAD判決的信號;以及確定是否要執行初級VAD判決的尾響添加。根 據短期活動性測量和/或長期活動性測量,作出尾響添加的確定。然后,至少根據尾響添加 確定,創建指示最終VAD判決的信號。
[0020] 在一個實施例中,根據N_st個最新的初級V