A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

EPUSP - Guido Stolfi 1 / 58 Compressão de Imagens em Movimento Padrão MPEG-1 / Video PTC2547 – Princípios de Televisão Digital Guido Stolfi – 10/2013.

Apresentações semelhantes


Apresentação em tema: "EPUSP - Guido Stolfi 1 / 58 Compressão de Imagens em Movimento Padrão MPEG-1 / Video PTC2547 – Princípios de Televisão Digital Guido Stolfi – 10/2013."— Transcrição da apresentação:

1 EPUSP - Guido Stolfi 1 / 58 Compressão de Imagens em Movimento Padrão MPEG-1 / Video PTC2547 – Princípios de Televisão Digital Guido Stolfi – 10/2013

2 EPUSP - Guido Stolfi 2 / 58 Compressão M-JPEG Considera cada quadro sucessivo como uma imagem independente Efetua compressão JPEG em cada imagem Controla o fator de compressão de modo a manter a taxa de bits dentro de limites estabelecidos Inconveniente: qualidade insuficiente, taxa de bits elevada.

3 EPUSP - Guido Stolfi 3 / 58 Padrão MPEG-1 Moving Pictures Experts Group - ISO/IEC 11172a Compressão de imagens não-entrelaçadas Taxas de informação até 1,5 Mb/s Aplicações: vídeo-conferência sobre troncos E1/T1; multimídia em CD-ROM

4 EPUSP - Guido Stolfi 4 / 58 Evolução dos Padrões de Compressão

5 EPUSP - Guido Stolfi 5 / 58 Codificador com Preditor Preditor y(t) ^ ^ e(t) + - Transmissor Receptor Canal S1 S2 Eficácia do preditor reduz a energia do sinal transmitido e(t) Chaves S1 e S2 devem ser abertas em instantes apropriados

6 EPUSP - Guido Stolfi 6 / 58 Preditor de Ordem Zero: Frame Store AnteriorAtual Erro de Predição (diferença entre as duas imagens) (referência)

7 EPUSP - Guido Stolfi 7 / 58 Diferença Entre Imagens Sucessivas

8 EPUSP - Guido Stolfi 8 / 58 Preditor com Compensação de Movimento Erro de Predição (sem compensação) Vetor de Movimento Predição (com compensação) Erro de Predição (com compensação) AnteriorAtual (referência)

9 EPUSP - Guido Stolfi 9 / 58 Compensação de Movimento por Blocos

10 EPUSP - Guido Stolfi 10 / 58 Compensação de Movimento Sem Compensação de Movimento Com Compensação de Movimento

11 EPUSP - Guido Stolfi 11 / 58 Vetores de Movimento Quadro no. 2 Quadro no. 6 Seqüência: Jardim

12 EPUSP - Guido Stolfi 12 / 58 Vetores de Movimento Quadro 2 para 3Quadro 2 para 6

13 EPUSP - Guido Stolfi 13 / 58 Métodos de Detecção de Movimento Busca ExaustivaBusca Escalonada Busca HierárquicaBusca Recursiva

14 EPUSP - Guido Stolfi 14 / 58 Métricas para Detecção de Movimento Distorção Média Absoluta (DMA) onde (dx,dy) é o deslocamento entre a imagem de referência ref(x,y) e o bloco da imagem de entrada f(x,y) y x y+dy x+dx referencia (I ou P) quadro atual (P)

15 EPUSP - Guido Stolfi 15 / 58 MPEG-1: Estrutura do Codificador

16 EPUSP - Guido Stolfi 16 / 58 Codificador MPEG-1

17 EPUSP - Guido Stolfi 17 / 58 Preditor MPEG com Compensação de Movimento Compensador de Movimento Vetores de Movimento Imagens de Referência Imagem Compensada Imagem Reconstruída Erro de Reconstrução

