Modernizing Color Management: OpenColorIO

By - - Flame , Maya
Last modification: 4 Nov, 2020


I'm Doug Walker, Senior Principal Software Developer at Autodesk, and my team and I have been hard at work on a software infrastructure that the industry relies on - OpenColorIO - OCIO for short. 


OpenColorIO is an open-source software component, widely used in visual effects and animation, that provides color management technology. Color management is the technology used to ensure that color appearance is communicated correctly as images journey from cameras on set, through post-production and visual effects, out to the many distribution channels (cinema, tv, streaming, etc.), and finally into a studio's archive.

Color is a complicated phenomenon that involves not only human perception and aesthetics but also math and physics. The entertainment industry has many ways of encoding color digitally into what is known as a "color space." For example, the different digital cinema camera makers each have their own distinct color spaces, and likewise, there are numerous different color spaces that are used for distributing cinema and video (in both standard and high dynamic range formats).  Furthermore, the visual effects industry has its own set of color spaces, different from those of either capture or distribution, and pioneered the use of scene-linear floating-point color spaces. Color management software is responsible for accurately translating between these many different digital representations of a given color appearance.

 

WHERE IT ALL BEGAN 

OpenColorIO (also known as OCIO) began development in 2003 at Sony Pictures Imageworks and it became an open-source project in 2010. It was eagerly adopted by the large facilities as visual effects workflows became more complicated and required increasing collaboration amongst multiple companies. The project won an Academy Sci-Tech award in 2014.

Despite the success, OpenColorIO and several other projects including OpenEXR and OpenVDB went through a dormant period where they were not being developed. OCIO did not have any updates between 2013 and 2017. This was one of the factors that led to the creation of the Academy Software Foundation to help nurture open source development in our industry and provide a neutral forum for collaboration. In 2018, OpenColorIO became the second project to join the Academy Software Foundation.

 

BUT WHAT DOES IT MEAN FOR THE INDUSTRY?

The lack of development on OCIO was what prompted Autodesk to get involved in 2017. Virtually every pixel of every visual effect shot in a big movie flows through this software. It has become a critical piece of infrastructure that the industry relies on. Similar to the highways and bridges that we drive on, it was too important to let it slip into disrepair.

There are already a number of organizations that work on trying to standardize what color spaces the industry should use, with the Academy's ACES project being the most important one for the visual effects industry. However, there have not been standards for how visual effects and post-production software should convert between those color spaces, and this is the role that OCIO serves. Because it has been adopted by so many visual effects facilities and so many software vendors, it has become a kind of de facto standard for how to do color management in the industry.

OpenColorIO provides four main capabilities:

  • A configuration file, or config file, for documenting the color pipeline that will be used on a specific show

  • A loose set of user interface conventions for accessing color management from within applications

  • The ability to read many of the look-up table (or "LUT") formats used in the industry

  • Pixel conversion engines for both the CPU and GPU


Customers like it because once they express their color pipeline in this format, they are able to deploy it across many software applications and share it with other facilities that they collaborate with.

 

HOW AUTODESK GOT INVOLVED

Autodesk collaborated on a proposal for a new version of OpenColorIO with Sony Pictures Imageworks which was presented at the OCIO Birds of a Feather session at SIGGRAPH 2017. The proposal was warmly received by the industry and Autodesk allowed me, Patrick Hodoul (our lead developer), and Bernard Lefebvre to work full-time on implementing the new version. We also formed an OCIO v2 working group comprised of color experts from the major visual effects studios and other stakeholders to advise on the new features. Patrick and I also serve on the OCIO Technical Steering Committee within the Academy Sofware Foundation. Autodesk has been a major supporter of the Academy's ACES color management project and many other open-source projects including USD and MaterialX.

Our work on OCIO v2 has benefited greatly from our experience developing color-related features for Autodesk applications such as Flame and Maya.

The visual effects industry has changed considerably since the introduction of OpenColorIO v1 ten years ago, including the wide adoption of ACES, high dynamic range video, and a higher demand for leveraging GPUs for final pixels. With those trends in mind, we re-engineered core components of OpenColorIO with version 2 to provide solutions for these changes, drawing on the latest color science and software engineering techniques.

Spider-Man: Homecoming. ©2017 CTMG, Inc. All rights reserved."Spider-Man: Homecoming. ©2017 CTMG, Inc. All rights reserved.

This shows the results of testing on the new OCIO GPU renderer done at Sony Pictures Imageworks using their Itview review tool to apply an ACES Output Transform. The result on the lower right shows an amplified difference image between the CPU result and the OCIO v1 GPU result which indicates a significant error. The result on the upper right shows the same comparison using the OCIO v2 GPU renderer, with the black image indicating a precise match to the CPU.


ocio opencolorio

The image above illustrates the capabilities of the Academy/ASC Common LUT Format which was introduced in the ACES 1.2 release and is now fully supported in OpenColorIO v2. This color transform format is designed to support floating-point scene-linear wide dynamic range color space conversions and represents a major improvement over earlier LUT formats used in the industry, which are often integer-based and not well-documented.

Other new features are aimed at improving the user experience. Color experts may now author color pipeline configurations that are easier to use for artists, are more accurate and are easier to maintain.

In addition to the dozens of new features, we also wrote over a thousand new CPU and GPU unit-tests to help ensure reliability as development continues.

 

WHAT'S NEXT FOR OCIO?

The feature development work has now concluded for OCIO v2 and we are encouraging developers to start integrating the new version into their applications. We have also started to integrate it into applications here at Autodesk including Maya and others. We plan on making some refinements to the library between now and the end of the year based on testing and feedback from developers. The official stable v2 release will happen at the end of 2020. The new version has also been included in the VFX Reference Platform for next year.

Our team has really enjoyed working on this new version of OpenColorIO. It's been a great opportunity to pay it forward and help modernize this important piece of shared software infrastructure that the industry relies on, and to open-source some cutting-edge technology from Flame and Maya in the process.


Learn more about OCIO

Posted By
Published In
Tags
  • Flame
  • Maya
  • Film & VFX
1 Comment
To post a comment please login or register
| 1 day ago
Awesome news Doug! can't wait to see it arrive in the next build of flame! cheers