Codec
47218
31484899
2008-07-11T07:26:08Z
79.80.189.25
/* Codecs, normes et conteneurs */
Le [[mot-valise]] '''codec''' vient de « '''co'''mpression-'''déc'''ompression » (ou « '''co'''dage-'''déc'''odage » - COde-DECode en anglais) et désigne un procédé capable de compresser ou de décompresser un [[signal]], [[analogique]] ou [[numérique]]. Ce procédé peut exister sous forme [[Matériel informatique|matérielle]] ou [[logiciel]]le.
D'un côté, les codecs encodent des flux ou des signaux pour la transmission, le stockage ou le [[Chiffrement|cryptage]] de [[donnée]]s. D'un autre coté, 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 terme 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 [[Voix sur réseau IP|téléphonie]], les [[visioconférence]]s, la [[Lecture en continu|diffusion de médias sur Internet]], le stockage sur [[Vidéo CD|CD]], [[DVD]], la [[Télévision numérique terrestre|télé numérique]] par exemple.
== Compression avec et sans perte ==
Les codecs peuvent être divisés en deux grandes familles suivant leur manière de compresser les données.
* La '''compression non-destructive''' (appelée aussi '''sans pertes''' ou en anglais ''lossless'') permet de retrouver le signal initial tel qu'il était avant codage.
* La '''compression destructive''' (appelée aussi '''avec pertes''' ou en anglais ''lossy'') prend en compte les caractéristiques des données à compresser et peut retirer des informations jugées les moins importantes du signal. Ce type de compression a bien entendu ses limites. Une compression trop forte peut générer un bruit de compression qui n'est plus négligeable.
Les compressions comme [[Vorbis]] et [[MP3]] compressent le son suivant des critères « psycho-acoustiques » qui éliminent les [[fréquence]]s jugées les moins audibles du [[spectre sonore]] en moyenne chez l'être humain, telles que les [[harmonique]]s et les fréquences très aiguës. C'est une compression « destructive », car elle perd des informations sonores.
Les codecs vidéo [[MPEG]] utilisent des algorithmes prenant en compte la [[persistance rétinienne]], la différenciation des [[couleur]]s par l'[[œil]] et d'autres « imperfections » de la vue pour supprimer des détails que l'être humain ne perçoit presque pas en temps normal. Pour tous ces codecs, l'éloignement par rapport au signal d'origine sera plus ou moins grand en fonction des contraintes choisies par la personne qui lance la compression : taille du fichier résultant, qualité constante ou débit de données constant.
== Codecs, normes et conteneurs ==
Les notions de codec, norme et conteneur sont souvent confondus par les néophytes, ou par abus de langage.
* La norme décrit de manière théorique le procédé pour traiter les données.
* Le codec désigne le logiciel ou le matériel qui implémente cette norme.
Par exemple, le [[MPEG-4]] AVC/[[H.264]] est une norme vidéo, dont une implémentation est le codec [[x264]] mais il en existe d'autres.
* Le [[Format conteneur|conteneur]] est le format qui contient des flux [[audio]] et/ou [[vidéo]] qui sont encodés avec un codec. Il est en charge d'entrelacer les données son et vidéo, et de contenir 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 ou des menus.
Le choix d'un conteneur, peut par contre limiter les codecs utilisables à l'intérieur de celui-ci. Ainsi un conteneur MPEG2 ne pourra contenir que des flux vidéo MPEGV2 et des flux audio MPEGA 1, 2 ou 3 ou des flux audio AAC.
== Codecs d'images fixes ==
Dans le cas des images fixes, l'utilisation d'un codec, implique l'utilisation du conteneur qui lui est associé. La séparation des deux notions est moins évidente.
Les principaux codecs de compression d'images sont :
* [[Portable Network Graphics|PNG]]
* [[JPEG]]
* [[JPEG 2000]]
* [[Graphics Interchange Format|GIF]]
* [[HD photo|HD]]
Il existe deux formats de GIF : GIF86 et GIF89. Le GIF89 peut contenir plusieurs GIF86 pour former des animations, étant ainsi un conteneur et non un codec à proprement parler.
== Codecs audio ==
{{Article détaillé|Format audio}}
Les principaux codecs audio sont :
* [[Modulation d'impulsion codée|PCM]], sans perte, sans compression
* [[Free Lossless Audio Codec|FLAC]], format libre de droits, compression sans perte
* [[Vorbis]], format libre de droits, compression avec perte, ayant son propre conteneur : [[Ogg]]
* [[ADPCM]], compression faible avec perte
* MPEG-1/2 Layer 3 ([[MP3]])
* MPEG-2 partie 7 ([[Advanced Audio Coding|AAC]])
* Sony [[ATRAC]] [[dolby|dolby AC3]]
* LCconcept [[Digital Theater Systems|DTS]]
* [[RealAudio]]
* [[Windows Media Audio]] (WMA) : nom du conteneur et du codec
* [[Musepack]] (MPC)
* [[Speex]] pour la voix
* [[G.711]] pour la voix (téléphonie standard ou RNIS, et VoIP), basé sur PCM
* [[G.723]] pour la voix (VoIP)
* [[G.726]] pour la voix (téléphonie satellite, et VoIP), basé sur ADPCM
* [[G.729]] pour la voix (téléphonie de qualité, visionconférence, et VoIP)
* [[G.722]] pour la voix large-bande
* [[G.722.2]] pour la voix large-bande
* [[G.729.1]] pour la voix large-bande
* ILBC pour la voix (VoIP)
* RTAUDIO pour la voix (VoIP propriétaire Microsoft)
== Codecs vidéo ==
Les principaux codecs vidéo sont :
* [[MPEG-1]], utilisé sur les VCD.
* [[MPEG-2]], utilisé par les [[DVD]], la [[télévision numérique]] terrestre (TNT, ou [[DVB-T]]) et la diffusion numérique par satellites ([[DVB-S]]) et le cable ([[DVB-C]]).
* Les implémentations du [[MPEG-4]] ASP, comme [[DivX]] et [[XviD]]
* [[MJPEG]], succession d'images au format JPEG
* [[MJPEG2000]], évolution de MJPEG pour le cinéma numérique, l'imagerie de précision (médicale, spatiale...)
* Les implémentations de MPEG-4 AVC / [[H.264]] : [[x264]], [[ATEME]].
* [[Sorenson]]
* [[Theora]], codec libre et open source
* [[Tarkin (codec)|Tarkin]], codec libre, mis en suspens au profit de Theora
* [[Digital Video]] ou DV, utilisé dans de nombreux caméscopes à bande.
* [[DVCPRO]]
* [[H.261]], [[H.263]], H.263+, [[H.264]] pour la visioconférence sur IP (voir [[H.323]] et [[Session Initiation Protocol|SIP]]).
== Codecs propriétaires ==
Certains constructeurs de matériels électroniques développent eux-même 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 propre 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.
== Liens internes ==
* [[Format de données]]
* [[Compression de données]]
* [[Transcodage]]
== Liens externes ==
* {{en}} [http://www.codecsdb.com Base de données sur les codecs]
{{Portail informatique}}
[[Catégorie:Codec| ]]
[[af:Kodek]]
[[ar:مرماز]]
[[bg:Кодек]]
[[bs:Codec]]
[[ca:Còdec]]
[[cs:Kodek]]
[[da:Codec]]
[[de:Codec]]
[[en:Codec]]
[[es:Códec]]
[[fa:کدک]]
[[fi:Koodekki]]
[[gl:Códec]]
[[hr:Kodek]]
[[hu:Kodek]]
[[it:Codec]]
[[ja:コーデック]]
[[ko:코덱]]
[[ml:കോഡെക്]]
[[nl:Codec]]
[[nn:Codec]]
[[no:Medieformat]]
[[pl:Kodek]]
[[pt:Codec]]
[[ru:Кодек]]
[[sk:Kodek]]
[[sr:Кодек]]
[[sv:Codec]]
[[tr:Çözücü (Bilgisayar)]]
[[uk:Кодек]]
[[vi:Codec]]
[[zh:编解码器]]