18 EPUSP - Guido Stolfi 18 / 58 Tipos de Imagens em MPEG-1 Imagens I (Independentes, Intra-frame ): codificadas sem predição de movimento, apenas por DCT, quantização e compactação Imagens P (predição progressiva de movimento): reconstruídas através de predição de movimento, baseando-se em imagens de referência anteriormente codificadas, tipo I ou P Imagens B (predição bidirecional ): o preditor baseia-se em duas imagens de referência (anterior e posterior, do tipo I ou P )

19 EPUSP - Guido Stolfi 19 / 58 Predição de Movimento Bidirecional y x y+dy x+dx referencia anterior (I ou P) quadro atual (B) referencia futura (I ou P)

20 EPUSP - Guido Stolfi 20 / 58 Predição de Movimento Bidirecional Ex.: Movimento de Câmera (Translação) Imagem anteriorImagem atualImagem futura Predição regressiva Predição progressiva

21 EPUSP - Guido Stolfi 21 / 58 Grupos de Imagens em MPEG

22 EPUSP - Guido Stolfi 22 / 58 Estrutura de um Grupo de Imagens (GOP) M = Distância entre imagens Tipo I N = Distância entre imagens Tipo I / P –Ex.: I B B P B B P B B (I) (M=9, N=3) Grupo Fechado: não necessita de imagens de referência externas ao grupo. –Ex.: | I B B P B B P B B P | I B B …

23 EPUSP - Guido Stolfi 23 / 58 Hierarquia dos Elementos de uma Seqüência de Vídeo MPEG SEQUÊNCIA GRUPO DE IMAGENS IMAGEM FATIA DE IMAGEM MACROBLOCO BLOCO 1 2 3 4 5 6 (LUMINÂNCIA) UV (CROMINÂNCIA)

24 EPUSP - Guido Stolfi 24 / 58 Estrutura do Macrobloco MPEG Y 8x8 Cb (B-Y) Cr (R-Y) 8x8 Y Y

25 EPUSP - Guido Stolfi 25 / 58 Estrutura de Amostragem 4:2:0 Y U, V Amostras:

26 EPUSP - Guido Stolfi 26 / 58 Tabelas de Quantização MPEG-1 Intra-Frame (Imagens Tipo I) 816192226272934 16 222427293437 192226273934 38 22 262729343740 2226272932354048 2627293235404858 2627293438465669 2729353846566983 16 Inter-Frame (Imagens Tipo P, B) (Tabelas Padrão)

27 EPUSP - Guido Stolfi 27 / 58 Quantização dos Coeficientes da DCT Blocos tipo I: arredondamento p/ inteiro mais próximo Blocos tipo P, B: arredondamento em direção a zero

28 EPUSP - Guido Stolfi 28 / 58 Reordenação em Zig-zag [ -26 -3 1 -3 -2 -6 2 -4 1 -4 1 1 5 0 2 0 0 -1 2 0 0 0 0 0 -1 -1 EOB ] -26-3-622000 1-2-400000 -315 000 -4120000 10000000 00000000 00000000 00000000

29 EPUSP - Guido Stolfi 29 / 58 Exemplos: Imagem Original 512 x 480 8 bits

30 EPUSP - Guido Stolfi 30 / 58 Erro de Reconstrução (apenas DCT) Contraste aumentado (x 16)

31 EPUSP - Guido Stolfi 31 / 58 Erro de Reconstrução (apenas Compensação de Movimento) Contraste aumentado (x 16)

32 EPUSP - Guido Stolfi 32 / 58 Erro de Reconstrução (Compensação de Movimento + DCT) Contraste aumentado (x 16)

33 EPUSP - Guido Stolfi 33 / 58 MPEG-1: Fluxo de Dados

34 EPUSP - Guido Stolfi 34 / 58 Estrutura do Fluxo de Dados MPEG (Vídeo) SEQUÊNCIA CABEÇA DE GRUPO DE IMAGENS GRUPO DE IMAGENS GRUPO DE IMAGENS GRUPO DE IMAGENS GRUPO DE IMAGENS CABEÇA DE GRUPO IMAGEM CABEÇA DE IMAGEM FATIA CABEÇA DE FATIA MACROBLOCO CABEÇA DE MACROBLOCO DADOS BLOCO 1 DADOS BLOCO 2 BLOCO 3 BLOCO 6

