AW: Wieder mal Frage zu JPG Kompression
Hallo Motz,
Du musst Dir das so vorstellen. Eine JPEG-Bild besteht aus mehreren Quadern, je nach Subsampling 8x8,16x16,8x16,16x8,32x8,8x32(,32x16,16x32).
Eine Kamera führt jetzt bei jedem Quader einfach eine Rechenvorschrift aus, die da vereinfacht heißt: Überführe die Bilddaten in ein Frequenzspektrum und führe beim Glätten der Schwingungen die Bearbeitungschritte immer mit dem gleichen Faktor(Divisor oder wie auch immer die Rechenvorschrift lautet) durch, um auf reduzierte, verlustbehaftete Daten zu kommen. Ohne Gegenkontrolle!
Die Bibliothek von FF benützt eine weitergehende Rechenvorschrift: Prüfe nach oder während dem Quantisieren, so nennt man den oben genannten Vorgang, eine Ergebniskontrolle durch, wie weit die Harmonie der Datenschwingungen beim Rückübersetzen vom Original der Bilddaten entfernt ist. (Wir reden immer noch vom Ausgangsquader). Ist das Ergebnis zu schlecht oder gut, nutze andere Werte, bis die Abweichung nicht wesentlich größer/kleiner als die vorgegebene Qualität entspricht.
Somit ergeben sich für die verschiedenenen Quader auch unterschiedliche Kompressionsfaktoren, was wie eine Aufblähung der Daten wirkt, aber nicht wirklich ist. Die Lib sorgt nur für gleichbleibende Qualität. Das Ganze kommt dann natürlich in einen binären Datenstrom und wird nach dem Huffman-Verfahren komprimiert(oder arithmetisch, welches bessere Kompressionswerte erzielt. Hier liegen/lagen jedoch Lizenzen im Wege, warum es von den meisten Programmen nicht unterstützt wird)
Das Ganze ist natürlich sehr laienhaft erklärt und hinkt bestimmt auf 3 Füßen
. Ein Mathematiker, der sich mit der Materie beschäftigt, könnte es sicher perfekt ausdrücken. Doch so weit bin ich in der Matematik nie vorgestoßen ;D.
Wer mehr von der Materie wissen will, sollte mal nach den PDFs googeln, die die JFIF-Formate 1.0, 1.1 und 1.2 beschreiben. Eines davon geht so ins Detail, dass beim Versuch es zu Verstehen der Kopf das qualmen anfängt und die Synapsen durchbrennen ;D.