Understanding openEXR image compression methods

The OpenEXR format may seem a bit complicated at first, and a lot of people still claim that “Quicktime Animation has better compression or performance“, that “nothing equals ProRes“, or that “PNG is easier to use“, for example. This is all wrong. Let’s explain!

This document is available as a pdf. Click here!

Many thanks to Dino Muhić for his expertise about DWA

When using the OpenEXR format, it may be hard to determine what is the best data compression to use, and the question is raised very often. This document is an attempt to answer it, depending on what is your need with the file and what type of image you’re storing.

A compression is said to be the best for a specific need when its read or write speeds better fit the application, and the file size is the smallest available.

Types of images

In this document, we’re distinguishing between the following different types of images:

  • Grainy video or animation
    Photographic images (including realistic CGI) or animation with grain

  • Video
    Photographic images (including realistic CGI) without grain

  • Animation, Graphics
    Highly stylized images such as 2D Animation, Motion Graphics, stylized 3D Animation, or 3D passes such as Z-Depth, Normal…

  • Solid colors, large flat areas
    Images mostly consisting of solid colors, such as alpha or id channels

  • Texture maps
    Multi-Resolution files