35 EPUSP - Guido Stolfi 35 / 58 Prefixos dos Cabeçalhos MPEG-1 Prefixo:Código Hexadecimal: Início de Seqüência00 00 01 B3 Início de Grupo de Imagens00 00 01 B8 Início de Imagem00 00 01 00 Início de Fatia (linha 1 até 175)00 00 01 01 até 00 00 01 AF Início de Extensão00 00 01 B5 Fim de Seqüência00 00 01 B7 Início de Área de Dados do Usuário00 00 01 B2

36 EPUSP - Guido Stolfi 36 / 58 Cabeçalho de Seqüência Código de Início de Seqüência (00 00 01 B3 h) Resolução Horizontal (12 bits) Resolução Vertical (12 bits) Relação de Aspecto (4 bits - Tabela 1) Taxa de Frames por segundo (4 bits - Tabela 2) Taxa de Bits por segundo (18 bits, múltiplo de 400 bps) Tamanho de Buffer necessário (10 bits, mult. de 2 kBytes) Matriz de Quantização (Opcional) Matriz de Quantização Intra-Frame (64 valores) Matriz de Quantização Inter-Frame (64 valores) Código de Início de Extensões (Futuras) (00 00 01 B5 h) Código de Área de Dados (Opcionais) (00 00 01 B2 h)

37 EPUSP - Guido Stolfi 37 / 58 Tabelas de Codificação de Seqüência CÓDIGOA/LCÓDIGOQuadros / s 0000Proibido0000Proibido 00011.00000123.976 00100.6735001024 00110.7175001125 01000.7615010029.97 01010.8055010130 01100.8495011050 01110.8935011159.94 10000.9375100060 10010.98151001Reservado 10101.02551010Reservado 10111.06951011Reservado 11001.11351100Reservado 11011.15751101Reservado 11101.20151110Reservado 1111Reservado1111Reservado Tabela 1: Relação de Aspecto do PixelTabela 2: taxa de Quadros por segundo

38 EPUSP - Guido Stolfi 38 / 58 Cabeçalho de Grupo Código de Início de Grupo de Imagens (00 00 01 B8 h) Time Code (25 bits - Tabela 4) Flag de Grupo Aberto / Fechado Flag de Seqüência Interrompida Código de Extensões (Futuras) (00 00 01 B5 h) Código de Área de Dados (Opcionais) (00 00 01 B2 h)

39 EPUSP - Guido Stolfi 39 / 58 Tabelas de Codificação de Time Code CAMPOBITSVALORES Flag Drop Frame10 / 1 Horas50 - 23 Minutos60 - 59 (Valor Fixo)11 Segundos60 - 59 Frames60 - 59 Time Code: hh:mm:ss:ff + flag drop frame Tabela 4

40 EPUSP - Guido Stolfi 40 / 58 Cabeçalho de Imagem Código de Início de Imagem (00 00 01 00 h) Referência Temporal (10 bits) Tipo de Imagem (3 bits - Tabela 5) Tempo Previsto para Encher Buffer (16 bits) * Flag de Precisão dos Vetores de Movimento (1 ou 0,5 pixels) * Código dos Vetores de Movimento (3 bits, Tabela 6) ** Flag de Precisão dos Vetores Regressivos (1 ou 0,5 pixels) ** Código dos Vetores Regressivos (3 bits, Tabela 6) Código de Extensões (Futuras) (00 00 01 B5 h) Código de Área de Dados (Opcionais) (00 00 01 B2 h) * - Apenas para Imagens P ou B ** - Apenas para Imagens B

