YUV小結(jié)

背景

一般視頻采集芯片采集到數(shù)據(jù)都是按照YUV格式輸出抹腿,包括很多現(xiàn)在很多的相機(jī)豆巨。所以對音視頻開發(fā)者來說,掌握YUV知識非常必要的池充。

RGB

RGB是一種顏色空間,以紅(R)綠(G)藍(lán)(B)三基色為坐標(biāo)缎讼。

YUV

YUV也是一種顏色空間收夸,一種編碼格式,當(dāng)初是為了兼容黑白電視和彩色電視機(jī)設(shè)計的血崭。

  • Y 表示明亮度(Luminance卧惜、Luma)厘灼,也就是灰階值。
  • U咽瓷、V 表示色度(Chrominance 或 Chroma)设凹,描述的是色調(diào)和飽和度

YUV采樣

YUV采樣格式有3種:

  • YUV444 采樣: 每1個Y分量對應(yīng)一組UV分量,一個像素共占用(8+8+8)bit = 3byte
  • YUV422 采樣: 每2個Y分量對應(yīng)一組UV分量茅姜,一個像素共占用(8+81/2 + 81/2)bit = 2byte
  • YUV420 采樣: 每4個Y分量對應(yīng)一組UV分量闪朱,一個像素共占用(8+81/4+81/4) = 1.5byte****

如下圖所示:
實(shí)心圓點(diǎn)表示Y分量,空心圓點(diǎn)表示UV分量


2019091109122264

分別介紹一下這三種格式:
YUV444

v2-a210bb73a7e4d9abfc84716798aab63e_1440w

