概述

YUV,是一种颜色编码方式。常使用在各个影像处理元件中。YUV在对照片或影片编码是,考虑到人类的感知能力,允许降低色度的频宽。

YUV是编译true-color颜色空间(color space)的种类,Y’UV,YUV,YCbCr,YPbPr等专有名词都可以成为YUV,彼此有重叠

  • Y — 表示明亮度,luminance,Luma
  • U — 色度 chrominance
  • V — 浓度 chroma

从历史演变来说,Y’UV,YUV,YCbCr,YPbPr中的Y’UV,YUV通常用来编码电视的模拟信号,而YCbCr用来描述数字的影像信号,适合视频与图片压缩及传输,例如MPEG、JPEG。**但在现今,**YUV在电脑系统上已经广泛使用

YUV Formats分为两个格式

  • 紧缩格式(packed formats),将Y、U、V值存储成Macro Pixels数组,与RGB存放方式类似
    • 紧缩格式中的YUV是混合在一起的,对于YUV4:2:2格式而言,用紧缩格式很合适,因此就有了UYVY,YUYV等
  • 平面格式(pllanar formats),将 Y、U、V的三个分量分别存放在不同的矩阵中
    • 平面格式是指每Y、U、V分量都以独立的平面组织的,也就是所有的U分量必须在Y分量后面,而V分量在所有的U分量后面,此格式使用与采样(subsample)。平面格式由I420(4:2:0)、YV12、IYUV等

历史

Y‘UV的发明是由于彩色电视与黑白电视的过度时期。

  • 黑白电视只有Y视频,也就是灰阶值
  • 彩色电视规格的定制中,是以YUV/YIQ的格式来处理彩色电视图像的,把UV视作表示彩度的C(Chrominanec或Chroma)

如果忽略C信号,剩下的Y信号就跟黑白电视信号相同,这样便解决了彩色电视与黑白电视兼容性问题了

Y’UV最大的优点就是占用极少的带宽

因为UV分别代表不同颜色信号,所以直接使用R与B信号表示色度的UV。 也就是说UV信号告诉了电视要偏移某象素的的颜色,而不改变其亮度。 或者UV信号告诉了显示器使得某个颜色亮度依某个基准偏移。 UV的值越高,代表该像素会有更饱和的颜色。

彩色图像记录的格式,常见的有RGB、YUV、CMYK等。彩色电视最早的构想是使用RGB三原色来同时传输。这种设计方式是原来黑白带宽的3倍,在当时并不是很好的设计。RGB诉求于人眼对色彩的感应,YUV则着重于视觉对于亮度的敏感程度,Y代表的是亮度,UV代表的是彩度(因此黑白电影可省略UV,相近于RGB),分别用Cr和Cb来表示,因此YUV的记录通常以Y:UV的格式呈现。

常用的YUV格式

为了节省频宽,大多数YUV格式平均使用的每像素位数都少于24位

主要采样格式有

  • YCbCr 4:2:0
  • YCbCr 4:2:2
  • YCbCr 4:1:1
  • YCbCr 4:4:4

YUV的表示法称为A:B:C表示法

  • 4:4:4 — 表示完全采样
  • 4:2:2 — 表示2:1的水平采样,垂直完全采样
  • 4:2:0 — 表示2:1的水平采样,垂直2:1采样
  • 4:1:1 — 表示4:1的水平采样,垂直完全采样

最常用的Y:UV记录的比重通常1:1或者2:1

  • DVD-Video是以YUV 4:2:0的方式记录,也就是我们俗称的I420

YUV420并不是说只有U(Cb),V(Cr)一定为0,而是指U:V互相援引,时见时隐,也就是说对于每一行,只有U或者V份量

  • 如果一行为4:2:0
  • 下一行为4:0:2
  • 在下一行4:2:0
  • 以此类推

至于其他常见的YUV格式有

  • YUY2
  • YUYV
  • YVYU
  • UYVY
  • AYUV
  • Y41P
  • Y411
  • Y211
  • IF09
  • IYUV
  • YV12
  • YVU9
  • YUV411
  • YUV420
  • 等等

YUY2及常见表示方法

YUY2(和YUYV)格式为像素保留Y,而UV在水平空间上相隔二个像素采样一次(Y0 U0 Y1 V0),(Y2 U2 Y3 V2)…其中,(Y0 U0 Y1 V0)就是一个macro-pixel(宏像素),它表示了2个像素,(Y2 U2 Y3 V2)是另外的2个像素。

以此类推,再如:Y41P(和Y411)格式为每个像素保留Y分量,而UV分量在水平方向上每4个像素采样一次。一个宏像素为12个字节,实际表示8个像素。图像数据中YUV分量排列顺序如下:(U0 Y0 V0 Y1 U4 Y2 V4 Y3 Y4 Y5 Y6 Y7)…

YVYU UYVY

YVYU, UYVY格式跟YUY2类似,只是排列顺序有所不同。Y211格式是Y每2个像素采样一次,而UV每4个像素采样一次。AYUV格式则有一Alpha通道。

YV12

YV12格式与IYUV类似,每个像素都提取Y,在UV提取时,将图像2 x 2的矩阵,每个矩阵提取一个U和一个V。YV12格式和I420格式的不同处在V平面和U平面的位置不同。在YV12格式中,V平面紧跟在Y平面之后,然后才是U平面(即:YVU);但I420则是相反(即:YUV)。NV12与YV12类似,效果一样,YV12中U和V是连续排列的,而在NV12中,U和V就交错排列的。

排列举例: 2*2图像YYYYVU; 4*4图像YYYYYYYYYYYYYYYYVVVVUUUU

转换RGB