Compressão de Imagens em Movimento

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Contadores e Registradores
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
INFORMAÇÕES COMPLEMENTARES
Propriedades físicas representativas de
Palestras, oficinas e outras atividades
A busca das mulheres para alcançar seu espaço dentro das organizações
Circuitos Lógicos e Organização de Computadores Capítulo 4 – Implementações Otimizadas de Funções Lógicas Ricardo Pannain
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Investor Relations4Q07 | 1. Investor Relations4Q07 | 2 2.
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Tecnologia Hipermídia e Multimídia Prof. Rudson Faculdade de Excelência Educacional do Rio Grande do Norte CURSO DE GRADUAÇÃO TECNOLÓGICA.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Curso de ADMINISTRAÇÃO
Indice estruturado por Hash
Revisão Prova 2 Métodos de Acesso: BTree e Hash AULA 20 Profa. Sandra de Amo GBC053 – BCC
25/02/ Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves.
Análise de regressão linear simples: abordagem matricial
EXPRESSÕES ARITMÉTICAS
8. Transformada Discreta de Fourier - DFT
Capítulo 7 Multimídia 7.1 Introdução à multimídia
Estudo de Caso 1: UNIX e LINUX
FUNÇÃO MODULAR.
1 Universidade Federal de Minas Gerais JPEG Alessandra e Aline.
Paulo Sérgio Rodrigues PEL205
Aula 4 Nomes, Vinculações, Tipos e Escopos
EXEMPLOS DE ESTRUTURAS PROTENDIDAS
Mecânica dos Sólidos não Linear
Provas de Concursos Anteriores
Renda até 2 SM.
Televisão: a tecnologia por detrás do écran
MECÂNICA - ESTÁTICA Cabos Cap. 7.
Diagnósticos Educativos = Diagnósticos Preenchidos 100% = 1.539
(CESPE/ Técnico Judiciário do TRT 17ª Região/ES) O Superior Tribunal de Justiça entende que o candidato aprovado em concurso público dentro do limite.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Cinemática de uma Partícula Cap. 12
Compressão de Imagens em Movimento
Bolha Posição de máx. W2 Ponto de Estagnação
Defesa de Mestrado Bruno Zatt Sergio Bampi Orientador
Resultantes de Sistemas de Forças Cap. 4
Equilíbrio de uma Partícula Diagramas de Corpo Livre Cap. 3
Cinemática Plana de um Corpo Rígido Cap. 16
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
1 CENTRO DE DESENVOLVIMENTO E PLANEJAMENTO REGIONAL – 2006 P Ó S-GRADUA Ç ÃO EM ECONOMIA Microeconomia I Prof.: Edson Domingues Cap í tulo II: Escolha.
CATÁLOGO GÉIA PÁG. 1 GÉIA PÁG. 2 HESTIA PÁG. 3.
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO IV – Nº 06.
Lemas (Sudkamp)  .
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO IV – Nº 08.
FISCALIZAÇÃO DIRECIONADA NÍVEL DE SERVIÇO ANO II – Nº 01.
Coordenação Geral de Ensino da Faculdade
Plataforma Brasil – Submissão de pesquisa
Projeto Marcas que Eu Gosto 1 PROJETO MARCAS QUE EU GOSTO Estudos Quantitativo de Consumidores Janeiro / 2005.
Revisão Prova 2 Métodos de Acesso – Parte 2 AULA 21 Profa. Sandra de Amo GBC053 – BCC.
Núcleo de Mídia – Comercial Ranking Nacional de Circulação - Domingos Evolução Mês* 3,38% 2,20% 1,39% 1,13% -4,84% 0,49% -6,16% -0,07% -0,71% 0,27% 0,43%
Projeto Medindo minha escola.
C ORROPIOS, C ARDINCHAS E C ÃES G RANDES O LIVRO de José Paixão em imagens – com pistas de leitura propostas por por www.joraga.net.
Tópicos em Arquitetura de Computadores João Angelo Martini Universidade Estadual de Maringá Departamento de Informática Mestrado em Ciência.
ELETRÔNICA DIGITAL Circuitos Aritméticos
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
Estatística Aula 9 – 28/02/2011.
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Olhe fixamente para a Bruxa Nariguda
Máquina de Turing Universal
Caminhos da Cana Relatório e show de imagens Marcos Fava Neves Prof. FEA/USP Ribeirão Preto Purdue University (2013)
AM020C A interface entre Meio Ambiente, Sociedade e Economia Indicadores de produtividade e empregabilidade da agricultura do Brasil. Aluna Andressa Santos.
Transcrição da apresentação:

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

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.

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

Evolução dos Padrões de Compressão

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

Preditor de Ordem Zero: “Frame Store” Anterior Atual Erro de Predição (diferença entre as duas imagens) (referência)

Diferença Entre Imagens Sucessivas

