8.0 BASIC IMAGE PROCESSING AND ISP⧉
A raw sensor file needs several kinds of processing before it becomes a photograph. Some correct the measurement, such as subtracting the sensor’s black level or estimating missing color samples. Others choose its appearance: contrast, saturation, highlight rendering, and sharpening. The image signal processor (ISP) combines these operations into a pipeline.
We will build the core of a small raw developer. The chapters cover image storage and value encodings, tone and color adjustments, spatial processing, automatic exposure and white balance, and file output. Chapter 8.12, Recap ISP, non-destructive editing assembles these stages, and Chapter 8.13, A raw developer in the browser provides a working interface.
Each operation needs a stated input domain. Use linear-light values for physical light mixing and exposure scaling, a suitable noise model for denoising, and the intended working space for appearance adjustments. Preserve intermediate precision and headroom. Encoding an output file is a separate decision from choosing the photograph’s look.
Contents of this part
- 8.1 Image representation
- 8.2 What the numbers mean
- 8.3 Tone point operations
- 8.4 Beauty curves: the camera "look"
- 8.4.1 Why scene-linear looks dull
- 8.4.2 The shape of the curve
- 8.4.3 Highlights: roll off to white, not to a color
- 8.4.4 Saturation, and the rest of the "look"
- 8.4.5 Vignetting and grain, added on purpose
- 8.4.6 Our curve, in code
- 8.4.7 The discipline
- 8.4.8 Beauty curves in real ISPs
- 8.4.9 Perceptual basis for beauty curves
- 8.5 Color point operations
- 8.6 Color beautification and preferred colors
- 8.6.1 Accurate is not preferred
- 8.6.2 More vivid, but bounded: the naturalness constraint
- 8.6.3 Three corridors, quantitatively
- 8.6.4 Two primitive moves: translate and contract
- 8.6.5 The oldest shipped example: NTSC flesh-tone correction
- 8.6.6 The rung's documented failure
- 8.6.7 Semantic gating by object detection
- 8.7 Histograms
- 8.8 Sharpening
- 8.9 Dead pixels
- 8.9.1 Where they come from
- 8.9.2 Finding them
- 8.9.3 Fixing them
- 8.10 Auto-exposure and auto white balance
- 8.10.1 Auto-exposure: metering
- 8.10.2 White balance and color constancy
- 8.10.3 White balance on film
- 8.10.4 Automatic white balance
- 8.11 File formats and compression
- 8.11.1 The big picture: none, lossless, lossy
- 8.11.2 Data versus metadata: EXIF
- 8.11.3 PNG: the format we read from
- 8.11.4 JPEG: compression by perception
- 8.11.5 RAW files: before the cooking
- 8.11.6 HDR formats: more than 8 bits
- 8.11.7 Modern formats
- 8.11.8 Other formats: TIFF and GIF
- 8.12 Recap ISP, non-destructive editing:
- 8.12.1 A basic ISP
- 8.12.2 Two stages this part did not teach
- 8.12.3 Real ISPs
- 8.12.4 Pipeline design and tuning
- 8.12.5 The ISP, evolving: traditional → learned → generative
- 8.12.6 Recap 2: non-destructive editing
- 8.13 A raw developer in the browser