O básico sobre gerenciamento de cor

Visão geral

O objetivo de um fluxo de trabalho com gerenciamento de cor é garantir que as cores provenientes da sua câmera ou scanner tenham uma relação previsível com as cores que você realmente fotografou ou digitalizou, que as cores exibidas no seu monitor correspondam às cores provenientes da sua câmera ou scanner e que as cores que você imprime ou exibe na web correspondam às cores que você produziu na sua sala escura digital.

Um fluxo de trabalho de cor típico adquire imagens com uma câmera ou scanner, exibe as imagens em um monitor e as imprime em uma impressora. Embora cada um desses dispositivos possa representar cores usando valores RGB de 8 bits, eles não o fazem exatamente da mesma maneira. Especificamente, um valor RGB de (200, 130, 200) provavelmente corresponderá a diferentes tons de roxo em cada um desses dispositivos. O objetivo do gerenciamento de cor é ajustar os valores RGB dos dados da imagem à medida que eles passam da entrada para a exibição e para a impressão, de forma a manter as mesmas cores percebidas em todos os dispositivos.

O gerenciamento de cor funciona caracterizando a capacidade de reprodução de cor (também chamada de espaço de cor) de cada dispositivo (por exemplo, câmera, scanner, monitor ou impressora) no que é chamado de perfil ICC. Esses perfis ICC são definidos para que possam ser usados ​​para traduzir os números RGB usados ​​para representar uma cor específica em um ponto do fluxo de trabalho nos números RGB apropriados para representar exatamente a mesma cor em outro ponto do fluxo de trabalho. O gerenciamento de cor usando conversões ICC é ilustrado na figura a seguir.

O esquema geral de espaços de cor usados ​​em um aplicativo com gerenciamento de cor como o digiKam

Para permitir a conversão de qualquer espaço de cor para qualquer outro espaço de cor, decidiu-se que todos os perfis ICC seriam definidos de forma que pudessem converter entre o espaço de cor do dispositivo e um espaço de cor de trabalho comum. Assim, duas conversões ICC são mostradas no diagrama para converter dados de uma câmera em dados adequados para exibição em um monitor: uma da câmera para o espaço de trabalho e outra do espaço de trabalho para o monitor. Portanto, o gerenciamento de cor é, em grande parte, uma questão de usar os perfis de dispositivo apropriados para permitir a conversão adequada dos dados da imagem à medida que eles se movem de um dispositivo para outro.

Quando se trata de gerenciamento de cor, todos querem saber quais botões apertar para obter as cores certas. Infelizmente, o gerenciamento de cor envolve fazer escolhas informadas em cada etapa do fluxo de trabalho de processamento de imagens. O objetivo desta seção é fornecer informações básicas suficientes sobre gerenciamento de cor, juntamente com links para informações mais detalhadas, para que você possa começar a tomar suas próprias decisões informadas.

Quando você não precisa de gerenciamento de cor

Se o seu fluxo de trabalho de geração de imagens atender a todos os seis critérios listados abaixo, você não precisará se preocupar com o gerenciamento de cor:

  • Você está trabalhando em um monitor calibrado corretamente para o espaço de cor sRGB (consulte esta seção deste manual para uma descrição detalhada do espaço de cor sRGB).

  • Seu fluxo de trabalho de geração de imagens começa com um JPEG produzido na câmera já no espaço de cor sRGB.

  • Você trabalha exclusivamente no espaço de cor sRGB para edição.

  • Sua impressora está apta a receber imagens no espaço de cor sRGB.

  • Seu scanner produz imagens no espaço de cor sRGB.

  • A única outra saída de imagem é via e-mail ou pela web, onde sRGB é o padrão de fato.

Definições úteis

Para entender melhor o gerenciamento de cor, precisamos definir alguns termos-chave:

