Categories: Accademica

sRGB

sRGB (standard Red Green Blue) è uno spazio colore RGB che HP e Microsoft hanno creato in collaborazione nel 1996 per l’uso su monitor, stampanti e Internet. Successivamente è stato standardizzato dalla IEC come IEC 61966-2-1: 1999. Spesso è lo spazio colore “predefinito” per le immagini che non contengono informazioni sullo spazio colore, specialmente se i pixel delle immagini sono memorizzati in interi a 8 bit per canale colore.

sRGB utilizza i primari ITU-R BT.709, gli stessi dei monitor da studio e HDTV, una funzione di trasferimento (curva gamma) tipica dei CRT e un ambiente di visualizzazione progettato per adattarsi alle tipiche condizioni di visione di casa e ufficio. Questa specifica consentiva che sRGB venisse visualizzato direttamente su monitor CRT tipici dell’epoca, il che facilitò enormemente la sua accettazione.

La gamma sRGB

cromaticità Rosso verde Blu Punto bianco
X 0,6400 0,3000 0,1500 0,3127
y 0,3300 0.6000 0,0600 0,3290
Y 0,2126 0,7152 0,0722 1.0000

sRGB definisce le cromaticità dei colori primari rosso, verde e blu, i colori in cui uno dei tre canali è diverso da zero e gli altri due sono zero. La gamma di cromatiche che possono essere rappresentate in sRGB è il triangolo di colori definito da questi primari. Come con qualsiasi spazio cromatico RGB, per i valori non negativi di R, G e B non è possibile rappresentare i colori al di fuori di questo triangolo, che è ben all’interno della gamma di colori visibile a un essere umano con normale visione tricromatica.

sRGB è talvolta evitato dai professionisti dell’editoria di stampa di fascia alta perché la sua gamma di colori non è abbastanza grande, specialmente nei colori blu-verde, per includere tutti i colori che possono essere riprodotti nella stampa CMYK.

La funzione di trasferimento sRGB (“gamma”)
e gamma effettiva in ogni punto. Sotto un valore compresso di 0.04045 o un’intensità lineare di 0.00313, la curva è lineare, quindi la gamma è 1. Dietro la curva rossa c’è una curva nera tratteggiata che mostra una legge di potenza esatto gamma = 2.2.

sRGB definisce anche una trasformazione non lineare tra l’intensità di questi primari e il numero effettivo memorizzato. La curva è simile alla risposta gamma di un display CRT. Questa conversione non lineare significa che sRGB è un uso ragionevolmente efficiente dei valori in un file immagine basato su interi per visualizzare livelli di luce percepibili dall’uomo.

A differenza della maggior parte degli altri spazi colore RGB, la gamma sRGB non può essere espressa come un singolo valore numerico. La gamma complessiva è approssimativamente 2.2, costituita da una sezione lineare (gamma 1.0) vicino al nero e una sezione non lineare altrove che coinvolge un esponente 2.4 e una gamma (pendenza dell’output log rispetto all’entrata log) che passa da 1.0 a circa 2.3. Lo scopo della sezione lineare è che la curva non ha una pendenza infinita a zero, il che potrebbe causare problemi numerici.

Specifica della trasformazione
La trasformazione in avanti (CIE XYZ in sRGB)
I valori CIE XYZ devono essere ridimensionati in modo che la Y di D65 (“bianco”) sia 1.0 (X, Y, Z = 0.9505, 1.0000, 1.0890). Questo è solitamente vero ma alcuni spazi colore usano 100 o altri valori (come nell’articolo Lab).

Il primo passo nel calcolo di sRGB da CIE XYZ è una trasformazione lineare, che può essere eseguita da una moltiplicazione di matrice. (I valori numerici riportati di seguito corrispondono a quelli delle specifiche ufficiali sRGB, che hanno corretto piccoli errori di arrotondamento nella pubblicazione originale da parte dei creatori di sRGB e presuppongono il 2 ° osservatore colorimetrico standard per CIE XYZ)

È importante notare che questi valori RGB lineari non sono il risultato finale in quanto non sono ancora stati regolati per la correzione gamma. La seguente formula trasforma i valori lineari in sRGB:


dove {\ displaystyle a = 0.055} a = 0.055 e dove {\ displaystyle C} C è {\ displaystyle R} R, {\ displaystyle G} G, o {\ displaystyle B} B.

Questi valori corretti per la gamma sono compresi tra 0 e 1. Se sono richiesti valori nell’intervallo da 0 a 255, ad esempio per la visualizzazione di video o la grafica a 8 bit, la tecnica usuale è moltiplicare per 255 e arrotondare a un numero intero.

I valori sono generalmente ritagliati nell’intervallo da 0 a 1. Questo clipping può essere fatto prima o dopo il calcolo della gamma, o fatto come parte della conversione in 8 bit.

La trasformazione inversa
Di nuovo i valori del componente sRGB  ,  ,  sono nell’intervallo da 0 a 1. (Un intervallo compreso tra 0 e 255 può essere semplicemente diviso per 255,0).


dove {\ displaystyle a = 0.055} a = 0.055 e dove {\ displaystyle C} C è {\ displaystyle R} R, {\ displaystyle G} G, o {\ displaystyle B} B.

Related Post

Seguito da una moltiplicazione della matrice dei valori lineari per ottenere XYZ:

Teoria della trasformazione

