OpenEXR
Encyclopedia
OpenEXR is a high dynamic range imaging
High dynamic range imaging
In image processing, computer graphics, and photography, high dynamic range imaging is a set of techniques that allows a greater dynamic range between the lightest and darkest areas of an image than current standard digital imaging techniques or photographic methods...

 image file format, released as an open standard
Open standard
An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed . There is no single definition and interpretations vary with usage....

 along with a set of software tools created by Industrial Light and Magic
Industrial Light and Magic
Industrial Light & Magic is an Academy Award-winning motion picture visual effects company that was founded in May 1975 by George Lucas and is owned by Lucasfilm. Lucas created the company when he discovered that the special effects department at 20th Century Fox was shut down after he was given...

 (ILM), released under a free software license similar to the BSD license.

It is notable for supporting 16-bits-per-channel floating point
Floating point
In computing, floating point describes a method of representing real numbers in a way that can support a wide range of values. Numbers are, in general, represented approximately to a fixed number of significant digits and scaled using an exponent. The base for the scaling is normally 2, 10 or 16...

 values (half precision), with a sign bit, five bits of exponent, and a ten-bit mantissa
Significand
The significand is part of a floating-point number, consisting of its significant digits. Depending on the interpretation of the exponent, the significand may represent an integer or a fraction.-Examples:...

. This allows a dynamic range of over thirty stops of exposure.

Both lossless
Lossless data compression
Lossless data compression is a class of data compression algorithms that allows the exact original data to be reconstructed from the compressed data. The term lossless is in contrast to lossy data compression, which only allows an approximation of the original data to be reconstructed, in exchange...

 and lossy compression
Lossy data compression
In information technology, "lossy" compression is a data encoding method that compresses data by discarding some of it. The procedure aims to minimize the amount of data that need to be held, handled, and/or transmitted by a computer...

 of high dynamic range data is also supported.

OpenEXR Overview

For a full technical introduction of OpenEXR, see the Technical Introduction available on the OpenEXR.org website.

OpenEXR, or simply EXR for short, is a deep raster format developed by ILM and very broadly used in the computer-graphics industry, both visual effects and animation.

OpenEXR's multi-resolution and arbitrary channel format makes it appealing for compositing. OpenEXR alleviates several painful elements of the compositing process. Since it can store arbitrary channels, specular, diffuse, alpha, RGB, normals, and various other types of channels in one file, it takes away the need to store this information in separate files. The multi-channel concept also reduces the necessity to "bake" in the before mentioned data to the final image. If a compositer is not happy with the current level of specularity
Specularity
Specularity is the visual appearance of specular reflections. In computer graphics, it meansthe quantity used in 3D rendering which represents the amount of specular reflectivity a surface has...

, he or she can adjust that specific channel.

OpenEXR's API makes tools development a relative ease for developers. Since there are almost never two production pipelines that are the same, custom tools always need to be developed to address problems in the production process, e. g. to address image manipulation issue. OpenEXR's library allows quick and easy access to the image's attributes such as tiles and channels.

History

OpenEXR was created by ILM in 1999 and released to the public in 2003.

OpenEXR is directly supported by DaVinci Resolve, 3Delight
3Delight
3Delight is a proprietary, photorealistic, RenderMan-compliant offline renderer.It is developed by DNA Research, or DNA in short, a subsidiary of Taarna Studios.-Features:...

, HDR PhotoStudio
HDR PhotoStudio
HDR PhotoStudio is an advanced HDR digital imaging software application developed by Unified Color for Microsoft Windows XP/Vista/7 and Apple's Mac OS X...

, Artizen HDR, Assimilate Scratch, Combustion
Combustion (software)
Combustion 2008 is the newest version of Autodesk's visual effects and compositing software tool.Combustion is a computer program "for motion graphics, compositing and visual effects" . The software retails for US$995...

, Cerebro
Cerebro (software)
Cerebro — is a software complex for media project management. Cerebro is mostly used by VFX-studios, videogame developers, advertisement, TV series production companies and web designers....

, Flame 2008, Smoke 2008, Blender
Blender (software)
Blender is a free and open-source 3D computer graphics software product used for creating animated films, visual effects, interactive 3D applications or video games. The current release version is 2.60, and was released on October 19, 2011...

