Log in

View Full Version : Why we stuck in 24 bit?


doctor2k
21st October 2012, 11:19
Hi,

I noticed that since windows 3.1 we still have only 24 bit color depth of the desktop.
Nowadays where we have powerful CPUs this shouldn't be a problem to increase colour depth to 48bit (16 bit for each channel). Then a HDR, 10 bit movies make a sense.

In audio world we reach a maximum quality now its time for video.

So I don't understood why developers didn't implemented this into hardware and software.

Atak_Snajpera
21st October 2012, 13:12
Nowadays where we have powerful CPUs this shouldn't be a problem to increase colour depth to 48bit (16 bit for each channel). Then a HDR, 10 bit movies make a sense.
Most of LCD displays do not even show full 24bit (8bit per channel). They in most cases fool your eyes by using dithering technique. Movies on Blu-Ray/DVD for example use YV12 color space which is sometimes described as 12bit mode (4096 unique colors)

Bloax
21st October 2012, 13:35
Ah, that explains this itsy bitsy noisy flickering I see on my display. Off-topic thanks!

Rumbah
21st October 2012, 13:49
Well, for audio you only need more than 44khz/16bit in the processing pipeline. For the final mastering for playback you can resample and dither it to 44khz/16bit without any audible difference.

I guess it's the same for video. In the processing pipeline you can use 16bit per channel like Photoshop and some games do and then map it down to 8bit per color without a visible difference.

And yes, some monitors only use 6bit per channel and dither the rest and it's hardly noticable.

But that YV12 only uses 4096 colors is wrong. It supports fully 24 bit colors (full range) but not every color combination in one 2x2 pixel block (you get it down to 12 bit per pixel by lowering the resolution not the color palette).

J_Darnley
22nd October 2012, 20:02
First we should do away with the tv range nonsense! That'll give you 50% more colours with no real change needed.

Filker
24th October 2012, 00:51
Hi,

I noticed that since windows 3.1 we still have only 24 bit color depth of the desktop.
Nowadays where we have powerful CPUs this shouldn't be a problem to increase colour depth to 48bit (16 bit for each channel). Then a HDR, 10 bit movies make a sense.

In audio world we reach a maximum quality now its time for video.

So I don't understood why developers didn't implemented this into hardware and software.

I've been able to set my video cards to 32 bit color since last century at least :)
Is it not true 32bit?

Asmodian
24th October 2012, 02:59
Well 32 isn't divisible by three (R, G, B). From Wikipedia (http://en.wikipedia.org/wiki/Color_depth) "As of 2012 many modern desktop systems (Mac OS X, GNOME, KDE, Windows XP/Vista/7, etc...) offer an option for 24-bit truecolor with 8 bits for an alpha channel"

kurkosdr
24th October 2012, 14:50
Because the Bluray format everyone considers "the best", and every company builts their chips for standalone players around uses 24bit? (and every publsher publishing in Bluray is forced to use 24bit?) It's the same reason why there are no releases featuring 1080p@48p/50p/60p. Bluray doesn't support it and everyone builds their chips around Bluray and every major publisher publishes in Bluray.

MPEG4 AVC has no problems with 30bit (aka 10bit per R, G, B) color. And if you come around a MPEG4 AVC video with 30bit color, you can easlily play it with some software player. Just don't expect any major releases in 30bit color soon.

turab
24th October 2012, 18:02
Well, for audio you only need more than 44khz/16bit in the processing pipeline. For the final mastering for playback you can resample and dither it to 44khz/16bit without any audible difference.

While in theory there shouldn't be any audible difference when downsampling to 44 kHz/16 bits, a lot of people (namely audiophiles) claim there is, and I have to wonder whether they're all imagining it. Perhaps it comes down to the DAC?

But I digress.

Blue_MiSfit
26th October 2012, 06:33
There's a lot of confusion here about what 24 bit, 8 bit, 10 bit, 32 bit etc all mean in the context of image bit depth.

24 bit color depth usually means the RGB color model, implemented in the sRGB color space. This means we have 3 color components - red, green, and blue. Each pixel is defined by an 8 bit value for each of these color channels, for a total of 24 bits per pixel. When people say 24 bit color, they're usually talking about this.

32 bit color depth usually means the same as 24 bit, except adding an alpha channel with 8 bits per pixel - thus the total of 32 bits per pixel.

Now, when we start talking about 8 bit versus 10 bit, that's usually specific to the number of bits per component (not per pixel). So, "8 bit" usually means 8 bits per component, for 24 bits per pixel. "10 bit" usually means 10 bits per component, for 30 bits per pixel. It's also common (in Photoshop land and similar) to use 16 bits per channel, or even as many as 32 bits per channel, though the latter is basically only used for storing high dynamic range (HDR) data.

Regarding YV12, I think it's a mischaracterization to call it "12 bit". It's not really, the 3 components (Y, U, and V) each get 8 bits per pixel. The only difference is that because of the 4:2:0 subsampling inherent to YV12, the U and V components get stored at 1/4 resolution, so 4 pixels share U and V values.

LigH
26th October 2012, 06:59
... YV12 color space which is sometimes described as 12bit mode (4096 unique colors)

A horribly misleading description!

The "12 bit" are an average over the 2x2 pixel cell covered by the 4:2:0 chroma subsampling: (4*Y + 1*U + 1*V) * 8 bit/channel / 4 pixels = 12 bit/pixel as an average over 4 pixels.

Indeed, the chrominance of several pixels will be interpolated, and the conversion between YUV and RGB will have rounding steps, so the result will not cover the whole RGB24 color space; but there will be a lot more than just 4096 colors.

A comparison of YV12 to "Hi-color" desktop modes (R5G5B5 or R5G6B5 with 16 bit RGB pixels) makes no sense. All of the 8 bits of the R8G8B8 space will be required when converting YV12 to RGB24.

And the "8 bit alpha channel" is an explanation for bitmap images, where several layers can be stacked and build up a final color by calculating a sum or difference or product weighted by an opacity factor. The monitor itself has no transparency, of course, so each fourth byte in a 32-bit addressed R8G8B8 desktop color mode will be unused in the video memory, regarding the display on a screen. It is just stuffing for faster memory addressing.
-

This was a boobytrap for users of grub-customizer: You could select higher resolutions for the GRUB boot menu, but the video driver reported only the used 24 bit; the video card's VESA BIOS instead used 32 bit addressing. Result: Selected higher modes (e.g. 1024x768x24) failed until you manually edited them to 32 bit (1024x768x32).

Keiyakusha
26th October 2012, 07:02
I don't think we "stuck" anywhere. Its just extra bitness not really helpful if we talking about displaying it for real and not about internal calculations. Even if computer hardware supports it, we still need to upgrade human hardware, such as eyes, to really benefit from it.
Win7 technically supports 48bit (16bit per component rgb). Photoshop, assuming you have sufficient hardware, can output for display 30bit color (10bit per component RGB) (internally it can work with 32bit per component HDR of course)

LigH
26th October 2012, 07:19
The higher component resolution supported by file formats (e.g. x264 supporting AVC with 10-bit-per-channel, graphic formats supporting layers with 16-bit-per-channel) is probably mainly a pre-compensation for a possible future loss (by compression or further editing).

A well calibrated monitor will hardly reveal obvious steps in R8G8B8 mode. But many monitors today are not well-calibrated. They don't have a linear gamma curve. Especially cheap TFT monitors are so overbright that you can easily tell apart the darkest colors. It is annoying how much current PC games are already optimized for such bad monitors. I already know games which provide pixel shader effects to add faint noise to dark colors to increase fidelity in dark scenes (just like "noise shaping" for quiet audio).