Again guys, can any of you say for sure what Photoshops internal numerical representation is for LAB color?

My understanding is it should be floating point, not integer.

When we commonly talk about RGB & CMYK images we are talking about Integer representations.

RGB = 3 x 8 or 16 bit *integers* to describe each of the 3 channels

CMYK = 3 x 32-bit *integers* to describe each of the 4 channels

LAB = 3 x 32-bit or 64-bit *floating point* numbers to represent each of the 3 channels.

Floating point representations represent orders of magnitude more data with more precision then integer representations.

e.x. the single precision floating point # represents 10^-127 to 10^127 with 23 bits of fractional precision.

The whole reason you get color errors, posterization, etc.. when working with values as integers is any mathematical formula performed on a # which involves multiplication of an integer by a fractional # or division of any type has to round up or down to the nearest integer to store the result.

You will NOT have rounding errors and other issues which cause color issues for lab mode calculations if it is indeed using floating point.

Color spaces define a mapping from an integer which represents a small # of values onto the infinite # of colors out there. There is a finite # of values that can be represented and each color space/gamut defines which ones are "in" or "out" for that gamut. With floating point representation you are working on "absolute" color, there is no need to choose which colors are "in" and "out" as you can represent them all.

The only reason gamuts & color spaces would have any meaning at all in LAB color is the monitor and printer cannot display absolute color, so anything drawn on the screen has to be converted back to integer-based RGB & given a color space so it can be drawn by the graphics device. But for the internal calculations done to implement curves, levels, etc.. on LAB data, you will have no loss as there is no need to round any of the numbers. They will only be rounded when they have to be converted back to RGB and this should be possible with minimal errors assuming you have not created colors outside of the color space.

Now if Photoshop is actually using integers internally to represent LAB colors, which makes no sense, and I highly doubt it is, then it would of course be full of huge errors and rounding problems, as the mathematical formulas simply for converting from RGB -> LAB involve multiplying the RGB colors by a series of fractional decimal values!