BCDE 2.0

DVD2DivX

Codec

Autorun

www

Dernière mise à jour de cette page : 10 août 2004
Page consultée 4557 fois

L e codec DivX 5.03 épluché

Ce document présente les caractéristiques techniques détaillées des codecs DivX® 5.0.3 et DivX Pro™ 5.0.3. Il reprend les grandes lignes du document original, daté du 21 janvier 2003 et rédigé en anglais par Darrius "Junto" Thompson et les membres du DARC (DivX Advanced Research Centre), disponible à l'adresse   http://www.divx.com/support/divx/guide.php .

 

C omparaison des caractéristiques

Voici un tableau de comparaison complet entre les deux versions du DivX 5.03 disponibles :
 

Version

DivX

DivX Pro

Dernière version5.0.35.0.3

Encodage

DivX

DivX Pro

I-VOP, P-VOP

B-VOP

 NON IMPLEMENTE

Encodage basé sur un indice de qualité

ENcodage VBR en 1 passe

Encodage en plusieurs passes

Insertion d'image-clé (keyframe) par l'utilisateur

Insertion automatisée d'images-clé

Détection automatique de changement de scènes

Algorithme breveté de contrôle du débit

5 niveaux d'encodage prédéfinis

Quarter pixel

 NON IMPLEMENTE

Compensation de mouvement global

 NON IMPLEMENTE

Modélisation psychovisuelle (Q@MB)

Contrôle de flux du buffer vidéo
(1-Pass, 2-Pass, Nth Pass™)

Vérification du profile de certification DivX

Pre-traitement intégré breveté

 NON IMPLEMENTE

Telecine inverse intégré

 NON IMPLEMENTE

Désentrelacement intégré

 NON IMPLEMENTE

Redimensionnement intégré

 NON IMPLEMENTE

Recadrage (cropping) intégré

 NON IMPLEMENTE

Support de la vidéo entrelacée

 NON IMPLEMENTE

Résolutiontout entier multiple de 4 jusqu'à 1920x1088tout entier multiple de 4 jusqu'à 1920x1088
Bitrate> 20 Kbps> 20 Kbps

Décodage

DivX

DivX Pro

I-VOP, P-VOP

B-VOP

Quarter pel

Compensation de mouvement global

Modélisation Psychovisuelle

Post-traitement

MPEG-4 à en-tête court (flux H.263)

Marqueurs de resynchronisation des paquets vidéo

Partitionnement de données

Compensation de mouvement de blocs superposés

VLD Reversible

Support de la vidéo entrelacée

Logo DivX de décodage

Lecture de tout les contenus DivX

Résolution

tout entier multiple de 4 jusqu'à 1920x1088

tout entier multiple de 4 jusqu'à 1920x1088

Divers

DivX

DivX Pro

Quantisation / Quantisation type MPEG-2/H.263

Image-clé ajustable, niveaux de quantization, contrôle du débit, et niveaux d'algorithmes

Performances

DivX

DivX Pro

Decodage360+ images par sec.360+ ips
Encodage70+ ips70+ ips

Performances mesurées en plein écran, avec des logiciels tournant sur du matériel haut de gamme. Note: Le codec DivX et ses fonctionnalités sont indépendants et peuvent être utilisés par n'importe quelles applications qui supportent une interface vidéo commune telle que celle de VFW.

Entrée

DivX

DivX Pro

YUV 4:2:0 (Y-V-U ou Y-U-V)

24 et 32 bit RGB

YUY2

UYVY

YVYU

Sortie

DivX

DivX Pro

16-bit (555 and 565)

24 et 32-bit

YUY2

UYVY

4:2:0 Planaire (Y-V-U et Y-U-V)

Formats de fichier

DivX

DivX Pro

Support du format DivX™ (MPEG-4)

Support des fichiers AVI

Standards

DivX

DivX Pro

Gestion du MPEG-4 simple profile

Gestion du MPEG-4 simple profile avancé

Plateformes

DivX

DivX Pro

Windows (98/ME/NT/2000/XP)

Linux

A venir
Mac OS

A venir
PocketPCA venir

 NON PREVU

 

Decoder DivX

Il y a plusieurs choses que vous pouvez faire pour vous assurer que votre système est préparé pour lire du contenu DivX avec des performances optimales:

  • Utilisez le dernier lecteur DivX inclus dans le DivX Codec Bundle. Le player DivX Player est le lecteur officiel des vidéos DivX et il est optimisé pour supporter toutes les dernières fonctionnalités.
  • Utilisez le filtre de décodage DivX™ avec tous les autres lecteurs vidéos. Beaucoup de lecteurs vidéos Windows utilisent une des deux méthodes suivantes pour décoder un DivX :
    • a) le "codec Video for Windows"
    • b) le "filtre de décodage DivX"
  • Pour une lecture plus fluide pouvant être jusqu'à deux fois plus rapide, vérifiez que votre lecteur vidéo Windows utilise le filtre de décodage DivX pendant la lecture. Le filtre de décodage DivX est installé avec le codec. Pour vérification, vous pouvez accéder au filtre depuis le menu Démarrer depuis lequel vous avez installé le codec DivX. S'il ne s'y trouve pas vous pouvez effectuer les démarches suivantes :
     
    • Paramétrez l'accélération graphique au maximum dans les propriétés d'affichage.
    • Assurez-vous que vous n'êtes pas en train d'exécuter un logiciel de capture vidéo ou de tuner TV.
    • Essayez de changer la profondeur des couleurs d'affichage. Le filtre ne fonctionne pas normalement avec une profondeur de couleur de 8 bits.
    • Vérifiez que vous avez installé les derniers pilotes de votre carte graphique.

