YUV full vs limited 601 vs 709

RGB

RGB 不区分 601 709 或者 full limited, 对于sRGB来说 最亮就应该是255, 最暗就应该是0。肤色要贴近真实场景,和真实场景没有色调偏移。

RGB 2 YUV

在rgb转化成YUV的时候,存在不同的转化公式,可以将YUV转化成 full 或者 limited,色彩空间也可以是601 或者 709

1. RGB 2 YUV BT.601 full(标清)
  • 适用于 SDTV(480i/576i)、DVD 等。

  • 转换矩阵

    Y=0.299R+0.587G+0.114B

    U=−0.169R−0.331G+0.500B+128

    V=0.500R−0.419G−0.081B+128​

  • 色度(UV)范围:0-255(Full Range 下)。

2. RGB 2 YUV BT.709 full(高清)
  • 适用于 HDTV(720p/1080p)、蓝光、流媒体等。

  • 转换矩阵

    Y=0.2126R+0.7152G+0.0722B

    U=−0.1146R−0.3854G+0.500B+128

    V=0.500R−0.4542G−0.0458B+128​

  • 色度(UV)范围:0-255(Full Range 下)。

3. BT.601 Limited Range

Y=(0.299R+0.587G+0.114B)×219​/255+16

U=(−0.169R−0.331G+0.500B)×224​/255+128

V=(0.500R−0.419G−0.081B)×224​/255​+128​

注:UV 的 +128 偏移在 Limited Range 下会自动调整为 16-240。

4. BT.709 Limited Range

​Y=(0.2126R+0.7152G+0.0722B)×219/255​+16

U=(−0.1146R−0.3854G+0.500B)×224/255​+128

V=(0.500R−0.4542G−0.0458B)×224/255​+128​

为什么存在 limited
  • 广播电视行业(BT.601/BT.709/BT.2020)
    早期的模拟电视信号为了减少噪声干扰和留出余量(如同步信号),将 YUV 的亮度(Y)限制在 16~235,色度(UV)限制在 16~240(8-bit 下),而非完整的 0~255。这一规范被数字电视(如 DVD、蓝光、有线电视)沿用,称为 Limited Range 或 TV Range

  • 硬件设备优化:部分显示设备(如老式 CRT)的电路设计基于 Limited Range,直接兼容更高效。

为什么有601 709两种色彩空间
  • BT.601(1982年制定)
    针对 标清电视(SDTV) 设计,分辨率主要为 480i/576i(NTSC/PAL),用于早期的 CRT 电视和 DVD 时代。

    • 色彩空间基于当时模拟电视的技术限制,色度采样通常为 4:2:2 或 4:2:0

    • 主要目标:兼容模拟信号,优化带宽效率。

  • BT.709(1990年制定,后更新)
    针对 高清电视(HDTV) 设计,分辨率支持 720p/1080i/1080p,用于蓝光、数字电视和流媒体。

    • 色彩空间适应更高分辨率和数字显示设备(如液晶、等离子)。

    • 主要目标:提升色彩表现,匹配现代显示技术。

YUV2RGB

YUV有四种格式 分别是 full/limited 601/709,如果要转化成正确的RGB,需要采用对应的公式转化,如果采用的公式错误,可能带来色彩偏差。

常见色彩偏差

如 BT.601 内容在 BT.709 显示下偏绿或饱和度过高

709的内容在601下播放可能偏红,紫

full的数据在limited的模式下播放,暗部亮部分会损失,对比度过强

limited的数据在full的模式下播放,色彩昏暗,亮度无法达到255