Radiance HDR (.hdr)

Radiance Τυπικό

Το Radiance RGBE (HDR) είναι η θεμελιώδης μορφή υψηλής δυναμικής εμβέλειας που αναπτύχθηκε για το συνθετικό σύστημα απεικόνισης Radiance, αποθηκεύοντας φωτομετρικά ακριβείς τιμές φωτεινότητας χρησιμοποιώντας έναν κοινό εκθέτη 8-bit.

Επιθεώρηση & Μεταδεδομένα

Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία HDR ελέγχοντας την αρχική δυαδική ακολουθία byte:

Επιλέξτε ή αποθέστε αρχεία εδώ

Ιδιωτικά - τα αρχεία δεν φεύγουν ποτέ από τη συσκευή σας

ή επικόλληση Ctrl+V
Εγγύηση Απορρήτου Μηδενικής Μετάδοσης Δικτύου: Δεν μεταφορτώνεται κανένα byte σε εξωτερικούς διακομιστές. Όλη η επεξεργασία γίνεται τοπικά στο απομονωμένο περιβάλλον του προγράμματος περιήγησής σας.

Υπογραφή κεφαλίδας σε επίπεδο byte (Magic Bytes)

Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία HDR ελέγχοντας την αρχική δυαδική ακολουθία byte:

ΔΕΚΑΕΞΑΔΙΚΗ ΥΠΟΓΡΑΦΗ (OFFSET 0):

23 3F 52 41 44 49 41 4E 43 45 0A

ΑΝΑΠΑΡΑΣΤΑΣΗ ASCII: #?RADIANCE\n

Τυποποίηση: Radiance Synthetic Imaging System Standard

Τεχνικές Προδιαγραφές

Αρχιτεκτονική ΠεριέκτηΚεφαλίδα ASCII που τελειώνει με κενή γραμμή, ακολουθούμενη από συμβολοσειρά ανάλυσης και δυαδικές γραμμές σάρωσης RLE
ΣυμπίεσηΠροσαρμοστική κωδικοποίηση RLE ανά γραμμή σάρωσης κάθε καναλιού
Σειρά byte (endianness)Μεγάλης διάταξης (Big-Endian) / διάταξη byte δικτύου
Χρωματικοί ΧώροιΓραμμικό Rec.709 RGB με συντεταγμένες χρωματικότητας CIE
Κανάλια & ΔομήRGBE: κόκκινο, πράσινο, μπλε (μαντίσες 8 bit) + κοινός εκθέτης 8 bit
Μέγιστες ΔιαστάσειςΠρακτικά απεριόριστες διαστάσεις (συμβολοσειρές ανάλυσης με μη προσημασμένους ακέραιους 32 bit)
ΔιαφάνειαΔεν εφαρμόζεται (μετρήσεις φυσικής ακτινοβόλου φωτεινότητας)
Ροή δεδομένων και προοδευτική φόρτωσηΑκολουθιακή μετάδοση και αναπαραγωγή γραμμή σάρωσης προς γραμμή σάρωσης

Τεχνικός Πίνακας Σύγκρισης: HDR έναντι Ανταγωνιστών

Τεχνικό χαρακτηριστικόHDR (Τρέχον)EXRTIFFJPEG
Κωδικοποίηση Εικονοστοιχείων32-bit RGBE (κοινός εκθέτης 8-bit)16-bit half / 32-bit float ανά κανάλιInteger 8/16-bit ή 32-bit floatΑκέραιος 8-bit με κωδικοποίηση γάμμα
Κύρια ΧρήσηΦωτισμός περιβάλλοντος 360 μοιρών (IBL)Σύνθεση VFX πολλαπλών περασμάτωνΦωτογραφία & προεκτύπωσηΤυπικά γραφικά ιστού
Εύρος Δυναμικής Εμβέλειας76 τάξεις μεγέθους (10^-38 έως 10^38)Πολύ μεγάλο εύρος κινητής υποδιαστολήςΔιαφέρει ανάλογα με το βάθος bitΠεριορισμένο εύρος SDR 8-bit
Υποστηριζόμενα ΚανάλιαΜόνο RGBΑπεριόριστα αυθαίρετα κανάλιαΠολλαπλά αυθαίρετα κανάλιαRGB / CMYK

Συνήθεις τρόποι καταστροφής δεδομένων και οδηγός ανάκτησης δεκαεξαδικών δεδομένων

Η εικόνα εμφανίζει οριζόντιες λωρίδες σε όλο το πλάτος του κάδρου.

Βασική Αιτία: Κατεστραμμένο byte μέτρησης μήκους τρεξίματος κατά την αποσυμπίεση RLE γραμμής σάρωσης.

Ανάκτηση: Ανακατασκευάστε τα κατεστραμμένα σήματα γραμμής σάρωσης χρησιμοποιώντας το File2File.app HDR Repair ή μετατρέψτε σε EXR.

Ανάλυση ασφάλειας και διανύσματα επίθεσης στον αναλυτή

