張艷艷,陳蘇婷
(南京信息工程大學電子與信息工程學院,江蘇 南京 210044)
在現代雷達系統中,隨著雷達組網、無人值守雷達、雷達視頻記錄分析等應用的需要,雷達視頻實時壓縮有著廣闊的應用前景,同時隨著雷達視頻分辨力的提高、目標復雜度及分析準確性的提高,雷達視頻壓縮面臨著巨大的挑戰。首先,高分辨力帶來了較大的數據運算量,為滿足處理的實時性,需要對壓縮算法優化改進,且硬件實現平臺也許具有較高的處理能力。另外,由于雷達視頻不同于普通視頻,其目標一般在視頻的高頻細節部分,而通常的視頻壓縮算法主要保留圖像的低頻部分,高頻部分采用較大的量化步長,導致高頻細節的丟失,壓縮后目標物丟失。
文獻[1]提出的大容量雷達視頻數據硬件預壓縮方法一定程度上緩解了壓縮運算量大而導致數據丟失的現象,但壓縮率較低,運算速度較慢,不能滿足目前高分辨力雷達視頻壓縮的需求。文獻[2]提出了一種FPGA+DSP的雷達視頻壓縮設計方案,這種方案硬件設計復雜,且并未給出壓縮結果。文獻[3]提出了一種小波多分辨力分解的雷達視頻壓縮方案,取得了較好的壓縮效果,但是并未給出具體的硬件實現,且運用小波進行雷達視頻壓縮硬件實現時會有較高的運算復雜度,實現較為復雜。
由于雷達視頻數據量較大,需要采用快速的硬件實現方法,目前常用的硬件芯片中,FPGA具有較高的并行處理能力,適合于大數據量及對實時性要求較高的場合。但由于視頻信號處理算法較為復雜,且有大量浮點、矩陣等高復雜度計算,基于FPGA的視頻壓縮方法面臨著大量實時處理改進的問題。
針對以上分析,本文對視頻壓縮算法進行改進以滿足高分辨力雷達視頻的實時壓縮,保留其高頻細節部分,實現基于FPGA的高分辨力雷達視頻壓縮。
基于人眼對色度信號分辨力較低,視頻源數據為了降低數據量,色度分量通常采用相對較低的采樣率,在有效降低圖像數據量且對人眼感覺影響不大的前提下,4∶2∶0采樣[4]格式視頻被廣泛使用,本設計中數據源也采用 YUV 4∶2∶0的采樣方式。
該設計實現結構如圖1所示,雷達視頻源數據進行數據分塊、DCT 變換[4-8]、量化以及熵編碼操作完成壓縮過程。進行數據分塊的主要目的是便于FPGA處理,并減少DCT變換的數據量;DCT變換用于減少數據之間的相關性,量化用于減少編碼數據范圍,熵編碼進一步去除數據相關性,最終組合生成編碼碼流。數據的解壓縮流程與壓縮相反,即熵編碼、反量化、IDCT及數據塊組合。
本系統中雷達視頻的分辨力為1600×1200,數據量較大,FPGA內部存儲空間無法實現幀緩沖,另外也為減小后續的DCT變換的運算量,本設計將視頻源數據進行了分塊處理。將視頻分成16×16大小的數據塊,也稱之為宏塊(MB),1個宏塊包含4個8×8亮度Y塊,1個8×8色差U塊,1個8×8色差V塊,1個MB是1個壓縮計算單元。分塊的視頻數據采用乒乓(pingpong)緩沖方式存放于FPGA內部,每個緩沖區存儲16行。
本文通過DCT變換對視頻圖像進行頻域分析,去除各像素點空間上的相關性。另外,理論上對所有像素點都進行DCT變換可以最大限度地降低各像素點間的相關性,但由于運算量較大,通常將圖像分塊分別計算。
對壓縮計算的宏塊進一步分解為對4個Y塊、1個U塊及1個V塊分別進行8×8 DCT變換。8×8 DCT變換及反變換如式(1)、式(2)所示。

DCT變換有大量乘法和累加處理,具有較高的復雜度,對于變換后固定的某個點即對某個特定的u,v值,變換公式等價于

下面對此式的各項分別進行分析:
1)0.25C(u)C(v)cos(π(2x+1)u/16)cos(π(2y+1)v/16)
該部分是DCT變換最復雜的部分,對于變換后的固定輸出位置,即u,v固定,該部分結果隨x,y變化有64種可能性,可預先計算出結果,并存儲為表。由于FPGA適合進行定點處理,因此將上述余弦乘法結果擴展為32位整數,即預先計算 0.25C(u)C(v)cos(π(2x+1)u/16)cos(π(2y+1)v/16)232并存儲為表,這樣計算過程中只需要根據輸入x,y,u,v值查表即可以得到余弦乘積結果。
2)f(x,y)和余弦項乘累加
f(x,y) 在[0,255]之間變化,范圍較大,無法采用查表方法,必須采用乘法計算,再累加實現。
3)DCT變換結果輸出
由于DCT變換過程中,各點計算并行處理,即同時計算出64個點的值,但后續編碼還需要按順序方式編碼,因此在對DCT變換后數據進行Z掃描過程中,按掃描順序串行輸出。根據以上分析,DCT變換實現方法如圖2所示。

