国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于DSP的多方會(huì)議系統(tǒng)的混音方案

2011-03-06 09:17:04陳鳳偉
通信技術(shù) 2011年3期
關(guān)鍵詞:箝位混音與會(huì)者

陳鳳偉,陳 光,陶 翠,靳 超

(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)

0 引言

近年來(lái),隨著信號(hào)處理算法、網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化、硬件處理能力方面的不斷發(fā)展,多媒體語(yǔ)音通信已經(jīng)迅速普及。多方音頻電話會(huì)議產(chǎn)品是多媒體通信系統(tǒng)的基本模塊,作為有多個(gè)終端參與的音頻電話會(huì)議,可以采取令牌控制或輪詢(xún)控制下的互斥模式,即只有擁有發(fā)言權(quán)的那個(gè)與會(huì)者才可以講話,這樣每個(gè)與會(huì)者某一時(shí)刻只能聽(tīng)到一路音頻信號(hào),顯然這種半雙工情況是不方便和不實(shí)用的。更多的時(shí)候,需要采用自由參與的討論方式,為了能夠在每個(gè)終端同時(shí)接收多個(gè)與會(huì)者的聲音,必須采取多路音頻混音與交換技術(shù),而音頻混音算法則是其中的關(guān)鍵技術(shù)[1-2]。隨著DSP技術(shù)的不斷發(fā)展和進(jìn)步,由于其具有容量大、成本低、升級(jí)靈活等優(yōu)點(diǎn),采用通用DSP實(shí)現(xiàn)多方電話會(huì)議的混音,逐漸成為首選方案。

1 混音算法的原理及實(shí)現(xiàn)

1.1 混音的理論依據(jù)

聲音是由于物體振動(dòng)對(duì)周?chē)目諝猱a(chǎn)生壓力而傳播的一種壓力波,轉(zhuǎn)換成電信號(hào)后,再經(jīng)過(guò)抽樣、量化,量化后的語(yǔ)音信號(hào)的頻率與聲音的頻率對(duì)應(yīng),振幅與聲音的音量對(duì)應(yīng),所以當(dāng)各信號(hào)的抽樣頻率一致時(shí),混音可以實(shí)現(xiàn)將各信號(hào)的采樣數(shù)據(jù)進(jìn)行線性疊加[1]。在時(shí)域上,語(yǔ)音是短時(shí)平穩(wěn)信號(hào),對(duì)語(yǔ)音信號(hào)進(jìn)行處理的一個(gè)基本概念就是對(duì)語(yǔ)音樣本以緩沖區(qū)為單位處理,即對(duì)輸入的語(yǔ)音樣本分幀。當(dāng)多個(gè)音頻同時(shí)播放時(shí),人耳聽(tīng)到的聲波就是各個(gè)聲源的波形的線性疊加,這正是模擬混音的基礎(chǔ)。這個(gè)事實(shí)說(shuō)明數(shù)字音頻的混合也應(yīng)該是音頻的線性疊加。而線性相加又可能產(chǎn)生溢出,溢出現(xiàn)象是由于受到語(yǔ)音數(shù)據(jù)表示精度(8 bit或16 bit)的限制而產(chǎn)生的,而精度是由相應(yīng)編碼器的硬件特性所決定的。對(duì)溢出的語(yǔ)音波形進(jìn)行平滑處理不會(huì)改變語(yǔ)音的音質(zhì)和內(nèi)容,因?yàn)檎Z(yǔ)音信號(hào)具有短時(shí)相關(guān)性(10~30 ms)[3]。

1.2 現(xiàn)有混音算法分析與比較

現(xiàn)有混音算法的方案有很多,但是基本思想都是一致的。混合算法的基本思想是:首先將解碼后的多路語(yǔ)音數(shù)據(jù)進(jìn)行線性疊加,然后對(duì)疊加后的語(yǔ)音數(shù)據(jù)進(jìn)行溢出檢查,并對(duì)含有溢出數(shù)據(jù)的混合語(yǔ)音包的語(yǔ)音樣本進(jìn)行濾波處理,采用平滑技術(shù)消除疊加溢出所引入的噪聲[4]。具體的說(shuō),混音算法主要完成以下功能:

