《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動(dòng)態(tài) > 基于ADV202的實(shí)時(shí)窄信道視頻壓縮及解壓縮系統(tǒng)設(shè)計(jì)

基于ADV202的實(shí)時(shí)窄信道視頻壓縮及解壓縮系統(tǒng)設(shè)計(jì)

2009-07-13
作者:陸 璐,黃 魯

  摘 要: 為了滿足視頻傳輸?shù)母?a class="innerlink" href="http://ihrv.cn/tags/實(shí)時(shí)性" title="實(shí)時(shí)性" target="_blank">實(shí)時(shí)性和無線信道的窄信道要求,設(shè)計(jì)了一種基于JPEG2000的視頻壓縮及解壓縮系統(tǒng)。通過專用芯片ADV202實(shí)現(xiàn)JPEG2000壓縮方式,其優(yōu)點(diǎn)是在窄信道下具有高實(shí)時(shí)性。使用FPGA實(shí)現(xiàn)跳像素并通過配置ADV202寄存器實(shí)現(xiàn)跳場減少數(shù)據(jù),滿足了窄信道下實(shí)現(xiàn)較低壓縮率壓縮視頻圖像的要求,提高了視頻圖像還原質(zhì)量。
  關(guān)鍵詞: JPEG2000;ADV202;跳像素;跳場

?

  本文所述系統(tǒng)是某航空遙感系統(tǒng)的子系統(tǒng),系統(tǒng)要求傳輸一路視頻信號,帶寬為0.48 Mb/s,視頻信號的采集、壓縮、下傳、回放的延時(shí)控制在200 ms以內(nèi)。通常的視頻壓縮方法,如MPEG-X、H.26X是利用視頻圖像的幀間相關(guān)性進(jìn)行壓縮,其解碼時(shí)間長,對實(shí)時(shí)性要求較高的系統(tǒng)不適合。而JPEG2000是把運(yùn)動(dòng)的視頻序列作為連續(xù)的靜止圖像來處理,對每一幀圖像單獨(dú)壓縮,圖像恢復(fù)實(shí)時(shí)性較好。本系統(tǒng)采用ADV202芯片實(shí)現(xiàn)JPEG2000壓縮。由于帶寬僅有0.48 Mb/s,在25幀/s正常視頻情況下壓縮率就會(huì)非常高。為了提高視頻還原質(zhì)量,壓縮前利用FPGA實(shí)現(xiàn)跳像素和通過配置ADV202寄存器實(shí)現(xiàn)跳場減少數(shù)據(jù)量,降低壓縮率。解壓縮通過補(bǔ)場補(bǔ)像素,在顯示器上實(shí)時(shí)播放。
1 ADV202芯片介紹[1-4]
  ADV202是AD公司的一款實(shí)現(xiàn)JPEG2000編解碼的芯片。圖1給出了ADV202結(jié)構(gòu)框圖。該芯片主要由像素接口、小波變換引擎、熵編解碼器、嵌入式處理器、存儲器系統(tǒng)和內(nèi)部DMA引擎等組成。ADV202內(nèi)嵌了一個(gè)32位的RISC處理器,作為整個(gè)系統(tǒng)的控制者。這個(gè)RISC處理器具有自己的程序和數(shù)據(jù)存儲器所對應(yīng)的ROM和RAM。ADV202集成了一個(gè)基于ADI專利的空間高效遞歸濾波小波技術(shù)(SURF技術(shù))的小波核??梢灾С指哌_(dá)6層分解的9/7和5/3小波變換。由于熵編碼的復(fù)雜度,ADV202提供了3個(gè)專用的硬件熵編碼器。ADV202的內(nèi)部DMA引擎為內(nèi)部存儲器之間、內(nèi)部存儲器和各個(gè)功能模塊之間提供高速傳輸數(shù)據(jù)能力。ADV202的視頻接口支持CCIR656、SMPTE125M PAL/NTSC、SMPTE293M(525p)、ITU.R-BT1358(625p),或者任何最大輸入速率在非可逆模式下為65 MS/s、在可逆模式下為40 MS/s的視頻格式。ADV202有編碼和解碼兩種工作模式。在編碼模式下,視頻數(shù)據(jù)通過VDATA總線輸入ADV202,由小波核對輸入的數(shù)據(jù)進(jìn)行小波變換,并把所有頻率子帶的小波系數(shù)存入ADV202內(nèi)部的存儲器。每一個(gè)子帶根據(jù)ADV202編碼參數(shù)的設(shè)置進(jìn)一步分成編碼子塊,然后由熵編碼器對編碼子塊執(zhí)行內(nèi)容建模和算術(shù)編碼,運(yùn)算結(jié)果存入內(nèi)部存儲器。隨后由內(nèi)部DMA傳輸?shù)紺ODE FIFO,通過HDATA總線把壓縮數(shù)據(jù)流從ADV202輸出。在解碼模式下,工作過程是編碼模式的逆過程。視頻接口(VDATA總線)支持單通道輸入YCrCb格式的8 bit、10 bit和12 bit數(shù)字視頻信號,還支持雙通道輸入Y和CrCb分離的16 bit、20 bit和24 bit數(shù)字視頻信號,但必須是4:2:2格式,這種視頻信號可以伴隨HVF(行場同步信號),也可以內(nèi)嵌入EAV/SAV同步字節(jié)。主機(jī)接口(HDATA總線)提供有16 bit和32 bit初始化數(shù)據(jù)控制總線及8 bit、16 bit和32 bit數(shù)據(jù)輸出總線,支持多種輸出模式,包括正常主機(jī)模式、JDATA模式和DMA模式。其中JDATA模式是一種同步模式,8 bit輸出數(shù)據(jù)寬度。


  ADV202的延遲時(shí)間無法精確估算,通常情況下,ADV202的壓縮和解壓延遲均可控制在所輸入的1.5場的時(shí)間內(nèi)[5]。故本系統(tǒng)壓縮和解壓延遲為90 ms,加上信道傳輸延遲,系統(tǒng)總延遲控制在200 ms以內(nèi)。
