O Formato de Compressão
H.264 / MPEG- 4 AVC
Mestrado em Engenharia de Telecomunicações
Seminário sobre temas de estudo
Orientador: Carlos Pedroso
Aluno: Paulo Silveira
Evolução da codificação de vídeo
• A digitalização dos sinais de vídeo criou muitos serviços para a
entrega de conteúdo:
 Satélite
 Cable TV
 Televisão
 Vídeo sobre IP
 OTT
• Para otimizar estes serviços, há necessidade de:
 Alta qualidade dos serviços (QoS)
 Baixa taxa de bit.
 Baixo consumo de energia.
• A codificação da fonte de vídeo é responsável pela redução do
bit-rate.
Conflito
Evolução da codificação de vídeo
• Os esforços para maximizar a eficiência da codificação ao lidar
com:
 Diversificação dos tipos de rede.
 Características de formatação e requerimento de robustez
(perdas/erros).
Problemas de Vídeo devido ao Codec
• Blocking
Baixo Original Alto
Imagens, quadros e campos
• Imagens codificadas podem representar um quadro inteiro ou
um único campo.
• Um quadro de vídeo pode ser considerado como contendo dois
campos entrelaçados.
• Quadro entrelaçado: os dois campos de um quadro foram
capturados em diferentes instantes de tempo.
• Quadro Progressivo.
• A representação da codificação em H.264/AVC é principalmente
agnóstico em relação a esta característica de vídeo.
Funcionamento de Codificação de Campo/Quadro Adaptativo
• Em quadros entrelaçados com as regiões de objetos em movimento,
duas linhas adjacentes tendem a mostrar um reduzido grau de
dependência estatística.
• O formato H.264/AVC permite qualquer uma das seguintes decisões
para codificar um quadro:
 Modo quadro: combina os dois campos juntos.
 Modo campo: não combina os dois campos juntos.
• A escolha pode ser feita de forma adaptativa para cada quadro e é
referenciado como uma imagem adaptável a codificação de quadro
/ campo.
• Modo campo:
 Compensação de movimento utiliza campos de referência
 Desbloqueio do filtro não é utilizado para as bordas horizontais dos
macroblocos.
• Região MovimentoModo Campo
• Região Não MovimentoModo Quadro
Amostragem
• YCbCr espaço
de cor
• H.264/AVC utiliza uma estrutura de amostragem chamada
amostragem 4:2:0 com 8 bits de precisão por amostra.
• A componente de crominância tem um quarto do número de
amostras do que a componente de luminância (em ambas as
dimensões horizontal e vertical)
• Y é chamado luminâcia e representa o
brilho.
• Cb e Cr são chamados de crominância e
representam o desvio do cinza para azul e
vermelho.
Macroblocos e “Slices”
• Macroblocos é a partição de um quadro de tamanho fixo, com
amostras de 16x16 da componente de luminância e de amostras
de 8x8 de cada um dos dois componentes da crominância.
• “Slices” são uma sequência de macroblocos que são
processados ​​na ordem de uma varredura de digitalização quando
não estiver usando Ordenamento de Macrobloco Flexível (FMO).
• Uma imagem é uma coleção de um ou mais “slices” do
H.264/AVC.
• Cada “slice” pode ser decodificado corretamente, sem o uso de
dados de outros “slice”.
Recursos para a melhoria da predição
• Predição espacial direcional para a codificação
intra.
• Compensação de movimento de blocos de
tamanho variável com tamanho de blocos
pequeno.
• Precisão de compensação de movimento com
¼ das amostras.
• Vetores de movimento ao longo dos limites da
imagem.
• Compensação de movimento em imagem de
referência múltipla
• Dissociação de referenciar o formulário de
ordem relativo a ordem de visualização.
• Dissociação dos métodos de representação da
capacidade de referenciamento da imagem.
• Predição ponderada.
• Melhoria dos “saltos” e inferência no
movimento “direto”.
• “De-blocking”: circuito de filtragem.
Recursos para melhorar a eficiência de codificação e robustez
• Recursos para melhorar a eficiência de codificação
 Transforma o tamanho de pequenos blocos.
 Transforma a inversa da exata correspondência.
 Transforma o comprimento de palavras menores.
 Transforma o bloco hierárquico.
 Codificação de entropia aritmética.
 Codificação de entropia adaptativa ao contexto.
