top of page

A partir do momento em que o vídeo é transmitido por um canal com perdas, há algumas considerações a ter além da eficiência de compressão, nomeadamente a robustez a erros de canal. Existem três categorias de técnicas que ajudam a transmitir dados de vídeo de forma confiável: resiliência a erros, codificação de canal e ocultação de erros.

Resiliência a erros

O objetivo da resiliência a erros é tornar a bitstream já comprimida, mais resistente aos erros de canal. . Algumas técnicas usadas na resiliência a erros são: marcadores de ressincronização, reversible variable length coding (RVLC), independent segment decoding e inserção de blocos ou tramas intra

Marcadores de Ressincronização

Os marcadores de ressincronização são utilizados para codificação de comprimento variável, já que é esta que pode causar erros catastróficos, uma vez não se saber o inicio de cada palavra a priori. O funcionamento baseia-se na inserção periódica de marcadores no fluxo de bits. Se for detetado um erro, o descodificador procura pelo próximo marcador de ressincronizarão para recomeçar a descodificação. Os dados entre a deteção do erro e o marcador, são obviamente perdidos. Desta forma, quanto menor for a distância entre os marcadores, maior será a resiliência a erros. No entanto, a eficiência de compressão diminui.

Marcadores de Ressincronização [2]

Reversible variable length coding (RVLC)

Mesmo com a utilização dos marcadores de ressincronização, a perda de bits devido a um único bit errado, pode ser quase tão grande como a perda de informação no intervalo entre marcadores, dependendo da localização do bit errado. A técnica RVLC reduz a quantidade de informação perdida, criando palavras de código que podem ser descodificadas em ambas as direções, para a frente e para trás. Quando o erro é detetado, a descodificação começa no próximo marcador no sentido oposto. Havendo um bit errado entre os marcadores, será detetada uma palavra de código inválida e a descodificação pára novamente, perdendo-se ainda alguns dados, embora em menor quantidade.

Técnica RVLC [2]

Independent segment decoding

Consiste em dividir uma trama em regiões e apenas a informação da localização espacial correspondente da trama anterior pode ser usada para codificar a trama atual. Desta forma, apenas os pixéis que pertencem ao segmento da trama anterior podem ser usados para fazer uma predição. Desta forma limita-se a propagação de erro. No entanto, todas as subsequentes tramas continuam corrompidas.

Inserção de blocos ou tramas intra

A propagação de erro só termina totalmente quando uma trama é codificada em modo intra. Desta forma, se um macrobloco for codificado em modo intra a propagação de erro termina, pelo que faz sentido inserir blocos intra ou tramas intra, para melhorar a resiliência a erros.

Codificação de canal

Muitas vezes, os erros introduzidos pelos canais são demasiados para os codecs com resiliência a erros (por exemplo canais wireless). A codificação de canal, ou Forward Error Correction (FEC) é usada para reduzir os error rates vistos pelo codec de vídeo. A codificação de canal consiste em adicionar redundância (bits extra) na bitstream para ajudar a detetar e corrigir erros.

Proteção do fluxo de bits

Ocultação de erros

O objetivo da ocultação de erros é estimar a informação que se perdeu mesmo usando as duas técnicas anteriores, e ocultá-la do telespectador. Existem duas técnicas: as intra e as inter. As intra ocultam uma parte do vídeo, usando informações adjacentes na mesma trama. As inter utilizam informação de tramas anteriores àquela onde ocorreu erro. Neste tipo de técnica são muito usados os vetores de movimento com o objetivo de substituir um macrobloco na trama atual, pelo correspondente macrobloco com compensação de movimento da trama anterior. Se o vetor de movimento não for conhecido, este é estimado, por exemplo, analisando os vetores de movimento dos macroblocos vizinhos [2].

Ver outras tecnologias

bottom of page