2 視頻壓縮系統(tǒng)實(shí)現(xiàn)
  系統(tǒng)流程是模擬視頻轉(zhuǎn)換為數(shù)字視頻、像素抽取、視頻壓縮、數(shù)據(jù)打包,最后接數(shù)傳通道。系統(tǒng)框圖如圖2所示。


2.1 芯片簡介
????? 視頻AD由SAA7115完成,能夠自動(dòng)檢測50 Hz或60 Hz場頻以及自動(dòng)切換PAL制和NTSC制,行同步、場同步、奇偶同步和像素時(shí)鐘信號均可由管腳引出,支持4:2:2(CCIR656 8位)YCbCr等多種輸出格式。以CCIR656格式輸出時(shí)速率為25幀/s,每一幀由偶場和奇場組成,一幀的像素分辨率為720×576,表示每個(gè)像素平均需要2 B[6-7]。FPGA均采用Xilinx公司的Spartan3系列XC3S400,提供8 064個(gè)邏輯單元,16個(gè)18 Kbit的塊狀RAM。單片機(jī)采用高性能、低功耗的AVR 8 bit微處理器ATmega128,具有128 KB的系統(tǒng)內(nèi)可編程Flash,支持在線編程和調(diào)試。
2.2 工作流程
  當(dāng)系統(tǒng)開始工作后,由攝像頭將捕獲到的模擬視頻傳送給SAA7115。SAA7115經(jīng)過采樣,量化后輸出CCIR656格式的數(shù)字視頻數(shù)據(jù),并伴隨輸出相關(guān)的行場和時(shí)鐘同步信號。通過XPD端口傳送給FPGA1,完成像素的抽取,將一幀抽取為360×288,行場奇偶同步信號做相應(yīng)變化。后通過VDATA端口傳輸給ADV202進(jìn)行壓縮,通過設(shè)定ADV202的寄存器可以實(shí)現(xiàn)跳場壓縮,設(shè)定跳一場壓縮,這樣壓縮前的數(shù)據(jù)量就減少為原來的1/8。如圖3所示。


  抽取后1s的平均視頻數(shù)據(jù)量=360×288×2 B×8 bit×12.5 幀/s=20.736 Mb/s。壓縮率約為(20.736 Mb/s)/(0.48 Mb/s)=43.2。
  壓縮后數(shù)據(jù)通過JDATA端口傳輸給FPGA2,將壓縮數(shù)據(jù)打包和并轉(zhuǎn)串后,接入數(shù)傳通道。為了便于FPGA2接收數(shù)據(jù),ADV202主機(jī)總線采取JDATA的同步輸出模式。單片機(jī)是系統(tǒng)的主控者,完成對ADV202和SAA7115的初始化。對SAA7115的初始化通過I2C總線進(jìn)行。ADV202的初始化需要片選線、讀寫信號線、4根地址線和16 bit數(shù)據(jù)線來加載固件和設(shè)置寄存器參數(shù)。但是單片機(jī)是8 bit數(shù)據(jù)線,而且數(shù)據(jù)線和地址線復(fù)用,所以使用了兩個(gè)鎖存器74HC573來實(shí)現(xiàn)16 bit數(shù)據(jù)的讀寫。鎖存器的讀使能信號和ADV202的片選信號由單片機(jī)的高位地址線輸入到FPGA1內(nèi)部譯碼組合后輸出。FPGA1主要完成像素抽取、視頻數(shù)據(jù)結(jié)構(gòu)調(diào)整和輸出ADV202的控制信號,內(nèi)部模塊如圖4所示。利用FPGA內(nèi)部的塊RAM,生成2個(gè)FIFO,乒乓處理數(shù)據(jù),從而達(dá)到實(shí)時(shí)處理數(shù)據(jù)。

