隨著互聯(lián)嗍技術(shù)的快步旋展,在互聯(lián)削上傳播的數(shù)據(jù)類犁逐漸增多。視頻會議系統(tǒng)應(yīng)運而生,^婁的溝通和交流,土蔓采用聽和髓曲種方式,語音的傳輸成為衡最視頻會議系統(tǒng)性能最重要的項指標。同此,對視頻會議系統(tǒng)中的混音算法進1717『究具有重要意義。
終端對卅音信號的處理必須解決的問題是多路的酐首數(shù)據(jù)怎樣在本地進行混音以及播放。它會受到自身同步。延時,與視頻同步等多方的影響,在實際的應(yīng)用中,語音經(jīng)混合后對聲卡緩沖區(qū)的溢出是其最大的問題。
這里介紹種混音結(jié)構(gòu),/A~ WJ改進的混音算法。在混音的質(zhì)最、艘卓、滯山率、叫延及擴展性方而和現(xiàn)有的混音算法進行J比較。實驗結(jié)果表明,該算法結(jié)音TA婁語音的特性,揪據(jù)小同場景的需求,在抑制混音溢IⅡ的同時,捉苛混音的質(zhì)最,降低時延,具有很好的實用潛力。
1、混音算法分析聲音足由物體振動所產(chǎn)生的一種壓力波。響度、音調(diào)和音色是聲音的三個上要特征。在自然界中,人耳聽見的語音來自四而八方聲音的疊加。對于視頻會議系統(tǒng)來說,需要將來自再處的語首數(shù)據(jù)在時域進行混合。語音信號的抽樣及量化都放在聲卡芯片上。常用的聲卡為16位,帚化粘度多為16 bit.在眾多操作系統(tǒng)如Linux中,聲卡緩沖區(qū)的數(shù)據(jù)類掣通常為.iLmed short,范圍在-32768-32767。多路混音后,幅值有可能超小聲卡可接受的范罔而造成聲音的失真。以上幾種常見的解決辦法。
?。?)直接箝位法
混合后語音強度超出緩沖區(qū)數(shù)據(jù)類犁范同時,以最大情值來替代。這樣阿接筘位會造成訊音波形的人為削峰,在破壞語音信號特性的同叫會促使噪音的產(chǎn)生。
?。?)均佰化混音
均值化混音在將異路講肯進行疊加之后,并除以棍音的路數(shù)來保證混音后小溢出。但隨著混音路數(shù)的增加,在多個混音嫦小在同一時同發(fā)聲的情景時,來自任一方的講音信號將被多路均分,造成音最較小而小能辨識。
(3)對齊混音
可以說足均值混肯的孌型,這里上安分J強對齊和弱對齊。在強對齊中,對聲強較大的混音路給予較大的混音權(quán)重,原話音較大的滸音路得劃增蝎,缺點足淹沒r脯較小的H}音。弱對齊對聲強較小的混音路給予較大的混音權(quán)重。這樣首最較小的混音路酣得到放大,跳點足同時也放大Jr背景噪音。
以上算法雖然簡單,但都存在鎰出榆刪及混音質(zhì)最方而的問題。下而介紹一種新掣改進的混音方案及算法。
2、改進的混音算法在基于SIP的視頻會議系統(tǒng)中,根據(jù)信令分旋和媒體混合的小同,有多樣的構(gòu)成方式”2]。就媒體流混合方式來說,有集中式混合與終端混音之分。
這里設(shè)計如圖1的分布式混音模型,相比集中式混音,服務(wù)器端不進行媒體流的處理,而只執(zhí)行會議系統(tǒng)的管理策略。終端接到分發(fā)過來的湃音數(shù)據(jù),進行解碼處理后,即開始混音。這種模式小混入終端自身出菠的湃首包,小受回聲的影l(fā)~。綜合來看,這樣的棍音系統(tǒng)復(fù)雜度適中,可減輕會議服務(wù)器的壓力。延時較集中式混音有減少,對于實時應(yīng)用的系統(tǒng)來說,性能的提升壓力很大。
圖1分布式混音模型
這里設(shè)計為面向中小企業(yè)及學(xué)校教學(xué)用視頻會議系統(tǒng),參與人數(shù)在5 人以下。會議參與者共同發(fā)聲的可能性較小,強烈溢出的兒率也比較小。因為語音信號具有短時的相關(guān)性,即這里所說的一個幀。這時間通常在10 ms 到30ms,里在設(shè)計混音算法時兼顧溢出及平滑處理,并且以語音幀為單位,算法流程如下
①初始化衰減因子f _see 為1;
?、诮y(tǒng)一數(shù)據(jù)內(nèi)的信皂,包括最大峰值的絕對值,一幀內(nèi)的短時能最放過零率,
?、蹖⒆畲蠼^對峰值與i6 bin數(shù)揮寬度做比較,判斷是舌溢山。如果y她求出臺適的衰減罔r并更新(f see-Ma/sos,Max為最大喃值絕對值一s為最大絕對峰佰與日f一幀衰減田f的乘積),并鄺最新的最減岡r與本幀數(shù)據(jù)相乘,輸出劍聲卡緩沖,
④如果沒有鎰帆,則根據(jù)短時能最和過零率的訓(xùn)算來動態(tài)改變衰減因子。并用最新的衰減因子來輸出本幀數(shù)據(jù)到聲卡緩沖;
?、葑x取下一幀,再次執(zhí)行第2步。
對溢出的判定,文獻【4]中所采用的衰減阿n±,對每幀的每個樣本和衰減岡J相乘。在常用的定點處理器中,較多的乘除法將會大吊消耗CPU的資源,帶來時延。隨意更改樣本問相對大小會導(dǎo)致混厶J語音的失真。這ltrXil按幀對研音信號進行時城平}目處理,它小會d業(yè)語音的內(nèi)容。通過平滑處理, 幀的滑音信息按照比側(cè)縮小,語音特征參數(shù)
在樣本溢出并進行衰減處理后,需要個機制來進行有效補償。這里十^先衰減岡r進行iH-化業(yè)理,將衰減岡ff see映射成320等分進行運算,用牲顰最ppp來表達,即f_se e-Tppn 20,ppp為320與f see相乘后鞭粘。由于在語音編解碼上采用r C17ci ~i女,A律抓擴,增強對小信號的訛精度,對小信號的訓(xùn)節(jié)較J半富州。這里設(shè)置ppp的增減上下限為160到320。在睦剝混音的過程中,使卅肯處于小信號敏培的部位,避丌粗糙的大信號,調(diào)節(jié)至人耳舒適的范同。
歸一化的衰減岡r ppp的增減依押語音信號過零率的判斷,蚍及相鄰曲楨短時能最的比較。在第4步進行動忐衰減罔r的訓(xùn)算叫,參考第2步對語音人聲的短日-能最放過零率的榆刪。根杯文獻『7]中的經(jīng)驗佰,取iO ms幀的語音過零率閩值為4。“i儐際榆刪的過零率莊4蚍E時,粗略判定其為許音信號幀,之后對相鄰語音信號幀進行短叫能最的比較,”1卅H的短時能景縮小叫逐步增大衰減網(wǎng)f,”語音的短叫能帚增大叫逐步縮小衰減田Jf-,這種對衰減田j’的動忐廢復(fù),將增慢棍音后信號的收斂性及健壯性。
這里設(shè)計為而向中小企業(yè)及學(xué)校教學(xué)用視頻會議系統(tǒng),參與人數(shù)在5人以下。會議參與青共同技聲的可能性較小,強烈滯出的兒率也比較小。岡為語音信號具有短時的相關(guān)性,時問通常在io ms到30 ms,即這里所隨的個幀。這里在設(shè)討混音算法叫兼顧鎰出發(fā)平柑處理,并且以語音幀為單位,算法‘流程如下:
3、嵌入式實現(xiàn)及結(jié)果分析為了對比改進的混音算法的性能,將寫好的混音算法放在視頻會議系統(tǒng)實際運行的嵌入式環(huán)境下來測試。該款處理器為TI 公司的DaVinci 系列片上系統(tǒng)DM6446-594 異構(gòu)雙核處理器。其中混音算法放在ARM 端運行,該ARM 核為ARM9 系列,運行頻率為297M。這里共采集3 路語音,一路為純背景噪音,一路為人聲,聲強靠近溢出位置,另一路為人聲,聲強適中。兩路人聲均采用較難區(qū)分的男聲。測試結(jié)果如圖2、圖3和圖4所示。
由混音后時域波形圖可見,圖2 為采用單純溢出衰減算法的混音過程。隨著混音過程的推進音量逐漸減小。當某一刻出現(xiàn)混音高峰時,造成極小的哀減因子,音量變得很小而不可恢復(fù)。圖3 為參考文獻[5]中采用的定步長單增恢復(fù)衰減因子的方法,這種混音方式會使得音量一直維持在最大值附近,聲音刺耳,噪音強烈。它增加了下次混音的溢出兒率,增加了溢出檢測和新的哀減因子計算,消耗資源,帶來時延。圖4 為這里改進的算法,采用按幀衰減,區(qū)別于文獻[5]的按樣本處理,減少了定點處理器的乘除法操作,提升了計算性能。其哀減因子采用歸一化細分,并設(shè)置上下限。采用短時能量及過零率來對人聲識別并動態(tài)更新衰減因子。該混音效果聽起來平滑,噪音很小、無爆破音,混音后完全沒有溢出現(xiàn)象發(fā)生。
4、結(jié)語這里提出了按語音信號特征,以語音幀為單位的衰減因子法解決混音溢出問題,在算法上進行改進,提升了溢出處理的性能。并且提出了用短時能量及短時過零率來對人聲語音進行粗檢測及衰減后的補償恢復(fù),提升了混音質(zhì)量。用戶可依據(jù)網(wǎng)絡(luò)環(huán)境對兩種算法進行搭配選擇。通過在定點處理器ARM9上的實現(xiàn)以及結(jié)果分析證明,該算法的性能及效果較好。