🎃 ¡Rebajas de Halloween! ¡Office 2021 para siempre por sólo 29,11€/PC! [ Saber más ]
Hace unos días, corrió como la pólvora la noticia de que un fondo de pantalla en particular podía bloquear tu smartphone Android hasta el punto de que tuvieras que hacer un reset de fábrica para poder volver a utilizarlo.
En su momento ya escuchamos que el problema parecía estar relacionado con la información del espacio de color utilizado por la imagen, que al parecer no era válido y hacía que algunos smartphones Android se bloquearan al interpretarlo.
Ahora Google ha explicado en mayor detalle cuál es la «maldición» que esconde ese fondo de pantalla que tantos quebradores de cabeza ha producido a quienes se atrevieron a probarlo.
Un píxel con un color blanquecino tumba todo el sistema operativo
Según explica Google, el fondo de pantalla «maldito» está codificado en un espacio de color especial que se llama «Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126» (este es el nombre completo del espacio de color, y Skia se refiere a la biblioteca de gráficos 2D hecha por Google).
Esto es bastante extraño ya que la mayoría de las imágenes de fondo de pantalla están codificadas en un espacio de color mucho más habitual llamado «sRGB».
En Android 10 y anteriores, todas las imágenes de fondo de pantalla se convierten a sRGB, así que eso es lo que ocurría con este fondo de pantalla. El problema se encuentra en un extraño error que puede ocurrir al convertir la imagen a sRGB, ya que el que el código que calcula el valor de «luminancia» de cada píxel puede llegar a superar el límite máximo de 255.
La luminancia se calcula con la siguiente fórmula:
Luminancia = 0.2126 * [rojo] + 0.7152 * [verde] + 0.0722 * [azul]
Aquí [rojo], [verde] y [azul] son los valores de color rojo, verde y azul del píxel representados en un valor de 8 bits de 0 a 255. El problema de este cálculo es que cada suma parcial se redondea hacia arriba antes de la suma final.
Un píxel «maldito» del fondo de pantalla tiene los valores RGB 255, 255 y 243 (un color amarillento casi blanco) y, cuando se realizan las multiplicaciones anteriores y se redondea hacia arriba el resultado antes de sumar los tres valores, se obtiene un resultado superior a 255:
Rojo: 0.2126 * 255 = 54.213 => 55
Verde: 0.7152 * 255 = 182.376 => 183
Azul: 0.0722 * 255 = 18.411 => 19
Luminancia = 55 + 183 + 19 = 257
Este valor hace que la interfaz y, básicamente, todo el sistema operativo, se venga abajo porque excede el valor máximo de 255. Es un error muy poco frecuente porque implica una combinación de un error de redondeo y un error de conversión del espacio de color.
Este error no afecta a Android 11 porque el espacio de color «Skia» de la imagen no se convierte en sRGB por defecto.
Romain Guy, del equipo de Android Toolkit de Google, cree que la causa principal de este problema ha sido la forma en que se calcula la luminancia y no la conversión del espacio de color. Google está llevando a cabo sus propias pruebas internas, así que probablemente pronto veremos un arreglo.
Ver comentarios (10)
Todo ese tocho se resume en que hay un bug en la conversión del espacio de color de Google al sRGB. La explicación técnica está bien, pero sobra. Es un bug en la codificación.
Te sobrará a ti. A algunas personas nos gustan entender los problemas técnicos.
Bien dicho Teknófilo
De acuerdo contigo teknofilo, es interesante saber estás combinaciones.
No solamente entras a una página que se llama teknofilo. Además te lo explican lo más detalladamente posible y para que lo entienda todo el mundo, pero todavía te quejas. Cual es tu problema? Me parece que estos estas haciendo clic mal. Hay otros sitios para vos.
La mayoría de las páginas ponen las noticias a medias y en la extraña ocasión donde la noticia está completa, el primer comentario es de alguien quejándose 😂
Lo de arriba x2
x3
Agradece q te estan explicando.
Y sobre todo q se tomaron la molestia.de decirnos sobre la falla .del fondo .en muchos celulares.a q se devia.etc.
Pero. Si inicias en modo seguro lo puedes cambiar no?