P
U
B
P
U
B


VCD

tests
avis
tutor.
témoin
logiciels
 
 
 
le MPEG1 facile 
 
 
 
 
 
hardware
 
lecteurs de salon
 

MPEG

le MPEG1 facile - I - Théorie
Michel Lefèvre Pontalis 

Les débuts du MPEG

Si les débuts du MPEG ont été, avec le VideoCD et le CD-I, il faut bien l'avouer un "bide" commercial, c'est dû, en partie, au fait que cela a été lancé trop tôt (dès 1988).

"Jazz" (353ko)

 

 

En effet, les tests que j'ai fait récemment, montrent que la lecture par soft d'un fichier MPEG (fortement compressé au standard VideoCD = 150 Ko/sec) sature à 100 % un K6/200 qui tente de respecter strictement la norme MPEG avec ActiveMovie sous WINDOWS 95, par ex.

Par ailleurs, toujours avec le même processeur, mes premiers essais de compression par soft se chiffraient en 1 heure par minute de vidéo (vous avez bien lu !).

C'est dire si en 1992, date d'officialisation de la norme, on ne pouvait pas obtenir des merveilles avec les CPU de l'époque (486) et le résultat pratique (ces malheureuses CPU ne pouvant pas tout faire en temps voulu) était :

- impossibilité de faire soi-même "ses" MPEG,

- saut d'images, vidéo hachées,

- désynchro image /son

- effet "mosaïque" prononcé, ... etc.

J'en étais resté sur cette impression, quand, ayant acheté récemment une Matrox RainBow Runner, j'ai testé le fichier de démo Mpeg qui l'accompagnait, et là surprise : c'était meilleur que du VHS ! On verra plus loin pourquoi.

Aujourd'hui (Mars 1998),
que peut-on faire, en pratique, avec du MPEG ?

Vous avez tous entendu parler du DVD et de la norme Mpeg2(on peut même dire des normes). Il y a beaucoup de publications sur ce sujet et je ne le traiterai pas ici. J'ai travaillé sur le Mpeg1 et c'est de lui que je veux vous entretenir.

On peut réaliser en Mpeg1 :

  • des vidéos plein écran de qualité T.V. (légèrement supérieur au VHS).

Ces vidéos pourront être regardées, soit sur l'écran d'un PC, soit si l'on possède une carte avec sortie T.V., sur un téléviseur raccordé au PC.

A part les lecteurs de Video-CD (quasi introuvables maintenant) et les lecteurs de DVD pouvant lire les Video-CD (ce n'est pas le cas de tous et c'est encore cher), je ne connais pas de dispositif commercialisé à ce jour (si vous en connaissez, soyez sympa de me le signaler).

Je réfléchis sur une config. PC minimum (sans écran ni même clavier) qui pourrait, à moindre prix, constituer un lecteur "de salon" directement raccordé à une télévision. 

  • l'archivage sur CDROM (à l'aide d'un graveur) des vidéos familiales "pour la postérité".

