Você está na página 1de 23

INTRODUÇÃO À MULTIMÉDIA

Compressão: conceitos gerais


INTRODUÇÃO À MULTIMÉDIA

Motivação
• Factores relativos ao armazenamento
• Factores relativos à transmissão
• …
INTRODUÇÃO À MULTIMÉDIA

Processo
• Função realizada sobre dados antes da
operação:
– Codificador da Origem (Source Coder)
– Descodificador do Destino (Destination
Decoder)
• Usada para reduzir o volume de
informação
INTRODUÇÃO À MULTIMÉDIA

A redundância
• O objectivo da compressão é de reduzir ao máximo o
volume de armazenamento e de transferência de
informação, mantendo no entanto a capacidade de
restituir a integridade dessa informação. Pelo menos
quando trabalhamos em compressão sem perdas.
• Como reduzir o volume de dados digitais sem degradar
a informação ou, pelo menos, só a degradando de forma
imperceptível e controlável?
• Constatando que a quase totalidade de dados que
tratamos - imagem, texto, som - apresentam uma
distribuição não uniforme de símbolos ou de sequencias
de símbolos.
INTRODUÇÃO À MULTIMÉDIA

A redundância
• Texto:
– Os caracteres que utilizamos não apresentam a
mesma probabilidade de aparecimento. Todo o texto
apresenta uma estrutura interna forte, determinada
pelas regras sintéticas, semânticas e gramaticais.
Regras implicam regularidade e consequentemente
formas repetitivas e redundância.
• Som:
– Se analisarmos um trecho de musica, constatamos
rapidamente que a distribuição das probabilidades de
aparecimento de sons não é mais uniforme que a das
letras num texto. Também eles seguem regras ou leis
de construção.
INTRODUÇÃO À MULTIMÉDIA

A redundância
• Imagem:
– Quando manipulamos imagens constatamos evidentemente que
elas apresentam regularidades: longas séries de pixeis
idênticos, ou quase idênticos: no céu azul, nas nuvens brancas,
na relva verde; estruturas repetitivas; composição geral da
imagem, etc. Tratam-se neste caso de redundância espaciais,
i.e., motivos repetitivos no mesmo espaço.
• Vídeo:
– Logo que utilizamos sequencias de imagens, as redundância
temporais vem juntar-se as redundância espaciais. De uma
imagem à seguinte, e numa ordem de 25 imagens por segundo,
muitos dos elementos mantém-se idênticos. Por exemplo, numa
entrevista televisiva, uma grande parte da imagem (o fundo)
mantém-se idêntica durante vários segundos.
INTRODUÇÃO À MULTIMÉDIA

A redundância
• São estas redundância espaciais e
temporais que permitem a compressão
dos dados, isto e, a remoção de dados
inúteis. Para tirar partido destas
redundância podemos usar algoritmos
mais ao menos complexos, fundados
sobre técnicas matemáticas quase
sempre sofisticadas (compressão JPEG,
MPEG, Wavelets, fractais, etc.).
INTRODUÇÃO À MULTIMÉDIA

Os parâmetros da compressão
• O parâmetro chave de um algoritmo de compressão é a
taxa de compressão, a qual define a sua performance.
• Este é calculado como a relação entre o tamanho do
ficheiro original (Fo) e o tamanho do ficheiro comprimido
(Fc) .
• Utilizamos geralmente para representar esta relação
uma noção do tipo N : 1 que indica que o volume dos
dados de origem foi dividido por N. Por exemplo 10 : 1
significa que o tamanho do ficheiro original foi dividido
por 10.
• Outros parâmetros que caracterizam igualmente um
algoritmos de compressão são a sua velocidade e a
qualidade de restituição do documento original.
INTRODUÇÃO À MULTIMÉDIA

Simetria e assimetria
• Um sistema de compressão supõe um algoritmo de compressão e um de
descompressão (codec) .
• Estes algoritmos apresentam normalmente uma certa assimetria no que diz
respeito ao tempo e a qualidade de compressão.
• A velocidade, que define o tempo necessário ao processo de compressão /
descompressão, pode ser simétrico quando o tempo necessário a
compressão é equivalente ao tempo necessário a descompressão.
• Para a maior parte dos medias digitais, a velocidade é assimétrica: o tempo
de compressão e mais longo do que o tempo de descompressão (para
gravar em CDROM, aplicações de vídeo a pedido, etc) .
• Note-se igualmente que velocidades assimétricas autorizam em geral um
melhor debito, ou taxa de compressão.
• No caso de aplicações multimédia em tempo real (vídeo-conferência,
streaming de áudio e vídeo em tempo real, etc) temos necessidade de
compressores rápidos. O tempo de compressão e nestes casos quase igual
ao tempo de descompressão.
• Em geral, esta velocidade simétrica reduz a taxa de compressão.
• Assim, simetria e assimetria podem influenciar a qualidade de compressão.
INTRODUÇÃO À MULTIMÉDIA

