YUV

网上讲的够多了,贴个详细的讲解

理解YUV

YUV图片?

每个图片由像素点构成,YUV图片就是由Y,U,V三个维度来确定一个像素点。

所谓YUV420,YUV422是什么?

指的是采样频率,YUV420指的是每四个一组,Y采集4次,U采集2次,V采集0次
YUV420并不是V不采集,而是
第一行:Y采集4次,U采集2次,V采集0次
第二行:Y采集4次,U采集0次,V采集2次
第三行:Y采集4次,U采集2次,V采集0次
第四行:Y采集4次,U采集0次,V采集2次
.....
图片显示时,每上下左右四个Y共享一组UV

举例:

原图:
[Y0 U0 V0][Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
[Y5 U5 V5][Y6 U6 V6] [Y7 U7 V7] [Y8 U8 V8]
(每个中括号当中为一个像素点的Y、U、V三个维度)

原图采样后数据流:
Y0 U0 Y1 Y2 U2 Y3
Y5 V5 Y6 Y7 V7 Y8
(如上述,每四个一组,Y采集4次,U采集2次,V采集0次 \ Y采集4次,U采集0次,V采集2次

图片显示:
[Y0 U0 V5][Y1 U0 V5][Y2 U2 V7][Y3 U2 V7]
[Y5 U0 V5][Y6 U0 V5][Y7 U2 V7][Y8 U2 V7]
(如上述,每上下左右四个Y共享一组UV,Y0 Y1 Y5 Y6四个Y共享 U0 V5 这一组UV)

同理,YUV422,YUV411,YUV410,YUV444这些都是采样率与存储的方式。
YUV422指的是每四个一组,Y采集4次,U采集2次,V采集2次
YUV411指的是每四个一组,Y采集4次,U采集1次,V采集1次
YUV410指的是
第一行:Y采集4次,U采集1次,V采集0次
第二行:Y采集4次,U采集0次,V采集1次
YUV444指的是.....

所以对于RGB图来说,一个像素点由R、G、B三个维度来构成,假设每个维度都由8bit(一个字节)来表示,
也就是说 R 维度有256个不同的值,256个不同的大小;
也就是说 G 维度有256个不同的值,256个不同的大小;
也就是说 B 维度有256个不同的值,256个不同的大小。
所以RGB图的一个像素点,内存中占用的大小为 1个字节+1个字节+1个字节,也就是3个字节。
而YUV因为采样率不同,采样率低的图,所占用的内存大小要比RGB小很多。
例如YUV420图,因为每四个Y共享一组UV,假设每个维度都由8bit(一个字节)来表示,那么一个像素所占的内存大小只有一个Y,1/4个U,1/4个V。
一个像素的大小就是1字节+1/4字节+1/4字节,也就是1.5个字节,比RGB图要小一倍。

例如:

安卓手机中使用的NV21格式的yuv图就是YUV420。
这张图的大小,就是 2384x5424x1.5 = 19,396,224 字节


YUV图

所谓NV21,NV12,YV12是什么?
是YUV图片的存储方式。在最上面的连接中有介绍。
例如NV12,他是YUV420格式的一种在文件/内存中的存储方式,特点是先存Y,后存UV,数据矩阵长这样:
NV21和NV12差别不大,就是UV组存储时,NV12先U后V,NV21先V后U。
其余的有各种不同的存储方式,详细在最上的连接中。

NV12数据矩阵

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文章参考: 图文详解YUV420数据格式 YUV主要采样格式理解 YUV格式详解 百度百科和维基百科 概述 本文基...
    Felix_lin阅读 3,698评论 0 5
  • 什么是YUV YUV是一种色彩空间的模型,基于YUV格式的颜色编码,是流媒体的常用编码方式。如我们平时看到的彩色电...
    浮晓悠羡阅读 6,357评论 1 5
  • 一:介绍 YUV是被欧洲电视系统所采用的一种颜色编码方法(属于PAL),是PAL和SECAM模拟彩色电视制式采用的...
    星_025f阅读 925评论 0 0
  • 背景 一般视频采集芯片采集到数据都是按照YUV格式输出,包括很多现在很多的相机。所以对音视频开发者来说,掌握YUV...
    小毛驴Jim阅读 616评论 0 1
  • 转自:http://www.cnblogs.com/azraelly/archive/2013/01/01/284...
    rickytang0阅读 905评论 0 1