• Recursos para robustez a erros e perdas nos dados
 Estrutura do conjunto de parâmetros.
 Estrutura de sintaxe unitária (NAL).
 Tamanho flexível dos “slices”.
 Ordenação de macroblocos flexíveis (FMO).
 Ordenação de “slices arbitrária” (ASO).
 Imagens redundantes.
 Particionamento de dados.
 Chaveamento e sincronização de imagens
Estrutura de codificação do macrobloco
Entropy
Coding
Scaling &
Inv.
Transform
Motion-
Compensation
Control
Data
Quant.
Transf. coeffs
Motion
Data
Intra/Inter
Coder
Control
Decode
r
Motion
Estimation
Transform/
Scal./Quant.-
Input
Video
Signal
Split into
Macroblocks
16x16 pixels
Intra-frame
Prediction
De-blocking
Filter
Outpu
t
Video
Signal
Codificação
..
Sequencia imagem
0101...
bit stream
+
DCT Q VLC
Q-1
DCT-1
+
MEMM.C.
-
+
Intra / Inter
switch
+
+
M.E.
Codificação
..
Sequencia imagem
0101...
bit stream
+
DCT Q VLC
Q-1
DCT-1
+
MEMM.C.
-
+
Intra / Inter
switch
+
+
M.E.
..
0101...
+
DCT Q VLC
Q-1
DCT-1
+
MEMM.C.
-
+
Intra / Inter
switch
+
+
M.E.
Codificação
..
Sequencia imagem
0101...
bit stream
+
DCT Q VLC
Q-1
DCT-1
+
MEMM.C.
-
+
Intra / Inter
switch
+
+
M.E.
Codificação
..
Sequencia imagem
0101...
bit stream
+
DCT Q VLC
Q-1
DCT-1
+
MEMM.C.
-
+
Intra / Inter
switch
+
+
M.E.
Codificação
..
Sequencia imagem
0101...
bit stream
+
DCT Q VLC
Q-1
DCT-1
+
MEMM.C.
-
+
Intra / Inter
switch
+
+
M.E.
Características da codificação
• Predição espacial direcional para a codificação
intra:
• Intra predição é prever a textura no bloco atual utilizando as
amostras de pixel a partir de blocos vizinhos.
• Prever a semelhança entre os pixels vizinhos de um quadro
com antecedência, e explorar a transformação da codificação
diferencial para remover a codificação de redundância..
Vertical
Horizontal + + + +
+
+
+
+
Mean
DC Diagonal down-
left
Horizontal up
Vertical right
Vertical leftHorizontal down
Intra
Prediction
Transform/
Quantization
Entropy
Coding
Características da codificação
• Transformação do bloco hierárquico
 Para os macroblocos é codificado em 16  16 intra modo
e blocos de crominância.
 Os coeficientes DC são ainda agrupados e
transformados.
 A transformação de Hadamard é utilizada para o bloco
de crominância.
 Destina-se a codificação de áreas suaves.
Predição espacial direcional para a codificação intra - 16  16
Intra16x16PredMo
de
Name of Intra16x16PredMode
0 Vertical (prediction mode)
1 Horizontal (prediction mode)
2 DC (prediction mode)
3 Plane (prediction mode)
Flexível ordenação de macroblocos
• Imagem pode ser particionada dentro de regiões
(“slices”).
• Cada região pode ser decodificada
independentemente.
• Um “slice” é uma sequencia de macroblocos dentro
do mesmo grupo de “slices”.
Predição ponderada de quadros B
• Ordem de reprodução: I0 B1 B2 B3 P4 B5 B6 ...
• Ordem do bitstream : I0 P4 B1 B3 B2 P8 B5 ...
I0 B1 B2 B3 P4 B5 B6
Time
Compensação de movimento
Entropy
Coding
Scaling &
Inv.
Transform
Motion-
Compensation
Control
Data
Quant.
Transf. coeffs
Motion
Data
Intra/Inter
Coder
Control
Decode
r
Motion
Estimation
Transform/
Scal./Quant.-
Input
Video
Signal
Split into
Macroblocks
16x16 pixels
Intra-frame
Prediction
De-blocking
Filter
Output
Video
Signal
Various block sizes and shapes
8x8
0
4x8
0 1
0 1
2 3
4x48x4
1
08x8
Types
0
16x16
0 1
8x16
MB
Types
8x8
0 1
2 3
16x8
1
0
Compensação de movimento de blocos de tamanho
variável com blocos de tamanho pequeno
• Particionado em 2 estágios.
• No1⁰ estagio, determina os primeiros
4 modos:
 1616, 168, 816, 88
