Logo ru.androidermagazine.com
Logo ru.androidermagazine.com

Управление цветом Android: все, что вам нужно знать

Оглавление:

Anonim

В последнее время в Интернете было много разговоров об управлении цветом здесь и в других местах. Android Oreo обеспечивает новую поддержку управления цветом, Pixel 2 XL имеет плохую репутацию, и эти две вещи вместе заставляют нас хотеть поговорить об этом. Но что именно означает управление цветом?

Давайте поговорим об этом и немного о том, как и почему он используется, и, возможно, еще кое-что классное.

Что такое управление цветом?

Не смейтесь, но вы должны понять, какой цвет основан на том, как его видят наши глаза, прежде чем говорить о том, как наши гаджеты пытаются сделать это правильно.

Цвет легче всего описать как результат оттенка, насыщенности и яркости.

Свет излучает энергию в определенных диапазонах или длинах волн, но наши глаза не могут видеть большинство из них. Это известно как спектр. Такие термины, как ИК (инфракрасное излучение или более длинные волны, чем красный конец спектра, который мы можем видеть) и УФ (ультрафиолетовое излучение, короче, чем голубые длины волн, которые мы можем видеть), являются реальными, и существует множество научных данных об измерении их интенсивности, но они не не имеет ничего общего с цветом, потому что цвет - вещь человеческая.

На тех длинах волн света, которые видимы, Hue - это точка, где полоса обладает наибольшей энергией, Saturation определяет ширину полосы (где излучение света начинается в спектре и где оно заканчивается), а Brilliance - интенсивность излучения человека. волна видимого света. Оттенок определяет, какой цвет будут видеть наши глаза, насыщенность определяет его чистоту, а яркость определяет его яркость. Графики помогают, так что вот один.

Это тот тип света, который растение не может использовать для фотосинтеза. Вот почему растения в основном такого цвета - они отражают этот свет!

На этом графике красный, зеленый и синий цвета имеют примерно одинаковый оттенок - они достигают пика около 450 - 550 нанометров. Красный имеет большую полосу пропускания (он охватывает больше спектра), поэтому он менее насыщен, чем синий, который имеет наименьшую полосу пропускания. Все три цвета имеют очень высокий блеск, где они достигают пика, поэтому они одинаково интенсивны. Наши глаза интерпретируют это как грязно-уродливый желтый цвет. Все цвета, созданные в красном, синем и зеленом, будут иметь свой собственный профиль спектра, как уродливо-желтый.

Цвет на вашем телевизоре и цвет на вашем телефоне и цвет от вашей камеры должны совпадать.

RGB означает красный, зеленый и синий. Это аддитивная модель для создания цвета, когда свет в каждом спектре излучается для создания цвета. Если у вас есть цветной струйный принтер (помните их?), Он создает цвет, используя голубой, пурпурный, желтый и черный (CMYK) в качестве субтрактивной модели, где цвета применяются так, чтобы отраженный от поверхности свет был определенного цвета. RGBA (буква A для альфа- канала и определяет уровень прозрачности) - это модель, используемая на дисплее для получения цвета, независимо от того, какой тип дисплея используется.

Цвет, полученный принтером с использованием модели CMYK, и цвет, полученный на экране вашего телефона с помощью модели RGBA, должны выглядеть одинаково на наших глазах - красный цвет должен выглядеть красным.

Это управление цветом в его основной форме.

Актуальное управление цветом

Есть много разных способов «создать» цвет. Мы рассмотрели модели HSB, RGB и CMYK выше, но есть много других способов попытаться представить, как выглядит источник света на наших глазах. Все они были спроектированы таким образом, что розовый цвет выглядит розовым, зеленый - зеленым, оранжевый - оранжевым и так далее. Мы можем получить хорошее базовое представление о том, какой цвет пытается представить любая цветовая модель на любом носителе. Но основной идеи просто недостаточно.

Делать что-либо - это не то же самое, что делать это хорошо, и это касается и управления цветом.

Спектр цветов практически бесконечен, и когда вы используете что-то, способное отображать больше, чем несколько из них, вам нужен способ, чтобы убедиться, что определенный оттенок зеленого выглядит одинаково для глаз человека, независимо от того, где он отображается или что модель используется для его создания. Когда вы имеете дело с миллионами разных цветов, которые может продемонстрировать современный электронный дисплей, очень важно найти хороший способ воспроизвести правильный цвет.

Вам нужен хороший экран

Вы начинаете с самого дисплея. Любой хороший высококачественный дисплей должен воспроизводить широкую цветовую гамму. Существуют стандарты МСЭ-R (Международный союз электросвязи - Сектор радиосвязи), которые решают, что такое широкая цветовая гамма, и в них много математики и науки. К счастью, нам не нужно заниматься математикой, нам нужно только знать, какие цветовые пространства соответствуют стандартам. Для наших телефонов это обычно цветовое пространство DCI-P3.

Теперь это важно, поскольку дисплеи могут отображать больше цветов.

Злополучный Galaxy Note 7 указан как первый телефон, который будет поставляться со 100% HDR дисплеем DCI-P3, но с тех пор мы видели дисплеи с поддержкой DCI-P3 от множества компаний. IPhone 7 и новее поставляются с одним, OnePlus 5 и выше имеют один, HTC U11 + и Pixel 2 XL и более, все имеют 100% совместимые дисплеи DCI-P3. Это означает, что экран может правильно и точно воспроизводить цвета в соответствии со стандартами МСЭ-R.

