Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fraktale Bildkompression


Matti
2004-01-21, 13:17:35
Falls es jemand interessiert: auf meiner Homepage steht jetzt ein Artikel über fraktale Bildkompression.

www.grafikwelt.tk oder
http://home.arcor.de/matthias.rossmy

GloomY
2004-01-21, 14:17:31
Interessante Sache.

Aber gerade bei dem Vergleichsbild mit dem Sonnenuntergang kann man die Unschärfe des Wassers auf die schlechte Qualität bei der JPEG Kompression zurückzuführen. Ich weiss ja nicht, welches Programm du zum Komprimieren verwendet hast, aber dieses scheint weit weg von guter Kompression zu liegen. Wenn ich das Original mit Photoshop 7 komprimiere, dann erhalte ich bei einer 80 kB großen Datei exzellente Qualität (JPEG Qulität 93). Selbst bei 200% Vergrößerung kann ich keinen Unterschied zwischen Original und JPEG Kompression feststellen.

edit: JPEG ist schon ein ziemlich gutes Format, was schwer zu übertreffen ist. Die Quanitsierungstabellen für die Kompression wurden in jahrelanger Arbeit verfeinert.

Matti
2004-01-21, 14:23:48
ich hab's mit PSP5 und bester Qualität komprimiert.

GloomY
2004-01-21, 14:30:46
Original geschrieben von Matti
ich hab's mit PSP5 und bester Qualität komprimiert. Dann ist PSP5 ziemlicher Müll.

Nur mal zum Vergleich (beide Bilder etwa 80 kiB groß). Rechts deins, links das aus dem Original mit PS7 komprimierte:

http://berg.heim.at/zermatt/441542/Bilder/Sonnenuntergang.jpg http://home.arcor.de/matthias.rossmy/FC/Sonnenuntergang-01.jpg

micki
2004-01-21, 14:44:30
das was du als neues system darstellst ist das was ich als konventionelles system kenne, hab ein ziemlich altes buch und da steht das genau so beschrieben und ein beispielprogramm ist auch dabei dass es so macht.

ein hochauflösendes bild wird verkleinert abgespeichert und beim laden wieder auf die gewünschte größe vergrößert und man iteriert da mehrmals durch bis eine einigermassen gute qualität erreicht ist.

man muss übrigens das bild nicht unbedingt in quadrate unterteilen, es gibt verschiedene verfahren, manche unterteilen das in dreiecke, wobei diese nicht regelmässig sind sondern einigermassen kantenverläufen folgen, sowas hat eine ziemlich gute qualität, aber das komprimieren dauert ewig.

was lustig wäre, wäre wenn die grakas sowas könnten, dann müßte man nur ne kleine (mip)map uploaden und die grakas würden sich dann bis in die gewünschte größe die highdetail texturen generieren :D

MfG
micki

Coda
2004-01-21, 14:49:12
Wavelets (JPEG 2000) sind deutlich zukunftsweisender IMHO

PhoenixFG
2004-01-21, 15:46:32
Wavelets? Naja, wird wohl noch ein Weilchen dauernd. AFAIK ist das Format nicht frei, oder? Und solange es die Webbrowser nicht ohne zusätzliches Plugin unterstützen, wird das kaum ein Webdesigner einsetzen.

Abgesehen davon ist bei starker Kompression die Wavelet-Technologie den JPGs nicht unbedingt überlegen. Wirkt doch immer wie mit nem starken Weichzeichner bearbeitet.

MfG

micki
2004-01-21, 16:14:28
eigentlich sehen die wavelets bei starker kompression besser aus als jpg, besonders die blockartefakte lassen ein jpg schlecht darstehen.

http://www.cs.sfu.ca/CC/365/li/material/cgi-bin/wavelet.cgi

ne gute seite zum selbertesten.

MfG
micki

PhoenixFG
2004-01-21, 16:28:37
Die Seite kann man aber auch in der Pfeife rauchen, oder?

