《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 基于DSP的脫機(jī)視頻編/解碼系統(tǒng)

基于DSP的脫機(jī)視頻編/解碼系統(tǒng)

2008-12-18
作者:龐 浩 王贊基

  摘? 要: 脫機(jī)的視頻編/解碼系統(tǒng)是一種脫離微機(jī)平臺的數(shù)字化圖像處理和通信系統(tǒng),。圍繞該系統(tǒng)核心DSP部分介紹了一種實現(xiàn)脫機(jī)圖像壓縮" title="圖像壓縮">圖像壓縮/解壓縮處理和視頻數(shù)據(jù)可靠通信的方法,。這種設(shè)計方法成功地實現(xiàn)了脫機(jī)視頻編/解碼系統(tǒng)的實時圖像處理和數(shù)據(jù)流量的自適應(yīng)控制,。

  關(guān)鍵詞: DSP? 視頻編/解碼? ADV611芯片

?

  視頻圖像編/解碼的目的是一方面要將模擬視頻信號轉(zhuǎn)化為數(shù)字信號來傳輸,,另一方面由于單純的視頻模/數(shù)轉(zhuǎn)換所得到的圖像數(shù)據(jù)" title="圖像數(shù)據(jù)">圖像數(shù)據(jù)量非常龐大,,必須應(yīng)用圖像壓縮技術(shù)減少數(shù)據(jù)量,。視頻圖像編/解碼有兩種實現(xiàn)方式,。一種是基于微機(jī)平臺的實現(xiàn)方式,,圖像數(shù)據(jù)通過微機(jī)軟件或者利用基于微機(jī)總線的圖像處理卡進(jìn)行壓縮編碼" title="壓縮編碼">壓縮編碼,,并且可以通過PC網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸;另一種拋開了微機(jī)平臺,應(yīng)用DSP為主的微處理器算法對圖像進(jìn)行壓縮/解壓縮的編/解碼處理,。隨著微處理技術(shù)的發(fā)展,,專用圖像壓縮/解壓縮芯片涌現(xiàn)出來,圖像處理算法集成于ASIC之中,,簡化了脫機(jī)圖像系統(tǒng)的設(shè)計和實現(xiàn),。

  ADV611芯片是美國ANALOG DEVICES公司生產(chǎn)的一種利用小波算法對視頻圖像進(jìn)行實時壓縮/解壓縮處理的編/解碼芯片。該芯片不僅集成了視頻編/解碼算法,,還提供了數(shù)據(jù)壓縮效果的實時調(diào)節(jié)手段,,數(shù)據(jù)輸出速率可以靈活控制。本文介紹一種基于ADV611芯片,、同時結(jié)合TI的DSP芯片TMS320C542實現(xiàn)的一種脫機(jī)視頻編/解碼系統(tǒng),。

  在本脫機(jī)視頻圖像編/解碼系統(tǒng)中,DSP作為控制核心,,一方面要管理ADV611,、存儲器、外圍控制單片機(jī)和通信接口,,另一方面要對ADV611的圖像壓縮效果進(jìn)行調(diào)節(jié),,對數(shù)據(jù)速率實時控制。DSP如何能高效地完成這些控制任務(wù),是本視頻編/解碼系統(tǒng)實現(xiàn)的關(guān)鍵,。由于TMS320C542具有高速的運算能力和豐富的接口資源,,是一種集數(shù)據(jù)處理和通信功能于一體的高速微處理器,所以本系統(tǒng)的DSP選擇了TMS320C542,。

1 系統(tǒng)總體結(jié)構(gòu)

  圖1給出了系統(tǒng)總體結(jié)構(gòu)框圖,。在圖1中,原始PAL制式(720×288@50幀/秒)的視頻信號經(jīng)過圖像采集" title="圖像采集">圖像采集端的視頻A/D轉(zhuǎn)化為CCIR656格式(8位27MHz)的數(shù)據(jù)流,,再通過ADV611.A進(jìn)行小波壓縮編碼,。DSP.A從ADV611.A中讀出圖像數(shù)據(jù)并且在數(shù)據(jù)存儲器中緩存,根據(jù)通信設(shè)備的速率,,DSP.A通過通信串行接口將壓縮編碼的圖像數(shù)據(jù)通過用戶的通信設(shè)備發(fā)送到圖像回放端,。圖像回放端的DSP.B從串行接口接收到數(shù)據(jù)后,先在存儲器中緩存,,然后依據(jù)ADV611.B的數(shù)據(jù)申請,,將壓縮視頻數(shù)據(jù)發(fā)送給ADV611.B解壓。ADV611.B恢復(fù)出的圖像數(shù)據(jù)仍以CCIR656的標(biāo)準(zhǔn)格式發(fā)送給視頻D/A轉(zhuǎn)換為視頻模擬信號,,最終由監(jiān)視器回放出來,。

