stringtranslate.com

Субпиксельный рендеринг

Моделирование субпиксельного рендеринга
Примеры геометрии пикселей , показывающие различные расположения пикселей и субпикселей, которые необходимо учитывать при субпиксельном рендеринге. ЖК-дисплеи, состоящие из красных, зеленых и синих субпикселей (наиболее типичный пример — внизу справа), лучше всего подходят для субпиксельного рендеринга.

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

Субпиксельный рендеринг в основном используется для рендеринга текста на дисплеях со стандартным разрешением .

Несмотря на присущие ему цветовые аномалии, его также можно использовать для рендеринга общей графики.

История

Происхождение субпиксельного рендеринга, используемого сегодня, остается спорным. Apple Inc. , IBM и Microsoft запатентовали различные реализации с определенными техническими отличиями из-за разных целей, для которых предназначались их технологии. [1]

У Microsoft было несколько патентов в США на технологию субпиксельного рендеринга для рендеринга текста в макетах RGB Stripe. Патенты 6 219 025, 6 239 783, 6 307 566, 6 225 973, 6 243 070, 6 393 145, 6 421 054, 6 282 327, 6 624 828 были поданы в период с 7 октября 1998 г. по 7 октября. 99, срок действия которого истек 30 июля 2019 г. [2] Анализ патента FreeType. [3] указывает на то, что идея субпиксельного рендеринга не защищена патентом, а фактическим фильтром, используемым в качестве последнего шага для балансировки цвета. В патенте Microsoft описан наименьший возможный фильтр, который распределяет значение каждого субпикселя по равному количеству пикселей R, G и B. Любой другой фильтр будет либо более размытым, либо внесет цветовые артефакты.

Apple смогла использовать его в Mac OS X благодаря соглашению о перекрестном лицензировании патентов . [4]

Характеристики

Один пиксель на цветном дисплее состоит из нескольких субпикселей, обычно трех, расположенных слева направо: красного, зеленого и синего (RGB). Компоненты легко увидеть, если рассматривать их с помощью небольшого увеличительного стекла, например лупы . Эти пиксельные компоненты кажутся человеческому глазу одним цветом из-за размытия оптики и пространственной интеграции нервных клеток глаза. Однако глаз гораздо более чувствителен к местоположению. [ необходимо пояснение ] Таким образом, включение G и B одного пикселя и R следующего пикселя справа приведет к появлению белой точки, но она будет выглядеть на 1/3 пикселя справа от белой точки. это будет видно по RGB только первого пикселя. Субпиксельный рендеринг использует это преимущество, чтобы обеспечить в три раза большее горизонтальное разрешение визуализированного изображения, хотя для получения правильного цвета необходимо размыть это изображение, гарантируя, что включено такое же количество красного, зеленого и синего, как и при отсутствии субпиксельного рендеринга. в настоящее время делается.

Субпиксельный рендеринг не требует использования сглаживания и дает более плавный результат независимо от того, используется сглаживание или нет [5], поскольку оно искусственно увеличивает разрешение. Однако он вводит сглаживание цветов, поскольку субпиксели окрашены. Последующая фильтрация, применяемая для удаления цветовых артефактов, является формой сглаживания, хотя ее целью не является сглаживание неровных форм, как при обычном сглаживании.

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

Реализации

Яблоко II

Стив Гибсон утверждал, что Apple II , представленный в 1977 году, поддерживает раннюю форму субпиксельного рендеринга в графическом режиме высокого разрешения (280×192). [6] В патенте Возняка использовалось только 2 «субпикселя». [7] Байты , составляющие буфер экрана высокого разрешения Apple II, содержат семь видимых битов (каждый непосредственно соответствует пикселю) и бит флага, используемый для выбора между наборами фиолетового/зеленого или синего/оранжевого цветов. Каждый пиксель, поскольку он представлен одним битом, либо включен, либо выключен; внутри самого пикселя нет битов для определения цвета или яркости. Вместо этого цвет создается как артефакт схемы кодирования цвета NTSC , определяемый горизонтальным положением: пиксели с четными горизонтальными координатами всегда фиолетовые (или синие, если установлен бит флага), а нечетные пиксели всегда зеленые (или оранжевые). Два освещенных пикселя рядом друг с другом всегда белые, независимо от того, является ли пара четным/нечетным или нечетным/четным, а также независимо от значения бита флага. Это приблизительное значение, но именно это имело в виду большинство программистов того времени, работая с режимом высокого разрешения Apple.

В примере Гибсона утверждается, что, поскольку два соседних бита образуют белый блок, на самом деле на пиксель приходится два бита: один активирует фиолетовую левую половину пикселя, а другой активирует зеленую правую половину пикселя. Если вместо этого программист активирует зеленую правую половину пикселя и фиолетовую левую половину следующего пикселя, то результатом будет белый блок, расположенный на 1/2 пикселя вправо, что действительно является примером субпиксельного рендеринга. Однако неясно, считали ли какие-либо программисты Apple II пары битов пикселями, вместо этого называя каждый бит пикселем.

Бит флага в каждом байте влияет на цвет, сдвигая пиксели на половину ширины пикселя вправо. Этот сдвиг на полпикселя использовался некоторыми графическими программами, такими как HRCG (генератор символов высокого разрешения), утилитой Apple, которая отображала текст в графическом режиме высокого разрешения для сглаживания диагоналей.

ClearType

Microsoft анонсировала свою технологию субпиксельного рендеринга под названием ClearType на выставке COMDEX в 1998 году. [8] В мае 2000 года Microsoft опубликовала статью « Смещенная фильтрация для узорчатых дисплеев», описывающую фильтрацию, лежащую в основе ClearType. [9] Затем он стал доступен в Windows XP , но не был активирован по умолчанию до Windows Vista . (Однако производители Windows XP могли изменить настройку по умолчанию и действительно изменили.) [10]

