- 相關推薦
一種數碼相機成像和視頻處理前端的設計
摘要:針對數碼相機的成像和視頻處理前端,給出一種基于TI DSP技術的設計方案。詳細介紹單芯片數字視頻解碼器TVP5040和單芯片影像處理器TMS320DSC系列DSP的圖像功能單元CCD控制器的功能和特點,并給出二者的硬件連接和軟件實現方法。關鍵詞:數碼相機 TVP5040 TMS320DSC 系列DSP CCD
目前,數字類消費電子產品的需求率增長驚人。在這些產品中,成像和視頻類產品比重很大。在這些影像產品中,無論是數碼相機還是內置數碼相機的可拍照手機,或者其它數字成像和視頻終端產品,都需要成像和視頻處理前端與其協同工作。
德州儀器公司(TI)在推動新興消費類產品的高級圖像應用方面及時跟進,發布了目前業界性能最為卓越的基于數字信號處理器(TMS320DSC系列DSP)的解決方案。這種低功耗、完全可編程的DSP解決方案,使實時視頻功能在成像終端上的應用成為可能。TMS320DSC系列芯片在一個單一器件中集成了兩項功能:超低功耗的TMS320C5000用來進行實時媒體處理;一個ARM7TDMI RISC處理器以實現系統控制功能。可編程的硬件多媒體加速器可以進行并發性處理,以增強專用成像和視頻性能。
TI還提供了一系列成像和視頻處理前端產品,可與TMS320DSC系列DSP進行無縫工作。TVP5031、TVP5040和TVP5145使用戶能夠將模擬視頻信號轉換成TMS320DSC系列芯片可以處理的數字數據。
1 數碼相機的成像和視頻處理前端
數碼相機市場通常被劃分為高端(400萬像素以上)、中端(330、210萬像素)與低端(百萬像素以下①三種檔次。針對不同的市場,大部分廠商會根據CCD和CMOS的差異而采取不同的解決方案,而采用TMS320DSC系列DSP的數碼相機解決方案則可兼顧。從入門產品到最高級設計的整個相機系統或其它影像產品,都可由這個系列DSP的可編程能力而輕松實現,這是其優勢之一。其次,成像和視頻處理前端TVP5031、TVP5040和TVP5145的可編程能力,使得開發者可以通過更新的算法和標準來升級或更改模塊前端的處理。
(范文先生網www.baimashangsha.com收集整理)
一般來說,數碼相機的成像和視頻處理前端主要是鏡頭模塊(包含CCD傳感器、鏡頭和馬達)與模擬前端電路(AFE)。本文所述的成像和視頻處理前端與專用數字處理器TMS320DSC的接口設計如圖1所示。
驅動電路和時序生成器件產生CCD或CMOS所需要的時鐘信號,模擬前端的作用是將圖像傳感器輸出的模擬圖像信號鉗位放大,并完成A/D轉換,這里采用TVP5040。TMS320DSC系列DSP含有圖像處理和時序控制電路,通過I/O接口可以控制時序產生,通過CCD控制器可以正確接收垂直同步(VD)和水平同步(HD)信號。經過相關配置以后,DSP就可以接受TVP5040輸出的CCD原始數據了。
2 NTSC/PAL數字視頻解碼器TVP5040
TVP5040作為一款高質量單芯片數字視頻解碼器,可能很方便的將模擬視頻信號轉換成數字視頻。它包括業界領先的2個10位高速2x過抽樣A/D轉換器。接受標準的NTSC/PAL制式的復合視頻信號和S-Video信號輸入,輸出格式可以是8位、10位、16位或20位4:2:2(YcbCr)子采樣格式,也可以是8位或10位ITU-RBT,656定義的標準輸出(帶嵌入同步)。采樣可以是矩形像素或者遵循ITU-RBT.601協議。TVO5040利用德州儀器的專利技術,對那些微弱、不穩定的信號進行捕捉,并去除噪聲。
其三線互補自適應梳狀濾波器,可以降低色度和亮度的交叉影響。利用所支持的主機端口和接口I2C、3個并行主機接口(PHI)或VIP模式,可對視頻特性,如色調、對比度和飽和度等進行編程操作。TVP5040產生同步、消隱、場和鎖存信號,以及數字視頻輸出。同時,具有先進的垂直消隱區間數據恢復功能,內置FIFO可存儲高達14行的圖文電視數據。
TVP5040主要包括以下模塊:
*模擬信號處理器和A/D轉換器(AGC,AD);
*Y/C分離電路(Luma/Chroma separation);
*色度處理(chrominance processing);
*亮度處理器(luminance processing);
*時鐘處理與節電控制;
*輸出格式化器(outputformatter);
*主機端口接口(interface);
*VBI數據處理器(VBI);
*增強型Macrovision檢測(Macrovision detection)。
模塊功能如圖2所示。
TVP5040由一組內部寄存器初始化并控制,它們設置所有的操作參數。為了能夠正確設置寄存器的參數,主機在上電復位時,必須向TVP5040下載微代碼,以使TVP5040的內部微處理器對內部寄存器編程。由于微代碼較大,TVP5040提供了不同的主機端口接口,包括I2C端口(I2C Interface)、3個并行主機接口(PHI Interface)和視頻端口接口(VIP Interface)用于下載和進一步的配置。主機接口用于初始化內部微處理器,讀寫狀態寄存器以及訪問分片VBI數據(sliced VBI data)。這些接口模式是在上電復位或是組合使用GLCO、PALI和FID引腳復位時確定的。
外部控制器通過標準的主機端口接口與TVP5040通信。TVP5040有一個內部微處理器,還有相連的100K的指令RAM。微處理器控制芯片的功能包括PLL操作、AGC、同步和寄存器配置等。這種可編程結構使得TVP5040可以利用更新的算法來提高性能。每次上電啟動的時候都要下載用于內部微處理器的微代碼。
控制每行像素數的采樣頻率是不同的,這取決于視頻格式和標準。TVP5040的視頻端口輸出格式時序如圖3所示。其它還有水平、垂直同步以及場同步信號的時序圖,限于篇幅,就不一一列出了。
3 TMS320DSC系列DSP的CCD控制器
TMS320DSCX系列DSP的圖像功能單元CCD控制器為CCD和CMOS圖像傳感器提供了必需的邏輯,對逐行和隔行掃描CCD或CMOS圖像傳感器給予了很好的支持。CCD控制器可以編程控制,有20個寄存器需要設置,由TMS320DSCX控制,能支持高達4096×4096像素的CCD。它有以下幾部分功能:CCD接口、數字鉗位、時序發生以及輸出格式化,如圖4所示。
CCD控制器采集處理CCD圖像傳感器的數據。CCD所需的A/D轉換和時序生成由外部芯片提供。CCD時序生成器(CCD timing generator)可以向外部時序產生電路提供HD/VD信號,也可以接收外部傳來的HD/VD信號并與其保持同步。CCD控制器最高可以處理12位寬的圖像數據,可以支持高達30MHz的點時鐘。這里采用TVP5040生成CCD控制器所需時序,并傳送HD/VD、場ID和像素時鐘信號。
鉗位電路(clamper)采樣CCD黑像素的數字,然后每個像素的值都減去這個黑電平值。用戶可以通過寄存器設置黑電平像素的位置,用于求黑像素的數量(8個或16個)。另外,也可以將黑電值設置成一個常數。
輸出格式化器模板(output formatter)提供反混淆濾波(anti-aliasing filter)、A-律壓縮和水平、垂直降采樣。反混淆濾波由一個簡單的三階濾波器構成。A-律表壓縮將10位以上的鉗位后數據壓縮成8位。最后是一個可編程降采樣模板,從每8個像素中抽取N個像素。
CCD控制器提供2個數據通道。在通過(passthrough)通道時,8、10、12位的像素值被保存到1個16位SDRAM字的高位,沒有使用的低位填入0。數據存入SDRAM時,每次保存32位,即2個像素,其中左邊的象素保存到32位的低16位。在數據壓縮通道,圖像數據的高10位被壓縮成8位,然后每4個像素存入SDRAM的一個32位字。
4 DSP與TVP5040的硬件連接及軟件實現
4.1 硬件連接
考慮到TMS320DSCX的CCD控制器只能接收12位寬的數據,在TVP5040端決定采用10位YUV 4:2:2的視頻輸出格式,則TMS320DSCX與TVP5040的硬件連接如圖5所示。
由于TVP5040輸出10位數據,所以本設計保留最高位,低兩位接地或者懸空。TMS320DSC接收來自TVP5040的VD、HD以及場信號并與其保持同步。圖像數據輸入TMS320DSC系列DSP時,在輸入點時鐘的上升沿和下降沿被鎖存,可通過寄存器DET設置。CCD控制器可以將數據直接存入SDRAM,也可以通過預覽引擎(preview engine)Burst壓縮單元將數據壓縮后存入SDRAM。
TVP5040輸出的寫信號(WEN)用于從CCD接口直接將數據寫入SDRAM,可通過EWEN位進行設置。當WEN信號為高讀寫位(RDWE),即位是“1”時,圖像數據就載入SDRAM。
需要注意的是,TVP5040必須外接14.31818MHz的晶振才能保持正常的工作頻率。
4.2 軟件實現
首先需要初始化TVP5040,將微代碼通過TVP5040的I2C主機端口下載到微處理器中。
Void TVP5040INIT(void)
{
resetTVP(); //首先將TVP5040復位
DELAYTIME; //延時,下載代碼需要時序穩定
MicrocodeDown(); //下載微代碼
RestartMicroprocessor();//下載完后,需要重新啟動5040的微處理器
TimerWait(5); //微處理器重新啟動需要等待5ms
PatchTVPRegister(); //內部寄存器處于默認狀態,需要重新設置
}
然后需要設置CCD控制器以獲取一幀圖像數據并送入SDRAM。
Void main()
{
TVP5040INIT();//初始化TVP5040
SdramInit(); //初始化SDRAM
CCDCInit();//初始化CCD控制器
CCDCSetLinePerFrame();//設置每幀圖像的行數
CCDCSetRawDataMode();//設置內部生成時序信號的寬度、極性、位置和方向
CCDCGetFrame();//獲取一幀圖像數據送入SDRAM
}
然后,就可以對SDRAM中的圖像數據進行處理了,比如進行圖像的壓縮或增強處理等,這些超出了本文的討論范圍,就不多述了。
5 結論
上述系統在數碼相機設計方案中取得了非常好的效果。實踐證明,這種高性能、可編程的、基于DSP的解決方案,使得產品的開發和應用變得更加容易,為產品更快的進入市場奠定了基礎。
【一種數碼相機成像和視頻處理前端的設計】相關文章:
電阻抗成像系統的設計08-06
數碼相機的設計報告08-06
《平面鏡成像》教學設計08-17
平面鏡成像教學設計08-17
視頻監控系統中多畫面處理器的設計08-06
凸透鏡成像的規律教學設計08-17
一種基于AIT2139的視頻轉換器設計08-06