图像色彩表示方法:YUV、YCbCr
图像色彩表示方法:YUV、YCbCr
本篇主要是图像色彩表示方法:YUV、YCbCr
YUV、YCbCr图像:每一个像素点由Y(亮度)、UV(色度)或者CbCr(色度)来构成。YUV是早期用于模拟彩色电视的编码,YCbCr是数字图像的编码。在目前的设计中,很多人将YUV和YCbCr混着说,大多数情况下,一般是指YCbCr。通过对Y、Cb、Cr的量化,一般也会采用8bit对他们进行表示。
YUV、RGB两种表示方式是相对比较常用的;还有其他的表示方式,例:HSV/HSL(色相、饱和度、明度/亮度------修图软件)、CMYK(印刷输出)等(在此不再一一叙述)。
YUV(YCbCr)444、422、420等格式说明
简单来说:人眼对亮度(Y)极其敏感,但对色彩(Cb/Cr)的细节分辨力较弱。因此,我们可以保留完整的亮度,但丢弃大部分色彩细节,在几乎不影响视觉体验的情况下,将数据量压缩到原来的一半甚至三分之一。
此时的444、422、420与RGB888中的888不同,并不是表示量化比特数。
YUV 4:4:4、4:2:2、4:2:0 是什么?它们是色度子采样格式。
它们代表什么数字?(通常,J : a : b 表示相对于亮度采样率对色度进行采样的比率)。
J = 水平采样参考(通常为4,表示亮度宽度)。
a = 第一行中 Cb/Cr 采样数(对于 4 像素宽度)。
b = 第二行中 Cb/Cr 采样数(与第一行相比的变化)。
4:4:4:没有子采样。每像素都有完整的 Y、Cb、Cr。
4:2:2:水平方向,色度减半。每 2 个像素共享一个 Cb/Cr对,垂直不变。
4:2:0:水平和垂直方向,色度减半。每 4 个像素(2x2 块)共享一个 Cb/Cr 对。
下图为422的理解示意图。
下图为420的理解示意图
YUV444:全分辨率。每个像素都有自己的 Y、U、V。数据量 = 100%(与 RGB 相比约 24bpp)。质量最好。适合后期制作、抠像(绿幕)、专业显示器。带宽巨大。
YUV422:水平采样减半。每两个水平像素共享一个Cb/Cr 对。数据量 = 2/3(约 16bpp)。质量损失极小(人眼难以察觉到水平颜色细节损失)。适合专业广播、HDMI 传输、高端消费级摄像机。
YUV420:水平和垂直采样均减半。每四个像素(2x2块)共享一个 Cb/Cr 对。数据量 = 1/2(约 12bpp)。是压缩效率最高的。适合网络视频(YouTube、Netflix)、蓝光、社交媒体。边缘处可能出现颜色伪影。
如果需要做图像处理时,需要将YUV422和YUV420转换为YUV444,即每个像素点都需要有YUV。
在进行传输时,一定要查看规定的传输要求,按照要求进行传输。例:YUV422在ITU-R BT.656 / BT.601 标准(标清视频接口):顺序为 Cb, Y, Cr, Y,周而复始。
想要了解更多信息,可以关注“郝旭帅电子设计团队”,想要获取源代码,可以联系作者。
本篇内容中有部分资源来源于网络,如有侵权,请联系作者。
如果您觉得文章还不错的话,可以点赞、收藏、加转发,感谢并祝好!
