目录
一张照片是如何生成的?
相机的成像原理
相机硬件
颜色四要素
相机硬件三大块
模组结构
镜头
镜头光路
镜头常见参数
镜头-FOV&EFL
镜头-焦距
镜头-光圈
图像传感器
图像传感器-像素-底
RGB排布
图像传感器-Pattern & PDAF
Sensor
CMOS sensor
CMOS内部节点
CMOS sensor Microlens
人眼响应曲线
Color Filter Spectral Response
RGB Response
IR滤光片
Sensor曝光-Global Shutter
Sensor曝光-Rolling Shutter
Flicker&banding
Sensor时序
PDAF
Sensor Remosaic
硬件系统-SoC
软件/算法/tuning系统-总体流程
相机数据流
软件系统-3A算法
ISP算法
ISP算法-DPC(Dead point correction)
ISP算法-BLC(black level correction)
ISP算法-Denoise
ISP算法-LSC(lens shading correction)
ISP算法-Demosaic
3A算法-AF
3A算法-CDAF(contrast detection AF)
3A算法-PDAF(phase detection AF)
3A算法-Laser AF
3A算法-AE
3A算法-AWB
IFE
BPS
IPE
BPC and PDPC
ABF
GTM
LTM
HNR
ANR
Temporal Filter
Color temperature
Color gamut
2D-LUT
ASF
软件系统-图像后处理算法
Android camera系统软件栈
camera软件流程几条主线
整个拍照流程
色彩空间
色彩空间与编码格式
色彩格式与空间-Raw
色彩格式与空间-RGB
色彩格式与空间-YUV
一张照片是如何生成的?
可以思考一下这个问题,平时我们用手机拍摄一张照片,那么这个照片是怎么样生成的呢?
相机的成像原理

相机硬件

颜色四要素
- 光源
- 物体
- 眼睛
- 大脑
颜色是光作用于人眼之后在人脑中形成的一种视觉感觉。
相机硬件三大块

模组结构

镜头


镜头光路

镜头常见参数
FOV:Field of View
EFL:有效焦距,透镜系统中心到焦点之间距离
等效焦距:
等效135相机(36mmx24mm)的焦距。
EFL * 43.2666 / sensor有效区域对角线长度


镜头-FOV&EFL

镜头-焦距

镜头-光圈

图像传感器

图像传感器-像素-底

RGB排布
图像传感器-Pattern & PDAF

Sensor

CMOS sensor

CMOS内部节点

CMOS sensor Microlens

人眼响应曲线

Color Filter Spectral Response

RGB Response

IR滤光片

Sensor曝光-Global Shutter

Sensor曝光-Rolling Shutter

Flicker&banding



Sensor时序

PDAF



相对位置关系如下所示:



Sensor Remosaic

硬件系统-SoC

软件/算法/tuning系统-总体流程

相机数据流

软件系统-3A算法

ISP算法


ISP算法-DPC(Dead point correction)

ISP算法-BLC(black level correction)

ISP算法-Denoise

ISP算法-LSC(lens shading correction)

ISP算法-Demosaic

3A算法-AF

3A算法-CDAF(contrast detection AF)

3A算法-PDAF(phase detection AF)

3A算法-Laser AF

3A算法-AE

3A算法-AWB

IFE

BPS

IPE

BPC and PDPC

ABF

GTM

LTM

HNR


ANR

Temporal Filter

Color temperature

Color gamut

2D-LUT

ASF

软件系统-图像后处理算法


Android camera系统软件栈


- Application层,也就是应用层,不仅包括通话短信联系人这种系统级的应用,还包括用户自己安装的一些第三方应用
- Framework层,这一层大部分用Java写的,包括系统服务和四大组件
- Library层,这一层大部分都是C/C++写的,主要是虚拟机,还有一些三方库比如SQLite, WebKit
- HAL层,硬件抽象层
- Linux内核层,包含Linux内核和一些驱动,比如说蓝牙驱动,Camera驱动等等,这个Binder驱动也是在这一层
官方链接如下所示:
https://developer.android.com/guide/platform

- Camera App进程,应用层处于整个框架的顶端,承担着于用户直接进行交互的责
- Camera Service进程,接收来自App的图像请求,调用HIDL跨进程接口将请求再次下发到Provider中,并且等待结果的回传,进而将结果上传至App中
- Camera Provider进程,接受Camera Service的请求,通过平台通过的HAL代码处理请求,并返回给Camera Service
- CamX-CHI(Camera HAL),该部分是高通对谷歌Camera HAL3接口的实现,以so库的形式被加载至Camera Provider中进行函数调用
- Camera Driver,高通对相机驱动部分进行了实现,利用了V4L2框架的可扩展特性,设计出了一套独特的KMD框架
camera软件流程几条主线

整个拍照流程

色彩空间
色彩空间与编码格式


色彩格式与空间-Raw

色彩格式与空间-RGB

色彩格式与空间-YUV








![[GXYCTF2019]BabySQli 1](https://img-blog.csdnimg.cn/d3182910ce494a248e79e57270df61df.png)




![[AFCTF 2018]你能看出这是什么加密么](https://img-blog.csdnimg.cn/841692dd85bb4e3680b4e2e41b2072a4.png)






