LUT
In computer science, a lookup table (LUT) is an array that replaces runtime computation with a simpler array indexing operation, in a process termed as direct addressing. The savings in processing time can be significant, because retrieving a value from memory is often faster than carrying out an “expensive” computation or input/output operation. The tables may be precalculated and stored in static program storage, calculated (or “pre-fetched”) as part of a program’s initialization phase (memoization), or even stored in hardware in application-specific platforms. Lookup tables are also used extensively to validate input values by matching against a list of valid (or invalid) items in an array and, in some programming languages, may include pointer functions (or offsets to labels) to process the matching input. FPGAs also make extensive use of reconfigurable, hardware-implemented, lookup tables to provide programmable hardware functionality.
3D lookup table
In the film and graphics industries, 3D lookup tables (3D LUTs) are used for color grading and for mapping one color space to another. They are commonly used to calculate preview colors for a monitor or digital projector of how an image will be reproduced on another display device, typically the final digitally projected image or release print of a movie. A 3D LUT is a 3D lattice of output RGB color values that can be indexed by sets of input RGB colour values. Each axis of the lattice represents one of the three input color components and the input color thus defines a point inside the lattice. Since the point may not be on a lattice point, the lattice values must be interpolated; most products use trilinear interpolation.
3D LUTs are used extensively in the movie production chain, as part of the Digital Intermediate process.
Cubes may be of various sizes and bit depths. Often 33×33×33 cubes are used as 3D LUTs.[citation needed] The most common practice is to use RGB 10-bit/component log images as the input to the 3D LUT. Output is usually[weasel words] RGB values that are to be placed unchanged into a display device’s buffer.
Modern graphics cards have direct support for 3D LUTs, allowing entire HD images to be processed at 60 fps or faster