- 色域:颜色表示方法,分类:RGB、CMYK、YIQ/YUV/YCrCb
RGB:是一种“原始的”,未压缩的色域,相比于YUV色域其所需的数据带宽更高
YUV:Y表示明亮(luma)信息,uv表示色彩浓度信息(chroma)
YCrCb:是yuv的演进版本(系数有些变化,同时增加了偏置)
YUV444和RGB的采样点是完全一致的,而YUV422和YUV420相对于RGB是有一定程度的“压缩”的。
CMYK:主要应用于彩色打印系统中,需要光源将内容反射到我们的眼中。 - bt601、bt709色域空间简介
色域表示显示设备能够显示的颜色范围,BT.601是标清视频使用的色域范围,BT.709和BT.2020分别对应高清和超高清视频的色域。
3.ffmpeg软编码中有关颜色空间的相关参数:
ffmpeg color有四个属于color space、transfer function、primaries、range四个属性。
1)color space:yuv是基于rgb的颜色空间,color space属性是决定了YUV2RGB/RGB2YUV的转换计算matrix
2)color primaries:基于的RGB空间对应的绝对颜色xyz的变换,决定了最终三原色rgb分别是什么颜色
3)transfer:定义了transfer function的gamma值,从rgb到最终显示的值需要进行gamma压暗,比如bt709的平均gamma为1.96
4)range:video range Y:[16-235],UV:[16-240]和full range [0-255]
这四个值默认都是未定义的,这种情况下对于不同的播放器解释行为不太一致,要注意一下,可能会造成不同播放器下的颜色不一致,建议是已知的color属性在播放,播放的时候切记都要考虑
一般搭配:bt.709+video range./bt.601+full range,播放器遵循标准
两个视频:一个601+full range,一个709+video range,最终输出一个文件时,解码出的信息是一致的,和之前的编码方式无关,再次编码后跟文件之前的编码方式无关。