• Se o modo 4 (88) é escolhido,
temos também a partição em blocos
menores para cada bloco 8x8:
 84, 48, 44
• No máximo 16 vetores de movimento
podem ser transmitidos para um
macrobloco 16  16.
• Grande complexidade computacional
para determinar os modos.
• Melhora a flexibilidade de
comparação.
• Reduz o erro de comparação.
0
0
1
0
2 3
0 1
1
16 x
16
16 x
8
8 x
16
8 x
8
0
0
1
0
2 3
0 1
1
8 x
8
8 x 4 4 x
8
4 x
4
Múltiplos quadros de referencia
Entropy
Coding
Scaling &
Inv.
Transform
Motion-
Compensation
Control
Data
Quant.
Transf. coeffs
Motion
Data
Intra/Inter
Coder
Control
Decode
r
Motion
Estimation
Transform/
Scal./Quant.-
Input
Video
Signal
Split into
Macroblocks
16x16 pixels
Intra-frame
Prediction
De-blocking
Filter
Output
Video
Signal
Multiple Reference Frames for
Motion Compensation
Compensação de movimento de imagens
de referência múltipla (“Slices” P)
• Mais de uma imagem codificada previamente pode ser
usado como referência para a predição do MC.
• O parâmetro do índice da referencia é transmitido para
cada MC 16x16, 16x8, 8x16 or 8x8.
• Para os blocos menores dentro do bloco 8x8 usar o
índice de referência 1.
• O macrobloco P pode também ser codificado no tipo P
(salto).
Remoção da redundância perceptiva
• Circuito de “De-blocking”- filtragem
 Remove o artefato de “blocking”
o Resultado de compensação de movimento baseada em
blocos.
o O resultado de um bloco de codificação baseado na
transformada.
o Reduz significativamente os resíduos de predição
Without filter with H.264/AVC De-blocking
Transformação do bloco (44)
Entropy
Coding
Scaling &
Inv.
Transform
Motion-
Compensation
Control
Data
Quant.
Transf. coeffs
Motion
Data
Intra/Inter
Coder
Control
Decod
er
Motion
Estimation
Transform/
Scal./Quant.-
Input
Video
Signal
Split into
Macroblocks
16x16 pixels
Intra-frame
Prediction
De-blocking
Filter
Outp
ut
Video
Signa
l
 4x4 Block Integer Transform
 Main Profile: Adaptive Block
Size
Transform (8x4,4x8,8x8)
 Repeated transform of DC
coeffs for 8x8 chroma and
16x16 Intra luma blocks
1 1 1 1
2 1 1 2
1 1 1 1
1 2 2 1
 
 
 
 
  
 
   
H
Modos de predição intra-frame
Entropy
Coding
Scaling &
Inv.
Transform
Motion-
Compensation
Control
Data
Quant.
Transf. coeffs
Motion
Data
Intra/Inter
Coder
Control
Decode
r
Motion
Estimation
Transform/
Scal./Quant.-
Input
Video
Signal
Split into
Macroblocks
16x16 pixels
Intra-frame
Prediction
De-blocking
Filter
Outpu
t
Video
Signal
 Directional spatial prediction
(9 types for luma, 1 chroma)
• e.g., Mode 3:
diagonal down/right prediction
a, f, k, p are predicted by
(A + 2Q + I + 2) >> 2
Q A B C D E F G
H
I a b c d
J e f g h
K i j k l
L m n o p
M
N
O
P
1
0
34
56
7
8
2-
DC
Referencias:
1)I.E.G. Richardson, “H.264/MPEG4 Part 10: Intra Prediction,”
available at http://www.vcodex.com
2)I.E.G. Richardson, “H.264/MPEG4 Part 10: Inter Prediction,”
available at http://www.vcodex.com
3)I.E.G. Richardson, “H.264/MPEG4 Part 10: Transform and
Quantization,” available at http://www.vcodex.com
4)IEEE Transactions on Circuits and Systems for Video
Technology (2003): Special Issue on the H.264/AVC Video Coding
Standard
5)Signal Processing: Image Communication (2004):
Video coding using the H.264/MPEG-4 AVC compression standard
6)Ralf Schafer, Thomas Wiegand and Heiko Schwarz, “The
emerging H.264/AVC standard,” in EBU technical review, Jan.
2003
7)Jorn Ostermann et al., “Video coding with H.264/AVC: Tools,
Performance, and Complexity,” in IEEE Circuit and systems
magazine, first quarter. 2004.

