蘇鵬濤 段小虎 馬小博 劉逸涵 中國航空工業(yè)西安航空計算技術(shù)研究所
隨著飛機設計和制造技術(shù)水平的提升,飛機運行中產(chǎn)生的飛控系統(tǒng)和航電系統(tǒng)狀態(tài)信息越來越多,飛機駕駛艙內(nèi)的儀表數(shù)量不斷增加。早期飛行員需要在查看眾多子系統(tǒng)顯示界面后才能獲取飛機目前狀態(tài)并做出判斷。隨后出現(xiàn)的集中式顯示系統(tǒng)較老式座艙進行了重大改變,綜合化顯示界面不僅有效減少了儀表數(shù)量,同時降低了操縱難度,保證飛行員在更短時間內(nèi)更加直觀的獲取飛機的飛行數(shù)據(jù)。
但是,由于飛機座艙內(nèi)多種顯示設備協(xié)同工作,同一時間需要傳輸?shù)膱D像數(shù)據(jù)量非常大,以2k實時視頻為例,僅一個顯示界面每秒需要的數(shù)據(jù)帶寬為數(shù)百Mb,目前飛機內(nèi)部采用的傳輸總線多為FC或AFDX,由于數(shù)據(jù)處理的高帶寬需求,兩種總線均無法為座艙顯示設備分配如此高的帶寬,因此研制一種適用于飛機座艙顯示界面的信息編解碼方法就十分必要。
座艙顯示界面系統(tǒng)編解碼的核心是圖像的壓縮,主要關(guān)注多幀連續(xù)圖像的時間冗余、空間冗余和視覺冗余。本文提出的座艙顯示界面系統(tǒng)編解碼方法,采用了編碼樹對視頻進行編碼,每幀圖像被分解為不同層次的像素塊,最大的像素塊被稱為超級塊,每個超級塊又被分解為塊,塊的大小不固定圖像,超級塊和塊的大小可以通過編解碼器的配置文件進行定義。圖像、超級塊和塊之間采用四叉樹進行劃分,四叉樹分割完成的最小塊為4x4規(guī)格,最大塊為16x16規(guī)格。
本方法采用基于塊的編碼流程,通過幀內(nèi)/幀間預測、殘差變換、量化和熵編碼完成數(shù)據(jù)編碼。在幀內(nèi)/幀間預測過程中,不同規(guī)格的像素塊采用的預測方式也不同。由于人眼對亮度信息和色度信息的敏感程度不同,亮度信息可采用的預測塊包括4x4、8x8和16x16,色度信息則僅能采用4x4或8x8兩種預測塊。進行幀間預測時,對于色度塊和亮度塊本方法采用的運動矢量的搜索精度也不同,對亮度塊采用色度塊一半的精度進行搜索,具體的搜索精度可以通過編碼器配置文件進行配置。
編碼器可選取的圖像參考幀數(shù)量也是可配置的,目前支持的參考幀數(shù)量為0~7,第一幀圖像默認無參考。此外編碼器中設置了周期運動檢測寄存器,當檢測到視頻中存在周期性重復或淡入淡出等類型圖像時,可自動對圖像參考幀配置寄存器進行配置,并采用加權(quán)預測進行處理。
為了對圖像進行量化,需要進行離散余弦(DCT)變換。通過DCT變換,圖像可以舍棄高頻信息(邊界、紋理),保留低頻信息(平坦區(qū)域),很大程度的降低圖像復雜度。
此外,由于該算法對圖像進行了塊分割,在處理過程中圖像容易出現(xiàn)塊間亮度和色度的不連續(xù)現(xiàn)象,因此引入常用的環(huán)路濾波器進行圖像塊濾波以消除像素塊之間的假邊界,環(huán)路濾波器中的比較操作采用查找表實現(xiàn)。
座艙顯示界面系統(tǒng)編解碼方法采用了熵編碼對數(shù)據(jù)進行處理,數(shù)據(jù)首先按照循環(huán)掃描方式由二維變?yōu)橐痪S,之后對非掃描變換系數(shù)之外的數(shù)據(jù)采用變長編碼(UVLC)進行計算,編碼變換系數(shù)則采用基于上下文的自適應二進制算數(shù)編碼(CABAC)進行運算,變長編碼的特點主要是不需要為碼表分配多余空間,編碼速度較高;自適應二進制算數(shù)編碼則根據(jù)碼流上下文建立概率模型,效率接近熵編碼的編碼極限,但較為復雜。兩種編碼方法相結(jié)合可以有效提高整體編碼效率。
在進行塊間運動估計時,座艙顯示界面系統(tǒng)編解碼方法采用精度較高的運動適量和殘差圖像,有效降低了圖像數(shù)據(jù)量。全局搜索算法雖然精度較高,但運算復雜導致系統(tǒng)實現(xiàn)難度和處理時間不理想,傳統(tǒng)的三步法雖然搜索速度快但第一步步長較大導致搜索塊容易超出圖像的運動范圍,造成搜索精度較低;鉆石搜索法和六邊形搜索法適用于緩慢運動的圖像,當運動速度較快或運動較為復雜時該算法精度較低。
本文采用一種改進的鉆石搜索法,先以基準像素點周圍的四個深綠色像素點為基準進行搜索,當四個點不滿足閾值要求時再以八個淺綠色像素點為基準進行搜索,最終完成運動估計。
為了提高數(shù)據(jù)傳輸?shù)目煽啃裕疚乃惴ú捎脭?shù)據(jù)流分層的方式將視頻數(shù)據(jù)分為網(wǎng)絡層數(shù)據(jù)和邏輯層數(shù)據(jù)。邏輯層數(shù)據(jù)主要是視頻圖像編碼后產(chǎn)生的壓縮碼流。網(wǎng)絡層則通過將邏輯層數(shù)據(jù)按照網(wǎng)絡類型進行封裝,包括數(shù)據(jù)頭和有效載荷段,數(shù)據(jù)頭記錄數(shù)據(jù)的類型、數(shù)量、包頭包尾等信息。
為了驗證本文算法性能,通過與全局搜索算法(FS)、鉆石搜索算法(DIA)、六邊形搜索算法(HEX)和全局搜索法(UMH)等進行對比,選取編碼速度(FPS,單位為幀每秒)、峰值信噪比(PSNR,單位為dB)和輸出碼率RATE(KB/s)三個參數(shù)進行計算,同時采用了飛機起飛畫面進行測試,視頻分辨率為1048x760,格式為RGB888,幀率為25frame/s,實驗結(jié)果如表1所示。
從表中可以看出,本文提出的座艙顯示界面系統(tǒng)方法在編碼速度和輸出碼率與全局搜索算法和鉆石搜索算法類似的情況下,峰值信噪比有一定的提高。其中UMH法由于復雜度較高導致編碼速度較低,因此,本編碼算法在不降低編碼速度的的情況下提高了視頻碼流的峰值信噪比。
表1 算法性能分析
綜上所述,本文提出的座艙顯示界面系統(tǒng)算法和傳統(tǒng)的視頻編解碼算法相比,針對傳統(tǒng)算法采用快速搜索算法容易造成局部最優(yōu)和采用全局搜索算法造成編碼效率較低的情況,通過改進鉆石搜索算法提高了視頻流的峰值信噪比,同時,本文算法對圖像分塊數(shù)量和大小進行了優(yōu)化,采用三層劃分結(jié)構(gòu)和多種規(guī)格大小像素塊等方式在算法復雜度和運行效率之間進行了平衡,并采用動態(tài)配置參考幀的數(shù)量提高了幀間運動估計的效率,顯著增強了座艙顯示界面系統(tǒng)的運行效率。下一步的工作重點是在保證編解碼效率不降低的前提下進一步提高視頻質(zhì)量。