Затем вы калибруете его

Как только вы используете правильное оборудование, калибровка вступает в игру. Калибровка измеряет выходной сигнал дисплея, поскольку он воспроизводит разные цвета, и настраивает аппаратное обеспечение таким образом, чтобы показания соответствовали определенному значению. Поскольку невозможно откалибровать 16, 7 миллионов различных цветов, используются общие цветовые пространства. Наиболее распространенным является sRGB (стандарт Red Green Blue).

SRGB, разработанный HP и Microsoft, является стандартом для мониторов, принтеров и Интернета, когда определенное цветовое пространство не определено, и это очень хороший стандарт. Калибровка для sRGB довольно проста, потому что вы настраиваете один канал на ненулевое значение, а два других - на ноль и циклически проходите. Вот почему вы увидите 255 255 255 для цвета (это белый) или 255, 0, 0 (это красный). После того, как цветность каждого первичного канала откалибрована, все остальные цвета тоже будут.

В идеале, это то, что делает каждая компания, производящая дисплей, тогда она отправляет дисплей за дверь.

До Oreo управление цветом на Android было нарушено

Проблема заключается в том, что некоторые компании, использующие дисплеи с широкой цветовой гаммой, растягивают пространство sRGB и заново интерпретируют значения цвета в своей собственной уникальной гамме. Это делает три основных канала очень перенасыщенными, что, в свою очередь, означает, что каждый из 16, 7 миллионов цветов, которые мог отображать дисплей, больше не был откалиброван, чтобы выглядеть одинаково на любом другом устройстве.

Есть много цветовых пространств и профилей. Одним из наиболее важных для Android является sRGB.

До появления Android Oreo приложения использовали цветовое пространство sRGB. Есть причина для этого - бюджетное оборудование. Отображение широкой цветовой гаммы потребляет больше ресурсов графического процессора и процессора, чем пространство sRGB. Если бы Android был настроен с широким цветовым пространством по умолчанию, некоторые телефоны, которые покупают люди, изо всех сил пытались бы его отобразить. Даже если дисплей телефона не способен отображать все цвета, производительность все равно остается довольно большой.

Производители высококлассных устройств считали, что «нарушение» калибровки цвета и обработки цвета с их собственными значениями продемонстрировало бы их превосходные дисплеи, и если бы я узнал, что, занимаясь этой работой почти восемь лет, производитель телефонов заботится только о что лучше для себя.

Некоторые приложения по-прежнему должны показывать в основном точные цвета, даже когда производитель нарушает цветовое пространство, поэтому разработчикам пришлось обесценивать свои активы, чтобы попытаться компенсировать это. Например, видео выглядит лучше всего, когда красный знак остановки имеет тот же красный цвет, что и вы, а не случайный цвет, который, как решил производитель, должен быть. Как только вы представите устройство со 100% дисплеем DCI-P3, откалиброванным для цветового пространства sRGB, все начинает выглядеть не так, как надо. В этом суть проблем, связанных с «приглушенными» цветами на Pixel 2, хотя некоторые эксперты говорят, что калибровка не очень точна от единицы к единице.

Вот как это исправить

Благодаря правильной поддержке Wide Color Gamut этот Pixel 2 XL и Note 8 отображают это изображение одинаково на обоих экранах.

Это простая часть, и, вероятно, следовало сделать с самого начала. Разработчик может определить, использует ли устройство дисплей с широкой цветовой гаммой, и может ли активность внутри приложения использовать правильное цветовое пространство, чтобы максимально использовать его. Если устройство не может отображать широкий цвет, используется профиль sRGB по умолчанию.

Google предоставил множество ресурсов для разработчиков, которые хотят следовать новым правилам в своих приложениях:

  • Общая документация по цветовому пространству Android для API 26
  • Цветовые пространства, поддерживаемые Android
  • Широкие цветовые ресурсы и руководство по содержанию

Это все хорошо, и должно стать отличным способом убедиться, что цвета выглядят одинаково для разных устройств, если только это не более низкая модель, не способная отображать каждый цвет. Они по-прежнему будут выглядеть корректно между устройствами, потому что они будут использовать цветовое пространство sRGB. Проблема состоит в том, чтобы заставить всех на борту сделать то же самое.

Мы надеемся, что все станет лучше

Чтобы это работало, Samsung, OnePlus, LG и любая другая компания, которая «сломала» интерпретацию sRGB, должна вернуться и исправить ее, а разработчикам необходимо перестроить свои приложения для поддержки новых правил цветового пространства. И никто не хочет это делать.

Компании, скорее всего, не изменят своих действий, пока разработчики приложений не сделают приложения, которые выглядят хорошо, и разработчики не собираются писать приложения, которые будут выглядеть испорченными на миллионах и миллионах телефонов. Apple удалось перейти к правильному управлению цветом, поскольку она контролирует аппаратное и программное пространство, а также устанавливает рекомендации App Store. У Google нет такой роскоши.

Где-то кто-то думает о том, как все это исправить. И доставка сломанного по выбору пользователя цветового пространства на телефонах Pixel 2 для компенсации - ну, это не так. Мы знаем, что все участники хотят сделать все правильно, и это также означает, что ничего не сломалось на телефонах, которые уже были проданы. Надеюсь, это будет решено раньше, чем позже.