Nós testamos algumas delas e com certeza as divisões 332, 323 e 233 são melhores que a 222. Na representação 222 são utilizadas apenas 64 cores de um total de 256 cores disponíveis. Já nas outras representações, todas as 256 cores são usadas e apesar de um dos canais possuir apenas 4 níveis de variação, o resultado ainda é bom.
Existe ainda uma outra maneira de "repartir o byte" entre os três canais :
Como temos um total de 256 cores disponíveis, podemos pensar em quantos níveis de variação queremos permitir para cada canal. Daí basta pensar no "cubo" de dimensões NR x NG x NB onde NR, NG e NB são os níveis de variação para cada canal. Se o volume do "cubo" for menor ou igual a 256 então é possível fazer a representação com apenas 1 byte.
Por exemplo, se escolhermos 10 níveis para o vermelho e 5 para o verde sobram 5 níveis para o azul (10*5*5=250 sobram 5 cores). Dessa forma, podemos fazer uma divisão mais justa das cores reservando, por exemplo, 6 níveis para o vermelho, 7 para o verde e 6 para o azul (jogando fora 4 cores do total). O resultado visual é bem satisfatório.
-- Segunda Parte
Não sei se entendi direito a representação mas me parece que seria necessário mais um valor para que fosse possível especificar todas as cores.
Aparentemente o que está representado é algo como a crominância mas falta a luminância para definir as cores restantes.
Por exemplo, atualmente todos os tons de vermelho são mapeados para a coordenada (1,0,0). Basta pensar nas cores R=240, G=0, B=0 e R=120, G=0, B=0.
Se houvesse como escolher a luminância seria possível gerar os tons multiplicando os canais da cor por um parâmetro t. Logo com t = 0.5, a cor t*(1,0,0) representaria a cor R=128, G=0, B=0. Além disso, qualquer cor com parâmetro t = 0.0 forneceria a cor preta.
Mas como eu disse não sei se eu entendi direito então por favor me corrijam se eu estiver errado
