YUV 色彩模型
YUV 色彩模型,又被称为「亮度-色度模型」(Luma-Chroma),用一个 Y 通道记录亮度(Luma),两个通道,即 U,V 来记录色度,U,V 两个通道被并称为色度通道(Chroma)。YUV 模型的色度通道可以选择不同的颜色,其中最常用的被称作 YCbCr 模型,包含一个亮度(Y)通道,一个蓝色色度(Cb)通道,以及一个红色色度(Cr)通道。
YUV模型优势
YUV 模型,在广播电视信号,视频编码,以及图像领域的加工和存储中都有广泛的应用,几乎所有的视频格式,以及 JPEG 图像格式都是基于 YCbCr 模型的。
使用 YUV 色彩模型有以下优势:
对于电视行业来说,YUV 可以向后兼容黑白信号,即只显示 Y 通道
节省空间:人眼对亮度的敏感远高于色度,换言之,人眼看到的大部分有效信息来源于亮度。使用 YUV 模型的话,可以将 Y 通道以全分辨率记录,U,V 通道以小得多的分辨率记录,这样虽然丢失了部分色度信息,但观感相似,且可以节省大量存储空间和传输带宽。
色度抽样,444 422 与 420
在数码图像处理领域中,可以通过将 Y 通道以全分辨率记录,U,V 通道以小得多的分辨率记录的方式来节省带宽和存储空间,这个过程被称为「色度抽样」Chroma Subsampling。
而 444,422,420 就是用来表示抽样系统和比例的一个比值,正确写法应该是 4:4:4, 4:2:2, 4:2:0。
这个比值(J:a:b)的意义为
J:抽样的参照宽度,通常为 4
a:在 J 个像素中,第一行的色度抽样数目(Cr,Cb)
b:在 J 个像素中,第二行中额外的色度抽样数目(Cr,Cb)
4:4:4
444 下,它的 Y,U,V 三通道都是全分辨率。
4:2:2
4:2:2 意味着每一行色度通道都会进行采样,且亮度通道与色度通道的像素比例是 4:2,也就是 2:1。
因此,它的色度通道具有亮度通道 1/2 的横向分辨率,与全部的垂直分辨率(每行都采样)。
每个色度通道(Cb,Cr)的分辨率是亮度通道(Y)的一半。
数据量为:Y(100% 分辨率)+U(50% 分辨率)+V(50% 分辨率) 在不对视频进行额外压缩的情况下,采用这个格式可以节省 1/3 的传输带宽。
4:2:0
这个格式是日常中最常见的了,绝大多数的民用摄像机,相机,手机录制的视频都是采用这个格式。
逐行扫描(Progressive):每一行都会进行扫描
隔行扫描(Interlace):扫描一次,隔一行,再扫描一次。
4:2:0 又被称为 I420,意味着它的色度采样是隔行进行的,进行一次色度采样,跳过一行,再进行下一次色度采样,对于采样行来说它也是每 4 个像素采样生成 2 个像素,但由于每两行采样一次,色度通道仅有一半的水平分辨率和一半的垂直分辨率。
数据量为:Y(100% 分辨率)+U(25% 分辨率)+V(25% 分辨率) 在不对视频进行额外压缩的情况下,采用这个格式可以节省 1/2 的传输带宽。
YUV存储格式
存储分为planar格式(按照顺序存储,即YYYYYUUUUUVVVVV)和packed格式(存储存在交错)
典型格式
YUV420p_I420 YYYYYYYY UU VV planar
YUV420p_YV12 YYYYYYYY VV UU planar
YUV420sp_ NV12 YYYYYYYY UV UV Y是planar采样,UV是packet采样
YUV420sp_ NV21 YYYYYYYY VU VU Y是planar采样,UV是packet采样