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

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

Defesa de Mestrado Bruno Zatt Sergio Bampi Orientador

Apresentações semelhantes


Apresentação em tema: "Defesa de Mestrado Bruno Zatt Sergio Bampi Orientador"— Transcrição da apresentação:

1 Defesa de Mestrado Bruno Zatt Sergio Bampi Orientador
Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC Defesa de Mestrado Bruno Zatt Sergio Bampi Orientador

2 Sumário Introdução; H.264/AVC; HP422-MoCHA;
Compensação de Movimento; Arquitetura; Resultados e Comparação; Modelagem SystemC do Codificador H.264/AVC; Modelagem; Resultados; Conclusão e Trabalhos Futuros. Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

3 INTRODUÇÃO Introdução

4 Introdução Mercado de vídeo voltando-se para HDTV;
Necessidade de padrões de compactação mais eficiente; Surgimento do padrão H.264/AVC, dobrando a taxa de compressão alcançada pelo MPEG2; Necessidade de hardware dedicado para codificação e decodificação de vídeo HDTV, em tempo real; Necessidade de técnicas adequadas para desenvolvimento de HW em sistemas complexos. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

5 H.264/AVC

6 H.264/AVC H.264/AVC é o padrão estado da arte para 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; Subamostragem de cores 4:2:0. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

7 Transformada Adaptativa Quantização em Percepção
H.264/AVC 4 Perfis; Baseline; Extended; Main: Quadros B; Predição ponderada (WP); Vídeo Entrelaçado; CABAC; High; High 10; High 4:2:2; High 4:4:4. Slices Redundantes CAVLC Grupo de Slices e ASO Slices P Slices I Slices B CABAC Predição ponderada Slices SP e SI Partição de dados Perfil Baseline Perfil Extended Perfil Main Transformada Adaptativa Quantização em Percepção Perfil High Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Slices Redundantes CAVLC Grupo de Slices e ASO Slices P Slices I Slices B CABAC Predição ponderada Slices SP e SI Partição de dados Baseline Extended Main Transformada 8x8 Predição Intra 8x8 High Monocromático Quantização adaptativa Amostras Até 10 bits Formato 4:2:2 High 4:2:2 High 10 Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

8 Codificador H.264/AVC Quadros de Referência T-1 Q-1 T Q Filtro
+ Quadro Atual (reconstruído) T-1 Compensação de Movimento Codificação de Entropia Predição Intra Quadros Q-1 - T Q Quadros Atual (original) Filtro Estimação de Movimento Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

9 Decodificador H.264/AVC Quadros de Referência T-1 Q-1 Filtro
Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Quadros de Referência + Quadro Atual (reconstruído) T-1 Compensação de Movimento Decod. de Entropia Predição Intra Quadros Q-1 Filtro Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

10 Estimação de Movimento (ME)
Quadro de Referência Quadro de Atual Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Vetor de Movimento Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

11 Compensação de Movimento (MC)
Quadro de Atual Reconstruído Quadro de Referência Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

12 Compensação de Movimento (MC)
Quadro de Atual Reconstruído Quadro de Atual Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

13 Predição Intra-Quadro
Inovação do padrão H.264/AVC; Dois tamanhos de bloco: 4x4 e 16x16; Realizada como interpolações polinomiais dos pixels das bordas adjacentes. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros I a b c d K i k l A C E G e g m M B D F H J f h L n p j o Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

14 Transformadas e Quantização
Transformadas DCT-2D e Hadamard; 4x4 amostras (8x8 nos perfis High); Matriz Ef contém coeficientes constantes e pode ser realizada junto à quantização; A quantização é função do parâmetro QP utilizado para controlar qualidade e compressão. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros

15 Filtro Redutor de Efeitos de Bloco
O H.264/AVC normatiza a utilização de um filtro redutor do efeito de bloco; A predição baseada em blocos e transformadas gera artefatos de bloco; É um filtro adaptativo, que prevê 5 diferentes pesos para a filtragem entre os blocos (0 - 4); O peso dos filtros é definido de acordo com regras que se baseiam no modo de predição utilizado pelos blocos vizinhos. Introdução H.264/AVC HP422-MoCHA - MC - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