Si le problème n'est pas résolu, nous vous recommandons de fixer la profondeur des couleurs d'affichage à 16 bits, parce qu'il est habituellement plus rapide en utilisation avec le codec VFW.

 

P ost-Processing (traitement de la vidéo pendant la lecture)


Le post-processing du DivX est composé de filtres de "deblocking" (suppression de blocs - ou pavés - de pixels) horizontaux et verticaux et d'un filtre de "deringing" (suppression de l'effet d'aura autour des contours contrastés). Le post-processing est un processus gourmand en temps CPU, qui consomme souvent plus de temps processeur que le décodage lui-même. Vous pouvez ne pas activer le post-processing, surtout si vous souhaitez une image non traitée, ou si votre PC n'est pas assez puissant. Pour combler les utilisateurs adeptes du post-processing, 6 differents niveaux de post-processing ont été définis:

  • Au minimum (niveau 0), aucun algorithme de post-processing n'est utilisé.
  • Au maximum (niveau 6) tous les algorithmes appropriés sont utilisés pour améliorer l'apparence de votre vidéo.

Puisque l'oeil humain est moins sensible à la composante chrominance d'un signal vidéo et plus sensible à la composante luminance, seule la luminance est traitée dans les niveaux inférieurs du post-processing, tandis que les niveaux supérieurs activent les mêmes algorithmes mais sur la chrominance.

De-blocking

Le filtre opère à travers les bords d'un bloc 8x8, à la fois sur le plan de la luminance et de la chrominance des couleurs. Cela aide à réduire les artefacts de pixellisation causés par l'algorithme de compression spatial du DCT utilisé par le codec.

Le "blocking" est l'artefact le plus visible, c'est donc le premier algorithme à appliquer.

De-ringing

Le filtre de "de-ringing" est utilisé pour éliminer les bruits causés par le processus de quantisation (aussi appelé effet Gibbs). Le bruit se remarque le plus dans les animations, où on trouve de coefficients de fréquences élevés. Le "deringing" sur la luminance est activée au niveau 6 du post-processing. A cause de la grande consommation en CPU et de l'impact relativement faible du filtre, celui-ci n'est activé que sur les Pentium-III et les processeurs plus récents.

Film Effect

L'algorithme de post-processing Film Effect ajoute de la 'chaleur' à la vidéo pour ceux qui apprécient les images avec un léger grain, par opposition à na netteté et la rigueur des images vidéos, propres. Un effet qui en plus de son effet premier peut également aider à diminuer l'effet de blocs sur  les vidéos lues sur une machine peu puissante.

Tableau des niveaux de post-processing

Niveau de Post processing

Horizontal deblocking luminance

Vertical deblocking luminance

Horizontal deblocking chrominance

Vertical deblocking chrominance

Horizontal deringing

Vertical deringing

1

NON

NON

NON

NON

NON

2

NON

NON

NON

NON

3

NON

NON

NON

4

NON

NON

5

6

 

Paramètres de qualité (Quality Settings)


Lecture fluide (Smooth Playback)

Désactiver ce paramètre permet la lecture par des machines peu puissantes des vidéo encodées en B-frame. Activer cette option est recommandée, même si cela peut rajouter un délai d'une image dans le decoder (à cause du buffer) et empêcher l'affichage de la dernière image d'une vidéo.

Mode YUV étendu (YUV Extended Mode)

Si cette option est sélectionnée, le codec essaie d'utiliser le mode YV12 pour décoder la vidéo. Il s'agit du moyen le plus rapide pour décoder du contenu DivX, mais en contrepartie les contrôles de luminosité / contraste / saturation sont désactivés et ne peuvent plus être utilisés. Activer cette option est toutefois recommendée.

Il est possible de forcer manuellement le mode couleur lors de la lecture de la vidéo en passant par la base de registre. Il suffit de modifier la valeur contenue à l'adresse HKEY_CURRENT_USER\Software\DivXNetworks\Force Color Mode pour lui assigner la valeur 1 à 7 en fonction du mode recherché tels que listés ci-dessous. A noter que cette manipulation ne devrait être exploitée qu'en de rares circonstances pour résoudre des problèmes de carte vidéo:
 

      1. YV12
      2. YUY2
      3. YUYV
      4. RGB32
      5. RGB24
      6. RGB555
      7. RGB565

Mode overlay étendu (Overlay Extended Mode)

Sélectionner cette option force l'affichage de la vidéo en utilisant la couche matérielle (hardware) plutôt que logicielle (software). La couche matérielle est bien plus rapide, mais peut ne pas être supportée par certaines cartes vidéo. De plus, quand ce mode est activé, les lecteurs utilisant les fonctions d'affichage basées sur DirectShow ne pourront pas ouvrir plus d'une fenêtre à la fois. Enfin, les copies d'écran ne pourront se faire par la voie traditionnelle (par exemple avec la touche [PRT-SCR] du clavier).

Tampon d'affichage double (Double Buffering)

Cette fonction force la vidéo à allouer un second tampon (buffer) pour la lecture de la vidéo. Cela permet d'augmenter la fluidité de l'affichage, mais peut ne pas être supporté par les cartes vidéo possédant moins de 8 Mo de mémoire.

Suppression du logo (Disable logo)

Si cette case est décochée, un petit logo DivX apparait en bas à droite de chaque vidéo pendant les premières secondes de lecture via un fondu du plus bel effet, garantissant la conformité du fichier à la norme DivX.

Rapport d'affichage (Aspect ratio)

Vous permet de forcer le rapport hauteur / largeur de la vidéo lors de la lecture. Il est recommandé de laisser l'option par défaut (garder le rapport original / Maintain original).

 

Menu principal du codec DivX

Par rapport aux précédentes version de DivX, lLes fonctions de traitement Qpel, GMC et B-frame ont été déplacés vers la partie de l'interface appelée "Profiles". Si un profile est sélectionné, le codec s'assurera que vous avez défini les paramètres optimaux pour le profil concerné afin d'assurer une parfaire compatibilité. Vous pouvez toutefois avoir toujours accès aux fonctions traitement de la vidéo en ne choisissant aucun profil, comme montré dans les 3 images ci-dessous.

 

UN PROFIL EST SELECTIONNE :
(voir détails en bas à gauche de l'interface)

AUCUN PROFIL EN PARTICULIER N'EST SELECTIONNE ...
(Les outils MPEG4 sont laissés au choix)

... ET SANS PROFIL,
TOUS LES MODES DE BITRATES SONT ACCESSIBLES:
 

Original (pre-5.0.3) modes Bitrates

  1. 1-Pass Variable Bitrate Mode [Mode en 1 passe avec débit binaire variable]. L'encodeur aura pour but de calculer le bitrate moyen, pour un film, proche de la valeur spécifiée en allouant moins de données pour les scènes "lentes" et plus pour les scènes "rapides". Vous pouvez aussi bien entrer le bitrate désiré ou utiliser la barre de défilement.
  2. 1-Pass Quality Based Mode [Mode en 1 passe basé sur un indice de qualité]. L'encodeur encodera tout avec exactement la même qualité sans se soucier de la quantité de mouvement. En utilisant ce mode, toutes les images reçoivent le même taux de compression sans prise en compte de leur complexité. Bien que ce ne soit pas le meilleur choix pour faire des archives, c'est une bonne idée d'utiliser ce mode afin de préparer du contenu pour une édition ultérieure. Il garanti la préservation de la qualité sur toutes les images. Lorsque vous sélectionnez le mode "Quality Based" la barre de défilement va ajuster le Quantiseur sur un pourcentage de base en montrant le nombre exact qui sera utilisé pour compresser chaque image.
  3. 2-Pass (Variable Bitrate Mode) [Mode en 2 passes (débit binaire variable)]. Avant d'être encodée, la vidéo est analysée pour déterminer sa complexitée.Nous pouvons alors allouer les données plus efficacement aux scènes qui en ont le plus besoin et moins à celles qui en ont peu besoin. Ce mode est plus précis que l'encodage "1-Pass". Dans ce mode, l'encodeur va essayer de déterminer la qualité subjective du flux constant, et simultanément s'assurer que la taille finale sera proche de celle spécifiée. Choisir ce mode suppose traiter la vidéo en deux fois. L'encodage en 2 passes est indépendant de toute application utilisée pour l'encodage et peut être utilisé avec n'importe quel programme. Si vous voulez encoder un enregistrement de 2 heures et être sûr qu'il tiendra sur un CD de 650Mo, alors ce mode est fait pour vous.

Nouveau mode Nth Pass (DivX 5.03)

Nth pass RC: un algorithme en 'n' passes diffère dans la façon sont utilisées les informations disponibles depuis une précédente analyse d'une vidéo. Ces informations peuvent être utilisées à votre avantage pour prendre de meilleures décisions afin de terminer la vidéo selon la méthode qui vous convient le plus (contrairement à l'ancienne méthode, plus figée). Le fonctionnement est identique à l'ancienne méthode en 2 passes: pour lancer 2 passes, simplement lancer "multipass first pass" puis "multipass Nth - Pass". Si vous souhaitez par exemple encoder une vidéo de 2 heures avec la certitude qu'elle tiendra sur un CD de 650 Mo, alors cette nouvelle méthode est idéale.

Original (pre-5.0.3) Fichiers Log issus de l'encodage en 2 passes

Durant la 1ere des 2 passes, des données d'encodage sont récoltées et seront réutilisées lors de la seconde passe pour améliorer la précision et la qualité. Pour réduire le temps d'encodage lors du choix du mode "2-pass", les données d'encodage peuvent être réutilisées pour encoder le même contenu en mode "2-pass" avec exactement les mêmes paramètres. Le temps d'encodage est ainsi réduit puisqu'il n'y a plus que la 2nde passe à effectuer. Il est possible pour des applications externes de manipuler ces logs pour des ajustements encore plus précis dans l'allocation des données.

Le paramètre "Protect Log/My File" permet d'empêcher tout écrasement éventuel d'un fichier log déjà existant sur le disque lors de l'encodage "2-pass".

Outils MPEG-4

B-frames/Encodage Bi-directionnel

Il y a trois types d'images possibles à l'intérieur d'un flux vidéo DivX. Ces images sont appelées "I-frames" (Intra), "P-frames" (Prédites) et "B-frames" (Bi-directionnelles). Avant l'arrivée du DivX 5.0, les images étaient seulement de type I et P. Les images I sont encodées en utilisant seulement des informations à partir de l'image même. Ils n'utilisent pas d'information venant d'autres images (telle la compression temporelle). Une image I est équivalent dans le concept à encoder une simple image en utilisant l'algorithme de compression JPEG. Les images P (Prédites) sont déduites à l'avance et peuvent se référer soit à une image I soit à une image P. Elles sont encodées à partir de l'image qui les précèdent. Quelle que soit la séquence vidéo, un groupe d'images comprendra toujours plusieurs fois les mêmes images. Par exemple, si vous regardez une personne immobile vous remarquerez qu'elle bouge à peine et que le fond reste pratiquement identique à chaque image. (Rappelez-vous qu'il y a généralement jusqu'à 30 images dans une seule seconde de vidéo). Alors au lieu d'encoder chacune de ces 30 images de manière indépendante comme vous le feriez dans une image avec le JPEG, vous pouvez exploiter la redondance de chaque image en utilisant les images P. Pour résumer, une image P est l'image suivante qui détermine où des blocs de l'image ont bougé depuis l'image précédente. Alors au lieu de faire de l'encodage spatial (JPEG), l'image P se dit juste "Hé, le bloc dans l'image précédente a bougé jusqu'aux coordonnées (X,Y)" ce qui requiert beaucoup moins de données que d'encoder chaque image de manière spatiale. Essentiellement, nous transmettons la différence entre chaque image ce qui est plus efficace que de transmettre l'image I d'origine.

Le DivX Pro 5.0 donne la possibilité d'utiliser aussi les "images B". Les images B permettent au codec DivX de prédire les images futures en choisissant la meilleure prédiction entre 2 images prédites au lieu d'une seule. Les images B ne sont pas seulement codées en utilisant des images prédites à l'avance mais aussi des images déjà prédites qui peuvent être des images I ou P. Utiliser des images B réduit la quantité de données nécessaires pour encoder une image et améliore ainsi la qualité, plus particulièrement dans les zones où des objets en mouvement révèlent des surfaces cachées.

Global Motion Compensation [Compensation de Mouvement Global]

La Compensation de Mouvement Global (GMC) permet d'améliorer les scènes complexes où des zooms et des défilés panoramiques sont présents. La réduction des données nécessaires d'une image vers la suivante est possible du fait de la présence de zones communes à l'intérieur d'un zoom ou d'un défilé panoramique qui peuvent être utilisées pour compenser plus efficacement ce qui est normalement un groupe de bloc dans de telles scènes.

Quarter Pixel (Quart de pixel)

Comme expliqué dans le résumé sur les "images B", les données sont réduites lorsque la différence entre deux images (erreur de prédiction) est transmise au lieu de l'image toute entière. La différence dans une série d'images successives est généralement calculée sur une matrice macrobloc-par-macrobloc (16x16 pixels) ou sur une matrice bloc-par-bloc (8x8 pixels). Par exemple, une partie d'une image située dans un bloc aux coordonnées (1,1) peut bouger aux coordonnées (1,2) dans l'image suivante. Comme vous pouvez le constater, une image dans un bloc va vraisemblablement avoir besoin de plus de précision qu'une simple matrice bloc-par-bloc avec une précision qui est limitée à un nombre entier d'unité de pixel (1,1). Le DivX a amélioré la précision précédente en utilisant un half pixel (1.5, 1.5) pour inclure la possibilité d'utiliser la précision d'un "Quart de Pixel" (1.25, 1.75) avec cette version du codec. Le Quarter Pixel emploie un filtre spécifique sur chaque bloc pour produire un bloc virtuel qui représente à quoi le bloc d'origine devrait ressembler s'il avait bougé d'1/4 de pixel.

"New" Quarter Pel

