4
\$\begingroup\$

Most of time when I open any images to Photoshop, it shows 8bit RGB format, but I have also seen 16bit RGB.

As a trial, I copied one image and pasted it into a 16bit RGB blank image, but I didn't get much of an idea about what is different.

What is actually the difference between 8bit and 16bit? Which one is good to use?

\$\endgroup\$
2

5 Answers 5

5
\$\begingroup\$

The number of bits tells how many values are possible per color component. This specifies bit-depth as BPC (bits-per-component) which is what Photoshop uses. Windows on the other hand uses BPP (bits-per-pixel) which is why you will see 24-bit colors which is the same since there are 3 color-components: Red, Green and Blue.

An 8bit file therefore allows 256 different levels on the Red axis, 256 on the Green and 256 on the blue axis, since 2 to the power of 8 is 256. So, when you multiply these out you get 16,77.216 possible colors within the color-space of the file (Most times sRGB or AdobeRGB).

A 16-bit file works the same way except that each component can have one of 65,536 values. So, each pixels get 48-bits which gives 28,147,497,6710,656 (roughly 28 trillion) possible values within the color-space. While this is much more precise, it does not allow you to represent colors outside of the color-space, only more variations within.

When you paste an 8-bit image into a 16-bit image nothing immediately changes because your source image is 8-bits so it only specifies colors among 16 millions of the possible 28 trillion colors in a 16-bit file. This is why you do not see any difference. Imagine you have a 16 megapixels 8-bit image with all possible 16 million colors. Should you paste it into a 16-bit file, the 16-bit file will only use 16M of its possible 28T colors.

Now if you were to start manipulating that image, distorting, applying filters, etc, the result would be slightly different than had you applied the same changes to an 8-bit image since the calculations to compute the effects of manipulation would be done with greater precision.

While the precision is twice is much, you really start seeing the difference after a lot of manipulation. Your screen is actually hiding most of the difference since the vast majority of displays only support 8-bit color, some do 10-bits but that is it. All the extra bits are there to improve calculations but they are no readily visible due to limitations of computer screens.

\$\endgroup\$
2
  • \$\begingroup\$ Bottom line, 16 bits prevent some posterization artefacts from occuring after sensitive editing technics (exposure increase, gamma manipulation). It's overkill in most cases but gives you more room in critical ones. \$\endgroup\$ Jun 19, 2017 at 1:10
  • \$\begingroup\$ @Aurélien Pierre only if you really have the extra information. \$\endgroup\$
    – Rafael
    Jun 21, 2017 at 19:16
3
\$\begingroup\$

8bit RGB means that you have 8 bits to represent each of the colour channels (Red, Green, and Blue). 8 bits can encode 256 different states, so you can have 256 different shades of each of the three colours or 256^3 = 16.777.216 colours overall.

16bit RGB uses 16 bit to encode each channel, so you have 65.536 shades of each colour.

Note that you don't get any colours outside of the range you had with 8 bit encoding (the range is defined by the colour space), you just have finer gradations.

Working in high bit depth can help to avoid banding/posterization artefacts when you make contrast adjustments.

Usually, cameras record their RAW data in 12 or 14 bit depth, to preserve that, you have to work in the next higher your editor provides, which will be 16 bit. Once the adjustments are done, exporting to 8 bit for viewing is fine, as not a lot of viewing conditions will even allow to differentiate between finer details.

\$\endgroup\$
2
\$\begingroup\$

The basic idea is what I posted on another question:

What's the point of capturing 14 bit images and editing on 8 bit monitors?

But here are the bad news. If you copy and paste an 8 bit image into a 16 bit file you do not get any improvement. You have the same gap between each level. (E)

If you try to correct exposition, or brightness you will still have the same posterization issues. (F)

If you start with an 8 bit file and convert it to 16 bits you will only get the improvements if you use some techniques that include for example Smudge. This will start to smudging the intermediate levels. (G)

enter image description here

The other bad news is that you will loose this intermediate levels when you export to an 8 bit image again, like a JPG.

You could make use of it if you, for example, correct the exposure and then use some techniques to smudge the big gap created with the initial correction or similar cases.


So the basic usage of a 16 bit image is when you have more levels from start. Normally a RAW image from a camera.

A program that makes RAW to JPG images, like Lightroom take advantages of this extra information before saving and converting to 8 bit images.

But if you want to make those types of adjustments after some extra manipulation using Photoshop, you can convert the image from 14 bits to 16 bits, and make those extreme adjustments with this extra levels of information.

