3 Estimação e Compensação de movimento na codificação de vídeo

Documentos relacionados
4 H Conceitos importantes

Técnicas Básicas de Compressão de Vídeo

2 Conceitos iniciais 19

Transformada de Discreta de Co senos DCT

EXTRACÇÃO DE INFORMAÇÃO VÍDEO DO DOMÍNIO COMPRIMIDO MPEG-4 2

Compressão de Imagens em Movimento

MPEG-4 & H.264. Dissertação, entendimento e comparativo entre e com o MPEG-2

COMPRESSÃO DE SINAIS DE ELETROMIOGRAFIA

HIKVISION Tecnologia de Codificação H.265+ Reduza sua Largura de Banda e Armazenagem pela Metade Desfrute da Ultra HD e da Fluência

Compressão de Imagens em Movimento

Codificação de Videotelefonia segundo a Norma ITU-T H.261

COMUNICAÇÃO DIGITAL INTRODUÇÃO À TEORIA DE INFORMAÇÃO

6 Resultados da Simulação

Universidade de Pernambuco Escola Politécnica de Pernambuco

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:

Nivio Ziviani. Conjunto de transparências elaborado por Nivio Ziviani, Patrícia Correia e Fabiano C. Botelho

4 Descrição dos Algoritmos de Estimação de Movimento

Compressão de Imagens em Movimento

Processamento de Imagem. Compressão de Imagens Professora Sheila Cáceres

Processamento digital de imagens

Compressão de áudio. Marcio Dahia e Geber Ramalho

UFSM-CTISM. Comunicação de Dados Aula-17

Televisão Digital. MPEG-2 Video

Aluno: João Gabriel Felipe Machado Gazolla. Professora: Drª. Débora Christina Muchaluat Saade. Disciplina: Redes Multimídia. 04 de Dezembro de

5 Métodos rápidos utilizados para estimação de movimento

Aula 3- Codificação de Canal. October 18, 2017

COMPRESSÃO E CODIFICAÇÃO SEM PERDAS. Mauro Nogueira Mônica Festa Paulo Antiquera

3 Arquitetura Conceitual do Codec Open DVC

Teoria da Informação

Universidade Federal do Rio Grande do Sul Instituto de Informática

Figura 1.1: Codificação distribuída de duas sequências aleatórias estatisticamente dependentes, X e Y.

1 O esquema de Alamouti: Diversidade na transmissão

EET-61 Introdução a Teoria da Informação

Acadêmicos: Cassiano Cesar Casagrande Claudir Galesky Junior Rafael Voltolini

Códigos de blocos lineares. Outubro de 2017

Universidade do Estado de Minas Gerais Curso de Sistemas de Informações. Multimídia. A Imagem (Parte II)

H.265 & WiseStream Redução efetiva de consume de banda e disco

Imagem Estática JPEG 2000 JPEG 2000 JPEG 2000 JPEG Joint Photographic Experts Group Padrão ISO/IEC 15444; ITU-T T.800

Classificação e Pesquisa de Dados. Aula 27 Compressão de Dados Multimídia: Compressão de Imagens

Métodos de Busca Parte 1

DOCUMENTO TÉCNICO. Hikvision Advanced Image Signal Processing HIKVISION. Redução de ruído. Autor:LiuYang. Para liberação [29/03/2013] TW da Hikvision

Marcos Vinícius de Paula Pinto

Compressão de Imagens: Padrão JPEG

Avaliação de Códigos Fontanais

Compressão de Imagens. Lilian Nogueira de Faria (Bolsista)...DPI/INPE Leila Maria Garcia Fonseca (Coordenadora)...DPI/INPE

θ depende de um parâmetro desconhecido θ.

Formatos de Áudio e Vídeo Digital Compactação de Vídeo

Módulo 6 Compressão Vídeo Sistemas Multimédia

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto

4 Modelos de Regressão Dinâmica

Métodos de Estimação de Movimento com Resolução em Subpixel no CODEC H264/AVC

Estouro e Representação em Ponto Flutuante

ANÁLISE DOS PARÂMETROS DO VÍDEO COMPRIMIDO 3

