www.wikidata.de-de.nina.az
Progressive Kompression auch kompakte Kompression oder solide Kompression englisch solid compression ist ein Verfahren bzw ein Vorverarbeitungsschritt bei der Kompression mehrerer Dateien Die Dateien werden dabei zu einem oder auch mehreren grossen Blocken zusammengefasst und dann dateiubergreifend komprimiert Auf diese Weise erzielt man meist eine hohere Kompression als wenn jede Datei einzeln komprimiert wird Wie gross dieser Vorteil ist hangt davon ab wie ahnlich die Dateien sind Inhaltsverzeichnis 1 Funktion 1 1 Technische Erklarung 2 Nachteile 3 Verwendung 4 EinzelnachweiseFunktion BearbeitenSolide Kompression kann immer dann eingesetzt werden wenn mehrere Dateien in einem Archiv zusammengefasst werden Kommt solide Kompression zum Einsatz dann werden alle Dateien vor der eigentlichen Kompression zusammengefasst und dann als einzelner kontinuierlicher Datenstrom komprimiert Andernfalls d h ohne solide Kompression werden die einzelnen Dateien zunachst unabhangig voneinander komprimiert und erst nach der eigentlichen Kompression zu einer Archivdatei zusammengefasst Ublicherweise verbessert progressive Komprimierung die Kompressionsrate besonders bei vielen kleineren und ahnlichen Dateien wie etwa Logdateien Dies ist darauf zuruckzufuhren dass bei der soliden Kompression auch Redundanzen zwischen verschiedenen Dateien zur Datenreduktion ausgenutzt werden konnen wohingegen ohne solide Kompression nur Redundanzen innerhalb der jeweiligen Datei ausgenutzt werden konnen Manche Archivierungsprogramme z B RAR sortieren die Dateien vorher nach Dateityp um so die Kompressionsrate noch etwas mehr zu verbessern 1 nbsp Archivierung ohne oben und mit unten solider Kompression schematische DarstellungTechnische Erklarung Bearbeiten Moderne Packprogramme verwenden eine Kombination aus Worterbuchkompression z B LZ77 und Entropiekodierung z B Huffman Kodierung wie dies u a beim Deflate Algorithmus der Fall ist Ziel der Worterbuchkompression ist es mehrfach vorkommende Byte Folgen zu ersetzen so dass diese nur einmal gespeichert werden mussen Das dabei verwendete Worterbuch auch Lexikon wird heute i a R sukzessive wahrend des Kompressions bzw Dekompressionsvorgangs aufgebaut ausgehend von einem initialen leeren Worterbuch damit das Worterbuch nicht separat ubertragen bzw gespeichert werden muss Ubertragen werden ausschliesslich Literale also Byte Folgen die noch nicht im Worterbuch enthalten sind oder Referenzen auf bereits vorhandene Worterbuch Eintrage Alle ubertragenen Literale werden sogleich dem Worterbuch hinzugefugt sowohl vom Kodierer als auch vom Dekodierer Dies fuhrt zu einer Aufwarmphase am Beginn des Kompressionsvorganges in der das Worterbuch zunachst befullt werden muss bevor tatsachlich Daten durch Worterbuch Referenzen eingespart werden konnen vgl z B LZ77 und LZ78 Ohne solide Kompression konnen nur Redundanzen innerhalb der jeweiligen Datei entfernt werden Redundanzen zwischen mehreren Dateien bleiben unberucksichtigt da bei jeder Datei wieder mit einem leeren Worterbuch begonnen wird Auch durch die jedes Mal neue Aufwarmphase leidet die Kompression etwas Bei der soliden Kompression hingegen kann durchgangig dasselbe Worterbuch fur alle Dateien verwendet werden Dies ist insbesondere bei Dateien mit ahnlichem Inhalt von grossem Vorteil Bei kleinen Dateien ist dieser Vorteil umso starker ausgepragt da hier die Aufwarmphase einen grosseren Anteil hat Die obigen Uberlegungen gelten in ahnlicher Form auch fur die adaptiven Kontextmodelle die bei der Entropiekodierung verwendet werden vgl PPMD oder LZMA Nachteile BearbeitenDa ein solides Archiv nur aus einem Datenstrom besteht der fortlaufend komprimiert wurde ist ein wahlfreier Zugriff auf einzelne Dateien nicht moglich Das bedeutet dass beim Entpacken einer bestimmten Datei erst alle Dateien die sich im Archiv vor dieser Datei befinden entpackt werden mussen Dies geschieht meist nur im Arbeitsspeicher da lediglich ein Teil der Daten spater zur Dekompression der gewunschten Datei benotigt wird und der Rest wieder verworfen werden kann 1 Bei einer Beschadigung des Archivs kann sich dadurch ein Fehler auch weiter uber die betroffene Datei hinaus erstrecken Wie weit hangt von der Hohe der Kompressionsrate ab kann aber bis hin zum Verlust aller Daten ab der Fehlerposition fuhren Daher eignet es sich jedes komprimierte Archiv mindestens doppelt zu speichern damit Schaden durch Sektorenfehler durch Erganzung in einem Byte Editor behoben werden konnen Weitere Dateien konnen nur an das Ende des Archivs hinzugefugt werden Das Loschen von Dateien aus der Archivdatei ist nur moglich indem der Datenstrom vollstandig dekomprimiert wird die zu loschenden Dateien entfernt werden und anschliessend die Dateien wieder solide komprimiert werden Um nicht jedes Mal das komplette Archiv entpacken zu mussen kann als Kompromisslosung auch die Lange zusammenhangend komprimierter Daten begrenzt und dadurch unabhangig komprimierte Blocke erstellt werden Verwendung BearbeitenProgressive Kompression wird unter anderem von den Archiv Formaten 7z RAR ACE sowie ARC unterstutzt In Unix Umgebungen werden traditionell separate Werkzeuge zur Archivierung und zur Kompression verwendet vgl Unix Philosophie Ublicherweise werden zunachst alle Dateien mit dem Werkzeug tar zu einem unkomprimierten Archiv zusammengefasst welches im Anschluss komprimiert werden kann Zur Kompression kann z B gzip ergibt tar gz bzip2 ergibt tar bz2 oder xz ergibt tar xz eingesetzt werden Dieses Vorgehen entspricht einer progressiven Kompression Das verbreitete ZIP Dateiformat hingegen unterstutzt die progressive Archivierung nicht Durch die Verwendung zweier geschachtelter ZIP Archive kann jedoch eine progressive Kompression erreicht werden Dazu fasst man zunachst alle Einzeldateien mit kompressionsloser ZIP Archivierung zusammen Anschliessend komprimiert man diese ZIP Datei mit der gewunschten Kompressionsstufe Einzelnachweise Bearbeiten a b Archive file formats and archivers Solid archives Memento vom 27 April 2007 im Internet Archive bei schmidt devlib org englisch Abgerufen von https de wikipedia org w index php title Progressive Kompression amp oldid 218281744