, 3dsmax, Softimage, Digital Vision/Nucoda grading and mastering solutions, LuxRender
LuxRender
LuxRender is an open source software rendering system for physically correct image synthesis. The program runs on Microsoft Windows, Mac OS X and Linux and exporters are available for Blender, SketchUp, Cinema 4D, XSI, DAZ Studio, and Maya.-Overview:...

, YafaRay, Indigo
Indigo Renderer
Indigo Renderer is a 3D rendering software that uses unbiased rendering technologies to create photo-realistic images. In doing so, Indigo uses equations that simulate the behaviour of light, with no approximations or guesses taken...

, CinePaint
CinePaint
CinePaint is an open source computer program for painting and retouching bitmap frames of films. It is a fork of version 1.0.4 of the GNU Image Manipulation Program...

, Cinelerra
Cinelerra
Cinelerra is prosumer video editing software. It is designed for the GNU/Linux operating system. It is produced by Heroine Virtual, and is free software distributed under the GNU General Public License...

, Houdini
Houdini (software)
Houdini is a high-end 3D animation package developed by Side Effects Software which is headquartered in Toronto, Canada. It is a rewrite of the PRISMS ecosystem of standalone tools. Its chief distinction from other packages is that it has been designed as a purely procedural environment...

, Lightwave
LightWave
LightWave 3D is a high end computer graphics program developed by NewTek. The latest release of LightWave runs on Windows and Mac OS X.- Overview:...

, modo
Modo (software)
modo is a polygon and subdivision surface modeling, sculpting, 3D painting, animation and rendering package developed by Luxology, LLC. The program incorporates features such as n-gons, 3D painting and edge weighting, and runs on Mac OS X and Microsoft Windows platforms.-History:modo was created...

, After Effects
Adobe After Effects
Adobe After Effects is a digital motion graphics and compositing software published by Adobe Systems, used in the post-production process of filmmaking and television production. Its main uses are the origination of 2D and 2.5D animation, visual effects compositing and finishing...

 7 Professional, V-Ray
V-Ray
V-Ray is a rendering engine that is used as an extension of certain 3D computer graphics software.The core developers of V-Ray are Vladimir Koylazov and Peter Mitev of Chaos Software production studio established in 1997, based in Sofia, Bulgaria....

, Mental Ray
Mental Ray
mental ray is a production-quality rendering application developed by mental images . mental images was bought in December 2007 by NVIDIA.As the name implies, it supports ray tracing to generate images....

, PRMan, Rendition
Holomatix Rendition
Holomatix Rendition is a raytracing renderer, which is broadly compatible with mental ray. Its rendering method is similar to that of FPrime in that it displays a continuously refined rendered image until final production quality image is achieved...

, Digital Fusion, Nuke
Nuke (software)
Nuke is a node-based compositor produced by The Foundry, and used for film and television post-production. Nuke is cross-platform, and is available for Microsoft Windows, Mac OS X, and Linux...

, Sony Vegas Pro, IRIDAS FrameCycler, IRIDAS SpeedGrade, Toxik, Shake
Shake (software)
Shake is a discontinued image compositing package used in the post-production industry. Shake was widely used in visual effects and digital compositing for film, HD and commercials. Shake exposes its node graph architecture graphically. It enables complex image processing sequences to be designed...

, Pixie
Pixie (renderer)
Pixie is a free , photorealistic raytracing renderer for generating photorealistic images, developed by Okan Arikan in the Department of Computer Science at The University of Texas At Austin...

, Photoshop CS2, CINEMA 4D
Cinema 4D
CINEMA 4D is a 3D modeling, animation and rendering application developed by MAXON Computer GmbH of Friedrichsdorf, Germany. It is capable of procedural and polygonal/subd modeling, animating, lighting, texturing, rendering, and common features found in 3d modelling applications.- Overview:The...

, Animation:Master
Animation:Master
Animation:Master is a 3D character animation application offered by Hash, Inc. that includes tools for modeling, rigging, animating, texturing, lighting and rendering...

, Pixel Image Editor
Pixel image editor
Pixel Image Editor is an Image editor written by the Slovak programmer Pavel Kanzelsberger. It is written with Free Pascal.-Features:...

