Tidbits
A month ago, when I was looking for books about Industrial Light and Magic, I found a treasure book “The Art of Film Magic”, which focuses on Weta Workshop’s film special effects achievements in the last 20 years, I wanted to buy this set of books through domestic purchase channels, but finally found that some of the contents of the book are in conflict with Chinese laws, and the conflicting parts of the book was torn from the pages by a third party. So I found Weta Workshop’s official store and bought this set of books directly from Europe, and it arrived yesterday through UPS.
Yes, the film industry is indeed a magic, an artful magic, where art and technology combine to make the films presented on the big screen. So today I would like to introduce a tool OpenEXR, a digital image storage format developed by Industrial Light & Magic in 1999 to store data with high dynamic range scenes.
Design
Features of OpenEXR:
-
High Dynamic Range,pixel data in EXR images are stored in 16bit or 32bit floating point numbers.
-
Compared to images with 8bit data storage, EXR is more friendly for color grading, especially for making large color adjustments, and images with EXR do not show banding.
-
Lossless compression, EXR provides many compression algorithms to reduce storage costs while pixel data is not lost with it.
-
Multi-channel storage, EXR can store multiple channels of image data, in addition to the common Red Green Blue Alpha, as well as depth information of the scene, object surface normal direction, highlight channel, etc.
-
Ability to better interact with C C++, EXR provides C C++ interface to facilitate external applications to read and write EXR files.
EXR color management
OpenEXR image is usually Scene-referred, as opposed to Display-referred, we do a brief introduction, display-referred we are using a certain display standard for the color display of the image, for example, using the camera to take sRGB pictures, then on a 100% sRGB monitor, we see the image color and the real scene is the same, but get the Rec709 monitor, the image will be different from our sRGB monitor, this is the display reference. we use the display standard to calibrate the correct color of the image, the scene reference is that no matter what camera we use to shoot, what kind of display we use, the final image result is the same for the same scene. The color storage of the scene reference is linearly proportional to the real-world lighting, as described in the article about ACES color management. OpenEXR is just a data storage container, no matter what camera you use, the whole scene information can be stored in the EXR file, in order to be able to display and process the image easily later, we need Color management of OpenEXR, unlike Jpeg, PNG format images, which are embedded with colorspace information, such as the image color space is sRGB or Rec709, Gamma is sRGB or Gamma2.2, these data are not available in OpenEXR. because the latter are dependent on display reference, while EXR is scene reference. Here is my understanding of OpenEXR’s color management science based on an article published by Industrial Light & Magic in 2004, “A Proposal for OpenEXR Color Management” as a reference.
Before storing the photographic data in OpenEXR, we all have to do the conversion of scene linearization. The RAW of the digital cinema camera is all the data in the scene that the camera can see, which is already the scene linear reference, so storing it to OpenEXR does not require linear conversion, and after finishing processing the image data in OpenEXR, we need to convert the scene reference to the display reference so that we can view the colors of the image correctly on various monitors.