• Nenhum resultado encontrado

Uma verificação de desempenho foi feita com a sequência usada para simulação e verificação funcional da arquitetura. As medições realizadas são resumidas na tabela 16, que apresenta em suas colunas:

1. O tipo de quadro e sua colocação ordem de decodificação 2. O número de bits codificados contidos no quadro

3. O número de ciclos consumidos em simulação para decodificar o quadro 4. A taxa de processamento de macroblocos por segundo para o quadro 5. A taxa de processamento de dados codificados em Kb/s do parser

6. A taxa de processamento necessária de dados codificados em Kb/s fazendo-se uma extrapolação para HD 1080p a 30,1 quadros por segundo.

Na tabela 17 são apresentadas:

1. A taxa de quadros por segundo obtida na resolução QCIF (176 × 144)

2. A taxa de quadros por segundo que pode ser decodificada pelo parser extrapolando para resolução HD 1080p

Tabela 16: Análise de desempenho para uma sequência de 3 quadros QCIF (akiyo)

Quadro Número de bits Ciclos Taxa MB/s Taxa Kb/s Taxa Kb/s em HD 1080p

I (0) 18378 57.500 86.087 15.980,869 45.595

P (1) 145 3.000 1.650.000 2.416,666 360

B (2) 11 1.584 3.125.000 347,222 27

Para obter os dados da tabela 16 assume-se que o parser opera na taxa de 50 MHz. O tempo de inicialização de contextos não é contado nos ciclos porque ele pode ser menos- prezado quando se compara ao tempo de decodificação de todos os macroblocos de um slicede sequência HD 1080p.

Os dados da segunda e terceira colunas da tabela 16 foram medidos diretamente. Sendo Fop a frequência de operação de 50 MHz e Nciclos o número de ciclos para de-

Fop×99

Nciclos

Sendo Nbitso número de bits contido no quadro, os dados da quinta coluna da tabela

16 são obtidos a partir de:

Nbits×NFop

ciclos

A extrapolação de Kb/s da penúltima coluna da tabela 16 é feita multiplicando-se a proporção do número de macroblocos de um vídeo HD 1080P (8160 macroblocos) em relação a uma sequência QCIF (99 macroblocos), sem considerar a taxa de processamento do parser obtida em simulação. É a taxa necessária para imagens com a mesma média de bitspor macrobloco do quadro. Os dados são obtidos a partir de:

Nbits× 8160×30.199N

ciclos

Na tabela 17, os dados são obtidos dividindo-se o a frequência pelo número de ciclos necessários para decodificar o quadro. Para a resolução HD 1080p é aplicada a proporção de 99 para 8160 macroblocos.

Tabela 17: Taxa de quadros por segundo para a sequência (akiyo) Quadro Quadros por segundo QCIF Quadros por segundo HD 1080p

I (0) 869,56 10,55

P (1) 16.666,66 202,16

B (2) 31.565,65 382,96

Tomando como referência o nível necessário para o projeto, os dados obtidos para o segundo e terceiro quadro satisfazem a necessidade de processamento de 245.760 MB/s com muita folga, porém devem ser desconsiderados porque a codificação tem uma taxa muito baixa de Kb/s.

O primeiro quadro, do tipo I, por sua vez apresenta taxa mais condizentes. O que é explicado na seção 4.1.3, comprova-se uma vez que se extrapola a taxa de Kb/s para o caso de uma sequência HD 1080p, que ultrapassa o limite do nível de 20 Mbit/s. A taxa de macroblocos por segundo deve ser descartada. A taxa mais significante é portanto a de Kb/s para o primeiro quadro, que se aproximou dos 20 Mb/s do nível 4 de codificação. Ela é porém maior que 14 Mb/s necessários para vídeo HD 720p no perfil 3.1 como especificado pela norma ITU.

7

CONCLUSÕES

Para a frequência máxima de operação foi constatado que a arquitetura não alcançou desempenho suficiente para decodificar vídeos Full-HD, quando sintetizada para o FPGA disponível para uso. Porém a meta final do projeto é o produto em ASIC, que devido às suas características atinge desempenho mais elevado para um mesmo netlist e tecnologia de fabricação [15], portanto cumprindo os requisitos de desempenho.

