陳擁權(quán) 張 羽 胡翀豪 楚 瑾
(合肥寰景信息技術(shù)有限公司 安徽 230088)
在實時語音傳輸中,由于語音要求較強的實時性,對少量的數(shù)據(jù)丟失不是很敏感,因此需要和一般網(wǎng)絡(luò)傳輸不同的方法。
實時性使得語音傳輸不適用帶確認和重傳的TCP協(xié)議,通常使用不可靠的 UDP協(xié)議,但UDP不可避免的帶有相對較高的丟包率,如何抵抗丟包,以及當發(fā)生丟包現(xiàn)象時如何處理的相關(guān)問題成為實時語音通信中研究的熱點。
本文結(jié)合了現(xiàn)有交織技術(shù)與前向糾錯技術(shù)的特點,以增加傳輸帶寬為代價,將數(shù)據(jù)流以分組冗余交織打包的形式傳輸,在與現(xiàn)有交織技術(shù)相比沒有引入額外時延的前提下,提高了語音傳輸?shù)目煽啃耘c質(zhì)量,具有一定的參考借鑒價值。
數(shù)據(jù)在互聯(lián)網(wǎng)上是以數(shù)據(jù)包為單位傳輸?shù)?。因此,不論網(wǎng)速多少,數(shù)據(jù)都不會是以線性(就像打電話一樣)傳輸?shù)模虚g總是有空洞的。數(shù)據(jù)包的傳輸,不可能百分之百的能夠完成,因為種種原因,總會有一定的損失。碰到這種情況,互聯(lián)網(wǎng)會自動的讓雙方的電腦根據(jù)協(xié)議來補包。如果網(wǎng)絡(luò)線路好,速度快,包的損失會非常小,補包的工作也相對較易完成,因此可以近似的把數(shù)據(jù)看做是無損傳輸。但是,如果網(wǎng)絡(luò)線路較差,數(shù)據(jù)的損失量就會非常大,補包工作也不可能百分之百完成。在這種情況下,數(shù)據(jù)的傳輸就會出現(xiàn)空洞,造成丟包。
目前,國內(nèi)外主流丟包處理技術(shù)主要包括:前向糾錯(FEC)、交織和丟包隱藏技術(shù)等。
前向糾錯技術(shù)是一類信道冗余編碼的統(tǒng)稱,目的在于提高語音數(shù)據(jù)傳輸?shù)目煽啃?,當發(fā)生個別隨機丟包時能恢復(fù)丟失的包。前向糾錯編碼(FEC)技術(shù)通過在傳輸碼列中加入冗余糾錯碼,在一定條件下,通過解碼可以自動糾正傳輸誤碼,降低接收信號的誤碼率(BER)。在WDM系統(tǒng)中,衡量FEC糾錯能力的指標稱為“FEC編碼增益”,該增益越強表示糾錯性能越強。
這類編碼有簡單有復(fù)雜,簡單編碼占用額外帶寬小,恢復(fù)能力差,如奇偶校驗等;較復(fù)雜的編碼恢復(fù)能力好,占用額外帶寬較大,如RS碼等。LDPC碼同時具有較好的編碼性能,并有較靈活的參數(shù)調(diào)整、方便的譯碼方式,目前在一些領(lǐng)域得以推廣應(yīng)用。但FEC技術(shù)都有一個特點,在一定丟包限度內(nèi),數(shù)據(jù)可以完全恢復(fù),但超過該限度,則完全無法恢復(fù)。
在陸地移動通信這種變參信道上,持續(xù)較長的深衰落谷點會影響到相繼一串的比特,使比特差錯常常成串發(fā)生。然而,信道編碼僅能檢測和校正單個差錯和不太長的差錯串。因此,交織技術(shù)就是把一條消息中的相繼比特分散開的方法,即一條信息中的相繼比特以非相繼方式發(fā)送,這樣即使在傳輸過程中發(fā)生了成串差錯,恢復(fù)成一條相繼比特串的消息時,差錯也就變成單個(或者長度很短)的錯誤比特,這時再用信道糾正隨機差錯的編碼技術(shù)(FEC)消除隨機差錯。
語音交織技術(shù)是一種減少語音數(shù)據(jù)丟包損失的方法。將原始數(shù)據(jù)分成更小的幀,在發(fā)送前,重排幀的順序,使每個包中的數(shù)據(jù)來自交錯的語音幀。從而在發(fā)生丟包時,丟失的是非連續(xù)的幀數(shù)據(jù),這些幀如果很少,對聽覺影響不大;并且也方便對這些較分散的丟幀數(shù)據(jù)做后續(xù)的丟包隱藏處理。但交織技術(shù)容易引起較大的傳輸時延。
丟包隱藏是指接收端在已經(jīng)發(fā)生丟包或丟幀時,通過一定的算法填補丟失的數(shù)據(jù),減少丟失數(shù)據(jù)帶來的損失。主要包括插入和插值技術(shù),插入是指用固定的信號替代丟失的數(shù)據(jù),插值是指根據(jù)已知信號與語音的短時相關(guān)性,構(gòu)造丟失的數(shù)據(jù)。
丟包隱藏技術(shù)是指接收端在已經(jīng)發(fā)生丟包或丟幀時,通過一定的算法填補丟失的數(shù)據(jù),減少丟失數(shù)據(jù)帶來的損失。主要包括插入和插值技術(shù),插入是指用固定的信號替代丟失的數(shù)據(jù),插值是指根據(jù)已知信號與語音的短時相關(guān)性,構(gòu)造丟失的數(shù)據(jù)。
為了能提高語音傳輸?shù)目煽啃耘c質(zhì)量,本文提出了基于組合設(shè)計的語音冗余交織方法。
該方法將實時語音數(shù)據(jù)分解成多個較小的語音幀,然后根據(jù)語音數(shù)據(jù)傳輸要求對多個語音幀進行重新排列與組合,從而交織成數(shù)據(jù)包,最后設(shè)定符合語音數(shù)據(jù)傳輸要求的數(shù)據(jù)包傳送順序,按傳輸順序?qū)?shù)據(jù)包分配到符合語音數(shù)據(jù)傳輸要求的傳輸通道上進行傳輸。其主要技術(shù)特點如下:
在基于組合設(shè)計的語音冗余交織方法中,多個語音幀的組合方式通過簡單的組合設(shè)計確定,具有對稱冗余特性,在網(wǎng)絡(luò)上出現(xiàn)隨機丟包時,具有較高的恢復(fù)能力。
由于該方法中的語音數(shù)據(jù)存在冗余,需要額外的傳輸帶寬,因此采用了多個并行的傳輸通道,提高了語音數(shù)據(jù)傳輸效率,減少干擾。
在丟包稍多時,可基于正常數(shù)據(jù)進行后續(xù)丟包隱藏處理,仍可正常傳輸部分數(shù)據(jù),提高語音傳輸質(zhì)量。
本文提出的一種基于組合設(shè)計的語音冗余交織方法,其核心內(nèi)容是交織方法的設(shè)計,將實時語音數(shù)據(jù)分成較小的語音幀,并對這些幀進行重新排列與組合,交織成數(shù)據(jù)包在網(wǎng)絡(luò)上傳輸。
本方法結(jié)合了現(xiàn)有交織技術(shù)與前向糾錯技術(shù)的特點,以增加傳輸帶寬為代價,將數(shù)據(jù)流以分組冗余交織打包的形式傳輸,在與現(xiàn)有交織技術(shù)相比沒有引入額外時延的前提下,進一步提高了語音傳輸?shù)目煽啃耘c質(zhì)量。