Perfil ICC é um conjunto de dados que caracteriza um dispositivo de entrada ou saída de cor, ou um espaço de cor, de acordo com os padrões promulgados pelo Consórcio Internacional de Cor (ICC, em inglês). Os perfis descrevem os atributos de cor de um dispositivo específico (ou os requisitos para visualização de uma imagem) definindo um mapeamento entre o espaço de cor de origem ou de destino do dispositivo e um espaço de conexão de perfil (PCS, sigla em inglês). Este PCS é o CIELAB (L*a*b*) ou o CIEXYZ. Os mapeamentos podem ser especificados usando tabelas, às quais se aplica interpolação, ou por meio de uma série de parâmetros para transformações.

(A seção da visão geral simplificou demais o perfil ICC como mapeamento entre o dispositivo e um espaço de trabalho, quando na verdade eles convertem para um PCS. O PCS pode ser considerado um espaço de cor universal. Portanto, o fluxo da câmera para o monitor pode, na verdade, envolver quatro conversões de espaço de cor: câmera para PCS, PCS para espaço de trabalho, espaço de trabalho para PCS e PCS para monitor. Os motivos para essas etapas extras são descritos abaixo.)

Gamute é a amplitude de cores que pode ser codificada com precisão em uma imagem ou representada por um dispositivo.

Ponto branco é um conjunto de valores RGB que servem para definir a cor “branca” em uma imagem ou reprodução.

Correção de gama é uma operação não linear usada para codificar e decodificar valores em imagens, a fim de reduzir os artefatos visuais causados ​​pelo armazenamento de dados de pixels com um número finito de bits. Por exemplo, imagens são codificadas com uma gama de aproximadamente 0,45 e decodificadas com o gama recíproco de 2,2 para exibição na maioria dos monitores de computador.

Um exemplo simples de uma dessas conversões pode ser útil. Para aplicar uma correção de gama de 2,2 a um valor de dados de 212 em uma representação de 8 bits, divida o valor por 2^8 = 256 para converter para uma escala de 0 a 1. Nesse caso, 212/256 = 0,828. Em seguida, eleve esse valor à potência de 2,2, ou seja, 0,828^2,2 = 0,660. Em seguida, multiplique por 256 para converter o resultado de volta para uma escala de 0 a 255: 0,660 * 256 = 169. A correção de gama aplica esse mesmo algoritmo a cada cor em cada pixel da imagem, tudo em tempo real.

Os espaços de cor mais simples podem ser especificados por uma combinação de gamute, ponto branco e gama.

Converter uma imagem em um novo perfil incorpora o novo perfil na imagem, mas também altera os números RGB na imagem para que o significado dos valores RGB — ou seja, a cor visível no mundo real representada pelo trio de números RGB associados a cada pixel em uma imagem — permaneça o mesmo antes e depois da conversão de um espaço para outro.

Se os espaços diferirem apenas por seus gamas, a conversão envolverá a correção de gama usando os respectivos gamas dos espaços de cor inicial e final. Conversões de cor envolvendo gama e pontos brancos são matematicamente mais complexas, mas baseadas em lógica semelhante.

Em teoria, você deveria ser capaz de realizar múltiplas conversões de uma imagem de um espaço de cor para outro e, se estiver usando um editor de imagem com gerenciamento de cor, mesmo que todos os números RGB da imagem mudem a cada conversão, a imagem exibida na tela deverá ter a mesma aparência. Na verdade, erros de arredondamento ocorrem em cada conversão, e cortes de gamute podem ocorrer ao passar de um espaço de cor maior para um menor. Portanto, a precisão das cores da imagem diminui um pouco a cada conversão de um espaço para outro.

Atribuir um perfil de cor altera o significado dos números RGB em uma imagem, incorporando um novo perfil sem alterar os números RGB reais associados a cada pixel da imagem. Quando você simplesmente atribui um novo perfil de cor, a aparência da imagem deve mudar mais ou menos drasticamente (geralmente para pior, a menos que o perfil errado tenha sido incorporado inadvertidamente à imagem). A única exceção ocorre ao atribuir inicialmente um perfil de câmera ao arquivo de imagem obtido do seu software de processamento RAW. Isso é uma exceção porque a atribuição é presumivelmente o perfil de cor correto para uma imagem produzida por aquela câmera.