四個像素為:
[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
采樣的碼流為:
Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3
映射出的像素點(diǎn)為:
[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
一張 1920 * 1280 大小的圖片钻洒,如果按照YUV444采樣奋姿,其存儲占用共
(192012808 + 192012808 + 192012808)/8/1024/1024 = 7.03M
這種采樣方式和RGB大小一樣
YUV422

v2-a99ba29d8f672a04128e98fd8be847ab_1440w

四個像素為:
[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
采樣的碼流為:
Y0 U0 Y1 V1 Y2 U2 Y3 U3
映射出的像素點(diǎn)為:
[Y0 U0 V1]、[Y1 U0 V1]素标、[Y2 U2 V3]称诗、[Y3 U2 V3]
一張 1920 * 1280 大小的圖片,如果按照YUV444采樣头遭,其存儲占用共
(192012808 + 1920128081/2 + 1920128081/2)/8/1024/1024 = 4.68M
相比于RGB寓免,節(jié)省了1/3空間
YUV420

v2-6811dfa7e2f914eee232b490a496e80e_1440w

圖像像素為:
[Y0 U0 V0]、[Y1 U1 V1]任岸、 [Y2 U2 V2]再榄、 [Y3 U3 V3] [Y5 U5 V5]狡刘、[Y6 U6 V6]享潜、 [Y7 U7 V7] 、[Y8 U8 V8]
?
采樣的碼流為:
Y0 U0 Y1 Y2 U2 Y3 Y5 V5 Y6 Y7 V7 Y8
?
映射出的像素點(diǎn)為:
[Y0 U0 V5]嗅蔬、[Y1 U0 V5]剑按、[Y2 U2 V7]、[Y3 U2 V7] [Y5 U0 V5]澜术、[Y6 U0 V5]艺蝴、[Y7 U2 V7]、[Y8 U2 V7]
一張 1920 * 1280 大小的圖片鸟废,如果按照YUV444采樣猜敢,其存儲占用共
(192012808 + 1920128081/4 + 1920128081/4)/8/1024/1024 = 3.51M
相比于RGB,節(jié)省了1/2空間

YUV存儲

YUV存儲方式分成兩種:

  • packed格式: 打包格式盒延,YUV分量交替存儲缩擂。
  • planar格式: 先連續(xù)存儲所有像素點(diǎn)Y分量,再存儲所有像素點(diǎn)的U分量添寺,最后存儲所有像素 點(diǎn)的V分量胯盯。

不同的采樣方式和不同存儲方式組合成很多格式,比如YUYV计露,UYVY,YUV420P,YUV420SP,YU12,YU21,NV12,NV21

YUYV
YUYV是YUV422打包格式博脑,采用打包格式進(jìn)行存儲憎乙,Y 和 UV 分量按照 2:1 比例采樣,每個像素都采集 Y 分量叉趣,每隔一個像素采集它的 UV 分量泞边。
存儲方式:
Y0 U0 Y1 V0 Y2 U2 Y3 V2
Y0 和 Y1 共用 U0 V0 分量,Y2 和 Y3 共用 U2 V2 分量君账。

UYVY
UYVY 也是 YUV422 采樣的存儲格式中的一種繁堡,只不過與 YUYV 排列順序相反。
U0 Y0 V0 Y1 U2 Y2 V2 Y3

YUV422P
YUV422P 屬于 YUV422 的一種乡数,它是一種 planer 模式椭蹄,即 Y、U净赴、V 分別存儲绳矩。

YUV420P 和 YUV420SP
YUV420P 是基于 planar 平面模式進(jìn)行存儲,先存儲所有的 Y 分量玖翅,然后存儲所有的 U 分量或者V 分量翼馆。

v2-cb7e35268a89e09d2ca7b75a383d03b2_1440w

同樣,YUV420SP 也是基于 planar 平面模式存儲金度,與 YUV420P 的區(qū)別在于它的 U应媚、V 分量是按照 UV 或者 VU 交替順序進(jìn)行存儲。


v2-ab706465d4a728f68c29946c04a7fa02_1440w

YU12 和 YV12
YU12 和 YV12 格式都屬于 YUV 420P 類型猜极,即先存儲 Y 分量中姜,再存儲 U、V 分量跟伏,區(qū)別在于:YU12 是先 Y 再 U 后 V丢胚,而 YV12 是先 Y 再 V 后 U 。

NV12 和 NV21
NV12 和 NV21 格式都屬于 YUV420SP 類型受扳。它也是先存儲了 Y 分量携龟,但接下來并不是再存儲所有的 U 或者 V 分量,而是把 UV 分量交替連續(xù)存儲勘高。
NV12 是 IOS 中有的模式峡蟋,它的存儲順序是先存 Y 分量,再 UV 進(jìn)行交替存儲华望。
NV21 是 安卓 中有的模式蕊蝗,它的存儲順序是先存 Y 分量,在 VU 交替存儲立美。

RGB和YUV轉(zhuǎn)換

RGB轉(zhuǎn)YUV公式如下:
\begin{array}{rll} Y &= 0.299 * R + 0.587 * G + 0.114 * B \\ U &= -0.169 * R - 0.331 * G + 0.5 * B + 128 \\ V &= 0.5 * R - 0.419 * G - 0.081 * B + 128 \end{array}

YUV轉(zhuǎn)RGB公式如下:
\begin{array}{rll} R & = Y + 1.13983 * (V - 128) \\ G & = Y - 0.39465 * (U - 128) - 0.58060 * (V - 128) \\ B & = Y + 2.03211 * (U - 128) \end{array}

矩陣表示法如下:
\begin{bmatrix} Y \\ U \\ V \end{bmatrix} = \begin{bmatrix} 0.299 & 0.587 & 0.114 \\ -0.169 & -0.331 & 0.5 \\ 0.5 & -0.419 & -0.081 \end{bmatrix}\begin{bmatrix} R \\ G \\ B\end{bmatrix} + \begin{bmatrix} 0 \\ 128 \\ 128 \end{bmatrix}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末匿又,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子建蹄,更是在濱河造成了極大的恐慌碌更,老刑警劉巖裕偿,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異痛单,居然都是意外死亡嘿棘,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門旭绒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸟妙,“玉大人,你說我怎么就攤上這事挥吵≈馗福” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵忽匈,是天一觀的道長房午。 經(jīng)常有香客問我,道長丹允,這世上最難降的妖魔是什么郭厌? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮雕蔽,結(jié)果婚禮上折柠,老公的妹妹穿的比我還像新娘。我一直安慰自己批狐,他們只是感情好扇售,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贾陷,像睡著了一般缘眶。 火紅的嫁衣襯著肌膚如雪嘱根。 梳的紋絲不亂的頭發(fā)上髓废,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機(jī)與錄音该抒,去河邊找鬼慌洪。 笑死,一個胖子當(dāng)著我的面吹牛凑保,可吹牛的內(nèi)容都是我干的冈爹。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼欧引,長吁一口氣:“原來是場噩夢啊……” “哼频伤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起芝此,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤萍歉,失蹤者是張志新(化名)和其女友劉穎拳喻,沒想到半個月后毕源,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鸵膏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了怎炊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谭企。...
    茶點(diǎn)故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖评肆,靈堂內(nèi)的尸體忽然破棺而出债查,到底是詐尸還是另有隱情,我是刑警寧澤瓜挽,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布攀操,位于F島的核電站,受9級特大地震影響秸抚,放射性物質(zhì)發(fā)生泄漏速和。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一剥汤、第九天 我趴在偏房一處隱蔽的房頂上張望颠放。 院中可真熱鬧,春花似錦吭敢、人聲如沸碰凶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽欲低。三九已至,卻和暖如春畜晰,著一層夾襖步出監(jiān)牢的瞬間砾莱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工凄鼻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留腊瑟,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓块蚌,卻偏偏與公主長得像闰非,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子峭范,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評論 2 361

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

  • 前言:RGB 和 YUV 都是色彩空間模型财松,下面來分別介紹下 一、RGB顏色編碼 顏色編碼格式纱控,是指每種顏色都可以...
    旅行者_(dá)sz閱讀 2,147評論 1 0
  • RGB 顏色編碼 RGB顏色編碼格式 每種顏色都可以用(紅辆毡,綠政敢,藍(lán))三種原色來表示,將RGB分別取不同的值胚迫,展示不...
    王俏閱讀 435評論 0 0
  • RGB和YUV 多媒體編程 一喷户、概念 1.什么是RGB? 對一種顏色進(jìn)行編碼的方法統(tǒng)稱為“顏色空間”或“色域”访锻。用...
    流年易逝_李閱讀 14,610評論 0 6
  • 矩陣 在先講顏色編碼之前褪尝,先回顧一下高數(shù)中的矩陣的基本知識《線性代數(shù)》: 什么是矩陣 矩陣是指縱橫排列的二維數(shù)據(jù)表...
    DramaScript閱讀 6,810評論 2 10
  • 數(shù)字媒體壓縮 為縮小數(shù)字媒體文件的大小,我們需要對其使用壓縮技術(shù)期犬,一般來說我們所欣賞的媒體內(nèi)容都進(jìn)行過一定程度的壓...
    安靜的潑猴閱讀 2,925評論 1 0