Preditor com Compensação de Movimento Anterior Atual Erro de Predição (referência) (sem compensação) Vetor de Movimento Predição Erro de Predição (com compensação) (com compensação)

Compensação de Movimento por Blocos

Compensação de Movimento Sem Compensação de Movimento Com Compensação de Movimento

Vetores de Movimento Seqüência: “Jardim” Quadro no. 2 Quadro no. 6

Vetores de Movimento Quadro 2 para 3 Quadro 2 para 6

Métodos de Detecção de Movimento Busca Exaustiva Busca Escalonada Busca Hierárquica Busca Recursiva

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

MPEG-1: Estrutura do Codificador

Codificador MPEG-1

Preditor MPEG com Compensação de Movimento Erro de Reconstrução Compensador de Movimento Vetores de Movimento Imagem Compensada Imagens de Referência Imagem Reconstruída

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)

Predição de Movimento Bidirecional x y x+dx referencia futura (I ou P) y+dy quadro atual (B) referencia anterior (I ou P)

Predição de Movimento Bidirecional Ex.: Movimento de Câmera (Translação) Predição progressiva Predição regressiva Imagem anterior Imagem atual Imagem futura

Grupos de Imagens em MPEG

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 …

Hierarquia dos Elementos de uma Seqüência de Vídeo MPEG SEQUÊNCIA GRUPO DE IMAGENS FATIA DE IMAGEM IMAGEM MACROBLOCO BLOCO 1 BLOCO 2 BLOCO BLOCO 5 6 BLOCO BLOCO 3 4 U V (CROMINÂNCIA) (LUMINÂNCIA)

Estrutura do Macrobloco MPEG Y Y 8x8 Cb (B-Y) Y 8x8 Cr (R-Y) 8x8 8x8

Estrutura de Amostragem “4:2:0” Amostras: Y U, V

Tabelas de Quantização MPEG-1 (Tabelas Padrão) 8 16 19 22 26 27 29 34 24 37 39 38 40 32 35 48 58 46 56 69 83 16 Intra-Frame (Imagens Tipo I) Inter-Frame (Imagens Tipo P, B)

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

Reordenação em Zig-zag -26 -3 -6 2 1 -2 -4 5 -1 [ -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 ]

Exemplos: Imagem Original 8 bits

Erro de Reconstrução (apenas DCT) Contraste aumentado (x 16)

Erro de Reconstrução (apenas Compensação de Movimento) Contraste aumentado (x 16)

Erro de Reconstrução (Compensação de Movimento + DCT) Contraste aumentado (x 16)

MPEG-1: Fluxo de Dados

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

Prefixos dos Cabeçalhos MPEG-1 Código Hexadecimal: Início de Seqüência 00 00 01 B3 Início de Grupo de Imagens 00 00 01 B8 Início de Imagem 00 00 01 00 Início de Fatia (linha 1 até 175) 00 00 01 01 até 00 00 01 AF Início de Extensão 00 00 01 B5 Fim de Seqüência 00 00 01 B7 Início de Área de Dados do Usuário 00 00 01 B2

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)

Tabelas de Codificação de Seqüência Tabela 1: Relação de Aspecto do Pixel Tabela 2: taxa de Quadros por segundo   CÓDIGO A/L Quadros / s 0000 Proibido 0001 1.00 23.976 0010 0.6735 24 0011 0.7175 25 0100 0.7615 29.97 0101 0.8055 30 0110 0.8495 50 0111 0.8935 59.94 1000 0.9375 60 1001 0.9815 Reservado 1010 1.0255 1011 1.0695 1100 1.1135 1101 1.1575 1110 1.2015 1111

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)

Tabelas de Codificação de Time Code CAMPO BITS VALORES Flag Drop Frame 1 0 / 1 Horas 5 0 - 23 Minutos 6 0 - 59 (Valor Fixo) Segundos Frames Time Code: hh:mm:ss:ff + flag drop frame  

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

Tabelas de Codificação de Imagem Tabela 5 - Codificação do Tipo de Imagem CÓDIGO TIPO DE IMAGEM 000 Proibido 001 Imagem I 010 Imagem P 011 Imagem B 100 Imagem D 101 Reservado 110 111

Tabelas de Codificação de Imagem Tabela 6 - Codificação do Tamanho dos Vetores de Movimento CÓDIGO TAMANHO FATOR 001 1 010 2 011 4 100 3 8 101 16 110 5 32 111 6 64 TAMANHO = Número de bits da Codificação do Resíduo FATOR = Fator Multiplicativo do Valor Base (Tabela 9)

Alcance dos Vetores de Movimento CÓDIGO ALCANCE (1/2 pixel) (1 pixel) MÓDULO 001 -8 a 7.5 -16 a 15 32 010 -16 a 15.5 -32 a 31 64 011 -32 a 31.5 -64 a 63 128 100 -64 a 63.5 -128 a 127 256 101 -128 a 127.5 -256 a 255 512 110 -256 a 255.5 -512 a 511 1024 111 -512 a 511.5 -1024 a 1023 2048

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)

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: * 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)

