分享

YUV格式详解

 晓理晓章 2021-05-22

1、什么是YUV?

YUV是指亮度参量和色度参量分开表示的像素格式,其中“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样能够显示完整的图像,只不过是黑白的,这样的设计很好的解决了彩色电视与黑白电视兼容的问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,YUV通过一些压缩手段,在用YUV方式传输时,占用的频带就减小了很多。

有的地方还会用YCbCr或者YPbPr来表示,其实概念是一样的。在DVD中,色度信号被存储成Cb和Cr(C代表颜色,b代表蓝色,r代表红色)。

2、YUV压缩的基础

由于我们眼睛的视网膜杆细胞多于视网膜的锥细胞,而视网膜的杆细胞是识别亮度的,锥细胞是识别色度的,所以我们的眼睛对于明暗的分辨要比对颜色的分辨要精细,也就是我们眼睛对于亮度的敏感程度要大于色度的敏感程度。那么,我们在存储图像信息时,为了节约空间,就没有必要将所有的色度信息全部存储下来了。

3、YUV的存储格式

YUV的格式有两大类:planar和packed。

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

对于packed的YUV格式,每个像素点的Y、U、V都是连续交叉存储的。

4、YUV的采样方式

YUV码流的存储格式与其采样方式有密切的关系,主流的采样方式有三种:YUV4:4:4、YUV4:2:2、YUV4:2:0。

下面三个图比较直观的显示了三种采样方式。其中黑点表示采样像素点的Y分量,空心圆表示采样像素点的UV分量。

5、存储方式

<1>YUYV格式(属于YUV422)

YUYV是YUV422采样的存储格式的一种,相邻的两个Y公用其相邻的两个Cb(U)、Cr(V)。对于像素点Y’00、Y’01而言,其Cb、Cr的值均为Cb00、Cr00,其他的像素点的YUV取值依次类推。

<2>UYVY格式(属于YUV422)

<3>YUV422P(属于YUV422)

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

<4>YUV420sp

<5>YUV420p

<6>YV12、YU12格式(属于YUV420)

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

注意,YU12与YV12的区别在于是先存U还是先存V。对于YU12来说,存储顺序是YUV,即YCbCr;对于YV12来说,存储顺序是YVU,即YCrCb。所以上图就是YV12了。

<7>NV12、NV21(属于YUV420)

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

注意,NV21与NV12的区别在于,在UV交替的存储中,NV12是UV(CbCr)交替存储,NV21是VU(CrCb)交替存储,所以上图显示的是NV21。而且NV12是IOS的模式,NV21是Android的模式。n 

参考文档

https://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html

http://silencewt./2015/04/29/YUV%E5%92%8CRGB%E6%A0%BC%E5%BC%8F%E5%88%86%E6%9E%90/

http://blog.csdn.net/ss182172633/article/details/50146435

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多