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 version
5.0.3
5.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ésolution
tout entier multiple de 4 jusqu'à 1920x1088
tout 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
Decodage
360+ images par sec.
360+ ips
Encodage
70+ ips
70+ 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
PocketPC
A 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:
YV12
YUY2
YUYV
RGB32
RGB24
RGB555
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-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.
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.
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.
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 :
"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.
"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':
Handheld Video Devices
Portable Video Devices
Home Theater Devices
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.
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]