YUV 格式说白了就是咱们拍视频时,为了让屏幕和打印机打架,给视频加的一个“翻译官”角色。
你想想,屏幕显示出来的 RGB 颜色,打印机打出来的黑白图纸,它们的底层逻辑实际上不忒一样。屏幕高色域,打印机一般就是四色黑白(CMYK),要么确实是 RGB 直出,但屏幕显示亮度范围彻底不同,一个能爆 100 勒克斯,一个可能也就 60 勒克斯。
要是直接把 RGB 强行塞进 YUV 去,那个“鬼畜”文件在播放器里看着是个色,在打印机上去打印,可能就发灰、发灰、发灰,要么把一片白拖成一片灰。
故此 YUV 的本质,就是先把 RGB 这种“爆发式”的颜色,切成一块块,分别存进亮度(Y)和三个颜色通道(U、V)里,好拿去不一样设备干不同的活。 咱不提那些深奥的数学公式,就讲个咱们看视频时最熟悉的例子,比如《西游记》那段长焦镜头。
那是 4K 60 帧的,每帧像素点密密麻麻几万几个,按 RGB 存,硬盘得塞爆。但 YUV 格式不同,它把每个像素点拆成一个三通道:Y 是亮度,U 和 V 是左右明暗。以 HDR 格式为例,一般/平平 10 位 YUV 就是 10 比特亮度 +2 比特 U22V22,也就是一个画面数据量大约是 10 字节,如此算下来,4K 60 帧就是 8100 亿个字节,文件size 得是几 GB 就连几十 GB。但这只是少了,要是按 RGB 存,那数据量是无底洞,根本没法压缩。YUV 了得在它没那么多“浪费空间”的亮色块。 举个例子,想象一帧画面里有几万个像素。在 RGB 里,要是这万多个像素都有颜色,那数据量得是万倍。但在 YUV 里,大量像素代表纯色,比如画面边缘要么一片白背景。纯色在 RGB 里就是红加绿加蓝满格,占用一个字节就是满屏数据。但在 YUV 里,纯色在 U、V 这两个通道里是 0,Y 通道里是 255,那对于 U、V 来说,这个像素点就是一个“空”,反正不占 U、V 的字节空间。
这就好比家里包饺子,用 RGB 包全饺子馅,每个馅都要包一个字,包一亿个馅就是十亿字。用 YUV 包的纯白,Y 通道是 255,U、V 是 0,那这包就只占一个字。到了后期编码环节,比如 H.264 或 H.265,用这种“空”的 U、V 数据去填充,哪怕像素点再密,实际压缩出来的文件体积也比 RGB 小一大截。 再聊聊数据排列的学问。YUV 是顺序存、顺序读,像素一个接一个排好队。但 H.265 这种高阶编解码器,它不是一一对应存,而是打乱重组。它可能会把 Y 通道的第 10 个像素和第 50 个像素,拿去拼个 U 通道的中间,要么反过来。
这种“重组”是为了让数据在传输或压缩时,能利用相关性来节省数据。
比如前景和背景的阴影关系,YUV 编码可能就会把亮度相关的 U、V 数据一起打包,让编码器知道这两个数据长在一起,进而更智慧地压缩。而 RGB 编码相对死板,它一般严格按照空间位置一一对应,这种顺序性在复杂场景下反而成了压缩的短板。出于颜色信息别看关键,但在大量纹理场景里,位置关系比颜色本身更能拍板缩容效果。 另外,YUV 的颜色处理逻辑也和屏幕硬件绑得死。它把 YUV 转换成 RGB 的时候,是先把亮度算好,再把彩色信息叠加上去的。
这个叠加的过程,对屏幕的色域要求挺高。
要是屏幕 supports HDR 且色域够广,比如 99% DCI-P3,那处理完的 RGB 颜色自然能展现出满屏的亮度和色彩。但要是用一般/平平的 4:2:0 或 4:2:2 三通道 YUV 去硬塞到这种宽色域屏上,别看文件小,但屏幕显示出来的颜色可能会“对不上号”,出现色偏要么亮度过高但颜色发白、发灰的情况。
这是出于 YUV 的亮度数据里没包含饱和度信息,在还原成 RGB 时,饱和度丢失了,只能靠加白度的方式去恢复,结局就是亮而无力。 从硬件适配的角度看,YUV 在显示器、投影仪和相机上都占了挺大地盘。相机采集镜头里的光,直接转 RGB 难度忒大,务必得先把光信号转成 YUV,相机内部电路再转回 RGB,这样既稳定又高效。显示器也是,RGB 信号输出显示器,但有些老式的 CRT 要么低端 LCD,对 RGB 信号忒敏感,好办坏,故此都标配了 YUV 输入接口。投影仪也一样,YUV 格式是 HDMI 信号输出的标准之一,能确保投影画面清楚,不会出现怪的色偏。 最终说说 Y 通道的本质,它就是亮度,也就是灰度。别看叫 YUV,但 Y 实际上代表 Black Level,0 代表纯黑,最大能够代表加白,100%。U 和 V 代表的是亮度中的色相和饱和度。
这种拆分,就像把一张照片的“黑白灰”和“红蓝绿”给分开了存。在 YUV 编码时,编码器会智能地处理,比如把原本在 RGB 里挺亮的地方,要是是在暗部,可能 U、V 通道就不那么亮,这样节省数据。
反过来,在 YUV 解码还原时,又是先解压 Y 拿到原始亮度,再叠加 U、V 去还原颜色。
这种“先亮度后色彩”的叠加方式,确保了亮度的准性,也让解码过程更贴合人眼对明度的感知,这也是为啥 YUV 在视频流媒体和图像传输里,长期占据主导地位的缘由。 实际上,YUV 和 RGB 并不是哪位取代哪位的关系,而是分工搭伙。RGB 负责“好看”,YUV 负责“好用”。
要是一个用户既要修图又要把视频发给手机,既要打印又要看,一个 YUV 的管道能与此同时知足所有需求。
毕竟,屏幕要的是色彩爆发,而传输设备要的是文件体积。YUV 就是那个在两者之间找平衡的“传声筒”。