Você está na página 1de 18

LCS

EPU SP

Compressão de Imagens em
Movimento
Padrão Dirac BBC / VC2

Princípios de Televisão Digital


Guido Stolfi – 10 / 2016

Guido Stolfi 1 / 17
LCS
Codificador Dirac EPU SP

– Codificador “Livre”, “Open Source”, sem royalties

– Compensação de Movimento + Compressão por “Wavelets” +


Codificação Exp-Golomb ou Aritmética

– Desenvolvido pela BBC (British Broadcasting Corporation), proposto


como SMPTE VC-2

– Implementação versátil com conjunto reduzido de ferramentas

– Dirac Pro: Codificação Intra (sem pred. movimento)

Guido Stolfi 2 / 17
LCS
Codificador Dirac EPU SP

– Sem restrições nos parâmetros da imagem; suporta UHDV, 4:2:0,


4:2:2 e 4:4:4

– Suporte para vídeo entrelaçado

– Modo de baixo atraso (menos que 1 quadro)

– Vários filtros para transformação por Wavelets

– Imagens numeradas e estruturadas como lista duplamente ligada


(suporta FFW e REW)

Guido Stolfi 3 / 17
LCS
Diagrama de Blocos do Codificador Dirac EPU SP

Video Transformada Vídeo Processado


“Wavelet” e
Quantização

Preditor Transformada
Inversa

Codificação Saída
Exp-Golomb
+ / Aritmética

Compensaçã Meta-dados
Estimação de
o de
Movimento
Movimento

Guido Stolfi 4 / 17
LCS
Compensação de Movimento EPU SP

• Compensação Global em toda a imagem :


– Pan, Tilt, Travelling (vetores x e y)
– Zoom, Rotação, Cisalhamento (matriz 2 x 2)
– Perspectiva (transformação não-linear)

• Compensação por Blocos :


– Blocos de mesmo tamanho em toda a imagem (Y ≠ U,V)
– Superblocos ( 4 x 4 blocos)
– Pesos para cada imagem de referência (suporta fade)
– Blocos podem se superpor
– Vetores de movimento com precisão de 1 a 1/8 de pixel

Guido Stolfi 5 / 17
LCS
Blocos superpostos EPU SP

Guido Stolfi 6 / 17
LCS
Transformada “Wavelet” unidimensional EPU SP

Guido Stolfi 7 / 17
LCS
Transformada “Wavelet” em várias camadas EPU SP

Guido Stolfi 8 / 17
LCS
Transformada “Wavelet” bidimensional EPU SP

Guido Stolfi 9 / 17
LCS
Transformada “Wavelet” bidimensional EPU SP

Guido Stolfi 10 / 17
LCS
Subdivisão em Blocos de Codificação EPU SP

Cada bloco de
codificação,
em cada camada,
pode ter fator de
quantização
diferente

Guido Stolfi 11 / 17
LCS
Sintaxe do Fluxo de Dados EPU SP

Sequencia Sequencia Sequencia

Cabeçalho de Unidade Cabeçalho de Unidade


Classificação de Dados Classificação de Dados

-Cabeçalho de Sequencia

-Imagem

-Dados Auxiliares

-Enchimento

Guido Stolfi 12 / 17
LCS
Cabeçalhos de Classificação (Parse Info Header) EPU SP

Tamanho Valor
Prefixo de Classificação 4 bytes ‘BBCD’ (ASCII)
0x42424344 (Hexa)
Código de Classificação 1 Byte

Distância até o próximo 4 bytes Inteiro 32 bits


cabeçalho
Distância para cabeçalho 4 bytes Inteiro 32 bits
anterior

Guido Stolfi 13 / 17
LCS
Códigos de Classificação (Parse_Code) EPU SP

MSB D6 D5 D4 D3 D2 D1 LSB

1= Low 1= Sem 00= Imagem 1= 1= 00= Imagem Intra


Delay codificação ou Início de Imagem Referencia
aritmética Sequencia 01, 10= Número
0= 0= Outros 0= Normal de imagens de
Normal 0= Com 01= Fim de referência usadas
Sequencia por esta imagem
(1 ou 2)
10= Dados
Auxiliares

11=
Enchimento

Guido Stolfi 14 / 17
LCS
Cabeçalho de Sequencia EPU SP

• Identifica sequencia de vídeo com parâmetros constantes:

– Versão, Perfil, Nível

– Formato básico (Custom, ou QSIF até UHDV)

– Parâmetros de Vídeo (Tamanho, esrutura YUV, entrelaçamento, taxa de


frames, relação de aspecto, bits por pixel, etc.)

– Modo de Codificação (Campo / Quadro)

Guido Stolfi 15 / 17
LCS
Perfis EPU SP

• “Low Delay” : sem predição de movimento, com particionamento da


imagem em slices horizontais

• “Simple” : sem predição de movimento, sem Codificação Aritmética

• “Main” : sem predição de movimento, com Codificação Aritmética

• “Main Long GOP” : com predição de movimento, com Codificação Aritmética

Guido Stolfi 16 / 17
LCS
Níveis EPU SP

• Nível 1 : parâmetros de vídeo padronizados ( Perfis “Low Delay”, “Simple” e


“Main”)

• Nível 128 : parâmetros de vídeo padronizados ou customizados, amostras de


8 bits (Perfil “Main Long GOP”)

• Outros níveis a serem definidos

Guido Stolfi 17 / 17
LCS
Codificação Exp-Golomb EPU SP

Versão ‘bipolar’, k=0 :

0 => 1 => 1
1 => 10 => 010
-1 => 11 => 011
2 => 100 => 00100
-2 => 101 => 00101
3 => 110 => 00110
-3 => 111 => 00111
4 => 1000 => 0001000
-4 => 1001 => 0001001
...
Guido Stolfi 18 / 17

Você também pode gostar