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

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

Universidade Federal do Rio Grande do Sul - UFRGS Programa de Pós-Graduação em Computação- PPGC Modelagem de Hardware para Codificação de Vídeo e Arquitetura.

Apresentações semelhantes


Apresentação em tema: "Universidade Federal do Rio Grande do Sul - UFRGS Programa de Pós-Graduação em Computação- PPGC Modelagem de Hardware para Codificação de Vídeo e Arquitetura."— Transcrição da apresentação:

1 Universidade Federal do Rio Grande do Sul - UFRGS Programa de Pós-Graduação em Computação- PPGC 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; Arquitetura; Resultados; Conclusão e Trabalhos Futuros. 2 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

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

5 H.264/AVC

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

7 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. 7 Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - 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 Perfil Baseline Perfil Extended Perfil Main Transforma da Adaptativa Quantização em Percepção Perfil High 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 ExtendedMain 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

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

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

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

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

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

13 Predição Intra-Quadro 13 Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros 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. Iabcd Kikl ACEG eg m MBDFH Jfh Lnp j o

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

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

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

19 MC nos Perfis High 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. 19 Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros 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 Formato 4:2:2 Amostras bits Transformada Residual Codificação Sem Perde Formato 4:4:4

20 HP422-MoCHA – High Profile 4:2:2 Motion Compensation Hardware Architecture 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. 20 Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros Preditor de Vetores de Movimento Memória de Referências Acesso à Memória Processamento de Luma Processamento de Croma Buffer de Macrobloco

21 Preditor de Vetores (MVP) 21 Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC MEMORY REFRESH SET VECTORS SAVE MV CONTROL FOR CONTROL SUB-FOR STANDARDSPATIALTEMPORAL PRE_PROC SPATIAL WAITING TEST_MB_TYPE B B B B A A A A DC Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros

22 Acesso à Memória 22 CACHE DDR = Memória Interna Linha Coluna POC Addr Amostras Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros 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.

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

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

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

26 Filtro FIR Implementado em 3 estágios de pipeline; Sem multiplicadores << Clip EFGHIJ 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 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros

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

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

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

30 Resultados de Síntese 30 Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros MVP Acesso Memória Proc. Amostras MoCHA 4:2:0 HP 422 MoCHA Aumento % Slices % Flip Flops % LUTs % BRAM % Mult % FPGA: - Synplify Pro version 8.1; - Xilinx Virtex 2 PRO 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.

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

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

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

34 Wang03 [5] Chen04 [6]Wang05 [4]Chen06 [8]Azevedo07[9]Li07 [7] Proposta PerfilBaseline Main BaselineMain Arquitetura1-D Separada 1-D Componetes do Interpolador FIR x 2 Horiz. FIR x5 Horiz. FIR x9 Horiz. FIR x4 (bilinear embarcado) Horiz. FIR x9 FIR x4 Horiz. FIR x8 Vert. FIR x11 Vert. FIR x4 Vert. FIR x8 (bilinear embarcado) Vert. FIR x4 Bilinear Bilinear x4 None (12 filtros bilineares embarcado) Bilinear x4 Filtro 1/8 x3n/aFiltro 1/8 x2n/aFiltro 1/8 nenhum Filtro 1/8 Gate Count (0.25um) (0.18um) (0.18um) (0.18um) (0.18um) (0.18um) Tempo de Interpolação 1280 ciclos/MB (pior caso) n/a 560 ciclos/MB (pior caso) 320 ciclos/MB (médio) 304 ciclos/MB (pior caso) Freq. Necessária HD 1080 n/a 100MHz87MHz82MHz100MHz82MHz Comparação 34 17% Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros

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

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

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

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 39 Modelagem de Hardware para Codificação de Vídeo e Arquitetura de Compensação de Movimento Segundo o Padrão H.264/AVC Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros * CAI, L., GAJSKI, D. Transaction Level Modeling: An Overview

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

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

42 Arquitetura Modelada 2 estágios de macro- pipeline; Caminho de reconstrução simplificado utilizando memória de predição. 42 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros 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

43 Preditor Intra-Quadro 43 *Bruno Zatt e Cláudio Diniz Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - 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.

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

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

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

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

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

49 Transformadas e Quantização (TQ) 49 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros T/Q SUBSUB Chroma Luma Luma I16MB WRITEWRITE 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) 50 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - 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. FIFOFIFO ME Leitura da Memória Controle da Busca Á rea de Busca Cálculo do SAD Acumuladores de SAD

51 Estimação de Movimento (ME) 51 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros FIFOFIFO ME Leitura da Memória Controle da Busca Á rea de Busca Cálculo do SAD Acumuladores de SAD for (FS_Y=start_Y; FS_Y

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

53 CAVLC 53 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - 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 Parâmetros LEITORLEITOR Controle Gera Stream CAVLC

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

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

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

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

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

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

60 Análise da Comunicação 60 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros 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 AB C D E F G H I J ConexãoTráfego de DadosConexãoTráfego de Dados A93,3 MB/sG29.6 – 36,9 MB/s B93,3 MB/sH C I D93,3 – 155,5MB/sJ812,8 MB/s E93,3 MB/sLVariável F93,3 – 155,5MB/s L

61 Análise da Comunicação 61 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros 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 AB C D E F G H I J L

62 Análise da Comunicação 62 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros 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 AB C D E F G H I J ConexãoTráfego de DadosConexãoTráfego de Dados A93,3 MB/sG29.6 – 36,9 MB/s B93,3 MB/sH C I D93,3 – 155,5MB/sJ812,8 MB/s E93,3 MB/sLVariável F93,3 – 155,5MB/s L

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

64 Trabalhos Futuros Conclusão

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

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

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

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, 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 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 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, 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. 68 Introdução H.264/AVC HP422-MoCHA - MC High - Arquitetura - Resultados e Comparação Modelagem SC - Modelagem - Arquitetura - Resultados Conclusão e Trabalhos Futuros

69 Universidade Federal do Rio Grande do Sul - UFRGS Programa de Pós-Graduação em Computação- PPGC 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 "Universidade Federal do Rio Grande do Sul - UFRGS Programa de Pós-Graduação em Computação- PPGC Modelagem de Hardware para Codificação de Vídeo e Arquitetura."

Apresentações semelhantes


Anúncios Google