"Coulisses" d'une image vidéo

Sur tous les TV à circuits intégrés relativement récents (à partir du début des années 80), l’effacement est assuré par une impulsion à 3 niveaux dite « sandcastle ».
-niveau bas (environ 2,5V): effacement trame
-niveau moyen (environ 4,5V): effacement ligne
-niveau haut (7,5 à 12V): clamp luma et sélection de salve chroma

Trop fort :mrgreen: :mrgreen: :mrgreen:
Le logo C+ sur un oscillo, sans trucage ! :exclamation:
Bdt: 10 µS @ 50 mV/div
cplus_oscillo.jpg

j’ai réussi à adapter un plugin gimp qui faisait du rvb vers yuv, pour qu’il agisse en plugin « rvb vers ydbdr » ( et vice-versa ) :slight_smile:

registry.gimp.org/node/9848

il suffisait juste de changer les coefficients de la matrice de conversion dans le code source, et de remplacer les messages textes « yuv » par « ydbdr »

j’ai une version linux du plugin, il ne me reste plus qu’à compiler les version pour windows ( 32 et 64 bits ),
le plugin s’installe ensuite dans le dossier plugin de gimp,

après installation on accède au plugin dans le menu « image → mode → ‹ rgb to ydbdr › et ‹ ydbdr to rgb › »,

le plugin mettra alors l’info « y » dans le canal rouge, Db dans le canal bleu et Dr et dans le canal vert, avec le menu « couleurs → composant → décomposer (RVB ) » et en décochant « décomposer en calque » on obtiendra 3 images en niveau de gris, chaque image représentant respectivement l’info y, Db et Dr

Super, je pourrais donner à mes photos le rendu colorimétrique de notre vieux secam !
Par ailleurs, j’ai refait les photos du top trame.
ntsc_arcade_1ligne.jpg
ntsc_arcade_3ligne.jpg
ntsc_2ligne.jpg
ntsc_4ligne.jpg

pour l’instant j’ai compilé la version 32 bits du plugin pour gimp 32 bits,

il me reste à compiler la version 64 bits, ça sera sans doute prêt pour dimanche ou lundi,

c’est un peu complexe car je fais une cross-compilation sous linux, avec mingw-w64, ça permet de créer des binaires windows depuis linux, mais ça oblige à compiler pas mal de dépendances pour gimp, ça prend du temps,

il y aura en fait 2 plugins :

  • un qui fait la conversion rvb vers yuv et yuv vers rvb
  • un autre qui fait la conversion rvb vers yDbDr et yDbDr vers rvb

ça ajoute ces 4 possibilités dans le menu image->mode :

plugin-gimp.png

j’ai crée un fichier d’installation pour ces plugins :

ibsoftware.free.fr/div/setup_plu … _ydbdr.exe

ça va installer automatiquement les plugins dans le répertoire plugins de gimp,

j’ai testé avec la version 2.8 de gimp ( 32 et 64 bits ), ça devrait fonctionner

après application du plugin il faut ensuite décomposer l’image en 3 images noir et blanc via le menu « couleurs, composants, décomposer »

Je viens d’installer le plugin.
J’ouvre une image en rvb, que je passe à l’aide du plugin en mode YDbDr.
Ensuite, décomposition à l’aide du système RVB sans calques.
J’obtiens Y dans R, Db dans V et Dr dans B.
Ensuite, que faire, je suis un peu perdu… ?

donc si tu appliques le plugin « rvb ver ydbdr » tu vas obtenir une nouvelle image dans laquelle le canal rouge contient la luminance, la chroma Db dans le canal vert, et la chroma Dr dans le canal bleu,

ça donne alors une image aux couleurs étranges ce qui est normal,

il faut donc décomposer cette image en 3, pour pouvoir ensuite travailler sur chaque composante ( Y, Db, Dr ), et ensuite tu recomposes l’image après tes modifications ( menu couleur → composants → recomposer ) mais attention il ne faut pas fermer l’image originale sinon la recomposition ne pourra pas fonctionner,

une fois que tu as recomposé il faut appliquer le plugin « yDbDr vers RVB » pour retrouver les couleurs réelles de l’image,

exemple avec une mire philips, l’image originale RVB :


