基于ADV212芯片的視頻壓縮系統(tǒng)應(yīng)用設(shè)計技術(shù)
1 引 言
近十年來, 高清數(shù)字電視(HDTV )業(yè)務(wù)在全球范圍內(nèi)得到廣泛的推廣應(yīng)用(美國03 年率先開通了HDTV 的路基有線網(wǎng), 中國也確定了幾年內(nèi)HDTV 逐漸取代傳統(tǒng)電視網(wǎng)的計劃) , 但是由于其視頻數(shù)據(jù)量巨大, 不便于存儲與傳輸, 而傳統(tǒng)的壓縮系統(tǒng)存在壓縮質(zhì)量不高及實時性不強等特點, 因此, 研究基于高清視頻信號的壓縮系統(tǒng)變得意義重大。美國AD公司新推出的編解碼芯片ADV 212, 采用小波變換和自適應(yīng)算術(shù)編碼技術(shù), 具有層進式傳輸, 焦點區(qū)域壓縮, 多尺度、多分辨率分析和時域局部化等特點, 使壓縮后的信號可以輕易通過有線甚至窄帶無線信道傳遞給中央控制臺, 具有壓縮可調(diào)范圍大, 壓縮質(zhì)量高等優(yōu)點?;绱?, 本文設(shè)計了一種ADV212結(jié)合FPGA和DSP的高效視頻壓縮系統(tǒng)。
2 ADV212結(jié)構(gòu)及功能
2. 1 內(nèi)部結(jié)構(gòu)
ADV212是一種低價、單片、低功耗、全數(shù)字的CMOS超大規(guī)模集成電路。它在實現(xiàn)JPEG2000 圖像壓縮必需的高強度計算同時能產(chǎn)生適用于大多數(shù)應(yīng)用的碼流。該芯片的核工作電壓1. 5V, I /O 電壓2. 5V 到3. 3V, 主要包括一個專門的小波變換引擎,3個熵編碼器, 一個片內(nèi)存儲器, 一個內(nèi)置精簡指令集( R ISC )處理器。圖像或視頻數(shù)據(jù)由AD 內(nèi)部12位像素接口輸入, 采樣結(jié)果隔行輸入小波變換引擎,然后采用5 /3或9 /7濾波器將每個圖塊或幀分解為子帶, 得到的小波系數(shù)寫入內(nèi)部存儲器。熵編解碼器將數(shù)據(jù)編碼為JPEG2000 標準。內(nèi)部DMA 引擎提供存儲器之間的高帶寬傳輸及各模塊和存儲器之間的高性能傳輸。圖1為ADV212的內(nèi)部功能圖。
圖1 ADV212的內(nèi)部功能結(jié)構(gòu)圖
2. 2 ADV212功能模塊分析
( 1)小波變換引擎。
DV212提供了一個高精度的小波變換處理器,可實現(xiàn)6級小波分解。在編碼模式下, 小波處理器對原始采樣數(shù)據(jù)進行變換、量化, 并將小波系數(shù)存入內(nèi)部存儲器中。
在解碼模式下, 從內(nèi)部存儲器中讀取小波變換系數(shù), 并通過解碼計算, 得到編碼前的原始數(shù)據(jù)。
( 2)熵編碼器。
熵編解碼器用來對小波系數(shù)的編碼塊進行背景建模和算術(shù)編碼, 同時可在壓縮過程中計算最佳速率和失真性能所必需的失真度。由于熵編碼過程在JPEG2000 壓縮工程中對計算要求最高, 因此,ADV202內(nèi)部提供了三個專用的硬件熵編解碼器。
( 3)內(nèi)部存儲器。
存儲系統(tǒng)的主要功能是管理小波系數(shù)數(shù)據(jù)和臨時的代碼塊特征數(shù)據(jù), 以及創(chuàng)建、分解、存儲JPEG2000代碼流的臨時工作空間。此外, 存儲系統(tǒng)還被用于R ISC處理器的程序和數(shù)據(jù)存儲。
( 4)嵌入式R ISC處理器。
ADV212內(nèi)嵌了一個32 位的R ISC 處理器, 可用來配置、控制和管理其它專用硬件模塊以及分解和產(chǎn)生JPEG2000視頻流。RISC 處理器具有和每一個程序和數(shù)據(jù)存儲器、中斷控制器、標準總線接口及定時器計數(shù)器所對應(yīng)的ROM 和RAM。
2. 3 主要特征
具有針對視頻和靜止圖像的單片JPEG2000壓縮和解壓解決方案。
與芯片ADV202管腳一致, 支持ADV 202的全部功能。
新增加了支持JTAG /boundary掃描功能, 功耗比ADV 202低30%。
采用獨特的空間超效率回歸濾波( SURF)技術(shù), 可實現(xiàn)低功耗和低成本小波束壓縮, 支持高達6級的9 /7和5 /3小波轉(zhuǎn)換。
使用5 /3小波可編程圖塊/圖像尺寸在3分量4: 2: 2隔行掃描中的寬度可達2048像素, 單壓縮模式可高達4096像素, 最大圖塊/圖像高度4096像素。
支持ITU - R B. T656、SMPTE 125M PAL /NTSC、SMPTE 274M、SMPTE 293M ( 525p )、ITU - RBT. 1358( 625p)等多種視頻接口協(xié)議, 以及不可逆模式最大輸入速度為65M sps、可逆模式最大輸入速度為40Msps的任何視頻格式。
兩個或多個ADV212 能組合滿幀SMPTE274M HDTV( 1080i)或SMPTE 296M ( 720p)。
能暫時隔行粘貼SD視頻源幀, 以改善質(zhì)量。
靈活的異步SRAM 類型主接口能無縫連接到16 /32位微控制器和ASIC。
2. 4 ADV 212的軟件配置
ADV212的工作模式是在初始化固件中通過寫寄存器的狀態(tài)字來設(shè)定, 固件程序的后綴名為* . sea, 通過USB 接口下載到ADV212的間接存儲器中, 其地址段為0x00050000~ 0x0005EFF, 數(shù)據(jù)寬度32b its。采用C語言的ADV212程序編碼流程如圖2所示。
3 基于ADV212芯片的高清視頻壓縮系統(tǒng)設(shè)計
本系統(tǒng)以ADV212為核心, 配以通用處理器, 可以實現(xiàn)分辨率達到1080 i的高清視頻信號壓縮。
3. 1 多片編碼模式
由于ADV212在不可逆和可逆模式下數(shù)據(jù)最大輸入速率分別為65Mbps和40Mbps, 而有效的視頻轉(zhuǎn)化輸入數(shù)據(jù)速率約為124Mbps, 因此, 至少需要兩片ADV 212才可以實現(xiàn)全分辨率1080 i視頻信號的編解碼。在編碼過程中, Y數(shù)據(jù)和CbCr數(shù)據(jù)通過不同的總線輸入到ADV212, 其中AD212_1處理1080i視頻信號的亮度數(shù)據(jù), 而ADV202 _2 則用于處理1080 i視頻信號的色度數(shù)據(jù)。為了對此應(yīng)用模式下對應(yīng)的輸出數(shù)據(jù)進行同步, 其輸入數(shù)據(jù)必須是EAV /SAV 編碼格式。如果要獲取更高的性能, 例如1080 i視頻的無損壓縮, 可選用3 片或更多的ADV 212來處理信號。圖3 為兩片ADV212編碼硬件連接圖。
ADV 212的多片模式在編碼時, 芯片通常作為從設(shè)備, 而在解碼時可分為主/從或從/從模式。在主從模式下, 主片的HVF 輸出和從片的HVF輸入連接在一起, 并且主片從片的SCOMM 也接在控制器的相同IO 引腳。在從從模式下, ADC212 的HVF由同一個外部同步信號生成并且SCOMM接到控制器的相同IO 引腳。在多片模式中, 所有ADV 212 的SW IRQ1 都不可被屏蔽, SW IRQ 1 在E IRQ IE (外部中斷使能)寄存器中。
3. 2 系統(tǒng)設(shè)計
基于ADV212芯片的多片連接模式和高效壓縮性能, 并結(jié)合FPGA + DSP的可編程性, 我們設(shè)計了一種如圖4所示的視頻壓縮系統(tǒng)。由圖可知, 該系統(tǒng)主要由A /D 轉(zhuǎn)換器、FPGA 模塊、DSP 模塊、ADV212編碼/解碼器四部分組成, 各部分的功能及技術(shù)途徑如下:
A /D轉(zhuǎn)換由ADV7402來完成, 它能自動檢測和轉(zhuǎn)換標準模擬基帶電視信號成符合CC IR656 的4:2: 2 分量數(shù)字視頻數(shù)據(jù)。解壓時的D /A 轉(zhuǎn)換由ADV7321來完成。
圖4 系統(tǒng)結(jié)構(gòu)框圖。
FPGA 模塊作為整個系統(tǒng)的中樞, 對系統(tǒng)中各個芯片的信號起橋接作用。首先根據(jù)需要完成圖像數(shù)據(jù)的初步處理(如去噪) , 然后將數(shù)據(jù)分為大小相同的兩個子塊, 使其能分別在兩個ADV 212中處理。
同時, 要向ADV212提供復(fù)位、片選、行場同步、讀寫以及時鐘等信號控制多片ADV212的工作時序和工作模式, 并為DSP提供復(fù)位信號。在工作過程中,F(xiàn)PGA 要不斷向外部發(fā)送工作狀態(tài)的反饋信息。在接到外部發(fā)來的!傳輸?指令后, 碼流將從存儲器中被取出, FPGA 將其轉(zhuǎn)換成比特流格式后發(fā)往信道。
DSP模塊是系統(tǒng)的主控者, 由它完成對ADV 212和ADV7402的初始化。ADV212 編碼后產(chǎn)生的JPEG2000格式碼流首先送入DSP進行加密,然后存入SDRAM 中等待接收! 傳輸?指令, 在接到!傳輸?指令后DSP將存儲在SDRAM中待發(fā)送的碼流送入并/串轉(zhuǎn)換DPRAM, 最后在FPGA 中轉(zhuǎn)換成串行比特流發(fā)送出去。
系統(tǒng)開始工作后, 由外部的模擬視頻信號傳送給ADV 7402。ADV7402經(jīng)過采樣, 量化后輸出符合要求的數(shù)字視頻數(shù)據(jù)。視頻數(shù)據(jù)流通過FPGA 的橋接送給ADV 212進行壓縮編碼。為了提高壓縮率,可以在視頻數(shù)據(jù)流流過FPGA 時, 對數(shù)據(jù)進行丟場處理, 以人為降低需要進行壓縮編碼的源數(shù)據(jù)速率。
壓縮好的數(shù)據(jù)再由ADV212傳送給FPGA 里面的接口控制器, 由控制器按照規(guī)定接口協(xié)議輸出壓縮數(shù)據(jù)流。
4 結(jié)束語
結(jié)合FPGA 和DSP 的高度靈活性, 利用ADV 212的多片模式和高效的壓縮性, 設(shè)計出一個壓縮/解壓縮系統(tǒng), 較好的解決了高清視頻信號高壓縮、高保質(zhì)難的問題, 為高清數(shù)字電視業(yè)務(wù)的啟動和普及打下了良好的基礎(chǔ)。