數碼攝像機的設計與實現
21世紀是數碼時代,數字類消費產品的需求量正在進行著驚人的增長。在這些產品中,視頻類產品的比重相當的大,在人們的日常生活中越來越普及。在這些產品中,無論是數碼攝像機,還是具有攝像功能的手機,其最核心的部分便是音視頻處理器,選擇什么樣的處理器,決定著此類產品的成本,性能,市場前景。
在本設計中,筆者選取了TI公司的TMS320DM270(DM270)作為核心的處理芯片。
可行性分析
為了使消費者獲得質量更高的數字視頻和影像內容,面向像素數為300萬至500萬像素的數碼相機、數碼攝像機及便攜式多媒體產品。德州儀器(TI)推出了基于DSP的數字媒體處理器DM270,它是基于多處理器架構之上,集成DSP C5409和32位RISC處理器ARM7TDMI的雙核結構,其中ARM7TDMI來處理非成像功能,用作整個系統的主控制器,DSP處理音視頻編碼,同時還集成了專門用于執行DCT、反向DCT以及眾多其它處理運算中的運動估計與補償的圖像處理引擎(iMX),以及可變長編解碼器(VLCD)。
而且TI還提供了一系列音視頻芯片,可與DM270進行無縫連接。TVP5040,TVP5145可以用作視頻A/D轉換器,AIC23可用作音頻A/D。
DM270還有專門的MMC/SD控制器,進行外部MMC/SD卡的擴展功能,為大容量數據的存儲提供了方便,以及OSD(on screen display)模塊,可以直接外接顯示設備(LCD、TV)。
基于DM270的數碼攝像機基本系統框架如圖1所示。

圖1 本方案系統框架圖
方案設計
從圖1可以看出,整個系統前端主要是由視頻輸入模塊,音頻輸入模塊,以及處理器DM270組成。后端則可以接入存儲設備及顯示設備(LCD,TV)。
視頻模塊
視頻輸入模塊結構如圖3所示,由前端的CCD模塊進行數據的采集,進入CPU后通過預處理,再進行視頻數據的壓縮保存。

圖3視頻回放數據流

圖4 McBSP與AIC23的接口
視頻采集和輸入
在DM270中有一個CCD可編程控制接口,可以方便的把標準的CCD(CMOS)數據接入到系統內部,而且為CCD圖像傳感器提供了必要的時序邏輯,對逐行和隔行掃描CCD或CMOS圖像傳感器給予很好的支持,能支持高達4096*4096像素。在筆者開發的系統中采用 OV7620的CMOS攝像頭,輸出YUV數據直接進入系統。芯片內部還有硬件的3A模塊來自動調節鏡頭的聚焦。另外,DM270中有預覽引擎 (preview engine),可對CCD數據的圖像進行增強,自動白平衡和各種尺寸的縮放。這樣大大減少了CPU對數據的初級處理壓力。
視頻壓縮
DM270支持VGA分辨率下的MPEG4 30fps實時編解碼,而且支持多種視頻壓縮標準,如JPEG,motion-JPEG,H.263等。可以為數碼攝像機提供多種拍攝模式。
如前所述,DM270內部還具有圖像協處理器iMX,可以高速進行DCT、運動估計 (補償)、插值運算。VLCD模塊完成碼流編碼。在筆者開發的平臺里可以做到VGA的MPEG4每秒24幀、H.263每秒30幀的實時壓縮編碼及解碼后通過LCD顯示。
此外,除了視頻圖像外,還可以實現數碼拍照的功能,進行JPEG圖片的拍攝。在筆者開發的平臺中可以實現2048*1536的JPEG圖片。
視頻輸出顯示
數碼攝像機必須具備回現功能,而DM270帶有OSD控制器,其后端有VENC(video encode)和D/A轉換模塊,產生NTSC或PAL格式的視頻信號輸出給外部顯示設備。DM270將壓縮的MPGE4數據或JPEG圖片,解碼后的 YUV數據通過OSD實現回現功能。其數據流如圖3所示。
OSD模塊具有4個圖像層(兩個YUV的video層和兩個位圖層),可以方便的實現圖層的層疊混合。可以利用OSD的位圖層0顯示各種操作菜單,作為圖形界面讓用戶調節系統參數。 從圖1可以看出,音頻數據直接輸入到DM270中的DSP進行處理。
評論