Defesa de Mestrado Bruno Zatt Sergio Bampi Orientador

Slides:



Advertisements
Apresentações semelhantes
Algoritmo para codificação em bitrate constante Vinicius Kursancew.
Advertisements

NFIS NFSEG Four Finger Plain Segmentation. NFSEG Os conjuntos físicos de dados são cartões de impressão dos 10 dedos rolados e os 4 dedos planos mais.
Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999:
O Vídeo (Parte II) Prof. AMOUSSOU DOROTHÉE
Operações Algébricas Operações Topológicas
Operações envolvendo imagens
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Tecnologia Hipermídia e Multimídia Prof. Rudson Faculdade de Excelência Educacional do Rio Grande do Norte CURSO DE GRADUAÇÃO TECNOLÓGICA.
Especificações de Filtros
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 9.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 11.
Ciclos, Vectores e Gráficos Simulação da Queda de Corpos II
Software Básico Silvio Fernandes
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
Wesley Barbosa Thereza
Aula 5 : Sinalização Horizontal
Análise de regressão linear simples: abordagem matricial
Arquiteturas Diferentes
COMPUTAÇÃO GRÁFICA.
CISC e RISC.
6. Estruturas p/ Sistemas Discretos
Equipamentos 3/25/2017 Equipamentos Computação Gráfica - Gattass.
Imagem Digital Conceitos, Processamento e Análise
Dissertação de Mestrado Michel Alain Quintana Truyenque
SSC144 Arquitetura de Computadores Introdução
Maria Aparecida Castro Livi
Universidade Federal do Rio Grande do Sul Programa de Pós-Graduação em Computação Exploração do espaço de projeto para uma arquitetura de processamento.
1º SEMINÁRIO DO PROJETO MULTIGRID
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Capítulo 7 Multimídia 7.1 Introdução à multimídia
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Formato de arquivo de Vídeo
1 Universidade Federal de Minas Gerais JPEG Alessandra e Aline.
Educandário Nova Grécia Professor: Ronaldo Maio /Junho
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
1 Aula 7 ImplementandoSubprogramas Universidade do Vale do Rio dos Sinos
Professor Victor Sotero
Fundamentação Teórica
Experiments with Strassen’s Algorithm: from sequential to parallel
Contagem de Pessoas por Vídeo Usando Câmeras em Posição Zenital
Capítulo IV – Processamento de Imagem e Vídeo
IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS Luís Gonzaga Trabasso
Televisão: a tecnologia por detrás do écran
Trabalho de Diplomação em Engenharia de Computação 2006/2
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Compressão de Imagens em Movimento
Laboratório de Técnicas Inteligentes - LTI Universidade de São Paulo – USP Escola Politécnica Laboratório de Técnicas Inteligentes – LTI SAURON Localização.
Compressão de Textos Juliano Palmieri Lage.
GAPH Integração de Hardware do Usuário ao CoreConnect Leandro Heleno Möller e Leonel Pablo Tedesco Prototipação Rápida e Computação.
Salas de Matemática.
Geometria da compensação por avanço de fase
Arquitetura de computadores
Momentos de Hu e Zernike para o Reconhecimento de Linguagem de Sinais
Pesquisa Operacional Sistemas Lineares
Arquitetura de computadores
Compressão de áudio Márcio Dahia e Geber Ramalho
Técnicas de Modelagem para Aplicações em Computação Gráfica
Guilherme Defreitas Juraszek
Projeto de Banco de Dados
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Computação Gráfica Aula 3 Transformações Geométricas
Resolução de sistemas de equações lineares
Professor Antonio Carlos Coelho
CMP 167– Programação com Objetos Distribuídos Prof. Cláudio Geyer
GINÁSTICA LABORAL UM NOVO CAMINHO.
MONOGRAFIA MODELO DE ALGORITMO PARA COMPRESSÃO DE ÁUDIO
Guido Stolfi - EPUSP 1 / 65 Compressão de Imagens em Movimento Padrão H.264 PTC2547 Princípios de Televisão Digital Guido Stolfi – 10/2014.
TV DIGITAL Paulo Ernesto Moreira 18/04/2017.
Transcrição da apresentação:

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

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

INTRODUÇÃO Introdução

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

H.264/AVC

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

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

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

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

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

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

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

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

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

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

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

HP422-MoCHA

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

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 8 -10 bits Formato4:2:2 Amostras 8 -12 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

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

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

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

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

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

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

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

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

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.

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

- 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 422 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

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 720p @30qps; 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

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; 1080p @ 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

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 1696.9 MHz 129.9 MHz @ 129.9 MHz; 163 M amostras/segundo; @ 82 MHz; Decodificação em tempo real para HDTV 1080p @ 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

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 1-D Separada 1-D Separada 1-D Separada 1-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%

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

Modelagem SystemC do Codificador H.264/AVC

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

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

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

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

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

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.

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

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

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;

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: …. }

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

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

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(); }

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.

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

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.

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

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

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

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

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

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

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

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

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

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

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

Conclusão Trabalhos Futuros

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

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

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 2008 - 16TH 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

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, 2007. 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, 2007. 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, 2007. 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, 2007. 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

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 bzatt@inf.ufrgs.br Sergio Bampi Orientador Perguntas?