我做了个8*8的jpg图片,16进制内容如下:
Y 的DC表如下:
000000b1h: FF C4 00 1F 00 00 01 05 01 01 01 01 01 01 00 00 ; ?.............
000000c1h: 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 0A ; ................
000000d1h: 0B                                              ; .
Y 的AC表如下:
000000d2h: FF C4 00 B5 10 00 02 01 03 03 02 04 03 05 05 04 ; ??...........
000000e2h: 04 00 00 01 7D 01 02 03 00 04 11 05 12 21 31 41 ; ....}........!1A
000000f2h: 06 13 51 61 07 22 71 14 32 81 91 A1 08 23 42 B1 ; ..Qa."q.2亼?#B?
00000102h: C1 15 52 D1 F0 24 33 62 72 82 09 0A 16 17 18 19 ; ?R佯$3br?.....
00000112h: 1A 25 26 27 28 29 2A 34 35 36 37 38 39 3A 43 44 ; .%&'()*456789:CD
00000122h: 45 46 47 48 49 4A 53 54 55 56 57 58 59 5A 63 64 ; EFGHIJSTUVWXYZcd
00000132h: 65 66 67 68 69 6A 73 74 75 76 77 78 79 7A 83 84 ; efghijstuvwxyz儎
00000142h: 85 86 87 88 89 8A 92 93 94 95 96 97 98 99 9A A2 ; 厗噲墛挀敃枟槞殺
00000152h: A3 A4 A5 A6 A7 A8 A9 AA B2 B3 B4 B5 B6 B7 B8 B9 ; ¥ウЖ┆渤吹斗腹
00000162h: BA C2 C3 C4 C5 C6 C7 C8 C9 CA D2 D3 D4 D5 D6 D7 ; 郝媚牌侨墒矣哉肿
00000172h: D8 D9 DA E1 E2 E3 E4 E5 E6 E7 E8 E9 EA F1 F2 F3 ; 刭卺忏溴骁栝犟蝮
00000182h: F4 F5 F6 F7 F8 F9 FA Cb & Cr的DC表如下:
00000182h: FF C4 00 1F 01 00 03 01 01 ; 趱鲼??......
00000192h: 01 01 01 01 01 01 01 00 00 00 00 00 00 01 02 03 ; ................
000001a2h: 04 05 06 07 08 09 0A 0B                         ; ........Cb & Cr的AC表如下:
000001aah: FF C4 00 B5 11 00 02 01 02 04 04 03 04 07 05 04 ; ??...........
000001bah: 04 00 01 02 77 00 01 02 03 11 04 05 21 31 06 12 ; ....w.......!1..
000001cah: 41 51 07 61 71 13 22 32 81 08 14 42 91 A1 B1 C1 ; AQ.aq."2?.B憽绷
000001dah: 09 23 33 52 F0 15 62 72 D1 0A 16 24 34 E1 25 F1 ; .#3R?br?.$4??
000001eah: 17 18 19 1A 26 27 28 29 2A 35 36 37 38 39 3A 43 ; ....&'()*56789:C
000001fah: 44 45 46 47 48 49 4A 53 54 55 56 57 58 59 5A 63 ; DEFGHIJSTUVWXYZc
0000020ah: 64 65 66 67 68 69 6A 73 74 75 76 77 78 79 7A 82 ; defghijstuvwxyz?
0000021ah: 83 84 85 86 87 88 89 8A 92 93 94 95 96 97 98 99 ; 儎厗噲墛挀敃枟槞
0000022ah: 9A A2 A3 A4 A5 A6 A7 A8 A9 AA B2 B3 B4 B5 B6 B7 ; 殺¥ウЖ┆渤吹斗
0000023ah: B8 B9 BA C2 C3 C4 C5 C6 C7 C8 C9 CA D2 D3 D4 D5 ; 腹郝媚牌侨墒矣哉
0000024ah: D6 D7 D8 D9 DA E2 E3 E4 E5 E6 E7 E8 E9 EA F2 F3 ; 肿刭阝沅彐玷殛蝮
0000025ah: F4 F5 F6 F7 F8 F9 FA                            ; 趱鲼数据部分如下:
0000026dh: 3F 00 F5 3D 22 19 A4 F1 95 FC B2 19 87 96 5C E4 ; ?.?".ゑ朁?嚃\?
0000027dh: E7 04 13 85 07 DB 1C 81 EC 3D 28 A2 8A CE 9A D0 ; ?.??侅=(螝?
0000028dh: F2 72 68 28 D0 95 BA CE 5F 9B 5F A1 FF D9          ; 騬h(袝何_沖请问这段数据怎么解析呢?
它的二进制如下:
00111111 00000000 11110101 00111101 00100010
00011001 10100100 11110001 10010101 11111100
10110010 00011001 10000111 10010110 01011100
11100100 11100111 00000100 00010011 10000101
00000111 11011011 00011100 10000001 11101100
00111101 00101000 10100010 10001010 11001110 
10011010 11010000 11110010 01110010 01101000
00101000 11010000 10010101 10111010 11001110
01011111 10011011 01011111 10100001

解决方案 »

  1.   

    这儿huffman表解码实在不懂啊 == 看网上jpg解码的都没有关于这个查表的部分。
      

  2.   

    楼主如果想深入了解JPEG的整个编码压缩过程,这个问题太复杂了。不是可以简单描述的过程。一般来说大家都是借用成熟的算法来解决实际问题而不去关心怎么解决的。huffman 编码虽然只是JPEG编码的一部分,但也不易理解,而且比较繁琐,所以你还是自己研究。
    一些关键的概念需要理解:DC变长编码(VLI),AC系数行程长度编码(RLE),Zig-Zag排序
    英文的这篇比较好中文的这个比较全面