Metti uno sfondo scuro, abbassi la luce della stanza, e la sfumatura che in anteprima era continua si spezza in fasce piatte separate da gradini netti. La reazione istintiva è dare la colpa al monitor. Quasi sempre il monitor è innocente: il difetto è già dentro il file, e c'è da prima che tu lo scaricassi.
Questo articolo spiega da dove viene il banding, perché compare proprio nelle zone scure, perché gli schermi buoni lo mostrano più di quelli scadenti, e con quale criterio misurabile lo controlliamo su ogni file prima di metterlo in vendita.
Che cos'è il banding?
Un'immagine a 8 bit per canale ha 256 livelli disponibili per il rosso, 256 per il verde, 256 per il blu. Non 257, non «quanti ne servono»: 256, punto. Se una sfumatura attraversa 2000 pixel passando dal nero a un grigio scuro, ha a disposizione forse trenta livelli per coprire quella distanza. Trenta livelli su duemila pixel significa che ogni livello deve occupare, in media, una sessantina di pixel prima di poter salire al successivo.
Quella sessantina di pixel tutti allo stesso identico valore è una fascia. Il gradino fra una fascia e la successiva è di un solo livello — la differenza più piccola che il formato sappia esprimere — eppure si vede benissimo, perché l'occhio è molto più sensibile a un confine netto che a una differenza assoluta. È lo stesso motivo per cui in un muro bianco noti la crepa e non la tonalità.
Perché il banding compare nelle zone scure?
Perché lì i livelli sono più radi rispetto a quanto l'occhio ne pretende. La codifica sRGB non distribuisce i 256 valori in modo uniforme sulla luce fisica: ne concentra molti nelle ombre proprio perché lì siamo più esigenti. Il risultato però resta insufficiente quando il gradiente è lungo e la sua pendenza è bassa, e le sfumature ampie dei fondi scuri sono esattamente quel caso.
Da qui il paradosso che confonde tutti: un pannello migliore mostra più banding, non meno. Un monitor con nero profondo e contrasto alto rende visibili distinzioni che uno scadente impasta in un grigio indistinto. Se hai comprato un buon display e all'improvviso vedi bande che prima non notavi, non è un difetto del display: è il display che finalmente ti fa vedere quello che c'era nel file.
Da dove nasce il banding: tre cause, una sola vera
La prima causa è la compressione. Un JPEG salvato e risalvato più volte perde informazione a ogni giro, e le prime cose che perde sono proprio le differenze minime fra livelli adiacenti — quelle che tengono continua una sfumatura. Un file passato di mano fra cinque aggregatori è già compromesso.
La seconda è l'ingrandimento. Ingrandire non aggiunge livelli: distribuisce quelli che ci sono su più pixel. Una sfumatura che a 1920 px aveva fasce da venti pixel, portata a 6016 px ha fasce da sessanta. L'upscale non crea banding, lo ingrandisce.
La terza — quella vera, quella che riguarda anche i file mai toccati da nessuno — è il momento in cui si tirano le somme del colore. Se le operazioni di composizione vengono fatte direttamente sui valori sRGB, ogni passaggio arrotonda, e gli arrotondamenti si accumulano proprio dove i livelli sono radi. Il file esce a bande senza che nessuno l'abbia mai ricompresso.
Come si evita: comporre in lineare, quantizzare una volta sola
La regola che seguiamo su ogni file della linea è una sola frase: il colore si compone in RGB lineare, e la conversione a sRGB è l'ultimo passaggio prima della quantizzazione. In lineare i valori sono numeri in virgola mobile: non ci sono 256 livelli, ce ne sono quanti ne servono. Somme, luci, trasparenze, bagliori — tutto avviene lì dentro, dove non si perde niente. Solo alla fine, una volta, si scende agli otto bit.
Comporre in sRGB e convertire alla fine non sono la stessa operazione in ordine diverso: sono due risultati diversi. È la ragione tecnica per cui due immagini apparentemente identiche si comportano in modo opposto quando le metti a schermo intero al buio.
La grana non è un effetto estetico: è la soluzione
Anche componendo perfettamente, alla fine gli otto bit restano otto. Il gradino di un livello c'è comunque. Quello che si può fare è rompere il confine: si aggiunge, prima della quantizzazione, un disturbo finissimo — una grana di ampiezza inferiore al livello stesso. Il confine netto fra due fasce diventa una zona di transizione in cui i due valori si alternano pixel per pixel, e l'occhio, che a quella scala media invece di distinguere, legge una sfumatura continua.
È il motivo per cui grana e dithering sono sempre attivi sui nostri file, anche su un pack a tinta piatta dove nessuno se li aspetta. Non sono una firma stilistica: sono il prezzo, in pochi kilobyte, per non avere bande.
Come misuriamo il banding prima di pubblicare
«Guardare se si vede» non è un criterio: dipende dallo schermo, dalla luce della stanza e da quanto sei stanco. Serve un numero. Il nostro è questo:
Si prende la colonna centrale dell'immagine, si scorre dall'alto in basso e si misura, in pixel, la più lunga sequenza consecutiva di pixel esattamente allo stesso valore. Quella sequenza è il plateau. Un plateau lungo significa una fascia larga, cioè un gradino visibile al suo bordo. Il criterio che applichiamo è che il plateau resti sotto la decina di pixel: sopra, il file torna in produzione.
Il secondo controllo riguarda i due estremi. Sopra un certo valore chiaro e sotto un certo valore scuro il file viene tagliato: i pixel si accalcano tutti sul valore massimo o sul minimo, e lì la grana non ha più spazio per lavorare — viene tagliata insieme al resto. Dove il file è tagliato, il banding torna nonostante tutto il resto. Per questo i nostri fondi chiari non arrivano al bianco pieno e i neri non arrivano allo zero: restano appena dentro, dove il dithering ha ancora margine.
Sui pack notturni la misura non si fa sul fondo, ma sul punto più scuro del quadro — quello che risulta dal fondo dopo che ci è passata sopra un'ombra. È lì che il taglio si nasconde, ed è lì che va cercato.
Come verifichi il banding su uno sfondo che hai già
- Guarda a schermo intero, non in anteprima. La miniatura riduce l'immagine e nel ridurre media i pixel: la riduzione nasconde esattamente il difetto che stai cercando.
- Abbassa la luce della stanza. Con la luce accesa il riflesso sullo schermo copre le ombre, che sono dove il banding vive.
- Ingrandisci al 200% una zona scura di passaggio. Se vedi un brulichio finissimo, c'è il dithering e va bene così. Se vedi una superficie perfettamente liscia, il dithering non c'è: le bande arriveranno appena il file va a schermo pieno.
- Non giudicare da un JPEG ricompresso da un social. Qualunque immagine passata da una piattaforma di condivisione è stata risalvata, e il banding che vedi potrebbe essere stato aggiunto lì.
Perché ne parliamo così tanto
Perché è il difetto che separa un file fatto da uno raccolto. Un'immagine bella con le bande resta un'immagine con le bande, e il difetto si nota proprio nelle condizioni in cui uno sfondo viene guardato di più: schermo grande, stanza in penombra, nessun contenuto sopra a distrarre. È anche il difetto più difficile da vedere in miniatura, e quindi quello su cui un catalogo può barare più a lungo senza che nessuno se ne accorga.
Se vuoi provarlo senza spendere niente, il pack gratuito Essenziale è fatto con lo stesso metodo degli altri venti: iscriviti e ricevi il codice, mettilo su uno schermo grande al buio, e guarda i passaggi scuri. Gli altri quattro controlli da fare prima di scaricare uno sfondo qualunque sono in sfondi gratis: i cinque controlli, e le risoluzioni che servono davvero a ogni macchina sono nella guida alle risoluzioni.
Domande frequenti sul banding
Il banding dipende dal monitor o dal file?
Quasi sempre dal file. Il monitor decide solo quanto sia visibile: un pannello con nero profondo e buon contrasto mostra più banding, non meno, perché rende distinguibili differenze che un pannello scadente impasta. Se compare su uno schermo buono e non su uno scadente, il difetto è nell'immagine.
Si può togliere il banding da un'immagine che ce l'ha già?
No, non davvero. L'informazione che manca fra un livello e l'altro non è recuperabile: si può solo mascherare aggiungendo rumore o sfocando, e in entrambi i casi si perde nitidezza altrove. Il banding si previene in produzione, prima che il file venga salvato la prima volta.
Perché il banding si vede solo nelle zone scure?
Perché lì i livelli disponibili sono più radi rispetto a quanto l'occhio pretende, e le sfumature dei fondi scuri sono lunghe e poco pendenti: pochi livelli distribuiti su molti pixel danno fasce larghe. Nelle zone chiare lo stesso gradiente ha più livelli su cui appoggiarsi.
Cosa c'entra la grana con il banding?
La grana rompe il confine netto fra due fasce adiacenti: nella zona di passaggio i due valori si alternano pixel per pixel, e l'occhio a quella scala media invece di distinguere, leggendo una transizione continua. È il motivo per cui una grana finissima applicata prima della compressione risolve il problema alla radice, al costo di pochi kilobyte.
Un file più pesante ha meno banding?
Non necessariamente. Il peso dipende dalla qualità di compressione, il banding dal numero di livelli e da come è stata composta l'immagine. Un file enorme composto male ha le bande; un file leggero composto in lineare e dithered non le ha. Sono due cose diverse.