41 EPUSP - Guido Stolfi 41 / 58 Tabelas de Codificação de Imagem Tabela 5 - Codificação do Tipo de Imagem CÓDIGOTIPO DE IMAGEM 000Proibido 001Imagem I 010Imagem P 011Imagem B 100Imagem D 101Reservado 110Reservado 111Reservado

42 EPUSP - Guido Stolfi 42 / 58 Tabelas de Codificação de Imagem Tabela 6 - Codificação do Tamanho dos Vetores de Movimento CÓDIGOTAMANHOFATOR 00101 01012 01124 10038 101416 110532 111664 TAMANHO = Número de bits da Codificação do Resíduo FATOR = Fator Multiplicativo do Valor Base (Tabela 9)

43 EPUSP - Guido Stolfi 43 / 58 Alcance dos Vetores de Movimento CÓDIGO ALCANCE (1/2 pixel) ALCANCE (1 pixel) MÓDULO 001-8 a 7.5-16 a 1532 010-16 a 15.5-32 a 3164 011-32 a 31.5-64 a 63128 100-64 a 63.5-128 a 127256 101-128 a 127.5-256 a 255512 110-256 a 255.5-512 a 5111024 111-512 a 511.5-1024 a 10232048

44 EPUSP - Guido Stolfi 44 / 58 Cabeçalho de Fatia (Slice) Código de Início de Fatia de Imagem (00 00 01 01 até 00 00 01 AF h) Fator de Escala do Quantizador " q " (5 bits) Flag de Informação Extra Informação Extra (Opcional) (bytes)

45 EPUSP - Guido Stolfi 45 / 58 Cabeçalho de Macrobloco Enchimento (11 bits = 000 0000 1111 b) Incremento de Endereço de Macrobloco ( 1 a 11 bits - Tabela 7) Tipo de Macrobloco (Tabela 8) * Fator de Escala de Quantização Alternativo (5 bits) * Vetores de Movimento Progressivos: Horizontal (Base e Residual) Vertical (Base e Residual) * Vetores de Movimento Regressivos: Horizontal (Base e Residual) Vertical (Base e Residual) * Padrão de Codificação de Blocos (Tabela 10) Coeficientes DC e AC dos blocos codificados * - Presentes de Acordo c/ Flags do Tipo de Macrobloco (Tabela 8)

46 EPUSP - Guido Stolfi 46 / 58 Tabelas de Codificação de Macrobloco Tabela 7 - Códigos de Incremento de Endereço de Macrobloco CÓDIGOINCREM.CÓDIGOINCREM.CÓDIGOINCREM. 110000 100013000 0010 000025 01120000 011114000 0001 111126 01030000 011015000 0001 111027 0011400 0001 011116000 0001 110128 0010500 0001 011017000 0001 110029 0 0011600 0001 010118000 0001 101130 0 0010700 0001 010019000 0001 101031 000 0111800 0001 001120000 0001 100132 000 0110900 0001 001021000 0001 100033 0000 101110000 0010 001122000 0000 1000Escape (33) 0000 101011000 0010 001023000 0000 1111Enchimento 0000 100112000 0010 000124

47 EPUSP - Guido Stolfi 47 / 58 Tabelas de Codificação de Macrobloco Tipo de Imagem CÓDIGONOMEFator de Escala Movim. Progress. Movim. Regress. Padrão de Blocos Codif. Intra Tipo1Intra-dNão Sim I01Intra-qSimNão Sim 1Pred-mcNãoSimNãoSimNão 01Pred-cNão SimNão Tipo001Pred-mNãoSimNão 00011Intra-dfNão Sim P00010Pred-mcqSim NãoSimNão 00001Pred-cqSimNão SimNão 000001Intra-qSimNão Sim

48 EPUSP - Guido Stolfi 48 / 58 Tabelas de Codificação de Macrobloco Tipo de Imagem CÓDIGONOMEFator de Escala Movim. Progress. Movim. Regress. Padrão de Blocos Codif. Intra 10Pred-iNãoSim Não 11Pred-icNãoSim Não 010Pred-bNão SimNão Tipo011Pred-bcNão Sim Não 0010Pred-fNãoSimNão 0011Pred-fcNãoSimNãoSimNão B00011Intra-dNão Sim 00010Pred-icqSim Não 000011Pred-fcqSim NãoSimNão 000010Pred-bcqSimNãoSim Não 000001Intra-qSimNão Sim

