Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别---转
FROM:http://blog.chinaunix.net/uid-27134408-id-4145092.html
目錄[-]
- YUV、RGB、RAW DATA、JPEG 4種方式
- YUV、RGB、RAW DATA、JPEG 4種方式區(qū)別
- RAW和JPEG的區(qū)別?
- 為何要拍攝RAW?
- JPEG格式有什么優(yōu)點(diǎn)?
- 我該拍攝RAW還是JPEG?
- 后記
- 攝像頭數(shù)據(jù)格式
- 數(shù)字視頻CCIR 601編碼標(biāo)準(zhǔn)
- CCIR601和CCIR656標(biāo)準(zhǔn)的區(qū)別
YUV、RGB、RAW DATA、JPEG 4種方式
簡(jiǎn)單來(lái)說(shuō),
- YUV: luma (Y) + chroma (UV) 格式, 一般情況下sensor支持YUV422格式,即數(shù)據(jù)格式是按Y-U-Y-V次序輸出的
- RGB: 傳統(tǒng)的紅綠藍(lán)格式,比如RGB565,其16-bit數(shù)據(jù)格式為5-bit R + 6-bit G + 5-bit B。G多一位,原因是人眼對(duì)綠色比較敏感。
- RAW RGB: sensor的每一像素對(duì)應(yīng)一個(gè)彩色濾光片,濾光片按Bayer pattern分布。將每一個(gè)像素的數(shù)據(jù)直接輸出,即RAW RGB data
- JPEG: 有些sensor,特別是低分辨率的,其自帶JPEG engine,可以直接輸出壓縮后的jpg格式的數(shù)據(jù)
對(duì)于這幾種輸出格式,幾個(gè)疑問(wèn):
- YUV一個(gè)像素占2B,如果像素太高在高時(shí)鐘下基帶芯片處理不過(guò)來(lái),JPEG數(shù)據(jù)量就要小的多,所以不是YUV對(duì)基帶芯片有要求而是基帶芯片對(duì)輸出數(shù)據(jù)速率有要求。
- RGB565一般用在很低端的基帶芯片上,直接往屏上刷。YUV輸出亮度信號(hào)沒(méi)有任何損失,而色偏信號(hào)人眼并不是特別敏感,RGB565輸出格式是R5G3 G3B5會(huì)丟掉很多原始信息,所以YUV圖像質(zhì)量和穩(wěn)定性要比RGB565好的多
- RAW數(shù)據(jù)每個(gè)像素就1B,數(shù)據(jù)量要少很多,一般5M以上sensor就只輸出RAW數(shù)據(jù)以保證比較快的輸出速度,后端掛一個(gè)DSP來(lái)處理輸出的數(shù)據(jù)。
--------------------------------------------------------------------------------
YUV、RGB、RAW DATA、JPEG 4種方式區(qū)別
RAW和JPEG的區(qū)別?
RAW格式文件基本上是一個(gè)沒(méi)有經(jīng)任何圖像處理的源文件, 它能原原本本地記錄相機(jī)拍攝到的信息,沒(méi)有因?yàn)閳D像處理(如銳化、增加色彩對(duì)比)和壓縮而造成的信息丟失,但需要用特別的軟件來(lái)打開(kāi)這些文件。 另一種常用的格式便是JPEG,相機(jī)會(huì)先根據(jù)使用者的設(shè)定來(lái)做一定的圖像處理,然后經(jīng)過(guò)壓縮 (程度因相機(jī)內(nèi)設(shè)定的照片質(zhì)量而定)和保存照片。
為何要拍攝RAW??
RAW是一種專業(yè)攝影師常用的格式,因?yàn)樗茉颈镜乇4嫘畔?#xff0c;讓用戶能大幅度對(duì)照片進(jìn)行 后期制作,如調(diào)整白平衡、曝光程度、顏色對(duì)比等設(shè)定,也特別適合新手補(bǔ)救拍攝失敗的照片,而且無(wú)論在后期制作上有什么改動(dòng),相片也能無(wú)損地回復(fù)到最初狀態(tài),不怕因意外儲(chǔ)存而損失照片。 RAW還有一個(gè)好處,例如佳能DPP軟件可以修正鏡頭失光、變形等。
JPEG格式有什么優(yōu)點(diǎn)?
JPEG格式為一種非常普及的照片格式,差不多所有現(xiàn)代數(shù)碼相機(jī)都能使用這個(gè)格式,絕大部分的計(jì)算機(jī)上也能打開(kāi)JPEG文件,使用者也可以隨意設(shè)定壓縮程度來(lái)保留畫質(zhì)(最佳的JPEG畫質(zhì)跟RAW 的非常接近),是一種十分方便的格式。
我該拍攝RAW還是JPEG??
在討論這個(gè)問(wèn)題之前,讓我們看看RAW格式有什么缺點(diǎn):
清楚RAW的缺點(diǎn)以后,我們便可以看看哪種情況應(yīng)該選擇RAW或JPEG:
如果你需要拍攝大量的照片,應(yīng)該考慮使用JPEG,因?yàn)槠淙萘啃枨蟊容^少和可以保留后制及把照片轉(zhuǎn)換為JPEG的時(shí)間;
如果你用作商業(yè)拍攝或喜歡后期制作,應(yīng)該使用RAW,因?yàn)楹笾瓶臻g較大;
如果你正進(jìn)行旅行攝影,可以考慮使用RAW或者RAW+JPEG,因?yàn)槁眯械牡胤娇赡軟](méi)法常去,使用RAW讓你一旦拍攝失敗也有較大的機(jī)會(huì)補(bǔ)救。
后記
其實(shí),現(xiàn)在Photoshop的功能很強(qiáng)大,對(duì)于JPEG文件也能通過(guò)level或curve來(lái)調(diào)較曝光、白平衡、 色彩對(duì)比等,當(dāng)然如果需要做大幅度的調(diào)整還是RAW文件比較適合的。
攝像頭數(shù)據(jù)格式
攝像頭的數(shù)據(jù)輸出格式一般分為CCIR601、CCIR656、RAW RGB等格式,此處說(shuō)的RGB格式應(yīng)該就是CCIR601或CCIR656格式。而RAW RGB格式與一般的RGB格式是有區(qū)別的。
我們知道,Sensor的感光原理是通過(guò)一個(gè)一個(gè)的感光點(diǎn)對(duì)光進(jìn)行采樣和量化,但在Sensor中,每一個(gè)感光點(diǎn)只能感光RGB中的一種顏色。所以,通常所說(shuō)的30萬(wàn)像素或130萬(wàn)像素等,指的是有30萬(wàn)或130萬(wàn)個(gè)感光點(diǎn)。每一個(gè)感光點(diǎn)只能感光一種顏色。
但是,要還原一個(gè)真正圖像,需要每一個(gè)點(diǎn)都有RGB三種顏色,所以,對(duì)于CCIR601或656的格式,在Sensor模組的內(nèi)部會(huì)有一個(gè)ISP模塊,會(huì)將Sensor采集到的數(shù)據(jù)進(jìn)行插值和特效處理,例如:如果一個(gè)感光點(diǎn)感應(yīng)的顏色是R,那么,ISP模塊就會(huì)根據(jù)這個(gè)感光點(diǎn)周圍的G、B感光點(diǎn)的數(shù)值來(lái)計(jì)算出此點(diǎn)的G、B值,那么,這一點(diǎn)的RGB值就被還原了,然后在編碼成601或656的格式傳送給Host。
而RAW RGB格式的Sensor則是將沒(méi)個(gè)感光點(diǎn)感應(yīng)到的RGB數(shù)值直接傳送給Host,由Host來(lái)進(jìn)行插值和特效處理。
- Raw RGB 每個(gè)像素只有一種顏色(R、G、B中的一種);?
- RGB 每個(gè)像素都有三種顏色,每一個(gè)的值在0~255之間;?
- 在手機(jī)攝像頭的測(cè)試過(guò)程中,由sensor輸出的數(shù)據(jù)就是Raw data(Raw RGB),經(jīng)過(guò)彩色插值就變成RGB
?sensor輸出的數(shù)據(jù)格式,主要分兩種:YUV(比較流行),RGB,這就是sonsor的數(shù)據(jù)輸出;這其中的GRB就是Raw RGB,是sensor的bayer陣列獲取的數(shù)據(jù)(每種傳感器獲得對(duì)應(yīng)的顏色亮度);?
但是輸出的數(shù)據(jù)不等于就是圖像的實(shí)際數(shù)據(jù),模組測(cè)試時(shí),就要寫一個(gè)軟件,完成數(shù)據(jù)采集(獲得Raw data)->彩色插值(目的是獲得RGB格式,便于圖像顯示)->圖像顯示;這樣就可以發(fā)現(xiàn)整個(gè)模組是否正常,有無(wú)壞點(diǎn),臟點(diǎn)的等,檢測(cè)出不良品;(軟件的處理過(guò)程當(dāng)中,為了獲得更好的圖像質(zhì)量,還需要白平衡,gamma校正,彩色校正)?
而在手機(jī)的應(yīng)用中,手機(jī)根據(jù)相機(jī)模組的數(shù)據(jù)格式,提供一個(gè)ISP(主要用于RGB格式的),配合軟件,使照相功能得到應(yīng)用;
對(duì)于SENSOR來(lái)說(shuō),Bayer RGB和RGB Raw兩者的圖象結(jié)構(gòu)都是BG/GR的(Bayer pattern說(shuō)的是COLOR FILTER的結(jié)構(gòu),分為兩種:STD Bayer pattern 與Pair pattern,其中STD Bayer pattern的結(jié)構(gòu)是BG/GR的,而Pair Pattern顧名思義是指BGBG/GRGR的結(jié)構(gòu),即以四行為一個(gè)單位,前兩行是BG的結(jié)構(gòu),后兩行是GR的結(jié)構(gòu),這種結(jié)構(gòu)是美光專門為此申請(qǐng)了專利 的,主要是在輸出TV模式(NTSC/PAL制)時(shí)用到),由于后端應(yīng)用時(shí),對(duì)RAW DATA圖像的 解碼是按默認(rèn)的結(jié)構(gòu)來(lái)解碼的 ,如BG/GR,因此 Bayer RGB和RGB Raw兩者的圖象結(jié)構(gòu)必須都是BG/GR的,而如果輸出圖像結(jié)構(gòu)是BGBG/GRGR,則不可以直接顯示和解碼的。
Bayer RGB與RGB Raw的主要區(qū)別在于兩者輸出前經(jīng)過(guò)的處理不同,Bayer RGB從ADC輸出,只經(jīng)過(guò)了LENS SHADING CORRECTION,GAMMA等模塊處理而后就直接輸出,而RGB Raw則經(jīng)過(guò)了整個(gè)ISP模塊的處理,最終是經(jīng)過(guò)YUV422的數(shù)據(jù)轉(zhuǎn)化而來(lái)的。
??很多人對(duì)YUV數(shù)據(jù)格式不清楚,以至于在做視頻的時(shí)候出現(xiàn)了一些不可預(yù)知的錯(cuò)誤(比如說(shuō)圖像帶有點(diǎn)、顏色不對(duì)等)。今晚是周末放假,我就抽點(diǎn)時(shí)間來(lái)給大家介紹一下。
? ? ? ?提示: 讀下面的文字時(shí),希望大家結(jié)合圖片看,這樣更易理解
? ? ? ?在YUV420中,一個(gè)像素點(diǎn)對(duì)應(yīng)一個(gè)Y,一個(gè)2X2的小方塊對(duì)應(yīng)一個(gè)U和V。對(duì)于所有YUV420圖像,它們的Y值排列是完全相同的,因?yàn)橹挥衁的圖像就是灰度圖像。YUV420sp與YUV420p的數(shù)據(jù)格式它們的UV排列在原理上是完全不同的。420p它是先把U存放完后,再存放V,也就是說(shuō)UV它們是連續(xù)的。而420sp它是UV、UV這樣交替存放的。(見(jiàn)下圖)
有了上面的理論,我就可以準(zhǔn)確的計(jì)算出一個(gè)YUV420在內(nèi)存中存放的大小。
width * hight =Y(總和)
U = Y / 4 ?
V = Y / 4
所以YUV420 數(shù)據(jù)在內(nèi)存中的長(zhǎng)度是 width * hight * 3 / 2,
假設(shè)一個(gè)分辨率為8X4的YUV圖像,它們的格式如下圖:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?YUV420sp格式如下圖 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?YUV420p數(shù)據(jù)格式如下圖
? ? ? ??? ? ? ? ? ? ? ? ?
有了上邊的理論,我們可以對(duì)Android攝像頭采集的YUV420sp數(shù)據(jù)做很多的轉(zhuǎn)換,下面我寫一個(gè)旋轉(zhuǎn)90度的算法。
代碼如下:
結(jié)合上面的旋轉(zhuǎn)算法,我在Android平臺(tái)寫了一個(gè)測(cè)試項(xiàng)目。
運(yùn)行結(jié)果效果如下:
上邊視頻是攝像頭的預(yù)覽數(shù)據(jù)(預(yù)覽數(shù)據(jù)的圖像截圖看不見(jiàn),郁悶啊),所以我為了能讓大家看到效果,專門拍了一張照片。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
如需要Android平臺(tái)測(cè)試源碼的,請(qǐng)留下郵箱。
數(shù)字視頻CCIR 601編碼標(biāo)準(zhǔn)
一、采樣頻率:為了保證信號(hào)的同步,采樣頻率必須是電視信號(hào)行頻的倍數(shù)。CCIR為NTSC、PAL和SECAM制式制定的共同的電視圖像采樣標(biāo)準(zhǔn):
fs=13.5MHz
這個(gè)采樣頻率正好是PAL、SECAM制行頻的864倍,NTSC制行頻的858倍,可以保證采樣時(shí)采樣時(shí)鐘與行同步信號(hào)同步。對(duì)于4:2:2的采樣格式,亮度信號(hào)用fs頻率采樣,兩個(gè)色差信號(hào)分別用fs/2=6.75MHz的頻率采樣。由此可推出色度分量的最小采樣率是3.375MHz。
二、分辨率:根據(jù)采樣頻率,可算出對(duì)于PAL和SECAM制式,每一掃描行采樣864個(gè)樣本點(diǎn);對(duì)于NTSC制則是858個(gè)樣本點(diǎn)。由于電視信號(hào)中每一行 都包括一定的同步信號(hào)和回掃信號(hào),故有效的圖像信號(hào)樣本點(diǎn)并沒(méi)有那么多,CCIR 601規(guī)定對(duì)所有的制式,其每一行的有效樣本點(diǎn)數(shù)為720點(diǎn)。由于不同的制式其每幀的有效行數(shù)不同(PAL和SECAM制為576行,NTSC制為484 行),CCIR定義720×484為高清晰度電視HDTV(High Definition TV)的基本標(biāo)準(zhǔn)。實(shí)際計(jì)算機(jī)顯示數(shù)字視頻時(shí),通常采用下表的參數(shù):
電視制式??? 分辨率???? ?幀 率
NTSC??????? 640×480??? ?30
PAL????????? ?768×576????? 25
三、數(shù)據(jù)量:CCIR 601規(guī)定,每個(gè)樣本點(diǎn)都按8位數(shù)字化,也即有256個(gè)等級(jí)。但實(shí)際上亮度信號(hào)占220級(jí),色度信號(hào)占225級(jí),其它位作同步、編碼等控制用。如果按fs的采樣率、4:2:2的格式采樣,則數(shù)字視頻的數(shù)據(jù)量為:
13.5(MHz)×8(bit)+2×6.75(MHz)×8(bit) = 27Mbyte / s
同樣可以算出,如果按4:4:4的方式采樣,數(shù)字視頻的數(shù)據(jù)量為每秒40兆字節(jié)!按每秒27兆字節(jié)的數(shù)據(jù)率計(jì)算,一段10秒鐘的數(shù)字視頻要占用270兆字 節(jié)的存儲(chǔ)空間。按此數(shù)據(jù)率,一張680兆字節(jié)容量的光盤只能記錄約25秒的數(shù)字視頻數(shù)據(jù)信息,而且即使目前高倍速的光驅(qū),其數(shù)據(jù)傳輸率也遠(yuǎn)遠(yuǎn)達(dá)不到每秒 27兆字節(jié)的傳輸要求,視頻數(shù)據(jù)將無(wú)法實(shí)時(shí)回放。這種未壓縮的數(shù)字視頻數(shù)據(jù)量對(duì)于目前的計(jì)算機(jī)和網(wǎng)絡(luò)來(lái)說(shuō)無(wú)論是存儲(chǔ)或傳輸都是不現(xiàn)實(shí)的,因此,在多媒體中應(yīng)用數(shù)字視頻的關(guān)鍵問(wèn)題是數(shù)字視頻的壓縮技術(shù)。
CCIR601和CCIR656標(biāo)準(zhǔn)的區(qū)別
關(guān)于這兩種信號(hào)的區(qū)別:
ITU-R BT 601:16位數(shù)據(jù)傳輸;21芯;Y、U、V信號(hào)同時(shí)傳輸。
ITU-R BT 656:9芯,不需要同步信號(hào);8位數(shù)據(jù)傳輸;串行視頻傳輸;傳輸速率是601的2倍;先傳Y,后傳UV。
CCIR601要通過(guò)行、場(chǎng)同步兩根信號(hào)線來(lái)傳遞行、場(chǎng)同步信息;
CCIR656不需要這兩根信號(hào)線,它只通過(guò)8位數(shù)據(jù)線實(shí)現(xiàn)“軟”同步。CCIR656=CCIR601+HSYNC+VSYNC
656輸出的是串行數(shù)據(jù),行場(chǎng)同步信號(hào)嵌入在數(shù)據(jù)流中;
601是傳輸?shù)氖遣⑿袛?shù)據(jù),行場(chǎng)同步有單獨(dú)輸出;
656只是數(shù)據(jù)傳輸接口而已,可以說(shuō)是作為601的一個(gè)傳輸方式。
簡(jiǎn)單的說(shuō)ITU-R BT.601是“演播室數(shù)字電視編碼參數(shù)” 標(biāo)準(zhǔn),而ITU-R BT.656則是ITU-R BT.601附件A中的數(shù)字接口標(biāo)準(zhǔn),用于主要數(shù)字視頻設(shè)備(包括芯片)之間采用27Mhz/s并口或243Mb/s串行接口的數(shù)字傳輸接口標(biāo)準(zhǔn)。
CCIR601號(hào)建議的制定,是向著數(shù)字電視廣播系統(tǒng)參數(shù)統(tǒng)一化、標(biāo)準(zhǔn)化邁出的第一步。在該建議中,規(guī)定了625和525行系統(tǒng)電視中心演播室數(shù)字編碼的基本參數(shù)值。
601號(hào)建議單獨(dú)規(guī)定了電視演播室的編碼標(biāo)準(zhǔn)。它對(duì)彩色電視信號(hào)的編碼方式、取樣頻率、取樣結(jié)構(gòu)都作了明確的規(guī)定。它規(guī)定彩色電視信號(hào)采用分量編碼。所謂分量編碼就是彩色全電視信號(hào)在轉(zhuǎn)換成數(shù)字形式之前,先被分離成亮度信號(hào)和色差信號(hào),然后對(duì)它們分別進(jìn)行編碼。分量信號(hào)(Y、B -- Y、R -- Y)被分別編碼后,再合成數(shù)字信號(hào)。 它規(guī)定了取樣頻率與取樣結(jié)構(gòu)。
例如:在4:2:2等級(jí)的編碼中,規(guī)定亮度信號(hào)和色差信號(hào)的取樣頻率分別為13.5MHZ和6.75MHZ,取樣結(jié)構(gòu)為正交結(jié)構(gòu),即按行、場(chǎng)、幀重復(fù),每 行中的R-Y和B-Y取樣與奇次(1,3,5……)Y的取樣同位置,即取樣結(jié)構(gòu)是固定的,取樣點(diǎn)在電視屏幕上的相對(duì)位置不變。 它規(guī)定了編碼方式。對(duì)亮度信號(hào)和兩個(gè)色差信號(hào)進(jìn)行線性PCM編碼,每個(gè)取樣點(diǎn)取8比特量化。同時(shí),規(guī)定在數(shù)字編碼時(shí),不使用A/D轉(zhuǎn)換的整個(gè)動(dòng)態(tài)范圍,只 給亮度信號(hào)分配220個(gè)量化級(jí),黑電平對(duì)應(yīng)于量化級(jí)16,白電平對(duì)應(yīng)于量化級(jí)235。為每個(gè)色差信號(hào)分配224個(gè)量化級(jí),色差信號(hào)的零電平對(duì)應(yīng)于量化級(jí) 128。
綜上所述,我們知道,分量信號(hào)的編碼數(shù)據(jù)流是很高的。以4:2:2編碼標(biāo)準(zhǔn)為例,其比特流為:13.5×8+6.75×8×2=216Mb/S。若采用4:4:4編碼方式,即對(duì)復(fù)合信號(hào)直接編碼,其抽樣頻率取為13.3×8=106.4 Mb/S。
PS:我們可以認(rèn)為CCIR601即“ITU-R BT.601-5”,“ITU-R BT.656-4"即CCIR601。
656只有8位DATA+CLK,601有8位DATA+CLK+HSYNC+VSYNC,還有16位DATA+CLK+HSYNC+VSYNC。
656把HSYNC、VSYNC插到數(shù)據(jù)中,601的數(shù)據(jù)線只有數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别---转的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【君思智慧园区】智慧园区建设规划方案
- 下一篇: 贝叶斯网络分析kaggle泰坦尼克号数据