Verlustfreie Kompression von RAW, speziiell NEF

19/10/2015 - 07:54 von Wolfgang Strobl | Report spam
[Ich zieh das mal aus dem Geplànkel heraus und mache einen neuen Thread
auf, weil ich die Frage schon interessant finde, ob das Nikonsche
"lossless compressed" tatsàchlich "lossless" ist in Bezug auf die rohe
n*m-Matrix von 14-Bit-Auslesewerten, die vom Sensor kommen, aber keine
Lust habe, mit einem desinteressierten streitsüchtigen Laien.darüber zu
diskutieren, ob der Lempel-Ziv-Welch-Algorithmus nun ein verlustfreies
Kompressionsverfahren ist oder nicht.]

Leider rückt meine Nikon gar keine unkomprimierten Rohdaten mehr heraus,
so daß ich lediglich anhand eines konkreten Bilds feststellen kann, daß
gegenüber den 3 mal 14 Bits mal 16 Megapixeln die "lossless compressed"
.NEF um den Faktor 4.5 kleiner ist und nicht nur Faktor 2. Meines
Wissens gib es auch keine Möglichkeit, irgend einer Nikon ausgehend von
denselben Rohdaten die verschiedenen unterstützten .NEF-Formate zu
entlocken.

Theoretisch könnte man versucht sein,, dem Sensor einer DSLR ein nicht
kompressibles Zufallsmuster zu pràsentieren und die D7000
(beispielsweise) dann ein ca 80 MB großes .NEF ausspucken zu lassen, das
dann zwar lossless compressed ist, aber eben nicht nennenswert. In der
Praxis wird das nicht funktionieren, weil dem eine ganze Reihe von
optischen Einschrànkungen entgegenstehen, angefangen vom
Antialiasing-Filter. Und darin wird wohl der Pfiff bestehen - die
Entropie des 4928*3264*3*14 langen Bitstrings wird eben nicht
ebensoviele Sh betragen, sondern erheblich weniger.

Nikon bezeichnet in
https://nikoneurope-en.custhelp.com..._id/23015/~/nef-file-saving-formats
die lossless compression als "reversibel", was sich mit der üblichen
Definition deckt. Allerdings liegt das, was meine D7000 selbst bei
absichtlich verrauschten Bildern abliefert, immer noch deutlich über den
dort angegebenen Reduktionen. Entweder ich habe mich irgendwo verrechnet
oder die Angaben bei Nikon sind veraltet bzw. unzutreffend.

http://www.photonstophotos.net/Niko...ession.htm ist ganz
aufschlussreich.

"Raw image data is compressed by using a lossy encoding followed by
non-adaptive Huffman compression.

During encoding the distinct values from the Analog to Digital Converter
(ADC) are reduced to either 567, 683, 689, 769, 2753, or 3073 depending
on the camera model and bit depth.

The encoding tables are stored in the NEF file along with the
encoded/compressed data."

Ich argwöhne, daß die Nikonsche "lossless compression" vielleicht doch
nicht reversibel über alles ist, indem sie das "lossy encoding"
unterschlàgt, welches bei 14 Bit immerhin den Faktor 5 1/3 bringt.
Gegen die Interpretation wiederum spricht, daß die tatsàchlich
beobachtete Kompression merklich geringer ausfàllt, um so mehr, als bei
der Betrachtung die Huffman-Codierung ja noch gar nicht berücksichtigt
ist.

Mich interessiert's nicht so sehr, als daß ich jetzt alles stehen und
liegen ließe, um praktisches reverse engineering zu betreiben oder
herumzusuchen, ob sich jemand schon die Arbeit gemacht hat. Aber
vielleicht weiß hier ja der eine oder andere mehr und morgen - oder
nàchstes Wochenende - ist ja auch noch ein Tag ... :-)


Wir danken für die Beachtung aller Sicherheitsbestimmungen
 

Lesen sie die antworten

#1 Tilmann Reh
19/10/2015 - 08:12 | Warnen spam
Wolfgang Strobl schrieb:

[Ich zieh das mal aus dem Geplànkel heraus und mache einen neuen Thread
auf, weil ich die Frage schon interessant finde, ob das Nikonsche
"lossless compressed" tatsàchlich "lossless" ist in Bezug auf die rohe
n*m-Matrix von 14-Bit-Auslesewerten, die vom Sensor kommen, aber keine
Lust habe, mit einem desinteressierten streitsüchtigen Laien.darüber zu
diskutieren, ob der Lempel-Ziv-Welch-Algorithmus nun ein verlustfreies
Kompressionsverfahren ist oder nicht.]



Die Leute, die Raw-Konverter schreiben, sollten doch den genauen Aufbau
und das Kompressionsverfahren kennen.

Vielleicht bringt eine Suche und/oder Frage in
<http://rawtherapee.com/forum/>
ja relativ schnell und einfach die gewünschten Antworten.

Tilmann

Ähnliche fragen