49 EPUSP - Guido Stolfi 49 / 58 Tabela de Padrão de Codificação de Blocos Tabela 10 - (Trecho)

50 EPUSP - Guido Stolfi 50 / 58 Exemplo de Macrobloco Bloco pred-icq (Imagem tipo B): –Macrobloco interpolado, com predição bidirecional –2 vetores de movimento (progressivo e regressivo) –Macrobloco codificado; alguns blocos individuais (Y, Cb ou Cr) podem ser omitidos –Fator de quantização q específico, consta do cabeçalho do macrobloco

51 EPUSP - Guido Stolfi 51 / 58 Valor Base do Vetor de Movimento CÓDIGOVALOR BASECÓDIGOVALOR BASE 10 0110101 0011-200102 00011-3000103 0000111-400001104 00001011-5000010105 00001001-6000010006 00000111-7000001107 0000010111-800000101108 0000010101-900000101009 0000010011-10000001011010 00000100011-110000010001011 00000100001-120000010000012 00000011111-130000001111013 00000011101-140000001110014 00000011011-150000001101015 00000011001-160000001100016

52 EPUSP - Guido Stolfi 52 / 58 Codificação da Componente DC (Bloco) CÓD. TAMANHO (LUMINÂNCIA) CÓD. TAMANHO (CROMINÂNCIA) TAMANHO AMPLITUDE CÓD. VALOR DA AMPLITUDE VALOR RESULTANTE 111111011111110800000000...01111111-128...-255 111110111111070000000...0111111-64...-127 111101111106000000...011111-32...-63 111011110500000...01111-16...-31 110111040000...0111-8...-15 1011103000...011-4...-7 0110200...01-2...-3 000110 100000-0 01111 10210...112...3 1011103100...1114...7 110111041000...11118...15 111011110510000...1111116...31 111101111106100000...11111132...63 111110111111071000000...111111164...127 111111011111110810000000...11111111128...255

53 EPUSP - Guido Stolfi 53 / 58 Codificação RLE/Huffman p/ Coef. AC Intra (Trechos)

54 EPUSP - Guido Stolfi 54 / 58 Exemplo de Arquivo MPEG-1

55 EPUSP - Guido Stolfi 55 / 58 MPEG1: Sistema

56 EPUSP - Guido Stolfi 56 / 58 Multiplexação de Vídeo e Áudio Fluxo de Dados ISO11172 Pack ISO_FIM Cab. de PackCab. de SistemaPacote Cabeçalho de PacoteByte

57 EPUSP - Guido Stolfi 57 / 58 Prefixos de Sistema MPEG Prefixo:Código Hexadecimal: Início de Pack (Pack_start)00 00 01 BA Fim de Conjuntos (ISO_FIM)00 00 01 B9 Cabeçalho de Sistema00 00 01 BB Pacote de Vídeo00 00 01 E0 a 00 00 01 EF Pacote de Áudio00 00 01 C0 a 00 00 01 DF Pacote de Enchimento00 00 01 BE

58 EPUSP - Guido Stolfi 58 / 58 Conteúdos dos Cabeçalhos de Sistema Cabeçalho de Pack: –Referência de Clock temporal Cabeçalho de Sistema: –Comprimento do Cabeçalho –Taxas máximas de Vídeo e Áudio Cabeçalho de Pacote: –Tamanho do pacote –Instante absoluto de exibição do pacote


Carregar ppt "EPUSP - Guido Stolfi 1 / 58 Compressão de Imagens em Movimento Padrão MPEG-1 / Video PTC2547 – Princípios de Televisão Digital Guido Stolfi – 10/2013."

Apresentações semelhantes


Anúncios Google