Ich hab mal das Bild von dem Surfer gewählt. Geb ich jetzt 50% als Qualitätsstufe an, dann macht die Seite ein Bild von rund 1,3kB draus. Versuch ich das ganze mit Photoshop ist das Bild wesentlich größer bei 50%. Selbst mit 0% Qualität komm ich allerdings nicht auf 1,3kB.

Als Gegenprobe habe ich dann eine höhere Qualitätsstufe gewählt, nämlich 80%. Da entsteht ein Bild mit 2,6kB Größe. Das lässt sich mittels Photoshop geradeso nachbilden. Doch dann besitzt das Bild weniger Artefakte als jedes auf der verlinkten Webseite.

Irgendwie scheint mir das dort ein Zielvegleich zu sein.

MfG

aths
2004-01-21, 16:51:30
Auch mit "fraktaler" Komprimierung kann man nicht unter die Entropie-Grenze kommen. Ob man beim Vergrößern nun unscharf wird, oder sich Informationen aus mathematischen Berechnungen erzeugt, sie stimmen ja einfach nicht. Imo sieht die hier gewählte Komprimierung nicht so toll aus, das Bild "zergrisselt". Den Ansatz mit Wavelets halte ich für sinnvoller. Es gab mal für RealVideo eine fraktale Komprimierung, die brauchte extrem lange fürs Kodieren, aber brachte nicht sehr überzeugende Ergebnisse.

Will man möglichst gute Qualität, ist afaik JPEG unübertroffen. Will man erträgliche Qualität bei maximaler Kompression, ist Wavelet deutlich besser. Bliebe noch die Frage nach guter Qualität und guter Kompression bei geringem Entpack-Aufwand (Textur-Kompression.) Imo gäbe es hier Potenzial, ich hatte mir da mal einige Gedanken gemacht (im Moment allerdings herrscht bei mir Prüfungsstress³.)

HajottV
2004-01-21, 22:53:05
Original geschrieben von aths
Auch mit "fraktaler" Komprimierung kann man nicht unter die Entropie-Grenze kommen.

Will man möglichst gute Qualität, ist afaik JPEG unübertroffen.

Bäh, aths, was für eine schwammige Formulierung. Schäm Dich! =P

Wir reden hier von lossy Kompression, da sollte man mit "Entropie" vorsichtig sein.

Erzeug mal Rauschen mit einem Zufallsgenerator. Sofern der Generator was taugt, hat der Zahlenstrom maximale Entropie. Packen kann man das aber prima unter die Entropiegrenze, wenn man einfach nur den Generator nimmt.

Der Begriff "Entropie" macht immer nur Sinn, wenn die dazugehörige Verteilung nennt. Welche soll das denn bei einem Bild sein? Verteilung der Helligkeitswerte, der DCT-Koeffizienten, der Wavelet-Koeffizienten? Je nachdem, was Du als Meßraum nimmst, kriegst Du eine völlig andere Entropie.

Gruß

Jörg

aths
2004-01-22, 04:51:35
Darf man fragen, wie der Username gemeint ist?

Mit Entropie-Grenze meine ich folgendes: Wenn man z. B. komprimierte Bild-Daten mit einer Länge von 8 Bit hat, kann man damit nach dem Entpacken nur maximal 256 unterschiedliche Bilder gewinnen. Meistens weniger, da im komprimierten Datenstrom eine gewisse Struktur gewahrt werden muss, und nicht alle Bit-Kombinationen sinnvoll sind. Ein gegebener Zufallsgenerator, der weißes Rauschen erzeugt, kann nur bestimmte Muster erzeugen. Wenn man als gepackte Datei den Random Seed nimmt, kann man mit 8 Bit Random Seed nur 256 verschiedene Rauschmuster "entpacken".

Gast
2004-01-22, 11:12:17
Original geschrieben von Matti
ich hab's mit PSP5 und bester Qualität komprimiert.

Ist mir beim Speichern über PSP auch schon oft aufgefallen. Wieso PSP solch eine grauenhafte Qualität beim Vergleich zu PS liefert, kann ich mir nicht erklären. Außer die Algorithmen beim Speichern in JPG sind wirklich grundsätzlich verschieden.

