Le codec - DEMA SA

Transcription

Le codec - DEMA SA
Les Codecs
Juin 2007
10 juin 2013
11 juin 2013
: Création
: Mise à jour générale
: Complément d'info pour MxPEG
Conus Daniel
Distribution d'Équipement et de Matériel d'Alarme - DEMA SA
Chemin de la Vendée 27
CH-1213 Petit-Lancy
t +41 22 879 69 00
f +41 22 879 69 10
[email protected]
www.dema.ch
Alte Steinhauserstr. 19
CH-6330 Cham
t +41 740 69 00
f +41 740 69 03
Transmission du flux vidéo
Il n'existe pas de transmission de flux vidéo non compressé. Seul la CCTV le fait, et encore… c'est juste entre la
caméra et l'enregistreur. L'enregistreur compresse le flux vidéo pour l'enregistrer et le transmettre sur IP…
Donc, le flux vidéo est obligatoirement compressé. Mais comment ? Quels sont les avantages et inconvénients ?
La compression vidéo utilise un algorithme appelé 'Codec'.
Les codecs
Un codec est un algorithme de compression du flux vidéo. L'émetteur (la caméra) compresse le flux et le ou les
récepteurs (enregistreur, logiciels PC) doivent le décompresser. Tout ce monde doit donc utiliser le même algorithme
pour arriver à transmettre correctement le flux vidéo.
Codecs principalement utilisés aujourd'hui :
Motion JPEG ou MJPEG
Ce codec compresse chaque image en JPEG. Le flux vidéo est donc constitué d'une succession sans fin d'images.
Ce processus est appelé Motion JPEG. Ce type d'images peut être affiché à l'aide d'un navigateur classique sans
programmes supplémentaires. Le format MJPEG permet de rendre les images de la caméra accessibles à un large
groupe d'utilisateurs dont les ordinateurs ne peuvent pas charger les applets JAVA ou les composants ActiveX pour
des raisons de sécurité.
KB /heure
C'est un codec robuste, donnant une vidéo dont l'extraction
d'images donnent le résultat le plus net et détaillé car le
mouvement n'est pas compressé comme pour le H.264. Par
contre le flux est assez lourd.
Le débit dépend donc du poids de chaque image et de la vitesse
IPS (images par seconde).
L'analyse du disque pour 24h d'enregistrement montre une
variation entre les différents moments d'activité diurne et nocturne.
La nuit, le bruit électronique de la caméra fait son apparition si la
scène n'est pas suffisamment éclairée. Ce bruit fait 'fourmiller'
l'image, au pixel près. C'est donc image très 'piquée'.
5MP en 1 ips - MJPEG
6000000
5000000
4000000
3000000
2000000
1000000
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Heure du jour
MxPEG
C'est un codec propriétaire de Mobotix. Afin de surmonter les inconvénients des processus de codage vidéo
classiques (longs délais d'affichage, faible qualité des éléments en mouvement), MOBOTIX a développé le processus
MxPEG basé sur la technologie JPEG.
Il travaille en théorie comme un mélange de MJPEG et de MPEG. La différence est que l'image est quadrillée en
petites zones et que seules les parties modifiées sont transmises entre deux images de références.
Cas concret :
Effet temporaire
observé lors du
changement de
caméras dans la
fenêtre d'affichage
Symphony
Cela permet la transmission d'une vidéo de la qualité du MJPEG avec le poids d'un H.264.
Le flux MxPEG permet en outre d'encapsuler un flux audio.
Lors du décodage, la charge processeur est très contenue lors de l'utilisation du logiciel MxCC de Mobotix, car il est
optimisé pour ce Codec.
MPEG
Généralement il y a peu de changements d'une image à l'autre, c'est à dire que la plupart des zones de l'image sont
reprises sans changements, ou presque. C'est pourquoi des processus de codage vidéo tels que MPEG ont été
créés pour éviter de transmettre des zones d'image identiques.
Toutefois, les processus d'encodage MPEG présentent de gros inconvénients pour les caméras. Ce format a été
développé pour compresser des films de cinéma (sur DVD par exemple), c'est à dire dans un environnement où la
durée de l'encodage n'a aucune importance. Seuls comptent la qualité de l'image et le niveau de compression. Dans
le cas de la surveillance en revanche, il est très important que le délai de transmission entre la scène et son affichage
sur écran soit aussi bref que possible.
Le second problème avec les processus classiques tels que l'encodage MPEG est que les objets mobiles sont codés
dans une résolution inférieure et donc de moindre qualité, l'oeil humain étant incapable d'identifier les détails d'un
véhicule en mouvement dans un film par exemple. Dans les applications de surveillance, en revanche, les objets
mobiles sont très importants et doivent par conséquent apparaître à l'écran dans une très bonne qualité.
MPEG-4 AVC(10) ou H.264
Ce codec MPEG-4 AVC (ou partie 10), encore plus évolué, demande encore plus de ressources de calcul.
Ce codec est optimisé pour réduire la quantité d'information à transmettre, en découpant les objets en mouvements
du fond statique. Une image complète est envoyée de temps en temps pour un rafraichissement complet et entre
deux, seules les parties en mouvements sont transmises. S'il y a très peu de mouvement, comme dans une scène
statique, le gain est énorme. Par contre, si la scène bouge constamment, le gain est nul car cela revient à envoyer
une image complète à chaque fois.
Par rapport au MJPEG, ce codec est plus léger en bande passante et en stockage, par contre plus lourd en
processeur pour le décodage et l'affichage. Il donne également une image moins nette des objets en mouvements,
car c'est un codec conçu à la base pour la compression des films cinéma.
Le MJPEG donne clairement une image plus détaillée.
Le H.264 nécessite une certaine vitesse de transmission d'images pour être efficace. Sinon, la quantité d'informations
à transmettre d'une image à l'autre s'accumule et devient plus importante que de transmettre une image complète
comme le MJPEG.
La vitesse la plus défavorable est 2 ou 3 ips. Puis, dès que l'on atteint une vitesse de croisière, la variation du flux de
données / ips se stabilise.
Comparaison MJPEG – H.264 de la bande passante / ips avec ArecontVision
2100 MJPeg
35.00
2105 H.264
30.00
3100 MJPeg
Bande passante Mb/s
3105 H.264
25.00
5100 MJPeg
5105 H.264
20.00
15.00
10.00
5.00
0.00
01
02
03
04
05
06
07
08
IPS
09
10
11
12
13
14
15
Bande passante & Stockage
Les vidéos sont enregistrées sur disque dur, que l'enregistreur soit pour caméras analogiques ou IP.
Le débit d'enregistrement vidéo dépend de :
- De la résolution d'enregistrement : CIF, 4CIF, VGA, 1280x1024, etc..
- Du nombre d'images par seconde (Ips).
- Du codec utilisé : MJPeg, MxPeg, H264.
- De la qualité, appelé aussi 'taux de compression'.
- De la scène filmée. Scène unie / très fouillée, scène statique ou avec beaucoup de mouvement.
La scène
Plus l'image est unie (une pièce, un parking très
clean) et mieux elle se compresse : le poids de
l'image se réduit facilement.
A gauche, ce bureau pèse 239KB en 2MP.
A l'inverse, plus l'image est fouillée (forêt, etc..)
moins elle se compresse.
A droite, cette plaine herbeuse et la forêt pèsent
403KB, toujours en 2MP.
Il est possible, en déréglant l'objectif pour 'flouter' très légèrement les détails, de regagner beaucoup d'espace disque.
Mais ce n'est pas professionnel.
Luminosité
Une scène bien éclairée et avec des surfaces unies se compresse très bien. Dans l’autre sens, une scène sombre où
le fourmillement du bruit électronique apparaît, ou bien une scène très détaillée comme un champ, forêt, utilisera plus
de bande passante.
Ex. trafic réseau pour une caméra 5MP en 5 ips
Scène 2
13.8 MB/s
Scène 1
5MB/s
Scène 1 : Bon éclairage.
Scène 2 : trop sombre, fourmillements.
Une scène extérieure peut donc subir une grosse variation entre le jour et la nuit.
Le MJPEG est insensible aux mouvements dans la scène.
Le H.264 est lui sensible aux mouvements, et donc au fourmillement du capteur dans les scènes sombre, mais
beaucoup moins sensible à la complexité de la scène que le MJPEG.
Le MxPEG est un mix des deux : Sensible à la complexité de la scène et sensible aux mouvements. Mais la qualité
de l'image est du type MJPEG avec une bande passante proche du H.264.
Pour plus de détails sur le chapitre de la luminosité, consulter le document 'Luminosité'