Qual è la differenza tra lo spazio colore e la profondità di bit?


13

So che esistono diversi tipi di spazio colore e che sRGB è il più comune. La profondità in bit definisce le variazioni di un canale di colore, dove (penso) 8 e / o 16 bit sono i più comuni.

Alcuni potrebbero dire che sono totalmente diversi e altri potrebbero dire che non si escludono a vicenda.

Qualcuno può spiegare le differenze? Se aumenti la profondità di bit, perché non aumenti anche lo spazio colore?

Risposte:


15

Fondamentalmente, le informazioni sul colore della vita sono come una scatola di pastelli al cioccolato ...

Le informazioni sul colore sono memorizzate in numeri interi, non in valori analogici: esiste un numero discreto e numerabile di colori che può essere descritto a una certa profondità di bit.

Pensa allo spazio colore come una scatola di pastelli di diversi colori. Uno spazio colore descrive i tipi di pastelli disponibili. Pensa a "colori audaci", "pastelli" o simili. La profondità in bit descrive il numero di pastelli.

Ecco un esempio di due diverse scatole di pastelli:

crayonboxes

Entrambi hanno 16 pastelli, ma hanno una gamma di colori diversa - in particolare, il set inferiore non si estende fino al rosso. Poiché ci sono 16 colori, sono 4 bit di profondità del colore (2⁴ = 16).

Uno spazio cromatico "reale" è tridimensionale e ha solo una dimensione. (Cioè, la tonalità.) Ma crea un modello che spero aiuti. La "scatola" superiore ha uno spazio colore che ha un colore "primario" molto rosso ai bordi estremi, mentre quello inferiore si estende solo a un arancio rossastro.

Lo spazio cromatico superiore sembra inizialmente evidentemente superiore (non puoi nemmeno disegnare qualcosa di rosso con quello inferiore!), Ma considera la situazione in cui stai disegnando un paesaggio con cielo, acqua e alberi. Il set di pastelli in basso potrebbe effettivamente essere molto migliore, perché utilizza più dei suoi "bit" per rappresentare sottili sfumature di verde e blu.

Se, invece. hai acquistato le stesse gamme di colori in set da 64 pastelli, ci sarebbero tre nuovi pastelli tra quelli esistenti. Il set inferiore avrebbe ancora più opzioni per il blu e il verde, ma a causa dei nuovi pastelli, il set superiore avrebbe anche molte più opzioni in quella gamma rispetto al set di 16 pastelli. Poiché il set superiore copre anche il rosso, con abbastanza pastelli sarebbe obiettivamente migliore.

Tuttavia, si può immaginare una scelta in cui entrambe le caselle mancano di qualcosa. È un po 'più semplice vedere come potrebbe essere il caso di passare a una visualizzazione un po' più complicata, qui di veri sRGB (come TV o monitor per computer di livello consumer) e inchiostri CMYK standard "SWOP":

CMYK SWOP vs RGB - immagine da me, e le linee sono approssimative

Qui, puoi vedere che lo spazio colore CMYK SWOP¹ si estende ulteriormente nei ciano, magenta / viola e giallo di quanto possa essere rappresentato in sRGB. Anche se aggiungiamo più bit per distinguere tra i passaggi distinguibili disponibili, lo spazio colore determina il bordo . Allo stesso modo, l'aggiunta di più bit alla rappresentazione CMYK non aiuta a rappresentare gli angoli più remoti di rosso, verde e blu coperti da sRGB. (E ovviamente tutti sono una cattiva rappresentazione della gamma della visione umana, rappresentata dalla forma esterna - se ti sei mai chiesto perché è così difficile ottenere foto digitali di verde per sembrare naturali, questo è parte della storia !)

Nella vita reale, spazi colore a 24 bit (8 bit per canale), hai 16,8 milioni di colori con cui lavorare. In genere va bene, e ampiamente considerato essere più colori di quanto l'occhio umano possa distinguere, ma se il tuo spazio cromatico è davvero grande, potresti effettivamente avere lo stesso effetto in cui il salto tra i singoli colori nel mezzo è più grande dell'ideale, ed è possibile che sarebbe evidente in determinate situazioni.

In effetti, alcuni spazi colore "ampi" come ProPhoto RGB hanno colori ai margini dello spazio che non corrispondono a nulla nella visione umana . Sono colori teorici, "immaginari" che fanno funzionare lo spazio colore, ma sono effettivamente sprecati. Quando usi uno spazio colore come quello con un piccolo numero di pastelli (profondità di bit bassa), hai meno opzioni per colori effettivamente utili, rendendo la possibilità di perdere i passaggi più un problema. Qualcosa come sRGB non può coprire ciano e verde lontani (proprio come il rosso mancante nel set sopra), ma in cambio, ottieni una distinzione più fine tra blu e viola e rossi (e i verdi che sono lì).

