笔记:YUV444、YUV422、YUV420、YU12、YV12、NV12、NV21的区别

介绍
YUV444:指在采样时,Y、U、V采样的比例相同,每个像素占用的分量相同
YUV422:指在采样时,Y 和 UV 分量按照 2: 1 的比例采样,每两个 Y 分量公用一组 UV 分量。
YUV420:指在采样时,Y 和 UV 分量按照 4: 1 的比例采样,每四个Y共用一组UV分量。
YU12:YUV420p格式。在 Android 平台上也叫做 I420,先排列Y,接着排列U和V。
YV12:YUV420p格式。先排列Y,接着排列V和U。
NV12:YUV420sp格式。一般适用于 iOS 平台,先排列Y,UV交替存储。
NV21:YUV420sp格式。Android 平台摄像头采集的预览数据一般都是 NV21 ,先排列Y,VU交替存储。
排列方式(以6*4图像为例)
YUV444

Y Y Y Y Y Y 
Y Y Y Y Y Y 
Y Y Y Y Y Y 
Y Y Y Y Y Y 
U U U U U U
U U U U U U
U U U U U U
U U U U U U
V V V V V V
V V V V V V
V V V V V V
V V V V V V

YUV422

Y Y Y Y Y Y 
Y Y Y Y Y Y 
Y Y Y Y Y Y 
Y Y Y Y Y Y 
U U U U U U
U U U U U U
V V V V V V
V V V V V V

YU12

Y Y Y Y Y Y 
Y Y Y Y Y Y 
Y Y Y Y Y Y 
Y Y Y Y Y Y 
U U U U U U
V V V V V V

YV12

Y Y Y Y Y Y 
Y Y Y Y Y Y 
Y Y Y Y Y Y 
Y Y Y Y Y Y 
V V V V V V
U U U U U U

NV12

Y Y Y Y Y Y 
Y Y Y Y Y Y 
Y Y Y Y Y Y 
Y Y Y Y Y Y 
U V U V U V 
U V U V U V 

NV21

Y Y Y Y Y Y 
Y Y Y Y Y Y 
Y Y Y Y Y Y 
Y Y Y Y Y Y 
V U V U V U
V U V U V U

存储空间(以6*4图像为例)

YUV444:Y、U、V各占8bit,总占用=(6 * 4 + 6 * 4 * 2)= 72字节
YUV422:Y占8bit、UV各占4bit,总占用=(6 * 4 + 6 * 4 / 2 * 2)= 48字节
YUV420:Y占8bit、UV各占2bit,总占用=(6 * 4 + 6 * 4 / 4 * 2)= 36字节
I420:等同于YUV420,36字节
YV12:等同于YUV420,36字节
NV12:等同于YUV420,36字节
NV21:等同于YUV420,36字节
 

存储格式

planar 平面格式:指先连续存储所有像素点的 Y 分量,然后存储 U 分量,最后是 V 分量。
       (以YU12格式6*4图像为例)  Y Y Y Y Y Y  
                               Y Y Y Y Y Y
                               Y Y Y Y Y Y
                               Y Y Y Y Y Y
                               U U U U U U
                               V V V V V V
 
packed 打包模式:指每个像素点的 Y、U、V 分量是连续交替存储的。
       (以YU12格式6*4图像为例)  Y Y U Y Y V
                               Y Y U Y Y V
                               Y Y U Y Y V 
                               Y Y U Y Y V
                               Y Y U Y Y V
                               Y Y U Y Y V

猜你喜欢

转载自blog.csdn.net/qq_39436605/article/details/131727533