Aula 9: Estouro e Representação em Ponto Flutuante

A codificação primária é a representação digital de um canal de voz, sem a inclusão de bits de sincronismo e de verificação de paridade.

Diagrama do olho PROJETO E AVALIAÇÃO SISTÊMICOS por Mônica de Lacerda Rocha - CPqD

a evolução dos padrões MPEG no contexto da compressão dos sinais de vídeo

Douglas Antoniazi Kleberson Hayashi Angelossi

Apêndice A PROPOSTAS PARA MELHORIAS NO PROCESSO DE EXTRAÇÃO DAS CW S NO SISTEMA DE ANÁLISE - SÍNTESE WI (PADRÃO)

Detecção Robusta de Movimento de Câmera em Vídeos por Análise de Fluxo Ótico Ponderado

Computação Gráfica. Prof. MSc André Y. Kusumoto

3 Detecção Multiusuário 3.1 Introdução

Processamento de Imagem. Histograma da Imagem Professora Sheila Cáceres

Codificação de Linha

Aula 7. Aula de hoje. Aula passada

Curso de Bacharelado de Ciência da Computação JONAS FRIEDRICH UM MÉTODO DE COMPACTAÇÃO DE IMAGENS ATRAVÉS DE BUSCA POR BLOCOS SEMELHANTES

Compressão de Imagens Usando Wavelets: Uma Solução WEB para a Codificação EZW Utilizando JAVA. Utilizando JAVA. TCC - Monografia

Seleção de Variáveis e Construindo o Modelo

Códigos de Detecção de Erros 2ª. parte. Prof. Ricardo de O. Duarte DECOM - UFOP

Compressão Sem Perdas: Codificações Huffman e Aritmética. Adelar da Silva Queiróz Marcelo Teixeira Thiago da Silva Sodré

Sistema Supervisório - IHM

III-1 Códigos detetores e corretores de erros

III-1 Códigos detetores e corretores de erros

Programa 25/02/2019. Objetivo Geral: Processamento Digital de Imagens I Turma A. Objetivos Específicos:

Aula 9: Estouro e Representação em Ponto Flutuante

Projeto de Hardware para a Compensação de Movimento do Padrão H.264/AVC de Compressão de Vídeo

Introdução aos Números Pseudo-aleatórios. Profa. Dra. Soraia Raupp Musse

FACULDADE DE TALENTOS HUMANOS DEPARTAMENTO DE ENGENHARIA ELÉTRICA PROCEDIMENTOS EXPERIMENTAIS DE COMUNICAÇÃO DIGITAL II PARA TELECOMUNICAÇÃO

2 Fundamentos teóricos

4 Método Proposto Visão geral do Método

STV 29 SET SINAL I esta tensão de vídeo é produzida na matriz do transmissor como a seguinte combinação de vermelho, verde e azul:

Universidade do Estado de Minas Gerais Campus de Frutal Curso de Sistemas de Informação. Multimídia. O Áudio (Parte II)

Redes de Computadores

5.1. Observações e Conclusões

11 a EDIÇÃO SISTEMAS DIGITAIS

Revisão: Matrizes e Sistemas lineares. Parte 01

4 C odigos de Huffman 4.1 Arvores de c odigo folhas os internos n ıvel altura Arvore bin aria arvore bin aria ordenada

SEL 405 Introdução aos Sistemas Digitais. Prof. Homero Schiabel

Analisador de espectros por FFT

p TPP = (6.1) e a rajada de perda de pacote é medida pela Comprimento Médio da Rajada (CMR ) que é dada por

Facilidades adicionais na representação do vídeo. Hugo Gonçalves ee Dinis Afonso ee Mpeg 4

Princípios de Telecomunicações AULA 1. Elementos de um sistema de comunicações. Prof. Eng. Alexandre Dezem Bertozzi, Esp.

Resumo do Artigo. Um Mecanismo Para Distribuição Segura de Vídeo MPEG. Escrito por

Códigos de Permutação para Compressão de Dados e Modulação 13. Codificador de fonte. Decodificador. Figura 1.1: Modelo de um sistema de comunicações.

