La representación de subpíxeles es un método que se utiliza para aumentar la resolución efectiva de un dispositivo de visualización en color . Aprovecha la composición de cada píxel de componentes rojo, verde y azul direccionables individualmente 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 renderizar gráficos generales.
El origen de la representación 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 renderizado de subpíxeles para la representación de texto en diseños de franjas 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 se presentaron entre el 7 de octubre de 1998 y el 7 de octubre de 1999, y expiraron el 30 de julio de 2019. [2] El 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 como rojo, verde y azul (RGB). Los componentes son fácilmente visibles cuando se ven con una pequeña lupa, como una lupa . Estos componentes de píxeles aparecen como un solo color para el ojo humano debido al desenfoque por la óptica y la integración espacial por las células nerviosas en el ojo. Sin embargo, el ojo es mucho más sensible a la ubicación. [ aclaración necesaria ] Por lo tanto, encender el G y B de un píxel y el R del siguiente píxel a la derecha producirá un punto blanco, pero parecerá ser 1/3 de un píxel a la derecha del punto blanco que se vería desde el RGB de solo el primer píxel. La renderizació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 al garantizar que se active la misma cantidad de rojo, verde y azul que cuando no se realiza ninguna renderización de subpíxeles.
La representación de subpíxeles no requiere el uso de antialiasing y ofrece un resultado más suave independientemente de si se utiliza o no antialiasing [5], ya que aumenta artificialmente la resolución. Sin embargo, introduce un aliasing 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 es que los monitores se pueden rotar 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 incorrecta de los subpíxeles será peor que si no se hubiera realizado ninguna representación de subpíxeles (no producirá artefactos de color, pero sí bordes ruidosos).
Steve Gibson ha afirmado que el Apple II , presentado en 1977, admite una forma temprana de representación de subpíxeles en su modo gráfico de alta resolución (280 × 192). [6] La patente de Wozniak solo usaba 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 que se usa para seleccionar entre conjuntos de colores púrpura/verde o azul/naranja. Cada píxel, dado que está representado por un solo bit, está encendido o apagado; no hay bits dentro del píxel en sí 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 púrpuras (o azules, si el bit de bandera está configurado) y los píxeles impares siempre son verdes (o naranjas). Dos píxeles iluminados uno al lado del otro siempre son blancos, independientemente de si el par es par/impar o impar/par, e independientemente del valor del bit de bandera. Esto es una aproximación, pero es lo que la mayoría de los programadores de la actualidad tendrían en mente mientras trabajan con el modo de alta resolución de Apple.
El ejemplo de Gibson afirma que, como dos bits adyacentes forman un bloque blanco, en realidad hay dos bits por píxel: uno que activa la mitad izquierda violeta del píxel y el otro que activa la mitad derecha verde del píxel. Si, en cambio, el programador activa la mitad derecha verde de un píxel y la mitad izquierda violeta del píxel siguiente, el resultado es un bloque blanco que está medio píxel a la derecha, lo que es, de hecho, un ejemplo de representación de subpíxeles. Sin embargo, no está claro si algún programador del Apple II ha considerado los pares de bits como píxeles, sino que ha llamado a cada bit un píxel.
El bit de bandera de cada byte afecta el color al desplazar los píxeles medio píxel hacia la derecha. Este desplazamiento 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 utilizando 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 fabricantes de equipos originales de Windows XP podían cambiar y cambiaron la configuración predeterminada). [10]
FreeType , la biblioteca utilizada por la mayoría del software actual en el sistema X Window , 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 en sí es técnica anterior; por lo tanto, el uso de un filtro de color diferente evita 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 (la suma de los valores es igual a 1) y equilibrado en cuanto al 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 optimizada para LCD de alta calidad sin recurrir a las técnicas ClearType de triplicación de resolución y filtrado". Este es el método habilitado de forma predeterminada. Al utilizar este método, "cada canal de color se genera por separado después de desplazar el contorno del glifo, aprovechando el hecho de que las cuadrículas de color en los paneles LCD se desplazan un tercio de píxel. Esta salida es indistinguible de ClearType con un filtro ligero de 3 toques". [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 , 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 su equivalente OpenType también). [13]
Mac OS X (más tarde OS X, ahora macOS) también solía utilizar la representación 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 ajustado a la cuadrícula ( sugerencias 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}}
: Requiere citar revista |journal=
( ayuda )