TC – DEI, 2005/2006
Representação de Informação-- Texto --
Paulo [email protected]://www.dei.uc.pt/~pmarques
Tecnologia dos Computadores 2005/2006
TC – DEI, 2005/2006
Representação de Informação
Até agora vimos... Como é que se representam números inteiros Como é que se representam fracções
Vamos ver... Como é que se representa texto Como é que se representam imagens Como é que se representa som Técnicas simples de correcção de erros Dispositivos de armazenamento de informação
TC – DEI, 2005/2006
Representação de Caracteres
ASCII = American Standard Code for Information Interchange
Tradicionalmente, utilizava-se 7 bits para representar os diversos caracteres 7 bits 128 combinações diferentes possíveis
Exemplo: ‘A’ = (1000001)2 = (65)10
Mais tarde, os 7 bits foram extendidos a 8, permitindo representar 256 caracteres diferentes
TC – DEI, 2005/2006
Tabela de ASCII (7 bits)
TC – DEI, 2005/2006
Texto
A representação de texto é simplesmente uma sequência de caracteres
O L A“ ”
1001111 1001100 1000001
79 76 65 Código ASCII
TC – DEI, 2005/2006
UNICODE
Na prática, 256 caracteres diferentes não chegam para todas as línguasFormou-se um consórcio internacional para definir um standard que para codificação de caracteres aplicável a todas as línguas UNICODE (http://www.unicode.org)
Cada caracter é representada por 16 bits 16 bits 216 combinações diferentes (65536!) Na verdade, o que são representados não são
exactamente os caracteres... Os primeiros 256 caracteres têm o mesmo valor do
que em ASCII
TC – DEI, 2005/2006
UNICODE – Um Exemplo
TC – DEI, 2005/2006
Compressão de Texto
Apesar do espaço de armazenamento estar continuamente a aumentar, é desejável por vezes comprimir os dados Transmissão pela rede Armazenamento de longa duração Em geral... Maior eficiência e aproveitamento de
recursos
Três métodos comuns de comprimir texto Keyword encoding Run-length encoding Huffman codes
TC – DEI, 2005/2006
Keyword Encoding
Substituir palavras muito comuns por caracteres especiais ou sequências especiais de caracteres
As palavras são substituídas de acordo com uma tabela de frequência de ocorrência
Chave Significado
% carro
$ acidente
& senhor
# do
TC – DEI, 2005/2006
Aplicando a codificação...
“No acidente estiveram envolvidos três carros. O carro do senhor António ficou destruído. O carro do senhor José não sofreu grandes danos no acidente. O carro do senhor Carlos... bom, depois do acidente, nem se pode chamar aquilo um carro....”
241 bytes
“No $ estiveram envolvidos três carros. O % # & António ficou destruído. O % # & José não sofreu grandes danos no $. O % # & Carlos... bom, depois # $, nem se pode chamar aquilo um %....”
185 bytes (76%)
TC – DEI, 2005/2006
Run-length Encoding (RLE)
Tipicamente utilizando quando o mesmo padrão/letra surge muitas seguido numa sequência de dados Não é comum em texto, mas em muitos outros tipos
de dados (imagem, vídeo) Este tipo de algoritmo é a origem dos métodos de
compressão utilizados em muitos utilitários comuns
Neste tipo de compressão, uma sequência de caracteres que se repetem é substituída por um marcador especial, pelo caracter em questão, seguido do número de vezes que ele aparece.
TC – DEI, 2005/2006
RLE – Exemplos
AAAAAAAAAA *A10
AABBBBBBBBAMMKKKKKKKKKM AA*B8AMM*K9M
Nestes dois exemplos o texto é ASCII, no entanto pode-se fazer em binário, o princípio é o mesmo De facto, ASCII é binário!
TC – DEI, 2005/2006
Huffman Codes
A letra mais frequente no alfabeto português é o ‘e’
Ao comprimir um texto, porque é que o ‘e’ tem de ocupar o mesmo número de bits que... o ‘x’, por exemplo?
Os códigos de Huffman representam os diferentes caracteres utilizando um número diferentes de bits Os caracteres mais comuns utilizam menos bits!
TC – DEI, 2005/2006
Huffman Codes - Exemplo
Chave Significado
00 ESPAÇO
01 A
100 O
110 U
111 V
1010 S
1011 C
“VOU A CASA”111100110000100101101101001
TC – DEI, 2005/2006
Huffman Codes - Exemplo
Analisemos o exemplo... “VOU A CASA” 10 bytes de ASCII 11110011 00001001 01101101 001 < 4 bytes Compressão de 60%!
Existem técnicas especiais que permitem construir as tabelas de codificação a utilizar Nós não as estudaremos aqui...
Uma característica fundamental é que nenhuma dos códigos utilizados é prefixo de nenhum outro código!
Representação de Informação-- Imagens --
TC – DEI, 2005/2006
Percepção da cor
O nosso olho tem dois tipos de sensores: CONES e BASTONETES
Os CONES percepcionam a cor, sendo sensíveis a três frequências: “vermelho”, “verde” e “azul”
TC – DEI, 2005/2006
Percepção da cor
A percepção da cor é possível porque as várias cores podem ser vistas como uma mistura de outras cores, nomeadamente: VERDE, VERMELHO e AZUL
Existem outros sistemas de coloração... RGB = Red Green Blue CYMK = Cyan Yellow Magenta Black HSL = Hue Saturation Luminosity
RGB CYMK
TC – DEI, 2005/2006
Representação da cor
Tipicamente os sistemas informáticos utilizam o sistema RGB Red, Green, Blue
A cada cor é atribuído um número 8 bits por cor cada cor de 0 a 255 Total = 24 bits de cor (TRUE COLOR)
Exemplos:
(255,0,0)
(0,255,0)
(0,0,255)
(255,255,255)
(0,0,0)
(255,255,0)
(0,255,255)
(255,0,255)
(150,150,150)
TC – DEI, 2005/2006
Imagens
As imagens são formadas por um conjunto muito grande de pontos pixels
A cada pixel corresponde uma cori.e. três números RGB
TC – DEI, 2005/2006
Armazenamento de imagens
Existem imensos formatos de armazenamento de imagens GIF, JPEG, BMP, PNG, TIFF, ...
Na maior parte dos casos as imagens são comprimidas antes de serem armazenadas... ... 1600x1200x24bits cor = 5.5Mbytes!
Dois tipos de compressão Com perda de qualidade (e.g JPEG) Sem perca de qualidade (e.g. Compressed-TIFF)
TC – DEI, 2005/2006
Desenhos/Imagens Vectoriais
Em vez de se armazenar os pixels, guarda-se uma descrição do gráfico/imagem
Muitos programas de desenho/edição electrónica utilizam este método (e.g. CorelDraw, fontes TTF, AutoCAD)
Os desenhos podem ser escalados de forma transparente
= poly[(0,0) -> (50,30) -> (40,80) -> (0,0)]
TC – DEI, 2005/2006
Video
Em video, o princípio é o mesmo Guarda-se um conjunto de imagens sucessivas
(e.g. 25 imagens por segundo)
Devido ao imenso espaço que ocupam, tem de se compactar as imagens de uma forma eficiente CODEC = COmpressor/DECompressor E.g. DivX!
Dois métodos de compressão... Compressão temporal Não considerar as diferenças entre
duas imagens sucessivas Compressão espacial Eliminar a redundância dentro de
uma imagem
TC – DEI, 2005/2006
Som
Os sons que ouvimos correspondem às vibrações que o ar transmite ao tímpano
1.2
1.2
f t( )
12.5660 t
TC – DEI, 2005/2006
Som - Digitalização
Nos computadores o som é digitalizado fazendo-o corresponder a números discretos.
Quando se digitaliza som existe uma certa taxa de amostragem
1.2
1.2
f t( )
12.5660 t
1.2
1.2
f t( )
12.5660 t
TC – DEI, 2005/2006
Armazenamento de Som
Duas formas de armazenamento Sem perdas, tipicamente não comprimida (e.g. wav) Com perdas, comprimida (e.g. mp3)
Nas formas comprimidas é tido em conta a forma como nós, humanos, ouvimos o som! O formato mp3 é codificado de acordo com o que
nós conseguimos ouvir em cada momento. As partes que não conseguimos ouvir são eliminadas.
Em mp3 a compressão é feita por códigos de Huffman
TC – DEI, 2005/2006
Resposta do Ouvido Humano...
TC – DEI, 2005/2006http://www.toledo-bend.com/colorblind/Ishihara.html
25
45
6
29
56
8
Técnicas Básicas deCorrecção de Erros
TC – DEI, 2005/2006
Correcção de Erros
Quando se armazena ou transmite informação, podem existir erros
E.g. 01101010 01100010
É necessário garantir que, com uma elevada probabilidade, os erros conseguem ser detectados e se possível corrigidos
TC – DEI, 2005/2006
Bits de Paridade
Dada uma sequência de bits, adiciona-se um bit extra que torna o número de bits resultante de uma certa paridade Paridade PAR: O conjunto resultante tem de ter um
número par de bits Paridade ÍMPAR: O conjunto resultante tem de ter
um número ímpar de bits
1 1 00 0 0 1
Número original
1
Bit de paridade
PARIDADE PAR
1 1 00 0 0 1 0 PARIDADE ÍMPAR
TC – DEI, 2005/2006
Checksums
É uma forma evoluída dos bits de paridade Dado um conjunto de dados junta-se um número
que é obtido fazendo uma certa operação sobre esses dados
Um exemplo simples: somar e calcular o resto da divisão pelo número máximo que se quer representar
Outro exemplo simples: ... A prova dos nove!
12 32 34 12 43 54 12 54 65 76 87 12 45
12+32+34+12+43+54+12+54+65+76+87+12+45=538538 MOD 100 = 38
38
TC – DEI, 2005/2006
Checksums
Alguns tipos de checksums muito conhecidos CRC = Cyclic Redundancy Check MD5 = Message Digest 5
Nota O algarismo que está junto ao número do bilhete de
identidade é um checksum!
TC – DEI, 2005/2006
Códigos de Correcção de Erros
Existem códigos que permitem não só detectar erros, como corrigi-los!
Distância de Hamming Número de bits diferentes entre duas cadeias
0 0 11 1 1
0 1 00 1 1
Distância de Hamming de 3
TC – DEI, 2005/2006
Um código de correcção simples...
Se houver um bit errado, consigo detectá-lo e corrigi-loSe houver dois bits errados, consigo detectar que houve um erro, mas ao corrigir, o resultado é incorrectoSe houver três bits errados, não consigo detectá-lo nem corrigi-lo
Neste código, a distânciade Hamming é sempre, pelo menos, 3
TC – DEI, 2005/2006
Exemplos (envia D – 011100)
Recebe...
011000 Há apenas um erro, é detectado e corrigido correctamente. O que está mais próximo é o D (distância 1).
010000 Detectado, mas ao corrigir, é corrigido para o valor errado (corrige para A!)
000000 Três bits errados! Não detectado, nem corrigido, assume-se que é o A!
O código de Hamming é pensado para situações de errosnão burst. Exemplos de utilização: memórias dos computadores (memória ECC), modems, satélites planetários!
Armazenamento de Informação
TC – DEI, 2005/2006
Disco Rígido
TC – DEI, 2005/2006
CD-ROM
TC – DEI, 2005/2006
Tape
TC – DEI, 2005/2006
Flash Memory Pen
Non-volatile FlashMemory
TC – DEI, 2005/2006
Para Saber Mais...
Computer Science, An Overview Capítulo 1 (1.3, 1.4, 1.8, 1.9)
Computer Science Iluminated Capítulo 3 (3.1, 3.3, 3.4, 3.5, 3.6) Embora este não seja o livro principal, tem a matéria
um pouco melhor explicada
http://computer.howstuffworks.com/
TC – DEI, 2005/2006
Top Related