Sistemas numéricos e a Representação Interna dos Dado no Computador

Cristhian Alberto Celestino Cortez AVALIAÇÃO DE UM NOVO MÉTODO DE GERAÇÃO AUTOMÁTICA DE IMAGENS PANÔRAMICAS DE FUNDO DE UMA SEQÜÊNCIA DE VÍDEO

Prof. Cláudio Henrique Albuquerque Rodrigues

4 Codificador WZ-LIA Motivação

PMR2560 Visão Computacional Conversão e Limiarização. Prof. Eduardo L. L. Cabral

Transcrição:

Estimação e Compensação de movimento na codificação de vídeo 36 3 Estimação e Compensação de movimento na codificação de vídeo O objetivo do modelo temporal (que engloba as fases de estimação e compensação de movimento) é diminuir a redundância entre quadros transmitidos a partir da subtração de um quadro estimado e o quadro atual. A saída desse processo é um quadro residual e, quanto menor a energia deste, maior é a precisão do processo de predição. O quadro residual é codificado e enviado para o decodificador que recria o quadro estimado, adiciona o resíduo decodificado e reconstrói o quadro atual. O quadro estimado é criado a partir de um ou mais quadros anteriores ou futuros (quadros de referência). A precisão do quadro estimado pode geralmente ser melhorada pela compensação do movimento entre o quadro de referência e o quadro atual. Neste capítulo apresentaremos os métodos de predição a partir de quadro de vídeo anterior, estimação e compensação de movimento baseada em bloco, compensação de movimento de subpixel e os tamanhos de blocos de compensação de movimento. 3.1 Resíduo formado pela diferença entre quadros O método mais simples de predição temporal é usar o quadro anterior como um preditor para o quadro atual. Dois quadros sucessivos de uma seqüência de vídeo são mostrados nas figuras 13 e 14. O quadro 1 é usado como um preditor para o quadro 2. O quadro residual ou resíduo, formado a partir da diferença entre o preditor (quadro 1) e o quadro atual (quadro 2), é mostrado na figura 15. Verifica-se nesta figura: a parte acinzentada representa a diferença sendo zero, a parte mais clara corresponde a diferença sendo positiva e a parte mais escura representa a diferença sendo negativa. Essa predição apresenta o problema de, no quadro residual, permanecer uma grande quantidade de energia, o que verifica-se pelas áreas luminosas e escuras. Boa parte dessa energia residual é devida a

Estimação e Compensação de movimento na codificação de vídeo 37 movimentos de objetos. Portanto, depois da predição temporal, há ainda uma significante quantidade de informação para ser comprimida. Uma redução dessa energia poderia ser realizada pela compensação do movimento entre os dois quadros. 3.2 Fluxo óptico Mudanças entre quadros de vídeo podem ser causadas por: - movimento do objeto, que pode ser rígido ou deformável. Para o primeiro caso, um exemplo seria um carro em movimento e, para o segundo caso, um exemplo seria um braço em movimento; - movimento de câmera causado, por exemplo, pela visualização de panorama, inclinação, zoom, rotação; - regiões descobertas, por exemplo, uma parte do fundo da cena descoberta pelo movimento do objeto; e - mudanças de luz. Com exceção das regiões descobertas e das mudanças de luz, essas diferenças correspondem a movimento de pixels entre quadros. A trajetória de cada pixel entre sucessivos quadros de vídeo é conhecida como fluxo óptico, sendo possível estimá-la. A figura 16 mostra o fluxo óptico para os quadros da figura 13 e 14. O fluxo é representado, por simplicidade, somente pelo vetor para o segundo pixel. Uma vez que o fluxo óptico é conhecido, então é possível determinar com precisão a predição da maioria dos pixels do quadro atual pelo movimento de cada pixel a partir do quadro de referência. No entanto, uma vez que os métodos mais precisos de compensação de movimento usam um procedimento iterativo para todo pixel, um cálculo preciso do fluxo óptico seria computacionalmente intenso. Além disso, seria necessário enviar o vetor de fluxo óptico para todo pixel do decodificador a fim de recriar o quadro estimado. Isto resulta em uma grande quantidade de dados transmitidos e, portanto, perde a vantagem de gerar um pequeno resíduo.

