星期日, 12月 23, 2007

[研究日誌]三個component的jpeg圖

決定不能在頹廢之後
開始繼續寫程式
學妹說的對
我現在只是沒人討論而已
又不是做不下去的地步

趁現在把程式寫好
再去找老闆
他應該會很開心吧

之前寫完針對16x16pixels jpeg灰階影像 的 decoder 之後

覺得自己對於interval, MCU , data unit 之間的關係
還不是十分明確
覺得應該要多看幾個例子之後
再進行下一步

用photoshop畫了一張也是灰階只是size不同的測試圖片後
因為我還不想用downsampling的問題
想說follow一個component的模式去解bitstream
之後再考慮彩色的圖(3 components)

這是我這次的測試圖片
應該有比較像正常圖片的某個角落吧XD
16X40
不過天不從人願
雖然一樣是灰階圖
可是這次PHOTOSHOP存圖的方式
就是用三個component去存了
Quantization table有兩個
Huffmantree有四個(兩個DC兩個AC)

煩耶
降我就不能用同一份tree去做了
還好圖片的size不算太大
耶嘿~~~
經過晚上的努力
我現在可以解出乘上quantizedn coefficient 的 bitstream 囉
下面是噁心的data units 總共有30個block喔~~~

70 -406 21 200 195 72 20 0
91 -112 -168 -140 -52 -16 -48 -60
28 40 24 0 -16 0 24 24
40 30 10 0 0 0 0 0
15 26 16 0 0 0 0 0
18 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
730 -84 0 -10 0 0 0 0
112 8 0 0 0 0 0 0
-7 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
-80 91 371 360 120 -54 -40 34
28 -160 -32 30 78 64 84 72
-14 16 -8 10 -16 12 0 0
20 -30 10 -18 24 0 0 0
-15 13 -16 0 0 0 0 0
18 -16 0 0 0 0 0 0
0 12 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
200 -182 -42 -10 30 18 20 0
224 96 48 0 -26 -32 -12 0
-49 -56 -32 -10 0 0 0 0
30 20 10 18 12 0 0 0
15 13 0 0 0 0 0 0
-18 -16 -12 0 0 0 0 0
0 12 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
320 196 392 70 -60 -108 -40 0
-525 256 160 20 13 -48 -48 -48
14 104 -200 40 64 12 -24 -36
30 -40 -20 108 -60 0 0 0
0 -39 48 -12 -36 36 0 0
18 -16 0 -48 48 0 0 0
0 -12 0 0 0 -48 0 0
0 0 0 0 0 0 36 -48

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
-260 -105 98 170 225 144 40 -17
7 -152 -112 -70 -78 -64 -36 0
-7 -24 -24 -30 -16 -24 0 0
0 -20 -30 -18 -12 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
1020 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
-130 308 119 360 75 108 -20 -17
-371 32 168 -60 130 32 36 0
259 -40 -176 0 -16 48 0 0
-40 -80 40 90 -12 0 0 0
0 39 32 -72 -24 24 0 0
18 -32 -24 24 24 0 0 0
0 -12 36 0 -48 0 0 0
0 0 0 -36 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
1020 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
930 126 -119 110 -90 72 -40 17
-77 112 -104 90 -78 64 -48 36
-14 16 -16 10 -16 0 -12 -12
0 0 0 0 0 -12 0 0
0 13 0 0 0 0 0 0
0 0 0 0 -12 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

---------------------------------------------

接下來就是如何正確的放每個block到正確的位置了
Yeah~~~
GoGoGo
COSINE加油~~~