camera理论基础和工作原理【转】
轉自:http://www.cnblogs.com/fjutacm/p/220631977df995512d136e4dbd411951.html
寫在前面的話,本文是因為工作中需要編寫攝像頭程序,因為之前沒有做過這類產品,所以網上搜索的資料,先整理如下,主要參考文章如下,如果有侵權,請聯系我;另外,轉載請注明出處。本文不一定全部正確,如果發現錯誤請指正。如果有新的理解,會繼續整理。
http://blog.csdn.net/xubin341719/article/details/7723725 http://blog.csdn.net/pengwentao/article/details/7180115 http://blog.csdn.net/southcamel/article/details/8305873 http://blog.csdn.net/xubin341719/article/details/7727041 http://wenku.baidu.com/link?url=rF0-i3pP_hkf2-Lz_eFn-qN7vv6Md8HBMOKIIqnFpZGtCEPmla2gvMKlPmlkQYxoXeKLUNYsCXn1vB7Zdn2ge-XZcQzJR30-DraXuBG1kFu GalaxyCore GC0308 DataSheet 導讀: 一、攝像頭模組CCM 二、攝像頭工作原理 一、攝像頭模組(CCM) ?1、camera特寫 攝像頭模組,Camera Compact Module,簡寫為CCM,是影響捕捉的重要元器件,我的理解就是硬件上的攝像頭。如下圖: ? ? 2、攝像頭內部分解 攝像頭硬件結構圖: (1)、工作原理 光線通過鏡頭Lens進入攝像頭內部,然后經過IR Filter過濾紅外光,最后到達sensor(傳感器),senor分為按照材質可以分為CMOS和CCD兩種,可以將光學信號轉換為電信號,再通過內部的ADC電路轉換為數字信號,然后傳輸給DSP(如果有的話,如果沒有則以DVP的方式傳送數據到基帶芯片baseband,此時的數據格式Raw Data,后面有講進行加工)加工處理,轉換成RGB、YUV等格式輸出。 (2)、鏡頭 Lens 鏡頭是相機的靈魂,單反中一個鏡頭上萬是很隨意的事。鏡頭對成像有很重要的作用,相當于人眼中的晶狀體,利用透鏡的折射原理,景物光線透過鏡頭在聚焦平面上形成清晰的像,然后通過感光材料CMOS或CCD記錄影像,并通過電路轉換為電信號。鏡頭產業有比較高的技術門檻,國外主要集中在日本、韓國,國內主要是在臺灣,業內比較知名的如:富士精機、柯尼卡美能達、大力光、Enplas等。 Lens一般由幾片透鏡組成透鏡結構,按材質可分為塑膠透鏡(plastic)或玻璃透鏡(glass),玻璃鏡片比樹脂鏡片貴。塑膠透鏡其實是樹脂鏡片,透光率和感光性等光學指標比不上鍍膜鏡片。 通常攝像頭采用的鏡頭結構有:1P、2P、1G1P、1G2P、2G2P、2G3P、4G、5G等。透鏡越多,成本越高,相對成像效果會更出色(個人理解是光線更均勻、更細致;對光線的選通更豐富;成像畸變更小,但是會導致鏡頭變長,光通量變小)。 (3)、紅外濾光片 IR Filter 主要是過濾掉進入鏡頭的光線中的紅外光,這是因為人眼看不到紅外光,但是sensor卻能感受到紅外光,所以需要將光線中的紅外光濾掉,以便圖像更接近人眼看到的效果。 ?(4)、傳感器 Sensor sensor是攝像頭的核心,負責將通過Lens的光信號轉換為電信號,再經過內部AD轉換為數字信號。每個pixel像素點只能感受R、G、B中的一種,因此每個像素點中存放的數據是單色光,所以我們通常所說的30萬像素或者130萬像素,表示的就是有30萬或130萬個感光點,每個感光點只能感應一種光,這些最原始的感光數據我們稱為RAW Data。Raw Data數據要經過ISP(應該理解為Image Sensor Processor,是Sensor模塊的組成部分,下面有解釋)的處理才能還原出三原色,也就是說如果一個像素點感應為R值,那么ISP會根據該感光點周圍的G、B的值,通過插值和特效處理等,計算出該R點的G、B值,這樣該點的RGB就被還原了,除此之外,ISP還有很多操作,下面有介紹。 目前常用的sensor有兩種,一種是CCD(電荷耦合)原件;一種是CMOS(金屬氧化物導體)原件。 >>CCD(Charge Coupled Device),電荷耦合器件傳感器:使用一種高感光度的半導體材料制成,能把光線轉變成電荷,通過模數轉換器芯片轉換成電信號。CCD由許多獨立的感光單位組成,通常以百萬像素為單位。當CCD表面受到光照時,每個感光單位都會將電荷反映在組件上,所有的感光單位產生的信號加在一起,就構成了一幅完整的圖像。CCD傳感器以日本廠商為主導,全球市場上有90%被日本廠商壟斷,索尼、松下、夏普是龍頭。 >>CMOS(Complementary Metal-Oxide Semiconductor),互補性氧化金屬半導體:主要是利用硅和鍺做成的半導體,使其在CMOS上共存著帶N(-)和P(+)級的半導體,這兩個互補效應所產生的電流可以被處理芯片記錄并解讀成影像。CMOS傳感器主要以美國、韓國和中國臺灣為主導,主要生產廠家是美國的OmnVison、Agilent、Micron,中國臺灣的銳像、原相、泰視等,韓國的三星、現代。 (5)、圖像處理芯片 DSP DSP是CCM的重要組成部分,它的作用是將感光芯片獲得的數據及時地快速地傳遞到中央處理器并刷新感光芯片,因此DSP芯片的好壞,直接影響畫面品質,如:色彩飽和度、清晰度、流暢度等。如果sensor沒有集成DSP,則通過DVP的方式傳輸到baseband芯片中(可以理解為外掛DSP),進入DSP的數據是RAW Data,采集到的原始數據。如果集成了DSP,則RAW Data會經過AWB、color matrix、lens shading、gamma、sharpness、AE和de-noise處理,最終輸出YUV或者RGB格式的數據。如下圖中所示,ISP(Image Sensor Processor,不是Image Signal Processor)部分中使用的就是DSP來處理Image sensor的輸出數據(Raw Data): DSP結構框架: >>ISP(Image Signal Processor),鏡像信號處理器或者圖像信號處理器 >>JPEG encoder,JPEG圖像編碼器,有軟件硬件之分。 ?(6)、DVP DVP分為三個部分:輸出總線;輸入總線;電源總線;如下圖: ?>>輸入總線介紹 a>PWDN是camera的使能管腳,有兩種配置方式,一種為standby,一種是normal work,設置為standby的時候,一切對camera的操作都是無效的,包括復位。所以在RESET之前,一定要將PWDN管腳設置為normal模式,否則RESET無效。 b>RESET是camera的復位管腳,此方式為硬復位模式,camera的各個IO口恢復到出廠默認狀態。只有在XCLK開啟后,將RESET置為低,硬復位才有效,否則復位無效。 c>XCLK是camera的工作時鐘管腳,此管腳為BB提供camera的工作時鐘。 d>IIC是camera和BB通信的總線通道。 >>輸出總線介紹 a>data為camera的數據管腳。此數據腳可以輸出的格式有YUV、RGB、JPEG等。 b>VSYNC為camera的幀同步信號管腳。一個VYSNC信號結束表示一幀(即一個畫面)的數據已經輸出完畢。 c>HSYNC為camera行同步信號管腳。一個HSYNC信號結束表示一行的數據已經輸出完畢。 d>PCLK為像素同步信號管腳。一個PCLK信號結束表示一個像素點的數據已經輸出完畢。 ? ?>>Power線介紹
??? a>AVDD為camera的模擬電壓。
??? b>DOVDD為camera的GPIO口數字電壓。
??? c>DVDD為camera的核工作電壓。
????一般來說,要求先提供sensor的GPIO口電壓,接著提供模擬電壓,最后提供工作電壓。時序如下圖:
??(7)、FPC柔性電路板(柔性PCB) ?簡稱"軟板", 又稱"柔性線路板",連接芯片和手機。起到電信號傳輸作用。 (8)、ISP、DSP、基帶芯片的區別和聯系 幾篇文章中出現的術語,這里做個專門的補充。 >>常見基帶處理器或者基帶芯片負責數據處理與儲存,相當于一個協處理器,主要組件為DSP、微控制器、內存(如SRAM、Flash)等單元,主要功能為基帶編碼/譯碼、聲音編碼及語音編碼 等。目前主流基帶架構:DSP+ARM。可分為五個子塊:CPU處理器、信道編碼器、DSP、調制解調器和接口模塊。 基帶芯片是用來合成即將的發射的基帶信號,或對接收到的基帶信號進行解碼。具體地說,就是:發射時,把音頻信號編譯成用來發射的基帶碼;接收時,把收到的基帶碼解譯為音頻信號。同時,也負責地址信息(手機號、網站地址)、文字信息(短訊文字、網站文字)、圖片信息的編譯。 >>ISP,Image Signal Processor,圖像信號處理器;DSP,Data Signal Processor,數字信號處理器。 ISP一般用來處理Image Sensor(圖像傳感器)的輸出數據,如進行:AEC(自動曝光控制)、AGC(自動增益控制)、AWB(自動白平衡)、色彩校正、Gamma校正、祛除壞點、Auto Black Level、Auto White Level 等等功能的處理。 >>而DSP功能就比較多了,它可以做些拍照以及回顯(JPEG的編解碼)、錄像以及回放(Video 的編解碼)、H.264的編解碼、還有很多其他方面的處理,總之是處理數字信號了。可以認為ISP是一類特殊的處理圖像信號的DSP。 在這篇文章中,可以將基帶芯片當做開發板上的控制芯片,ISP和DSP可以對等,都是對Raw Data進行處理。這里尊重原文作者的說法,并沒有統一。 還有要注意的是,在攝像頭這部分,要看清楚ISP表示的是什么,是Image Signal Processor(圖像信號處理器),還是Image Sensor Processor(圖像傳感器處理器)。像上面的OV2665里面的ISP就是Image Sensor Processor,相當于Sensor模塊中的一部分,由DSP做處理器。而下面的GC0308,則正好相反,是Image Signal Processor,是一個真正的處理器,所以在看到ISP的時候要根據語境看指的是一個具體的處理器還是模塊的組成部分而非實指。 ?3、CCM組裝方式 (1)、定焦CCM組裝 CCM分為定焦模組和自動變焦模組,其中定焦模組主要由鏡頭、鏡座、感光集成電路、軟性線路板、補強和鋼片裝配而成,其裝配圖如下: (2)、自動變焦模組組裝 主要是鏡頭下面裝了一個VCM音圈馬達 (3)、3D模組 多臺攝像頭拍攝圖像,然后組合: ?4、攝像頭的一些技術指標 (1)、圖像解析度/分辨率(resolution)| QSIF/QQVGA | 160 x 120 | 19200 | |
| QCIF? | 176 x 144 | 25344 | |
| SIF/QVGA | 320 x 240??? | 76800 | |
| CIF | 352 x 288?? | 101376? | 10萬像素 |
| VGA | ? 640 x 480 | 307200 | 30萬像素(35萬是指648X488) |
| SVGA | 800 x 600 | 480000 | 50萬像素 |
| XGA | 1024 x 768 | 786438 | 80萬像素 |
| SXGA? | 1280 x 1024? | 1310720??? | 130萬像素 |
| UXGA | 1600 x 1200 | 1920000?? | 200萬像素 |
| QXGA? | 2048 x 1536 | 3145728? | 300萬像素(320W) |
| QSXGA | 2592 x 1944 | 5038848 | 500萬像素 |
| 2816 x 2112 | 2947392 | 600萬像素 | |
| 3072 x 2304? | 7077888 | 700萬像素 | |
| 3200 x 2400 | 7680000 | 770萬像素 | |
| 3264 x 2448? | 7990272? | 800萬像素 | |
| 3876 x 2584 | 10015584 | 1000萬像素 |
?
(2)、sensor輸出的圖像格式 >>YUV:luma(Y)+chroma(UV)格式(亮度、色度),一般情況下sensor支持YUV422格式,即Y-U-Y-V次序輸出數據。 >>RGB:傳統的紅綠藍格式,比如RGB565,5bit R + 6bit G + 5bit B,G多一位是因為人眼對綠色比較敏感。 >>RAW RGB:sensor的每一像素對應一個彩色濾光片,濾光片按Bayer Pattern(拜耳模板)分布,將每一個像素的數據直接輸出,即Raw RGB Data。 >>JPEG:有些sensor,特別是低分辨率的,其自帶JPEG engine,可以直接輸出壓縮后的jpg格式的數據。 注意: a>YUV一個像素占2B,如果像素太大,在高時鐘下基帶芯片處理不過來,JPEG數據量就要小很多,因為基帶芯片對輸出數據的速率有要求,所以基帶芯片低時鐘下使用YUV sensor,高時鐘下使用JPEG sensor。 b>如果直接輸出RGB,對于LCD顯示是最方便的,但是大多數基帶芯片都是要求輸出為YUV格式的數據再進行,這是因為,YUV輸出數據的亮度信號沒有任何損失,而色偏信號人眼并不是特別敏感,RGB565輸出格式是R5G3 G3B5,會丟失很多原始信息,所以YUV圖像質量和穩定性要比RGB565好的多。因此,很低端的基帶芯片上才會輸出RGB565格式。 Raw和JPEG的區別: Raw優點: 1>Raw格式文件本質上是一個沒有經過任何圖像處理的源文件,它能原原本本地記錄相機拍攝的信息,沒有經過圖像處理(銳化、色彩對比增強)和壓縮而造成的信息丟失。相比之下,JPEG格式的數據經過壓縮處理,無法完整的保存原圖形的所有數據。 2>Raw是一種專業攝影師常用的格式,因為它能原原本本地保存信息,讓用戶能大幅度進行后期制作,并且無論怎么操作,照片都能無損的恢復到最初狀態;但是JPEG就弱了些,雖然因為PS等技術的發展,也可以在JPEG上進行后期制作,但是如果做大幅度的調整還是Raw文件比較合適。 3>可以用專門的軟件修正攝像機的不足,比如佳能DPP軟件可以修正鏡頭失光、變形等。 Raw缺點: 1>存儲數據量太大,JPEG就小很多 2>需要專門的軟件來打開,JPEG幾乎所有的PC都可以直接打開 3>打開速度較慢,JPEG較快 4>不同的軟件有不同的方式去演繹RAW文件,所以在不同的軟件上會有細微的差別。 5>廠商賣的專用軟件價格較高,而這方面JPEG幾乎無成本 (3)、自動白平衡調整(AWB)? ?定義:要求在不同色溫環境下,照白色的物體,屏幕中的圖像應也是白色的。色溫表示光譜成份,光的顏色。色溫低表示長波光成分多。當色溫改變時,光源中三基色(紅、綠、藍)的比例會發生變化,需要調節三基色的比例來達到彩色的平衡,這就是白平衡調節的實際。
? ?(4)、圖像壓縮方式
? ?JPEG:(joint photo graphicexpert group)靜態圖像壓縮方式。一種有損圖像的壓縮方式。壓縮比越大,圖像質量也就越差。當圖像精度要求不高存儲空間有限時,可以選擇這種格式。目前大部分數碼相機都使用JPEG格式。
? ?(5)、彩色深度(色彩位數)
? ?反映對色彩的識別能力和成像的色彩表現能力,實際就是A/D轉換器的量化精度,是指將信號分成多少個等級。常用色彩位數(bit)表示。彩色深度越高,獲得的影像色彩就越艷麗動人。現在市場上的攝像頭均已達到24位,有的甚至是32位(原文)
? ?(6)、圖像噪音
? ?指的是圖像中的雜點干撓。表現為圖像中有固定的彩色雜點。
? ?(7)、視角
? ?與人的眼睛成像是相同原理,簡單說就是成像范圍。
? ?(8)、輸出/輸入接口
? ?串行接口(RS232/422):傳輸速率慢,為115kbit/s
并行接口(PP):速率可以達到1Mbit/s
紅外接口(IrDA):速率也是115kbit/s,一般筆記本電腦有此接口
通用串行總線USB:即插即用的接口標準,支持熱插拔。USB1.1速率可達12Mbit/s,USB2.0可達480Mbit/s
IEEE1394(火線)接口(亦稱ilink):其傳輸速率可達100M~400Mbit/s?
? ??(9)、CAMIF, Camera Interface
? ? 下面這張圖,沒看懂,暫時放在這里:
? ??
(10)、FIME,Fully Interactive Moblio Camera 攝像頭采集的數據CPU無法直接處理,所以,主動芯片里面集成了Camera控制器,即FIMC。攝像頭需要先將圖像數九傳送給控制器,經過控制器處理(裁剪拉升后直接預覽或者編碼)之后交給CPU處理。MCLK就是由FIMC提供的。 CAMMCLK給攝像頭提供時鐘,CAMRST是復位線,PWD在攝像頭工作時應該始終為敵。HREF是行參考信號,PCLK是像素始終,VSYNC是場同步信號,一旦給攝像頭提供了時鐘,并且復位了攝像頭,攝像頭就開始工作了。 FIMC信號定義如下所示(YCbCr模式)| Signal | I/O | Description | ???Type |
| HREF | I | 行同步信號 | ? |
| PCLK | I | 像素時鐘 | |
| DATA[7:0] | I | 像素數據 | |
| FIELD | O | FIELD信號 | |
| MCLK | O | 系統時鐘信號 |
總結
以上是生活随笔為你收集整理的camera理论基础和工作原理【转】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 『中级篇』docker之虚拟机创建vag
- 下一篇: 基于xmpp openfire smac