《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM/DSP的圖像采集與視頻應用
基于ARM/DSP的圖像采集與視頻應用
摘要: 文章標題:基于ARM/DSP的圖像采集與視頻應用。中國IT實驗室嵌入式開發(fā)頻道提供最全面的嵌入式開發(fā)培訓及行業(yè)的信息、技術以及相關資料的下載.
Abstract:
Key words :

  最近基于ARM" title="ARM">ARM/DSP" title="DSP">DSP的圖像采集" title="圖像采集">圖像采集得到越來越廣泛的應用。除了傳統的視頻編解碼外,一些新興應用如條碼識別、文字識別、生物識別(虹膜、面相)等也得到了空 前的關注。這些應用都要求獲得穩(wěn)定、快速、低噪聲的圖像質量,所以作為應用基礎的圖像采集與處理技術應該得到更多的關注。

  我們主要從事基于ARM和DSP的圖像采集、視頻編解碼技術的開發(fā)工作,做過不是這方面的項目,而且最近經??吹揭恍┚W友提問一些基礎*的問題,所以今天對圖像采集與視頻編碼方面的基礎知識簡單總結一下,希望對大家有用,也希望拋磚引玉,歡迎大家討論和指正。

  組成一套圖像與視頻應用系統包括兩部分:圖像成像單元和后端處理單元。首先討論圖像成像單元,除了一些特殊應用外,市場上常見的圖像成像部件基本可分為CCD和CMOS兩種。

  CCD 即電荷耦合器件,使用一種高感光度的半導體材料制成,包括線*和矩陣兩種。CCD的特點是靈敏度高,噪聲小,色彩飽和度好,但是價格較高。CCD傳感器" title="CCD傳感器">CCD傳感器正 在得到CMOS傳感器的挑戰(zhàn),CMOS(Comple-mentary Metal-Oxicle-Semiconductor,互補金屬氧化物半導體集成電路影像傳感器)主要是利用硅和鍺這兩種元素所做成的半導體,其優(yōu)點是 功耗小,宜于批量生產,價格比CCD低很多。但是CMOS傳感器對照度要求比較高,當光線較暗時噪聲明顯加大,成像質量比CCD差。目前手持應用市場的火 爆帶動了CMOS的需求大大增加,圖像質量逐步提供,相信CMOS會得到越來越多的市場空間。

  CCD傳感器基本被日本廠家壟 斷,CMOS生產廠家則有很多,比較知名的有Micron、OmniVision、Hynix、Sharp、Toshiba等。我們使用過多家的產品,感 覺不同廠家的CMOS傳感器大同小異,結構上一般包括感光陣列、模擬處理、A/D轉換、時序電路、寄存器控制電路、圖像質量控制等部分。早期的傳感器不包 括DSP電路,即“sensor only”?,F在的傳感器都可以說是SOC了,包括DSP電路,可以實現自動增益、自動曝光、自動白平衡等控制。

  CMOS傳感器接口信號包括主時鐘信號、象素時鐘、水平同步/參考、垂直同步和象素數據信號,如下所示:

  MCLK ――  后端DSP/arm提供給傳感器的時鐘,也可以由晶陣提供

  PIXELCLK ―― 傳感器輸出的象素時鐘,所有數據與該時鐘同步

  HSYNC/HREF ―― 水平參考信號,表示一行數據(包括有效數據和Blank)

  VSYNC ―― 垂直同步信號,表示一幀數據(包括有效數據和Blank)

  Data[7:0] ―― 8位象素數據,有的傳感器是輸出10位或者更高精度

  CMOS 傳感器的輸出信號格式一般有幾種:Raw RGB(Bayer)、RGB565、YUV422、ITU656。Raw RGB輸出原始的RGB數據,通常是每個象素僅輸出一個數據,偶數行RG RG RG…,奇數GB GB GB…,需要進行插值才可以得到每個象素點的RGB數據。RGB565是每個象素點輸出兩個字節(jié),共16bits,由R(5bits)、G(6bits) 和B(5bits)組成。因為人眼對綠色更敏感,所以G分量由6bits代表。YUV422也是每個象素點輸出兩個字節(jié),每行由序列UY VY UY VY…組成,其輸出順序一般可以控制。同樣由于人眼對亮度更敏感,所以每個象素輸出一個Y值,而色差則是各一個象素輸出一個。RGB565和YUV422 都是需要時序信號配合的,而ITU565格式本身包含幀頭和幀尾,因而可以不需要HSYNC和VSYNC信號的配合。

  前面討論了 前端傳感器部分,下面討論一下后端處理單元。隨著ARM的普及,越來越多的工程師開始使用ARM作為后端處理單元。常見的ARM如2410、9200、 44b0等,沒有視頻輸入接口,需要增加CPLD/FPGA電路控制時序和讀入傳感器輸出的圖像數據。另外一類ARM由于具有視頻輸入接口從而大多簡化了 電路,直接可以輸入CMOS傳感器的輸出。這一類的arm處理器包括Freescale mxl/mx21/mx27/mx31、Samsung 2440、Intel PXA270等。我們在為自己的應用選型時,除了考慮處理器的功耗、價格、主頻、外頻外,還應該考慮處理器的內部處理能力,比如DMA能力、是否有硬件加 速能力等因素。通常圖像采集后都會用到顏色空間變換、放大縮小等功能,所以如果處理器具有硬件加速能力則可以大大提高運算效率。在這方面 Freescale MX21應該是不錯的,其預處理和后處理模塊通過硬件實現顏色變換和插值變換,大大提高運算速度。如果使用DSP作為后端處理器,那就比較簡單了。無論是 TI系列還是ADI Blackfin系列,都具備視頻輸入接口,可以直接輸入傳感器的輸出信號。

  另外一類重要的應用是視頻編解 碼,主要用于安防領域。當前流行的編解碼算法是MPEG-4,而H.264也正在迅速的占領市場,傳統的M-JPEG則在交通監(jiān)控領域繼續(xù)發(fā)揮作用。經常 看到網友在論壇上討論基于ARM實現視頻編解碼算法,結果可能大多是讓您失望。我們曾經試圖做這個工作,最后是在Freescale MXL處理器上實現QCIF分辨率的準實時MPEG-4編碼,而且使用MXL的硬件DCT加速、匯編優(yōu)化和半象素搜索優(yōu)化算法。很明顯基于傳統ARM處理 器實現視頻編碼算法是很有難度的和不太現實的。不過您也別太失望,有一類arm處理器內部集成編解碼CODEC,算法基本不占用CPU時間,所以還是可以 用的。這一類主要有Freescale MX21/MX27/MX31、海思Hi3510,好像還有上海杰得。Mx21內嵌Hantro的CODEC,可以做到CIF@30fps,MX27可以 做到H.264@D1,海思3510也可以做到H.264的D1編碼。相對使用DSP處理視頻算法,SOC的優(yōu)點是開發(fā)簡單,直接調用編解碼API就可以 了。隨著市場競爭的加劇,相信會出現越來越多的具備視頻編解碼能力的arm處理器。

  相對于arm處理器,目前更多的工程師使用 DSP處理器完成編解碼算法。適合視頻處理的DSP也有很多,比較知名的有TI系列、ADI系列和Philips系列。TI自不必說,大家都很熟悉。 Philips(NXP)的Trimedia系列DSP是老牌的視頻處理芯片,應用也非常廣泛。ADI的Blackfin系列視頻處理器則是較新一點的, 相對于傳統DSP,Blackfin的最大優(yōu)勢在于其MSA體系結構,是DSP與RISC處理器的結合體。這一優(yōu)點使得Blackfin既可以運行操作系 統,又可以高效的運行算法,從而可以實現單芯片視頻應用系統。我們知道單芯片系統一般成本會比雙處理器系統低,這在對成本控制越來越嚴格的今天的確比較有 誘惑力。

此內容為AET網站原創(chuàng),未經授權禁止轉載。