Modérateurs: Modération Forum Home-Cinéma, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 19 invités

Bien comprendre l'Ultra HD, la 4K, et les normes THX, Dolby, DTS, Auro 3D

conserver l'entrelacement sur diffuseur progressif

Message » 10 Oct 2008 18:20

Nos diffuseurs modernes sont generalement capables de gérer sans soucis le 1080p à 50 ou 60 fps.

Cependant on ne trouve actuellement en diffusion ou sur blu-ray que du 50i ou 60i, c'est à dire des formats entrelacés (je ne mentionne pas le 24p dont le rendu du mouvement est inferieur).

On a donc generalement recours à des traitements sophistiqués de desentrelacement avec compensation de mouvement pour transformer le 50i soit en 25p soit en 50p.

Pourquoi ne pas essayer de se rapprocher du format 50i ou 60i d'origine par la methode simple suivante :

Dans la trame impaire, je rajoute une ligne noire apres chaque ligne pour reconstituer une image complete de 1080 lignes (autrement dit je rajoute des lignes paires noires.
Dans la trame paire même chose, je rajoute des lignes impaires noires.

j'obtiens donc un flux de 50 images completes par secondes, dans lequel alternativement les lignes paires puis les impaires sont noires.

Si je le diffuse à 50Hz sur un diffuseur progressif, je devrais reconstituer l'effet de balayage entrelacé d'un CRT qui illumine d'abord les lignes impaires puis les paires.

Connaissez vous un player ou un filtre de traitement qui implemente cette methode ?

Bon apres il y a le risque de recréer du papillotement, mais pas certain, car sur un CRT c'est du au fait que les lignes du haut se sont effacées quand on arrive en bas, et ce ne serait pas le cas sur un LCD/ DLP

Le sujet a-t-il déjà été abordé ici ?
gammaburst
 
Messages: 578
Inscription Forum: 08 Avr 2003 13:20
  • offline

Message » 10 Oct 2008 22:17

En y reflechissant, je me dis que ça devrait etre raisonablement facile à faire avec Avisynth. Je vais creuser un peu...
gammaburst
 
Messages: 578
Inscription Forum: 08 Avr 2003 13:20
  • offline

Message » 10 Oct 2008 22:22

Tu as conscience que tous les films sur bluray sont en 24p ?
Tu as conscience aussi que sur un CRT, lorsqu'une trame n'est pas balayée, elle n'est pas noire pour autant mais reste affichée ?
Avatar de l’utilisateur
Dialhot
Supervision Technique Forum
Supervision Technique Forum
 
Messages: 30683
Inscription Forum: 25 Aoû 2005 13:26
Localisation: Doral, FL
  • offline

on peut le faire, mais pavec n'importe quoi!

Message » 11 Oct 2008 8:27

procédure : trouver un codeur qui permet de coder en 50 images,
donc pour des sources hdv perso ou enregistrées de 1080i, avec l'option "full",
en 1920x1080, qui (mon opinion éclairée par le résultat) doit soulager le processeur en lecture,
puisque tout le travail est mâché.
Et le codeur est ... Windows Media Vidéo. Je l'ai avec une version
d'un logiciel vidéo, mais il existe à part, et gratuit.
Le pb c'est que, comme tout ce qui vient de Billou, il cherche à énerver
les concurrents, et toutes le versions ne possèdent pas l'export en 50 images seconde full hd.
Mon Vegas 6,oui (le 7, non!!). On gagne énormément en fluidité,
l'arrêt sur image est meilleur, et toute manip sur l'image (colorimétrie et contraste,
gamma..) fonctionne comme en progressif, les petits éléments de l'image sont plus
nets même quand il y a mouvement, vu que leurs pixels ne sont plus répartis sur deux demi images.
Les pbs ne s'arrêtent pas à l'export du fichier ... reste la lecture, et là il y a un pb de son,
qui ne marche pas bien du tout (du moins, je n'ai pas trouvé de player qui l'accepte)
. Mais la vache savait nager!!! il suffit de le passer dans Media Player Classic : File/utils/dsm converter,
et l'on obtient un fichier avec extension "dsm" qui, lui, ne pose pas de pb à MPC justement.
Rien trouvé au-dessus jusqu'à présent, pour des vidéos entrelacées secouées (ou non, bien sûr) en hd.
Ajoutons que Wmv est un format très "light" qui permet une heure à un bit rate de 8 mbts/seconde sur un dvd single.
Not bad, eh?
Mpeg
 
Messages: 2784
Inscription Forum: 15 Avr 2005 13:47
  • offline

Message » 11 Oct 2008 12:04

Dialhot a écrit:Tu as conscience que tous les films sur bluray sont en 24p ?
Tu as conscience aussi que sur un CRT, lorsqu'une trame n'est pas balayée, elle n'est pas noire pour autant mais reste affichée ?

Le blu-ray supporte aussi les formats video 60i et 50i, que je sache. Et ils sont susceptibles d'etre rellement utilisé dans les interviews des supplements qui accompagnent le film, pour des concerts, certains documentaires...
Par ailleurs la TNT-HD sera au moins partiellement en 50i, il n'y a pas que le blu-ray comme source. Et puis il ya les captures recupérées sur internet.

D'apres ce que j'ai pu lire, la remanence de l'ecran est en fait assez faible, et ne persiste guère au delà d'une ligne. Donc, essentiellement , la trame non balayée serait bien noire.

Bon en tous cas ça y est j'ai ecrit mon script avisynth, il me reste à le tester sur le diffuseur HD. Par contre c'est tres contraignant, une fois les images construites elles doivent rester exactement au format 1920x1080 sur tout le reste de la chaine : pas de mise à l'echelle, pas d'overscan,...Et un bon verrouillage sur la frequence d'origine du document.

Et evidement pas question de compresser le resultat.
gammaburst
 
Messages: 578
Inscription Forum: 08 Avr 2003 13:20
  • offline

Message » 11 Oct 2008 12:11

Mpeg, avec ton systeme, je pense que WMV fait une sorte de desentrelacement de type bob pour atteindre les 50 fps, ce qui n'etait pas tout à fait mon but.

A noter que l'on doit pouvoir atteindre un resultat equivalent avec un script avisynth de desentrelacement (utilisant un bob quelconque, yadif ou autre) suivi d'une compression au format mp4/h.264. Et là l'avantage c'est que tu as une bonne visibilité sur ce qui se passe reellement.

Par contre ton utilitaire de conversion m'interesse, j'ai souvent des soucis avec les Wmv sur MPC-HC. En particulier je n'arrive pas à faire du DXVA dessus. Pourtant je pensais que c'etait du VC-1 avec lequel ma carte (ATI 2600 XT) est censée etre compatible.
gammaburst
 
Messages: 578
Inscription Forum: 08 Avr 2003 13:20
  • offline

Message » 13 Oct 2008 0:59

Bon pour l'instant le resultat n'est pas tres probant, j'ai de grosses fluctuations de luminosité et de coloration sur l'image. J'ai essayé en desactivant l'iris automatique (je me suis dit que l'analyse de la luminosité de l'image qui pilote l'iris est peut être perturbée par la presence des lignes noires), mais ça ne resoud pas le pb. En regardant un arret sur image, je vois bien l'alternance des lignes noires et celles de l'image .Mais sur certaines zones, on dirait qu'i l y a alternance de lignes noires et blanches. Possible qu'il reste un bug dans mon script, ou alors il y a quelque part dans le VP un traitement qu'il faudrait desactiver.

En attendant voici une copie du script sans son etat courant :

#Creates interlaced encapsulated in progressive out of an interlaced clip.
#Resulting clip has twice the framerate and the same resolution as original.

DGDecode_mpeg2source("C:\Chemin\EssaiJ.d2v",info=3)

ColorMatrix(hints=true,interlaced=true)
Original=SeparateFields

OddFields=SelectOdd(Original)
OddBlack=Blankclip(OddFields,color=$000000)

EvenFields=SelectEven(Original)
EvenBlack=Blankclip(EvenFields,color=$000000)

OddProg=Interleave(OddFields,EvenBlack)
EvenProg=Interleave(EvenFields,OddBlack)

OddProg=Weave(OddProg)

EvenProg=Weave(Evenprog)

Interleave(OddProg,EvenProg)
gammaburst
 
Messages: 578
Inscription Forum: 08 Avr 2003 13:20
  • offline

Message » 18 Oct 2008 14:13

J'ai finalement corrigé les defauts de coloration (il suffisait de faire une conversion vers un format de couleur ou les lignes sont independantes). J'obtiens un affichage qui me semble remarquablement fluide et naturel, sans les artefacts du desentrelacement.

Par contre, consequence logique que je n'avais pas anticipée, l'image est beaucoup plus sombre. En effet, une ligne donnée de l'ecran est noire la moitié du temps, donc emet en moyenne deux fois moins de lumière. On s'en rend bien compte si on fait un arret sur image, car on retrouve une luminosité normale sur les lignes actives qui sont alors affichées en permanence . On peut egalement verifier à cette occasion en s'approchant qu'on a bien une ligne sur deux qui est noire.

Si on augmente la luminosité du projecteur, les couleurs sont quand même quelque peu denaturées (en tous cas sur le mien qui est un LCD).

Donc dans le principe ça marche, mais sur les systemes qui utilisent une source fixe de lumiere et un modulateur (LCD ou DLP) , cela implique un doublement de la puissance lumineuse à utiliser. Par contre, sur des systemes emissifs tels que les OLED et peut etre les plasmas, il serait possible de mettre deux fois plus de puissance quand la ligne est active, et zero quand elle est noire, de maniere à retrouver en moyenne la luminosité et la consommation normale.

Je vous donne le script au cas ou vous voudriez faire l'essai. Il tourne en temps reel (ce qui est indispensable) sur un dual core 2.4 Ghz quand j'ouvre le script avec MPC-HC. Les assumeTFF/ assumeBFF sont à inverser ou non en fonction de la structure de votre video. Il laisse egalemnt passer le son ce qu ipermet de verrouiller la frequence d'affichage avec Reclock. Je rappelle qu'il faut que le PC et le diffuseur affichent l'image au format natif, sans mise à l'echelle (overscan ou autre) et à la frequence de trame native (50 ou 60 Hz).
j'avais aussi experimenté en convertissant au format RGB, mais ça devenait alors trop lent pour tourner en temps reel.

script avisynth (certainement susceptible d'améliorations):

#Create interlaces encapsulated in progressive out of an interlaced clip.
#Resulting clip has twice the framerate and the same resolution as original.

DirectShowSource("C:\Chemin\EssaiJ.MPG")

AssumeTFF

ConvertToYUY2(interlaced=true)

Original=SeparateFields

EvenFields=SelectEven(Original)
EvenFields=AssumeFrameBased(EvenFields)

OddFields=SelectOdd(Original)
OddFields=AssumeFrameBased(OddFields)

BlackFields=Blankclip(EvenFields,color=$000000)

Even=Interleave(EvenFields,BlackFields)
Even=AssumeFieldBased(Even)
Even=AssumeTFF(Even)
Evenprog=Weave(Even)

Odd=Interleave(OddFields,BlackFields)
Odd=AssumeFieldBased(Odd)
Odd=AssumeBFF(Odd)
OddProg=Weave(Odd)

Interleave(EvenProg,OddProg)
gammaburst
 
Messages: 578
Inscription Forum: 08 Avr 2003 13:20
  • offline


Retourner vers Normes