圖像格式詳解

1, 學習瞭解圖像各種格式(NV21,i420,Sensor RAW,)

點擊:http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html

YUV定義:分爲三個分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用於指定像素的顏色。

YUV格式:有兩大類:planar(平面存儲)和packed(交叉存儲)。
對於planar的YUV格式,先連續存儲所有像素點的Y,緊接着存儲所有像素點的U,隨後是所有像素點的V。
對於packed的YUV格式,每個像素點的Y,U,V是連續交*存儲的。

YUV存儲:格式其實與其採樣的方式密切相關,主流的採樣方式有三種,YUV4:4:4,YUV4:2:2,YUV4:2:0,關於其詳細原理,可以通過網 上其它文章瞭解,這裏我想強調的是如何根據其採樣格式來從碼流中還原每個像素點的YUV值,因爲只有正確地還原了每個像素點的YUV值,才能通過YUV與 RGB的轉換公式提取出每個像素點的RGB值,然後顯示出來。 

一般來說,直接採集到的視頻數據是RGB24的格式,RGB24一幀的大小size=width×heigth×3 Byte,RGB32的size=width×heigth×4 Byte,如果是I420(即YUV標準格式4:2:0)的數據量是 size=width×heigth×1.5 Byte。 在採集到RGB24數據後,需要對這個格式的數據進行第一次壓縮。即將圖像的顏色空間由RGB24轉化爲IYUV。因爲,X264在進行編碼的時候需要標準的YUV(4:2:0)。但是這裏需要注意的是,雖然YV12也是(4:2:0),但是YV12和I420的卻是不同的,在存儲空間上面有些區別。如下:

YV12 : 亮度(行×列) + V(行×列/4) + U(行×列/4)
I420 : 亮度(行×列) +U(行×列/4) + V(行×列/4)
可以看出,YV12和I420基本上是一樣的,就是UV的順序不同。

Sensor RAW:

raw文件是二進制文件,保留的灰度信息,但是濾鏡的排列方式是被記錄下來的,後期可以根據灰度信息和濾鏡排列方式,對色彩進行還原。

爲什麼要拍RAW
使用所有的bit: JPG是8bit, 目前RAW最起碼也12bit. 多出來的bit就是給你後期不失真的
白平衡 JPG調白平衡很傷很傷,RAW無損任意調. 完全不同兩種算法,具體不講了。
曝光: JPG丟失的不僅僅是bit,還有動態.黑白的地方永遠調不回來, RAW十幾級的動態遠遠大於JPG.
無損: RAW永遠是無損,調100次也不會有問題.因爲編輯的只是它的metadata(元數據:中介數據),而非灰度信息本身.
細節和噪點: RAW的細節控制可以根據出片分辨率,ISO可恢復的應用. 或者不用,回頭用更好的細節控制軟件來處理.
更新和改進: RAW文件的算法是不斷可更新和改進的.新的RAW軟件可改進上面說到那些步驟算法(去馬賽克,白平衡,降噪,抗鋸齒,銳化等等). 也許幾年後你用新版本的RAW軟件對你的老照片重新處理會有全新的質量提高
色彩解析:現代數碼相機可以捕捉到色彩很廣,廣到大大於ADOBE RGB(adobe公司開發的一種彩色編碼模式),某些地方超過人眼.目前ProPhoto RGB可以容納的下所有這些捕捉到的顏色. JPG只能是SRGB(標準rgb格式)或者ADOBE RGB,並且還有被clip掉的部分. 遠遠容不下所有這些色彩. 當顯示器更新換代,牛逼哄哄能顯示更多色彩的時候,你回來看你的JPG,永遠不知道當時你拍的真實色彩是什麼了.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章