色彩入门:RGB、YUV 与色彩深度

为什么视频文件存的是 YUV 而不是 RGB?4:2:0 这个看起来像分数的数字到底代表什么?

打开一张照片,计算机存的是每个像素的红绿蓝(RGB)值。但打开一个视频文件,编码器存的反而是 YUV——一种你可能不熟悉的名字。为什么视频不用 RGB?4:2:0 是分数吗?8-bit 和 10-bit 到底差多少?什么是色彩空间?三个问题对应三个层次:色彩模型(为什么用 YUV)、色度抽样(4:2:0 在讲什么)、色彩深度与色彩空间(8/10-bit 和 BT.709/BT.2020)。

色彩模型:用哪三个数描述颜色

RGB 加色模型

人眼视网膜上有三种视锥细胞,分别对红(约 560nm)、绿(约 530nm)、蓝(约 430nm)波长最敏感。数字色彩系统模仿这一机制,用红、绿、蓝三个数值叠加来产生各种颜色——这就是加色混合(Additive Color Mixing)。

RGB 是三原色分量值,通常用 0-255(8-bit 每通道)或 0-1023(10-bit 每通道)表示。三个数值越大,颜色越亮——(0,0,0) 是纯黑,(255,255,255) 是纯白。

RGB 是面向显示设备的模型。显示器、手机屏幕、投影仪都直接接受 RGB 信号——每个子像素独立控制亮度来混合出最终颜色。

YUV / YCbCr:为什么视频不用 RGB

如果视频也存 RGB,会有一个效率问题:人眼对亮度(Luminance)变化比对颜色(Chrominance)变化敏感得多。R、G、B 三个通道都携带了亮度信息,把它们分开存储可以更高效地压缩。

YUV 做的事:把 RGB 信号拆成一个亮度分量(Y,Luma)和两个色度分量(U/V,Chroma,在数字视频中通常称为 Cb/Cr)。

RGB  →  Y(亮度)+ Cb(蓝色差)+ Cr(红色差)

转换公式(BT.601 标准,近似值):

Y  = 0.299 × R + 0.587 × G + 0.114 × B
Cb = 0.564 × (B - Y)
Cr = 0.713 × (R - Y)

亮度 Y 的系数不是均匀的——绿色对亮度的贡献最大(0.587),蓝色最小(0.114),这与人类视觉系统的光谱敏感度一致。

YUV 的核心优势:既然人眼对色度不敏感,你可以降低色度分量的分辨率,而人几乎察觉不到——这就是下一节"色度抽样"做的事。这把视频的原始数据量直接砍掉一半甚至三分之二,而画质的损失几乎不可见。

色彩模型用途分量含义
RGB显示、图像编辑、图形设计红/绿/蓝三原色强度
YUV / YCbCr视频存储、压缩、传输Y = 亮度,Cb/Cr = 色差
HSV / HSL调色软件、图像处理H = 色相,S = 饱和度,V/L = 明度/亮度

补充:DTP(桌面出版)中使用 CMYK 减色模型,本文聚焦数字视频,不做展开。

色度抽样:4:4:4、4:2:2、4:2:0

RGB 转 YUV:亮度全分辨率保留,色度减半存储(4:2:0)

这是 YUV 最大的一笔"压缩红利"——通过降低色度分辨率来大幅减少数据量。

数字的含义

色度抽样用三个数字表示(如 4:2:0),描述的是在一组像素中亮度和色度的采样比例:

  • 第一个数字(总是 4):水平方向的亮度采样参考值
  • 第二个数字:第一行色度采样数(相对于4)
  • 第三个数字:第二行色度采样数(隔行时的第二行,逐行时等于第二行相对值)

直观理解(以 4×2 像素块为例):

格式布局示意色度分辨率数据量相比 RGB
4:4:4每像素都存 Y + Cb + Cr全分辨率1×(无压缩)
4:2:2每行隔一个像素取一次 Cb/Cr水平一半约 2/3
4:2:0每行隔一个、每隔一行才取 Cb/Cr水平一半、垂直一半约 1/2

4:2:0 是消费级视频的绝对主流。所有蓝光电影、流媒体视频(YouTube、Netflix)和绝大多数手机录制的视频都使用 4:2:0 色度抽样。它把色度分辨率降到亮度的四分之一,但人眼几乎看不出区别。

4:4:4 用于高端制作、计算机屏幕录制和文字/UI 内容——文字边缘的彩色锯齿(色度伪影)在 4:2:0 下可能被放大。4:2:2 是广播级和专业摄像机常用的中间格式。

什么时候能看出 4:2:0 的局限?

4:2:0 的色度分辨率不足在以下场景中可能变得可见:

  • 细小的红色或蓝色文字在黑色背景上出现彩色边缘
  • 色键抠像(绿幕/蓝幕)的边缘质量:4:2:0 的色度信息不足会让抠像边缘出现"爬行"的锯齿
  • 画面整体偏红的肤色区域可能出现色块感

对于绝大多数视频内容(实拍电影、日常录像、动画),4:2:0 完全够用。

色彩深度:8-bit 与 10-bit

色彩深度(Bit Depth)在视频语境中通常指每个通道用多少比特表示。注意这不是音频的位深度——同名但不同概念。

色彩深度每通道灰阶级数RGB 总颜色数使用场景
8-bit256(0-255)约 1677 万色SDR 视频、网页、绝大多数消费内容
10-bit1024(0-1023)约 10.7 亿色HDR 视频、专业调色、高端显示器
12-bit4096约 687 亿色RAW 视频、数字电影拍摄(DCI 4K)

