Upload
doanminh
View
233
Download
0
Embed Size (px)
Citation preview
1
MPEG 4 e H264
Cena 1
• Seu avatar caminha através de um mundo virtual sofisticado habitado por outros avatares, propaganda de produtos e paredes de vídeo. Em uma tela de vídeo virtual está a transmissão de notícias; você quer mais notícias do mercado financeiro, então você interage com a transmissão e busca as últimas cotações. As imagens em vídeo os outros participantes, segmentadas do fundo são apresentadas contra outra tela virtual
2
Cena 2• Seu videofone 3g novo toca. Você o abre e
atende a ligação. O rosto de seu amigo aparece na tela e vocês de cumprimentam. Cada um vê uma imagem pequena e clara do outro na tela do telefone. Após terminar a ligação, você se conecta à uma transmissão ao vivo de um jogo de futebol. A qualidade da imagem não está muito boa e então você muda para um fluxo “premio” (mais caro). Por alguns instantes o sinal de rádio falha mas você percebe apenas uma distorção temporária na imagem de vídeo.
Visões das aplicações multimídia
• Cena 1: MPEG 4 visual– Um mundo interativo on-line rico, integrando
objetos sintetizados, e naturais de vídeo, imagem e objetos 2D e 3D
• Cena 2: H.264/AVC – comunicação de vídeo altamente eficiente e
confiável, suportando ‘streaming’ bidirecional e aplicações ‘broadcast’ e robusto à problemas no canal de comunicação
3
Enfoque
• MPEG-4: – Sair do modelo de vídeo retangular e oferecer
uma infra-estrutura (framework) aberta e flexível para comunicação visual que usa as melhores características de compressão eficiente de vídeo e processamento orientado a objetos
Enfoque
• H264– Visão mais pragmática.– Objetiva fazer o que os outros padrões faziam
mas de forma mais eficiente, robusta e prática
• Suporta as aplicações mais comuns do mercado: broadcast, armazenamento e streaming
4
Qual vai dominar?
• MPEG-4:– Mais maduro: padrão em 1999– Ênfase em flexibilidade
• H 264– Não está claro como será o licenciamento– Maiores taxas de compressão– Eficiência e confiabilidade
Compressão de Vídeo
• Não é factível compressão sem perdas.• Funciona pela retirada de redundância nos
domínios temporais, especiais e/ou freqüência– Deve atingir compressão eficiente minimizando
distorção incluída pelo processo de compressão– Compressão adicional pode ser atingida com código
de Huffman ou codificação aritmética• Leva em consideração o Sistema Visual
Humano– Mais sensível à freqüências baixas
5
Exemplo
Background filtrado com filtro passa baixo
6
Quadro 2
7
Formatos de vídeo e qualidade• Codificação de vídeo
– Compressão e descompressão• Vídeo digital
– Representação de uma cena natural amostrada espacialmente e temporalmente
• Amostragem– Ocorrem em intervalos produzindo uma moldura ou
um campo• Produz o sinal de vídeo
– Três conjuntos são necessários para produzir uma cena colorida
Cenas de vídeo naturais
• Composta por múltiplos objetos– cada qual com formato, profundidade, textura
e iluminação– Côr e brilho variam com diferents graus de
suavidade na cena (tonalidade contínua)
8
Imagem estática de uma cena de vídeo
Amostragem espacial e temporal
9
Captura
• A representação da cena no formato digital envolve amostrar a cena espacialmente– Vídeo digital é a representação de vídeo
amostrado em forma digital– Cada amostra espaço-temporal (pixel) é
representado como um número ou conjunto de números que descreve o brilho (iluminação) e cor da amostra
Imagem com 2 telas de amostragem
10
Amostragem espacial
• A saída de um CCD é um sinal analógico de vídeo
• A qualidade da imagem é influenciada pela pelo número de pontos de amostragem
• Escolhendo uma grade grosseira, temos uma imagem em baixa resolução
• Aumentando o número de pontos melhoramos a qualidade da imagem
Baixa resolução – Resolução melhorada
11
Seqüência de vídeo entrelaçada
Campos superiores e inferiores
12
Amostragem temporal• A reprodução de séries de quadros produz a
sensação de movimento• Freqüências mais altas de quadros dão a
sensação de suavidade de movimento– < 10 quadros/segundo usados para taxas de
transmissão muito baixas• Movimento não natural
– Entre 10 e 20 qps típico em comunicação em baixas taxas
• Imagem mais suave mas movimentos espasmódicos– 20 e 30 qps televisão– 50 e 6º qps movimentos suaves mas altissímas taxas
de dados
Espaços de cores
• Imagem mono cromática requer apenas um número para indicar o brilho ou luminância de cada amostra espacial
• Imagem colorida requer pelo menos 3 números por pixel– O método escolhido para representar brilho
(limunância ou luma) e cor é descrito como um espaço de cor
13
Componentes RGB
Os três componentes são igualmente importantes
YCbCr (YUV)
• O SVH é menos sensível a cor que ao brilho
• Representação mais eficiente:– Separar a luminância (Y) da cor
• Representar a luminância a uma resolução mais alta
– Y = kr R + kgG + kbB• K são fatores de ponderação• Kb = 0.114 e kr = 0.229 por recomendação do ITU
14
Representação da cor
• Representada como componentes de diferença de cores (crominância ou croma)– Cb = B − Y– Cr = R − Y– Cg = G − YCb, Cr e Cg representam a diferença entre a
intensidade de cor e a luminância média
Exemplo – Diferenças de cores
15
Na imagem
• Cinza médio => diferença zero• Cinza suave => diferença positiva• Cinza escuro => diferença negativa• Observe as diferenças mais fortes de
Vermelho e azul
Na representação
• Temos agora 4 componentes (e não três)– Mas cb + cr + cg é uma constante
• Basta transmitir 2 deles– Apenas Y, Cb e Cr são transmitidos
• Cb e Cr podem ser transmitidos em uma resolução mais baixa
– Representar croma com uma resolução mais baixa que a iluminância é uma forma simples de compressão
– As imagens são normalmente restauradas para RGB antes da apresentação
16
Transformação para RGB
Formatos de codificação YCbCr(YUV)
• Exemplo
17
Amostragem 4:2:0 ou 12 bits por pixel(na verdade é 4:1:1)
Usada em DVD
Amostragem 2:2:2Alta qualidade de cor
18
Amostragem 4:4:4fidelidade plena
4:2:0 intrelaçado
19
Formatos de vídeo
• Os padrões de compressão podem capturar um grande número de formatos de molduras de vídeo– Na prática, é comum capturar e converter
apenas um conjunto de formatos intermediários antes da compressão e transmissão
• O Common Intermediate Format (CIF) é abase para um conjunto de formatos
Formatos de Molduras de Vídeo
20
Moldura em diferentes resoluções
TV/DVD Vídeo conf.Apl. Móveis
Televisão:
Luminância 13,5 MHz
Croma
6,75 MHZ
4:2:2Y:Cb:Cr
Televisão ITU-R BT 601-5
21
Medida Subjetiva de qualidade
• Fatores que influenciam:– Fidelidade espacial– Temporal fidelidade
– Ambiente– Humor– Grau de interação com a cena– Atenção visual (efeito do recentemente)
ITU-R 500
• Double Stimulus Continuous Quality Scale(DSCQS)
• A um testador é apresentado um par de sequencia de vídeo ou de imagens e deve dar uma nota– Uma sequencia é codificada e decodificada, uma é
pura– A ordem é aleatória– Requer um certo número de testadores– Alto custo
22
Seqüência DSCQS
Medidas objetivas de qualidade
• Custo mais baixo• Uma medida comum é a Peak signal to
Noise Ratio (PSNR)– Muitas limitações
23
PSNR
• Escala logarítmica• Depende do erro médio quadrático (MSE)
entre uma imagem original e uma imagem alterada, em relação ao quadrado do sinal mais alto possível na imagem (n é o nrode bits por amostragem da imagem
Aparte, decibel Db• Torna a tarefa de se calcular ganhos e perdas mais
fácil. – Através do uso da notação decibel podemos substituir a
multiplicação (ganho) e divisão (perdas) por adição e subtração, respectivamente.
• O decibel nada mais é do que uma expressão da relação entre dois sinais.– Os sinais podem ser tensões, correntes ou níveis de
potência. Quando convertido para a forma de notação decibel, entretanto, os logaritmos das relações são usados ao invés das taxas aritméticas simples. É o uso do logaritimo das relações que torna possível substituir multiplicação e divisão por soma e subtração.
24
Exemplo: ouvido humano
• O ouvido responde (é mais sensível) a mudança na intensidade do som em níveis mais baixos do que altos. – Um acréscimo de 4Watts para 5Watts irá parecer
muito mais alto do que uma mudança de 20W para 21W, ainda que ambos incrementos sejam de 1Watt.
– É entretanto as relações de potencia que realmente importa (4W para 5W representa um acréscimo de 25% em potência, enquanto 20W para 21W é um acréscimo de apenas 5% .
Decibel• dB = 10 LOG { P1/P2 }
• Onde : – dB é o equivalente decibel da relação P1/P2
P1 e P2 são os níveis de potencia (*)LOG se refere ao logaritimo de base 10
• Exemplo :– Um sinal de potencia de 10 watts é aplicado a uma
longa linha de transmissão. A potencia medida no fim da carga é de 7 watts. Qual é a perda em decibéis ?
– Solução :– dB = 10 LOG ( P1/P2 )
dB = 10 LOG ( 7/10 )db = 10 LOG ( 0.7 ) = (10)(-0.155) = -1.55 dB
25
Exemplos PSNR: (a) original; (b) 30.6 dB; (c) 28.3 dB
Imagem com fundo borrado (PSNR = 27.7 dB)
26
Comparando as 4:(a) original; (b) 30.6 dB; (c) 28.3 dB (d) 27,7 db
Qual a melhor?
Conceitos de codificação de vídeo
27
Codificador / Decodificador
Correlação temporal e espacial
28
Codec de Vídeo
Vídeo Codec• Modelo temporal: reduz redundância temporal
explorando similaridades entre quadros vizinhos – Modelo de Predição do quadro corrente– entrada é o vídeo sem compressão – Saída: quadro de resíduos e um conjunto de
parâmetros de modelo (vetores de movimento) • Descrevem como o movimento foi compensado
• Modelo Espacial: transforma resíduos em coeficientes
• Codificador de entropia: comprime os parâmetros do modelo temporal
29
Modelo temporal• Objetivo:
– Reduzir redundância pela entre molduras transmitidas pela formação de uma moldura prevista e subtraindo-a da moldura atual
• Saída:– Moldura de diferenças– Quanto menor a energia, melhor o modelo– A moldura de diferenças é enviada ao decodificador
• Imagem é recriada através de molduras passadas ou futuras (moldura de referência)
• Compensação de movimento melhora a qualidade do processo
Predição de uma moldura anterior
• Forma mais simples é utilizar a moldura anterior como preditora da moldura atual
• Ver figura • Muita energia ainda existe devido a falta
de compensação de movimento
30
Alterações por movimento
• Causada por movimento do objeto, deformação, movimento da câmera
• É possível estimar a trajetória de cada pixel– Fluxo óptico
• Cálculo muito complexo• Transmissão de um vetor por pixel
– Anularia o efeito da compressão
31
Fluxo Óptico
Compensação e previsão baseadas em blocos
• Compensação de movimento– Compensar movimento de áreas retangulares no
quadro corrente– Usa o procedimento para cada amostra M x N
1. Procura uma área no quadro e referência (futuro ou passado) (previsão de movimento)
2. A área identificada se torna preditora para bloco M x N corrente e é subtraida do bloco corrente – forma o bloco residual (compensação de movimento)
3. O bloco residual é codificado e transmitido e o deslocamento em relação ao bloco corrente também é transmitida (vetor de movimento)
32
Compensação de movimento
• Decodificador– Recebe o vetor de movimento para recriar a
região preditora– Decodifica o bloco residual– Adiciona-o ao preditor e reconstrói o bloco
original
Vantagens da predição baseada em bloco
• Relativamente direta • Computacionalmente tratável• Casa bem com molduras de vídeo
retangulares• Casa bem com transformadas baseadas
em blocos (ex DST)• Provê modelo temporal efetivo para
muitas sequencias de vídeos
33
Desvantagens da predição baseada em bloco
• Objetos reais raramente têm bordas que casam com blocos retangulares
• Deslocamentos com freqüência são inferiores a um pixel
• Difícil compensar deformação de objetos, rotação, nuvens, fumaça etc.
Predição de um macrobloco da compensação de movimento
• Macrobloco: região 16 x 16 pixel• Usado em MPEG-1, MPEG-2, MPEG-4,
H261, H263 e H264
34
Macrobloco 4:2:0
Estimativa de movimento
• Determinar uma região 16x16 da amostra que case de forma próxima com o macrobloco corrente
• A moldura de referência deve ter sido codificada anteriormente– Pode ser anterior ou posterior– O “melhor casamento” é determinado dentro
da área de busca
35
“melhor casamento”
Compensação de movimento
• A região de casamento é subtraída do bloco corrente produzindo um macrobloco residual (luminância e crominância)– Transmitidos juntamente com o vetor de movimento
• No codificadorresíduos são codificados e decodificados a adicionados à região para formar um macrobloco reconstruidoarmazenado como referência para compensação de movimento
36
Variações• Quadro de referência pode ser
– Anterior, posterior ou mistura dos dois• Se houver grande diferença ente os quadros
– Pode ser mais eficiente não usar compensação de movimento (intra-modo)
• Objetos raramente são retangulares e casam com 16 x 16 – Usar tamanho de bloco variável
• Objetos se movem em fração de pixel– Usar referência pra posições de sub-pixel
Tamanho de bloco para compensação de movimento
37
Resíduo sem compensação de movimento
Resíduo bloco 16 x 16
38
Resíduo bloco 8 x 8
Resíduo bloco 4 x 4
39
Comparando os 4
Tamanho do macrobloco
• Quanto menor melhor a compensação• No entanto:
– Maior a complexidade (mais operações de busca)
– Maior número de vetores de movimento que precisam ser transmitidos
• Trade-off– Tamanho do bloco dependente das
características da imagem
40
Compensação de movimento sub-pixel
close- da região de referência
Região de referência interpolada à meio pixel
Às vezes a melhor estimativa po ser na região interpolada
Estimativa e compensação de movimento sub-pixel
41
Estimativa inteira, meio pixel e um quarto de pixel
Resíduo compensação Meio pixel(bloco 4 x 4)
42
Resíduo compensação um quarto de pixel (bloco 4 x 4)
Exemplo do vetor de movimento
Diferenças
Bloco 16 x 16
43
Vetor de movimento (16 x 16)
Exemplo 2 (4x4)
44
Exemplos de ganhos
Meio pixel apresenta grande ganho relativo
Quanto mais difícil compensar o movimento, menor o SAE
45
Compensação de movimento baseada em região
• Objetos reais raramente estão alinhados com fronteiras de blocos
Compensação de movimento baseada em região
• Pode dar melhor resultado– Ex, compensar pixels dentro da oval
• Problemas– Identificar as regiões (segmentação)– Sinalizar (codificar) o contorno da fronteira– Codificar o resíduo após a compensação de
movimento• MPEG-4 inclui ferramentas para permitir
ompensção baseada em região
46
Modelo de imagem
• Imagens de vídeo naturais são difíceis de serem comprimidas pois há forte correlação entre amostras de imagens vizinhas
Função de autocorrelação de imagem
Pico indica movimento zero
47
Auto-correlação do resíduo
Modelo da imagem
• Função– Reduzir a correlação da imagem ou do resíduo,
convertê-lo em uma forma que pode ser comprimida eficientemetne usando codificador entrópico
• Componentes– Transformação (retira correlação e compacta dados)– Quantização (reduz a precisão)– Reordenação (arranja os dados para agrupar valors
significantes
48
Codificação preditiva de imagem
Sucesso da compressão depende do preditor
Pode haver acumulação de erros
Codificação de transformada
• Esta parte do CODEC converte uma imagem ou resíduo de movimento compensado em outro domínio(domínio da transformada)
• A escolha da transformada depende de:– Dados no domínio dever ser sem correlação
(componentes com inter-dependência mínima) e compacto (a maior parte da energia deve estar em poucos valores)
– Deve ser reversível– Deve ser computacionalmente tratável
49
Exemplos de transformadas
• Singular Value Decomposition (SCVD)• Karhunn-Loeve (KLT)• Transformada Discreta de Co-senos
(DCT)• Transformada Discreta de Wavelet (DWT)
– Melhores resultados que transformadas de blocos para imagens estáticas
– Maiores requisitos de memória– Inadequada para compensação de bloco
Transformada Discreta de Co-senos (DCT)
• Opera em um bloco X N x N – AMOSTRAS DE IMAGENS OU RESÍDUOS
• Cria Y, um bloco N x N de coeficientes• FDCT (forward DCT)
– Y = AXAT
• Inversa (IDCT) – X = ATXA
• X é a matriz de amostras, Y matriz de coeficientes A matriz de transformada NxN
50
Elementos de A
Reescrevendo as equações
51
Exemplo: A para uma DCT
A transformada de cossenos é simétrica
52
ou
Calculando os cossenos
53
Exemplo Calculando a DCT de um bloco 4 x 4
• X é um bloco 4x4 de uma imagem
FDCT de X: Y = AXAT
• Y´ = AXAT
54
FDCT
• A saída de uma FCDT bidimensional é um conjunto de coeficientes NxNrepresentando os dados do bloco da imagem no domínio DCT– Estes coeficientes podem ser considerados
pesos de um conjunto de “padrões básicos”– Composições de finções cossenos
55
Padrão 4 x 4
8 X 8
56
Exemplo 2 – Bloco de imagem e coeficientes DCT
Ganho não é óbvio ... 16 coeficientes
57
Mas, posso descartar
muitos deles
Wavelet
• Um par de filtros é apliado a um sinal decompondo-o em uma faixa de baixa freqüência (L) e uma faixa de alta freqüência
• Cada banda é sub-amostrada por um fator de 2• Com a correta escolha de filtros, o processo é
reversível• Processo pode ser estendido para um sinal bi-
dimensional como uma imagem de intensidade
58
wavelet
Imagem após um nível de decomposição
59
Decomposição wavelet em dois estágios
Decomposição wavelet em cinco estágios