Les CDR ne sont pas éternels, mais présentent à coup sûr une longévité plus grande que les bandes analogiques VHS, et surtout on peut "revitaliser à neuf" les données régulièrement sans aucune perte (tous les 10 ans par ex. le fera-t-on : C'est un tout autre débat). 

  • la distribution pour les professionnels de clips vidéo de qualité

(pas broadcast, mais suffisante dans la grande majorité des cas : pourquoi s'ingénier à diffuser des clips en Bétacam par ex, qui seront visualisés au bout du compte en VHS !).

De plus sur la machine de base qui est vendue aujourd'hui la visualisation du Mpeg1 ne doit pas poser de problème (avec un minimum de précautions). 

  • la distribution sur Internet de clip vidéo, et, on peut rêver, la vidéo en temps réel.

Il faut un débit de 280 Kb/sec (35 Ko/sec), qui peut déjà être atteint par Numéris, pour obtenir une vidéo de bonne qualité en 176 x 144 - 25 i/sec si elle est codée en Mpeg1.

Je ne l'ai pas encore testé, mais ça va venir.

J'en oublie sûrement. Le Mpeg2 ne remplacera pas le Mpeg1, comme certains le croient (j'en ai été) : ils sont complémentaires.

Toutes ces réalisations peuvent se faire sur un PC "moyenne gamme" vendu aujourd'hui, il faut ajouter que la carte d'acquisition vidéo et, c'est préférable, un 2ème HD. Pour la sortie sur CDR, il faut bien sûr un graveur de CD.

Vocabulaire :

Dans la norme MPEG il est question de :

 bitrate = débit en bits par seconde

  • attention : ne pas confondre bit et byte (1 octet = 8 bits)

    Dans la prose spécialisée il est très souvent question de bitrates exprimés en Kbits/sec, il faut diviser par 8 pour avoir le débit en Ko/sec.

    Pour ma part je parlerai en Ko/sec, ce sera plus clair pour les habitués du PC.

    N'oubliez pas de convertir éventuellement dans les logiciels que vous utiliserez.

    On distingue le débit vidéo du débit audio, et bien sûr le débit total (qui n'est pas la somme des 2, mais un petit peu plus grand, ne me demandez pas pourquoi !) 

  • GOP = Group Of Pictures (groupe d'images)

  • Sans rentrer dans les détails techniques, c'est la fréquence avec laquelle on retrouve les images de référence (images "I" = intra).

    De manière pratique, retenez que ces images I sont presque Inchangées par rapport à la source.

    Plus ce nombre est grand, plus on compresse.

    C'est habituellement 1 image sur 12 en 25 i/s (1 sur 15 en 30 i/s), mais c'est un des multiples paramètres que l'on peut modifier tout en restant dans la norme. 

  • SubGOP = sous-groupe d'images

  • c'est la fréquence a laquelle on trouve soit une image I, soit une image P (prédite)

    Retenez simplement que plus ce nombre est grand et plus la compression est "destructrice".

    Habituellement : SubGOP = 3

  • Par ailleurs j'utiliserai les résolutions d'image de la RR de Matrox :

    704 x 576 (certains traduiront : 768 x 576 ou 720 x 576 au choix)

    352 x 288 ( " " " 384 x 288 ou 370 x 288)

    Idem pour les résolutions NTSC.

     

    Idées fausses et préjugés :  

    1/ la méthode Mpeg1 compresse d'environ 100 à 150 fois la vidéo : FAUX !

    En fait, si partant d'un débit de 20 Mo/sec on arrive bien à 150 Ko/sec, tout n'est pas dû à la méthode MPEG : on passe du signal 4:2:2 au 4:2:0, puis on fait une acquisition en.avi par ex., enfin on applique la méthode MPEG : compression complémentaire de 10 à 20, "seulement" totalement justifiable du Mpeg1. 

    2/ La qualité Mpeg1 n'est pas bonne, il faut attendre le Mpeg2: FAUX !

    On peut atteindre une bonne qualité "télé" (supérieure au VHS) avec du Mpeg1, tout dépend donc de ce que l'on veut faire.

    Le Mpeg2c'est la pointure au-dessus. La qualité est réellement "broadcast" (est-ce que cela veut dire encore quelque chose, la qualité broadcast ?!). Cette norme permettra même la Très Haute Définition (dont la définition reste à préciser) 

    3/ De toutes façons pourquoi se creuser le crâne avec des usines à gaz pareilles, demain avec un PIII à 2000 Mhz on n'aura plus besoin de ça, ni peut-être même du Motion-JPEG : FAUX !

    Demain il y aura la télé Très Haute Définition (et la suite) et la problématique de la compression de la vidéo numérique se posera encore longtemps. 

    4/ Le Mpeg1 ne peut pas dépasser 150 Ko/sec : FAUX !

    C'est justement avec 350 Ko/sec qu'on atteint la qualité télé. C'est ce que j'appelle le nouveau compromis Mpeg1. Le premier (VideoCD et CD/I) étaient imposés à 150 Ko/sec la vitesse 1x, incontournable à l'époque. 

    5/ Le Mpeg1 ne peut pas dépasser la résolution 352 x 288 : FAUX !

    La norme fixe la limite à 4096 x 4096 et pour le bitrate à 5 Mo/sec (si, si !)

    Un bémol cependant : le Mpeg1 ne sait pas bien traiter les images entrelacées. Et c'est justement ce que l'on fabrique avec la plupart des codec Motion-JPEG (.avi) si on prend une résolution verticale de 576. Dans ce cas le résultat obtenu avec la compression Mpeg1 n'est pas bon et il faut laisser cela à l'algorithme du Mpeg2.

    D'ailleurs, si on veut conserver la qualité dans le même rapport, avec du 704 x 576 non-entrelacé par ex., il va falloir passer à des bitrates de 1200 à 1500 Ko/sec, et...

    on est arrivé au bitrate d'un .AVI en 352 x 288 (25 i/sec compression 4:1) :

    le Mpeg1 n'a plus d'intérêt, place au Mpeg2!

    6/ au moins au "temps de l'analogique", on ne parlait pas tout le temps de ces problèmes de qualité et de compression : FAUX !

    Même en analogique il y a la notion de pixel (le grain de la pellicule) et de compression (24 i/sec au lieu d'une infinité : c'est une forme de compression), et on peut imaginer atteindre et dépasser la qualité d'antan en numérique, mais...

    Est-ce bien nécessaire ?

    Car la première question à se poser en vidéo (je le lis tout le temps sur le Repaire) est : qu'est-ce qu'on veut faire exactement ?

    7/ Le Mpeg1 ne donne rien de bon en "pleine page" : FAUX !

    Le MPEG a été inventé, dès le début, pour ça : être regardé sur une télévision en plein écran.

    Cela correspond au 720 x 576.

    C'est théorique : la qualité d'une ligne horizontale d'une image télé ne permet pas d'en obtenir plus de 250 pixels environ. En vertical c'est en principe meilleur (576) mais, à cause du scintillement lié à l'entrelacement, l'oeil humain n'en retient sans doute pas beaucoup plus de la moitié (288). C'est peut être meilleur sur les nouvelles télés à rafraîchissement à 100 hz (?)

    C'est à ce point vrai que j'ai observé qu'un fichier Mpeg1 était plus agréable à regarder (ne disons pas meilleur) sur un PC, que sa source VHS entachée d'aberrations chromatiques lié à l'entrelacement .(ah! entrelacement !, quand tu nous tiens !, voir plus loin)

    La quasi totalité des fichiers Mpeg1 ont une résolution de 352 x 288 :

    une "bonne" sortie télé d'une carte PC ad-hoc envoie donc 2 fois de suite la même image Mpeg1 pour les 2 demi-trames qui constituent une image pleine.

    (25 i/s en 50 trames/sec)

    Il ne faut pas confondre la résolution du fichier et le mode écran dans laquelle on le regarde sur PC.

    Bien entendu il ne sert à rien de dépasser le mode 640 x 480 (ou au plus le 800 x 600) sur le PC pour regarder un fichier Mpeg1.

    Le décodeur hard de la Matrox RR fait d'ailleurs passer la Mystique en 640 x 480 automatiquement quand on lit un .MPG

    Je pense même que pour les modes supérieurs (1024, etc.) on y perd : la carte vidéo du PC est obligé de faire des compromis supplémentaires pour afficher l'image, ce qui se traduit par une détérioration.

     Des notions importantes à retenir :

      1/ le bitrate d'un fichier MPEG est constant.

    Contrairement aux fichier MJPEG (.avi) pour lesquels on parle d'un bitrate moyen, celui d'un fichier Mpeg1 (.MPG) est constant.

    En pratique, pour les valeurs moyennes ou basses du bitrate (c'est le cas du VidéoCD à 150 Ko/sec et en dessous), l'encodeur n'a pas toujours "le temps" d'appliquer strictement la norme et doit faire des impasses au détriment de la qualité.

    Ainsi le MPEG "n'aime pas" les zooms abusifs, les travellings trop rapides. Vous me direz que le spectateur lui non plus et que vous n'en avez pas dans vos montages. Soit, mais c'est aussi le cas d'objets très mobiles dans un plan fixe et de certaines transitions qui manquent forcement de fluidité.

    Cela s'explique très bien. On a vu que l'algorithme MPEG se repère sur une image (Intra), quasi inchangée, toutes les 12 images environ (voir mon premier article).

    A chaque changement de plan on recommence par une image I, même si cela ne tombe pas juste, mais il ne faut pas en abuser :

    si une transition est assimilée à un changement de plan à chaque image, on sature très vite le bitrate constant par une suite ininterrompue d'images I.

    Retenez, qu'en 352 x 288,
    une image I prend environ 20 Ko, une image P : 10 Ko et
    une image B : 3 Ko.

    S'il n'y a que des I, on atteint très vite les 150 Ko/sec et alors, soit l'encodeur dégrade la qualité (saut d'images), soit on obtient un message du genre :

    "impossible d'encoder à ce bitrate, essayez un bitrate supérieur..."

    Conclusion : Il est préférable de prendre des bitrates supérieurs au standard VidéoCD (150 Ko/sec) : de 240 à 450 Ko/sec.

    2/ Le Mpeg1 est mal adapté aux flux d'images entrelacés.

    Le flux d'images de la télévision (SECAM, PAL ou NTSC), les format VHS, S-VHS et Hi8, etc. est constitué d'images dites "entrelacées".

    On affiche sur l'écran chaque image pleine en 2 temps : les lignes paires, puis les lignes impaires. Ces demi-images constitue les trames : 50 trames/sec. = 25 i/sec.

    Un abus de langage des Anglo-saxons, hérité sans doute du cinéma, parle souvent de 30 fps : frames per seconde (trames par seconde), alors qu'il y a 30 pictures mais 60 frames ! . Et ça y est, dans un article déjà ardu, en anglais, sur la vidéo numérique :

    on n'y comprend plus rien !

    Revenons au Mpeg1 : cette alternance d'images perturbe l'algorithme qui cherche à multiplier les images I, mais aussi parceque le découpage d'analyse des images (les fameuses "matrices" de pixels) est moins fin qu'en Mpeg2.

    C'est l'effet "mosaïque" assuré.

    Or les codec (algorithmes de codage-décodage) Motion-JPEG (.avi), dans la course à la meilleure qualité possible pour un bitrate moyen donné et un minimum de ressources, conservent dans l'opération d'acquisition les images entrelacées de la source analogique PAL ou SECAM), si l'acquisition est faite en 576 lignes.

    Par contre si l'acquisition est faite en 288 lignes : les images ne sont pas entrelacées.

    C'est la raison pour laquelle un fichier MPEG fabriqué à partir d'une excellente source MJPEG en 704 x 576 (25i/s et compression 5:1 par ex.) donne , paradoxalement, un résultat médiocre.

    En partant d'une source 352 x 288 non entrelacée ( 25 i/sec 4:1), le résultat est incomparablement meilleur : on peut dépasser légèrement le VHS, en pleine page.

     

    Conclusion :

    Il faut fabriquer nos fichiers MPEG à partir de
    sources non-entrelacées de résolution 352 x 288 - 25 i/sec,
    de la meilleure qualité possible.

     

    A noter que la norme Mpeg1 permet d'aller jusqu'à 4096 x 4096 et 5 Mo/sec, mais la très grande majorité des sources vidéo disponibles sont entrelacées dès que l'on 288 lignes.

    De plus de nombreux players de MPEG ne savent pas décoder les résolutions supérieures à 288 lignes.

    © 1998-2000 LE REPAIRE   Tous droits de reproduction réservés et soumis à autorisation écrite préalable