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

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

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

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

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

?

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

  ADV611芯片是美國(guó)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)。

  在本脫機(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)過圖像采集" title="圖像采集">圖像采集端的視頻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)視器回放出來(lái)。

?

?

  本脫機(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)部控制寄存器" title="控制寄存器">控制寄存器,又可以向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)。

  包括圖像壓縮數(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×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ù)。

3 DSP與單片機(jī)

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

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

4 DSP與存儲(chǔ)器和通信接口

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

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

?

?

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

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

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

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

?

?

  本文闡述的DSP設(shè)計(jì)方法,作為脫機(jī)視頻編/解碼系統(tǒng)的核心,在實(shí)際的應(yīng)用中實(shí)現(xiàn)了實(shí)時(shí)系統(tǒng)的有效控制,保證了圖像數(shù)據(jù)的可靠傳輸,并完成了用戶的遠(yuǎn)端調(diào)控功能。通過實(shí)測(cè),本設(shè)計(jì)使DSP還具有很多空閑時(shí)間,而且清晰的軟件結(jié)構(gòu)很容易添加進(jìn)新的功能算法,例如動(dòng)目標(biāo)檢測(cè)報(bào)警和動(dòng)目標(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)(上冊(cè)). 北京:清華大學(xué)出版社,1998

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