Estimação e Compensação de movimento na codificação de vídeo 38 Figura 13- Quadro 1: preditor Figura 14- Quadro 2: quadro atual

Estimação e Compensação de movimento na codificação de vídeo 39 Figura 15- Diferença entre os quadros 1 e 2: quadro residual Figura 16- Fluxo óptico

Estimação e Compensação de movimento na codificação de vídeo 40 3.3 Estimação e Compensação de movimento baseada em bloco Estimação e compensação de movimento baseada em bloco é um método amplamente usado que considera o movimento de seções retangulares ou blocos do quadro atual. Para cada bloco de amostras MxN no quadro atual, o seguinte procedimento é realizado: Passo 1: Pesquisar numa área no quadro de referência (quadro passado ou futuro, previamente codificado e transmitido) para encontrar um bloco MxN que forneça o melhor casamento. Isto é realizado através da comparação do bloco MxN do quadro atual com alguns ou todos as possíveis blocos MxN da área de pesquisa (Figura 17). Um critério de casamento é a minimização da energia do resíduo formado pela subtração da região candidata pelo bloco MxN atual. Este processo de encontrar o melhor casamento é conhecido como estimação de movimento. Figura 17- Estimação de movimento Passo 2: A região candidata escolhida torna-se um estimador para o bloco MxN atual e é subtraída deste bloco para gerar um bloco residual MxN. Este processo é denominado de compensação de movimento. Passo 3: O bloco residual é codificado e transmitido e o vetor de movimento gerado pelas posições (geralmente centrais) do bloco atual e da região candidata é também transmitido.

Estimação e Compensação de movimento na codificação de vídeo 41 Passo 4: O bloco residual codificado é também decodificado e adicionado à região de melhor casamento para gerar um bloco reconstruído que é armazenado como uma referência para futuras estimações usando compensação de movimento. É necessário usar um resíduo decodificado para reconstruir o bloco a fim de assegurar que tanto o codificador quanto o decodificador usem um quadro de referência idêntico para a compensação de movimento. Passo 5: No decodificador o vetor de movimento recebido é usado para recriar a região estimada. Além disso, o bloco residual é decodificado e adicionado ao estimado, reconstruindo a versão do bloco original. Vários são os motivos que levam a compensação de movimento baseada em blocos ser bastante usada. O primeiro é que este método é relativamente direto e computacionalmente implementável. O segundo é que ajusta-se bem com quadros de vídeo retangulares e com transformadas de imagens baseadas em blocos, por exemplo, a Transformada Cosseno Discreta, fornecendo um efetivo modelo temporal para muitas seqüências de vídeos. Há contudo, algumas desvantagens. A primeira delas é que objetos reais raramente tem extremidades perfeitas que casam com fronteiras retangulares. A segunda é que objetos geralmente movem-se por um número fracionário de posições de pixel entre os quadros. A terceira desvantagem é que muitos outros tipos de movimentos de objetos são difíceis de compensar pelo uso de métodos baseados em blocos, por exemplo, objetos deformáveis, rotação e distorção e movimentos complexos tais como o de uma nuvem de fumaça [1]. Apesar de todas estas desvantagens, a compensação de movimento baseada em blocos é usada por todos os padrões de codificação de vídeos atuais. O processo de estimação e compensação de movimento apresenta muitas variações. O quadro de referência pode ser um quadro anterior (na ordem temporal), um quadro futuro ou uma combinação de estimações a partir de dois ou mais quadros codificados previamente. Se um quadro futuro é escolhido como a referência, é necessário codificar este quadro antes do quadro atual, isto é, quadros devem ser codificados fora de ordem. Por exemplo, numa mudança de cenário, onde existe uma mudança significativa entre os quadros de referência e atual, pode ser mais eficiente codificar um macrobloco pelo modo intra, onde não existe compensação de movimento, do que no modo inter, onde existe compensação de

