|
- 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. 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.
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. |