(1)線性疊加

若有N路音頻數(shù)據(jù)需要進(jìn)行混音處理,混音的時(shí)候,需要屏蔽某一路自己的本地音頻數(shù)據(jù),這樣就不會(huì)聽(tīng)到本地的自己的聲音,只能聽(tīng)到其他N-1路的聲音,也就是說(shuō),對(duì)于第t路音頻,要發(fā)送給這個(gè)終端t的混音后的數(shù)據(jù)如公式(1)所示:

其中mixing[i]為混合后一幀中的第i個(gè)樣本,input[j, i]為j個(gè)用戶幀的第i個(gè)樣本,n為一幀的樣本數(shù)目,N為會(huì)議的與會(huì)者個(gè)數(shù)[3-4]。

(2)溢出判斷與平滑處理

將混音后的話音數(shù)據(jù)與硬件設(shè)備允許的極限范圍的最大與最小值相比較,若存在超出此范圍的數(shù)據(jù),表示該混合語(yǔ)音包有溢出,則需要進(jìn)行平滑處理來(lái)消除因溢出所引入的噪聲?,F(xiàn)有的混音算法如均值混音算法、對(duì)齊混音算法、箝位混音算法等都是根據(jù)選擇不同的權(quán)重來(lái)防止輸出的結(jié)果發(fā)生溢出,但是這些現(xiàn)有的混音算法都有其不可避免的缺點(diǎn)[1]。其中,均值算法的權(quán)重是將采樣數(shù)據(jù)線性疊加后取平均值,但是隨著混音的路數(shù)的增加,各路語(yǔ)音的衰減將愈加嚴(yán)重,最終導(dǎo)致語(yǔ)音細(xì)不可聞。對(duì)齊算法的權(quán)重是各路音頻流中當(dāng)前幀中采樣值的最大值與累加結(jié)果中采樣值的絕對(duì)值的最大值的比值,但是這種算法沒(méi)有考慮到累加結(jié)果的絕對(duì)值可能超出硬件所允許的極限范圍,從而導(dǎo)致溢出[1,5]。箝位算法實(shí)現(xiàn)簡(jiǎn)單,當(dāng)發(fā)生上溢時(shí),箝位以后的值為其所能表示的最大值,當(dāng)發(fā)生下溢時(shí),箝位后的值為其所能表示的最小值,如式(2)所示:

但是,如果在混音路數(shù)較多時(shí),溢出的概率就會(huì)較大,隨著混音路數(shù)的增多,導(dǎo)致音量的變化十分明顯,此算法適用于小規(guī)模、混音路數(shù)變化不大的會(huì)議中?,F(xiàn)在很多現(xiàn)有的論文和系統(tǒng)都是采用箝位方法,因?yàn)閷?shí)現(xiàn)簡(jiǎn)單,快速,效率很高。但是可以看出,這種箝位方法相當(dāng)于在最大和最小的臨界處切了一刀,非常生硬,會(huì)造成較大的波形失真,引入了噪聲[3]。

1.3 改進(jìn)后的混音算法

通過(guò)對(duì)現(xiàn)有混音算法的分析可以看出,變化的混音權(quán)重是導(dǎo)致混音后音量不穩(wěn)的主要原因,在此基礎(chǔ)上,這里提出了一種采用與混音輸入路數(shù)無(wú)關(guān)的恒定混音權(quán)重的混音算法。

算法的基本思想是:先將所有與會(huì)者的語(yǔ)音信號(hào)進(jìn)行混合,變成一路混音信號(hào);再用混音信號(hào)與所對(duì)應(yīng)用戶的語(yǔ)音信號(hào)分別相減,得到除該用戶自己以外的所有其他用戶的混音信號(hào),然后將此混音信號(hào)轉(zhuǎn)發(fā)給該用戶,這樣就實(shí)現(xiàn)了所有參會(huì)者之間的語(yǔ)音交換。假設(shè)某一多方會(huì)議系統(tǒng)有k個(gè)與會(huì)者,即有k路音頻輸入,一般地,定義第i路輸入為 input(i),其在所有路的輸入中對(duì)應(yīng)的權(quán)重為 w(i),這樣經(jīng)過(guò)混音后,總的輸出output如下式(3)所示:

