實時視頻圖像壓縮存儲系統(tǒng)
在美國德州儀器公司(TI)舉辦的DSP and Analog University Challenge 2000年度比賽中,我們的參賽項目“實時視頻圖像壓縮存儲系統(tǒng)”獲得了中國賽區(qū)第一名,并擠身于亞洲賽區(qū)前五名,入圍了全球復賽,遺憾的是未能獲得進一步的成績。大賽對我們而言,是一次難忘的經(jīng)歷。通過這次參賽,我們學到了許多新的東西。
本文引用地址:http://2s4d.com/article/2853.htm對視頻圖像進行數(shù)字化的存儲,或更通俗地稱為數(shù)字錄像,是當前業(yè)界的熱點之一。較之以前的模擬方式存儲,數(shù)字錄像有著許多不可替代的優(yōu)點,同時也帶來了技術上需要解決的一些問題。高效的視頻圖像壓縮算法及其硬件實時實現(xiàn)是解決視頻圖像數(shù)字化存儲問題的核心所在。
通常的數(shù)字錄像一般都采用專用芯片來完成視頻壓縮編碼算法的硬件實時實現(xiàn)。采用專用芯片方法的最大優(yōu)點是實現(xiàn)相對簡單,而且隨著芯片批量的增加,單片價格會大幅下降。作為一個成熟和長期的產(chǎn)品,這種方法不失為一種最佳的方案。比如電視臺等對圖像質(zhì)量要求很高的應用場合,基于MPEG-2編碼/解碼芯片的解決方案可以提供良好的性價比,并在較長的一段時間內(nèi)都能滿足應用的需求。
但采用專用芯片最大的缺點是系統(tǒng)不夠靈活,無法進行算法的升級與更新。只有當某一種視頻壓縮編碼算法相對成熟,為業(yè)界普遍接受后,相應的專用芯片才會出現(xiàn)。這一方面大大延長了產(chǎn)品的上市時間;另一方面,用戶原有的基于老的視頻壓縮編碼標準的系統(tǒng)可能都會被淘汰,對用戶的投資是一個損失。特別是在科技飛速發(fā)展的今天,新技術與新標準不斷涌現(xiàn),技術的更新周期大大加快,單純采用專用芯片的解決方案其生命周期勢必會縮短,廠家的技術風險則會越來越大。
數(shù)字信號處理器(DSP)是一類具有專門為數(shù)字信號處理任務而優(yōu)化設計的體系結(jié)構和指令系統(tǒng)的通用處理器件。最近幾年, DSP的發(fā)展主要體現(xiàn)在以下幾個方面:首先由于新的高性能DSP普遍采用新的并行體系結(jié)構,如VLIW、SIMD等,DSP器件的性能得到很大的提高,新的器件能夠提供高達每秒十億次的操作;同時,通過采用新的并行體系結(jié)構和指令系統(tǒng),有效地避免了在CPU內(nèi)使用復雜的硬件電路來實現(xiàn)指令調(diào)度和分發(fā),而改由代碼生成工具在軟件這個級別來完成指令調(diào)度和分發(fā),從而使得相應的C語言編譯器的效率得到了質(zhì)的提升,這對于算法實現(xiàn)人員而言是一個福音,尤其是對視頻編碼這樣的算法相對復雜的應用,使用C語言進行開發(fā)可以大大加快進度;再者,隨著C語言的廣泛應用,代碼的可重復利用性大大提高,DSP算法標準(Algorithm Standard)開始出現(xiàn),DSP軟件算法開始逐漸淡化與具體實現(xiàn)平臺的關聯(lián),獨立的DSP軟件算法供應商開始成長,其結(jié)果勢必會帶動DSP的普及應用。
基于新的高性能DSP器件的解決方案不僅提供了強大的數(shù)據(jù)處理能力,可以滿足諸如雷達信號處理、數(shù)字基站、視頻圖像處理等復雜計算場合的要求,同時還提供了良好的可編程性,用戶可以靈活地進行軟件的升級與更新,大大彌補了采用專用芯片的專用系統(tǒng)的不足。但是,基于DSP的方案實現(xiàn)起來相對復雜,實現(xiàn)的成本一般也會略高一些。
新的技術越來越讓人們感覺“痛,并快樂著”,正如藍牙技術現(xiàn)在面臨的尷尬局面一樣。對于工程師來說,解決方案的選擇是一個應當慎重考慮的問題。就視頻編碼而言,選擇DSP還是專用芯片,很大程度上取決于具體的應用。不管怎樣,作者認為,作為一個原型系統(tǒng)(prototype),DSP所提供的靈活性是不容忽視的。
TMS320C6201 DSP是TI公司于1997推出的TMS320C6000系列的第一顆定點DSP芯片,是TMS320家族中性能最強大的DSP系列產(chǎn)品之一。其主要性能特點可概括為:
·指令周期為5ns,每指令周期最多可并行執(zhí)行八條指令,峰值處理速度可達1600MIPS;
·DSP內(nèi)核采用甚長指令字(VLIW)的VelociTITM體系結(jié)構;
·指令系統(tǒng)采用類似RISC指令系統(tǒng);指令長度可變;而且所有指令均可“條件執(zhí)行”;
·片上具有1Mbits的SRAM,其外存儲器接口(EMIF)可以與目前幾乎所有類型的存儲器件無縫連接,同時片上還集成了高速DMA、主機接口(HPI)、多通道緩沖串口(McBSP)等豐富的外設資源;
·具有與浮點類型DSP芯片TMS320C6701完全兼容的引腳分布。
以上這些特點使得TMS320C6x DSP成為高速視頻信號處理應用的理想選擇。
出于精度等方面的要求,視頻編碼算法一般都是浮點型算法。我們選用定點型的DSP器件,主要是考慮到定點型器件的發(fā)展與更新速度遠遠超過浮點型器件,而且價格也比浮點型器件低廉。如TI最新推出的TMS320C64x系列DSP芯片,峰值處理速度達到了3200~ 4800MIPS,而且增加了支持圖像的8bit數(shù)據(jù)處理的指令。在這種情況下,將代碼從浮點型轉(zhuǎn)換為定點型,對于項目的延續(xù)就顯得很有必要了。
最終的系統(tǒng)總體結(jié)構如圖1所示。系統(tǒng)的工作流程可簡述為:從CCD攝像頭等外部標準視頻信號源輸入的模擬視頻信號經(jīng)圖像采集模塊數(shù)字化,生成待處理的數(shù)字圖像數(shù)據(jù);由TMS320C6201構成的視頻圖像編碼模塊完成對這些數(shù)字圖像的壓縮編碼;壓縮后的碼流被由TMS320F206構成的數(shù)據(jù)通信模讀出,并通過USB接口送往主機進行存儲。
這個系統(tǒng)的最大特點是采用雙DSP的結(jié)構。它利用TMS320C6201作為運算核心,負責對視頻數(shù)據(jù)進行實時的壓縮編碼;同時采用TI的另一顆DSP-TMS320F206作為通信控制器,負責將壓縮后的碼流通過USB接口送往主機進行存儲。這種雙DSP的結(jié)構將系統(tǒng)的壓縮任務與通信任務相分離,使得視頻編碼模塊與USB通信模塊相對獨立,C6201 DSP芯片可以專注于復雜的視頻編碼算法的實現(xiàn),其強大的數(shù)據(jù)處理能力可以得到充分的發(fā)揮;F206的處理能力則足以應付USB通訊的需求。模塊間的這種可并行操作性大大提高了系統(tǒng)的總體性能。同時,F(xiàn)206片上具有4K×16bits的SRAM,可以充當通信時的數(shù)據(jù)緩沖器,從而省去了通常設計中需要使用的價格昂貴的FIFO。
在本系統(tǒng)中,數(shù)據(jù)通信模塊采用USB協(xié)議與主機通訊。USB協(xié)議是一些PC大廠商在1995年推出的一種高速串行總線標準,其主要特點是速度快、支持熱插拔、可以通過Hub擴展并且能夠提供總線供電的方式。它已經(jīng)成為PC機的標準配置。本系統(tǒng)實現(xiàn)的是1.1版本的USB協(xié)議,其總線速度可以達到12Mbps。
本系統(tǒng)電路設計的難點之一是高頻數(shù)字電路設計。C6201工作在200MHz的主頻下,其外部存儲器件也都工作在很高的時鐘頻率下,如SBSRAM的工作頻率為200MHz,而SDRAM的工作頻率也達到100MHz,因而在PCB板布線時高頻信號的完整性問題就凸現(xiàn)出來。在仿真的基礎上,通過選擇合適的總線拓撲結(jié)構并應用終端電阻等多種消除信號反射的方法,本系統(tǒng)較好地解決了高速信號的完整性問題。
最終系統(tǒng)的實際圖樣見圖2。
傳統(tǒng)的視頻圖像壓縮編碼標準核心都是基于離散余弦變換(DCT),如M-JPEG、MPEG1與MPEG2等。在本系統(tǒng)中采用的是我們提出的一種低存儲量的圖像零樹編碼算法,由于算法的核心采用小波變換(wavelet),因而有效地克服了傳統(tǒng)方法的“塊效應”現(xiàn)象,在解碼圖像質(zhì)量、碼率的精確控制等方面較傳統(tǒng)的視頻編碼標準有較大的進步;同時原始的圖像零樹編碼算法對存儲空間占用過大,對于存儲空間有限的情況,則必須經(jīng)常進行內(nèi)存的分配和釋放以及數(shù)據(jù)塊的頻繁搬移,又會帶來不必要的時間開銷,給硬件實時實現(xiàn)帶來了很大的困難。
采用低存儲量的圖像零樹編碼算法后,存儲空間的消耗以及由此帶來的時間消耗均顯著下降。盡管新算法重建圖像的PSNR指標較原始算法有稍微的下降,但基本都在1dB以內(nèi),在某些情況下甚至與原始算法重建圖像的PSNR指標相當。實踐證明,這是一種可行的、高效的基于DSP的視頻圖像實時壓縮存儲解決方案。
本文介紹的系統(tǒng)方案充分利用了TMS320C6201強大的數(shù)據(jù)處理能力,結(jié)合雙DSP的系統(tǒng)結(jié)構設計,可以很好地滿足視頻圖像實時壓縮編碼的要求。同時,本文介紹的方案還為通用的圖像處理算法提供了一個強大的實現(xiàn)平臺,開發(fā)人員能夠方便地在這個平臺上進行圖像處理算法的實時實現(xiàn)。比如我們已經(jīng)開始在這個平臺上進行MPEG-4的實現(xiàn)。
同時,由于模塊設計的相對獨立性,通過更換接口芯片,數(shù)據(jù)通訊模塊還可以方便地實現(xiàn)其它的通訊方式,如以太網(wǎng)接口、modem等。而且不管最終使用什么通訊方式,視頻編碼模塊的工作方式和程序都不會受到影響。我們近期的目標還包括將數(shù)據(jù)通訊模塊的F206更換為TMS320VC5402或TMS320C6211以提供完整的TCP/IP支持?!?/font>
評論