# Demosaicizzazione

Un algoritmo di demosaicizzazione (dall'inglese demosaicing o demosaicking) permette di ricostruire la rappresentazione a colori di un'immagine partendo dai dati grezzi ottenuti dal sensore di una fotocamera digitale che utilizza un color filter array (CFA).
I CFA sono utilizzati dalla maggior parte delle moderne fotocamere digitali, pertanto gli algoritmi di demosaicing sono parte fondamentale del processo di elaborazione dell'immagine effettuato da una fotocamera al fine di permettere la visualizzazione dell'immagine. Inoltre molte fotocamere permettono anche di salvare le immagini in formato RAW e di trasferire il procedimento di ricostruzione dei dati acquisiti off-line. In questo modo è possibile scegliere la tecnica di demosaicing che si vuole utilizzare al posto dell'algoritmo proprietario della fotocamera.

## Obiettivo

L'obiettivo di un algoritmo di demosaicizzazione è la ricostruzione di un'immagine a colori (per esempio nello spazio RGB, composto da rosso, verde e blu) a partire dai dati acquisiti da un sensore con CFA.
In particolare, un buon algoritmo deve garantire:
* l'assenza di artefatti particolarmente fastidiosi per la visione dell'immagine (come aliasing, zippering, falsi colori...);
* fedeltà all'immagine originale;
* bassa complessità computazionale, in modo da permetterne l'esecuzione in tempi ragionevoli, questo requisito è necessario se la demosaicizzazione viene operata a bordo della macchina fotografica, trascurabile se l'elaborazione viene svolta in un secondo momento.

## Premessa

La rappresentazione di un'immagine digitale a colori richiede la conoscenza di almeno tre campioni di colore per ogni pixel. Solitamente vengono utilizzati il rosso, il verde ed il blu, basi dello spazio di colore RGB. Pertanto l'acquisizione di un'immagine a colori da parte di una macchina fotografica digitale necessiterebbe di tre sensori per fotosito, ognuno sensibile ad uno specifico colore. Il posizionamento dei tre sensori non è semplice e comporta alcuni inconvenienti di sfasamento se questi sensori vengono disposti sullo stesso piano con l'utilizzo di un prisma per indirizzare la luce, o di allungamento dei tempi di esposizione nel caso di sensori disposti in serie, come nel sensore Foveon. Quindi la maggior parte delle macchine fotografiche e delle telecamere digitali non acquisisce l'immagine con tre componenti, bensì utilizza un solo sensore per fotosito, ottenendo una griglia di valori corrispondenti ai diversi colori. Questa griglia, detta anche Color Filter Array (CFA) oppure "mosaico", alterna campioni di rosso, verde e blu secondo alcune disposizioni specifiche, la più nota delle quali viene chiamata Bayer pattern dal nome del suo inventore Bryce Bayer.
Recentemente sono stati proposti nuovi schemi per il CFA, come quello nel nuovo sensore proposto dalla Kodak oppure i nuovi pattern proposti da Hirakawa e Wolfe.
Anche la Fujifilm nel settembre 2008 ha proposto una variante del CFA per il sensore super CCD EXR.

## Algoritmi

Inizialmente si è cercato di ricostruire le immagini catturate in formato RAW con le tecniche classiche per l'interpolazione di immagini, come per esempio l'interpolazione bilineare, l'interpolazione bicubica o le spline. Tuttavia si è presto osservato che si ottengono risultati decisamente migliori con dei metodi ad hoc, progettati in base alla particolare struttura del CFA. Difatti le componenti di colore rossa, verde e blu presentano una notevole correlazione che può essere sfruttata per la ricostruzione dei campioni di colore mancanti. Pertanto sono state proposte molte tecniche di demosaicizzazione, dalle più semplici, e a ridotta complessità di calcolo, fino ad approcci molto raffinati progettati in ambito accademico utilizzando diverse conoscenze scientifiche nell'ambito dell'elaborazione delle immagini. Una cronologia di gran parte delle tecniche di demosaicizzazione è disponibile on line.