Algorithms for color look-up-table (LUT) design via joint optimization of node locations and output values
Real-time processing constraints entail that non-linear color transforms be implemented using multi-dimensional look-up-tables (LUT). Further, relatively sparse LUTs (with efficient interpolation) are employed in practice because of storage and memory constraints. Much research has been devoted towards optimizing “nodes” (or equivalently partitioning the input color space) of this color LUT based on the curvature of the color transform to be processed through the LUT. Likewise, for a given LUT structure, the optimization of transform output values has been suggested so as to minimize interpolation error in an expected sense even if the values stored in the LUT do not agree with true transform output values. This paper presents a principled algorithmic approach to combine the merits of these two complementary techniques. The error (cost) function does not exhibit joint convexity over the multidimensional variable sets of node locations and corresponding output values which makes this optimization particularly challenging. The paper makes two significant contributions: 1.) for the case of simplex interpolation, a cost function is formulated that exhibits separable convexity in its arguments and enables an efficient alternating convex optimization algorithm, and 2.) in the aforementioned framework, for fixed node outputs, the optimization of node locations is split into a primary and an auxiliary optimization, which greatly improves the quality of the solution over traditional alternatives where node locations are directly optimized. Preliminary experiments show remarkable improvements in color transform accuracy over what is obtained by individually optimizing just the node locations or output values.