Ceci est plutôt une bonne nouvelle pour les accros à la photo mobile : Google aurait sur le feu une mise à jour de l'API de l'appareil photo permettant de traiter les images raw en sortie de capteur, permettant ainsi d'augmenter significativement la qualité des images prises sous Android à l'aide d'algorithmes plus complexes. Pourquoi est-ce une si bonne nouvelle ?

Le Raw, qu'est-ce que c'est ?

Une image raw est une image telle qu'obtenue en sortie de capteur, avec un traitement minimal de l'information effectuée sur cette dernière. L'image n'est pas regardable en tant que tel : il s'agit d'une succession de pixels rouges, bleus et verts organisés spatialement sous la forme d'un motif périodique dont le plus répandu est le Bayer (voir image ci-dessous). On dispose généralement de deux fois plus de pixels verts que les autres pour singer la sensibilité de l'oeil qui est lui aussi deux fois plus sensible au vert qu'au rouge ou au bleu.

Filtre bayer

Comme le capteur ne voit pas les couleurs de la même façon que nous, pauvres humains, plusieurs traitements sont ensuite effectués sur l'image avant de générer une image qui correspond à la perception humaine de la scène figée par le capteur. Parmi ces traitements, les plus essentiels sont, dans l'ordre :

  • Le dématriçage : avec l'image raw on ne dispose que d'une seule couleur pour chaque pixel. Le but de cette étape est de reconstruire le signal afin d'avoir une information par couleur rouge, verte et bleue par pixel. N'importe quelle couleur peut donc ensuite être reconstituée à partir d'une combinaison de bleu, vert et rouge.
  • La matrice couleur : L'application d'une matrice corrective permet d'approcher un rendu couleur désiré et de faire en sorte que différents capteurs sortent des images aux rendus couleurs similaires.
  • La tone curve : c'est une courbe qui vient réhausser le contraste dans les sombres et écraser les détails dans les clairs. Elle sert également à ramener la dynamique de l'image de sortie à 8 bits pour un encodage.
  • L'encodage : on stocke l'image finale sous la forme fichier numérique standard (avec ou sans compression) du type jpg, png, tiff, etc.

Pourquoi donner accès aux raw ?

Pour chacune de ces étapes, chaque constructeur d'appareil photo dispose de ses petites recettes plus ou moins compliquées, rusées et efficaces. On peut donc imaginer des applis ou des surcouches qui remplacent les algorithmes par défaut par des algorithmes plus efficaces. Oui, mais dans ce cas pourquoi ne pas retoucher les images prises par le téléphone ?

Si l'on souhaite modifier à nouveau les images après encodage, on doit se contenter de 8 bits et de données contenant parfois des artefacts de compression. Les images raw quant à elles, peut être sur une dynamique plus grande, par exemple 16 bits, soit une information beaucoup plus précise ! Une information sur 8bits est codée entre 0 et 255 et une information sur 16bits est codée entre 0 et 65536 : on a donc dans ce cas 256 fois plus d'information entre chaque niveau de gris[1] sur la raw que sur la jpeg.

Cette perte d'information limite les traitement qui peuvent être faits sur les images finales. De plus, les artefacts de compression introduisent des défauts qui peuvent fausser les résultat de certains algorithmes. On a donc tout intérêt de travailler sur le raw sur mobile comme le font les photographes depuis des années sur leurs appareils pro ou semi-pro. Une image qui comporte des défauts en raw peut être en partie rattrapée ensuite grâce à ce surplus d'informations disponible en sortie de capteur.

Des chaines images plus complètes

En plus des étapes basiques décrites si dessus qui permettent d'obtenir une image qui simule la vision de notre oeil, il y a en réalité beaucoup plus d'algorithmes optionnels réalisés sur les images raw : contrôle de l'autofocus, balance des blancs, débruitage, enlèvement des pixels morts, etc. Les constructeurs essaient de faire en sorte que chacune de ces briques algorithmiques embarqués permettent de délivrer des images à la qualité d'image optimale en sortie de chaine, tout en respectant les contraintes de temps de traitement (par ex. 30 images par secondes pour une video) et de consommation (ça tombe bien, c'est très précisément mon métier !).

Ces contraintes sont définies par le constructeur pour une utilisation moyenne. Mais une personne plus exigeante sur la qualité des images en sortie de son téléphone peut potentiellement vouloir sacrifier un peu de sa batterie pour avoir un résultat plus plaisant. Avec un accès libre à la raw, on peut imaginer l'émergence d'applications dédiées au traitement d'images sur mobile permettant de remplacer tout ou partie des algorithmes embarqués ou même de traiter ses images a posteriori sur PC.

Conclusion

L'accès au raw permettrait une amélioration significative de la qualité des images en sortie d'un smartphone, sans pour autant faire des miracles avec des capteurs ou des optiques médiocres. Néanmoins, l'ouverture d'un nouveau marché logiciel pour smartphone permettrait le développement d'application de traitement temps réel ou a posteriori des images issues des mobiles avec de nouvelles possibilités ouvertes. Ça va bouger dans le domaine de la photo mobile !

Note

[1] Un niveau de gris représentant la plus petite variation qui peut être faite sur une couleur donnée, soit une variation d'1 bit.