segunda-feira, 28 de novembro de 2011

AULA 28.11.2011 - TÉCNICAS DE COMPRESSÃO DE DADOS

1. CONCEITO


A compressão de dados é o ato de reduzir o espaço ocupado por dados num determinado dispositivo. Essa operação é realizada através de diversos algoritmos de compressão, reduzindo a quantidade de Bytes para representar um dado, sendo esse dado uma imagem, um texto, ou um arquivo (ficheiro) qualquer.

Comprimir dados destina-se também a retirar a redundância, baseando-se que muitos dados contêm informações redundantes que podem ou precisam ser eliminadas de alguma forma. Essa forma é através de uma regra, chamada de código ou protocolo, que, quando seguida, elimina os bits redundantes de informações, de modo a diminuir seu tamanho nos ficheiros. Por exemplo, a sequência "AAAAAA" que ocupa 6 bytes, poderia ser representada pela sequência "6A", que ocupa 2 bytes, economizando 67% de espaço.

Além da eliminação da redundância, os dados são comprimidos pelos mais diversos motivos. Entre os mais conhecidos estão economizar espaço em dispositivos de armazenamento, como discos rígidos, ou ganhar desempenho (diminuir tempo) em transmissões.

Embora possam parecer sinônimos, compressão e compactação de dados são processos distintos. A compressão, como visto, reduz a quantidade de bits para representar algum dado, enquanto a compactação tem a função de unir dados que não estejam unidos. Um exemplo clássico de compactação de dados é a desfragmentação de discos.


2. VANTAGENS

A vantagem dos métodos de compressão com perda de dados sobre os sem perda de dados é que normalmente consegue-se um ficheiro comprimido de menor dimensão, mantendo, no entanto, uma qualidade mínima em relação ao original, conforme o objectivo que se pretende.
A compressão com perda de dados é normalmente usada em som, imagens e vídeo/animação. A razão de compressão (ou seja, a dimensão do ficheiro comprimido comparado com o original, ou por comprimir) dos codecs de vídeo é quase sempre superior às obtidas em som e imagens fixas. O som pode ser comprimido a uma razão de 10:1 (o ficheiro comprimido ocupa 1 décimo do original), sem perda muito notável de qualidade, como ocorre com o formato de som em MP3 ou WMA (windows media audio), com taxas de até 320 Kbps de áudio (um CD contém dados de áudio a 1411,2 Kbps). Já o vídeo pode ser comprimido a uma razão 300:1. As imagens fixas são normalmente comprimidas a uma razão de 10:1, tal como no som, mas neste caso a qualidade é bastante afetada, optando-se normalmente por uma razão menor, 2:1, por exemplo.
Quando um utilizador recebe um ficheiro comprimido com perda de dados, (por exemplo, para reduzir o tempo de download), esse ficheiro posteriormente descomprimido pode ser bem diferente do original ao nível do bit e, no entanto, ser quase idêntico numa observação normal para o olho ou ouvido humano. Muitos métodos /algoritmos de compressão recorrem a limitações da anatomia humana tomando em conta, por exemplo, que o olho humano apenas pode visionar certas freqüências da luz. O modelo psicoacústico descreve como o som pode ser muito comprimido sem que se perceba a degradação da qualidade do sinal sonoro. Os erros/falhas, causados pela compressão com perda de dados, que sejam perceptíveis para o olho ou ouvido humano são conhecidos por artefactos de compressão.


3. TIPOS DE COMPRESSÃO

 Compressão com perdas:
  • Definido como operação que admite alguma perda de qualidade dos dados
  • A informação é comprimida por algum algoritmo e, ao descomprimir, a informação é diferente da original, mas suficientemente parecida para que seja útil
  • Exemplo típico: a maioria das imagens .jpg na internet em que se percebe uma diminuição da qualidade próximo às bordas ou trocas de cor na imagem
  •  Dependendo do algoritmo aplicado, essa compressão sofre de perda constante
  1. Perdem-se dados sucessivamente, à medida em que se aplica o algoritmo várias vezes, ao comprimir e descomprimir. Isso resulta numa maior perda de dados do que a aplicação do algoritmo de uma só vez
  •  Existem dois esquemas básicos de compressão:
  1. Métodos de Transformação
  2. Métodos Preditivos

  • Em alguns sistemas, as duas técnicas são combinadas.

