A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC Trabalho de Diplomação em Engenharia de Computação 2006/2 BRUNO ZATT Orientador:

Apresentações semelhantes


Apresentação em tema: "Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC Trabalho de Diplomação em Engenharia de Computação 2006/2 BRUNO ZATT Orientador:"— Transcrição da apresentação:

1 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC Trabalho de Diplomação em Engenharia de Computação 2006/2 BRUNO ZATT Orientador: Sergio Bampi Co-orientador: Luciano Agostini

2 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 2/35 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC Introdução H.264/AVC Compensação de Movimento (MC) Predição de Vetores Arquitetura Validação Prototipação Resultados comparativos Conclusão

3 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 3/35 Introdução Este trabalho está inserido nos esforços de pesquisa para a definição do SBTVD (Sistema Brasileiro de Televisão Digital) Elevado interesse acadêmico e comercial no H.264/AVC; Interesse do mercado em HDTV; Necessidade do suporte de HW.

4 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 4/35 H.264/AVC H.264/AVC é o mais novo padrão de compressão de vídeo definido pela ITU-T e ISO/IEC; Orientado a macroblocos; 16x16 pixels. Utiliza codificação diferencial; Espaço de cores YCbCr; Sub-amostragem de cores 4:2:0;

5 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 5/35 H.264/AVC 4 Perfis Baseline; Extended High; Main: Quadros B; Predição ponderada (WP); Vídeo Entrelaçado; CABAC. Tipos de Quadros do Perfil Main: Intra (I); Preditivo (P); Bi-Preditivo (B).

6 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 6/35 H.264/AVC Codificação de Entropia Transformadas e Transformadas Inversas (T-1); Quantização e Quantização Inversa (Q-1); Predição Intra; Predição Inter (ME / MC); Filtro de Deblocagem. Quadros Referência Q -1 + T -1 Quadro Atual MC Decod. de Entropia INTRA Filtro INTER

7 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 7/35 Predição Inter-Frame (ME) Vetor de Movimento Quadro de Referência Quadro de Atual

8 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 8/35 Predição Inter-Frame (MC) Quadro de Referência Quadro de Atual Reconstruído

9 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 9/35 Predição Inter-Frame (MC) Quadro de Atual Quadro de Atual Reconstruído

10 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 10/35 Módulos do MC Frame Memory Access Motion Vector Prediction Sample Interpolation MC

11 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 11/35 Compensação de Movimento (MC) Múltiplos tamanhos de bloco; Múltiplos quadros de referências; Vetores apontando para fora da imagem; Precisão de ¼ de amostra; Bi-predição; Predição ponderada.

12 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 12/35 MC – Tamanho Variável de Blocos x x x x x x x16 0

13 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 13/35 MC – Múltiplos Quadros de Referência Quadro Atual Quadros de Referências Passados Quadro de Referências Futuros Lista 0 Lista 1

14 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 14/35 Predição de Vetores de Movimento Predição Padrão D A B C E EA DBC

15 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 15/35 Predição de Vetores de Movimento Predição Direta Espacial Quadro Atual Quadro Co-Localizado Testa a vizinhança; Menor positivo; Testa bloco co- localizado; Zera vetores quando: Índices de ref. lista 0 e 1 são negativos; Índice de ref. co- localizados igual a 0; MVs co-localizados entre 1 e -1; Utiliza predição padrão; Partições 4x4. Zerar vetores -> Movimento nulo; Índice de Ref negativo -> Não existe.

16 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 16/35 Predição de Vetores de Movimento Predição Direta Temporal td tb Referência Lista 0Referência Lista 1Quadro Atual Tempo MV Col MV L0 MV L1 Bloco Direto B Bloco Co-localizado Referência Lista 0: Ref. co- localizada remapeada; Referência Lista 1 zerada; Blocos 4x4.

17 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 17/35 Predição de Vetores de Movimento Predição de Blocos Skip Blocos que não mandam informações explícitas de MVs e resíduo; Em slices P utilizam a predição padrão; Referência 0 da lista 0; 16x16; Em slices B utilizam predição direta; Inferido 4x4.

18 18/35 MVP Software Reconhecimento do problema; Auxílio ao desenvolvimento do HW; C++; Desenvolvido de forma incremental; Padrão; Espacial; Temporal. Validação utilizando vídeo Foreman QCIF; 100 quadros padrão; 100 quadros espacial IPBBP; 100 quadros temporal IPBBP. Dados do software de referência

19 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 19/35 Arquitetura do MVP C B B A A D B B B B A A A A DC

20 20/35 MEMORY REFRESH SET VECTORS SAVE MV CONTROL FOR CONTROL SUB-FOR STANDARDSPATIALTEMPORAL PRE_PROC SPATIAL WAITING TEST MB_TYPE RESET Arquitetura MVP Quadro co-localizado é armazenado na memória externa.

21 21/35 Extensão Predição Direta Temporal TEMPORAL 0 TEMPORAL 1 TEMPORAL 2 TEMPORAL 3 TEMPORAL 4 TEMPORAL CLIPCLIP CLIPCLIP + DIVDIV * SHIFTSHIFT CLIPCLIP

22 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 22/35 Descrição VHDL 7500 linhas de VHDL; 7 arquivos; Xilinx ISE 8.1.

