作者HuangTzHuan ()
看板C_and_CPP
標題Re: [問題] 12bits的最大數值
時間Sun Apr 15 23:22:18 2012
: 別人的sources
: http://www.cybercom.net/~dcoffin/dcraw/dcraw.c
:
: 怎麼算應該都是0~4095
:
: 但是看別人寫的程式是到4098
:
: 這個4098是怎麼來的 有人知道嗎?
:
: 正在發展一套影像品質的評估計算系統
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 219.70.31.98
: → intellectual:5不小心打成8? 04/14 13:46
: → CHANNELV:4096無誤 04/14 13:46
:
: } else if ((nonz[i & 1] = pana_bits(8)) || i > 11)
: pred[i & 1] = nonz[i & 1] << 4 | pana_bits(4);
: if (col < width)
: if ((BAYER(row,col) = pred[col & 1]) > 4098) derror();
: }
:
: 是4098 ,但是這裡的4098應該是有某些特別的意思 才會得到這個數值
: 而不是一般認知中的12BITS是 2^12
這問題很有趣,我寫信問了作者,下面是作者的回覆:
The imprecision of the compression algorithm can
yield values as high as 4098. Only higher values should
be flagged as an error.
Dave Coffin 4/15/2012
所以它的確跟 2^12 沒有直接的關係,而是某個壓縮演算法解出來的最大值。
: 如果你GOOGLE一下12bits 4098就會看到這是很多晶片的規格
我猜想,只是猜想,這些晶片使用上述的壓縮演算法或類似的版本。
: ※ 編輯: erspicu 來自: 219.70.31.98 (04/14 16:14)
: → bob123:那是panasonic的raw檔格式定的吧?用的是unsigned short(16) 04/15 11:57
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.49
→ proach:ADC上,我想不出那邊有 12b = 4098 ,因為這會讓ADC失去 04/16 15:57
→ proach:線性度,或是有missing code, 而這兩個是評斷ADC的基本 04/16 15:57
→ proach:指標,所以我認為都是typo 04/16 15:58
推 CGary:跟 2^12 應該是有關的, 但因為他演算法的不精確性, 所以4098 04/16 17:37
→ CGary:以上才爆, 詳細的話, 等等來看一下程式碼好了 04/16 17:37
→ HuangTzHuan:我的意思不是跟 2^12 無關,而是「沒有直接」的關係.. 04/17 16:27
→ MOONRAKER:typo可以typo到那麼多地方實在滿黯然銷魂的。 |D 04/17 21:53
→ kikiqqp:1/2LSB Max DNL Error...some DAC can see it 04/18 17:26
→ kikiqqp:–1 ~ 0 LSB Fix to –1/2 ~ +1/2 LSB 04/18 17:31
→ kikiqqp:so max count not 2^12(4096), are 4098 04/18 17:34