1、基本概念
1)幀
簡單來說,一幀就是一副圖像。顯示器上面我們看到的畫面就是一幀一幀的顯示的。只不過顯示的速度足夠快,人眼以為畫面是運動的。
2)幀率
是以幀為單位,sensor單位時間內(nèi)曝光并輸出圖像的頻率,通常使用fps(frame per second)來表示,比如幀率是30fps,則代表1秒內(nèi)輸出30幀圖像。
3)有效像素數(shù)
如上是 imx335 datasheet 中的說明,有效像素是2616x1964,就是指所有可以用的像素,實際我們一般是使用推薦的像素2592x1944,當(dāng)后續(xù)需要裁剪/偏移之類的操作,可以留有余量。
4)pclk
是控制像素輸出的時鐘,即pixel采樣時鐘,一個clk采集一個像素點 , 單位MHz。表示是每個單位時間內(nèi)(每秒)采樣的pixel數(shù)量。
5)H_Blank/V_Blank
H_Blank:是指行消隱或稱水平消隱,如下幀結(jié)構(gòu)示意圖所示,假定曝光起始位置在圖像的左上角,對于逐行曝光的 sensor 來說,曝光從第一個像素開始,依次曝光直至這行的最后一個像素曝光結(jié)束,
這時曝光位置要從此行的尾部快速移動到下一行的頭部,開始下一行的曝光,這段行與行之間的返回過程稱為H_Blank。
V_Blank:是指場消隱或稱垂直消隱,如下幀結(jié)構(gòu)示意圖所示,假定曝光起始位置在圖像的左上角,曝光完成一幀圖像后,曝光位置要從圖像的右下角返回左上角,開始新一幀的曝光,這一段時間間隔稱為V_Blank。
7)dummy_line
虛擬行,是用來填充V_Blank的行,一般最大曝光行數(shù)是要大于有效像素的長的,就是因為加了dummy_line的原因,這個后面會繼續(xù)說明。
8)frame_offset
是指最小的dummy_line,這里要注意:最大曝光行 = VTS - frame_offset,而最小曝光行則不是frame_offset , datasheet 中會定義一個最小曝光行,這是兩個概念。
9)line_length
一行的長度,它包含H_Blank,通常說的 HTS 就是行長,
line_length =
width_number_of_effective_cloumns+H_Blank
11)frame_length
一幀的行數(shù),也就是幀長,它包含V_Blank,通常說的 VTS 就是幀長,
frame_length =
height_number_of_effective_rows + V_Blank
10)line_time
曝光一行的時間。
12)exposure_time
曝光時間,指一幀曝光了多長時間,這里是絕對時間。單位用秒(s)、毫秒(ms)或微秒(us)表示。
13)integration_time
積分時間,單位為行(H),通常也稱為曝光行。 對于逐行曝光的sensor來說,積分時間是指這一幀曝光了多少行,這是一個相對時間。
2、與 Sensor 曝光相關(guān)的計算
1)曝光一行的時間計算(line_time)
line_time = line_length/pclk
--- 單位通常是:us(微秒)
--- 也就是曝光一行所用的時間,等于一行的長度除以1秒時間內(nèi)采樣的像素數(shù),可以理解成:路程/速度=時間。
2)曝光時間計算(exposure_time)
exposure_time = integration_time * line_time
--- 積分時間是指曝光一幀所用的行數(shù),那這一幀的絕對曝光時間就等于,曝光所用行數(shù)乘以曝光一行所用的時間。
3)幀率計算(fps)
line_length = pclk * line_time;
fps=pclk/(VTS?HTS) = pclk/(frame_length?line_length)
以上兩式代入得:fps = 1/(frame_length ? line_time)
如上式可以理解成,幀率等于1秒內(nèi)能曝光多少幀,比如 sensor 出30fps,那按上式來看,每幀的曝光時間就是1/30=33ms。
--- 注1:fps即表示1秒內(nèi)幀數(shù),此公式中l(wèi)ine_time單位是秒。
--- 注2:調(diào)節(jié)幀率一般都會通過調(diào)整VTS來完成(也就是調(diào)整V_Blank,如增加了幀與幀間隔的時長,自然每秒內(nèi)能處理的幀數(shù)就少了),
改HTS和VTS是一樣的,但可能有些sensor對行長有8倍,16倍的要求,需要找原廠確認(rèn),要注意sensor 廠家不同對 sensor 的設(shè)計要求有所區(qū)別,具體要咨詢相應(yīng)廠家的fae ;
4)幀長(frame_length)VTS = frame_length =height_number_of_effective_rows + dummy_line ( V_Blank )
VTS ≥ height_number_of_effective_rows + frame_offset
min_integration_time ≤ integration_time ≤ VTS - frame_offset
5)sony對于同一個概念有不同的描述,但本質(zhì)一樣,這里以IMX307為例:
通常在 sony sensor 的 datasheet中都可以查找到effective number of pixels,VMAX 與 VTS是一個概念,HMAX 與 HTS 是一個概念。
integration_time = VTS - SHR0
SHR0本意是表示Shutter釋放的時機,SHR0的值越大,說明Shutter釋放得越晚,integration_time越小,
IMX307 是通過控制SHR0來間接控制曝光行的,其他廠家的sensor 是有直接控制曝光行(integration_time)的寄存器。
如下圖所示,integration_time = VTS (frame1+v_blk) - SHR0(β) ;
有SHR0=α是因為這是首幀,存在收斂誤差可能,后面都是一樣了。
審核編輯:郭婷
-
顯示器
+關(guān)注
關(guān)注
21文章
4933瀏覽量
139752 -
像素
+關(guān)注
關(guān)注
1文章
203瀏覽量
18550
原文標(biāo)題:CMOS Sensor 的一些基本概念,及曝光相關(guān)的計算
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論