Estimação e Compensação de movimento na codificação de vídeo 42 movimento. Objetos em movimento numa cena de vídeo raramente seguem uma fronteira perfeita nos blocos de tamanho 16x16 pixels. Logo, pode ser mais eficiente usar um tamanho de bloco variável para estimação e compensação do movimento, o que será apresentado no item 3.4. Objetos podem mover-se por um número fracionário de pixels entre quadros (por exemplo, 4,97 pixels ao invés de 5 pixels na direção horizontal). Então uma melhor estimação pode ser realizada utilizando resolução de sub-pixel (através da interpolação de posições inteiras dos pixels) no quadro de referência antes de pesquisar estas posições para o melhor casamento, o que será apresentado no item 3.5. 3.4 Tamanho de bloco variável Dois quadros sucessivos de uma seqüência de vídeo são mostrados na Figura 18 e Figura 19. Quadro 1 é subtraído do quadro 2 para produzir o quadro residual, sem que se utilize compensação de movimento (Figura 20). A Figura 21 representa a mesma subtração do quadro 1 pelo quadro 2, só que agora usando compensação de movimento para cada bloco de tamanho 16x16 pixel (macrobloco). A energia no bloco residual é reduzida neste caso. Usando a compensação de movimento para cada bloco 8x8 (ao invés de ser para cada macrobloco 16x16) reduz-se a energia residual ainda mais (Figura 22) e a compensação de movimento para blocos 4x4 gera uma energia residual menor ainda (Figura 23). Esses exemplos, extraídos de [1], mostram que a compensação de movimento usando blocos de tamanhos menores, em certos casos, pode produzir resultados melhores. No entanto, deve-se observar que um bloco de tamanho menor leva a um aumento de complexidade, em função de um maior número de operações de pesquisa que devem ser realizadas, e um aumento no número de vetores de movimento que precisam ser transmitidos. Enviar cada vetor de movimento requer aumento do número de bits a ser enviado o que poderia ser menos benéfico do que os benefícios de uma energia residual reduzida. Um compromisso em termos de efetividade consiste em adaptar o tamanho do bloco para as características da figura. Por exemplo, escolher um bloco de tamanho grande para regiões de um quadro planas e homogêneas e escolher um

Estimação e Compensação de movimento na codificação de vídeo 43 tamanho de bloco pequeno para áreas de alto nível de detalhes e movimentos complexos. H.264 usa um tamanho de bloco adaptativo na compensação de movimento. A variação de tamanho destes blocos será apresentada no item 4.4. Figura 18- Quadro 1

Estimação e Compensação de movimento na codificação de vídeo 44 Figura 19- Quadro 2 Figura 20- Frame residual (sem compensação de movimento)

Estimação e Compensação de movimento na codificação de vídeo 45 Figura 21- Resíduo (com compensação de movimento e tamanho de bloco 16x16) Figura 22- Resíduo (com compensação de movimento e tamanho de bloco 8x8)

Estimação e Compensação de movimento na codificação de vídeo 46 Figura 23- Resíduo (com compensação de movimento e tamanho de bloco 4x4) 3.5 Compensação de movimento com precisão de subpixel Algumas vezes, uma melhor estimação por compensação de movimento pode ser realizada utilizando posições de amostras interpoladas no quadro de referência. Estimação e compensação de movimento com precisão de sub-pixel envolve pesquisar, além de posições inteiras de pixel, posições interpoladas de sub-pixel, escolhendo a posição que fornece o melhor casamento, ou seja, que minimiza a energia residual. Figura 24 mostra o conceito da estimação de movimento de um quarto de pixel. No primeiro estágio, estimação de movimento encontra o melhor casamento para o grid de amostras inteiras (círculos). O codificador pesquisa as posições de meio-pixel em seguida para verificar o melhor casamento (quadrados). Para ver se o casamento pode ser melhorado, pesquisa posições de um quarto de pixel (triângulos). O bloco no quadro de referência cuja posição foi descoberta é subtraído do bloco atual ou macrobloco.

