O artigo anterior tratou a luminância e a crominância como uma forma de organizar a cor, mas deixou em aberto uma questão mais básica: o que, afinal, um valor de cor significa. Dizer que um pixel é "(255, 0, 0)" parece definir uma cor, mas não define — define apenas três números num certo sistema. Que vermelho exatamente esses números representam depende de algo que o número sozinho não carrega. Essa lacuna é a diferença entre modelo de cor e espaço de cor, e desfazê-la é o objetivo deste artigo. É, de longe, a confusão mais consequente do tema.
Modelo de cor: um sistema de coordenadas
Um modelo de cor é um esquema abstrato para descrever cores por meio de números — um sistema de coordenadas. Há vários: RGB descreve a cor pela soma de três luzes primárias (vermelha, verde e azul); CMYK, pela subtração de tintas; HSL e HSV, por matiz, saturação e luminosidade; e o Y'CbCr do artigo anterior é também um modelo, derivado do RGB.
O RGB domina a captação e a exibição porque telas e sensores trabalham com três primárias aditivas. Mas note o que o modelo efetivamente diz: ele define como combinar as coordenadas — quanto de cada primária —, não quais luzes são as primárias. "(255, 0, 0)" significa "o máximo da primeira primária e nada das outras". Qual é a primeira primária, qual vermelho físico ela emite, o modelo não informa. É uma gramática sem dicionário: dá a estrutura, não os significados.
Espaço de cor: coordenadas ancoradas no real
Um espaço de cor é o que fixa o modelo à realidade física e perceptual. Ele especifica três coisas que o modelo deixa em aberto: as primárias exatas (que vermelho, que verde, que azul), o ponto branco (qual mistura conta como branco) e a função de transferência (como os números se traduzem em intensidade de luz). Com esses três parâmetros definidos, e só então, as coordenadas passam a designar cores específicas.
Os espaços de cor mais comuns em vídeo compartilham o mesmo modelo (RGB) e diferem justamente nesses parâmetros: o sRGB e o Rec.709 regem, respectivamente, a computação e a televisão de alta definição (com primárias praticamente idênticas); o DCI-P3 estende as primárias para uso em cinema e telas modernas; o Rec.2020 as estende ainda mais para a ultra-alta definição. "RGB", portanto, não é um espaço de cor — é o modelo que todos eles instanciam.
Aqui se resolve também a pendência deixada no artigo Luminância e crominância: os coeficientes do luma diferem entre a definição padrão e a alta definição precisamente porque as primárias dos respectivos espaços são diferentes. O peso de cada cor no brilho depende de qual cor, fisicamente, é aquela primária — uma informação que mora no espaço, não no modelo.
Gamut: a extensão das cores representáveis
O conjunto de cores que um espaço consegue representar chama-se gamut, e suas fronteiras são determinadas pelas primárias. Há uma forma canônica de visualizar isso: o diagrama de cromaticidade CIE, que dispõe num plano todas as cores que o olho humano percebe. As cores puras do espectro formam a borda curva (o locus espectral); o interior contém todas as misturas visíveis. As três primárias de um espaço RGB são três pontos nesse diagrama, e o triângulo que elas delimitam é o gamut — todas as cores que aquele espaço pode produzir somando suas primárias.
O diagrama torna duas coisas evidentes. A primeira é que gamuts maiores vêm de primárias mais próximas da borda do diagrama: o triângulo do Rec.2020 é bem mais amplo que o do Rec.709 porque suas primárias são mais "puras", mais saturadas. A segunda, e mais importante para o tema deste artigo, é que a mesma coordenada do modelo cai em pontos diferentes conforme o espaço: o "vermelho máximo" — (255, 0, 0) — está no vértice vermelho do triângulo, e esse vértice ocupa uma posição distinta em cada espaço. O mesmo trio de números designa, portanto, cores físicas diferentes em Rec.709 e em Rec.2020. É exatamente por isso que interpretar os números exige saber o espaço; sem ele, a coordenada é ambígua.
O ponto branco e a função de transferência
As primárias delimitam o gamut, mas não bastam. O ponto branco define qual cromaticidade é tratada como branco neutro — comumente o D65, marcado no diagrama —, e com ele ficam fixados o tom geral e o balanço do espaço. A função de transferência, por sua vez, governa como os valores numéricos se convertem em intensidade luminosa; é a curva que o apóstrofo de R', G', B' já sinalizava no artigo anterior. Como a percepção humana de brilho não é linear, essa curva permite distribuir os níveis disponíveis de forma perceptualmente eficiente — assunto cujo desdobramento, incluindo as curvas de alta faixa dinâmica, pertence a Faixa dinâmica. Para os fins deste artigo, basta que ela seja o terceiro parâmetro que, junto às primárias e ao ponto branco, completa a definição de um espaço.
O que modelo e espaço de cor não são
Modelo não é espaço
Esta é a distinção que o artigo inteiro sustenta. O modelo é o sistema de coordenadas; o espaço é o significado atribuído a essas coordenadas. Tratar "RGB" como se fosse uma cor definida é a origem de boa parte dos erros de cor: uma imagem sem a indicação de seu espaço, ou interpretada no espaço errado, exibe cores deslocadas — não porque os números mudaram, mas porque foram lidos com o dicionário errado. Os números são os mesmos; o que muda é a que cores eles se referem.
Espaço de cor não é profundidade de bits
Retomando a conflação aberta em Profundidade de bits: o espaço (o gamut) define a extensão das cores — o tamanho do triângulo; a profundidade de bits define a finura com que esse triângulo é subdividido — quantos degraus cabem dentro dele. São independentes. Um gamut amplo com poucos bits espalha degraus grosseiros por uma área grande (banding em cores vivas); um gamut estreito com muitos bits oferece degraus finíssimos numa área pequena. Ampliar o gamut não acrescenta degraus, e acrescentar bits não amplia o gamut.
Gamut não é faixa dinâmica
O diagrama de cromaticidade é deliberadamente bidimensional: ele descreve matiz e saturação, mas abstrai o brilho. O gamut, portanto, diz respeito a quais cores, não a quão claras ou escuras elas podem ser — esta última é a faixa dinâmica, um eixo distinto tratado em Faixa dinâmica. As duas coisas costumam ser empacotadas juntas no rótulo "ultra-alta definição" (gamut amplo com o Rec.2020, alta faixa dinâmica com HDR), mas são tecnicamente separáveis: pode-se ter um sem o outro.