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