Image Sensor的窗口裁剪

本文介绍Image Sensor的窗口裁剪,Image Sensor的实际像素通常是大于实际所支持的最大分辨率的,有时为了获得想要的分辨率及位置(比如与镜头装配相匹配),需要设置Image Sensor的像素输出位置及大小,本文以OS08A10为例,介绍其窗口裁剪,其他Image Sensor(如Sony)也类似。

1.窗口裁剪相关参数

如上图为OS08A10的传感器区域,其水平全尺寸为3872,垂直全尺寸为2192,是比其最大支持的分辨率(3840*2160)要稍大的。

1)扫描区域

扫描区域由V_crop_start(VS),H_crop_start(HS),V_crop_end(VE),H_crop_end(HE)这4个参数共同决定,它实际上决定了传感器阵列水平和垂直输出尺寸的大小,也即内部ADC采样像素的区域。

2)输出区域

输出区域是在扫描区域的基础上进行的,也就是说输出大小最大只能是扫描区域,同时,输出区域的位置也可以设定,输出区域由V_win_off,H_win_off,V_output_size,H_output_size这4个参数决定。

至于为什么会设计2个区域,不直接将扫描区域或输出区域作为最终的扫描和输出区域,原因可能是这种设计更灵活一点,可以灵活决定从哪里扫描/输出,并设置其大小。

2.窗口裁剪涉及寄存器

 上图为OS08A10窗口裁剪涉及寄存器,从图中可知其和1中设置的参数基本相一致,这里就不展开详细说明了,注意:

1)X ADDR END - X ADDR START的大小要比实际想要输出的水平分辨率略大,但不能大于Image Sensor的最大水平像素数。

2)Y ADDR END - Y ADDR START的大小要比实际想要输出的垂直分辨率略大,但不能大于Image Sensor的最大垂直像素数。

3)X OUTPUT SIZE,Y OUTPUT SIZE就是我们想要输出的分辨率大小。

4)HTS,VTS为水平,垂直像素时钟数,包含H-blank,V-blank。其大小是需要大于1)中的X ADDR END - X ADDR START,Y ADDR END - Y ADDR START的,设置中需要尤为注意。

5)ISP X WIN,ISP Y WIN为1中的H_win_off,V_win_off,且偏移相对于X ADDR START,Y ADDR START。

6)X ADDR START,Y ADDR START,ISP X WIN,ISP Y WIN,X OUTPUT SIZE,Y OUTPUT SIZE的设置必须是偶数地址,而X ADDR END,Y ADDR END的设置必须是奇数地址,以保证bayer格式的正确性。

总结:本文介绍了Image Sensor的窗口裁剪相关参数及寄存器的设置,对于其他Image Sensor也有一定的参考意义。

猜你喜欢

转载自blog.csdn.net/propor/article/details/131530086