基于TMS320DM270平臺的數(shù)碼攝像機的設計與實現(xiàn)
21世紀是數(shù)碼時代,數(shù)字類消費產品的需求量正在進行著驚人的增長。在這些產品中,視頻類產品的比重相當?shù)拇螅谌藗兊娜粘I钪性絹碓狡占?。在這些產品中,無論是數(shù)碼攝像機,還是具有攝像功能的手機,其最核心的部分便是音視頻處理器,選擇什么樣的處理器,決定著此類產品的成本,性能,市場前景。
本文引用地址:http://m.butianyuan.cn/article/80610.htm在本設計中,筆者選取了TI公司的TMS320DM270(DM270)作為核心的處理芯片。
可行性分析
為了使消費者獲得質量更高的數(shù)字視頻和影像內容,面向像素數(shù)為300萬至500萬像素的數(shù)碼相機、數(shù)碼攝像機及便攜式多媒體產品。德州儀器(TI)推出了基于DSP的數(shù)字媒體處理器DM270,它是基于多處理器架構之上,集成DSP C5409和32位RISC處理器ARM7TDMI的雙核結構,其中ARM7TDMI來處理非成像功能,用作整個系統(tǒng)的主控制器,DSP處理音視頻編碼,同時還集成了專門用于執(zhí)行DCT、反向DCT以及眾多其它處理運算中的運動估計與補償?shù)膱D像處理引擎(iMX),以及可變長編解碼器(VLCD)。
而且TI還提供了一系列音視頻芯片,可與DM270進行無縫連接。TVP5040,TVP5145可以用作視頻A/D轉換器,AIC23可用作音頻A/D。
DM270還有專門的MMC/SD控制器,進行外部MMC/SD卡的擴展功能,為大容量數(shù)據(jù)的存儲提供了方便,以及OSD(on screen display)模塊,可以直接外接顯示設備(LCD、TV)。
基于DM270的數(shù)碼攝像機基本系統(tǒng)框架如圖1所示。
圖1 本方案系統(tǒng)框架圖
方案設計
從圖1可以看出,整個系統(tǒng)前端主要是由視頻輸入模塊,音頻輸入模塊,以及處理器DM270組成。后端則可以接入存儲設備及顯示設備(LCD,TV)。
視頻模塊
視頻輸入模塊結構如圖3所示,由前端的CCD模塊進行數(shù)據(jù)的采集,進入CPU后通過預處理,再進行視頻數(shù)據(jù)的壓縮保存。
圖3視頻回放數(shù)據(jù)流
圖4 McBSP與AIC23的接口
·視頻采集和輸入
在DM270中有一個CCD可編程控制接口,可以方便的把標準的CCD(CMOS)數(shù)據(jù)接入到系統(tǒng)內部,而且為CCD圖像傳感器提供了必要的時序邏輯,對逐行和隔行掃描CCD或CMOS圖像傳感器給予很好的支持,能支持高達4096*4096像素。在筆者開發(fā)的系統(tǒng)中采用OV7620的CMOS攝像頭,輸出YUV數(shù)據(jù)直接進入系統(tǒng)。芯片內部還有硬件的3A模塊來自動調節(jié)鏡頭的聚焦。另外,DM270中有預覽引擎(preview engine),可對CCD數(shù)據(jù)的圖像進行增強,自動白平衡和各種尺寸的縮放。這樣大大減少了CPU對數(shù)據(jù)的初級處理壓力。
·視頻壓縮
DM270支持VGA分辨率下的MPEG4 30fps實時編解碼,而且支持多種視頻壓縮標準,如JPEG,motion-JPEG,H.263等??梢詾閿?shù)碼攝像機提供多種拍攝模式。
如前所述,DM270內部還具有圖像協(xié)處理器iMX,可以高速進行DCT、運動估計 (補償)、插值運算。VLCD模塊完成碼流編碼。在筆者開發(fā)的平臺里可以做到VGA的MPEG4每秒24幀、H.263每秒30幀的實時壓縮編碼及解碼后通過LCD顯示。
此外,除了視頻圖像外,還可以實現(xiàn)數(shù)碼拍照的功能,進行JPEG圖片的拍攝。在筆者開發(fā)的平臺中可以實現(xiàn)2048*1536的JPEG圖片。
·視頻輸出顯示
數(shù)碼攝像機必須具備回現(xiàn)功能,而DM270帶有OSD控制器,其后端有VENC(video encode)和D/A轉換模塊,產生NTSC或PAL格式的視頻信號輸出給外部顯示設備。DM270將壓縮的MPGE4數(shù)據(jù)或JPEG圖片,解碼后的YUV數(shù)據(jù)通過OSD實現(xiàn)回現(xiàn)功能。其數(shù)據(jù)流如圖3所示。
OSD模塊具有4個圖像層(兩個YUV的video層和兩個位圖層),可以方便的實現(xiàn)圖層的層疊混合??梢岳肙SD的位圖層0顯示各種操作菜單,作為圖形界面讓用戶調節(jié)系統(tǒng)參數(shù)。
音頻模塊
從圖1可以看出,音頻數(shù)據(jù)直接輸入到DM270中的DSP進行處理。
·音頻采集與輸入
DM270內部的DSP是5409,有兩個多通道緩沖串行口(McBSP)模塊,用于音頻的采集接口。在筆者開發(fā)的平臺中,音頻采樣和轉換采用的是AIC23芯片。TLV320AIC23是TI推出的一款高性能的立體聲音頻CODEC,內置二級輸出放大器,支持MIC和LINE IN兩種輸入方式(2選1),并且可以對輸入輸出進行可編程的增益調節(jié)。AIC2模數(shù)及數(shù)模轉換都高度集成在芯片內部,而且采用先進的Sigma-delta過采樣技術,可在8~96kHz頻率范圍內提供16bit,20bit,24bit和32bit的采樣。輸入輸出信噪比可以分別達到90dB和100dB。為數(shù)碼攝像機的聲音錄放音質,提供了保證。而且AIC23與DSP內部的McBSP可以進行無縫連接。其接口如圖2。
圖2視頻輸入模塊結構圖
·音頻壓縮,解碼
在DM270中DSP的運算能力強大,可以實現(xiàn)多種語音壓縮編碼、解碼。下面的表格是幾種語音編碼方式的比較。
由表格可以看出,在保證高音質的情況下,G.711和G.726的算法復雜度相對簡單,這樣可以減少DSP的數(shù)據(jù)處理壓力,使DSP有更多的資源進行視頻數(shù)據(jù)的處理。而且G.711數(shù)據(jù)可以被QuickTime格式的影音文件支持,這樣可以增加數(shù)碼攝像機文件支持格式。G.726為可變碼率編碼,數(shù)碼攝像機用戶可以根據(jù)存儲空間來選擇。
在筆者開發(fā)的平臺上,分別實現(xiàn)了G.711與G.726算法及QuickTime文件的錄放功能。
系統(tǒng)軟件設計
在筆者開發(fā)的系統(tǒng)中,因為DM270的ARM核為ARM7TDMI,沒有內存管理單元(MMU),所以采用uClinux作為嵌入式操作系統(tǒng)同標準的Linux相比,uClinux最大的特點在于不具有MMU,因此很適合那些沒有MMU的處理器。由于uClinux的內核是由Linux根據(jù)所要運行的CPU裁減、修改而來。它保持了原有Linux系統(tǒng)的主要優(yōu)點,如穩(wěn)定性好,出色的文件系統(tǒng)支持,完善的應用程序開發(fā),升級方便。
該方案的軟件平臺架構如圖5。
圖5 軟件架構圖
在用戶應用程序中主要完成三種功能:錄像功能,拍照功能,以及錄像及照片的回放功能。
并且可以實現(xiàn)三種功能的實時的相互切換。如圖6所示。
圖6 系統(tǒng)用戶程序功能切換
在該方案軟件系統(tǒng)中還移植了U-boot進行系統(tǒng)引導與加載,提高了整個系統(tǒng)的運行效率。
為產品系統(tǒng)的升級服務提供了良好的支持。
結語
本系統(tǒng)已經在中國農業(yè)大學信息與電氣工程學院得到實現(xiàn),可以進行MPEG4、motion-JPEG錄像,JPEG拍照,以及QuickTime格式的錄制;并實現(xiàn)了上述錄像,拍照在LCD及電視機上的回放功能。實踐證明,這種高性能,基于DSP及ARM雙核技術的解決方案,使得產品開發(fā)應用變得更加容易,而且使用的系統(tǒng)軟件可以隨時升級,可以按照用戶的要求進行定制,甚至做到DIY,為產品的盡快進入市場奠定了基礎。
參考文獻:
1. TI.TMS320DM270 CPU and Peripherals Technical Reference Manual Version 1.3,2003.2
2. 韓春雷,王庫,馬健,一種數(shù)碼相機成像和視頻處理前端的設計,2004.9
3. 《TLV320AIC23B Datasheet》,Texas Instruments,2002
攝像頭相關文章:攝像頭原理
評論