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