LZMA
WinZip
|
LZMA
7z
|
LZMA2
7z
|
PPMd
WinZip
|
PPMd
7z
|
BZip2
WinZip
|
BZip2
7z
|
Deflate
WinZip
|
Deflate64
WinZip
|
Orijinal Resim
|
2,492
|
2,498
|
2,498
|
3,234
|
3,266
|
3,14
|
3,082
|
3,741
|
3,234
|
EBMP+RLE
|
2,748
|
2,749
|
2,749
|
2,559
|
2,528
|
2,823
|
2,817
|
4,395
|
2,559
|
EBMP
|
2,396
|
2,431
|
2,432
|
2,322
|
2,378
|
2,733
|
2,734
|
3,297
|
2,322
|
SSBB 64px
|
2,351
|
2,377
|
2,377
|
2,678
|
2,745
|
3,021
|
3,021
|
3,324
|
2,678
|
SSBB 128px
|
2,315
|
2,345
|
2,345
|
2,524
|
2,596
|
2,881
|
2,881
|
3,218
|
2,524
|
SSBB 256px
|
2,334
|
2,365
|
2,368
|
2,417
|
2,481
|
2,794
|
2,795
|
3,22
|
2,417
|
DSBB 64fark-R
|
2,395
|
2,434
|
2,434
|
2,321
|
2,377
|
2,695
|
2,691
|
3,303
|
2,321
|
DSBB 128fark-R
|
2,395
|
2,433
|
2,433
|
2,322
|
2,378
|
2,689
|
2,688
|
3,305
|
2,322
|
DDBB 128fark
|
2,398
|
2,433
|
2,433
|
2,351
|
2,411
|
2,777
|
2,775
|
3,301
|
2,351
|
DDBB 200fark
|
2,404
|
2,442
|
2,441
|
2,332
|
2,388
|
2,748
|
2,748
|
3,309
|
2,331
|
Tablo 2’de görüldüğü gibi Ubuntu.bmp resminde, LZMA ve LZMA2 için resmi 128x128 px karelere bölmek en iyi sonucu verirken, PPMd için resmi R kanalının 64 farkı sağladığı ilk parçanın büyüklüğünde parçalara (1280x259) bölmek en iyi sonucu vermiştir. Bzip2 için ise en iyi sonucu veren parça boyutu R kanalının 128 farkı ile elde edilen 1280x367 olmuştur. Dinamik parçalama işleminin en iyi sonucu verdiği yöntem ise Deflate64 olmuştur. Bütün denemeler arasında en iyi sonucu veren ise resmin 128x128 px karelere bölünüp LZMA (Winzip)’e verilmesi ile elde edilmiştir.
Tablo 3. 2k11.bmp için sıkıştırma sonuçları (bpp/ms)
|
LZMA
WinZip
|
LZMA
7z
|
LZMA2
7z
|
PPMd
WinZip
|
PPMd
7z
|
BZip2
WinZip
|
BZip2
7z
|
Deflate
WinZip
|
Deflate64
WinZip
|
Orijinal Resim
|
0,295
|
0,293
|
0,293
|
0,32
|
0,321
|
0,306
|
0,307
|
0,507
|
0,32
|
EBMP+RLE
|
0,283
|
0,283
|
0,283
|
0,409
|
0,293
|
0,392
|
0,391
|
1,132
|
0,409
|
EBMP
|
0,256
|
0,256
|
0,256
|
0,324
|
0,304
|
0,385
|
0,373
|
0,873
|
0,324
|
SSBB 64px
|
0,301
|
0,301
|
0,3
|
0,377
|
0,344
|
0,442
|
0,433
|
0,371
|
0,377
|
SSBB 128px
|
0,272
|
0,272
|
0,272
|
0,344
|
0,318
|
0,407
|
0,396
|
0,328
|
0,344
|
SSBB 256px
|
0,267
|
0,266
|
0,266
|
0,344
|
0,321
|
0,396
|
0,385
|
0,936
|
0,344
|
DSBB 64fark-R
|
0,258
|
0,258
|
0,258
|
0,327
|
0,307
|
0,388
|
0,377
|
0,876
|
0,327
|
DSBB 128fark-R
|
0,259
|
0,258
|
0,258
|
0,327
|
0,307
|
0,388
|
0,377
|
0,876
|
0,327
|
DDBB 128fark
|
0,346
|
0,346
|
0,347
|
0,459
|
0,433
|
0,529
|
0,515
|
1,044
|
0,459
|
DDBB 200fark
|
0,288
|
0,289
|
0,289
|
0,367
|
0,341
|
0,421
|
0,409
|
0,95
|
0,367
|
Tablo 3’te verilen sonuçlar incelendiğinde 2k11.bmp için en iyi sıkıştırma oranının, RLE
kullanmayan EBMP dönüşümü ve ardından LZMA yöntemleri ile sıkıştırma ile elde edildiği görülmektedir.
Tablo 4. Bridgetolimansk.bmp için sıkıştırma sonuçları (bpp/ms)
|
LZMA
WinZip
|
LZMA
7z
|
LZMA2
7z
|
PPMd
WinZip
|
PPMd
7z
|
BZip2
WinZip
|
BZip2
7z
|
Deflate
WinZip
|
Deflate64
WinZip
|
Orijinal Resim
|
13,804
|
13,935
|
13,936
|
12,589
|
12,591
|
12,475
|
12,483
|
17,143
|
12,589
|
EBMP+RLE
|
15,569
|
15,568
|
15,571
|
12,819
|
13,005
|
13,676
|
13,673
|
22,049
|
12,819
|
EBMP
|
13,595
|
14,041
|
14,044
|
12,614
|
12,621
|
13,592
|
13,568
|
16,727
|
12,614
|
SSBB 64px
|
13,051
|
13,34
|
13,343
|
12,858
|
12,866
|
13,934
|
13,851
|
15,991
|
12,858
|
SSBB 128px
|
13,093
|
13,404
|
13,405
|
12,705
|
12,713
|
13,764
|
13,672
|
15,665
|
12,705
|
SSBB 256px
|
13,286
|
13,652
|
13,655
|
12,654
|
12,66
|
13,658
|
13,61
|
15,896
|
12,654
|
DSBB 64fark-R
|
13,912
|
14,365
|
14,366
|
12,853
|
12,858
|
13,912
|
13,9
|
17,354
|
12,853
|
DSBB 128fark-R
|
13,593
|
14,031
|
14,033
|
12,587
|
12,593
|
13,53
|
13,527
|
16,761
|
12,587
|
DDBB 128fark
|
13,476
|
13,881
|
13,884
|
12,668
|
12,676
|
13,663
|
13,63
|
16,475
|
12,668
|
DDBB 200fark
|
13,596
|
14,043
|
14,044
|
12,616
|
12,623
|
13,595
|
13,574
|
16,73
|
12,616
|
Bridgetolimansk.bmp için BZip2 ile işlem görmemiş resim dosyasının sıkıştırılması en iyi sonucu vermiştir. En iyi sonuca en yakın sonucu veren yöntem ise R kanalında 128 fark arayan DSBB’nin PPMd ile birlikte kullanılması olmuştur (Tablo 4).
Tablo 5’te görüldüğü gibi Programmer.bmp için tüm bölümlendirme algoritmaları, orijinal dosyanın sıkıştırma yöntemleriyle sıkıştırılmasından daha kötü sonuçlar vermiştir. Kendi aralarında ise en iyi sıkıştırmayı sağlayan algoritma PPMd (7z) için EBMP+RLE olmuştur.
Tablo 5. programmer.bmp için sıkıştırma sonuçları (bpp/ms)
|
LZMA
WinZip
|
LZMA
7z
|
LZMA2
7z
|
PPMd
WinZip
|
PPMd
7z
|
BZip2
WinZip
|
BZip2
7z
|
Deflate
WinZip
|
Deflate64
WinZip
|
Orijinal Resim
|
0,103
|
0,103
|
0,103
|
0,085
|
0,08
|
0,076
|
0,076
|
0,106
|
0,085
|
EBMP+RLE
|
0,227
|
0,227
|
0,227
|
0,192
|
0,186
|
0,194
|
0,192
|
0,277
|
0,192
|
EBMP
|
0,21
|
0,21
|
0,21
|
0,187
|
0,19
|
0,192
|
0,19
|
0,235
|
0,187
|
SSBB 64px
|
0,26
|
0,259
|
0,259
|
0,256
|
0,262
|
0,275
|
0,273
|
0,341
|
0,256
|
SSBB 128px
|
0,245
|
0,245
|
0,245
|
0,212
|
0,216
|
0,227
|
0,224
|
0,291
|
0,212
|
SSBB 256px
|
0,239
|
0,24
|
0,24
|
0,205
|
0,209
|
0,211
|
0,208
|
0,276
|
0,205
|
DSBB 64fark-R
|
0,218
|
0,217
|
0,217
|
0,194
|
0,198
|
0,205
|
0,202
|
0,252
|
0,194
|
DSBB 128fark-R
|
0,218
|
0,217
|
0,217
|
0,194
|
0,198
|
0,205
|
0,203
|
0,252
|
0,194
|
DDBB 128fark
|
0,501
|
0,5
|
0,5
|
0,536
|
0,539
|
0,569
|
0,566
|
0,682
|
0,536
|
DDBB 200fark
|
0,452
|
0,451
|
0,451
|
0,445
|
0,447
|
0,489
|
0,484
|
0,558
|
0,445
|
Bzip2 ve Deflate yöntemleri Lena.bmp üzerinde hiçbir ön işlem yapmadığı takdirde en iyi sonucu vermiştir. Kanalları farklı şekilde kodlama yöntemleri diğer veri sıkıştırma yöntemleri için kâr sağlayabilse de orijinal resmin Bzip2 yöntemi ile sıkıştırılmasından daha iyi sonuçlar elde edememiştir.
Tablo 4.5. Lena.bmp için sıkıştırma sonuçları (bpp/ms)
|
LZMA
WinZip
|
LZMA
7z
|
LZMA2
7z
|
PPMd
WinZip
|
PPMd
7z
|
BZip2
WinZip
|
BZip2
7z
|
Deflate
WinZip
|
Deflate64
WinZip
|
Orijinal Resim
|
16,772
|
16,874
|
16,875
|
16,01
|
16,024
|
15,24
|
15,241
|
19,405
|
16,01
|
EBMP+RLE
|
18,909
|
18,908
|
18,913
|
16,139
|
16,176
|
16,773
|
16,732
|
26,038
|
16,139
|
EBMP
|
15,909
|
16,66
|
16,663
|
15,897
|
15,896
|
16,554
|
16,544
|
20,185
|
15,897
|
SSBB 64px
|
15,49
|
15,992
|
15,998
|
16,186
|
16,191
|
16,957
|
16,869
|
20,313
|
16,186
|
SSBB 128px
|
15,541
|
16,149
|
16,153
|
15,969
|
15,972
|
16,737
|
16,67
|
20,218
|
15,969
|
SSBB 256px
|
15,683
|
16,403
|
16,409
|
15,918
|
15,918
|
16,61
|
16,565
|
20,081
|
15,918
|
DSBB 64fark-R
|
15,951
|
16,718
|
16,718
|
15,928
|
15,926
|
16,588
|
16,582
|
20,818
|
15,928
|
DSBB 128fark-R
|
15,916
|
16,683
|
16,684
|
15,881
|
15,875
|
16,57
|
16,564
|
20,388
|
15,881
|
DDBB 128fark
|
15,902
|
16,653
|
16,655
|
15,912
|
15,911
|
16,582
|
16,577
|
20,185
|
15,912
|
DDBB 200fark
|
15,915
|
16,665
|
16,668
|
15,904
|
15,903
|
16,563
|
16,556
|
20,194
|
15,904
|
7. Sonuç
Kanalları farklı şekilde kodlama yöntemlerinin her biri farklı sıkıştırma algoritmaları için avantaj sağlamaktadır. Bu yöntemler yaptıkları işlem bakımından birbirlerinden farklı zaman karmaşıklığına sahiptir. İlk yöntem sadece renk kanallarının sıralanması işlemiyken ikinci yöntemde bunun üzerine resmi belirli boyuttaki parçalara bölme işlemi eklenmektedir. Üçüncü yöntemle beraber bu parçalama işleminin resmin sadece sol üst kısmı için dinamik olması sağlanmıştır. Bu da resmin bir kısmının fark bulunana kadar taranması anlamına gelmektedir. Son yöntemde ise dinamik olarak parçalanmak üzere tüm resim taranır. Bu nedenle en son yöntemdeki işlem karmaşıklığı çok daha fazladır. Yöntemlerin karmaşıklığıyla sonuçların doğrusal bir şekilde iyileşmesi gibi bir durum söz konusu değildir. Aksine bazı durumlarda en basit karmaşıklıktaki kanalların yeniden sıralanma işlemi, diğer algoritmalara göre çok daha iyi sonuç vermiştir. Resmin karmaşıklık düzeyine göre bu algoritmalar belirli durumlarda resmi sıkıştırma yöntemlerinin daha iyi sıkıştırabileceği hale getirebilmektedirler.
8. Kaynaklar
[1] ISO/IEC 10918-1, CCITT Rec. T.81, 1992, “Digital Compression And Coding of Continuous-Tone Still Images – Requirements And Guidelines (JPEG)” (1994).
[2] ISO/IEC 15444-1:2004, “JPEG 2000 image coding system: Core coding system” (2000).
[3] Christopoulos C., Skodras A., Ebrahimi T., “The JPEG2000 still image coding system: An Overview”, IEEE Transactions on Consumer Electronics, 46(4), 1103-1127 (2000).
[4] ITU-T Rec. T.832, 2009, ISO/IEC 29199-2, “JPEG XR image coding system: Image coding specification” (2010).
[5] Rao K. R., Yip P., “Discrete Cosine Transform: Algorithms, Advantages, Applications”, Academic Press, San Diego, CA, USA (1990).
[6] Jensen A., Cour-Harbo A., “Ripples in Mathematics: The Discrete Wavelet Transform”, Springer-Verlag, Berlin, Germany (2001).
[7] CompuServe, “Graphics Interchange Format(sm), Version 89a”, CompuServe Incorporated, Columbus, Ohio (1990).
[8] Randers-Pehrson G., “PNG (Portable Network Graphics) Specification, “Version 1.2”, PNG Development Group (1999).
[9] ISO/IEC 15948, Information technology -- Computer graphics and image processing -- Portable Network Graphics (PNG): Functional specification (2004).
Dostları ilə paylaş: |