Adaptabilidade
• A adaptabilidade refere-se à característica do
processo/algoritmo de se adaptar aos dados de entrada.
É possível identificar segundo este aspecto as seguintes
variações:
– Não-adaptativos – em geral, baseiam-se em dicionários
estáticos definidos à priori em função de estatística de
frequência de dados. Um dicionário de codificação/compressão
é na essência uma tabela que associa símbolos a códigos de
menor tamanho.
– Adaptativos - não se baseiam em dicionário predefinidos,
construindo o dicionário em função dos dados de entrada.
– Semi-adaptativos –em geral é efectuado em dois passos. No
primeiro é efectuada uma estatística da entrada, gerando um
dicionário. Na segunda fase é efectuada a
codificação/compressão propriamente dita.
INTRODUÇÃO À MULTIMÉDIA

Compressão com perdas e sem


perdas
• Compressão sem perdas (lossless) busca reduzir a quantidade de
dados, mas no destino uma cópia exacta dos dados originais são
recuperados, a compressão é reversível.
– O algoritmo de compressão é reversível (Fd = Fo) .
– Transferência de texto, ficheiros binários, etc.
• Compressão com perdas (lossy) busca permitir a recuperação de
uma versão dos dados originais que são percebidos pelo utilizador
como sendo parecidos o suficiente com o original. PERDA DE
DADOS!
– Transferência de imagens digitais, áudio, vídeo, pois o olho e ouvido
humanos não são capazes de perceber pequena perda de qualidade no
sinal.
– O algoritmo de compressão é irreversível, pois ele não permite a partir
do ficheiro descomprimido (Fd), encontrar na integralidade o ficheiro
original (Fo =~4 Fd).
INTRODUÇÃO À MULTIMÉDIA

Técnicas de Compressão
• Codificação em sequência (Run-Length
Coding - RLC)
– Uma técnica de compressão sem perdas
– Usada quando o sinal a ser codificado
contém uma longa sequência de bits
repetidos.
– Sequência de bits substituída pelo bit e
indicação de quantidade do mesmo.
000000011111111110000011
…0,7,1,10,0,5,1,2…
INTRODUÇÃO À MULTIMÉDIA

Técnicas de Compressão
• Codificação Estatística
– Modelos de codificação utilizam o mesmo número de
bits por valor. Alguns símbolos aparecem com maior
frequência que outros. Símbolos que aparecem com
maior frequência podem usar menos bits que aqueles
que aparecem com menor frequência.
– Num texto a letra ‘A’ aparece com maior frequência
(probabilidade) que a consoante ‘P’,que aparece com
maior frequência que ‘Z’…
– Utiliza-se uma codificação com número de bits
variável, de modo que na média se necessita menos
bits para codificar o mesmo conteúdo.
INTRODUÇÃO À MULTIMÉDIA

Técnicas de Compressão
• Codificação Estatística
– Método de Huffman
• Codificar com o menor numero de bits os símbolos em que a
frequência de aparição e a maior.
• Os primeiros elementos de uma palavra código (o prefix) não
pode constituir uma outra palavra de código (código prefixo) .
Exemplo:
ABRACADABRA -> 8bits x 11 símbolos = 88 bits
A -> 5 -> 0
B -> 2 -> 10
R -> 2 -> 110
C -> 1 -> 1110
D -> 1 -> 1111
Resultado: 01011001110011110101100 -> 23 bits
INTRODUÇÃO À MULTIMÉDIA

Técnicas de Compressão
• Codificação Estatística
– Método de Huffman
• O algoritmo de Huffman consiste em partir de uma analise estatística do
conteúdo do ficheiro, atribuir aos símbolos mais frequentes os códigos
binários o mais curto possível, reservando os códigos mais longos aos
símbolos que aparecem menos vezes.
• Este tipo de codificação obriga a criação de tabelas de frequências que
terão de ser transmitidas visto que são necessárias para a descodificação.
• Para aplicar a um ficheiro o algoritmos de Huffman temos de percorrer as
seguintes etapas:
1. Leitura do ficheiro para calculo da frequência de ocorrência de cada símbolo.
2. Classificação dos símbolos em função da sua frequência de ocorrência.
3. Reagrupamento sequencial dos pares de símbolos de menor frequência, voltando
a executar a classificação, se necessário.
4. Atribuição de um código a cada símbolo: atribui-se um 0 ou um 1 a cada
elemento antes de reagrupa-lo; O código de cada símbolo será constituído pela
sequência (lida da direita para a esquerda) de 0 e 1 que se encontram no
caminho de reagrupamento do símbolo.
5. Codificação final.
INTRODUÇÃO À MULTIMÉDIA

