Logo pt.androidermagazine.com
Logo pt.androidermagazine.com

Gerenciamento de cores Android: tudo o que você precisa saber

Índice:

Anonim

Ultimamente, tem havido muita conversa sobre gerenciamento de cores aqui e em outros lugares da Internet. O Android Oreo fornece novo suporte para gerenciamento de cores, o Pixel 2 XL tem uma reputação de fazer mal, e essas duas coisas combinadas nos fazem querer falar sobre isso. Mas, o que exatamente significa gerenciamento de cores?

Vamos falar sobre isso e um pouco sobre como e por que é usado, e talvez até algumas coisas mais legais.

O que é gerenciamento de cores?

Não ria, mas você precisa entender de que cor se baseia a maneira como nossos olhos a veem antes de falar sobre como nossos gadgets tentam fazer o que é certo.

A cor é mais fácil descrita como resultado de Matiz, Saturação e Brilho.

A luz emite energia sobre faixas ou comprimentos de onda específicos, mas nossos olhos não conseguem ver a maioria deles. Isso é conhecido como espectro. Termos como IR (infravermelho ou comprimentos de onda mais longos que o extremo vermelho do espectro que podemos ver) e UV (ultravioleta, mais curtos que os comprimentos de onda azuis que podemos ver) são reais e há muita ciência sobre como medir sua intensidade, mas eles não sabem ' não tem nada a ver com cor, porque a cor é uma coisa humana.

Nos comprimentos de onda da luz visíveis, Hue é o ponto em que uma banda tem mais energia, a Saturação define a largura de banda (onde a emissão de luz começa no espectro e onde termina), e Brilliance é a intensidade de um ser humano. onda de luz visível. Matiz define qual a cor que nossos olhos verão, a saturação define a pureza e o brilho define seu brilho. Os gráficos ajudam, então aqui está um.

Este é o tipo de luz que uma planta não pode usar para a fotossíntese. É por isso que as plantas são principalmente desta cor - refletem essa luz!

Neste gráfico, vermelho, verde e azul têm aproximadamente o mesmo tom - atingem um pico em torno de 450 - 550 nanômetros. O vermelho tem a maior largura de banda (cobre mais espectro), portanto, é menos saturado que o azul, que possui a menor quantidade de largura de banda. Todas as três cores têm um brilho muito alto onde atingem o pico, portanto são igualmente intensas. Nossos olhos interpretam isso como uma cor amarela feia e lamacenta. Todas as cores criadas em vermelho, azul e verde terão seu próprio perfil de espectro, assim como o amarelo-feio.

A cor da sua TV e a do seu telefone e a cor da sua câmera precisam coincidir.

RGB significa vermelho, verde e azul. É um modelo aditivo para criar cores, onde a luz em cada espectro é emitida para criar a cor. Se você possui uma impressora a jato de tinta colorida (lembra-se delas?), Ela cria uma cor usando ciano, magenta, amarelo e preto (CMYK) como modelo subtrativo, em que as cores são aplicadas para que a luz refletida em uma superfície seja uma cor específica. RGBA (o A é para Alpha e determina o nível de transparência) é o modelo usado em uma tela para produzir uma cor, independentemente do tipo de tela que está sendo usada.

As cores produzidas por uma impressora usando o modelo CMYK e as cores produzidas na tela do telefone usando o modelo RGBA devem parecer iguais aos nossos olhos - o vermelho precisa parecer vermelho.

Esse é o gerenciamento de cores em sua forma mais básica.

Gerenciamento de cores real

Existem várias maneiras diferentes de "criar" cores. Vimos os modelos HSB, RGB e CMYK acima, mas existem muitas outras maneiras de tentar representar como a saída de uma fonte de luz se parece aos nossos olhos. Todos eles foram projetados para que o rosa pareça rosa, o verde pareça verde, a laranja pareça laranja e assim por diante. Podemos ter uma boa idéia básica de que cor está tentando ser representada por qualquer modelo de cor em qualquer meio. Mas uma idéia básica simplesmente não é suficiente.

Fazer algo não é o mesmo que fazê-lo bem, e isso também vale para o gerenciamento de cores.

O espectro de cores é quase infinito e, quando você está usando algo capaz de exibir mais do que um punhado delas, precisa de uma maneira de garantir que um tom de verde específico pareça o mesmo para os olhos de uma pessoa, não importa onde ela esteja sendo exibida ou o que modelo está sendo usado para criá-lo. Quando você lida com milhões de cores diferentes, um display eletrônico moderno pode mostrar, um bom método para reproduzir a cor correta se torna muito importante.

Você precisa de uma boa tela

Você começa com o próprio display. Qualquer boa tela de última geração precisa reproduzir uma ampla gama de cores. Existem normas da ITU-R (União Internacional de Telecomunicações - Setor de Radiocomunicações) que decidem o que é uma ampla gama de cores e envolvem muita matemática e ciências. Felizmente, não precisamos fazer as contas e precisamos apenas saber quais espaços de cores atendem aos padrões. Para nossos telefones, esse geralmente é o espaço de cores do DCI-P3.

Isso importa mais agora que os displays podem mostrar mais cores.

O malfadado Galaxy Note 7 está listado como o primeiro telefone a ser fornecido com um monitor 100% DCI-P3 HDR, mas desde que vimos monitores capazes de DCI-P3 de muitas empresas. O iPhone 7 e mais recente, com um, o OnePlus 5 e superior, um, o HTC U11 + e o Pixel 2 XL e mais, todos têm telas DCI-P3 100% compatíveis. Isso significa que a tela pode reproduzir cores corretamente e com precisão para atender aos padrões ITU-R.