16 Codificação de Entropia CAVLC
Codifica resíduos provenientes do bloco de quantização; Produz códigos de tamanho variável dependentes do contexto; Exploradas determinadas características dos blocos quantizados: Número de coeficientes não zero; Seqüências de valores ‘1’; Magnitude dos coeficientes; Corrida de zeros. Introdução H.264/AVC HP422-MoCHA - MC - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

17 HP422-MoCHA

18 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. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

19 MC nos Perfis High High; High 10; High 4:2:2;
Perfil Main - Transformada 8x8 - Predição Intra 8x8 - Matrizes de Escala Perceptuais - Monocromático HIGH HIGH 10 HIGH 4:2:2 HIGH 4:4:4 Amostras bits Formato4:2:2 Amostras bits Transformada Residual Codificação Sem Perde Formato 4:4:4 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros High; Subamostragem de cor 4:0:0 (monocromático); High 10; Largura de amostras de 9 e 10 bits; High 4:2:2; Subamostragem de cor 4:2:2. Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

20 HP422-MoCHA – High Profile 4:2:2 Motion Compensation Hardware Architecture
Memória de Referências Acesso à Memória Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Processamento de Luma Preditor de Vetores de Movimento Buffer de Macrobloco Processamento de Croma Baseado na arquitetura MoCHA (Azevedo A. et alli, ISCAS 2007, UFRGS); Desenhado como um pipeline hierárquico; Preditor de Vetores de Movimento (MVP); Acesso à Memória; Processador de Amostras. Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

21 Preditor de Vetores (MVP)
MEMORY REFRESH SET VECTORS SAVE MV CONTROL FOR SUB-FOR STANDARD SPATIAL TEMPORAL PRE_PROC WAITING TEST_MB_TYPE 1 2 6 7 4 16 D B B B B C A 1 4 5 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros A 2 3 6 7 A 8 9 12 13 A 10 11 14 15 Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

22 Acesso à Memória Cache 3-D para reduzir a retransmissão; 32 conjuntos;
DDR = Memória Interna Linha Coluna POC Addr Amostras Cache 3-D para reduzir a retransmissão; 32 conjuntos; Luma; 16 linhas x 40 colunas; Chroma; 16 linhas x 20 colunas; Amostras de 10 bits Completando com zeros os MSBs das amostras com 8 ou 9 bits; 25% de aumento; 4:2:2; Metade das linhas de crominância não utilizadas; 33% de aumento; 400 Kb; Até 60% de redução na largura de banda e 85% no número de acessos à memória. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros

23 Processador de Amostras
Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Caminho de Dados de Luma Caminho de Dados de Croma Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

24 Arquitetura Prévia do Interpolador de Luminância
4 FIR Verticais; 9 FIR Horizontais; 4 Filtros Bilineares. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros *Wang, 2005

25 Interpolador de Luminância
F I R 4 FIR Verticais; 8 FIR Horizontais; 4 Filtros Bilineares. 6:2 F I R Bilinear Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros F I R F I R 6:2 F I R Bilinear F I R F I R 6:2 F I R Bilinear F I R F I R 6:2 F I R Bilinear F I R

26 Filtro FIR Implementado em 3 estágios de pipeline;
+ <<2 - Clip E F G H I J Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Implementado em 3 estágios de pipeline; Sem multiplicadores. Y = (E–5F+20G+20H–5I+J)/32 ↓ ↓ ↓ Y = {(E+J)+(G+H)+4*[4*(G+H)–(F+I)]+ [4*(G+H)–(F+I)]}/32

27 Interpolador de Croma Chroma 1/8 pel A Filter B C
Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Chroma 1/8 pel Filter A B C Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

28 Filtro de Croma * * + - * * * * - * * Y X A B
Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros * * - X * * ‘32’ A B Implementação sem multiplicadores; ANDs; Deslocadores; Somadores.

29 Clipping de Largura de Bits Variável
10 9 8 19 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

