畫元?畫素?從拍照攝影最通用的JPEG/H.264格式,淺談HTC One到底是4百萬畫素或是1百萬畫素?

最近版上有篇畫素真相文,提到HTC One採用的Bayer CMOS影像感測器的4百萬畫素(pixels),其實應該是4百萬畫元??(elements),實際上只能視為1百萬畫素,說實話,這實在是誤導兼多慮了。先撇開中文翻譯的畫素畫元作文章,直接從原始的英文來看比較快,pixel本來就是picture element的縮寫,在下圖中,每一個紅/藍/綠的方格,就是一個pixel,就是一個element,一般就翻譯成「畫素」或「像素」,不用另外取個中文名字"畫元"。

畫元?畫素?從拍照攝影最通用的JPEG/H.264格式,淺談HTC One到底是4百萬畫素或是1百萬畫素?


以CMOS影像感測器的data sheet來看,也是採用這樣的標示,以下資訊擷取自某CMOS廠商的某顆5百萬畫素CMOS影像感測器產品的data sheet,此廠商的影像感測器,在蘋果的手機/平板電腦、各廠牌的筆電內建視訊模組、以及其他CMOS影像感測器應用領域中,也廣被採用:

畫元?畫素?從拍照攝影最通用的JPEG/H.264格式,淺談HTC One到底是4百萬畫素或是1百萬畫素?

從上述說明中可以看到,此CMOS影像感測器的感測陣列是2624*1964,總共5,153,536個pixels(畫素),其有效區域是2592*1944,共5,038,848個pixels(畫素),color filter是以Bayer方式排列:

畫元?畫素?從拍照攝影最通用的JPEG/H.264格式,淺談HTC One到底是4百萬畫素或是1百萬畫素?

從上圖跟data sheet敘述中,可以看到其以Bayer格式排列的2624*1964陣列,每一個方格,不管是紅/藍/綠,都被稱為一個畫素(pixel)

畫元?畫素?從拍照攝影最通用的JPEG/H.264格式,淺談HTC One到底是4百萬畫素或是1百萬畫素?


有人可能會認為:這data sheet是在澎風,明明紅/藍都只有1百萬個,綠只有2百萬個,通通不足4百萬之數,何來4百萬之有?首先,data sheet是給工程師看的,工程師是最不解風情的(我也是其中一員,各位工程師別介意.....),對工程師澎風是最沒用的.....但這說法的說服力似乎不夠,因此接下來,得解釋一下拍照跟錄影所最常用的壓縮演算法。畢竟手機鏡頭的最大宗應用,不是拿來拍照,就是拿來錄影。

目前手機上最普及的照片存檔方式,是行之有年的JPEG壓縮格式;而錄製下來的影片(包括音訊/視訊),在視訊部分,幾乎都已經採用H.264(又稱MPEG-4 AVC)壓縮。而JPEG跟H.264,都不是直接利用RGB資訊去壓縮的,而是用YCbCr 4:2:0的格式(消費性應用),簡單的說,Y是亮度資訊,Cb跟Cr都是色彩資訊。而4:2:0指的是Y資料量是Cb的4倍,也是Cr的4倍,原理是人眼對色彩並沒有像對亮度那麼敏感,這一點在那篇畫素畫元文中樓主本身也有提到。因此視訊/影像壓縮的演算法,大都會先對人眼較不敏感的色彩資訊進行sub-sample減量取樣,運用最基本視覺心理學的原理,一開始就取得一定的壓縮率。

舉例來說,若有下面的原始圖像:

畫元?畫素?從拍照攝影最通用的JPEG/H.264格式,淺談HTC One到底是4百萬畫素或是1百萬畫素?

經過CMOS感測器以及Bayer color filter後,接收到的RAW資料,還會經過ISP處理(可能在感測器內部,或是用外加ISP晶片處理),成為下面的YCbCr形式(右邊那兩塊Cb/Cr資料,是不該單獨被上色的,但一時找不到其他示意圖,特此說明):

畫元?畫素?從拍照攝影最通用的JPEG/H.264格式,淺談HTC One到底是4百萬畫素或是1百萬畫素?

上面的資料,才是最終會送給H.264壓縮線路或是JPEG壓縮模組進行進一步壓縮處理的資料形式,因此,不要在去數R/G/B各有幾個上執著打轉兒,會轉不出來啦。

