摘 要: 設(shè)計(jì)了一種基于TMS320DM6437的數(shù)字視頻采集系統(tǒng),,以適應(yīng)現(xiàn)代采集系統(tǒng)高性能,、快速性以及數(shù)字化的需要。該設(shè)計(jì)方法分為CCD傳感器,、達(dá)芬奇系列DSP上集成的視頻處理子系統(tǒng)組件(VPSS)和顯示器3部分,,不需要外接編解碼芯片,直接連接數(shù)字?jǐn)z像頭(CCD)。實(shí)驗(yàn)結(jié)果表明,,該視頻采集系統(tǒng)采集的圖像色彩均勻,,畫(huà)面清晰,采集速度快,,具有良好的擴(kuò)展性,。
關(guān)鍵詞: 數(shù)字?jǐn)z像機(jī);VPSS,;VPFE,;VPBE;TMS320DM6437
視頻技術(shù)在日常生活中的地位顯得越來(lái)越重要,。視頻圖像不清晰,、噪聲污染、分辨率低等原因?qū)е乱曨l質(zhì)量低,。針對(duì)這個(gè)問(wèn)題,,提出了用CCD傳感器獲取外部的圖像,因?yàn)镃CD傳感器在靈敏度,、分辨率,、噪聲控制等方面都優(yōu)于CMOS傳感器,可以獲取高質(zhì)量的圖像產(chǎn)品,。選用TMS320DM6437作為處理器,,它是一款高性能的多媒體處理器,有利于在交通,、生活小區(qū),、金融、工廠,、校園等領(lǐng)域發(fā)揮更好的作用,。
1 系統(tǒng)組成及其原理
系統(tǒng)由CCD傳感器模塊、處理器和顯示器模塊組成,,系統(tǒng)的整體框圖如圖1所示,。TMS320DM6437處理器是TI公司專(zhuān)為低成本、高性能視頻應(yīng)用開(kāi)發(fā)的32位定點(diǎn)DSP達(dá)芬奇技術(shù)處理器,。該器件采用TI第2代超長(zhǎng)指令字(VLIW)結(jié)構(gòu)的TMS320C64X+DSP內(nèi)核,,主頻可達(dá)700 MHz,支持8個(gè)8位或4個(gè)16位并行MAC(Multiply-Accumulates)運(yùn)算,,峰值處理能力高達(dá)5 600 MIPS,。針對(duì)視頻應(yīng)用,TMS320DM6437還提供了強(qiáng)大的視頻處理子系統(tǒng)VPSS(Video Processing Sub Systern),,其包括一個(gè)視頻處理前端VPFE(Video Processing Front End)和一個(gè)視頻處理后端VPBE(Video Processing Back End),,在控制方面提高了其配置和使用的簡(jiǎn)易性。這一子系統(tǒng)提供的各種接口為視頻的采集和顯示處理提供了極大的便利。
CCD傳感器實(shí)時(shí)采集視頻圖像并將之轉(zhuǎn)換成模擬視頻信號(hào),,通過(guò)視頻電纜把模擬視頻信號(hào)送給TVP5146視頻A/D轉(zhuǎn)換芯片轉(zhuǎn)成數(shù)字視頻信號(hào),,通過(guò)TMS320DM6437的硬件連線(xiàn)傳送輸入VPFE,應(yīng)用程序接收到一幅完整的視頻幀后,,將它傳送給VPBE,,VPBE將此數(shù)字視頻信號(hào)編碼輸出,通過(guò)TMS320DM6437系統(tǒng)的視頻輸出接口電路將此視頻信號(hào)轉(zhuǎn)換成模擬信號(hào)輸出,,通過(guò)視頻電纜,,信號(hào)最終傳送顯示器進(jìn)行顯示。
2 視頻處理子系統(tǒng)硬件結(jié)構(gòu)
VPFE用于輸入數(shù)字視頻數(shù)據(jù),,為多種標(biāo)準(zhǔn)的數(shù)字視頻輸入提供接口,,并為輸入的數(shù)字視頻數(shù)據(jù)作必要的預(yù)處理;VPBE用于輸出視頻數(shù)據(jù),,以驅(qū)動(dòng)顯示器顯示視頻圖像,。VPFE和VPBE統(tǒng)稱(chēng)為視頻處理子系統(tǒng),結(jié)構(gòu)如圖2所示,。
2.1 VPFE
VPFE提供了一個(gè)豐富和強(qiáng)大的視頻輸入接口,,系統(tǒng)包括CCD控制(CCDC)、預(yù)覽器,、縮放器,、H3A和直方圖模塊。
2.1.1 CCD控制器
CCDC接收從傳感器傳送來(lái)的原始圖像/視頻數(shù)據(jù)或從視頻解碼器設(shè)備接收各種格式的YUV數(shù)據(jù),,為圖像傳感器和數(shù)字視頻提供了一個(gè)接口,。CCD控制器的輸出需要另外處理,這種處理在預(yù)覽器或圖像處理的軟件算法中實(shí)現(xiàn),,才能把原始圖像轉(zhuǎn)化成最終處理的圖像,。同時(shí),原始數(shù)據(jù)輸入到CCD控制器,,可以用于計(jì)算各種統(tǒng)計(jì)數(shù)據(jù)(H3A和直方圖)以控制圖像/視頻的調(diào)節(jié)參數(shù),。
2.1.2 預(yù)覽器
預(yù)覽器是一個(gè)圖像處理模塊,用來(lái)配置各種傳感器類(lèi)型,、圖像質(zhì)量和視頻幀速率,。預(yù)覽器把從傳感器(CMOS或CCD)傳送來(lái)的未經(jīng)處理的圖像/視頻轉(zhuǎn)換為YCbCr4:2:2數(shù)據(jù)。預(yù)覽器的輸出用于視頻壓縮和外部顯示,,如一個(gè)NTSC/PAL模擬編碼器或者一個(gè)數(shù)字液晶顯示器,。
2.1.3 縮放器
縮放器用來(lái)實(shí)現(xiàn)圖像和視頻的縮放,縮放范圍為1/4~4倍,,它可以接收來(lái)自預(yù)覽器和DDR2的圖像/視頻。
2.1.4 H3A
H3A為自動(dòng)對(duì)焦(Auto Focus)、自動(dòng)白平衡(Auto WhiteBlance)和自動(dòng)曝光(Auto Exposure)的控制環(huán)路,。它包含兩個(gè)主要模塊:自動(dòng)對(duì)焦(AF)引擎裝置和自動(dòng)曝光(AE)與自動(dòng)白平衡(AWB)引擎裝置,。
2.1.5 直方圖
直方圖模塊處理彩色像素獲取統(tǒng)計(jì)信息,提供給H3A模塊實(shí)現(xiàn)各種3A算法,,以平滑最終的輸出圖像/視頻,。
2.2 VPBE
VPBE用于實(shí)現(xiàn)視頻圖像的輸出顯示,它包括OSD模塊,、VENC模塊,。
2.2.1 OSD模塊
OSD的主要功能就是把視頻數(shù)據(jù)和位圖數(shù)據(jù)混合集成給視頻解碼器以YCbCr格式輸出到VENC中,視頻和顯示數(shù)據(jù)從外部存儲(chǔ)器讀入,,一般為DDR2,。OSD通過(guò)控制器和參數(shù)寄存器編程實(shí)現(xiàn)其功能。
2.2.2 VENC模塊
VENC包含數(shù)字LCD(DLCD)和模擬(DAC等)接口,。視頻編碼器產(chǎn)生模擬的視頻輸出,。DLCD控制器產(chǎn)生數(shù)字的RGB/YCbCr數(shù)據(jù)輸出和時(shí)鐘信號(hào)。
3 視頻處理子系統(tǒng)程序設(shè)計(jì)
如圖3所示,,一個(gè)CCD傳感器與TVP5146解碼器連接在一起,,把模擬復(fù)合信號(hào)變成數(shù)字YUV4:2:2數(shù)據(jù)。該數(shù)據(jù)通過(guò)8位數(shù)據(jù)總線(xiàn)被送到TMS320DM6437處理器,。在解碼器與TMS320DM6437之間有一個(gè)I2C總線(xiàn),,使TMS320DM6437充當(dāng)主配置TVP5416。
使用VPFE驅(qū)動(dòng)程序配置TVP5146解碼器和捕獲視頻輸入數(shù)據(jù)且在顯示器上顯示出捕獲數(shù)據(jù),。CCD傳感器輸出的數(shù)據(jù)是NTSC D1分辨率,,而在VPFE,CCD控制器模塊已足夠靈活來(lái)獲取任何不大于D1的幀,??梢酝ㄟ^(guò)以下步驟配置VPFE驅(qū)動(dòng)來(lái)獲取并顯示數(shù)據(jù):
(1)通過(guò)調(diào)用FVID_create()和傳遞參數(shù)ccdcParams()來(lái)創(chuàng)建ccdcHandle作為CCDC的通道,。在傳遞函數(shù)ccdcParams(),,數(shù)據(jù)流(dateflow)被設(shè)置為PSP_VPFE_CCDC_ YCBCR_8,ffMode設(shè)置為PSP_VPSS_FRAME_MODE,,高度和寬度設(shè)置為480和720,,這樣CCDC模塊就能配置來(lái)捕獲交錯(cuò)NTSC D1幀。在傳遞函數(shù)ccdcParams()中,,有3個(gè)函數(shù)與TVP5146解碼器有關(guān),,分別為:
①PSP_VPFE_TVP5146_Open()被調(diào)用:當(dāng)CCDC通道被創(chuàng)建并初始化I2C總線(xiàn),;
?、赑SP_VPFE_TVP5146_Close()被調(diào)用:當(dāng)CCDC通道被刪除并重新初始化I2C總線(xiàn),;
③PSP_VPFE_TVP5146_Control()被調(diào)用:當(dāng)一個(gè)特定的控制命令來(lái)配置TVP5416,。
?。?)通過(guò)調(diào)用FVID_control()和傳遞參數(shù)TVP5146Params()來(lái)配置TVP5146。在自動(dòng)模式下,,TVP5146譯碼器配置為捕獲復(fù)合信號(hào),,因?yàn)樵谀J(rèn)情況下大多數(shù)TVP5146的配置參數(shù)設(shè)置為最佳的典型用法。
?。?)通過(guò)調(diào)用FVID_alloc()為CCDC模塊分配一些幀緩沖,。隊(duì)列緩沖區(qū)到驅(qū)動(dòng)程序通過(guò)調(diào)用FVID_queue()。
?。?)在VPBE中,,創(chuàng)建vid0Handle作為VIDWIN0通道。通過(guò)調(diào)用FVID_creat()和傳遞參數(shù)vid0Params()來(lái)配置VIDWIN0顯示YUV4:2:2捕獲的數(shù)據(jù)格式和NTSC D1分辨率,。
?。?)通過(guò)調(diào)用FVID_alloc()為VIDWIN0模塊分配一些幀緩沖。隊(duì)列緩沖區(qū)到驅(qū)動(dòng)程序通過(guò)調(diào)用FVID_queue(),。
?。?)在VPBE中創(chuàng)建vencHandle作為VENC通道,通過(guò)調(diào)用FVID_creat()和傳遞參數(shù)vencParams()來(lái)配置VENC模塊顯示復(fù)合信號(hào),。
?。?)按指定的次數(shù)開(kāi)始循環(huán),獲取并顯示輸入的視頻信號(hào):
?、僬{(diào)用FVID_exchange()得到一個(gè)捕獲視頻幀并傳遞一個(gè)空的幀緩沖到CCDC通道,。當(dāng)CCDC模塊已經(jīng)捕獲了一個(gè)新的幀后,函數(shù)返回,;
?、谡{(diào)用FVID_exchange()傳輸已捕獲數(shù)據(jù)的幀緩沖到VIDWIN0和接收一個(gè)新的幀緩沖被顯示之后,函數(shù)返回,;
?。?)一旦程序退出循環(huán),釋放所有通道和幀緩沖區(qū):
?、僬{(diào)用FVID_free()釋放VIDWIN0幀緩沖,,調(diào)用FVID_delete()釋放VIDWIN0通道;
?、谡{(diào)用FVID_free()釋放CCDC幀緩沖,,調(diào)用FVID_delete()釋放CCDC通道;
?、壅{(diào)用FVID_delete()釋放VENC通道,。
4 結(jié)果測(cè)試
使用復(fù)合電纜把顯示器,、CCD傳感器與TMS320DM6437相連,啟動(dòng)板上電源,,啟動(dòng)CCS,,打開(kāi)項(xiàng)目文件(.jpt);通過(guò)點(diǎn)擊CCS菜單File→Load Program,,加載文件;點(diǎn)擊CCS菜單Debug→Reset CPU,,然后點(diǎn)擊CCS菜單Debug→Restart,,最后選擇F5鍵運(yùn)行程序,捕獲的視頻在顯示器上顯示出來(lái),,如圖4所示,。
在視頻采集系統(tǒng)中將攝像頭的分辨率設(shè)置為720×480,圖像傳感器輸出的原始圖像信號(hào)送入視頻解碼器TVP5146進(jìn)行視頻解碼,,然后輸出進(jìn)入TMS320DM6437處理器組成的DSP系統(tǒng),,在DSP系統(tǒng)中主要進(jìn)行必要的圖像預(yù)處理以獲得良好的圖像質(zhì)量。采集到的視頻圖像色彩均衡,、畫(huà)面清晰,,圖像采集速度快且具有良好的擴(kuò)展性。當(dāng)需要對(duì)視頻進(jìn)行處理(如灰度變換,、黑白圖像變換等)時(shí),,進(jìn)一步為圖像的提取和識(shí)別作好準(zhǔn)備,只需要添加相應(yīng)的程序即可,,無(wú)需改變硬件,,降低了開(kāi)發(fā)成本。
參考文獻(xiàn)
[1] Texas Instruments Incorporated.SPRU977D.TMS320DM643x DMP Video Processing Front End (VPFE)User′s Guide[S].2010.
[2] Texas Instruments Incorporated.SPRU952A .TMS320DM643x DMP Video Processing Back End (VPBE) User′s Guide[S].2007.
[3] Texas Instruments Incorporated.SPRU983A.TMS320DM643x DMP Peripherals Overview Refe- rence Guide[S].2007.
[4] BAYER B E. Color imaging array:US.3971065[P]. 1976:56-60.
[5] 米本和也.CCD/COMS圖像傳感器基礎(chǔ)與應(yīng)用[M].北京:科學(xué)出版社,,2006.
[6] 張德剛,,陳文藝,陳瑞.基于DM6437的數(shù)字?jǐn)z影機(jī)[J].電子設(shè)計(jì)工程,,2011,,19(8):130.