# Pixel

Un pixel, in computer grafica, è l'unità minima convenzionale della superficie di un'immagine digitale. I pixel, disposti in modo da comporre una griglia fissa rettangolare, per la loro piccolezza e densità appaiono fusi in un'unica immagine. Il termine è la contrazione di "picture element", cioè "elemento di immagine".

## Storia
### Un precursore nell'arte

Georges Seurat, leader del movimento neoimpressionista del tardo XIX secolo, sfruttava l'accostamento dei colori puri tenuti fra loro divisi e il principio della ricomposizione retinica. Così facendo, i minuscoli tratti o puntini che compongono l'opera vengono ricomposti e fusi dalla retina dell'occhio dell'osservatore, secondo lo stesso principio che determina la percezione di un'immagine digitale.

### Storia del termine

Il termine "pixel" compare per la prima volta in due diversi SPIE Proceedings del 1965, negli articoli di Fred C. Billingsley del Jet Propulsion Laboratory del Caltech. L'alternativa "pel" compare nel Proceedings of the IEEE del 1967, pubblicato da William F. Schreiber del MIT. Sia pixel che pel si diffusero entro i campi dell'elaborazione dell'immagine e del video coding per più di un decennio prima di apparire nei libri di testo nei tardi anni Settanta, per poi divenire onnipresenti negli ambiti della computer grafica, display, stampanti, scanner, fotocamere, e tecnologie correlate, con vari e spesso contrastanti significati.

## Il pixel materiale

Pur considerando il termine "pixel" spesso legato alla descrizione virtuale dell'immagine, esso è utilizzato anche per indicare alcuni degli elementi che compongono uno schermo CRT, LCD o al plasma. Anch'essi sono disposti entro una griglia fissa rettangolare, e sono formati ciascuno da tre cellette (dette "subpixel"), ognuna delle quali gestisce un colore tra i tre primari della sintesi additiva: rosso, verde, blu.

### Schermo CRT

Nel caso di un televisore o monitor a tubo catodico, la luce viene dai fosfori, sostanze chimiche che brillano quando vengono colpite dagli elettroni. Dal fondo del tubo catodico vengono inviati raggi di elettroni che scorrono sullo schermo, da un lato all'altro e dall'alto in basso: ciascun raggio determina un colore dei fosfori e varia in intensità mentre si sposta. Queste variazioni fanno brillare i fosfori in base a quanto colore primario è necessario in quel determinato punto. L'occhio dell'osservatore confonde la luce dei fosfori individuali e vede solo il risultato della combinazione delle luci dei tre colori dei fosfori, cioè l'immagine complessiva su schermo.

### Schermo al plasma

Lo schermo di un televisore al plasma presenta un grande numero di cellette racchiuse tra due lastre di vetro, e gas come l'argon, il neon o lo xeno sono usati per produrre i colori e la luminanza, insieme a una piccola quantità di vapori di mercurio. Ogni pixel di uno schermo al plasma consiste di tre scomparti (dove si trovano i fosfori), appunto il rosso, il verde e il blu. Una corrente nel gas eccita gli atomi di mercurio, in modo da causare la creazione di plasma. Il plasma emette una luce ultravioletta che porta i fosfori a brillare. Così, dalla miscela di rosso, verde e blu possiamo ottenere le diverse tonalità di colore.
I tre colori possono essere accesi individualmente o simultaneamente, ma non è possibile incrementarne o diminuirne l'intensità, né più né meno. Per essere in grado di ottenere le gradazioni nei rispettivi livelli di luminosità dei colori, la cella rossa, verde o blu viene riscaldata solo per un certo periodo di tempo, ovvero applicando la modulazione di larghezza dell'impulso. Un riscaldamento breve comporta un colore più scuro, uno più prolungato comporta un colore più chiaro.

### Display LCD

