祝佳
(中國西南電子技術研究所,成都 610036)
Landsat8衛星遙感數據預處理方法
祝佳
(中國西南電子技術研究所,成都610036)
摘要:Landsat系列衛星是由美國航空航天局和美國地質調查局共同管理的資源遙感系列衛星,40多a來為地球遙感探測活動提供了大量清晰而穩定的圖像數據。衛星遙感數據預處理是獲取優質遙感基礎圖像的第一步,對后續各級衛星遙感產品的質量有著很重要的影響。針對Landsat8衛星原始數據,對衛星下傳所采用的空間數據傳輸協議和數據傳輸格式進行了詳細的解析,分析了原始數據從解同步、數據幀解析、任務數據包解析、圖像數據獲取直到生成0級圖像產品的步驟; 特別針對存在無損數據壓縮的陸地成像儀(operational land imager,OLI)數據,討論了基于空間數據系統咨詢委員會(consultative committee for space data systems,CCSDS)相關標準進行無損數據解壓縮處理的方法和過程。經數據預處理得到的Landsat8衛星0級圖像產品,可為Landsat8衛星數據應用提供優質的基礎圖像。
關鍵詞:Landsat8; 遙感衛星; 數據預處理; 數據解壓縮
0引言
2013年2月,美國航空航天局(national aeronautics and space administration,NASA)在美國加利福尼亞成功發射了Landsat家族的第8顆陸地衛星——Landsat8。Landsat8的發射是“陸地衛星數據連續性任務”(Landsat data continuity mission,LDCM)的一個重要組成部分,該任務是紀念Landsat系列衛星發射40 a而特別制訂的。Landsat8衛星搭載有陸地成像儀(operational land imager,OLI)和熱紅外傳感器(thermal infrared sensor,TIRS)。OLI被動感應地表反射的太陽輻射和散發的熱輻射,有9個波段,覆蓋了從可見光到紅外譜段的不同波長范圍。與Landsat7衛星搭載的傳感器ETM+相比[1],OLI增加了1個C/A波段(0.433~0.453 μm)和1個短波紅外波段(Band 9,1.360~1.390 μm)。C/A波段主要用于海岸帶觀測; 短波紅外波段能反映水汽強吸收特征,可用于卷云檢測。TIRS是有史以來最先進、性能最好的熱紅外傳感器,能收集地球熱量流失,可用于了解所觀測地帶的水分消耗、特別是干旱地區的水分消耗[2-3]。
本文將針對Landsat8衛星的原始數據,首先對原始數據的解同步、解包等解析步驟進行分析和討論; 在提取出任務數據(mission data)之后,特別針對OLI數據進行無損數據解壓縮處理的方法推演; 最終完成Landsat8衛星0級圖像產品的生成,為Landsat8衛星數據應用提供優質的基礎圖像。
1原始數據解析
原始數據解析是獲取影像信息的第一步。其過程是利用Landsat8衛星下傳的原始未加工(raw)數據,依次進行同步、幀解析、數據包解析和任務數據拼接,最終提取出影像數據和輔助參數、生成0級圖像產品的過程。
充分了解空間數據傳輸協議和數據傳輸格式是進行原始數據解析的關鍵。空間數據傳輸協議是衛星下傳數據的傳輸控制協議,原始數據同步、數據幀和數據包的解析、影像數據和輔助參數的提取,均需依據該協議進行; 而數據傳輸格式描述的是任務數據在傳輸時所采用的組合方式,對整景圖像的數據提取和對應輔助、校正參數的確定有著重要作用,直接關系到任務數據的完整獲取和準確校正。對于Landsat8衛星系統,其空間數據傳輸協議和數據傳輸格式都是參照空間數據系統咨詢委員會(consultative committee for space data systems,CCSDS)的遙控遙測相關建議標準[4-6]制定的。
1.1數據幀解析
Landsat8衛星數據以位(bit)流的方式,首先通過虛擬通道連接到控制子層,傳遞到協議函數; 隨后數據流進入虛擬通道訪問子層,通過添加頭尾來控制端到端的數據流,從而形成虛擬通道數據單元(virtual channel data unit,VCDU); 接著在進入物理通道層之前添加一個幀同步頭,形成通道訪問數據單元(channel access data unit,CADU); 最后由物理通道層完成數據流的調制和傳輸(圖1)。

