nesdev.com
http://forums.nesdev.com/

Possible alternate colorspaces for video game palettes.
http://forums.nesdev.com/viewtopic.php?f=21&t=13886
Page 1 of 3

Author:  psycopathicteen [ Wed Feb 24, 2016 11:05 pm ]
Post subject:  Possible alternate colorspaces for video game palettes.

I was thinking about colorspaces today, and I came up with a decent idea for a color space that can easily be converted to low-bit rgb, that should be a little more visually uniform than rgb.

I think I'll call it Yab, just because the Y works like the Y in YUV and YIQ, and the A and B work sort've like the A and B in Lab. So here's my formula.

R = Y + 2a + b
G = Y - a
B = Y - 3b

Any advice to improve upon this. I'm thinking there should be a way to compensate for the not-so-predictable luminance value of highly saturated colors.

Author:  lidnariq [ Wed Feb 24, 2016 11:21 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

This doesn't really look all that much more useful than RGB?

Here's a simple cube, 0≤Y≤7, -4≤a,b≤3:
Attachment:
yab.png
yab.png [ 615 Bytes | Viewed 2927 times ]
Lots of out-of-gamut colors too.

No yellows, and lackluster reds and purples.

Author:  Sik [ Wed Feb 24, 2016 11:30 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Maybe A/B range from 0 to 7, not -4 to 3?

Author:  psycopathicteen [ Wed Feb 24, 2016 11:39 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Or try -7 to 7. BTW, why is everything so dark?

Author:  Dwedit [ Thu Feb 25, 2016 10:58 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Sounds very similar to YCgCo, but not quite the same.

Author:  psycopathicteen [ Fri Feb 26, 2016 10:29 am ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Dwedit wrote:
Sounds very similar to YCgCo, but not quite the same.


I never heard of that before, but it sounds awesome.

Author:  psycopathicteen [ Fri Feb 26, 2016 6:33 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

I made a 12-bit YCoCg color palette. It's cool how it ended up being exactly 1024 colors. That means if I make a 15-bit version, it will come out with 8192 colors.

Attachments:
YCoCg.png
YCoCg.png [ 2.55 KiB | Viewed 2785 times ]

Author:  Espozo [ Fri Feb 26, 2016 8:09 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

I always wondered how having 6bit RGB with 2 extra bits to reduce the value of the color for every channel. Because your eyes are supposedly better at seeing shades of color than different colors or something like that, I wonder if it might even look better than 9bit RGB despite only being half the colors.

Author:  tepples [ Fri Feb 26, 2016 8:46 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

That's a form of RGBI, with 2 bits per channel. It's the componentwise sum of the Cartesian product of four 2-bit palettes:

Red: #000, #400, #800, #C00
Green: #000, #040, #080, #0C0
Blue: #000, #004, #008, #00C
Intensity: #000, #111, #222, #333

Fortunately, GIMP makes componentwise sums easy using the Addition blend mode.

Attachments:
File comment: The four subpalettes
layers.png
layers.png [ 738 Bytes | Viewed 2761 times ]
File comment: The palette
added.png
added.png [ 1.42 KiB | Viewed 2761 times ]
File comment: Parrot in RGBI2222. Left: not dithered; right: Floyd-Steinberg dithered.
parrot.png
parrot.png [ 31.01 KiB | Viewed 2761 times ]

Author:  Sik [ Sat Feb 27, 2016 6:01 am ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

May as well compare it against my colorspace:

Image

RGB 3.3.3, but red and blue share the LSB (so it fits in 8-bit). I came up with it because I honestly hate how little resolution blue has in RGB 3.3.2, which wouldn't be much of an issue except because it seems new "retro" hardware insists on using that (argh!).

Author:  Espozo [ Sat Feb 27, 2016 8:08 am ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

I thought I'd try seeing how Sik's palette looks:

Attachment:
Sik's Palette.png
Sik's Palette.png [ 13.58 KiB | Viewed 2706 times ]

Author:  zzo38 [ Sat Feb 27, 2016 11:42 am ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

I thought of a different kind of colorspace: 3-bits high-voltage, 3-bits low-voltage, 3-bits phase. The phase only covers half, because you can get the rest of the phases by inverting it which is done by switching the voltage. If high-voltage and low-voltage is same then the picture will be gray.

Author:  lidnariq [ Sat Feb 27, 2016 11:52 am ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Espozo wrote:
I always wondered how having 6bit RGB with 2 extra bits to reduce the value of the color for every channel.
tepples wrote:
It's the componentwise sum of the Cartesian product of four 2-bit palettes:
I assumed that Espozo meant something with a multiplier, not RGBI.

Here's the equivalent palette where I parse the last two bits as a all-channels multiplier that ranges from 1 to 4:
Attachment:
rgbmult.png
rgbmult.png [ 1.24 KiB | Viewed 2673 times ]


It's really lacking in pastels, though, so the parrot doesn't look so good:
Attachment:
File comment: left: plain
right: floyd-steinberg dithering

rgbmultparrot.png
rgbmultparrot.png [ 29.77 KiB | Viewed 2673 times ]

Author:  Sik [ Sat Feb 27, 2016 11:56 am ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Actually his description sounds more like reverse RGBI, where I substracts instead of adding (you could achieve that just by passing I through a NOT). But yeah it's not very clear honestly.

Author:  Espozo [ Sat Feb 27, 2016 12:16 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Yeah, I didn't mean multiplying. I meant what Sik is talking about. I'm not sure how different than would look than tepples's though.

Page 1 of 3 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/