手机成像的基本流程
一:感光元件获取原始数据
CMOS或CCD传感器将光信号转换为电信号,输出的RAW数据通常采用Bayer模式(RGGB或其他排列)
二:图像信号处理(ISP)流水线
ISP通过硬件加速或软件算法逐步处理RAW数据,可以获得更优质的图像数据。主要流程如下:
(1) 黑电平校正(Black Level Correction)
作用:消除Sensor暗电流导致的基底噪声。
方法:减去预设的黑电平值(通过遮挡区域测量得到)。
(2) 镜头阴影校正(Lens Shading Correction)
问题:镜头边缘因入射角差异导致亮度衰减(暗角)和颜色偏移。
解决:应用逐像素的增益补偿矩阵(通常由厂商校准生成)。
(3) 坏点校正(Defective Pixel Correction)
静态坏点:通过预先标定的坏点位置替换邻域像素。
动态坏点:实时检测异常像素(如与周围差异过大)并插值修复。
(4) 降噪(Noise Reduction)
时域降噪:多帧叠加减少随机噪声(需运动补偿)。
空域降噪:基于邻域像素的非线性滤波(如BM3D算法)。
(5) 白平衡(White Balance)
AWB算法:通过统计场景色温(如灰度世界假设)计算R/G/B通道增益。
应用:对RAW数据乘以各通道增益系数,使中性色(如白色)恢复平衡。
(6) 去马赛克(Demosaicing)
Bayer转RGB:通过插值算法(如双线性、自适应VNG)重建每个像素的完整RGB值。
挑战:需避免伪色(Color Artifacts)和锯齿效应,高质量算法会结合边缘导向插值。
(7) 颜色校正(Color Correction Matrix, CCM)
色彩空间映射:通过3x3矩阵校正Sensor颜色响应与标准色彩空间(如sRGB)的差异。
公式:
[𝑅𝑜𝑢𝑡𝐺𝑜𝑢𝑡𝐵𝑜𝑢𝑡]=[𝑐11𝑐12𝑐13𝑐21𝑐22𝑐23𝑐31𝑐32𝑐33][𝑅𝑖𝑛𝐺𝑖𝑛𝐵𝑖𝑛]RoutGoutBout=c11c21c31c12c22c32c13c23c33RinGinBin
(8) 伽马校正(Gamma Correction)
目的:将线性光信号转换为符合人眼感知的非线性输出(如sRGB的γ≈2.2)。
公式:
𝑉𝑜𝑢𝑡=𝑉𝑖𝑛1𝛾Vout=Vinγ1
(9) 色调映射(Tone Mapping)
HDR处理:当场景动态范围高于输出时,压缩高光/提亮阴影(如局部色调曲线)。
(10) 锐化(Sharpening)
边缘增强:通过高通滤波或反卷积算法恢复因去马赛克损失的细节(需避免过冲伪影)。
3. RGB转YUV转换
色彩空间转换:YUV更适合视频编码和显示,转换公式如下(以BT.601标准为例):
{𝑌=0.299𝑅+0.587𝐺+0.114𝐵𝑈=−0.169𝑅−0.331𝐺+0.5𝐵+128𝑉=0.5𝑅−0.419𝐺−0.081𝐵+128⎩⎨⎧Y=0.299R+0.587G+0.114BU=−0.169R−0.331G+0.5B+128V=0.5R−0.419G−0.081B+128
色度下采样:通常转换为YUV420格式,UV分量分辨率减半(节省带宽)。
三:RGB转YUV
YUV格式拥有更高效的压缩,约节约50%,可以直接进行视频编码处理,感光元器件支持直接输出 YUV,提升效率等优点。
色彩空间转换(以BT.601标准为例):
四:压缩
使用量化表压缩高频信息(牺牲部分质量),可以实现20%或者更低的存储空间占用
五:添加文件信息并保存为JPEG格式文件
添加文件头(SOI/EOI)、
元数据(Exif)、
1. 基础信息
2. 拍摄参数
3. 图像属性
4. GPS地理位置
5. 版权与描述
色彩配置(如sRGB)