Title: Pr
1Présentation du mode RAW
- Gilles Clémentclemgill_at_club-internet.fr
- RCE 14 Novembre, La Vilette
2Le RAW cest 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 dimage
le plus directement possible (sans aucun
pré-traitement)
Niveau dintensité (luminance) pour chaque
pixel (8 bits)
256
256
0
0
Pixel N3
Pixel N1
Pixel N2
Pixel N4
Pixel N5
Pixel N6
Pixel N7
Pixel N7
Pixel N8
Pixel N3
Pixel N7
Pixel N1
Pixel N2
Pixel N4
Pixel N5
Pixel N6
Pixel N7
Pixel N8
Le long dune ligne du capteur
Image dun point chaud en mode RAW
Non RAW empâtement du point, contraste
horizontal renforcé ( yeux de merlan ), bruit
de fond beurk !
3A quoi çà sert ?
- Récupérer une image brute de brute
- Travailler avec la quantité maximum dinformation
- Le pré-traitement Webcam dégrade les images
- Contrôler ensuite exactement ce quon 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
4Le RAW avec une Webcam ?
- Le Webcams ne sont pas du tout faites pour
limagerie 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 naiment pas les
images vraies doù les traitements agressifs - Préférence pour le clinquant
- Les images contrastées
- Les verticales aux horizontales (çà nous vient du
temps des cavernes ) doù 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 dutilisation (USB, vitesse
de transfert) - Améliorer loutil Webcam grâce au mode RAW permet
alors de décupler les possibilités
5Le RAW Une Bidouille Internationale
- Lorigine de lidé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 loctet magique ? (G. Clément ,
J. Reed, E. Bonduelle) - !!!! Çà marche !!!!
- Couleur G. Clément, NB E. Bonduelle
Première image historique du RAW couleur (BOF
!) le 29 Nov 2003 (encore un pb de sharness)
6Le 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 à lUSB
- Plus besoin de chirurgie avec WcRmac ! (M. Burri,
Suisse) - La maturité
- Le site du RAW ! (E. Bonduelle)
- Ladaptation des softs (AVIRAW, IRIS, QCfocus,
QASTROCAM, ASTROSNAP - ..... ?
7Quy a-t-il dans une Webcam ?
- Cest 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 lUSB
4 cm
8Quy 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,5
millions de bits/sec - Il faut sérieusement compresser limage 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
9Le schéma fonctionnel du logiciel !
10Le schéma-bloc du micro ..!
11Schéma simplifié (ouf !)
(3)
(1)
Capteur dimage
- Réglages de - Balance couleurs
- Gain
- Saturation
Pre-Gains Offset Noir
(4)
Codage Image (YUV)
Renforcement divers des contours
Séquenceur USB
- Pour atteindre le mode RAW il faut pouvoir
- (1) Ajuster les pré-gains et supprimer la
compensation du noir - (2) Supprimer linterpolation de Bayer, et
ajuster coeff. matrice couleur - (3) Optimiser les réglages classiques (seuls
accessibles sans bidouille) - (4) Supprimer les renforcements de limage
- (5) Supprimer (ou minimiser) la compression de
limage - . Çà fait beaucoup mais nous y sommes
arrivés !!!!
12La matrice de Bayer
- Un capteur noir-et-blanc cest simple
- Chaque site un pixel
- Décompose lintensité lumineuse en niveaux de
gris - Mais un capteur couleur cest plein de trous !
- Il faudrait 3 capteurs (Rouge Vert Bleu) pour
chaque site - Cest 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 gt par
interpolation sur les pixels adjacents! On ne
rajoute pas dinformation, on bricole !! - Cest la reconstruction de l image RVB
Couche B
Couche R
13La matrice de Bayer (suite)
- Ce que voit un capteur à matrice de Bayer
devant des plages de couleurs unies
14Reconstruction de limage
- En chaque point il faut reconstruire linfo RVB
! - Point de limage 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 limage 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 limage 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
- Limage standard NB est la moyenne de RVB
donc - Moyenne de 5 à 9 pixels voisins gt beaucoup
dinformation est perdue - Cest ce qui se passe si on change le capteur
couleur par un NB sans le dire à la caméra
15Les 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 ?)
16Les registres internes (suite)
- Le data sheet de Phillips (60 pages !)
Mode RAW bit N5 du registre 0x01H
17Mé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 lorsquon débranche la Webcam les
processeurs perdent la mémoire (Cest Jack qui
a trouvé çà !)
- De plus on peut lire et surtout écrire dans cette
mémoire à laide 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 !
18Mémoire EEPROM et bus I2C (suite)
- Principe de fonctionnement
- Le processeur de séquencement sauvegarde les
données de registres dans lEEPROM externe et les
récupère à la demande - On peut intervenir sur le Bus I2C simplement à
laide dun 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 lUSB
Soudure sur Bus I2C
Processeur spécialisé SAA8116
19Dans la jungle des octets
- Et on obtient çà !....
- 512 octets de mémoire
- Sur deux pages
- Comment retrouver la correspondance avec les
registres ..?
20Dans 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 lEEPROM - On arrive à identifier pas à pas quelques
registres - Puis on en déduit ce qui devrait logiquement être
loctet du RAW - Et
?
21Dans la jungle des octets (suite)
- Exemple Loctet 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 lEEPROM (ici 0x0A0h passe de la
valeur 05h à 04h)
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é
23Quel capteur ?
- Le NB cest lidé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 NB
24Quel capteur ?
- Cest aussi très intéressant en couleurs
- Meilleurs résultats que le mode standard
- Accessible avec une caméra standard (non NB)
- Permet laccè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
25Quel 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 linterpolation de Bayer (étape (2))
- Mais on supprime tout le reste
- Plus simple (image débayerisée directement
exploitable) - Bons résultats en planétaire
26La 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 sappelait Tweak
Webcam I2C Research Group, mais entre temps
Martin a trouvé le moyen de se passer de lI2C
27Passage à lUSB
- Dernier coup de Théatre !
- Martin Burri trouve le moyen de modifier les
registres à travers le bus USB ! (qui sert dans
lautre sens à régler la caméra) - Même plus besoin de fer à souder .
Décodeur USB
Modification des octets de lEEPROM
Modification des registres
!! Dans certains cas seulement pour la page 00
!!(au reset ou lors du restore factory setting
)
28Passage à lUSB WcRmac
- WcRmac pour modifier les registres à laide de
macros - Ou bien charger des binaires complets
(sauvegardes) - Cest Le logiciel standard de M. Burri
- Extrêmement simple demploi
- Evite de faire des erreurs (ne permet pas laccès
direct aux registres)
29Passage à lUSB WcRmac
- 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 doctets erronées - La seule façon de déplanter est alors de
revenir à lI2C (cest déjà arrivé plusieurs
fois)
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_R
AW_B/W_CCD -1'-968090425 0 'Set B/W RAW Mode
and Special Factory Settings (for B/W CCDs) 1
'0x0E00x04 (Noise Reduction to Zero) 2
'0x0E10x03 (Set auto mode off, Manual White
bal...) 3 '0x0E30xF8 (Shutter speed at 1/25th
sec DSO) 4 '0x0E40x10 (Gain about 30) 5
'0x0E60x80 (Red bal 50) 6 '0x0E70x40 (Blue
bal 25) 7 '0x0EA0x00 (Sharpness to Zero) 8
'0x0ED0x78 (Luminosity to 45) 9 '0x0EE0xE0
(Gamma to 50) 10 '0x1010x24 (RAW Mode) 11
'0x1020x00 (Optical Black Level K1 to Zero) 12
'0x1030x00 (Optical Black Level K2 to Zero) 13
'0x1040x00 (Optical Black Level K3 to Zero) 14
'0x1050x00 (Optical Black Level K4 to Zero) 15
'0x1060x80 (PreMatrix K1 Std) 16 '0x1070x80
(PreMatrix K2 Std) 17 '0x1080x80 (PreMatrix K3
Std) 18 '0x1090x80 (PreMatrix K4 Std) Etc
..
30Passage à lUSB WcRAcc
- WcRAcc pour Accéder à tous les Registres de
lEEPROM - Génial !
- Mais attention beaucoup plus dangereux !!
- For the Twirggers only !
31Le site du RAW
http//www.astrosurf.com/astrobond/ebrawe.htm
- Très didactique
- Explique tout ce quil 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
32Conclusion
- Une bidouille qui marche bien et vraiment utile
- Intégré en standard dans les caméra Atik NB
- 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 nest 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
33Bibliographie
- Le RAW 'facile' pour Webcams Philips et
Logitech o) , Etienne Bonduelle
(http//www.astrosurf.com/astrobond/ebrawe.htm) - Mode RAW sur une webcam NB astronomique ,
Philippe Bernascole (http//www.astrosurf.com/ast
robond/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.astrosn
ap.com/index_fr.html)