wie funktioniert die Dateikomprimierung?
-
@todo: Was ist Verlustbehafteten verfahren (MP3, JPEG, ...)?
-
da spielt ja nicht nur komprimierung an sich einen rolle, schließlich kannst du aus MP3s usw. keine unkomprimierte file mehr herstellen, die die gleiche qualität bzw. die gleichen informationen beinhaltet! das steht im krassen gegensatz zu "richtigen" komprimierungs-algorithmen, da bei diesen verfahren alle bits 1:1 wiederhergestellt werden. bei mpeg,jpeg,mp3...-codecs werden nur teile aller informationen herausgenommen (also z.b. nur jedes zweite sample usw.) und mit einer auf diesen daten-/informationstyp ausgelegten/optimierten verfahrensweise komprimiert. wobei hier in den meisten fällen auch wieder dinge wie RLE zum tragen kommen. (speziell bei Bildern/JPEGs ist man ja auf redundanz bzw. vorher extra hergestellte redundanz (die sich dann in pixeligen bildern äußert) angewiesen)
-
todo schrieb:
bei mpeg,jpeg,mp3...-codecs werden nur teile aller informationen herausgenommen
Bei JPEG wird AFAIK zuerst jeder 8x8-Pixel-Block in den Frequenzbereich transformiert (diskrete Cosinus-Transformation), dann werden die höheren Frequenzanteile abgeschnitten (bzw. die DCT nur bis zu einer bestimmten Maximalfrequenz durchgeführt -- das ist der verlustbehaftete Part), alles zusammengeschoben (auf den Part gibts witzigerweise ein Patent) und am Ende nochmal Huffman-komprimiert.
Aber der OP hatte ziemlich sicher nach verlustfreien Kompressionsverfahren gefragt
-
Zu langsam.
-
wenn du aus mehr informationen weniger machst (also diese von dir beschriebene frequenz-transformation) dann passt das schon auf meine von dir zitierte aussage
verlustfrei bei audio ist z.b. FLAC unter linux
-
Helium schrieb:
Zu langsam.
was ist zu langsam??
-
Ich.
Hatte erst etwas ähnliches, wie Bashar geschreiben.
-
da hab ich hier was cooles gefunden:
http://www.neumahr.de/study/mpeg_audio.pdf
http://www.informatik.uni-trier.de/~kessler/bvsem/bildkompression.pdfkomplett deutsch
-
danke für die infos
aber Bashar hat recht, ich suche nach einer verlustfreien Datenkompression für daten(also keine Medien wie Filme bilder usw),und hab mich erstmal doch für das Huffmannsche verfahren entschieden, einfach weil der Rest erstmal zu komplex ist
später kann man ja ne andre Kompression vorschalten, das dürfte nicht so das große problem sein
nun hab ich noch ne kleine verständnisfrage, was die Komprimierungstechniken angeht, welche mit schlüsseln arbeiten:
wenn ich nach dem LZW verfahren arbeite,werden ja zuerst die standardzeichen
von 0-255 in Zahlenverweise umgewandelt,und dann werden, wenn ich das richtig verstanden hab, alle weiteren verweise aus diesen Grundverweisen aufgebaut.
Wo ist da die Platzersparnis? die Standardzeichen(also typ char) sind 8 bit groß.Eine Zahl muss aber genauso groß sein,um in der Lage zu sein, alle standardzeichen zu speichern.Da ist doch keine platzersparnis möglich, denn demnach müsste ja ein Verweis für 2 Buchstaben vom bereich 257-65536 gehen, um alle Möglichkeiten(die sicher vorkommen werden) zu speichern.Und das währen wieder 16 Bit-genausoviel wie die beiden Zeichen verbrauchen.Da ist doch keine Platzersparnis möglich..oder etwa doch?
-
Wieso? Ein Eintrag kann doch auch "TGGC ist der Held" enthalten. Allerdings wird dieser Ausdruck nirgend gespeichert, da er sich von alleine wärend des Komprimierens und Dekomprimierens ergibt.