30 - Xilinx Virtex 2 PRO (XC2VP30-7).
Resultados de Síntese FPGA: - Synplify Pro version 8.1; - Xilinx Virtex 2 PRO (XC2VP30-7). Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros MVP Acesso Memória Proc. Amostras MoCHA 4:2:0 HP MoCHA Aumento % Slices 4.552 994 5.511 8.465 11.435 24% Flip Flops 4.649 889 5.904 5.671 9.057 11% LUTs 4.947 1.320 6.742 10.835 13.983 28% BRAM 3 30 21 33 Mult. 14 12 0% @ 99.9 MHz; Decodifica, em tempo real, HDTV 1080p para o perfil High 4:2:2; Até 37 quadros por segundo para slices tipo B; Até 69 quadros por segundo para slices tipo P. Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

31 Comparação Até o momento da conclusão deste trabalho não havia nenhuma arquitetura para MC HP 4:2:2 publicada detalhadamente na literatura; Wang S., ISCAS 2005; Perfil Baseline 1080p em tempo real; MVP em HW sem predição direta; 1 FIR a mais se com parado à HP422-MoCHA; ASIC 0.18um; Wang R., ICASSP 2005; Perfil Baseline Lie W., ISCAS 2005; Utiliza filtros diagonais de 4-taps inserindo ruído; Não apresenta dados da performance do HW. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

32 Comparação Chen J., ICASSP 2006; Li Y., ISCAS 2007; MVP em software;
48% redução da largura de banda X HP422-MoCHA = 60%; 8 filtros bilineares a mais do que a HP422-MoCHA; ASIC 0.18um; Li Y., ISCAS 2007; Sem MVP; 60%-80% redução da largura de banda; 30qps para perfil Main. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

33 Resultados de Síntese do Interpolador para Perfil Main
TSMC 0.18µm typical; Mentor Graphics Leonardo Spectrum. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Interpolador Croma Interpolador Luma Total Gate Count 3,980 8,365 12,345 Freqüência Máxima MHz 129.9 MHz @ MHz; 163 M amostras/segundo; @ 82 MHz; Decodificação em tempo real para HDTV 30 qps; 93.3 M amostras/segundo. Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

34 Componetes do Interpolador
Comparação Wang’03 [5] Chen’04 [6] Wang’05 [4] Chen’06 [8] Azevedo’07[9] Li’07 [7] Proposta Perfil Baseline Main Arquitetura 1-D Separada 1-D Separada D Separada D Separada 1-D Separada D Componetes do Interpolador FIR x 2 Horiz. FIR x5 Horiz. FIR x9 Horiz. FIR x4 (bilinear embarcado) FIR x4 Horiz. FIR x8 Vert. FIR x11 Vert. FIR x4 Vert. FIR x8 (bilinear embarcado) Bilinear Bilinear x4 None (12 filtros bilineares embarcado) Filtro 1/8 x3 n/a Filtro 1/8 x2 Filtro 1/8 nenhum Gate Count 11.172 23.872 (0.25um) 20.686 (0.18um) 15.000 18.846 13.027 12.345 Tempo de Interpolação 1280 ciclos/MB (pior caso) 560 ciclos/MB (pior caso) 320 ciclos/MB (médio) 304 ciclos/MB (pior caso) Freq. Necessária HD 1080 100MHz 87MHz 82MHz Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros 17%

35 Considerações Finais A arquitetura HP422-MoCHA trouxe excelentes resultados acadêmicos; Performance desejada; Área condizente com as demais arquiteturas relacionadas; Integração se mostrou um grande desafio; Muitos sinais de interface; Sincronização; Estímulo para uma nova abordagem de desenvolvimento de sistemas; Bottom-up  Meet-in-the-middle. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

36 Modelagem SystemC do Codificador H.264/AVC

37 Modelagem de Sistemas Complexos
Problemas enfrentados no desenvolvimento de SOCs: Aumento da complexidade; Dificuldades na abordagem botton-up; Menor time-to-market; Alternativas: Reuso; Modelagem de alto nível; Uso da abordagem meet-in-the-middle; Refinamentos sucessivos reduzindo nível de abstração. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

38 Objetivos Desenvolver um modelo em SystemC para o codificador H.264/AVC na abordagem TLM (Transaction Level Modeling); Especificar os módulos integrantes do sistema; Localizar simplificações orientadas a implementação em HW; Avaliar as transações entre os módulos; Detectar gargalos do sistema; Taxa de processamento; Acesso à memória; Servir como ferramenta para validação de módulos em HW; Permitir refinamento para níveis mais baixos de abstração. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

