top of page

Color Depth, Bit Per Channel (BPC)

Updated: Oct 2, 2022

In this article, we will cover the subject of Color Depth, Bit Per Channel (BPC), which is one of the first steps of color management.

Color Depth - Bit Per Channel (BPC)

The word bit is a combination of the words byte and digit. Each bit carries two possible values (color depending on our subject). 0 or 1.

2 bits can carry four possible values. 00, 01, 10, 11. Each of these values is different from the other. If we think of bits as an array, each bit we add to the array has twice the value of the previous one. The system proceeds exponentially.

2¹ = 2 shades

2² = 4 shades

2³ = 8 shades

2⁴ = 16 shades

2⁵ = 32 shades

2⁶ = 64 shades

2⁷ = 128 shades

2⁸ = 256 shades (8 bpc)

2¹⁶ = 65536 shades (16 bpc)

2³² = 4,294,967,296 shades (32 bpc)

We know that colors in digital reproduction consist of combinations of Red, Green and Blue called RGB. The numbers above are the values of each color channel.

If we are talking about 8-bit color depth in general, this means 256*256*256 = 16,777,216 colors in total.

16 bit = 65536*65536*65536 = 2.81 Trillion colors. Considering exponentiation, lets keep the 32 bpc away for a while.

Now let's take a look at how colors are digitally reproduced and how it looks. Computers recognize 3 basic colors. Red, green and blue. A computer can not recognize colors such as light red, lavender, lemon, khaki, sage etc.

At this point, another value emerges, which is a critical factor in the formation of such colors and every color tone, which creates these tones. Brightness or Luminance.

Dark or Bright, Black or White. Every value we see in the exponential numbers above is actually the Luminance value. So it is the number of tones between black and white. Luminance value is everything in digital. It's Gamma, it's Linear workflow, it's sRGB, it's Color Depth. Everything that controls colors depends on Luminance. That is, it is associated with shades between Black and White and the bias towards black or white.

The video above shows two main functions related to digital color rendering.

  • The first is that the primary colors are multiplied by the luminance value reveals their own tones.

  • The second is that at the middle of this process, the shaded primary colors are added to each other (additive) to reveal the intermediate colors.

  • Ultimately, adding all of them creates the white color, as we mentioned in our light, color article.

Based on these basics, let's see how the Hue Strip and Saturation/Brightness box, which are the two main parts of Hud Color Picker used in many graphic design software, are formed.

Standard Hud Color Picker. Right hand Hue Strip, left hand Saturation/Brighness box.

In the video on the left, two processes take place.

  • The first is that our main color and the horizontal luminance range are combined additively to give us the saturation values.

  • The second is the introducing brighness values by multiplying our saturated box with the vertical luminance range.

With this blend method, we can adjust the saturation and brightness of our color from a single box.

  • The video on the right hand shows us how the primary colors are overlapped and added to each other to form the intermediate colors, the Hue Strip.

16 BPC vs 32 BPC Floating Point

As we saw above, 16 bits carry around 2.81 trillion color tones. This means many times more color tones than our eyes can detect or the monitor can show.

We know that luminance range is 0-1. 0 black, 1 white. 16 bits can fit many more shades into this range than 8 bits. As a result, you gain more flexibility and rich color tones in post processing operations.Another important point is that you can reduce the banding effect that occurs in the transition between color tones that are close to each other. Let's see the difference between shades of gray with a ramp:

As you see 16bpc has enough shades to minimize banding effect. Now, you may think why do we need 32bpc?

We have just seen that the Luminance value range is 0 - 1 and the shades are fit between these two values. 32 bit allows us to exceed that brightest 1 reference point. In real life, you can't limit the brightness to 1, the brightness of the sun may change according to its position, you can see this when you save an HDR file and read the values.

Lets see it in application.

A circle in After FX in 16bpc with RGB values of 10!

At the left hand the Color Picker RGB = 10. Means brighness value is 10. In the other hand when we read the value in info channel we can clearly see that overall brightness is clipped to the 1. This is the limit of 16bpc.

Same example with 32bpc:

Now we can read the output value in info channel as 10!

So what is its practical use? The value of 1 is the limit of 16bpc as well as the brightness limit that the screen can show. That's why we can't see a difference between the two circles.

But things changes when we halve the brightness of these two circles:

16bpc. We cut the brightness of the circle in half with Curves Effect. As a result, the circle turns gray and the brightness decreases to 0.5 in the Info panel. Mind that, the RGB value we entered was not 1, but 10, but due to the 16bpc restriction, 10 become 1 and half of it was 0.5.

Again 32bpc:

Brightness input 10. Halved. The value we read in the info panel is 5!. The circle is still white. Because it contains 5 times the brightness of the maximum 1 value that the monitor can show. Naturally the monitor clips values above 1 to the 1, showing us the circle as white. In order to obtain the grayness of 16bpc in 32bpc, we need to decrease the brightness value to 5%, not 50%.

This is what we call High Dynamic Range (HDR).

Let's move forward with the Post FX:

Left is main scene with Luminance of 1. Glow effect added. This effect increases the Luminance values up to 10 at 32bpc while still 1 at 16bpc.

Middle; 16bpc. Added Radial Blur. Blur spreads out luminance values from 1, decreasing the maximum luminance up to 0.5. The overall brightness becomes too dim.

Right hand ; 32bpc. Blur decreased brightness from 10 to max 5. Since we still way above of value 1, scattering did not dimmed our overall brightness and we have strong, clear radial trails. We only see dimming at the very end of trails due to nature of effect. We could turn it around five times while still containing same brightness.

In our next topic, we will briefly see on color profiles such as Color Space and sRGB.

Stay safe.

97 views0 comments

Recent Posts

See All


bottom of page