?

?

  本脫機(jī)視頻編/解碼系統(tǒng)設(shè)計了在圖像回放遠(yuǎn)端的用戶對圖像采集前端的遠(yuǎn)程控制功能。在圖像回放端,,用戶通過控制器將控制命令發(fā)送給單片機(jī)B,,然后這些命令經(jīng)過DSP.B和通信設(shè)備發(fā)送到圖像采集前端的DSP.A。DSP.A將控制命令分為兩類,。第一類是圖像亮度,、對比度、色飽和度的調(diào)節(jié)命令和攝像機(jī)焦距,、云臺運動的調(diào)節(jié)命令,,DSP.A通知單片機(jī)A,最后由單片機(jī)A控制視頻A/D芯片和攝像機(jī)完成命令,。另一類命令是調(diào)節(jié)圖像幀速率和小波圖像處理效果的命令,,DSP.A直接設(shè)置ADV611.A的相關(guān)寄存器實現(xiàn)命令。

2 DSP與視頻小波編/解碼芯片ADV611

  在本系統(tǒng)的圖像采集端和圖像回放端中,,ADV611都是作為TMS320C542的I/O端口設(shè)備連接在DSP芯片的地址數(shù)據(jù)總線上。通過這個接口,,DSP既可以讀寫ADV611的內(nèi)部控制寄存器" title="控制寄存器">控制寄存器,,又可以向ADV611讀寫圖像壓縮數(shù)據(jù)。ADV611內(nèi)部的控制寄存器包含三類,。第一類用于設(shè)置ADV611的工作狀態(tài),,這些狀態(tài)包括圖像編碼狀態(tài)、圖像解碼狀態(tài)以及圖像處理制式等等。第二類寄存器能提供每幀圖像的統(tǒng)計信息,,它們都是只讀寄存器,,提供的統(tǒng)計信息包括亮度的最大值、最小值,、總和以及每幀圖像的壓縮數(shù)據(jù)量等等,。最后一類寄存器是數(shù)據(jù)編碼壓縮的控制寄存器,ADV611內(nèi)部的FIFO用于控制圖像壓縮數(shù)據(jù)的讀寫操作,,并能給出FIFO全空,、部分滿和全滿信號。

  包括圖像壓縮數(shù)據(jù)訪問申請,、每幀統(tǒng)計數(shù)據(jù)準(zhǔn)備好和數(shù)據(jù)流出錯在內(nèi)的所有ADV611的處理申請信號,,共用一個中斷請求發(fā)給DSP。圖2給出了以圖像采集端為例的DSP.A響應(yīng)中斷后的處理流程,。DSP.A首先讀取ADV611.A內(nèi)部的中斷標(biāo)志寄存器,,進(jìn)一步分析中斷產(chǎn)生原因,再加以處理,。因為處理圖像壓縮數(shù)據(jù)的時間較長,,為了防止在圖像數(shù)據(jù)處理期間ADV611.A新的處理申請被錯過,所以在讀取編碼數(shù)據(jù)并寫入存儲器之后,,DSP.A又讀取了一次ADV611中斷標(biāo)志寄存器,。

?

