RGB 565 - Почему 6 бит для зеленого цвета

Я проверял разные форматы RGB, и мне было интересно, почему в RGB-565 зеленый цвет назначается 6 бит и красным и синим 5? Есть ли какая-то особая причина зеленого цвета, или это просто очень эстетический выбор. Так как есть 3 цвета и формат представлен 2 байтами, число 565 выглядит более симметричным, чем 655 или 556.

Ответ 1

Вероятно, это связано с ответом конусов в глаз. В основном мы более чувствительны к свету в той части спектра, поскольку различные конусы * сильно перекрываются. В то время как большинство света в синем конце спектра, например, в основном забирается только одним.

Имеет смысл потратить дополнительный бит, где он будет делать все самое лучшее.

* Есть 3 типа: точно названные красные, зеленые и синие конусы.

enter image description here

Ответ 2

Чтобы упаковать цвет в 2 байта = 16 бит, у вас есть 2 обычных способа:

  • кодировать компоненты RGB по 5 бит каждый. Это проще всего кодировать/декодировать и обеспечивать согласованную градацию за счет потери 1 бит.

  • кодировать 2 цвета в 5 бит и один из 6 бит. Таким образом, вы не тратите драгоценный бит, но теперь вам приходится иметь дело с несоответствием кодирования/декодирования. Зеленый канал был выбран как 6 бит, потому что наш глаз более чувствителен к градации зеленого цвета, чем к красной или синей градации (мы довольно бедные, чтобы отличить синий на самом деле).

На самом деле глаз более чувствителен к градациям желтовато-зеленого, а не зеленого цвета, потому что, когда оба типа рецепторов в глазу (конусах) стимулируются вместе.

Вот диапазон видимых цветов, определенный стандартом цветового пространства CIE 1931:

Colour Gamut

Несмотря на то, что то, что вы видите, неточно, так как оно представлено на экране компьютера, который имеет более низкую гамму, чем то, что может видеть человеческий глаз, вы все же можете видеть, что количество видимого света в различных зелени содержит больше вариаций, чем в синем, или даже красный.