8-bit 每通道 256 级,看起来不少,但在渐变区域(天空、肤色、光晕)往往不够用。当相邻两个灰阶之间的差值大到肉眼可见时,就会出现色彩断层(Color Banding / 色带)——原本平滑的渐变变成一圈一圈的条纹。

10-bit 把每通道精度从 256 级提升到 1024 级,4 倍精度。在 HDR 视频中 10-bit 几乎是强制要求——因为 HDR 的亮度范围远大于 SDR,8-bit 的灰阶密度不足以覆盖更大的动态范围而不产生断层。

注意:10-bit 视频需要 10-bit 面板的显示器才能完整显示;8-bit 面板通过 FRC(Frame Rate Control)抖动模拟 10-bit,效果"接近但不等同于原生 10-bit"。

色彩深度与带宽

字节数就是量级变化——4K 60fps 下,8-bit 4:4:4 的原始带宽约 12 Gbps(HDMI 1.4 的上限),切换到 10-bit 则接近 18 Gbps(需要 HDMI 2.0 以上)。这是为什么电视机的 HDMI 接口版本直接影响能否传输 4K HDR 10-bit 信号。

色彩空间:BT.709、BT.2020 与色域

色彩空间(Color Space / 色域)定义了"什么范围的颜色可以被表示"。即使都是 RGB 或 YUV 模型,不同的色彩空间覆盖的可见颜色范围不同。

色彩空间标准使用场景色域覆盖
BT.709Rec.709SDR 电视、蓝光、传统视频sRGB 等同,约 35% CIE 1931
sRGBIEC 61966-2-1网页、显示器、互联网与 BT.709 基本相同
DCI-P3SMPTE RP 431-2数字电影、HDR 显示约 45% CIE 1931
BT.2020Rec.2020UHD / 4K HDR 视频标准约 76% CIE 1931
  • BT.709 自 1990 年代以来是 HD 视频的标准,SDR 视频全部基于它
  • DCI-P3 是数字电影放映的标准色域,近年来被苹果和高端显示器广泛采用("Display P3")
  • BT.2020 是 UHD / 4K HDR 视频的目标色域,比 BT.709 大得多,但目前绝大多数消费级显示器还无法完整覆盖

当一个视频的色彩空间与显示设备不匹配时: - BT.2020 视频在 BT.709 屏幕上播放 → 色彩被"裁剪"到小色域内,看起来比预期暗淡 - sRGB 图片在 DCI-P3 显示器上观看 → 通常由操作系统/应用做色彩管理,正确映射

色彩深度与色域的关系

这两个概念经常混淆。简单说: - 色彩深度 = 精度(每个通道多少级) - 色域 = 范围(色彩空间覆盖多大的区域)

更大的色域(BT.2020)需要更高的色彩深度(10-bit 以上)才不会在颜色过渡中出现断层——就像更大的面积需要更精细的网格来保持平滑。

常见误区

  1. "RGB 是没压缩的原始格式,YUV 是有损的":RGB 和 YUV 都是色彩模型,本身不涉及有/无损。色度抽样(如 4:2:0)是有损的,但 YUV 模型本身不是压缩。
  2. "10-bit 面板的颜色比 8-bit 鲜艳":色彩鲜艳度取决于色域(BT.709 vs DCI-P3),10-bit 决定的是渐变平滑度,不是色彩浓度。
  3. "4:2:0 损失了 75% 的颜色数据,画质一定差很多":4:2:0 丢弃的是人眼不敏感的色度信息,在视频观看中几乎察觉不到。它在专业调色或抠像场景才有明显影响。
  4. "HDR 就是更亮,所以用 8-bit 压缩没问题":HDR 的亮度范围远大于 SDR,8-bit 的精度不足以在这么大的范围中避免色彩断层。HDR 标准要求 10-bit 起始。
  5. "BT.2020 显示器上看的才是真正的 HDR":目前几乎没有消费级显示器能完整覆盖 BT.2020。HDR 显示通常以 DCI-P3 或更小的色域为目标,通过色调映射处理超出范围的颜色。

实用建议

  • 日常视频发布:拍摄和导出时使用 YUV 4:2:0 / 8-bit / BT.709 即可,这是最广泛兼容的配置。所有流媒体平台都以此为基础。
  • 需要后期调色的素材:拍摄时争取 10-bit 4:2:2 或更高。调色过程中的拉伸和压缩操作会放大 8-bit 的量化误差。如果只有 8-bit 素材,避免极端的色相和饱和度调整。
  • 绿幕/蓝幕抠像:尽可能使用 4:2:2 或 4:4:4 素材。如果只有 4:2:0,在抠像前对色度通道应用轻微模糊可以缓解锯齿边缘。
  • 电脑录屏(教程/演示):4:4:4 最理想(保证文字边缘和 UI 元素清晰),4:2:0 在静态界面上的色度伪影可能明显。录屏软件中选"色彩无损"或类似选项。
  • 观看 HDR 内容:确保显示设备、HDMI 线缆版本和播放软件都支持 HDR,缺一个环节就无法正确显示。操作系统中的"使用 HDR"选项要开启。
  • 不要用 sRGB 显示器的 P3 模式:有些显示器提供 P3 色域模式但面板本身是 sRGB,这时只是软件映射,反而会导致色彩过饱和。真正的广色域需要面板支持。

相关阅读

本站的视频滤镜工具中有亮度、对比度、饱和度和色相滑块——读完本文,你应该知道调整饱和度本质上是缩放 UV 分量到原点的欧几里得距离,而调整亮度是改变 Y 分量的值。

相关工具