YUV格式小結(jié)

導(dǎo)語

今天跟大家分享的這篇文章,也是之前自己總結(jié)的苛萎,大致就是想說明一下俯邓,視頻的裸數(shù)據(jù)yuv格式的各種分類。
剛開始接觸yuv的時(shí)候扎拣,筆者就被形形色色的各種各樣的yuv格式弄得一頭霧水赴肚。因此也決心好好梳理一下這部分知識。當(dāng)時(shí)感覺對各個(gè)格式已經(jīng)比較清楚了鹏秋。正好現(xiàn)在又要有相關(guān)的開發(fā)尊蚁,因此決定復(fù)習(xí)復(fù)習(xí)。
希望這篇總結(jié)能對大家有所幫助

內(nèi)容

? 對格式采樣的理解

提出yuv格式的原因侣夷,是為了解決彩色電視和黑白電視兼容性問題横朋,因此從rgb的顏色空間,轉(zhuǎn)換為yuv的顏色空間百拓,其中y代表亮度琴锭,u和v代表色度。
yuv種類分為很多衙传,可以理解是一個(gè)二維的决帖,即空間間,和空間內(nèi)蓖捶,這樣的表述地回,借鑒了h264中的幀間和幀內(nèi)的思想

為什么這么說呢?
下面分別從這兩種情況闡述一下這個(gè)觀點(diǎn):

空間-間:不同空間俊鱼,即描述一個(gè)像素的bit數(shù)不同刻像,比如yuv444,yuv422并闲,yuv411细睡,yuv420

空間-內(nèi):相同空間,即描述一個(gè)像素的bit數(shù)相同帝火,但是存儲方式不同溜徙,比如對于yuv420而言湃缎,又可細(xì)分為yuv420p,yuv420sp蠢壹,nv21嗓违,nv12,yv12知残,yu12靠瞎,I420

因此,我們在理解yuv格式時(shí)求妹,時(shí)刻需要記住要從bit數(shù)乏盐,和存儲結(jié)構(gòu)兩方面考察

? 對于4的理解

為什么yuv444,yuv420制恍,yuv422父能,yuv411都是用的4呢?

我仔細(xì)的研究了一下净神,
首先yuv的命名方式和rgb的命名方式是不相同的何吝,如果是rgb4444,這里的數(shù)字代表的是不同顏色分量所占的bit數(shù)
這里鹃唯,rgb4444代表alpha 4bit爱榕,red 4bit,green 4bit坡慌,blue 4bit黔酥,從宏觀上看,是16bit洪橘,也就是2字節(jié)跪者,但是從微觀上看,是以bit區(qū)分的

yuv的命名方式則不是這種情況熄求,yuv不會分細(xì)到bit級別渣玲,最低最低的單位,也是1字節(jié)弟晚,即8bit忘衍,說到這里,就會拋出一個(gè)問題卿城,
難道每個(gè)像素點(diǎn)都需要至少1字節(jié)的整數(shù)倍來描述嗎淑履?
如果說描述的最小單位是1字節(jié),那么每個(gè)像素都是由y藻雪,u,v共同描述的狸吞,難道說明每個(gè)像素點(diǎn)至少都是

1字節(jié)y+1字節(jié)u+1字節(jié)v = 3字節(jié)

來描述嗎勉耀?顯然這是不合理的指煎,因?yàn)槿搜蹖是很敏感的,但是u和v是可以在一定程度上壓縮的便斥,也就是說至壤,同一個(gè)像素點(diǎn),u和v的描述可以小于1字節(jié)枢纠,那么這是不是和最小單位為一字節(jié)矛盾呢像街?答案是不矛盾,因?yàn)橛玫搅斯蚕淼乃枷虢欤@是yuv和rgb的本質(zhì)區(qū)別

rgb是一個(gè)像素是一個(gè)家庭镰绎,家庭成員是r,g木西,b畴栖,但是yuv是若干像素是一個(gè)家庭,不同像素的y共享同一個(gè)u和v八千,這樣吗讶,引入了共享的思想,雖然最小單位是一個(gè)字節(jié)恋捆,但實(shí)際上描述一個(gè)像素點(diǎn)的字節(jié)照皆,不一定是字節(jié)的整數(shù)倍

該進(jìn)入正題了,為什么是4沸停?因?yàn)檫@個(gè)4膜毁,實(shí)際上表達(dá)了共享的最大單位!也就是最多4個(gè)像素進(jìn)行共享星立,因此4實(shí)際上是隱含的采樣全集

? 不同空間下yuv格式

這里從空間的角度考慮yuv格式

① yuv444

那么yuv444代表什么呢爽茴?就是最完整的最理想的最奢侈的狀態(tài),

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

這無疑是最理想的狀態(tài)了y绰垂,u室奏,v都為4,說明大家都是滿的

② yuv422

那么劲装,yuv422呢胧沫?說明這里,u由4變?yōu)?占业,v由4變?yōu)?绒怨,也就是在原來滿的情況下,每行需要去掉兩個(gè)u和兩個(gè)v
如何去掉呢谦疾?最簡單的方法就是第一個(gè)點(diǎn)保留u南蹂,第二個(gè)點(diǎn)保留v,第三個(gè)點(diǎn)保留u念恍,第四個(gè)點(diǎn)保留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 ]

在這張圖中六剥,顯然一個(gè)家庭的成員為

[ y u ] [ y v ]

也就是兩個(gè)像素點(diǎn)共享uv

③ yuv411

yuv411又是什么情況呢晚顷?顯然在原來yuv422的基礎(chǔ)上,每行再去掉一個(gè)u和一個(gè)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 ]

