I want to know what is best 256-color palette. Not all entries have to be occupied.
I know these:
* Subset of 10-10-10 level RGB (1000 colors). First 125 colors are combinations of 5 levels of RGB each with LSB off. Next 125 are same, but with LSB on. For total of 250 colors, 6 remain.
* Subset of 16-16-16 level RGB (4096 colors). The format is IIRRGGBB: R, G and B are two most significant bits of each component, while I sets 2 LSBs of each component.
* Another IIRRGGBB format palette, but I sets color brightness to 25, 50, 75 or 100 percent of original. There is more fidelity in darker colors, but there is some redundancy: blacks, and 66% red with 50% brightness is same as 33% red with 100% brightness.
* 256-level grayscale for full brightness fidelity but no color/saturation fidelity at all. Variant: 128-level grayscale and fill remaining 128 colors to compensate for human's limited vision (human sees 21-bit RGB, not 24-bit).
* Level combination: each of 4-16-4, 8-8-4, 6-6-6, 6-7-6, 6-8-5, 7-7-5, 5-9-5, 5-10-5 and others for RGB are accepted.
* As above, but for hue, saturation, value/light. NES tried this.
* 2 bits for red/blue, 3 bits for green. Other bit is LSB of red and blue.
* Make four cubes of 64 colors, where there are 4 RGB levels in each cube chosen from 8 levels. Example: 0-2-5-7, 0-1-2-3, 2-3-4-5, 4-5-6-7. Configurator link: http://drag.wootest.net/misc/8bit_rgb.html
* To reduce large RGB bit-based palette by 2 bits, merge LSB of red, green and blue to one bit, as long as they all exist. If there are only two normal components with their own bits, you can only merge them to compress by 1 bit. This preserves all grays of palette (only if there are equal bits of each component), but reduces hue/saturation fidelity.
Here are samples for some of them:
Uniform HSV selection: There are 15 hues, 2 saturations, 9 values in full saturation, 7 values in half saturation, 17 grays and some transparency.
Uniform RGB selection: There are 4 bits for each component, where 2 least significant bits are shared between components. As a result, there are 2 bits for each component and 2 least significant bits shared between components. There are 18 hues, 2 saturations and 16 values. Best case precision is 12 bits, while worst case precision is 6 bits.
In other words, it's 4 RGB cubes, where each RGB component can be any of following values:
- 0, 68, 136, 204
- 17, 85, 153, 221
- 34, 102, 170, 238
- 51, 119, 187, 255
Example: 255, 119, 51 (orange)