圖1 傳輸幀與通道訪問數據單元關系圖
當地面站接收衛星傳輸來的原始遙感數據時,需要依據上述的傳輸控制協議對原始數據位流逐層進行解析,以獲取任務圖像數據和相應的輔助參考數據。
遙感數據通過數據傳輸幀進行傳輸,如圖1所示,傳輸幀尺寸為1 024字節(bytes),包括4 字節的幀同步碼(0x1ACFFC1D)、892 字節的傳輸數據和128 字節的低密度奇偶校驗碼(low density parity check code,LDPC)編碼信息。通過剝離幀同步碼和LDPC編碼信息,即可從下行數據傳輸幀中提取出所傳輸的數據信息; 將這些單個892 字節長的傳輸數據段拼接起來,又可以組成1個新的數據流,即通道訪問數據單元(CADU),亦稱為數據幀,每幀尺寸為1 034 字節,其中包括了4字節的幀同步碼(0x352EF853)、6字節的數據幀主導頭和1 024 字節的數據域。其幀結構如圖2所示。

圖2 通道訪問數據單元結構圖
通過幀同步碼可同步提取出單個的CADU數據幀,從解析數據幀的主導頭(transfer frame primary header)開始來解析該數據幀。主導頭尺寸為6 字節(圖3)。

圖3 數據幀主導頭結構圖
主導頭包含以下內容:
1)版本號。第0位和第1位被用作數據幀的版本號,設為“01”。
2)航天器標識。第2位到第9位用作航天器標識,Landsat8是“11111010”。
3)虛擬信道標識(virtual channel identifier,VCID)。第10位到第15位為虛擬信道標識,用來標明數據產生的通道。對于Landsat8,標識“000000”表示來自OLI的實時數據; 標識“000101”表示來自TIRS的實時數據。
4)虛擬信道幀計數。第16到39位用作虛擬信道幀計數,計數從0開始,每個數據幀計數加1,直到計數值達到16 777 215后重置為0; 設備重啟時計數也重置為0。
5)回放標志。第40位用作回放標志位,“0”表示實時數據,“1”表示回放數據。
6)虛擬信道幀計數用法標志。第41位用作標識是否使用了虛擬信道循環幀計數方式,對于Landsat8,并未使用循環計數,因而該位設為“0”。
7)保留空間。第42到43位為保留位,設為“00”。
8)虛擬信道幀計數循環標志。第44到47位用于標識循環幀計數,由于Landsat8未使用,因而全部設為“0”。
數據流中緊跟著數據幀主導頭的是1 024 字節長的數據域,其中包含了多個多路協議數據單元(multi_protocol data unit, M_PDU)數據包。由于數據包區域長度僅為1 022 字節,因而數據包區域內的數據包并非都是完整的,可能包含了上一個數據幀中未傳輸完的1個數據包的后半段,也可能包含了無法完整傳輸的1個數據包的前半段。
為確保從數據包區域中準確提取出完整的數據包信息,在數據域的頭2個字節設置了多路協議數據單元頭(M_PDU header),其中的前5位作為保留位,全設為“0”; 后11位為首包頭指針(first header pointer),表示本數據幀內所包含的第一個完整M_PDU數據包的包頭指針(模2 048),其指針值表示第一個數據包的偏移量,即從M_PDU數據包區域的起始位到第一個完整M_PDU數據包之間相隔的字節數。此外,特地用0x7FF表示本數據幀內沒有數據包的包頭。
1.2M_PDU數據包解析
通過首包頭指針定位到完整的M_PDU數據包后,就需要對數據包進行相關解析。M_PDU數據包由5個主要部分組成:
1)數據包主導頭(packet primary header)。長度為6 字節,其中包含了本數據包的相關標識信息(圖4),對準確解析數據包中的遙感數據有著重要的作用。

