YUV格式小结

导语

今天跟大家分享的这篇文章,也是之前自己总结的,大致就是想说明一下,视频的裸数据yuv格式的各种分类。
刚开始接触yuv的时候,笔者就被形形色色的各种各样的yuv格式弄得一头雾水。因此也决心好好梳理一下这部分知识。当时感觉对各个格式已经比较清楚了。正好现在又要有相关的开发,因此决定复习复习。
希望这篇总结能对大家有所帮助

内容

☞ 对格式采样的理解

提出yuv格式的原因,是为了解决彩色电视和黑白电视兼容性问题,因此从rgb的颜色空间,转换为yuv的颜色空间,其中y代表亮度,u和v代表色度。
yuv种类分为很多,可以理解是一个二维的,即空间间,和空间内,这样的表述,借鉴了h264中的帧间和帧内的思想

为什么这么说呢?
下面分别从这两种情况阐述一下这个观点:

空间-间:不同空间,即描述一个像素的bit数不同,比如yuv444,yuv422,yuv411,yuv420

空间-内:相同空间,即描述一个像素的bit数相同,但是存储方式不同,比如对于yuv420而言,又可细分为yuv420p,yuv420sp,nv21,nv12,yv12,yu12,I420

因此,我们在理解yuv格式时,时刻需要记住要从bit数,和存储结构两方面考察

☞ 对于4的理解

为什么yuv444,yuv420,yuv422,yuv411都是用的4呢?

我仔细的研究了一下,
首先yuv的命名方式和rgb的命名方式是不相同的,如果是rgb4444,这里的数字代表的是不同颜色分量所占的bit数
这里,rgb4444代表alpha 4bit,red 4bit,green 4bit,blue 4bit,从宏观上看,是16bit,也就是2字节,但是从微观上看,是以bit区分的

yuv的命名方式则不是这种情况,yuv不会分细到bit级别,最低最低的单位,也是1字节,即8bit,说到这里,就会抛出一个问题,
难道每个像素点都需要至少1字节的整数倍来描述吗?
如果说描述的最小单位是1字节,那么每个像素都是由y,u,v共同描述的,难道说明每个像素点至少都是

1字节y+1字节u+1字节v = 3字节

来描述吗?显然这是不合理的,因为人眼对y是很敏感的,但是u和v是可以在一定程度上压缩的,也就是说,同一个像素点,u和v的描述可以小于1字节,那么这是不是和最小单位为一字节矛盾呢?答案是不矛盾,因为用到了共享的思想,这是yuv和rgb的本质区别

rgb是一个像素是一个家庭,家庭成员是r,g,b,但是yuv是若干像素是一个家庭,不同像素的y共享同一个u和v,这样,引入了共享的思想,虽然最小单位是一个字节,但实际上描述一个像素点的字节,不一定是字节的整数倍

该进入正题了,为什么是4?因为这个4,实际上表达了共享的最大单位!也就是最多4个像素进行共享,因此4实际上是隐含的采样全集

☞ 不同空间下yuv格式

这里从空间的角度考虑yuv格式

① yuv444

那么yuv444代表什么呢?就是最完整的最理想的最奢侈的状态,

[ 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 ]

这无疑是最理想的状态了y,u,v都为4,说明大家都是满的

② yuv422

那么,yuv422呢?说明这里,u由4变为2,v由4变为2,也就是在原来满的情况下,每行需要去掉两个u和两个v
如何去掉呢?最简单的方法就是第一个点保留u,第二个点保留v,第三个点保留u,第四个点保留v ..

图示如下:

[ 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 ]

也就是两个像素点共享uv

③ yuv411

yuv411又是什么情况呢?显然在原来yuv422的基础上,每行再去掉一个u和一个v

图示如下:

[ 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 ]

也就是四个像素点共享uv

④ yuv420

