• Kendınizi kısaca tanıtınız, çok seviniriz, uydutv yönetimi.... yakında IP TV SPOR Deneme Linkleri verilecektir istiyenler Banner'e tıklasınlar.. Bilgi Edinmek İçin Site Yetkilisine Başvurabilirler... TEŞEKKÜR Ederiz YÖNETİM forumdaki bir hatadan dolayı forumumuzun iki hafta önceki forum databaseye dönüş yapmak zorunda kaldık üyelerimizden özür dilerim....

[vinrar] En Iyi Veri Sıkıştırma Yöntemi Hangisi?

mehmetkarahanlı

S.Moderatör
S.Moderatör


7zip, WinRAR ve Windows sıkıştırılmış klasörlerinden hangisi daha iyi bir arşiv seçeneğidir, test ederek yanıtladık.

Artan dosya boyutlarıyla başa çıkmak için uzun zamandır veri sıkıştırma yöntemleri kullanılıyor. Bunlardan en popüler olanı ise “.zip” dosyaları. Windows XP’den bu yana işletim sisteminde gömülü bir sıkıştırma yöntemi de bulunuyor. Sıkıştırılmış klasör adı verilen klasörler, üçüncü parti programlarla da oluşturulabiliyor.Zip dosyalarının yanı sıra RAR ve 7z uzantıları da popüler. RAR uzantısı, tahmin edebildiğiniz gibi WinRAR programına ait. 7z ise 7zip programının sıkıştırdığı dosyalara eklediği uzantı. Peki bu programlardan hangisi daha iyi sıkıştırma yapıyor? En küçük boyutu hangisi elde edebiliyor? Windows’un kendi veri sıkıştırma yöntemi ile üçüncü parti yöntemler arasında ne kadar fark var? Her işletim sistemi her dosyayı açabilir mi? İşte tüm bunların cevabını makalemizde yanıtladık.

Sıkıştırma testi

Sistemimizde, en iyi sıkıştırma yöntemini bulabilmek için zip, rar ve 7z uzantılarını test ettik. Film, fotoğraf ya da Word belgelerini sıkıştırmak yerine, içinde çok farklı dosyalar bulunan oyun klasörlerini sıkıştırmayı tercih ettik.Steam oyunlarından olan Age of Empires II HD ve Planetary Annihilation oyunlarını sıkıştırdık. Aşağıdaki ekran görüntüsünde her birinin sıkıştırma sonrasındaki ve orijinal klasör boyutu yer alıyor.




Sonuçları yazıyla da belirtelim:
  • Planetary Annihilation: 2.98 GB
    • 7zip: 1.77 GB
    • WinRAR: 1.90 GB
    • Windows zip: 2 GB

  • Age of Empires II HD: 4.63 GB
    • 7zip: 2.61 GB
    • WinRAR: 2.79 GB
    • Windows zip: 3.29 GB

Gördüğünüz gibi, eğer bir şeyi en az yer kaplayacak şekilde sıkıştırmak istiyorsanız, 7zip kullanmak en mantıklısı. En iyi sıkıştırma performansını 7zip’ten aldık.

Desteklenen platformlar

Peki her uzantı her işletim sisteminde destekleniyor mu? Cevabımız hayır.
  • Windows: Yalnızca .zip uzantısı varsayılan olarak desteklenir. Diğer arşiv türleri için ayrı yazılımlar yüklenmesi gerekir.
  • Mac OS X: Zip desteklenir. Üçüncü parti yazılımlarla .tar.gz /.tar.bz2. / .7z ve rar formatları açılabilir.
  • Linux: Zip, tar.gz ve .tar.bz2 formatları varsayılan olarak desteklenir. Dosya görüntüleyicisinde (File Roller) 7z ve RAR dosyaları da açılabilir fakat bunun için paket yöneticisinden uygun komut satırı araçlarının yüklenmesi gerekir.
  • Chrome OS: Zip, Tar.gz ve tar.bz2 ve RAR uzantıları için ayrı yüklemeler yapmak gerekmez. Varsayılan olarak desteklenir.




7z, görüldüğü gibi çok yaygın ve entegre edilmiş bir arşiv uzantısı değil. Fakat en iyi sıkıştırma performansı 7zip’ten alınıyor. Kısacası, Mac ya da Linux kullananların .tar uzantısını daha çok kullanmaları mantıklıyken, genellikle Windows kullananlar için .zip uzantısı daha kullanışlı olur.
 
winrar-hard-diskimde-yer-acar-mi_12.jpg