H.264 / MPEG-4 AVC

  • 1.
    O Formato deCompressão H.264 / MPEG- 4 AVC Mestrado em Engenharia de Telecomunicações Seminário sobre temas de estudo Orientador: Carlos Pedroso Aluno: Paulo Silveira
  • 2.
    Evolução da codificaçãode vídeo • A digitalização dos sinais de vídeo criou muitos serviços para a entrega de conteúdo:  Satélite  Cable TV  Televisão  Vídeo sobre IP  OTT • Para otimizar estes serviços, há necessidade de:  Alta qualidade dos serviços (QoS)  Baixa taxa de bit.  Baixo consumo de energia. • A codificação da fonte de vídeo é responsável pela redução do bit-rate. Conflito
  • 3.
    Evolução da codificaçãode vídeo • Os esforços para maximizar a eficiência da codificação ao lidar com:  Diversificação dos tipos de rede.  Características de formatação e requerimento de robustez (perdas/erros).
  • 4.
    Problemas de Vídeodevido ao Codec • Blocking Baixo Original Alto
  • 5.
    Imagens, quadros ecampos • Imagens codificadas podem representar um quadro inteiro ou um único campo. • Um quadro de vídeo pode ser considerado como contendo dois campos entrelaçados. • Quadro entrelaçado: os dois campos de um quadro foram capturados em diferentes instantes de tempo. • Quadro Progressivo. • A representação da codificação em H.264/AVC é principalmente agnóstico em relação a esta característica de vídeo.
  • 6.
    Funcionamento de Codificaçãode Campo/Quadro Adaptativo • Em quadros entrelaçados com as regiões de objetos em movimento, duas linhas adjacentes tendem a mostrar um reduzido grau de dependência estatística. • O formato H.264/AVC permite qualquer uma das seguintes decisões para codificar um quadro:  Modo quadro: combina os dois campos juntos.  Modo campo: não combina os dois campos juntos. • A escolha pode ser feita de forma adaptativa para cada quadro e é referenciado como uma imagem adaptável a codificação de quadro / campo. • Modo campo:  Compensação de movimento utiliza campos de referência  Desbloqueio do filtro não é utilizado para as bordas horizontais dos macroblocos. • Região MovimentoModo Campo • Região Não MovimentoModo Quadro
  • 7.
    Amostragem • YCbCr espaço decor • H.264/AVC utiliza uma estrutura de amostragem chamada amostragem 4:2:0 com 8 bits de precisão por amostra. • A componente de crominância tem um quarto do número de amostras do que a componente de luminância (em ambas as dimensões horizontal e vertical) • Y é chamado luminâcia e representa o brilho. • Cb e Cr são chamados de crominância e representam o desvio do cinza para azul e vermelho.
  • 8.
    Macroblocos e “Slices” •Macroblocos é a partição de um quadro de tamanho fixo, com amostras de 16x16 da componente de luminância e de amostras de 8x8 de cada um dos dois componentes da crominância. • “Slices” são uma sequência de macroblocos que são processados ​​na ordem de uma varredura de digitalização quando não estiver usando Ordenamento de Macrobloco Flexível (FMO). • Uma imagem é uma coleção de um ou mais “slices” do H.264/AVC. • Cada “slice” pode ser decodificado corretamente, sem o uso de dados de outros “slice”.
  • 9.
    Recursos para amelhoria da predição • Predição espacial direcional para a codificação intra. • Compensação de movimento de blocos de tamanho variável com tamanho de blocos pequeno. • Precisão de compensação de movimento com ¼ das amostras. • Vetores de movimento ao longo dos limites da imagem. • Compensação de movimento em imagem de referência múltipla • Dissociação de referenciar o formulário de ordem relativo a ordem de visualização. • Dissociação dos métodos de representação da capacidade de referenciamento da imagem. • Predição ponderada. • Melhoria dos “saltos” e inferência no movimento “direto”. • “De-blocking”: circuito de filtragem.
  • 10.
    Recursos para melhorara eficiência de codificação e robustez • Recursos para melhorar a eficiência de codificação  Transforma o tamanho de pequenos blocos.  Transforma a inversa da exata correspondência.  Transforma o comprimento de palavras menores.  Transforma o bloco hierárquico.  Codificação de entropia aritmética.  Codificação de entropia adaptativa ao contexto. • Recursos para robustez a erros e perdas nos dados  Estrutura do conjunto de parâmetros.  Estrutura de sintaxe unitária (NAL).  Tamanho flexível dos “slices”.  Ordenação de macroblocos flexíveis (FMO).  Ordenação de “slices arbitrária” (ASO).  Imagens redundantes.  Particionamento de dados.  Chaveamento e sincronização de imagens
  • 11.
    Estrutura de codificaçãodo macrobloco Entropy Coding Scaling & Inv. Transform Motion- Compensation Control Data Quant. Transf. coeffs Motion Data Intra/Inter Coder Control Decode r Motion Estimation Transform/ Scal./Quant.- Input Video Signal Split into Macroblocks 16x16 pixels Intra-frame Prediction De-blocking Filter Outpu t Video Signal
  • 12.
    Codificação .. Sequencia imagem 0101... bit stream + DCTQ VLC Q-1 DCT-1 + MEMM.C. - + Intra / Inter switch + + M.E.
  • 13.
    Codificação .. Sequencia imagem 0101... bit stream + DCTQ VLC Q-1 DCT-1 + MEMM.C. - + Intra / Inter switch + + M.E. .. 0101... + DCT Q VLC Q-1 DCT-1 + MEMM.C. - + Intra / Inter switch + + M.E.
  • 14.
    Codificação .. Sequencia imagem 0101... bit stream + DCTQ VLC Q-1 DCT-1 + MEMM.C. - + Intra / Inter switch + + M.E.
  • 15.
    Codificação .. Sequencia imagem 0101... bit stream + DCTQ VLC Q-1 DCT-1 + MEMM.C. - + Intra / Inter switch + + M.E.
  • 16.
    Codificação .. Sequencia imagem 0101... bit stream + DCTQ VLC Q-1 DCT-1 + MEMM.C. - + Intra / Inter switch + + M.E.
  • 17.
    Características da codificação •Predição espacial direcional para a codificação intra: • Intra predição é prever a textura no bloco atual utilizando as amostras de pixel a partir de blocos vizinhos. • Prever a semelhança entre os pixels vizinhos de um quadro com antecedência, e explorar a transformação da codificação diferencial para remover a codificação de redundância.. Vertical Horizontal + + + + + + + + Mean DC Diagonal down- left Horizontal up Vertical right Vertical leftHorizontal down Intra Prediction Transform/ Quantization Entropy Coding
  • 18.
    Características da codificação •Transformação do bloco hierárquico  Para os macroblocos é codificado em 16  16 intra modo e blocos de crominância.  Os coeficientes DC são ainda agrupados e transformados.  A transformação de Hadamard é utilizada para o bloco de crominância.  Destina-se a codificação de áreas suaves.
  • 19.
    Predição espacial direcionalpara a codificação intra - 16  16 Intra16x16PredMo de Name of Intra16x16PredMode 0 Vertical (prediction mode) 1 Horizontal (prediction mode) 2 DC (prediction mode) 3 Plane (prediction mode)
  • 20.
    Flexível ordenação demacroblocos • Imagem pode ser particionada dentro de regiões (“slices”). • Cada região pode ser decodificada independentemente. • Um “slice” é uma sequencia de macroblocos dentro do mesmo grupo de “slices”.
  • 21.
    Predição ponderada dequadros B • Ordem de reprodução: I0 B1 B2 B3 P4 B5 B6 ... • Ordem do bitstream : I0 P4 B1 B3 B2 P8 B5 ... I0 B1 B2 B3 P4 B5 B6 Time
  • 22.
    Compensação de movimento Entropy Coding Scaling& Inv. Transform Motion- Compensation Control Data Quant. Transf. coeffs Motion Data Intra/Inter Coder Control Decode r Motion Estimation Transform/ Scal./Quant.- Input Video Signal Split into Macroblocks 16x16 pixels Intra-frame Prediction De-blocking Filter Output Video Signal Various block sizes and shapes 8x8 0 4x8 0 1 0 1 2 3 4x48x4 1 08x8 Types 0 16x16 0 1 8x16 MB Types 8x8 0 1 2 3 16x8 1 0
  • 23.
    Compensação de movimentode blocos de tamanho variável com blocos de tamanho pequeno • Particionado em 2 estágios. • No1⁰ estagio, determina os primeiros 4 modos:  1616, 168, 816, 88 • Se o modo 4 (88) é escolhido, temos também a partição em blocos menores para cada bloco 8x8:  84, 48, 44 • No máximo 16 vetores de movimento podem ser transmitidos para um macrobloco 16  16. • Grande complexidade computacional para determinar os modos. • Melhora a flexibilidade de comparação. • Reduz o erro de comparação. 0 0 1 0 2 3 0 1 1 16 x 16 16 x 8 8 x 16 8 x 8 0 0 1 0 2 3 0 1 1 8 x 8 8 x 4 4 x 8 4 x 4
  • 24.
    Múltiplos quadros dereferencia Entropy Coding Scaling & Inv. Transform Motion- Compensation Control Data Quant. Transf. coeffs Motion Data Intra/Inter Coder Control Decode r Motion Estimation Transform/ Scal./Quant.- Input Video Signal Split into Macroblocks 16x16 pixels Intra-frame Prediction De-blocking Filter Output Video Signal Multiple Reference Frames for Motion Compensation
  • 25.
    Compensação de movimentode imagens de referência múltipla (“Slices” P) • Mais de uma imagem codificada previamente pode ser usado como referência para a predição do MC. • O parâmetro do índice da referencia é transmitido para cada MC 16x16, 16x8, 8x16 or 8x8. • Para os blocos menores dentro do bloco 8x8 usar o índice de referência 1. • O macrobloco P pode também ser codificado no tipo P (salto).
  • 26.
    Remoção da redundânciaperceptiva • Circuito de “De-blocking”- filtragem  Remove o artefato de “blocking” o Resultado de compensação de movimento baseada em blocos. o O resultado de um bloco de codificação baseado na transformada. o Reduz significativamente os resíduos de predição Without filter with H.264/AVC De-blocking
  • 27.
    Transformação do bloco(44) Entropy Coding Scaling & Inv. Transform Motion- Compensation Control Data Quant. Transf. coeffs Motion Data Intra/Inter Coder Control Decod er Motion Estimation Transform/ Scal./Quant.- Input Video Signal Split into Macroblocks 16x16 pixels Intra-frame Prediction De-blocking Filter Outp ut Video Signa l  4x4 Block Integer Transform  Main Profile: Adaptive Block Size Transform (8x4,4x8,8x8)  Repeated transform of DC coeffs for 8x8 chroma and 16x16 Intra luma blocks 1 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1                  H
  • 28.
    Modos de prediçãointra-frame Entropy Coding Scaling & Inv. Transform Motion- Compensation Control Data Quant. Transf. coeffs Motion Data Intra/Inter Coder Control Decode r Motion Estimation Transform/ Scal./Quant.- Input Video Signal Split into Macroblocks 16x16 pixels Intra-frame Prediction De-blocking Filter Outpu t Video Signal  Directional spatial prediction (9 types for luma, 1 chroma) • e.g., Mode 3: diagonal down/right prediction a, f, k, p are predicted by (A + 2Q + I + 2) >> 2 Q A B C D E F G H I a b c d J e f g h K i j k l L m n o p M N O P 1 0 34 56 7 8 2- DC
  • 29.
    Referencias: 1)I.E.G. Richardson, “H.264/MPEG4Part 10: Intra Prediction,” available at http://www.vcodex.com 2)I.E.G. Richardson, “H.264/MPEG4 Part 10: Inter Prediction,” available at http://www.vcodex.com 3)I.E.G. Richardson, “H.264/MPEG4 Part 10: Transform and Quantization,” available at http://www.vcodex.com 4)IEEE Transactions on Circuits and Systems for Video Technology (2003): Special Issue on the H.264/AVC Video Coding Standard 5)Signal Processing: Image Communication (2004): Video coding using the H.264/MPEG-4 AVC compression standard 6)Ralf Schafer, Thomas Wiegand and Heiko Schwarz, “The emerging H.264/AVC standard,” in EBU technical review, Jan. 2003 7)Jorn Ostermann et al., “Video coding with H.264/AVC: Tools, Performance, and Complexity,” in IEEE Circuit and systems magazine, first quarter. 2004.