In un display a cristalli liquidi, è posta una lampada posteriore come fonte di illuminazione, e la quantità di luce che attraversa il display è controllata mediante una maggiore o minore rotazione delle onde luminose tra due filtri polarizzatori. Se un impulso elettrico attraversa i cristalli liquidi, li torce in modo da permettere alla luce di passare attraverso il filtro frontale, in quanto quest'ultimo è ruotato di 90° rispetto a quello posteriore. Perciò, i pixel visibili sono quelli che vengono attraversati da onde luminose traverse, ovvero che hanno subito un cambiamento di andamento da verticale a orizzontale (Fig.1). Al contrario, i pixel totalmente spenti sono quelli che non vengono raggiunti dalle onde luminose, in quanto vengono bloccate dal filtro frontale perché mantengono l'andamento verticale (Fig.2).
* Figura 1
* Figura 2

## Pixel virtuale e visualizzazione
### Raster e vettoriale

Una rappresentazione vettoriale di un'immagine consiste di istruzioni e parametri per disegnare l'immagine finale, elemento per elemento, a partire da primitive geometriche come linee, curve, poligoni, e testo. Un formato raster rappresenta un livello più basso di astrazione dei dati dell'immagine. Esso contiene una rappresentazione campionata di qualsiasi immagine catturata o sintetizzata, e perciò offre risorse di memorizzazione più generali. Poiché i sistemi di visualizzazione stessi vengono "indirizzati" in questo modo, la destinazione finale per tutte le rappresentazioni grafiche è effettivamente raster; un'immagine in formato vettoriale, per essere visualizzata, viene infatti "rasterizzata" eseguendo le appropriate istruzioni di disegno e campionando il risultato.
Nel senso più generale, un'immagine raster è costituita da una griglia rettangolare di pixel. Ogni pixel è un campione di informazione in un'area finita di una sorgente grafica spazialmente continua, centrato in una particolare posizione geometrica sul piano.
Per i calcoli al computer, si necessita di una conveniente astrazione che sia indipendente dalle specifiche di qualsiasi dispositivo, così da usarla per ragionare sul come produrre o interpretare i valori memorizzati nelle immagini. Questa astrazione prevede che le immagini siano funzioni definite su aree bidimensionali – il più delle volte rettangoli. Così, possiamo astrarre un'immagine come una funzione$I(x,y):R\rightarrow V$dove $R\subset \mathbb {R} ^{2}$ è un'area rettangolare e $V$ è l'insieme dei possibili valori di pixel. Il caso più semplice è un'immagine in scala di grigio ideale, dove ciascun punto nel rettangolo possiede solo luminosità (non colore); e possiamo dire che $V=\mathbb {R} ^{+}$ (reali positivi). Un'immagine a colori ideale, con valori di rosso, verde e blu a ciascun pixel, ha $V=(\mathbb {R} ^{+})^{3}$.
Questa nozione astratta di immagine continua si lega a quella di immagine raster se si considera che un pixel materiale, con i suoi subpixel rossi, verdi e blu, è progettato in modo che il colore medio dell'immagine sulla propria faccia sia controllato dal corrispondente valore del pixel nell'immagine raster. Ad ogni pixel si associa una stringa di bit che contiene informazioni quali le coordinate di posizione nella griglia e il codice del colore. L'insieme di tutte le informazioni dei pixel virtuali costituisce la mappatura in bit dell'immagine, chiamata comunemente con il termine inglese "bitmap" (che però, in senso stretto, indica solo le immagini monocrome; per immagini in scala di grigio o a colori, si usa "pixmap").

### Visualizzazione su schermo

