分享

Camera ISP

 liluvu 2015-11-19
MIPI  CSI

Camera工作组现在的主要标准是CSI2.相对于普通的并行的摄像头接口CCIR601、656有很大的区别.

MX27提供了一个非常专业的摄像头CSI接口,可以配置相关的口进行接口匹配。
  我们的摄像头是ov9660,输出设定为YUV模式,因此,CSI获取的数据也是YUV格式的数据,因此还需要通过软件,将YUV的格式转化为
  RGB565、RGB656、RGB888格式放到LCDC对应的Memory进行显示输出。

  转化公式如下:
  From RGB to YUV
  Y = 0.299R + 0.587G + 0.114B
  U = 0.492 (B-Y)
  V = 0.877 (R-Y)
  It can also be represented as:
  Y =  0.299R + 0.587G + 0.114B
  U = -0.147R - 0.289G + 0.436B
  V =  0.615R - 0.515G - 0.100B
  From YUV to RGB
  R = Y + 1.140V
  G = Y - 0.395U - 0.581V
  B = Y + 2.032U

我的额外话题:

当前摄像头的参数我们基本上主要看:

1.摄像头像素是多少万的? 我这边罗列了一部分

2560*1960 =4915200,也就是通常说的500W

1600*1200 =1920000,也就是200W

1280*960 =1228800,也就是130W像素

640*480=307200,也就是30W

该像素可以放映到你的抓图上面的大小,该像素就是说明你的CMOS或者是CCD感光元件的像素点多少,可以想象在相同的面积上,数量越多,感光元件肯定要越小,感光元件小,那么图像的质量其实会变差,这个当然可以理解,但是从大的方面来说,只要镜头好,光源充足,那么效果也会变好,这样画面就比像素低的更加的细腻,所以高像素的好处就在这里。有种专业上的说法,是你的摄像头达到几线几线的?

2.帧率?也就是看你的最大分辨率的时候能够达到的最大帧率是多少?

像OV系列来说,一般最大的分辨率下的帧率是30帧左右,也可以调频率进行提高。我们人的眼睛一般情况下,只要图像能够达到每秒30帧,那么利用眼睛的视觉残留,基本上可以感觉到图像是连续的,人眼的视觉残留时间超过30ms。

我调试摄像头的时候,可以发现有个非常严重的现象就是,加开夜光模式的时候,帧率掉的非常严重,这个估计就是DSP后期处理的时候,处理不了每秒30帧,只能往下降了,黑白的话效果好一些。

3. 镜头也是非常关键的,这个就要看不同的厂家,不同的显示效果

题外篇

我们买到的数码相机,现在都是1300W以上的,但是并不是说我们的摄像模式下可以达到这个分辨率,不信的话你可以去试试看,因为摄像要求比较高,需要达到每秒30帧以上,这个对DSP处理的负荷很重(RGB--颜色空间转换----H264编码/JPG编码),有人说我们为什么不利用数码相机的连续抓拍功能,这样既能保证分辨率又可以摄像,其实原理是一样的,抓拍也不可能高像素下达到每秒30帧。

还有,我们有一些非常高的像素是如何达到的呢?

其实现在的做法都是靠拼装,也就是说两块CCD感光模块分别进行摄像,然后在末端进行同步,这样就能提高像素,而且DSP的负荷不用太过进行提升,但是这样的拼装方法有一个缺陷就是,如果模块太多,那么在末端进行同步就很难把握了,所以现在一般都是2个CCD或者3个CCD,再多就不行了。




RAW RGB格式

10bit Raw RGB, 就是说用10bit去表示一个R, G, 或者B, 通常的都是用8bit的. 所以你后面处理时要把它转换为8bit的, 比较简单的方法就是将低两位去掉, 因为低两位的信号代表范围很小(0~3), 所以可以忽略不计的. 当然, 你也可以根据转换表去转换, 那比较复杂. RAW RGB 是未经过ISP处理而直接输出的图像格式,以 BGBGBGBGBGBGBGBG GRGRGRGRGRGRGRGR 阵列的形式排列的,每个像素点只输出一种颜色,你看图片吧,这个RAW DATA的,在PhotoShop里把图片放到最大就可以看出来了。 不一定是以 BGBGBGBGBGBGBGBG GRGRGRGRGRGRGRGR 输出,也有是RGB565输出的,上面的只是Bayer RGB 事實上,不同廠家的sensor,其RAWdata RGB排列是不同的, 一般常見的是上圖第一種, Sony/Fuji 經常使用第二種排列方式, 使用第三種的是Foveon sensor 本文来自:我爱研发网(52RD.com) - R&D大本营详细出处:http://www./bbs/Dispbbs.asp?BoardID=86&ID=123293

/////////////////////////////////////////////////////////////////

摄像头的数据输出格式一般分为CCIR601、CCIR656、RAW RGB等格式,此处说的RGB格式应该就是CCIR601或CCIR656格式。而RAW RGB格式与一般的RGB格式是有区别的。

我们知道,Sensor的感光原理是通过一个一个的感光点对光进行采样和量化,但,在Sensor中,每一个感光点只能感光RGB中的一种颜色。所以,通常所说的30万像素或130万像素等,指的是有30万或130万个感光点。每一个感光点只能感光一种颜色。

但是,要还原一个真正图像,需要每一个点都有RGB三种颜色,所以,对于CCIR601或656的格式,在Sensor模组的内部会有一个ISP模块,会将Sensor采集到的数据进行插值和特效处理,例如:如果一个感光点感应的颜色是R,那么,ISP模块就会根据这个感光点周围的G、B感光点的数值来计算出此点的G、B值,那么,这一点的RGB值就被还原了,然后在编码成601或656的格式传送给Host。

而RAW RGB格式的Sensor则是将没个感光点感应到的RGB数值直接传送给Host,由Host来进行插值和特效处理。

如果一个感光点感应的颜色是R,那么,ISP模块就会根据这个感光点周围的G、B感光点的数值来计算出此点的G、B值"
[/COLOR]是不是应该描述为:如果一个感光点感应的颜色是R,那么,ISP模块就会根据这个感光点周围的G、B感光点的数值来计算出此点的.

Raw RGB 每个像素只有一种颜色(R、G、B中的一种);
RGB 每个像素都有三种颜色,每一个的值在0~255之间;

在手机摄像头的测试过程中,由sensor输出的数据就是Raw data(Raw RGB),经过彩色插值就变成RGB

Raw RGB 每个像素只有一种颜色(R、G、B中的一种);
RGB 每个像素都有三种颜色,每一个的值在0~255之间;

在手机摄像头的测试过程中,由sensor输出的数据就是Raw data(Raw RGB),经过彩色插值就变成RGB;



ISP Architecture & Data Flow


 ISP Key Features





Camera HW Block Diagram
  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多