camera模块 热度 3
几种数据格式介绍:
YUV: luma (Y) + chroma (UV) 格式, 有YUV444,YUV422,YUV420几种format,一般情况下sensor输出都是YUV422格式,即数据格式是按Y-U-Y-V次序输出 的。一般SOC sensor 输出小size都是按照YUV格式输出,大尺寸按照JPEG输出
RGB: 传统的红绿蓝格式,比如RGB565,其16-bit数据格式为5-bit R + 6-bit G + 5-bit B。G多一位,原因是人眼对绿色比较敏感。以前的SPI接口的sensor会按照此格式输出JPEG: 有些sensor,特别是低分辨率的,其自带JPEG engine,可以直接输出压缩后的jpg格式的数据。
我们常说某个平台支持支持2M以下的YUV sensor,3M以上的JPEG sensor。意思就是说如果sensor输出YUV数据的话,那么只能支持到输出为200W大小,如果sensor输出JPEG数据的话,可以支持到 500W的输出。因为YUV422一个像素占2B,如果像素太高在高时钟下基带芯片处理不过来,JPEG数据量就要小的多.
例如下code,在130W以下都按照YUV格式输出,200W以上都是JPEG格式输出
LOCAL SENSOR_REG_TAB_INFO_T s_****_resolution_Tab_YUV[] = { {ADDR_AND_LEN_OF_ARRAY(****_common_init), 0, 0, 24, SENSOR_IMAGE_FORMAT_YUV422}, {ADDR_AND_LEN_OF_ARRAY(****_640X480_new), 640, 480, 24,SENSOR_IMAGE_FORMAT_YUV422}, {ADDR_AND_LEN_OF_ARRAY(****_1280X960), 1280, 960, 24, SENSOR_IMAGE_FORMAT_YUV422}, {ADDR_AND_LEN_OF_ARRAY(****_1600X1200), 1600, 1200, 24,SENSOR_IMAGE_FORMAT_JPEG}, {ADDR_AND_LEN_OF_ARRAY(****_2048X1536), 2048, 1536, 24,SENSOR_IMAGE_FORMAT_JPEG}, {ADDR_AND_LEN_OF_ARRAY(****_2592X1944), 2592, 1944, 24,SENSOR_IMAGE_FORMAT_JPEG}, };