1. A computer program product, tangibly embodied in an information carrier, consisting of instructions operable to cause data processing apparatus to: receive an input value representing a color having n color components; receive a color lookup table organized as an n-dimensional lattice, where n is the number of input channels in the color lookup table, each entry in the color lookup table being a vertex in the lattice, the color lookup table having 2 n adjacent lattice points that form an n-dimensional cube around the input value, the color lookup table defining an output color value at each lattice point, and the color lookup table having a spacing between lattice points for each dimension, the spacing for the k-th dimension being the distance between entries in the color lookup table that are adjacent lattice points in the k-th dimension and have identical lattice coordinates in all other dimensions; use the spacings to calculate the addresses in the color lookup table of n vertices that define an enclosing hedron that encloses the input value, the other vertex that defines the enclosing hedron being the cube vertex with the lowest values in all input channels, which is called the starting vertex, each vertex of the enclosing hedron being a vertex of the n-dimensional cube in the color lookup table; and use the enclosing hedron to calculate an output value from the input value.