作者a5480277 (tk)
看板C_and_CPP
標題[問題] 關於JPEG解壓縮的部份問題
時間Wed Dec 23 22:59:01 2009
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
目前正在練習寫JPEG解壓縮的部份
觀看了一些範例程式碼
對於其中一些數字 不了解其代表的意義
static const float aanscale[8] = {
1.0f, 1.387039845f, 1.306562965f, 1.175875602f,
1.0f, 0.785694958f, 0.541196100f, 0.275899379f };
上網GOOGLE了一下 又發現好像大家都這樣用
想請問一下這串數字的意義?
程式碼運用的地方如下
for(int y = 0, i = 0; y < 8; y++){
for(int x = 0; x < 8; x++, i++) {
int j = jpeg_zigzag[i];
dct[i] = (vector_cpp[ind + j] * qtable[j])
* aanscale[x] * aanscale[y];
}
}
我個人看起來此處是已經將huffman解完了 在做量化的部份
只是我記得 量化 只是要跟 量化表 相乘就好了
那多乘這個數字上去是為了方便接下來的IDCT運算 ??
不懂其中的函意 請各位幫忙解答一下了 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.37.232
推 LPH66:看來應該是 google一下之後看到應該是關鍵字的"AAN method" 12/23 23:22
→ aleelyle:這跟C有什麼關係.... 12/25 03:12
→ sunneo:有啊 只是涉及的部份比較偏impl以及algo 12/25 23:17