Logo nl.androidermagazine.com
Logo nl.androidermagazine.com

Android-kleurbeheer: alles wat u moet weten

Inhoudsopgave:

Anonim

Er is de laatste tijd veel op internet over kleurbeheer gesproken. Android Oreo biedt nieuwe ondersteuning voor kleurbeheer, de Pixel 2 XL heeft de reputatie het slecht te doen en deze twee dingen samen zorgen ervoor dat we erover willen praten. Maar wat betekent kleurbeheer precies?

Laten we het daarover hebben en een beetje over hoe en waarom het wordt gebruikt, en misschien nog wat coolere dingen.

Wat is kleurbeheer?

Lach niet, maar je moet begrijpen welke kleur is gebaseerd op de manier waarop onze ogen het zien voordat je praat over hoe onze gadgets het goed proberen te doen.

Kleur is het gemakkelijkst te beschrijven als het resultaat van Tint, Verzadiging en Brilliance.

Licht straalt energie uit over specifieke banden of golflengtes, maar onze ogen kunnen de meeste niet zien. Dit staat bekend als spectrum. Termen als IR (infrarood of langere golflengten dan het rode uiteinde van het spectrum dat we kunnen zien) en UV (ultraviolet, korter dan de blauwe golflengtes die we kunnen zien) zijn echt en er is veel wetenschap over het meten van hun intensiteit, maar ze doen het niet ' Het heeft niets met kleur te maken, want kleur is iets menselijks.

In die golflengten van licht die zichtbaar zijn, is Tint het punt waar een band de meeste energie heeft, verzadiging definieert de bandbreedte (waar de emissie van licht begint op het spectrum en waar het eindigt), en schittering is de intensiteit van een mens- zichtbare lichtgolf. Tint definieert welke kleur onze ogen zullen zien, verzadiging definieert de zuiverheid ervan, en schittering definieert de helderheid. Grafieken helpen, dus hier is er een.

Dit is het soort licht dat een plant niet kan gebruiken voor fotosynthese. Dit is de reden waarom planten meestal deze kleur hebben - ze reflecteren dit licht!

In deze grafiek hebben rood, groen en blauw allemaal ongeveer dezelfde tint - ze pieken rond 450 - 550 nanometer. Rood heeft de meeste bandbreedte (het bestrijkt meer spectrum) en is dus minder verzadigd dan blauw, dat de minste hoeveelheid bandbreedte heeft. Alle drie kleuren hebben een zeer hoge schittering waar ze piek, dus ze zijn even intens. Onze ogen interpreteren dit als een modderige lelijke gele kleur. Alle kleuren die in rood, blauw en groen zijn gemaakt, hebben hun eigen spectrumprofiel, net als lelijkgeel.

De kleur op uw tv en de kleur op uw telefoon en de kleur van uw camera moeten allemaal overeenkomen.

RGB staat voor rood, groen en blauw. Het is een additief model om kleur te creëren, waarbij licht in elk spectrum wordt uitgezonden om de kleur te creëren. Als u een kleuren-inkjetprinter hebt (weet u nog?), Creëert deze een kleur met cyaan, magenta, geel en zwart (CMYK) als een subtractief model, waarbij kleuren worden toegepast zodat het licht dat wordt gereflecteerd door een oppervlak een specifieke kleur is. RGBA (de A is voor Alpha en bepaalt het transparantieniveau) is het model dat op een display wordt gebruikt om een ​​kleur te produceren, ongeacht het type display dat wordt gebruikt.

De kleur die door een printer met het CMYK-model wordt geproduceerd en de kleur die op het scherm van uw telefoon met het RGBA-model wordt geproduceerd, moet er voor onze ogen hetzelfde uitzien - rood moet er rood uitzien.

Dit is kleurbeheer in de meest basale vorm.

Werkelijk kleurbeheer

