module inscription newsletter haut de page forum mobile

Rejeter la notice

Nouvelle Formation Prise de son : les inscriptions sont ouvertes !
Maîtrisez la qualité de vos prises de son avec notre formation théorique et pratique de 3 jours ! Du 14 au 16 mai 2024 à Paris.

[Tuto] Transfert argentique et stabilisation à 9 images par seconde

Discussion dans 'Film argentique : projection et numerisation' créé par jempi13, 25 Février 2010.

Tags:
  1. jempi13

    Points Repaire:
    1 200
    Recos reçues:
    1
    Messages:
    220
    Appréciations:
    +0 / 0 / -0
    Bonjour,

    je réponds à une question de GillesH ICI, mais je n'ai pas voulu polluer le topic.
    Il est question de Mercalli, de TM300 et de HD, mais revenons un peu à la SD...
    Il sera peut être un peu déçu.

    Il y a aussi beaucoup de choses sur lesquelles je passe rapidement: elles sont connues par ailleurs.

    La question est: comment stabiliser un transfert de film à 9 images par secondes tout en lui donnant de la fluidité.

    Le matériel

    Au départ, il y a une camera qui filme habituellement en 18 i/s et qui possède une bascule à 9 i/s que l'opérateur a dû malencontreusement actionner au cours de son voyage.

    Le projecteur, lui, ne connaît que le 18 i/s. C'est un Instamatic M66 Kodak, avec moteur asysnchrone.

    C'est un Panasonic GS400 qui a filmé pour le transfert. Le projecteur a été monté dans une caisse en bois qui va contenir tout le reste et supporter le camescope.

    La courroie d'entraînement a été déplacée pour être pilotée par un moteur courant continu 24 volts fixé à la dite caisse. Il y a aussi un transfo. Un montage électronique de mon cru asservit le moteur à la sortie vidéo du GS400, avec un comparateur de phase dont l'autre entrée est un capteur optique à réflexion provenant d'un lecteur de disquette. Le principe est somme toute assez classique. Le capteur illumine et lit un bouton de potentiomètre fixé en bout d'axe de l'obturateur et revétu de bandes noires et blanches.

    Côté optique, le principe de capture s'appelle je crois "objectif dans l'objectif": l'objectif du projecteur a été retiré, un objectif de projecteur de diapo vise le filme, le caméscope est au plus près de ce dernier. C'est très compact. Et cela donne une image en miroir qu'il faudra retourner.

    Par ailleurs, l'ampoule d'origine a été remplacée par une ampoule de puissance moindre et complétée d'un double dépoli pour un éclairage bien uniforme. La grille qui protège le film en pause a donc pu être retirée (et tant mieux, car des fois l'asservissement se perd et le moteur s'arrête). Egalement retiré, un cache qui fait margeur et que l'on ajuste pour masquer les images voisines à la projection: il suffit de cadrer le camescope, on évite cette zone floue sur le bord qu'on aurait vu danser avec la stabilisation.

    La capture

    C'est un obturateur 3 pales, on synchronise donc à 16,666 tours par minutes, et autant d'images de pellicule, soit 50 passages de pale par seconde. En l'état, c'est presque deux fois trop vite.

    Le GS400 est en tout manuel: focus, diaphragme, gain, et balance des blanc à la demande suivant les scènes. Je fais retour arrière dans ces cas là plutôt que d'interrompre. C'est plus pratique pour la suite.

    Capture avec Edius, entrée sur carte DVX, monitoring sur petite TV Trinitron.

    J'ai remarqué que les constrastes du film sont très difficiles à rendre. En plus il faudra jouer de la balance des blancs (clairs / moyens / sombres pour ceux qui ne connaissent pas Edius). Le GS400 possède un mode cinema qui étend la gamme des contrastes et débouche les noirs en les rendant plus saturés. Tant mieux, mais... c'est du 16/9ème. Comme il faudra retourner l'image, on en profitera pour la remettre dans les bonnes proportions.

    Le traitement

    La statbilisation se fait avec Deshaker de Gunnar Thalin sous Virtualdub. Mais il faut pour cela des images pleines. Le procédé de capture donne: une image pleine, une image entrelacé, une image pleine. Et on recommence. Il faut donc éliminer une image sur 3. On utilise pour cela Avisynth avec le script qui suit.

    Le script AVS:

    # La capture
    DirectShowSource("t:\acquisitions\cap0322_001.avi")

    # C'est du progressif
    AssumeFrameBased

    # Y'a pas de son (si, il y en a: clac clac clac...)
    KillAudio

    # On retourne
    FlipVertical

    # On élimine l'image entrelacée après avoir examiné quand elle intervient
    # d'où l'intérêt de capturer d'une traîte.
    # Si image double = 1ère 2ème 3ème
    # SelectRangeEvery(3,2,0)
    SelectRangeEvery(3,2,1)
    # SelectRangeEvery(3,2,2)

    # Transformer 9 en 25: sur un groupe de 9, je prends 3 fois la zéro, puis 3 fois la un, etc)
    SelectEvery(9, 0,0,0, 1,1,1, 2,2,2, 3,3,3, 4,4, 5,5,5, 6,6,6, 7,7,7, 8,8 )

    # je caractérise mon flux en tant 25 images par secondes
    AssumeFPS(25,false)


    Les autres réglages de virtualdub

    C'est dans ce dernier qu'on va régler:
    - la mise à l'échelle horizontale
    - un éventuel cropping
    - le fonctionnement de deshaker

    Il est important qu'en entrée tout le cadre soit occupé, car Deshaker comble les manques en cherchant dans les images avant et arrière. Sinon, vous allez voir danser un cadre noir bien saumâtre (non, pas de Saumur). Grâce à ce système de prédiction (qui décale le son, suivant une expression connue), Deshaker se passe de mise à l'échelle ou de marges (mais cela il sait le faire aussi).

    Deshaker travaille en deux passes: une pour calculer les vecteurs de déplacement une bonne fois pour toute, avec plus ou moins de finesse et de temps de traitement, l'autre pour le rendu, beaucoup plus rapide, et que vous pouvez ajuster à loisir jusqu'à avoir un bon compromis.

    J'ai pris le parti de traiter tout le film d'une traite. Le contraire eût été trop laborieux. On peut avoir des bordures venant de l'autre scène au moment des transitions, je préfère les couper après quand c'est flagrant, comme enlever les raccord de pellicules décolorés ou avec des traces de colle.

    Le résultat esthétique

    Car c'est bien là le but, n'est ce pas ?

    9 images par seconde, c'est très difficile à regarder, à moins d'être filmé par un pro:

    Déjà quand la main est hésitante: cela danse dans tous les sens, et l'oeil recherche à chaque image le détail sur lequel il a essayé de se fixer. Le moindre panoramique est un supplice

    Avec de procédé, et pour peu qu'on soit carrément passé à un suréchantillonage à 50p, on retrouve des panoramiques fluides et des scènes tranquilisées.

    La seule chose que l'on voit tressauter, ce sont les rayures du film (9 fois par seconde), mais cela n'est pas gênant car l'oeil ne s'y accroche pas. On voit aussi que les personnages ou les véhicules qui passent dans le champ sont un peu stroboscopés, mais cela n'est pas gênant non plus.

    Voilà pour un début écrit d'un jet. Je vous laisse digérer...
     
    • Je recommande ! Je recommande ! x 1
  2. GillesH

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    254
    Appréciations:
    +0 / 0 / -0
    Désolé de t'avoir un peu pressé, Jean-Pierre, mais tes informations sont très utiles et je vais m'empresser de les décortiquer. J'avais aussi une GS400 pour le transfert en DV et maintenant je teste la HD avec une TM300.
    Je pense que ton expérience pourrait profiter à beaucoup d'autres et si JCGrini est dans le secteur, il va sans doute t'encourager à venir faire un petit tour sur son site.
    Merci encore, et probablement qu'il y aura quelques questions complémentaires.
    Mais je vais prendre le temps......!!!! Et excuses mon impatience.
    Gilles
     
  3. jcgrini

    jcgrini Conseiller Technique Studio
    Conseiller Technique So

    Points Repaire:
    5 970
    Recos reçues:
    13
    Messages:
    7 911
    Appréciations:
    +1 / 1 / -0
    salut jempi13 et GillesH

    pour les scripts, tu as décris la manip que tu utilises. super bien expliqué merci.
    effectivement faire du 1image video = 1 image argentique puis la stabiliser avec un script donne de super résultat. mais il faut chaque fois bien ajuster les valeur car on a vu que les filtres ne se comportent pas pareil en SD et en HD.

    je résume pour être sûr d'avoir bien compris:
    tu as synchronisé ton projecteur à 16.66 avec une PLL afin d'être sûr d'avoir 2 image pleine et une cisaillée, 2 pleine , 1 cisaillée...

    ce que je n'ai pas compris par contre c'est cette histoire de 9is. le gars s'est trompé et à filmé à 9is. OK. pour le transfert tu le fait à 16.66is, donc les mouvements sont bien trop rapide. OK. tu fais une corrrection de vitesse en ajoutant des images. OK

    c'est ce que nous faisont en ajoutant 1 image toutes les 3 images popur un 18is. toi, vu que tu es en 9is tu dois en rajouter bien plus. sur les plans fixe OK
    mais sur les traveling, n'as tu pas un effet stroboscope? tes mouvements reste quand même, décomposés en 9 images.
    tu me diras que tu n'as plus le choix. le film est fait, il faut faire avec.
    à moins de faire du morphing entre toutes les images . . . . il y a peu de solutions.

    tu as transféré en progressif ?, à quoi sert cette commande AssumeFrameBased?

    avant de lancer le scrypte tu notes les images à éliminer et tu ajustes le scrypte pour le faire, c'est ça? il me semble que tu peux le faire automatiquement. vois les scryptes des copains qui sont en test.

    en tout cas bravo car ton message est bien expliqués.

    @+
    Jean Claude
     
  4. jempi13

    Points Repaire:
    1 200
    Recos reçues:
    1
    Messages:
    220
    Appréciations:
    +0 / 0 / -0
    Un peu plus sur les choix dans Avisynth

    Bonjour Jean-Claude,

    tu as parfaitement résumé.

    Nous avons donc à l'issue de la capture et après l'instruction SelectRangeEvery(3,2,x) une séquence comprenant autant d'images pleines (progressives) que d'images sur la pellicule. 9 de ces images représentent une seconde, mais si on en restait là on les déroulerait à raison de 25 par seconde.

    D'autre part , nous avons capturé en 50i (ou peut être en 25p suivant les réglages du camescope, peu importe). Nous devons faire savoir aux traitements situés en aval que c'est du progressif, Deshaker n'en sera que plus content (je pense).

    AssumeFrameBased ne fait pas de traitement. Cette instruction inscrit seulement dans le flux "croyez-moi, c'est du progressif". En l'utilisant, je sais ce que je fais puisque je sais que les deux demi images sont bien issues d'une image de la pellicule.

    Il faudraut aussi revérifier aussi le fonctionnement de SelectRangeEvery, je pense que suivant le cas on compte des images (frames) ou des trames (fields). Le fait que AssumeFrameBased soit devant n'est donc pas innocent.

    En ce qui concerne le lissage des séquences, si j'exploitait directement le résultat sorti de Avisynth pour un faire un film, j'aurais bien la bonne vitesse, mais j'aurais aussi comme tu le fais remarquer les saccades sur les panoramiques.

    C'est bien là l'intérêt de stabiliser après la création des images supplémentaires: 3 fois la même image oui, mais dans des positions différentes. Deshaker a détecté des vecteurs de déplacement toutes les 2 ou 3 images (cf. la rythmique du passage de 9 à 25), mais a relissé sur l'ensemble. C'est pour cela qu'on voit danser les rayures du film dans le rythme des 9 images.

    Sur les panoramiques, il faut bien sûr que la majorité de l'image (ou la zone réduite sélectionnée) suive le mouvement d'ensemble. Deshaker ignore les vecteurs aberrants provoqués par les objets qui ne suivent pas le mouvement d'ensemble.

    Tu parles de découverte automatique de l'image cisaillée, je ne connais pas, mais je chercherai. Il faut que je m'y remette, j'ai d'autres films :-)

    Quand à faire de la HD, j'hésite:
    - quel gain compte tenu du matériau d'origine
    - quels outils sorti du DV
    - c'est bien pratique d'avoir tout monté à demeure: GS400 sur le projecteur et DVX dans l'ordinateur dédié (un Opteron dual core, c'est pas trop dépassé), TM300 et HDSpark sur l'autre ordinateur. On ne perd plus son temps à rerégler.

    EDIT

    Je croyais les outils cités plus haut limités au DV, mais non, ça marche en HD:
    - VirtualDub 1.9.8
    - Avisynth 2.5.8
    - Deshaker 2.4
    L'essai a été fait sur un AVI Canopus HQ sur un Windows 7 32-bit RC.
    J'attends Edius 5.5 pour l'installer sur mon Windows 7 64-bit.

    J'ai vu qu'on ne pouvait pas mélanger un VirtualDub 64-bit avec des filtres 32-bit. Donc je prendrai la version 32. Le Codec Canopus sera en 32-bit j'espère....
     
    #4 jempi13, 27 Février 2010
    Dernière édition: 27 Février 2010
  5. jcgrini

    jcgrini Conseiller Technique Studio
    Conseiller Technique So

    Points Repaire:
    5 970
    Recos reçues:
    13
    Messages:
    7 911
    Appréciations:
    +1 / 1 / -0
    jempi13
    trés interressant
    je n'ai pas compris ton explication ": 3 fois la même image oui, mais dans des positions différentes. "
    SelectEvery(9, 0,0,0, 1,1,1, 2,2,2, 3,3,3, 4,4, 5,5,5, 6,6,6, 7,7,7, 8,8 ) te crée une série de 3 images puis 2 puis 3 ..... OK mais dans des position différentes???
    tu veux dire qu'il voit que 4, 4, et 8,8 casse le rithme?
     
  6. jempi13

    Points Repaire:
    1 200
    Recos reçues:
    1
    Messages:
    220
    Appréciations:
    +0 / 0 / -0
    Il est parfois difficile de bien expliquer.
    Le fait de n'avoir certaines images répétées que deux fois n'y change rien.
    Les "positions différentes", c'est après de "déssecouage".

    Rappelons à ceux qui ne sont pas familiers:

    - dans VirtualDub, j'ouvre une vidéo de type AVS (c'est ce que VirtualDub croit)
    - AVS est le fameux script qui réveille Avisynth, lequel oeuvre en cachette, applique mes ordres, et "sert" la vidéo à VirtualDub
    - VirtualDub applique par dessus les filtres que je lui ai demandés, dont et surtout Deshaker que j'ai glissé dans son répertoire plugin.

    Considérons un scène formée intialement de 4 images A B C D tirées d'un panoramique. Si je projette ces 4 images à la suite l'une de l'autre à un intervalle d'un neuvième de seconde, je vais nettement voir les 4 positions successives, sauf si l'opérateur a fait un panoramique très lent (déjà que ça se voit en 25p...).

    Faisons comme si 3 fois 9 font 25. Si je veux voir la scène à la bonne vitesse sur un système à 25 images, soit je laisse mon logiciel de montage se débrouiller et me faire des images fondues, soit je lui founis une séquence AAABBBCCCDDD. Pour l'instant rien n'a changé, je vais voir pendant 3 images une position de la scène, puis pendant 3 images une position fortement décalée, et ainsi de suite. Toujours le panoramique saccadé.

    Maintenant je passe dans Deshaker qui va me calculer les déplacements au cours de sa première passe. Il va trouver ceci en horizontal pout un panoramique à vitesse bien constante:
    0, 0, X, 0, 0, X, 0, 0, X, 0, 0.​
    0 c'est quand on passe à un autre exemplaire de la même image. Le vecteur de déplacement est nul.
    X, c'est quand on passe d'une image à l'autre. Il s'agit de la longueur en pixels du déplacement perçu en mettant en coïncidence les objets vus dans les différentes images.

    Ensuite je vais faire le rendu afin d'obtenir la stabilisation. Je ne demande pas une caméra stable: je demande une caméra qui bouge sans à coup. C'est la deuxième passe. A supposer que j'aie pris des paramètres intéressants, mon deshaker va calculer que le mouvement idéal serait quelque chose de proche de:
    X/3, X/3, X/3, X/3, X/3, X/3, X/3, X/3, X/3, X/3, X/3.​
    (je vous ai épargné 3X/11)
    Par différence entre la réalité et le cas idéal, on va voir:
    A
    A décalé de + X/3
    A décalé de + 2X/3
    B à sa place
    B décalé de + X/3​
    Ou peut-être va-t-il s'arranger pour faire:
    A décalé de - X/3
    A à sa place
    A décalé de + X/3
    B décalé de - X/3
    B à sa place​
    Comme exercice (Gilles peut le faire avec Mercalli), je propose ceci:

    - tirer quelques images fixes à intevalle régulier d'un panoramique
    - les mettre sur la time line en donnant à chacune la durée qui correspond à l'intervalle qui les sépare
    - regarder le résultat et l'effet stroboscopé qui en résulte
    - utiliser une logiciel ou filtre de stabilisation sur cette séquence d'images et regarder à nouveau le résultat.
    Je propose de garder les marges visibles pour que ce soit encore plus flagrant, ou d'incruster une rayure verticale avant de capturer les images fixes.

    Vous avez une demi-heure pour rendre votre copie ;)

    PS: je confirme: Deshaker et Avisynth sont exclusivement 32 bits, et ne fonctionnent qu'avec VirtuaDub 32 bits, sous Windows 7 64 bits.
     
  7. jcgrini

    jcgrini Conseiller Technique Studio
    Conseiller Technique So

    Points Repaire:
    5 970
    Recos reçues:
    13
    Messages:
    7 911
    Appréciations:
    +1 / 1 / -0
    jempi13
    cette fois j'ai compris. je ne pensais pas que Deshaker serait capable de travailler sur autant d'images.

    et comment sont ces nouvelles images? les as tu visionnées une à une pour voir? en fait il ne corrige pas l'image il là déplace dans le sens du mouvement? fait il un fondu? recalcule t'il l'image en déplacant parciellement certaine partie? (une sorte de morphing?

    peux tu nous donner les réglages de Deshaker pour cette correction. avec les explications qui vont avec?

    toujours aussi bien éxpliqués tes messages
    @+
     
  8. jempi13

    Points Repaire:
    1 200
    Recos reçues:
    1
    Messages:
    220
    Appréciations:
    +0 / 0 / -0
    Ah, ça y est, j'ai touché au non endroit.

    Les images sont simplement repositionnées sans subir la moindre transformation ou mélange entre elles. On peut dire que c'est une série d'image fixes animées selon un trajectoire telle qu'elles se raccordent entre elles.

    Ainsi les objets qui participent au mouvement d'ensemble gardent leurs contours nets et glissent en douceur. Ceux qui sont en mouvement relatif ou animés ont toujours leur aspect saccadé, mais cela reste dans le domaine de ce qu'on peut voir sur des vieux films et procure un certain esthétisme.

    Ceci dit, j'ai fait hier l'essai: carrément une série d'images prélévées à chaque seconde de panoramique, reposées avec une durée de 1 seconde sur la timeline.
    Je n'ai pas réussi avec Mercalli, c'était peut être trop.
    Sur Deshaker, avec un lissage horizontal à 4000 au lieu de la valeur par défaut de 400, j'ai obtenu un résultat qui illustre parfaitement le procédé.

    Limite de ce cas d'école: le panoramique a été fait bras tendu pour donner un effet de profondeur: c'est le bord d'un bassin dans un parc.Outre un léger ralentissement / accélération à chaque seconde, on voit aussi le changement brutal de perpective. C'est là qu'un morphing, ou tout au moins une correction en trapèze, aurait apporté un peu plus.
     
  9. jcgrini

    jcgrini Conseiller Technique Studio
    Conseiller Technique So

    Points Repaire:
    5 970
    Recos reçues:
    13
    Messages:
    7 911
    Appréciations:
    +1 / 1 / -0
    jempi13
    merci du complement. à tester donc. car avec 18is par seconde ce doit être plus facile et donner un meilleur résultat.
    @+
     
  10. jempi13

    Points Repaire:
    1 200
    Recos reçues:
    1
    Messages:
    220
    Appréciations:
    +0 / 0 / -0
    Pour parfaire l'illustration de mon cas d'école:
    • La log de Deshaker: c'est le fichier qui contient les déplacements calculés au cours de la première passe. On voit bien le déplacement qui intervient chaque 25 images (dans le désordre: déplacement en X, en Y, zoom, et rotation).
    • La page de réglage de Deshaker avec quasiment toutes les valeurs par défaut, sauf le lissage horizontal exagéré (il fallait bien ça) et l'absence de compensation des marges par zoom, cropping ou images avant arrière, afin de bien voir les images se balader dans la vidéo résultat
    • La vidéo en cours de traitement dans VirtulaDub, série d'images fixes à gauche, vidéo obtenue à droite, à la 24ème image de la vidéo produite. C'est encore l'image fixe numéro 1, on voit le décalage qui s'est formé progressivement depuis la première image de la vidéo produite, avant que n'arrive l'image fixe numéro 2 qui va tomber comme une fleur à la place prévue à l'instant suivant, un peu décalée à gauche
     

    Fichiers attachés:

  11. jcgrini

    jcgrini Conseiller Technique Studio
    Conseiller Technique So

    Points Repaire:
    5 970
    Recos reçues:
    13
    Messages:
    7 911
    Appréciations:
    +1 / 1 / -0
    jempi13
    trés bonne idée ce test. le résultat montre bien la chose.

    pour un transfert synchrone, ou 1image S8 = 1 image video, on ajoute 1 image toute les 3 image. l'effet de décalage devient minime.
    reste le cadre qui bouge. si j'ai bien compris il y a un parametre qui permet la déformation de l'image pour ne pas voir le cadre bouger.
    si cette déformation se limite à l'image ajoutée, ce doit être jouable sans perdre la qualité.
    aprés il faut voir si c'est mieux que ce que font les logiciels qui créent l'image à ajouter en la composant de 2 trames d'images différente. rendur sur PC, sur TV cathodique et TV LCD.
    @+
     
  12. GillesH

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    254
    Appréciations:
    +0 / 0 / -0
    Merci Jempi13 pour ces explications. Super !
    Désolé, mais pris par d'autres travaux, j'ai dépassé la demi-heure.....!!! Mais je vais essayer, après avoir remis en ordre (dans ma tête) les différentes composantes du puzzle VD, Avisynth, Deshaker, etc... Je n'utilise pas ces outils au quotidien.
    Par contre, je peux te confirmer qu'il y a bien un gain à utiliser la HD. Regardes ici. Surtout les résultats sur la mire SMPTE.
    Jusque là, j'avais pris l'option Full HD 1900x1080 50i, mais je vais tester le format 720x576 50p. Par contre, n'étant pas "synchronisé", mais seulement "contrôlé" à 16,66 i/s, j'aurai peut-être du mal à supprimer l'image parasite (1 sur 3).
    Mais bon, je vais essayer. Merci pour tes éclaircissements. Super boulot !!!:bravo:
     
  13. jempi13

    Points Repaire:
    1 200
    Recos reçues:
    1
    Messages:
    220
    Appréciations:
    +0 / 0 / -0
    Gilles,

    je viens de jeter un coup d'oeil au site où Jean-Claude officie en suivant ton lien. ooo
    Il y a de quoi y passer des heures !!!
    En tous cas je vais m'intéresser à la HD pour le transfert.
    Bravo à tous les deux. :bravo:
     
Chargement...

Dernières occasions

 

Partager cette page