La representación de subpíxeles es un método utilizado para aumentar la resolución efectiva de un dispositivo de visualización en color . Aprovecha la composición de cada píxel de componentes rojos, verdes y azules direccionables individualmente y adyacentes en la matriz de visualización, llamados subpíxeles , y los utiliza como unidades de representación en lugar de píxeles.
La representación de subpíxeles se utiliza principalmente para la representación de texto en pantallas DPI estándar .
A pesar de las anomalías de color inherentes, también se puede utilizar para representar gráficos generales.
El origen del renderizado de subpíxeles tal como se utiliza hoy en día sigue siendo controvertido. Apple Inc. , IBM y Microsoft patentaron varias implementaciones con ciertas diferencias técnicas debido a los diferentes propósitos para los que estaban destinadas sus tecnologías. [1]
Microsoft tenía varias patentes en los Estados Unidos sobre tecnología de representación de subpíxeles para la representación de texto en diseños de rayas RGB. Las patentes 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 fueron presentadas entre el 7 de octubre de 1998 y el 7 de octubre de 1999. , y expiró el 30 de julio de 2019. [2] Análisis de la patente por FreeType [3] indica que la idea de la representación de subpíxeles no está cubierta por la patente, sino por el filtro real utilizado como último paso para equilibrar el color. La patente de Microsoft describe el filtro más pequeño posible que distribuye cada valor de subpíxel a una cantidad igual de píxeles R, G y B. Cualquier otro filtro será más borroso o introducirá artefactos de color.
Apple pudo usarlo en Mac OS X gracias a un acuerdo de licencia cruzada de patentes . [4]
Un solo píxel en una pantalla a color está formado por varios subpíxeles, normalmente tres dispuestos de izquierda a derecha en rojo, verde y azul (RGB). Los componentes son fácilmente visibles cuando se observan con una lupa pequeña, como una lupa . Estos componentes de píxeles aparecen como un solo color para el ojo humano debido a la borrosidad de la óptica y la integración espacial de las células nerviosas del ojo. Sin embargo, el ojo es mucho más sensible a la ubicación. [ se necesita aclaración ] Por lo tanto, activar G y B de un píxel y R del siguiente píxel a la derecha producirá un punto blanco, pero parecerá estar a 1/3 de un píxel a la derecha del punto blanco. eso se vería desde el RGB de solo el primer píxel. La representación de subpíxeles aprovecha esto para proporcionar tres veces la resolución horizontal de la imagen renderizada, aunque tiene que desenfocar esta imagen para producir el color correcto asegurándose de que esté activada la misma cantidad de rojo, verde y azul que cuando no hay representación de subpíxeles. se está haciendo.
La renderización de subpíxeles no requiere el uso de antialiasing y proporciona un resultado más suave independientemente de si se usa antialiasing o no [5] , ya que aumenta artificialmente la resolución. Sin embargo, introduce alias de color ya que los subpíxeles están coloreados. El filtrado posterior aplicado para eliminar los artefactos de color es una forma de antialiasing, aunque su propósito no es suavizar las formas irregulares como en el antialiasing convencional.
La representación de subpíxeles requiere que el software conozca la disposición de los subpíxeles. La razón más común por la que esto es incorrecto son los monitores que se pueden girar 90 (o 180) grados, aunque los monitores se fabrican con otras disposiciones de los subpíxeles, como BGR o en triángulos, o con 4 colores como los cuadrados RGBW. En cualquier pantalla de este tipo, el resultado de una representación de subpíxeles incorrecta será peor que si no se realizara ninguna representación de subpíxeles (no producirá artefactos de color, pero sí bordes ruidosos).
Steve Gibson afirma que el Apple II , presentado en 1977, admite una forma temprana de renderizado de subpíxeles en su modo de gráficos de alta resolución (280×192). [6] La patente de Wozniak sólo utilizaba 2 "subpíxeles". [7] Los bytes que componen el búfer de pantalla de alta resolución del Apple II contienen siete bits visibles (cada uno correspondiente directamente a un píxel) y un bit de bandera utilizado para seleccionar entre conjuntos de colores púrpura/verde o azul/naranja. Cada píxel, dado que está representado por un único bit, está encendido o apagado; no hay bits dentro del píxel para especificar el color o el brillo. En cambio, el color se crea como un artefacto del esquema de codificación de color NTSC , determinado por la posición horizontal: los píxeles con coordenadas horizontales pares siempre son violetas (o azules, si el bit de bandera está configurado) y los píxeles impares siempre son verdes (o naranja). Dos píxeles iluminados uno al lado del otro siempre son blancos, independientemente de si el par es par/impar o impar/par, y del valor del bit de bandera. Lo anterior es sólo una aproximación de la verdadera interacción entre el comportamiento digital y analógico de los circuitos de salida de vídeo de Apple, por un lado, y las propiedades de los monitores NTSC reales, por el otro. Sin embargo, esta aproximación es la que la mayoría de programadores de la época tendrían en mente al trabajar con el modo de alta resolución de Apple.
El ejemplo de Gibson afirma que debido a que dos bits adyacentes forman un bloque blanco, en realidad hay dos bits por píxel: uno que activa la mitad izquierda púrpura del píxel y el otro que activa la mitad derecha verde del píxel. Si, en cambio, el programador activa la mitad verde derecha de un píxel y la mitad violeta izquierda del siguiente píxel, entonces el resultado es un bloque blanco que está 1/2 píxel a la derecha, que de hecho es una instancia de renderizado de subpíxeles. Sin embargo, no está claro si algún programador del Apple II ha considerado los pares de bits como píxeles, en lugar de llamar a cada bit un píxel.
El bit de bandera en cada byte afecta el color desplazando los píxeles medio píxel hacia la derecha. Este cambio de medio píxel fue aprovechado por algunos programas de gráficos, como HRCG (High-Resolution Character Generator), una utilidad de Apple que mostraba texto usando el modo de gráficos de alta resolución, para suavizar las diagonales.
Microsoft anunció su tecnología de renderizado de subpíxeles, llamada ClearType , en COMDEX en 1998. [8] Microsoft publicó un artículo en mayo de 2000, Displaced Filtering for Patterned Displays, que describe el filtrado detrás de ClearType. [9] Luego estuvo disponible en Windows XP , pero no se activó de forma predeterminada hasta Windows Vista . ( Sin embargo, los OEM de Windows XP pudieron cambiar la configuración predeterminada, y lo hicieron). [10]
FreeType , la biblioteca utilizada por la mayoría del software actual en X Window System , contiene dos implementaciones de código abierto . La implementación original utiliza los filtros antialiasing ClearType y lleva el siguiente aviso: "El algoritmo de filtrado de color de la tecnología ClearType de Microsoft para la representación de subpíxeles está cubierto por patentes; por esta razón, el código correspondiente en FreeType está deshabilitado de forma predeterminada. Tenga en cuenta que la representación de subpíxeles per se es técnica anterior; el uso de un filtro de color diferente elude fácilmente las reclamaciones de patente de Microsoft." [3] [2]
FreeType ofrece una variedad de filtros de color. Desde la versión 2.6.2, el filtro predeterminado es light , un filtro que está normalizado (el valor suma 1) y tiene equilibrio de color (elimina las franjas de color a costa de la resolución). [11]
Desde la versión 2.8.1, existe una segunda implementación, llamada Harmony , que "ofrece una salida LCD optimizada de alta calidad sin recurrir a técnicas ClearType de triplicación y filtrado de resolución". Este es el método habilitado por defecto. Cuando se utiliza este método, "cada canal de color se genera por separado después de cambiar el contorno del glifo, aprovechando el hecho de que las cuadrículas de color en los paneles LCD se desplazan en un tercio de píxel. Esta salida es indistinguible de ClearType con un ligero toque de 3 filtrar." [12] Dado que el método Harmony no requiere filtrado adicional, no está cubierto por las patentes ClearType.
Adobe creó su propio renderizador de subpíxeles llamado CoolType , lo que les permite mostrar documentos de la misma manera en varios sistemas operativos: Windows, MacOS, Linux, etc. Cuando se lanzó alrededor del año 2001, CoolType admitía una gama más amplia de fuentes que ClearType de Microsoft, que en ese momento estaba limitado a fuentes TrueType , mientras que CoolType de Adobe también admitía fuentes PostScript (y también su equivalente OpenType ). [13]
Mac OS X (más tarde OS X, ahora macOS) solía usar también renderizado de subpíxeles, como parte de Quartz 2D . Sin embargo, se eliminó después de la introducción de las pantallas Retina. A diferencia de la implementación de Microsoft, que favorece un ajuste perfecto a la cuadrícula ( sugerencia de fuente ) para maximizar la legibilidad, la implementación de Apple prioriza la forma de los glifos según lo establecido por su diseñador. [14]
{{cite journal}}
: Citar diario requiere |journal=
( ayuda )