Compressão sem perdas:
  • Definido como uma operação sem perdas de nenhum dado
  • A informação é comprimida por algum algoritmo e, ao descomprimir, todas as informações são recuperadas
  • Exemplo típico: ficheiros bzip, gzip, .gz
  • Os mais conhecidos são o .zip ou .rar.
  • Ele é usado quando é importante que a informação original e a descompactada sejam idênticas
  1. Ex.: executáveis e documentos texto
  • E com relação às imagens?
  1. Alguns formatos usam apenas esse tipo. Ex. PNG e GIF*
  2. Outros formatos usam ambos. Ex.: TIFF e MNG
  3. Outros formatos usam algoritmos com perdas. Ex.: .bmp, .jpeg
     Técnicas de Compressão de dados sem perdas:
  • Antes de se utilizar a técnicas de compressão, é necessário saber qual o tipo de informação que será compactada.
            - Texto
            - Imagens
            - Sons
  • Algoritmos de compactação de textos não são eficientes na compactação de sons.
  •  Existem basicamente dois tipos de algoritmos de  de compressão sem perda de dados :
           - Algoritmos de Modelos Estatísticos:
  1. Transformação de Burrows-Wheeler
  2. LZ77
  3. LZW
           - Algoritmos codificados que produzem seqüência de bits:
  1. Codificação Aritmética ou Freqüência de Caracteres
  2. Codificação de Huffman
  • Existem algoritmos que são mesclas dos dois tipos de algoritmos. Ex.: o algoritmo DEFLATE utiliza uma combinação do algoritmo LZ77 e de Huffman.



4. SOFTWARES


5. ESTUDO DO CASO: .ZIP

ZIP é um formato de compactação de arquivos muito difundido pela Internet. Atualmente o formato já tem compatibilidade nativa com vários sistemas operacionais, como o Windows da Microsoft, que já permite compactar e descompactar arquivos no formato ZIP sem o uso de softwares adicionais (externos) instalados.


6. ESTUDO DO CASO DE COMPRESSÃO DE IMAGENS: .JPG

O formato JPEG, cuja sigla significa Joint Pictures Expert Group, teve sua primeira especificação disponibilizada em 1983 por um grupo que leva o mesmo nome. É um dos padrões mais populares da internet por aliar duas características importantes: oferece níveis razoáveis de qualidade de imagem e gera arquivos de tamanho pequeno quando comparado a outros formatos, facilitando o seu armazenamento e a sua distribuição.
O JPEG possibilita isso porque é um formato que utiliza compressão de imagens. Mas, o que é isso? Em poucas palavras, compressão consiste na eliminação de dados redundantes nos arquivos. No caso de imagens, é possível fazer a compressão de forma que a retirada de informações não prejudique a qualidade (lossless - sem perda), assim como é possível utilizar níveis maiores de compressão que causam perdas visíveis (lossy - com perda).
Este último é o que acontece no JPEG: neste formato, quanto maior o nível de compressão, menor será o tamanho do arquivo, porém pior será a qualidade da imagem. O nível de compressão pode ser determinado em programas de tratamentos de imagens. Cada vez que uma mesma imagem JPEG é salva, costuma-se perder qualidade, já que, geralmente, o software utilizado para tratá-la aplica compressão, mesmo que mínima, toda vez que esta ação é realizada.


                                         JPEG com menor taxa de compressão


                                         A mesma imagem, mas com maior compressão



O JPEG é capaz de trabalhar com quase 16,8 milhões de cores (24 bits). Essa característica, aliada à capacidade de compressão que reduz o tamanho dos arquivos, faz do formato uma excelente opção para a distribuição de imagens fotográficas, tanto que o formato é muito utilizado para a geração de imagens em câmeras digitais. Isso porque, mesmo havendo perda de qualidade, esta ocorre de maneira pouco ou nada perceptiva, desde que, é claro, não haja "abuso" do uso de compressão nem salvamentos frequentes. No caso de atividades profissionais, é recomendável o uso de formatos que preservam a qualidade.
Arquivos em JPEG geralmente são utilizados com as extensões .jpg (mais frequente) e .jpeg, podendo haver outras de acordo com os algoritmos utilizados.