圖4 數據包主導頭結構圖
數據包主導頭包含以下內容:
①版本號。“000”。
②數據包類型。“0”。
③副導頭標識。“1”表示數據包,帶有副導頭; “0”表示空閑包,沒有副導頭。
④應用標識(application process identification,APID)。用11位數據表示本數據包所攜帶數據的類型,是解析遙感數據的關鍵參數。部分常用APID的描述見表1,其中APID為256—268表示進行壓縮處理后的OLI成像儀各波段數據,768—780表示未壓縮的OLI成像儀各波段數據。
⑤包順序標識。“11”。
⑥數據包序號。用14位數據連續記錄數據包的序號,計數從0開始,根據APID每個有效數據包計數加1(空閑數據包不計數),直到計數值達到16 383后重置為0,設備重啟時計數也重置為0。

表1 應用標識描述
⑦數據包長度。2 字節,其數值為L,單位為字節,即
L=(數據包副導頭+偏移位+任務數據頭+任務數據域長度)-1=任務數據域長度+15。
(1)
任務數據域長度一般為變長,通過該參數確定本數據包的準確長度,以便對任務數據進行解析提取。
2)數據包副導頭(packet secondary header)。長度為8 字節,主要包含一些數據包的輔助信息。對于Landsat8來說,大部分為默認值或保留位,同時也包含了數據域長度和數據源ID等參數,用于輔助確認數據包的相關參數信息。
3)偏移位(offset)。偏移位長度為4字節。
4)任務數據頭(mission data header)。長度為4 字節,用于描述隨后的任務數據信息。主要包含2個參數: ①第5—15位為應用標識APID,此處的APID和數據包主導頭中的APID應保持一致,用于確認任務數據類型; ②第16—31位為任務數據域長度,與數據包主導頭中的數據包長度值L相差15字節,用于確認任務數據的長度。
5)任務數據域(mission data)。每個數據包的任務數據域長度不定,由任務數據頭中的數據域長度參數確定。任務數據域中的數據就是所需要提取的遙感圖像數據信息。
2圖像數據解壓縮
Landsat8的遙感數據主要包括OLI成像儀數據、TIRS傳感器數據和相關輔助數據。其中,對于OLI成像儀數據,Landsat8在下傳數據時部分進行了數據無損壓縮處理,故對這部分數據在提取遙感圖像數據時需要進行相應的解壓縮處理。由于Landsat8只對OLI成像儀數據進行了壓縮處理,因而數據解壓縮處理只針對OLI成像儀數據。
2.1無損數據壓縮
Landsat8采用CCSDS 121.0-B無損數據壓縮建議標準對部分OLI成像儀數據進行壓縮[5]。在CCSDS 121.0-B-2無損數據壓縮建議標準中,將RICE自適應編碼算法作為進行無損數據壓縮的核心算法[4]。RICE算法的核心思想是使用一系列的變長編碼對樣本數據進行相應的壓縮處理,主要包括預處理器和熵編碼器2個組成部分,其框架結構如圖5所示。

(X為原始數據輸入值; δ為預處理器輸出值; Y為壓縮數據輸出值)
圖5中,預處理器的功能在于分析待處理數據樣本之間的相關性,使用便于進行熵編碼的數學符號來描述待處理的數據樣本; 而熵編碼器則是對經預處理后的數據樣本,根據其特點自適應地在一系列變長編碼中選取最為合適的編碼對樣本進行壓縮處理,最后在壓縮數據前端附上對應的壓縮編碼標識符。
2.1.1預處理器
預處理器的主要作用是對待壓縮的原始數據進行分析處理,將其變換為有利于熵編碼器進行高效率壓縮的數據樣本形式。由于所進行的數據壓縮處理是無損的,因而預處理的過程也應該是可逆的過程。預處理器一般包括預測和映射2個步驟,其結構如圖6所示。

