YUV图片格式
# YUV定义
分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
# YUV格式的优点。
由于人眼对亮度敏感而对色度不敏感的特点,因此在YUV格式中减少了UV的数据量,在不影响用户观看的情况下有效的压缩了总体的数据量。所以YUV与RGB格式相比,占用更少的存储空间,相对应的在传输过程中也会减少带宽的消耗量。
# 常见的YUV格式
常见的YUV格式有YUV444、YUV422、YUV420。
- YUV444:每个Y有一个U,一个V。
- YUV422: 每两个Y有一个U,一个V。 水平方向2:1,UV缩减一半。
- YUV420: 每4个Y才有一个U和V。在422基础上,垂直方向也缩减一半。
# 大小计算
- YUV444:长x宽x3 每点有YUV三个量: (长x宽)x3
- YUV422:长x宽x2 每点有Y三个量:UV要除2,长x宽+(长x宽+长x宽)/2=长x宽x2
- YUV420:长x宽x3/2 每点有Y三个量:UV要除4,长x宽+(长x宽+长x宽)/2/2=长x宽+(长x宽)/2=长x宽x3/2
# planar、semi-Planar、packed\Interleaved格式
P: Planar,按平面分开放,先把U存放完后,再存放V。U是连续的,V也是连续的。YYYYYUUUUUVVVV
SP: semi-Planar 半平面,只有Y数据一个平面,UV数据合用一个平面。YYYYYUVUVUV…
Packed: 打包,YUV不各自成平面,而是形成YUV YUV这样的一个个包。
Interleaved: YUV全部由分开交错存放,YUV YUV YUV 个人理解Packed和Interleaved是一回事。
# YUV420SP存储示意图
# YUV420P存储示意图
# NV12 和 NV21
NV12 和 NV21 格式都属于 YUV420SP 类型。它也是先存储了 Y 分量,但接下来并不是再存储所有的 U 或者 V 分量,而是把 UV 分量交替连续存储。
以nv12为例,内存布局如图所示。
编辑 (opens new window)
上次更新: 2023/03/31, 22:34:04
- 01
- Linux系统移植(五)--- 制作、烧录镜像并启动Linux02-05
- 03
- Linux系统移植(三)--- Linux kernel移植02-05