前言
首先指出本文中的RGB指的是非线性RGB,意思就是经过了伽马校正,按照行业规矩应当写成R'G'B',但是为了书写方便,仍写成RGB。关于YUV有多种叫法,分别是YUV,YPbPr,YCbCr。因此本文将首先指出他们之间的区别与联系,然后依次推演和RGB色彩空间之间的关系,最后导出转换矩阵。
各种说法
对于名称的叫法本来无所谓,例如鬼子、倭寇、小日本、Japan指的都是日本,只要交流的人之间互相明白对方的意思即可。对于YUV色彩空间来说,原本也是如此,只是概念上的混用对于专业人士来说,有时候会引起不专业的问题。所以有必要汇总一下各家的说法。
YUV:第一种含义是YUV,YCbCr,YPbPr的统称,任何一种都可以叫YUV;第二种含义指的是原始版YUV色彩空间。
YCbCr:第一种含义指的是数字分量,他是YUV的压缩和裁剪版本;第二种含义指的是标清隔行视频的模拟分量接口名称。
YPbPr:第一种含义指的是模拟分量,仅仅是YCbCr进行模拟化得到;第二种含义指的是高清视频的模拟分量接口名称。
演化推导
1:亮度和色差的定义
因为
所以
因此亮度分量可以使用下面的表达式表示:
红色分量和亮度之差为:
蓝色分量和亮度之差为:
上面三个式子用矩阵的形式表达如下:
2,色差的范围标定
所以可以知道红色分量范围是:
同理可知,蓝色分量范围是:
通常我们知道RGB的范围是0~1,因此
,
那么为了给色差分量的范围归一化,就需要乘以缩放系数:
色差归一化后用UV去表达,矩阵形式如下:
YUV色彩空间在SDTV中的实例
1,参数带入后得到基本的YUV转换公式
写成方程式RGB转YUV如下:
反过来YUV转RGB公式为:
2,模拟信号的负电平和过冲问题
由于模拟信号在传输的过程中会引起吉布斯过冲现象,导致后端解码识别错误,因此在模拟视频时代需要对YUV信号进行二次压缩,同时为了保证电平为正,还需要叠加一个偏置。
化简后得如下: