CE QU`IL FAUT RETENIR !! CONTENEUR et CODEC

Transcription

CE QU`IL FAUT RETENIR !! CONTENEUR et CODEC
CE QU’IL FAUT RETENIR !!
CONTENEUR et CODEC
Pour le domaine du multimédia, il est important de bien séparer le rôle des conteneurs de celui des codecs :


Un conteneur permet de stocker des flux vidéo et audio.
Un codec permet de décoder ces flux.
Ceci implique qu'un logiciel étant capable de reconnaître et d'ouvrir un conteneur pourra accéder aux flux
mais ne pourra pas les décoder s'il ne dispose pas du codec adéquat.
Le conteneur peut donc être vu comme une boîte (le contenant), et les flux comme ce que l'on met à l'intérieur
de la boîte (le contenu).
Codecs, normes et conteneurs
Les notions de codec, norme et conteneur sont souvent confondues par les néophytes, ou par abus de langage.


La norme décrit le format des données.
Le codec est le logiciel ou le matériel qui met en œuvre un procédé capable de compresser ou
décompresser les données de format normalisé.
Par exemple, MPEG-4 AVC/H.264 est une norme vidéo, et x264 est un codec capable de produire un flux vidéo
respectant cette norme. Il existe d'autres codecs pour cette norme. Lorsqu'il n'existe qu'une seule
implémentation, les termes codec et norme sont confondus (exemple : VC-1).

Un format conteneur contient des flux audio et vidéo respectant une quelconque norme. Ce format
permet d'entrelacer les données audio et vidéo, et contient les informations permettant de les
synchroniser au moment de la restitution. Un conteneur peut contenir plusieurs flux audio et vidéo,
mais aussi des sous-titres, du chapitrage et des menus.
Le choix d'un conteneur peut par contre limiter les normes utilisables à l'intérieur de celui-ci. Ainsi un
conteneur MPEG-2 ne peut contenir que des flux vidéo MPEGV2 et des flux audio MPEGA 1, 2 ou 3 ou des
flux audio AAC.
Un conteneur vidéo permet de rassembler en un seul fichier :







