摘 要: 為了滿足視頻傳輸的高實時性和無線信道的窄信道要求,,設計了一種基于JPEG2000的視頻壓縮及解壓縮系統,。通過專用芯片ADV202實現JPEG2000壓縮方式,其優(yōu)點是在窄信道下具有高實時性,。使用FPGA實現跳像素并通過配置ADV202寄存器實現跳場減少數據,滿足了窄信道下實現較低壓縮率壓縮視頻圖像的要求,,提高了視頻圖像還原質量,。
關鍵詞: JPEG2000;ADV202,;跳像素,;跳場
?
本文所述系統是某航空遙感系統的子系統,系統要求傳輸一路視頻信號,,帶寬為0.48 Mb/s,,視頻信號的采集、壓縮,、下傳,、回放的延時控制在200 ms以內。通常的視頻壓縮方法,,如MPEG-X,、H.26X是利用視頻圖像的幀間相關性進行壓縮,其解碼時間長,,對實時性要求較高的系統不適合,。而JPEG2000是把運動的視頻序列作為連續(xù)的靜止圖像來處理,對每一幀圖像單獨壓縮,,圖像恢復實時性較好,。本系統采用ADV202芯片實現JPEG2000壓縮。由于帶寬僅有0.48 Mb/s,,在25幀/s正常視頻情況下壓縮率就會非常高,。為了提高視頻還原質量,壓縮前利用FPGA實現跳像素和通過配置ADV202寄存器實現跳場減少數據量,,降低壓縮率,。解壓縮通過補場補像素,,在顯示器上實時播放。
1 ADV202芯片介紹[1-4]
ADV202是AD公司的一款實現JPEG2000編解碼的芯片,。圖1給出了ADV202結構框圖,。該芯片主要由像素接口、小波變換引擎,、熵編解碼器,、嵌入式處理器、存儲器系統和內部DMA引擎等組成,。ADV202內嵌了一個32位的RISC處理器,,作為整個系統的控制者。這個RISC處理器具有自己的程序和數據存儲器所對應的ROM和RAM,。ADV202集成了一個基于ADI專利的空間高效遞歸濾波小波技術(SURF技術)的小波核,。可以支持高達6層分解的9/7和5/3小波變換,。由于熵編碼的復雜度,,ADV202提供了3個專用的硬件熵編碼器。ADV202的內部DMA引擎為內部存儲器之間,、內部存儲器和各個功能模塊之間提供高速傳輸數據能力,。ADV202的視頻接口支持CCIR656、SMPTE125M PAL/NTSC,、SMPTE293M(525p),、ITU.R-BT1358(625p),或者任何最大輸入速率在非可逆模式下為65 MS/s,、在可逆模式下為40 MS/s的視頻格式,。ADV202有編碼和解碼兩種工作模式。在編碼模式下,,視頻數據通過VDATA總線輸入ADV202,,由小波核對輸入的數據進行小波變換,并把所有頻率子帶的小波系數存入ADV202內部的存儲器,。每一個子帶根據ADV202編碼參數的設置進一步分成編碼子塊,,然后由熵編碼器對編碼子塊執(zhí)行內容建模和算術編碼,運算結果存入內部存儲器,。隨后由內部DMA傳輸到CODE FIFO,,通過HDATA總線把壓縮數據流從ADV202輸出,。在解碼模式下,,工作過程是編碼模式的逆過程。視頻接口(VDATA總線)支持單通道輸入YCrCb格式的8 bit,、10 bit和12 bit數字視頻信號,,還支持雙通道輸入Y和CrCb分離的16 bit,、20 bit和24 bit數字視頻信號,但必須是4:2:2格式,,這種視頻信號可以伴隨HVF(行場同步信號),,也可以內嵌入EAV/SAV同步字節(jié)。主機接口(HDATA總線)提供有16 bit和32 bit初始化數據控制總線及8 bit,、16 bit和32 bit數據輸出總線,,支持多種輸出模式,包括正常主機模式,、JDATA模式和DMA模式,。其中JDATA模式是一種同步模式,8 bit輸出數據寬度,。
ADV202的延遲時間無法精確估算,,通常情況下,ADV202的壓縮和解壓延遲均可控制在所輸入的1.5場的時間內[5],。故本系統壓縮和解壓延遲為90 ms,,加上信道傳輸延遲,系統總延遲控制在200 ms以內,。
2 視頻壓縮系統實現
系統流程是模擬視頻轉換為數字視頻,、像素抽取、視頻壓縮,、數據打包,,最后接數傳通道。系統框圖如圖2所示,。
2.1 芯片簡介
????? 視頻AD由SAA7115完成,,能夠自動檢測50 Hz或60 Hz場頻以及自動切換PAL制和NTSC制,行同步,、場同步,、奇偶同步和像素時鐘信號均可由管腳引出,支持4:2:2(CCIR656 8位)YCbCr等多種輸出格式,。以CCIR656格式輸出時速率為25幀/s,,每一幀由偶場和奇場組成,一幀的像素分辨率為720×576,,表示每個像素平均需要2 B[6-7],。FPGA均采用Xilinx公司的Spartan3系列XC3S400,提供8 064個邏輯單元,,16個18 Kbit的塊狀RAM,。單片機采用高性能、低功耗的AVR 8 bit微處理器ATmega128,,具有128 KB的系統內可編程Flash,,支持在線編程和調試,。
2.2 工作流程
當系統開始工作后,由攝像頭將捕獲到的模擬視頻傳送給SAA7115,。SAA7115經過采樣,,量化后輸出CCIR656格式的數字視頻數據,并伴隨輸出相關的行場和時鐘同步信號,。通過XPD端口傳送給FPGA1,,完成像素的抽取,將一幀抽取為360×288,,行場奇偶同步信號做相應變化,。后通過VDATA端口傳輸給ADV202進行壓縮,通過設定ADV202的寄存器可以實現跳場壓縮,,設定跳一場壓縮,,這樣壓縮前的數據量就減少為原來的1/8。如圖3所示,。
抽取后1s的平均視頻數據量=360×288×2 B×8 bit×12.5 幀/s=20.736 Mb/s,。壓縮率約為(20.736 Mb/s)/(0.48 Mb/s)=43.2。
壓縮后數據通過JDATA端口傳輸給FPGA2,,將壓縮數據打包和并轉串后,,接入數傳通道。為了便于FPGA2接收數據,,ADV202主機總線采取JDATA的同步輸出模式,。單片機是系統的主控者,完成對ADV202和SAA7115的初始化,。對SAA7115的初始化通過I2C總線進行,。ADV202的初始化需要片選線、讀寫信號線,、4根地址線和16 bit數據線來加載固件和設置寄存器參數,。但是單片機是8 bit數據線,而且數據線和地址線復用,,所以使用了兩個鎖存器74HC573來實現16 bit數據的讀寫,。鎖存器的讀使能信號和ADV202的片選信號由單片機的高位地址線輸入到FPGA1內部譯碼組合后輸出。FPGA1主要完成像素抽取,、視頻數據結構調整和輸出ADV202的控制信號,,內部模塊如圖4所示。利用FPGA內部的塊RAM,,生成2個FIFO,,乒乓處理數據,從而達到實時處理數據。
?
2.3 視頻數據結構調整
CCIR656格式視頻信號每行的數據結構如圖5所示[6-7],,每行數據包括水平控制信號和亮度色差信號(Y,Cb,,Cr),。CbYCr是指同址的亮度色差信號取樣,后面Y對應于下一個亮度取樣,,比例是4:2:2,。由于ADV202只接收4:2:2的YCbCr格式視頻信號,故采取圖5所示的跳像素方法,,HS也做相應變化,。
由FPGA1完成跳像素和相應同步信號變化,使用Modelsim仿真所得波形如圖6所示,。為能看到同步信號的相關關系,,縮減了幀的行數。
3 視頻解壓縮系統實現
解壓縮系統是壓縮系統的逆過程,。信道為FPGA1提供同步時鐘,,在這個時鐘下,FPGA1讀取信道發(fā)送的數據,,并進行數據串轉并,,如圖7所示。在FPGA1內部同時完成補場,,采取重復前一場的方法補齊每秒50場,,以此實現ADV202圖像解壓的實時性。視頻壓縮數據通過JDATA端口發(fā)送給ADV202,。解壓縮后的數據通過VDATA總線發(fā)送給FPGA2完成補像素,,把圖像調整為標準的CCIR656數字視頻格式;然后通過MP端口傳送給視頻編碼器SAA7121,,轉換成模擬視頻,,并在顯示器上顯示。軟件方面,,對于SAA7121的配置仍采用I2C總線來完成,,ADV202的初始化與壓縮系統相同,只是加載的固件不同,。
本文提出了一種基于ADV202的JPEG2000圖像壓縮及解壓縮系統的設計方案,,該系統具有很大的靈活性和擴展性。此視頻壓縮及解壓縮系統應用到無線圖像傳輸信道中,,降低了傳輸延遲,,適應窄信道的高要求。
參考文獻
[1] 余建宇,候顏平,,李勇.JPEG2000編解碼芯片ADV202的原理及應用.國外電子元器件,,2005(7).
[2] 張士強.基于ADV202的JPEG2000實時圖像解壓縮系統.工程實踐及應用技術,2007,,33.
[3] 張佳延,,白旭,周廷顯.一種基于ADV202的視頻壓縮系統設計.電視技術,,2007(6).
[4] 朱夢宇,,楊裕亮.基于JPEG2000的實時紅外圖像壓縮系統設計.激光與紅外,2005(4).
[5] Analog Devices.視頻壓縮產品ADV202/ADV212 FAQ.2007.
[6] 劉峰.視頻圖像編碼技術及國際標準.北京:北京郵電大學出版社,,2005.
[7] 孫景琪.視頻技術與應用.北京:北京工業(yè)大學出版社,,2004.