Les Archives des Forums du Repaire
Forum MPEG, DVD, SVCD...

Discussion : Et si on évitait le MJPEG ?
Author : Monique
Posted : 06-Dec-2000 10:24:54
Salut

un petit post pour se prendre la tête...

Dans les commentaires sur son nouveau site Tmpeng, Mr Hori nous invite à ne plus utiliser le mjpeg dont la compression dégrade nos films d'origine.

Il propose d'utiliser :
1)MotionSZH, un truc japonais inconnu au bataillon
2)AVIzlib, un codec qui se trouve sur le net en version 1.13 semble-t-il libre de droit

Avisynth s'est intéressé à la même question et propose
Huffyuv v2.1.1

"Why not use Motion JPEG?
If you capture video in order to edit it and output it back to tape, then Motion JPEG is probably perfectly adequate. It's also a good archival format. However, if you're producing MPEG video (or any lossy format), you should avoid using MJPEG (or any lossy format) in your intermediate files if you can. The reason is that JPEG was designed for viewing, not image processing. JPEG achieves its compression by exploiting known weaknesses in the human perceptual system, but computers don't see images the way people do: an MJPEG clip which looks fine to you may not look so good to an MPEG encoder. As a rule, MPEG encoders are very sensitive to noise, and MJPEG is basically an avoidable source of noise"

tenant compte que la vidéo capturée n'est plus compressée, on se retrouve avec de gros fichiers et il propose évidemment
Huffyuv -> avisynth -> Tsunami

qui a essayé ?

Author : kik
Posted : 06-Dec-2000 12:04:46
Re-bonjour Monique,

Je ne sais pas si je vais apporter ma contribution (de débutant) à ton post.
Je suis même peut être hors sujet !

Depuis quelques temps, j'utilise une modeste WINTV (bt848) pour faire mes acquisitions à la place de ma DC10+.

J'ai fais quelques comparaisons entre ces 2 cartes :

- DC10 à fond (6mo).
- WinTV sans compression (et c'est la que je ne sais pas si c'est réellement non compressé) en HUY2 pour un débit de 8Mo.

le tout en 704*576

Visiblement, en regardant le fichier AVI produit par chacune d'elles (sur une télé branchée sur une G400DH), l'AVI WinTV est plus défini.

Après conversion, en MP1 ou 2, le résultat est aussi visiblement plus sympa avec le fichier produit par la WinTv.

Voilà.
Philippe.


Author : dbf
Posted : 06-Dec-2000 12:04:52
J'ai essayé : avec huffyuv, la qualité est impressionnante! ( a mon avis supérieure au DV)

Le seul pb : la carte d'acquisition doit pouvoir sortir en non compressé, donc exit les DCxx.

j'ai comparé de la façon suivante :
séquence enregistrée en DV, et même séquence capturée directement pendant l'enregistrement sur l'entrée Svideo d'une wintv (PAL 720x576)

compression HUffyv : 10 MO/s, environ 80 % CPU sur un PIII 700, pas de pertes d'images.

problème, si la compression est très rapide, la décompression est lente, donc pas de lecture fluide au montage....

qualité avant encodage MPEG2 : avec la wintv, il faut ajuster les teintes et contrastes, mais, après cela, la fidélité de l'image est bonne, mais je n'ai pas cherché vraiment la petite bête...

L'image analogique est moins bruitée que l'image DV (en particulier le leger bruit que l'on voit par exemple sur un ciel bleu n'apparaît pas)... mais cela on le savait déja !

Après compression MPEG2 (parametres SVCD standard de tsunami)
Sans désentrelacer : effectivent, la source analogique donne de meilleurs résultats (moins de blocs), mais cela est quand même peu sensible.
En désentrelacant :
catastrophe dans les 2 cas ! (me serais-je gourré quelque part ?)
Author : kik
Posted : 06-Dec-2000 12:08:24
Re-bonjour Monique,

Je ne sais pas si je vais apporter ma contribution (de débutant) à ton post.
Je suis même peut être hors sujet !

Depuis quelques temps, j'utilise une modeste WINTV (bt848) pour faire mes acquisitions à la place de ma DC10+.

