本文介绍Image Sensor的窗口裁剪,Image Sensor的实际像素通常是大于实际所支持的最大分辨率的,有时为了获得想要的分辨率及位置(比如与镜头装配相匹配),需要设置Image Sensor的像素输出位置及大小,本文以OS08A10为例,介绍其窗口裁剪,其他Image Sensor(如Sony)也类似。
1.窗口裁剪相关参数
如上图为OS08A10的传感器区域,其水平全尺寸为3872,垂直全尺寸为2192,是比其最大支持的分辨率(3840*2160)要稍大的。
1)扫描区域
扫描区域由V_crop_start,H_crop_start,V_crop_end,H_crop_end这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就是我们想要输出的分辨率大小,也即时序设置中所说的H-Active,V-Active。
4)HTS,VTS为水平,垂直像素时钟数,包含H-blank,V-blank。其大小是需要大于3)中的X OUTPUT SIZE,Y OUTPUT SIZE的,设置中需要尤为注意。
5)ISP X WIN,ISP Y WIN为1中的H_win_off,V_win_off,且偏移相对于X ADDR START,Y ADDR START。
总结:本文介绍了Image Sensor的窗口裁剪相关参数及寄存器的设置,对于其他Image Sensor也有一定的参考意义。