Digital Color Imaging Handbook
Electrical Engineering & Applied Signal Processing Series
Copyright
Preface
About the Editor
Contributors
Contents
Ch1 Color Fundamentals for Digital Imaging
1.1 Introduction
1.2 Physical stimuli for color
1.2.1 The stimulus error
1.3 Human color perception and trichromacy
1.4 Color matching
1.4.1 Color-matching functions
1.4.2 Metamerism and black space
1.5 Colorimetry
1.5.1 CIE standards
1.5.2 Colorimetry for re.ective objects
1.5.3 Chromaticity coordinates and chromaticity diagrams
1.5.4 Transformation of primaries: NTSC, SMPTE, and CCIR primaries
1.6 Alternative color speci.cation systems
1.7 Uniform color spaces and color differences
1.7.1 The CIE 1976 L*u*v* space
1.7.2 The CIE 1976 L*a*b* space
1.7.3 Limitations of CIELAB and CIELUV spaces
1.7.4 Alternative color difference formulae
1.8 Limitations of CIE colorimetry
1.9 Psychophysics of color
1.9.1 Chromatic adaptation and color constancy
1.9.2 Opponent processes theory and color appearance models
1.10 Spatial characteristics of color vision
1.11 Color image reproduction and recording devices
1.11.1 Color output systems
1.11.1.1 Cathode ray tubes
1.11.1.2 LCD displays
1.11.1.3 Contone printers
1.11.1.4 Halftone printers
1.11.1.5 Recent advances in color displays and printing
1.11.2 Image characteristics
1.11.3 Computer-generated imager
1.11.4 Color recording systems
1.11.4.1 Spectroradiometers and spectrophotometers
1.11.4.2 Colorimeters and photometers
1.11.4.3 Photographic .lm-based recording schemes
1.11.4.4 Digital dolor cameras and scanners
1.11.5 Multispectral recording and reproduction systems
1.11.5.1 Principal-component recording
1.11.6 Quantization and coding
1.11.7 Device color spaces
1.12 Color management and calibration
1.12.1 Calibration and pro.les
1.12.1.1 Input device calibration
1.12.1.2 Output device calibration
1.12.1.3 Device pro.les
1.12.2 Color management systems
1.12.3 Gamut mapping
1.12.4 Appearance matching
1.13 Summary
Acknowledgments
References
Ch2 Visual Psychophysics & Color Appearance
2.1 Introduction
2.2 Terminology
2.2.1 Color
2.2.2 Related and unrelated colors
2.2.3 Hue
2.2.4 Brightness and lightness
2.2.5 Colorfulness and chroma
2.2.6 Saturation
2.2.7 Digital color reproduction: brightness–colorfulness or lightness – chroma
2.3 Visual psychophysics
2.3.1 De.nition of psychophysics
2.3.2 Psychophysical techniques
2.3.3 Hierarchy of scales
2.3.4 Threshold and scaling: a historical perspective on Weber, Fechner, and Stevens
2.3.5 Psychophysical methods: threshold techniques
2.3.5.1 Method of adjustment
2.3.5.2 Method of limits
2.3.5.3 Method of constant stimuli
2.3.5.4 Matching techniques
2.3.6 Psychophysical methods: scaling techniques
2.4 Viewing condition terminology
2.4.1 Stimulus
2.4.2 Proximal .eld
2.4.3 Background
2.4.4 Surround
2.4.5 Modes of viewing
2.5 Color appearance phenomena
2.5.1 Spatially structured phenomena
2.5.2 Luminance phenomena
2.5.3 Hue phenomena
2.5.4 Surround phenomena
2.5.5 Color constancy and discounting the illuminant
2.6 Chromatic adaptation
2.6.1 Light and dark adaptation
2.6.2 Chromatic adaptation
2.6.3 Chromatic adaptation models
2.6.4 von Kries model
2.6.5 von Kries transform
2.6.6 Nayatani’s model
2.6.7 Fairchild model
2.6.8 Spectrally sharpened chromatic adaptation models
2.7 Color appearance models
2.7.1 CIELAB as a color appearance model
2.7.2 The genesis of color appearance models
2.7.3 CIECAM97s
2.7.3.1 Chromatic adaptation
2.7.3.2 Appearance correlates
2.7.3.3 Using the model
2.7.4 Future directions
References
Ch3 Physical Models for Color Prediction
3.1 Introduction
3.2 A few results from radiometry
3.3 Reflection and refraction
3.3.1 Basic laws
3.3.2 Interface reflection under diffuse light
3.4 Light absorption
3.5 Light scattering
3.5.1 Rayleigh scattering
3.5.2 Mie scattering
3.5.3 Multiple scattering
3.6 Phenomenological models
3.6.1 Radiative transfer
3.6.2 Kubelka-Munk model (two-flux model)
3.6.3 Surface phenomena and Saunderson correction
3.6.4 Multichannel model
3.7 The fluorescence phenomenon
3.7.1 Fluorescence: transparent layer
3.7.2 From a one-flux to a two-flux model for a reflective substrate
3.7.3 Spectral prediction for reflective fluorescent material
3.7.4 Measuring the parameters of the fluorescence model
3.8 Models for halftoned samples
3.8.1 The Murray-Davis equation
3.8.2 The classical Neugebauer theory
3.8.3 Extended Neugebauer theory
3.8.4 The Yule-Nielsen equation
3.8.5 The Clapper-Yule equation
3.8.6 Advanced models
3.8.7 The Monte-Carlo method
3.9 New mathematical framework for color prediction of halftones
3.9.1 Some particular cases of interest
3.9.2 Computing the area fractions and the scattering probabilities
3.10 Concluding remarks
References
Ch4 Color Management for Digital Imaging Systems
4.1 Introduction
4.2 Color management paradigms
4.3 Digital color encoding
4.4 Color encoding methods
4.5 Image states
4.6 Standard image-state color encoding specifications
4.6.1 Criteria for selection of RIMM/ROMM RGB color encoding specifications
4.6.2 ROMM RGB color encoding specification
4.6.2.1 ROMM RGB conversion matrix
4.6.2.2 Nonlinear encoding of ROMM RGB
4.6.3 RIMM RGB color encoding specification
4.6.3.1 RIMM RGB conversion matrix
4.6.3.2 Nonlinear encoding of RIMM RGB
4.6.4 ERIMM RGB color encoding specification
4.6.4.1 Nonlinear encoding for ERIMM RGB
4.7 Image states in a color managed architecture
4.8 Digital color management with JPEG 2000
4.9 Summary
References
Ch5 Device Characterization
5.1 Introduction
5.2 Basic concepts
5.2.1 Device calibration
5.2.2 Device characterization
5.2.3 Input device calibration and characterization
5.2.4 Output device calibration and characterization
5.3 Characterization targets and measurement techniques
5.3.1 Color target design
5.3.2 Color measurement techniques
5.3.2.1 Visual approaches
5.3.2.2 Instrument-based approaches
5.3.3 Absolute and relative colorimetry
5.4 Multidimensional data fitting and interpolation
5.4.1 Linear least-squares regression
5.4.2 Weighted least-squares regression
5.4.3 Polynomial regression
5.4.4 Distance-weighted techniques
5.4.4.1 Shepard's interpolation
5.4.4.2 Local linear regression
5.4.5 Lattice-based interpolation
5.4.6 Sequential interpolation
5.4.7 Neural networks
5.4.8 Spline fitting
5.5 Metrics for evaluating device characterization
5.6 Scanners
5.6.1 Calibration
5.6.2 Model-based characterization
5.6.3 Empirical characterization
5.7 Digital still cameras
5.7.1 Calibration
5.7.2 Model-based characterization
5.7.3 Empirical characterization
5.7.4 White-point estimation and chromatic adaptation transform
5.8 CRT displays
5.8.1 Calibration
5.8.2 Characterization
5.8.3 Visual techniques
5.9 Liquid crystal displays
5.9.1 Calibration
5.9.2 Characterization
5.10 Printers
5.10.1 Calibration
5.10.1.1 Channel-independent calibration
5.10.1.2 Gray-balanced calibration
5.10.2 Model-based printer characterization
5.10.2.1 Beer-Bouguer model
5.10.2.2 Kubelka-Munk model
5.10.2.3 Neugebauer model
5.10.3 Empirical techniques for forward characterization
5.10.3.1 Lattice-based techniques
5.10.3.2 Sequential interpolation
5.10.3.3 Other empirical approaches
5.10.4 Hybrid approaches
5.10.5 Deriving the inverse characterization function
5.10.5.1 CMY printers
5.10.5.2 CMYK printers
5.10.6 Scanner-based printer characterization
5.10.7 Hi-fidelity color printing
5.10.7.1 Forward characterization
5.10.7.2 Inverse characterization
5.10.8 Projection transparency printing
5.11 Characterization for multispectral imaging
5.12 Device emulation and proofing
5.13 Commercial packages
5.14 Conclusions
Acknowledgment
References
Appendix 5.A
Least-squares optimization
Appendix 5.B
Derivation of 3x3 matrix from display RGB to XYZ given white point and chromaticities of the primaries
Ch6 Digital Color Halftones
6.1 Introduction
6.1.1 History of halftoning
6.2 Digital color halftones
6.2.1 Halftone structure
6.2.2 Threshold array halftone algorithms
6.2.3 Spatially adaptive halftone algorithms
6.2.4 Trade-offs and color halftoning issues
6.3 Halftone selection
6.3.1 Noting the printer's special characteristics
6.3.2 Decisions involved in choosing halftone structure
6.3.3 Choosing frequencies, stochastic, cluster, error diffusion
6.3.4 UCR/GCR strategy: minimum or maximum
6.3.5 Choosing family of angles
6.4 Clustered halftone screen design
6.4.1 Implementation
6.4.2 Spot functions, threshold arrays, table look-up
6.4.3 Partial dots
6.4.4 Dot growth
6.4.5 Angled screens (Holladay)
6.4.6 Rational tangent screens
6.4.7 Supercells and accurate screens
6.4.7.1 Multi-center screens
6.4.8 High addressability
6.4.9 Halftone grid relationships
6.4.10 Practical design considerations
6.4.10.1 Periphery is the noise source
6.4.10.2 Dot-center migration
6.4.10.3 Dot cell boundary
6.4.10.4 Dot growth considerations
6.4.10.5 Dot gain
6.4.10.6 Dot calibration considerations
6.4.10.7 Dot frequency
6.4.10.8 Dot levels
6.4.10.9 Screen angle
6.4.10.10 Visual trade-offs
6.4.10.11 Dot shape
6.4.10.12 Where the dots touch
6.4.10.13 Data precision and file size
6.4.11 Angle family
6.4.12 Moirª considerations
6.4.12.1 Two-color moirª
6.4.12.2 Three-color and four-color moirª
6.4.12.3 Auto-moirª
6.4.13 Calibration
6.4.13.1 Screen threshold assignments
6.4.13.2 Individual screen calibration
6.4.13.3 Neutral calibration
6.4.13.4 Color characterization
6.4.13.5 Printer models
6.5 Halftone effect on color gamut
6.5.1 Orientations
6.5.1.1 Dot-on-dot
6.5.1.2 Dot-off-dot
6.5.1.3 Rotated dots
6.5.1.4 Stochastic dots
6.5.2 Model predictions
6.5.2.1 Sensitivity to registration
6.5.2.2 Tone step uniformity
6.5.2.3 Sensitivity to moirª
6.5.3 Recommendations
6.6 Moire
6.6.1 Rosettes
6.6.2 Dot center phase
6.6.3 Two-color moire
6.6.4 Three-color moire
6.7 Nonorthogonal halftone screens
6.7.1 Introduction
6.7.2 Dual representation of nonorthogonal screens
6.7.3 Moire-free conditions
6.7.4 Searching for moire-free solutions
6.7.5 An example of moire-free nonorthogonal screens
6.8 FM halftoning methods
6.8.1 Introduction
6.8.2 Error diffusion algorithm
6.8.3 Error diffusion equations
6.8.4 Spectral analysis of error diffusion
6.8.5 Error image and edge enhancement
6.8.6 Color error diffusion
6.8.7 Vector error diffusion
6.8.8 Semi-vector error diffusion
6.8.9 Stochastic screens
6.9 Calibration
6.9.1 Introduction
6.9.2 Dot overlapping
6.9.3 Two-by-two centering concept
6.9.4 Neugebauer equations and YuleÒNielsen modification
6.9.5 Calibrating 2
6.9.6 Halftone printer characterization
6.9.7 Feedback using a 2
References
Recommended readings
Ch7 Human Visual Model-Based Color Halftoning
7.1 Introduction
7.2 Color hardcopy models
7.3 Color human visual system models
7.4 HVS model-based iterative color halftoning algorithms
7.4.1 Preliminaries
7.4.2 Color direct binary search
7.4.3 Two-by-two centering-based CDBS
7.4.4 Iterative RGB
7.5 HVS-model-based color error diffusion
7.6 HVS-based clustered-dot color screen design
7.6.1 Preliminaries
7.6.1.1 Lattices
7.6.1.2 Periodicity matrix
7.6.2 Clustered-dot color screen design
7.6.2.1 Discrete parameter halftone cell
7.6.2.2 Macrodot shape and growth
7.6.2.3 Representing a nonrectangular halftone cell by a rectangular region
7.6.3 Printer and perceptual model and error metrics
7.6.3.1 Color device model
7.6.3.2 Error metrics
7.6.4 Optimization
7.6.5 Experimental results
7.7 Summary and conclusions
References
Ch8 Compression of Color Images
8.1 Compression basics
8.2 Compression models
8.2.1 Transform coding
8.2.2 Predictive coding
8.2.3 Rate-distortion trade-off
8.2.4 Distortion measure
8.3 Standard image coders
8.4 Multidimensional color model and transforms
8.5 Color transforms
8.6 Compressing RGB images
8.7 Compressing CMYK images
8.8 Summary
References
Ch9 Color Quantization
9.1 Introduction
9.2 Image independent quantization methods
9.3 Preprocessing steps of image-dependent quantization methods
9.3.1 Prequantization
9.3.2 Histogram calculation
9.4 Clustering methods
9.4.1 3
9.4.2 Three-dimensional splitting methods
9.4.2.1 Splitting strategy
9.4.2.2 Cluster selection
9.4.2.3 Cutting axis
9.4.2.4 Cutting position
9.4.3 Grouping methods
9.4.3.1 The merge and box algorithm
9.4.3.2 The max-min algorithm
9.4.4 Merge methods
9.4.5 Popularity methods
9.5 Quantization algorithms based on weighted errors
9.6 Post-clustering methods
9.6.1 The LBG and k-means algorithms
9.6.2 The NeuQuant neural-net image quantization algorithm
9.6.3 The local K-means algorithm
9.7 Mapping methods
9.7.1 Improvements of the trivial inverse colormap method
9.7.2 Inverse colormap algorithms devoted to a specific quantization method
9.7.3 Inverse colormap operations using k Ò d trees
9.7.4 The locally sorted search algorithm
9.7.5 Inverse colormap operation using a three-dimensional Voronoë diagram
9.7.6 Inverse colormap operation by a two-dimensional Voronoë diagram
9.8 Dithering methods
9.8.1 Error diffusion methods
9.8.2 Ordered dither methods
9.8.3 Vector dither methods
9.8.4 Joint quantization and dithering methods
9.9 Conclusion and perspectives
References
Ch10 Gamut Mapping
10.1 Introduction
10.2 Preliminary issues
10.2.1 Reproduction intent
10.2.2 Original and reproduction data and intermediate color spaces
10.2.2.1 Original data
10.2.2.2 Intermediate color space
10.2.2.3 Reproduction data
10.3 Color gamuts
10.3.1 Implications of color gamut definition
10.3.2 Describing color gamut boundaries
10.3.2.1 Colors of image and media in example scenario
10.3.2.2 Methods for describing color gamut boundaries
10.3.2.3 Visualizing gamut boundaries
10.3.3 Line gamut boundary algorithms
10.3.4 The magnitude of gamut mismatch
10.3.4.1 Imaging medium gamuts
10.3.4.2 Gamut mismatch in example scenario
10.4 Gamut mapping algorithms
10.4.1 Gamut clipping
10.4.1.1 Minimum
E clipping algorithms
10.4.1.2 Other clipping algorithms
10.4.2 Simple gamut-compression algorithms
10.4.2.1 Simultaneous compression algorithms
10.4.2.2 Sequential compression algorithms
10.4.2.3 Choosing the original gamut
10.4.3 Composite gamut mapping algorithms
10.4.4 Other algorithms for mapping into a smaller gamut
10.4.4.1 Image-type specific GMAs
10.4.4.2 Spatial GMAs
10.4.5 Gamut expansion algorithms
10.5 Factors affecting gamut mapping algorithms
10.5.1 Media
10.5.2 Images
10.6 Summary
Acknowledgments
References
Ch11 Efficient Color Transformation Implementation
11.1 Introduction
11.2 Interpolation on regular lattices
11.2.1 Regular lattice structures
11.2.1.1 Lattice dimensions: power of two or one greater?
11.2.1.2 Anamorphic lattice structures
11.2.2 Two-dimensional interpolation geometries
11.2.3 Three-dimensional interpolation geometries
11.2.3.1 Trilinear interpolation
11.2.3.2 Prism interpolation
11.2.3.3 Pyramidal interpolation
11.2.3.4 Tetrahedral interpolation
11.3 Interpolation on irregular lattices
11.4 Acceleration techniques
11.4.1 Caching node values
11.4.2 Caching output values
11.4.3 Hashing
11.4.4 Precomputing fixed-point quantities
11.4.5 Eliminating multiplications
11.4.6 Eliminating tests
11.4.7 Data Formats
11.5 Color transforming palettized images
11.6 Subsampled color correction
11.6.1 Introduction
11.6.2 Results
11.7 Color transforming JPEG compressed images
11.7.1 Correcting for RGB devices
11.7.2 Correcting for CMYK Devices
11.7.3 Color correction in the JPEG compressed domain
11.7.4 Results
11.8 Color transforming multiresolution images
11.8.1 Wavelet representation
11.8.2 Combining multiresolution analysis and color correction
11.8.3 Results
11.9 Color transformations using multilevel chrominance halftoning
11.9.1 Introduction
11.9.2 Results
11.10 Conclusions
Acknowledgments
References
Ch12 Color Image Processing for Digital Cameras
12.1 Introduction
12.2 Digital camera architecture
12.2.1 Digital camera hardware
12.2.2 Color separation methods
12.2.3 Rendered camera processing
12.2.4 Unrendered camera processing
12.3 Color image sensors
12.3.1 Full-frame CCDs
12.3.2 Interline CCDs
12.3.3 CMOS image sensors
12.3.4 Color filter array patterns
12.3.5 Sensor spectral response
12.4 Color de-mosaicing in single-sensor cameras
12.5 Exposure and white balance determination
12.5.1 Exposure determination
12.5.2 Dynamic range
12.5.3 White balance determination
12.6 Tone scale/color processing
12.6.1 Capture colorimetry model
12.6.2 Tone scale/color rendering
12.6.3 Output model
12.6.4 Processing configurations
12.7 Noise reduction and sharpening
12.7.1 Noise reduction
12.7.2 Edge sharpening
12.7.3 Chroma subsampling
12.8 Image compression and file formats
12.8.1 Exif/JPEG image format
12.8.2 TIFF/EP image format
12.8.3 JPEG2000 image format
References