概述
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等
- 紧缩格式中的YUV是混合在一起的,对于YUV4:2:2格式而言,用紧缩格式很合适,因此就有了
- 平面格式(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