39 TLM (Transaction Level Modelling) Modelos de Abstração
A. Specification Model B. Component Assembly Model C. Bus-Arbitration Model D. Bus-functional Model E. Cycle Accurate computation Model F. Implementation Model Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros * CAI, L., GAJSKI, D. Transaction Level Modeling: An Overview Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

40 Codificador H.264/AVC Quadros de Referência T-1 Q-1 T Q Filtro
+ Quadro Atual (reconstruído) T-1 Compensação de Movimento Codificação de Entropia Predição Intra Quadros Q-1 - T Q Quadros Atual (original) Filtro Estimação de Movimento Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

41 Codificador H.264/AVC Quadros de Referência T-1 Q-1 T Q Filtro
+ Quadro Atual (reconstruído) T-1 Compensação de Movimento Codificação de Entropia Predição Intra Quadros Q-1 - T Q Quadros Atual (original) Filtro Estimação de Movimento Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

42 Arquitetura Modelada Codificador H.264/AVC
Preditor Intra-Quadro CAVLC MB Buffer Salva Memória T/Q Codificador H.264/AVC Estimação de Movimento IT/IQ Modo de Decisão Memória de Referência 1º Estágio do Macro-pipeline 2º Estágio Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros 2 estágios de macro-pipeline; Caminho de reconstrução simplificado utilizando memória de predição.

43 Preditor Intra-Quadro
Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Base temporal para o codificador; Paralelismo de 4 amostras; Critério de similaridade: SAD; Modos de predição: 9 modos I4MB; 4 modos I16MB; 4 modos croma. *Bruno Zatt e Cláudio Diniz

44 Preditor Intra-Quadro
Intra Vizinhos Control Cb Save Mem. Y Cr Preditor de Amostras SAD/ I4MB Mode Decision Memória de Predição Read Dual Port SRAM Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Canais e Interfaces Cycle Accurate Computation Model – Computação com precisão de ciclo e comunicação com tempo aproximado. SC_METHOD/SC_THREAD SC_MODULE Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

45 Preditor Intra-Quadro
Intra Vizinhos Control Cb Save Mem. Y Cr Preditor de Amostras SAD/ I4MB Mode Decision Memória de Predição Read Dual Port SRAM Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros sc_port<line_read_if> org_line; typedef sample_line{ int[4]; } sample_line trasformed_input;

