一、定义
- “Y”代表明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V”其实是指CbCr,表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
- 人眼对色度的敏感程度要低于对亮度的敏感程度,可以在一定程度上压缩UV,以达到降低带宽的目的,YUV 方式传送几乎只占用约一半的频宽,而画质却几乎保留九成以上。名称为YUV4xx,表示共享的最大单位为4,即UV最多可共享给4个Y。
查看工具:http://www.realrace.cn/YUVEye.php
格式汇总:https://www.fourcc.org/yuv.php
二、采样格式
1. YUV444:最“富裕”状态,UV无删减
每行YUV都为4个,“全”采样。
[ y u v ] [ y u v ] [ y u v ] [ y u v ]
[ y u v ] [ y u v ] [ y u v ] [ y u v ]
[ y u v ] [ y u v ] [ y u v ] [ y u v ]
[ y u v ] [ y u v ] [ y u v ] [ y u v ]
2. YUV422:UV减半
UV最简单的减半方法就是第一个点保留U,第二个点保留V,交叉采样U和V,每两个像素点共享一个UV。
[ y u ] [ y v ] [ y u ] [ y v ]
[ y v ] [ y u ] [ y v ] [ y u ]
[ y u ] [ y v ] [ y u ] [ y v ]
[ y v ] [ y u ] [ y v ] [ y u ]
基本单位:
[ y u ] [ y v ] 或 [ y v ] [ y u ]
3. YUV411:UV数量为Y的1/4
基于YUV422,UV数量再减半,每四个像素点共享一个UV。
图示如下:
[ 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 ]
3.YUV420:误解颇深…
- YUV420格式接触过的都知道UV为Y的1/4(同YUV411),明明没有去掉U或V,为什么叫420呢?
- 现在我的理解是:4x4为例,每行采样2个U和0个V,或0个U和2个V,UV存在隔行采样关系。
YUV420从采样数量上讲实际上还是YUV411,可能420为了表示采样关系。
[ y u ] [ y ] [ y u ] [ y ]
[ y v ] [ y ] [ y v ] [ y ]
[ y u ] [ y ] [ y u ] [ y ]
[ y v ] [ y ] [ y v ] [ y ]
基本单位:
[ y u ] [ y ]
[ y v ] [ y ]
三、存储格式
packet,planar,semi-planar存储方式
- packed是打包格式,即存储YUV ,然后再存储下一个YUV ;
- planar是平面格式,三个平面即先存储Y平面,再存储U平面,最后存储V平面;
- semi-planar是两个平面,U、V是交叉存放的,也就是说UV为同一个平面,加一个Y平面。
1、YUV422
(1) YUV422p
- yu16
[ y y y y ]
[ y y y y ]
[ y y y y ]
[ y y y y ]
[ u u u u ]
[ u u u u ]
[ v v v v ]
[ v v v v ]
- yv16
[ y y y y ]
[ y y y y ]
[ y y y y ]
[ y y y y ]
[ v v v v ]
[ v v v v ]
[ u u u u ]
[ u u u u ]
(2) YUV422sp
- nv16
[ 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 ]
[ u v u v ]
- nv61
[ 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 ]
[ v u v u ]
2、YUV420
(1)YUV420p
- yu12(I420)
[ y y y y ]
[ y y y y ]
[ y y y y ]
[ y y y y ]
[ u u ]
[ u u ]
[ v v ]
[ v v ]
- yv12
[ y y y y ]
[ y y y y ]
[ y y y y ]
[ y y y y ]
[ v v ]
[ v v ]
[ u u ]
[ u u ]
(2)YUV420sp
- nv12
[ y y y y ]
[ y y y y ]
[ y y y y ]
[ y y y y ]
[ 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 ]
[ v u v u ]
[ v u v u ]
四、NV12/NV21/NV16/NV61
- 都是sp格式,U、V交叉存放,NV12或NV16存放正常顺序,即UV plane,否则VU plane;
- NV12:表示一个像素占用12bit,其中y占8bit,剩下U、V各占2bit,实际上就是yuv420sp格式;
- NV16:表示一个像素占用16bit,其中y占8bit,剩下U、V各占4bit,实际上就是yuv422sp格式。
待续。。