Compressione senza perdita: lo stato dell'arte
Molte altre varianti Nelle nostre lezioni abbiamo visto alcuni dei più comuni algoritmi per la compressione senza perdita La letteratura e le applicazioni mostrano alcuni altri algoritmi e molte varianti Diverse applicazioni comuni utilizzano schemi di compressione proprietari
Stato dell'arte (2008) Windows Linux Mac .zip .Cab .RAR .ACE .7z (7-Zip) .gz (gzip) .bz2 (bzip2) .Z (Compress) .zip .sit (Stuffit)
Il formato zip - I Il formato zip fu creato originariamente da Phil Katz, fondatore di PKWARE Katz ha rilasciato pubblicamente la documentazione tecnica del formato, insieme con la prima versione della sua applicazione PKZIP, nel Gennaio del Katz aveva convertito le routine di compressione di un altro programma di archiviazione disponibile, ARC, dal C a codice assembler ottimizzato E' stato processato e condannato per violazione del copyright
Il formato zip - II Allora egli creò un proprio formato, e il formato zip che egli progettò era molto più efficiente rispetto ad.arc Nella metà degli anni 90, quando i computer più recenti iniziarono ad integrare interfacce grafiche complesse, alcuni autori proposero programmi di compressione shareware con interfaccia grafica Uno dei più famosi, in ambiente Windows è Winzip ( Il formato zip utilizza una combinazione dell'algoritmo LZ77 e della codifica di Huffman
Il formato zip - III Alla fine degli anni 90, molti file manager iniziarono a integrare il supporto al formato zip Windows Explorer (Windows Me, Windows XP) Finder (Mac OS X) Nautilus (file manager di GNOME) Konqueror (file manager di KDE) Ad oggi tutti i maggiori ambienti desktop (DE) includono il supporto al formato zip nei loro file manager Tipicamente un file zip file viene trattato come una qualunque altra directory, in modo tale che i file sono copiati al suo interno ed estratti come per ogni altra directory la compressione è gestita in modo trasparente all'utente
Il formato RAR sviluppato dal russo Eugene Roshal proprietario il creatore ha rilasciato il codice sorgente per decodificare gli archivi RAR, sotto una licenza che ne permette la libera distribuzione e modifica, ma proibisce di utilizzarlo per costruire un compressore compatibile (WinRAR - di solito è più lento rispetto al formato zip, ma con una migliore compressione criptazione archivi solidi ridondanza extra per il recupero di archivi danneggiati
Il formato CAB Formato di compressione nativo di Microsoft Windows Permette l'uso di vari metodi di compressione, il più comune dei quali è basato sulla compressione Lempel-Ziv ed è molto simile al formato zip
Il formato ACE La compressione ottenuta è generalmente migliore rispetto al formato zip, ma più lenta feature aggiuntive criptazione archivi solidi...
Il formato 7-zip - I 7-Zip è un compressore di file open source nato prevalentemente per Microsoft Windows, ma ora disponibile anche per Linux Interfaccia grafica o linea di comando 7-Zip è software libero, distribuito sotto licenza GNU LGPL license (
Il formato 7-zip - II Di default il programma crea file nel formato 7z (con estensione.7z) utilizzando l'algoritmo di compressione LZMA LZMA è una variante di LZ77 che usa i principi delle catene di Markov Come ogni altro programma di archiviazione visto fino ad adesso, supporta una grande quantità di formati diversi Utilizza routine zip ottimizzate che aumentano il fattore di compressione sacrificando un po' della velocità di compressione è altamente personalizzabile
Il formato gzip Ne abbiamo analizzato qualche dettaglio Gzip (GNU zip) fu creato da Jean-loup Gailly e Mark Adler, e rilasciato per la prima volta nel 1992 Gzip si basa sull'algoritmo deflate, che è una combinazione di LZ77 e della codifica di Huffman l'algoritmo deflate e il formato Gzip sono stati standardizzati rispettivamente nei documenti RFC 1951 e RFC 1952
Il formato bzip2 algoritmo di compressione open source sviluppato nel 1996 da Julian Seward La compressione è migliore rispetto a gzip, ma sensibilmente più lenta bzip2 utilizza la trasformata di Burrows-Wheeler Quando una stringa di caratteri è trasformata dalla BWT l'ordine dei suoi caratteri è riarrangiata in una forma che rende la compressione più agevole
Il formato Z I file compressi dal comando Unix compress hanno estensione.Z Utilizza una implementazione di LZW compress ha perso popolarità a causa dei brevetti UNISYS è IBM a carico dell'algoritmo LZW che utilizza I formati gzip e bzip2 lo hanno completamente sostituito
Il formato StuffIt Raymond Lau scrisse StuffIt negli anni 80 quando era studente delle scuole superiori I File compressi da StuffIt hanno tipicamente extensione.sitx o.sit Il formato StuffIt è proprietario Diffuso in ambiente Macintosh
Un esperimento di compressione Sorgenti Kernel linux file originale decompresso e archiviato in un file tar di 243 MB
Risultati
Risultati analitici - I MetodoRapportotempotemponote compresscomprdecompr gzip s 5s-1 (fast) s 5s s 5s-9 (best) bz m27s 21s-1 (fast) m30s 41s-9 (best) compress s 6s zip s 8s-1 (fast) s 5s s 5s-9 (best)
Risultati analitici - II MetodoRapportotempotemponote compresscomprdecompr 7z6.75 9m07s 17sdefault non concluso x troppa RAM richiesta-mx= m34s 14s-mx=9 371m RAM -md=32m m18s 20s-mx=9 523m RAM -md=48m Winzip m10s 51sbest zip 7.153m03s 3m25sbest (all) WinRar s 17sfast m29s 2m04sbest WinAce m25s 19sfast m33s 18sbest StuffIt s 1m07sbest