YUV数据格式

Y表示亮度,U表示RGB输入信号红色部分与RGB信号亮度值之间的差异,V表示RGB输入信号蓝色部分与RGB信号亮度值之间的差异,即色差信号。用YUV格式表示图像时,可以把亮度和颜色分离,是为了兼容彩色电视机和黑白电视机。

下图显示了UV取不同值对应的颜色


YUV格式和RGB格式可以通过如下线性变换转化。

Y =  0.299*R + 0.587*G + 0.114*B;

U = -0.169*R - 0.331*G + 0.5  *B;

V =  0.5  *R - 0.419*G - 0.081*B;

R = Y + 1.4075 * (V-128); 

G = Y - 0.3455 * (U-128) - 0.7169*(V-128); 

B = Y + 1.779 * (U-128); 

采样方式不同

因为眼睛对于亮度的敏感程度要大于色度的敏感程度,所以为了压缩存储空间,可以降低UV分量的采样率,下图显示了各种采样率对应的细分格式

存储方式不同

下面列出,常见几种YUV格式的数据在内存中排列分布。

1、YUV444

(1)YUV444p:YYYYYYYYY VVVVVVVVV UUUUUUUU

2、YUV422

(1)YUV422p:YYYYYYYY VVVV UUUU

(2)YUVY:YUYV YUYV YUYV YUYV

(3)UYVY:UYVY UYVY UYVY UYVY

3、YUV420

(1)YUV420p:

YV12:YYYYYYYY VV UU

I420:YYYYYYYY UU VV

(2)YUV420sp:

NV12:YYYYYYYY UVUV(用在iOS系统)

NV21:YYYYYYYY VUVU(用在Android系统)

你可能感兴趣的:(YUV数据格式)