(XP為參考樣本值; X為原始數據輸入值;
圖6中,預測器用于減少數據樣本間的相關性,預測時要用到參考樣本,以此為基礎生成差值序列; 在Landsat8的OLI成像儀數據中,每1 024行就有1行未進行壓縮處理的圖像數據作為參考樣本。映射器主要完成在不改變預測誤差統計特性的情況下對預測誤差值進行映射變換,映射后得到的n位非負整數(與輸入數據的bit數相同)應便于后續的熵編碼器進行有效處理。
Landsat8所使用的預測編碼映射變換公式為:
若XP<2 048,

(2)

(3)
式中:δ為預處理器輸出值;X為原始數據輸入值;XP為參考樣本值; 原始數據和參考樣本均為12 bit的圖像像素值,取值范圍為0~4 095。
2.1.2熵編碼器
熵編碼器模塊是RICE算法的核心模塊,包括1組變長編碼器集合,其中包含4類編碼模式: 基本序列編碼、采樣值分裂編碼、低熵值編碼和無壓縮編碼。當輸入經預處理的數據樣本塊時,熵編碼器會根據數據樣本的特點,自適應地選取1類最為有效的編碼模式對其進行壓縮編碼; 同時在壓縮編碼數據的前端會附上對應的壓縮編碼標識符,以便于編碼模式的確認和解壓縮的處理; 最后將編碼標識符和壓縮編碼一起輸出。由于在進行熵編碼時,每個數據樣本可以根據其自身特點自適應地選取編碼效率最高的編碼模式,因而這種編碼算法能有效地適應遙感圖像信源統計特性的變化,可大大提高壓縮率。熵編碼器的結構框圖見圖7。

(k為采樣值分裂編碼選項參數)
熵編碼器包括:
1)基本序列(fundamentalsequence,FS)編碼。一種簡單變長碼,“1”為碼字結束的信號,用前面“0”的個數代表所編碼的信息。其本質是對出現頻率越高的數據,分配越短的碼字; 而對出現頻率越低的數據,則分配越長的碼字。詳細說明見表2。

表2 FS編碼規則
2)采樣值分裂編碼。為熵編碼器中使用頻率最多的一類編碼模式。其中,分裂編碼的選項參數用k來表示,對參數為k的采樣值分裂編碼的處理方法是: 對1個含有J個數據樣本的待編碼塊分裂出k個低位數據,余下的高位數據將分別依次進行基本序列編碼; 隨后在已完成編碼的高位數據流后依次附上分裂出去的低位數據。特別地,k=0是基本序列編碼。RICE算法中采樣值分裂編碼的數據壓縮率大約在1bit左右。
3)低熵值編碼。RICE算法[4]提供了2種低熵值編碼選項,即二次擴展編碼和零值塊編碼,主要是針對待處理的數據樣本值非常小的情況。對于這類數據值很小的樣本,采用低熵值編碼模式可以獲得很好的壓縮效果,每個樣本點的壓縮比可低于1.5bits。其中,二次擴展編碼先將數據樣本塊中相鄰的2個數據合并成數據對,使用一定的方式將數據對轉換為新的值; 然后對該新值進行基本序列編碼,這樣一組碼字就描述了2個數據樣本值,大大提高了壓縮效率。而零值塊編碼是針對1個或多個連續的待處理數據樣本塊均為0值的情況,對這些連續的待處理0值塊的個數進行基本序列編碼,個數的上限為64; 當連續0值塊的個數大于64時,則分段重新進行個數的編碼。
4)無壓縮編碼。若上述3類編碼模式都無法對待處理的數據樣本塊進行有效的壓縮編碼時,則不進行任何壓縮處理,即采用無壓縮編碼。處理方式是在經過預處理的數據樣本塊前端直接附上無壓縮編碼的標識符后進行輸出。
2.2數據解壓縮
解壓縮是數據壓縮編碼的逆過程,與無損數據壓縮流程對應。解壓縮流程包括熵譯碼器和后處理器2個部分。在熵譯碼器中需要確定其各參數的配置,以確保熵譯碼器的工作模式與熵編碼器相同。配置參數包括每個樣本的位數、數據塊的大小和所采用的編碼方式。對于Landsat8的OLI數據,數據樣本為12bits,任務數據域中的每個壓縮數據包(codeddataset,CDS)包含了壓縮選項標識(optionID)和16個數據樣本的壓縮編碼值(表3)。

表3 壓縮選項對照
CDS的結構如圖8所示。