46 Preditor Intra-Quadro
Intra Vizinhos Control Cb Save Mem. Y Cr Preditor de Amostras SAD/ I4MB Mode Decision Memória de Predição Read Dual Port SRAM Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros void intra_vizinhos::atualiza_vizinhos() { switch(next_state) { case RESET: ….. break; case WAIT: …. }

47 Transformadas e Quantização (TQ)
Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

48 Transformadas e Quantização (TQ)
B Chroma Luma Luma I16MB W R I T E Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Paralelismo de 4 amostras; Bus Arbitration Model – Computação e comunicação aproximadas. Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

49 Transformadas e Quantização (TQ)
B Chroma Luma Luma I16MB W R I T E Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros void TQ::transproc() { …. for (int i=0;i<4;i++) for (int j=0;j<4;j++) mult_temp[i][j] = (fabs(mult_temp1[i][j]) * (PF[i][j] * pow(2, qbits))/QS + f) / pow(2, qbits); …. tranform_block.notify(); }

50 Estimação de Movimento (ME)
FIFO ME Leitura da Memória Controle da Busca Área de Busca Cálculo do SAD Acumuladores de SAD Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Paralelismo de Macrobloco; Critério de Similaridade SAD; Busca Full Search; Área de busca de até 48x48 amostras; Todos os tamanhos de blocos; SAD gerado para cada bloco 4x4, sua acumulação define os tamanhos de bloco; Bus Arbitration Model – Computação e comunicação aproximadas.

51 Estimação de Movimento (ME)
FIFO ME Leitura da Memória Controle da Busca Área de Busca Cálculo do SAD Acumuladores de SAD Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros for (FS_Y=start_Y; FS_Y<end_Y; FS_Y++) //PERCORRE LINHAS DA AREA for (FS_X=start_X; FS_X<end_X; FS_X++){ // PERCORRE COLUNAS DA AREA for (i=0; i<4; i++) //BLOCOS 4X4 VERTICALMENTE for (j=0; j<4; j++){ // BLOCOS 4X4 HORIZONTALMENTE SAD_acc[i][j] = SAD(FS_Y, FS_X, i, j); } MB_SAD_ready.notify(); wait(); //MB TESTADO

52 Estimação de Movimento (ME)
Quadro Atual Quadro de Referência 48 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Espaço para Luminância Espaço para Cb Espaço para Cr Luminância; Cb; Cr; Seguindo ordenação duplo-Z nos blocos 4x4 de cada MB.

53 CAVLC Avalia uma amostra de resíduo por ciclo;
Parâmetros L E I T OR Controle Gera Stream CAVLC Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Avalia uma amostra de resíduo por ciclo; Até 16 ciclos para calcular os parâmetros; Gera 1 byte do bitstream por ciclo; Bus Arbitration Model – Computação e comunicação aproximadas. Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

54 Análise Temporal Esquema de Cores: Dados de Luminância I4MB
Dados de Luminância Inter Dados Crominância Azul (Cb) Dados Crominância Vermelha (Cr) Modo de Decisião Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

55 1º Estágio de Pipeline – Caso 1
Análise Temporal 1º Estágio de Pipeline – Caso 1 # Ciclos: 620 Freq: 150 MHz ... Pred. Intra Parâm. Intra e Atualiza Vizinhos Unidades IT/IQ MD T/Q Memória Referência Busca ME (a) 4 8 14 20 29 32 48 64 404 406 488 555 562 585 620 604 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

56 1º Estágio de Pipeline – Caso 2
Análise Temporal 1º Estágio de Pipeline – Caso 2 # Ciclos: 471 Freq: 114 MHz ... Unidades (b) 4 8 14 20 29 32 48 64 404 406 413 436 471 455 # Ciclos Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Parâm. Intra e Atualiza Vizinhos Pred. Intra T/Q IT/IQ MD Memória Referência Busca ME Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

57 1º Estágio de Pipeline – Caso 3
Análise Temporal 1º Estágio de Pipeline – Caso 3 # Ciclos: 544 Freq: 132 MHz ... Unidades (c) # Ciclos 4 8 14 20 29 32 48 64 404 406 410 475 486 509 528 544 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Parâm. Intra e Atualiza Vizinhos Pred. Intra T/Q IT/IQ MD Memória Referência Busca ME Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

58 1º Estágio de Pipeline – Caso 4
Análise Temporal 1º Estágio de Pipeline – Caso 4 ... Unidades 4 8 14 20 29 32 48 64 404 # Ciclos Parâm. Intra e Atualiza Vizinhos Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Pred. Intra T/Q IT/IQ MD Memória Referência Busca ME Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

59 Salva Memória Referência
Análise Temporal 2º Estágio de Pipeline Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Geração Stream Parâmetros CAVLC Unidades Salva Memória Referência # Ciclos 620 Variável Máximo: 416 16 162 ... 160 164 544 471 Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

60 Análise da Comunicação
Preditor Intra-Quadro CAVLC MB Buffer Salva Memória T/Q Codificador H.264/AVC Estimação de Movimento IT/IQ Modo de Decisão Memória de Referência A B C D E F G H I J L Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Conexão Tráfego de Dados A 93,3 MB/s G 29.6 – 36,9 MB/s B H C I D 93,3 – 155,5MB/s J 812,8 MB/s E L Variável F

61 Análise da Comunicação
Preditor Intra-Quadro CAVLC MB Buffer Salva Memória T/Q Codificador H.264/AVC Estimação de Movimento IT/IQ Modo de Decisão Memória de Referência A B C D E F G H I J L Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros

62 Análise da Comunicação
Preditor Intra-Quadro CAVLC MB Buffer Salva Memória T/Q Codificador H.264/AVC Estimação de Movimento IT/IQ Modo de Decisão Memória de Referência A B C D E F G H I J L Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Conexão Tráfego de Dados A 93,3 MB/s G 29.6 – 36,9 MB/s B H C I D 93,3 – 155,5MB/s J 812,8 MB/s E L Variável F

63 Considerações Finais Gerado um modelo de referência de HW para codificador; Desenvolvida para HDTV 1080p; Descrição em SystemC; De acordo com abordagem meet-in-the-middle; Ferramenta de auxílio: Verificação; Integração; Simulações; Análises; Exploração do espaço de projeto. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

64 Conclusão Trabalhos Futuros

65 Conclusão Este trabalho apresentou duas partes distintas concluídas com sucesso; HP422-MoCHA; Modelagem SystemC do codificador H.264/AVC; São aplicados e discutidos dois diferentes paradigmas de desenvolvimento de HW; Resultados importantes no contexto do projeto no qual estão inseridos. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

66 Trabalhos Futuros Exploração de algoritmos para o modo de decisão;
Simplificação do RDO (Otimização taxa distorção); Exploração de algoritmos para a ME; Pixels fracionários; Algoritmos rápidos; Exploração do espaço de projeto através de experimentação arquitetural; Alteração do paralelismo; Pipeline mais profundo; Redução da largura de banda; Implementação dos blocos restantes do codificador; CABAC; Filtro redutor de efeitos de bloco. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

67 Publicações ZATT, Bruno ; AGOSTINI, Luciano ; SUSIN, A. A. ; BAMPI, Sergio . HP422-MoCHA: A H.264/AVC High Profile motion compensation architecture for HDTV. In: 2008 IEEE International Symposium on Circuits and Systems - ISCAS 2008. ZATT, Bruno ; AGOSTINI, Luciano ; SUSIN, A. A. ; BAMPI, Sergio . High Throughput Architecture for H.264/AVC Motion Compensation Sample Interpolator for HDTV. In: 21th Symposium on Integrated Circuits and Systems Design (SBCCI), 2008. ZATT, Bruno ; DINIZ, C. M. ; AGOSTINI, Luciano ; SUSIN, A. A. ; BAMPI, Sergio . SystemC Modeling of an H.264/AVC Intra Frame Encoder Architecture. In: VLSI-SOC TH IFIP International Conference on Very Large Scale Integration, 2008. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC

68 Publicações ZATT, Bruno ; AZEVEDO, Arnaldo ; SUSIN, A. ; BAMPI, Sergio . Preditor de Vetores de Movimento para o Padrão H.264/AVC Perfil Main. In: XIII IBERCHIP Workshop, 2007. ZATT, Bruno ; AZEVEDO, Arnaldo ; AGOSTINI, Luciano ; SUSIN, A. ; BAMPI, Sergio . Memory Hierarchy Targeting Bi-Predictive Motion Compensation for H.264/AVC Decoder. In: IEEE Computer Society Annual Symposium on VLSI, AZEVEDO, Arnaldo ; ZATT, Bruno ; AGOSTINI, Luciano ; BAMPI, Sergio . MoCHA: a Bi-Predictive Motion Compensation Hardware for H.264/AVC Decoder Targeting HDTV. In: IEEE International Symposium on Circuits and Systems, ISCAS 2007. ROSA, V. S. ; STAEHLER, W. T. ; AZEVEDO, Arnaldo ; ZATT, Bruno ; PORTO, R. E. ; AGOSTINI, Luciano ; BAMPI, Sergio ; SUSIN, A. A. . FPGA Prototyping Strategy for a H.264/AVC Video Decoder. In: 18th IEEE/IFIP International Workshop on Rapid System Prototyping, RSP 2007. ZATT, Bruno ; AZEVEDO, Arnaldo ; AGOSTINI, Luciano ; SUSIN, A. A. ; BAMPI, Sergio . H.264/AVC HDTV Motion Compensation Soft IP. In: IP Based Eletronic System Conference & Exibition 2007, 2007. ZATT, Bruno ; FERREIRA, V. ; AGOSTINI, Luciano ; WAGNER, F. R. ; SUSIN, A. A. ; BAMPI, Sergio . Motion Compensation Hardware Accelerator Architecture for H.264/AVC. In: IEEE Pacific-Rim Symposium on Image and Video Technology, PSIVT, Lecture Notes in Computer Science - Advances on Image and Video Technology. Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Resultados Conclusão e Trabalhos Futuros

69 Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC Defesa de Mestrado Bruno Zatt Sergio Bampi Orientador Perguntas?


Carregar ppt "Defesa de Mestrado Bruno Zatt Sergio Bampi Orientador"

Apresentações semelhantes


Anúncios Google