Skip to content

Tone Mapping

flowchart LR
  A("ACES 
  RGB 
  Input") --> 
  B[ACES 
  to 
  JMh] --> 
  C["Tonescale 
  (J Only)"] --> 
  D["Chroma 
  Compression 
  (M Only)"] --> 
  E["Gamut 
  Compression 
  (J & M)"] --> 
  H["White
  Limiting"] --> 
  F["Display 
  Encoding"] --> 
  G(Display 
  RGB 
  Output);
  style C stroke-width:4px

Tone-mapping

After the data is in a JMh representation, the J channel is sent through the tone scale function.

Tone-mapping Function

The tone mapping function is based off a Michaelis-Mentin curve, and parameterized so that certain values can be calculated automatically based on the peak luminance value.

Values

ACES value
Peak Luminance
(nits)
0 0.18 1.0 2.0
100 0.000 10.000 45.757 63.988
500 0.000 13.193 89.098 158.949
1000 0.000 14.512 106.564 205.783
2000 0.000 15.747 121.664 248.779
4000 0.000 16.824 133.883 284.433