Codecs

Define-se codec como o sistema de dispositivos e/ou programas que engloba o codificador e respetivo descodificador de uma determinada stream de bits que representam um certo tipo de dados.

Os dados relativos ao vídeo capturado podem ser comprimidos segundo três codecs: MJPEG, MPEG-2 e H.264/MPEG-4. Cada codec traz as suas vantagens e desvantagens para as implementações nos sistemas de videovigilância, por isso, para um dado objetivo deve-se analisar primeira qual dos codec se deve instaurar ou até mesmo ponderar utilizar ambos numa solução mista.

Por outro lado, os dados relativos ao áudio são normalmente codificados em MPEG-2, que apesar de ser um codec antigo, é bastante recorrente utilizar-se este codec por ser gratuito e por não haver necessidade de mais alta compressão, pois o vídeo por si já ocupa muito mais espaço que o áudio.

O Motion JPEG (MJPEG) é o formato que codifica vídeo como uma sequência de imagens do tipo Joint Photographic Experts Group (JPEG). Este formato apenas retira proveito da relação espacial de cada imagem, isto é, das semelhanças entre blocos das imagens (divisões que o codec faz a cada imagem), sendo o fator de compressão baixo comparativamente com outros codec, pois sendo o vídeo uma sequência contínua de imagens, estas estão temporalmente relacionadas e, este codec, não retira partido desta particularidade. Apesar disto, ainda é utilizado em vigilância porque tem menos ferramentas intrínsecas, logo é mais barato em termos de hardware.

Codificador JPEG

Codificador JPEG (scielo.org.co).

Por sua vez, o MPEG-1 e MPEG-2 aplicam uma transformada apelidada de DCT (Discrete Cosine Transform) com predição de movimento, seguida de uma quantização de valores. Assim, possibilita-se um maior fator de compressão, mas estes tipos são cada vez menos aplicados, pois consomem muita largura de banda comparativamente com o H.264/MPEG-4, isto é, o ritmo de transmissão de bits é significativamente mais baixo que o do H.264/MPEG-4 para o mesmo intervalo de tempo. Este codec permite não só a compressão do vídeo, mas também de áudio. Existem nove camadas no codec MPEG-2, mas apenas as três primeiras estão normalizadas. A primeira (camada de sistema) apresenta uma largura de banda de 192 kbps com um fator de compressão de 4. A segunda (camada de vídeo) tem uma largura de banda de 128 kpbs e comprime com um fator de 8, mas a grande revolução foi a camada três (camada de áudio), ou usualmente conhecida como MP3, com largura de banda de 64 kpbs e fator de compressão de 12.

Codificador MPEG-2

Codificador MPEG-2 (www.img.lx.it.pt/~fp/cav/Welcome_CAV.htm).

Por fim, o H.264/MPEG-4 introduz um codificador “object-based”, estabelecendo previsões de movimento de um dado objeto dentro de uma dada área. Oferece, assim, uma excelente qualidade relativamente aos outros no que depende da largura de banda, mas também nos requisitos de armazenamento dos dados obtidos.

Codificador H.264

Codificador H.264 (www.img.lx.it.pt/~fp/cav/Welcome_CAV.htm).

Para se explorar a redundância temporal nos codecs de vídeo, define-se cada imagem da sequência com um de três tipos: I, P ou B. As imagens do tipo I (Intraframe) são independentes e por isso são codificadas independentemente das outras, mas são as que gastam mais bits, as do tipo P são frames que dependem somente do passado e as do tipo B dependem não só do passado, mas também do futuro e são, a seguir das P aquelas que gastam menos bits. A utilização dos tipos P e B é que permite (mais o B que o P) aumenta significativamente o fator de compressão, mas aumenta o atraso, pois necessita-se das outras frames para descodificar os dados. Assim, a introdução de frames do tipo P e B aumentam a complexidade dos sistemas, e por isso estes ficam não só mais caros, mas também irão consumir mais energia. Deste modo, deve-se jogar bem com introdução destes tipos de frames, caso se queira sistema móveis.

Contacto

Ricardo A. M. Lameirinhas

ricardo.lameirinhas@tecnico.ulisboa.pt

Tiago M. Santos

tiago.marques.santos@tecnico.ulisboa.pt