Here at Mystery Box we’re always looking to improve our workflows in two big ways: increasing consistency and quality of work, or reducing the time it takes to do a common task while maintaining its quality.
One of the big changes we’ve made in the last few years that has helped us accomplish both of these goals is moving many of our color grading tasks to look-up table (LUT) based workflows when possible.
While this often involves using LUTs for creative tasks, we’ve primarily been building our own set of utility LUTs to handle things like conversions in a consistent and high quality manner. The best case scenarios for us is when we refine a LUT to the point that we really don’t need to make any tweaks to an image after applying it: it simply works in all, or almost all of the cases.
Many of the LUTs we’ve built over the last two years are related to our work in HDR video, and started as solutions to problems we’ve run into. As HDR video workflows become more common, more and more companies and individuals will be running into similar problems as we have, so we want to make sure that the solutions we've come up with are available to anyone who needs them.
These LUTs quite literally save us hours and days in color correction, and when running specific post processes. So we’ve decided to make our utility LUTs available for license1 from our web store.
Here we will outline the different problems we’ve run into, and present the Mystery Box LUTs we’ve developed to solve the problem, so that you can also utilize them to accelerate your workflows.
- Color space conversions are transfer function dependent - How do we prevent color shifting when moving between them, especially in HDR?
- HDR Brightness and contrast operations aren't well defined or implemented - How do we scale brighten an HDR image while preserving its contrast, or authorial intent? How do we work with the full HDR PQ specification on a limited brightness display?
- There are different versions of HDR in use today and we often have to deliver in both.
- SDR and HDR are not directly compatible, and until all displays and content are in HDR, we have to work with and mix both.
- HDR data ranges are not properly implemented in programs. What can we do to fix this?
- Many camera systems aren't designed to work with HDR10. How do we get them to work in this new emerging format?
- HDR grading displays are very expensive - is there any way to bring down the cost?
After significant testing, we’ve found that color space conversions, like from a camera native to Rec 709 or from a Rec. 709 to a Rec. 2020, behave differently depending on the transfer function used to encode the footage.
Since this isn’t a blog post about the nitty gritty details of optico-electrical and electro-optical transfer functions, I’m not going to bore you with the technical details as to why this is, but I’ll describe the results:
If you don’t account for the LOG or HDR format that the footage is in when you apply a color space transformation, you’re going to end up with hue and saturation shifts.
A lot of the color space transformations included in applications that allow or manage colors spaces don’t take the transfer function into account, which means that you may end up having to manually adjust hues and saturations.
But for the footage we’ve worked with, we’ve built LUTs that perform the conversions with the transfer functions in mind, so that we don’t have to correct and recorrect each time we need a conversion.
We have three LUT packs that incorporate this directly for the footage we handle most often, while the color science is built into any of the other LUT packs we sell. We offer color space conversion LUTs accounting for SMPTE ST. 2084 (PQ)/HDR10, Panasonic V-Log, and RED’s Log3G10 transfer functions.
HDR10 & SDR Primaries Conversions LUTs
There are times when grading or delivering HDR10 where having the ability to change the color primaries is useful. We’ve prepared a series of HDR10, with accompanying SDR LUTs, to handle conversions to and from the common deliverable color spaces: P3 D65 and DCI-P3 for digital cinema, and Rec. 2020 and Rec. 709 for broadcast standards.
We use these LUTs to manage deliverables required in color spaces other than Rec. 2020 for HDR, since we grade on our Sony BVM-X300, and for all kinds of SDR cross conversions. The Rec. 2020 to Rec. 709 HDR10 and the Rec. 2020 to P3 D65 LUTs are integrated in the HDR Grading LUTs for the Atomos Sumo and SmallHD 1703 P3X, which we’ll discuss later.
The Panasonic V-Gamut is used as a wide color space for the Panasonic VariCam series, and accompanies V-Log as the native camera LOG format. Because of some grading work we did on V-Log footage, we’ve prepared LUTs to move from V-Log into Rec. 709 and Rec. 2020, accounting for either V-Log or Gamma 2.4 curves, for workflow flexibility.
RED’s IPP2 pipeline offers immense improvements to RED’s color science, and has allowed us to get the best possible images out of our RED line of cameras. RED distributes a whole slew of IPP2 LUTs for grading in SDR and HDR, and we recommend getting those for basic and fast corrections.
However, we’ve found that for HDR grading, it’s useful to convert from RedWideGamutRGB directly into Rec. 2020, while maintaining the encoded Log3G10 - it’s an incredible starting point for HDR grading. As such we’ve prepared LUTs for transforming RedWideGamutRGB into a few different color spaces while maintaining Log3G10, and a few for when your footage has already been corrected into Gamma 2.4.
We’ve also included three reverse LUTs for moving from Rec. 2020 into RedWideGamutRGB or from HDR10 into RedWideGamutRGB / Log3G10. We’ve found these to be useful in a few cases, and may be important as part of a graphics workflow operating in RWG/Log3G10, or when mixing footage.
Click Here to check out our RedWideGamutRGB to HDR10 LUTs
High Dynamic Range video, especially video using the Perceptual Quantization curve (SMPTE ST. 2084 / HDR10) behaves differently when trying to scale brightness than traditional SDR video. Adjusting gain causes uneven effects across the entire image, and brightness/contrast adjustments are defined for a gamma 2.4 EOTF.
As a result, preserving authorial intent when trying to adjust the overall brightness of an HDR image is difficult. Dolby Vision provides a solution to delivering in multiple peak brightnesses, but it requires multiple grading passes and expensive hardware setups.
Also, while HDR10 technically requires grading at the target peak brightness, logically it should be possible to grade at a lower brightness with the intent of delivering at a higher peak brightness while maintaining overall image contrast (i.e. the entire image ends up brighter, but the contrast remains the same).
Using the mathematics associated with the Perceptual Quantization curve, we were able to create LUTs based on a scalar function, that will effectively “scale up” or “scale down” HDR brightnesses while keeping the contrast identical across the various images.
For instance, we can scale up content mastered on our BVM-X300, which has a peak brightness of 1,000 nits and a max frame average brightness of 180 nits, to have a peak brightness of 4,000 nits, and a max frame average brightness of 720 nits.
Or, we can scale down peak brightness of the image to 400, 300, or even 120 nits, to better match a display with a lower peak brightness, while preserving the overall image contrast. In other words, the dynamic range of the picture content remains the same, but the image content is moved up or down “x-stops” in the digital data.
We’ve tested and used these LUTs to scale up and down content in a variety of scenarios, including deliverables to clients (with their knowledge that this is what we did) exhibiting displays at 2,000, 4,000, and 10,000 peak nits.
With these LUTs we also have a set of LUTs that directly convert from PQ into Gamma 2.4 SDR, with hard clips at 120, 300, 400, and 1000 nits. These are incredibly useful as starting points for grading SDR versions, or for allowing SDR displays to accept HDR signals and convert them into the panel’s native brightness range.
These LUTs are phenominally useful for moving and scaling brightnesses in HDR, and may be used by post production facilities to generate different versions of HDR content, or have the potential to be integrated into HDR decoding devices to scale HDR brightness ranges to a specific display standard (integration applications require a custom licensing agreement - contact us directly if this is an application you are considering.)
Currently there are two competing standards for High Dynamic Range video: Dolby’s solution of Perceptual Quantization, standardized in SMPTE ST.2084 and used in HDR10, and The BBC/NHK’s solution of Hybrid Log Gamma, that builds on SDR curves and extends their high end into a brighter peak.
Further, the two formats are not directly compatible, for a variety of reasons, including the fact that PQ is display referred, while HLG is scene referred, and PQ allows for substantial improvements in the darks.
But so long as there are two competing formats, it would be advantageous to quickly move content from one to the other, with minimal effort or regrading. So, how can we convert between HLG and PQ?
We’ve prepared three LUTs using three separate techniques to convert between Hybrid Log Gamma and Perceptual Quantization. Each behaves slightly differently, and the different versions are for the most part reversible, that is HLG to PQ v1 is reversed for the most part by PQ to HLG v1.
This will let you grade HDR content in either Hybrid Log Gamma or Perceptual Quantization, while being able to quickly deliver in both formats, with minimal time needed to prepare the second version.
Because of the incompatibilities between the two curves, we recommend testing to see which of the LUT versions work best with your footage. LUT Version 3 is based on our more general HDR10 to SDR LUT, which we’ll discuss later.
These LUTs adjust transfer functions only and do not alter the color space.
The Perceptual Quantization curve, standardized for HDR broadcast in CEA’s HDR10, is completely incompatible with SDR. Its extended dynamic range makes it appear washed out when shown on a standard screen, like a LOG format, and some creative decisions need to be made in how to apply contrast when moving from HDR into SDR. Clipping often creates unusable images, while roll-off curves can be inconsistent.
Additionally, since the vast majority of content that exists is already in the “standard” dynamic range by default, any time existing content (including graphical overlays or content filmed on SDR cameras) needs to be used in HDR space, some conversions and considerations need to be accounted for so that the highlights don’t bloom and the image appear with hyper contrast.
We’ve prepared a LUT that effectively works in all HDR10 to SDR situations, where the peak brightness is under 2,000 nits, by maintaining image contrast through 350-400 Nits, then gently rolling off the highlights into 1,000 nits before clipping.
These LUTs are provided in two different color versions - Direct, and Intensity Matching. The Intensity Matching LUTs add intensity to the color saturation to match the perception of color intensity found in HDR video.
Brighter images, whose maxFALLs exceed 360 Nits may also be converted by combining the nits brightness conversion LUTs and the HDR10 to SDR LUTs.
In our HDR10 to SDR conversion pack we’ve also included two LUTs for monitoring HDR10 VFX timelines on SDR interface displays. We recommend using this as a non-rendering display monitoring LUT, since it has a more aggressive clipping profile than the other SDR conversion LUTs.
We’ve also prepared a set of LUTs that operate in reverse, converting SDR content into HDR10, at three different brightness levels: Dark (SDR Direct), Medium, and Bright from multiple SDR color spaces (Rec. 709, Rec. 2020, P3 D65). These allow for easy integration of SDR content into HDR reels.
Included in the SDR to HDR10 conversion pack is a LUT necessary for placing logos and overlays in HDR, converting from sRGB to HDR10 while maintaining proper color fidelity:
Even applications that include considerations for HDR10 don’t always implement the function correctly, or include tools for fixing some of the specific issues with HDR10.
For example, Adobe’s Photoshop allows for the decoding of RAW camera images into HDR10, but squeezes the full camera dynamic range into SDR’s dynamic range, before translating those digital values into HDR, instead of directly translating the camera’s dynamic range into the greater HDR10 dynamic range.
Or, applications that are color space agnostic, like DaVinci Resolve, allow for encoding data above the brightness capabilities of your display, and often don’t apply traditional lift-gamma-gain functions to operate to act more uniformly across the distributed dynamic range. This leads to difficulty in working with HDR ranges, and leaving unseen ‘details’ in the brights or darks.
We’ve created a set of utility LUTs specifically for fixing these problems found in Adobe and DaVinci Resolve (and other agnostic color grading applications).
Adobe HDR out of Camera RAW
The first is a LUT designed to convert Adobe’s Limited HDR10 implementation into a better HDR10 range.
To use the LUT, process your images in Camera RAW, and modify your workflow options so that your Color Space is set to Rec. 2100 PQ, with a Perceptual intent, and 16 bits/Channel bit depth.
Render your image sequence flat, without clipping the whites or blacks on your histogram, as 16 bit TIFFs, and import the TIFF sequence into your color correction application of choice. Then, apply the Adobe Limited HDR to ST2084 LUT to scale the brightness range of the HDR image into a brighter HDR space, and begin your color grading from there.
See the walkthrough below:
Out of Range Data
To handle issues of out of range brights that may contain funky details that, while invisible on your grading display, may become visible as displays improve in the future. For this we’ve created two clipping LUTs that hard clip the data output to 1,000 or 4,000 nits, that can be applied to ensure that any details above those values are clipped to what is visible on your display.
HDR Output Curve
Lastly, we’ve built a LUT based on our recommended output curve, which we discuss in the post “HDR Video Part 5: Grading, Mastering, and Delivering HDR”, which allows lift, gamma, and gain operations to more evenly be applied across an image. Jump over to that post to understand how and why this curve is useful.
Many cameras, especially those that are geared towards consumers, don’t have options for working directly in HDR. Even some of the professionally available cameras have been slow to implement HDR transfer functions, especially for the perceptual quantization curve.
Once again, custom LUTs are the best solution. We’ve prepared a number for cameras that we work with on a regular basis. For consumer cameras or drones, this usually means shooting in ‘FLAT’ color profiles and then converting the data to HDR, while for some of the professional cameras it means running through LOG formats. We’ve prepared LUTs for three camera systems.
DJI Phantom 4 Pro
The first is DJI’s Phantom 4 Pro, which is an excellent portable drone, and despite its 8 bit recording, offers an adequate image for light HDR grading. We’ve prepared LUTs that work with the FLAT color profile, converting the content into HDR, and SDR with three levels of contrast.
Phantom CINE RAW
The second camera system is Vision Research’s Phantom series, which shoots in Phantom CINE RAW format. The format currently offers three options for decoding the RAW: Rec. 709, Log1 and Log2. Since the Rec. 709 transfer function offers little latitude for working in HDR, we recommend decoding the CINE RAWs in Log1 or Log2 and applying our LUTs to convert into the PQ transfer function for HDR grading. We’ve also provided Log1 and Log2 to Gamma 2.4 LUTs for standardizing SDR workflows with the Phantom series.
Lastly, we’ve prepared a complete set of LUTs for working with the Panasonic GH5S in HDR10, allowing you to monitor and grading in HDR. We’ve broken down the workflow in our post Panasonic GH5S and Shooting HDR10, so we’re not going to go into all of the LUTs we’ve prepared and how to use them here. The color science of the GH5 is close enough to that of the GH5S that these LUTs can also be used with the GH5.
We wish that everyone could have the experience of grading in HDR10 on a properly calibrated high dynamic range grading display, but it’s unfortunately price prohibitive for most independent filmmakers.
There are however high brightness production monitors that offer brightness ranges that are compatible with HDR, especially with HDR10 which requires specific nits levels at the display. However, their dynamic range is more limited than a qualified high dynamic range reference monitor (by about half), and their interpretation of HDR is somewhat lacking, since they’re designed to let you see the whole camera signal instead of the values landing where they would with proper contrast.
We brought in a couple of these production monitors and compared them to our Sony BVM-X300. Specifically, we compared the SmallHD 1703 P3X and the Atomos Sumo 19, along with the Atomos Shogun/Ninja Inferno and the SmallHD 5- and 7- series high brightness displays.
With proper display color calibration, the LUTs we’ve built that cover specific brightness ranges, and adjusting the brightness of the display to match the working range, you can grade effectively in HDR on these production monitors, for far less money than you would if you needed a reference display.
And since you’re working with a 1080 display and are managing the HDR interpretation yourself, you can get away with purchasing a small HDMI 1080 video output like the Blackmagic Design Ultrastudio Mini Monitor or Decklink Mini Monitor / Mini Monitor 4K if you’re using DaVinci Resolve or Final Cut Pro-X as your coloring software, or the AJA T-Tap or Io Express if you’re using another color grading application that supports AJA devices.
It’s not a perfect HDR experience, but with our display calibration LUTs it’s good enough that we’ve decided to use one of our production displays if we need to grade in HDR on two computers simultaneously.
Once again, we’ve written up the whole procedure on how to make this work in our blog post Studio Grading in HDR on the SmallHD P3X and Atomos Sumo 19. Check it out for the best description of how to make it work and what its limits are, or Click Here to check out our Production Monitor HDR Grading Pack
1 LUT Licensing: The Mystery Box LUTs are licensed for use within a post production environment only. We grant the purchaser non-exclusive rights to use the LUT internally for their own projects, for the projects they are hired to fulfill, and to lend the LUTs to any post production facility they are working with, as necessitated by the project. Any third party receiving LUTs in this way understands that the LUTs are to be used on the Licensor's project only; they may not be used on any other party's projects without additional purchase.
Further, Mystery Box does not grant to any persons or organizations the right to incorporate these LUTs into any publicly accessible technologies , including, but not limited to, web based encoders, color correction software, non-linear editors, real time encoders, direct to air broadcasts, or television displays. The Mystery Box LUTs purchased through the web store may only be used in the internal preparation of master file assets, that is, they must be applied prior to the master content's delivery to any third party. The only exception is the use of the Mystery Box HDR10 to SDR LUTs, which may be attached as LUTs when uploading the licensors HDR content to YouTube.
For more information on licensing for incorporating these LUTs into technologies, please don't hesitate to get in touch.