基于DSP的脫機(jī)視頻編/解碼系統(tǒng)
ADV611芯片是美國ANALOG DEVICES公司生產(chǎn)的一種利用小波算法對(duì)視頻圖像進(jìn)行實(shí)時(shí)壓縮/解壓縮處理的編/解碼芯片。該芯片不僅集成了視頻編/解碼算法,還提供了數(shù)據(jù)壓縮效果的實(shí)時(shí)調(diào)節(jié)手段,數(shù)據(jù)輸出速率可以靈活控制。本文介紹一種基于ADV611芯片、同時(shí)結(jié)合TI的DSP芯片TMS320C542實(shí)現(xiàn)的一種脫機(jī)視頻編/解碼系統(tǒng)?! ≡诒久摍C(jī)視頻圖像編/解碼系統(tǒng)中,DSP作為控制核心,一方面要管理ADV611、存儲(chǔ)器、外圍控制單片機(jī)和通信接口,另一方面要對(duì)ADV611的圖像壓縮效果進(jìn)行調(diào)節(jié),對(duì)數(shù)據(jù)速率實(shí)時(shí)控制。DSP如何能高效地完成這些控制任務(wù),是本視頻編/解碼系統(tǒng)實(shí)現(xiàn)的關(guān)鍵。由于TMS320C542具有高速的運(yùn)算能力和豐富的接口資源,是一種集數(shù)據(jù)處理和通信功能于一體的高速微處理器,所以本系統(tǒng)的DSP選擇了TMS320C542。?????? 1 系統(tǒng)總體結(jié)構(gòu) 圖1給出了系統(tǒng)總體結(jié)構(gòu)框圖。在圖1中,原始PAL制式(720×288@50幀/秒)的視頻信號(hào)經(jīng)過圖像采集端的視頻A/D轉(zhuǎn)化為CCIR656格式(8位27MHz)的數(shù)據(jù)流,再通過ADV611.A進(jìn)行小波壓縮編碼。DSP.A從ADV611.A中讀出圖像數(shù)據(jù)并且在數(shù)據(jù)存儲(chǔ)器中緩存,根據(jù)通信設(shè)備的速率,DSP.A通過通信串行接口將壓縮編碼的圖像數(shù)據(jù)通過用戶的通信設(shè)備發(fā)送到圖像回放端。圖像回放端的DSP.B從串行接口接收到數(shù)據(jù)后,先在存儲(chǔ)器中緩存,然后依據(jù)ADV611.B的數(shù)據(jù)申請(qǐng),將壓縮視頻數(shù)據(jù)發(fā)送給ADV611.B解壓。ADV611.B恢復(fù)出的圖像數(shù)據(jù)仍以CCIR656的標(biāo)準(zhǔn)格式發(fā)送給視頻D/A轉(zhuǎn)換為視頻模擬信號(hào),最終由監(jiān)視器回放出來。?
??????? 本脫機(jī)視頻編/解碼系統(tǒng)設(shè)計(jì)了在圖像回放遠(yuǎn)端的用戶對(duì)圖像采集前端的遠(yuǎn)程控制功能。在圖像回放端,用戶通過控制器將控制命令發(fā)送給單片機(jī)B,然后這些命令經(jīng)過DSP.B和通信設(shè)備發(fā)送到圖像采集前端的DSP.A。DSP.A將控制命令分為兩類。第一類是圖像亮度、對(duì)比度、色飽和度的調(diào)節(jié)命令和攝像機(jī)焦距、云臺(tái)運(yùn)動(dòng)的調(diào)節(jié)命令,DSP.A通知單片機(jī)A,最后由單片機(jī)A控制視頻A/D芯片和攝像機(jī)完成命令。另一類命令是調(diào)節(jié)圖像幀速率和小波圖像處理效果的命令,DSP.A直接設(shè)置ADV611.A的相關(guān)寄存器實(shí)現(xiàn)命令。??????? 2 DSP與視頻小波編/解碼芯片ADV611 在本系統(tǒng)的圖像采集端和圖像回放端中,ADV611都是作為TMS320C542的I/O端口設(shè)備連接在DSP芯片的地址數(shù)據(jù)總線上。通過這個(gè)接口,DSP既可以讀寫ADV611的內(nèi)部控制寄存器,又可以向ADV611讀寫圖像壓縮數(shù)據(jù)。ADV611內(nèi)部的控制寄存器包含三類。第一類用于設(shè)置ADV611的工作狀態(tài),這些狀態(tài)包括圖像編碼狀態(tài)、圖像解碼狀態(tài)以及圖像處理制式等等。第二類寄存器能提供每幀圖像的統(tǒng)計(jì)信息,它們都是只讀寄存器,提供的統(tǒng)計(jì)信息包括亮度的最大值、最小值、總和以及每幀圖像的壓縮數(shù)據(jù)量等等。最后一類寄存器是數(shù)據(jù)編碼壓縮的控制寄存器,ADV611內(nèi)部的FIFO用于控制圖像壓縮數(shù)據(jù)的讀寫操作,并能給出FIFO全空、部分滿和全滿信號(hào)?! “▓D像壓縮數(shù)據(jù)訪問申請(qǐng)、每幀統(tǒng)計(jì)數(shù)據(jù)準(zhǔn)備好和數(shù)據(jù)流出錯(cuò)在內(nèi)的所有ADV611的處理申請(qǐng)信號(hào),共用一個(gè)中斷請(qǐng)求發(fā)給DSP。圖2給出了以圖像采集端為例的DSP.A響應(yīng)中斷后的處理流程。DSP.A首先讀取ADV611.A內(nèi)部的中斷標(biāo)志寄存器,進(jìn)一步分析中斷產(chǎn)生原因,再加以處理。因?yàn)樘幚韴D像壓縮數(shù)據(jù)的時(shí)間較長(zhǎng),為了防止在圖像數(shù)據(jù)處理期間ADV611.A新的處理申請(qǐng)被錯(cuò)過,所以在讀取編碼數(shù)據(jù)并寫入存儲(chǔ)器之后,DSP.A又讀取了一次ADV611中斷標(biāo)志寄存器。
?
??????? DSP.A在主程序中計(jì)算采集端ADV611.A圖像壓縮編碼效果的控制參數(shù)。ADV611通過控制寄存器提供給用戶三種控制圖像效果和數(shù)據(jù)流量手段。第一種是設(shè)置量化系數(shù),即通過改變小波分解后各個(gè)不同頻帶數(shù)據(jù)的量化權(quán)重,達(dá)到數(shù)據(jù)壓縮目的。第二種壓縮手段是減幀,ADV611可以從50幀/秒減到2幀/秒。最后一種壓縮手段是品質(zhì)框控制,ADV611能夠在720&TImes;288的一幀圖像中再設(shè)置一個(gè)顯示區(qū),并將該區(qū)之外的圖像衰減,從而利用這種減小有效畫幅尺寸的方法壓縮數(shù)據(jù)。這個(gè)顯示區(qū)域大小的設(shè)定是通過調(diào)節(jié)ADV611內(nèi)部品質(zhì)框數(shù)據(jù)實(shí)現(xiàn)的。主程序中DSP.A將依據(jù)用戶的調(diào)節(jié)命令,計(jì)算修改ADV611.A中的控制寄存器參數(shù)。???????