4百萬畫素的Bayer CMOS感測器,以元件本身解析度來說,確實是可以接受到4百萬個Y的亮度資訊,而紅/藍畫素雖然都只有1百萬個,但就當代最普及的JPEG/H.264壓縮演算法,在消費性應用上都是採用YCbCr 4:2:0來看,也確實不需要這麼多的色彩資訊。而一再被提到的Foveon X3感測器若用在手機上,其所接收到的色彩資訊,一大半都會在進行RAW轉成JPEG/H.264壓縮前的減量取樣作業中,被直接捨棄掉。

因此HTC One確實是4百萬畫素,就像iPhone 5確實是8百萬畫素,以此類推其他廣泛採用Bayer CMOS影像感測器的Sony/三星手機或其他裝置,別再懷疑啦!如果要再把鏡頭扯進來看整個模組的「解析度」,那變因又更多了,而且有另外的衡量標準跟單位,就不是算畫素了,對一般消費者來說,您別自找麻煩,還是直接看實拍照片進行比較吧!

最後順便一提:目前市面上採用Blu-Ray發行的高解析度藍光影片,以及HDTV高畫質電視如日本的衛星BS Digital,全部都是採用YCbCr 4:2:0的color space,來進行壓縮發行/播放,有多少比例的人,是會敏感到覺得眼睛所接受到的色彩資訊不足的呢?以1080p FullHD的影片/HDTV節目來說,只有Y的資料是1920x1080,Cb/Cr資料實際上都只有960x540,您會因此認為「這不是FullHD、這不是1080p、這不是肯德基」嗎?


ps. 目前網路上的猜測,HTC One是採用OmniVision OV4688這顆4百萬畫素的CMOS影像感測器

畫元?畫素?從拍照攝影最通用的JPEG/H.264格式,淺談HTC One到底是4百萬畫素或是1百萬畫素?
看你從什麼角度去看所謂的1 pixel
我認為二種解釋並不互斥
這有什麼好爭的

就好像有人認為 透過演算法把 400萬的畫素變成800萬、1200萬、1600萬畫素的,那每單位畫素也叫做是1畫素
雖然是計算出來的,但原始資訊也是由感光元件而來來演算,所以也算是1畫素
我誰呀,我瑪爾Gy耶!
專業!

拜託那些自以為攝影專家卻連1080p小於四百萬畫素都不知道的年獸不要再出來丟人現眼了
沒錯啦 晶片是豪威的 這個我可以確定 幾個月前就在搞了
瑪爾Gy wrote:
也有人認為 透過演算法把 400萬的畫素變成800萬、1200萬、1600萬畫素的,那每單位畫素也叫做是1畫素
雖然是計算出來的...(恕刪)

我的文中並不是在談這個。

RGB跟YCbCr間的color space conversion,不是插補點、增加點,舉個例子,一張紙把它折成紙飛機、展開、折成紙帽、展開、揉成一團,它還是一張紙、只是在不同型態間轉換,不會變成兩張。
大大是行內的.
SideWheel wrote:
最近版上有篇文章,提...(恕刪)
SideWheel wrote:
最近版上有篇文章,提...(恕刪)


樓主精闢的解說.
令小弟佩服.
vespaalfa wrote:
沒錯啦 晶片是豪威的 這個我可以確定 幾個月前就在搞了
...(恕刪)

順帶請教一下:請問據您了解OV4688這顆有binning功能嗎?

SideWheel wrote:
此CMOS影像感測器的感測陣列是2624*1964,總共5,153,536個pixels(畫素),其有效區域是2592*1944,共5,038,848個pixels(畫素)


對不起,小弟有地方不太懂!
上面引言的地方,陣列是2624*1964,有效區域是2592*1944。
很多數位相機的規格上會這樣寫,可是我不懂的是為何會有這樣的區別呢?

所謂的有效是怎樣有效?無效的畫素,為何無效?
tuanyang wrote:
對不起,小弟有地方不...(恕刪)

第一張圖中有提到,那些pixel是用來作black level calibration跟demosaicing的interpolation運算用的。雖然那些有效區域外的pixel資料最後不會被輸出,但是在ISP運算過程中,是會派上用場的。
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!