As imagens de entrada são arquivos RGB (como JPEGs ou TIFFs) ou RAW da câmera. Ambos armazenam informações visuais como uma combinação de cores primárias (por exemplo vermelho, verde e azul) que juntas descrevem uma emissão de luz a ser recriada na tela.
A imagem a seguir ilustra este conceito.
O lado esquerdo da imagem exibe uma luz colorida que nós precisamos representar digitalmente. Nós podemos usar três filtros de cor ideais para decompor esta luz nas três luzes primárias coloridas de diferentes intensidades. Para recriar luz colorida original a partir de nossa decomposição ideal (como ilustrado no centro da imagem), nós simplesmente precisamos recombinar estas três luzes primárias por adição.
Deveria ser possível reproduzir a luz colorida original tomando um conjunto de luzes brancas nas intensidades corretas e projetando estas luzes através de filtros coloridos apropriados. Este experimento pode ser feito em casa usando-se gel e lâmpadas brancas reguláveis. Isto é aproximadamente o que os antigos monitores CRT faziam e como os projetores de vídeo ainda funcionam.
In photography, the initial decomposition step is performed by the color filter array that sits on top of your camera’s sensor. This decomposition is not ideal, so it isn’t possible to precisely recreate the original emission with simple addition – some intermediate scaling is required to adjust the three intensities.
Nos monitores atuais, as lâmpadas de LED são ajustadas proporcionalmente para cada intensidade e as emissões das três luzes são fisicamente adicionadas para reconstruir a emissão original. Imagens digitais armazenam as intensidades destas três luzes primárias como um conjunto de três números para cada pixel, representados no lado direito da imagem acima como tons de cinza.
While a set of display intensities can be easily combined to recreate an original light on a screen (for example, if we created a synthetic image in-computer) the set of captured intensities from a sensor needs some scaling in order for the on-screen light addition to reasonably reproduce the original light emission. This means that every set of intensities, expressed as an RGB set, must be linked to a set of filters (or primary LED colors) that define a color space – any RGB set only makes sense with reference to a color space.
Não só precisamos reconsiderar as intensidades capturadas para torná-las somáveis novamente. Além disso, se vamos recompor a luz original em uma tela que não possui os mesmos filtros coloridos ou primários do espaço de cor ao qual nosso conjunto RGB pertence, precisamos reescalonar estas intensidades para levar em conta os diferentes filtros na tela. O mecanismo para este escalonamento é descrito nos perfis de cor, normalmente armazenados em arquivos .icc
.
Nota: A cor não é uma propriedade física da luz – ela existe somente no cérebro humano, como um produto da decomposição de uma emissão de luz pelo cone de células na retina, novamente de maneira muito similar ao princípio do exemplo de filtragem acima. Um valor “RGB” deve ser entendido como “emissões de luz codificadas em 3 canais conectados a 3 primárias”, mas as primárias em si podem parecer diferentes do que os humanos chamam de “vermelho”, “verde” ou “azul”.
Os filtros descritos aqui são filtros de passagem de banda superpostos. Uma vez que se sobrepõem, somá-los novamente não preservaria a energia do espectro original, então (para abreviar) nós precisamos reduzi-los com respeito à resposta do cone da retina.
Atualmente, a maior parte do processamento de imagens do Ansel ocorre no largo espaço do “perfil de trabalho” do RGB, com alguns módulos (a maioria mais antigos) trabalhando internamente no espaço de cor CIELab 1976 (frequentemente conhecido apenas como “Lab”). A saída final do pipeline de processamento de imagens se encontra novamente em um espaço RGB formatado para o monitor de exibição ou arquivo de saída.
This process implies that the pixelpipe has two fixed color conversion steps: input color profile and output color profile. In addition there is the demosaic step for raw images, where the colors of each pixel are reconstructed by interpolation.
Cada módulo possui uma posição no pixelpipe que indica em qual espaço de cor o módulo trabalha:
up to demosaic : The raw image information does not yet constitute an “image” but merely “data” about the light captured by the camera. Each pixel carries a single intensity for one primary color, and camera primaries are very different from primaries used in models of human vision. Bear in mind that some of the modules in this part of the pipe can also act on non-raw input images in RGB format (with full information on all three color channels).
between demosaic and input color profile : Image is in RGB format within the color space of the specific camera or input file.
between input color profile and output color profile : Image is in the color space defined by the selected working profile (linear Rec2020 RGB by default). As Ansel processes images in 4x32-bit floating point buffers, we can handle large working color spaces without risking banding or tonal breaks.
after output color profile : Image is in RGB format as defined by the selected display or output ICC profile.