Er zijn veel verschillende manieren om kleuren te "creëren". We hebben de HSB-, RGB- en CMYK-modellen hierboven bekeken, maar er zijn veel andere manieren om te proberen te representeren hoe de output van een lichtbron er voor onze ogen uitziet. Ze zijn allemaal zo ontworpen dat roze er roze uitziet, groen er groen uitziet, oranje er oranje uitziet, enzovoort. We kunnen een goed basisidee krijgen van welke kleur probeert te worden weergegeven door elk kleurmodel in elk medium. Maar een basisidee is gewoon niet genoeg.

Iets doen is niet hetzelfde als goed doen, en dat geldt ook voor kleurbeheer.

Het spectrum van kleuren is bijna oneindig, en als je iets gebruikt dat meer dan een handvol van hen kan weergeven, heb je een manier nodig om ervoor te zorgen dat een bepaalde tint groen er voor de ogen van een persoon hetzelfde uitziet, ongeacht waar het wordt weergegeven of wat model wordt gebruikt om het te maken. Als je te maken hebt met de miljoenen verschillende kleuren die een modern elektronisch display kan tonen, wordt een goede methode om de juiste kleur te reproduceren erg belangrijk.

Je hebt een goed scherm nodig

Je begint met het display zelf. Een goede high-end display moet een breed kleurengamma kunnen reproduceren. Er zijn standaarden van de ITU-R (International Telecommunication Union - Radiocommunications Sector) die beslissen wat een breed kleurengamma is, en ze omvatten veel wiskunde en wetenschap. Gelukkig hoeven we niet te rekenen en hoeven we alleen te weten welke kleurruimten aan de normen voldoen. Voor onze telefoons is dat meestal de DCI-P3- kleurruimte.

Dit is meer van belang nu schermen meer kleuren kunnen weergeven.

De noodlottige Galaxy Note 7 wordt vermeld als de eerste telefoon die wordt geleverd met een 100% DCI-P3 HDR-scherm, maar sinds we DCI-P3-compatibele schermen van veel bedrijven hebben gezien. De iPhone 7 en nieuwer worden geleverd met één, de OnePlus 5 en hoger hebben er één, de HTC U11 + en de Pixel 2 XL en meer hebben allemaal 100% compatibele DCI-P3-schermen. Dit betekent dat het scherm kleuren correct en nauwkeurig kan reproduceren om te voldoen aan de ITU-R-normen.

Dan kalibreer je het

Zodra u de juiste hardware gebruikt, speelt kalibratie een rol. Kalibratie is het meten van de uitvoer van een display omdat deze verschillende kleuren reproduceert en de hardware zodanig aanpast dat de metingen aan een specifieke waarde voldoen. Omdat het onmogelijk is om 16, 7 miljoen verschillende kleuren te kalibreren, worden gemeenschappelijke kleurenruimten gebruikt. De meest voorkomende is sRGB (standaard rood groen blauw).

SRGB is ontwikkeld door HP en Microsoft en is de standaard op monitoren, printers en internet als er geen specifieke kleurruimte is gedefinieerd, en het is een zeer goede standaard. Kalibreren voor sRGB is vrij eenvoudig omdat u met één kanaal op een niet-nulwaarde en de andere twee op nul instelt en doorloopt. Daarom zie je 255, 255, 255 uitgedrukt voor een kleur (die is wit) of 255, 0, 0 (dat is rood). Zodra de chromatische waarde van elk primair kanaal is gekalibreerd, wordt elke andere kleur dat ook.

Idealiter is dit wat elk bedrijf dat een display maakt, vervolgens het display de deur uit stuurt.

Vóór Oreo was het kleurbeheer op Android verbroken

Het probleem is dat sommige bedrijven die schermen met breed kleurengamma gebruiken, de sRGB-ruimte oprekken en de kleurwaarden opnieuw interpreteren in hun eigen unieke gamma. Dit maakt de drie primaire kanalen erg oververzadigd, wat op zijn beurt betekent dat elk van de 16, 7 miljoen kleuren die het display kon weergeven, niet langer werd gekalibreerd om er op elk ander apparaat hetzelfde uit te zien.

Er zijn veel kleurruimten en profielen. Het belangrijkste voor Android is sRGB.

