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流程。你看一眼,大概就知道降噪在哪个位置了:

ISP Pipeline全景概览与降噪位置 ISP Pipeline 全景概览与降噪位置 阶段一:前端预处理 黑电平校正 Lens Shading 阶段二:中端核心处理 Demosaic 降噪 AWB 阶段三:后端编码 色彩校正 Gamma 降噪位置:中端核心处理 通常在Demosaic之后、AWB之前 此时数据已转为RGB/YUV域 💡 关键说明: • 降噪在ISP Pipeline中处于「承上启下」的位置 • 前端预处理(黑电平、Lens Shading)在RAW域完成 • 降噪可以在RAW域、RGB域或YUV域进行,本课程聚焦YUV域 • 降噪做得好不好,直接影响后续AWB、色彩校正的效果 • 降噪做过头,图像会「塑料感」——细节全没了 • 降噪做不够,图像会「雪花感」——噪点满天飞

你看,降噪被放在中端核心处理阶段。为什么?因为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 本章小结:你该带走什么?

好了,第一章的内容就这些。我不喜欢啰嗦,直接给你三个「带走点」:

  1. YUV色彩空间是降噪的「天然盟友」——亮度/色度分离,让你可以「区别对待」,在色度通道上大胆滤波。
  2. 降噪在ISP Pipeline中处于中端核心位置——它承上启下,直接影响后续所有模块的效果。
  3. YUV域降噪是「性价比」之选——数据量小、硬件实现成熟、效果可控,是消费电子ISP的主流选择。