?

一種改進的混音算法的研究與實現

2016-10-14 00:29張文豐余秋萍
科學與財富 2016年28期
關鍵詞:實時混音

張文豐+余秋萍

摘 要:在多媒體會議或者監控系統中,混音算法決定了其輸出語音質量高低。作為溝通、釋義的本質需要,混音算法既要求保持一定的音頻信號大小,也要求音質效果適宜,實時性有保障。由此,文中提出的基于時間幀進行歸一化方法的混音算法,改進常見音頻混音算法中的多種缺陷。

關鍵詞:PCM;混音;實時;時間幀;歸一化

1、前言

多媒體會議和監控系統,是音視頻被廣泛應用的方案。工作生活中,會議系統和多功能的監控系統,涵蓋的數字化音視頻在現實生活中的應用越來越廣泛,多媒體社交方式對音頻交互的要求也越來越高。而作為溝通基礎的語音對話,則是任何一種多媒體交互的最本質的要求①。

系統的混音算法決定了會議或監控對講質量的好壞。長期以來,不同的應用模式中,已經有很多種音頻混音算法相繼被提出,但是各有優缺點。

多媒體會議系統或監控系統,往往采用分布式組播建立系統架構。而每一路單播時,服務器完成混音、管理會議或者監視畫面等等特定功能。由于會議要求混音中消除本路音頻信號、多路音頻信號的對齊和選擇方法等業務要求屬于會議管理的一部分,我們不予討論。本文只關注于多路音頻信號的混音算法研究,并提出了一種改進的混音算法。

多路音頻信號的混音,無論采集編碼采用的是何種采樣率和編碼格式,我們這里進行算法討論時,混音處理的信號對象是指解碼后的PCM格式,并且已調整為具有相同的頻率的音頻數據。即,混音處理的音頻信號是對齊并且預處理完成之后的信號。

2、混音基本原理

多路音頻信號混合時,不失一般性,我們約定,在會議或交互中有 i 個端點參與混音。并且約定音頻混音時的信號頻率F,定義端點的信號采集時間幀長度為FRAME_SIZE(單位:s)。通常,聲音信號延時超過100ms時,主觀能明顯感受到,因延時造成在線對話困難。因此我們的時間幀長度通常取值為時延閾值的十分之一,即10ms,既足夠滿足信號特征分析的需要,也能滿足實時要求。

而當前多種混音算法的目的都是為了盡可能保持有效信號的權重比例,并且解決信號溢出問題,因此我們還需要對求和之后的音頻信號進行防止溢出的處理。

3、算法分析和實現

實際的應用中,常規混音方案都會在時域范圍采用音頻點的信號疊加作為基本的處理手段,由于數字音頻信號的量化有位長的上下限①。疊加運算必然會造成溢出。然后,要進行溢出檢測,對溢出信號進行飽和運算,即超過上限的結果被置為上限值,超過下限的值置為下限值。這種運算其實破壞了音頻信號的時域特征,引入了爆破音等噪聲,局部語音不再連續。當混音的信號源幅度較大,或者路數增加時,溢出將成為常態?;煲艚Y果幾乎輕易就能達到上下限值。語音流中充斥太多噪聲就無法再被理解。

常見的多重混音算法中,(1)直接加和法和平均權重算法。后者是在前者的基礎③上,求多路音頻通道的算術平均。很明顯,前者缺陷是容易溢出造成嚴重影響體驗的溢出雜音,后者算術平均后,不會產生溢出,噪音也較小。但是缺點明顯:平均后的衰減過大,影響通話質量;(2)加和并箝位。如有溢出就設箝位的最值(上溢時,箝位以后的值為字符長度所能表示的最大值;下溢時,箝位值為所能表示的最小值)。這一方法仍會在溢出的地方引入了嚴重的刺刺的雜音;(3)歸一化混音處理。設置一個音頻信號的歸一化系數。對全部的音頻信號乘以系數,要求所有信號最大值不可溢出,從而使信號幅值歸一化。

但此方法需要知道所有音頻信號的個體幅度,不具備實時性;(4)自適應的加權混音算法,使用衰減因子,用衰減因子限制幅值。衰減因子代表了語音的權重,隨著音頻數據的變化而變化。優點是能避免信號溢出,缺點則是計量衰減因子計算量較大,并且衰減因子的加成,導致信號特征一直發生變化,對音質的保真還原度有一定影響。