Este trabalho representou um importante avanço no desenvolvimento do decodifica- dor de vídeo H.264/AVC para o Sistema Brasileiro de Televisão Digital, uma vez que foram previstas no projeto as necessidades do perfis mais avançados do padrão. Além do CABAD, no projeto foi incluído suporte a entrelaçamento.

Ao possibilitar que o parser extraia parâmetros com o CABAD e uma vez que as op- ções mais avançadas de codificação normalmente são usadas em conjunto com a CABAC, a integração também contribui para testar outros módulos de forma mais completo como por exemplo a compensação de movimento com duas imagens.

A abordagem adotada para o projeto foi pragmática, no sentido que houve aproveita- mento de módulos já desenvolvidos e foi buscado atingir suas metas o quanto antes, tendo em vista os prazos para encerramento do projeto Rede H.264.

Como trabalho futuro, é preciso realizar uma validação rigorosa com sequências mai- ores, através da decodificação de fluxo de bits das emissoras que já trabalham dentro das normas do SBTVD. É necessário também que o protótipo do decodificador seja simulado por completo e verificado operando na placa e gerando saída de vídeo.

REFERÊNCIAS

[1] ITU-T. ITU-T Recommendation H.264 (03/05): Advanced video coding for generic audiovisual services. [S.l.]: International Telecommunication Union, 2005.

http://www.itu.int/rec/T-REC-H.264-200503-S.

[2] RICHARDSON, I. E. H.264 and MPEG-4 Video Compression: Video Coding for the Next-generation Multimedia. [S.l.]: John Wiley and Sons, 2003.

[3] MARPE, D.; SCHWARZ, H.; WIEGAND, T. Context-based adaptive binary arithmetic coding in the h.264/avc video compression standard. Circuits and Systems for Video Technology, IEEE Transactions on, v. 13, n. 7, p. 620 – 636, julho 2003. ISSN 1051-8215.

[4] XILINX. Virtex-5 Family Overview. February 2009.

Http://www.xilinx.com/support/documentation/data_sheets/ds100.pdf. [5] SBTVD, R. H. Wiki Rede H.264 SBTVD. Julho 2010.

http://www.lapsi.eletro.ufrgs.br/h264/wiki.

[6] ABNT. NBR15602 Televisão Digital Terrestre - Codificação de vídeo, áudio e multiplexação. [S.l.]: ABNT, 2007.

[7] WIKIPEDIA. Exponential-Golomb Coding. Maio 2011. http://en.wikipedia.org/wiki/Exponential-Golomb_coding.

[8] Coordination, H. S. JM Software. Março 2011. http://iphome.hhi.de/suehring/tml/. [9] SCHMIDT, A. A. de A. et al. Development of a software model for an H.264/AVC

progressive main profile hardware video decoder. In: 10th Students Forum on Microelectronics. [S.l.: s.n.], 2010.

[10] LORENCETTI, M. A. Parser em vhdl para decodificador de vídeo h.264 para sbtvd. 2010. 52 páginas. Projeto de Diplomação, Universidade Federal do Rio Grande do Sul, Porto Alegre, 2010. 2010.

[11] DEPRA, D. A. Algoritmos e Desenvolvimento de Arquitetura para a Codificação Binária Adaptativa ao Contexto para o Decodificador H.264/AVC. Dissertação (Mestrado) — Universidade Federal do Rio Grande do Sul, UFRGS, 2009. [12] CARVALHO, J. P. A. de. Arquitetura Dedicada para Decodificação CABAC

H.264/AVC em Sistema em Silício. Dissertação (Mestrado) — Universidade de Brasília, UnB, 2009.

[13] SCHMIDT, A. A. de A.; SUSIN, A. A. Cabac integration into an intra-only h.264/avc hardware video decoder. In: 26oSimpósio Sul de Microeletrônica. [S.l.:

s.n.], 2011.

[14] AKIYO YUV video sequence. março 2011. Http://trace.eas.asu.edu/yuv/.

Documentos relacionados