Codec
# Codec

Als Codec (Silbenwort aus englisch coder, deutsch Kodierer, und decoder, deutsch Dekodierer) bezeichnet man ein Algorithmenpaar, das Daten oder Signale digital kodiert und dekodiert. Beim direkten Umwandeln von einem Format in ein anderes (bspw. MPEG-2 zu MPEG-4 oder MP3 zu WMA) spricht man von Konvertierung bzw. bei Audio- und Videodateien auch von Transkodierung. Umgangssprachlich hat sich die Verwendung des Begriffs Codec auch für die integrierten Schaltkreise etabliert, welche die Codierung vornehmen.

## Allgemeines

Meistens werden beim Kodiervorgang die analogen Signale nicht verlustfrei digitalisiert, sondern es wird eine Dynamikreduktion des analogen Signals sowie eine Datenkompression des digitalen Signals vorgenommen, die je nach Ausmaß und Verfahren zu Qualitätsverlusten bei der Rückwandlung des digitalen Datenstroms in die analogen Signale führt. Bild- und Tonqualität können betroffen sein, aber auch die Kontinuität der Wiedergabe. Damit wird eine Verringerung der für die Übertragung des digitalen Signals notwendigen Bandbreite erreicht bzw. eine Verringerung der für die Speicherung notwendigen Speicherkapazität.

Weiterhin ist es wichtig, zwischen dem kodierten Datenformat, also dem Audioformat, und der verwendeten Videokompression und dem Containerformat zu unterscheiden. Beispielsweise erstellt der bekannte XviD-Codec MPEG-4-Videospuren oder der MP3-Audiocodec MP3-Audiospuren. Diese beiden Klassen können in einem Dateicontainer (z. B. AVI) kombiniert und dann gespeichert werden.

In den internationalen Telefonnetzen wird eine große Zahl unterschiedlicher Codecs verwendet; während die Fest- und Mobilfunknetztelefonie mit wenigen Codecs der G-Reihe von ITU-T (zum Beispiel G.711 oder G.726) arbeitet, gibt es eine große Vielfalt bei den Mobiltelefonen im Zugangsbereich zu den Mobilfunknetzen. Viele Kodierverfahren sind von der Internationalen Fernmeldeunion standardisiert worden, unter anderen die von der MPEG ausgearbeiteten Verfahren wie z. B. das Videoformat MPEG-4 AVC, auch bekannt als H.264. Um eine Kommunikation zwischen Teilnehmern zu ermöglichen, deren Endgeräte mit unterschiedlichen Codecs arbeiten, ist eine Umsetzung ins jeweils andere Format, eine Transkodierung, erforderlich. Für die Telefonie über das Internet, die IP-Telefonie, stellt es noch eine große technische Hürde dar, alle Verfahren und ihre Transkodierung zu beherrschen.

## Liste gängiger Codecs mit entsprechenden Programmimplementierungen

### Audiocodecs

* MPEG-1 Layer III (MP3)
   * LAME (Encoder)
   * MP3-Codec der Fraunhofer-Gesellschaft
* MPEG-1 Layer III Pro (MP3Pro)
* MPEG-4 Part 3 (AAC)
   * Psytel AAC (Vorgänger von Nero Digital Audio)
   * FAAC (AAC Encoder) und FAAD2 (Open Source Decoder)
   * FFmpeg AAC
* sonstige MPEG-Audio-Codecs
* RealAudio
* Windows Media Audio
* Ogg
   * Vorbis
   * Opus
* FLAC

### Sprachcodecs

* Advanced Multi-Band Excitation (AMBE)
* AMR
* Code Excited Linear Prediction (CELP)
* Codec2
* GSM
* internet Low Bitrate Codec (iLBC)
* ITU-Standards:
   * Narrowband (NB):
      * G.711 bzw. G.711a sowie G.711u
      * G.723.1
      * G.726
      * G.728
      * G.729
   * Wideband (WB):
      * G.711.1
      * G.722
      * G.722.1
      * G.722.2
      * G.729.1
* Mixed-Excitation Linear Predictive (MELP)
* SILK
* Speex
* LYRA

## Codec-Sammlungen

* libavcodec: Bibliothek aus dem FFmpeg-Projekt mit Implementierungen diverser Audio- und Videocodecs, zum Beispiel für FLAC, MP3, WMA, WMV, MPEG-1/2/4, Huffyuv
* Nero Digital: MPEG-4 Part 2 ASP Video-Codec, H.264 Video-Codec, LE-AAC Audio-Codec, HE-AAC Audio-Codec
