1是根據(jù)一示例性實施例示出的一種背景噪聲生成方法的流程圖。
[0059] 圖2是根據(jù)另一示例性實施例示出的一種背景噪聲生成方法的流程圖。
[0060] 圖3是根據(jù)一示例性實施例示出的一種背景噪聲生成裝置的框圖。
[0061] 圖4是根據(jù)一示例性實施例示出的一種背景噪聲生成裝置的框圖。
[0062] 圖5是根據(jù)一示例性實施例示出的一種用于背景噪聲生成的裝置的框圖。
【具體實施方式】
[0063] 這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及 附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例 中所描述的實施方式并不代表與本公開相一致的所有實施方式。相反,它們僅是與如所附 權利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
[0064] 根據(jù)對傳統(tǒng)電話業(yè)務的統(tǒng)計,在通話過程中,一方用戶實際講話的時間不會超過 整個通話時間的40%,在用戶沒有講話時,若作為發(fā)送端的電子設備繼續(xù)編碼,并發(fā)送編碼 數(shù)據(jù)會造成通話資源的浪費,因此,電子設備需要對用戶是否講話進行檢測,在檢測出用戶 沒有講話時,電子設備不再編碼,也不發(fā)送編碼數(shù)據(jù),從而達到節(jié)省通話資源,降低通話過 程中的平均碼流速率的效果。
[0065]相關技術中,通過有損聲音編碼Opus編碼器對語音業(yè)務中的輸入內(nèi)容進行處理。 該Opus編碼器至少包含三個模塊:VAD( Vo ice Activity Detect ion,活動語音檢測)模塊、 DTX(Discontinuous Transmission,不連續(xù)發(fā)送)模塊以及CNG(Comfort Noise Generation,舒適噪聲生成)模塊。
[0066] VAD模塊,用于檢測電子設備是否接收到語音輸入,其中,檢測是否接收到語音輸 入的方法為:采集當前時刻的輸入內(nèi)容,將該輸入內(nèi)容分為n個子帶,分別計算每個子帶中 的語音能量以及噪聲估計,根據(jù)該語音能量和噪聲估計計算當前時刻的輸入內(nèi)容的信噪比 的均方根;將該均方根用預設的平滑因子進行平滑,并比較平滑后的均方根與預設的門限 值的大小,若該平滑后的均方根大于該門限值,則根據(jù)當前時刻的輸入內(nèi)容生成語音幀;若 該平滑后的均方根小于該門限值,則生成靜音幀。其中,語音幀是在通話過程中,接收到語 音輸入的電子設備向另一電子設備發(fā)送的數(shù)據(jù)幀,靜音幀是未接收到語音輸入的電子設 備,在未接收到語音幀時生成的數(shù)據(jù)幀。
[0067] DTX模塊,用于接收VAD模塊的判斷結果,在VAD模塊的判斷結果為語音幀時,對該 語音幀進行語音編碼,并向作為接收端的電子設備發(fā)送編碼數(shù)據(jù);在VAD模塊的判斷結果為 靜音幀時,不對該輸入內(nèi)容進行語音編碼,且不向作為接收端的電子設備發(fā)送編碼數(shù)據(jù)。當 DTX模塊連續(xù)400ms接收到VAD模塊的判斷結果為靜音幀時,無論下一時刻接收到的判斷結 果是靜音幀還是語音幀,都會連續(xù)生成40ms的語音幀,對該語音幀進行編碼,向作為接收端 的電子設備發(fā)送編碼數(shù)據(jù)。
[0068] CNG模塊,用于在未接收到DTX模塊發(fā)送的編碼數(shù)據(jù)時,生成背景噪聲。CNG模塊中 使用的CNG算法,通過一個電平可控的白噪聲激勵一個經(jīng)內(nèi)插得到的LPC ( Linear Predictive Coding,線性預測編碼)合成濾波器得到背景噪聲。其中,激勵電平和LPC濾波 器系數(shù)都是從上一個語音幀中得到的。白噪聲激勵是語音激勵和高斯白噪聲激勵的混合, 由于語音激勵的增益較小,因此,通過使用高斯白噪聲生成白噪聲,使得語音幀和靜音幀之 間的過渡更為自然。
[0069] 相關技術中,VAD模塊、DTX模塊和CNG模塊存在以下問題:
[0070]對于VAD模塊來說,VAD模塊提供的檢測算法對于背景噪聲過于敏感。在背景噪聲 很小的情況下,能夠比較準確的確定是否根據(jù)輸入內(nèi)容生成語音幀。但是,在實際實現(xiàn)時, 背景噪聲有時會很大,該檢測算法會在應當根據(jù)輸入內(nèi)容生成靜音幀時,錯誤地生成語音 幀,從而導致作為發(fā)送端的電子設備需要頻繁地在生成語音幀和生成靜音幀之間切換,作 為接收端的電子設備需要頻繁地在正常解碼語音幀模式和生成背景噪聲模式之間切換,影 響了生成的背景噪聲的平穩(wěn)性。
[0071] 對于DTX模塊來說,當一方用戶在一段時間內(nèi)持續(xù)不講話時,由于DTX模塊會連續(xù) 400ms不發(fā)送編碼數(shù)據(jù),連續(xù)40ms發(fā)送編碼數(shù)據(jù),因此,作為接收端的電子設備會連續(xù)產(chǎn)生 400ms背景噪聲,連續(xù)接收40ms語音,也即頻率為2Hz的周期性噪聲,影響用戶體驗。
[0072] 對于CNG模塊來說,雖然利用白噪聲生成背景噪聲可以使得語音幀和靜音幀之間 的過渡更為自然,但是,由于白噪聲中高頻信號的能量較大,且人耳對于低頻信號的敏感度 低于高頻信號的敏感度,因此,根據(jù)白噪聲生成的背景噪聲對用戶來說是不舒適的。
[0073]本公開提供了一種背景噪聲的生成方法,對原有的Opus編碼器中CNG模塊進行了 改進。圖1是根據(jù)一示例性實施例示出的一種背景噪聲生成方法的流程圖,該背景噪聲生成 方法應用于電子設備中,如圖1所示,該背景噪聲生成方法包括以下步驟。
[0074] 在步驟101中,檢測是否接收到語音幀的編碼數(shù)據(jù),該語音幀是在通話過程中,接 收到語音輸入的電子設備向另一電子設備發(fā)送的數(shù)據(jù)幀。
[0075] 在步驟102中,若未接收到編碼數(shù)據(jù),則通過CNG算法根據(jù)預設噪聲生成背景噪聲, 該預設噪聲的頻譜分布為噪聲信號的頻率與噪聲信號的能量呈負相關關系。
[0076] 綜上所述,本公開提供的背景噪聲生成方法,通過檢測是否接收到語音幀的編碼 數(shù)據(jù);若未接收到編碼數(shù)據(jù),則通過CNG算法根據(jù)預設噪聲生成背景噪聲,與相關技術中通 過CNG算法根據(jù)白噪聲生成背景噪聲相比,預設噪聲與白噪聲的信號能量相同,且預設噪聲 中低頻信號的能量高于白噪聲中低頻信號的能量,預設噪聲中高頻信號的能量低于白噪聲 中高頻信號的能量,由于人耳對于低頻信號的敏感度低于高頻信號的敏感度,因此,用戶聽 到的根據(jù)預設噪聲生成的背景噪聲更加舒適,解決了用戶聽到的根據(jù)白噪聲生成的背景噪 聲不舒適的問題,達到了提高背景噪聲的舒適度的效果。
[0077] 本公開提供了一種背景噪聲的生成方法,對原有的Opus編碼器中VAD模塊、DTX模 塊、CNG模塊進行了改進。請參考圖2是根據(jù)一示例性實施例示出的一種背景噪聲生成方法 的流程圖,本實施例中,將通話中的一個電子設備稱為第一電子設備,將另一電子設備稱為 第二電子設備,且第一電子設備作為發(fā)送端時,執(zhí)行步驟201-206;第一電子設備作為接收 端時,執(zhí)行步驟207和208。如圖2所示,該背景噪聲生成方法包括如下步驟。
[0078]在步驟201中,采集當前時刻的輸入內(nèi)容。
[0079] 第一電子設備中的VAD模塊采集當前時刻的輸入內(nèi)容,該輸入內(nèi)容可以是語音和 噪聲,也可以是噪聲,本實施例不作限定。
[0080] 在步驟202中,將輸入內(nèi)容分為n個子帶,分別計算每個子帶中的語音能量以及噪 聲估計。
[0081 ]在實際實現(xiàn)時,VAD模塊往往將0~8kHz的輸入內(nèi)容劃分為4個子帶,分別計算每個 子帶的語音能量及噪聲估計。
[0082]在步驟203中,根據(jù)語音能量和噪聲估計計算輸入內(nèi)容的信噪比的均方根。
[0083]其中,步驟201至步驟203中相關的算法已經(jīng)非常成熟,本實施例在此不作贅述。 [0084]在步驟204中,根據(jù)VAD算法中預設的平滑因子系數(shù)對均方根進行平滑,并比較平 滑后的均方根與預設的門限值。
[0085] 相關技術中,預設的門限值SPEECH_ACTIVITY_DTX_THRES為0.05,在該門限值下, 第一電子設備可能會在噪聲較大時,將部分背景噪聲誤判為語音輸入,會在應當根據(jù)輸入 內(nèi)容生成靜音幀時,錯誤地生成語音幀,影響了第一電子設備根據(jù)輸入內(nèi)容生成語音幀還 是靜音幀的準確性。
[0086] 本公開通過對大量的實際信號進行統(tǒng)計,對該門限值進行調(diào)整,以提高第一電子 設備根據(jù)輸入內(nèi)容生成語音幀還是靜音幀的準確性。在一種可能的實現(xiàn)方式中,將該門限 值由0.05調(diào)整為0.15。
[0087] 在步驟205中,當平滑后的均方根大于門限值時,根據(jù)輸入內(nèi)容生成語音幀進行發(fā) 送,流程結束。
[0088] 當平滑后的均方根大于門限值時,VAD模塊確定需要根據(jù)輸入內(nèi)容生成語音幀, DTX模塊接收該判斷結果,對該語音幀進行語音編碼,并將編碼數(shù)據(jù)發(fā)送給第二電子設備, 流程結束。
[0089] 在步驟206中,當平滑后的均方根小于門限值時,生成靜音幀。
[0090] 當平滑后的均