RGB是构成多种颜色的三基色(红绿蓝),也称为加成色。主要是图像的采集和显示。YUV是优化彩色视频信号的编码和传输,和rgb相比,YUV占用的带宽少。
YUV中Y表示的是亮度,是通过RGB输入信号确定的,方法是将RGB信号的特定部分叠加到一起。UV表示的是色度,定义了颜色的两个方面的色度和饱和度,分别使用Cr和Cb表示。其中,Cr是GB输入信号的红色部分和RGB信号的亮度的差异。而Cb反映的是RGB输入信号的蓝色部分和RGB的信号亮度值之间的差异。可以参考下面的RGB转YUV的公式。
RGB和YUV是可以相互转化的(根据不同的色域计算有所不同,bt.601-6):
RGB转YUV:
Y = 0.299*R + 0.587*G + 0.114*B;
U = -0.169*R - 0.331*G + 0.5 *B ;
V = 0.5 *R - 0.419*G - 0.081*B;
YUV转RGB:
R = Y + 1.4075 * V;
G = Y - 0.3455 * U - 0.7169*V;
B = Y + 1.779 * U;
参考:https://www.cnblogs.com/luoyinjie/p/7219319.html
下面介绍一下YUV。YUV分为YUV444,YUV422,YUV420等,含有不同色度分量的编码方式。
YUV444:UV三个信道的抽样率相同,因此在生成的图像里,每个象素的三个分量信息完整,如果每个分量用8比特表示,则未经压缩的每个像素占用3个字节.
原始像素 | Y0 | U0 | V0 | Y1 | U1 | V1 | Y2 | U2 | V2 | Y3 | U3 | V3 | |||
采样后的码流 | Y0 | U0 | V0 | Y1 | U1 | V1 | Y2 | U2 | V2 | Y3 | U3 | V3 | |||
还原后的像素 | Y0 | U0 | V0 | Y1 | U1 | V1 | Y2 | U2 | V2 | Y3 | U3 | V3 |
YUV422:个色差信道的抽样率是亮度信道的一半,所以水平方向的色度抽样率只是4:4:4的一半。对非压缩的8比特量化的图像来说,每个由两个水平方向相邻的像素组成的宏像素需要占用4字节内存。如下可以这样理解:采样的时候每个信号的色度UV信号分别每隔一个采样,还原的时候使用相邻采样点不同的UV信号补充。
原始像素 | Y0 | U0 | V0 | Y1 | U1 | V1 | Y2 | U2 | V2 | Y3 | U3 | V3 | |||
采样后的码流 | Y0 | U0 | Y1 | V1 | Y2 | U2 | Y3 | V3 | |||||||
还原后的像素 | Y0 | U0 | V1 | Y1 | U0 | V1 | Y2 | U2 | V3 | Y3 | U2 | V3 |
YUV411::1:1的色度抽样,是在水平方向上对色度进行4:1抽样。对于低端用户和消费类产品这仍然是可以接受的。对非压缩的8比特量化的视频来说, 每个由4个水平方向相邻的像素组成的宏像素需要占用6字节内存。如下可以这样理解:采样的时候每个信号的色度UV信号分别每隔3个采样,还原的时候使用相邻采样点不同的UV信号补充。
原始像素 | Y0 | U0 | V0 | Y1 | U1 | V1 | Y2 | U2 | V2 | Y3 | U3 | V3 | |||
采样后的码流 | Y0 | U0 | Y1 | Y2 | V2 | Y3 | |||||||||
还原后的像素 | Y0 | U0 | V2 | Y1 | U0 | V2 | Y2 | U0 | V2 | Y3 | U0 | V2 |
YUV420::2:0并不意味着只有 Y,Cb而没有 Cr分量。它指得是对每行扫描线来说,只有一种色度分量以2:1的抽样率存储。相邻的扫描行存储不同的色度分量, 也就是说, 如果一行是4:2:0的话, 下一行就是4:0:2, 再下一行是4:2:0...以此类推。 对每个色度分量来说, 水平方向和竖直方向的抽样率都是 2:1, 所以可以说色度的抽样率是4:1。 对非压缩的8比特量化的视频来说,每个由2x2个2行2列相邻的像素组成的宏像素需要占用6字节内存。
原始像素 | Y0 | U0 | V0 | Y1 | U1 | V1 | Y2 | U2 | V2 | Y3 | U3 | V3 | ||||
Y4 | U4 | V4 | Y5 | U5 | V5 | Y6 | U6 | V6 | Y7 | U7 | V7 | |||||
采样后的码流 | Y0 | U0 | Y1 | Y2 | U2 | Y3 | YUV420 | |||||||||
Y4 | V4 | Y5 | Y6 | V6 | Y7 | YUV402 | ||||||||||
还原后的像素 | Y0 | U0 | V4 | Y1 | U0 | V4 | Y2 | U2 | V6 | Y3 | U2 | V6 | ||||
Y4 | U0 | V4 | Y5 | U0 | V4 | Y6 | U2 | V6 | Y7 | U2 | V6 |
来源:CSDN
作者:酸菜鱼的鱼
链接:https://blog.csdn.net/u010299133/article/details/103757505