les normes MPEG : Mpeg1, Mpeg2, Mpeg4, Mpeg7 et Mpeg21 [Topic Unique] - Traitement Vidéo - Video & Son
Marsh Posté le 29-05-2003 à 17:54:39
2. Mpeg-1 : Le descendant du Mjpeg
MJpeg et le besoin de normalisation
Le JPEG a donné l'exmple sur des images fixes. Suite à la sortie de ce standard, différents codec MJpeg ont fait leurs apparitions. L'idée était de dire qu'une vidéo n'était qu'une suite d'images fixes et que donc chacune de ces images pouvait être compressée en JPEG.
L'idée était bonne mais comme chacun bossait dans son coin, les différents codec n'étaient pas forcément compatible et l'on se retrouvait avec une vidéo que l'on ne pouvait échanger sans le codec associé.
Adopté en 1991, le Mpeg-1 a pour vocation de coder de l'audio et de la vidéo dans une qualité proche de la VHS.
Avec un débit maximal prévue de 1.5Mbits/s le but était de faire tenir 74 minutes de vidéo sur un CD (un VCD)
Avant de parler DCT, bloc de pixels et compensation de mouvement penchons nous sur le format d'entrée.
Afin de gagner un maximum de place le Mpeg-1 ne travaille pas sur une image vidéo plein cadre (720x576) à 50 frames entrelacées par seconde. Le Mpeg-1 travaille sur 1/4 de l'écran (360x288), ne code qu'une frame sur 2 (l'autre étant répétée) et donc pas d'entrelacement. Ce format s'appelle le SIF et suppime 75% des informations. Nous sommes à un débit de 31Mb/s avant de commencer à compresser
Compression vidéo spaciale
Pour compresser, il faut commencer par supprimer les données redondantes, ensuite intervient une phase destructrice où l'on joue sur les défauts de la vision humaine pour que cette destruction soit le plus discrète possible.
Pour travailler sur une image, le Mpeg-1 la divise en blocs de 8x8 pixels. Ensuite on applique une transformation appelée DCT (Transformée Cosinus Discrète) pour avoir une représentation fréquentielle de l'image.
Pourquoi cette transformation ?
Des études psychophysiologiques sur la vision humaine montrent que l'oeil est moins sensibles aux détails fins d'une image (les hautes fréquences) pour lesquelles une approximation sera difficile à détectée pour l'oeil.
Suite à ce constat, on détermine quels coeficient il vaut mieux arrondir dans la phase de quantification (phase destructive).
C'est dans cette phase que l'on utilise le taux de quantification qui détermine à quel point on arrondi les valeurs de la matrice (nombre de bits réduit)
Dans une Mpeg en VBR ce taux est fixe. Pour du CBR c'est la taille de la mémoire tampon stockant le block qui est fixe.
On obtient donc une matrice 8x8 que l'on va stocker en zig zag
Pourquoi en zig zag ? parce que l'énergie de l'image est concentrée en haut à gauche de la matrice donc on obtient les valeurs les plus hautes en haut à gauche et les plus bas en bas à droite. Du coup les derniers chiffres de cette suite sont nuls ou quasi nuls.
Il suffit d'arrondir les derniers chiffres à 0 de les remplacer par un End Of Block puisqu'un block fait toujours la même taille.
Pour terminer on utilise un codage entropique (sans perte) : le code de Huffman ou VLC.
Ce codage consiste à coder les symboles qui ont une probabilité d'apparition forte avec des mots de longueur plus faible que les symboles qui ont une probabilité d'apparition faible.
Compression temporelle
Le but de la compression temporelle est de tirée partie de la redondance temporelle d'une vidéo. Or la plupart du temps cette redondance est forte et il y a donc beaucoup de place à gagner sans trop perdre en qualité.
Le but est donc de ne coder que ce qui change dans le temps. Pour celà on utilise 3 difféérents types d'image :
Image I (Intra) ou Key frame :
Image codée individuellement (comme une JPEG).
Image P (prédite) :
Image prédite à partir d'une image I ou P qui se situe avant ou après elle. Elle est en moyenne 3 fois moins volumineuse qu'une image I.
Image B (bidirectionnelle) :
Image interpolée en utilisant les informations d'images I ou P passées ou futures. Elle est en moyenne 6 fois moins volumineuse qu'une image I.
On voit donc l'interdépendance de ces images que l'on regroupe dans un GOP (Group Of Picture). Un GOP est en général composé de 12 à 15 images en MPEG1.
exemple :
IBBPBBPBBPBB
On remarquera que le décodeur devra décoder les images dans le désordre (les P puis les B)
Un GOP peut être ouvert ou fermé. Dans un GOP fermé, la dernière image B n'a pas besoin de l'image I du groupe suivant pour être décodée et le flux de bit peut être coupé à la fin de ce GOP. (et oui on ne coupe pas une Mpeg comme on veut )
Plus un GOP est long, plus le débit est faible pour une qualité donnée :
Mais attention pour ceux qui font du montage vidéo, on ne coupe que sur les images I, donc pour faire du montage, on utilise en général une vidéo avec uniquement des images I ou un GOP composée de IPIPIPIP... uniquement.
Compression du son : Mpeg1 layer 2 : mp2
Compression du son : Mpeg1 layer 3 : mp3
Applications
La norme Mpeg-1 défini avec précision la syntaxe du flux de données compressé et les opérations effectuées par le décodeur, mais elle ne standardise pas la technique mise en oeuvre par un codeur. C'est grâce à cela que le Mpeg-1 est une norme permettant de relire une vidéo avec n'importe quel codec Mpeg-1 tout en permettant l'évolution des codeurs et donc une amélioration constant de la qualité de ceux ci.
Le domaine d'application du Mpeg-1 reste donc 74mn de vidéo sur un CD, lisible sur la plupart de nos platine de salon (Les droits étant gratuit). Evidement la qualité étant celle d'une VHS, on a vite eux envie de passer à autre chose que du 360x280... voici donc le Mpeg-2
Marsh Posté le 29-05-2003 à 17:54:50
Mpeg-2
Iso certifié en 1994, le Mpeg-2 est LE standard actuel de diffusion de vidéo. TV par cable, par satellite, le DVD... il a permis le passage de l'analogique au numérique au grand public.
Le Mpeg-2 est une sorte de généralisation du Mpeg-1 auquel on aurait enlevé la plupart des limitation.
Un débit pouvant varier de 3 à 50 Mbits/s en TV standard pour atteindre 300Mbits/s pour de la HDTV
une résolution allant du 352x288 à 1920x1152
de l'entrelacement ou du progressif
débit constant ou variable
...
bref beaucoup de possibilités qui ont été rangées en profils et niveaux.
Les profils et les niveaux du Mpeg-2
Le Mpeg-2 défini des profils de décodeurs. Un décodeur Simle profil ne sait pas décodeur les B frames par exemple. Il utilise donc moins de ressource (moins cher ou plus rapide)
Voici la liste des profils et niveaux :
Le profils le plus utilisé est le Main profil. C'est celui de nos DVD par exemple.
Dans la pratique, les DVD sont en 720x576 avec une moyenne de 4.5Mb/s de débit vidéo avec des pointes à 10Mb/s
Un autre profil très utilisé est le 4:2:2 qui comme son nom l'indique accepte du 4:2:2 en entrée et non plus du 4:2:0. Il est utilisé en général en studio , travaille sur des GOP beaucoup plus court (1 ou 2 images) avec un débit maximal de 50Mb/s. C'est le format que l'on retrouve par exemple sur une Betacam IMX.
Le Mpeg-2 permet aussi la haute définition, pour les fans de la HDTV .Le Mpeg-3 devait concerner la HDTV mais a été abandonné puisque le Mpeg-2 faisait bien l'affaire.
Compression du son : L'AAC
La norme AAC est apparu avec le Mpeg-2 et a été complétée dans la norme Mpeg-4. Ce chapitre pourrait donc être aussi bien dans la partie Mpeg-4.
Marsh Posté le 29-05-2003 à 18:07:35
Mpeg-4
Le codage orienté objet
Le Mpeg-4 a pour but de stocker et de diffuser des éléments tels que de la vidéo, de l'audio de la 2D ou de la 3D. Et oui, on ne s'arrête plus cette fois ci à de la vidéo rectangulaire avec une matrice de pixels de taille constante.
Le but est d'avoir un ensemble composés d'objets pouvant être un décor 2D de forme variable avec une animation 3D, une voix, une musique de fond, etc.
On obtient une liste d'objets codés individuellement et organisés de façon hiérarchique. Un script décrit leurs interaction.
Les objets peuvent donc être transmis indépendament au décodeur ou ils seront ré-assemblés.
L'utilisateur lui peut inter-agir avec la scène reçu en suprimant ou en déplaçant cetains objets par exemple, voir même cliquer sur un objet pour obtenir des informations ou lui appliquer des actions spécifiques.
Exemple :
On diffuse un match de tennis avec comme objet le terrain comme décor + 3 objets qui sont les 2 joueurs et la balle.
Il devient possible de diffuser uniquement le décor et si la personne achète le match, il reçoit les autres objets.
De plus en sélectionnant un objet, il paut avoir ses propriétés. Une démo du MPEG a été faite ou lorsque l'on cliquait sur le joueur on obtenait ses caractéristiques (Nom, Prénom, age, classement ATP, etc.)
Autre exemple :
des bandes son composés d'une musique en MIDI et de voies chacunes sur une piste en AAC séparée et un script décrivant le placement de chaque voie pour créé ensuite du 5.1
Il est possible également de stocker les objets récurrents en local afin de ne pas avoir à les retransmettre.
Dans les objets dit synthétiques (calculés), on retrouve les techniques du jeu vidéo, avec le maillage par triangle :
ou l'animation d'un visage avec des outils tels que la FAT : Face Animation Table...
Vous imaginez le temps qu'il faudra pour implémenter ce type de possibilités offertes par la norme
Autre avantage du Mpeg-4 face au Mpeg-2 : le principe d'échelonnabilité. Ce principe permet à partir d'un seul encodage la diffusion à des débits différents. L'idée est de décomposer le flux de données en différentes couches qui se complètent. La couche basse est reçu par tous les décodeurs et plusieurs couches supplémentaires ajoutent chacunes des informations pouvant améliorerla résolution de l'image, sa qualité, etc.
Le but est ici de n'avoir qu'une vidéo quiu pourra aussi bien être diffusé en bas débit vers des téléphones portables (qui n'aura que la couche basse) et au complet via satellite vers des téléviseurs haute définition.
Les profils du mpeg4
Les profils du Mpeg-4 sont beaucoup plus nombreux et complexes que ceux du Mpeg-2. En effet chaque type d'objet se voit attribuer des outils de compression optimisés pour lui.
(par exemple le format midi, l'aac, etc. pour un son)
Un profil qui ne fera que confirmer que le Mpeg-4 n'est pas réservé au bas débit, bien au contraire, c'est le Studio profil. Aprouvé en 2002, il couvre une plage de débit allant de 50 Mb/s à 1.2Gb/s. La qualité sera bien meilleure que celle du Mpeg-2 avec une partie réservée au montage et l'autre à la distribution par exemple de films pour les cinéma.
D'autres profils sont très spécifiques. Par exemple la gestion de l'animation d'un visage de synthèse permettant d'envoyer l'objet image avec les méthodes de déformation du visage, des lèves, etc. pour n'avoir ensuite que du texte à diffuser pour voir ce visage lire ce texte et pourquoi pas dans différents langages.
Le Mpeg-4 simple profile
Le simple profil ne traite que les vidéos rectangulaires. IL ressemble donc beaucoup au Mpeg-2. Ce sont les codecs que nous connaissons actuellement (Divx, Xvid, etc.)
Mais évidement il y a eu une progression depuis le Mpeg-2.
la précision d'un mouvement est de 1/2 pixel voire 1/4 pour le Qpel, gestion globale des mouvements panoramiques, le GOP a grossi, etc.
Ceci permet donc de gagner encore et toujours des kb/s de débit pour avoir la même qualité.
Le H264 ou Mpeg-4 part 10
La norme H264 vient d'être approuvée au Japon et sera normalement publiée au 2ème trimestre 2003. Le H264 est une reprise du simple profil mais encore et toujours plus efficace. Le but est d'améliorer de 50% l'efficacité de compression pour les débits inférieurs à 1Mb/s et de 15 à 30% au dessus.
Donc avoir en 500kb/s ce que l'on avait avant en 1Mb/s !!! (rien que ça )
Autre but : améliorer la robustesse du format en cas de diffusion avec risque de défaillance réseau (paquets perdus ou retardés). L'idée est de généraliser ce profil pour des réseau type UMTS.
Pour la robustesse, tout est dans l'organisation des données, mais comment font il pour gagner en efficacité de compression ?
Application des 2 bon vieux principes :
ne jamais diffuser ce qui ne se voit pas ou ne s'entend pas
supprimer toute redondance
Cette fois ci c'est la redondance temporelle qui est particulièrement visée:
Mais tous ceci a un prix :
Multiplication par 3 à 5 de la complexité du codeur et du décodeur. Le H264 sera donc réservé aux PC puissants dans un premier temps (inutile d'espérer pour votre platine Kiss ou consors ). Il faudra du temps pour voir les premières puces gérant le H264. Les premiers produits arriveront normalement en 2004, avec pourquoi pas en 2005 des décodeurs TV ADSL avec de la vidéo en 1 ou 1.5Mb/s ce qui permettrait de regarder une chaîne et d'en enregistrer une autre (vu les débits de test des actuels TV ADSL)
donc à suivre...
Bref, le Mpeg-4 n'a pas fini de nous étonner. Il a été connu par le grand public pour sa qualité de compression dans les bas débits, mais le limiter à ce rôle serait une erreur. Le profil studio démontre la volonté des normalisateurs de remplacer le Mpeg-2 dans tous les domaines. Mais la transition sera lente. D'abord il y a le problème des licenses. Le Mpeg-1 est gratuit mais pas le 2 et encore moins le 4. deuxième problème, le temps de mise au point des codecs. Comme vous l'avez lu (je l'espère en tout cas ) le développement de tous les profils demandera beaucoup de temps et d'optimisations. Dernier point la puissance requise. Il faudra attendre longtemps avant de voir de la compression temps réelle pour le grand public en H264 par exemple (idem pour la décompression), qui dans un premier temps sera donc réservé aux plus grosses config.
Marsh Posté le 29-05-2003 à 18:23:12
Mpeg-7
voici un excellent document de psebcopathe sur le Mpeg7
http://membres.lycos.fr/psebcopathe/mpeg/
Un moteur de recherche multimédia
Les premières expérimentations
la norme TV-any time utilise pour la description d'un programme la nomenclature Mpeg7
Marsh Posté le 29-05-2003 à 18:36:13
Mpeg-21
Présentation de la problématique
Gestion des droits de contenus multimédia (DRM).
Marsh Posté le 29-05-2003 à 18:53:44
Liens techniques :
http://mpeg.telecomitalialab.com
http://www.mpeg.org
http://iphilgood.chez.tiscali.fr/
développer un encodeur Mpeg1 :
http://www.acm.org/sigmm/MM98/elec [...] dings/shi/
coût de la licence :
http://www.mpegla.com/news/n_03-11-17_avc.html
Marsh Posté le 29-05-2003 à 19:11:15
Définitions
RVB :(RGB en anglais)
R : composante rouge
V : composante verte
B : composante bleue
YUV :
Y = 0.587V + 0.299R + 0.114B appelé signal de luminance
(pour garder la compatibilité TV couleur et TV noir et blanc. Cette composante est considirée comme du monochrome sur une TV N&B)
U = 0.493(B-Y) différence de couleur
V = 0.877(R-Y), différence de couleur
YCbCr :
Y = 0.587V + 0.299R + 0.114B appelé signal de luminance
Cb = 0.564(B-Y) chrominance bleue
Cr = 0.713(R-Y) chrominance rouge
4:2:0 (ou 4:1:1 pour les USA) et 4:2:2
L'oeil est moins sensible aux détails de couleurs qu'aux détails de luminosité. Du coup on donne plus de place pour l'info Y que pour Cb et Cr en ne donnant l'info Cb et Cr que pour une ligne sur 2.
|
Marsh Posté le 29-05-2003 à 19:17:23
FIRST PAGE OH YEAH
Très sérieusement, j'ai eu un prof de maths en école d'ingé qui a fait partie (il y a 5 ans) de ce groupe de travail.
Apparemment, c'est un des rares groupes qui actuellement ne cède pas aux pressions imposées par les géants du monde de la diffusion (électronique, chaînes de TV...).
Leur travail reste indépendant
Marsh Posté le 01-06-2003 à 20:01:47
g besoin d'info sur le Mpeg-4
g des infos sur le simple profil, le H264 et studio profil.
si quelqu'un a des infos sur d'autres profils ça m'intéresse
Marsh Posté le 01-06-2003 à 22:16:51
ReplyMarsh Posté le 01-06-2003 à 22:22:53
Je dirai mem plus: Chapal!
Faudrait que tu rajoutes ce topic à ton Metatopic unique Hal comme ça je le retrouverai facilement le 17 juin...
Ca dégoupille un max!
Euh c'est du jeunz pour dire que ça m'intéresse au plus haut point ce topic
Merci donc Hal (y a pas de raison qu'il n'y en ai tjrs que pr Guru! )
Salut
Marsh Posté le 02-06-2003 à 00:11:02
super bonne idée ce topic...chapal! (et drapal)
Marsh Posté le 02-06-2003 à 08:50:48
je le rajouterais au métatopic quand j'aurais fini le mpeg-7 et 21 (je finirais par la partie audio : mp2, mp3, aac).
merci du soutient, je continue ce soir
Marsh Posté le 04-06-2003 à 09:42:02
H264, je connaissais pas du tout, et bien ca à l'air de promettre
Marsh Posté le 04-06-2003 à 10:35:12
Chapô HAL, je plante mon drapô !
Marsh Posté le 04-06-2003 à 15:07:41
Heu g une question...
Dans les profils MPEG2 tu parles de 4:2:0 ou 4:2:2, ça veux dire quoi ?
Marsh Posté le 04-06-2003 à 16:12:13
bonne question, je rajoute la définition ce soir
du coup je fais une rubrique définitions
pas de temps pour completer d'ici ce WE, désolé
Marsh Posté le 11-06-2003 à 11:05:06
La compression "orienté objet" telle que tu l'as décrits, c'est déjà implémenté dans des codecs, ou est ce seulement une des nombreuses possibilités de la norme à implementer ?
Marsh Posté le 11-06-2003 à 15:31:33
Eric B a écrit : |
pas de notion d'objets dans le simple profil (divX, xvid and co), donc c'est à implémenter
la norme prévoit le découpage en objet à la source. mais difficile de faire joueur un match de tennis sur un fond bleu et d'enregistrer le public avec un terrain vide, donc pour ces cas là je suppose que le tracking sera utilisé, surtout que ça marche assez bien actuellement avec par exemple les incrustations de pub dans un match.
Marsh Posté le 11-06-2003 à 17:16:33
Chapal ! et Drapal !
Marsh Posté le 14-06-2003 à 17:22:25
Un double UP
Marsh Posté le 18-06-2003 à 10:55:40
je n'aurais plus le net d'ici la fin de la semaine, repport donc de la mise à jour de la partie mpeg 7 et 21 courant juillet.
à suivre
Marsh Posté le 04-09-2003 à 11:00:23
ma demande d'abonnement à Free vient de partir, dès que j'aurais le net chez moi je fini le post. en passant merci Kobaia, j'ai lu les doc que tu m'as conseillé sur le DRM cet été (si vous avez vous un mec sur la plage en train de lire des spec. techniques, c'était moi )
Marsh Posté le 09-10-2003 à 13:38:29
Voilà un bon topic !
Merci pour ces éclairages !
Marsh Posté le 09-10-2003 à 14:34:13
Bravo bravo..
Pour l'encode en haut débit avec peu de pertes lors de capture vidéo, ds le topic de haffrex, on conseille le mjpeg.. Il y a déjà un remplaçant MPEG4 ds les "moyens" débits?
Marsh Posté le 09-10-2003 à 14:47:17
à propos de mjpeg :
est-ce une bonne alternative au format pur dv si jamais on veut faire de l'archivage de video brute ?
y a t'il un seul codec mjpeg ou plusieurs codecs comme les xvid/divx ?
Marsh Posté le 09-10-2003 à 21:42:38
le problème du mjpeg est qu'il y a 36 encodeurs mais également 36 décodeurs, donc si tu fais du mjpeg, mets le codec avec la vidéo car sinon tu risque d'oublié quel codec a été utilisé.
je ne conseille le mjpeg uniquement à ceux qui veulent faire du montage vidéo par la suite. Pour l'archivage en haute qualité, utilisez le mpeg2 ou 4 haut débit
Marsh Posté le 29-05-2003 à 17:54:13
1. Introduction
Ce topic a pour but de présenter succintement le travail du Moving Picture Expert Group afin de mieux comprendre l'historique des différentes normes MPEG, les technologies qu'elles mettent en oeuvre et leurs applications.
Le MPEG regroupe actuellement 5 standards regroupés en 2 familles. La première famille, la plus connue, a pour vocation de compresser des programmes audiovisuels et les rendre utilisables par le plus grand nombre. Ce sont le Mpeg-1, le Mpeg-2 et le Mpeg-4.
La seconde famille travaille sur un registre différent. Le mpeg-7 défini des outils capable de décrire de façon standardisée un contenu multimédia afin de rendre rapide et efficace des recherches et des classifications de documents. Le Mpeg-21 vise quant à lui la commercialisation automatisée et controlée de tout type de document multimédia.
1. Introduction
Vous êtes ici
2. Mpeg-1 : Le descendant du Mjpeg
MJpeg et le besoin de normalisation
Compression vidéo spaciale
Compression temporelle
Compression du son : Mpeg1 layer 2 : mp2
Compression du son : Mpeg1 layer 3 : mp3
Applications
3. Mpeg-2 : La diffusion en numérique
Les profils et les niveaux du Mpeg-2
Compression du son : L'AAC
4. Mpeg-4 : Le Multimédia par excellence
Le codage orienté objet
Les profils du mpeg4
Le Mpeg-4 simple profile
Le H264 ou Mpeg-4 part 10
5. Mpeg-7 : Gérer une bibliothèque Multimédia
Un moteur de recherche multimédia
Les premières expérimentations
6. Mpeg-21 : Le business et la protection juridique
Présentation de la problématique
7. Liens
Parce que l'on veut toujours en savoir plus
Message édité par HAL le 25-06-2004 à 14:38:22