先談論Singnal Processing部份的Quan.好了,可參考此份PDF講義

由示意圖上可以看出,Linear Quantization的量化曲線是直線。
假設最大與最小的振幅是固定的,量化的Bit數愈高,量化的step就愈多,
每個區間就愈小,如此對於量化過的曲線與原先類比的曲線,就會愈相似。
這也就是為什麼會有16 bit會比8 bit的ADC來的好的原因。
Non-Linear Quantization

而Non-Linear Quan.的量化曲線是條非線性的曲線,
這條曲線通常是由一個Log/Gamma Function產生而來的,
這樣的曲線在低頻的部份Quan. Step比較小,Quan. Error就會比較小,
而高頻的部份因為通常都比較不重要,因此可用較大的Quan. Step,
但在整體的SQNR會比較低,因此可以用比較小的bit數(量化精度),
達成與較高bit數相近的效能。
因此在DCRaw中,可以選擇使用不同的量化方式,將Sensor的ADC的結果,
利用不同的量化方式,轉成不同大小的TIFF。
影像部份的量化可參考Wiki的Quantization (image processing)

一般的Jpeg,是使用 DCT轉換將空間Domain轉成頻率Domain
一個DCT的Block,低頻會在左上,高頻會在右下。

一張影像的低頻很重要,高頻可丟棄的部份很大,因此設計一個Quan. Table,
低頻值很小(Step Size小),高頻值很大(Step Size大),去對原始的DCT做量化,
因此低頻部份的量化誤差很小,高頻部份的量化誤差很大,但人眼很難辨識的出來。
利用丟棄高頻的方式便可縮小影像的大小

在壓縮JPEG檔案的時候,會有一個PF參數可以調整,就是在調整Quan. Table
得到不同的影像品質。
不過小弟這樣寫,懂得人應該不多吧

要進一步的了解可參考戴顯權老師著的資料壓縮 ,
這本是少數中文書籍中寫的比原文書來得更好的一本。
http://kivava.blogspot.com
dodoba21 wrote:
不過我還是不懂為何轉成8-bit比較亮
16-bit卻那麼暗呢?
參考DCRaw manpage
裡面有兩個參數值得注意的是-b與-4
-b brightness
dcraw 的輸出預設值是 8-bit PGM/PPM/PAM、 BT.709 gamma 曲線以及 99% white point。如果您覺得這樣的設定下輸出的影像過暗或是過亮, -b 這個參數可以讓您調整亮度;這個參數的預設值是 1.0。
-4
輸出 16-bit 線性格式的影像,不調整圖檔的 White Point 與 Gamma 曲線值。同時在指令裡若是有使用 -b 參數的話,使用 -4 後也會忽略 .B -b 值。
也就是說您如果沒有作任何其他的設定使用8 bit輸出時,預設就會作Gamma及亮度的處理。
如果您選擇使用16bit的Linear Quan.輸出,則結果就是Sensor所讀到的原始資料直接做量化,沒有經過其他的處理。
也許原始影像較暗的狀況是正常的,試試看拉高亮度之後,16bit Quan.的細節的保留程度會不會比選擇8bit Quan.來的高。
不過小弟的直覺是,一般Sensor所接收的訊號都會是under的,差別在於輸出時會做一次的亮度增強讓使用者在解RAW時沒有感覺Sensor原始的數據是under的。
在Zone System中,要平均的曝光是必須考慮到各個亮度區塊的平衡的。
但在Digital Sensor中,sensor對亮度的感應卻是非線性的,也就是在低亮度時,sensor能有較好的表現,高亮度時(過曝),sensor只能保留部份的資訊,例如一片死白。
不過同時間也有人提出Expose to the Right
這樣的概念,希望在允許的範圍內讓sensor盡量的接收光子,以提昇光的接收量。
並且利用較亮的區塊保留影像的系。
於是在Exposing for the Highlights這篇文章中就提到如何將Zone System正確的對應到Digial Photography中,以及ETTR在實際使用時需要注意的地方。
不過小弟猶記得許久之前曾看到前輩分享一個曝光一個很重要的觀念, 就是'Expose to the left'。
也就是說在取得影像的當下,必須調整曝光度,讓Histrogram的最左測山峰盡量的靠近0的位置,讓整張影像處於欠曝的狀態,在後製時,再將影像調亮,以取得正確的曝光度以及寬容度。
這裡有篇Exposing to the Left vs. Exposing to the Right的文章,裡面比較了兩種方式,似乎互有勝負。
說實在的,小弟也不清楚這是怎麼回事。
還是說我想保留比較多的亮部細節,就ETTR;要比較多的暗部細節,就ETTL呢?
http://kivava.blogspot.com
kivava wrote:
參考DCRaw ma...(恕刪)
聽kivava一席話,勝讀十年書,小弟獲益良多,先在此叩謝大大


