A tone response curve encodes intensity non-linearly to match human brightness perception
The human eye responds to light non-linearly: a doubling of physical photons does not feel twice as bright. A Tone Response Curve (TRC) exploits this by compressing the stored value: darker tones get more of the 8-bit encoding range, lighter tones get less. Without a TRC, linear 8-bit encoding wastes steps on nearly-identical bright values while having too few steps for dark tones. With a TRC (as in sRGB), the 256 steps are spread perceptually evenly. Different color spaces use different TRCs — some simple power functions, some piecewise combinations of linear and power segments.
Examples
sRGB dark shades: 12 out of the first 14 steps of linear 8-bit encoding are unrepresentable without a TRC. ProPhoto uses a piecewise linear+power TRC; DCI-P3 uses a pure power function.
Assessment
Why does linear 8-bit encoding produce banding in dark areas? How does a TRC fix this?