un ou plusieurs flux vidéo (ce qui permet par exemple de regarder une scène filmée sous plusieurs
angles différents) ;
un ou plusieurs flux audio (ce qui permet d'obtenir une version multilingue du média) ;
des sous-titres (ce qui permet également le multilingue) ;
des élément de chapitrage (de la même manière que sur les DVD) ;
des métadonnées (par exemple le titre du média, le nom du réalisateur, la date, etc.) ;
une description des flux que contient le conteneur ;
éventuellement d'autres données.
Les principaux conteneurs vidéo sont :





Audio Video Interleave (extension .avi) : développé par Microsoft.
MPEG 1/2/4 (extensions .mpg, .mpeg) : codecs et conteneurs défini par le Moving Picture Experts
Group.
Matroska (extensions .mkv, .mka, .mks) : développé par CoreCodec, Inc..
Advanced Systems Format (extensions .asf, .wmv, .wma (uniquement lorsqu'il ne contient que de
l'audio)) : développé par Microsoft.
QuickTime (extension .mov) : développé par Apple.









Ogg (extensions .ogg, .ogv, .oga, .ogx), ainsi que Ogg Media (extension .ogm) : développé par Xiph.org.
3gp (extensions .3gp, .3g2) : défini par le 3GPP.
WebM (extensions .webm, .weba) : basé sur Matroska, développé par Google.
NUT (extension .nut) : développé par des développeurs de MPlayer et FFmpeg.
RealMedia (extension .rm) : développé par RealNetworks.
Material eXchange Format (extension .mxf) : standard de la SMPTE.
Advanced Stream Redirector (extension .asx) : développé par Microsoft.
Transport Stream (extension .ts) : protocole de communication développé par le Moving Picture
Experts Group.
Flash Video (extension .flv) : Développé par Adobe Systems (Macromedia à la base )
Une vidéo consiste en réalité à faire défiler très rapidement une succession d’images fixes devant nos yeux.
Chaque seconde d'une séquence représente idéalement une collection de 30 images. Pour l’ordinateur cette tache
s’avère très difficile car cela lui demande énormément de ressource. Les volumes de données à traitées sont
tellement importants que généralement seules les machines ayant une grosse configuration arrivent à suivre. Pour
faciliter la diffusion et la lecture des fichiers vidéo (notamment sur Internet), il a fallu réduire le labeur de
l’ordinateur. On a donc fait appel à la technique de la compression vidéo.
Pour réaliser la compression/décompression d’un fichier vidéo, l’ordinateur à besoin d’un logiciel appelé
Codec. Le mot codec provient de la concaténation de deux mots : compresseur et décompresseur, ou encore
codeur/décodeur. Pour compresser une vidéo, ce dernier peut agir sur deux facteurs : l’espace et le temps. En
compression spatiale, le codec travaille un maximum sur les redondances du film. On peut alors :
- soit retirer certaines images des 30 qui sont censées défiler en une seconde (en sachant que l’on ne peut
descendre en dessous de 15 si l’on veut garder une fluidité dans les mouvements des personnages du film).
- Soit réduire la qualité de l’image en jouant sur l’effet de pixellisation (plusieurs points de l’image sont
remplacés par une tache). En compression temporelle, le codec stocke les différences d'une image sur l'autre.
Le travail du codec est souvent transparent à l’utilisation. En effet, au moment de lire une vidéo, le codec va
décompresser le fichier afin que lecteur puisse la lire mais aucun signe apparent à l’écran ne vous signale la
décompression. A chaque format de fichier vidéo va donc correspondre un codec particulier. Si le codec en
question n’est pas installé sur votre ordinateur, il vous sera impossible de lire la séquence vidéo encodée avec
ce dernier.
Un codec est un dispositif capable de compresser et/ou de décompresser un signal numérique. Ce dispositif
peut être un circuit électronique, un circuit intégré ou un logiciel.
Le mot-valise « codec » vient de « codage-décodage » ( Code - DECode en anglais).
D'un côté, les codecs encodent des flux ou des signaux pour la transmission, le stockage ou le chiffrement de
données. D'un autre côté, ils décodent ces flux ou signaux pour édition ou restitution.
Les différents algorithmes de compression et de décompression peuvent correspondre à différents besoins en
qualité de restitution, de temps de compression ou de décompression, de limitation en termes de ressource
processeur ou mémoire, de débit du flux après compression ou de taille du fichier résultant. Ils sont utilisés
pour des applications comme la téléphonie, les visioconférences, la diffusion de médias sur Internet, le stockage
sur CD, DVD, la télé numérique par exemple
Codecs propriétaires et libres
Certains constructeurs de matériels électroniques développent eux-mêmes des codecs audio ou vidéo.
On pourra citer l'Avchd par exemple, qui est en fait un dérivé du x264, une implémentation de H.264 ; mais
ayant certaines fonctionnalités qui sont propres aux fabricants qui l'utilisent ou à l'éditeur du logiciel.
Certains codecs dérivés d'une préversion de norme ; par exemple DivX, qui était une implémentation de la
norme en cours d'élaboration H.263 et H.264.
Les codecs propriétaires sont développés par des entreprises, et font souvent l'objet de brevets dans les pays où
c'est possible.
Les codecs libres ou ouverts comme Vorbis, sont inventés et développés par des acteurs du logiciel libre pour
permettre aux utilisateurs de garder le contrôle des médias qu'ils produisent eux-mêmes.
Lorsqu'une norme ISO est publiée, il est demandé aux entreprises de ne pas déposer de brevets ou de ne pas
réclamer de droits sur ceux existant, quant à la décompression. Les normes ISO des formats MPEG ne
définissent que la manière de décompresser ; chaque entreprise est alors libre de faire ce qu'elle veut sur les
astuces de compression.
Les principaux codecs vidéo sont :
asf : très compressé, ce format propriétaire privilégie la taille à la qualité - à éviter. Même incomplète, une
vidéo .asf peut être lue par la plupart des lecteurs; mais pour pouvoir accéder rapidement aux différentes
parties, il faut l'avoir téléchargée en entier.
mpeg ou mpg : 2ème format le plus populaire, la qualité est moins bonne que celle du DiVx à taille égale.
C'est aussi le seul format compatible avec les lecteurs DVD de salon classiques, à condition d'être encodés à un
bitrate et une résolution bien définis correspondant aux normes VCD (mpeg1) ou SVCD (mpeg2).
avi : c'est le format du DiVx par excellence, la meilleure qualité actuellement, mais la multiplication des
codecs rend leur lecture parfois difficile. Des informations essentielles figurent à la fin de ces fichiers, ce qui
explique pourquoi il est normalement impossible de lire une vidéo .avi incomplète.
Toutefois, certains logiciels permettent une prévisualisation du fichier même s'il est incomplet : c'est le cas
d'avi preview (intégré dans eMule), mais qui n'est pas très pratique. La manipulation de fichiers vidéo
incomplets pouvant parfois mener à la détérioration irréversible du fichier, il est conseillé de faire une copie de
sauvegarde de celui-ci avant d’utiliser ce genre d’outils.
Plus récemment, une équipe formée d'étudiants français basés à Lille a développé un logiciel permettant la
prévisualisation en streaming de ces videos : il s'agit de VideoLan Client (VLC), qui s'est depuis imposé
comme LA référence car il a l'avantage de ne pas modifier le fichier prévisualisé et donc d'être utilisable à tout
moment, même si le fichier est en cours de téléchargement ! Un must à avoir absolument, il est aussi reconnu
par eMule et peut remplacer avantageusement avi preview s'il est installé sur votre système. Gardez toutefois à
l'esprit que c'est une version bêta non dépourvue de bugs, qui peut parfois occasionner des
plantages/ralentissements.
NB : En fait, l'extension avi correspond à une multitude de formats vidéo comme le UYVY,YUY2, WMvideo DMO,
DV, le MJPEG, Cinepak de Radius, Intel Vidéo R3.2, Microsoft Vidéo, Indéo Vidéo 5.04, DivX MPEG4, Microsoft
MPEG4,
miroVideo
DV300
...
qu'il
serait
trop
long
de
détailler
ici.
ogm : [ogg media] ce n'est pas un format à proprement parler, mais un 'conteneur' qui permet de
caractériser les videos dont le son est encodé en Ogg Vorbis. Ce format est supporté par les lecteurs habituels,
et nécessite simplement le codec oggvorbis pour que la bande son soit lue.
rmvb [real media variable bitrate] (son mp3 VBR) encore connu sous le nom de RV9 : d'apparition récente,
son rapport qualité/capacité de compression est meilleur à bas débit que le DiVx ou le Xvid. Malheureusement,
il s'agit d'un format propriétaire de Real Video, et nombreux sont les lecteurs incapables de lire ce format.
Realplayer est quant à lui à éviter car très lourd et, dans sa version gratuite, bourré de pubs ...
mkv : Le mkv est, à l'instar de l'ogm, un « conteneur » qui permet de mettre par exemple du rv9 et de l'ac3,
chose impossible avec l'avi. Les conteneurs media sont l'avenir du divx : plus besoin de multiplexer le son avec
l'image (étape parfois très pénible), il suffit de mettre le fichier vidéo et le fichier son dedans et le multiplexage
(= synchronisation son/vidéo) se fait en direct lors de la lecture. Après avoir mis le filtre MKV, tous les lecteurs
peuvent le lire.
Une vidéo consiste en réalité à faire défiler très rapidement une succession d’images fixes devant nos yeux.
Chaque seconde d'une séquence représente idéalement une collection de 30 images. Pour l’ordinateur cette
tache s’avère très difficile car cela lui demande énormément de ressource. Les volumes de données à traitées
sont tellement importants que généralement seules les machines ayant une grosse configuration arrivent à
suivre. Pour faciliter la diffusion et la lecture des fichiers vidéo (notamment sur Internet), il a fallu réduire le
labeur de l’ordinateur. On a donc fait appel à la technique de la compression vidéo.
Les lecteurs de vidéo.
Pour lire un fichier vidéo sur son ordinateur on se doit d’utiliser en plus des codecs un logiciel de lecture. Le plus
connu est bien entendu « Windows Média Player ». Ce dernier est fourni avec le système d’exploitation Windows et
permet de lire un grand nombre de formats si bien entendu les codecs sont correctement installés. Cependant
certains fichiers ne peuvent être lus qu’avec un lecteur spécifique. Les fichiers « Quick Time » ne peuvent être lu
qu’avec le lecteur qui porte le même nom. De même, les fichiers Real Vidéo ne peuvent être lus qu’avec le lecteur
« Real Player ».
Tableau de compatibilité conteneur/codec. (Non exhaustif)
Conteneur
Codec
AVI
ASF/WMV
DV
●
DivX
●
●
WMV
●
●
MKV
MOV
●
●
●
●
●
MPEG-2
●
●
●
FLV
●
MPEG-1
Sorenson
MPEG-2 MPEG-4
●
●
●
●
●
●
VP6
H.264
●
x264
●
DVCPRO
●
●
●
●
●
●
●
●
●
●
●
Documents en référence Web :
http://transcode-graphic.com/les-formats-video/
http://transcode-graphic.com/choix-format-video-codec-decodeur/
BITRATE
Un Constant bitrate (ou Constant bit rate ou encore CBR), est un terme anglais que l'on peut traduire en
français par : « taux d'échantillonnage fixe », en opposition au variable bitrate (VBR). Ce terme décrit la façon
dont la piste vidéo ou audio est encodée. Un constant « bitrate » signifie en fait que cette piste vidéo et/ou audio
utilise le même montant d'espace disque pour chaque seconde, peu importe sa position dans le temps. Un
Constant Bit Rate est l'enregistreur vocal d'une boite noire.
Lors de la numérisation d'un signal, l'utilisation d'un taux (ou d'une fréquence) d'échantillonnage variable
consiste à adapter le nombre d'échantillons prélevés sur le signal, à la complexité locale (ou instantanée) de
celui-ci. Ceci s'oppose à la technique plus simple, Constant bit rate ou CBR, dans laquelle le taux
d'échantillonnage est fixe.
Ainsi, dans le domaine du multimédia numérique, certains dispositifs d'encodage et décodage (ou codecs) de
flux audio et vidéo appliquent ce principe et permettent d'atteindre un meilleur compromis entre la qualité de
rendu d'une part et d'autre part la taille du fichier multimédia et le débit nécessaire pour le diffuser sur un
réseau. Dans un flux vidéo, par exemple, plus de données seront prélevées par unité de temps pour une scène
complexe que pour une image plus simple et figée. Il en sera de même pour les sons. Conséquence de
l'utilisation d'un taux d'échantillonnage variable, la taille du fichier résultant d'une numérisation ne peut pas
être calculée a priori à partir de la durée, contrairement au cas d'utilisation d'un taux d'échantillonnage
constant.
Quelques exemples de bitrate











16 kbit/s – Qualité Visiophonie (minimum nécessaire pour une qualité acceptable via divers schémas de
compression)
128–384 kbit/s – Visioconférence professionnelle via divers schémas de compression
1.5 Mbit/s max – Qualité VCD (Compression MPEG1)
3.5 Mbit/s typ — Qualité SD TV (avec compression MPEG-2)
9.8 Mbit/s max – Qualité DVD (avec compression MPEG-2)
8 to 15 Mbit/s typ – Qualité HD TV (avec compression MPEG-4 AVC)
19 Mbit/s approx — HDV 720p (avec compression MPEG-2)
24 Mbit/s max — AVCHD (avec compression H.264/MPEG-4 AVC)
25 Mbit/s approx — HDV 1080i (avec compression MPEG-2)
29.4 Mbit/s max – HD DVD
40 Mbit/s max – Blu-ray Disc (avec compression MPEG-2, H.264/MPEG-4 AVC ou VC-1)
Conclusion :


Le bitrate c'est l'espace disque (exprimé en kilo bit) nécessaire pour coder une seconde de vidéo ou de
son. (abréviation : kbps)
Le bitrate vidéo dépend de trois facteurs :
1 - La durée du film
2 - La taille désirée du fichier
3 - Le bitrate audio

Le soft calcule en fait une valeur moyenne du bitrate. Cette valeur va évoluer en + ou en - en fonction
de la complexité de l'image à encoder. Ce travail est effectué par le codec durant la première passe.

On peut encore améliorer le bitrate vidéo en surcompressant le générique de fin ou en réduisant le
bitrate audio.
Par contre à bitrate égaux les qualités finales ne seront pas nécessairement égales, car un autre facteur
intervient : la compressibilité.
L’ECHANTILLONNAGE COULEUR
Notre œil étant nettement plus sensible aux contrastes et aux variations de niveau de lumière, qu’aux nuances de
couleur, on a décidé de conserver l’image “noir et blanc”, mais de réduire le poids de la couleur.
Synthèse additive et soustractive
Il existe deux types de synthèse de couleur :

La synthèse additive est le fruit de l'ajout de composantes de la lumière. Les composantes de la lumière
sont directement ajoutées à l'émission, c'est le cas pour les moniteurs ou les télévisions en couleur.
Lorsque l'on ajoute les trois composantes Rouge, vert, bleu (RVB), on obtient du blanc. L'absence de
composante donne du noir. Les couleurs secondaires sont le cyan, le magenta et le jaune car :
o Le vert combiné au bleu donne du cyan
o Le bleu combiné au rouge donne du magenta
o Le vert combiné au rouge donne du jaune

La synthèse soustractive permet de restituer une couleur par soustraction, à partir d'une source de
lumière blanche, avec des filtres correspondant aux couleurs complémentaires : jaune, magenta, et
cyan. L'ajout de ces trois couleurs donne du noir et leur absence produit du blanc.
Les composantes de la lumière sont ajoutées après réflexion sur un objet, ou plus exactement sont
absorbées par la matière. Ce procédé est utilisé en photographie et pour l'impression des couleurs. Les
couleurs secondaires sont le bleu, le rouge et le vert car :
o
o
o
Le magenta (couleur primaire) combiné avec le cyan (couleur primaire) donne du bleu
Le magenta (couleur primaire) combiné avec le jaune (couleur primaire) donne du rouge
Le cyan (couleur primaire) combiné avec le jaune (couleur primaire) donne du vert
Deux couleurs sont dites « complémentaires » si leur association donne du blanc en synthèse additive, ou du
noir en synthèse soustractive.
L'échantillonnage des couleurs : 4:4:4, 4:2:2,...
Idéalement, la couleur de chaque pixel d’une image numérique doit être décrite par la quantité de rouge, de
vert et de bleu qui la composent. Décrire de cette manière les images d'un film représente une quantité
d'informations considérable. Stocker et traiter toutes ces données informatiques a longtemps été impossible en
numérique.
C'est notamment l'avènement de technologies capables de gérer une telle quantité d'informations qui a rendu
le cinéma numérique en salles possible : les couleurs des longs-métrages d-cinéma sont échantillonnées au
format 4:4:4, ce qui signifie que les trois couleurs primaires (rouge, vert, bleu) sont systématiquement
quantifiées pour chaque pixel. On peut l'illustrer de la manière suivante sur cette section d'image numérique
de 5 pixels sur 5 :
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
R
V
B
4 : 4 : 4 - la couleur de chaque pixel
est précisément décrite
Avec les autres formats d'échantillonnage (4:2:2; 4:2:1; 4:2:0,...), la description des couleurs des images
numériques n'est pas aussi précise mais les fichiers d'images sont moins lourds : il y a deux fois plus
d'informations dans une image 4:4:4 que dans une image 4:2:2.
En dessous du format 4:4:4, la couleur des pixels n’est plus décrite par ses composantes rouge, vert et bleu (R,
V, B) mais par sa luminance (Y) et deux mesures de chrominance : Cb pour le bleu et Cr pour le rouge. Les
coordonnées R, V, B de chaque pixel deviennent donc : Y, Cb, Cr. Cette technique exploite les limites de la
vision humaine plus sensible à la luminosité des pixels qu'à leur couleur.
Le format d’échantillonnage 4 :2 :2 accorde deux fois plus d'importance aux informations relatives à la
luminance qu’à la chrominance : alors que la luminance (Y) est mesurée de manière systématique pour chaque
pixel, les informations relatives aux couleurs ne sont données que pour un pixel sur deux. Ce format
d'échantillonnage permet d'obtenir une qualité d'image très satisfaisante tout en réduisant sensiblement la
taille des fichiers de films par rapport au 4:4:4. Le 4:2:2 et tous les formats d'échantillonnage inférieurs
constituent à ce titre une forme de compression des images numériques.
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Y
Cb
Cr
4:2:2
Le format d’échantillonnage 4 :2 :2 est utilisé en particulier pour la projection des films en relief sur grand
écran : le flux des informations transmises du serveur au projecteur (48 images par seconde au lieu de 24) est
tel qu'il faut le limiter pour que les équipements d-cinéma parviennent à le gérer.
Les autres formes d’échantillonnage se traduisent par une compression plus importante des
informations relatives à la couleur des pixels. Avec le format 4 :2 :0 par exemple, la luminance de chaque pixel
est systématiquement décrite mais les informations sur la chrominance ne concernent qu’un pixel sur deux et
seulement sur une ligne d'image sur deux. Le format 4:2:0 est notamment utilisé pour la télévision haute
définition (TVHD).
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Y
Y
Y
Y
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Y
Y
Y
Y
Y
Cb
Cr
Y
Y
Cb
Cr
Y
Y
Cb
Cr
4:2:0

Documents pareils

Présentation du problème - AIVM

Présentation du problème - AIVM Ce qui suit contient des citations de Wikipédia et des liens vers Wikipédia. Vous pouvez vous y reporter. Les principaux conteneurs vidéo sont :

Plus en détail