j’applique le plugin rvb vers yDbDr, j’obtiens cette image :


je décompose ensuite les 3 canaux R, V et B, qui correspondent en fait à la luminance, à Db et à Dr ( les 2 composantes de la chroma ), via le menu "couleurs, composants, décomposer, je décoche la case décomposer en calques :

images.jpg

je décide de modifier l’image 3 ( composante Dr ) en inversant les valeurs, puis je recompose les 3 images en une seule ( menu couleur → composants → recomposer ), et enfin j’utilise le plugin inverse « yDbDr vers RVB » j’obtiens alors une nouvelle image couleurs, comme j’ai modifié la composante Dr certaines couleurs ont changé :

pour en savoir plus sur la décomposition :

gabriel.leporcq.free.fr/Decomposition01.htm
gabriel.leporcq.free.fr/Decomposition02.htm
gabriel.leporcq.free.fr/Decomposition03.htm

on remarque aussi que si on applique le plugin rvb → yDbDr, puis dans la foulée le plugin yDbDr → rvb on remarque qu’il y a une petite dégradation de l’intensité des couleurs ( perte de contraste ), je pense que ça vient de l’algo qui est perfectible, car il faut normaliser l’échelle après re-conversion en RVB mais l’auteur original du code source ne l’a pas fait,

en RVB ça va de 0 à 255 la valeur d’un canal, mais sur wikipédia on conseille d’utiliser une échelle de 16 à 235 après conversion en yuv/yDbDr :

Super !!! :smiley: :smiley: :smiley:
Cela fonctionne parfaitement, l’original:
papillon.jpg
La version secam:
papillon-secam.jpg
Merci pour ce beau travail que d’entretenir la nostalgie du passé ! :wink: :wink:

@Mannix54: As-tu compilé la version Linux du plugin ?

oui j’ai compilé une version pour linux 64 bits, un fichier à placer ensuite dans le repertoire plugin de gimp dans le répertoire de l’utilisateur

le code source du plugin est disponible ici si tu veux le compiler sous linux :

we.tl/fyxylZmpum

Ok, parfait pour apprendre à compiler ! :wink:

Du coup, autre question: je souhaite, sur des photos numériques, donner le rendu VHS avec Gimp.
Pour ce faire, comment limiter la définition à 250 pts / ligne, et comment agir sur les couleurs ?
Mon pc se faisant vieux, j’attends de m’en monter un neuf pour pouvoir travailler la vidéo.

Pour réduire la définition, il suffit de redimensionner l’image à la résolution souhaitée (en mainteant un rapport H/V de 4/3 pour conserver la géométrie).
Pour faire « baver » les couleurs comme sur un VHS, c’est autre chose …

pour imiter le rendu VHS pal il y a ce plugin gimp :

registry.gimp.org/node/19058

vhs.jpg

2 fichiers pal.py et vhs.py à mettre dans le dossier plugins de gimp,

le plugin vhs apparaîtra dans le menu « filtres, artistique, vhs » de gimp

et dans le menu « filtres, artistique » on trouve un sous-menu « pal » avec ce plugin

pal.jpg

Supers effets !
Quel beau rendu vintage !
NemoVHS_Pal.jpg

une idée d’expérience pour Dominiaque : générer du pal, du secam et du dvb-t via la sortie VGA d’une carte graphique PC,

il suffit d’avoir un TV pal/secam ou un adaptateur dvb-t, avoir une installation linux, puis créer un cable vga vers antenne :

[code]
15 pin VGA connector 9.5mm RF connector


1 (red signal) <-----> RF signal (central pin)
6 (red ground) <-----> GND[/code]
et télécharger 3 fichiers : un pour le pal, un pour le secam et un autre pour le dvb-t,
bellard.org/dvbt/pal.pgm.gz
bellard.org/dvbt/secam.pgm.gz
bellard.org/dvbt/dvbt.pgm.gz

les détails ici :

bellard.org/dvbt/

Ce projet a l’air bien intéressant.
Je vais m’y coller dès que j’ai un nouveau pc.

Concernant le secam, serait-il à double ID ?
Serait-il possible de générer du télétexte ?

le gars n’a pas fourni le code source, donc je ne sais pas si le secam aura une double identification,

pour générer le télétexte il y a des projets à base de rasperry pi