Nos confrères du site Anandtech sont revenus en détail sur le fonctionnement de la nouvelle API Camera2 de Google. Elle sera intégrée à Android L et permettra de piloter les capteurs pour la réalisation des photos et des vidéos. Nous avions déjà abordé les nouveautés apportées par l’API il y a quelques semaines, mais nous ne connaissions pas encore le fonctionnement ni les subtilités de Camera2.
Les modes photo, vidéo et aperçu disparaissent
Actuellement, avec l’API Camera, il existe trois modes de capture : photo, vidéo ou aperçu (live). Le premier permet de prendre une photo, le second une vidéo et le troisième affiche une image en temps réel sur l’écran. Lorsque l’utilisateur souhaite prendre une photo, Android envoie une requête au capteur et au processeur d’images. Le contenu de cette demande diffère selon le mode (photo, vidéo ou aperçu). Avec l’API Camera2, les trois modes disparaissent et sont remplacés par un unique mode, un genre de caméléon, bien plus habile et flexible comme nous allons le voir.
Le pipeline et les réglages, clef de voute des photos
Pour les deux versions de l’API, une file d’attente est créée dans laquelle viennent se garer les requêtes et les réglages. Elles avancent au sein d’un pipeline (composée par le capteur et le processeur d’image) au fur et à mesure des étapes pour être « développées » en image.
Auparavant, les réglages n’étaient pas stockés dans la requête, mais directement sur le pipeline, contrairement à ce qui se passe avec la nouvelle API. Imaginons deux photos A et B avec la photo A en train d’être traitée par le pipeline. Si on change un réglage pour la photo suivante (B) et qu’on la met dans la queue, les réglages du pipeline sont modifiés, ce qui altère donc les réglages de la photo actuellement dans le pipeline (A). Il est ainsi impossible de prendre de rapides rafales à cause d’un temps d’attente, sous peine de se retrouver avec des photos aux réglages étranges.
Avec la nouvelle API, chaque requête comporte ses propres réglages. Il est ainsi possible de mettre dans la queue de nombreux réglages différents avec une vitesse de traitement qui dépendra uniquement de la rapidité du processeur d’images et non pas d’Android. C’est pour cette raison que Google a pu, sur le Nexus 5, capturer 8 images de 8 mégapixels à une cadence de 30 images par secondes contre 1 à 3 images / secondes avec l’ancienne API.
Un mode vidéo plus performant
L’autre apport du nouveau pipeline, c’est la possibilité de mixer photo et vidéo en même temps. Imaginons que votre smartphone utilise le capteur pour filmer une vidéo. Si votre processeur d’image (ISP) est assez puissant, il sera possible de prendre des photos (qui ne sont pas de simples screenshots de la vidéo) voire des rafales pendant la vidéo. Chaque frame de la vidéo et des photos sera à la queue leu-leu dans le pipeline et traitée à la suite, sans que l’utilisateur perçoive un temps d’attente. Il serait également possible de réaliser des vidéos en HDR : imaginons que l’utilisateur réalise une vidéo en 30 images par seconde et que le processeur d’image en supporte 60. Il multipliera chaque frame de la vidéo par deux avec deux réglages différents pour les superposer et n’en faire qu’une, plus ou moins lumineuse selon les zones et la lumière ambiante. Pour toutes ces utilisations, il faudra que le processeur d’image soit assez puissant.
De nouveaux réglages accessibles
En plus du nouveau fonctionnement que nous avons vu précédemment, la nouvelle API va permettre aux développeurs d’avoir accès à de nombreux réglages : temps d’exposition, ISO, distance de mise au point, flash, lock AE / AWB, etc. et surtout le support du format RAW standardisé DNG (Digital Native). Celui-ci va permettre à la photo de ne pas passer par les effets et filtres du processeur d’image et d’être directement stockée de manière brute sur le téléphone. Il faudra ensuite utiliser une application comme Lightroom pour « développer » la photo et lui donner un aspect finalisé.
Le RAW et la retouche de photo
L’inconvénient du RAW est qu’il faut obligatoirement retoucher la photo sous peine de se retrouver avec une photo pas forcément exploitable en l’état, mais le gros avantage est d’avoir accès à tous les réglages : compression, balance des blancs, exposition, etc. La photo sera donc, au final, de meilleure qualité. On pourrait même voir débarquer des applications Android qui prennent en charge l’ensemble de ses réglages de manière automatique depuis l’image au format RAW en court-circuitant le processeur d’image. Ainsi, l’utilisateur n’aurait qu’à se servir d’une application qui jouera le rôle d’appareil photo et qui sortirait une photo de meilleure qualité que l’application de base.
Les applications des constructeurs
Des constructeurs parviennent toutefois à réaliser des applications appareil photo qui permettent de réaliser tous ces réglages et le support du RAW. C’est par exemple le cas d’Oppo sur ses Find 7 et 7a ou encore Nikon avec ses compacts sous Android. En fait, ils ne se servent pas de l’API Camera, mais d’une API maison dont le code source de n’est pas distribué par les constructeurs, ce qui empêche les développeurs de proposer des applications tierces.
La photo 2.0 pour Android
L’API Camera 2 permettra donc de faire passer Android à la vitesse supérieure au niveau de la photo. Grâce à elle, les constructeurs d’appareils photo pourront proposer davantage de reflex sous Android (à l’image du Galaxy NX de Samsung que nous avons pu tester) ou de compacts sans avoir besoin de développer leur propre API et surtout en atteignant des performances semblables aux reflex standard. L’API Camera 2 est déjà disponible sur la version preview d’Android L, mais aucune application ne l’utilise encore. Il faudra donc attendre la sortie d’Android L et le développement d’applications de tierce partie pour profiter d’un écosystème photo bien plus performant et intéressant.
Envie de retrouver les meilleurs articles de Frandroid sur Google News ? Vous pouvez suivre Frandroid sur Google News en un clic.
Justement il utilise le nouvel API camera2 de google, c'est même le premier à l'utiliser...
Les photos en RAW permettront-elles au Moto G de prendre des photos correctes sans avoir à subir l'horrible algorithme de réduction de bruit qui détruit tous les détails des images qui sont prises avec l'appareil?<i>-------<a href="https://play.google.com/store/apps/details?id=com.frandroid.app">Envoyé depuis l'application FrAndroid pour smartphone</a></i>
Mais comment fonctionnent donc les applications du type Camera FV-5 qui permettent de régler l'ISO, le temps d'exposition, bloquer la mise au point ou la balance des blancs... ?
"Enfin" de belles photos ? Il ne faut pas pousser non plus, quand on voit les photos et vidéos prises par un S5, un LG G3 ou un Oppo Find 7, elles sont quand même très très belles...
J'ai remplacé "inacceptable" qui était un peu fort en "pas forcément exploitable en l’état" ;) C'était pour faire référence aux problèmes pointé du doigt par matackermann.
Merci beaucoup pour ces précisions :)
Pour apporter des précisons techniques, on parle d'API Camera2 uniquement du SDK (c'est à dire en Java). L'API camera coté natif/système (AOSP) est déjà en 3.1 avec KitKat ;) (pour ceux que ça intéresse : http://www.slideshare.net/lbk003/an-devcon2013-camera3kaurfinal ) Camera2 étant apparut avec la 4.2, et Camera3 avec la 4.3. Pour la petite histoire, Camera1 était prévu pour un usage classique de l'appareil photo de téléphone en 2007 (très basique, en même temps la technologie n'était pas aussi avancée dans ce domaine). Camera2 apporta des modifications sur cette architecture pour ajouter des éléments comme la détection de visage. Elle a vite disparu pour laisser place à Camera3 qui change radicalement et se comporte comme indiqué dans votre article. Beaucoup plus flexible et efficace :) La présence dans le système de cette nouvelle API depuis la 4.3 à permit à des fabricants comme Oppo de proposer leur application caméra apportant avant l'heure toutes ces nouvelles fonctionnalités. Il faut aussi savoir que jusqu'à la 4.4 il n'était pas obligatoire d'avoir l'API Camera3 dans le système, seul Camera1 est obligatoire pour avoir Android "valide". Je pense que Camera2 ne sera pas obligatoire pour les fabricants, car elle implique un certains nombre de contrainte hardware qui ne sont généralement pas remplit par les features phones et smarpthones low-end.
Cool sauf que personne va l'utiliser puisque c'est uniquement à partir de l'API 20+... Ou alors on va voir apparaître, comme chez Apple, des apps qui marchent que sur les derniers smartphones...
Non va falloir attendre les capteurs 103mpx Exmor S+++ de Sony pour voir correctement la tronche de Genima en train de se bourrer la gueule en soirée. -------Envoyé depuis l'application Humanoid pour smartphone
Je suis pourtant d'accord avec cet avis. Un RAW est assez laid de base. La distorsion de l'objectif n'est pas corrigée, le bruit ultra présent, en gros tout est à faire. L'avantage, c'est que l'on peut régler l'image aux petits oignons avec des softs de développement qui utilisent la puissance de nos ordis et des algorithmes de traitement maousses costauds et surtout ne sont pas obligés de travailler en temps réel. Par contre bon courage pour traiter les Raws de nos téléphones, où nous nous rendront compte que les lentilles sont vraiment daubées.
Sony va peut être pouvoir exploiter ses 20 mégapixels ?
Depuis que je suis sur Android je vois la différence avec l'iPhone est c'est vrai que pour le moment Google est en dessous d'Apple sur ce point. vivement Android L. <i>-------<a href="https://play.google.com/store/apps/details?id=com.frandroid.app">Envoyé depuis l'application FrAndroid pour smartphone</a></i>
Des erreurs dans tous les articles ou presque ces derniers temps... <i>-------<a href="https://play.google.com/store/apps/details?id=com.frandroid.app">Envoyé depuis l'application FrAndroid pour smartphone</a></i>
" L’inconvénient du RAW est qu’il faut obligatoirement retoucher la photo sous peine de se retrouver avec une photo inacceptable" Mais c'est quoi ces idioties???!!! <i>-------<a href="https://play.google.com/store/apps/details?id=com.frandroid.app">Envoyé depuis l'application FrAndroid pour smartphone</a></i>
Raw ne veux pas dire photo inacceptable, je ne sais pas trop où vous avez été pécher ça ! l’avantage du Raw c'est d'avoir le fichier brut ! Par contre la taille est plus importante ;)
Ca y est, en mode photo on va enfin consommer autant de batterie qu'en mode navigation étape par étape en GPS ^^ Sinon ça semble une bonne chose, vivement les tests.
Ce contenu est bloqué car vous n'avez pas accepté les cookies et autres traceurs. Ce contenu est fourni par Disqus.
Pour pouvoir le visualiser, vous devez accepter l'usage étant opéré par Disqus avec vos données qui pourront être utilisées pour les finalités suivantes : vous permettre de visualiser et de partager des contenus avec des médias sociaux, favoriser le développement et l'amélioration des produits d'Humanoid et de ses partenaires, vous afficher des publicités personnalisées par rapport à votre profil et activité, vous définir un profil publicitaire personnalisé, mesurer la performance des publicités et du contenu de ce site et mesurer l'audience de ce site (en savoir plus)
En cliquant sur « J’accepte tout », vous consentez aux finalités susmentionnées pour l’ensemble des cookies et autres traceurs déposés par Humanoid et ses partenaires.
Vous gardez la possibilité de retirer votre consentement à tout moment. Pour plus d’informations, nous vous invitons à prendre connaissance de notre Politique cookies.
Gérer mes choix