AC成分の復号
一応、8x8の1ブロックを復号する処理まで書いたのですが、どうもバグっていて、全然前に進みません。
どこが間違っているのか、やっと分かったので書いておきます。
ハフマン符号化されたデータは、
bit列で、
[HuffmanCode][HuffmanValue][HuffmanCode][HuffmanValue]・・・・と並んでいます
011110100101010101010101010101010101011111・・・・・・・・
DC成分は、HuffmanCodeをデコードすると、HuffmanValueの長さを示します。HuffmanValueは、DCTの係数値の差分を示しています。
AC成分は、HuffmanCodeをデコードすると、前半4byteはランレングスで、後半4byteがHuffmanValueの長さを示してます。
・・・・・
てっきり、
AC成分は、HuffmanCodeをデコードすると、HuffmanValueの長さを示していて、
HuffmanValueの前半4byteはランレングスで、後半4byteがDCTの係数値だと思ってましたよ(涙)
※複合化した値が、やたらと 0 ばっかりになる人は、一度確認してみて下さい(笑
(今更JPEGのデコードなんてしてる人いないか・・・)
[追記]
ああ・・・
逆DCTも、値が変・・・・
[追記2]
ああ・・・
√2じゃなくて、1/√2 でした・・・