El problema del «fondo de pantalla maldito» era un solo «píxel maldito»

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.

    Cancelar respuesta

    Dejar un comentario

    Tu dirección de e-mail nunca será publicada Los campos requeridos están marcados*

    • Te sobrará a ti. A algunas personas nos gustan entender los problemas técnicos.

      Cancelar respuesta

      Dejar un comentario

      Tu dirección de e-mail nunca será publicada Los campos requeridos están marcados*

      • Bien dicho Teknófilo

        Cancelar respuesta

        Dejar un comentario

        Tu dirección de e-mail nunca será publicada Los campos requeridos están marcados*

      • De acuerdo contigo teknofilo, es interesante saber estás combinaciones.

        Cancelar respuesta

        Dejar un comentario

        Tu dirección de e-mail nunca será publicada Los campos requeridos están marcados*

    • 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.

      Cancelar respuesta

      Dejar un comentario

      Tu dirección de e-mail nunca será publicada Los campos requeridos están marcados*

      • 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 😂

        Cancelar respuesta

        Dejar un comentario

        Tu dirección de e-mail nunca será publicada Los campos requeridos están marcados*

  • Lo de arriba x2

    Cancelar respuesta

    Dejar un comentario

    Tu dirección de e-mail nunca será publicada Los campos requeridos están marcados*

  • x3

    Cancelar respuesta

    Dejar un comentario

    Tu dirección de e-mail nunca será publicada Los campos requeridos están marcados*

  • 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.

    Cancelar respuesta

    Dejar un comentario

    Tu dirección de e-mail nunca será publicada Los campos requeridos están marcados*

  • Pero. Si inicias en modo seguro lo puedes cambiar no?

    Cancelar respuesta

    Dejar un comentario

    Tu dirección de e-mail nunca será publicada Los campos requeridos están marcados*

Dejar un comentario

Tu dirección de e-mail nunca será publicada Los campos requeridos están marcados*

Esta web usa cookies para elaborar información estadística y mostrar publicidad personalizada.

Saber más