camera理論基礎和工作原理
寫在前面的話,本文是因為工作中需要編寫攝像頭程式,因為之前沒有做過這類產品,所以網上搜索的資料,先整理如下,主要參考文章如下,如果有侵權,請聯絡我;另外,轉載請註明出處。本文不一定全部正確,如果發現錯誤請指正。如果有新的理解,會繼續整理。
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
系統時鐘訊號
(11)、camera時鐘域
每個攝像頭都有三個時鐘域,第一個是系統匯流排時鐘域;第二個是攝像頭畫素時鐘域PCLK;第三個是內部始終MCLK。
系統匯流排時鐘必須高於PCLK,CAM_MCLK必須固定頻率發呢拼比,如:PLL時鐘。
二、攝像頭工作原理
1、手冊中內容掃盲:
首先,我們要明白,一旦給攝像頭提供了時鐘,並且復位了攝像頭,攝像頭就可以工作了,通過PCLK、HSYNC、VSYNC聽不傳輸數字影象訊號。
攝像頭的驅動需要完成三大步:
>>攝像頭的上電、時鐘這些基本條件
>>IIC保證攝像頭的初始化
>>攝像頭工作後傳回資料到主控
原圖有誤,已經修改,紅色圈圈部分。
控制部分是攝像頭上電、IIC控制介面;資料輸出是攝像頭拍攝的影象資料傳到主控晶片,所以,需要有Data、行場同步時鐘(告訴主控晶片哪些資料是一行,哪些是一幀)、以及時鐘(PCLK,畫素時鐘,告訴主控晶片哪些資料是一個畫素點)。
(1)、MCLK
攝像頭要 工作,必須要有個時鐘進行同步,這個時鐘就是MCLK,必須要有,否則攝像頭就是一個死物,這個時鐘由主控晶片提供,確切的說是有主控晶片的控制器提供,下面會提到。
(2)、RESET
復位訊號,上面有提
(3)、SDA、SCL
IIC匯流排,主要作用就是為主控晶片配置或者讀取攝像頭的暫存器提供通道。mini2440音訊模組中的L3協議,也是這個作用。不要看見協議就怕,協議就是一條路,資料傳輸的路,有規定的資料傳輸的道路。
(4)、Configuration Register
配置暫存器,控制器(在主控晶片中)通過IIC來設定,相當於告訴攝像頭如何工作等。
(5)、Timing Control
時序控制,主要是根據主控晶片提供的MCLK時鐘來控制行場同步、自動曝光AEC等。因為這些都需要時鐘的配合。
(6)、Pixel Array
gc0308物理上的陣列是648H*492V,實際取樣陣列是648H*488V,也是有效陣列。實際取像的陣列是640H*480V。如下圖所示:
(7)、CDS
Correlated Double Sampling,相關雙聯取樣電路。CCD感測器的每個畫素點輸出波形只在一部分時間內是影象訊號,其餘時間是復位電平和干擾,為了提取影象訊號並消除干擾,就要採用取樣保持電路。
(8)、Analog Processing、10bit ADC
主要是將sensor得到的電訊號轉換為數字訊號,方便ISP或者DSP處理。
(9)、Image Signal Processing
影象訊號處理器,可以理解為DSP的一種,主要是對sensor經過ADC處理後的Raw Data進行處理,主要有自動白平衡AWB、插值計算(Bayer interpolation主要是對Raw Data進行格式轉換,轉為YUV /RGB等)、去噪、gamaa修正、色彩修正、邊緣增強等。這些都是由暫存器決定,暫存器又是通過IIC匯流排來設定的。
(10)、Output Mode & Sync Control
輸出介面,從光線進入鏡頭、過濾、光感應、ADC,然後到影象資料處理,最終資料到達外部介面。攝像頭取一幅影象的整個工作完成,攝像頭本質上還是一個終端節點,所以需要將採集好的影象資料傳遞給主控晶片,所以要有資料引腳,圖形格式補在是Raw Data,而是YUV或者RGB資料。進行資料傳輸,肯定需要時鐘進行同步,所以需要PCLK,告訴主控晶片,哪個資料代表了一個畫素點;VSYNC負責告訴晶片哪些是一幀資料,HSYNC則同步行資料。
(11)、裝置地址
百科上的定義,在資料通訊中,可以傳送或接受資料的任何裝置標識。
作業系統課程上面有講到,系統為了管理外部裝置而進行的編碼。不知道這個地址是不是這個意思。
反正寫入的時候指定0x42,讀取的時候指定0x43,
(12)、IIC通訊
IIC通訊是一個互動的過程,需要等待對方的確認訊號,並不是一次性完成的。首先,主機需要做兩個事情:
一個是,提供啟動、結束訊號;一個是提供IIC時鐘訊號。圖示很明白了,不在囉嗦。
(13)、時序 Timing
幀時間(Ft,Frame time)=幀時鐘不活動時間(Bt,Blank time)+啟動時間(St,Start time)+有效行時間(Vt,Valid line time)+結束時間(Et,End time)+8
空白無效行時間(Vblank/Dummy line)=Bt+St+Et。
首先要明白,物理上492行,但是實際感應光線的只有488行,4行是Dark Row,黑暗行;但是這488有資料的行中只有480行是有效行。然後推導公式,首先分析小公式——空白行時間,空白時間包括無效的幀同步時間,這裡就是VSYNC處於高電平的無效時間;開始資料採集之前需要有幾個時鐘週期的緩衝,然後才開始採集行資料,所以這個時間,也就是啟動時間也要算在空白行時間裡面,同理,480行有效資料採集完成後,也需要幾個時鐘週期表示資料採集結束,結束時間也要包括在空白行時間裡面。
一幀影象所需要的時間,首先包括空白行時間Bt,還有有效行時間Vt,然後加上8。這個8應該是代表那8行無效資料(不確定),歡迎留言!
exp_time應該是曝光時間,當曝光時間小於488行資料採集時間+空白行時間,這幀時間由所有行採集的時間+空白行時間控制,那麼VSYNC無效電平的時間=行空白時間-啟動時間-結束時間。
如果曝光時間超過win_height+VB,也就是在曝光沒有在正常的一幀時間內完成,那麼肯定需要繼續曝光,幀時間由曝光時間確定。幀同步無效時間=曝光時間-win_height-啟動時間-結束時間。
(修訂一,未完待續,分享自我的為知筆記)
相關推薦
camera理論基礎和工作原理【轉】
轉自:http://www.cnblogs.com/fjutacm/p/220631977df995512d136e4dbd411951.html 寫在前面的話,本文是因為工作中需要編寫攝像頭程式,因為之前沒有做過這類產品,所以網上搜索的資料,先整理如下,主要參考文章如下,如果有侵權,請聯絡我;另外,轉載請
camera理論基礎和工作原理
寫在前面的話,本文是因為工作中需要編寫攝像頭程式,因為之前沒有做過這類產品,所以網上搜索的資料,先整理如下,主要參考文章如下,如果有侵權,請聯絡我;另外,轉載請註明出處。本文不一定全部正確,如果發現錯誤請指正。如果有新的理解,會繼續整理。
Android 基於Netty的消息推送方案之概念和工作原理(二)
img b2c 決定 watermark net nios 通道 感覺 art 上一篇文章中我講述了關於消息推送的方案以及一個基於Netty實現的一個簡單的Hello World。為了更好的理解Hello World中的代碼,今天我來解說一下關於Netty中一些概念和工
Servlet生命周期和工作原理
所有 equal web容器 protoc xml文件 body ror 動態網頁 servlet容器 Servlet生命周期分為三個階段: 1,初始化階段 調用init()方法 2,響應客戶請求階段 調用service()方法 3,終止階段 調用dest
strust2的核心和工作原理
如何工作 java語言 creates 幫助 multipart bject null -a throws 在學習strust2之前,我們要明白使用struts2的目的是什麽?它能給我們帶來什麽樣的好處? 設計目標 Strust設計的第一目標就是使MVC模式應用於we
負載均衡器部署方式和工作原理
硬件負載均衡 f5設備概述負載均衡(Load Balance)由於目前現有網絡的各個核心部分隨著業務量的提高,訪問量和數據流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的服務器設備根本無法承擔。在此情況下,如果扔掉現有設備去做大量的硬件升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提
struts2的核心和工作原理
str struts2的 mar gin lan target get 工作 blank 酥慘淤暮媚姿胤俁炯虜副襯癡鼓http://weibo.com/p/1005056362229181 迂笨性紊攣嘶誌葡餒蛹遠翁忻俸http://weibo.com/p/10050563
Hadoop學習之路(一)理論基礎和邏輯思維
file 工作 puts 範圍 小文件 集合 無效 任務 問題 三個題目 第一題 問題描述 統計出當前這個一行一個IP的文件中,到底哪個IP出現的次數最多 解決思路 //必須要能讀取這個內容 BufferedReader br = n
華為設備OSPF理論基礎和實現實驗(迎接IPv6數通時代的重要協議)
乾頤堂軍哥hcie17.3 IPv6路由基礎-OSPFv3 關於OSPFv3的詳盡描述出現在RFC2740中,OSPFv3是OSPF Version 3的簡稱,OSPFv3是運行於IPv6的OSPF路由協議,OSPFv3在OSPFv2基礎上進行了修改,是一個獨立的路由協議。當然我們可以這樣認為OSPFv3的
Http協議工作特點和工作原理筆記
CP 服務 連接服務器 傳輸協議 nbsp tcp連接 原理 bsp 靈活 工作特點: (1)B/S結構(Browser/Server,瀏覽器/服務器模式) (2)無狀態 (3)簡單快速、可使用超文本傳輸協議、靈活運行傳輸各種類型 工作原理: 客戶端發送請求瀏覽器 -&g
考研筆記-運輸層服務和工作原理
方差 最重要的 col 16bit 不重復 支持 網絡 有效 字節數 5.運輸層服務和工作原理 5.1.1傳輸層提供的服務 從通信和信息處理的角度來看,傳輸層向上面的應用層提供通信服務,屬於面向通信的最高層,同時也是用戶功能的最低層。傳輸 層位於網絡層之上
類加載器體系架構和工作原理
每一個 工作原理 自定義 jar cat 嘗試 定義類 ava 類名 類加載器有三種分別是:啟動類加載器(Bootstrap ClassLoader):是java虛擬機jvm識別,java程序無法直接使用;擴展類加載器(Extension ClassLoader):開發者可
Android 基於Netty的訊息推送方案之概念和工作原理(二)
上一篇文章中我講述了關於訊息推送的方案以及一個基於Netty實現的一個簡單的Hello World,為了更好的理解Hello World中的程式碼,今天我來講解一下關於Netty中一些概念和工作原理的內容,如果你覺得本篇文章有些枯燥,請先去閱讀《Android 基於Netty的訊息推送方案之Hell
曲率濾波的理論基礎和應用
前言 大概是兩個月之前開始學習曲率濾波,從一個完全一無所知的狀態開始學習的,包括微分幾何等相關基礎知識也是未曾學習過的,從初學者的角度學習曲率濾波。現在新加坡南陽理工大學任教的龔元浩老師在其2015年博士論文中的第六章給出了理論基礎和實際的應用,包括去噪平滑等,首先針對性的構造了高斯曲率濾波
lvs工作模式和工作原理
一、lVS基本介紹 LVS是Linux Virtual Server的簡稱,也就是Linux虛擬伺服器。也是國人章文嵩博士發起的一個開源專案,現在LVS已經是Linux核心標準的一部分。利用LVS技術可以實現高效能,高可壓縮的網路服務,例如www服務,FTP服務,MAIL服務等。 二、LVS的體系架構
Nagios基礎和監控原理
1 Nagios簡介 Nagios是一款開源的IT監控軟體套件,被開發在Linux下使用,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網路設定,印表機等。在系統或服務狀態異常時發出郵件或簡訊報警第一時間通知網站運維人員,在狀態恢復後發出正常的郵件或簡訊通知。 Nagi
Nginx的基本功能和工作原理
Nginx的基本功能 反向代理 正向代理 負載均衡 HTTP伺服器(包含動靜分離) 反向代理和正向代理 正向代理: 簡單的說,我是一個使用者,我無法直接訪問一個網站,但是我能訪問一個代理伺服器,這個代理伺服器能訪問那個我不能訪問的網站,於 是我先連上代理伺服器,告訴它我需要那
詳細解析Cookie和Session的作用和工作原理,適合新手學習
一、Cookie詳解 (1)簡介 因為HTTP協議是無狀態的,即伺服器不知道使用者上一次做了什麼,這嚴重阻礙了互動式Web應用程式的實現。在典型的網上購物場景中,使用者瀏覽了幾個頁面,買了一盒餅乾和兩飲料。最後結帳時,由於HTTP的無狀態性,不通過額外的手段,伺服器並不知道使用者到底買了什麼
硬碟的物理結構和工作原理
硬碟的結構可分為外部結構和內部結構。 下面就西數500G的硬碟為例,來講解一下硬碟的結構。 硬碟外部結構 硬碟的外部結構主要包括金屬固定面板、控制電路板和介面三部分。以下實物圖拍攝:(用了美圖秀秀,不僅臉蛋漂亮連硬碟都變的很漂亮,好劉濞啊。) 金屬固定面板 硬碟外部會有一個金
程式設計師練級攻略(2018):前端基礎和底層原理
這個是我訂閱 陳皓老師在極客上的專欄《左耳聽風》,我整理出來是為了自己方便學習,同時也分享給你們一起學習,當然如果有興趣,可以去訂閱,為了避免廣告嫌疑,我這就不多說了!以下第一人稱是指陳皓老師。 對於前端的學習和提高,我的基本思路是這樣的。首先,前端的三個最基本的