YUV 格式

YUV 格式

Y为0.5时,UV的色彩对应RGB色域
原图与Y、U、V的效果

上图从上到下分别是:原图,Y向量图片,U向量图片,V向量图片。

YUV 格式有两大类:Planar(平面格式) 和 Packed(打包格式)。

  • Planar:先连续存储所有像素点的 Y,紧接着存储所有像素点的 U,随后是所有像素点的 V。相当于将 YUV 拆分成三个平面 (plane) 存储。
  • Packed:每个像素点的 Y, U, V 是连续交替存储的。

YUV 分为三个分量,Y 表示亮度(Luminance),即灰度值;UV 表示色度(Chrominance),描述色彩和饱和度。

与我们熟知的 RGB 类似,YUV 也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有 UV 信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV 不像 RGB 那样要求三个独立的视频信号同时传输,所以用 YUV 方式传送占用极少的频宽。

YUV 的存储格式与其采样方式密切相关。

主流的采样方式有 4 种:YUV(4:4:4), YUV(4:2:2), YUV(4:2:0), YUV(4:1:1)

  • YUV 4:4:4 采样:每一个 Y 对应一组 UV 分量(4 个 Y 采样就对应 4 个 Cb 和 4 个 Cr 采样)。平均一个像素占用 8+8+8 = 24 位。
  • YUV 4:2:2 采样:每两个 Y 共用一组 UV 分量(4 个 Y 采样就对应 2 个 Cb 和 2 个 Cr 采样)。平均一个像素占用 8+4+4 = 16 位。
  • YUV 4:2:0 采样:每四个 Y 共用一组 UV 分量(4 个 Y 采样就对应 2 个 Cb 或 2 个 Cr 采样)。平均一个像素占用 8+4+0 = 12 位。
  • YUV 4:1:1 采样:每四个 Y 共用一组 UV 分量(4 个 Y 采样就对应 1 个 Cb 和 1 个 Cr 采样)。平均一个像素占用 8+2+2 = 12 位。

YUV411 这个格式很少使用,这里就不介绍了。

YUV444 格式

YUV444P

Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
Y9 Y10 Y11 Y12 Y13 Y14 Y15 Y16
Y17 Y18 Y19 Y20 Y21 Y22 Y23 Y24
Y25 Y26 Y27 Y28 Y29 Y30 Y31 Y32
U1 U2 U3 U4 U5 U6 U7 U8
U9 U10 U11 U12 U13 U14 U15 U16
U17 U18 U19 U20 U21 U22 U23 U24
U25 U26 U27 U28 U29 U30 U31 U32
V1 V2 V3 V4 V5 V6 V7 V8
V9 V10 V11 V12 V13 V14 V15 V16
V17 V18 V19 V20 V21 V22 V23 V24
V25 V26 V27 V28 V29 V30 V31 V32

YUV422 格式 ( YCbYCr / YUYV ,CbYCrY / UYVY / I422 ,422P , 422SP )

打包格式 (Packed) :YCbYCr / YUYV ,CbYCrY / UYVY / I422

平面格式 (Planar) :422P , 422SP

YCbYCr / YUYV

Y U Y V Y U Y V
Y1 U1 Y2 V1 Y3 U2 Y4 V2
Y5 U3 Y6 V3 Y7 U4 Y8 V4
Y9 U5 Y10 V5 Y11 U6 Y12 V6
Y13 U7 Y14 V7 Y15 U8 Y16 V8
Y17 U9 Y18 V9 Y19 U10 Y20 V10
Y21 U11 Y22 V11 Y23 U12 Y24 V12
Y25 U13 Y26 V13 Y27 U14 Y28 V14
Y29 U15 Y30 V15 Y31 U16 Y32 V16

CbYCrY / UYVY / I422

U Y V Y U Y V Y
U1 Y1 V1 Y2 U2 Y3 V2 Y4
U3 Y5 V3 Y6 U4 Y7 V4 Y8
U5 Y9 V5 Y10 U6 Y11 V6 Y12
U7 Y13 V7 Y14 U8 Y15 V8 Y16
U9 Y17 V9 Y18 U10 Y19 V10 Y20
U11 Y21 V11 Y22 U12 Y23 V12 Y24
U13 Y25 V13 Y26 U14 Y27 V14 Y28
U15 Y29 V15 Y30 U16 Y31 V16 Y32

YUV422P

Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
Y9 Y10 Y11 Y12 Y13 Y14 Y15 Y16
Y17 Y18 Y19 Y20 Y21 Y22 Y23 Y24
Y25 Y26 Y27 Y28 Y29 Y30 Y31 Y32
U1 U2 U3 U4 U5 U6 U7 U8
U9 U10 U11 U12 U13 U14 U15 U16
V1 V2 V3 V4 V5 V6 V7 V8
V9 V10 V11 V12 V13 V14 V15 V16

