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

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

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

Das PNG-Format unterstützt 16-Bit-Graustufenbilder, unterstützt jedoch nur die verlustfreie Komprimierung, wodurch das Dateikomprimierungsverhältnis begrenzt wird.

Das TIFF-Format unterstützt auch 16-Bit-Graustufenbilder, aber soweit mir bekannt ist, unterstützt es keine standardmäßige verlustbehaftete Komprimierung von 16-Bit-Bildern.

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.
Ich denke, openEXR ist das, was Sie wollen. Mit der Farbunterabtastung sind Sie flexibler als mit JPEG und können sie besser auf Ihre wissenschaftlichen Datenanforderungen abstimmen. Soweit ich mich erinnere, wurde dies für/von Pixar entwickelt.
BPG unterstützt bis zu 14 Bit.
Tut mir leid, wenn ich hier völlig daneben liege, aber was ist falsch an der guten alten ZIP?
@Ilia Frenkel ZIP ist nicht verlustbehaftet. (Noch spezialisiert auf Bilder)
Kopieren einer Antwort aus meiner verwandten Frage ( photo.stackexchange.com/questions/113747/… ): HEIC/HEIF scheint eine Standardalternative zu BPG zu sein. Leider bin ich mir nicht sicher, welche Tools zum Codieren von 16-Bit-Bildern vorhanden sind. ImageMagick scheint nur eine 8-Bit-Version auszugeben.

Antworten (3)

Es hört sich so an, als ob Sie JPEG2000 suchen. Es verfügt über eine Reihe von Optionen, darunter eine verlustbehaftete 16-Bit-Komprimierung und bessere Komprimierungsverhältnisse als JPEG. Es wurde (aus einer Vielzahl von Gründen) nicht so weit verbreitet wie erhofft und kann einige Patentprobleme haben, die die Verwendung in bestimmten Situationen erschweren, aber ansonsten entspricht es Ihren Anforderungen.

Wenn ich persönlich an Ihrer Stelle wäre, würde ich sagen, dass die Speicherung billig ist, und PNG verwenden, das ein richtig definierter und kostenloser Standard ist.

JPEG2000 scheint genau das Richtige zu sein. Die ImageMagick-Tools funktionieren mit jpeg2000; Das ist Unterstützung genug für mich, um mit meiner Untersuchung fortzufahren.

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

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

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

Das ist natürlich der Fall, wenn der Dynamikbereich Ihre einzige Sorge ist. Wenn Sie auch den Tonumfang beibehalten müssen, müssen Sie möglicherweise Ihre eigene verlustbehaftete Komprimierung rollen ...

Ebenso könnten Sie die Bilder so vorverarbeiten, dass die Informationen, von denen Sie wissen, dass Sie sie nicht interessieren, vor dem Speichern als verlustfrei komprimiertes 16-Bit-PNG oder -TIFF verworfen werden.
Dies ist, was Videokameras mit dem Protokollbildprofil tun, aber aus Erfahrung kann ich sagen, dass es eine sehr schlechte Idee ist, da die Reduzierung der Informationen festgelegt ist, anstatt variable Verluste zu verwenden. Die Verwendung der verlustbehafteten Komprimierung von openEXR würde ein viel besseres Ergebnis liefern.