Ma principale motivation pour rassembler tout ce matériel d’époque que sont les écrans CRT et les consoles de 20 ans d’âge est bien entendu la nostalgie mais aussi la sensation que l’on a devant l’écran qui diffère vraiment de l’expérience sur un affichage sur LCD moderne. La lumière chaude du cathodique, les couleurs vibrantes du signal analogique, les pixel-art tellement plus lisses et gracieux derrière les « scanlines »…
Si j’écris ce blog c’est aussi que j’aime partager ma passion, mais comment partager et faire découvrir ces jeux que j’aime tant via des images et des vidéos quand tout est dans un circuit analogique? Et comment y parvenir en se rapprochant de plus possible du rendu que j’ai devant les yeux dans ma salle rétro sachant que le contenu sera consulté sur un écran LCD de PC ou de mobile?
Je me suis posé cette question et au bout de nombreuses heures de recherche j’ai enfin ma réponse:
Voici le Framemeister XRGB-Mini, c’est un upscaler qui à partir d’un signal RGB analogique pris directement à la sortie SCART de la console peut produire ça:
Mettez la vidéo en 720p60 et plein écran pour apprécier le rendu… Gotta go fast!
Le rendu de la vidéo sur votre écran de PC/mobile est très proche de ce qu’on voit lorsqu’on joue sur un écran CRT, c’est fluide, c’est net et l’image est plus lisse que ce qu’on a l’habitude de voir sur des captures classiques ou via émulateur. C’est de cette façon que je voulais partager mon expérience de jeu rétro et l’upscaler est un élément clé qui m’a permis d’y parvenir.
Dans cet article je vais d’abord parler de ce qu’est un upscaler et de son utilité, ensuite je vais partager mon expérience avec le Framemeister, ses fonctionnalités, quels réglages j’ai choisis ; et enfin je vais décrire ma méthode pour avoir des captures de cette qualité tout en jouant avec le matériel d’origine.
C’est quoi un « upscaler »?
Upscaler = Convertisseur vidéo avec processeur de mise à l’échelle #réformeOrthographe
Dans le domaine de l’imagerie, upscale est un terme anglais qui veut dire « agrandir », « redimensionner » ou encore « mettre à l’échelle ». L’upscaling est un procédé que l’on peut voir partout de nos jours lorsque par exemple vous affichez en plein écran une photo ou une vidéo dont la résolution est inférieure à celle de votre écran de PC ou lorsque vous regardez un DVD sur une TV HD.
Qu’il soit inclus dans la TV ou dans le programme qui va afficher votre média, il y a toujours une part logicielle qui va s’occuper de l’upscaling afin de sortir l’image sur toute la surface de votre écran, et les performances finales varient en fonction de la précision de l’algorithme d’upscaling ainsi que de la qualité du signal source.
Afin d’illustrer mes propos voici une capture directe du jeu Princess Crown à la sortie SCART de la Saturn:
L’image est à taille réelle sans aucun traitement, bien que le signal source du jeu ait déjà été traité pour correspondre à la définition de l’image telle qu’elle devrait s’afficher sur l’écran de la TV.
En effet le signal source du jeu est en 240p soit une définition de 320×240, et comme l’image finale est conçue pour être affichée sur une TV cathodique dont le masque prévoit une définition de 320×480 via un signal 480i, la console « double » les lignes verticales et envoie le signal à la TV avec une définition de 320×240, en indiquant dans le signal que l’écran devra laisser une ligne vide entre chaque ligne horizontale. Le résultat final rendu par la TV sera donc une image de 320 lignes verticales et 480 lignes horizontales dont 1 sur deux sera vide. Le fait d’avoir une ligne de vide sur deux laisse rend visible ce qu’on appelle les « scanlines », c’est à dire les lignes visibles de l’image entre ces lignes vides.
La carte d’acquisition procède comme les écrans modernes à plus haute définition et comble le vide entre les scanlines en « doublant » les ligne horizontales. L’image ci-dessus est le résultat de ce traitement.
Cliquez sur l’image et vous constaterez que la source est vraiment minuscule sur un écran moderne, elle ne couvre qu’une petite portion de votre écran et est difficilement lisible. Une fois passée par le XRGB, l’image en sortie est la suivante:
L’image a maintenant presque doublé en taille, le ratio horizontal a légèrement changé faisant disparaître l’aspect légèrement « étriqué » de la source afin de se rapprocher plus fidèlement du rendu réel sur l’écran CRT, et on voit en surimpression l’effet du filtre scanlines qui rajoute les lignes vides pour évoquer le rendu CRT.
Bon alors super maintenant au lieu de couvrir 1/6 de mon écran ça couvre 1/3, bravo… Et concrètement ça apporte quoi?
La finalité étant de jouer en plein écran de toute façon, avec ou sans upscaler votre écran de PC ou votre TV va mettre l’image à l’échelle pour recouvrir toute la surface. Et c’est là que la différence va se faire sentir.
Si on prend le signal source et qu’on la diffuse sur un écran full HD en 1080p, l’écran va faire la mise à l’échelle avec son logiciel interne et le rendu sera comme on pouvait s’y attendre de mauvaise qualité:
Maintenant avec un passage par le XRGB entre la source et l’écran, le résultat:
Faites l’expérience, cliquez sur chaque image ou suivez les liens suivants: sans upscaler / avec upscaler. Une fois les images ouvertes dans chaque onglet cliquez dessus pour les afficher à 100% de zoom et alternez d’un onglet à l’autre pour voir la différence.
Dans les deux cas l’image a subi un upscaling mais pour la deuxième le XRGB ayant redessiné une image plus grande au rendu plus propre auparavant, le résultat final est de bien meilleure facture.
Ci-dessous la comparaison entre le rendu sans upscaler à gauche et avec upscaler à droite:
Ici le filtre « scanline » est désactivé pour mettre en avant le procédé de mise à l’échelle des pixels: Le XRGB a dupliqué chaque pixel de la source afin d’avoir des carrés nets qui ne floutent pas.
Ensuite, selon les goûts de chacun il est possible d’activer l’effet « scanline » qui va simuler les bandes de balayage de l’écran CRT pour apporter plus de fidélité visuelle et lisser les illustrations en pixel-art:
La question des scanlines en post traitement porte à débat. Personnellement lorsqu’elle sont bien réglées comme ici je trouve l’effet assez doux et bénéfique pour lisser l’image tout en augmentant la fidélité par rapport à ce qu’on voit réellement sur la TV CRT. Mais je conçois tout à fait qu’on puisse préférer les désactiver lorsqu’on l’utilise pour jouer sur un écran LCD et que l’on cherche juste à avoir une image nette sans avoir à cœur le feeling rétro.
Par ailleurs même dans mon cas d’utilisation à savoir de la capture et le partage de vidéo, les scanlines ont un impact très fort sur le poids des vidéos car les interpolations sont très difficiles à gérer pour l’encodeur lorsque l’image est hachurée sur toute sa largeur par des lignes de balayage. Ce n’est donc pas vraiment l’idéal et il y a encore d’autres problèmes liés aux scanlines sur lesquels je reviendrai en fin d’article, mais en ce qui me concerne j’y tiens et je suis têtu alors je les garde!
Dans les exemples ci-dessus le XRGB est réglé pour sortir une image en 720p60 à partir d’une source en 240p60, mais il est aussi capable de faire du 1080p60 pour avoir un rendu encore plus net. Ici je l’utilise en 720p car d’une part ma carte d’acquisition de supporte pas le 1080p60 mais seulement le 1080p30, et d’autre part les scanlines ne sont pas aussi bien rendues en 1080p par rapport au 720p.
Un upscaler est donc une solution idéale pour jouer avec des consoles rétro ou pour lire des vidéos de basse résolution sur des écrans modernes en conservant un confort visuel. Il existe divers appareils qui font de l’upscaling, certains passifs, d’autres alimentés, à des prix variés. Le XRGB-Mini est certainement un des plus chers — environ 350€ — cependant son résultat et ses possibilités de configuration en font probablement la solution produisant les meilleurs résultats et s’adaptant au plus grand nombre.
Mais attention au display-lag!
Il est important de noter que dans le cas du XRGB-Mini, le post traitement provoque une latence de 20ms, aussi appelée display-lag voire par analogie input-lag. Pour certains types de jeux nécessitant de bons réflexes ou pour faire du speed-run cela peut-être un problème conséquent. Des upscalers tels que l’OSSC ou les versions précédentes du XRGB ne produisent aucune latence mais ont beaucoup moins de flexibilité et d’options d’affichage. Il convient donc de choisir son upscaler en fonction de son utilisation. Jouant exclusivement sur CRT et ayant une utilisation du boîtier que dans le cadre de la capture vidéo, le lag n’est pas un souci dans mon cas.
Le Framemeister, sa vie, son œuvre
L’appareil est un boîtier dont la taille est comparable à un décodeur TNT, il est fourni avec une télécommande, une alimentation et un adaptateur externe pour brancher une entrée RGB21.
Sur le dessus les boutons en ligne concernent la mise sous tension, un accès rapide pour changer de source et des contrôles pour ouvrir et interagir avec menu. Un ensemble de voyants LED sur la face avant informe sur l’état de l’appareil.
À l’avant sur la gauche l’entrée 8-pin Mini-DIN marquée « RGB IN » permet de brancher l’adaptateur RGB21 fourni pour l’acquisition analogique.
À noter: Ne seront capturés que les signaux vidéos en RGB, donc si votre console — au hasard une Super Nintendo — ne supporte pas le RGB nativement et qu’elle n’a pas été modée à cet effet, il sera impossible de capturer quoi que ce soit. Pour savoir si votre console supporte le RGB et donc si elle peut être utilisée avec le XRGB, consultez cette page. Il existe souvent des solutions de modding si ça n’est pas le cas.
Attention! L’adaptateur RGB IN fourni permet de brancher une prise RGB21 qui équipait les consoles japonaises, et qui ressemble tout à fait à une prise SCART européenne, mais bien qu’une prise SCART peut rentrer dans une fiche RGB21, le câblage interne est différent et cela peut provoquer de sérieux dégâts! Ne branchez pas votre câble RGB SCART européen dans l’adaptateur RGB21 fourni sous peine d’endommager votre matériel!
Il existe des adaptateurs dits « Euro SCART » pour le XRGB vendus séparément qui permettent de brancher des machines européennes sans danger, mais rangez vite au fond du placard l’adaptateur RGB21 au fond de votre garage avant de faire une bêtise — à moins que vous ayez une console NTSC avec un câble RGB japonais bien-entendu.
À noter qu’il existe une version de l’adaptateur avec une alimentation USB à brancher sur le port USB du XRGB, afin de garantir l’alimentation des bornes nécessaires à l’encodage CSYNC. On n’est jamais trop prudent!
Sur la face arrière on commence à gauche par l’alimentation — pour rappel l’appareil étant japonais l’adaptateur fourni doit être branché sur une prise NEMA avec du courant NTSC 110V. Ceci nécessite un transformateur de courant, ne le branchez pas sur une source en 220V avec un simple adaptateur!
Vient ensuite un port mini-USB qui je crois peut servir pour alimenter l’appareil via un chargeur type chargeur de téléphone, mais je déconseille de tenter à moins de savoir ce que vous faites au niveau de l’ampérage/voltage. Ce port peut aussi servir pour alimenter en support des câbles custom comme celui mentionné juste au-dessus.
Deux entrées HDMI permettent de faire de l’upscale depuis une XBox 360 ou une PS3, ou alors de faire simplement du réglage d’image via les filtres. Il existe aussi un mode passerelle (HDMI_DIRECT) pour utiliser le XRGB comme un petit hub, sans traitement.
L’entrée vidéo suivante est un port D-Terminal, connectique inconnue sur nos contrées car exclusive au Japon. Via D-T le signal est porté en YPbPr, encodage porté aussi par la connectique composante (component) chez nous. L’encodage étant identique entre D-T et component, il existe un adaptateur pour brancher votre câble component de PS2 ou de GameCube par exemple sur le XRGB via cette entrée:
Les deux entrées RCA blanches et rouges qui suivent servent à acheminer le son en complément de l’image lorsque vous utilisez l’entrée D-T.
À côté de la sortie HDMI se trouve un port pour carte micro SD, qui peut servir pour sauvegarder/charger des profils et mettre à jour le firmware. J’y reviendrai un peu plus bas.
Bien qu’il soit possible de contrôler le XRGB avec les boutons sur le dessus de l’appareil, il est aussi livré avec une télécommande, pratique pour faire ses réglages sans se contorsionner lorsque le boîtier est sous la TV. La télécommande est en japonais, ce qui n’est pas des plus accessible pour nous autres occidentaux, heureusement Robert a encore frappé avec cette surcouche personnalisée adhésive en anglais!
Une fois collé on n’y voit que du feu, t’es juste trop balèze Robert!
Mise à jour du firmware et gestion des profils
C’est la première chose à faire en récupérant un XRGB, car les profils ne sont pas forcément compatibles d’une version à l’autre, autant gagner du temps en installant la dernière version.
J’utilise une carte micro SD de ce type avec un dongle USB tout ce qu’il y a de plus classique:
Vous pouvez télécharger le firmware sur cette page, la dernière version est la 2.03a.
Vous allez récupérer un ZIP, contenant un dossier « XRGBmini ».
Pour que la mise à jour fonctionne, il faut placer ce dossier à la racine de votre carte SD, attention à bien respecter cette arborescence sinon le système ne les détectera pas!
Ensuite assurez-vous que le XRGB est hors tension, insérer la carte SD puis allumez l’appareil. Des diodes vertes devraient clignoter alternativement puis une fois l’opération terminée la diode rouge devrait clignoter très lentement, indiquant la réussite de la mise à jour.
Une fois la mise à jour effectuée, supprimez le contenu de la carte SD, sinon vous aurez droit à une MAJ à chaque mise sous tension — et à la perte de tous vos réglages…
Pour vérifier la version du firmware, accédez à ▶ STATUS ▶ FIRM_VER
La gestion des données utilisateur sur la carte SD est gérée dans le menu ▶ DATA.
Vous pouvez sauvegarder vos réglages actuels avec ▶ SAVE_NEW pour en créer un nouveau et ▶ SAVE pour écraser un réglage existant. Il est ensuite possible de les charger avec ▶ LOAD pour appliquer les réglages sur toutes les entrées vidéo et ▶ LOAD_SELECT pour se limiter à une entrée vidéo au choix.
Pour gérer les profils sur la carte SD, explorez-là depuis votre PC et vous devriez avoir une arborescence de type XRGBMini > EEPData avec la liste des profils. Libre à vous de les renommer, les sauvegarder ailleurs, les partager avec vos amis, etc.
Vous devriez retrouver votre liste via l’interface du XRGB une fois la carte SD à bord:
À noter que les noms de profils ne peuvent pas excéder 8 caractères et que la liste des fichiers de profil se limite à 20, au delà les profils ne seront pas accessibles depuis l’interface du XRGB.
Réglages d’image et filtres
La plupart des menus sont assez explicites, il n’est donc pas nécessaire de s’arrêter sur chacun d’entre eux. Vous pouvez trouver l’arborescence complète du menu ici: PDF.
▶ HDMI_OUTPUT
Ce menu permet de choisir la définition de l’image en sortie HDMI. Notez que le XRGB supporte le format PAL natif 576p50 ainsi les versions « upscalées » correspondantes en 50Hz. Si votre TV ne supporte que le mode entrelacé pour les flux en 1080, les modes 1080_60i et 1080_50i sont disponibles.
J’utilise le mode 720_60p pour mes captures, ainsi je conserve le 60Hz sur la carte d’acquisition qui n’accepte qu’au mieux du 1080p30, et surtout j’obtiens le meilleur rendu sur les scanlines. Si votre écran supporte le 1080p et que vous ne souhaitez pas utiliser les scanlines, le mode 1080_60/50p est pour vous!
▶ IMAGE_MODE
Ces filtres changent le rendu général de l’image. Historiquement le mode MEISTER était la seule façon d’avoir des scanlines dans les anciennes versions, mais maintenant cette option est obsolète.
Pour les sources en 240p — soit la plupart des consoles rétro — le mode le plus adapté est le mode PICTURE, sinon pour les sources en 480i/480p comme la Wii, le mode NATURAL est plus adapté. La télécommande a un bouton par mode, il est facile de tester à la volée pour se faire son idée.
▶ SCREEN_SET
Ces options correspondent au mode de calcul pour la mise à l’échelle. Notez que quand le réglage est sur STANDARD il est possible de modifier ▶ ASPECT_RATIO — 4:3 ou 16:9 — à la volée via la télécommande ou via le menu correspondant, sinon pour toutes les autres valeurs le type de mise à l’échelle imposera le ratio d’affichage.
J’utilise SMART_X2 car ce mode de calcul garde le ratio du jeu sans déformer l’image d’origine, en « doublant » tous les pixels pour un résultat très net.
▶ COLOR_SET
Ces réglages sont les mêmes que les réglages courants qu’on trouve sur les écrans depuis toujours, rien de bien sorcier. De manière générale il vaut mieux laisser ces réglages plutôt neutres et compenser les lacunes ou dérives de votre écran par les réglages de l’écran lui-même.
Pour mes captures sur consoles SEGA j’utilise les réglages suivants:
- BRIGHTNESS > 20
- GAMMA > 8
- BLACK > 2
- HUE > 45
- SATURATION > 32
- RED/GREEN/BLUE > 100
- SHARPNESS > 1
À noter que pour les sources en 240p SHARPNESS à 0 est plutôt recommandé mais pour mon rendu spécifique avec les scanlines je préfère 1.
▶ VISUAL_SET
Ici on intervient sur les ratios de scaling du XRGB, ça peut devenir assez ésotérique si on rentre dans les réglages, le plus important à savoir ici est que pour les sources 240p il est préférable de le mettre sur GAME alors que pour les sources en 480i/480p comme la Wii le mode VIDEO améliore considérablement le rendu.
En ce qui concerne le menu ▶ SYNC_SET, je le désactive mais il peut vous servir si vous avez des soucis de scintillement ou de perte de signal intempestives liées à un signal trop faible ou mal calibré.
▶ HDMI_SET
Dans ce menu vous pouvez activer le DeepColor si votre TV le supporte et que l’effet vous plaît, vous pouvez activer le mode passerelle sur les entrées HDMI si vous vous servez du XRGB comme un hub HDMI, ou agir sur l’EDID de l’appareil si vous avez des soucis de chaîne HDCP entre autres.
Il est important de noter qu’OUTPUT_RANGE devra rester sur LIMITED:
En effet le XRGB produit un signal en sortie encodé sur un espace colorimétrique YCbCr, qui par définition ne supporte pas le « full range ». Il est possible de forcer le XRGB à sortir du RGB pour cela mais ça n’est généralement pas une bonne idée au vu des résultats obtenus.
Je passe sur le reste des menus qui sont annexes et que je vous laisse explorer par vous-mêmes, Intéressons-nous au cœur du XRGB qui se situe dans un menu très spécial…
▶ SPECIAL ▶ AD_SET
Et non ce n’est pas une blague, le menu se nomme vraiment ▶ SPECIAL et regroupe un certain nombres de fonctionnalités qui ont été rajoutées au fur-et-à-mesure.
La section ▶ SPECIAL ▶ AD_SET permet d’ajuster manuellement si vous le souhaitez la puissance du signal analogique utilisé pour la conversion vers le signal numérique (Analog/Digital). Si vous placez MANUAL_A/D sur ON vous pourrez régler la puissance via l’option A/D_LEVEL. Cette valeur influencera globalement la luminosité et le contraste de l’image.
La valeur recommandée pour une image nette et sans dégradation de l’image est d’environ 130.
En ce qui me concerne sur mon réglage je le monte à 175, ce qui est très élevé et brûle légèrement certaines nuances de couleur, mais cela me permet en baissant la luminosité de la capture d’avoir des noirs profonds, des contrastes plus marqués sans que l’image ne soit trop sombre. Un choix esthétique en somme. Faites comme vous le sentez en jouant avec l’A/D et les réglages de votre écran!
▶ SPECIAL ▶ SCANLINE
Le filtre pour ajouter en surimpression les « scanlines » est en grande partie ce qui a rendu célèbre le XRGB, permettant aux amateurs de retrouver le feeling de l’écran CRT sur leur écran moderne. Auparavant un simple mode d’image parmi d’autres, le mode SCANLINE/MEISTER a maintenant son menu dédié.
Pour avoir un effet convaincant il est recommandé d’utiliser une définition verticale de 720p en sortie, ainsi le filtre créera une ligne vide toutes les 3 lignes (2:1). En 1080p l’échelle ne sera pas la même et le rendu ne sera pas aussi authentique.
Une fois activées via ▶ SPECIAL ▶ SCANLINE ▶ SCANLINE ▶ ON ou via le bouton SCAN de la télécommande, vous pouvez régler l’intensité de l’effet avec INT_LINE et INT_SMOOTH. Les autres menus ne devraient pas être accessibles à moins d’utiliser des définitions qui rendent impossible le traçage des lignes sur un nombre entier.
En ce qui me concerne pour des raisons liées à l’encodage vidéo que j’expliquerai plus bas, mes scanlines sont assez douces pour mitiger les artefacts:
- INT_LINE > 100
- INT_SMOOTH > 100
Pour renforcer l’effet, abaissez ces valeurs comme vous le souhaitez!
Profil XRGB-Elgato
Si ça vous intéresse vous pouvez télécharger les réglages que j’utilise, principalement destinés à la capture sur les consoles SEGA, la procédure de transfert via la carte micro-SD est décrite plus haut.
Il est possible que tous les réglages ne soient pas transférés au chargement, notamment le mode de sortie HDMI ou le HDMI range. Faites une passe sur vos réglages en suivant le cheminement décrit dans l’article pour vérifier que tout est correct.
En terme de définition et de scaling, sur votre téléviseur vous devriez avoir une image nette portée par un signal 720p60 avec le jeu rendu dans son ratio d’origine de 4:3, centré comme suit:
Le rendu en mouvement est vraiment exceptionnel, j’espère que tous ceux parmi-vous qui l’ont testé en conditions réelles ont comme moi été bluffés par le gain que cela représente en terme de qualité d’image par rapport à un upscale natif d’écran LCD.
N’hésitez pas à tester différentes valeurs sur les réglages pour vous familiariser avec le rendu de l’upscaler et l’adapter à vos envies. Sauvegarder différents profils par console peut être une bonne idée, en effet d’une machine à l’autre et selon les câbles dont vous disposez la puissance du signal et le rendu de la lumière et des couleurs peut varier. Pour certains jeux en 3D par exemple je préfère désactiver les scanlines et diminuer l’A/D, du coup pour une même console il peut être aussi utile d’avoir plusieurs profils.
Capture via Elgato Game Capture HD
Jouant toujours sur un écran CRT, le XRGB ne me sert que pour faire de la capture et du partage de vidéo. Pour ce faire j’utilise la carte externe Elgato Game Capture HD. L’intérêt de la carte réside en grande partie dans son logiciel qui gère un buffer facile à utiliser et disposant d’une interface que je trouve très pratique.
Je possède aussi une carte HD60S pour capturer les consoles modernes en 60FPS, mais pour la salle rétro la version standard suffit vu que je ne fais que du 720p60.
Duplication du signal analogique
Vu que le jeu se passe sur l’écran CRT et que la capture est au niveau du XRGB/Elgato, à un moment donné il est nécessaire de dupliquer le flux vidéo. De nos jours les appareils de type « splitter » HDMI pour y parvenir sont répandus, mais quand on parle de l’époque de la vidéo analogique c’est une autre histoire.
J’ai trouvé par chance ce répéteur SCART Keene qui provient d’une ancienne régie de télévision anglaise, c’est un matériel de grade professionnel avec sa propre alimentation qui permet de dupliquer jusqu’à 5 fois un signal via SCART, en conservant une qualité optimale et le signal RGB.
Contrairement à l’image rendue côté XRGB le procédé ne produit aucune latence et permet de jouer sur le CRT sans aucun lag, comme si la console était branchée en direct sur la TV. La seconde prise SCART va donc naturellement aller au niveau de l’adaptateur EuroSCART du XRGB pour être capturée, la sortie HDMI du XRGB alors en direct sur l’Elgato.
Réglages de la carte
Une fois le XRGB connecté et la console en route, la carte devrait détecter toute seule que le signal source est en 720p60 et choisir le profil correspondant pour le rendu vidéo.
Les réglages importants ici sont les suivants:
- HDMI Color Range qui doit être sur Standard pour éviter les incohérences de contraste et de couleur
- Vérifiez que le profil est HD 720 avec l’option 60 FPS cochée
- La qualité au maximum si vous voulez la meilleure image possible
- J’utilise la recoupe automatique d’image (Cropping) car elle permet de facilement éliminer les bordures inutiles en haut et en bas de l’écran (Overscan), afin de recadrer l’image proprement. Je n’ai pas constaté de perte de netteté en utilisant cette option et le rendu en plein écran est plus propre.
Pour améliorer le rendu au niveau des noirs et booster un peu les contrastes je baisse la luminosité au niveau de la carte et je pousse un peu le contraste/saturation.
Pour que l’image reste contrastée mais ne soit pas trop sombre, j’augmente ▶ SPECIAL ▶ AD_SET ▶ AD_LEVEL sur le XRGB à 175. Certains diront qu’il y a un peu de perte sur certaines nuances à ce niveau mais je trouve le compromis très acceptable, surtout compte tenu du gain apporté par des noirs profonds et l’image pêchue sur le résultat final.
Notez que le fait de conserver les scanlines augmente considérablement le poids de la vidéo, en effet les interpolations sont presque inexistantes lorsque l’image est hachurée de la sorte, et les algorithmes de compression ne sont pas très efficaces.
Et il y a un autre problème…
Dégradation des scanlines
Voilà un sujet qui m’aura donné beaucoup de fil à retordre et consumé des heures à me casser la tête pour comprendre l’origine du problème. Autant vous le dire tout de suite, il n’est pour l’instant pas possible d’éliminer le problème si on veut faire du partage de vidéos via YouTube mais il y a des solutions pour le mitiger.
Si vous regardez l’image ci-dessus — cliquez pour agrandir — vous pouvez voir de gauche à droite:
- à gauche une photographie de mon écran CRT,
- au centre une photographie de mon écran LCD avec le XRGB branché en direct via HDMI,
- à droite une capture d’écran du rendu produit par le Elgato
Vu qu’il s’agit de photographies, avec la luminosité des écrans les images ne reflètent pas exactement la réalité mais le fait est que sur la seconde image les scanlines sont traitées correctement, assez proche de ce qu’on a sur l’écran CRT à gauche.
Par contre à droite via le Elgato les scanlines ont un rendu hachuré particulièrement moche dans les zones rouges de l’image uniquement. L’image 2 démontre que le XRGB fait bien son travail vu qu’une fois branché sur un écran LCD en direct le rendu est impeccable. Le souci se situe donc au niveau du Elgato.
Pourquoi tant de haine? Quelle est cette magie noire? Merci Fudoh pour l’explication!
En réalité l’explication se situe au niveau de l’encodage H.264 opéré par l’Elgato sur le signal d’arrivée pour produire la vidéo. Lorsque l’image est envoyée sur l’écran LCD sans intermédiaire le signal n’est pas altéré car il s’agit juste d’affichage, mais quand la carte encode, elle utilise un profil standard « High » dont le Chroma Subsampling est de 4:2:0.
C’est un peu technique mais le fait que ce profil soit limité à 4:2:0 implique que sur les couches bleues et rouges de l’image lors de l’encodage seule 1 ligne sur 2 est conservée. Sur la plupart des vidéos cela est suffisant pour que l’image reste correcte mais ici on est confronté à un cas particulier où l’image est hachurée par les lignes vides du filtre scanline 1 ligne sur 3.
Le résultat est que dans les zones bleues et rouges qui font plus de 4 lignes de haut 1 ligne vide sur 2 est décalée, produisant cet effet très indésirable. Comme je le disais un peu + haut, scanlines et encodage vidéo ne font pas bon ménage!
Mais alors que faire?
Pour que l’image soit impeccable il faudrait que l’encodage soit fait en 4:4:4, le souci c’est qu’actuellement seul le profil High 4:4:4 peut y prétendre et il n’est pas tout à fait prêt, peu de cartes permettent de le capturer et de toute façon les plateformes de diffusion sur internet se limitent au 4:2:0.
Toutefois avec la démocratisation du HDR sur les téléviseurs ces problématiques sont en cours d’évolution pour que les plateformes de diffusion s’adaptent à ces standards tout en conservant des débits raisonnables. Le H.265 est notamment pourvu de nombreux profils 4:4:4.
Vu qu’il n’est pas possible de contourner cette limitation dans l’état actuel de la technologie j’ai opté pour une approche différente qui consiste à régler les scanlines de manière modérée pour que l’effet ne soit pas trop visible. Ce sont les réglages que j’ai décrits dans la partie précédente de l’article. Après de manière purement subjective je préfère quand l’effet est assez doux car lorsqu’on joue sur un écran CRT en vrai, elles ne se remarquent pas tant que ça avec l’image est en mouvement.
Peut être que d’ici quelques années les cartes d’acquisition et les standards vidéo du web auront évolué, permettant de faire des vidéos parfaitement fidèles!
En attendant voici quelques exemples de captures réalisées avec mon XRGB, j’en suis déjà très content!
Ressources
- Mon profil XRGB Elgato: XRGB_Elgato_203a.zip
- Firmware du XRGB: http://www.micomsoft.co.jp/xrgb-mini_download.htm
- Menu du XRGB: http://www.micomsoft.co.jp/XRGB-mini_Ver203_OSD_E.pdf
- Solaris Japan: https://solarisjapan.com/products/xrgb-mini-framemeister-compact-up-scaler-unit
- Le wiki du XRGB: http://junkerhq.net/xrgb/index.php/XRGB-mini_FRAMEMEISTER
- Le site de Fudoh: http://retrogaming.hazard-city.de/framemeister.html
- XRGB Ultimate Guide: http://arekuse.net/blog/?page_id=2034
- Shmups Systems 11 hardware forums: http://shmups.system11.org/viewforum.php?f=6
- La boutique de Robert: https://www.retrogamingcables.co.uk/
- Retro RGB: http://retrorgb.com/
- Elgato Gaming: https://www.elgato.com/fr/gaming
bonjour sa émule le balayage pour utilisé un lightgun sur écran plat ?
Bonjour ,
I n’est malheureusement pas possible d’utiliser un lightgun sur un écran non CRT de par la V-Sync et utiliser un upscaler comme le XRGB n’y change rien c’est lié au fonctionnement de la dalle ;)