Camera | 1.Camera基础知识

Posted 一口Linux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Camera | 1.Camera基础知识相关的知识,希望对你有一定的参考价值。

一口君最近在玩瑞芯微的板子,之前写了几篇基于瑞芯微的文章,大家可以学习一下。

瑞芯微rk356x板子快速上手

《Linux驱动|rtc-hym8563移植笔记》

《Linux驱动 | Linux内核 RTC时间架构》

《瑞芯微 | 摄像头ov13850移植笔记》

《rk3568 | 瑞芯微平台GPIO引脚驱动编写》

《rk3568 | rk平台GPIO冲突检测小技巧》

最近移植了2款ov系列摄像头,顺便把v4l2架构捋了一下,

计划更新几篇基于瑞芯微平台的Camera相关文章,

Camera相关知识点较多,个人精力有限,

有对这块精通,感兴趣的老铁,

可以加我好友:yikoupeng,共同学习讨论。

先开始第一篇。

1. Camera简介

摄像头,大家已经非常熟悉了,遍布在生活的方方面面。

尤其这上段时间炒的非常火的南京医生上门打小孩老人事件,

由于有视频有真相,鲁医生直接被陷入万劫不复的境地。

其中的是非对错本文不讨论了,法律和道德自有评判。

但这说明了,摄像头对我们的日常生活影响实在太大了。

2. 摄像头分类

根据不同参数,摄像头有多种分类方式:

  1. 传输信号
    模拟摄像机和数字摄像机
  2. 画面分辨率
    标清摄像机、高清摄像机
  3. 摄像机外形
    球形摄像机、半球形摄像机、枪式摄像机
  4. 安装环境
    室内摄像机、室外摄像机
  5. 传感器
    CCD摄像机、CMOS摄像机

监控常用的摄像头外观:

3. 摄像头组成

一个常见的监控用的摄像头包括:外壳、感光芯片电路、镜头座、镜头、红外灯板。

而对于手机上的摄像头,很多厂家往往是设计为一个摄像头模组(CameraCompact Module),简称CCM。

CCM 包含四大件: 镜头(lens)、传感器(sensor)、软板(FPC)、图像处理芯片(DSP)。

决定一个摄像头好坏的重要部件是:镜头(lens)、图像处理芯片 (DSP)、传感器(sensor)。

