Проверка порядка следования субпикселей RGB-BGR

Честно сказать, ранее не уделял этой задаче особого внимания. Считал, что в мониторах и ноутбуках всегда используется стандартный порядок следования субпикслеей основных цветов — R-G-B. А различные вариации обычно идут в телевизионных или экспериментальных ЖК-панелях.


Пример R-G-B и B-G-R порядка субпикселей.

Но, занимаясь анализом макрофотографий ЖК-пикселей, сейчас стал замечать, что и в мониторных ЖК-панелях тоже встречаются нестандартные порядки. Причем, такое впечатление, что просто-напросто саму панель устанавливают в монитор, поворачивая ее на 180 градусов. Это ощущение от того, что не только меняется порядок субпикселей, но и микроструктура ЖК-пикселя кажется повернутой «вверх-ногами». Вначале я грешил на сам процесс фотографирования, полагая, что поворот возникает из-за того, что людям приходится использоваться дополнительные насадки (вплоть до детских микроскопов). Но потом сомнения развеялись, когда «посыпались» примеры снимков, на которых были узнаваемые элементы букв. Стало понятно, что в природе есть значительная часть ЖК-панелей с BGR-порядком.

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


Пример некорректной растеризации при неправильной установке порядка следования субпикселей для алгоритма сглаживания шрифтов.
Иллюстрация на базе изображения с сайта www.wlug.org.nz.

В связи с этим, привожу тест на определение порядка следования субпикселей. Идея неоригинальная и уже давно есть на других сайтах, кстати, вот тест «sub pixel layout» Хан-Кван Ниенхоя на его сайте «The Lagom LCD monitor test pages».

Итак, присмотритесь к краям голубого квадрата внутри красного. Если левая сторона отделена от красного едва уловимой черной линией, а правая — белой, то порядок следования R-G-B. Если наоборот, то B-G-R.

Ниже симуляция увеличенного в два раза фрагмента тестового шаблона:

R-G-B
B-G-R

Аналогично, на телевизионной ЖК-панели для вертикального порядка R-G-B верхняя сторона квадрата будет отделена черной линией, а для B-G-R — нижняя.

17 мая 2012—17 мая 2012
Максим Проскурня