quarta-feira, 9 de novembro de 2011

- Ligação Assincrona:

Numa ligação assíncrona, cada bloco de dados inclui um bloco de informação de controlo (chamado flag), para que se saiba exactamente onde começa e acaba o bloco de dados e qual a sua posição na sequência de informação transmitida.



- Ligação Sincrona:

Numa ligação sincrona, cada bloco de informação é transmitido e recebido num instante de tempo bem definido e conhecido pelo transmissor e receptor, ou seja, estes têm que estar sincronizados. Para se manter esta sincronia, é transmitido periodicamente um bloco de informação que ajuda a manter o emissor e receptor sincronizados.



Webgrafia: 
http://redesdecomunicacao.blogspot.com/2007/10/ligaes-sncronas-e-assncronas.html

segunda-feira, 7 de novembro de 2011

07.11.2011 - Técnicas de Codificação

1) O que é a Codificação A/D?

 
A codificação de dados é a colocação de dados num sinal digital, os dados podem ser analógicos ou digitais. No primeiro caso procede-se a uma conversão prévia analógico/digital logo na prática, em termos de codificação ficamos reduzidos à codificação de dados digitais.

A forma mais simples de codificação consiste em associar um nível de tensão a cada bit. Esta codificação é conhecida por NRZ-L (“Nonreturn to zero - Level”), um bit 1 será codificado sob a forma de uma tensão elevada e um bit 0 sob a forma de uma tensão baixa.

Existem mais duas codificações NRZ (o sinal não retorna ao nível zero após uma transição provocada pelos dados a transmitir).

A codificação NRZ-M (“NRZ - Mark”) produz uma transição de nível sempre que surge um bit 1.

A codificação NRZ-S (“NRZ - Space”) produz uma transição de nível sempre que surge um bit 0.

A frequência máxima gerada é igual a metade da taxa de transmissão (2 bit/Hz).

A codificação RZ (“Return-zero”) difere das anteriores pelo facto de o nível de tensão retornar sempre ao nível zero após uma transição provocada pelos dados a transmitir (a meio da transmissão do bit).

Geralmente um bit 1 é representado por um nível elevado, mas a meio da transmissão do bit o nível retorna a zero. Devido a este facto a frequência máxima gerada é o dobro da anterior, sendo igual à taxa de transmissão (1 bit/Hz).

O grande problema das codificações NRZ e RZ é que geram uma componente continua (a média do sinal não é zero) este facto dificulta o isolamento entre emissor e receptor.

Mais grave ainda é que certas sequências de bit a 1 ou 0 produzem um sinal sem qualquer variação. O receptor deve estar sincronizado com o emissor (ler os bits no ponto correcto), sem transições de nível por períodos longos a receptor tende a desviar-se e efectuar a leitura fora do ponto correcto, originando erros.

A figura seguinte apresenta exemplos de codificações NRZ e RZ:






 2) Principais Técnicas de Codificação A/D.

      2.1 Non Return Zero (NRZ):



  • Non Return to Zero (NRZ): Existem dois níveis de tensão ou corrente, para representar os dois símbolos digitais (0 e 1). É a forma mais simples de codificação e consiste em associar um nível de tensão a cada bit: um bit 1 será codificado sob a forma de uma tensão elevada e um bit 0 sob a forma de uma tensão baixa ou nula.

NRZcode.png

      2.2 Return Zero (RZ):
  • Return to Zero (RZ): Na codificação RZ o nível de tensão ou corrente retorna sempre ao nível zero após uma transição provocada pelos dados a transmitir (a meio da transmissão do bit). Geralmente um bit 1 é representado por um nível elevado, mas a meio da transmissão do bit o nível retorna a zero.




                                          http://pt.wikipedia.org/wiki/Codifica%C3%A7%C3%A3o

quarta-feira, 2 de novembro de 2011