Veri Sıkıştırma, verinin daha küçük boyutlarda saklanması anlamına gelmektedir. Veri sıkıştırma yöntemleri farklı tipte verilere göre farklı sonuçlar üretsede genelde hepsi gereksiz verileri yok etme prensibine dayanmaktadır. Gereksiz verileri yok ederek veri sıkıştırmada genel kural sık tekrarlanan verilere kısa, az tekrarlananlara da uzun kodlar vermektir. Veri sıkıştırma yöntemleri 4 temel sınıf altında toplanabilir.

  • Tekrarlama sayısı kodlama (Run Length Coding)
  • İstatiksel Yöntemler (Statistical Methods)
  • Sözlük Tabanlı Yöntemler (Dictionary-Based Methods)
  • Dönüşümler (Transforms)

LZW
LZW Sözlük tabanlı veri sıkıştırma yöntemidir ve text içeren dosyalar kullanırlar. LZW, ilk olarak 1978 yılında A. Lempel ve j. Ziv tarafınan ortaya atılan
LZ78 isimli yöntemin 1984 yılında T. Welch tarafından geliştirişmiş halidir. Unix işletim sistemlerindeki compress emri bu yönteme göre çalışmaktadır.


  • LZW Kodlama

sıkıştırma işlemine kodlama (encoding), sıkıştırılmadan önceki halini elde etmeye de kod çözme (decoding, expanding) denir. LZW kodlama işlemi boyunca “dictionary” adı verilen bir tablo tutulur. Tablonun ilk 256 indisinde (0..255) ASCII tablodaki karakterler tutulur. Veriler sıkıştırılacak giriş (input) dosyasından byte byte okunup I ile temsil edilen stringe eklenirken dictionary tablosunda bu string aranır. Her bir byte(karakter) eklendikçe tabloda I’nın son hali bulunarak ilerlenir. Herhangi bir noktada I tabloda varken ona eklenen x ile temsil edilen byte ile birlikte Ix tabloda olmayabilir. Bu durumda I stringin dictionary tablosundaki indis değeri sıkıştırılmış verinin tutulduğu çıkış (output) dosyasını yazılır. Ix tabloya eklenir. Kodlama işlemine x ile devam edilir.. x 0-255 arası bir değere sahip olduğundan tabloda vardır.


TWELVE□TWINS□TWIRLED□TWELVE□TWIGS verisisin tabloya kodlanması ;

lzw.jpg


Yukarıdaki tablodaki gibi kodlama yapılmıştır. Kodlama 12 bit ile yapılır ise sıkıştırılan veririn boyutu (25*12+12)/8 = 39 verinin boyutu 33 39/33 = 1.18 bu değerin 1 den bütük olmasından dolayı veri sıkıştırma olmamıştır aksine dosyanın boyutunda artış gözlemlenmetedir. veri sıkıştırmanın maksimum seviyede olması için 2 ve daha fazla tekrar eden karakterlerin olması ve optimum bits belirlenmelidir.
Optimum bits değeri seçiminde kimi zaman dosyanın son dolduğu değer kimi zaman ise ilk boşluk değeri alınmalıdır, hangisinin daha avantajlı olduğu kodlanmadan bilinmemektedir. Dosyanın son dolduğu bits değeri
optimum bits olarak alınır ise 279 9 bit ile ifade edildiğinden dolayı (25*9+9)/8 = 29.25 verinn normal boyutu 33 29.25/33 = 0.89 veri sıkıştırma olmaktadır.

Dictionary tablosuna yeni stringler eklendiği hakde hiçbir indisin çıkışa yazılamaması yüzünden veri sıkıştırmanın olmaması sıkıştırma yapılacak metinde 2 veya daha fazla veri tekrarını olmamasıdır. Ikıştırma yapılacak veri ab□ab□ab□ab… şeklinde olsaydı veri sıkıştırma olur. Sıkıştırılcak metin, ab□cd□ef… gibi tekrarsız kelimelerden oluşur ise sıkıştırma olmamaktadır.
Dictionary tablosunun boyutu arttıkça optimum BITS öncesi ve sonrası veri sıkıştırma oranlarında değişiklik aşağıdaki tablodaki gibi olmaktadır.

Optimum BITS Öncesi Optimum BITS Sonrası
Dictionary Tablosunun Boyu Arttıkça Veri Sıkıştırma Oranı İYİLEŞİR KÖTÜLEŞİR

Optimum BITS öncesi veri sıkıştırma oranı (VSO) iyileiş çünkü, optimum bits 17 olduğu düşünülür ise 12 ile kodlanan veri çıkışa tam olarak yazılamamaktadır.
13 olur ise 12 ye göre daga iyi 14 de 13 e göre daha iyi bu değer 17 ye yaklaştıkça sürekli iyiyew gider şekilde iyileşme olmaktadır.
17 de çıkışa yazılan veriler ta sığmakta ve 17 üzeri olduğunda her çıkış 1 bit ve daha fazla şekilde yazılmaktadır
ve böylelikle optimum bits sonrası veri sıkıştırma oranında kötüleşme olur.
 
Geri
Üst