?

  DSP.A在主程序中計算采集端ADV611.A圖像壓縮編碼效果的控制參數(shù)。ADV611通過控制寄存器提供給用戶三種控制圖像效果和數(shù)據(jù)流量手段,。第一種是設(shè)置量化系數(shù),,即通過改變小波分解后各個不同頻帶數(shù)據(jù)的量化權(quán)重,達(dá)到數(shù)據(jù)壓縮目的,。第二種壓縮手段是減幀,,ADV611可以從50幀/秒減到2幀/秒。最后一種壓縮手段是品質(zhì)框控制,,ADV611能夠在720×288的一幀圖像中再設(shè)置一個顯示區(qū),,并將該區(qū)之外的圖像衰減,從而利用這種減小有效畫幅尺寸的方法壓縮數(shù)據(jù),。這個顯示區(qū)域大小的設(shè)定是通過調(diào)節(jié)ADV611內(nèi)部品質(zhì)框數(shù)據(jù)實現(xiàn)的,。主程序中DSP.A將依據(jù)用戶的調(diào)節(jié)命令,計算修改ADV611.A中的控制寄存器參數(shù),。

3 DSP與單片機(jī)

  系統(tǒng)對視頻A/D,、D/A、攝像機(jī)和用戶控制器的控制管理都是慢速的,。DSP作為高速的微處理器,,不適合浪費大量的指令周期去處理這些慢速控制,。而且TMS320C542也不具有靈活的控制I/O端口。所以本系統(tǒng)選擇了單片機(jī)來輔助TMS320C542完成低速控制,。

  TMS320C542提供了一個主控接口HPI[1],,通過該接口簡便地實現(xiàn)了DSP與單片機(jī)的數(shù)據(jù)通信。例如,,在圖像回放端,,當(dāng)單片機(jī)B有了用戶控制命令時,它通過HPI將命令數(shù)據(jù)填入DSP.B的指定數(shù)據(jù)區(qū),,再發(fā)出HPI中斷申請來請求DSP.B處理,。這個過程不會影響DSP.B正在執(zhí)行的程序任務(wù)。而當(dāng)圖像采集端的DSP.A有控制命令要傳給單片機(jī)A時,,它先將命令代碼數(shù)據(jù)寫入DSP內(nèi)部的指定數(shù)據(jù)區(qū),,然后通過HPI接口的某一輸出信號引發(fā)單片機(jī)A的中斷,申請單片機(jī)A去處理,。在單片機(jī)A的中斷中,,單片機(jī)A通過HPI讀取DSP指定數(shù)據(jù)區(qū)中的命令數(shù)據(jù),而后執(zhí)行相應(yīng)的命令操作,。

4 DSP與存儲器和通信接口

  本系統(tǒng)的串行通信接口是利用TMS320C542的緩沖串口BSP[1]加上輔助的接口驅(qū)動電路實現(xiàn)的,。DSP在設(shè)定發(fā)送緩沖區(qū)和接收緩沖區(qū)后,BSP可以自動發(fā)送和接收緩沖區(qū)中的數(shù)據(jù),,這樣就提高了DSP的處理效率,。由于本系統(tǒng)要適應(yīng)用戶所選擇的通信設(shè)備的傳輸速率,基于BSP的系統(tǒng)串行通信接口工作在被動方式,。

  為了保證圖像數(shù)據(jù)在傳輸中不會發(fā)生數(shù)據(jù)讀空和數(shù)據(jù)阻塞,,系統(tǒng)采用了乒乓緩沖和環(huán)形緩沖技術(shù)。以圖像采集端的數(shù)據(jù)發(fā)送為例,,圖像壓縮編碼數(shù)據(jù)的發(fā)送緩沖采用了圖3的結(jié)構(gòu),。如圖3所示,兩個發(fā)送緩沖區(qū)1和2在選擇機(jī)制C和D控制下構(gòu)成了乒乓緩沖結(jié)構(gòu),。當(dāng)機(jī)制D選擇了一個發(fā)送緩沖區(qū),,并通過BSP串行接口自動發(fā)送數(shù)據(jù)時,選擇機(jī)制C就準(zhǔn)備另一個發(fā)送緩沖區(qū)中的數(shù)據(jù),。在設(shè)計中,,發(fā)送緩沖區(qū)的寫入速度大于用戶最高通信速度,也就是說大于緩沖區(qū)的讀出速度,,所以這個乒乓緩沖首先避免了通信接口中可能的數(shù)據(jù)發(fā)送讀空問題,。

?

