第一章:ISP基础与高通平台概览
各位同学,大家好。我是你们这趟ISP之旅的向导。做了十几年图像处理,从最早的功能机到现在的计算摄影,我踩过的坑比你们走过的路还多。今天咱们先不急着写代码,把地基打牢了,后面才能盖高楼。
这一章,我们聊聊ISP的根——图像传感器、整个处理流程、高通平台怎么玩,以及那个神秘的3A算法到底是个啥。
1.1 图像传感器基础:光是怎么变成电的?
说白了,相机就是个“光的翻译官”。它把现实世界的光信号,翻译成机器能懂的电子信号。这个翻译官的核心,就是图像传感器。
目前主流就两种:CCD和CMOS。CCD像个老派的传送带,电荷一个接一个传出去,画质干净但慢。CMOS像个并行处理的工厂,每个像素旁边都有个放大器,速度快、功耗低。现在手机、相机里99%都是CMOS,高通平台更是只用CMOS。
关键指标你得记住:
| 指标 | 说明 | 我的经验 |
|---|---|---|
| 像素尺寸 | 单个像素的物理大小(μm) | 越大进光量越多,夜景越好。别迷信高像素,底大一级压死人。 |
| 帧率 | 每秒能拍多少张(fps) | 高通平台一般支持30fps到240fps,但帧率越高,曝光时间越短,画面越暗。 |
| 动态范围 | 能同时看清亮部和暗部的能力(dB) | 这个指标决定了你拍逆光时,人脸是黑的还是亮的。 |
| 量子效率 | 光子转换成电子的效率(%) | 效率越高,暗光下噪点越少。 |
1.2 ISP Pipeline:一张照片的诞生记
传感器把光变成了原始数据(RAW图),但这数据没法直接用。RAW图是灰蒙蒙的,颜色也不对。ISP Pipeline就是一条流水线,把RAW图一步步加工成我们看到的漂亮照片。
我个人习惯把Pipeline分成三大段:前端、中端、后端。
- 前端(Sensor & ISP Front-End): 处理传感器过来的原始信号。包括黑电平校正(BLC)、去噪、坏点校正。这步做不好,后面神仙难救。
- 中端(ISP Core): 核心处理模块。包括去马赛克(Demosaic)、白平衡(AWB)、颜色校正(CCM)、伽马校正(Gamma)。这里决定了照片的“底子”好不好。
- 后端(ISP Back-End & Post-Processing): 美化与输出。包括锐化、降噪、色彩增强、缩放、编码。最终输出JPEG或YUV。
你想想看,一张照片从传感器到你的手机屏幕,要经过几十个模块。任何一个模块的参数没调好,最终效果都会翻车。
1.3 高通平台ISP架构:Hexagon与ISP的协同
高通在ISP这块,玩的是“硬件加速+软件灵活”的路子。它的ISP硬件叫ISP IP,集成在SoC里。从骁龙8系列到6系列,架构大同小异,但算力差距很大。
高通的ISP架构有几个特点:
- 多路并发: 支持同时处理多路摄像头数据。比如你拍照时,主摄和超广角可以同时工作,实现无缝变焦。
- 双ISP设计: 很多平台有两个ISP核心,一个处理拍照,一个处理预览,互不干扰。
- Hexagon DSP协同: 这是高通的杀手锏。很多复杂的3A算法、AI降噪,会卸载到Hexagon DSP上跑,功耗低、速度快。
我记得在调试骁龙865平台时,遇到一个棘手的问题:预览和拍照的亮度不一致。查了三天,最后发现是ISP的统计引擎(Stats Engine)在预览和拍照模式下,采样窗口不一样。这就是高通平台特有的坑。
1.4 3A算法概述:自动对焦、自动曝光、自动白平衡
3A算法,就是ISP的“大脑”。它让相机能自动适应各种场景,不用你手动调参数。
- 自动曝光(AE): 控制进光量。通过调整曝光时间、模拟增益、数字增益,让画面亮度适中。说白了,就是别太亮也别太暗。
- 自动对焦(AF): 让画面清晰。通过移动镜头或改变透镜位置,找到对比度最高的点。现在还有激光对焦、相位对焦,但核心算法还是那套。
- 自动白平衡(AWB): 还原真实颜色。不同光源色温不同,AWB要消除色偏,让白色看起来是白色。
这三个算法不是独立工作的。你想想看,AE变了,画面亮度变了,AF的对比度检测会受影响;AWB变了,颜色变了,AE的亮度统计也会变。所以3A算法必须协同工作,这就是所谓的“3A联动”。
下面这张图,是我自己总结的3A算法在ISP Pipeline中的位置关系:
从图上你能看到,3A算法不是独立存在的。它们从ISP的统计引擎获取数据,然后反过来控制传感器和ISP模块。这就是一个闭环反馈系统。