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