Trabalho de Diplomação em Engenharia de Computação 2006/2

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Programa das Aulas 20/09/05 - Apresentação da disciplina
1 ANÁLISE E PROJETO NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO: CONCEITO MODELOS DE PROCESSO PROCESSO UNIFICADO HISTÓRIA CARACTERÍSTICAS AS QUATRO.
Inversor Trifásicos com Três Pernas
Operações envolvendo imagens
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
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.
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Sumário, aula 9 Elasticidade Elasticidade arco Elasticidade no ponto
Análise de regressão linear simples: abordagem matricial
MC542 Organização de Computadores Teoria e Prática
Arquiteturas Diferentes
MC542 Organização de Computadores Teoria e Prática
CISC e RISC.
Dissertação de Mestrado Michel Alain Quintana Truyenque
Francieli Zanon Boito Rodrigo Virote Kassick
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
FUNÇÃO MODULAR.
Formato de arquivo de Vídeo
Aula 4 Nomes, Vinculações, Tipos e Escopos
Experiments with Strassen’s Algorithm: from sequential to parallel
Listas Encadeadas.
Classes e objetos P. O. O. Prof. Grace.
Provas de Concursos Anteriores
Instituto de Geociências Universidade Federal de Minas Gerais
Unidade de Vídeo Escola Secundária Diogo de Macedo Curso Tecnológico de Informática Aplicações Informáticas A Prof.: Henrique Ribeiro Paulo Cruz 11ºD nº2.
Renda até 2 SM.
Televisão: a tecnologia por detrás do écran
1 Celulose.
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Compressão de Imagens em Movimento
Defesa de Mestrado Bruno Zatt Sergio Bampi Orientador
Cinemática Plana de um Corpo Rígido Cap. 16
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap Exercícios.
Cinética Plana de uma Partícula: Força e Aceleração Cap. 13
Object Oriented Software Construction (MEYER, Bertrand)
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.
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
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.
CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 1
Desenvolvimento de um Telefone IP Baseado em um Processador Blackfin
Modelagem Estatística
EXERCÍCIOS PARA GUARDA-REDES
Técnicas de Modelagem para Aplicações em Computação Gráfica
Projeto de Banco de Dados
ENGA78 – Síntese de Circuitos Digitais
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Grupo A – Azul Claro, Marrom, Laranja
Conceitos básicos em grafos
MATRICIAL CONSULTORIA LTDA. PREFEITURA MUNICIPAL DE GARIBALDI 23/10/ : ATENÇÃO Os locais descritos nas planilhas anexas não correspondem ao total.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
01. Conceitos Básicos e definições
Rio Verde - Goiás - Brasil
Máquina de Turing Universal
CURSO TÉCNICO EM ELETROTÉCNICA – AUTOMAÇÃO INDUSTRIAL
CALENDÁRIO 2013 MÓDULO II.
Módulo Compras Relatórios e Relações 1. Objetivo 2 Conhecer os relatórios e as relações do sistema disponibilizadas no módulo Compras.
Jaime Vinícius de Araújo Cirilo- Engenharia de Produção
CMP 167– Programação com Objetos Distribuídos Prof. Cláudio Geyer
Lógica Programável PTC2527 – EPUSP Guido Stolfi.
PROJETO DE AUTOMAÇÃO RESIDÊNCIAL
GINÁSTICA LABORAL UM NOVO CAMINHO.
MONOGRAFIA MODELO DE ALGORITMO PARA COMPRESSÃO DE ÁUDIO
Transcrição da apresentação:

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

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

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

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

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

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

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

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

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

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

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. Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC

MC – Tamanho Variável de Blocos 16 16x16 8 8x16 1 1 8 16x8 16 1 2 3 8x8 8 8x8 8 8 4 4x8 1 1 8x4 8 4 4 4x4 1 2 3 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC

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

Predição de Vetores de Movimento Predição Padrão 1 4 5 D B 2 3 C 6 7 A E 8 9 12 13 10 11 14 15 D B C A E Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC

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

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

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

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

Arquitetura do MVP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 B A D C C 1 2 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 B A D C C 1 2 3 B A D Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC

Arquitetura MVP Quadro co-localizado é armazenado na memória externa. RESET 1 WAITING 1 TEST MB_TYPE 2 PRE_PROC SPATIAL 6 CONTROL FOR 1 4 5 1 2 3 6 7 CONTROL SUB-FOR 1 8 9 12 13 7 4 6 STANDARD SPATIAL TEMPORAL 10 11 14 15 SET VECTORS 4 1 SAVE MV Quadro co-localizado é armazenado na memória externa. 16 MEMORY REFRESH

Extensão Predição Direta Temporal TEMPORAL 1 TEMPORAL 2 TEMPORAL 5 TEMPORAL 3 TEMPORAL 4 ‘16384’ ‘32’ - C L I P + D I V * + S H I F T C L I P - C L I P

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

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

Resultados de Desempenho Seqüência de Quadros Pior caso (ciclos) Nº de quadros HDTV no pior caso (quadros) Caso médio Nº de quadros HDTV no caso médio(quadros) P 236 69 64 254 B c/ pred. direta espacial 242 67 161 101 B c/ pred. direta temporal 100 162 I-P-B-B-P c/ direta espacial 127 128 I-P-B-B-P c/ direta temporal 88 185 Mesmo no pior caso, em todas as situações, a arquitetura atinge o dobro do desempenho exigido para decodificar HDTV em tempo real.

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

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

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

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

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

Standard Cell Standard Cell Gates 17454 Clock 227,1 TSMC 0,18 µm Típica. Gates 17454 Clock 227,1 MVP Predição Padrão Lista 0 MVP Predição Padrão Lista 0 Lista 1 Predição Direta Espacial Gates 36690 Clock 227,8 MVP Predição Padrão Lista 0 Lista 1 Predição Direta Espacial Predição Direta Temporal Gates 46886 Clock 129,3

Resultados Comparativos IPBBP direta espacial IPBBP direta temporal FPGA Freqüência (MHZ) 146 MHZ 133 MHZ Quadros HDTV / s 139 185 x86 3200 MHZ 40 60 Sun 900 MHZ 5,5 8,6 Mac 733 MHZ 8 ASIC 227 MHZ 129 MHZ 219 179 Preditor de Vetores de Movimento em Hardware Segundo o Padrão H.264/AVC

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

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

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

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