Se andiamo a 16 bit per canale (48 bit in totale), ci sono 16,8 milioni di "pastelli" aggiuntivi tra ogni ombra nella scatola. Questo è un eccesso eccessivo (sia in ciò che gli umani potrebbero eventualmente distinguere sia nella realtà pratica di rappresentare quella sottile differenza tra lo schermo o la stampa), ma tale eccesso garantisce che siano sempre disponibili transizioni fluide. E dal momento che nella vita reale, spazi colore sono tutti più o meno progettati per la visione di copertura umana (anche se non si allineano esattamente), non si ha realmente esegue in una situazione in cui lo spazio di colore non è rosso a tutti - solo potrebbe non essere altrettanto profondo o sottile.

L'altra cosa da considerare è che sRGB è progettato non solo per essere una corrispondenza decente per la visione umana, ma per essere rappresentabile sulla maggior parte dei dispositivi di consumo , ed è il presupposto predefinito per la visualizzazione non gestita a colori. Ciò significa che quando usi sRGB, hai le migliori possibilità che i "pastelli" che stai usando corrispondano ai "pastelli" che usano i dispositivi dei tuoi spettatori. Ecco perché consiglio di salvare su sRGB per la visualizzazione e la condivisione sul Web- le profondità in bit più alte non sono un'opzione diffusa e la maggior parte delle persone non ha la possibilità di scambiarsi una serie di pastelli a scelta. (Speriamo che questo possa migliorare in futuro, ma non sembra davvero essere una priorità per i produttori di dispositivi di consumo. Forse quando il telaio 3D e 4K si stabilizzano possiamo ottenere maggiore enfasi sul "colore profondo" - profondità di bit più elevate per display del consumatore.

(Alcuni di questi sono stati presi in prestito dalla mia precedente risposta a Come si sovrappongono gli spazi colore come sRGB e Adobe RGB? )


Nota

1. Questo esempio particolare è una semplificazione eccessiva e lucida sulla rappresentazione reale delle immagini CMYK e su alcuni altri dettagli; fa comunque un buon esempio, perché la maggior parte degli spazi colore reali sono progettati per sovrapporsi il più possibile e questo mostra qualcosa che non corrisponde.


OK. Quindi, supponiamo che lo spazio colore superiore (riga superiore dei pastelli) abbia il doppio della profondità di bit di quello inferiore, teoricamente potrebbe coprire tutti i colori / sfumature come quello inferiore? Tuttavia, se entrambi sono uguali in profondità, allora no. Non può coprire gli stessi colori / tonalità. Quindi, anche se non stai modificando lo spazio colore, aumentare la profondità di bit (di uno spazio colore) ha il potenziale di coprire gli stessi colori di uno spazio colore diverso?
BBking,

@BBking Bene, è tridimensionale piuttosto che la linea unidimensionale che dà l'esempio del pastello, ma in entrambi i casi la questione della copertura ha fondamentalmente a che fare con gli estremi. Guarda la seconda riga: l'aggiunta di più bit non si aggiunge agli estremi rossi. Ma andando dall'altra parte, sì, a causa del modo in cui l'ho costruito, abbastanza più bit nella parte superiore lo faranno coprire più colori - non sarà esattamente lo stesso, ma sarà comunque un gradiente più uniforme. Se vai a più di 2 ×, la riga superiore sarà un superset di quella inferiore.
Leggi il profilo

1
Tuttavia, avrei potuto costruire la riga inferiore in modo che si estenda in una direzione che la riga superiore non copre - potrebbe essere che gli estremi non si sovrappongano e nessuna quantità di aggiunta di bit cambierà ciò. (Vedi la [domanda di sovrapposizione per ulteriori informazioni.)
Leggi il profilo

Vedo. Ora non so se dovrei cambiare il tuo con la risposta ...: /
BBking

@BBking Bene, fammi sapere cos'altro potrebbe essere più chiaro! :)
Leggi il profilo

11

La profondità di bit e lo spazio colore non sono la stessa cosa, né si escludono a vicenda. Sono cose diverse che esistono contemporaneamente. Per una spiegazione particolarmente semplice:

  • La profondità in bit determina la finezza con cui viene classificato ciascun colore distinto .

  • Lo spazio colore determina la misura in cui questi colori sono distribuiti .

Prendiamo sRGB e AdobeRGB come spazi colore e colori a 8 e 16 bit come profondità di bit. sRGB è uno spazio colore ridotto, mentre AdobeRGB è uno spazio colore più ampio. Gli spazi colore, o gamut, definiscono in che misura i colori possono essere scelti dall'intera gamma di colori visibili all'occhio umano (o, anche, oltre tale intervallo, come nel caso di ProPhotoRGB o di alcuni dei nuovi 10 bpc Gamme TV). Se si mappa il colore "Verde puro" in sRGB, quel colore sarà effettivamente un verde numericamente puro ... tuttavia potrebbe non essere il verde puro più percettivamente accurato. Mappa lo stesso colore "Pure Green" è AdobeRGB e mentre numericamente è lo stesso verde, quando mappato in AdobeRGB è più saturo e vibrante. (Inoltre, mappa lo stesso colore in ProPhotoRGB e sarà ancora più saturo rispetto ad AdobeRGB ... supponendo, ovviamente,

Ora arriva un po 'di profondità. La differenza tra Pure Green in 8 bit e 16 bit è 0,255,0 rispetto a 0,65535,0. Un numero molto più grande è usato per descrivere il canale verde in verde puro in colore a 16 bit che in colore a 8 bit. Se introduciamo un verde medio, il valore in 8 bit potrebbe essere 0,128,0 mentre in 16 bit sarebbe 0,32768,0. Stesso colore, ma il numero di colori distinti nel grado tra Verde Puro e Verde Medio è molto più alto con il colore a 16 bit. Hai un totale di 32768 livelli distinti di verde tra questi due livelli in 16 bit, contro un semplice 128 livelli distinti in 8 bit. Diciamo che scegliamo un verde più chiaro, diciamo 0,192,0 in 8 bit. Lo stesso colore sarebbe 0,49152,0 in 16 bit. Questo aumento di potenziali colori distinti significa che i gradienti diventano considerevolmente più lisci e delineati più finemente quando si usa una profondità di bit più elevata.

Infine, come funzionano insieme profondità di bit e spazi colore? Con una gamma ristretta, come sRGB, hai uno spazio colore limitato all'interno del quale mappare colori distinti. Con sRGB e il colore a 8 bit, ogni colore sarà veramente distinto mentre attraversi tutti i verdi da 0,1,0 a 0,128,0 a 0,255,0. Cosa succede se si dispone di un'immagine a 16 bit nello spazio sRGB? Numericamente, la tua immagine ha la capacità di rappresentare oltre 280 trilioni di colori distinti (16 + 16 + 16 bit per un totale di 48 bit, 2 ^ 48 per 281,5 trilioni). Dal punto di vista percettivo ... quando i valori RGB numerici sono mappati su colori con restrizioni di gamma, una quantità significativa di quei 280 trilioni di colori finirà per essere mappata sulla stessa identica "coordinata di colore" all'interno dello spazio colore. Il tuo file di immagine contiene ancora dati a colori di precisione completa, tuttavia quando viene visualizzato sullo schermo (o reso per la stampa),

Se passiamo ad AdobeRGB, la gamma cresce, è uno spazio cromatico più ampio e può quindi comprendere un numero maggiore di mappature dei colori distinte. Con una profondità di colore a 8 bit, la tua mappatura sarà scarsamente efficace in questa gamma più ampia. Tecnicamente parlando, la gamma è in grado di descrivere più colori di quanto la tua profondità di bit ti consenta di fare riferimento. I tuoi fattori limitanti sono stati scambiati ... invece che la gamma è restrittiva, la profondità di bit è restrittiva. Se utilizziamo il colore a 16 bit nello spazio colore AdobeRGB, c'è più spazio per i nostri 280 trilioni di potenziali colori per fare riferimento a colori distinti. È probabile che più colori siano ancora associati alle stesse coordinate effettive nello spazio AdobeRGB, tuttavia ci saranno molte meno collisioni in questo spazio più ampio rispetto a sRGB.

Quindi, mentre lo spazio colore / gamma e la profondità di bit sono elementi distinti, sono correlati. Non è necessario utilizzare una gamma più ampia quando si utilizza una profondità di bit più elevata per memorizzare i dati delle immagini, tuttavia è consigliabile ottenere il massimo da quella profondità di bit più elevata. Al contrario, se si stanno salvando immagini con una profondità di bit inferiore, è spesso meno utile eseguire il rendering di quelle immagini con qualcosa di più di sRGB.

Per sfruttare appieno le informazioni sul colore ad alta profondità di bit in un file di immagine, gamut più grandi e schermate contemporaneamente migliori che possono effettivamente visualizzare tali gamut, diventano preziosi. Per eseguire il rendering a colori a 10, 12 e 16 bit su TV o schermi di computer, sono spesso necessarie gamme più grandi di AdobeRGB e persino più grandi di ProPhotoRGB per sfruttare appieno la percezione visiva umana. I nostri occhi sono dispositivi straordinari e capaci di un'incredibile gamma dinamica e di una sensibilità del colore estremamente ampia. I moderni schermi a 10 bit con LUT hardware a 12, 14 e 16 bit (3D Color Look Up Tables) sono in grado di visualizzare 1,07 miliardi di colori simultanei, selezionati tra un totale di 68,7 miliardi (12 bit), 4,4 trilioni (14 bit) o ​​281,5 trilioni (16 bit) di colori descritti in modo molto accurato da LUT.


2
"La differenza tra Pure Green in 8-bit e 16-bit è 0,255,0 vs. 0,65535,0". Perfetto! Questo mi ha fatto capire molto meglio.
BBking,

1
Lo spazio colore non è solo "estensione" (gamma); racchiude l'intera topologia dei colori nello spazio. Considera spazi di colore non RGB come YUV, HSL (spesso rappresentato come un cilindro anziché un cubo), CMYK (uno spazio 4-dimensionale), ecc.
Jason C,

@Jason: il termine "estensione" funziona per oggetti spaziali tridimensionali. Non significa solo un'estensione bidimensionale come un triangolo sovrapposto all'intero grafico di luminosità / saturazione dello spazio Lab. Estensione indica l'intera estensione dello spazio colore, in tutte e tre le dimensioni, indipendentemente dalla forma effettiva che l'estensione assume. Direi anche che sRGB, AdobeRGB, ecc. Sono spazi di colore, mentre RGB, YUV, HSL, CMYK, ecc. Sono modelli di colore, non spazi di colore. Gli spazi colore SONO 3D, ma generalmente hanno strane forme a diamante, non sono mai cilindrici o cubici.
jrista

1
Da un punto di vista numerico, sì. Dal punto di vista del rendering, dipende dallo spazio colore. ;)
jrista

1
Usando i colori di esempio di Matt, probabilmente finirebbe con un giallo brillante (255.255,0), poiché questa è l'opzione praticabile più vicina. Se intendi (255,0,0), allora diventerebbe arancione. Esistono vari intenti di rendering che possono essere utilizzati quando si mappano valori numerici di colore su coordinate dello spazio colore: assoluto, relativo, saturazione, percettivo. A seconda dell'intento, il risultato esatto del colore (il colore "renderizzato") sarà leggermente (o forse selvaggiamente, dipende dallo spazio colore e dal profilo ICC) diverso.
jrista

3

Queste sono cose indipendenti. Lo spazio colore rappresenta tutti i colori possibili ed è uno spazio continuo. I dispositivi digitali richiedono una discretizzazione dello spazio. Ciò significa che i passaggi di ciascuno possono rappresentare i colori che si trovano all'interno dello spazio colore.

Ecco una semplice analogia: cosa sull'altezza tra due piani come spazio colore. Questo è lo spazio tra i piani. Ora, quanti passaggi sono necessari per costruire una scala dal piano inferiore a quello superiore? La risposta dipende dalla dimensione se il passaggio. Questa è la profondità.

Ora, quando si parla di profondità di bit utilizzate nei formati di file, la situazione è più complessa perché non tutti i passaggi hanno le dimensioni, poiché la profondità di bit non è distribuita uniformemente in senso lineare. A volte i passaggi seguono una curva basata su precetti, una curva gamma o una curva di registro.

Generalmente se si aumenta la profondità di bit si ottiene una maggiore gradazione all'interno di uno spazio colore, ma i suoi limiti rimangono gli stessi. Esistono tuttavia formati di file HDR che utilizzano valori in virgola mobile o fissi che possono anche essere negativi per rappresentare i colori al di fuori dello spazio colore speciale.


Penso di essere ancora allo stesso livello di comprensione. La tua analogia edilizia mi ha confuso ancora di più. Se avessi detto che lo spazio colore è come la quantità di livelli in un edificio (ogni livello rappresenta un colore) mentre i passaggi nell'edificio possono essere la profondità di bit. Pertanto, all'interno dello stesso spazio colore è possibile avere profondità di bit diverse. Se un edificio è sRGB con passi da 8 bit, questo avrà meno dettagli di colore rispetto a un edificio sRGB a 16 bit. Tuttavia, aumentando la profondità di bit aumenta le dimensioni dell'edificio. Pertanto, cambiando (ma non molto) lo spazio colore ??
BBking,

2
@BBking: non è del tutto corretto. I due non sono collegati in questo modo. Le dimensioni dell'edificio non devono cambiare se si passa a 16 passaggi, poiché è possibile rendere i passaggi più vicini rispetto a quando si hanno solo 8 passaggi. La profondità in bit è la vicinanza dei gradini, mentre lo spazio colore è la dimensione dell'edificio. Ho aggiunto una risposta che può aiutare.
jrista

1
Si noti che uno spazio colore non rappresenta intrinsecamente tutti i colori possibili, la maggior parte no. O volevi dire qualcosa del tipo "lo spazio colore di X descrive l'insieme dei possibili colori in X"?
phresnel,

2

Proviamo un semplice esempio. Diciamo che abbiamo uno spazio colore chiamato "arcobaleno". Contiene i colori di un arcobaleno, quindi è composto da rosso, arancione, giallo, verde, blu e viola. Lo spazio colore descrive una gamma di colori coperti dalla gamma.

La profondità in bit invece definisce quanti colori distinti possiamo creare in quello spazio. Se avessimo solo un paio di bit, saremmo in grado di rappresentare solo i colori di base dell'arcobaleno, ma se avessimo un gruppo di bit, potremmo creare rossi scuri e rossi brillanti e rossi medi, ecc. Con più bit, possiamo definire valori più unici e quindi avere più colori, ma sono ancora tutte sfumature di rosso, arancione, giallo, verde, blu e viola.

Questo è il motivo per cui in realtà è possibile avere una profondità di bit più elevata che rappresenti una gamma di colori più piccola, finendo con una precisione molto maggiore all'interno dei colori che sono coperti.

Più tecnicamente, la velocità in bit definisce la granularità dei colori all'interno dello spazio colore e lo spazio colore definisce i valori minimo e massimo del colore (e forse anche altre cose, a seconda dello spazio), ma potresti avere un numero qualsiasi di passa tra questi valori.

I bit extra per espandere lo spazio colore che copri, dare un controllo più fine dei colori all'interno dello spazio colore o fare una combinazione dei due.


1

Un modo semplice di pensare a queste cose è che gli spazi colore sono contenitori. Contengono i valori di colore dello spazio colore per cui sono stati creati. Se sono spazi colore RGB, i valori sono RGB- 0-255 in ciascun canale. Se i valori CMYK 0-100.

Questi valori non cambiano se lo fa il volume dello spazio colore. Ciò che cambia il volume di uno spazio colore sono i valori CIEXYZ che definiscono quello spazio. Uno spazio colore di volume maggiore può generalmente contenere colori più saturi. Un esempio di ciò è sRGB un piccolo spazio colore per volume e ProPhoto, un ampio spazio colore per volume. L'apertura di un'immagine sRGB in Photoshop produce un risultato atteso, ma l'assegnazione del profilo ICC ProPhoto modifica drasticamente il colore dell'immagine e la rende più satura ma i valori RGB non sono cambiati. Solo la loro relazione con CIELab. Quei valori CIEXYZ che definiscono il volume dello spazio colore vengono convertiti in CIELab e quindi nello spazio di destinazione.

La profondità in bit è la quantità di informazioni sul colore disponibili in un pixel. Questo è spiegato molto bene quiUna maggiore profondità di bit applicata alla fotografia e alle immagini digitali consente maggiori informazioni sull'immagine in ciascun pixel. Questa maggiore profondità di bit offre una maggiore regolabilità quando si aprono le ombre o si riportano i dettagli delle alte luci. Ricorda che viene visualizzata la profondità di bit dei pixel non acquisita. Ricorda che una volta che i bit o lo spazio colore sono ridotti, non possono essere espansi. Portare un'immagine a 8 bit a 16 bit non crea più bit per pixel, ma semplicemente raddoppia i bit nel pixel a 8 bit. Stessa cosa con gli spazi colore. Se l'immagine è stata renderizzata in sRGB e ora desideri che tutti quei colori brillanti dell'immagine orig siano stampati sulla tua stampante di grande gamma, mi dispiace che quei colori non esistano più in quell'immagine sRGB. Ricominciare da capo e renderizzare quei pixel nello spazio colore più grande.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.