Coda
2004-01-22, 12:40:15
Wavelets haben deutlich bessere Qualität und Kompression als JPEG. JPEG 2000 ist frei.

aths
2004-01-22, 12:52:52
Original geschrieben von Coda
Wavelets haben deutlich bessere Qualität und Kompression als JPEG. Afaik nur dann, wenn man auf hohe Kompression aus ist, im "HQ-Bereich" soll JPEG (leicht) bessere Ergebnisse liefern.

Coda
2004-01-22, 13:56:40
http://www.tecchannel.de/multimedia/67/11.html

Matti
2004-01-22, 16:45:28
Original geschrieben von aths
Auch mit "fraktaler" Komprimierung kann man nicht unter die Entropie-Grenze kommen. Ob man beim Vergrößern nun unscharf wird, oder sich Informationen aus mathematischen Berechnungen erzeugt, sie stimmen ja einfach nicht.
Das mit dem Vergrößern ist ja auch nur ein Spielerei, um zu zeigen warum es FRAKTALE Kompression heißt ;) Wenn man ein Bild vergrößern will ohne daß es unscharf oder pixlig wird, muß man andere Algoritmen verwenden, die das Bild idR vektorisieren.



Daß die fraktale Kompression alleine fast immer gegenüber JPG unterlegen ist, habe ich ja schon im Artikel erwähnt. Aber da die FK gerade das besonders gut komprimieren kann, wo JPG Artefakte erzeugt, könnte man vielleicht diese beiden Verfahren "kreuzen", so daß dann DAS ultimative Kompressionsverfahren entsteht...

micki
2004-01-22, 17:22:00
Original geschrieben von aths
Afaik nur dann, wenn man auf hohe Kompression aus ist, im "HQ-Bereich" soll JPEG (leicht) bessere Ergebnisse liefern.

in bezug auf kompressionsrate oder qualität?

aths
2004-01-22, 18:47:41
Original geschrieben von Matti
Daß die fraktale Kompression alleine fast immer gegenüber JPG unterlegen ist, habe ich ja schon im Artikel erwähnt. Aber da die FK gerade das besonders gut komprimieren kann, wo JPG Artefakte erzeugt, könnte man vielleicht diese beiden Verfahren "kreuzen", so daß dann DAS ultimative Kompressionsverfahren entsteht... Da könnte man auch ganz normale huffman-optimierte LZW-Komprimierung nehmen. (Oder arithmetisch komprimieren.) Oder mit Wavelets arbeiten, wenn man verlustbehaftet komprimieren möchte. Was die "fraktale" Komprimierung da besser macht als JPEG, macht z. B. PNG imo noch besser, und vor allem verlustfrei.

Original geschrieben von micki
in bezug auf kompressionsrate oder qualität? Qualität. Bei hohen Datenraten ist soweit ich weiß z. B. auch MPEG-1 der MPEG-2-Komprimierung überlegen.

HajottV
2004-01-23, 02:35:49
Darf man fragen, wie der Username gemeint ist?


Öhh? Ja, wieso? HJV sind meine Initialen. HJ -> Vorname (Hans Jörg), V kommt vom Nachnamen.


Mit Entropie-Grenze meine ich folgendes: [...]

Man kann grundsätzlich aus n Bits nicht mehr als 2^n Bilder entpacken. Das hat aber nix mit der Entropie zu tun. Und diese "Grenze" macht bei der Komprimierung eh keinen Sinn, da man ja versucht, die sinnvollen (in der Praxis auftretenden) Daten mit wenigen Bits darzustellen und die "unsinnigen" mit vielen. Bei der verlustbehafteten Komprimierung werden ja eh verschiedene Ausgangsbilder auf das gleiche komprimierte Bild abgebildet (z.B. durch Verwerfen hoher Frequenzanteile).

Gruß

Jörg

