一種語音實時傳輸方法
【技術領域】
[0001] 本發(fā)明涉及即時通訊,特別涉及一種語音通訊實現(xiàn)方法。
【背景技術】
[0002] 基于移動設備的監(jiān)控通訊系統(tǒng),在企業(yè)日常工作中由相關工作人員隨身攜帶或是 手持設備位于現(xiàn)場,通過3G或WiFi信號進行即時通訊,將現(xiàn)場的實時語音和音頻信息及時 回傳到監(jiān)控人員,由于設備簡單,易于攜帶等優(yōu)點,因此得到廣泛應用,例如勘察、傳媒、物 流運輸?shù)刃袠I(yè)。對于企業(yè)及時了解現(xiàn)場情況作出有效解決方案具有極大的意義。加入語音 和音頻傳輸之后將會極大地提高終端人員的應用范圍與效率。然而現(xiàn)有的通訊系統(tǒng)普遍多 為端到端的直接通信,各個終端所在現(xiàn)場的網(wǎng)絡狀況不確定的情況下,流媒體傳輸缺乏穩(wěn) 定性,容易發(fā)生數(shù)據(jù)包丟失和延遲,導致通話質量顯著下降,并且對復雜的環(huán)境噪聲沒有針 對性的控制手段,難以達到較好的主觀體驗。
【發(fā)明內(nèi)容】
[0003] 為解決上述現(xiàn)有技術所存在的問題,本發(fā)明提出了一種語音實時傳輸方法,包括:
[0004] 對語音數(shù)據(jù)進行去噪處理,將去噪后的數(shù)據(jù)上傳到所述云平臺,根據(jù)云平臺的反 饋信號調節(jié)數(shù)據(jù)發(fā)送速率,通過所述云平臺將語音數(shù)據(jù)到監(jiān)控客戶端。
[0005] 優(yōu)選地,所述云平臺包括通信服務器和數(shù)據(jù)傳輸服務器,云平臺通信服務器進行 信令的解析與轉發(fā),處理來自監(jiān)控客戶端的對語音操作的會話連接信令;而云平臺數(shù)據(jù)傳 輸服務器提供語音的上行通道,把移動終端的語音轉發(fā)給監(jiān)控客戶端用戶,同時提供語音 的下行通道,從監(jiān)控客戶端到移動終端的語音信號轉發(fā);在移動終端,語音數(shù)據(jù)按8000Hz采 樣,16位單聲道PCM數(shù)據(jù),將采集到的數(shù)據(jù)根據(jù)G723算法進行壓縮,在多播或單播的網(wǎng)絡服 務上提供端對端的網(wǎng)絡傳輸,對于接收的音頻數(shù)據(jù),經(jīng)過G723算法解壓,將音頻播放設備的 參數(shù)設置成8000Hz采樣,16位單聲道PCM數(shù)據(jù)執(zhí)行播放。
[0006] 優(yōu)選地,所述對語音數(shù)據(jù)進行去噪處理,進一步包括:
[0007] 語音輸入X(t)通過延遲累加函數(shù),輸出為yc(t)=ATX(t);其中,A = C^f為權重向 量,C為約束矩陣,f為對應的約束響應向量;
[0008] 再將語音輸入X(t)通過提取矩陣和K階沖激響應函數(shù),經(jīng)提取矩陣處理后的輸出 信號為
[0009] H(t)=BX(t);
[0010] 其中,提取矩陣B中的第m列元素向量互線性獨立;
[0011] 經(jīng)提取矩陣處理后的輸出信號再經(jīng)自適應沖激響應函數(shù)處理,得到輸出信號又丄 ⑴
[0014] 兩路輸出信號相減,得到處理后語音信號y2(t)=yc(t)-yi(t);
[0015] 尋找濾波函數(shù)權重系數(shù)Wk( t),使得最終的輸出功率最小,對權重向量進行調整:
[0016] W'k(t) =Wk(t)+2 γ y2(t)H(t)
[0017] Wk(t+l)=W'k(t)+2 γ y'2(t)H(t)
[0018]取γ =1/(2| |H(t) I |2),最終權重系數(shù)調整為
[0019] Wk(t+l)=W,k(t)+y2(t)H(t)/(| |H(t)| I2);
[0020] 在提取輸出信號72后,對語音信號y2進行傅里葉變換和重疊分幀處理,將每幀信號 功率減去估計的噪聲功率得到去噪語音信號功率,用語音信號 y2的相位代替去噪語音信號 的相位;然后對去噪語音信號進行傅里葉逆變換即可得到增強后的語音信號。
[0021] 本發(fā)明相比現(xiàn)有技術,具有以下優(yōu)點:
[0022] 本發(fā)明提出了一種語音實時傳輸方法,在語音傳輸中提高了網(wǎng)絡穩(wěn)定性,提升了 通話質量,取得了較高的信噪比增量和降噪效果。
【附圖說明】
[0023] 圖1是根據(jù)本發(fā)明實施例的一種語音實時傳輸方法的流程圖。
【具體實施方式】
[0024] 下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細描 述。結合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權利 要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細節(jié)以 便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細節(jié),并且無這些具體細節(jié)中的 一些或者所有細節(jié)也可以根據(jù)權利要求書實現(xiàn)本發(fā)明。
[0025] 本發(fā)明的一方面提供了一種語音實時傳輸方法。圖1是根據(jù)本發(fā)明實施例的一種 語音實時傳輸方法流程圖。
[0026]本發(fā)明在基于移動終端進行雙向語音傳輸?shù)募磿r通訊,即從移動終端經(jīng)云平臺轉 發(fā)到監(jiān)控客戶端,從監(jiān)控客戶端經(jīng)云平臺轉發(fā)到移動終端的語音傳輸。其中移動終端用于 語音數(shù)據(jù)的采集、編碼壓縮、去噪與實時播放,對信息進行存儲并將語音數(shù)據(jù)上傳到云平 臺;云平臺包括通信服務器和數(shù)據(jù)傳輸服務器,通信服務器用于轉發(fā)連接消息,數(shù)據(jù)傳輸服 務器用于轉發(fā)語音數(shù)據(jù);監(jiān)控客戶端則是用來接收從移動終端上傳的語音,因此需要接收 解碼并播放接收到的語音信息,并且可以實現(xiàn)控制、數(shù)據(jù)存儲以及用戶設備管理。
[0027]移動終端將需要傳送的語音數(shù)據(jù)分割成固定大小的數(shù)據(jù)段,利用序列號和時間戳 對每個數(shù)據(jù)段進行標識,將數(shù)據(jù)段封裝到數(shù)據(jù)包中。移動終端統(tǒng)計傳輸過程中丟包率,并檢 測當前可用帶寬;在檢測鏈路的帶寬過程中,記錄連續(xù)數(shù)據(jù)包之間的間隔時間,通過均值濾 波函數(shù)過濾后,使用平均值估計帶寬容量。移動終端基于當前丟包率和所檢測的帶寬來調 整發(fā)送速率;為了降低數(shù)據(jù)傳輸服務器的資源開銷,本發(fā)明采用數(shù)據(jù)傳輸服務器定期應答 的方式對發(fā)送速率進行反饋,數(shù)據(jù)傳輸服務器每隔預定時間向移動終端發(fā)送一個反饋信 號,移動終端根據(jù)收到的反饋信號調節(jié)數(shù)據(jù)發(fā)送速率。反饋信號中包含如下內(nèi)容:該反饋間 隔內(nèi)收到的數(shù)據(jù)包總數(shù)量;該反饋間隔內(nèi)丟失的數(shù)據(jù)包總數(shù)量;檢測得到的網(wǎng)絡帶寬;該反 饋間隔內(nèi)發(fā)生的丟包事件數(shù)量。在每個傳輸周期完成時,服務器將丟失的數(shù)據(jù)段的標識信 息反饋給移動終端,請求重新發(fā)送。移動終端在下一個傳輸周期重新發(fā)送這些丟失的數(shù)據(jù) 包,整個過程反復進行,直到所有的數(shù)據(jù)包都被成功接收。
[0028]在第一個傳輸周期,數(shù)據(jù)傳輸服務器通過序列號判斷數(shù)據(jù)包有無丟失,如果一次 丟包事件內(nèi)連續(xù)丟失了多個數(shù)據(jù)包,則記錄丟失的第一個和最后一個數(shù)據(jù)包的序列號,并 加上連續(xù)丟包的標志位,以降低反饋的數(shù)據(jù)量。在傳輸周期結束時,移動終端向數(shù)據(jù)傳輸服 務器發(fā)送傳送完成的信號,數(shù)據(jù)傳輸服務器收到信號后,將丟包鏈表反饋給移動終端。移動 終端重新發(fā)送丟失的數(shù)據(jù)包,整個過程循環(huán)進行,直到數(shù)據(jù)傳輸服務器成功接收到所有的 數(shù)據(jù)包。
[0029]本發(fā)明中語音數(shù)據(jù)按8000Hz采樣,16位單聲道PCM數(shù)據(jù),采集到的數(shù)據(jù)根據(jù)G723算 法進行壓縮。在發(fā)送之前還需要將語音數(shù)據(jù)進行去噪和RTSP打包,在多播或單播的網(wǎng)絡服 務上提供端對端的網(wǎng)絡傳輸功能,適合傳輸實時數(shù)據(jù)。而接收的音頻數(shù)據(jù),經(jīng)過G723算法解 壓,將音頻播放設備的參數(shù)設置成8000Hz采樣,16位單聲道PCM數(shù)據(jù)即可正常播放。
[0030] 云平臺的通信服務器實現(xiàn)信令的解析與轉發(fā),處理來自監(jiān)控客戶端的對語音操作 的會話連接信令,如打開語音雙向或僅開單向語音等。數(shù)據(jù)傳輸服務器提供語音的上行通 道,把移動終端的語音轉發(fā)給監(jiān)控客戶端用戶,同時提供語音的下行通道,從監(jiān)控客戶端到 移動終端一對一的語音信號的轉發(fā)。
[0031] 當移動終端的數(shù)據(jù)上傳時,數(shù)據(jù)傳輸服務器將該數(shù)據(jù)直接轉發(fā)給請求的用戶;對 于語音下行,因為在移動終端,目前直接接收RTSP數(shù)據(jù),然后進行解碼。所以,采用跟上行一 樣的方式,采用G723數(shù)據(jù),進行RTSP打包發(fā)送,數(shù)據(jù)傳輸服務器直接用于轉發(fā),到某一臺設 備,在終端接收,解碼播放。
[0032]監(jiān)控客戶端的音頻處理包括音頻上行處理和音頻下行處理。上行語音數(shù)據(jù)的處理 包括接收、解壓和播放。監(jiān)控客戶端運行過程中,多路語音同時播放,每路音頻數(shù)據(jù)也同時 接收,但是考慮到多路聲音同時播放會造成聽覺上的干擾,所以用戶