亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        WebRTC降噪算法在RT1052芯片的實(shí)現(xiàn)與優(yōu)化

        2020-04-09 04:01:38鄭澤鴻張承云
        關(guān)鍵詞:信號(hào)

        鄭澤鴻, 張承云

        (廣州大學(xué) 電子與通信工程學(xué)院, 廣東 廣州 510006)

        降噪算法廣泛應(yīng)用于實(shí)時(shí)通信、擴(kuò)聲、聲音監(jiān)控和現(xiàn)場(chǎng)錄音等場(chǎng)合,由于應(yīng)用環(huán)境各異,噪聲類型較多,因而降噪算法開(kāi)發(fā)難度較大[1-3].WebRTC是Google公司以VoIP等多項(xiàng)核心技術(shù)為基礎(chǔ)建立的開(kāi)源項(xiàng)目,用于PC端或移動(dòng)端的實(shí)時(shí)音視頻通信,其降噪算法的效果較好.本文對(duì)WebRTC降噪算法在低成本嵌入式芯片上的實(shí)現(xiàn)進(jìn)行探討.

        NXP公司的RT1052芯片性價(jià)比高,基于ARM Cortex-M7內(nèi)核,采用6級(jí)流水線,帶雙精度硬件浮點(diǎn)運(yùn)算單元(FPU),有串行音頻接口(SAI),支持CMSIS-DSP信號(hào)處理庫(kù)[4].選擇以RT1052為主控制器的開(kāi)發(fā)板作為硬件實(shí)現(xiàn)平臺(tái),分析WebRTC降噪算法并移植和優(yōu)化代碼,采用VAD算法解決了原代碼中噪聲參數(shù)在靜音轉(zhuǎn)為有聲時(shí)的收斂問(wèn)題,最后對(duì)代碼性能進(jìn)行測(cè)試.

        1 WebRTC降噪算法簡(jiǎn)述

        WebRTC降噪算法支持的音頻采樣率為8 kHz、16 kHz、32 kHz及48 kHz,每隔10 ms處理一幀數(shù)據(jù).對(duì)于8 kHz和16 kHz的輸入信號(hào)直接進(jìn)行降噪處理,而對(duì)于32 kHz和48 kHz的輸入信號(hào)則分別通過(guò)正交鏡像濾波器和余弦調(diào)制濾波器進(jìn)行子帶分離,低頻部分按16 kHz情況進(jìn)行處理,所得的語(yǔ)音概率作為高頻部分增益的參考,最后子帶合成得到降噪后的信號(hào),WebRTC降噪算法的處理流程[5]見(jiàn)圖1.

        圖1 WebRTC降噪算法流程圖Fig.1 Flow chart of WebRTC noise reduction algorithm

        以16 kHz處理為例,算法主要分為四個(gè)步驟:

        ξ1(,

        (1)

        其中,k為頻點(diǎn)編號(hào),X(-1,k)為上一幀降噪后的幅度譜,D2(-1,k)為上一幀的實(shí)際噪聲譜估計(jì).

        假設(shè)語(yǔ)音和噪聲的傅里葉變換系數(shù)為零均值的復(fù)高斯分布,由式(2)求出各頻點(diǎn)的似然比Λ(,k),它表征著語(yǔ)音存在與不存在的概率比[8].

        Λ(,

        (2)

        式中γ1(,

        (2)分別計(jì)算平坦度κf()、偏差度κd()和似然比均值κΛ().

        κf(

        (3)

        κd()=var{Y(,

        (4)

        κΛ(,

        (5)

        由于噪聲信號(hào)的頻譜相對(duì)均勻平坦,所以噪聲幀的平坦系數(shù)偏大[9].偏差度是用相關(guān)系數(shù)衡量Y(,k)與噪聲模板Dd(,k)的線性相關(guān)程度,噪聲信號(hào)的幅度譜更接近模板,所以噪聲幀的偏差系數(shù)較小.似然比均值,即頻點(diǎn)似然比Λ(,k)經(jīng)對(duì)數(shù)平滑得到Δ(,k)求幾何平均值,是指示語(yǔ)音/噪聲狀態(tài)的可靠指標(biāo),語(yǔ)音幀的似然比均值較大.

        (3)通過(guò)tanh函數(shù)對(duì)上述3個(gè)特征量指標(biāo)化,分別以wf、wd、wΛ加權(quán)得到總體語(yǔ)音指標(biāo)ρ(),并由時(shí)間平滑得到語(yǔ)音幀概率值p().

        (6)

        根據(jù)貝葉斯定理求得各頻點(diǎn)的語(yǔ)音存在條件概率ζ(,k)[10].

        ζ(,k)=P[H1Y(,

        (7)

        (4)最后根據(jù)語(yǔ)音存在概率重新獲得噪聲譜,由式(8)得到實(shí)際噪聲譜估計(jì)D2(,k).

        D2(,k)=

        (8)

        其中,D′(,k)=[1-ζ(,k)]·Y(,k)+ζ(,k)·D2(-1,k).

        再次使用式(9)的DD估計(jì)修正先驗(yàn)信噪比ξ2(,k),帶噪幅度譜Y(,k)經(jīng)過(guò)式(10)維納濾波后,即為純凈語(yǔ)音幅度譜X(,k),保持相位譜不變并反變換回時(shí)域得到降噪信號(hào).

        ξ2(,

        (9)

        X(,k)=Y(,

        (10)

        2 WebRTC降噪算法移植

        2.1 聲音數(shù)據(jù)接口

        選用廣州市星翼電子科技有限公司(正點(diǎn)原子)的號(hào)令者I.MX RT1052開(kāi)發(fā)板作為硬件平臺(tái).主處理芯片RT1052是NXP公司的一款高性價(jià)比微處理器,基于Cortex-M7內(nèi)核,600 MHz工作主頻,自帶雙精度硬件浮點(diǎn)運(yùn)算單元(DP-FPU),適合實(shí)時(shí)算法處理.開(kāi)發(fā)板的聲音codec是Wolfson公司的WM8978[11].RT1052芯片通過(guò)I2C配置WM8978的寄存器,開(kāi)啟線路輸入輸出通道,16位量化精度,采樣率根據(jù)需求設(shè)為8 kHz、16 kHz、32 kHz或48 kHz.

        使用MDK5.23作為軟件開(kāi)發(fā)環(huán)境,建立一個(gè)聲音直通程序.將發(fā)送請(qǐng)求和接收請(qǐng)求分別映射到DMA的兩個(gè)通道上,利用乒乓緩沖實(shí)時(shí)接收和發(fā)送聲音信號(hào),數(shù)據(jù)輸入指針為shBufferIn,數(shù)據(jù)輸出指針為shBufferOut,每幀數(shù)據(jù)長(zhǎng)度為10 ms.

        2.2 算法移植與測(cè)試

        WebRTC項(xiàng)目代碼(https://webrtc.googlesource. com/src/+log,2019-9-28)的開(kāi)發(fā)環(huán)境為Microsoft Visual Studio 2015,降噪算法位于modules的audio_processing/ns文件夾中,正交鏡像濾波器對(duì)應(yīng)common_audio/signal_processing的splitting_filter.c文件,余弦調(diào)制濾波器對(duì)應(yīng)modules/audio_processing 中的three_band_filter_bank.c文件.將上述文件添加到聲音直通程序的工程中,直通程序中的數(shù)據(jù)指針shBufferIn、shBufferOut分別作為噪聲處理程序的數(shù)據(jù)輸入輸出.

        為了檢驗(yàn)算法的實(shí)時(shí)性,測(cè)試語(yǔ)音選取NOIZEUS語(yǔ)料庫(kù)[12]中純凈語(yǔ)音sp01~sp05拼接成15 s的信號(hào),用Cooledit軟件將采樣率從25 kHz升為48 kHz,與白噪聲以0dB信噪比混合,得到audio1信號(hào).在計(jì)算機(jī)上播放該信號(hào)并將聲卡的輸出作為開(kāi)發(fā)板的輸入,通過(guò)RT1052芯片的定時(shí)器測(cè)量降噪算法在不同采樣率時(shí)處理單幀信號(hào)需要的時(shí)間.結(jié)果只有采樣率為8 kHz時(shí)才能實(shí)時(shí)處理,采樣率為48 kHz時(shí)噪聲處理時(shí)長(zhǎng)約為輸入數(shù)據(jù)時(shí)長(zhǎng)的3倍,遠(yuǎn)遠(yuǎn)不能達(dá)到實(shí)時(shí)處理的要求,這是因?yàn)镃PU對(duì)大量浮點(diǎn)運(yùn)算的執(zhí)行效率較低.針對(duì)這種情況,開(kāi)啟RT1052內(nèi)置的FPU可提高算法的運(yùn)算效率,將協(xié)處理器控制寄存器(CPACR)的CP11和CP10置位即可,同樣對(duì)單幀信號(hào)的處理時(shí)間進(jìn)行測(cè)量,由表1可知四種采樣頻率都能實(shí)時(shí)處理.

        表1 原算法對(duì)單幀信號(hào)的處理時(shí)間Table 1 The processing time of the original algorithm for single frame signal

        3 降噪算法的優(yōu)化

        3.1 使用CMSIS-DSP庫(kù)函數(shù)

        RT1052芯片支持ARM公司的CMSIS-DSP庫(kù)函數(shù),能更快地執(zhí)行信號(hào)處理運(yùn)算[13],將庫(kù)文件arm_cortexM7lfdp_math.lib添加到工程中.

        對(duì)于32 kHz采樣率的音頻降噪處理,需要通過(guò)正交鏡像濾波器進(jìn)行子帶分離.WebRTC的分析濾波器組由基于全通濾波器的多相網(wǎng)絡(luò)實(shí)現(xiàn),所引起的相位失真幾乎被綜合濾波器組所平衡,實(shí)現(xiàn)信號(hào)的完全重構(gòu),其結(jié)構(gòu)如圖2所示[14-15].

        圖2 兩通道正交鏡像濾波器結(jié)構(gòu)圖Fig.2 Structure of two-channel quadrature mirror filter

        每幀共需要執(zhí)行4次濾波運(yùn)算,即H0、H1與G0、G1,其傳遞函數(shù)為

        (11)

        (12)

        其中,kj,i為源碼給出的濾波器系數(shù).

        WebRTC項(xiàng)目中開(kāi)源降噪代碼的級(jí)聯(lián)全通濾波通過(guò)WebRtcSpl_AllPassQMF函數(shù)實(shí)現(xiàn),對(duì)輸入信號(hào)在數(shù)字頻率0.5π處進(jìn)行分頻,在RT1052中,每幀執(zhí)行4次濾波共需要204 μs.在CMSIS-DSP庫(kù)中有arm_biquad_cascade_df1_f32函數(shù),用于實(shí)現(xiàn)直接I型雙二階級(jí)聯(lián)IIR濾波.用它替代WebRtcSpl_AllPassQMF函數(shù),每幀執(zhí)行4次濾波只需134 μs.

        對(duì)于48 kHz采樣率的音頻降噪處理,需要通過(guò)余弦調(diào)制濾波器進(jìn)行子帶分離(圖3),由線性相位低通原型濾波器進(jìn)行余弦調(diào)制來(lái)實(shí)現(xiàn)[16-17].

        圖3 三通道余弦調(diào)制濾波器流程圖Fig.3 Flow chart of three-channel cosine modulation filter

        每幀共需要執(zhí)行24次稀疏FIR濾波運(yùn)算,即Hj,i和Gj,i,原降噪代碼中通過(guò)SparseFIRFilter函數(shù)實(shí)現(xiàn),在RT1052中執(zhí)行24次濾波共需要3.27 ms.CMSIS-DSP庫(kù)中的arm_fir_sparse_f32函數(shù)也能實(shí)現(xiàn)稀疏FIR濾波,用該函數(shù)替代SparseFIRFilter函數(shù)后,執(zhí)行24次濾波只需2.09 ms.

        此外,原降噪代碼中針對(duì)數(shù)組的數(shù)學(xué)運(yùn)算,也用CMSIS庫(kù)函數(shù)進(jìn)行替換.48 kHz音頻信號(hào)的降噪結(jié)果見(jiàn)圖4,優(yōu)化前后的處理結(jié)果一致.

        圖4 48 kHz音頻信號(hào)的降噪結(jié)果Fig.4 Noise reduction results of 48kHz audio signal

        開(kāi)啟FPU并測(cè)量單幀信號(hào)的處理時(shí)間,由表2可知優(yōu)化算法執(zhí)行時(shí)間更少.

        表2 優(yōu)化算法對(duì)單幀信號(hào)的處理時(shí)間Table 2 The processing time of the optimization algorithm for single frame signal

        3.2 降噪算法的靜音處理改進(jìn)

        靜音時(shí)沒(méi)有噪聲信號(hào),此時(shí)降噪算法理論上不能更新噪聲參數(shù),而WebRTC降噪代碼對(duì)靜音的判斷依據(jù)是輸入信號(hào)的能量為0.但在實(shí)際應(yīng)用中由于存在電路噪聲,關(guān)閉音頻輸入設(shè)備時(shí)并不能滿足能量為0的條件,仍會(huì)更新噪聲參數(shù),導(dǎo)致當(dāng)音頻輸入設(shè)備重新開(kāi)啟時(shí),需一段時(shí)間重新收斂噪聲參數(shù).

        為解決這個(gè)問(wèn)題,在原有算法的基礎(chǔ)上增加語(yǔ)音活動(dòng)檢測(cè)器(VAD),若判定為靜音狀態(tài),則不更新噪聲參數(shù),算法的處理流程如圖5所示.

        圖5 語(yǔ)音活動(dòng)檢測(cè)器的處理流程Fig.5 Flow chart of voice activity detector

        語(yǔ)音活動(dòng)檢測(cè)主要從功率譜的角度進(jìn)行分析,對(duì)上述的帶噪信號(hào)幅度譜Y(,k)平方得到帶噪信號(hào)功率譜P(,k),并通過(guò)式(13)的平滑得到S(,k).

        S(,k)=

        (13)

        采用Martin[18]提出的最小值搜索法,在r個(gè)連續(xù)的平滑功率譜密度估計(jì)S(,k)中尋找最小值Pmin(,k).該方法每幀每個(gè)頻點(diǎn)只需要做一次比較,但在噪聲增大的過(guò)程中,最小值搜索最多會(huì)有2r幀的延遲.

        當(dāng)某頻點(diǎn)的S(,k)小于Pmin(,k)的5倍時(shí),則根據(jù)式(14)對(duì)該頻點(diǎn)的噪聲估計(jì)D(,k)平滑更新.

        D(,k)=max{0,[(1-β)·D(-1,k)+

        β·P(,k)]}

        (14)

        其中,β為權(quán)重因子,β=max{0.03,1/(+1)},隨著幀數(shù)的增加,噪聲譜D(,k)的變化逐漸穩(wěn)定.

        結(jié)合判決引導(dǎo)法估計(jì)先驗(yàn)信噪比ξ(,k)有

        ξ(,k)=[1-α(,

        α(,

        (15)

        其中,α(,k)為權(quán)重調(diào)節(jié)因子,由式(16)得到信噪比越大,則越增加當(dāng)前先驗(yàn)信噪比最大似然估值的權(quán)重,減少ξ(,k)的估計(jì)偏差.

        α(,

        (16)

        其中,A(-1,k)為上一幀的純凈語(yǔ)音功率譜估計(jì),采用幅度u次方的最優(yōu)MMSE估計(jì)器[19],得到純凈語(yǔ)音幅度譜估計(jì)為

        (,

        (17)

        根據(jù)Ephraim等[20]提出的語(yǔ)音幅度期望估計(jì),并采用高斯統(tǒng)計(jì)模型得

        E{Cu(,k)|Y(,k)}=

        (18)

        其中,c(,k)和φ(,k)分別是隨機(jī)變量C(,k)的幅度和相位的實(shí)際值,ε(,k)和υ(,k)的定義式為

        (19)

        其中,γ(,k)為后驗(yàn)信噪比,γ(,k)=P(,k)/D(,k).

        聯(lián)合式(17)和式(18)并化簡(jiǎn)得

        (20)

        其中,Γ(·)為伽瑪函數(shù),Φ(·)為合流超幾何函數(shù).

        文獻(xiàn)[19]指出,冪指數(shù)u影響純凈語(yǔ)音幅度譜(,k)的估計(jì),u值越大,則(,k)的估計(jì)越大,當(dāng)u=1時(shí)為線性MMSE幅度估計(jì)器,(,k)的估計(jì)偏大,而u趨近于0時(shí)接近對(duì)數(shù)MMSE估計(jì)器,(,k)的估計(jì)偏小,因此,折中選取u=0.5,則有

        Φ(-0.25,1;-υ(,k))2=

        Y(,k)=G(,k)·Y(,k)

        (21)

        那么,平滑的純凈語(yǔ)音功率譜估計(jì)A(,k)為

        A(,k)=0.2×A(-1,k)+0.8×

        G2(,k)·Y2(,k)

        (22)

        最后,由式(23)得到平滑的先驗(yàn)信噪比ζ(,k),其平均值)代入到式(24)得到語(yǔ)音幀的概率值p().若語(yǔ)音概率小于0.25,則判定為靜音段,不更新噪聲參數(shù),反之則執(zhí)行原降噪算法.

        ζ(,k)=0.7×ζ(-1,k)+0.3×ξ(,k)

        (23)

        p(,k)

        (24)

        以RT1052開(kāi)發(fā)板作為測(cè)試平臺(tái),調(diào)節(jié)音頻輸入設(shè)備的音量,通過(guò)多次實(shí)驗(yàn),靜音段的平均能量大約為非靜音段的10-2~10-4倍.

        用Cooledit軟件產(chǎn)生一段5 s的白噪聲信號(hào),其平均能量為前述audio1信號(hào)平均能量的0.01倍,用于模擬音頻輸入設(shè)備處于關(guān)閉狀態(tài)時(shí)的電噪聲.以“audio1+電噪聲+audio1”組合成audio2信號(hào),并作為輸入信號(hào),通過(guò)軟件仿真得到的降噪處理結(jié)果見(jiàn)圖6.原算法在第20~24 s處需要進(jìn)行參數(shù)收斂,而改進(jìn)算法則不需要重新收斂.

        圖6 48 kHz音頻信號(hào)的測(cè)試結(jié)果Fig.6 Test results of 48 kHz audio signal

        對(duì)處理結(jié)果進(jìn)行PESQ評(píng)分[21],其結(jié)果見(jiàn)表3,說(shuō)明增加靜音判斷算法后的處理效果更好.

        表3 算法處理結(jié)果的PESQ評(píng)分Table 3 PESQ score of algorithm evolution

        當(dāng)然,對(duì)輸入信號(hào)增加靜音判斷也會(huì)加大運(yùn)算量.同樣以線路輸入的方式將audio1音頻信號(hào)傳給開(kāi)發(fā)板,開(kāi)啟FPU并測(cè)量單幀信號(hào)的處理時(shí)間,結(jié)果見(jiàn)表4.

        表4 改進(jìn)算法對(duì)單幀信號(hào)的處理時(shí)間Table 4 Processing time of improved algorithm for single frame signal

        相比于增加靜音判斷前的情況,只是略微增加了執(zhí)行時(shí)間,卻有效地解決了算法重新收斂的問(wèn)題.

        4 結(jié) 語(yǔ)

        本文實(shí)現(xiàn)了將WebRTC降噪算法移植到RT1052微處理器上.通過(guò)開(kāi)啟硬件FPU和使用CMSIS-DSP庫(kù)優(yōu)化,縮短算法運(yùn)算時(shí)間,再結(jié)合VAD檢測(cè)靜音段,避免算法在靜音段更新噪聲參數(shù),靜音段結(jié)束后算法無(wú)需重新收斂.測(cè)試結(jié)果證明了方法的有效性.

        猜你喜歡
        信號(hào)
        信號(hào)
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        7個(gè)信號(hào),警惕寶寶要感冒
        媽媽寶寶(2019年10期)2019-10-26 02:45:34
        孩子停止長(zhǎng)個(gè)的信號(hào)
        《鐵道通信信號(hào)》訂閱單
        基于FPGA的多功能信號(hào)發(fā)生器的設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:42
        基于Arduino的聯(lián)鎖信號(hào)控制接口研究
        《鐵道通信信號(hào)》訂閱單
        基于LabVIEW的力加載信號(hào)采集與PID控制
        Kisspeptin/GPR54信號(hào)通路促使性早熟形成的作用觀察
        成人免费播放片高清在线观看| 亚洲精品午夜无码电影网| 欧美黑人粗暴多交高潮水最多| 国产啪精品视频网站丝袜| 人妻av午夜综合福利视频| 亚洲乱码中文字幕一线区| 国模gogo无码人体啪啪| 中国老熟妇自拍hd发布| 国产AⅤ无码久久丝袜美腿| 在线视频播放观看免费| 完整版免费av片| 欧美精品黑人粗大免费| a毛片全部免费播放| 国产偷闻隔壁人妻内裤av| 日韩人妻中文字幕专区| 日产学生妹在线观看| 伊人久久大香线蕉免费视频| 亚洲成人激情在线影院| 加勒比东京热中文字幕| 久久久g0g0午夜无码精品| 久久中文精品无码中文字幕| 99精品久久久中文字幕| 国产成人综合久久大片| 成视频年人黄网站免费视频| 免费男人下部进女人下部视频| 中文字幕天堂在线| 精品专区一区二区三区| 91麻豆精品国产91久久麻豆| 少妇激情一区二区三区视频| 伊人久久大香线蕉免费视频| 中文字幕精品亚洲一区二区三区| 国产片在线一区二区三区| 九色综合九色综合色鬼| 国产精品无套内射迪丽热巴| 吃下面吃胸在线看无码| 国产av一区二区毛片| 人妻少妇精品中文字幕av| 国产真人无遮挡作爱免费视频 | 人妻一区二区三区免费看| 青青草大香蕉视频在线观看| 国产一区精品二区三区四区|