Gibt es ein verlustbehaftetes komprimiertes Dateiformat für Bilder mit 16-Bit-Dynamikumfang?

14

Ich möchte einige wissenschaftliche 16-Bit-Graustufenbilddateien aggressiv komprimieren, ohne jedoch den Dynamikbereich zu verringern. Ist so etwas möglich?

Ich verstehe, dass das JPEG-Format eine verlustbehaftete und daher durchstimmbar aggressive Komprimierung verwendet, jedoch nur 8 Bit pro Farbkanal unterstützt.

Das PNG-Format unterstützt 16-Bit-Graustufenbilder, unterstützt jedoch nur die verlustfreie Komprimierung, wodurch die Komprimierungsrate der Datei begrenzt wird.

Das TIFF-Format unterstützt auch 16-Bit-Graustufenbilder, meines Wissens jedoch keine verlustbehaftete Standardkomprimierung von 16-Bit-Bildern.

Christopher Bruns
quelle
2
JPEG unterstützt tatsächlich 12-Bit-Bilder! Nicht sehr viele Leute wissen das und viele Programme unterstützen es nicht. Aber die Unterstützung ist da.
Dietrich Epp
1
Ich denke, openEXR ist das, was Sie wollen. Mit der Farbunterabtastung sind Sie flexibler als mit JPEG und können sie besser auf Ihre Anforderungen an wissenschaftliche Daten abstimmen. Soweit ich mich erinnere, wurde dies für / von Pixar entwickelt.
JDługosz
2
BPG unterstützt bis zu 14 Bit.
Vi0
Es tut mir leid, wenn ich hier völlig aus der Reihe bin, aber was ist mit der guten alten ZIP-Datei falsch?
Ilia Frenkel
1
@Ilia Frenkel ZIP ist nicht verlustbehaftet. (Auch nicht auf Bilder spezialisiert)
Christopher Bruns

Antworten:

18

Es hört sich so an, als ob Sie JPEG2000 suchen. Es bietet eine Reihe von Optionen, darunter eine verlustbehaftete 16-Bit-Komprimierung und bessere Komprimierungsraten als JPEG. Es wurde nicht so weit verbreitet wie erhofft (aus einer Vielzahl von Gründen) und weist möglicherweise einige Patentprobleme auf, die die Verwendung in bestimmten Situationen erschweren, ansonsten aber Ihren Anforderungen entsprechen.

Persönlich, wenn ich in Ihrer Position wäre, würde ich sagen, dass Speicher billig ist und PNG verwendet, ein richtig definierter und kostenloser Standard.

James Snell
quelle
2
JPEG2000 scheint genau das Richtige zu sein. Die ImageMagick-Tools funktionieren mit jpeg2000. Das ist genug Unterstützung für mich, um meine Untersuchung fortzusetzen.
Christopher Bruns
8

JPEG2000, und möglicherweise möchten Sie sich auch OpenEXR ansehen, da es von der Videohardware unterstützt wird.

Iliah Borg
quelle
3

Der maximale Dynamikbereich einer linearen 8-Bit-Codierung beträgt nur 8 Blenden. Der Dynamikbereich, den Sie mit einer nichtlinearen Codierung speichern können , ist jedoch unbegrenzt.

Daher würde ich vorschlagen, dass Sie eine starke Tonerkurve auf die Bilder anwenden und dann Standard-JPEG verwenden, ohne den Dynamikumfang zu verlieren. Wenn Sie die Originalbilder verwenden möchten, konvertieren Sie sie in 16-Bit-Bilder und wenden Sie die inverse Tonerkurve an.

Das ist natürlich dann der Fall, wenn der Dynamikbereich Ihr einziges Anliegen ist. Wenn Sie auch den Tonwertumfang erhalten müssen, müssen Sie möglicherweise Ihre eigene verlustbehaftete Komprimierung rollen ...

Matt Grum
quelle
1
In ähnlicher Weise können Sie die Bilder so vorverarbeiten, dass die Ihnen unbekannten Informationen verworfen werden, bevor Sie sie als verlustfrei komprimiertes 16-Bit-PNG oder TIFF speichern.
Junkyardsparkle
Dies ist, was Videokameras mit dem Protokollbildprofil tun, aber aus Erfahrung kann ich sagen, dass es eine sehr schlechte, schlechte Idee ist, weil die Reduzierung der Informationen behoben wird, anstatt variable Verluste zu verwenden. Die verlustbehaftete openEXR-Komprimierung würde zu einem viel besseren Ergebnis führen.
Skyde