23 23/35 Resultados de Síntese 149,5 MHzClock 2 (1%)BRAMs 2119(7%)Registers 2244(8%)LUTs 3 (2%)Multiplicadores 133,9 MHzClock 3 (2%)BRAMs 3596 (13%)Registers 6221 (22%)LUTs 146,1 MHz Clock 3 (2%)BRAMs 3358 (12%)Registers 5961 (21%)LUTs MVP Predição Padrão Lista 0 MVP Predição Padrão Lista 0 Lista 1 Predição Direta Espacial MVP Predição Padrão Lista 0 Lista 1 Predição Direta Espacial Predição Direta Temporal

24 24/35 Resultados de Desempenho Seqüência de Quadros Pior caso (ciclos) Nº de quadros HDTV no pior caso (quadros) Caso médio (ciclos) Nº de quadros HDTV no caso médio(quadros) P B c/ pred. direta espacial B c/ pred. direta temporal I-P-B-B-P c/ direta espacial I-P-B-B-P c/ direta temporal Mesmo no pior caso, em todas as situações, a arquitetura atinge o dobro do desempenho exigido para decodificar HDTV em tempo real.

25 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 25/35 Validação Dados extraídos de sequência reais de vídeo; Software de referência JM 9.5; Validação utilizando vídeo Froreman QCIF; 100 quadros padrão; 100 quadros espacial IPBBP; 100 quadros espacial IPBBP. Simulação Utilizando Mentor ModelSim; Comparação de resultados por software; Método apresentado em: ZATT, B.; AZEVEDO, A.; AGOSTINI, L.; BAMPI, S. Validação de uma arquitetura para compensação de movimento segundo o padrão H.264/AVC. IBERCHIP, 2006.

26 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 26/35 Prototipação - Plataforma Placa de Prototipação XUP Virtex II PRO: Digilent Inc.; Virtex II PRO FPGA; 30 k células lógicas; 2,5 Mb RAM; x18 multiplicadores; 2 PowerPC 405; 512 MB DDR; RS-232; Ferramentas: Xilinx EDK/ISE.

27 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 27/35 Prototipação MVP Placa Power PC Memória Externa Interface RS-232 PC Host FPGA

28 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 28/35 Síntese dos Protótipos 3 (2%)Multiplicadores 41,2 MHzClock 52 (38%)BRAMs 6313 (23%)Registers 8580 (31%)LUTs 40 MHzClock 52 (38%)BRAMs 5994 (21%)Registers 8107 (29%)LUTs MVP Predição Padrão Lista 0 Lista 1 Predição Direta Espacial MVP Predição Padrão Lista 0 Lista 1 Predição Direta Espacial Predição Direta Temporal Incluindo todos os wrappers necessários à prototipação; Degradação na freqüência de operação é função dos wrappers.

29 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 29/35 Implementações Comparativas - SW Plataforma x86 / Linux Pentium 4 3,2 GHz; 1 GB DDR; White Box Linux; G ; GNU Profiler. Plataforma Mac / Mac OS PowerPC G4 733 MHz; 512 MB RAM; Mac OS X; G++ 3.2; GNU Profiler. Plataforma Sun / SunOS UltraSPARC 900 MHz; 4 GB RAM; SunOS 5.9; G ; GNU Profiler. Porque implementações em SW?

30 30/35 Standard Cell TSMC 0,18 µm Típica. Gates36690 Clock227,8 MVP Predição Padrão Lista 0 MVP Predição Padrão Lista 0 Lista 1 Predição Direta Espacial MVP Predição Padrão Lista 0 Lista 1 Predição Direta Espacial Predição Direta Temporal Gates46886 Clock129,3 Gates17454 Clock227,1

31 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 31/35 Resultados Comparativos IPBBP direta espacial IPBBP direta temporal FPGA Freqüência (MHZ)146 MHZ133 MHZ Quadros HDTV / s x86 Freqüência (MHZ)3200 MHZ Quadros HDTV / s4060 Sun Freqüência (MHZ)900 MHZ Quadros HDTV / s5,58,6 Mac Freqüência (MHZ)733 MHZ Quadros HDTV / s5,58 ASIC Freqüência (MHZ)227 MHZ129 MHZ Quadros HDTV / s219179

32 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 32/35 Resultados Comparativos HW tende a não degradar seu desempenho quando integrado a outros módulos; Em SW, devido a natureza serial dos GPPs, quando rodando outros módulos do decodificador, o desempenho a diminuir consideravelmente; Apesar da natureza serial do MVP, é necessário um HW para esta função; SW em um processador embarcado não atingiria o desempenho necessário.

33 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 33/35 Literatura Atual Wang 03 Deng 04 Chen 04 Wang 05 Li 06 Arq. Proposta MVP SW-IncompletoHW*HW**HW Main Freq. 629 MHz153 MHz-275 MHz150 MHz100 MHz Tabela extraída de Li 06. Única solução, em HW, completa de MVP no Perfil Main do H.264/AVC presente na literatura.

34 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC 34/35 Conclusão Arquitetura para o Preditor de Vetores de Movimento (MVP) para o padrão H.264/AVC perfil Main; Arquitetura apresentada em detalhes; Implementação em HW para FPGA e Standard Cell; Implementação em SW para x86, Sun e Mac; A solução é capaz de decodificar HDTV (1920x1080) em tempo real a 30 quadros por segundo; Não foi encontrada descrição de arquiteturas semelhantes na literatura atual.

35 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC Trabalho de Diplomação em Engenharia de Computação 2006/2 BRUNO ZATT Orientador: Sergio Bampi Co-orientador: Luciano Agostini Obrigado! Perguntas?


Carregar ppt "Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC Trabalho de Diplomação em Engenharia de Computação 2006/2 BRUNO ZATT Orientador:"

Apresentações semelhantes


Anúncios Google