圖8 CDS結構圖
通過解析數據包開頭的4位或5位碼字(見表3),確定所使用的壓縮編碼方式; 然后針對不同的編碼方式,解析后面的編碼序列。熵編碼是可逆的,其譯碼過程也不復雜。經過熵譯碼器譯碼后,數據被送往后處理器。后處理器是預處理器的逆過程,完成與預測和變換相反的功能。對于Landsat8數據,其后處理映射變換公式為:
(4)
(5)
式中: δ′為經過譯碼后的輸入值; X′為解壓縮后的輸出值; XP為參考樣本值; 輸入值、輸出值和參考樣本值均為12位的圖像像元值,取值范圍為0~4 095。經過后處理器的映射后,就能獲得原始的遙感圖像數據信息。
3圖像產品生成
在Landsat8圖像中,每個M_PDU數據包包含1行圖像中1個波段的全部像元數據。如圖9所示,在OLI成像儀數據中,有13個波段的數據; 衛星在下傳數據時,先傳輸完1行圖像的13個波段數據后再傳輸下1行圖像數據; 對于每1行圖像,各波段數據按照圖9的順序依次讀出。同樣,TIRS傳感器數據有3個波段,每1行圖像的數據也是按照圖9所示的順序依次讀出的。

圖9 OLI和TIRS圖像數據行結構圖
根據上述的任務數據協議和數據壓縮協議等,預處理系統主要由以下幾個部分組成:
1)數據獲取子系統。負責從下傳設備中接收并獲取原始的衛星數據文件,并將其存儲到原始數據庫中,以供后續的數據處理使用。
2)原始數據解析子系統。從原始數據庫中讀取衛星下傳的原始未加工(raw)數據進行解析,根據空間數據傳輸協議對原始數據進行同步、數據幀解析等處理。
3)任務數據解析子系統。根據數據傳輸協議和數據傳輸格式對任務數據包進行解析,提取出任務影像數據幀; 對使用了無損壓縮的數據進行解壓縮處理,恢復其原始圖像數據,并提取出對應的輔助參數和校正參數。
4)圖像數據處理子系統。生成各波段圖像數據,提供圖像快視瀏覽。
遙感衛星數據預處理系統輸入的是Landsat8衛星的原始數據文件,其內容是二進制的數據流; 系統的最終輸出是Landsat8的0級衛星圖像信息。軟件系統集成開發環境是在WindowsXPSP3操作系統下的MicrosoftVisualStudio2010,軟件操作界面采用窗口交互方式。
4結論
本文通過分析Landsat8衛星遙感數據預處理的方法,梳理出Landsat8衛星圖像從原始下傳數據通過解同步、解包、圖像數據獲取、數據解壓縮直到0級衛星圖像產品生成的處理流程,得到如下結論:
1)按照空間數據系統咨詢委員會標準建議的空間數據傳輸協議和數據傳輸格式,可以逐層對原始數據進行解析,經過同步、數據幀解析、M_PDU數據包解析,能夠從任務數據域中提取出圖像數據和輔助參數。
2)OLI成像儀的部分數據下傳時經過了數據壓縮,由于采用的是CCSDS無損數據壓縮標準,通過逆向的解壓縮處理可以獲取原始圖像數據。
3)經過數據預處理過程能夠得到Landsat8衛星的0級圖像產品,可為后續各級衛星遙感產品生成和遙感圖像分析提供優質基礎。
參考文獻(References):
[1]王樹根.Landsat系統回顧與展望[J].測繪信息與工程,1998(1):1-6.
WangSG.ReviewandprospectoftheLandsatsystem[J].JournalofGeomatics,1998(1):1-6.
[2]張玉君.Landsat8簡介[J].國土資源遙感,2013,25(1):176-177.doi:10.6046/gtzyyg.2013.01.30.
ZhangYJ.IntroductiontotheLandsat8[J].RemoteSensingforLandandResources,2013,25(1):176-177.doi:10.6046/gtzyyg.2013.01.30.
[3]初慶偉,張洪群,吳業煒,等.Landsat-8衛星數據應用探討[J].遙感信息,2013,28(4):110-114.
ChuQW,ZhangHQ,WuYW,etal.ApplicationresearchofLandsat-8[J].RemoteSensingInformation,2013,28(4):110-114.
[4]CCSDS.CCSDS121.0-B-2,LosslessDataCompression,BlueBook,RecommendedStandard,Issue2[S].WashingtonDC,USA:CCSDS,2012.
[5]USGS.Ldcm-Isd-010,LandsatDataContinuityMission(LDCM)SpacetoInternationalCooperatorInterfaceSpecificationDocument,Version1.0[S].USGS:2011.
[6]USGS.LDCM-DFCB-004,LandsatDataContinuityMission(LDCM)Level1(L1)DataFormatControlBook(DFCB),Version6.0[S].USGS:2012.
[7]唐海蓉.Landsat7ETM+數據處理技術研究[D].北京:中國科學院研究生院(電子學研究所),2003.
TangHR.ResearchonLandsat7ETM+DataProcessing[D].Beijing:InstituteofElectronics,ChineseAcademyofSciences,2003.
[8]初慶偉.Landsat-8衛星數據預處理關鍵技術研究[D].北京:中國科學院大學,2013.
ChuQW.TheResearchofKeyTechnologyofLandsat-8DataPreprocessing[D].Beijing:UniversityofChineseAcademyofSciences,2013.
[9]宋鵬,張曉林.關于CCSDS無損數據壓縮建議的初步研究[J].遙測遙控,2001,22(1):8-13.
SongP,ZhangXL.APreliminarystudyofCCSDSlosslessdatacompressionproposals[J].JournalofTelemetry,Tracking,andCommand,2001,22(1):8-13.
[10]李維忠,賈小鐵,徐志立.用于空間數據系統的無損數據壓縮技術[J].計算機科學,2003,33(11):122-124.
LiWZ,JiaXT,XuZL.Losslessdatacom-pressionforthespacedatasystem[J].Com-puterScience,2003,33(11):122-124.
[11]張兆亮.基于CCSDS算法的星載圖像壓縮系統的FPGA實現[D].西安:西安電子科技大學,2010.
ZhangZL.ImplementationofCCSDSSatelliteImageCompressionSystemwithFPGAs[D].Xi’an:XidianUniversity,2010.
[12]朱云華,王鳳陽,劉泳,等.CCSDS無損數據壓縮算法的實現與應用研究[J].中國空間科學技術,2008,28(4):40-46.
ZhuYH,WangFY,LiuY,etal.ImplementationandapplicationstudyofCCSDSlosslessdatacompressionalgorithm[J].ChineseSpaceScienceandTechnology,2008,28(4):40-46.
(責任編輯: 劉心季)
AnalysisofLandsat8satelliteremotesensingdatapreprocessing
ZHUJia
(Southwest China Institute of Electronic Technology, Chengdu 610036, China)
Abstract:The Landsat series satellites are the remote sensing resource series satellites, which are jointly managed by National Aeronautics and Space Administration and United States Geological Survey. Large quantities of high-resolution and stable image data provided by the Landsat series satellites have created good opportunities for the earth remote sensing exploration activities in the past forty years. Satellite remote sensing data preprocessing is the first step for obtaining remote sensing image, and has an important impact on the quality of the satellite remote sensing product. Aimed at tackling the Landsat8 raw data,the authors dealt in detail with the space data transmission protocol and data transmission format for Landsat8 data downlink. The preprocessing steps for raw data were analyzed, which included synchronization, transfer frame analyzing, unpack, mission data extracting, etc. In addition, the procedure of 0-level image product acquisition was described. Specifically, based on CCSDS(consultative committee for space data systems)recommended standard, the authors also discussed the method and technological process of lossless data decompression for Operational Land Imager (OLI)compressed data. The Landsat8 Level 0 data product obtained by the data preprocessing can provide high-quality basic images for the application of Landsat8 satellite remote sensing data.
Keywords:Landsat8; remote sensing satellite; data preprocessing; data decompression
doi:10.6046/gtzyyg.2016.02.04
收稿日期:2015-01-21;
修訂日期:2015-03-01
中圖法分類號:TP 751.1
文獻標志碼:A
文章編號:1001-070X(2016)02-0021-07
作者簡介:祝佳(1984-),男,博士,工程師,主要從事衛星應用地面系統技術方面的研究。Email: zhujiaustc@163.com。
引用格式: 祝佳.Landsat8衛星遙感數據預處理方法[J].國土資源遙感,2016,28(2):21-27.(Zhu J.Analysis of Landsat8 satellite remote sensing data preprocessing[J].Remote Sensing for Land and Resources,2016,28(2):21-27.)