1. 课程导论
1.1 为什么我们要从YUV讲起?
做图像处理的人,天天跟YUV打交道。但我刚入行那会儿,其实没太当回事——不就是把RGB转个格式嘛,有什么好学的?
直到有一次,我在一个低光场景的调试项目里栽了跟头。Sensor出来的RAW图明明噪点不多,可一转到RGB域做降噪,颜色全花了。折腾了两周,最后发现:问题出在色彩空间的选择上。从那以后,我养成了一个习惯——先想清楚在哪个域做处理,再动手写代码。
YUV色彩空间,说白了就是把亮度(Luma)和色度(Chroma)分开。人眼对亮度敏感,对颜色不敏感。这个特性,恰好给了我们做降噪的「作弊器」。
核心认知:YUV域降噪的核心优势在于——亮度通道保留细节,色度通道大胆滤波。你想想看,色度通道分辨率砍一半,人眼都看不出来,那为什么不在色度上多下点功夫?
YUV的常见格式,我列个表,大家对照着看:
| 格式 | Y采样 | U/V采样 | 数据量(相对RGB) | 典型场景 |
|---|---|---|---|---|
| YUV444 | 全分辨率 | 全分辨率 | 1x | 专业视频编辑 |
| YUV422 | 全分辨率 | 水平1/2 | 2/3 | 广播级视频 |
| YUV420 | 全分辨率 | 水平1/2 + 垂直1/2 | 1/2 | 消费电子、手机 |
| NV12 | 全分辨率 | UV交错(420变体) | 1/2 | Android Camera |
嗯,这里要注意:YUV420是ISP Pipeline中最常见的输出格式。为什么?因为省带宽、省存储,而且人眼根本看不出区别。我做过测试,YUV420和YUV444在手机屏幕上,99%的人分不出来。
1.2 ISP Pipeline:一张图看懂全流程
ISP(Image Signal Processor)是什么?说白了,就是把Sensor的RAW数据变成人眼能看的漂亮图片的一套流水线。
我习惯把ISP Pipeline分成三个阶段:前端预处理、中端核心处理、后端编码输出。每个阶段都有它的「脾气」。
下面这张图,是我自己画的一个简化版ISP流程。你看一眼,大概就知道降噪在哪个位置了:
你看,降噪被放在中端核心处理阶段。为什么?因为Demosaic之后,数据已经从RAW变成了RGB/YUV,这时候做降噪,既能利用色彩空间的优势,又不会破坏前端校正的精度。
1.3 降噪在ISP中的位置与价值
降噪在ISP里到底有多重要?我直接说结论:降噪是ISP Pipeline里最「吃」算力的模块,也是决定图像质量天花板的关键。
为什么会这样?你想想看:
- Sensor物理限制:像素越做越小,进光量越来越少,信噪比越来越低。这是物理规律,绕不开。
- 用户期望越来越高:暗光拍照要清晰,夜景视频要干净。手机厂商的DxO分数,一半靠降噪。
- 后续模块依赖:AWB、色彩校正、边缘增强,这些模块在噪声大的图像上会「发疯」。我见过一个案例,噪声没处理好,AWB直接把白墙算成了偏蓝色。
我的经验:降噪不是「越强越好」。我曾经在一个项目里把降噪开到最大,结果人脸皮肤变成了「塑料质感」,被测试团队骂了一周。后来我学乖了——降噪要「看场景下菜碟」:暗光场景重降噪,白天场景轻降噪,人像场景保细节。
降噪在ISP中的价值,我用三个维度来概括:
| 维度 | 具体价值 | 量化指标(参考) |
|---|---|---|
| 画质提升 | 降低噪声,提升信噪比 | PSNR提升3-6dB,SSIM提升0.05-0.15 |
| 后续模块稳定性 | 减少AWB/色彩校正的误判 | AWB色温偏差降低30%以上 |
| 编码效率 | 降低视频编码的码率 | 同等画质下码率降低15-25% |
嗯,这里要特别提一下编码效率。很多人不知道,噪声会「骗」编码器——编码器会把噪声当成细节来编码,白白浪费码率。所以,降噪做得好,视频压缩效率也会跟着提升。我在一个4K视频项目中做过对比:降噪前码率需要40Mbps,降噪后只需要30Mbps,画质还更好。
1.4 YUV域降噪 vs RAW域降噪 vs RGB域降噪
很多初学者会问:为什么非要在YUV域做降噪?RAW域或者RGB域不行吗?
我的回答是:各有优劣,但YUV域是「性价比」最高的选择。
我列个对比表,大家一看就明白:
| 对比维度 | RAW域降噪 | RGB域降噪 | YUV域降噪 |
|---|---|---|---|
| 数据量 | 大(Bayer pattern) | 中(3通道全分辨率) | 小(Y全分辨率,UV可降采样) |
| 色彩相关性 | 低(Bayer模式) | 高(RGB通道相关性强) | 中(Y与UV分离) |
| 降噪灵活性 | 高(可针对Bayer模式设计) | 中(容易产生色彩伪影) | 高(亮度/色度独立处理) |
| 硬件实现难度 | 高(需要处理Bayer模式) | 中 | 低(成熟IP多) |
| 典型场景 | 专业相机、高端ISP | 部分手机ISP | 绝大多数消费电子ISP |
避坑指南:我曾经在RGB域做过一个降噪算法,效果看起来不错,但一转到YUV域输出,发现颜色边界出现了「渗色」现象。后来排查发现,RGB域的降噪破坏了通道间的相关性,导致YUV转换时产生了色差。所以,如果你最终输出是YUV格式,尽量在YUV域做降噪,省去一次色彩空间转换带来的误差。
1.5 本章小结:你该带走什么?
好了,第一章的内容就这些。我不喜欢啰嗦,直接给你三个「带走点」:
- YUV色彩空间是降噪的「天然盟友」——亮度/色度分离,让你可以「区别对待」,在色度通道上大胆滤波。
- 降噪在ISP Pipeline中处于中端核心位置——它承上启下,直接影响后续所有模块的效果。
- YUV域降噪是「性价比」之选——数据量小、硬件实现成熟、效果可控,是消费电子ISP的主流选择。