\$\endgroup\$
2
\$\begingroup\$

Two important things that the other answers seem to be missing:

  • The 14-bit values in a raw file are monochromatic luminance values for each sensel (pixel well) on the sensor. These values that describe only the total brightness of all wavelengths of light detected by the sensel are not equivalent to a 14-bit color channel value that would be directly comparable to an 8-bit or 16-bit value for each of three color channels per pixel. When converted to RGB via demosaicing each pixel is assigned an 8-bit or 16-bit value for each of the three color channels. This means that each pixel requires 24-bits or 48-bits to express the combined color of that pixel.
  • Even when working in 16-bit per channel color, what you see on your monitor as you work with it is almost certainly an 8-bit representation of the image that is maintained internally with 16-bit gradations of color. The overwhelming majority of monitors on the market are only capable of 8-bits per channel/24-bit color. There are a few 10-bit capable monitors that are becoming more ubiquitous among imaging professionals, but as far as I am aware there is no commercially available mass produced color monitor capable of directly displaying a 16-bit per channel color image.
\$\endgroup\$
-2
\$\begingroup\$

As you know, the language of the computer is binary math. Binary means “two” (2). The computer uses a communications scheme to transmit all information using only two symbols. This is likely a takeoff of Morse Code of the telegraph era, the Morse Code transmitted a long (dash) and short (dot) tone. SOS (save our ship) is three dots, three dashes, three dots. Using just two symbols entire newspapers can be sent by wire, place to place.

The computer uses a zero (0) and one (1) scheme. This actually refers to a pulse of voltage being transmitted. A zero is a low voltage. A one is raised voltage. These signals are transmitted individually at high speed. We talk about this as sending a series of numbers. The word “digit” is Latin for finger or toe, we count on our fingers. Using a two digit code, very fast, a paint-by-numbers image is transmitted as well as all words, numbers and symbols.

The binary signal, a single digit is called “nibble”. These are sent, four nibbles in succession. The four are called a byte. Two bytes, eight bits are transmitted one after the other. Eight such nibbles or 2 bytes are able to transmit 256 different values. In digital imaging, the picture is fractured into tiny picture elements called pixels. These are the smallest things we can use to send intelligent parts of an image. Using eight bits, the computer can assign 256 shades of gray to a pixel. In color, we can break the pixel into sub-pixels. One for each of the three primary colors and transmit 256 different intensities for red, green and blue (light additive primary colors).

Now 8 bit can transmit 256 different intensities of color information. If this is not enough, then the scheme can be changed to transmit two bytes to characterize the intensity of the colors that make up a pixel. Using 16 bits, the data transmitted can now transmit 65,536 intensities called :Hi-Color”.

\$\endgroup\$
5
  • 1
    \$\begingroup\$ Actually, morse code has three symbols: dot, dash, and pause. \$\endgroup\$
    – ths
    Jun 16, 2017 at 16:06
  • 2
    \$\begingroup\$ Binary is used because transistors have two states, on/off, it has nothing to do with Morse code. The smallest unit (or digit) is a bit, which represents a 1 or 0 (or on/off), 4 bits is a nibble and 8 bits is a byte. A byte is the basic unit of measure for all things digital. \$\endgroup\$
    – Robin
    Jun 16, 2017 at 17:54
  • \$\begingroup\$ Transistor states and on-off codes for telegraph aren't that unrelated. Baudot code — used for teleprinters — was a 5-bit code that is a direct ancestor to 7-bit ASCII. Unlike Morse code, there are equal-length characters, so no need for a pause. \$\endgroup\$
    – mattdm
    Jun 16, 2017 at 19:13
  • \$\begingroup\$ The modern binary computer code stems from a seven-bit telepinter code developed by Bell Telephone & Telegraph. Known as ASCII (formally ASA) now American National Standards Institute. This code allowed transmission of 128 symbols via a 7 bit binary code system. The year was 1960. \$\endgroup\$ Jun 16, 2017 at 20:56
  • \$\begingroup\$ Let's don't confuse signaling (i.e., on-off keying like in telegraphs, or amplitude modulation (AM), frequency modulation (FM), FSK, PAM, QAM, etc.) with encoding, which is what the signals mean. Morse code is an encoding, just like ASCII is an encoding. Both ASCII and Morse code are symbol encodings that are independent of signaling. \$\endgroup\$
    – scottbb
    Jun 18, 2017 at 16:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.