Partager via


Pour désentlacer la vidéo

[La fonctionnalité associée à cette page, le Kit de développement logiciel (SDK) Windows Media Format 11, est une fonctionnalité héritée. Il a été remplacé par lecteur source et enregistreur récepteur. Le lecteur source et l’enregistreur récepteur ont été optimisés pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise le lecteur source et l’enregistreur récepteur au lieu du Kit de développement logiciel (SDK) Windows Media Format 11, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Certaines sources de vidéo, telles que les cartes de capture vidéo, fournissent des données vidéo pour un affichage entrelacé. Chaque image de vidéo entrelacée est composée de deux champs. Le champ supérieur contient la première ligne de la vidéo et toutes les autres lignes suivantes. Le champ inférieur contient la deuxième ligne de la vidéo et toutes les autres lignes ultérieures. Par conséquent, un champ contient toutes les lignes paires numérotées et l’autre contient toutes les lignes impaires numérotées. Les champs qui composent une image représentent des heures de présentation légèrement différentes, de sorte que, lorsqu’ils sont entrelacés, ils ne forment pas une image statique.

Lorsque vous souhaitez afficher une vidéo sur un moniteur d’ordinateur, chaque image de la vidéo doit être affichée sous la forme d’une seule image (cette méthode d’affichage de la vidéo une image entière à la fois est appelée vidéo progressive ).) Si vous affichez progressivement la vidéo entrelacée, les images peuvent ne pas apparaître correctement, en raison de la différence de temps entre les deux champs. Le codec Vidéo Windows Media et le codec Profil avancé de vidéo Windows Media prennent tous deux en charge une fonctionnalité de prétraitement qui convertit le contenu entrelacé en images progressives.

Pour que le codec désinterlace la vidéo d’entrée, appelez la méthode IWMWriterAdvanced2::SetInputSetting . Le paramètre à utiliser est g_wszDeinterlaceMode. Définissez le mode de désentlacement sur l’une des valeurs suivantes.

Valeur Description
WM_DM_NOTINTERLACED L’entrée est progressive. Utilisez ce paramètre pour arrêter le désentlacement lorsque vous avez précédemment défini le mode de désentlacement sur une autre valeur.
WM_DM_DEINTERLACE_NORMAL Sélectionnez ce mode pour mélanger les champs pairs et impairs d’un cadre entrelacé (à l’aide d’un mécanisme de compensation de mouvement). Avantages:
  • Les artefacts entrelacs de l’affichage progressif sont considérablement réduits.
  • Le codec Vidéo Windows Media produit une vidéo compressée de qualité supérieure.
WM_DM_DEINTERLACE_HALFSIZE Sélectionnez ce mode lorsque la résolution de sortie est inférieure ou égal à la moitié de la résolution d’entrée. Par exemple, utilisez ce mode lorsque la résolution vidéo d’entrée est de 640 x 480 pixels et que la résolution vidéo de sortie est de 320 x 240 pixels. Avantages:
  • Les artefacts entrelacs de l’affichage progressif sont considérablement réduits.
WM_DM_DEINTERLACE_HALFSIZEDOUBLERATE Sélectionnez ce mode lorsque la résolution de sortie est inférieure ou égal à la moitié de la résolution d’entrée et que la fréquence d’images de sortie est deux fois plus élevée. Par exemple, utilisez ce mode lorsque la résolution vidéo d’entrée est de 640 x 480 pixels à 30 images entrelacées/s et que la résolution vidéo de sortie est de 320 x 240 pixels à 60 images/s. Avantages:
  • Cela produit des images progressives de haute qualité, car chaque champ est converti en image et il n’est donc pas nécessaire de mélanger des informations.
  • Le mouvement complet des champs entrelacés est capturé.
WM_DM_DEINTERLACE_INVERSETELECINE Sélectionnez ce mode pour convertir une vidéo de 30 images/s télécinée en 24 images/s du film d’origine. Avantages:
  • La qualité de compression s’améliore considérablement, car seulement 24 images/s au lieu de 30 images/s doivent être encodées.
  • Étant donné que le résultat est progressif, les mêmes avantages en matière de compression et d’affichage du désentlacement sont réalisés.
WM_DM_DEINTERLACE_VERTICALHALFSIZEDOUBLERATE Sélectionnez ce mode lorsque la résolution de sortie verticale est inférieure ou égal à la moitié de la résolution verticale d’entrée et que la fréquence d’images de sortie est deux fois plus élevée. Par exemple, la résolution vidéo verticale d’entrée est de 640 x 480 pixels à 30 images entrelacées/s et la résolution vidéo verticale de sortie est de 320 x 240 pixels à 60 images/s. Avantages:
  • Cela produit des images progressives de haute qualité, car chaque champ est converti en image et il n’est donc pas nécessaire de mélanger des informations.
  • Le mouvement complet des champs entrelacés est capturé.

Pour le contenu mixte, définissez le mode de désentlacement en fonction des besoins avant de transmettre des exemples d’un nouveau type. Par exemple, pour commencer l’encodage avec une entrée progressive, vous n’avez pas besoin de définir un mode de désentlacement. Si certains exemples nécessitent un désentlacement normal, vous devez définir le mode de désentlacement sur WM_DM_DEINTERLACE_NORMAL. Pour traiter ensuite des exemples progressifs supplémentaires, vous devez définir le mode de désentlacement sur WM_DM_NOTINTERLACED.

Paramètres de téléciné inverse

Pour obtenir une description de la télécine inverse, consultez To Use Inverse Telecine.

Si vous définissez le mode de désinterlacation sur WM_DM_DEINTERLACE_INVERSETELECINE, vous pouvez spécifier le modèle de télécine de la première image d’entrée en appelant IWMWriterAdvanced2::SetInputSetting. Le paramètre à utiliser est g_wszInitialPatternForInverseTelecine. Définissez le modèle initial sur l’une des valeurs suivantes.

Valeur Description
WM_DM_IT_DISABLE_COHERENT_MODE Spécifie que le média d’entrée a passé par le processus de télécine, mais que les images ne sont plus dans un modèle prévisible. Cela indique généralement que le média a été modifié après le traitement de la télécine. Lorsque vous utilisez ce paramètre, le codec tente de reconstruire les images d’origine par lui-même.
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_TOP Spécifie que le champ supérieur de l’image AA est le premier exemple.
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_TOP Spécifie que le champ supérieur de l’image BB est le premier exemple.
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_TOP Spécifie que le champ supérieur de l’image BC est le premier exemple.
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_TOP Spécifie que le champ supérieur de l’image CD est le premier exemple.
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_TOP Spécifie que le champ supérieur de l’image DD est le premier exemple.
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_BOTTOM Spécifie que le champ inférieur de l’image AA est le premier exemple.
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_BOTTOM Spécifie que le champ inférieur de l’image BB est le premier exemple.
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_BOTTOM Spécifie que le champ inférieur de l’image BC est le premier exemple.
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_BOTTOM Spécifie que le champ inférieur de l’image CD est le premier exemple.
WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_BOTTOM Spécifie que le champ inférieur de l’image DD est le premier exemple.

Rubriques avancées