第 i個(gè)與會(huì)者所能接收到其他與會(huì)者的音頻輸出輸出output(i)如式(4)所示:

點(diǎn)混音時(shí)的高性能、高實(shí)時(shí)性,同時(shí)也保證了參與混音的各路輸入的時(shí)域細(xì)節(jié)特征,因此具有很好的聽(tīng)覺(jué)舒適感和連續(xù)感[1,6]。

2 用DSP實(shí)現(xiàn)混音算法

選擇通用的16 bit定點(diǎn)DSP TMS320VC5402來(lái)完成多路音頻流的混音,最多可以實(shí)現(xiàn) 64路音頻流的混音。由于該算法的數(shù)據(jù)來(lái)自ST-BUS鏈路送來(lái)的某一用戶時(shí)隙的8 bit A律PCM話音數(shù)據(jù),因此需要先將其變?yōu)榫€性碼,然后才能進(jìn)行混音,DSP輸出時(shí)再變回A律的PCM碼流發(fā)送出去。DSP數(shù)據(jù)處理流程圖如圖1所示。

圖1 DSP處理數(shù)據(jù)流程

基本原理是 DSP同時(shí)啟動(dòng) McBSP的收發(fā)端口,當(dāng)McBSP的接收端口收到ST-BUS鏈路送來(lái)的第M幀對(duì)應(yīng)于某一用戶時(shí)隙的8 bitA律PCM話音數(shù)據(jù)后,然后在線性碼的右端補(bǔ)上 3 bit的 0送給接收寄存器 DRR1,這是因?yàn)門(mén)MS320VC5410是16位的,只能對(duì)片上RAM按16 bit訪問(wèn),線性碼轉(zhuǎn)換完后McBSP通知分配給它的接收DMA控制器,此時(shí),DRR1的數(shù)據(jù)已就緒,接收DMA控制器立即將此16 bit數(shù)據(jù)按照其對(duì)應(yīng)的地址寫(xiě)入接收緩沖區(qū)中。在配置DMA時(shí),在分配給它的數(shù)據(jù)緩沖區(qū)達(dá)到半滿和全滿時(shí),向 DSP內(nèi)的CPU發(fā)送中斷,因此DMA接收完第M幀話音數(shù)據(jù)后向CPU發(fā)送中斷。當(dāng)CPU收到DMA中斷時(shí),表明DMA已經(jīng)接收到了第M幀所有時(shí)隙的數(shù)據(jù),CPU在第M+1幀的期間依據(jù)這里提出的算法對(duì)接收到的數(shù)據(jù)進(jìn)行處理,然后在第 M+2幀時(shí)發(fā)送DMA控制器從它的數(shù)據(jù)緩沖區(qū)內(nèi)依次讀出相應(yīng)的數(shù)據(jù)送給 McBSP的發(fā)送端口,發(fā)送端口首先將此線性碼語(yǔ)音數(shù)據(jù)轉(zhuǎn)成A律語(yǔ)音數(shù)據(jù),然后完成PCM話音數(shù)據(jù)發(fā)送[6-7]。

3 實(shí)驗(yàn)結(jié)果

現(xiàn)對(duì)這種算法進(jìn)行了實(shí)際試驗(yàn),圖2為1路解碼后的語(yǔ)音輸入,圖3為另一路解碼后的語(yǔ)音輸入,圖3為采用這里提出的混音算法得出的1路混音輸出。

根據(jù)與現(xiàn)有的混音算法比較,混音后的音頻流自然、連續(xù),也沒(méi)有溢出所導(dǎo)致的爆破噪聲,在測(cè)試中,隨著混音音頻流的增加,改進(jìn)的混音算法的性能改善也越發(fā)明顯,說(shuō)明該混音方案完全可以適用于人數(shù)較多的混音環(huán)境。

圖2 解碼后的語(yǔ)音輸入1

圖3 解碼后的語(yǔ)音輸入2

