30 bit Picture output for PC

phenix said:
The point which is not discussed here is what are the possible impications of 30bit color on image quality. This quote clearly indicates that human visual system is capable of distinguishing more colors than 24bit color system can provide. Is there any truth in this?
Yes it is correct.

IIRC, the eye can see spot differences in intensity when the ratio of intensity is > 1.01. For the dynamic range of a typical monitor you apparently need about 9 or 10 bits** per channel.

(**Assuming a "gamma" encoding. You'd need more if you are using a linear encoding).


DeanoC said:
Draw the frame with one set of colour, then draw the second frame with another set of colours the eye will integrate the two colours and produce a third...

Great way of inducing sickness as an added bonus.
Given the refresh rates back then, it must have been hideous :?
 
It was kind of tolerable if you used two adjacent colours.

But Spectrum 512 and QP were more concerned with encoding the picture such that if you ran a humungous program in the background changing colours at very precise positions on the screen you could get all the 512 colours available onto screen at once.
 
Simon F said:
Dio said:
... and they were still all browns.
Do you mean Quake was originally indended for the Commodore 64?

Which is why MBX performs especially well on Quake 3: Arena.

You guys have a brown-specific rendering path.

Haha, I tell you... I bet you cannot render green with pink pois as fast as PSP (do not try pure blue on PSP as it takes three passes) :p.
 
Just curious. Would we be able to tell the difference?
I mean, Humus said he might try it on a new demo, but even then, what would the output look like? How can we discern 16 million colours from 1 billion? Sorry, too many questions...
 
london-boy said:
Just curious. Would we be able to tell the difference?
I mean, Humus said he might try it on a new demo, but even then, what would the output look like? How can we discern 16 million colours from 1 billion? Sorry, too many questions...
Well, it isn't that hard. For instance, near the end in Doom 3 they have a map where they use alot of fog. As far as I can see it is distance based fog. But with my gamma cranked up little higher than is possible ingame, I get horrible banding.
 
london-boy said:
Just curious. Would we be able to tell the difference?
I mean, Humus said he might try it on a new demo, but even then, what would the output look like? How can we discern 16 million colours from 1 billion? Sorry, too many questions...

It really depends on the type of scene. If it were a screen full of little swatches of every single color, probably a 16 M color screen wouldn't look any different than a 1 B color screen (if that even makes much sense, logistically).

However, if you are looking at a particular kind of scene that uses only a few colors (literally), and there are broad swathes of a shade that can only be represented by 2 adjacent color codes in a pallette, then it can become fairly discernible between a 16 M pallette and a 1 B pallette. This is more a matter of the fineness of steps within a color, rather than the brute number of available colors. Granted, the banding and splotching can be masked somewhat with more aggressive use of dither. However, such an approach can subsequentially lead to a "noisy" picture, which may not be a particularly desireable direction to go with digital-based video.

A 32-bit system would certainly hit at the heart of the issue, but ironically, it is a bit wasteful of resources (i.e, sloppy from an elegance viewpoint). In those particular scene scenarios where the fineness of step between adjacent color codes, a 32-bit pallette will most likely be indistinguishable. However, there are a billion other color codes being wasted at that moment, or any given moment.

I think the real elegant solution will be some kind of dynamically adaptive system that still sticks with the data consumption of a 24-bit system, but can intelligently reconstruct finer color shades (that would lay in between the conventionally available colors of a 24-bit pallette) on-the-fly as it is sent to your screen. So it would essentially be capable of applying snippettes of a 32-bit pallette locally, while only requiring the data structure of 24-bits globally. I guess you can think of it as AA in the color domain.
 
In all honesty, though, given the resolution of today's displays, straightforward spatial dithering would be much simpler and do just as good a job.
 
I don't know about you, but I thought one of the reasons we want to dispatch with analog video anything is because we want to see less noise in the picture. ;) Given that the banding and splotching occurs well within the typical contrast range of our eyesight, adding noise may successfully mask the transitions, but only replace it with the appearance of uniform video noise in the picture. I'd still keep pushing for the adaptive, "piecewise" 32-bit video, but that is just me. :p
 
randycat99 said:
I don't know about you, but I thought one of the reasons we want to dispatch with analog video anything is because we want to see less noise in the picture. ;) Given that the banding and splotching occurs well within the typical contrast range of our eyesight, adding noise may successfully mask the transitions, but only replace it with the appearance of uniform video noise in the picture. I'd still keep pushing for the adaptive, "piecewise" 32-bit video, but that is just me. :p

For a start, there's a difference between "noise" that we have deliberately introduced and noise that's present because of electrical components.

Anyway, when an image is quantised to N levels, you've already introduced an error, i.e. noise. With a slowly changing signal, that error appears as a low (spatial) frequency noise which the human visual system can see very easily. By using dithering/error diffusion, that error is moved into the high frequencies which aren't anywhere near as annoying.
 
I suppose if this HF noise is to occur at levels comparable to high refresh rates of the monitor, then it would not really be discerned as "noise" (or maybe I have confused the implementation of temporal noise with spatial noise?). I'm not really sure how it would apply. I guess I am having a problem imagining how it would mask banding artifacts w/o actually being visible in of itself. If this where something that could be made to interact while being "outside" of the visual range in of itself, I could imagine some sort of improvement. I just don't know how that would apply to how a display device does what it does.

C'mon- surely, it is agreeable that "adaptive-piecewise, 32-bit digital video output" would make for a cooler buzzword for marketing, right? :p
 
Full FP rendering and then give me says 10-12 bit RAMDACs PLZ. Banding is so annoying and what really annoys me more is that alot of other people can't see it and I'm like WTF do I have super eyes or are they just blind or just dumb ( I deal with alot of dumb people and they annoy me ). Dithering probably isn't bad but still none of this really matters that much since we are still mainly using 8 bit channels for rendering.
 
Dio said:
But Spectrum 512 and QP were more concerned with encoding the picture such that if you ran a humungous program in the background changing colours at very precise positions on the screen you could get all the 512 colours available onto screen at once.

In fact, that was a very simple loop 'without a loop' (portions of code repeated for each scanline) that changed the pallette registers 3 times per line. You could get 512/4096 colors that way (out of 16) without the flickering, but not more than 48 (that might be bit unprecise) in one line. But the real trick was the opening part of the routine, which synced CPU with display chips.

Also, there was much better proggy called Photochrome - it could pull like 4096/32k colors out of that poor Shifter chip, and had improved display routine. (Cycle-wise using MOVEM was more efficient than just series of MOV's. It didn't increase number of pallete swaps, but allowed 'denser' changes. )
 
Back
Top