aths
2004-01-23, 07:07:34
Original geschrieben von HajottV
Öhh? Ja, wieso? HJV sind meine Initialen. HJ -> Vorname (Hans Jörg), V kommt vom Nachnamen.So ähnlich, wie bei meinem Nick :kicher:
Original geschrieben von HajottV
Man kann grundsätzlich aus n Bits nicht mehr als 2^n Bilder entpacken. Das hat aber nix mit der Entropie zu tun.Nicht? Die Entropie des komprimierten Datenstroms ist doch anders, als die des Ausgangsmaterials.

Original geschrieben von HajottV
Und diese "Grenze" macht bei der Komprimierung eh keinen Sinn, da man ja versucht, die sinnvollen (in der Praxis auftretenden) Daten mit wenigen Bits darzustellen und die "unsinnigen" mit vielen. Bei der verlustbehafteten Komprimierung werden ja eh verschiedene Ausgangsbilder auf das gleiche komprimierte Bild abgebildet (z.B. durch Verwerfen hoher Frequenzanteile).Ja, klar. Mattis Anliegen scheint mir zu sein, "Extrem-Kompression" zu betreiben. Ich wollte darauf hinaus, dass es letztlich egal ist, welche noch so ausgeklügelte Komprimierung man verwendet, es gibt eine Untergrenze, die man mit den ausgefuchstesten Tricks nicht unterschreiten kann.

Zool
2004-01-23, 09:17:20
Original geschrieben von aths
Was die "fraktale" Komprimierung da besser macht als JPEG, macht z. B. PNG imo noch besser, und vor allem verlustfrei.


Noch besser als Png komprimiert JPEG2000, bei dem verlustfreien Modus sind im Vergleich zu Png gerne noch 20% mehr Komprimierung drin.

micki
2004-01-23, 09:41:18
Original geschrieben von aths
Da könnte man auch ganz normale huffman-optimierte LZW-Komprimierung nehmen. (Oder arithmetisch komprimieren.) Oder mit Wavelets arbeiten, wenn man verlustbehaftet komprimieren möchte. Was die "fraktale" Komprimierung da besser macht als JPEG, macht z. B. PNG imo noch besser, und vor allem verlustfrei.

Qualität. Bei hohen Datenraten ist soweit ich weiß z. B. auch MPEG-1 der MPEG-2-Komprimierung überlegen.

tut mir leid, aber das kann nicht stimmen, die wavelet transformation arbeitet (wenn man sie richtig implementiert) verlustfrei. damit ist es nicht möglich dass es übertroffen wird, natürlich ist dann die kompressionsrate nicht so hoch wie mit quantitisierten werten, aber du hast ja den speziellen fall der hochen datenrate selbst als beispiel genommen.

überseh ich etwas?

MfG
micki

x-dragon
2004-01-23, 09:54:24
Original geschrieben von Zool
Noch besser als Png komprimiert JPEG2000, bei dem verlustfreien Modus sind im Vergleich zu Png gerne noch 20% mehr Komprimierung drin. Nur so am Rande, welche Browser unterstützen JPEG2000 und wieviele der gängigen Programme?

aths
2004-01-23, 15:00:50
Original geschrieben von Zool
Noch besser als Png komprimiert JPEG2000, bei dem verlustfreien Modus sind im Vergleich zu Png gerne noch 20% mehr Komprimierung drin. Soweit ich weiß, komprimiert JPEG bei verlustfreier Komprimierung besser als JPEG2000.

aths
2004-01-23, 15:01:58
Original geschrieben von micki
tut mir leid, aber das kann nicht stimmen, die wavelet transformation arbeitet (wenn man sie richtig implementiert) verlustfrei.Man nimmt in der Regel Wavelets, um verlustbehaftet zu komorimieren.
Original geschrieben von micki
damit ist es nicht möglich dass es übertroffen wird, natürlich ist dann die kompressionsrate nicht so hoch wie mit quantitisierten werten, aber du hast ja den speziellen fall der hochen datenrate selbst als beispiel genommen.

überseh ich etwas? Die erreichbare Rate hängt vom Verfahren und vom Inhalt ab, das ist klar. Gesucht ist ja ein möglichst allgemein gültiges Verfahren.

