# High dynamic range imaging

L'HDR, sigla di high dynamic range, è una tecnica utilizzata in grafica computerizzata e in fotografia per ottenere un'immagine in cui l'intervallo dinamico, ovvero l'intervallo tra le aree visibili più chiare e quelle più scure, sia più ampio dei metodi usuali.
Le tecniche per la creazione di una HDRI si basano sull'idea di effettuare scatti multipli dello stesso soggetto ma a diverse esposizioni, in maniera tale da compensare la perdita di dettagli nelle zone sottoesposte o sovraesposte di ciascuna singola immagine. La successiva elaborazione della serie di immagini consente di ottenere un'unica immagine con una corretta esposizione sia delle aree più scure che di quelle più chiare.

## Confronto con le tradizionali immagini digitali

Le informazioni memorizzate in un'immagine HDR di solito corrispondono ai valori fisici della luminosità e della radianza che possono essere osservati nel mondo reale; in questo differiscono dalle informazioni memorizzate nelle normali immagini digitali, che memorizzano solo quali colori vanno riprodotti sullo schermo.
Le immagini HDR richiedono un maggior numero di bit per colore delle tradizionali immagini, per via del fatto che rappresentano valori da $10^{-4}$ a $10^{8}$ (i valori della luce visibile) o più.
Numeri a 16-bit o a 32-bit floating point sono spesso utilizzati per rappresentare i pixel HDR. In ogni caso, utilizzando l'appropriata funzione di trasferimento, i pixel HDR possono essere rappresentati a 10-12 bit di luminosità e a 8 bit per la componente colore senza alcuna variazione visibile.

## Algoritmi

Le immagini HDR vengono realizzate mediante l'uso di formule o algoritmi che danno la possibilità di elaborare le immagini allo scopo di ottenere diversi risultati. Ogni algoritmo è gestito da una formula studiata generalmente da un gruppo di persone il cui referente principale è quello che dà il nome alla stessa e che si ritrova nell'elenco dei vari programmi che consentono questa elaborazione.
La descrizione matematica di tali algoritmi in genere è rintracciabile con una certa facilità, spesso on line; meno semplice è reperire informazioni che descrivano gli algoritmi in maniera facilmente interpretabile, così da capire che genere di risultato sia possibile ottenere. È allora importante testarli più volte, su varie immagini e con varie impostazioni dei parametri, e confrontare i risultati.
* Mantiuk '06: Questo algoritmo agisce sul contrasto dell'immagine, evidenziando i dettagli in tutte le zone, ma senza evidenziare aloni nelle zone con forti variazioni. Il parametro "Contrast Equalization" consente di ottenere un'immagine più chiara, ma generalmente poco bilanciata nell'illuminazione, per cui è sconsigliato utilizzarlo. Il "Contrast Factor" agisce sul contrasto, facendo diminuire le variazioni all'aumentare di questo valore. Il "Saturation Factor" varia la saturazione del colore dell'immagine. Valori più elevati rafforzano il colore, ma se si esagera l'immagine risultante potrebbe risultare davvero poco realistica. Il "Detail Factor" serve a specificare il livello di dettaglio. Aumentarlo significa evidenziare molti più dettagli, ma anche i disturbi presenti nell'immagine, quindi utilizzatelo con cautela.
* Mantiuk '08: Questo algoritmo agisce invece sulla luminosità dell'immagine per rendere la curva il più compatibile possibile con il display utilizzato per la visione. Infatti il primo parametro da scegliere è proprio il tipo di display. Il risultato è più luminoso, ma meno contrastato rispetto alla formula di prima. La "Saturazione Colore" agisce come nel caso precedente. Il "Miglioramento Contrasto" fornisce un contrasto più accentuato all'aumentare del valore di questo parametro. "Livello Luminanza" consente di aumentare ulteriormente la luminosità del risultato e può essere utile in caso di immagini estremamente scure.
* Fattal: Anche questa formula agisce sulla luminosità dell'immagine. È la formula che più di tutte riesce a visualizzare dettagli sia in ombra sia in piena luce, ma evidenzia anche in modo esagerato le forti variazioni di contrasto (generando aloni) e i disturbi presenti nell'immagine. Per un risultato più pulito i programmatori hanno deciso di variare leggermente la formula, rendendola però più complessa e quindi lunga da elaborare. Da notare che quest'algoritmo dipende fortemente dalle dimensioni del risultato finale, per cui conviene utilizzare fin dall'inizio le dimensioni che si desiderano ed eventualmente fare le prove solo in una piccola zona per test rapidi, come descritto nell'articolo precedente. "Alpha" agisce sulla luminosità globale dell'immagine. "Beta" varia invece il livello di dettaglio del risultato finale. "Saturazione Colore" agisce come al solito sull'intensità del colore. "Noise Reduction" consente di calare leggermente l'evidenziazione dei disturbi, ma a discapito della nitidezza dell'immagine finale. "Vecchio Fattal" fa utilizzare al programma la formula originale. È leggermente più rapida, ma evidenzia maggiormente i disturbi.
* Drago: Simile al Fattal, ma molto meno potente. In compenso è rapidissimo nell'esecuzione. Non evidenzia però i dettagli presenti nell'immagine. Si può utilizzare come sostituto del Fattal nel caso l'immagine da elaborare non contenga dettagli da evidenziare, oppure nel caso l'immagine da elaborare contenga molti disturbi e quindi il Fattal non consenta di ottenere un risultato accettabile. L'unico parametro da stabilire è "Bias" che andrà a influire sulla luminosità finale del risultato.
* Durand: Un algoritmo abbastanza rapido, ma che difficilmente produce risultati interessanti. Di solito le parti luminose perdono dettagli e il risultato finale assomiglia molto ad una foto normale, più che a una HDR elaborata con tone mapping. "Spatial Kernel Sigma" non produce un reale impatto sul risultato finale, se non una leggerissima variazione di luminosità. Anche "Range Kernel Sigma" agisce sulla luminosità del risultato, ma in modo un po' più evidente. "Contrasto" ovviamente varia il contrasto dell'immagine finale.
* Reinhard '02: Fornisce un risultato abbastanza buono, sebbene a volte un po' scuro e comunque poco contrastato. "Use Scales" se attivato consente di variare manualmente gli ultimi tre parametri. Il "Parametro Key" agisce sulla luminosità del risultato finale. Il "Phi" consente di ottenere un leggero risalto delle zone più scure dell'immagine. "Range", "Lower Scale" e "Upper Scale" hanno un impatto minimo sul risultato e difficilmente si notano differenze variando questi parametri.
* Reinhard '05: Variante della formula precedente, che fornisce risultati più luminosi, ma con poca evidenza di dettagli. "Luminosità" consente di regolare la luminosità del risultato finale. "Chromatic Adaptation" varia la saturazione del colore per consentire risultati più realistici. Anche "Light Adaptation" agisce sulla luminosità finale riducendo anche il contrasto dell'immagine.
* Ashikhmin: Fornisce risultati con contrasto molto basso e quindi immagini molto "piatte" e poco interessanti. "Simple" specifica al programma di regolare da solo gli altri parametri. Il risultato dipende dall'immagine che si vuole elaborare. "Numero Equazione" cambia la formula utilizzata e il tipo di contrasto risultante. "Local Contrast Threshold" consente di variare leggermente il contrasto del risultato, ma generalmente non è sufficiente per compensare l'immagine prodotta da questo algoritmo.
* Pattanaik: Un altro algoritmo che fornisce risultati con pochi dettagli e un contrasto un po' basso. "Multiplier" varia l'intensità dell'applicazione della formula. Valori alti evidenziano qualche dettaglio in più rispetto ai valori bassi. "Local Tone Mapping" esegue i calcoli basandosi sulla luminosità locale dei punti dell'immagine. Il risultato è più chiaro, ma ancora meno contrastato. "Cone And Rod Based On Luminance" se è selezionato fa scegliere i due valori successivi al programma. "Cone Level" e "Rod Level" dovrebbero rappresentare i parametri relativi al comportamento degli occhi umani, per coni e bastoncelli. Purtroppo è molto difficile trovare dei valori accettabili e quindi è preferibile farli scegliere direttamente al programma.

