Colour From Grey by Optimized Colour Ordering

What is the minimum amount of information we must transmit along with greyscale values in order to recover a colour original from a grey image? The problem of colour quantization is one of long standing with, for example, a GIF file consisting of single-byte grey values (appropriately compressed using entropy coding) plus a 256×3 colour lookup table in the file header. That lookup table can be generated in various ways (e.g., the standard median-cut algorithm). Here we take the viewpoint that we can generate greyscale values from an input, coder-side, colour image by traversing colour values in a particular order. In forming a grey value, we seek to replace an entire colour plane, orthogonal to the L∗ in CIELAB colour space, by its grey value, and then reconstitute colour by visiting the byte-value L∗ greylevels using a path in 3 dimensions such that the order of colour forms a parametric curve from grey plane to grey plane that traverses a rich sampling of colour space while optimally encompassing the gamut of the input image. In that way, we merely have to transmit the parameters for the curve itself along with the grey values in order to recover an approximation of colour. In particular, here we use a curve such that we need to transmit an additional 13 values only. Moreover we can use n-bit grey values with n< 8 for colour-reduced transmission to mobile devices. We find that we do better than the standard GIF file method in terms of CIELAB error for grey and comparably in recovered colour error, and with much less information transmitted. The method rests on an optimization is which grey is selected from nearby colour planes such that the overall grey error is minimized whilst also minimizing the colour error.