基于DSP的實時圖像處理系統(tǒng)
2.1 視頻采集
在本系統(tǒng)中,對輸入的模擬視頻信號的采集是由BT835視頻Decoder完成的,支持的視頻輸入為PAL制或NTSC制式的標準模擬視頻信號,輸入的視頻信號既可以是復合視頻信號,也可以是S-Video信號,輸出為4:2:2的YUV格式的圖像數據。
圖3所示為DSP 模擬視頻輸入接口原理框圖。標準模擬視頻信號經預處理進入A/ D轉換器;同時又經時鐘產生電路得到與行同步同相位的A/ D 轉換時鐘,這樣可以使得每行的采樣點均為整數。為了確保視頻數據整行地被采集到DSP 中進行處理,特將行同步信號作為FIFO 讀入數據的起點。同時,行同步、場同步以及奇偶場標志信號也直接進入DSP ,使其能夠確定讀入的視頻數據在一幀中的具體位置。為了增強系統(tǒng)的實時性,這里利用TMS320C6416 DSP 的DMA(直接存儲器存取) 通道背景操作特性,以使DSP 和外設的數據交換能夠與其內部CPU 的高速運算操作同時進行。而FIFO 的功能在于,通過它的緩沖,使得DSP 可以從容地與A/ D 之外的其它外設交換數據。
其中ARM7的作用是時鐘的產生及控制視頻采集芯片,將采得的數據從8位或16位轉化為32位,并且使數據按照Y、U、V分開的方式排列。這樣相當于對采集到的數據進行了一次預處理,以便于視頻編碼使用。另外ARM7將32位寬的數據輸出給32位的FIFO。用32位的FIFO以及將視頻數據轉換為32位,可以使DSP讀取視頻數據時32位的數據總線沒有空閑,從而提高DSP讀取視頻數據的效率;這里使用FIFO是為了減少DSP讀取數據的時間、降低高速設備和低速設備的不匹配。每次FIFO半滿時,ARM7會給DSP發(fā)送中斷信號, 并且在中斷處理程序中使用DMA方式讀取視頻數據;如果不使用ARM7,DSP會頻繁中斷,從而花費大量時間在入棧、出棧以及寄存器的設置上。
2.2 視頻的MPEG-4編碼模塊
DSP讀入視頻數據后進行先期處理,如將YUV格式轉為RGB格式等;然后進行MPEG-4視頻編碼。在這一過程中,數據訪問通常要占用50%的時間,算術運算要占用30%的時間,控制要占用20%的時間。因為需要進行運動估計和運動補償,在數據存儲器中通常保存一幀I(原始幀)幀圖像和至少一幀P(預測幀)幀圖像,這些圖像占用的空間都比較大,因此放在外部存儲器SDRAM里。在編碼過程中還要存儲DCT系數、運動向量、量化矩陣、可變長編碼表、Z形編碼表等,由于占用較小的存儲空間而且會反復用到,因此把它們放在片內存儲器中。
2.3 視頻傳輸
與PC 機不同,DSP 片內片外的兩級存儲體系結構以及數據分配原則決定了編碼器實現過程中必然存在大量的數據傳輸,因而必須有效地管理以減少數據
傳輸所需的時間。
至于數據的采集部分可以利用DSP的DMA來進行。TMS320C6000 DSP 大都具有幾個獨立的DMA 通道,DMA 的特點是可以在不受CPU 干預的情況下完成數據從源地址到目的地址的搬移。
評論