這個(gè)家庭的成員為

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

也就是四個(gè)像素點(diǎn)共享uv

④ yuv420

yuv420的意思似乎是在yuv422的基礎(chǔ)上疗疟,再拿掉兩個(gè)v该默,這樣不就沒有v了嗎?
其實(shí)yuv420的取名方式不是很高明策彤,更確切的命名為yuv420yuv402
也就是第一行只有兩個(gè)u栓袖,而第二行只有兩個(gè)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 ]

仔細(xì)體會yuv420和yuv411的區(qū)別
對于yuv420而言,這個(gè)家庭的成員為

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

也是四個(gè)像素點(diǎn)共享uv店诗,但是這個(gè)家庭顯然比yuv411的家庭關(guān)系更近一些

思考:從這個(gè)課題討論來看裹刮,我們是否可以進(jìn)一步提高yuv的壓縮效率?可以更多y共享uv嗎必搞?可以自適應(yīng)嗎必指?

小結(jié):從這里可以看出,yuv211和yuv422顯然格式上是不一樣的恕洲,因此這里的數(shù)字不僅僅代表了比例塔橡,還代表了實(shí)際的值

? 三種格式packet,planar霜第,semi-plane

在這一課題葛家,我們探討一下相同bit數(shù)的不同存儲格式,主要討論yuv422和yuv420

packet是打包格式泌类,即存儲yuv癞谒,然后再存儲下一個(gè)yuv ..
planar是平面格式,即先存儲y平面刃榨,再存儲u平面弹砚,最后存儲v平面
semi-planar是兩個(gè)平面,正常的planar是三個(gè)平面枢希,即y平面桌吃,u平面,v平面苞轿,現(xiàn)在的semi-planar是兩個(gè)平面茅诱,也就是說uv為同一個(gè)平面,即一個(gè)y平面搬卒,一個(gè)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等摆寄,這里代表什么意思呢?
其實(shí)nv系列,都屬于semi-plane系列

這里nv12表示正常的順序椭迎,即uv plane锐帜,先是u,然后是v
而nv21表示相反的順序畜号,即uv plane,先是v允瞧,然后是u

同樣简软,nv16和nv61的區(qū)別也是僅僅是uv的次序而已

這里的12和16又代表什么呢?實(shí)際上代表的是一個(gè)像素所占的位數(shù)述暂!
以nv12為例痹升,表示一個(gè)像素占用12bit,其中y是定死的占8bit畦韭,也就是u占2bit疼蛾,v占2bit,實(shí)際上就是yuv420格式艺配,具體而言是yuv420sp格式
nv16察郁,則表示一個(gè)像素占用16bit,其中y是定死的8bit转唉,也即是u占4bit皮钠,v占4bit,實(shí)際上就是yuv422格式赠法,具體而言是yuv422sp格式

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末麦轰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子砖织,更是在濱河造成了極大的恐慌款侵,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侧纯,死亡現(xiàn)場離奇詭異新锈,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)茂蚓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門壕鹉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人聋涨,你說我怎么就攤上這事晾浴。” “怎么了牍白?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵脊凰,是天一觀的道長。 經(jīng)常有香客問我,道長狸涌,這世上最難降的妖魔是什么切省? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮帕胆,結(jié)果婚禮上朝捆,老公的妹妹穿的比我還像新娘。我一直安慰自己懒豹,他們只是感情好芙盘,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著脸秽,像睡著了一般儒老。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上记餐,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天驮樊,我揣著相機(jī)與錄音,去河邊找鬼片酝。 笑死囚衔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的钠怯。 我是一名探鬼主播佳魔,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼晦炊!你這毒婦竟也來了鞠鲜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤断国,失蹤者是張志新(化名)和其女友劉穎贤姆,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稳衬,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡霞捡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了薄疚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碧信。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖街夭,靈堂內(nèi)的尸體忽然破棺而出砰碴,到底是詐尸還是另有隱情,我是刑警寧澤板丽,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布呈枉,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏猖辫。R本人自食惡果不足惜酥泞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望啃憎。 院中可真熱鬧芝囤,春花似錦、人聲如沸辛萍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叹阔。三九已至,卻和暖如春传睹,著一層夾襖步出監(jiān)牢的瞬間耳幢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工欧啤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留睛藻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓邢隧,卻偏偏與公主長得像店印,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子倒慧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 由于H.264等壓縮算法都是在YUV的顏色空間上進(jìn)行的按摘,所有在進(jìn)行壓縮前,首先要進(jìn)行顏色空間的轉(zhuǎn)換纫谅。如果攝像頭采集...
    眷卿三世閱讀 13,547評論 2 6
  • 1)YUV簡介 YUV格式有兩大類:planar和packed炫贤。 對于planar的YUV格式,先連續(xù)存儲所有像素...
    片片碎閱讀 38,957評論 9 33
  • 轉(zhuǎn)自:http://www.cnblogs.com/azraelly/archive/2013/01/01/284...
    rickytang0閱讀 859評論 0 1
  • 對于我爸來說付秕,他最驕傲的事不是培養(yǎng)了兩個(gè)大學(xué)生兰珍,而是他終于成功的把兩個(gè)女兒都送進(jìn)了城市里的寫字樓。 我可以保證询吴,這...
    雕蟲妹妹閱讀 339評論 0 2
  • 自從13年接觸到魅族mx2就深深的愛上了你掠河,14年購入mx3, 15年購入魅藍(lán)metal, 現(xiàn)在要搶魅藍(lán)note3...
    洪利閱讀 121評論 0 0