Modelagem de Hardware para Codifica - PowerPoint PPT Presentation

1 / 69
About This Presentation
Title:

Modelagem de Hardware para Codifica

Description:

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 – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 70
Provided by: bza5
Category:

less

Transcript and Presenter's Notes

Title: Modelagem de Hardware para Codifica


1
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.

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
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

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

8
Codificador 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

9
Decodificador 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

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
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

Vetor de Movimento
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
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

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
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

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
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

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
  • - 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.
  • 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 EntropiaCAVLC
  • 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
  • - 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.
  • 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
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros
  • High
  • Subamostragem de cor 400 (monocromático)
  • High 10
  • Largura de amostras de 9 e 10 bits
  • High 422
  • Subamostragem de cor 422.

20
HP422-MoCHA High Profile 422 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
  • - Arquitetura
  • - 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.

21
Preditor de Vetores (MVP)
B
B
D
C
B
B
1
0
A
4
5
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

3
2
A
6
7
8
9
12
13
A
10
11
14
15
A
22
Acesso à Memória
  • 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
  • 422
  • 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
  • - Arquitetura
  • - 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
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

Caminho de Dados de Luma
Caminho de Dados de Croma
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
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

Wang, 2005
25
Interpolador de Luminância
  • 4 FIR Verticais
  • 8 FIR Horizontais
  • 4 Filtros Bilineares.

F I R
62
F I R
Bilinear
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

F I R
F I R
62
Bilinear
F I R
F I R
F I R
62
Bilinear
F I R
F I R
F I R
62
Bilinear
F I R
F I R
26
Filtro FIR
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros
  • Implementado em 3 estágios de pipeline
  • Sem multiplicadores.

Y (E5F20G20H5IJ)/32 ? ? ? Y
(EJ)(GH)44(GH)(FI)
4(GH)(FI)/32
27
Interpolador 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

28
Filtro de Croma



-


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

30
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
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

MVP Acesso Memória Proc. Amostras MoCHA 420 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 0 21 33 28
Mult. 0 0 14 12 14 0
  • _at_ 99.9 MHz
  • Decodifica, em tempo real, HDTV 1080p para o
    perfil High 422
  • 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 422
    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 _at_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
  • - 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
  • 1080p _at_ 30qps para perfil Main.
  • 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
  • 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
  • - Arquitetura
  • - 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
  • _at_ 129.9 MHz
  • 163 M amostras/segundo
  • _at_ 82 MHz
  • Decodificação em tempo real para HDTV 1080p _at_ 30
    qps
  • 93.3 M amostras/segundo.

34
Comparação
Wang03 5 Chen04 6 Wang05 4 Chen06 8 Azevedo079 Li07 7 Proposta
Perfil Baseline Baseline Baseline Main Main Baseline Main
Arquitetura 1-D Separada 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) Horiz. FIR x9 FIR x4 Horiz. FIR x8
Componetes do Interpolador FIR x 2 Vert. FIR x11 Vert. FIR x4 Vert. FIR x8 (bilinear embarcado) Vert. FIR x4 FIR x4 Vert. FIR x4
Componetes do Interpolador Bilinear Bilinear Bilinear x4 None (12 filtros bilineares embarcado) Bilinear x4 Bilinear x4 Bilinear x4
Componetes do Interpolador Filtro 1/8 x3 n/a Filtro 1/8 x2 n/a Filtro 1/8 nenhum Filtro 1/8
Gate Count 11.172 23.872 (0.25um) 20.686 (0.18um) 15.000 (0.18um) 18.846 (0.18um) 13.027 (0.18um) 12.345 (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) 304 ciclos/MB (pior caso) 304 ciclos/MB (pior caso)
Freq. Necessária HD 1080 n/a n/a 100MHz 87MHz 82MHz 100MHz 82MHz
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - 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
  • - 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.
  • 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.
  • 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
  • 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
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

41
Codificador 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

42
Arquitetura Modelada
  • 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á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
  • - 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.

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

sc_portltline_read_ifgt org_line typedef
sample_line int4 sample_line
trasformed_input
46
Preditor Intra-Quadro
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

void intra_vizinhosatualiza_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
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

48
Transformadas e Quantização (TQ)
  • 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.

49
Transformadas e Quantização (TQ)
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

void TQtransproc() . for
(int i0ilt4i) for (int
j0jlt4j) mult_tempij
(fabs(mult_temp1ij) (PFij pow(2,
qbits))/QS f) / pow(2, qbits)
. tranform_block.notify()

50
Estimação de Movimento (ME)
  • 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.

51
Estimação de Movimento (ME)
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

for (FS_Ystart_Y FS_Yltend_Y FS_Y)
//PERCORRE LINHAS DA AREA for (FS_Xstart_X
FS_Xltend_X FS_X) // PERCORRE COLUNAS DA
AREA for (i0 ilt4 i) //BLOCOS 4X4
VERTICALMENTE for (j0 jlt4 j) //
BLOCOS 4X4 HORIZONTALMENTE SAD_accij
SAD(FS_Y, FS_X, i, j) MB_SAD_ready.n
otify() wait() //MB TESTADO
52
Estimação de Movimento (ME)
  • 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.

53
CAVLC
  • 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.

54
Análise Temporal
  • Esquema de Cores
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

55
Análise Temporal
1º Estágio de Pipeline Caso 1
Ciclos 620 Freq 150 MHz
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

56
Análise Temporal
1º Estágio de Pipeline Caso 2
Ciclos 471 Freq 114 MHz
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - 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
57
Análise Temporal
1º Estágio de Pipeline Caso 3
Ciclos 544 Freq 132 MHz
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - 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
58
Análise Temporal
1º Estágio de Pipeline Caso 4
Parâm. Intra e Atualiza Vizinhos
  • 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
T/Q
IT/IQ
MD
Memória Referência
Busca ME
59
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
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

60
Análise da Comunicação
L
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

Conexão Tráfego de Dados Conexão Tráfego de Dados
A 93,3 MB/s G 29.6 36,9 MB/s
B 93,3 MB/s H 93,3 MB/s
C 93,3 MB/s I 93,3 MB/s
D 93,3 155,5MB/s J 812,8 MB/s
E 93,3 MB/s L Variável
F 93,3 155,5MB/s
61
Análise da Comunicação
L
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

62
Análise da Comunicação
L
  • Introdução
  • H.264/AVC
  • HP422-MoCHA
  • - MC High
  • - Arquitetura
  • - Resultados e
  • Comparação
  • Modelagem SC
  • - Modelagem
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

Conexão Tráfego de Dados Conexão Tráfego de Dados
A 93,3 MB/s G 29.6 36,9 MB/s
B 93,3 MB/s H 93,3 MB/s
C 93,3 MB/s I 93,3 MB/s
D 93,3 155,5MB/s J 812,8 MB/s
E 93,3 MB/s L Variável
F 93,3 155,5MB/s
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
  • - Arquitetura
  • - Resultados
  • Conclusão e Trabalhos Futuros

64
Trabalhos Futuros
Conclusão
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
  • - 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.
  • 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 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
  • - 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, 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
  • - Arquitetura
  • - 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
  • bzatt_at_inf.ufrgs.br
  • Sergio Bampi
  • Orientador

Perguntas?
Write a Comment
User Comments (0)
About PowerShow.com