Wer sucht der findet...
Huffman-Kompression Teil I
Huffman-Kompression Teil II
Zwar nicht besonders gut erklärt, aber immerhin.
Ansonsten nach Lempel-Ziv(-Welch) oder Huffman im Internet suchen. Beide sind zwar nicht selbst ZIP im Original, aber unter
www.wotsit.org kann man sich die Header zum ZIP-Format anschauen und das Komprimierungsprinzip ist das gleiche wie LZ (bzw. LZW, übrigens der Algo vom GIF-Format) und Huffman. Die einen ein wenig mehr verfeinert, die anderen weniger.
Und im c't-Archiv auf heise.de findest du auch noch was, wenn du bereit bist ein wenig Geld zu investieren, denn da war vor höchstens einem halben Jahr ein guter KnowHow-Artikel über Lempel-Ziv-Komprimierung.
Was TomT gepostet hat ist nur die halbe Wahrheit
Zusätzlich wird nämlich noch ein Dictionary angelegt, das die zugehörigen Bit-Werte speichert. Durch die Größe des Dictionaries kann man bei großen, unregelmäßigen Dateien schon einiges an zusätzliche Kompressionsrate erzielen. Aber das ist alles nachzulesen im c't-Artikel.
Edit:
Weil nach nach Kompression allgemein gefragt hast:
Verlustbehaftete Komprimierungsverfahren, wie z.B. Ogg Vorbis, MPeg oder JPeg basieren zusätzlich zu oben genannten Verfahren der Wörterbücher auf ergonomischen Modellen. Bei Audiodaten sind das psychoakustische Hörmodelle, die genau besagen, welche Frequenzen der Durchschnittsmensch am besten hört, und was er wann nicht hört, weil ein anderer Ton das Ganze übertönt. Bei Bildern sind das Farbnuancen, die vom Auge nicht mehr getrennt wahrgenommen werden können, bzw Detailstufen, die wichtiger für das Auge sind oder weniger wichtig. Diese werden dann aus dem gesamten Datenspektrum rausgefiltert und anschließend zusätzlich mit einem verlustfreien Algorithmus komprimiert.
MPeg ist übrigens noch raffinierter, dort werden nur Bildunterschiede gespeichert, und selbst dort nur Regionen und Vektoren, wenn zum Beispiel eine Kugel von links nach rechts fliegt, wird der Kugelbereich als Region festgelegt und ein Vektor gibt die Richtung an. So wird bei jedem Frame wirklich nur ein Bruchteil der eigentlichen Informationsmenge benötigt, die Bilder werden aus den vorangegangenen zusammengesetzt. Die so genannten Keyframes sind Vollbilder, die immer vollständig gespeichert werden. Damit vermeidet man Varianzen, die durch Rundungsfehler oder gar Berechnungsfehler auftreten, indem das Bild ab und zu mal wieder "refresht" wird.
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk.