# Codec

Codec é o acrônimo de codificador/decodificador, dispositivo de hardware ou software que codifica/decodifica sinais.

## Tipos

Existem dois tipos de codecs:
* Sem perdas (lossless, em inglês)
* Com perdas (lossy, em inglês)

### Codecs sem Perdas

Os codecs sem perdas são codecs que codificam som ou imagem, para atingir certa medida de compressão, garantindo que o processo de descompressão reproduz o som ou imagem originais. Quando os dados são descodificados, o arquivo reconstruído é uma cópia idêntica do original. Este tipo de codec normalmente gera arquivos codificados com baixas taxas de compressão em relação aos formatos com perdas pois são entre 2 a 3 vezes menores que os arquivos originais. São muito utilizados pelas produtoras de conteúdo, nomeadamente a indústria do cinema, pois mantêm o som ou imagem originais.
Exemplos desse tipo de codec são o flac, shorten, wavpack e monkey's audio, para som.
Para vídeo, HuffYUV, MSU, MPEG, H.264 e FFmpeg Video 1.
Para imagens, temos os formatos PNG e TIFF.

### Codecs com Perdas

Os codecs com perdas são codecs que codificam som ou imagem, gerando uma certa perda de qualidade com a finalidade de alcançar maiores taxas de compressão. Essa perda de qualidade é balanceada com a taxa de compressão para que não sejam criados artefatos perceptíveis.
Por exemplo, se um instrumento muito baixo toca ao mesmo tempo que outro instrumento mais alto, o primeiro é suprimido, já que dificilmente será ouvido. Nesse caso, somente um ouvido bem treinado pode identificar que o instrumento foi suprimido.
Os codecs com perdas foram criados para comprimir arquivos de mídia a taxas de compressão muito altas. Por exemplo, o Vorbis e o MP3 são formatos para som que facilmente comprimem o arquivo em um décimo do tamanho original sem gerar perdas significativas de qualidade.
Exemplos de codecs com perdas são o Ogg Vorbis, MP3, AC3 e WMA, para som. Para vídeo, temos o Xvid, DivX, RMVB, WMV, Theora e Sorenson. E para imagens temos o JPEG, JPEG 2000 e GIF.

## Taxa de Bits

A taxa de bits ou bitrate, em inglês, é uma das medidas da qualidade de um arquivo comprimido. A taxa de bits representa o tamanho final desejado para o arquivo e, normalmente, é apresentada como Kbit/s.
1 Kbit/s significa que a cada segundo, o codec tem 1000 bits do arquivo final para utilizar, ou seja, se um arquivo de som tem 8 segundos e é comprimido a uma taxa de 1 Kbit/s, o arquivo final terá 8 Kbits ou 1 Kbyte. Conclui-se, então, que quanto maior for a taxa de bits, melhor será a qualidade do arquivo final, já que o codec terá mais espaço para poder comprimir o arquivo original, necessitando descartar menos informações do arquivo.
Com a popularização do MP3, a taxa de bits de 128 Kbits/s (128000 bits/s = 16 Kbytes/s) foi muito utilizada, já que, no início, essa era a menor taxa de bits que o MP3 poderia utilizar para gerar um arquivo final com boa qualidade. Hoje em dia, com os codecs mais avançados, pode-se gerar arquivos com 64 Kbits/s de qualidade semelhante aos primeiros MP3.
As taxas de bits podem ser divididas em três categorias principais:
* CBR (constant bitrate)
    O codec utiliza uma taxa de bits constante em todo a duração do arquivo. Isso significa que em momentos de silêncio provavelmente haverá desperdício de espaço, enquanto que em momentos de muita intensidade sonora haverá perda maior de informação acústica.
* VBR (variable bitrate)
    O codec utiliza uma taxa de bits variável, dessa forma otimizando a utilização do espaço, ao permitir maior uso deste para os momentos mais necessários e reduzindo a taxa de bits ao mínimo nos momentos de silêncio. A maioria dos codecs sem perdas utiliza esse formato.
* ABR (average bitrate)
    Um tipo específico de VBR que garante que ao final do processo de compressão o arquivo terá uma taxa de bits média pré-definida.