YUV YCrCb 概念

YUV(也称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL制式)。YUV主要用于优化彩色视频信号的传输,使其向后兼容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只占用极少的带宽,而RGB要求三个独立的视频信号同时传输。

    YUV中,“Y”代表明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是通过RGB输入信号来创建的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面——色调与饱和度,分别用Cr和Cb来表示。其中,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异,而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异,此即所谓的色差信号,也就是我们常说的分量信号(Y、R-Y、B-Y)。
    在专业领域了,“Y CB CR”表示数字色差信号而不是模拟色差信号。色差信号Y、R-Y、B-Y信号一般通称为Y, Cr,Cb; 习惯上Y、Cr、Cb为数字(PCM)的色差信号,模拟的色差信号则称Y、Pr、Pb,所以我们常在DVD Player的内部看到Y、Cr、Cb而在DVD Player的外部看到色差输出标示为Y、Pr、Pb或YUVYUV则是在欧洲电视系统PAL中的色差信号的通称,包含数字及模拟的色差信号都称YUV,所以当您看到YUV时您就要联想到它是PAL系统中的Y,R-Y,B-Y信号,它可能是数字(PCM)的YUV,也可能是模拟的YUV

模拟和数字的区别了在习惯上有所区别:

习惯上YCrCb为数字(PCM)的色差信号,模拟的色差信号则称YPrPb,所以我们常在DVD Player的内部看到YCrCb而在DVD Player的外部看到色差输出标示为YPrPbYUV

 

YUV则是在欧洲电视系统PAL中的色差信号的通称,包含数字及模拟的色差信号都称YUV,所以当您看到YUV时您就要联想到它是PAL系统中的YR-YB-Y信号,它可能是数字(PCM)的YUV,也可能是模拟的YUV

YUV YCrCb对于数字电路而言:YUV YCrCb只是相差128YUV没有负值,YCrCb最高位为符号位,U = Cr + 128V = Cb +128

 

 

 

1) YUV 4:4:4

  YUV三个信道的抽样率相同,因此在生成的图像里,每个象素的三个分量信息完整(每个分量通常8比特),经过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

  (2) YUV 4:2:2

  每个色差信道的抽样率是亮度信道的一半,所以水平方向的色度抽样率只是4:4:4的一半。对非压缩的8比特量化的图像来说,每个由两个水平方向相邻的像素组成的宏像素需要占用4字节内存。

  下面的四个像素为:[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]

  (3) YUV 4:1:1

  4:1:1的色度抽样,是在水平方向上对色度进行4:1抽样。对于低端用户和消费类产品这仍然是可以接受的。对非压缩的8比特量化的视频来说,每个由4个水平方向相邻的像素组成的宏像素需要占用6字节内存。

  下面的四个像素为: [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]

  (4)YUV4:2:0

  4: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]

  [Y5 U5 V5] [Y6 U6 V6] [Y7U7 V7] [Y8 U8 V8]

  存放的码流为:Y0 U0 Y1 Y2 U2 Y3

  Y5 V5 Y6 Y7 V7 Y8

  映射出的像素点为:[Y0 U0 V5] [Y1 U0 V5] [Y2 U2 V7] [Y3 U2 V7]

  [Y5 U0 V5] [Y6 U0 V5] [Y7U2 V7] [Y8 U2 V7]

 

YUV之4:2:2或4:2:0都是指的Y分量和UV分量在一个像素点中占有的平均比例。

YUV422即Y:U:V=4:2:2,所以如下四个像素原始排列:

Y0U0V0 Y1U1V1

Y2U2V2 Y3U3V3

存为422格式后:

Y0U0 Y1V0

Y2U2 Y3V2

还原:

Y0U0V0 Y1U0V0

Y2U2V2 Y3U2V2

 

YUV420有点小小的不一样,刚刚的422你会发现水平方向上的UV分量减半了,而420则是水平垂直方向都会减半。

其三个分量的真实比例4:1:1而不是4:2:0

420只是为了区别YUV411的。

原:

Y0U0V0 Y1U1V1

Y2U2V2 Y3U3V3

存:

Y0 U0 Y1

Y2 V0 Y3

还原:

Y0U0V0 Y1U0V0

Y2U0V0 Y3U0V0

你仔细看下是不是4:1:1,给他起个名字420是因为他在水平方向上每一行除了Y只有U 或 V,这与YUV411是不同的

你可能感兴趣的:(优化,存储,产品,联想)