YUV色彩空间变换与采样格式

YUV实际上是一个家族, 除了YUV色彩空间外还有其他色彩空间, 如YIQ, YCbCr , YDbDr (YDbDr主要用于模拟信号)等,都是用于描述灰度和色差概念的。由于这些色彩空间与YUV 色彩空间极为类似, 虽然各不相同, 但习惯上仍称为YUV。由于人眼对亮度差异的敏感程度大于颜色差异的视觉特性,可以实现对 YUV存储数据进行采样压缩, 从而方便传输和处理。主要的采样格式有YUV444、YUV422、YUV420和YUV411。本文主要从YUV色彩空间和采样格式详细论述。

  1. YUV色彩空间

YUV色彩空间是一种基本的色彩空间, 用于PAL制和SECAM彩色电视制式,Y是指明视度, 即亮度( 实际上代表灰度值), 而U 和V 则是指色调,即描述图像色彩饱和度的属性。

YIQ色彩空间是从YUV色彩空间衍生而来的, 被北美电视系统所采用, 被NTSC选作为复合色彩视频标准。Y也是指颜色的明视度,即灰度。而I代表In-Phase(同相),Q代表Quadrature(积分), 它们表示了一种传输色彩信息的调制方法, 实际上也指色调, 只是与YUV略有不同。

YCrCb色彩空间则是在世界数字组件视频标准研制过程中作为ITU一RBT.601建议的一部分, 其实是YUV经过缩放和偏移的翻版。其中Y与YUV 中的Y含义一致, CbCr 同样都指色彩, 只是在表示方法上不同而已。在YUV家族中,YCbCr 是在计算机系统中应用最多的成员, 其应用领域很广泛,JPEG、MPEG均采用此格式。一般人们所讲的YUV大多是指YCbCr

YDbDr色彩空间被用作SECAM复合色彩视频的标准。同样,Y指颜色的明视度即灰度, 而DbDr表示颜色信息。它主要用于模拟信号, 在表示方法上与YUV稍有不同。

  1. YUV与RGB空间的相互变换

 

 

YCrCb与RGB的彩色空间变换关系也有:

          (9)

         (10)

这个(9)(10)RGB分别在取值范围为[0,255]的时候,对应的YUV值域范围Y,U,V~[0,255]

(7)和(8)RGB分别在取值范围为[0,255]的时候,对应的YUV值域范围Y~[16,235],U ~[16-240],V~[16-240]。

(7)(8)与(9)(10)区别是:量化与非量化的区别。

为防止搬运出错,将其原文公式截图附在上面以供查阅,使用时候注意小数点。论文在下面。自行补上哈。。。

  1. YUV采样格式

YUV采样格式有YUY2、YUYV、YVYU、UYVY、AYUV、Y41P、Y411、Y211、IF09、IYUV、YV12、YVU9、 YUV444、YUV422、YUV420和YUV411等等。主要采样格式有:YUV444、YUV422、YUV420和YUV411。如何根据其采样格式从码流中还原每个像素点的YUV值,只有正确地还原了每个像素点的YUV值,才能通过YUV与RGB的转换公式提取出每个像素点的RGB值,然后显示出来。这边主要介绍主流的采样格式,简介如下。

    (1) YUV 4:4:4采样,每一个Y对应一组UV分量。

    (2) YUV 4:2:2采样,每两个Y共用一组UV分量。

(3) YUV 4:2:0采样,每四个Y共用一组UV分量。

(3) YUV 4:1:1采样,每四个Y共用一组UV分量。

 

格式

存放的码流为:

主流采样方式

 

YUV444

Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3

YUV422

[Y0 U0 V0] [Y1 U1 V1]

YUV420

Y0 U0 Y1 Y2 U2 Y3

YUV411

Y0 U0 Y1 Y2 V2 Y3

  1. YUV码流的内存存储格式

YUV码流的存储格式其实与其采样的方式密切相关,YUV的内存存储格式通常有两大类:打包(Packed)格式和平面(Planar)格式。

对于Planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。

对于Packed的YUV格式,每个像素点的Y,U,V是连续交错存储的。

结合YUV采样格式对存储格式简单举例:

(1) YUVY 格式 (属于YUV422)

YUYV为YUV422采样的存储格式中的一种,相邻的两个Y共用其相邻的两个Cb、Cr,分析,对于像素点Y00、Y01 而言,其Cb、Cr的值均为 Cb00、Cr00,其他的像素点的YUV取值依次类推。

(2) UYVY 格式 (属于YUV422)

UYVY格式也是YUV422采样的存储格式中的一种,只不过与YUYV不同的是UV的排列顺序不一样而已,还原其每个像素点的YUV值的方法与上面一样。

(3) YUV422P(属于YUV422)

YUV422P也属于YUV422的一种,它是一种Plane模式,即平面模式,并不是将YUV数据交错存储,而是先存放所有的Y分量,然后存储所有的U(Cb)分量,最后存储所有的V(Cr)分量。其每一个像素点的YUV值提取方法也是遵循YUV422格式的最基本提取方法,即两个Y共用一个UV。比如,对于像素点Y'00、Y'01 而言,其Cb、Cr的值均为 Cb00、Cr00。

(4)YV12,YU12格式(属于YUV420)

YU12和YV12属于YUV420格式,也是一种Plane模式,将Y、U、V分量分别打包,依次存储。其每一个像素点的YUV数据提取遵循YUV420格式的提取方式,即4个Y分量共用一组UV。注意,上图中,Y'00、Y'01、Y'10、Y'11共用Cr00、Cb00,其他依次类推。

(5)NV12、NV21(属于YUV420)

 NV12和NV21属于YUV420格式,是一种two-plane模式,即Y和UV分为两个Plane,但是UV(CbCr)为交错存储,而不是分为三个plane。其提取方式与上一种类似,即Y'00、Y'01、Y'10、Y'11共用Cr00、Cb00。

总结与思考

RGB转YUV: 通常是RGB转YCbCr这个公式。注意这里也有量化和非量化的区别

YUV转RGB: 通常是需要结合图像YUV码流的内存存储格式。不确定的是YUV码流的内存存储格式是根据什么确定下来的。

参考文献

[1]   向方明,朱遵义,许敬,崔业兵.YUV到RGB颜色空间转换算法研究[J].现代电子技术,2012,35(22):65-68.

[2]   刘云粼,王树东.基于SSE2的YUV与RGB色彩空间转换[J].中国图象图形学报,2010,15(01):45-49.

[3]   邵丹,韩家伟.YUV与RGB之间的转换[J].长春大学学报,2004(04):51-53.

[4]   沈俊,葛燧和.计算机系统中的YUV[J].计算机工程,2000(01):94-96.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值