Title: Modelagem de Hardware para Codifica
1Modelagem 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
2Sumá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.
3Introdução
INTRODUÇÃO
4Introduçã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
5H.264/AVC
6H.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
7H.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
8Codificador 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
9Decodificador 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
10Estimaçã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
11Compensaçã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
12Compensaçã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
13Prediçã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
14Transformadas 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
15Filtro 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
16Codificaçã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
17HP422-MoCHA
18Compensaçã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
19MC 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.
20HP422-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.
21Preditor 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
22Acesso à 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
23Processador 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
24Arquitetura 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
25Interpolador 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
26Filtro 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
27Interpolador 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
28Filtro 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.
29Clipping 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
30Resultados 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.
31Comparaçã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
32Comparaçã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
33Resultados 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.
34Comparaçã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
35Consideraçõ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
36Modelagem SystemC do Codificador H.264/AVC
37Modelagem 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
38Objetivos
- 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
39TLM (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
40Codificador 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
41Codificador 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
42Arquitetura 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.
43Preditor 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
44Preditor 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
45Preditor 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
46Preditor 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 .
47Transformadas 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
48Transformadas 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.
49Transformadas 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()
50Estimaçã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.
51Estimaçã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
52Estimaçã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.
53CAVLC
- 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.
54Análise Temporal
- Introdução
- H.264/AVC
- HP422-MoCHA
- - MC High
- - Arquitetura
- - Resultados e
- Comparação
- Modelagem SC
- - Modelagem
- - Arquitetura
- - Resultados
-
- Conclusão e Trabalhos Futuros
55Aná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
56Aná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
57Aná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
58Aná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
59Aná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
60Aná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
61Aná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
62Aná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
63Consideraçõ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
64Trabalhos Futuros
Conclusão
65Conclusã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
66Trabalhos 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
67Publicaçõ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
68Publicaçõ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
69Modelagem 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?