Dans sa version 5.0.3, le procédé de Prédiction de Mouvement par Quarter Pixel a été mis à jour afin de se plier à la nouvelle révision du standart 14496-2 DCOR1. (l'ancienne fonction du Qpel est bien sûr toujours décodable).

Quick Config CLI [Configuration rapide CLI]

Se référer à l'Appendice de Configuration Rapide CLI (à la fin de ce document) pour plus d'information sur cette fonctionnalité.

 

General Parameters (Menu des paramètres généraux)

Enable Crop [Activer le découpage des bords]

Le découpage des bords (cropping) est utilisé habituellement pour enlever les bords noirs qui peuvent prendre de la place inutilement. C'est ce que l'on voit généralement dans les films aux formats "WideScreen" ou "LetterBoxed". Il est aussi habituel de voir des bords dans du contenu vidéo qui sont complètement inutiles ou présents du fait de la médiocrité du matériel d'encodage. Le découpage des bords (Cropping) va enlever ou "couper" tous les bords non désirés. Spécifiez juste de combien de pixels vous voulez couper de chaque côté.

Enable Resize [Activer le redimensionnement]

Le redimensionnement permet au contenu vidéo d'être encodé à une résolution spécifique. Il y a plusieurs applications et environnements qui utilisent le codec DivX et le contenu vidéo doit être encodé de manière appropriée pour ceux-ci. Généralement, plus la résolution est basse plus la taille du fichier est petite. La résolution de sortie peut être ajustée afin de préserver la résolution d'origine, ou afin de la réduire pour des applications qui pourraient avoir besoin de débits et de résolutions beaucoup plus basses comme les logiciels de vidéo-conférence ou les vidéos sur navigateur WEB. Il y a 4 options pour le redimensionnement :

  • Bilinear (Very Soft) [Bilinéaire (très doux)]
  • Bicubic (Soft) [Bicubique (doux)]
  • Bicubic (Normal) [Bicubique (normal)]
  • Bicubic (Sharp) [Bicubique (précis)]

D'un point de vue mathématique, on peut affirmer que l'algorithme de redimensionnement bicubique est meilleur pour élargir les images, tandis que le bilinéaire est plus approprié à la réduction de la taille. D'après notre expérience, c'est plutôt le contraire qui s'avère vrai - le bicubique donne la meilleure qualité visuelle pour réduire la résolution d'une vidéo. L'algorithme du bilinéaire utilise légèrement moins de CPU et permet au codec d'aller plus vite. Le choix de l'algorithme est surtout une question de goûts personnels.

Psychovisual Enhancements [Améliorations Psychovisuelles]

En exploitant ce que nous savons sur le Système Visuel Humain (HVS) nous avons amélioré l'efficacité de l'allocation des données vidéo ce qui aide à améliorer la perception de la qualité de la vidéo. Par exemple, si le HVS possède une très faible sensibilité à une caractéristique spécifique d'une image, nous pouvons réduire la quantité de données allouée à cette caractéristique et la réallouer à un endroit de l'image où le HVS est plus sensible. Les Améliorations Psychovisuelles sont appliquées à la fois sur l'image et sur la matrice de macrobloc. Un des facteurs essentiel lors de l'évaluation d'une Modélisation Psychovisuelle est de ne pas juste comparer une simple image mais de comparer une séquence complète. Une image peut sembler plus ou moins belle quand elle est examinée seule, mais la clé pour réduire les données est de les réduire d'une telle façon que le HVS ne remarque rien avec une séquence vidéo à plein débit (ex: 30 images par secondes). La modélisation Psychovisuelle est un domaine complètement nouveau lorsqu'elle appliquée aux vidéos et aux films réels. Ce domaine est un domaine prometteur que nous venons à peine d'aborder et que nous continuerons à explorer.

Pre-Processing [Pre-Traitement]

Le buit vidéo est souvent mentionné par les termes "tâche", "neige" ou "cheveux" dans une vidéo. (ex: la "neige" qui est visible quand on regarde la télé avec une antenne d'intérieur). Chacun des processus dans la production et la distribution d'une vidéo peut y rajouter du bruit. Les pires bruits vidéos se voient souvent dans des vieux ou mauvais enregistrements. Le bruit peut être un gros problème lors de la compression car il consomme une grande partie des bits disponibles pour la vidéo voulue.

Le filtre de pré-traitement (Pre-Processing) utilise des techniques de traitement du signal numérique pour enlever le bruit à partir de la source avant l'encodage. En gros, il y a deux classes de filtres qui peuvent réduire le bruit: le temporel et le spatial. Pour expliquer comment ils marchent, considérons un simple pixel quelque part dans l'image. Le filtrage spatial regarde les pixels voisins dans la même image et applique un effet d'estompage ou une fonction passe-bas. Un filtre temporel estompe les pixels à la même position à travers quelques images consécutives pour réduire l'effet du bruit. En utilisant ces techniques pour réduire le bruit avant l'encodage d'une vidéo on peut, dans certains cas, augmenter le ratio de compression et améliorer la qualité.

Il y a 4 réglages pour le pré-traitement (preprocessing):

  • Light [Léger]
  • Normal
  • Strong [Fort]
  • Extreme

Comme toute fonctionnalité, un contenu particulier peut être plus affecté que les autres. Généralement du contenu vidéo ancien avec du bruit peut se voir significativement réduit en taille et amélioré en qualité. Le pré-traitement normal (Normal pre-processing) ne devrait pas entrainer de dégradation visuelle quelconque sur le fichier source, toutefois nous avons ajouté un paramètre "Léger" ("Light") pour les sources vraiment sensibles. Les paramètres "Fort" ("Strong") et "Extreme" laveront un peu la source, mais ils enlèveront aussi une grande partie des données; ils ne doivent donc être utilisés que lorsque la taille du fichier est plus importante que sa qualité.

Keyframe [image-clé]

L'encodeur DivX va automatiquement insérer une image-clé à chaque fois qu'il détecte un changement de scène. Toutefois, un long interval de temps peut se passer avant que ne se produise un changement de scène; dans ce cas, l'encodeur va automatiquement insérer des images-clés à une fréquence spécifiée par l'utilisateur. Les images-clés prennent beaucoup plus de place que les autres images, ainsi la fréquence de leur emplacement a un effet direct sur la taille finale du fichier encodé. Nous avons déterminé que 300 images est l'interval maximal que l'encodeur doit parcourir sans ajouter d'images-clés. Cela correspond à au moins une image-clé toutes les 10 secondes dans un flux à 30 fps. Aussi, suivant le lecteur utilisé, l'interval maximal entre deux images-clés peut déterminer l'interval maximal de recherche. Cela se produit lorsque les lecteurs ont été conçu pour chercher les images I ou images-clés. Réduire l'intervale des images-clés peut aussi améliorer les délais de recherche et la qualité du contenu.

Deinterlace (désentrelacement)

L'entrelacement, inventé dans les années 1940, est probablement la première forme de compression vidéo. Au lieu de transmettre une image vidéo complète 60 fois par seconde, les ingénieurs ont découverts qu'ils peuvent avoir la bande passante nécessaire pour le signal TV s'ils envoient alternativement des "champs" pairs et impairs, chaque champ comprenant juste les lignes paires ou impaires de l'image. L'entrelacement est utilisé particulièrement sur du matériel destiné aux émissions TV, ou pour les camescopes.

L'entrelacement n'est pas un problème s'il est correctement affiché sur une unité à affichage entrelacé, par ex. une télévision. Une vidéo de camecope entrelacée à 30 fps capture les lignes impaires d'une image en 1/60e de seconde, et les lignes paires dans les prochaines 1/60e de seconde. Lorsqu'ils sont visualisés avec une unité à affichage progressif, comme le PC, deux champs sont entrelacés pour créer une image. Parce que la moitié des lignes de l'image est capturé une fraction de seconde plus tard que l'autre moitié, les objets se déplaçant rapidement peuvent paraitre irréguliers. Le format "progressif" est conseillé pour la lecture sur PC puisque qu'une image entière est capturée à chaque seconde et aucun désentrelacement n'est requis.

Il est possible de supprimer les artefacts engendrés par l'entrelacement en appliquant un processus connu sous le nom de "désentrelacement" ("de-interlacing") à la vidéo. Le codec DivX est capable de désentrelacer la source vidéo avant de l'encoder. Pour que cela fonctionne correctement, il est important que la vidéo n'aie pas été redimensionnée verticalement avec une méthode externe au codec. Le redimensionnement interne du codec n'affecte pas l'opération de désentrelacement du codec.

Le codec DivX™ inclus deux options principales pour le désentrelacement :

  1. "All frames are progressive" ["Toutes les images sont progressives"] - C'est le paramètre par défaut, le désentrelacement et l'IVTC ne sont jamais utilisés. Cela convient pour une source qui déjà dans un format progressif.
  2. "All frames are interlaced" ["Toutes les images sont entrelacées"] - Le codec va utiliser un algortihme adapté pour désentrelacer chaque image avant de la redimensionner et de l'encoder. La vidéo ne doit pas être coupée ou redimensionnée avant l'encodage. Le redimensionnement inclus dans le codec ne pose aucun problème.

Support de la vidéo entrelacée

L'encodage et décodage d'un contenu entrelacé est désormais supporté. SI le contenu est entrelacé, vous pouvez soit le désentrelacer afin de le transformer en progressif, soit préserver les champs entrelacés. La deuxième solution peut parfois donner de meilleurs résultats en qualité durant la lecture de la v idéo, mais le prix à payer est un fichier plus gros. Le support de l'entrelacement est compatible avec le standard MPEG-4.

En raison de la nature même d'une vidéo entrelacée, le nombre minimum de lignes pour la norme NTSC est de 480, contre 576 pour la norme PAL (ces nombres peuvent être plus bas mais le résultat n'est pas garanti). Un contenu entrelacé se retrouve principalement sur les émission TV ou les captures avec une caméra vidéo (les DV sont quant à eux habituellement entrelacés).

 

Manage Settings Menu (Menu de gestion des réglages)

La gestion des règlages permet aux règlages utilisés fréquemment d'être sauvegardés et accédés facilement pour une réutilisation ultérieure. C'est utile pour plusieurs raisons, par exemple pour être sûr que les règlages sont optimaux pour un certain type de films, pour certains types d'appareils ou d'environnements qui ne supportent que certaines fonctionalités du MP4. Cela permet aussi d'envoyer facilement à quelqu'un les règlages exacts que vous utilisez. Pour ajouter les règlages en cours, cliquez juste sur "Add codec settings" ("Ajouter les paramètres du codec") et vous pourrez les nommer et donner une description pour ces règlalges. Si vous voulez les sauvegarder, sélectionnez juste "Save settings to file" ("Enregistrer les règlage dans un fichier") et si vous voulez charger des règlages prédéfinis sélectionnez juste "Load settings from a file" (Charger les règlages à partir d'un fichier").

 

Profiles Menu

Avec le nouveau programme de certification DivX, DivXNetworks permet l'authentification de fichiers vidéos comme étant pleinement compatibles avec la technologie DivX. Il y a quatre niveaux de certification appelés 'profiles':

    1. Handheld Video Devices
    2. Portable Video Devices
    3. Home Theater Devices
    4. High Definition Video Devices

Les outils de codage Qpel et GMC ne sont jamais sélectionnés quand un profil DivX est choisi. En effet, il a été déterminé que le support pour quarter pel et GMC n'est pas indispensable la première génération de certification DivX. Ainsi, Qpel, GMC et les modes originels de contrôle de taux peuvent être accédés en ne choisissant aucun des 4 profiles DivX disponibles.

 

Résolution maxi à 30 images / sec

Résolution maxi à 25 ips

Nombre maxi de blocks 16x16 / sec

Handheld

176x144

192x144

1485

Portable

352x240

352x288

9,900

Home Theater

720x480

720x576

40,500

High Definition

1920x1080

1920x1080

108,000

 

Data Rate Control Parameters (RC) [Paramètres de contrôle du débit (RC)]

Le codec DivX utilise un double contrôle asymétrique du débit (en cours de brevetage). Il utilise des boucles de contrôle dans une double période pour atteindre le meilleur compromis (réaction et ajustement) aux variations qui se produisent dans un court espace de temps, tout en contrôlant et en faisant la moyenne du débit dans une plus longue échelle de temps.

En résumé, il est bien équilibré et il s'adapte de manière dynamique au contenu de la scène, fournissant ainsi une allocation optimale de la bande passante. Il est flexible et facilement ajustable pour différents comportements suivant le logiciel. La création de l'algorithme de Contrôle du Débit DivX (DivX Rate Control algorithm) est issu de plusieurs tests de films complets par rapport à la version encodée en DivX dans de nombreux environnements (ex: TV, PC, PDA, etc.).

Il y a plusieurs paramètres qui peuvent être expérimentés. Nous recommandons cependant ces règlages aux seuls utilisateurs avertis car un changement même minime peut entrainer des effets significatifs.

Maximum and Minimum Quantizers [Quantiseurs Maximal et Minimal]

Le quantiseur (quantizer) est l'un des plus importants paramètres dans le codage d'une vidéo. Le quantiseur contrôle la précision de l'encodage de la séquence vidéo. Le principe de base est: pour la même image, un quantiseur plus petit équivaut à une meilleure qualité et à une plus grande consommation de bits, tandis qu'un quantiseur plus élevé équivaut à moins de consommation de bits et à une qualité inférieure. Puisque chaque image possède un taux de complexité différent, une qualité semblable peut être vue subjectivement avec différentes images même en variant les quantiseurs. Fondamentalement, le quantiseur actionne le contrôle du débit. Equilibrer la qualité de la vidéo avec la consommation de bits peut être tout à fait envisagée comme une performance artistique.

Note: Les règlages RC sont vraiment réservés pour les "guerriers en quète d'aventure". Les paramètres par défaut devraient donner des résultats presques optimaux.

RC Averaging [Moyenne du RC]

La moyenne du RC (RC Averaging) contrôle la rapidité avec laquelle le RC oublie l'historique du débit. Les valeurs élevées donnent habituellement des meilleurs scènes rapides aux détriment des scènes lentes.

Rate Control Down/Up Reaction [Réaction du Contrôle du débit Bas/Haut]

La réaction Bas/Haut du RC (RC Down/Up Reaction) contrôle la sensibilité relative en réaction aux scènes à mouvements rapides ou lents. Les valeurs élevées donnent habituellement de meilleurs résultats lors des scènes rapides mais entrainent une plus grande consommation de bits.

Tous ces paramètres sont inter-dépendants. L'effet de leurs règlages est approximatif et dépend souvent du règlage des autres paramètres.

Data Partitioning [Partitionnement de données]

Le Partitionnement de Données (Data Partitioning) peut être utile dans toute situation où des erreurs de transmission peuvent survenir, comme les environnements de streaming ou de broadcast. Le Partitionnement de données consiste à organiser en une manière différente les données dans le flux. Une image est composée de macroblocs adjacents et chaque macrobloc inclu habituellement un vecteur de mouvement (prédiction) et une information sur la texture. Cela permet au flux d'être plus résistant à la transmission d'erreurs, dans cette modalité le vecteur de mouvement et la texture sont séparés (donc non entrelacés avec chaque macrobloc) et groupés dans des paquets vidéo. Chaque paquet vidéo est une entité indépendante dans le flux et peut être décodé séparément des autres. L'utilisation du Partitionnement de Données peut aussi permettre l'activation d'une série d'outils qui permettent la récupération d'erreur et la resynchronisation des paquets.

Performance/Quality [Performance/Qualité]

Il y a 5 règlages disponibles pour la Performance/Qualité. Généralement, si on veut plus de qualité alors plus de temps CPU sera nécessaire. Il est rare que ayez besoin de prendre un autre règlage que "Slowest" ("Le plus lent") puisqu'il produit la MEILLEURE qualité. La précision de l'estimation de mouvement est sacrifiée lors de l'augmentation de la vitesse d'encodage du contenu. Avec les processeurs actuels et la fiabilité du codec DivX, encoder jusqu'à des résolutions "plein écran" en temps réel est possible. Toutefois, les règlages de qualité inférieure peuvent être utiles lorsque le CPU n'est pas assez puissant et un sacrifice de la qualité peut être justifiée. Généralement, l'encodage en temps réel (ou plus rapide que le temps réel) est seulement nécessaire pour l'alimentation d'une vidéo en diffusion temps réel. Malgré tout plus rapide est l'encodeur et moins cher est le coût de l'encodage... Laissez donc le règlage à "Slowest" ("Le plus lent") sauf si vous avez vraiment besoin de le changer.

 

L'équipe du DivX™ Advanced Research Centre (DARC)

Équipe d'ingénierie en vidéo numérique

  • Eugene "Sparky" Kuznetsov
  • Andrea "e7abe7a" Graziani
  • John "eagle" Funnel
  • Adam "c0redumb" Li
  • Développement Mac® OS par Adrian "AdrianB" Bourke

Management & QA

  • Jérôme "Gej" Rota
  • Darrius "Junto" Thompson
  • Ben "TheKid" Côté

Copyright and Trademarks

Le codec DivX et le logiciel DivX Pro sont protégés par Copyright © 2002 DivXNetworks, Inc. Les implémentations MMX iDCT et fDCT sont de © Intel Corp., 1998-2000.

DivX et DivX Pro sont des marques déposées de DivXNetworks, Inc.

Appendice

MPEG-4 Tools, Profiles and Levels

Outils visuels

Profile Simple Avancé

Profil Simple

Basic

I-VOP

 

 

P-VOP

 

 

AC/DC Prediction

 

 

4-MV, Unrestricted MV

 

 

Error Resilience

Slice Resynchronization

 

 

Data Partitioning

 

 

Reversible VLC

 

 

Short Header

B-VOP

 

Global Motion Compensation

 

Quarter-Pel Motion Compensation

 

 

Visual profile

Level

Typical visual session size

Maximum bitrate (kbit/s)

Profile Simple Avancé

L0

176x144

128

Profile Simple Avancé

L1

176x144

128

Profile Simple Avancé

L2

352x288

384

Profile Simple Avancé

L3

352x288

768

Profile Simple Avancé

L4

352x576

3000

Profile Simple Avancé

L5

720x576

8000

Profile Simple

L3

CIF

384

Profile Simple

L2

CIF

128

Profile Simple

L1

QCIF

64

 

Paramètres DivX 5.0.3 CLI (Command Line Interface)

Les paramètres de l'interface en ligne de commande seront automatiquement mis à jour lorsque vous utilisez la GUI (interface graphique) pour changer les paramètres du codec. L'inverse est aussi vrai. Lorsque vous entrez des paramètres dans le CLI, la GUI va montrer les changements après avoir appuyé sur la touche Tab ou Entrée. Cela confère au CLI le rôle d'un raccourci pour les utilisateurs avancés pour gérer leurs règlages.

MPEG4 Profile

-mp Profile

  • Profile =
    • SP [ Profile Simple ]
    • ASP [ Profile Simple Avancé ]
    • SSP [ Simple Studio Profile ]
    • CSP [ Core Studio Profile ]
    • F [ Free: Libre ]

MPEG4 level

-ml Level

  • Level =
    • 1 [ Niveau 1 ]
    • 2 [ Niveau 2 ]
    • 3 [ Niveau 3 ]
    • 4 [ Niveau 4 ]
    • Free [ Niveau libre ]

Bitrate Mode

-b1 Bitrate,[MaxBitrate]

  • Bitratemode =
    • -b1   Mode 1 passe CBR
    • -b1q Mode 1 passe basée sur un indice de qualité Q
    • -b21 Mode 2 passes - 1ère passe
    • -b22 Mode 2 passes - 2ème passe

    Exemples:

  • -b1 780          Mode 1 passe suivie du débit
  • -b1q 50%,1000    Mode 1 passe Q suivie par un pourcentage si %, le 2e paramètre optionnel est le débit maximal
  • -b1q 10.2        Mode 1 passe Q suivie par un nombre Quantisé - si rien (pas de %) et < 31
  • -b21 800         Mode 2 passes - 1ere passe suivie du débit
  • -b22 800         Mode 2 passes - 2e passe suivie du débit
  • -b1 780,1500     Le 2e paramètre optionnel est le débit maximal

Dans le mode 1 passe (-b1 et -b1q) la section fichiers log et mv correspondant aux entrées CLI sont désactivées.

Le débit maximal n'est pas encore implémenté dans le DivX 5.0

Write MPEG4 file

-ff "FileName"      écrit un fichier MPEG4

Crop (découpage de bords)

-c gauche,droite,haut,bas

Resize (redimensionnement)

-r largeur, hauteur, Qualité

  • Qualité =
    • 1 Bilinéaire
    • 2 Bicubique doux
    • 3 Bicubique normal
    • 4 Bicubic précis

Pre Processing Source (Source de Pre Traitement)

-pre [Strength] ou [TemporalLevel,SpatialLevel,SpatialPasses]

  • Strength =
    • 1 Léger
    • 2 Normal
    • 3 Fort
    • 4 Extrême
  • TemporalLevel =
    • de 0.0 à 1.0
  • SpatialLevel =
    • de 0.0 à 1.0
  • SpatialPasses =
    • de 1 à 3

Psycho Visual Enhancements (Améliorations Psycho Visuelles)

-psy [Strength] ou [FrameLevel,MacroblockLevel]

  • Strength =
    • 1 Léger
    • 2 Normal
    • 3 Fort
  • FrameLevel =
    • de 0.0 à 1.0
  • MacroblockLevel =
    • de 0.0 à 1.0

Maximum Key Frame interval ([Interval Maximal entre 2 images-clés)

-key MaxInterval

Two pass encoding log and mv ([Encodage en deux passes : log et mv)

-log LogFileName

-mv MVFileName

  • Si l'option -mv est specifiée durant la 2e passe le fichier mv sera utilisé
  • Si l'option -mv est specifiée durant la 2e passe, MV sera recalculé

Protect log/mv file (Protéger les fichiers log/mv) - NON FONCTIONNEL DANS CETTE VERSION

-p

Source Interlace/deinterlace ([Entrelacement/Désentrelacement de la source)

-d Method

  • Method =
    • 1 Toutes les images sont progressives
    • 2 Toutes les images sont entrelacées
    • 3 IVTC/désentrelacement Intelligent
    • -bvd Désentrelacement Vidéo Basique

MPEG4 Tools (Outils MPEG4)

-q      Quarter Pixel

-g      GMC

-b      Encodage Bi-directionnel

Data Rate (débit vidéo)

-dr MaxQ,MinQ,RCAveragingPeriod,RCReactionPeriod,RCDownUpRatio

  • Exemple -dr 12,2,2000,10,20

Scene Change Thereshold (Seuil de Changement de Scène)

-sc SceneChangePercent

  • Example -sc 50 -sc 70%

Data partitioning ([Partitionnement de Données)

-dp PacketSize

Performance/Quality ([Performance/Qualité)

-pq Value

  • Value =
    • 1 Le plus rapide
    • 2 Rapide
    • 3 Moyen
    • 4 Lent
    • 5 Le plus lent

 

Copyright © 2002 Tous droits réservé. DivX est une marque de DivXNetworks, Inc.