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