無人機系統(tǒng)的下位機要求實時傳輸視頻數(shù)據(jù)到上位機,由于視頻數(shù)據(jù)量較大且網絡帶寬非常寶貴,對視頻數(shù)據(jù)選用一種高壓縮比的文件格式顯得十分重要。 JPEG是聯(lián)合圖像專家組(Joint Picture Expert Group)的英文縮寫,是國際標準化組織(ISO)和CCITT聯(lián)合制定的靜態(tài)圖像的壓縮編碼標準。和相同圖像質量的其他常用文件格式(如 GIF,TIFF,PCX)相比,JPEG是目前靜態(tài)圖像中壓縮比最高的,而圖像質量卻差不多。正是由于JPEG的高壓縮比,使得他廣泛地應用于多媒體和網絡編程中。
JPEG-專家組開發(fā)了兩種基本的壓縮算法,一種是采用以離散余弦變換(Discrete Cosine Transform,DCT)為基礎的有損壓縮算法,另一種是采用以預測技術為基礎的無損壓縮算法。使用有損壓縮算法時,在壓縮比為25:1的情況下,壓縮后還原得到的圖像與原始圖像相比較,非圖像專家難于找出他們之間的區(qū)別,因此得到了廣泛的應用。JPEG壓縮是有損壓縮,他利用了人的視角系統(tǒng)的特性,使用量化和無損壓縮編碼相結合來去掉視角的冗余信息和數(shù)據(jù)本身的冗余信息。JPEG算法框圖如圖2所示。

壓縮編碼大致分成3個步驟:
(1) 通過DCT去除數(shù)據(jù)冗余。DCT是影像壓縮的重要步驟,他通過正交變換將圖像由空間域轉換為頻率域。對于N×N維的數(shù)據(jù),經變換以后仍然得到N×N的數(shù)據(jù),雖然DCT變換本身并不對影像進行壓縮,但變換消除了N×N維數(shù)據(jù)之間的冗余性。DCT變換是壓縮過程中量化和編碼的基礎。
(2) 使用量化表對DCT系數(shù)進行量化。量化表是一個量化系數(shù)矩陣,通過量化可以降低整數(shù)的精度,減少整數(shù)存儲所需的位數(shù)。量化過程除掉了一些高頻分量,損失了高頻分量上的細節(jié)。由于人類視覺系統(tǒng)對高空間頻率遠沒有低頻敏感,經過量化處理的圖像從視覺效果來看損失很小。由于低空間頻率中包含大量的影像信息,經過量化處理后,在高空間頻率段,出現(xiàn)大量連續(xù)的零,這有利于以后通過編碼減小數(shù)據(jù)量。
(3) 對量化后的DCT系數(shù)進行編碼使其熵達到最小。遙感圖像數(shù)據(jù)經過DCT和量化之后,在高頻率段會出現(xiàn)大量連續(xù)的零,采用Huffman可變字長編碼,可使冗余量達到最小。
譯碼或者叫做解壓縮的過程與壓縮編碼過程正好相反。根據(jù)上述JPEG數(shù)據(jù)壓縮解壓原理,在C編譯器和集成開發(fā)環(huán)境(Code Composer Studio,CCS)中開發(fā)實現(xiàn)了圖像壓縮解壓程序,便可應用于無人機視頻數(shù)據(jù)的處理中。視頻數(shù)據(jù)壓縮處理程序的接口如下:

4、網絡傳輸協(xié)議及socket編程
根據(jù)OSI網絡標準定義,網絡由物理層、數(shù)據(jù)鏈路層、網絡層、傳輸層、會話層、表示層和應用層7層組成。而在實際應用中,網絡結構可采用鏈路層、網絡層、傳輸層和應用層4層模型。