Tabelas de Codificação de Macrobloco Tabela 7 - Códigos de Incremento de Endereço de Macrobloco CÓDIGO INCREM. 1 0000 1000 13 000 0010 0000 25 011 2 0000 0111 14 000 0001 1111 26 010 3 0000 0110 15 000 0001 1110 27 0011 4 00 0001 0111 16 000 0001 1101 28 0010 5 00 0001 0110 17 000 0001 1100 29 0 0011 6 00 0001 0101 18 000 0001 1011 30 0 0010 7 00 0001 0100 19 000 0001 1010 31 000 0111 8 00 0001 0011 20 000 0001 1001 32 000 0110 9 00 0001 0010 21 000 0001 1000 33 0000 1011 10 000 0010 0011 22 000 0000 1000 Escape (33) 0000 1010 11 000 0010 0010 23 000 0000 1111 Enchimento 0000 1001 12 000 0010 0001 24  

Tabelas de Codificação de Macrobloco Tipo de Imagem CÓDIGO NOME Fator de Escala Movim. Progress. Movim. Regress. Padrão de Blocos Codif. Intra Tipo 1 Intra-d Não Sim I 01 Intra-q Pred-mc Pred-c 001 Pred-m 00011 Intra-df P 00010 Pred-mcq 00001 Pred-cq 000001

Tabelas de Codificação de Macrobloco Tipo de Imagem CÓDIGO NOME Fator de Escala Movim. Progress. Movim. Regress. Padrão de Blocos Codif. Intra 10 Pred-i Não Sim 11 Pred-ic 010 Pred-b Tipo 011 Pred-bc 0010 Pred-f 0011 Pred-fc B 00011 Intra-d 00010 Pred-icq 000011 Pred-fcq 000010 Pred-bcq 000001 Intra-q

Tabela de Padrão de Codificação de Blocos Código B1 B2 B3 B4 B5 B6 111 1 1101 1100 1011 1010 10011 10010 10001 10000 01111 01110 01101 01100 01011 001100 Código B1 B2 B3 B4 B5 B6 00011100 1 00011011 00011010 00011001 00011000 00010111 00010110 00010101 00010100 00010011 00010010 00010001 00010000 00001111 00001110 Tabela 10 - (Trecho)

Bloco pred-icq (Imagem tipo B): 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

Valor Base do Vetor de Movimento CÓDIGO VALOR BASE 1   011 -1 010 0011 -2 0010 2 00011 -3 00010 3 0000111 -4 0000110 4 00001011 -5 00001010 5 00001001 -6 00001000 6 00000111 -7 00000110 7 0000010111 -8 0000010110 8 0000010101 -9 0000010100 9 0000010011 -10 10 00000100011 -11 00000100010 11 00000100001 -12 00000100000 12 00000011111 -13 00000011110 13 00000011101 -14 00000011100 14 00000011011 -15 00000011010 15 00000011001 -16 00000011000 16

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 1111110 11111110 8 00000000...01111111 -128...-255 111110 7 0000000...0111111 -64...-127 11110 6 000000...011111 -32...-63 1110 5 00000...01111 -16...-31 110 4 0000...0111 -8...-15 101 3 000...011 -4...-7 01 10 2 00...01 -2...-3 00 1 -1 100 - 10...11 2...3 100...111 4...7 1000...1111 8...15 10000...11111 16...31 100000...111111 32...63 1000000...1111111 64...127 10000000...11111111 128...255

Codificação RLE/Huffman p/ Coef. AC Intra Zeros Amplitude Código   EOB 10 1 16 0000000000010010s 1s 17 0000000000010001s 11s 18 0000000000010000s 2 0100s 0101s 3 00101s 0000100s 4 0000110s 0000001001s 5 00100110s 000000010100s 6 00100001s 0000000010100s 7 0000001010s 00111s 8 000000011101s 00100100s 9 000000011000s 000000011100s 000000010011s 0000000010011s 11 000000010000s 00110s 12 0000000011010s 0000001111s 13 0000000011001s 000000010010s 14 0000000011000s 000111s 15 0000000010111s 30 0000000000011100s 0000000000011011s 00000000011111s 31 40 000000000010000s escape 000001 (Trechos)

Exemplo de Arquivo MPEG-1

MPEG1: Sistema

Multiplexação de Vídeo e Áudio Fluxo de Dados ISO11172 Pack Pack Pack ISO_FIM Cab. de Pack Cab. de Sistema Pacote Pacote Pacote Cabeçalho de Pacote Byte Byte Byte Byte Byte Byte

Prefixos de Sistema MPEG 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 Sistema 00 00 01 BB Pacote de Vídeo 00 00 01 E0 a 00 00 01 EF Pacote de Áudio 00 00 01 C0 a 00 00 01 DF Pacote de Enchimento 00 00 01 BE

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