Codec
# Codec

Un codec (da codificatore/decodificatore) è un software o un dispositivo che si occupa della codifica e/o decodifica digitale informatica di un segnale (tipicamente audio o video) perché possa essere salvato su un supporto di memorizzazione o aperto per la sua riproduzione. Tale programma può essere installabile/aggiornabile (su personal computer o apparecchiature multimediali predisposte) oppure essere integrato in un componente hardware dedicato (ad es. nei lettori CD o DVD casalinghi o in alcune schede video/audio per PC).

## Funzioni

I codec effettuano la compressione dati (e/o la decompressione in lettura) in modo da poter ridurre lo spazio di memorizzazione occupato a vantaggio della portabilità o della trasmissibilità del flusso codificato su un canale di comunicazione. Si suddividono in base alla modalità in cui effettuano la compressione:

* con perdita di informazione (lossy)
* senza perdita di informazione (lossless)

Per realizzare tale compressione si fa ricorso alla riduzione della precisione dei colori dei singoli pixel (codec video) o delle frequenze da riprodurre (in alcuni codec audio vengono soppresse le frequenze non udibili dall'orecchio umano), all'eliminazione delle ridondanze o alla scrittura delle sole differenze (codec video) rispetto ad un'immagine di riferimento. Per ciascun tipo di compressione esistono vari tipi di codec, differenti tra loro per il tipo di segnale su cui devono operare e per l'algoritmo di codifica/compressione in essi implementato.

In un sistema di telecomunicazioni oltre alla compressione dati, cioè la codifica di sorgente, il codec attua anche la codifica di canale sui dati da trasmettere sul canale. Nel sistema operativo Microsoft Windows, i codec sono delle librerie con estensione .dll, che i vari player audio e video gestiscono come dei plug-in. Nel sistema operativo macOS i codec sono gestiti dal sistema QuickTime che li utilizza come plug-in con estensione .component memorizzati nella cartella QuickTime che si trova nella cartella Libreria. Il codec permette di ascoltare formati proprietari e aperti da qualunque lettore di file, mantenendo separati il livello fisico del formato da quello logico della sua rappresentazione.

