1 / 33

Présentation du mode RAW

Présentation du mode RAW. Gilles Clément clemgill@club-internet.fr RCE 14 Novembre, La Vilette. Le RAW c’est quoi ?. RAW (anglais) = Cru, brut, non traité , à vif, foid et humide, inexpérimenté, sauvage, à l’état brut, obscène …

chill
Download Presentation

Présentation du mode RAW

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Présentation du mode RAW Gilles Clémentclemgill@club-internet.fr RCE 14 Novembre, La Vilette

  2. Le RAW c’est quoi ? • RAW (anglais) = Cru, brut, non traité, à vif, foid et humide, inexpérimenté, sauvage, à l’état brut, obscène … • Le but = récupérer le signal du capteur d’image le plus directement possible (sans aucun pré-traitement) Niveau d’intensité (luminance) pour chaque pixel (8 bits) 256 256 0 0 Pixel N°3 Pixel N°7 Pixel N°1 Pixel N°2 Pixel N°4 Pixel N°5 Pixel N°6 Pixel N°7 Pixel N°8 Pixel N°3 Pixel N°7 Pixel N°1 Pixel N°2 Pixel N°4 Pixel N°5 Pixel N°6 Pixel N°7 Pixel N°8 Le long d’une ligne du capteur Image d’un point chaud en mode RAW Non RAW : empâtement du point, contraste horizontal renforcé (« yeux de merlan »), bruit de fond ……… beurk ! Rencontres C&E La Villette

  3. A quoi çà sert ? • Récupérer une image « brute de brute » • Travailler avec la quantité maximum d’information • Le pré-traitement Webcam dégrade les images • Contrôler ensuite exactement ce qu’on fait • le traitement ultérieur des images • Améliorer la qualité des images au traitement • Retrouver les nuances, • Ex: voiles des nébuleuses et les petits détails ! Exemple emprunté sur le net Rencontres C&E La Villette

  4. Le RAW avec une Webcam ? • Le Webcams ne sont pas du tout faites pour l’imagerie astronomique • But = Faire rapidement des images flatteuses à diffuser sur le Web (petites, sur-traitées, très compressées …) • L’œil et le cerveau humain n’aiment pas les images « vraies » d’où les traitements agressifs • Préférence pour le « clinquant » • Les images contrastées • Les verticales aux horizontales (çà nous vient du temps des cavernes …) d’où les yeux de merlan • Les couleurs saturées …. • Mais la Webcam peut être un très bon outil Astro • 10 à 100 fois moins cher que les vraies caméras Astro !!!! • Excellents résultats notamment en planétaire (tout petit pixels donc très bonne résolution) • Facilité et confort d’utilisation (USB, vitesse de transfert) • Améliorer l’outil Webcam grâce au mode RAW permet alors de décupler les possibilités Rencontres C&E La Villette

  5. Le RAW : Une Bidouille «Internationale » • L’origine de l’idée • Il y a une piste dans la doc ! (G. Clément) • On a trouvé un stéthoscope ! • Mémoire EEPROM et bus I2C(J. Reed, USA) • Dans la jungle des octets • Mais ou est donc l’octet magique ? (G. Clément , J. Reed, E. Bonduelle) • !!!! Çà marche !!!! • Couleur : G. Clément, N&B : E. Bonduelle Première image « historique »du RAW couleur (BOF !) le 29 Nov 2003 (encore un pb de sharness) Rencontres C&E La Villette

  6. Le RAW : Une Bidouille «Internationale » • La liste TWIRG • Activité fébrile fin 2003, tout va très très vite …. en à peine deux mois tout est dit ! (les mêmes + F. Adelving, JB Butet etc …) • Le passage à l’USB • Plus besoin de chirurgie avec WcRmac ! (M. Burri, Suisse) • La maturité • Le site du RAW ! (E. Bonduelle) • L’adaptation des softs (AVIRAW, IRIS, QCfocus, QASTROCAM, ASTROSNAP … • ..... ? Rencontres C&E La Villette

  7. Qu’y a-t-il dans une Webcam ? • C’est un objet très sophistiqué • Les grands volumes de vente permettent de réduire le coût … • … mais une Webcam est un vrai concentré de haute technologie ! • Ex: la TOUCAM de Phillips • Capteur CCD 640x480 pixels, (taille 5,6 µ !) • 2 micro-processeurs spécifiques (dont traitement de signal rapide) • De nombreux circuits périphériques spécialisés • Le tout sub-miniature (composant CMS) • Et capable de faire tout passer dans le « tuyau » de l’USB 4 cm Rencontres C&E La Villette

  8. Qu’y a-t-il dans une Webcam ? • Exemple de difficulté : la question du débit sur le câble USB • Flux image brute: • 640 pixels * 480 pixels * 8 bits * 25 images/sec = 61 millions de bits/s • Alors que le débit du bus USB 1.1 est ~ 1,5millions de bits/sec • Il faut sérieusement compresser l’image pour passer la pleine vidéo sur la liaison USB • Une des raisons de la perte de qualité des images Webcam avec des fréquences image élevées Rencontres C&E La Villette

  9. Le schéma fonctionnel du logiciel ! Rencontres C&E La Villette

  10. Le schéma-bloc du micro …..! Rencontres C&E La Villette

  11. (2) Reconstruction des pixels à partir de la matrice de Bayer Matrice d’ajustement des couleurs de base (5) Algorithme de Compression Schéma simplifié (ouf !) (3) (1) Capteur d’image • Pour atteindre le « mode RAW » il faut pouvoir • (1) Ajuster les pré-gains et supprimer la compensation du noir • (2) Supprimer l’interpolation de Bayer, et ajuster coeff. matrice couleur • (3) Optimiser les réglages classiques (seuls accessibles sans bidouille) • (4) Supprimer les renforcements de l’image • (5) Supprimer (ou minimiser) la compression de l’image ……. Çà fait beaucoup … mais nous y sommes arrivés !!!! • Réglages de - Balance couleurs • Gain • Saturation … Pre-Gains + Offset Noir (4) Codage Image (YUV) Renforcement divers des contours Séquenceur USB Rencontres C&E La Villette

  12. Couche V La matrice de Bayer • Un capteur noir-et-blanc c’est simple • Chaque site = un pixel • Décompose l’intensité lumineuse en niveaux de gris • Mais un capteur couleur c’est plein de trous ! • Il faudrait 3 capteurs (Rouge Vert Bleu) pour chaque site • C’est trop cher et trop complexe • Un micro-filtre R, V ou B devant chaque pixel • On économise et exploite la sensibilité physiologique dans le vert • Arrangement des capteurs R V B selon la matrice de Bayer • Il faut ensuite remplir les « trous » => par interpolation sur les pixels adjacents! On ne rajoute pas d’information, on bricole !! • C’est la reconstruction de l’ image RVB Couche B Couche R = + + Rencontres C&E La Villette

  13. La matrice de Bayer (suite) • Ce que voit un capteur « à matrice de Bayer » devant des plages de couleurs unies Rencontres C&E La Villette

  14. Reconstruction de l’image • En chaque point il faut reconstruire l’info R+V+B ! • Point de l’image qui correspond à un pixel V • R = moyenne des signaux des 2 pixels rouges voisins • V = signal du pixel vert • B = moyenne des signaux des 2 pixels bleus voisins • Point de l’image qui correspond à un pixel R • R = signal du pixel rouge • V = moyenne des signaux des 4 pixels verts voisins • B = moyenne des signaux des 4 pixels bleus voisins • Point de l’image qui correspond à un pixel B • R = moyenne des signaux des 4 pixels rouges voisins • V = moyenne des signaux des 4 pixels verts voisins • B = signal du pixel bleu • L’image «standard » N&B est la moyenne de R+V+B donc • Moyenne de 5 à 9 pixels voisins => beaucoup d’information est perdue • C’est ce qui se passe si on change le capteur couleur par un N&B « sans le dire à la caméra » Rencontres C&E La Villette

  15. Registres Processeur de signal Processeur de séquencement Les « registres » internes • Les microprocesseurs internes communiquent à travers des « registres » • Ce sont des cases mémoire (des octets) qui contiennent les paramètres de la caméra • Coefficients de gains et réglage des algorithmes …. • Choix des configurations (ex: Led ON ou OFF) • Ces registres sont décrits dans la doc (data sheet) de Phillips • La clef = accéder à ces registres !!!! (mais comment ?) Rencontres C&E La Villette

  16. Les « registres » internes (suite) • Le data sheet de Phillips (60 pages !) Mode RAW = bit N°5 du registre 0x01H Rencontres C&E La Villette

  17. Mémoire EEPROM et bus I2C • Première nouvelle fracassante ! • Une partie des registres est recopiée dans une mémoire externe non volatile (EEPROM) • En effet lorsqu’on débranche la Webcam les processeurs perdent la mémoire … (C’est Jack qui a trouvé çà !) • De plus on peut lire et surtout écrire dans cette mémoire à l’aide du bus I2C • I2C = Protocole série de Philips qui permet de communiquer très simplement avec un tas de composants • Il suffit de souder trois fils ! Rencontres C&E La Villette

  18. Mémoire EEPROM et bus I2C (suite) • Principe de fonctionnement • Le processeur de séquencement sauvegarde les données de registres dans l’EEPROM externe et les récupère à la demande • On peut intervenir sur le Bus I2C simplement à l’aide d’un PC externe + cable parallèle + logiciel ad-hoc Logiciel de dialogue I2C (ex: J. Reed) Port // Image capteur Registres Processeur de séquencement Processeur de signal EEPROM externe Vers l’USB Soudure sur Bus I2C Processeur spécialisé SAA8116 Rencontres C&E La Villette

  19. Dans la jungle des octets • Et on obtient çà !.... • 512 octets de mémoire • Sur deux «pages » • Comment retrouver la correspondance avec les registres …..? Rencontres C&E La Villette

  20. Dans la jungle des octets (suite) • A tâton dans la jungle… • En modifiant les réglages standard accessibles (luminosité, couleur …) on traque les changements induits dans l’EEPROM • On arrive à identifier pas à pas quelques registres … • Puis on en déduit ce qui devrait logiquement être l’octet du RAW • Et ………… ? Rencontres C&E La Villette

  21. Dans la jungle des octets (suite) • Exemple : L’octet 0x0A0h correspond au registre « MIRROR_NOISE_CTL » Un seul paramètre est modifié à la fois (ex: «noise » passe de 1 à 0) puis on examine les octets qui changent dans mémoire de l’EEPROM (ici 0x0A0h passe de la valeur 05h à 04h) Rencontres C&E La Villette

  22. Çà marche !! • Dernière astuce (une chance !) • En réduisant la vitesse de transmission au minimum (5 images/sec) on arrive à minimiser (supprimer ?) la compression logicielle ! Si le débit est trop fort, on obtient des bandes aléatoires de compression comme ceci RAW comprimé Rencontres C&E La Villette

  23. Quel capteur ? • Le N&B c’est l’idéal • Image RAW directement utilisable • Le capteur est très sensible • Pas de dégradations dues aux filtres couleur sur pixels • Le RAW est indispensable avec un capteur N&B Rencontres C&E La Villette

  24. Quel capteur ? • C’est aussi très intéressant en couleurs • Meilleurs résultats que le mode standard • Accessible avec une caméra standard (non N&B) • Permet l’accès du RAW au plus grand nombre • Mais il faut « débayeriser » • plusieurs solutions possibles (Astrosnap, AVIRAW, IRIS ...) Mode RAW débayerisé (plus de détails) Mode RAW image brute Mode normal Rencontres C&E La Villette

  25. (2) (3) (1) Capteur d’image Reconstruction des pixels à partir de la matrice de Bayer Matrice d’ajustement des couleurs de base • Réglages de - Balance couleurs • Gain • Saturation … Pre-Gains + Offset Noir (4) (5) Codage Image (YUV) Renforcement divers des contours Algorithme de Compression Séquenceur USB Quel capteur ? • Le mode couleur « Optimisé » • Etienne Bonduelle (sur une idée de J.B. Butet) a introduit une variante avec le capteur couleur • On conserve l’interpolation de Bayer (étape (2)) • Mais on supprime tout le reste • Plus simple (image débayerisée directement exploitable) • Bons résultats en planétaire Rencontres C&E La Villette

  26. La liste TWIRG • Une liste sur Yahoo dédié aux bidouilles RAW des Webcams • But = ne pas encombrer les autres listes • TWIRG = Tweak Webcam Interface Research Group (Groupe de recherche sur la bidouille des webcams) • Détail amusant : au début on s’appelait Tweak Webcam I2C Research Group, mais entre temps Martin a trouvé le moyen de se passer de l’I2C … Rencontres C&E La Villette

  27. Reconstruction des pixels à partir de la matrice de Bayer Matrice d’ajustement des couleurs de base • Réglages de - Balance couleurs • Gain • Saturation … Pre-Gains + Offset Noir Codage Image (YUV) Renforcement divers des contours Algorithme de Compression Séquenceur USB Passage à l’USB • Dernier coup de Théatre ! • Martin Burri trouve le moyen de modifier les registres à travers le bus USB ! (qui sert dans l’autre sens à régler la caméra) • Même plus besoin de fer à souder …. Modification des registres Modification des octets de l’EEPROM Décodeur USB !! Dans certains cas seulement pour la page 00 !!(au reset ou lors du « restore factory setting ») Rencontres C&E La Villette

  28. Passage à l’USB : WcRmac • WcRmac pour modifier les registres à l’aide de macros • Ou bien charger des binaires complets (sauvegardes) • C’est Le logiciel standard de M. Burri • Extrêmement simple d’emploi • Evite de faire des erreurs (ne permet pas l’accès direct aux registres) Rencontres C&E La Villette

  29. Passage à l’USB : WcRmac ; SAA8116 Macro description ; The first character after the = sign is ignored ; to allow leading spaces ; ; Contributors: ; bm98astro, Etienne Bonduelle, Gilles Clement, Christian Buil, Francis Adelving... and a lot of people of TWIRG !!! ……………………………………………………………………………………………… [M_Set_RAW_B/W_CCD] -1='-968090425 0 ='Set B/W RAW Mode and Special Factory Settings (for B/W CCDs) 1 ='0x0E0=0x04 (Noise Reduction to Zero) 2 ='0x0E1=0x03 (Set auto mode off, Manual White bal...) 3 ='0x0E3=0xF8 (Shutter speed at 1/25th sec DSO) 4 ='0x0E4=0x10 (Gain about 30%) 5 ='0x0E6=0x80 (Red bal 50%) 6 ='0x0E7=0x40 (Blue bal 25%) 7 ='0x0EA=0x00 (Sharpness to Zero) 8 ='0x0ED=0x78 (Luminosity to 45%) 9 ='0x0EE=0xE0 (Gamma to 50%) 10 ='0x101=0x24 (RAW Mode) 11 ='0x102=0x00 (Optical Black Level K1 to Zero) 12 ='0x103=0x00 (Optical Black Level K2 to Zero) 13 ='0x104=0x00 (Optical Black Level K3 to Zero) 14 ='0x105=0x00 (Optical Black Level K4 to Zero) 15 ='0x106=0x80 (PreMatrix K1 Std) 16 ='0x107=0x80 (PreMatrix K2 Std) 17 ='0x108=0x80 (PreMatrix K3 Std) 18 ='0x109=0x80 (PreMatrix K4 Std) Etc ………….. • Un formalisme très simple pour les Macros • Fichier texte • Tout est modifiable • ATTENTION • on peut totalement planter une caméra en envoyant des valeurs d’octets erronées • La seule façon de « déplanter » est alors de revenir à l’I2C (c’est déjà arrivé plusieurs fois) Rencontres C&E La Villette

  30. Passage à l’USB : WcRAcc • WcRAcc pour Accéder à tous les Registres de l’EEPROM • Génial ! • Mais attention beaucoup plus dangereux !! • For the «Twirggers » only ! Rencontres C&E La Villette

  31. Le site du RAW http://www.astrosurf.com/astrobond/ebrawe.htm • Très didactique • Explique tout ce qu’il fait savoir pour faire bien marcher la modif • Notamment le très important « restaurer usine » • EB a développé et longuement testé les réglages qui sont proposés dans les macros • Qui sont toujours bidouillables pour vos besoins propres Rencontres C&E La Villette

  32. Conclusion • Une bidouille qui marche bien et vraiment utile • Intégré en standard dans les caméra Atik N&B • Une combinaison étonnante de compétences … et de chance ! • Une développement extraordinairement rapide (tout le monde était prêt) • Une aventure très excitante ! • Il reste encore des zones à explorer • Fonctionnement des autres registres • Le RAW n’est pas encore tout à fait RAW • Il reste un chouïa de compression …. • On peut aller encore plus loin mais … • Questions de confidentialité industrielle • Accord de Phillips nécessaire … Rencontres C&E La Villette

  33. Bibliographie • « Le RAW 'facile' pour Webcams Philips et Logitech ;o) », Etienne Bonduelle (http://www.astrosurf.com/astrobond/ebrawe.htm) • « Mode RAW sur une webcam N&B astronomique », Philippe Bernascole (http://www.astrosurf.com/astrobond/Webcam_RAW.pdf) • « Ultra Mod (I2C interface project)», Jack Reed (http://www.foley-tax.com/Astro) • « WcRmac »,Martin Burri (http://www.burri-web.org/bm98/stuff/wcrmac-1.0.79.zip) • « AviRaw - read raw webcam AVIs », Carsten Arnold (http://arnholm.org/astro/software/aviraw/) • «Astrosnap_Pro», Axel Canicio (http://www.astrosnap.com/index_fr.html) Rencontres C&E La Villette

More Related