?

  幀圖像緩沖區(qū)1、2和3實際構(gòu)成的是環(huán)形存儲結(jié)構(gòu),,即在正常情況下選擇機(jī)制A將來自ADV611的壓縮圖像數(shù)據(jù)以一幀為單位,按照1-2-3-1循環(huán)的順序不斷填入緩沖區(qū)中。同樣,,機(jī)制B按照1-2-3-1讀取緩沖區(qū)中的數(shù)據(jù),。原則上,幀圖像緩沖區(qū)中數(shù)據(jù)的讀取指針要落后寫入指針一個緩沖區(qū),,比如當(dāng)一幀圖像數(shù)據(jù)經(jīng)過機(jī)制B發(fā)送出去時,,如果機(jī)制A正在寫入緩沖區(qū)3,則新一幀發(fā)送數(shù)據(jù)的讀取將從緩沖區(qū)2開始,。該策略進(jìn)一步保證了發(fā)送不會讀空,。但是如果通信速率下降、讀取指針處于緩沖區(qū)2而數(shù)據(jù)寫入已經(jīng)更新了緩沖區(qū)3和1兩幀圖像時,,機(jī)制A將把新的一幀數(shù)據(jù)重新填入緩沖區(qū)1,,而不是緩沖區(qū)2,從而避免數(shù)據(jù)阻塞沖突,。第二次寫入同一緩沖區(qū)和第二次讀出同一緩沖區(qū)的事件分別標(biāo)志著圖像壓縮數(shù)據(jù)流量大于通信速率和圖像壓縮數(shù)據(jù)流量小于通信速率,,DSP將依據(jù)這個事實動態(tài)調(diào)節(jié)圖像壓縮比,平衡圖像壓縮數(shù)據(jù)流量和通信速率,。

當(dāng)然采用緩沖技術(shù)保證圖像數(shù)據(jù)傳輸?shù)目煽啃允且誀奚鼒D像的實時性為代價的,。

5 系統(tǒng)中DSP的總體軟件結(jié)構(gòu)

  本脫機(jī)視頻編/解碼系統(tǒng)DSP控制程序的設(shè)計關(guān)鍵是如何高效地協(xié)調(diào)完成各類控制任務(wù),避免由于任務(wù)進(jìn)程安排不當(dāng)而引起的圖像數(shù)據(jù)傳輸意外中斷,。以圖像采集端為例,,如圖4所示,DSP程序?qū)SP數(shù)據(jù)發(fā)送和數(shù)據(jù)接收控制以及ADV611的服務(wù)請求作為中斷處理,,以提高這些任務(wù)的響應(yīng)速度,。特別地,為了避免通信串口的數(shù)據(jù)丟失,,程序允許BSP發(fā)送中斷和接收中斷在ADV611的服務(wù)請求中斷中發(fā)生并立即響應(yīng),。在程序的主循環(huán)部分中,DSP通過一系列的狀態(tài)判斷完成發(fā)送緩沖區(qū)數(shù)據(jù)寫入,、接收緩沖區(qū)數(shù)據(jù)讀取,、圖像壓縮編碼參數(shù)計算和對單片機(jī)的命令發(fā)送的任務(wù)。

?

?

  本文闡述的DSP設(shè)計方法,,作為脫機(jī)視頻編/解碼系統(tǒng)的核心,,在實際的應(yīng)用中實現(xiàn)了實時系統(tǒng)的有效控制,保證了圖像數(shù)據(jù)的可靠傳輸,,并完成了用戶的遠(yuǎn)端調(diào)控功能,。通過實測,本設(shè)計使DSP還具有很多空閑時間,,而且清晰的軟件結(jié)構(gòu)很容易添加進(jìn)新的功能算法,,例如動目標(biāo)檢測報警和動目標(biāo)跟蹤算法,,從而進(jìn)一步豐富該系統(tǒng)的功能。

?

參考文獻(xiàn)

1 Texas Instruments.TMS320C54x DSP CPU and Peripherals Ref. Vol.1,,Texas Instruments Inc.,,1996

2 Texas Instruments. TMS320C54x DSP Application Guide?Ref. Vol.4,Texas Instruments Inc.,,1996

3 蘇光大.微機(jī)圖像處理系統(tǒng)(上冊). 北京:清華大學(xué)出版社,,1998

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