Perfis dependentes de dispositivo e independentes de dispositivo: Um perfil de câmera, um perfil de scanner, o perfil do seu monitor e o perfil de cor da sua impressora são todos perfis dependentes de dispositivo — esses perfis funcionam apenas com o dispositivo específico para o qual foram produzidos por meio da criação de perfil. Os perfis de espaço de trabalho e o espaço de conexão de perfil são independentes de dispositivo. Depois que um arquivo de imagem é traduzido pelo Lcms (o sistema de gerenciamento de cor de código aberto usado no digiKam) para um espaço de trabalho independente de dispositivo, em certo sentido, não importa mais qual dispositivo produziu a imagem originalmente. Mas assim que você desejar exibir ou imprimir a imagem, o dispositivo de saída (monitor, impressora) importa muito, e a imagem deve ser convertida para o perfil do dispositivo de saída.

Um arquivo RAW demosaicado não é um arquivo RAW. Por algum motivo, esse simples ponto causa muita confusão. Mas depois que um arquivo RAW é interpolado e demosaicado (ou seja, é feita a reconstrução de cor) por um software de processamento RAW e, em seguida, é gerada uma imagem TIFF ou JPEG, o arquivo RAW original ainda é um arquivo RAW, mas o arquivo demosaicado é apenas um arquivo de imagem. Ele não é mais um arquivo RAW.

Linear possui duas definições relacionadas e facilmente confundíveis. Linear pode significar que a tonalidade da imagem reflete a tonalidade da cena original conforme fotografada, em vez de ser alterada pela aplicação de uma curva S ou outros meios de alterar a tonalidade local e global. Também pode significar que a curva de transferência de gama do espaço de cor é linear. Uma imagem pode ser linear em qualquer um, ambos ou nenhum desses dois sentidos. Uma imagem RAW, como a manipulada pela Libraw, é linear em ambos os sentidos. A mesma imagem manipulada pelo software de processamento RAW da Canon não será linear em nenhum dos dois sentidos.

HDR e LDR não se referem à profundidade de bits da imagem. Alta faixa dinâmica e Baixa faixa dinâmica referem-se à faixa dinâmica total abrangida por uma imagem. Uma imagem normal de baixa faixa dinâmica, digamos, abrangendo apenas 5 pontos (a câmera digital média hoje em dia pode facilmente acomodar 8 ou 9 pontos), pode ser salva como uma imagem de 8, 16, 32 ou até 64 bits, dependendo do seu software. Mas armazenar com mais bits não aumenta em nada a faixa dinâmica da imagem. Apenas o número de passos discretos do tom mais claro para o mais escuro na imagem mudou. Por outro lado, uma cena de 22 pontos (muito além da capacidade de uma câmera digital voltada para o consumidor sem usar múltiplas exposições) pode ser salva como uma imagem de 8 ou 16 bits, mas a imagem resultante exibirá transições pouco suaves entre diferentes cores (ou seja, exibirá transições pouco suaves em qualquer intervalo tonal que possa ser exibido em um monitor típico ao mesmo tempo) devido aos relativamente poucos passos tonais discretos disponíveis, do tom mais claro ao mais escuro na imagem. Este fenômeno é denominado, em inglês, com o termo “banding”, também conhecido como “casca de cebola”.

JPEGs produzidos na câmera não precisam de um perfil de câmera: Todos os JPEGs (ou TIFFs) que saem diretamente de uma câmera (mesmo se produzidos por câmeras do tipo apontar e fotografar que não permitem salvar um arquivo RAW) começam a vida dentro da câmera como um arquivo RAW produzido pelo conversor analógico-digital da câmera. Se você salvar suas imagens como JPEGs, o processador dentro da câmera interpola o arquivo RAW, atribui um perfil de câmera, traduz os números RGB resultantes para um espaço de trabalho (geralmente sRGB, mas às vezes você pode escolher AdobeRGB, dependendo da câmera), faz a compactação JPEG e armazena o arquivo JPEG no cartão da câmera. Portanto, os JPEGs (ou TIFFs) da sua câmera não precisam ter um perfil de câmera atribuído para serem traduzidos para um espaço de trabalho. Os JPEGs de uma câmera já estão em um espaço de trabalho.