Οι αποκωδικοποιητές Radiance HDR συχνά αναλύουν γραμμές κεφαλίδας ASCII χρησιμοποιώντας απεριόριστες ρουτίνες συμβολοσειρών που μπορούν να πυροδοτήσουν υπερχειλίσεις buffer στοίβας (stack buffer overflows).

Γνωστά διανύσματα επίθεσης

  • Απεριόριστες κλήσεις sprintf/sscanf κατά την ανάγνωση κεφαλίδων συμβολοσειράς ανάλυσης ('-Y %d +X %d').
  • Εγγραφή εκτός ορίων σωρού κατά την αποκωδικοποίηση παραμορφωμένης γραμμής σάρωσης RLE.
  • Υπερχείλιση ακεραίου κατά την κατανομή buffer προορισμού κινητής υποδιαστολής 32 bit.

Βέλτιστες αμυντικές πρακτικές: Επικυρώστε το μήκος της κεφαλίδας ASCII και τις διαστάσεις της γραμμής σάρωσης πριν από την κατανομή buffers εικόνας.

Ιστορική Αναδρομή & Ορόσημα

2000Ο Paul Debevec καθιστά δημοφιλή τον φωτισμό βασισμένο σε εικόνα HDR (IBL) στα τρισδιάστατα γραφικά χρησιμοποιώντας αρχεία .hdr του Radiance.
1997Τυποποιείται προσαρμοστική κωδικοποίηση μήκους ακολουθιών ανά γραμμή σάρωσης για τη μείωση του μεγέθους των αρχείων.
1989Ο Greg Ward εφευρίσκει την κωδικοποίηση εικονοστοιχείων RGBE 32-bit και τη μορφή .hdr στο Εθνικό Εργαστήριο Lawrence Berkeley.

Κύρια Πλεονεκτήματα

  • Συμπαγές αποτύπωμα μνήμης 32-bit ανά εικονοστοιχείο, καλύπτοντας 76 τάξεις μεγέθους φυσικής φωτεινότητας φωτός.
  • Υποστηρίζεται από πολλά πακέτα τρισδιάστατης απόδοσης για χάρτες περιβάλλοντος, αν και η υποστήριξη εξαρτάται από την εφαρμογή.
  • Η σχετικά συμπαγής δομή αρχείου μπορεί να υλοποιηθεί από λογισμικό με υποστήριξη Radiance HDR.

Τεχνικοί Περιορισμοί & Μειονεκτήματα

  • Μπορεί να εμφανιστεί ζώνωση κβάντωσης (banding) σε εξαιρετικά σκοτεινές περιοχές λόγω της κωδικοποίησης κοινού εκθέτη 8-bit.
  • Τα κανάλια RGB δεν μπορούν να αποθηκεύσουν αρνητικούς αριθμούς ή αυθαίρετα επίπεδα πολλαπλών περασμάτων.
  • Έχει αντικατασταθεί σε μεγάλο βαθμό από το OpenEXR για την παραγωγή οπτικών εφέ πολλαπλών περασμάτων.

Ενδιαφέροντα Τεχνικά Στοιχεία

  • Κάθε αρχείο Radiance HDR ξεκινά με την κεφαλίδα κειμένου '#?RADIANCE' ή '#?RGBE'.
  • Η μορφή δημιουργήθηκε για να προσομοιώνει τον φυσικό αρχιτεκτονικό φωτισμό στον σχεδιασμό κτιρίων προτού κατασκευαστούν οι δομές.
  • Η εμβληματική εργασία του Paul Debevec στο SIGGRAPH του 1997 'Recovering High Dynamic Range Radiance Maps from Photographs' χρησιμοποίησε αυτή τη μορφή για να φέρει επανάσταση στον φωτισμό CGI.

Συχνές Τεχνικές Ερωτήσεις

Σε τι χρησιμοποιείται ένα αρχείο HDRI σε 3D;

Τα αρχεία HDRI (.hdr) χρησιμοποιούνται ως πανοραμικοί χάρτες περιβάλλοντος 360 μοιρών για την παροχή φωτορεαλιστικού φωτισμού, σκιών και αντανακλάσεων πραγματικού κόσμου σε τρισδιάστατα αντικείμενα.

Πώς λειτουργεί η κωδικοποίηση RGBE 32-bit;

Αντί να αποθηκεύει τρεις ξεχωριστούς αριθμούς κινητής υποδιαστολής, το RGBE χρησιμοποιεί από 8 bit για το κόκκινο, το πράσινο και το μπλε, συν έναν κοινό εκθέτη 8 bit, χωρώντας πλήρες δυναμικό εύρος HDR σε μόλις 4 byte ανά pixel.

Μπορώ να μετατρέψω HDR σε JPG;

Ναι. Το File2File.app μπορεί να κάνει αντιστοίχιση τόνων (tone-map) και να μετατρέψει αρχεία 32-bit Radiance HDR σε τυπικές εικόνες JPG ή PNG απευθείας στο πρόγραμμα περιήγησής σας.