J'ai fais quelques comparaisons entre ces 2 cartes :

- DC10 à fond (6mo).
- WinTV sans compression (et c'est la que je ne sais pas si c'est réellement non compressé) en HUY2 pour un débit de 8Mo.

le tout en 704*576

Visiblement, en regardant le fichier AVI produit par chacune d'elles (sur une télé branchée sur une G400DH), l'AVI WinTV est plus défini.

Après conversion, en MP1 ou 2, le résultat est aussi visiblement plus sympa avec le fichier produit par la WinTv.

Voilà.
Philippe.


Author : Michel LP
Posted : 06-Dec-2000 12:09:16
bonjour Monique,

merci pour cette très intérrèssante info que je n'avais pas encore lue.

Elle confirme ma réponse au post de DixTrois : desinterlace or not desinterlace.
Le MotionJPEG a ses faiblesses.

Merci Mr. Hori (un fois de plus) de nous donner cette explication.

C'est clair, il vaut beaucoup mieux travailler directement en MPEG, si l'objectif est d'arriver à ce format au final, plutôt que de passer par les étapes intermédiaires du MJPEG (et meme du DV).

Deux compression destructrices de suite, c'est une de trop !

Le hic :
- ce n'est plus au meme prix,
- le montage à l'image près impose le MPEG I/frame, donc une machine plus puissante.

Mais c'est surement la solution de demain.

cordialement
MLP
Author : Monique
Posted : 06-Dec-2000 12:48:16
Salut Michel L-P
Il y a moyen d'arriver, et le post de dbf le confirme, sans débourser un radis, a bypasser le mjpeg (même avec ta RR, parce qu'elle peut capturer en non compressé) et a encoder en mpeg2 Tsunami sans étape intermédiaire destructive (même mieux avec des filtres qui enlève toutes traces de bruit)
Le compliqué c'est de l'expliqué .. simplement
j'y travaille et dès que c'est au point ... je reviens
à+
Author : raffou
Posted : 06-Dec-2000 13:36:52
Bonjour Monique
je me suis posé une question bête en lisant ce post :
la compresion 5:1 du format dv est donc une compression mjpeg ?
mais alors, si on veut 1 : 1, il ne reste plus que les solutions pro en mjpeg 1 : 1 ?
en fait, ça fait deux questions bêtes :))
Author : Michel LP
Posted : 06-Dec-2000 18:14:58
salut Raffou,

pour laisser le temps à Monique de nous expliquer simplement sa solution compliquée,
permets moi de te répondre :

le 1:1 = non comprèssé, donc ce n'est pas du mjpeg.
C'est tout simplement le signal de base en RVB (Rouge, Vert, Bleu).
C'est encore le résultat brut de l'échantillonnage des images et du son. Echantillonnage plus ou moins fin selon que l'on veut 256, 64K ou 17 M de couleurs possible.

Il ne faut pas confondre MJPEG et AVI.
Le format AVI, propre à M$, est une méthode d'encapsulage de flux vidéo.
Ces flux peuvent être en MotionJPEG (MJPEG), MPEG-4, DV, non compressé, etc...

Le MJPEG, pour faire simple, est constitué d'une succèssion d'images comprèssées en JPEG (toutes avec le meme taux de compression) pour la vidéo et d'un signal son échantilloné en PCM (WAV).
Son et Vidéo sont synchronisés mais sur 2 pistes différentes.

Le JPEG (compression des images fixes, très utilisé sur le net : .jpg) est une norme, mais il n' y a pas de norme MJPEG proprement dite, mais des façons "propriétaires" de réaliser l'opération.
Celle de Miro/Pinnacles, celle de Fast, celle de Matrox, etc.
C'est pourquoi ces différents MJPEG ne sont pas compatibles entre eux, bien que certains codec (comme celui de Morgan) sache les lire et les utiliser.

Le DV est une norme de compression Vidéo (image + son) à part entière.
Ce n'est pas du MJPEG.
Le DV n'utilise pas strictement la compression JPEG , mais un procédé analogue basée sur la méthode DCT (Discret Cosinus Transform).
Cette DCT (utilisée aussi par le MPEG) transforme complètement le signal pour pouvoir en éliminer plus facilement tout ce qui n'est pas vu (ou peu vu) par l'oeil humain.
On peut comparer cela à une méthode de compression des sons qui éliminerait les harmoniques hautes (par ex. au delà de 5000 htz peu audibles ou inaudibles par l'oreille humaine).
Dans le DV natif, le son est échantilloné en WAV.
Son et vidéo sont multiplexés (liés entre eux) dans une meme piste.

en espérant avoir été clair.

MLP
Author : raffou
Posted : 07-Dec-2000 08:44:46
Grand merci à Michel LP pour cette réponse claire et qui résoud les pb qui agitaient ma petite tête
Author : Monique
Posted : 07-Dec-2000 09:58:26
Salut
Si qqn a une idée pour démêler ça :
Donc l'idée de base, on part d'une capture en RVB
et on capture avec dec codecs non destructifs comme HUffyv, ou AVIzlib.
Questions :
Matrox PC-VCR remote à l'air de le faire sans codec additionnel ?
la Marvel (ou RR c'est idem) n'accepte que des formats byzaroïdes du genre 320*240 ou 640*480)
Si on passe par une capture via Première ou VirtualDUB on a le choix de tout une série de formats mais toujours dans la même veine
Donc pour être utilisable en VCD ou SVCD on est obligé de passer par un resize dans VirtualDub par exemple, hors il faut éviter au maximum de passer de programme en programme parce que les fichiers sont lourds et donc il faut pouvoir utiliser Avisynth pour aller de Première ou de VirtualDub (mais est-ce que ça marche ?) vers Tsunami

http://www.math.berkeley.edu/%7Ebenrg/huffyuv.html
http://www.doc.cs.univ-paris8.fr/mirroirs/zlib/
Author : Monique
Posted : 07-Dec-2000 11:49:08
suite de mes investigations (d'accord c'est confidentiel faut une Marvel ou une RR pour me suivre)

Si on oublie Matrox PC-vcr remote et que l'on capture via Première une option qui marche :
capture image CIF 352*288 en RVB 16bit soit 4834 mo/sec, c'est honnête...
on utilise Tsunami VCD MPEG1 ou MPEG2 avec de plus gros bitrate ... et moi je ne vois pas de différence au niveau qualitatif avec le SVCD
Gros avantage : énorme gain de temps dans Tsunami et non ne se les casse plus avec desentrelace ou pas..


Author : dbf
Posted : 07-Dec-2000 12:43:34
quelques éclaircissements sur la compression non destructive :

Que fait le codec HUFFYUV ? il crée des AVI a partir d'une source YUV2 ou RGB aux choix et code chaque image avec une methode de dictionnaire (un peu comme winzip) en codant en fait la différence entre les images.
Avantage, c'est rapide à la compression, et on peut espèrer un taux de compression entre 2 et 3 selon la nature des images, par contre c'est long à la décompression car il a besoin d'aller lire plusieurs images pour en décompresser une.

Ce codec est non destructif dans le cas de codage à partir de YUV2. si on part de RGB, il y a une légère perte.

sinon juste une question: quel est le CAN de la RR ou de la Marvel ? Selon le circuit, j'ai quelques idées sur le moyen de changer le format de capture...

Sinon La WINTV marche vraiment bien ! on peut même faire du 480x576, ce qui permet de gagner énomément de place sur le disque (par contre, est ce que le MPG2 sera compatible SVCD?)
Author : Monique
Posted : 07-Dec-2000 13:24:24
Salut dbf
C'est quoi un CAN ?
à+

Author : DixTrois
Posted : 07-Dec-2000 15:13:04
c'est un jeu????
CAN ce serait pas Convertisseur Analogique Numerique???
Bon je vais me recompenser en mangeant un chocolat de Noel.
si c'etait pas ça, trop tard , c'est bon c'etait un chocolat belge.

Jean-Pol.
Author : dbf
Posted : 08-Dec-2000 13:28:26
exact, ce n'est pas une canette de biere....