Articulo de referencia

Renderizado de subpíxeles

Una simulación de renderizado de subpíxeles "Aa" renderizado en subpíxeles La imagen anterior, con los canales R , G y B separados y animados. Ejemplos de geometría de píxeles ,...

Una simulación de renderizado de subpíxeles
"Aa" renderizado en subpíxeles
La imagen anterior, con los canales R , G y B separados y animados.
Ejemplos de geometría de píxeles , que muestran diversas disposiciones de píxeles y subpíxeles, que deben tenerse en cuenta para la representación de subpíxeles. Las pantallas LCD compuestas por subpíxeles rojos, verdes y azules (el ejemplo más típico se muestra abajo a la derecha) son las más adecuadas para la representación de subpíxeles.

La renderización de subpíxeles es un método que se utiliza para aumentar la resolución efectiva de una pantalla a color . Utiliza la composición de cada píxel , que consta de tres subpíxeles (rojo, verde y azul) que pueden ser direccionados individualmente en la matriz de la pantalla.

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 en general.

Historia

El origen de la renderización de subpíxeles tal como se utiliza hoy en día sigue siendo controvertido. Apple Inc. , IBM y Microsoft patentaron diversas implementaciones que diferían en detalles técnicos debido a los diferentes propósitos para los que se concibieron sus tecnologías. [ 1 ]

Microsoft poseía varias patentes en Estados Unidos para tecnología de renderizado de subpíxeles utilizada en el renderizado de texto en diseños RGB Stripe. 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; y 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 realizado por FreeType [ 3 ] indica que la patente no cubre la idea del renderizado de subpíxeles, sino el filtro real utilizado como paso final para equilibrar el color. La patente de Microsoft describe el filtro más pequeño posible que distribuye cada valor de subpíxel de manera equitativa entre los píxeles R, G y B. Cualquier otro filtro resultará en una imagen más borrosa o introducirá artefactos de color.

Apple pudo usarlo en Mac OS X gracias a un acuerdo de licencia cruzada de patentes . [ 4 ]

Características

Un solo píxel en una pantalla a color está compuesto por varios subpíxeles, generalmente tres dispuestos de izquierda a derecha como rojo, verde y azul (RGB). Estos componentes son fácilmente visibles con una lupa pequeña . Para el ojo humano, estos componentes de píxel aparecen como un solo color debido al desenfoque producido por 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. Por lo tanto, al activar el G y el B de un píxel y el R del píxel siguiente a la derecha, se producirá un punto blanco, pero este aparecerá a 1/3 de píxel a la derecha del punto blanco que se vería solo con el RGB del primer píxel. La renderización de subpíxeles aprovecha esto para proporcionar una resolución horizontal tres veces mayor que la de la imagen renderizada. Sin embargo, debe desenfocar esta imagen para producir el color correcto, asegurando que se active la misma cantidad de rojo, verde y azul que cuando no se realiza ninguna renderización de subpíxeles.

La renderización de subpíxeles no requiere el uso de suavizado de bordes (antialiasing ). Proporciona un resultado más suave independientemente de si se utiliza o no [ 5 ] , ya que aumenta artificialmente la resolución. Sin embargo, introduce aliasing de color, puesto que los subpíxeles están coloreados. El filtrado posterior aplicado para eliminar los artefactos de color es una forma de suavizado de bordes, aunque su propósito no es suavizar las formas dentadas como en el suavizado de bordes convencional.

La representación de subpíxeles requiere que el software conozca la disposición de los subpíxeles. La causa más común de errores son los monitores que se pueden girar 90 (o 180) grados, aunque también existen monitores fabricados con otras disposiciones de 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 subpíxeles será peor que si no se realizara ninguna representación (no producirá artefactos de color, pero sí bordes ruidosos).

Implementaciones

Apple II

Steve Gibson afirmó que el Apple II , presentado en 1977, admite una forma temprana de renderizado 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 utilizado 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 mismo para especificar el color o el brillo. El color se crea en cambio como un artefacto del esquema de codificación de color NTSC , determinado por la posición horizontal: los píxeles con coordenadas horizontales pares son siempre púrpuras (o azules, si el bit de bandera está activado), y los píxeles impares son siempre verdes (o naranjas). Dos píxeles encendidos uno al lado del otro son siempre blancos, independientemente de si el par es par/impar o impar/par, e independientemente del valor del bit de bandera. Se trata de una aproximación, pero es lo que la mayoría de los programadores de la época tenían en mente al trabajar con el modo de alta resolución de Apple.

El ejemplo de Gibson afirma que, dado 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 otro que activa su mitad derecha verde. Si el programador activa la mitad derecha verde de un píxel y la mitad izquierda púrpura del siguiente, el resultado es un bloque blanco a medio píxel a la derecha, lo que constituye un caso de renderizado de subpíxeles. Sin embargo, no está claro si algún programador del Apple II consideró los pares de bits como píxeles, sino que denominó 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 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 usando el modo de gráficos de alta resolución, para suavizar las diagonales.

ClearType