YUV422SP

Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
Y9 Y10 Y11 Y12 Y13 Y14 Y15 Y16
Y17 Y18 Y19 Y20 Y21 Y22 Y23 Y24
Y25 Y26 Y27 Y28 Y29 Y30 Y31 Y32
U1 V1 U2 V2 U3 V3 U4 V4
U5 V5 U6 V6 U7 V7 U8 V8
U9 V9 U10 V10 U11 V11 U12 V12
U13 V13 U14 V14 U15 V15 U16 V16

YUV420 格式( I420 / YU12 , YV12 , NV12 , NV21 )

分为:YUV420P ( I420 / YU12 , YV12 ),YUV420SP ( NV12 , NV21 )

YU12 是 I420 的别称,YV12 与之是 UV 顺序不同。

NV12 和 NV21 则是 UV 交织顺序不同。

I420 / YU12 (YUV420P)

又称 YU12 ( Y 后面紧跟着 V,位深为 12 )

Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
Y9 Y10 Y11 Y12 Y13 Y14 Y15 Y16
Y17 Y18 Y19 Y20 Y21 Y22 Y23 Y24
Y25 Y26 Y27 Y28 Y29 Y30 Y31 Y32
U1 U2 U3 U4 U5 U6 U7 U8
V1 V2 V3 V4 V5 V6 V7 V8

YV12 (YUV420P)

与 I420(YUV420P) 的 UV 存储顺序相反

Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
Y9 Y10 Y11 Y12 Y13 Y14 Y15 Y16
Y17 Y18 Y19 Y20 Y21 Y22 Y23 Y24
Y25 Y26 Y27 Y28 Y29 Y30 Y31 Y32
V1 V2 V3 V4 V5 V6 V7 V8
U1 U2 U3 U4 U5 U6 U7 U8

NV12 (YUV420SP)

UV 分量交织存储

Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
Y9 Y10 Y11 Y12 Y13 Y14 Y15 Y16
Y17 Y18 Y19 Y20 Y21 Y22 Y23 Y24
Y25 Y26 Y27 Y28 Y29 Y30 Y31 Y32
U1 V1 U2 V2 U3 V3 U4 V4
U4 V4 U5 V5 U7 V7 U8 V8

NV21 (YUV420SP)

VU 分量交织存储。与 YUV420P(NV12) 的 UV 交织存储顺序相反

Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
Y9 Y10 Y11 Y12 Y13 Y14 Y15 Y16
Y17 Y18 Y19 Y20 Y21 Y22 Y23 Y24
Y25 Y26 Y27 Y28 Y29 Y30 Y31 Y32
v1 U1 V2 U2 V3 U3 V4 U4
v4 U4 V5 U5 V7 U7 V8 U8

YUV 转 RGB

不管 YUV 的格式如何,最终得到的就是 Y、U、V 三个向量的值。

那么 Y、U、V 的数据如何转为 RGB 图片呢?毕竟 RGB 图片上有很多强大的算法。

YUV 与 RGB 的转换公式:

U 和 V 组件可以被表示成原始的 R、G,和 B:

从 RGB 到 YUV

如一般顺序,转移组件的范围可得到:

YUV范围

在逆转关系上,从 YUV 到 RGB,可得:

从 YUV 到 RGB

取而代之,以矩阵表示法(matrix representation),可得到公式:

RGB 转 YUV 的转换矩阵
YUV 转 RGB 的转换矩阵
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,924评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,902评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,716评论 0 239
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,783评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,166评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,510评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,784评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,476评论 0 196
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,196评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,459评论 2 243
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,978评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,321评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,964评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,046评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,803评论 0 193
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,530评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,420评论 2 265

推荐阅读更多精彩内容

  • 文章参考: 图文详解YUV420数据格式 YUV主要采样格式理解 YUV格式详解 百度百科和维基百科 概述 本文基...
    Felix_lin阅读 3,304评论 0 5
  • 导语 今天跟大家分享的这篇文章,也是之前自己总结的,大致就是想说明一下,视频的裸数据yuv格式的各种分类。刚开始接...
    bigonelby阅读 8,795评论 0 12
  • 目录 一、 YUV起源 二、 YUV的类型 三、 YUV的采样和存储格式 四、 YUV的相关Enum 五、 YUV...
    我心若氺阅读 26,157评论 4 41
  • 转自:http://www.cnblogs.com/azraelly/archive/2013/01/01/284...
    rickytang0阅读 842评论 0 1
  • 夕阳西下, 霞满天际。 宛若火凤, 涅槃展翅。
    柳若素阅读 155评论 1 0