Espaço de conexão de perfil

Suponha que a Libraw produza uma imagem TIFF de 16 bits a partir de um arquivo RAW produzido por uma câmera específica (marca e modelo). A questão então é: o que cada trio específico de valores RGB atribuídos a cada pixel da imagem realmente significa em termos de algum padrão absoluto, referenciando algum observador ideal? E é mesmo possível definir um observador ideal? Pessoas reais veem as mesmas cores quando olham para o mundo?

Em 1931, o Consórcio Internacional de Cor decidiu mapear e descrever matematicamente todas as cores visíveis para pessoas reais no mundo real. Eles fizeram isso mostrando a um grupo de pessoas um conjunto de cores, pedindo-lhes que dissessem quando uma cor combinava com aquela cor. Esse teste foi complicado pelo fato de que duas cores visualmente correspondentes podem ser produzidas por diferentes combinações de comprimentos de onda. A percepção humana das cores depende do fato de que temos três tipos de receptores de cone com pico de sensibilidade à luz em comprimentos de onda de aproximadamente 430, 540 e 570 nm, mas com considerável sobreposição de sensibilidade entre os diferentes tipos de cone. Uma consequência de como vemos as cores é que muitas combinações diferentes de diferentes comprimentos de onda de luz parecerão a mesma cor.

No final, o ICC produziu o espaço de cor CIE-XYZ, que descreve e modela matematicamente todas as cores visíveis a um observador humano ideal. O termo ideal, neste caso, significa que a modelagem foi baseada na resposta média de muitos indivíduos.

Na prática, esse espaço de cor que abrange a percepção humana não é um perfil de cor no sentido comum da palavra. Em vez disso, ele fornece um espaço de referência para descrever todas as cores. Os sistemas de gerenciamento de cor comumente usam o espaço de cor CIE-XYZ como um Espaço de conexão de perfil (PCS, em inglês) para traduzir valores de cores RGB de um espaço de cor para outro. Por exemplo, um perfil de câmera é necessário para caracterizar ou descrever com precisão a resposta dos pixels de uma determinada câmera à luz que entra nessa câmera, para que essas cores possam ser mapeadas para um espaço de trabalho. Os perfis de câmera ICC funcionam primeiro convertendo os valores RGB para um espaço de conexão de perfil absoluto, geralmente baseado em CIE-XYZ, e depois do espaço de conexão de perfil para o espaço de trabalho escolhido.

O CIE-XYZ não é o único espaço de conexão de perfil. Outro espaço de conexão de perfil comumente utilizado é o CIE-Lab, que é matematicamente derivado do espaço CIE-XYZ. O CIE-Lab foi projetado para ser perceptualmente uniforme, o que significa que uma mudança da mesma magnitude em um valor de cor deve produzir uma mudança com aproximadamente a mesma importância visual.

As três coordenadas do CIE-Lab representam a luminosidade da cor (L = 0 produz preto e L = 100 indica branco difuso; branco especular pode ser maior), sua posição entre vermelho/magenta e verde (a, valores negativos indicam verde, enquanto valores positivos indicam magenta) e sua posição entre amarelo e azul (b, valores negativos indicam azul e valores positivos indicam amarelo).

O software usado no digiKam para traduzir do perfil da câmera para o espaço de conexão de perfil e do espaço de conexão de perfil para o espaço de trabalho escolhido e, eventualmente, para o espaço de saída escolhido (para impressão ou talvez exibição no monitor) é baseado no Lcms (o mecanismo Little Color Management).

Vale a pena mencionar que o Lcms realiza conversões mais precisas do que o mecanismo de conversão de cor proprietário da Adobe. Além disso, a conversão RAW no digiKam é baseada na decodificação do arquivo RAW proprietário feita pelo Libraw. Esta biblioteca é um ótimo componente de código aberto, pois sem ela estaríamos todos presos ao software proprietário exclusivo para Windows ou Mac que acompanha nossas câmeras digitais. Os algoritmos de reconstrução de cor do Libraw (não confundir com a decodificação do arquivo RAW proprietário mencionada anteriormente) produzem resultados iguais ou superiores aos de softwares comerciais de código fechado.

Resumindo, todas as conversões de gerenciamento de cor são feitas de e para espaços de conexão de perfil, definidos com um gamute de cor que se aproxima bastante da percepção humana. O PCS é usado internamente no processo de conversão, e você nunca verá dados nele. Mas você pode pensar em um Espaço de conexão de perfil como um Tradutor universal entre todos os outros perfis de cor.

Conexões de espaço de cor

O fluxo de trabalho que uma imagem típica pode seguir no decorrer de sua jornada do arquivo RAW da câmera até a saída final inclui as seguintes etapas:

  1. O Lcms usa o perfil da câmera, também chamado de Perfil de entrada, para traduzir os números RGB interpolados produzidos pelo Libraw, que só têm significado em relação à sua câmera (marca e modelo), para um segundo conjunto de números RGB que só têm significado no Espaço de conexão de perfil.

  2. O Lcms traduz os números RGB do Espaço de conexão de perfil para os números correspondentes no Espaço de trabalho escolhido, para que você possa editar sua imagem. E, novamente, esses números do espaço de trabalho só têm significado em relação a um determinado espaço de trabalho. O mesmo vermelho, visualmente falando, é representado por diferentes trios de números RGB em diferentes espaços de trabalho; e se você atribuir o perfil errado, a imagem ficará ligeiramente ou muito errada, dependendo das diferenças entre os dois perfis.

  3. Enquanto você edita uma imagem no Espaço de trabalho escolhido, o Lcms é usado para traduzir todos os números RGB do espaço de trabalho de volta para o Espaço de conexão do perfil e, em seguida, para os números RGB corretos que permitem que seu monitor (seu dispositivo de exibição) forneça a representação de exibição mais precisa possível da sua imagem. Essa tradução para o espaço de cor do monitor é feita instantaneamente e você nem deve perceber.

  4. Quando você estiver satisfeito que sua imagem editada esteja pronta para ser compartilhada com o mundo, o Lcms traduz os números RGB do Espaço de trabalho de volta para o Espaço de conexão de perfil e novamente para um Espaço de cor da impressora usando um Perfil de impressora caracterizando sua combinação de impressora/papel (se você planeja imprimir a imagem) ou para o espaço de cores sRGB (se você planeja exibir a imagem na web ou enviá-la por e-mail para amigos ou talvez esteja criando uma apresentação de slides para reproduzir em monitores diferentes do seu).

Essa mágica de conversão de perfis também suporta Prova de monitor, uma forma de visualizar na tela o resultado esperado de uma saída em outro dispositivo, normalmente uma impressora. A prova de monitor mostra a saída esperada antes mesmo de você imprimi-la e desperdiçar sua cara tinta. Isso permite que você aprimore suas configurações de cor sem desperdiçar tempo e dinheiro. Para mais informações, consulte a seção dedicada Prova de monitor deste manual.

É claro que as conversões de perfil não são perfeitas, especialmente quando se converte entre espaços com gamutes diferentes. Intenção de renderização refere-se à maneira como os gamutes são tratados quando o espaço de cor alvo pretendido não consegue lidar com o gamute completo. Para mais informações, consulte esta seção deste manual.

Agora que você viu o esboço de como o gerenciamento de cor é usado para converter imagens da câmera para o espaço de trabalho (para edição) e da tela para a impressora, deve ficar claro que o gerenciamento de cor consiste em aplicar os perfis corretos para os dispositivos que você está usando e escolher os espaços de cor corretos para edição e armazenamento de imagens. Então, de onde obtemos os perfis e como escolhemos um espaço de trabalho? Esses são os assuntos das próximas seções.