?


2.3 視頻數(shù)據(jù)結(jié)構(gòu)調(diào)整
  CCIR656格式視頻信號每行的數(shù)據(jù)結(jié)構(gòu)如圖5所示[6-7],每行數(shù)據(jù)包括水平控制信號和亮度色差信號(Y,Cb,Cr)。CbYCr是指同址的亮度色差信號取樣,后面Y對應(yīng)于下一個(gè)亮度取樣,比例是4:2:2。由于ADV202只接收4:2:2的YCbCr格式視頻信號,故采取圖5所示的跳像素方法,HS也做相應(yīng)變化。


  由FPGA1完成跳像素和相應(yīng)同步信號變化,使用Modelsim仿真所得波形如圖6所示。為能看到同步信號的相關(guān)關(guān)系,縮減了幀的行數(shù)。


3 視頻解壓縮系統(tǒng)實(shí)現(xiàn)
  解壓縮系統(tǒng)是壓縮系統(tǒng)的逆過程。信道為FPGA1提供同步時(shí)鐘,在這個(gè)時(shí)鐘下,F(xiàn)PGA1讀取信道發(fā)送的數(shù)據(jù),并進(jìn)行數(shù)據(jù)串轉(zhuǎn)并,如圖7所示。在FPGA1內(nèi)部同時(shí)完成補(bǔ)場,采取重復(fù)前一場的方法補(bǔ)齊每秒50場,以此實(shí)現(xiàn)ADV202圖像解壓的實(shí)時(shí)性。視頻壓縮數(shù)據(jù)通過JDATA端口發(fā)送給ADV202。解壓縮后的數(shù)據(jù)通過VDATA總線發(fā)送給FPGA2完成補(bǔ)像素,把圖像調(diào)整為標(biāo)準(zhǔn)的CCIR656數(shù)字視頻格式;然后通過MP端口傳送給視頻編碼器SAA7121,轉(zhuǎn)換成模擬視頻,并在顯示器上顯示。軟件方面,對于SAA7121的配置仍采用I2C總線來完成,ADV202的初始化與壓縮系統(tǒng)相同,只是加載的固件不同。


  本文提出了一種基于ADV202的JPEG2000圖像壓縮及解壓縮系統(tǒng)的設(shè)計(jì)方案,該系統(tǒng)具有很大的靈活性和擴(kuò)展性。此視頻壓縮及解壓縮系統(tǒng)應(yīng)用到無線圖像傳輸信道中,降低了傳輸延遲,適應(yīng)窄信道的高要求。

參考文獻(xiàn)
[1] 余建宇,候顏平,李勇.JPEG2000編解碼芯片ADV202的原理及應(yīng)用.國外電子元器件,2005(7).
[2] 張士強(qiáng).基于ADV202的JPEG2000實(shí)時(shí)圖像解壓縮系統(tǒng).工程實(shí)踐及應(yīng)用技術(shù),2007,33.
[3] 張佳延,白旭,周廷顯.一種基于ADV202的視頻壓縮系統(tǒng)設(shè)計(jì).電視技術(shù),2007(6).
[4] 朱夢宇,楊裕亮.基于JPEG2000的實(shí)時(shí)紅外圖像壓縮系統(tǒng)設(shè)計(jì).激光與紅外,2005(4).
[5] Analog Devices.視頻壓縮產(chǎn)品ADV202/ADV212 FAQ.2007.
[6] 劉峰.視頻圖像編碼技術(shù)及國際標(biāo)準(zhǔn).北京:北京郵電大學(xué)出版社,2005.
[7] 孫景琪.視頻技術(shù)與應(yīng)用.北京:北京工業(yè)大學(xué)出版社,2004.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。