日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

YUV格式像素

發(fā)布時間:2023/12/19 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 YUV格式像素 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)自:http://blog.csdn.net/grow_mature/article/details/9004548

?

一幅彩色圖像的基本要素是什么?

說白了,一幅圖像包括的基本東西就是二進制數(shù)據(jù),其容量大小實質(zhì)即為二進制數(shù)據(jù)的多少。一幅1920x1080像素的YUV422的圖像,大小是1920X1080X2=4147200(十進制),也就是3.95M大小。這個大小跟多少個像素點和數(shù)據(jù)的存儲格式有關(guān)。下面簡述yuv與像素的關(guān)系:

?

YUV與像素的關(guān)系:

YUV是利用一個亮度(Y)、兩個色差(U,V)來代替?zhèn)鹘y(tǒng)的RGB三原色來壓縮圖像。傳統(tǒng)的RGB三原色使用紅綠藍三原色表示一個像素,每種原色占用一個字節(jié)(8bit),因此一個像素用RGB表示則需要8*3=24bit。如果使用YUV表示這個像素,假設YUV的采樣率為:4:2:0,即每一個像素對于亮度Y的采樣頻率為1,對于色差U和V,則是每相鄰的兩個像素各取一個U和V。對于單個的像素來說,色差U和V的采樣頻率為亮度的一半。如有三個相鄰的像素,如果用RGB三原色表示,則共需要占用:8*3*3=72bits;如果采用YUV(4:2:0)表示,則只需要占用:8*3(Y)+ 8*3*0.5(U)+8*3*0.5(V)= 36bits。只需原來一半的空間,就可以表示原來的圖像,數(shù)據(jù)率壓縮了一倍,而圖像的效果基本沒發(fā)生變化。

?

一般描述一幅圖像的參數(shù)時我們會考慮以下幾點:

1、寬:一行有多少個像素點。2、高:一列有多少個像素點。3、YUV格式還是RGB格式?4、一行多少個字節(jié)?5、圖像大小是多少?6、圖像的分辨率是多少?

?

以下對YUV422、YUV420和YUV444進行初步解析:

YUV422格式。

分為很多小類,按照U、V的排列可以有YUYV,YVYU,UYVY,VYUY四種,其中,YUYVY一般又稱作yuv2格式。

而這四種YUV422格式,每種又可以分為2小類,按Y和UV的排列可以有打包格式和平面格式。例如,一個640×480×2的YUV文件,打包格式就是YUYVYUYV這樣一直排列下去,平面格式就是先640×480個Y排列完,然后是640×240個U,然后是640×240個V這樣排列,如下

圖:

?

假如有一幅640×480的圖片,用yuv422來表示,那么,采樣方式就是每個像素采樣Y信號,U,V信號隔一個采樣,這樣算下來,就有640×480個Y,640×240個U,640×240個V,一幅640×480大小的YUV圖片占的總字節(jié)數(shù)為640×480×2個字節(jié),每像素2個字節(jié),也就是16位。

在內(nèi)存種中這樣排列:Y0U0Y1V0 Y2U1Y3V1...

第一個像素的YUV值為:Y0 U0 V0

第二個像素的YUV值為: Y1 U0 V0

第三個像素的YUV值為: Y2 U1 V1

.....其他以此推類,也就是說每兩個像素是共用了UV的;在一行上來看,每個像素的YUV值中Y值被采樣,UV值采樣0后,跳到3,然后5,所以每行上Y有640個,U,V各320個。

主要的采樣格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。其中YCbCr 4:1:1 比較常用,其含義為:每個點保存一個 8bit 的亮度值(也就是Y值), 每 2x2 個點保存一個 Cr 和Cb 值, 圖像在肉眼中的感覺不會起太大的變化。所以, 原來用 RGB(R,G,B 都是 8bit unsigned) 模型, 4 個點需要 8x3=24 bites(如下圖第一個圖). 而現(xiàn)在僅需要 8+(8/4)+(8/4)=12bites, 平均每個點占12bites,這樣就把圖像的數(shù)據(jù)壓縮了一半。

以上僅給出了理論上的示例,在實際數(shù)據(jù)存儲中是有可能是不同的,下面給出幾種具體的存儲形式:

(1) YUV 4:4:4

YUV三個信道的抽樣率相同,因此在生成的圖像里,每個象素的三個分量信息完整(每個分量通常8比特),經(jīng)過8比特量化之后,未經(jīng)壓縮的每個像素占用3個字節(jié)。

下面的四個像素為: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]

存放的碼流為: Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3

(2) YUV 4:2:2

每個色差信道的抽樣率是亮度信道的一半,所以水平方向的色度抽樣率只是4:4:4的一半。對非壓縮的8比特量化的圖像來說,每個由兩個水平方向相鄰的像素組成的宏像素需要占用4字節(jié)內(nèi)存(亮度2個字節(jié),兩個色度各1個字節(jié))。

下面的四個像素為:?[Y0 U0 V0] [Y1 U1 V1]?[Y2 U2 V2] [Y3 U3 V3]

存放的碼流為:?Y0 U0 Y1 V1?Y2 U2 Y3 V3

映射出像素點為:[Y0 U0 V1] [Y1 U0 V1] [Y2 U2 V3] [Y3 U2 V3]

(3) YUV 4:1:1

4:1:1的色度抽樣,是在水平方向上對色度進行4:1抽樣。對于低端用戶和消費類產(chǎn)品這仍然是可以接受的。對非壓縮的8比特量化的視頻來說,每個由4個水平方向相鄰的像素組成的宏像素需要占用6字節(jié)內(nèi)存(亮度4個字節(jié),兩個色度各1個字節(jié))。

下面的四個像素為:?[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]

存放的碼流為:?Y0 U0 Y1 Y2 V2 Y3

映射出像素點為:[Y0 U0 V2] [Y1 U0 V2] [Y2 U0 V2] [Y3 U0 V2]

(4)YUV4:2:0

4:2:0并不意味著只有Y,Cb而沒有Cr分量。它指得是對每行掃描線來說,只有一種色度分量以2:1的抽樣率存儲。相鄰的掃描行存儲不同的色度分量, 也就是說,如果一行是4:2:0的話,下一行就是4:0:2,再下一行是4:2:0...以此類推。對每個色度分量來說,水平方向和豎直方向的抽樣率都是 2:1,所以可以說色度的抽樣率是4:1。對非壓縮的8比特量化的視頻來說,每個由2x2個2行2列相鄰的像素組成的宏像素需要占用6字節(jié)內(nèi)存(亮度4個字節(jié),兩個色度各1個字節(jié))。

下面八個像素為:[Y0 U0 V0] [Y1 U1 V1]?[Y2 U2 V2][Y3 U3 V3]

[Y5U5 V5] [Y6 U6 V6]?[Y7U7 V7] [Y8 U8 V8]

存放的碼流為:Y0 U0 Y1?Y2 U2 Y3

Y5V5 Y6?Y7 V7 Y8

映射出的像素點為:[Y0 U0 V5] [Y1 U0 V5] [Y2 U2 V7] [Y3 U2 V7]

[Y5U0 V5] [Y6 U0 V5] [Y7U2 V7] [Y8 U2 V7]

(資料均來源于互聯(lián)網(wǎng),侵權(quán)請聲明,謝謝)

總結(jié)

以上是生活随笔為你收集整理的YUV格式像素的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。