說到這讓我想起kadoki的這篇文章有提到對自己的相機作灰階測試
測試完得知此相機的可用色階,往後就使用這個數據對高光處點測光進行拍攝
在此引用kadoki大的教學
kadoki wrote:
以下是參數測定教學:
1.先準備一張灰卡
2.讓灰卡受光均勻
3.將相機感度定在最佳感度
(依廠商不同,如N.S 最近的機器是ISO 200)
4.將鏡頭索在無限遠對焦
5.將相機貼近灰卡直到占滿畫面
(此時應該只看到灰濛濛一片)
6.無任何補償下測光,並記下測光值
7.切到M模式,使用剛剛的參數拍照
得到第五階影像
8.使用剛剛的參數依序增減曝光值,每次一格
一共拍攝9張,連同第五階一共十張
9.輸入LR轉灰階,然後輸出
10.選取全部圖檔,曝光值輸入 -1
同步化設定,然後輸出
11.選取全部圖檔,曝光值輸入 -2
同步化設定,然後輸出
12.將這30張圖依序排列,
做出自己的參數表
13.如果,有需要,請自己做白色跟黑色測定
經過以上程序,你將會了解自己相機的能力,
在拍照時,你才能決定要開多少,
回來後製能做到什麼程度,
這個方式就是Expose to the Right嗎?
用+EV值方式拍攝吃多一點光,再利用後製拉回更多細節
而LX3頃向Exposing to the Left 的樣子
我跟cake0715的看法是,曝光不足在顏色層次表現與暗部細節應該都會很差才對
但後製過後似乎又還不錯,可以理解成LX3這顆Sensor能力很高嗎? 或是Exposing to the Left 運用得宜呢?

CMOS Image Sensor的設計方式是希望能夠保留高光部份的細節,所以對Voltage的Response Curve是一個Linear-Logarithmic的曲線。
也就是在低電壓時,是以線性的方式變化,而在高電壓時,以Log的方式增加,加快電壓的上升幅度,讓高光區域更快達到Saturation。

接收的photons(in Voltage)與light intensity是以Log的方式增加。
所以當Response curve為直線時,高光的部份會因為亮度與電壓是log的關係,需要非常大的電壓才能在高光的區域有高的分辨率。
當影像的亮度做調整時,因為高光的部份本來就無法完全的被感應,於是在拉高亮度的時候,就會出現一整片死白的狀況。


改用linear-log的response curve之後,高光的部份響應log,轉換到實際的亮度EV時,反而變成了Linear的方式增加,於是乎高光的部份,便可藉由較小的電壓變化被記錄下來,於是乎高光(Zone 7~9)部份被紀錄到的資訊就變多了,藉此達到更加的Dynamic Range。
相關的論文可利用Dynamic Range, Linear-Logarithmic Response查詢。
由此觀點來看,ETTR是對的。
藉由增加photons提高電壓,讓高光區域能夠得到更多的資訊。
讓整張影像所包含的資訊量增加,保留更多的細節。
不過仍需考量CCD的Logarithmic curve,如果上升過快而曝光度過高,反而會造成影像品質的下降。
CMOS本身對於低光的區域感光度就比較高且線性,在曝光時Sensor時會盡量的希望操作在線性區域,降低在非線性區域操作的機會,畢竟非線性的高光區是以Log方式響應,一個不小心就會暴掉而到達CMOS元件的飽和區。
最後的結論可推得Image Sensor原始的影像偏暗是正常的,因為要盡量的讓自己操作在線性區,高光區域則以Log Response的方式做處理,達到Wide Dynamic Range。
不過以上都是小弟自己的想法,不一定是對的,如果各位前輩有其他的想法也請多多指教。
http://kivava.blogspot.com