• Nenhum resultado encontrado

3 PARADIGMAS DE CODIFICAÇÃO DE VÍDEO DIGITAL

3.2 CODIFICAÇÃO DISTRIBUÍDA DE VÍDEO

3.2.2 Arquitetura PRISM

A outra arquitetura DVC que foi proposta no início das pesquisas é a arquitetura PRISM (Power-efficient, robust, high-compression syndrome-based multimedia coding) [16, 18, 60, 61]. Esta proposta é significativamente diferente da arquitetura de Standford. O diagrama de blocos é mostrada na Figura 3.5.

Na arquitetura PRISM, a codificação Wyner-Ziv não é feita em nível de quadros, mas sim feita em nível de macroblocos. O quadro X(t) é dividido em macroblocos e transformados ao domínio da DCT. Com base na estimação do ruído de correlação Wyner-Ziv, os macroblocos são classificados. Esta classificação determina a expectativa da qualidade do bloco decodificado. Dependendo da classificação, o codificador pode escolher por codificar o macrobloco de forma intra. Os passos na codificação são os seguintes:

• Os coeficientes transformados dos blocos são divididos em alta e baixa freqüência. A classe do macrobloco determina como a divisão é feita. Logo, o número de coeficientes de alta e baixa freqüência é variável.

• Os coeficientes de alta freqüência são quantizados e codificados utilizando métodos tradicionais de codificação de entropia. O passo de quantização depende da classificação do macrobloco.

• Os coeficientes de baixa freqüência passam por dois processos de quantização paralelos. O primeiro é idêntico a quantização dos coeficientes de alta freqüência. O segundo é um processo de refinamento da quantização, a qual é dependente da distorção permitida (ou

(a)

(b)

Figura 3.5: Diagrama de Blocos do PRISM. (a) codificador, (b) decodificador

seja, do passo de quantização QP que seria usado na codificação convencional) e não da classe do macrobloco.

• A diferença entre ambos os sinais, dos coeficientes quantizados de baixa freqüência, é enviada ao codificador de entropia. O resultado do primeiro processo de quantização é usado para gerar um código síndrome.

A codificação por síndrome é um tipo de codificação de canal. Em lugar de enviar a paridade, é enviada a síndrome do código. Se S = XG, onde G é a matriz de paridade de um código de blocos linear, então S é a síndrome do código. Maiores detalhes podem ser encontrados em referências tradicionais [40]. A funcionalidade da síndrome é similar a da paridade, ambos são

usados para corrigir erros de transmissão. A síndrome pode ser considerada um coset. Se a fonte X possui um alfabeto χ, ao dividir o alfabeto em regiões, cada região seria um coset. Logo a síndrome indica a qual coset a informação pertence.

Além da informação de coset, o codificador PRISM gera um hash para cada macrobloco usando códigos CRC (cyclic redundancy check). Logo, o bit-stream é formado pela síndrome, coeficientes quantizados de alta freqüência, a diferença entra a quantização escalar e o refinamento dos coeficientes de baixa freqüência, e o código CRC de cada macrobloco.

No decodificador o fluxo de dados é feito da seguinte maneira:

• Uma série de blocos candidatos a informação lateral no quadro decodificado anteriormente X′(t − 1) são selecionados mediante uma procura similar à estimação de movimento,

usando os bits residuais do refinamento da quantização para realizar a procura dos blocos candidatos.

• No primeiro candidato são substituídos os coeficientes de alta freqüência pelos existentes no bit-stream, gerando assim a informação lateral, ou versão ruidosa da informação original • A informação lateral é corrigida com o uso da síndrome, em seguida uma verificação é feita usando os bits CRC. Se a verificação é incorreta é utilizado um novo candidato e o processo é repetido até obter uma verificação válida entre todos os candidatos. Se todas as verificações forem incorretas, então o candidato que gerou a verificação mais próxima à correta é selecionado.

A redução de complexidade é alcançada porque no codificador não é realizada nenhuma estimação de movimento. Já no decodificador, uma procura de movimento é feita quando são gerados os blocos candidatos a informação lateral. Porém, não há como obter uma seqüência decodificada, mesmo de baixa qualidade, com baixa complexidade de decodificação, pois a codificação Wyner-Ziv é feita em cada macrobloco de todos os quadros.

Note que nesta arquitetura a codificação com informação lateral no decodificador já é implementada com perdas. No caso da arquitetura de Stanford, a perda é devido ao processo de quantização. Aqui, além da quantização, a síndrome é gerada de acordo a classificação dos

blocos. Não existe canal de retorno, logo a reconstrução perfeita está associada a uma estimação perfeita do ruído para classificar corretamente cada macrobloco.

Sem o canal de retorno este codec pode ser usado em diferentes cenários onde a codificação em baixa complexidade é necessária, ao contrário do restrito uso da arquitetura de Stanford. Contudo, nos trabalhos publicados até a presente data, os autores não definem um mecanismo eficiente de estimação de ruído nem um modelo prático de classificação de macroblocos. Os autores assumem que possuem tanto no codificador como no decodificador a informação perfeita do ruído inserido na geração da informação lateral. Com esta estimação perfeita foram feitos testes que mostram resultados de desempenho similares à codificação IP P P.. no padrão H.263+ para uma quantidade limitada de quadros [61]. Estes testes mostram o potencial desta arquitetura, mas não é realista assumir que o codec possui a informação perfeita do ruído. Isto requereria que o codificador realize estimação de movimento para saber antecipadamente qual seria o candidato a informação lateral escolhido no decodificador. Realizando estimação de movimento, o codificador desta arquitetura seria tão complexo quanto um codificador híbrido convencional. Logo, tal como proposta, a arquitetura PRISM não pode ser implementa na indústria. A grande contribuição deste trabalho foi mostrar a possibilidade de criar um codificador DVC sem canal de retorno e verificar que esta arquitetura é mais robusta quando o canal de transmissão é ruidoso. Inclusive, o foco das simulações feitas com a arquitetura PRISM é verificar a resistencia do codificador a erros de transmissão. Os autores mostraram que o PRISM é muito mais robusto contra erros que a codificação tradicional híbrida [61]. Existem outros trabalhos onde a codificação Wyner-Ziv de vídeo é usada especificamente para gerar um bit-stream resistente a erros, no lugar de procurar baixa complexidade de codificação [68, 69, 70, 71].

3.3 VANTAGENS E DESVANTAGENS DA CODIFICAÇÃO DE VÍDEO

Documentos relacionados