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é'