Gerenciamento de cor

Nos sistemas de imagem digital, o gerenciamento de cores é a conversão controlada entre as representações de cores de vários dispositivos, como scanners de imagens, câmeras digitais, monitores, telas de TV, impressoras de filme, impressoras de computador, impressoras offset e mídia correspondente.

O principal objetivo do gerenciamento de cores é obter uma boa combinação entre dispositivos de cores; por exemplo, as cores de um quadro de um vídeo devem aparecer o mesmo em um monitor LCD de computador, em uma tela de TV de plasma e como um cartaz impresso. O gerenciamento de cores ajuda a alcançar a mesma aparência em todos esses dispositivos, desde que os dispositivos sejam capazes de fornecer as intensidades de cor necessárias. Com a fotografia, muitas vezes é crítico que suas impressões ou galeria on-line aparecem como elas foram destinadas. O gerenciamento de cores não pode garantir uma reprodução de cores idêntica, pois isso raramente é possível, mas pode, pelo menos, dar-lhe mais controle sobre as alterações que possam ocorrer.

Partes dessa tecnologia são implementadas no sistema operacional (SO), bibliotecas auxiliares, a aplicação e dispositivos. Uma visão multiplataforma do gerenciamento de cores é o uso de um sistema de gerenciamento de cores compatível com ICC. O International Color Consortium (ICC) é um consórcio da indústria que definiu:

Um padrão aberto para um Módulo de Correspondência de Cores (CMM) no nível do SO
Perfis de cores para:
Dispositivos, incluindo perfis de devicelink que representam uma transformação de cor completa do dispositivo de origem para o dispositivo de destino
Espaços de trabalho, os espaços de cores em que os dados de cores devem ser manipulados

Existem outras abordagens para gerenciamento de cores além de usar perfis ICC. Isto é em parte devido à história e em parte devido a outras necessidades do que as capas padrão do ICC. As indústrias de cinema e transmissão usam alguns dos mesmos conceitos, mas eles freqüentemente dependem de soluções boutique mais limitadas. A indústria cinematográfica, por exemplo, geralmente usa LUTs 3D (tabela de pesquisa) para representar uma transformação de cor completa para uma codificação RGB específica. No nível do consumidor, o gerenciamento de cores atualmente se aplica mais às imagens estáticas do que o vídeo, no qual o gerenciamento de cores ainda está em sua infância.

Visão geral
Caracterizar. Todo dispositivo gerenciado por cores requer uma tabela personalizada ou “perfil de cor”, que caracteriza a resposta de cor desse dispositivo em particular.
Padronizar. Cada perfil de cor descreve essas cores em relação a um conjunto padronizado de cores de referência (o “Espaço de Conexão de Perfil”).
Traduzir. O software gerenciado por cores usa esses perfis padronizados para traduzir cores de um dispositivo para outro. Isso geralmente é executado por um módulo de gerenciamento de cores (CMM).
Hardware
Caracterização
Veja também: perfil ICC
Para descrever o comportamento de vários dispositivos de saída, eles devem ser comparados (medidos) em relação a um espaço de cores padrão. Muitas vezes, um passo chamado linearização é executado primeiro, para desfazer o efeito da correção de gama que foi feita para obter o máximo de caminhos de cores de 8 bits limitados. Os instrumentos utilizados para medir as cores dos dispositivos incluem colorímetros e espectrofotômetros. Como resultado intermediário, a gama do dispositivo é descrita na forma de dados de medição dispersos. A transformação dos dados de medição dispersos em uma forma mais regular, utilizável pela aplicação, é chamada de perfil. O perfil é um processo complexo que envolve matemática, computação intensa, julgamento, teste e iteração. Após a conclusão do perfil, é criada uma descrição de cores idealizada do dispositivo. Esta descrição é chamada de perfil.

Calibração
Artigo principal: calibração de cores
A calibração é como a caracterização, exceto que pode incluir o ajuste do dispositivo, ao contrário de apenas a medição do dispositivo. O gerenciamento de cores às vezes é evitado pela calibração de dispositivos para um espaço comum de cores padrão, como sRGB; Quando tal calibração é feita bem o suficiente, nenhuma tradução em cores é necessária para que todos os dispositivos manipulem cores de forma consistente. Esta evasão da complexidade do gerenciamento de cores foi um dos objetivos no desenvolvimento do sRGB.

Perfis de cores
Incorporação
Os próprios formatos de imagem (como TIFF, JPEG, PNG, EPS, PDF e SVG) podem conter perfis de cores incorporados, mas não são necessários para o formato da imagem. O padrão International Color Consortium foi criado para reunir vários desenvolvedores e fabricantes. O padrão ICC permite a troca de características do dispositivo de saída e espaços de cores na forma de metadados. Isso permite a incorporação de perfis de cores em imagens, bem como armazená-los em um banco de dados ou em um diretório de perfil.