疊加后為避免發生溢出,乘以衰減因子的算法能降低其幅度,使其仍舊分布在實際位長所能表示的范圍之內,當溢出時,衰減因子減小至<1,并使得溢出的數據在衰減后能夠處于臨界值以內,而在沒有溢出時,又讓衰減因子增大至>1。衰減因子使信號數據變化較為平緩。衰減因子隨著音頻數據的變化而變化,多路疊加時,越平均的衰減因子越容易造成信號普遍衰減,影響辨析。尤其是針對單點信號的衰減因子在路數增多的情況下,無法判斷該路信號的實際信息中的權重,可能導致該路信號部分語音信號點嚴重弱化,無法被辨析,造成斷續感受,影響實際交流效果。

3.1、改進算法的思路和實現

3.1.1、最小信號處理單元時長——時間幀

通常的混音算法采用單點進行處理,處理簡潔,運算簡單,計算迅速。但考慮到語音信號的之間存在關聯性,并且語音還有一個明顯的特征叫掩蔽效應。當同時產生信號時,人耳的主觀感受中,幅度較大的信號可能掩蓋較小的信號。

我們需要保證較強能量的一定時長的音頻通道信號段被接收,才能理解對方語音的含義。單點信號體現不出信號元素間的關聯性,多路信號乘以衰減因子可能造成短時信號衰弱至不可辨認,單點信號處理就不能滿足我們主觀感受語音信號的特征。

實驗效果和人耳特征顯示,我們感受延時超過100ms后,雙方因無法判斷對方下一步行為而造成“搶發言”而沖突,無法正常溝通。

因此我們在點對應時長和100ms之間選擇一個時間段作為時間幀。我們通常根據音頻編碼特征,選擇10ms或者2-3個整數倍作為時間幀長(如特例:ITU,G723.1編解碼的時長是30ms,混音時長對齊時選擇30ms為編碼時間幀;G722.1則是20ms編解碼時長。使用10ms時長描述算法并不失一般性)④。

3.1.2、算法實現描述

我們根據掩蔽效應的原理,我們首先要對單幀信號的能量進行計算,選擇能量最強的且不包括自身的2路信號,進行混音運算。如果選擇3路,則先兩路混音后,再與其中一路混音即可完成。當混音信號超過3路之后,聲音信號要么被掩蔽,要么雜亂,干擾互動溝通,缺乏實際的應用價值。

3. 2、混音實驗結果

根據實際參與測試的測試人員的主觀評價,混音效果良好,合成后的音頻流連續、自然,沒有跳音和斷續的感覺,也沒有溢出爆破噪聲,重點信號通道的音頻幅度明顯,強度豐富,信息清晰可辨。

4、結束語

按照上述算法,同時在VC++6.0環境和DSP嵌入式環境下,編碼完成混音功能。既可由DSP多媒體音視訊集成系統應用到多媒體視訊會議中,也可以應用到監控交互方案里。也可以應用到PC軟件系統中,具有處理實時流媒體和文件類媒體的雙重功能。

本算法已經被應用于多種產品中。實踐證明,相對于其它常見的一些語音混合算法,具有良好的聽覺主觀舒適感。

參考文獻

[1] 李宇,郭雷勇,陳建銘,譚洪舟.一種多媒體會議系統的實時同步混音轉發算法.中山大學學報(自然科學版),2010年3月,49(2).

[2] 樊星,顧偉康,葉秀清. 多媒體會議中的快速實時自適應混音方案研究. 軟件學報, 2005,16(01):108-115.

[3] 徐保民,王秀玲. 一個改進的混音算法.電子與信息學報,?2003,?25(12):1709-1713.

[4] 楊樹堂,余勝生等.基于分組網絡的多點實時語音混合及調度算法.軟件學報, 2001.12(9):413-1419.

作者簡介:張文豐(1978-),男,碩士。

猜你喜歡
實時混音
人間煙火
一種多路音頻混音算法的實現與應用
Allen&Heath dLive數字調音臺新成員C Class
等公交,從“實時”開始
某高校班級量化考核系統的設計與實現
一種基于鼠標定位原理的單目視覺定位技術
基于無線傳感器網絡的實時糧倉監控系統研究
基于DSP的多方會議系統的混音方案
激光唱片中的代號
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合