Microsoft anunció su tecnología de renderizado de subpíxeles, llamada ClearType , en COMDEX en 1998. [ 8 ] Microsoft publicó un documento en mayo de 2000, Filtrado desplazado para pantallas con patrones, que describía el filtrado detrás de ClearType. [ 9 ] Luego se puso a disposición en Windows XP . Sin embargo, no se activó por defecto hasta Windows Vista , mientras que los fabricantes de equipos originales de Windows XP podían cambiar, y de hecho cambiaron, la configuración predeterminada. [ 10 ]

FreeType

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 de suavizado de bordes ClearType e incluye la siguiente advertencia: "El algoritmo de filtrado de color de la tecnología ClearType de Microsoft para la representación de subpíxeles está protegido por patentes; por esta razón, el código correspondiente en FreeType está deshabilitado de forma predeterminada. Cabe señalar que la representación de subpíxeles en sí misma es una técnica anterior; por lo tanto, el uso de un filtro de color diferente elude fácilmente las reivindicaciones 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 es a la vez normalizado (la suma de los valores es 1) y equilibrado en color (elimina los bordes 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 de alta calidad optimizada para LCD sin recurrir a las técnicas de ClearType de triplicación de resolución y filtrado". Este es el método habilitado por defecto. Al usar 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 de ClearType.

CoolType

Adobe creó su propio motor de renderizado de subpíxeles llamado CoolType , lo que les permitió 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 . En cambio, CoolType de Adobe también admitía fuentes PostScript (y sus equivalentes OpenType ). [ 13 ]

macOS

Mac OS X (más tarde OS X, ahora macOS) también utilizaba renderizado de subpíxeles, como parte de Quartz 2D . Sin embargo, se eliminó tras la introducción de las pantallas Retina . A diferencia de la implementación de Microsoft, que favorece un ajuste preciso a la cuadrícula ( inspiración 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 ]

Véase también

Referencias

  1. John Markoff, " ClearType de Microsoft desata un debate sobre la originalidad. Archivado el 21 de abril de 2017 en Wayback Machine ", New York Times , 7 de diciembre de 1998.
  2. 1 2 David Turner (1 de junio de 2007). "Patentes de ClearType, FreeType y el escritorio Unix: una explicación" . Archivado del original el 31 de marzo de 2009. Recuperado el 9 de abril de 2009 .
  3. 1 2 "FreeType y patentes" . FreeType.org. 13 de febrero de 2018. Archivado del original el 10 de noviembre de 2018. Consultado el 29 de noviembre de 2018 .
  4. "Parches de renderizado LCD" . 24 de septiembre de 2006. Archivado del original el 3 de junio de 2011. Consultado el 9 de abril de 2009 .
  5. "Un tratado sobre la rasterización de fuentes con énfasis en el software libre" . 15 de septiembre de 2010. Consultado el 11 de noviembre de 2023 .
  6. "GRC - Los orígenes de la representación de fuentes subpíxel" . grc.com . Archivado del original el 6 de marzo de 2006. Consultado el 2 de marzo de 2006 .
  7. David Turner (24 de septiembre de 2006, 20:00) Parches de renderizado LCD archivados el 8 de febrero de 2007 en Wayback Machine
  8. Discurso de Bill Gates sobre TIC en Comdex 1998 , archivado del original el 30/11/2021 , consultado el 30/11/2021.
  9. Platt, John; Keely, Bert; Hill, Bill; Dresevic, Bodin; Betrisey, Claude; Mitchell, Don P.; Hitchcock, Greg; Blinn, Jim; Whitted, Turner (1 de mayo de 2000). "Filtrado desplazado para pantallas con patrones. Actas del Simposio de la Sociedad para la Visualización de Información" . págs. 296–299 . Archivado del original el 30 de noviembre de 2021. Consultado el 30 de noviembre de 2021 . 
  10. Greg Hitchcock (con introducción de Steven Sinofsky ) " Cambios de ingeniería en ClearType en Windows 7 Archivado el 18/12/2012 en Wayback Machine ", blogs de MSDN, 23 de junio de 2009
  11. "Sobre el ligero efecto de sugerencia, la correcta representación del texto, el oscurecimiento del trazo y los filtros LCD" . freetype.org . Archivado del original el 12 de noviembre de 2020. Consultado el 14 de noviembre de 2020 .
  12. Lemberg, Werner (16 de septiembre de 2017). "Anuncio de FreeType 2.8.1" . Archivado del original el 16 de noviembre de 2019. Consultado el 30 de abril de 2019 .
  13. Felici, James (abril de 2000) " ClearType, CoolType: La vista lo dice todo ", Seybold Report on Internet Publishing, vol. 4, número 8
  14. "Los problemas del suavizado tipográfico" . 2 de noviembre de 2009. Archivado del original el 9 de agosto de 2014. Consultado el 11 de agosto de 2014 .
  • Comentarios de Ron Feigenblatt sobre Microsoft ClearType
  • Préstamo de píxeles, ClearType y suavizado de bordes en Wayback Machine (archivado el 12 de octubre de 2007)
  • Explorador de subpíxeles
  • Textos Rasterización Exposiciones Artículo del Proyecto de Geometría Antigrano.
  • Engelhardt, Thomas (2013). "Renderizado de subpíxeles de bajo costo para diversas pantallas". Computer Graphics Forum . 33 (1): 199– 209. doi : 10.1111/cgf.12267 . S2CID 9851327 . http://jankautz.com/publications/SubpixelCGF13.pdf