Spesso si afferma casualmente che la gamma di decodifica per i dati sRGB è 2.2, tuttavia la trasformazione sopra mostra un esponente di 2.4. Questo perché l’effetto netto della decomposizione a tratti è necessariamente una gamma istantanea mutevole in ogni punto dell’intervallo: va da gamma = 1 a zero a una gamma di 2,4 alla massima intensità con un valore medio vicino a 2,2. La trasformazione è stata progettata per approssimare una gamma di circa 2,2, ma con una porzione lineare vicino allo zero per evitare di avere una pendenza infinita a K = 0, che può causare problemi numerici. La condizione di continuità per la curva , che è definito sopra come una funzione a tratti di , è

Risolvere con  e il valore standard  produce due soluzioni,  ≈  o  ≈  . Lo standard IEC 61966-2-1 utilizza il valore arrotondato  . Tuttavia, se imponiamo la condizione che le pendenze coincidano, allora dobbiamo avere

Ora abbiamo due equazioni. Se prendiamo le due incognite {\ displaystyle K_ {0}} K_ {0} e {\ displaystyle \ phi} \ phi allora possiamo risolvere per dare

sostituendo  e  dà  ≈  e  ≈  , con la corrispondente soglia del dominio lineare a  ≈  . Questi valori, arrotondati a  ,  , e  a volte descrivono la conversione sRGB. Pubblicazioni dei creatori di sRGB arrotondato a  e  , risultando in una piccola discontinuità nella curva. Alcuni autori hanno adottato questi valori nonostante la discontinuità. Per lo standard, il valore arrotondato  è stato tenuto e il  il valore è stato ricalcolato per rendere continua la curva risultante, come descritto sopra, determinando una discontinuità di pendenza da 12,92 al di sotto dell’intersezione a 12,70 sopra.

Ambiente di visualizzazione

Parametro Valore
Livello di luminanza dello schermo 80 cd / m 2
Punto bianco illuminante x = 0,3127, y = 0,3290 (D65)
Riflessione surround dell’immagine 20% (~ grigio medio)
Codifica del livello di illuminazione ambientale 64 lux
Codifica del punto di bianco ambientale x = 0,3457, y = 0,3585 (D50)
Codifica della visione flare 1,0%
Tipico livello di illuminamento ambientale 200 lux
Tipico punto bianco ambientale x = 0,3457, y = 0,3585 (D50)
Tipico bagliore di visualizzazione 5.0%

Le specifiche sRGB presuppongono un ambiente di codifica (creazione) scarsamente illuminato con una temperatura del colore correlata all’ambiente (CCT) di 5000 K. È interessante notare che questo differisce dal CCT dell’illuminante (D65). Usare D50 per entrambi avrebbe reso il punto di bianco della maggior parte della carta fotografica apparire eccessivamente blu. Gli altri parametri, come il livello di luminanza, sono rappresentativi di un tipico monitor CRT.

Per ottenere risultati ottimali, ICC consiglia di utilizzare l’ambiente di visualizzazione della codifica (ad esempio, l’illuminazione attenuata e diffusa) piuttosto che l’ambiente di visualizzazione tipico meno rigido.

uso
A causa della standardizzazione di sRGB su Internet, sui computer e sulle stampanti, molte fotocamere digitali e scanner consumer di fascia medio-bassa utilizzano sRGB come spazio colore di lavoro predefinito (o solo disponibile). Poiché la gamma sRGB soddisfa o supera la gamma di una stampante a getto d’inchiostro di fascia bassa, un’immagine sRGB è spesso considerata soddisfacente per l’uso domestico. Tuttavia, i CCD di livello consumer sono in genere non calibrati, il che significa che anche se l’immagine viene etichettata come sRGB, non si può concludere che l’immagine sia sRGB con precisione cromatica.

Se lo spazio colore di un’immagine è sconosciuto e si tratta di un formato di immagine da 8 a 16 bit, supponendo che sia nello spazio colore sRGB è una scelta sicura. Ciò consente a un programma di identificare uno spazio colore per tutte le immagini, che può essere molto più facile e più affidabile rispetto al tentativo di tracciare lo spazio colore “sconosciuto”. È possibile utilizzare un profilo ICC;l’ICC distribuisce tre profili di questo tipo: due profili conformi alla versione 4 della specifica ICC, che raccomandano, e un profilo conforme alla versione 2, che è ancora comunemente usato.

Le immagini destinate alla stampa professionale tramite un flusso di lavoro completamente gestito dal colore, ad esempio l’output di prestampa, a volte utilizzano un altro spazio colore come Adobe RGB (1998), che consente di utilizzare una gamma più ampia. Tali immagini utilizzate su Internet possono essere convertite in sRGB utilizzando strumenti di gestione del colore solitamente inclusi con software che funziona in questi altri spazi colore.

Le due interfacce di programmazione dominanti per la grafica 3D, OpenGL e Direct3D, hanno entrambi incorporato il supporto per la curva gamma sRGB. OpenGL supporta trame con componenti di colori codificati con gamma sRGB (introdotte per la prima volta con estensione EXT_texture_sRGB, aggiunte al core in OpenGL 2.1) e rendering in framebuffer codificati con gamma sRGB (introdotte con l’estensione EXT_framebuffer_sRGB, aggiunte al core in OpenGL 3.0).Direct3D supporta le trame gamma sRGB e il rendering in superfici gamma sRGB a partire da DirectX 9. La corretta mipmapping e l’interpolazione delle trame gamma sRGB ha un supporto hardware diretto nelle unità di texturing delle GPU più moderne (ad esempio nVidia GeForce 8 esegue la conversione da 8 bit a lineare valori prima di interpolare quei valori) e non ha alcuna penalizzazione delle prestazioni.

Share