Kompressions-Werkzeuge


In den letzten Jahren sind die Dateigrößen aufs 10 fache gestiegen. Leider haben die technischen Randbedingungen mit dieser Entwicklung nicht Schritt gehalten, sodaß viele Geschwindigkeitsvorteile durch diesen Umstand mehr als egalisiert wurden.
Es ist daher nur legitim, zu fordern, daß auch die Leistungsfähigkeit der Komprimierungsprogramme wie Zip, Lharc, ... den gehobenen Anforderungen genügt.
Leider sind die hier erzielten Verbesserungen kaum erwähnenswert.

AM hat daher eine Arbeitsgruppe zusammengestellt, in der die besten EDV-Spezialisten unserer Labors vertreten sind.
Das Ergebnis ist entsprechend sensationell.

Eine Überprüfung gängiger Methoden zeigte, daß eine verlustfreie Komprimierung 1:100 bei den meisten Methoden kaum zu bewerkstelligen ist.

Rasche Abhilfe ist hier mit speziell konstruierten Datenbeständen erreichbar. Wir sind bereits jetzt in der Lage, dem interessierten Anwender vordefinierte Dateien zu überlassen, die in Zusammenhang mit dem Programm Zip eine maximale Komprimierung erzielen.

Für die spontane Komprimierung wurde eine bereits bekannte Methode verfeinert.

Dabei wird die Datei nach gleichlautenden Sequenzen durchsucht, die in eine Schlüsseldatei übernommen werden und in der Originaldatei durch ihre Nummer in der Schlüsseldatei ersetzt werden.
Wird die Schlüsseldatei gemeinsam mit der bearbeiteten Datei übertragen, kann durch Ersetzen des Schlüssels wieder der Originalbestand hergestellt werden.
Die Schlüssel müssen in Datei eine Kennung besitzen (damit sie als Schlüssel erkennbar sind) und ihre Nummer unter der sie in der Schlüsseldatei zu finden sind. Bedingt dadurch können Einsparungen erst bei Sequenzen mit einer Mindestlänge von 3 Zeichen erzielt werden.
Je länger die Sequenz wird desto größer ist einerseits die Einsparung, desto geringer ist aber andererseits ihr Vorkommen in der Datei. Die gesamte Einsparung ergibt sich als (Sequenzlänge-2)*Vorkommen.
Allerdings steigt mit größerer Sequenzlänge auch die Anzahl der Möglichkeiten, sodaß ein mehrstelliger Schlüssel notwendig wird, der alle erzielten Einsparungen wieder zunichtemacht.


Wie wir jedoch zeigen konnten, sinkt die Anzahl der möglichen Schlüsselwerte wieder, wenn die Sequenzlängen weiter ansteigen. Damit kann wieder zu einer 2-stelligen Nummerierung der Schlüssel zurückgekehrt werden und durch die langen Sequenzen die maximale Einsparung erzielt werden.

In einem standardisierten Format wird die Datei auf 200 Schlüsselsequenzen aufgeteilt. Komplexe Suchverfahren entfallen, da mit hoher Wahrscheinlichkeit jede dieser Sequenzen nur einmal auftritt. Diese 200 Sequenzen werden in die Schlüsseldatei übernommen. Da auf diese Weise in der Originaldatei nur noch Schlüssel vorkommen, kann auch die "Kennung" entfallen, wodurch eine weitere Verdoppelung erzielt wird.
Damit sind uns bereits verlustfreie Komprimierungen jenseits von 1:100 gelungen. In jedem der von uns getesteten Fälle ist die Komprimierung so hoch, daß die Datei deutlich kleiner als die Schlüsseldatei wurde, die zur Wiederherstellung des originals mit übertragen wird.

Weitere Komprimierungen sind vorstellbar, wenn in der verbleibenden Datei ein einheitliches Muster entdeckt werden kann, was durchaus vorstellbar ist.