摘要:隨著無(wú)人機(jī)航拍技術(shù)的風(fēng)靡與發(fā)展,對(duì)于航拍的視頻數(shù)據(jù)回傳的質(zhì)量要求也逐漸提升,傳統(tǒng)的視頻傳輸技術(shù)在惡劣的信道條件下不能保證視頻的傳輸質(zhì)量,由此提出了基于噴泉碼的數(shù)據(jù)傳輸優(yōu)化方案。本文在介紹噴泉碼(LT碼和Raptor碼)原理的基礎(chǔ)上,闡述數(shù)字噴泉碼(LT碼和Raptor碼)在無(wú)人機(jī)航拍數(shù)據(jù)回傳上的應(yīng)用。
關(guān)鍵詞:無(wú)人機(jī) 數(shù)據(jù)回傳 數(shù)字噴泉碼 LT碼 Raptor碼
中圖分類(lèi)號(hào):TN919.3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)10-0087-02
1 引言
航拍是小型無(wú)人機(jī)在民用領(lǐng)域里的主要應(yīng)用,良好的航拍體驗(yàn)要求航拍畫(huà)面實(shí)時(shí)、清晰、流暢,對(duì)數(shù)據(jù)傳輸系統(tǒng)的性能提出了極高的要求。
小型無(wú)人機(jī)數(shù)據(jù)傳輸系統(tǒng)的主要任務(wù)是把經(jīng)過(guò)壓縮的視頻數(shù)據(jù)可靠、有效地傳輸?shù)降孛鎽?yīng)用。而在實(shí)際應(yīng)用時(shí),無(wú)人機(jī)經(jīng)常需要在會(huì)場(chǎng)、樓宇之間、城市道路、工廠附近、深山峽谷等信道條件非常惡劣的環(huán)境工作,在這些環(huán)境下要求視頻傳輸清晰和流暢是對(duì)無(wú)人機(jī)數(shù)據(jù)傳輸系統(tǒng)非常嚴(yán)峻的挑戰(zhàn)。另外,無(wú)人機(jī)的飛行高度可達(dá)數(shù)百米,飛行距離可達(dá)數(shù)公里,無(wú)線信道中信號(hào)的強(qiáng)度隨距離的增加呈指數(shù)遞減,導(dǎo)致無(wú)人機(jī)飛行得越高越遠(yuǎn)視頻傳輸質(zhì)量越差。因此,研究提高視頻傳輸質(zhì)量的方法具有非常重要的意義。
數(shù)字噴泉碼作為一種應(yīng)用于提高傳輸質(zhì)量的技術(shù),能夠兼顧信道糾錯(cuò)和自適應(yīng)信道兩種功能,最早由Michael Luby 等人提出。其基本思想是:編碼端將原始的數(shù)據(jù)分組通過(guò)隨機(jī)編碼產(chǎn)生理論上無(wú)限長(zhǎng)的編碼包,解碼端只需接收略大于原始數(shù)據(jù)分組數(shù)目的編碼包,即可以高概率重構(gòu)原始文件[1],且與具體接收到哪些編碼包無(wú)關(guān)。數(shù)字噴泉碼能夠在最大限度地減少反饋信息的情況下更高效完成數(shù)據(jù)可靠傳輸。本文主要介紹兩種有效的數(shù)字噴泉碼:LT(Luby Transform)碼和Raptor碼在無(wú)人機(jī)數(shù)據(jù)回傳上的應(yīng)用。
2 數(shù)字噴泉碼原理
所謂數(shù)字噴泉,就是將原始待編碼的數(shù)據(jù)塊切分成一定數(shù)量的更小的數(shù)據(jù)包,或者稱(chēng)為輸入符號(hào),按照某種分布從這些數(shù)據(jù)包中隨機(jī)選擇不固定數(shù)量的數(shù)據(jù)包,根據(jù)某種相關(guān)運(yùn)算編碼成編碼數(shù)據(jù)包,或者稱(chēng)為輸出符號(hào),此編碼數(shù)據(jù)包類(lèi)似噴泉噴出的一滴水,噴泉碼編碼器則類(lèi)似水噴泉。接收端只要接收到足夠數(shù)量的編碼包而不關(guān)心具體接收到哪些編碼包也不關(guān)心接收到的編碼包的順序,就能夠按照相應(yīng)的相關(guān)運(yùn)算以高概率完成解碼恢復(fù)原始數(shù)據(jù),這類(lèi)似使用杯子接收足夠的水而不關(guān)心具體接收哪些水滴。
2.1 LT碼編譯碼原理
2002年Luby提出了一類(lèi)非常適用于網(wǎng)絡(luò)數(shù)據(jù)分布的編碼方案-LT(Luby Transform)碼[2]。編碼以一個(gè)待傳送的原始數(shù)據(jù)作為輸入,以一個(gè)編碼包流作為輸出,每一個(gè)編碼包都按照如下算法獨(dú)立生成:
(1)把原始數(shù)據(jù)等分為k個(gè)輸入符號(hào),在1~k范圍內(nèi)按照某個(gè)分布(編碼器的度分布)隨機(jī)選取一個(gè)整數(shù)d(編碼包的度);(2)從k個(gè)輸入符號(hào)中隨機(jī)地選取d個(gè)不同的輸入符號(hào);(3)對(duì)這d個(gè)輸入符號(hào)做異或運(yùn)算,產(chǎn)生一個(gè)輸出符號(hào)。
上述編碼原理可以用圖2-1來(lái)表示。
當(dāng)接收端根據(jù)接收的編碼包恢復(fù)原始數(shù)據(jù)時(shí),需要知道每個(gè)編碼包所對(duì)應(yīng)的度和鄰接關(guān)系,通常把度和鄰接關(guān)系作為編碼包的包頭構(gòu)成新的數(shù)據(jù)包來(lái)傳送。
LT碼的譯碼過(guò)程采用了一種迭代算法——信息傳遞法(Message Passing,MP),其過(guò)程(可用圖2-2描述)如下:
(1)接收端接收到略大于k個(gè)編碼包后,根據(jù)編碼符號(hào)的度和編碼符號(hào)與輸入符號(hào)的鄰接關(guān)系建立雙向圖;(2)從雙向圖中選擇度為1的編碼符號(hào),此符號(hào)就是輸入符號(hào),即與度為1的編碼符號(hào)對(duì)應(yīng)的輸入符號(hào)可以直接恢復(fù)。如果接收的編碼包中不存在度為1的編碼符號(hào),譯碼以失敗停止;(3)將所有與已經(jīng)恢復(fù)的輸入符號(hào)鄰接的編碼符號(hào)和這個(gè)已經(jīng)恢復(fù)的輸入符號(hào)進(jìn)行異或運(yùn)算,用異或運(yùn)算的結(jié)果替代原編碼符號(hào),把這個(gè)已恢復(fù)符號(hào)和編碼符號(hào)之間的邊從圖中刪除,并把這些編碼符號(hào)的度減1。(4)返回步驟2直到譯碼結(jié)束。假如能夠恢復(fù)所有輸入符號(hào),則譯碼以成功結(jié)束;否則譯碼以失敗結(jié)束,此時(shí)也可以繼續(xù)接收更多的編碼包再進(jìn)行譯碼。
2.2 Raptor碼編譯碼原理
Raptor碼是由Shokrollahi提出的迄今為止最有效的一類(lèi)數(shù)字噴泉碼[1],是在LT碼的基礎(chǔ)上發(fā)展而來(lái)的。Raptor碼編碼由高速預(yù)編碼和LT碼編碼過(guò)程組成[3],Raptor碼的編碼過(guò)程如下:
(1)由K個(gè)長(zhǎng)為T(mén)字節(jié)的源符號(hào)C[0],C[1],…,C[K-1]進(jìn)行預(yù)編碼,產(chǎn)生L(L>K)個(gè)長(zhǎng)為T(mén)字節(jié)的中間符號(hào)C[0],C[1],…,C[L-1];
(2)由中間符號(hào)進(jìn)行LT編碼產(chǎn)生源符號(hào)和修復(fù)符號(hào)。
Raptor碼的譯碼也就比較簡(jiǎn)單,先采用LT碼的譯碼方法譯出中間符號(hào)的數(shù)據(jù)包,再采用預(yù)編碼對(duì)應(yīng)的譯碼方法譯出中間數(shù)據(jù)包所對(duì)應(yīng)的所有數(shù)據(jù)內(nèi)容。
3 數(shù)字噴泉碼在航拍數(shù)據(jù)回傳上的應(yīng)用
無(wú)人機(jī)航拍技術(shù)不僅可用于民用,還可以用于軍事上。它的發(fā)展?jié)摿薮?,人們?duì)于航拍技術(shù)的各方面要求將會(huì)越來(lái)越高。在滿(mǎn)足了硬件方面的條件之后,在軟件部分,如何提高傳輸質(zhì)量就成為了研究的重點(diǎn)。
從之前介紹的數(shù)字噴泉碼的概念和原理可以看出,噴泉碼實(shí)際上是一種面向分組的前向糾錯(cuò)編碼(FEC)技術(shù),與其他可靠性保障機(jī)制相比,噴泉碼具有一些明顯的優(yōu)勢(shì):
(1)可擴(kuò)展性強(qiáng)。在噴泉碼方案的接收端,譯碼器只要收到足夠的數(shù)據(jù)就可以恢復(fù)數(shù)據(jù),反饋機(jī)制不是必須提供的,與自動(dòng)請(qǐng)求重傳(ARQ)相比,避免了反饋信號(hào)的往返延時(shí)和廣播、多播應(yīng)用中可能出現(xiàn)的反饋風(fēng)暴以及網(wǎng)絡(luò)擁塞造成的傳輸帶寬受抑制的問(wèn)題。(2)能夠適用復(fù)雜多變信道狀況。噴泉碼編碼器可以源源不斷地輸出編碼包,碼長(zhǎng)不固定或者碼長(zhǎng)趨于無(wú)窮,碼率不固定或者無(wú)碼率。噴泉碼的這個(gè)特點(diǎn)使得發(fā)送端可以根據(jù)網(wǎng)絡(luò)狀況調(diào)整編碼碼率來(lái)適應(yīng)復(fù)雜多變的信道,充分利用信道容量。(3)編譯碼算法的復(fù)雜度低。理論上,噴泉碼編碼器產(chǎn)生一個(gè)輸出符號(hào)所需的運(yùn)算是與輸入符號(hào)數(shù)量k無(wú)關(guān)的常數(shù),譯碼器譯得k個(gè)原始數(shù)據(jù)包所需運(yùn)算量是關(guān)于k的線性函數(shù),即具有線性復(fù)雜度。(4)對(duì)異質(zhì)網(wǎng)絡(luò)友好,支持并行下載、分層組播等應(yīng)用?;趪娙a無(wú)固定碼率的特性,網(wǎng)絡(luò)狀況不同的用戶(hù)可以依據(jù)自己的網(wǎng)絡(luò)狀況自由調(diào)整接收數(shù)據(jù)的多少,系統(tǒng)無(wú)需為劣質(zhì)網(wǎng)絡(luò)用戶(hù)的接收質(zhì)量而影響其他用戶(hù)信息的發(fā)送,從而支持并行下載和分層組播等應(yīng)用。
我們常用的兩種數(shù)字噴泉碼:LT碼的編譯碼方法簡(jiǎn)單,編譯碼算法復(fù)雜度低,譯碼開(kāi)銷(xiāo)??;Raptor碼因?yàn)樵O(shè)計(jì)和優(yōu)化具有高速和高效率的特點(diǎn),所以使其編譯碼的速度很快[4]。
正是由于數(shù)字噴泉碼擁有了這樣的一些優(yōu)點(diǎn),在數(shù)據(jù)傳輸?shù)男诺乐?,采用噴泉碼制作的編譯碼器就能夠保證讓航拍到的視頻數(shù)據(jù)高質(zhì)量回傳,從而得到原始的清晰、流暢的視頻內(nèi)容。
4 結(jié)語(yǔ)
本文通過(guò)對(duì)數(shù)字噴泉碼(主要是LT碼和Raptor碼)的編譯碼原理的簡(jiǎn)單介紹,我們可以發(fā)現(xiàn),噴泉碼之所以能夠應(yīng)用在無(wú)人機(jī)航拍技術(shù)上,是源于它所具有的顯著優(yōu)勢(shì)可以讓航拍視頻數(shù)據(jù)高質(zhì)量回傳。近幾年, 關(guān)于數(shù)字噴泉碼的研究已經(jīng)取得了不少令人振奮的結(jié)果,數(shù)字噴泉碼被認(rèn)為是適用于可靠多播傳輸、多源下載、數(shù)據(jù)存儲(chǔ)和無(wú)線協(xié)作傳輸?shù)葢?yīng)用的最有前途的編碼技術(shù)[5]。當(dāng)然,隨著無(wú)人機(jī)航拍技術(shù)的不斷發(fā)展,噴泉碼技術(shù)也將會(huì)不斷進(jìn)步,從而更好的應(yīng)用到航拍技術(shù)以及其他更多 更廣的技術(shù)中去。
參考文獻(xiàn)
[1]Shokrollahi A. Raptor Codes[J].IEEE Transactions on Informatio Theory, 2006,52(6):2551-2567.
[2]M Luby.LT Codes[A].In :Proceedings of the 43rd Annu.IEEE.Symp Foundations of Computer Science(FOCS)[C].Canada:Vancouver,Nov.2002.71-280.
[3]唐崇彥,李建平,蔡時(shí).TANG Chong-yan.LI Jian-ping.CAI Chao-shi Raptor碼的原理及應(yīng)用前景-通信市場(chǎng).2008(1).
[4]姜博,晏堅(jiān),蔣衛(wèi)東.噴泉碼及其在通信網(wǎng)絡(luò)中的應(yīng)用-數(shù)字通信世界,2007(10).
[5]慕建君,焦曉鵬,曹訓(xùn)志.數(shù)字噴泉碼及其應(yīng)用的研究進(jìn)展與展望[J].電子學(xué)報(bào),2009(07).
收稿日期:2016-08-30
作者簡(jiǎn)介:周滟(1989—),女,漢,四川廣元人,大學(xué)本科,研究方向:數(shù)據(jù)傳輸,就職于四川信息職業(yè)技術(shù)學(xué)院。