, Tweak RV, SquidNet Render Manager, Bryce
Bryce (software)
Bryce is a 3D modeling, rendering and animation program specializing in fractal landscapes. The name is taken from Bryce Canyon—a rugged region with many of the same landscapes that were first simulated with the software.- History :...

, Terragen 2
Terragen
Terragen is a scenery generator program for Microsoft Windows and Mac OS X developed and published by Planetside Software. It can be used to create renderings and animations of landscapes.-History:...

 and Synfig
Synfig
Synfig Studio is a free and open source 2D vector graphics and timeline-based computer animation program created by Robert Quattlebaum with additional contributions by Adrian Bentley....

. Others, like SView5 do support it by means of external tools like exrtoppm. It is also supported by the Cg programming language
Cg programming language
Cg is a high-level shading language developed by Nvidia in close collaboration with Microsoft for programming vertex and pixel shaders...

 and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 since version 10.4.

Compression methods

There are 3 general types of lossless compression built into OpenEXR, with two different methods of Zip compressing. For most images without a lot of grain, the two Zip compression methods seem to work best, while the PIZ compression algorithm is better suited to grainy images. The following options are available:

None: Disables all compression.
Run Length Encoding (RLE)
Run-length encoding
Run-length encoding is a very simple form of data compression in which runs of data are stored as a single data value and count, rather than as the original run...

: This is a basic form of compression that is comparable to that used by standard Targa
Truevision TGA
Truevision TGA, often referred to as TARGA, is a raster graphics file format created by Truevision Inc. . It was the native format of TARGA and VISTA boards, which were the first graphic cards for IBM-compatible PCs to support Highcolor/truecolor display...

 files.
Zip (per scanline): Zip style compression applied to individual scanlines.
Zip (16 scanline blocks): Zip style compression applied to blocks of 16 scanlines at time. This tends to be the most effective style of compression to use with rendered images that do not have film grain applied.
PIZ (wavelet
Wavelet
A wavelet is a wave-like oscillation with an amplitude that starts out at zero, increases, and then decreases back to zero. It can typically be visualized as a "brief oscillation" like one might see recorded by a seismograph or heart monitor. Generally, wavelets are purposefully crafted to have...

 compression): This uses a new combined wavelet / Huffman
Huffman coding
In computer science and information theory, Huffman coding is an entropy encoding algorithm used for lossless data compression. The term refers to the use of a variable-length code table for encoding a source symbol where the variable-length code table has been derived in a particular way based on...

 compression. This form of compression is quite effective when dealing with grainy images, and will often surpass any of the other options under grainy conditions.
PXR24 (24 bit data conversion then zipped compression): This form of compression from Pixar
Pixar
Pixar Animation Studios, pronounced , is an American computer animation film studio based in Emeryville, California. The studio has earned 26 Academy Awards, seven Golden Globes, and three Grammy Awards, among many other awards and acknowledgments. Its films have made over $6.3 billion worldwide...

 converts data to 24 bit then uses Zip compression. It is lossless for half and 32bit integer data and slightly lossy for 32bit float data.
B44: This form of compression is lossy for half data and stores 32bit data uncompressed.
B44A: An extension to B44 where areas of flat color are further compressed. Regular B44 compresses uniformly regardless of image content.

Credits

From OpenEXR.org's Technical Introduction:

The ILM OpenEXR file format was designed and implemented by Florian Kainz, Wojciech Jarosz, and Rod Bogart. The PIZ compression scheme is based on an algorithm by Christian Rouet. Josh Pines helped extend the PIZ algorithm for 16-bit and found optimizations for the float-to-half conversions. Drew Hess packaged and adapted ILM's internal source code for public release and maintains the OpenEXR software distribution. The PXR24 compression method is based on an algorithm written by Loren Carpenter at Pixar Animation Studios.

Developing with OpenEXR

The OpenEXR library is developed in C++ and is available in source format as well as compiled format for Windows, Mac OS X and Linux. Careful attention was taken to ensure that OpenEXR easily compiles on almost any platform that supports C++. Python bindings for the library are also available.

As of version 1.3.0, released on June 8, 2006, support for multithreaded reading and writing was added to OpenEXR. Multithreaded reading and writing offers a higher performance gain for systems that have multiple cores or CPUs. OpenEXR handles reading and writing by a means of a thread pool.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK