carmera学习

这里写自定义目录标题

  • camera简介
    • camera分类
    • 摄像头组成
    • 摄像头原理
    • 摄像头指标
      • 缩略语
      • 图像压缩方式JPEC
      • 图像噪音
      • 白平衡处理结束(AWB)
      • 色彩深度(色彩位数)
      • 图像格式(image Format/ Color space)
      • 分辨率
      • 码流
      • 曝光
      • 摄像头接口
  • MIP、CSI基础
    • camera缩略语
    • 基本概念
    • MIPI协议
    • CSI
    • 物理层 DPHY

camera简介

camera,摄像头已经在生活各个地方应用。

camera分类

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

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

摄像头组成

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

carmera学习_第1张图片

而对于手机上的摄像头,很多厂家往往是设计为一个摄像头模组(CameraCompact Module),简称CCM。CCM 包含四大件: 镜头(lens)、传感器(sensor)、软板(FPC)、图像处理芯片(DSP)
carmera学习_第2张图片

摄像头原理

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

摄像头指标

缩略语

carmera学习_第4张图片

图像压缩方式JPEC

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

图像噪音

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

白平衡处理结束(AWB)

白平衡指不管在任何光源下,都能将白色物体还原为白色。
白平衡是描述显示器或相机中红、绿、蓝三基色混合生成后白色精确度的一项指标。
色温表示光谱成份,光的颜色。色温低表示长波光成分多。当色温改变时,光源中三基色(红、绿、蓝)的比例会发生变化,需要调节三基色的比例来达到彩色的平衡,这就是白平衡调节的实际。
图象传感器的图象数据被读取后,系统将对其进行针对镜头的边缘畸变的运算修正,然后经过坏像处理后被系统送进去进行白平衡处理(在不同的环境光照下,人类的眼睛可以把一些“白”色的物体都看成白色,是因为人眼进行了修正。但是SENSOR没有这种功能,因此需要对SENSOR输出的信号进行一定的修正,这就是白平衡处理技术)。

色彩深度(色彩位数)

反映对色彩的识别能力和成像的色彩表现能力,就是用多少位的二进制数字来记录三种原色。实际就是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亿种。
*

图像格式(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值

carmera学习_第5张图片

  • 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其颜色的一种存放格式如图所示:
carmera学习_第6张图片

分辨率

所谓分辨率就是指画面的解析度,由多少象素构成的数值越大,图像也就越清晰。
分辨率不仅与显示尺寸有关,还会受到显像管点距、视频带宽等因素的影响。
我们通常所看到的分辨率都以乘法形式表现的,比如1024*768,其中的1024表示屏幕上水平方向显示的点数,768表示垂直方向的点数。
carmera学习_第7张图片### 帧率

帧率指的就是1秒钟时间里传输、显示图片的帧数,每一帧就是一个画面,快速连续的多帧就形成了运动的动态效果。
高的帧率可以得到更加流畅,更加逼真的画面。

码流

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

曝光

曝光就是图像的明暗程度 ,照片太暗称为曝光不足 ,照片太亮称为曝光过度。曝光由光圈、曝光时间、ISO三者共同决定。
光圈: 控制进光量。
曝光时间: 光到达的时间长度。
ISO: 增益,或称为感光度。

摄像头接口

摄像头常用接口包括: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分为三个部分:

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

carmera学习_第8张图片
mipi(CSI)

移动产业处理器接口(Mobile Industry Processorinterface,MIPI)
常见的智能手机上的摄像头是MIPI接口,CSI是相机串行接口(CMOS Sensor Interface)的简称。
carmera学习_第9张图片
MIPI总线速率lvds接口耦合,走线必须差分等长,并且需要保护,故对PCB走线以及阻抗控制要求高一点(一般来讲差分阻抗要求在85欧姆~125欧姆之间)MIPI是LVDS低压差分串口,只需要要CLKP/N、DATAP/N——最大支持4-lane,一般2-lane即可。MIPI接口比DVP的接口信号线少,由于是低压差分信号,产生的干扰小,抗干扰能力也强。DVP接口在信号完整性方面受限制,速率也受限制。500W还可以勉强用DVP,800W及以上都采用MIPI接口。所以高清摄像头我们都选用MIPI接口 。

MIP、CSI基础

camera缩略语

缩略语
AE(Auto Exposure):自动曝光。
AF(Auto Focus) :自动对焦。
AWB(Auto White Balance):自动白平衡。
3A :指自动曝光(AE)、自动对焦(AF)和自动白平衡(AWB)算法。
Async Sub Device:在Media Controller结构下注册的V4L2异步子设备,
例:Sensor、MIPI DPHY。
Bayer Raw(或Raw Bayer) :Bayer是相机内部的原始图片,一般后缀为.raw。
.raw格式内部的存储方式有:RGGB、BGGR、GRBG等。
CIF :Rockchip芯片中的VIP模块,接收Sensor数据并保存到内存中,
仅转存数据,无ISP功能。
DVP(Digital Video Port) :一种并行数据传输接口。
Entity :Media Controller架构下的各节点。
Frame :帧。
HSYNC :行同步信号,HSYNC有效时,接收到的信号属于同一行。
IOMMU(Input Output Memory Management Unit):Rockchip芯片中的
IOMMU模块,用于将物理上分散的内存页映射成CIF、ISP可见的连续内存。
IQ(Image Quality) :指为Bayer Raw Camera调试的IQ xml,用于3A tunning。
ISP(Image Signal Processing) :图像信号处理。
Media Controller :Linux内核中的一种媒体框架,用于拓扑结构的管理。
MIPI-DPHY :Rockchip芯片中符合MIPI-DPHY协议的控制器。
MP(Main Path):Rockchip芯片ISP驱动的一个输出节点,一般用来拍照和抓取Raw图。
PCLK(Pixel Clock) :指Sensor输出的Pixel Clock。
Pipeline :Media Controller架构的各Entity之间相互连接形成的链路。
SP(Self Patch) :Rockchip芯片ISP驱动的一个输出节点。
V4L2(Video4Linux2) :指Linux内核的视频处理模块。
VICAP(Video Capture) :视频捕获。
VIP(Video Input Processor):在Rockchip芯片中,曾作为CIF的别名
VSYNC :场同步信号,VSYNC有效时,接收到的信号属于同一帧。

基本概念

  1. MIPI:移动产业处理器接口(Mobile Industry Processorinterface)
    是MIPI联盟发起的为移动应用处理器制定的开放标准。图片MIPI官网

    carmera学习_第10张图片

    https://www.mipi.org
    
  2. CSI
    MIPI-CSI-2协议是MIPI联盟协议的子协议,专门针对摄像头芯片的接口而设计。
    由于其高速,低功耗的特点,MIPI-CSI2协议极大的支持了高清摄像头领域的发展.
    正是由于它的普及,手机上五百万像素的摄像头才得以变为前置摄像头,该类接口技术主要掌握在日本东芝,韩国三星以及美国豪威三家公司。
    carmera学习_第11张图片

MIPI联盟即移动产业处理器接口(MIPI)联盟,由美国德州仪器(TI)、 意法半导体(ST)、 英国ARM和芬兰诺基亚(Nokia)4家公司共同成立, 旨在定义并推广用于移动应用处理器接口的开放标准。

  • CSI协议有两个版本协议,分别为CSI-2和CSI-3;
  • CSI-2协议遵循的物理标准有两个,分别为C-PHY和D-PHY;
  • CSI-3协议的物理标准对应M-PHY,且应用层协议栈还需要连接Uni-Pro层。

D-PHY与C-PHY区别:从实用角度来看,主要是数据线和时钟线的区别,还有传输速率,C-PHY通过某些技术改良,使数据传输速度更快。
carmera学习_第12张图片
瑞芯微3568用的CSI-2 && D-PHY
所以内核中,我们会看到CSI2 和 D-PHY相关代码。

MIPI协议

MIPI并不是一个单一的接口或协议,而是包含了一套协议和标准,以满足各种子系统独特的要求。MIPI的标准异常复杂,包含非常多的应用领域。
carmera学习_第13张图片
由上图可得:

  • 显示设备采用的DSI协议
  • 摄像头采用的CSI协议
  • RF IC采用的DigRF协议
  • 存储设备采用的UFS
  1. DCS(Display Command Set)
    用于显示模块命令模式下的标准化命令集;
  2. DBI, DPI (Display Bus Interface, Display Pixel Interface)
    DBI:与具有显示控制器和帧缓冲器的显示模块的并行接口。DPI:与显示模块的并行接口,不带显示控制器或帧缓冲器。
  3. DSI, CSI (Display Serial Interface, Camera Serial Interface)
    DSI:主机处理器与显示模块之间的高速串行接口;CSI:主机处理器与摄像头模块之间的高速串行接口;
  4. D-PHY
    为DSI(显示屏)和CSI-2(摄像头)提供物理层通路定义。
  5. M-PHY
    为DigRF、CSI-3、UFS、LLI、SSIC、M-PCIE提供物理层通路定义。
    目前比较成熟的接口应用有DSI(显示接口),和CSI(摄像头接口),都具有比较复杂的协议结构,下图表示某一个SOC可以作为一个CSI的接收器,同时也可以作为一个DSI的输出器。
    carmera学习_第14张图片其物理层使用到了D-PHY,目前新的物理层C-PHY也逐渐被采用,我们常说的Camera I2C接口在MIPI中有专门的一个CCI(Camera Control Interface)来对应。

CSI

根据层级,CSI协议分为五层:
carmera学习_第15张图片|

第一列 名称 解释
Application 应用层 处理原始图像数据的各种算法模块
Packing Formats 组包层 负责将数据按照一定的次序,切割成8bite数据
Low Level Protocao 协议层 为新生成的数据加上爆头包尾,形成符合协议要求的数据流
Lane Management 通道管理层 将生成的数据流按照一定次序和要求,进行读写管理,输出数据流
PHY Layer PHY层 生成MIPI最后的信号波形
Pixel 像素数据 经过图像模块处理过的数据流,或者原始的图像数据流
Data 传输数据 经过MIPI模块切割或者加上包头包尾数据
Control 控制信号 模块间的控制数据流
Transmitter 发送端 包括了MIPI数组部分,转接板等实现MIPI信源传输的部分
Receiver 接收端 包括了转接板和商用接收端模块,负责解析收到的MIPI信源

工作顺序:

  • 将原始的图像数据在应用层做相应的图像处理,包括白平衡/噪声去除和色彩还原等;
  • 将处理的数据进入组包层做数据分割以及重组,然后将其传输给底层协议层;
  • 底层协议层会根据数据类型产生包头,根据数据内容产生构成包围的校验序列,再将包头、数据本身和包尾组成起来发送给通道管理层;
  • 通道管理层模块按照通道的选通情况,合理分配数据到每个通道,之后数据经过数模转换进入到物理层传输;
  • 接收端在收到物理层数据后,再按照之前的逆序解包出原始的图像数据。
  1. 应用层(Application Layer)

该层主要用于不同场景对数据的处理过程,对于发送方,多为camera生成数据,对于接收方,多为SOC对数据进行处理。

  1. 协议层(Protocol Layer)

CSI-2协议可以使用SOC上的一个物理接口实现多条数据流的传输。协议层规定了如何对多条数据流进行标记和交织,从而使每条数据流能够正确地重建。
1)像素字节转换层(Pixel/Byte Packing/Unpacking Layer)
CSI-2能够支持多种多样的像素格式,对于发送方,在数据发送之前,需要根据像素格式,将像素数据转换为对应的字节流;对于接收方,在将数据提供给应用层之前,需要将字节流数据转换为像素数据。
2)低级协议层(Low Level Protocol)
LLP指的是SoT与EoT之间的数据包字节流协议,LLP的最小单元为字节。
3)Lane管理器(Lane Management)
为了适应不同场景下对带宽的要求,CSI-2规定了Lane的数量是可拓展的。因此,在面临多Lane同时传输时,发送方需要对字节流进行公平分流(distributor),接收方则需要对多Lane数据进行合并(merger)。

  1. 物理层(PHY Layer)

PHY层指定了传输媒介,在电气层面从串行bit流中捕捉“0”与“1”,同时生成SoT与EoT等信号。CSI的硬件部分包括C-PHY、D-PHY,实际上使用的主要是D-PHY。

物理层 DPHY

D-PHY 描述了一同步、高速、低功耗、低代价的PHY。
D-PHY的最初版本设计目标是500M bits/s,而D是罗马数字的500,故而叫D-PHY。

链接: link.

你可能感兴趣的:(嵌入式,学习,人工智能,计算机视觉)