Coda
2004-01-23, 15:51:21
Original geschrieben von micki
tut mir leid, aber das kann nicht stimmen, die wavelet transformation arbeitet (wenn man sie richtig implementiert) verlustfrei. damit ist es nicht möglich dass es übertroffen wird, natürlich ist dann die kompressionsrate nicht so hoch wie mit quantitisierten werten, aber du hast ja den speziellen fall der hochen datenrate selbst als beispiel genommen.

überseh ich etwas?

MfG
micki
Ja. Ein Bild das nur Wavelet transformiert wurde belegt genauso viel Speicher wie im Ausgangszustand und hat auch die gleiche Qualität (bis auf Rundungsfehler)
Die Kompression kommt erst danach durch die Quantisierung.

IMHO müsste PNG eigentlich besser komprimieren als JPEG2000 und JPEG, aber müsste man ausprobieren.

Nur so am Rande, welche Browser unterstützen JPEG2000 und wieviele der gängigen Programme?
Browser noch keine anscheinend. Photoshop kann es per Plugin speichern

x-dragon
2004-01-23, 16:57:06
Hmm ... hab jetzt mal ein wenig mit IrfanView rumgespielt und das Bild was auf der 1. Seite verwendet wurde (und als Beispiel-Bild in XP enthalten ist) in verschiedenen Formaten gespeichert und das Ergebnis verwundert mich ein wenig. Wieso sieht man bei Jpeg2000 keinen Unterschied ob die Qualität auf 100 eingestellt ist oder verlustfrei komprimiert wird (und das bei dem Größenunterschied)? Oder ist das Bild dafür nur "günstig" gewählt?

Bei 640er-Auflösung und 24 Bit (ursprünglich 800x600, mehr darf leider IrfanView nicht in Jpeg2000 speichern) des vorherig schon verwendeten Bildes sehen die Größen so aus:

Jpeg2000 (Quali. 100): 191 kb
http://x-dragon.bei.t-online.de/images/Test/Sonnenuntergang11.jp2

Jpeg2000 (verlustfrei) : 321 kb
http://x-dragon.bei.t-online.de/images/Test/Sonnenuntergang12.jp2

Jpeg (Quali. 100): 192 kb
http://x-dragon.bei.t-online.de/images/Test/Sonnenuntergang2.jpg

PGN (Kompressionsst. 9): 376 kb
http://x-dragon.bei.t-online.de/images/Test/Sonnenuntergang3.png

Coda
2004-01-23, 17:38:01
Also die Unterschiede sind wirklich minimal, ich hab mal ne Differenz gemacht und dann die Gammakurve ganz hochgezogen, dann sieht man ein leichtes Rauschen

Verlustlos heißt halt überhaupt keien Fehler, auch wenn man den Unterschied wirklich nicht merken würde

Zool
2004-01-26, 14:29:24
Jpeg2000 gibt es leider noch nicht als Plugin für Browsers. Aber ich finde die 10 bis 20% bessere Komprimierung als Png in dem verlustfreien Modus bemerkenswert. Das ist nahezu ein Quantensprung, man ist wahrscheinlich da schon dicht an der Entropiegrenze.

BTW, in Polyview gibt es bis auf einen NagScreen beim Beenden keine Einschränkung der Bildgröße für Jpeg2000.

aths
2004-01-27, 14:03:37
Original geschrieben von Zool
Das ist nahezu ein QuantensprungEin Quantensprung ist der kleinstmögliche Sprung, den es überhaupt gibt :kicher: Afaik komprimiert JPEG besser verlustfrei, als JPEG2000 dies tut; PNG ist afaik auf "Strichgrafiken" optimiert, afaik werden solche Bildinhalte von PNG besser als von JPEG gepackt.

micki
2004-01-27, 15:47:32
mein winrar packt das bmp auf 163454 Byte.

psp7 - 181kb
ps - 190kb


hab wohl aus versehen das 400*300 bild und nicht das 640*480 genommen

beim 640*480 packt winace auf 319kb und winrar auf 340kb, abgeschlagen 7-zip da ohne multimediacompression mit über 400kb


MfG
micki