圖4 改進(jìn)混音算法的輸出

4 結(jié)語(yǔ)

這里所提出的算法,采用了與混音路數(shù)無(wú)關(guān)的恒定的混音權(quán)重,混音效果理想,并且不會(huì)發(fā)生溢出現(xiàn)象,通過(guò)用DSP實(shí)現(xiàn)驗(yàn)證,混音后語(yǔ)音自然流暢,沒(méi)有噪音,具有良好的主觀聽(tīng)覺(jué)感受,而且該算法簡(jiǎn)單、實(shí)時(shí)、快速,能夠滿足多方會(huì)議中高性能、高并發(fā)的混音要求,能支持大規(guī)模的混音應(yīng)用,容易采用硬件實(shí)現(xiàn)。這種混音方案不僅能夠滿足一般應(yīng)用場(chǎng)合的實(shí)際要求,而且在具有高并發(fā)量要求的混音時(shí)應(yīng)用該算法也能獲得高質(zhì)量的實(shí)時(shí)混音結(jié)果。它不僅保證了在多路混音時(shí)的高性能,而且具有很高的實(shí)時(shí)性。

[1] 王文林,廖建新,朱曉民,沈奇威.多媒體會(huì)議中新型快速實(shí)時(shí)混音算法[J].電子與信息學(xué)報(bào), 2007,29(03):90-695.

[2] 王崇,周淵平,王維果.基于DSP的語(yǔ)音時(shí)延估計(jì)實(shí)現(xiàn)[J].通信技術(shù),2010,43(11):61-63.

[3] 張微,毛敏.多方電話會(huì)議系統(tǒng)中混音溢出問(wèn)題的一種改進(jìn)算法[J].電子器件,2007,30(01):294-296.

[4] 趙代強(qiáng).基于數(shù)字語(yǔ)音交換技術(shù)的多方會(huì)議系統(tǒng)[J].網(wǎng)絡(luò)與通信,2004,30(13):87-88.

[5] 熊堃,陳向東,葛林,等.針對(duì)無(wú)線語(yǔ)音通信的G.729算法的改進(jìn)及DSP實(shí)現(xiàn)[J].通信技術(shù),2010,43(06):219-223.

[6] FAN Xing, GU Weikang, YE Xiuqing.Research on Fast Real-time Adaptive Audio Mixing in Multimedia Conference[J].Journal of Zhejiang University-Science A.2005,6(06): 507-512.

[7] 張玉業(yè),鄧勇全,李玲遠(yuǎn).語(yǔ)音編解碼算法 G.729的軟件實(shí)現(xiàn)[J].通信技術(shù),2002(02):4-6.

猜你喜歡
箝位混音與會(huì)者
無(wú)需設(shè)置箝位開(kāi)關(guān)的箝位諧振直流環(huán)節(jié)逆變器
一種多路音頻混音算法的實(shí)現(xiàn)與應(yīng)用
電子世界(2017年15期)2017-08-30 00:17:22
Allen&Heath dLive數(shù)字調(diào)音臺(tái)新成員C Class
演藝科技(2017年2期)2017-03-30 10:03:10
帶續(xù)流開(kāi)關(guān)的中點(diǎn)箝位型非隔離光伏逆變器
一種無(wú)源箝位零電壓零電流PWM變換器
基于有源箝位的開(kāi)關(guān)電源設(shè)計(jì)
九錯(cuò)一對(duì)也值
意林(2012年2期)2012-05-30 03:20:10
激光唱片中的代號(hào)
江津市| 同仁县| 广安市| 南木林县| 荣成市| 交口县| 青州市| 高淳县| 齐齐哈尔市| 依安县| 高密市| 郑州市| 邹城市| 酒泉市| 中山市| 渑池县| 南召县| 镇平县| 塔河县| 长治县| 土默特右旗| 岳普湖县| 翁牛特旗| 千阳县| 富锦市| 北海市| 青龙| 贵溪市| 鄂托克前旗| 和平县| 遵义县| 张家口市| 鹤壁市| 扶绥县| 孟连| 建阳市| 邵阳县| 拉孜县| 宁阳县| 新营市| 社旗县|