Per visualizzare l'immagine su un monitor CRT, il cannone elettronico deve sapere precisamente quali pixel devono essere "accesi" durante la scansione, perciò viene usato un frame buffer, ossia una memoria hardware programmabile. È richiesto almeno un bit di memoria ("0" o "1") per ciascun pixel, e vi sono tanti bit allocati in memoria quanti sono quelli del display. L'area di memoria contenente i valori di uno specifico bit per ciascun pixel di un'immagine, è detta bit plane (livello di bit) del frame buffer. Poiché la memoria è un dispositivo digitale e la scansione su schermo è analogica, occorrono dei convertitori digitale-analogico (DAC). Un DAC prende il segnale dal frame buffer e produce un segnale analogico equivalente per operare con il cannone elettronico nel CRT.
Un solo bit plane crea un'immagine in bianco e nero, e per avere una figura realistica sarebbero necessari i livelli di grigio. Per controllare l'intensità (o gradazione) di un pixel, bisogna usare un certo numero di bit plane all'interno del frame buffer. Per esempio, se si usano 3 bit plane in un singolo frame buffer, è possibile creare 8 (o 2$^3$) combinazioni di livelli di intensità (o gradazioni) per lo stesso pixel (000-001-010-011-100-101-110-111, dove 000 è il nero e 111 è il bianco). I valori intermedi controlleranno l'intensità del "colpo" del cannone elettronico sul pixel. Il processo di mappatura dell'immagine, in questo caso in valori di grigio discreti, è detto "quantizzazione". Generalmente, i dati dell'immagine sono quantizzati in 256 valori di grigio, quindi ciascun pixel occupa 8 bit o 1 byte.
Nei sistemi a colori, il CRT è equipaggiato con un cannone elettronico per ciascun colore, di solito tre: uno per il rosso, uno per il verde, e uno per il blu. I dati per ciascuno dei tre colori devono essere memorizzati separatamente. Il frame buffer richiede un minimo di 3 bit plane – uno per ciascuno dei tre colori RGB; ciò può generare 8 colori differenti. Se si desiderano più colori, occorre aumentare il numero di bit plane per ciascun colore. Per esempio, se ognuno dei tre colori RGB ha 8 bit plane (un totale di 24 bit plane nel frame buffer con tre DAC 8-bit), il numero totale di colori disponibili nell'immagine sarebbe di 2$^{24}$ = 16.777.216.
Collegare a ciascun DAC 8-bit una tabella dei colori, o CLUT (color look up memory table), migliora l'efficienza della scheda video e riduce l'occupazione di memoria a un terzo dello spazio richiesto. In questo caso, nel frame buffer l'informazione registrata non corrisponde direttamente al valore di colore che si può visualizzare, ma a un codice che individua nella CLUT il colore effettivo; ciò permette di variare i colori di un'immagine senza modificare il codice originario, compiendo un'operazione chiamata elaborazione in falso colore: in pratica cambiando il valore contenuto nel posto della tabella cui indirizzano tutte le locazioni nel frame buffer che contengono lo stesso codice, il loro colore viene simultaneamente cambiato in un nuovo colore a scelta. Ciascun colore può essere selezionato da una tavolozza di 2$^{24}$ ≈ 16,8 milioni di colori, ma in genere a causa delle dimensioni della tabella, solo un massimo di 256 colori può essere visualizzato simultaneamente.

### La pixel replication

Nei televisori, e specialmente i quelli con schermo CRT, il display raramente ha lo stesso numero di pixel dell'immagine che viene visualizzata. Considerazioni del genere rompono il collegamento diretto tra i pixel dell'immagine (virtuali) e i pixel del display (materiali). Sarebbe meglio intende l'immagine raster come una descrizione indipendente dal dispositivo (device-independent) dell'immagine da visualizzare, e il display come un dispositivo atto ad approssimare quell'immagine ideale. Per esempio, molte schede grafiche supportano oggi varie risoluzioni, come 640×480, 800×600, 1024×768, ecc. Il numero di subpixel sul display ovviamente non cambia se si cambia il numero di pixel virtuali che li guidano.
Ecco che si può parlare di pixel replication, ovvero di una tecnica che prevede la sostituzione di ogni pixel con un blocco di dimensioni N×N di pixel, per cui l'immagine viene ingrandita per un fattore di scala N. Con la replicazione dei pixel, l'immagine diventa più grande ma più grossolana, dato che non viene fornita alcuna nuova informazione oltre a quella già contenuta nella descrizione originaria. È soprattutto la perdita di qualità visiva dell'immagine, in seguito a un ridimensionamento, la prima differenza tra la grafica raster e la grafica vettoriale. Inoltre, questo è stato un argomento usato da Alvy Ray Smith per dimostrare che il pixel in realtà non è un piccolo quadrato, ma un punto campione. Il contrario della pixel replication è detto pixel drop, e si verifica quando il numero di pixel virtuali è maggiore di quello dei pixel materiali.