Estimação e Compensação de movimento na codificação de vídeo 47 O resíduo na Figura 25 é produzido usando bloco de tamanho 4x4 com interpolação de meio-pixel e tem energia residual mais baixa que na Figura 23. Esse método pode ser extendido para uma interpolação com precisão de um quarto de pixel para gerar uma energia residual menor, como mostra a Figura 26. Em geral, uma interpolação apurada fornece melhor desempenho em termos de compensação de movimento, ou seja, fornecendo um resíduo com energia menor, aliada a um aumento da complexidade. O ganho de desempenho tende a diminuir quando aumentam-se as pesquisas com interpolação. Posição de pesquisa inteira Melhor casamento inteiro Posição de pesquisa de meio-pixel Melhor casamento de meio-pixel Posição de pesquisa de um quarto de pixel Melhor casamento de um quarto de pixel Figura 24- Estimação de movimento de pixel inteiro, metade e um quarto.

Estimação e Compensação de movimento na codificação de vídeo 48 Figura 25- Bloco residual (bloco 4x4, compensação com precisão de meio-pixel) Figura 26- Bloco residual (bloco 4x4, compensação com precisão de um quarto de pixel)

Estimação e Compensação de movimento na codificação de vídeo 49 Pesquisar o casamento de blocos 4x4 com interpolação de um quarto de pixel é consideravelmente mais complexo que pesquisar blocos 16x16 sem interpolação. Adicionar esta complexidade, gera uma penalidade de codificação desde que o vetor para todo bloco deve ser codificado e transmitido para o receptor a fim de reconstruir a imagem corretamente. Como o tamanho do bloco é reduzido, o número de vetores a serem transmitidos aumenta. Mais bits são necessários para representar vetores de metade ou um quarto de pixel porque a parte fracionária do vetor (isto é, 0,25 ou 0,5) deve ser codificada também. Há conseqüentemente uma relação proporcional entre eficiência de compressão e complexidade da compensação de movimento. 3.6 Resumo e conclusão do capítulo Neste capítulo foram apresentados os métodos de predição a partir de quadro de vídeo anterior, estimação e compensação de movimento baseada em bloco, compensação de movimento de subpixel e os tamanhos de blocos de compensação de movimento. A estimação e compensação de movimento tem por objetivo diminuir a redundância entre quadros transmitidos a partir da subtração de um quadro estimado e o quadro atual. A saída desse processo é um quadro residual e, quanto menor a energia deste, maior é a precisão do processo de predição. O quadro residual é codificado e enviado para o decodificador que recria o quadro estimado, adiciona o resíduo decodificado e reconstrói o quadro atual. O quadro estimado é criado a partir de um ou mais quadros anteriores ou futuros (quadros de referência). A precisão do quadro estimado pode geralmente ser melhorada pela compensação do movimento entre o quadro de referência e o quadro atual. Vários são os motivos que levam a compensação de movimento baseada em blocos ser bastante usada. O primeiro é que este método é relativamente direto e computacionalmente implementável. O segundo é que ajusta-se bem com quadros de vídeo retangulares e com transformadas de imagens baseadas em blocos, por exemplo, a Transformada Cosseno Discreta. Há contudo, algumas desvantagens. A primeira delas é que objetos reais raramente tem extremidades perfeitas que casam com fronteiras retangulares. A segunda é que objetos

Estimação e Compensação de movimento na codificação de vídeo 50 geralmente movem-se por um número fracionário de posições de pixel entre os quadros. A terceira desvantagem é que muitos outros tipos de movimentos de objetos são difíceis de compensar pelo uso de métodos baseados em blocos, por exemplo, objetos deformáveis, rotação e distorção e movimentos complexos tais como o de uma nuvem de fumaça. Apesar de todas estas desvantagens, a compensação de movimento baseada em blocos é usada por todos os padrões de codificação de vídeos atuais. Estimação e compensação de movimento com precisão de sub-pixel envolve pesquisar, além de posições inteiras de pixel, posições interpoladas de sub-pixel, escolhendo a posição que fornece o melhor casamento, ou seja, que minimiza a energia residual.