Академический Документы
Профессиональный Документы
Культура Документы
Contedo
Introduo (Teoria dos Cdigos) Algoritmos de Compresso Compresso Multimdia Compresso de Vdeo Compresso de udio Referncias
Compresso de Dados
Carlos Alexandre Mello
Introduo
Compresso de Dados
Espao de Armazenamento Velocidade de Transmisso
Teoria de Cdigos
Teoria da Informao
Claude Shannon
Algoritmos de Compresso
Estticos ou Dinmicos Com Perda ou Sem Perda
Carlos Alexandre Mello cabm@cin.ufpe.br 5
Algoritmos de Compresso
Sem Perdas
Run-Length Huffman Lempel-Ziv
Com Perdas
Wavelets Quantizao Vetorial
Introduo
Motivao:
Para que compresso?
Um vdeo uma sequncia de quadros (frames) Em boa qualidade, um vdeo tem 30 fps Se cada frame corresponde a uma imagem de 640x480 pixels, com 24 bits/pixel, precisaramos de 27MB para cada segundo de vdeo
Comprimento varivel
A = 00 ou 1 O comprimento pode variar dentro na codificao de uma mesma palavra
10
Singulares
A = 00 B = 00 C = 01
Carlos Alexandre Mello cabm@cin.ufpe.br 11
Unicamente Decodificvel
12
No-Instantneo
Depende de informaes futuras A = 10 B = 100 C = 1000 D = 10000 Como decodificar 101001000
Carlos Alexandre Mello cabm@cin.ufpe.br 13
Uma condio necessria e suficiente para um cdigo ser unicamente decodificvel que nenhuma palavra completa do cdigo seja prefixo de outra palavra qualquer.
14
i=1
-Li
Exemplo: Considere o cdigo A=0 comprimento Li=1 B = 01 comprimento Li=2 C = 11 comprimento Li=2 Nmero binrio base r=2 Ou seja, 2-1+2-2+2-2=1
15
i=1
-Li
16
L=
i=1
Pi*Li
Um cdigo dito compacto para uma fonte S se seu comprimento mdio menor ou igual ao comprimento mdio de todos os outros cdigos unicamente decodificveis para a mesma fonte S.
Carlos Alexandre Mello cabm@cin.ufpe.br 17
C=
18
Algoritmos de Codificao
Algoritmos de compresso sem perda
Run-Length Cdigo de Huffman Lempel-Ziv-Welch
Usados em codificao de udio e Vdeo
19
Algoritmos de Codificao
Run-Length
Exemplo:
120 120 120 30 45 45 45 60 Codificao: <3, 120> <1, 30> <3, 45> <1, 60>
20
Algoritmos de Codificao
Cdigo de Huffman
[1952]
Variao do algoritmo de Shannon-Fano Divide o conjunto de entrada em dois subconjuntos, atribuindo 0 a um deles e 1 ao outro. Prossegue com a codificao da mesma forma
21
Algoritmos de Codificao
Cdigo de Huffman Organizam-se os smbolos em ordem decrescente de suas probabilidades Uma fonte reduzida formada a partir dos 2 smbolos de menor probabilidade Continua o passo anterior at que s restem 2 smbolos Atribui-se 0 a um dos smbolos e 1 ao outro, aleatoriamente Continua atribuindo 0s e 1s at chegar aos smbolos iniciais
22
Algoritmos de Codificao
Cdigo de Huffman
SMBOLOS DA FONTE S1 S2 S3 S4 S5
FONTE FONTE FONTE PROBABILIDADES REDUZIDA REDUZIDA REDUZIDA 0.3 0.3 0.4 0.6
0.3 0.3
0.4
23
Algoritmos de Codificao
Cdigo de Huffman
SMBOLOS DA FONTE S1 S2 S3 S4 S5
FONTE FONTE FONTE PROBABILIDADES REDUZIDA REDUZIDA REDUZIDA 0.3 10 0.3 10 0.4 0 0.6 1
0.3 0.2
11 00
0.3 0.3
10 11
0.4 0
010 011
0.2
01
24
Algoritmos de Codificao
Cdigo de Huffman
Codificao em 2 passos
Um para determinao das probabilidades O outro para gerar a codificao
25
Algoritmos de Codificao
Lempel-Ziv Welch
Variao do Lempel-Ziv desenvolvida por Terry Welch Implementada no formato GIF para armazenamento de imagens
26
Lempel-Ziv Welch
[1984]
Variao do Lempel-Ziv desenvolvida por Terry Welch Implementada no formato GIF para armazenamento de imagens
27
Lempel-Ziv Welch
Esquema de Codificao
INICIALIZA DICIONRIO [Prefixo] <- 0 C RECEBE O PRXIMO SMBOLO NO CDIGO [Prefixo]C EST NO DICIONRIO?
SIM: [Prefixo] RECEBE [Prefixo]C E VOLTA A (3) NO:
[Prefixo]C ACRESCENTADO AO DICIONRIO SADA RECEBE CDIGO DE [Prefixo] [Prefixo] <- C E VOLTA A (3)
28
Algoritmos de Codificao
Algoritmo de Lempel-Ziv-Welch
29
Algoritmos de Codificao
Lempel-Ziv-Welch
Algoritmos de Codificao
Lempel-Ziv-Welch
31
32
33
34
35
Compresso de Vdeo
Carlos Alexandre Mello
36
Compresso de Vdeo
A fim de avaliar sistemas de compresso de vdeo, os seguintes parmetros devem ser considerados quanto ao desempenho da compresso:
Taxa de compactao Qualidade da Imagem Velocidade da compactao e descompactao
37
Compresso de Vdeo
Como medir a taxa de compresso?
Em geral, razo entre entrada e sada Problema: matriz m x n com bits por pixel para representar uma cor Soluo: Determinar o nmero de bits por pixel apresentado necessrio no bitstream comprimido
bitstream = sada do compactador
38
Compresso de Vdeo
Exemplo:
Se estamos reproduzindo uma imagem 256 x 240 pixels de um bitstream de 15.000-byte, a compresso de: (bits)/(pixels) = (15.000x8 bits)/(256x240 pixels) = 2 bits por pixel
Problema: Essa taxa no mede a qualidade da imagem
Carlos Alexandre Mello cabm@cin.ufpe.br 39
Compresso de Vdeo
Reduo de Redundncia
Algumas reas do frame possuem a mesma cor que se espalha por mais de um pixel (redundncia espacial); Quando a cena ou parte dela contm predominantemente objetos orientados verticalmente existe grande probabilidade que duas linhas adjacentes sejam as mesmas (redundncia espacial); Imagens onde alguns pixels se repetem por diversos frames (redundncia temporal).
40
Compresso de Vdeo
Redundncia Espacial
Redundncia Temporal
41
Compresso de Vdeo
Principais Tcnicas
Color LookUp Table Run-Length Interpolao Predio (DPCM, ADPCM) Uso de Transformadas (DCT) Codificao Estatstica (Huffman)
42
Compresso de Vdeo
Algoritmos - MPEG
Especificaes
Multiplexar fluxos de bits (vdeo, udio, dados) individuais num nico fluxo de bits Prover Sincronizao Empacota os bits em grupos
Preveno contra propagao de erros
43
Compresso de Vdeo
Algoritmos - MPEG
Padro de Cores
RGB comum MPEG usa o YCbCr
Mais apropriado para percepo do sistema visual humano
44
Compresso de Vdeo
Algoritmos - MPEG
No caso dos quadros B a predio de movimento bidirecional, ou seja, feita com quadros no passado e no futuro em relao ao quadro sendo codificado
Carlos Alexandre Mello cabm@cin.ufpe.br 45
Compresso de Vdeo
Algoritmos - MPEG
46
Compresso de Vdeo
Algoritmos - MPEG
47
Compresso de Vdeo
Algoritmos - MPEG
48
Compresso de Vdeo
Algoritmos - MPEG
A predio bilateral importante para utilizar informaes de elementos que no esto presentes em frames anteriores
49
Compresso de Vdeo
Algoritmos - MPEG
50
Compresso de Vdeo
Algoritmos - MPEG
A DCT faz uma transformao na imagem, mudando o domnio de representao da mesma Este processo no introduz perdas de qualidade na imagem, sua utilizao se d porque ela permite uma representao mais compacta da imagem, facilitando a compresso O uso da DCT faz com que as maiores frequncias se concentrem no canto superior esquerdo da matriz
Carlos Alexandre Mello cabm@cin.ufpe.br 51
Compresso de Vdeo
Algoritmos - MPEG
Compresso de Vdeo
Algoritmos - MPEG
53
Compresso de Vdeo
Algoritmos - MPEG
54
Compresso de Vdeo
Algoritmos - MPEG
Aps a aplicao da DCT, uma quantizao feita tomando uma matriz de quantizao fixa Cada valor da matriz gerada pela DCT dividido pelo valor correspondente na mscara de quantizao e arredondado para um inteiro
55
Compresso de Vdeo
Algoritmos - MPEG
Matriz de quantizao
Bloco quantizado
56
Compresso de Vdeo
Algoritmos - MPEG
57
Compresso de Vdeo
Algoritmos - MPEG
Quadro m
Quadro m+1
58
Compresso de Vdeo
Algoritmos - DiVX
O DivX um codec de vdeo criado pela DivX, Inc. Ele foi produzido para ser usado em compactao de vdeo digital, deixando os vdeos com qualidade, apesar da alta compactao Funciona como um MP3 para vdeo
59
Compresso de udio
Carlos Alexandre Mello
60
Compresso de udio
Algoritmos Blocos de Silncio
Blocos de silncio so marcadores que contm um valor de durao do tempo que representa a extenso do silncio ou quase silncio
Dados de Silncio Janela de Silncio
61
Compresso de udio
Algoritmos Blocos de Silncio
Semelhante ao Run-Length Usado em arquivos VOC Silncio definido como a amplitude da forma de onda que no ultrapassa a janela de silncio
Uma extenso de silncio menor que a janela considerada muito curta para merecer a converso para bloco de silncio
62
Compresso de udio
Algoritmos Blocos de Silncio
Problema: 2) Difcil distinguir silncio do incio de alguns sons (para sinais de voz)
Como os fricativos inaudveis (/f/, /s/, /sh/)
Compresso de udio
Algoritmos MP3 MPEG-1 Layer 3
Terceira camada do formato MPEG-1 Destinada a codificao de udio Taxa de compresso: 10:1 podendo chegar at 12:1 Uso de elementos de psicoacstica
64
Compresso de udio
Algoritmos MP3 MPEG-1 Layer 3
Um erro comum confundir o MP3 com MPEG-3. MPEG-3 um formato morto, pois o formato MPEG-4 o suplantou com muitas vantagens Enquanto o MPEG-3 deveria ter sido um formato para compresso tanto de udio como de vdeo o MP3 responde apenas pela compresso de udio do MPEG-1
Carlos Alexandre Mello cabm@cin.ufpe.br 65
Compresso de udio
Algoritmos MP3 MPEG-1 Layer 3
Compresso de udio
Algoritmos MP3 MPEG-1 Layer 3
Compresso de udio
Algoritmos MP3 MPEG-1 Layer 3
Compresso de udio
Algoritmos MP3 MPEG-1 Layer 3
Compresso de udio
Algoritmos MP3 MPEG-1 Layer 3
Desta forma, esta taxa de amostragem funciona como um filtro passa-baixa, que remove todos os componentes de freqncia fora da faixa de interesse, neste caso, acima de 20 Khz
70
Compresso de udio
Algoritmos MP3 MPEG-1 Layer 3
Compresso de udio
Algoritmos MP3 MPEG-1 Layer 3
Compresso de udio
Algoritmos MP3 MPEG-1 Layer 3
Compresso de udio
Algoritmos MP3 MPEG-1 Layer 3
Compresso de udio
Algoritmos MP3 MPEG-1 Layer 3 Mascaramento em freqncia e mascaramento temporal
O mascaramento no tempo ocorre quando um som forte precedido por um mais fraco que se encontra em uma freqncia prxima do primeiro
Se o intervalo de tempo entre os dois for suficientemente pequeno, este som mais fraco no ser percebido pela audio humana
Se um som mascarado aps um som mais forte, temos o chamado ps-mascaramento No caso de um som ser mascarado antes do som mais forte, temos o que chamamos de pr-mascaramento
O pr-mascaramento existe s por um curto momento, cerca de 20ms, enquanto que o ps-mascaramento tem efeito por at 200 ms
75
76