## Caratteristiche del pixel
### Risoluzione

Il numero di pixel sul monitor è definito dalla sua addressability ("indirizzabilità"), che è il numero di pixel singolarmente comandabili. L'addressability è solitamente espressa nella dimensione orizzontale e in quella verticale. Perciò, un monitor con una addressability di 1600×1200, ha 1600 pixel nella dimensione orizzontale e 1200 nella verticale. A volte ci si riferisce alla addressability con la parola "risoluzione".
I moderni schermi per computer sono progettati con una "risoluzione nativa", che fornisce l'immagine più netta tra quelle che lo schermo è in grado di produrre. Tipiche risoluzioni native per gli LCD sono le seguenti: per i display a 17 pollici, 1024×768, per i 19 pollici è di 1280×1024, per i 20 pollici è di 1600×1200, e per i display a 22-24 è di 1920×1080. Generalmente, gli LCD dovrebbero essere quasi sempre visualizzati alla risoluzione nativa, perché cambiare le impostazioni dello schermo può produrre artefatti che deteriorano la qualità dell'immagine. Normalmente, una risoluzione non nativa viene mostrata meglio su uno schermo CRT che su un LCD.

### Forma del pixel

Adobe Premiere Pro (un software di video editing) per interpretare una clip correttamente ha bisogno di sapere, insieme ad altre cose, il pixel aspect ratio, cioè la forma geometrica dei pixel. L'aspect ratio, o rapporto d'aspetto, è il rapporto che intercorre tra la larghezza e l'altezza di un'immagine digitale o del display di un monitor. Per esempio, in un monitor 16:9, la larghezza è circa 1,78 volte più grande dell'altezza (in un monitor la cui altezza del display è di 29,9 cm, la larghezza sarà circa 29,9 cm × 1,78 = 53,1 cm). Anche i pixel possono avere rapporti d'aspetto diversi. Di solito le immagini digitali e i monitor per computer hanno pixel quadrati (1:1), mentre i video li hanno rettangolari. Un video NTSC ha di solito una risoluzione di 720×480 pixel, perciò non ha un rapporto d'aspetto di 4:3, ma di 3:2. Tuttavia, esso sembra averlo di 4:3 perché i pixel del video sono leggermente più alti che larghi.

### Colore e sub-pixel

Trasmettere a uno schermo monocromatico dei valori di pixel pari a 0, manterrà i pixel considerati spenti. Al contrario, valori pari a 1 li accenderà. Come detto, si possono usare dei livelli di bit per ottenere diverse gradazioni di grigio. I display a colori usano delle triadi rosse, verdi e blu, che creano un'illusione ottica di un colore specifico.

### Bit per pixel

Il numero di colori distinti che possono essere rappresentati da un pixel dipende dal numero di bit per pixel (bpp):
* 1 bpp (immagine monocroma)
* 8 bpp (256 colori);
* 16 bpp (65.536 colori, noto come Highcolor);
* 24 bpp (16.777.216 colori, noto come Truecolor).Le immagini RGB sono costituite da 3 canali di colore. Un’immagine RGB a 8 bit per pixel ha quindi 256 valori possibili per ciascun canale, vale a dire oltre 16 milioni di valori del colore. Le immagini RGB con 8 bit per canale (bpc) sono a volte definite immagini a 24 bit (8 bit × 3 canali = 24 bit di dati per ogni pixel).