我们了解到YUV有两种分类方式,即“空间-间”和“空间-内”,“空间-间”划分方式主要体现在Y、U、V的比例不同;“空间-内”的划分主要体现在Y、U、V的比例一定,存储格式不同,本文从“空间-内”对YUV进行划分了解
YCbCr可以理解为U(即Cb)、V(Cr)
YUV空间-内划分
YUV按照空间-内(YUV比例一定,存储格式不同)划分,packet,planar,semi-planar三种
- packet:打包格式,即先存储一个YUV,再存储下一个YUV。YUV渲染
- planar:平面格式,即先存储一个Y平面,再存储一个U平面,再存储一个V平面。 y-u-v渲染
- semi-planar:先存储Y平面,再寻出UV平面。y-uv渲染
下面针对“空间-间”中划分讲解存储格式,NV系列都是semi-planar存储格式。“12”和“16”代表先U后V。12和16表示
YUV422的存储格式
YUYV、UVUY、YU16,YU61、NV16、NV61
每4个Y采用,分别有2个U和V采用,看存储有何区别
字节比例相同
YUYV
YUYV为YUV422采用的存储格式的一种,相邻的两个Y共用其相邻的两个Cb、Cr。
平面格式
[YU][YV][YU][YV]
[YU][YV][YU][YV]
[YU][YV][YU][YV]
[YU][YV][YU][YV]
UVUY
UVUY也是YUV422采用的存储格式一种,和YUYV不同的是,UV排列顺序不一样
[UY][VY][UY][VY]
[UY][VY][UY][VY]
[UY][VY][UY][VY]
[UY][VY][UY][VY]
YUV422P
YUV422P中的“p”指的是平面格式,
YU16
yyyy
yyyy
yyyy
yyyy
uuuu
uuuu
vvvv
vvvv
YU61和YU16是排列顺序不一样
YU61
yyyy
yyyy
yyyy
yyyy
vvvv
vvvv
uuuu
uuuu
YUV422SP
YUV422SP中“SP”值得是上面semi-planar存储方式
如果uv顺序颠倒,会形成YUV422SP中
NV16
yyyy
yyyy
yyyy
yyyy
uvuv
uvuv
uvuv
uvuv
NV61
yyyy
yyyy
yyyy
yyyy
vuvu
vuvu
vuvu
vuvu
YUV420存储格式
4个Y采样点,匹配1个U和1个V
YV12、YU12、NV12、NV21
YUV420P
YU12
yyyy
yyyy
yyyy
yyyy
uu
uu
vv
vv
YV12
yyyy
yyyy
yyyy
yyyy
vv
vv
uu
uu
YUV420SP
NV12
yyyy
yyyy
yyyy
yyyy
uvuv
uvuv
NV21
yyyy
yyyy
yyyy
yyyy
vuvu
vuvu
网友评论