FreeType

FreeType , библиотека, используемая большинством современных программ в системе X Window , содержит две реализации с открытым исходным кодом . Исходная реализация использует фильтры сглаживания ClearType и содержит следующее уведомление: «Алгоритм цветовой фильтрации технологии Microsoft ClearType для субпиксельного рендеринга защищен патентами; по этой причине соответствующий код во FreeType отключен по умолчанию. Обратите внимание, что субпиксельный рендеринг как таковой является предшествующим уровнем техники; использование другого цветового фильтра позволяет легко обойти патентные претензии Microsoft». [3] [2]

FreeType предлагает множество цветовых фильтров. Начиная с версии 2.6.2, фильтром по умолчанию является светлый фильтр, который одновременно нормализован (сумма значений до 1) и сбалансирован по цвету (устраняет цветовые полосы за счет разрешения). [11]

Начиная с версии 2.8.1 существует вторая реализация, называемая Harmony , которая «предлагает высококачественный вывод, оптимизированный для ЖК-дисплея, без обращения к методам ClearType утроения разрешения и фильтрации». Этот метод включен по умолчанию. При использовании этого метода «каждый цветовой канал генерируется отдельно после смещения контура глифа, используя тот факт, что цветовые сетки на ЖК-панелях смещаются на треть пикселя. Этот вывод неотличим от ClearType при легком 3-х касании фильтр." [12] Поскольку метод Harmony не требует дополнительной фильтрации, на него не распространяются патенты ClearType.

CoolType

Adobe создала свой собственный субпиксельный рендерер под названием CoolType , позволяющий отображать документы одинаково в различных операционных системах: Windows, MacOS, Linux и т. д. Когда он был запущен примерно в 2001 году, CoolType поддерживал более широкий диапазон шрифтов, чем ClearType от Microsoft, который в то время был ограничен шрифтами TrueType , тогда как CoolType от Adobe также поддерживал шрифты PostScript (а также их эквивалент OpenType ). [13]

macOS

Mac OS X (позже OS X, теперь macOS) также использовала субпиксельный рендеринг как часть Quartz 2D . Однако он был удален после появления дисплеев Retina. В отличие от реализации Microsoft, которая предпочитает плотное прилегание к сетке ( хинтинг шрифта ) для максимальной читаемости, реализация Apple отдает приоритет форме глифов, заданной их дизайнером. [14]

Смотрите также

Рекомендации

  1. Джон Маркофф, «Microsoft Cleartype положил начало дебатам об оригинальности, архивировано 21 апреля 2017 г. в Wayback Machine », New York Times , 7 декабря 1998 г.
  2. ^ AB Дэвид Тернер (1 июня 2007 г.). «Патенты ClearType, FreeType и Unix Desktop: объяснение». Архивировано из оригинала 31 марта 2009 г. Проверено 9 апреля 2009 г.
  3. ^ ab «FreeType и патенты». FreeType.org. 13 февраля 2018 г. Архивировано из оригинала 10 ноября 2018 г. Проверено 29 ноября 2018 г.
  4. ^ «Патчи рендеринга ЖК-дисплея» . 24 сентября 2006 г. Архивировано из оригинала 3 июня 2011 г. Проверено 9 апреля 2009 г.
  5. ^ «Трактат о растеризации шрифтов с упором на свободное программное обеспечение» . 15 сентября 2010 г. Проверено 11 ноября 2023 г.
  6. ^ «GRC - Истоки рендеринга субпиксельных шрифтов» . grc.com . Архивировано из оригинала 6 марта 2006 г. Проверено 2 марта 2006 г.
  7. ^ Дэвид Тернер (24 сентября, 20:00 2006) Патчи рендеринга ЖК-дисплея. Архивировано 8 февраля 2007 г. на Wayback Machine.
  8. ^ ICT Bill Gates 1998 keynote comdex 1998, заархивировано из оригинала 30 ноября 2021 г. , получено 30 ноября 2021 г.
  9. ^ Платт, Джон; Кили, Берт; Хилл, Билл; Дрешевич, Бодин; Бетриси, Клод; Митчелл, Дон П.; Хичкок, Грег; Блинн, Джим; Уиттед, Тернер (1 мая 2000 г.). «Смещенная фильтрация для узорчатых дисплеев»: 296–299. Архивировано из оригинала 30 ноября 2021 г. Проверено 30 ноября 2021 г. {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  10. ^ Грег Хичкок (с введением Стивена Синофски ) «Инженерные изменения в ClearType в Windows 7. Архивировано 18 декабря 2012 г. в Wayback Machine », блоги MSDN, 23 июня 2009 г.
  11. ^ «О небольших намеках, правильном рендеринге текста, затемнении стебля и ЖК-фильтрах» . сайт freetype.org . Архивировано из оригинала 12 ноября 2020 г. Проверено 14 ноября 2020 г.
  12. ^ Лемберг, Вернер (16 сентября 2017 г.). «Анонсируем FreeType 2.8.1». Архивировано из оригинала 16 ноября 2019 г. Проверено 30 апреля 2019 г.
  13. ^ Феличи, Джеймс (апрель 2000 г.) «ClearType, CoolType: это есть у глаз», Отчет Сейболда об интернет-публикациях, Vol. 4 Выпуск 8
  14. ^ "Проблемы типографского сглаживания" . 2 ноября 2009 г. Архивировано из оригинала 9 августа 2014 г. Проверено 11 августа 2014 г.

Внешние ссылки