yuv420的意思似乎是在yuv422的基础上,再拿掉两个v,这样不就没有v了吗?
其实yuv420的取名方式不是很高明,更确切的命名为yuv420yuv402
也就是第一行只有两个u,而第二行只有两个v

图示如下:

[ y u ] [ y ] [ y u ] [ y ]
[ y v ] [ y ] [ y v ] [ y ]
[ y u ] [ y ] [ y u ] [ y ]

[ y v ] [ y ] [ y v ] [ y ]

仔细体会yuv420和yuv411的区别
对于yuv420而言,这个家庭的成员为

[ y u ] [ y ]
[ y v ] [ y ]

也是四个像素点共享uv,但是这个家庭显然比yuv411的家庭关系更近一些

思考:从这个课题讨论来看,我们是否可以进一步提高yuv的压缩效率?可以更多y共享uv吗?可以自适应吗?

小结:从这里可以看出,yuv211和yuv422显然格式上是不一样的,因此这里的数字不仅仅代表了比例,还代表了实际的值

☞ 三种格式packet,planar,semi-plane

在这一课题,我们探讨一下相同bit数的不同存储格式,主要讨论yuv422和yuv420

packet是打包格式,即存储yuv,然后再存储下一个yuv ..
planar是平面格式,即先存储y平面,再存储u平面,最后存储v平面
semi-planar是两个平面,正常的planar是三个平面,即y平面,u平面,v平面,现在的semi-planar是两个平面,也就是说uv为同一个平面,即一个y平面,一个uv平面

① yuv422

yuyv(yuy2)

[ y u ] [ y v ] [ y u ] [ y v ]
[ y u ] [ y v ] [ y u ] [ y v ]
[ y u ] [ y v ] [ y u ] [ y v ]
[ y u ] [ y v ] [ y u ] [ y v ]

uyvy

[ u y ] [ v y ] [ u y ] [ v y ]
[ u y ] [ v y ] [ u y ] [ v y ]
[ u y ] [ v y ] [ u y ] [ v y ]
[ u y ] [ v y ] [ u y ] [ v y ]

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 ]

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 ]

② yuv420

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 ]

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 ]

☞ 对nv系列理解

常见的有nv12,nv21,nv16,nv61等,这里代表什么意思呢?
其实nv系列,都属于semi-plane系列

这里nv12表示正常的顺序,即uv plane,先是u,然后是v
而nv21表示相反的顺序,即uv plane,先是v,然后是u

同样,nv16和nv61的区别也是仅仅是uv的次序而已

这里的12和16又代表什么呢?实际上代表的是一个像素所占的位数!
以nv12为例,表示一个像素占用12bit,其中y是定死的占8bit,也就是u占2bit,v占2bit,实际上就是yuv420格式,具体而言是yuv420sp格式
nv16,则表示一个像素占用16bit,其中y是定死的8bit,也即是u占4bit,v占4bit,实际上就是yuv422格式,具体而言是yuv422sp格式

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

推荐阅读更多精彩内容

  • 由于H.264等压缩算法都是在YUV的颜色空间上进行的,所有在进行压缩前,首先要进行颜色空间的转换。如果摄像头采集...
    眷卿三世阅读 13,478评论 2 6
  • 1)YUV简介 YUV格式有两大类:planar和packed。 对于planar的YUV格式,先连续存储所有像素...
    片片碎阅读 38,869评论 9 33
  • 转自:http://www.cnblogs.com/azraelly/archive/2013/01/01/284...
    rickytang0阅读 856评论 0 1
  • 对于我爸来说,他最骄傲的事不是培养了两个大学生,而是他终于成功的把两个女儿都送进了城市里的写字楼。 我可以保证,这...
    雕虫妹妹阅读 335评论 0 2
  • 自从13年接触到魅族mx2就深深的爱上了你,14年购入mx3, 15年购入魅蓝metal, 现在要抢魅蓝note3...
    洪利阅读 119评论 0 0