ABSTRACT

A simple solution would be to precompute the transform for all possible digital inputs and store the corresponding outputs in a lookup table (LUT). Constructing such a LUT involves first defining a lattice of nodes that partition the input color space into a set of smaller subvolumes. An alternative is to build a LUT with a sparser node sampling and to use multidimensional interpolation for input points that do not coincide with the LUT nodes. Three-dimensional interpolation geometries include trilinear, prism, pyramidal, and tetrahedral, in order of decreasing numbers of nodes used. LUT interpolation involves a three-way trade-off among LUT approximation accuracy, storage and memory requirements, and computational complexity. The chapter describes the basic LUT transformation and variants thereof. It discusses algorithms for efficiently processing large amounts of image data through a LUT transformation. The desired color transformation is evaluated at these nodes, and the resulting output values are stored at the node locations.