## Limiti

La realizzazione di foto in HDR richiede che il soggetto inquadrato sia statico, così come la fotocamera. Se l'apparecchio è in grado di realizzare sul momento la foto in HDR, possono verificarsi dei fenomeni di "ghosting" dovuti al movimento dell'inquadratura. Il problema è parzialmente aggirabile se le foto scattate richiedono poi il post-processing mediante applicativi dedicati, che il più delle volte tentano di allineare le foto. In altri casi, però, le varie foto "intermedie" devono essere allineate manualmente.

## Evoluzioni future

Normalmente sono necessarie almeno 2/3 foto con diverse esposizioni dello stesso soggetto per realizzare una foto in HDR. Ad oggi, è possibile ricreare tale tecnica in tempo reale con diversi smartphone di ultima generazione. Questa nuova tecnologia di HDR in tempo reale, seppur ancora acerba, offre buoni risultati e apre prospettive per i futuri sviluppi dell'HDR. Tra i principali utilizzatori di tale tecnologia vi sono Samsung (Rich Tone HDR), Google (HDR+) e Apple (Auto-HDR).
Un'alternativa all'High Dynamic Range (classico o in tempo reale) è rappresentata dalla tecnologia DRO (Dynamic Range Optimization): la foto viene scattata in modalità automatica (o con regolazione EV) e successivamente ottimizzata via software. Nella maggior parte dei casi, vi è una compensazione chiaro-scuro ottimale che rende la foto simile ad una HDR. Poiché la compensazione avviene tramite software, però, tale tecnologia tende a produrre molto disturbo, soprattutto per quanto riguarda la compensazione delle aree più scure.

## Esempi

* La navata della chiesa di Old Saint Paul's, a Wellington, in Nuova Zelanda.
* Il Grand Canyon in due differenti esposizioni possono essere combinate per rendere l'immagine visibile su un normale monitor.
* Un tramonto con la tecnica HDR.
* Vista notturna New York fotografata con la tecnica HDR
* Chiesa di Santa Prisca a Taxco (Messico)
* Tartaruga al tramonto
* Tartarughe al tramonto
* Fabbrica di carbone ad Ostrava (Repubblica Ceca)
* Scalone juvarriano di Palazzo Madama a Torino - filtro Mantiuk (evidenti i disturbi nei gradini)