1. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Codificação de Vídeo em MPEG-4
2. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Agenda
• O que é MPEG-4
• Evolução da Norma
• Especificação
• Ferramentas e Algoritmos
• Empacotamento
• Aplicações
3. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Entendendo a Sopa de Letrinhas
• MPEG: Moving Picture Expert Group (ISO)
• VCEG: Video Coding Expert Group (ITU-T)
• JVT: Joint Video Team
• AVC: Advanced Video Coding
• MPEG-4 Parte 10: Nome oficial do ISO/IEC 14496-10-AVC
• H.264: Nome oficial do ITU – Normas da série H – Audio Visual e MM
4. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Segundo Prato
• VCL: Video Coding Layer
• NAL: Network Abstraction Layer
• CAVLC: Context Adaptative Variable Length Coding
• CABAC: Context Aritmetic Binary Adaptative Coding
5. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
O que é MPEG-4
Norma desenvolvida com o propósito de criar e/ou propor novas
ferramentas para o aprimoramento dos padrões de compressão
de vídeo digital existentes a fim de possibilitar diferentes
aplicações para diferentes meios de transmissão.
Streaming Internet
Celular
ADSL
6. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Evolução da Norma H.264/AVC
H.264
H.26L - VCEG
H26L: nome extra-oficial para
H.264 dado pelo ITU
MPEG-4
(parte 10)AVC
H.264/AVC (2001)
JVT
7. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
O que o H.264/AVC especifica
• VCL: Video coding layer:
Especifica as ferramentas implementadas para compressão de
vídeo
• NAL: Network Abstraction Layer:
Especifica o mapeamento dos pacotes gerados no VCL para
diferentes meios de transmissão
8. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Conceito do H.264/AVC
• Usa as ferramentas existentes do MPEG-2:
• GOP
• Quadros I, P, B
• Codificação Intra-Frame
• Codificação Inter-Frame
• Codificação Temporal e Espacial
• Aplicação de DCT – Transformada Discreta Cossenoidal
• Codificação por Entropia
9. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Conceito do H.264/AVC
• Implementa novas ferramentas do AVC:
• CAVLC
• CABAC
• Loop Deblocking Filter
• Variable Block Sizes
• Multiple Reference Frames
• Define novos “Profiles”
• Baseline
• Main
• Extended
• E seus respectivos “Levels”
10. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Importante!!
Não existe uma única inovação que possibilita o
ganho em compressão no H.264/AVC e sim um
conjunto de melhorias que geram pequenos ganhos
individuais, possibilitando um significante aumento
na taxa de compressão.
11. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
MPEG-2 = H.264/AVC = 30 qps eu tiro 12 qps
I B P B P B P B P B P B I
GOP = 12
Predictive Frame
Bidirectional
Frame
Intra-Frame
GOP = 12
12. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
MPEG-2: Codificação Intra-Frame
Redução de Dados Irrelavantes:
Não transmite dados que são dispensáveis para a
composição da imagem. Ex: freqüências de cores que não
podem ser detectadas pelo olho humano, vídeo blancking,
amostragem (4:2:2 ou 4:2:0), quantização 12, 10 para 8 bits,
etc...
Redução de Redundâncias:
Pixels com valores próximos são considerados como
idênticos e simplesmente repetidos
13. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
MPEG-2: Codificação Intra-Frame (I)
Quadro 1 (I) Frame
reconstruído
Compressão
Intra-Frame
8x8
14. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
H.264/AVC: Codificação Intra-Frame (I)
Quadro 1 (I) Frame
reconstruído
Maior compressão
Intra-Frame
8x8
4x4
15. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
MPEG-2: Codificação Inter-Frame
Predictive Frame (P)
Quadro comprimido tendo como referência o quadro anterior.
Proporciona maior compressão que o quadro do tipo (I)
Bi-directional Predictive (B)
Quadro comprimido tendo como referência o quadro
imediatamente anterior e também o imediatamente posterior.
Proporciona maior compressão que os quadros dos tipos (I) e (P)
16. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
MPEG-2: Codificação Inter-Frame (P)
(I) Frame é
Armazenado
(P) Frame
Quadro 1 Quadro 2
Vetor de Movimento
16x16
17. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
H.264/AVC: Codificação Inter-Frame (P)
(P) Frame(I) Frame
Utilização de múltiplos frames = Maior Compressão
18. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
H.264/AVC: Compensação de Movimento
16X16
16X8
8X8
8X4
4X4
16X16
16X8
8X8
8X4
4X4
Melhor busca e maior correlação entre blocos = Maior Compressão
19. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
MPEG-2: Codificação Inter-Frame (B)
(I) Frame
já armazenado
Quadro 1
(P) Frame é reconstruído
e armazenado
Quadro 3
(B) Frame
Vetor de Movimento
Quadro 2 é
armazenado
20. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
H.264/AVC: Codificação Inter-Frame (B)
(B) Frame
Utilização de múltiplos frames = Maior Compressão
21. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
MPEG-2: Sequência de Quadros Comprimidos
(B) Frame
Vetor de Movimento
(I) Frame
Quadro 1
(P) Frame
Quadro 3
Vetor de Movimento
Quadro 2
22. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
H.264/AVC: Sequência de Quadros Comprimidos
(B) Frame(I) Frame
Quadro 1
(P) Frame
Quadro 3 Quadro 2
23. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Transformadas
Após calculado os resíduos de cada quadro, cada índice é
equacionado em matrizes e aplicado a transformada, visando
a normalização e a redução de informações a serem
transmitidas
MPEG-2 = DCT 8x8
H.264 = HCT 4x4
24. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
MPEG-2: Aplicação da DCT
41 27 -3 6
-247 -4 -5 -3
-117 -1 1 -1
-40 -2 2 1
-2 2 -2 2
0 -3 1 1
-1 -1 -1 0
2 1 -2 0
-7 -2 -1 1
-6 1 0 0
-4 -1 -1 1
-3 -3 -1 1
0 -1 -1 2
0 0 -2 -1
-2 -1 -1 -1
0 -1 -1 1
Matriz de coeficientes DCT
H.264/AVC
HCT
25. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
MPEG-2=H.264/AVC: Varredura em ZIG-ZAG
2 2 0 0
20 0 0 0
8 0 0 0
2 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
(2) 2 20 8 0 0 0 0 0 2 0 0 …
Coeficiente DC Coeficientes AC
HCT
DCT
26. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Run Lenght Encoding - Entropia
AAAABBBBBCCCDD
4(A)5(B)3(C)2D
Tabela de Códigos
01110011000000
27. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
MPEG-2: Huffman - VLC
(2) 2 20 8 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0…
(2) 2 20 8 0 0 0 0 0 2 EOB
VLC = CÓDIGO DE HUFFMAN
(1) 001 00 001 00 111 000 Quadro (I) processado
Predictive Coding
28. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
H.264/AVC: CAVLC ou CABAC
(2) 2 20 8 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0…
(2) 2 20 8 0 0 0 0 0 2 EOB
CAVLC, CABAC
(1) 001 00 001 00 111 000 Quadro (I) processado
Predictive Coding
29. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
CAVLC
Context Adaptative Variable Length Coding
Gera trailers de coeficientes 0, -1, +1
Gera correlação entre índices dos blocos vizinhos
Gera proximidade na magnitude de coeficientes de valores não zeros
Várias tabelas adaptativas dinâmicas
30. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Exemplo de CAVLC
Bitstream Gerado →→→→ 000010001110010111101101 (24 bits)
Macro Bloco 4x4
Indices reordenados: 0,3,0,1,-1,-1,0,1,0,0,0,0,0,0,0,0
TotalCoef = 5; TotalZeros=3; T1s =3
31. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
CABAC
• CABAC: Context Aritmetic Binary Adaptative Coding
Operações estatísticas
Modelos de probabilidades
Exp-Golomb code
CABAC = 15% mais eficiente do que CAVLC
32. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Deblocking Filter
• Compressões baseadas na divisão da imagem em macro blocos
geram blocos visíveis em função da dificuldade maior na
reconstrução das bordas do que do interior do bloco.
• H.264/AVC usa uma técnica de filtragem para reduzir o efeito da
blocagem nos limites dos macro-blocos
Ganho de compressão ~5 a 10% em função da melhoria
dos pixels para análise temporal e espacial
Melhoria na imagem subjetiva
33. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Efeito de “Deblocking Filtering”
34. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Profiles and Levels
• H.264/AVC define 3 “Profiles”
Baseline Profile – BP
Main Profile – MP
Extended Profile – XP
• Define também 15 “Levels”
1, 1.1, 1.2, 1.3
2, 2.1, 2.2
3, 3.1, 3.2
4, 4.1, 4.2
5, 5.1
35. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Ferramentas Suportadas por Profile
SP SI
Data
Partioning
B
Weighted
Prediction
I
P
CAVLC
Interlace
CABAC
Slice Groups
Redundant
Slice
Extended
Main
Baseline
36. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Exemplos
MP@ML
MP@L3
MPEG-2
H.264/AVC
37. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
NAL – Network Abstraction Layer
Video Coding Layer
H.320
ControlData
etc.MPEG-2H323/IPMP4FF
Network Abstraction Layer
Data Partitioning
Especifica o mapeamento dos pacotes gerados no VCL para
diferentes meios de transmissão
38. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
MPEG-2: Sintaxe do Transport Stream
Header
Adaptation
Field
PES (Dados)
VIDEO
AUDIO
PSI
SI
PCR
DTS
PTSPID
188 Bytes
4 bytes 184 bytes
39. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Aplicações
• Internet
• Sistema Brasileiro de TV Digital – ISDTV
• IPTV
• Contribuição Jornalismo sobre E-1
• Distribuição de TV
40. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
UE-9410
H.264 Encoder
UE-9318
H.264 DVB-S2 Encoder
Scopus H.264/AVC - Linha de Produtos
IRD-2900
H.264 Receiver
41. Scopus information not be disclosed or
reprinted without prior written permission from
Scopus – Presentation for SSPI event 05-06-07
Sidnei Brito
Scopus do Brasil Ltda
sidnei@scopusbrasil.com.br
+55 12 3923-9208
+55 12 9113-7844
Visite nosso web-site:
www.scopusbrasil.com.br
Obrigado a todos!