Vóór Android Oreo gebruikten applicaties de sRGB-kleurruimte. Daar is een reden voor - low-end hardware. Het weergeven van een breed kleurengamma vereist meer GPU- en CPU-vermogen dan de sRGB-ruimte. Als Android standaard was ingesteld met een brede kleurruimte, zouden sommige telefoons die mensen kopen moeite hebben om het weer te geven. Zelfs als het display van een telefoon niet eens alle kleuren kon weergeven, is er nog steeds een vrij grote prestatiehit.

Fabrikanten van hoogwaardige apparaten vonden dat het "verbreken" van kleurkalibratie en het verwerken van kleur met hun eigen waarden hun superieure beeldschermen zou laten zien, en als er iets is dat ik deze taak bijna acht jaar heb geleerd, is dat een telefoonfabrikant alleen maar om wat het beste voor zichzelf is.

Sommige apps moeten nog steeds meestal nauwkeurige kleuren weergeven, zelfs wanneer een fabrikant de kleurruimte breekt, dus ontwikkelaars moesten hun middelen desatureren om te proberen dit te compenseren. Een video ziet er bijvoorbeeld het beste uit wanneer een rood stopteken hetzelfde rood is dat u het herkent en niet een willekeurige kleur is die een fabrikant heeft bepaald. Zodra u een apparaat introduceert met een 100% DCI-P3-scherm dat is gekalibreerd voor de sRGB-kleurruimte, begint het er kapot uit te zien. Dit is de kern van de problemen rond de "gedempte" kleuren op de Pixel 2, hoewel sommige experts zeggen dat de kalibratie niet erg nauwkeurig is van eenheid tot eenheid.

Hier is hoe het wordt opgelost

De juiste ondersteuning voor breed kleurenbereik maakt deze Pixel 2 XL en de Note 8 deze afbeelding op beide schermen hetzelfde.

Dit is het eenvoudige gedeelte en had waarschijnlijk vanaf het begin moeten worden gedaan. Een ontwikkelaar kan detecteren of een apparaat een breed kleurengamma-display gebruikt en een activiteit binnen de toepassing gebruiken met de juiste kleurruimte om er het beste van te maken. Als het apparaat geen brede kleuren kan weergeven, wordt het standaard sRGB-profiel gebruikt.

Google heeft voldoende middelen beschikbaar gesteld voor ontwikkelaars die de nieuwe richtlijnen in hun apps willen volgen:

  • Algemene documentatie voor Android-kleurruimte voor API 26
  • Kleurruimten ondersteund door Android
  • Brede kleurenactiva en inhoudsgids

Dit is allemaal goed en wel en zou een geweldige manier moeten zijn om ervoor te zorgen dat kleuren er van apparaat tot apparaat hetzelfde uitzien, tenzij het een lager model is dat niet in staat is om elke kleur weer te geven. Die zouden er tussen apparaten nog steeds correct uitzien omdat ze de sRGB-kleurruimte zouden gebruiken. Het probleem is dat iedereen aan boord hetzelfde doet.

We zijn hoopvolle dingen zullen beter worden

Om dit te laten werken, moeten Samsung, OnePlus, LG en elk ander bedrijf dat 'kapot' is de sRGB-interpretatie teruggaan en corrigeren en ontwikkelaars moeten hun apps opnieuw opbouwen ter ondersteuning van de nieuwe richtlijnen voor kleurruimte. En niemand wil het doen.

Bedrijven zullen de manier waarop ze dingen doen waarschijnlijk pas veranderen als app-ontwikkelaars de apps maken die er goed uitzien en ontwikkelaars geen apps schrijven die er op miljoenen telefoons uitzien. Apple was in staat om over te schakelen naar een goed kleurbeheer omdat het de hardware- en softwareruimte beheert, evenals richtlijnen voor de App Store. Google heeft die luxe niet.

Ergens denkt iemand aan de manier om dit allemaal op te lossen. En ter compensatie een gebroken, door de gebruiker selecteerbare kleurruimte op Pixel 2-telefoons verzenden - nou, dat is het niet. We weten dat alle betrokkenen de dingen op de juiste manier willen doen, en dat betekent ook dat ze niets breken op de telefoons die al zijn verkocht. Hopelijk wordt het eerder dan later opgelost.