Espaços de trabalho
Espaços de trabalho, como sRGB, Adobe RGB ou ProPhoto, são espaços de cores que facilitam bons resultados durante a edição. Por exemplo, pixels com valores iguais de R, G, B devem parecer neutros. O uso de um espaço de trabalho grande (de gama) levará à posterização, enquanto o uso de um pequeno espaço de trabalho levará ao recorte. Este trade-off é uma consideração para o editor de imagens críticas.

Transformação de cor
Transformação de cor, ou conversão de espaço de cores, é a transformação da representação de uma cor de um espaço de cores para outro. Este cálculo é necessário sempre que os dados são trocados dentro de uma cadeia gerenciada por cores e executados por um Módulo de Correspondência de Cores. Transformar informações de cores perfiladas para diferentes dispositivos de saída é conseguida fazendo referência aos dados do perfil em um espaço de cores padrão. Facilita a conversão de cores de um dispositivo para um espaço de cores padrão selecionado e para as cores de outro dispositivo. Ao garantir que o espaço de cores de referência cobre as muitas cores possíveis que os humanos podem ver, esse conceito permite trocar cores entre vários dispositivos de saída de cores diferentes. As transformações de cores podem ser representadas por dois perfis (perfil de origem e perfil de destino) ou por um perfil de devicelink. Neste processo, há aproximações envolvidas que garantem que a imagem mantenha suas importantes qualidades de cor e também dá a oportunidade de controlar a forma como as cores estão sendo alteradas.

Espaço de conexão do perfil
Na terminologia do International Color Consortium, uma tradução entre dois espaços de cores pode passar por um espaço de conexão de perfil (PCS): Color Space 1 → PCS (CIELAB ou CIEXYZ) → Espaço de cores 2; as conversões dentro e fora do PCS são especificadas por um perfil.

Mapeamento de Gamut
Em quase todos os processos de tradução, temos que lidar com o fato de que a gama de cores de diferentes dispositivos varia de alcance, o que dificulta a reprodução precisa. Eles, portanto, precisam de algum rearranjo perto das bordas da gama. Algumas cores devem ser deslocadas para o interior da gama, pois, de outra forma, elas não podem ser representadas no dispositivo de saída e simplesmente ser cortadas. O chamado desajuste da gama ocorre, por exemplo, quando traduzimos do espaço de cores RGB com uma gama mais larga para o espaço de cores CMYK com uma faixa de gama mais estreita. Neste exemplo, a cor azul escura altamente saturada de um primário “azul” de um monitor de computador típico é impossível de imprimir em papel com uma impressora CMYK típica. A aproximação mais próxima dentro da gama da impressora será muito menos saturada. Por outro lado, o primário “ciano” de uma impressora a jato de tinta, um azul esverdeado de baixo brilho saturado, está fora da gama de um monitor de computador típico. O sistema de gerenciamento de cores pode utilizar vários métodos para alcançar os resultados desejados e dar aos usuários experientes o controle do comportamento de mapeamento de gama.

Intenção de renderização
Quando a gama de espaço de cores de origem excede a do destino, as cores saturadas podem se tornar recortadas (incorretamente representadas) ou mais queimadas formalmente. O módulo de gerenciamento de cores pode lidar com esse problema de várias maneiras. A especificação ICC inclui quatro intenções de renderização diferentes. Antes de executar a intenção de renderização real, você pode simular temporariamente a renderização por prova de soft. É uma ferramenta útil, pois prevê o resultado das cores e está disponível como uma aplicação em muitos sistemas de gerenciamento de cores:

Colorimétrico absoluto:
A colorimetria absoluta e colorimetria relativa realmente usam a mesma tabela, mas diferem no ajuste para a mídia de ponto branco. Se o dispositivo de saída tiver uma gama muito maior do que o perfil de origem, ou seja, todas as cores na fonte podem ser representadas na saída, usando a intenção de renderização de colorimetria absoluta idealmente (ignorando ruído, precisão, etc.) darão uma saída exata dos valores CIELAB especificados. Perceptualmente, as cores podem parecer incorretas, mas as medidas do instrumento da saída resultante combinam com a fonte. As cores fora da cor possível do sistema de impressão de prova são mapeadas para o limite da gama de cores.

A colorimetria absoluta é útil para obter uma cor especificada exata (por exemplo, IBM azul), ou para quantificar a precisão dos métodos de mapeamento.

Colorimétrico relativo:
O objetivo na colorimetria relativa é ser sincero com a cor especificada, com apenas uma correção para a mídia. A colorimetria relativa é útil na prova de aplicativos, já que você está usando isso para ter uma idéia de como uma impressão em um dispositivo aparecerá em um dispositivo diferente. As diferenças de mídia são a única coisa que você realmente deseja ajustar. Obviamente, também deve haver algum mapeamento de gama. Geralmente, isso é feito de uma forma em que a tonalidade e a leveza são mantidas ao custo da saturação reduzida.

Colorimétrico relativo é a intenção de renderização padrão na maioria dos sistemas.

Perceptual e Saturação:
As intenções perceptivas e de saturação são onde os resultados realmente dependem do criador de perfil. Isto é mesmo como alguns dos concorrentes neste mercado diferenciam-se. Essas intenções devem ser criadas pelo criador de perfil para que as imagens agradáveis ​​ocorram com a intenção perceptiva, enquanto os gráficos empresariais atraentes ocorrem com a intenção de saturação. Isto é conseguido através do uso de diferentes remakes perceptivos dos dados, bem como diferentes métodos de mapeamento de gama.

A reprodução perceptiva é recomendada para a separação de cores.

Na prática, os fotógrafos quase sempre usam intenção relativa ou perceptiva, como para imagens naturais, causas absolutas de cor, enquanto a saturação produz cores não naturais. A intenção relativa lida fora de gama cortando (queimando) essas cores até a borda da gama, deixando as cores in-gamut inalteradas, enquanto a intenção perceptiva move-se suavemente das cores fora da gama na gama, preservando as gradas, mas distorce cores variáveis ​​no processo. Se uma imagem inteira estiver dentro da gama, o relativo é perfeito, mas quando há cores fora da gama, o que é mais preferível depende caso a caso.

A intenção de saturação é mais útil em gráficos e diagramas, onde há uma paleta discreta de cores que o designer deseja saturado para torná-los intensos, mas onde matiz específico é menos importante.

Implementação
Módulo de gerenciamento de cores
O módulo de correspondência de cores (também -modelo ou sistema) é um algoritmo de software que ajusta os valores numéricos que são enviados ou recebidos a partir de diferentes dispositivos para que a cor percebida que eles produzam permaneça consistente. O problema principal aqui é como lidar com uma cor que não pode ser reproduzida em um determinado dispositivo para mostrar isso através de um dispositivo diferente, como se fosse visualmente da mesma cor, assim como quando a faixa de cores reprodutíveis entre transparências de cores e impressos são diferentes. Não há um método comum para esse processo, e o desempenho depende da capacidade de cada método de correspondência de cores.

Alguns CMM bem conhecidos são ColorSync, Adobe CMM, LittleCMS e ArgyllCMS.

Nível do sistema operacional
Os sistemas operacionais Mac OS e MacOS clássicos da Apple forneceram APIs de gerenciamento de cores de nível OS desde 1993, através do ColorSync. O MacOS adicionou o gerenciamento automático de cores (assumindo o sRGB para a maioria das coisas) automaticamente no sistema operacional e os aplicativos precisam resolver isso para fornecer um gerenciamento de cores mais preciso.

Desde 1997, o gerenciamento de cores no Windows está disponível através de um sistema de gerenciamento de cores ICC (ICM). Começando com o Windows Vista, a Microsoft apresentou uma nova arquitetura de cores conhecida como Windows Color System. O WCS complementa o sistema de gerenciamento de cores da imagem (ICM) no Windows 2000 e no Windows XP, originalmente escrito por Heidelberg .

Os sistemas operacionais que usam o sistema X Window para gráficos podem usar perfis ICC e o suporte para gerenciamento de cores no Linux, ainda menos maduro do que em outras plataformas, é coordenado através do OpenICC no freedesktop.org e faz uso do LittleCMS.

Nível de arquivo
Certos tipos de arquivo de imagem (TIFF e Photoshop) incluem a noção de canais de cores para especificar o modo de cor do arquivo. Os canais mais utilizados são RGB (para exibição e impressão) e CMYK (para impressão comercial). Um canal alfa adicional pode especificar um valor de máscara de transparência. Alguns software de imagem (como o Photoshop) realizam a separação automática de cores para manter as informações de cores no modo CMYK usando um perfil ICC especificado, como US Web Coated (SWOP) v2.

Nível de aplicação
A partir de 2005, a maioria dos navegadores da Web ignorava os perfis de cores. As exceções notáveis ​​foram o Safari, começando pela versão 2.0 e o Firefox a partir da versão 3. Embora desativado por padrão no Firefox 3.0, o gerenciamento de cores ICC v2 e ICC v4 poderia ser habilitado usando um add-on ou configurando uma opção de configuração.

A partir de 2012 [quando?], O suporte notável do navegador para o gerenciamento de cores é:

Firefox: a partir da versão 3.5 habilitado por padrão para imagens marcadas ICC v2, a versão 8.0 possui suporte a perfis ICC v4, mas precisa ser ativada manualmente.
Internet Explorer: a versão 9 é o primeiro navegador da Microsoft a suportar parcialmente os perfis ICC, mas não processa as imagens corretamente de acordo com as configurações ICC do Windows (ele só converte imagens não-sRGB para o perfil sRGB) e, portanto, não fornece gerenciamento de cores real em todos
Google Chrome: usa o sistema fornecido suporte ICC v2 e v4 no macOS, e a partir da versão 22 suporta os perfis ICC v2 por padrão em outras plataformas.
Safari: tem suporte a partir da versão 2.0
Opera: tem suporte desde 12.10 para ICC v4.
Pale Moon suportou ICC v2 a partir do primeiro lançamento e v4 desde Pale Moon 20.2 (2013).