Técnicas de Compressão
• Codificação Estatística
– Método de Huffman
• Codificar a sequencia:
AMORE MORE ORE RE
• O alfabeto será constituído por seis símbolos: A,
E, M, O, R, Espaço. Para comprimir esta
sequência de dados usando o algoritmo de
Huffman segue-se cada uma das etapas acima
descritas.
INTRODUÇÃO À MULTIMÉDIA

Técnicas de Compressão
• Codificação Estatística
– Método de Huffman
• Etapa 1: Estabelece a frequência de ocorrência de cada símbolo.
f (A) = 1;
f (E) = 4;
f (M) = 2;
f (O) = 3;
f (R) = 4;
f (Espaço) = 3

• Etapa 2:Classificação dos símbolos por ordem decrescente de frequência.


Símbolo i Frequência fi
E 4
R 4
O 3
Espaço 3
M 2
A 1
INTRODUÇÃO À MULTIMÉDIA

Técnicas de Compressão
• Codificação Estatística
– Método de Huffman
• Etapa 3: Agrupamento das duas frequências mais
pequenas, voltando a executar a classificação
anterior, se necessário.
INTRODUÇÃO À MULTIMÉDIA

Técnicas de Compressão
• Codificação Estatística
– Método de Huffman
• Etapa 4: Atribuição do código. Para encontrar o
código de cada símbolo, identificamos o seu
caminho da direita para a esquerda, e
recuperamos os 0 ou os 1 que se encontram pelo
caminho.
INTRODUÇÃO À MULTIMÉDIA

Técnicas de Compressão
• Codificação Estatística
– Método de Huffman
• E 01
R 10
O 11
Espaço 000
M 0010
A 0011

• Etapa 5: Compressão da cadeia:


AMORE MORE ORE RE
0011001011100100000101110010001110010001001
• Nota: Independentemente da atribuição de 0 ou 1, este método
encontra sempre a compressão mínima. Ou seja, quando temos
por exemplo 3 símbolos frequências iguais e mínimas numa dada
fase, podemos agrupar os 2 símbolos que entendermos.
INTRODUÇÃO À MULTIMÉDIA

Técnicas de Compressão
• Algoritmos do tipo dicionário
– Os métodos de compressão baseados em dicionários são
caracterizados principalmente por :
• Não necessitarem de conhecer a estatística dos dados a N comprimir.
• Não usarem códigos de comprimento variável.
• Utilizarem sequencias de símbolos de comprimento variável.
• Muitos dos programas de compressão de dados mais conhecidos baseiam-
se nestas técnicas: pkzip, zoo, arj, compress, gzip, ...
• A sua invenção deveu-se a Jacob Ziv e Abraham Lempel (J. Ziv and A.
Lempel, A universal algorithm for sequential data compression, IEEE Trans.
on Information Theory, 1977, 23, pp. 337-343), em finais dos anos 70: LZ77
e LZ78. Desde então, muitas variantes foram propostas: LZH, LZSS,LZW
(Lempel, Ziv, Welch). Este ultimo método deve-se a Terry Welch que em
1984 publicou um artigo onde alguns dos problemas associados a
compressão LZ78 foram eliminados.
• Este e o algoritmo de compressão sem perdas mais utilizado. Pode ser
usado para comprimir texto, codigo binario, codigo executavel, imagens
(GIF, TIFF, PostScript).
INTRODUÇÃO À MULTIMÉDIA

Técnicas de Compressão
• Codificação por Diferença
– Usado quando a amplitude de um sinal pode assumir valores
numa gama larga, porém a diferença de amplitudes de valores
sucessivos é relativamente pequena.
– Ao invés de usar um grande numero de bits para representara
amplitude do sinal, apenas a diferença para o valor anterior é
armazenado, com um número menor de bits.
– Pode acarretar compressão com perdas ou sem perdas,
dependendo do número de bits escolhidos serem suficientes
para armazenar a maior das diferenças entre amplitudes
sucessivas.
– Um sinal que requer 12 bits para ser codificado pode ter
diferenças com não mais de 3 bits, o que acarreta uma
economia de 75% na quantidade de bits resultante da
codificação das amostras.
INTRODUÇÃO À MULTIMÉDIA

Técnicas de Compressão
• Codificação por Transformadas
– Envolve a transformação da informação original de um formato
para outro mais apropriado para compressão.
– Não existe perda pela transformação em si.
– Muito usado para compressão de imagens e vídeo.
– A taxa de mudança na magnitude dos valores dos pixels na
matriz define o que denominamos frequência espacial, que pode
ser horizontal e vertical.
– O olho humano é menos sensível às componentes espaciais de
mais alta frequência. Seria vantajoso converter os valores
espaciais originais em valores baseados em componentes de
frequência espacial, já que pode-se eliminar mais facilmente as
componentes que pouco contribuem para a inteligibilidade da
imagem, diminuindo a quantidade de informação a ser
processada.

Você também pode gostar