-
Nett
Autor: Gevatter Tod 31.08.12 - 10:24
Verlustfreie Kompression?
Ich bin etwas verwirrt von der im Text vorgebrachten Darstellung. Bin ich verlustfrei nun kleiner als PNG oder verlustbehaftet kleiner?
Fall Verlustfrei: Ist die Komression denn vielleicht auch für anderes verwendbar? Wäre ja interessant auch executables oder libs zu komprimieren. Oder wird das schon gemacht? Bin da unwissend.
Gruß
Gevatter -
Re: Nett
Autor: y.m.m.d. 31.08.12 - 10:33
Gevatter Tod schrieb:
--------------------------------------------------------------------------------
> Verlustfreie Kompression?
> Ich bin etwas verwirrt von der im Text vorgebrachten Darstellung. Bin ich
> verlustfrei nun kleiner als PNG oder verlustbehaftet kleiner?
Da PNG eine verlustfreie Kompression ist nehme ich mal an dass sie auch mit der verlustfreien Kompression von WebP vergleichen. Alles andere wäre sinnlos.
> Fall Verlustfrei: Ist die Komression denn vielleicht auch für anderes
> verwendbar? Wäre ja interessant auch executables oder libs zu komprimieren.
> Oder wird das schon gemacht? Bin da unwissend.
Gute Frage. -
Re: Nett
Autor: kabbalah 31.08.12 - 11:56
Die Kompression ist natürlich auf Bilder ausgelegt, die im Gegensatz zu allgemeinen Binärdaten bestimmte Eigenschaften haben. Das ganze auf Programmcode anzuwenden dürfte ineffizienter sein als allgemeine Packer (zip, rar, bzip...) und vorallem auf Programmcode spezialisierte Packer.
Es könnte aber bei Javascript Programmierwettbewerben mit vorgegebener Programmgröße helfen. Hier wurde zb schon PNG verwendet um Programmcode weiter zu komprimieren und durch den Browser automatisch entpacken zu lassen. -
Re: Nett
Autor: Lala Satalin Deviluke 31.08.12 - 16:38
Gevatter Tod schrieb:
--------------------------------------------------------------------------------
> Verlustfreie Kompression?
> Ich bin etwas verwirrt von der im Text vorgebrachten Darstellung. Bin ich
> verlustfrei nun kleiner als PNG oder verlustbehaftet kleiner?
Selbstverständlich sind die verlustfreien Bilder von WEBP nicht kleiner als eine verlustbehaftete JPEG. Allerdings ist es kleiner als PNG. PNG hat nur einen einfachen Paeth-Prädiktor als besten Pädiktor in der Filterkette anzubieten und komprimiert dann die Daten mit ZLIB, ist mit ZIP zu vergleichen. Das ist nicht sehr effektiv für komplexere Grafiken. Für Screenshots ist diese Kompression allerdings gut geeignet. Komprimier mal ein Scan eines Fotos mit PNG und schon wird klar, dass es da auch BMP oder TIFF ohne Kompression getan hätte, da tut sich nicht viel, selbst auf Level 9.
> Fall Verlustfrei: Ist die Komression denn vielleicht auch für anderes
> verwendbar? Wäre ja interessant auch executables oder libs zu komprimieren.
> Oder wird das schon gemacht? Bin da unwissend.
>
> Gruß
> Gevatter
Da du dich offensichtlich noch nie mit Kompression befasst hast, hier mal ein kleiner Exkurs:
Bildkompression ist so ausgelegt, dass es Redundanzen in Bildern erkennt und die Datenmenge reduziert. Wenn du ausführbare Dateien in Bildern umwandelst, hast du bunte Pixel, das ist für eine Bildkompression mit Rauschen gleichzusetzen und die Datei kann unter Umständen sogar größer sein als das unkomprimierte Original.
Grüße vom Planeten Deviluke! -
Re: Nett
Autor: Lala Satalin Deviluke 31.08.12 - 16:40
kabbalah schrieb:
--------------------------------------------------------------------------------
> Die Kompression ist natürlich auf Bilder ausgelegt, die im Gegensatz zu
> allgemeinen Binärdaten bestimmte Eigenschaften haben. Das ganze auf
> Programmcode anzuwenden dürfte ineffizienter sein als allgemeine Packer
> (zip, rar, bzip...) und vorallem auf Programmcode spezialisierte Packer.
>
> Es könnte aber bei Javascript Programmierwettbewerben mit vorgegebener
> Programmgröße helfen. Hier wurde zb schon PNG verwendet um Programmcode
> weiter zu komprimieren und durch den Browser automatisch entpacken zu
> lassen.
PNG hat ja auch die Option, keine Prädiktionsfilter zu verwenden, sprich die reinen RGB-Daten mit ZLIB zu komprimieren. Wenn man nun anstelle von RGB-Daten die JavaScript-Biliotheken injeziert, so ist es das Gleiche als würde mann das mit einer ZIP packen.
Es ist quasi Sinnfrei, weil es Webserver gibt, die über HTTP 1.1 auch GZIP-Komprimierte Objekte ausliefern können und das kann jeder aktuelle Browser direkt und ohne Gefrickel verarbeiten.
Grüße vom Planeten Deviluke!