Então você calibra

Depois de usar o hardware certo, a calibração entra em ação. A calibração está medindo a saída de uma tela, uma vez que reproduz cores diferentes e ajusta o hardware para que as leituras atinjam um valor específico. Como é impossível calibrar 16, 7 milhões de cores diferentes, são usados ​​espaços de cores comuns. O mais comum é o sRGB (vermelho verde azul padrão).

Desenvolvido pela HP e Microsoft, o sRGB é o padrão em monitores, impressoras e na Internet quando nenhum espaço de cores específico é definido, e é um padrão muito bom. A calibração para sRGB é bastante fácil, porque você ajusta com um canal em um valor diferente de zero e os outros dois em zero e alternando. É por isso que você verá 255.255.255 expressos para uma cor (aquela é branca) ou 255, 0, 0 (que é vermelha). Uma vez calibrado o cromático de cada canal primário, todas as outras cores também serão.

Idealmente, é isso que toda empresa que faz uma exibição faz e depois a envia pela porta.

Antes do Oreo, o gerenciamento de cores no Android era quebrado

O problema é que algumas empresas que usam telas Wide Color Gamut aumentariam o espaço sRGB e reinterpretariam os valores das cores em sua própria gama exclusiva. Isso torna os três canais primários muito saturados, o que significa que cada 16, 7 milhões de cores que a tela era capaz de mostrar não era mais calibrada para ter a mesma aparência em qualquer outro dispositivo.

Existem muitos espaços e perfis de cores. O mais importante para o Android é o sRGB.

Antes do Android Oreo, os aplicativos usavam o espaço de cores sRGB. Há uma razão para isso - hardware de ponta. A exibição de uma ampla gama de cores requer mais GPU e CPU do que o espaço sRGB. Se o Android fosse configurado com um amplo espaço de cores como padrão, alguns dos telefones que as pessoas estão comprando teriam dificuldade em exibi-lo. Mesmo que a tela de um telefone não tenha sido capaz de mostrar todas as cores, ainda há um desempenho bastante grande.

Os fabricantes de dispositivos sofisticados achavam que "quebrar" a calibração e o processamento das cores com seus próprios valores mostrariam suas telas superiores, e se há uma coisa que aprendi fazendo esse trabalho há quase oito anos é que um fabricante de telefones se preocupa apenas com o que é melhor para si.

Alguns aplicativos ainda precisam mostrar cores principalmente precisas, mesmo quando um fabricante quebra o espaço de cores; portanto, os desenvolvedores tiveram que dessaturar seus ativos para tentar compensar. Um vídeo, por exemplo, fica melhor quando um sinal de parada vermelho é o mesmo vermelho que você o reconhece e não uma cor aleatória que o fabricante decidiu que deveria ser. Depois de introduzir um dispositivo com uma tela 100% DCI-P3 calibrada para o espaço de cores sRGB, as coisas começam a parecer ruins. Esse é o cerne dos problemas que envolvem as cores "suaves" no Pixel 2, embora alguns especialistas digam que a calibração não é muito precisa de unidade para unidade.

Veja como é corrigido

O suporte adequado à gama ampla de cores torna esse Pixel 2 XL em particular e o Note 8 exibem essa imagem da mesma forma nas duas telas.

Esta é a parte simples e provavelmente deveria ter sido feita desde o início. Um desenvolvedor pode detectar se um dispositivo está usando uma tela Wide Color Gamut e se uma atividade dentro do aplicativo usa o espaço de cores correto para aproveitar ao máximo. Se o dispositivo não for capaz de exibir cores amplas, o perfil sRGB padrão será usado.

O Google forneceu muitos recursos para os desenvolvedores que desejam seguir as novas diretrizes em seus aplicativos:

  • Documentação geral do espaço de cores do Android para API 26
  • Espaços de cores suportados pelo Android
  • Guia amplo de recursos e conteúdo em cores

Tudo está bem e deve ser uma ótima maneira de garantir que as cores tenham a mesma aparência de dispositivo para dispositivo, a menos que seja um modelo de gama baixa, incapaz de exibir todas as cores. Eles ainda pareceriam corretos entre os dispositivos porque usariam o espaço de cores sRGB. O problema é fazer com que todos a bordo façam a mesma coisa.

Temos esperança de que as coisas melhorem

Para que isso funcione, Samsung, OnePlus, LG e todas as outras empresas que "quebraram" a interpretação do sRGB precisam voltar e corrigi-la, e os desenvolvedores precisam reconstruir seus aplicativos para dar suporte às novas diretrizes de espaço de cores. E ninguém quer fazer isso.

As empresas provavelmente não mudarão a maneira como fazem as coisas até que os desenvolvedores de aplicativos tornem os aplicativos com boa aparência e os desenvolvedores não vão escrever aplicativos que parecerão quebrados em milhões e milhões de telefones. A Apple conseguiu fazer a transição para o gerenciamento de cores adequado, porque controla o espaço de hardware e software, além de definir as diretrizes da App Store. O Google não tem esse luxo.

Em algum lugar alguém está pensando em como consertar tudo isso. E enviar um espaço de cores quebrado e selecionável pelo usuário nos telefones Pixel 2 para compensar - bem, não é isso. Sabemos que todos os envolvidos querem fazer as coisas da maneira certa, e isso também significa não quebrar nada nos telefones que já foram vendidos. Espero que seja resolvido mais cedo ou mais tarde.