4. 摄像头原理

  1. 景物(SCE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上
  2. 然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号
  3. 再送到数字信号处理芯片(DSP)中加工处理,转换成标准的RGB、YUV等格式图像信号
  4. 再通过I/O接口传输到CPU中处理,通过display就可以看到图像了

5. 摄像头相关技术指标

5.0 常见缩略语

名称含义
3A算法AEC, AWB, AF算法
AECAuto Exposure Control, 自动曝光控制
AWBAuto White Balance, 自动白平衡
AFAuto Focus, 自动对焦
TETime Exposure, 曝光时间
FBCFrame Buffer Compressed, 帧缓冲压缩
IQImage Quality, 图像质量

5.1. 图像压缩方式JPEG

(joint photographic expert group)静态图像压缩方式。一种有损图像的压缩方式。压缩比越大,图像质量也就越差。
当图像精度要求不高存储空间有限时,可以选择这种格式。目前大部分数码相机都使用JPEG格式。

5.2. 图像噪音

指的是图像中的杂点干扰,表现为图像中有固定的彩色杂点。

5.3. 白平衡处理技术(AWB)

白平衡指不管在任何光源下,都能将白色物体还原为白色。

白平衡是描述显示器或相机中红、绿、蓝三基色混合生成后白色精确度的一项指标。

色温表示光谱成份,光的颜色。色温低表示长波光成分多。当色温改变时,光源中三基色(红、绿、蓝)的比例会发生变化,需要调节三基色的比例来达到彩色的平衡,这就是白平衡调节的实际。

图象传感器的图象数据被读取后,系统将对其进行针对镜头的边缘畸变的运算修正,然后经过坏像处理后被系统送进去进行白平衡处理(在不同的环境光照下,人类的眼睛可以把一些“白”色的物体都看成白色,是因为人眼进行了修正。但是SENSOR没有这种功能,因此需要对SENSOR输出的信号进行一定的修正,这就是白平衡处理技术)。

5.4. 彩色深度(色彩位数)

反映对色彩的识别能力和成像的色彩表现能力,就是用多少位的二进制数字来记录三种原色。实际就是A/D转换器的量化精度,是指将信号分成多少个等级,常用色彩位数(bit)表示。彩色深度越高,获得的影像色彩就越艳丽动人。

非专业的SENSOR一般是24位;专业型SENSOR至少是36位。24位的SENSOR,感光单元能记录的光亮度值最多有2^8=256级,每一种原色用一个8位的二进制数字来记录,最多记录的色彩是256×256×256约16,77万种。

36位的SENSOR,感光单元能记录的光亮度值最多有2^12=4096级,每一种原色用一个12位的二进制数字来记录,最多记录的色彩是4096×4096×4096约68.7亿种。

5.5. 图像格式(image Format/ Color space)

像素格式,比如: RGB24,RGB565,RGB444,YUV4:2:2等。
RGB24,I420是目前最常用的两种图像格式。

  1. RGB24
    表示R、G、B ,3种基色都用8个二进制位表示,那么红色、绿色、蓝色各有256种,那么由这三种基色构成的颜色就是256X256X256=16,777,216种,约等于1677万。

这就是计算机表示颜色的原理,同样也是手机屏幕和显示器屏幕等显示颜色的原理。

  • 颜色对应RGB值
  1. YUV
    YUV 和我们熟知的 RGB 类似,是一种颜色编码格式。
    YUV 包含三个分量,其中 Y 表示明亮度(Luminance 或 Luma),也就是灰度值。
    而 U 和 V 则表示色度(Chrominance 或 Chroma),作用是描述图像色彩及饱和度,用于指定像素的颜色。
    没有 UV 分量信息,一样可以显示完整的图像,只不过是黑白的灰度图像。
    YUV的采样方式
  • 4:4:4表示完全取样(每一个Y对应一组UV分量)
  • 4:2:2表示2:1的水平取样,垂直完全采样(每两个Y共用一组UV分量)
  • 4:2:0表示2:1的水平取样,垂直2:1采样(每四个Y共用一组UV分量)
  • 4:1:1表示4:1的水平取样,垂直完全采样(每四个Y共用一组UV分量)

存储方式举例:

YUV 4:2:0其颜色的一种存放格式如图所示:

5.6. 分辨率(Resolution)

所谓分辨率就是指画面的解析度,由多少象素构成的数值越大,图像也就越清晰。

分辨率不仅与显示尺寸有关,还会受到显像管点距、视频带宽等因素的影响。

我们通常所看到的分辨率都以乘法形式表现的,比如1024*768,其中的1024表示屏幕上水平方向显示的点数,768表示垂直方向的点数。

解析度分辨率 乘法像素值像素值简称
QSIF/QQVGA160 x 12019200
QCIF176 x 14425344
SIF/QVGA320 x 24076800
CIF352 x 28810137610万像素
VGA640 x 48030720030万像素(35万是指648X488)
SVGA800 x 600480000
XGA1024 x 76878643880万像素
SXGA1280 x 10241310720130万像素
UXGA1600 x 12001920000200万像素
QXGA2048 x 15363145728300万像素(320W)
QSXGA2592 x 19445038848500万像素
2816 x 21122947392600万像素
3072 x 23047077888700万像素
3200 x 24007680000770万像素
3264 x 24487990272800万像素
3876 x 2584100155841000万像素

5.7. 帧率

帧率指的就是1秒钟时间里传输、显示图片的帧数,每一帧就是一个画面,快速连续的多帧就形成了运动的动态效果。

高的帧率可以得到更加流畅,更加逼真的画面。

5.8. 码流

码流就是指视频数据在单位时间内的数量大小,也叫码率,是视频编码画面质量控制中最重要的部分,同样的分辨率和帧率下,视频码流越大,画面质量越高,对应的存储容量也就越大。

5.9. 曝光

曝光就是图像的明暗程度 ,照片太暗称为曝光不足 ,照片太亮称为曝光过度。曝光由光圈、曝光时间、ISO三者共同决定。

  • 光圈:
    控制进光量。
  • 曝光时间:
    光到达的时间长度。
  • ISO:
    增益,或称为感光度。

6. 摄像头接口

摄像头常用接口包括:USB、DVP、MIPI

USB

我们常用的电脑摄像头接口是USB接口,这种摄像头比较常见,需要支持UVC(USB Video Class)协议。

DVP

还有一部分的摄像头(比如说某些支持DVP接口的硬件)是DVP(Digital Video Port)摄像头数据并口传输协议,

DVP是并口,提供8-bit或10-bit并行传输数据线、HSYNC(Horizontal sync)行同步线、VSYNC(Vertical sync)帧同步线和PCLK(Pixel Clock)时钟同步线。

DVP总线PCLK极限约在96M左右,而且走线长度不能过长,所有DVP最大速率最好控制在72M以下,PCB layout较容易画

以OV3640摄像头为例:
DVP分为三个部分:

  • 输出总线
  • 输入总线
  • 电源总线

mipi(CSI)

移动产业处理器接口(Mobile Industry Processorinterface,MIPI)

常见的智能手机上的摄像头是MIPI接口,

CSI是相机串行接口(CMOS Sensor Interface)的简称。

MIPI总线速率lvds接口耦合,走线必须差分等长,并且需要保护,故对PCB走线以及阻抗控制要求高一点(一般来讲差分阻抗要求在85欧姆~125欧姆之间)

MIPI是LVDS低压差分串口,只需要要CLKP/N、DATAP/N——最大支持4-lane,一般2-lane即可。

MIPI接口比DVP的接口信号线少,由于是低压差分信号,产生的干扰小,抗干扰能力也强。

DVP接口在信号完整性方面受限制,速率也受限制。

500W还可以勉强用DVP,800W及以上都采用MIPI接口。

所以高清摄像头我们都选用MIPI接口 。

7. 手机摄像头模组出货量排行榜

最后看一下摄像头模组今年7月出货量排行榜:

8. 监控公司

摄像头最主要的应用市场就是安防监控,

目前国内监控市场前10的公司如下:

随着美丽国的制裁,像海康这样大厂市场营收几乎腰斩。

衷心祝愿咱们的高端芯片产业链早日完善,成熟,

百花发时我不发,我若发时都吓杀!

誓与老美战一场,芯片倾销美欧亚。

以上是关于Camera | 1.Camera基础知识的主要内容,如果未能解决你的问题,请参考以下文章

【Camera专题】Qcom-你应该掌握的Camera调试技巧2

Camera1 源码解析系列—— Camera1 Open() 流程解析

Camera1 源码解析系列—— Camera1 startPreview() 流程解析

Camera1 源码解析系列—— Camera1 startPreview() 流程解析

Camera1 源码解析系列—— Camera1 Open() 流程解析

Camera的成像原理