Direct conversion from YCbCr to CIE L * a * b *
I would like to convert the pixel value in YUV (YCbCr) to the CIE L * a * b * color space. Should I go through RGB and CIEXYZ color space or does anyone know the formula for direct conversion?
You need to go through every step. YCbCr is often encoded over the video range (16-235 / 240 for 8 bits) and needs to be converted to XYZ using a specific definition of RGB video space (i.e. Rec709 for High Def) that includes canceling non-channel-RGB linearity, and then multiplying by the primary matrix RGB-> XYZ. Then you need to put a white point (usually D65, that is, in the definition of RGB space), apply another nonlinearity, and then another matrix to create L * a * b *. I doubt that much efficiency can be achieved by combining it all into one transformation.