O padrão H.264 foi desenvolvido pelo JVT, que foi formado a partir de uma união entre os especialistas do VCEG da ITU-T e do MPEG da ISO/IEC. O padrão H.264 atingiu seu objetivo de alcançar as mais elevadas taxas de processamento dentre todos os padrões existentes, mas à custa de um grande aumento na complexidade computacional. Este aumento de complexidade impede, pelo menos na tecnologia atual, a utilização de codecs H.264 implementados em software, quando se deseja a decodi cação de vídeos de alta de nição em tempo real. Essa dissertação propõe uma solução arquitetural de hardware, denominada MoCHA, para compensação de movimento do decodi cador de vídeo de alta de nição, segundo o padrão H.264/AVC. A MoCHA está dividida em três blocos principais, a predição dos vetores de movimento, o acesso à memória e o processamento de amostras. A utilização de uma cache para explorar a redundância dos dados nos acessos à mem ória, em conjunto com melhorias propostas, alcançou economia de acessos à memória superior a 60%, para os casos testados. Quando uma penalidade de um ciclo por troca de linha de memória é imposta, a economia de ciclos de acesso supera os 75%. No processamento de amostras, a arquitetura realiza o processamento dos dois blocos, que dão origem ao bloco bi-preditivo, de forma serial. Dessa forma, são economizados recursos de hardware, uma vez que a duplicação da estrutura de processamento não é requerida. A arquitetura foi validada a partir de simulações, utilizando entradas extraídas de seqüências codi cadas. Os dados extraídos, salvos em arquivos, serviam de entrada para a simulação. Os resultados da simulação foram salvos em arquivos e comparados com os resultados extraídos. O processador de amostras do compensador de movimento foi prototipado na placa XUP Virtex-II Pro. A placa possui um FPGA VP30 da família Virtex-II PRO da Xilinx. O processador PowerPC 405, presente no dispositivo, foi usado para implementar um test bench para validar a operação do processador de amostras mapeado para o FPGA. O compensador de movimento para o decodi cador de vídeo H.264 foi descrito em VHDL, num total de 30 arquivos e cerca de 13.500 linhas de código. A descrição foi sintetizada pelo sintetizador Syplify Pro da Symplicity para o dispositivo XC2VP30-7 da Xilinx, consumindo 8.465 slices, 5.671 registradores, 10.835 LUTs, 21 blocos de memó- ria interna e 12 multiplicadores. A latência mínima para processar um macrobloco é de 233 ciclos, enquanto a máxima é de 590, sem considerar misses na cache. A freqüência máxima de operação foi de 100,5 MHz. A arquitetura projetada é capaz de processar, no pior caso, 36,7 quadros HDTV de 1080 por 1920, inteiramente bi-preditivos, por segundo. Para quadros do tipo P, que não utilizam a bi-predição, a capacidade de processamento sobe para 64,3 quadros por segundo. A arquitetura apresentada para o processamento de quadros bi-preditivos e a hierarquia de memória são, até o momento, inéditas na literatura. Os trabalhos relativos a decodi cadores completos não apresentam a solução para esse processamento. Os resultados apresentados tornam a MoCHA uma solução arquitetural capaz de fazer parte de um decodi cador para vídeos de alta definição.
Identifer | oai:union.ndltd.org:IBICT/oai:lume.ufrgs.br:10183/7440 |
Date | January 2006 |
Creators | Azevedo Filho, Arnaldo Pereira de |
Contributors | Bampi, Sergio |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Biblioteca Digital de Teses e Dissertações da UFRGS, instname:Universidade Federal do Rio Grande do Sul, instacron:UFRGS |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0023 seconds