圖2 DCT變換實現框圖
量化通常是對變換后的離散系數進行多對一映射操作,絕大多數的量化都會帶來圖像的損失,但是由于利用了人眼對不同頻率區域圖像敏感性不同的特點,選擇適當的量化參數可以做到人眼無法覺察。量化是通過降低DCT系數精度的方法,去除掉相對不重要的表示圖像細節的AC系數,從而減少圖像數據量,達到壓縮目的。量化過程就是每個DCT系數除以各自的量化步長并按四舍五入取整得到量化系數。
由于雷達視頻中大量小目標的存在,導致DCT變換后高頻分量較多,如果進行常規的高頻分量處理方法,采用較大的量化系數將導致高頻數據丟失,從而恢復后視頻可能會丟失目標。基于以上考慮,本文將低頻分量和高頻分量采用同樣的較小的量化系數16,即對DCT變換后數據統一除以16進行量化,這一處理可以保留視頻中高頻細節部分的目標物,FPGA實現時采用右移4位實現。
為進一步壓縮數據,還需要對量化后的數據進行編碼。熵編碼的基本思想是用較少的碼表示概率較大的信源符號,用較多的碼表示出現概率較小的信源符號。本設計采用游程編碼方法,如圖3所示。

圖3 編碼框圖
數據順序輸入編碼模塊單元,首先檢測當前數據是否為直流系數,直流系數值通常較大,且和交流系數有較大的區別,如果是直流系數則直接進行霍夫曼編碼[4,9];如是交流系數,檢測當前值是否為0,若為0則游程加1,若不為0則對當前游程及數值進行編碼;編碼采用霍夫曼編碼方式,碼表采用和JPEG編碼相同的碼表。編碼后數據輸出按照JPEG編碼的方法把各標記和編碼后的圖像數據組成1幀數據,以便于傳輸、存儲和譯碼器進行譯碼。
本文采用的FPGA芯片是Altera公司的StratixⅣGX EP4SGX230KF40C4,該芯片是一款高性能超大規模可編程邏輯器件,借助40 nm的優勢以及成熟的收發器和存儲器接口技術,StratixⅣFPGA的系統帶寬達到了前所未有的水平,并具有優異的信號完整性。其內部包含182400個Combinational ALUT,13.9 Mbit RAM以及1288個嵌入式乘法器。硬件資源豐富,適合復雜算法及高速信號處理等對器件性能要求較高的場合。
將經過本文算法處理后的視頻圖像與常規壓縮算法的處理效果進行比較,在常規壓縮算法中,常規視頻壓縮算法主要保留圖像的低頻部分,高頻部分采用較大的量化步長,本次對比實驗中常規壓縮算法中低頻量化步長仍采用16,高頻部分的量化步長采用32,處理后的效果如圖4所示,從局部放大圖中可以看出,采用常規的壓縮算法解壓縮后目標物丟失,僅保留圖像中的低頻細節,而采用本文算法解壓縮后目標物保留完好,壓縮比經計算在10倍左右。程序編譯后硬件資源占用如表1所示,可以看出資源占用較少。TimeQuest時序仿真結果顯示最高流水處理速度可達150 MHz以上,即對于高分辨力視頻1600×1200處理速度可達50 f/s(幀/秒)以上,實現了對高分辨力圖像的實時處理。

圖4 壓縮前后數據對比

表1 FPGA硬件資源
本文針對雷達視頻壓縮處理過程中數據量大、目標信息分布在圖像高頻部分的特點,設計并實現了基于FPGA的高分辨力雷達視頻實時壓縮方案,在視頻壓縮時對高頻細節分量和低頻細節部分采用不同的量化步長進行壓縮,在保證壓縮質量的同時,較好地保留了雷達中的目標物,且壓縮后圖像質量較好,對高分辨力視頻處理速度達到了50 f/s,可以較好地滿足高分辨力雷達視頻實時處理的要求。
[1]董鵬曙,盧浩,李俠.基于工控機結構的雷達信號記錄儀的設計[J].現代雷達,2003(10):15-17.
[2]韓菲.雷達視頻壓縮與解壓縮的硬件設計[J].艦船電子工程,2008(3):98-100.
[3]陳鵬,郭偉.小波多分辨力分解的雷達視頻壓縮研究[J].計算機工程與應用,2005(21):83-85.
[4]韓文俊,任國強,吳欽章.低碼率下實時高清視頻壓縮方案[J].電視技術,2011,35(1):14-17.
[5]韓文俊,任國強,吳欽章.基于TI C64x+內核DSP的H.264壓縮關鍵模塊優化[J].電視技術,2010,34(3):28-30.
[6]韓文俊,任國強,吳欽章.基于雙DSP的實時高清H.264視頻編碼器實現[J].電視技術,2010,34(5):33-35.
[7]ISO CD 10918:Digital compression and coding of continuous-tone still images[S].1991.
[8]WATSON A.Image compression using the discrete cosine transform[J].Mathematia Journal,1994,4(1):81-88.
[9]HUFFMAN D A.A method for the construction of minimum-redundancy codes[J]Proc.IRE,1952,40(9):1098-1101.