La modalità grafica Highcolor (chiamata molto spesso Migliaia di colori specie nel mondo Macintosh) memorizza le immagini nel frame buffer utilizzando due byte per ogni pixel. Con due byte, ossia 16 bit, il colore può essere rappresentato utilizzando tutti e 16 i bit (modalità più frequente) o solo 15 bit.

Highcolor a 15 bit

modifica

Siccome 16 bit non sono divisibile per 3, in alcune schede video si è scelto di rappresentare i colori di ciascun pixel utilizzando solo 15 bit. In questo modo 1 bit resta inutilizzato e gli altri 15 sono divisi 5 per ogni componente del colore rosso, verde e blu.

Bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Contenuto Non Utilizzato Rosso Verde Blu

In questo modo ciascuna componente di colore viene rappresentata da 32 livelli di intensità differenti, facendo uso dei 5 bit a disposizione ( ).

Una variante interessante di questa modalità fu proposta all'inizio degli anni '90 dalla Cirrus Logic, un produttore di schede video con un'ampia quota di mercato in quegli anni. Cirrus Logic, con la sua modalità mista utilizzava il bit 15 per indicare che quel pixel era rappresentato con la notazione a 8 bit su una palette. In questo caso i bit da 0 a 7 indicavano il valore di lookup della palette, mentre i bit dall'8 al 14 erano inutilizzati. in questo modo si potevano avere contemporaneamente sul monitor i vantaggi di entrambe le modalità. Questa modalità, però, non ebbe successo e praticamente non fu supportata dai programmi applicativi e rimase quindi inutilizzata.

Highcolor a 16 bit

modifica
 
L'occhio umano è più sensibile alla luce verde e meno a quella rossa e blu. Così molto spesso è possibile che nella modalità a 5 bit per colore sia evidente nel verde l'effetto scala.

Se si decide di utilizzare tutti i bit, una delle componenti (normalmente il verde[1] ) può essere rappresentata a 6 bit, consentendo, così, la rappresentazione di 64 livelli di intensità ( ) e un totale di 65.536 colori ( ).

Bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Contenuto Rosso Verde Blu

Questo comporta però una leggera discrepanza nella codifica delle immagini. Se si vuole codificare il colore RGB a 24 bit (40,40,40) che corrisponde a 15,68% di intensità su una scala da 0 a 255 per ciascuna componente. Nella notazione binaria 40 si scrive 0010 1000. Le componenti rosso e blu che utilizzano 5 bit potranno utilizzare solo i 5 bit più significativi, ossia 00101, che corrisponde a 5 e su una scala da 0 a 31, ossia 16,13%, mentre per il verde con 6 bit a disposizione avremo 001010, che corrisponde a 10 su una scala da 0 a 63, ossia 18,87% della scala disponibile. Questa discrepanza è conosciuta come errore di subsampling.

  1. ^ (EN) Cowlishaw, M. F., Fundamental requirements for picture presentation (PDF), in Proc. Society for Information Display, vol. 26, n. 2, 1985, pp. 101–107 (archiviato dall'url originale il 26 settembre 2007).

Voci correlate

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica